rendered paste bodyalias colors {
var %length = $len($1-)
var %letter = 1
while (%letter <= %length) {
if ($mid($1-,%letter,1) == $chr(32)) {
var %output = %output $+ &
goto xxx
}
var %output = %output $+ $+ $rand(03,013) $+ $mid($1-,%letter,1)
:xxx
inc %letter
}
var %output = $replace(%output,$chr(38),$chr(32))
msg $active %output
}
alias rev {
var %len = $len($1-)
var %return = $null
while (%len > 0) {
var %return = %return $+ $mid($1-,%len,1) $+ $chr(32)
dec %len
}
return %return
}
alias reverse //say $rev( $1- )
alias mereverse //me $rev( $1- )
alias rainbow {
var %pos = 1, %color = 04, %result = $chr(3)
while (%pos <= $len($1-)) {
%result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3)
inc %pos
%color = $nextcolor(%color)
}
if ($isid) return %result
else say %result
}
alias -l nextcolor {
if ($$1 == 04) return 07
elseif ($$1 == 07) return 08
elseif ($$1 == 08) return 09
elseif ($$1 == 09) return 11
elseif ($$1 == 11) return 12
elseif ($$1 == 12) return 02
elseif ($$1 == 02) return 06
elseif ($$1 == 06) return 13
elseif ($$1 == 13) return 04
}
alias mt {
if ($bigtext.unsupp($1-)) {
echo -ac info * Characters not supported by Big Text present in your message: $bigtext.unsupp($1-)
return
}
var %lia, %lib, %lic, %lid, %lie, %i 1, %text $strip($1-, bur), %colregex /^(\d\d?(?:,\d\d?)?)/
var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ \d\d?/g, %res, %dummy = $regsub(%text, %regex, $null, %text)
while (%i <= $len(%text)) {
if ($mid(%text, %i, 1) == $chr(3)) {
var %lia $+(%lia, $chr(3)), %lib $+(%lib, $chr(3)), %lic $+(%lic, $chr(3)), %lid $+(%lid, $chr(3)), %lie $+(%lie, $chr(3))
if ($mid(%text, $calc(%i + 1), 1) != $chr(32)) && ($regex(mtcol, $mid(%text, $calc(%i + 1), $mid(%text, $calc(%i + 1), 0)), %colregex)) {
var %m $regml(mtcol, 1)
var %lia %lia $+ %m, %lib %lib $+ %m, %lic %lic $+ %m, %lid %lid $+ %m, %lie %lie $+ %m
inc %i $len(%m)
}
}
else {
tokenize 32 $bigtext.char($mid(%text, %i, 1))
var %lia $+(%lia, $1), %lib $+(%lib, $2), %lic $+(%lic, $3), %lid $+(%lid, $4), %lie $+(%lie, $5)
; if ($bigtext.kern($mid(%text, %i, 2))) {
var %lia $+(%lia, .), %lib $+(%lib, .), %lic $+(%lic, .), %lid $+(%lid, .), %lie $+(%lie, .)
; }
}
inc %i
}
say $bigtext.format(%lia)
say $bigtext.format(%lib)
say $bigtext.format(%lic)
say $bigtext.format(%lid)
say $bigtext.format(%lie)
}
; You may customize this alias however you want to.
; It is Big Text's font, used above.
; The return value consists of dots and X's, to denote
; unlit and lit points in the font, respectively;
; there are 5 tokens of the same length, each
; corresponding to a line in the 5-line output.
; Note how the . and X's look like the characters;
; you can use this to your advantage!
alias -l bigtext.char {
if ($1 === $chr(32)) || ($1 === $null) return $&
... $&
... $&
... $&
... $&
...
if ($1 === $chr(160)) return $&
..... $&
..... $&
..... $&
..... $&
.....
elseif ($1 == 0) return $&
.XXXX. $&
XX..XX $&
XX.XXX $&
XXX.XX $&
.XXXX.
elseif ($1 == 1) return $&
.XXXX $&
XX.XX $&
...XX $&
...XX $&
...XX
elseif ($1 == 2) return $&
XXXXX. $&
....XX $&
..XX.. $&
XX.... $&
XXXXXX
elseif ($1 == 3) return $&
XXXXX. $&
....XX $&
.XXXX. $&
....XX $&
XXXXX.
elseif ($1 == 4) return $&
.....XXX. $&
...XX.XX. $&
.XX...XX. $&
XXXXXXXXX $&
......XX.
elseif ($1 == 5) return $&
XXXXX $&
XX... $&
XXXX. $&
...XX $&
XXXX.
elseif ($1 == 6) return $&
.XXXX. $&
XX.... $&
XXXXX. $&
XX..XX $&
.XXXX.
elseif ($1 == 7) return $&
XXXXXX $&
...XX. $&
..XX.. $&
.XX... $&
XX....
elseif ($1 == 8) return $&
.XXXX. $&
XX..XX $&
.XXXX. $&
XX..XX $&
.XXXX.
elseif ($1 == 9) return $&
.XXXX. $&
XX..XX $&
.XXXXX $&
....XX $&
.XXXX.
elseif ($1 == A) return $&
.XXXX. $&
XX..XX $&
XXXXXX $&
XX..XX $&
XX..XX
elseif ($1 == B) return $&
XXXXX. $&
XX..XX $&
XXXXX. $&
XX..XX $&
XXXXX.
elseif ($1 == C) return $&
.XXXX. $&
XX..XX $&
XX.... $&
XX..XX $&
.XXXX.
elseif ($1 == D) return $&
XXXX.. $&
XX.XX. $&
XX..XX $&
XX..XX $&
XXXXX.
elseif ($1 == E) return $&
XXXXX $&
XX... $&
XXXX. $&
XX... $&
XXXXX
elseif ($1 == F) return $&
XXXXX $&
XX... $&
XXXX. $&
XX... $&
XX...
elseif ($1 == G) return $&
.XXXX. $&
XX.... $&
XX.XXX $&
XX..XX $&
.XXXXX
elseif ($1 == H) return $&
XX...XX $&
XX...XX $&
XXXXXXX $&
XX...XX $&
XX...XX
elseif ($1 == I) return $&
XXXX $&
.XX. $&
.XX. $&
.XX. $&
XXXX
elseif ($1 == J) return $&
....XX $&
....XX $&
....XX $&
XX..XX $&
.XXXX.
elseif ($1 == K) return $&
XX..XX $&
XX.XX. $&
XXXX.. $&
XX.XX. $&
XX..XX
elseif ($1 == L) return $&
XX... $&
XX... $&
XX... $&
XX... $&
XXXXX
elseif ($1 == M) return $&
XX....XX $&
XXX..XXX $&
XXXXXXXX $&
XX.XX.XX $&
XX....XX
elseif ($1 == N) return $&
XX..XX $&
XXX.XX $&
XXXXXX $&
XX.XXX $&
XX..XX
elseif ($1 == O) return $&
.XXXX. $&
XX..XX $&
XX..XX $&
XX..XX $&
.XXXX.
elseif ($1 == P) return $&
XXXXX. $&
XX..XX $&
XXXXX. $&
XX.... $&
XX....
elseif ($1 == Q) return $&
.XXXX.. $&
XX..XX. $&
XX..XX. $&
XX..XX. $&
.XXXXXX
elseif ($1 == R) return $&
XXXXX. $&
XX..XX $&
XXXXX. $&
XX..XX $&
XX..XX
elseif ($1 == S) return $&
.XXXX. $&
XX.... $&
.XXXX. $&
....XX $&
XXXXX.
elseif ($1 == T) return $&
XXXXXX $&
..XX.. $&
..XX.. $&
..XX.. $&
..XX..
elseif ($1 == U) return $&
XX..XX $&
XX..XX $&
XX..XX $&
XX..XX $&
.XXXX.
elseif ($1 == V) return $&
XX....XX $&
XX....XX $&
.XX..XX. $&
..XXXX.. $&
...XX...
elseif ($1 == W) return $&
XX...XX $&
XX...XX $&
XX.X.XX $&
XXXXXXX $&
.XX.XX.
elseif ($1 == X) return $&
XX...XX $&
.XX.XX. $&
..XXX.. $&
.XX.XX. $&
XX...XX
elseif ($1 == Y) return $&
XX..XX $&
XX..XX $&
.XXXX. $&
..XX.. $&
..XX..
elseif ($1 == Z) return $&
XXXXXX $&
...XX. $&
..XX.. $&
.XX... $&
XXXXXX
elseif ($1 == $chr(35)) return $&
.XX..XX. $&
XXXXXXXX $&
.XX..XX. $&
XXXXXXXX $&
.XX..XX.
elseif ($1 == ') return $&
.XX $&
XX. $&
... $&
... $&
...
elseif ($1 == ") return $&
XX..XX $&
XX..XX $&
...... $&
...... $&
......
elseif ($1 == +) return $&
...... $&
..XX.. $&
XXXXXX $&
..XX.. $&
......
elseif ($1 == =) return $&
...... $&
XXXXXX $&
...... $&
XXXXXX $&
......
elseif ($1 == -) return $&
...... $&
...... $&
XXXXXX $&
...... $&
......
elseif ($1 == _) return $&
...... $&
...... $&
...... $&
...... $&
XXXXXX
elseif ($1 == ?) return $&
XXXXX $&
...XX $&
..XX.. $&
...... $&
..XX..
elseif ($1 == :) return $&
.. $&
XX $&
.. $&
XX $&
..
elseif ($1 == !) return $&
XX $&
XX $&
XX $&
.. $&
XX
elseif ($1 == ?) return $&
XXX. $&
..XX $&
.XX. $&
.... $&
.XX.
elseif ($1 == .) return $&
.. $&
.. $&
.. $&
.. $&
XX
elseif ($1 == /) return $&
....XX $&
...XX. $&
..XX.. $&
.XX... $&
XX....
elseif ($1 == \) return $&
XX.... $&
.XX... $&
..XX.. $&
...XX. $&
....XX
elseif ($1 == $chr(40)) return $&
...XX $&
.XX.. $&
XX... $&
.XX.. $&
...XX
elseif ($1 == $chr(41)) return $&
XX... $&
..XX. $&
...XX $&
..XX. $&
XX...
elseif ($1 == $chr(37)) return $&
XX..XX $&
...XX. $&
..XX.. $&
.XX... $&
XX..XX
elseif ($1 == [) return $&
XXXXX $&
XX... $&
XX... $&
XX... $&
XXXXX
elseif ($1 == ]) return $&
XXXXX $&
...XX $&
...XX $&
...XX $&
XXXXX
elseif ($1 == |) return $&
.XX. $&
.XX. $&
.XX. $&
.XX. $&
.XX.
elseif ($1 == <) return $&
....XX $&
..XX.. $&
XX.... $&
..XX.. $&
....XX
elseif ($1 == >) return $&
XX.... $&
..XX.. $&
....XX $&
..XX.. $&
XX....
elseif ($1 == ?) return $&
.... $&
.... $&
.XX. $&
..XX $&
XXX.
elseif ($1 == ,) return $&
... $&
... $&
XXX $&
.XX $&
XX.
}
; Returns all unsupported characters within a Big Text message
; Supported characters are a-z, space, digits, #'"+=?:!?./\()%-[]<>|?,
alias bigtext.unsupp {
var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=?:!?./\\()%[|<>_?"?-]/igS, $null, %res)
return %res
}
; Returns $true if a space should be added between two characters,
; or $false if not.
; Note: This is here only for aesthetic purposes. :)
alias bigtext.kern {
var %res $true
if ($regex($1-, /^(.|[_GDSQL-]T|[TPFVY7/"]J|T\.|L[1Y\\"]|[LTK<[]-|-[]>%\\]|S1|T4|\?\.|\.\?|[467L\\]?|?[J/]|L'|\/\/|\\\\|?J|[_?]?|[?T_]_|>\.|\.<)$/i)) %res = $false
return %res
}
; Takes an input string of the form:
; .XX..XX....XX.XX.XXXXX
; And formats it for display.
alias bigtext.format {
var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(\d\d?(?:,\d\d?)?)/
while (%i <= $len($1-)) {
if ($mid($1-, %i, 1) == $chr(3)) {
if ($regex(mtcol, $mid($1-, $calc(%i + 1), $mid($1-, $calc(%i + 1), 0)), %colregex)) {
if ($gettok($regml(mtcol, 1), 1, 44) != %curcolor) {
%curcolor = $gettok($regml(mtcol, 1), 1, 44)
if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15)
}
inc %i $len($regml(mtcol, 1))
}
elseif (%curcolor) {
%curcolor =
if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15)
}
}
else {
%current = $iif($mid($1-, %i, 1) == ., 0, 1)
if (%previous != %current) {
%previous = %current
if (%curcolor) {
if (%current) %res = %res $+ $chr(3) $+ %curcolor $+ , $+ %curcolor
else %res = %res $+ $chr(3)
}
else %res = %res $+ $chr(22)
}
%res = %res $+ $chr(160)
}
inc %i
}
return %res
}
alias mtrainbow //mt $rainbow( $+ $1- $+ )
[script]
n0=alias colors {
n1= var %length = $len($1-)
n2= var %letter = 1
n3= while (%letter <= %length) {
n4= if ($mid($1-,%letter,1) == $chr(32)) {
n5= var %output = %output $+ &
n6= goto xxx
n7= }
n8= var %output = %output $+ $+ $rand(03,013) $+ $mid($1-,%letter,1)
n9= :xxx
n10= inc %letter
n11= }
n12= var %output = $replace(%output,$chr(38),$chr(32))
n13= msg $active %output
n14=}
n15=
n16=
n17=
n18=alias rev {
n19= var %len = $len($1-)
n20= var %return = $null
n21= while (%len > 0) {
n22= var %return = %return $+ $mid($1-,%len,1) $+ $chr(32)
n23= dec %len
n24= }
n25= return %return
n26=}
n27=alias reverse //say $rev( $1- )
n28=alias mereverse //me $rev( $1- )
n29=
n30=
n31=
n32=
n33=alias rainbow {
n34= var %pos = 1, %color = 04, %result = $chr(3)
n35= while (%pos <= $len($1-)) {
n36= %result = %result $+ %color $+ $mid($1-,%pos,1) $+ $chr(3)
n37= inc %pos
n38= %color = $nextcolor(%color)
n39= }
n40= if ($isid) return %result
n41= else say %result
n42=}
n43=
n44=alias -l nextcolor {
n45= if ($$1 == 04) return 07
n46= elseif ($$1 == 07) return 08
n47= elseif ($$1 == 08) return 09
n48= elseif ($$1 == 09) return 11
n49= elseif ($$1 == 11) return 12
n50= elseif ($$1 == 12) return 02
n51= elseif ($$1 == 02) return 06
n52= elseif ($$1 == 06) return 13
n53= elseif ($$1 == 13) return 04
n54=}
n55=
n56=
n57=
n58=
n59=
n60=
n61=alias mt {
n62= if ($bigtext.unsupp($1-)) {
n63= echo -ac info * Characters not supported by Big Text present in your message: $bigtext.unsupp($1-)
n64= return
n65= }
n66= var %lia, %lib, %lic, %lid, %lie, %i 1, %text $strip($1-, bur), %colregex /^(\d\d?(?:,\d\d?)?)/
n67=
n68= var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ \d\d?/g, %res, %dummy = $regsub(%text, %regex, $null, %text)
n69=
n70= while (%i <= $len(%text)) {
n71= if ($mid(%text, %i, 1) == $chr(3)) {
n72= var %lia $+(%lia, $chr(3)), %lib $+(%lib, $chr(3)), %lic $+(%lic, $chr(3)), %lid $+(%lid, $chr(3)), %lie $+(%lie, $chr(3))
n73= if ($mid(%text, $calc(%i + 1), 1) != $chr(32)) && ($regex(mtcol, $mid(%text, $calc(%i + 1), $mid(%text, $calc(%i + 1), 0)), %colregex)) {
n74= var %m $regml(mtcol, 1)
n75= var %lia %lia $+ %m, %lib %lib $+ %m, %lic %lic $+ %m, %lid %lid $+ %m, %lie %lie $+ %m
n76= inc %i $len(%m)
n77= }
n78= }
n79= else {
n80= tokenize 32 $bigtext.char($mid(%text, %i, 1))
n81= var %lia $+(%lia, $1), %lib $+(%lib, $2), %lic $+(%lic, $3), %lid $+(%lid, $4), %lie $+(%lie, $5)
n82= ; if ($bigtext.kern($mid(%text, %i, 2))) {
n83= var %lia $+(%lia, .), %lib $+(%lib, .), %lic $+(%lic, .), %lid $+(%lid, .), %lie $+(%lie, .)
n84= ; }
n85= }
n86= inc %i
n87= }
n88= say $bigtext.format(%lia)
n89= say $bigtext.format(%lib)
n90= say $bigtext.format(%lic)
n91= say $bigtext.format(%lid)
n92= say $bigtext.format(%lie)
n93=}
n94=
n95=; You may customize this alias however you want to.
n96=; It is Big Text's font, used above.
n97=; The return value consists of dots and X's, to denote
n98=; unlit and lit points in the font, respectively;
n99=; there are 5 tokens of the same length, each
n100=; corresponding to a line in the 5-line output.
n101=; Note how the . and X's look like the characters;
n102=; you can use this to your advantage!
n103=alias -l bigtext.char {
n104= if ($1 === $chr(32)) || ($1 === $null) return $&
n105= ... $&
n106= ... $&
n107= ... $&
n108= ... $&
n109= ...
n110= if ($1 === $chr(160)) return $&
n111= ..... $&
n112= ..... $&
n113= ..... $&
n114= ..... $&
n115= .....
n116= elseif ($1 == 0) return $&
n117= .XXXX. $&
n118= XX..XX $&
n119= XX.XXX $&
n120= XXX.XX $&
n121= .XXXX.
n122= elseif ($1 == 1) return $&
n123= .XXXX $&
n124= XX.XX $&
n125= ...XX $&
n126= ...XX $&
n127= ...XX
n128= elseif ($1 == 2) return $&
n129= XXXXX. $&
n130= ....XX $&
n131= ..XX.. $&
n132= XX.... $&
n133= XXXXXX
n134= elseif ($1 == 3) return $&
n135= XXXXX. $&
n136= ....XX $&
n137= .XXXX. $&
n138= ....XX $&
n139= XXXXX.
n140= elseif ($1 == 4) return $&
n141= .....XXX. $&
n142= ...XX.XX. $&
n143= .XX...XX. $&
n144= XXXXXXXXX $&
n145= ......XX.
n146= elseif ($1 == 5) return $&
n147= XXXXX $&
n148= XX... $&
n149= XXXX. $&
n150= ...XX $&
n151= XXXX.
n152= elseif ($1 == 6) return $&
n153= .XXXX. $&
n154= XX.... $&
n155= XXXXX. $&
n156= XX..XX $&
n157= .XXXX.
n158= elseif ($1 == 7) return $&
n159= XXXXXX $&
n160= ...XX. $&
n161= ..XX.. $&
n162= .XX... $&
n163= XX....
n164= elseif ($1 == 8) return $&
n165= .XXXX. $&
n166= XX..XX $&
n167= .XXXX. $&
n168= XX..XX $&
n169= .XXXX.
n170= elseif ($1 == 9) return $&
n171= .XXXX. $&
n172= XX..XX $&
n173= .XXXXX $&
n174= ....XX $&
n175= .XXXX.
n176= elseif ($1 == A) return $&
n177= .XXXX. $&
n178= XX..XX $&
n179= XXXXXX $&
n180= XX..XX $&
n181= XX..XX
n182= elseif ($1 == B) return $&
n183= XXXXX. $&
n184= XX..XX $&
n185= XXXXX. $&
n186= XX..XX $&
n187= XXXXX.
n188= elseif ($1 == C) return $&
n189= .XXXX. $&
n190= XX..XX $&
n191= XX.... $&
n192= XX..XX $&
n193= .XXXX.
n194= elseif ($1 == D) return $&
n195= XXXX.. $&
n196= XX.XX. $&
n197= XX..XX $&
n198= XX..XX $&
n199= XXXXX.
n200= elseif ($1 == E) return $&
n201= XXXXX $&
n202= XX... $&
n203= XXXX. $&
n204= XX... $&
n205= XXXXX
n206= elseif ($1 == F) return $&
n207= XXXXX $&
n208= XX... $&
n209= XXXX. $&
n210= XX... $&
n211= XX...
n212= elseif ($1 == G) return $&
n213= .XXXX. $&
n214= XX.... $&
n215= XX.XXX $&
n216= XX..XX $&
n217= .XXXXX
n218= elseif ($1 == H) return $&
n219= XX...XX $&
n220= XX...XX $&
n221= XXXXXXX $&
n222= XX...XX $&
n223= XX...XX
n224= elseif ($1 == I) return $&
n225= XXXX $&
n226= .XX. $&
n227= .XX. $&
n228= .XX. $&
n229= XXXX
n230= elseif ($1 == J) return $&
n231= ....XX $&
n232= ....XX $&
n233= ....XX $&
n234= XX..XX $&
n235= .XXXX.
n236= elseif ($1 == K) return $&
n237= XX..XX $&
n238= XX.XX. $&
n239= XXXX.. $&
n240= XX.XX. $&
n241= XX..XX
n242= elseif ($1 == L) return $&
n243= XX... $&
n244= XX... $&
n245= XX... $&
n246= XX... $&
n247= XXXXX
n248= elseif ($1 == M) return $&
n249= XX....XX $&
n250= XXX..XXX $&
n251= XXXXXXXX $&
n252= XX.XX.XX $&
n253= XX....XX
n254= elseif ($1 == N) return $&
n255= XX..XX $&
n256= XXX.XX $&
n257= XXXXXX $&
n258= XX.XXX $&
n259= XX..XX
n260= elseif ($1 == O) return $&
n261= .XXXX. $&
n262= XX..XX $&
n263= XX..XX $&
n264= XX..XX $&
n265= .XXXX.
n266= elseif ($1 == P) return $&
n267= XXXXX. $&
n268= XX..XX $&
n269= XXXXX. $&
n270= XX.... $&
n271= XX....
n272= elseif ($1 == Q) return $&
n273= .XXXX.. $&
n274= XX..XX. $&
n275= XX..XX. $&
n276= XX..XX. $&
n277= .XXXXXX
n278= elseif ($1 == R) return $&
n279= XXXXX. $&
n280= XX..XX $&
n281= XXXXX. $&
n282= XX..XX $&
n283= XX..XX
n284= elseif ($1 == S) return $&
n285= .XXXX. $&
n286= XX.... $&
n287= .XXXX. $&
n288= ....XX $&
n289= XXXXX.
n290= elseif ($1 == T) return $&
n291= XXXXXX $&
n292= ..XX.. $&
n293= ..XX.. $&
n294= ..XX.. $&
n295= ..XX..
n296= elseif ($1 == U) return $&
n297= XX..XX $&
n298= XX..XX $&
n299= XX..XX $&
n300= XX..XX $&
n301= .XXXX.
n302= elseif ($1 == V) return $&
n303= XX....XX $&
n304= XX....XX $&
n305= .XX..XX. $&
n306= ..XXXX.. $&
n307= ...XX...
n308= elseif ($1 == W) return $&
n309= XX...XX $&
n310= XX...XX $&
n311= XX.X.XX $&
n312= XXXXXXX $&
n313= .XX.XX.
n314= elseif ($1 == X) return $&
n315= XX...XX $&
n316= .XX.XX. $&
n317= ..XXX.. $&
n318= .XX.XX. $&
n319= XX...XX
n320= elseif ($1 == Y) return $&
n321= XX..XX $&
n322= XX..XX $&
n323= .XXXX. $&
n324= ..XX.. $&
n325= ..XX..
n326= elseif ($1 == Z) return $&
n327= XXXXXX $&
n328= ...XX. $&
n329= ..XX.. $&
n330= .XX... $&
n331= XXXXXX
n332= elseif ($1 == $chr(35)) return $&
n333= .XX..XX. $&
n334= XXXXXXXX $&
n335= .XX..XX. $&
n336= XXXXXXXX $&
n337= .XX..XX.
n338= elseif ($1 == ') return $&
n339= .XX $&
n340= XX. $&
n341= ... $&
n342= ... $&
n343= ...
n344= elseif ($1 == ") return $&
n345= XX..XX $&
n346= XX..XX $&
n347= ...... $&
n348= ...... $&
n349= ......
n350= elseif ($1 == +) return $&
n351= ...... $&
n352= ..XX.. $&
n353= XXXXXX $&
n354= ..XX.. $&
n355= ......
n356= elseif ($1 == =) return $&
n357= ...... $&
n358= XXXXXX $&
n359= ...... $&
n360= XXXXXX $&
n361= ......
n362= elseif ($1 == -) return $&
n363= ...... $&
n364= ...... $&
n365= XXXXXX $&
n366= ...... $&
n367= ......
n368= elseif ($1 == _) return $&
n369= ...... $&
n370= ...... $&
n371= ...... $&
n372= ...... $&
n373= XXXXXX
n374= elseif ($1 == ?) return $&
n375= XXXXXX $&
n376= ...... $&
n377= ...... $&
n378= ...... $&
n379= ......
n380= elseif ($1 == ?) return $&
n381= .XXX. $&
n382= XX.XX $&
n383= .XXX. $&
n384= ..... $&
n385= .....
n386= elseif ($1 == :) return $&
n387= .. $&
n388= XX $&
n389= .. $&
n390= XX $&
n391= ..
n392= elseif ($1 == !) return $&
n393= XX $&
n394= XX $&
n395= XX $&
n396= .. $&
n397= XX
n398= elseif ($1 == ?) return $&
n399= XXX. $&
n400= ..XX $&
n401= .XX. $&
n402= .... $&
n403= .XX.
n404= elseif ($1 == .) return $&
n405= .. $&
n406= .. $&
n407= .. $&
n408= .. $&
n409= XX
n410= elseif ($1 == /) return $&
n411= ....XX $&
n412= ...XX. $&
n413= ..XX.. $&
n414= .XX... $&
n415= XX....
n416= elseif ($1 == \) return $&
n417= XX.... $&
n418= .XX... $&
n419= ..XX.. $&
n420= ...XX. $&
n421= ....XX
n422= elseif ($1 == $chr(40)) return $&
n423= ...XX $&
n424= .XX.. $&
n425= XX... $&
n426= .XX.. $&
n427= ...XX
n428= elseif ($1 == $chr(41)) return $&
n429= XX... $&
n430= ..XX. $&
n431= ...XX $&
n432= ..XX. $&
n433= XX...
n434= elseif ($1 == $chr(37)) return $&
n435= XX..XX $&
n436= ...XX. $&
n437= ..XX.. $&
n438= .XX... $&
n439= XX..XX
n440= elseif ($1 == [) return $&
n441= XXXXX $&
n442= XX... $&
n443= XX... $&
n444= XX... $&
n445= XXXXX
n446= elseif ($1 == ]) return $&
n447= XXXXX $&
n448= ...XX $&
n449= ...XX $&
n450= ...XX $&
n451= XXXXX
n452= elseif ($1 == |) return $&
n453= .XX. $&
n454= .XX. $&
n455= .XX. $&
n456= .XX. $&
n457= .XX.
n458= elseif ($1 == <) return $&
n459= ....XX $&
n460= ..XX.. $&
n461= XX.... $&
n462= ..XX.. $&
n463= ....XX
n464= elseif ($1 == >) return $&
n465= XX.... $&
n466= ..XX.. $&
n467= ....XX $&
n468= ..XX.. $&
n469= XX....
n470= elseif ($1 == ?) return $&
n471= .... $&
n472= .... $&
n473= .XX. $&
n474= ..XX $&
n475= XXX.
n476= elseif ($1 == ,) return $&
n477= ... $&
n478= ... $&
n479= XXX $&
n480= .XX $&
n481= XX.
n482=}
n483=
n484=
n485=; Returns all unsupported characters within a Big Text message
n486=; Supported characters are a-z, space, digits, #'"+=?:!?./\()%-[]<>|?,
n487=alias bigtext.unsupp {
n488= var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=?:!?./\\()%[|<>_?"?-]/igS, $null, %res)
n489= return %res
n490=}
n491=
n492=; Returns $true if a space should be added between two characters,
n493=; or $false if not.
n494=; Note: This is here only for aesthetic purposes. :)
n495=alias bigtext.kern {
n496= var %res $true
n497= if ($regex($1-, /^(.|[_GDSQL-]T|[TPFVY7/"]J|T\.|L[1Y\\"]|[LTK<[]-|-[]>%\\]|S1|T4|\?\.|\.\?|[467L\\]?|?[J/]|L'|\/\/|\\\\|?J|[_?]?|[?T_]_|>\.|\.<)$/i)) %res = $false
n498= return %res
n499=}
n500=
n501=; Takes an input string of the form:
n502=; .XX..XX....XX.XX.XXXXX
n503=; And formats it for display.
n504=alias bigtext.format {
n505= var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(\d\d?(?:,\d\d?)?)/
n506= while (%i <= $len($1-)) {
n507= if ($mid($1-, %i, 1) == $chr(3)) {
n508= if ($regex(mtcol, $mid($1-, $calc(%i + 1), $mid($1-, $calc(%i + 1), 0)), %colregex)) {
n509= if ($gettok($regml(mtcol, 1), 1, 44) != %curcolor) {
n510= %curcolor = $gettok($regml(mtcol, 1), 1, 44)
n511= if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15)
n512= }
n513= inc %i $len($regml(mtcol, 1))
n514= }
n515= elseif (%curcolor) {
n516= %curcolor =
n517= if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15)
n518= }
n519= }
n520= else {
n521= %current = $iif($mid($1-, %i, 1) == ., 0, 1)
n522= if (%previous != %current) {
n523= %previous = %current
n524= if (%curcolor) {
n525= if (%current) %res = %res $+ $chr(3) $+ %curcolor $+ , $+ %curcolor
n526= else %res = %res $+ $chr(3)
n527= }
n528= else %res = %res $+ $chr(22)
n529= }
n530= %res = %res $+ $chr(160)
n531= }
n532= inc %i
n533= }
n534= return %res
n535=}
n536=
n537=alias mtrainbow //mt $rainbow( $+ $1- $+ )