alias 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- $+ )