alias bt { if ($len($1-) >= 15) { echo -ac info * Error: Try to use an smaller word! | return } 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 } msg # $bigtext.format(%lia) msg # $bigtext.format(%lib) msg # $bigtext.format(%lic) msg # $bigtext.format(%lid) msg # $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 $& 4.XXXX.$& 8XX..XX$& 9XX.XXX$& 12XXX.XX$& 13.XXXX. elseif ($1 == 1) return $& 4.XXXX $& 8XX.XX $& 9...XX $& 12...XX $& 13...XX elseif ($1 == 2) return $& 4XXXXX. $& 8....XX $& 9..XX.. $& 12XX.... $& 13XXXXXX elseif ($1 == 3) return $& 4XXXXX. $& 8....XX $& 9.XXXX. $& 12....XX $& 13XXXXX. elseif ($1 == 4) return $& 4.....XXX. $& 8...XX.XX. $& 9.XX...XX. $& 12XXXXXXXXX $& 13......XX. elseif ($1 == 5) return $& 4XXXXX $& 8XX... $& 9XXXX. $& 12...XX $& 13XXXX. elseif ($1 == 6) return $& 4.XXXX. $& 8XX.... $& 9XXXXX. $& 12XX..XX $& 13.XXXX. elseif ($1 == 7) return $& 4XXXXXX $& 8...XX. $& 9..XX.. $& 12.XX... $& 13XX.... elseif ($1 == 8) return $& 4.XXXX. $& 8XX..XX $& 9.XXXX. $& 12XX..XX $& 13.XXXX. elseif ($1 == 9) return $& 4.XXXX. $& 8XX..XX $& 9.XXXXX $& 12....XX $& 13.XXXX. elseif ($1 == A) return $& 4.XXXX. $& 8XX..XX $& 9XXXXXX $& 12XX..XX $& 13XX..XX elseif ($1 == B) return $& 4XXXXX. $& 8XX..XX $& 9XXXXX. $& 12XX..XX $& 13XXXXX. elseif ($1 == C) return $& 4.XXXX. $& 8XX..XX $& 9XX.... $& 12XX..XX $& 13.XXXX. elseif ($1 == D) return $& 4XXXX.. $& 8XX.XX. $& 9XX..XX $& 12XX..XX $& 13XXXXX. elseif ($1 == E) return $& 4XXXXX $& 8XX... $& 9XXXX. $& 12XX... $& 13XXXXX elseif ($1 == F) return $& 4XXXXX $& 8XX... $& 9XXXX. $& 12XX... $& 13XX... elseif ($1 == G) return $& 4.XXXX. $& 8XX.... $& 9XX.XXX $& 12XX..XX $& 13.XXXXX elseif ($1 == H) return $& 4XX...XX $& 8XX...XX $& 9XXXXXXX $& 12XX...XX $& 13XX...XX elseif ($1 == I) return $& 4XXXX $& 8.XX. $& 9.XX. $& 12.XX. $& 13XXXX elseif ($1 == J) return $& 4....XX $& 8....XX $& 9....XX $& 12XX..XX $& 13.XXXX. elseif ($1 == K) return $& 4XX..XX $& 8XX.XX. $& 9XXXX.. $& 12XX.XX. $& 13XX..XX elseif ($1 == L) return $& 4XX... $& 8XX... $& 9XX... $& 12XX... $& 13XXXXX elseif ($1 == M) return $& 4XX....XX $& 8XXX..XXX $& 9XXXXXXXX $& 12XX.XX.XX $& 13XX....XX elseif ($1 == N) return $& 4XX..XX $& 8XXX.XX $& 9XXXXXX $& 12XX.XXX $& 13XX..XX elseif ($1 == O) return $& 4.XXXX. $& 8XX..XX $& 9XX..XX $& 12XX..XX $& 13.XXXX. elseif ($1 == P) return $& 4XXXXX. $& 8XX..XX $& 9XXXXX. $& 12XX.... $& 13XX.... elseif ($1 == Q) return $& 4.XXXX.. $& 8XX..XX. $& 9XX..XX. $& 12XX..XX. $& 13.XXXXXX elseif ($1 == R) return $& 4XXXXX. $& 8XX..XX $& 9XXXXX. $& 12XX..XX $& 13XX..XX elseif ($1 == S) return $& 4.XXXX. $& 8XX.... $& 9.XXXX. $& 12....XX $& 13XXXXX. elseif ($1 == T) return $& 4XXXXXX $& 8..XX.. $& 9..XX.. $& 12..XX.. $& 13..XX.. elseif ($1 == U) return $& 4XX..XX $& 8XX..XX $& 9XX..XX $& 12XX..XX $& 13.XXXX. elseif ($1 == V) return $& 4XX....XX $& 8XX....XX $& 9.XX..XX. $& 12..XXXX.. $& 13...XX... elseif ($1 == W) return $& 4XX...XX $& 8XX...XX $& 9XX.X.XX $& 12XXXXXXX $& 13.XX.XX. elseif ($1 == X) return $& 4XX...XX $& 8.XX.XX. $& 9..XXX.. $& 12.XX.XX. $& 13XX...XX elseif ($1 == Y) return $& 4XX..XX $& 8XX..XX $& 9.XXXX. $& 12..XX.. $& 13..XX.. elseif ($1 == Z) return $& 4XXXXXX $& 8...XX. $& 9..XX.. $& 12.XX... $& 13XXXXXX elseif ($1 == $chr(35)) return $& 4.XX..XX. $& 8XXXXXXXX $& 9.XX..XX. $& 12XXXXXXXX $& 13.XX..XX. elseif ($1 == ') return $& 4.XX $& 11XX. $& ... $& ... $& ... elseif ($1 == ") return $& 4XX..XX $& 11XX..XX $& ...... $& ...... $& ...... elseif ($1 == +) return $& ...... $& 4..XX.. $& 9XXXXXX $& 11..XX.. $& ...... elseif ($1 == =) return $& ...... $& 11XXXXXX $& ...... $& 4XXXXXX $& ...... elseif ($1 == -) return $& ...... $& ...... $& 9XXXXXX $& ...... $& ...... elseif ($1 == _) return $& ...... $& ...... $& ...... $& ...... $& 9XXXXXX elseif ($1 == ¯) return $& 9XXXXXX $& ...... $& ...... $& ...... $& ...... elseif ($1 == °) return $& 4.XXX. $& 9XX.XX $& 11.XXX. $& ..... $& ..... elseif ($1 == :) return $& .. $& 4XX $& .. $& 11XX $& .. elseif ($1 == !) return $& 4XX $& 9XX $& 11XX $& .. $& 13XX elseif ($1 == ?) return $& 4XXX. $& 9..XX $& 11.XX. $& .... $& 13.XX. elseif ($1 == .) return $& .. $& .. $& .. $& .. $& 9XX elseif ($1 == /) return $& 4....XX $& 8...XX. $& 9..XX.. $& 12.XX... $& 13XX.... elseif ($1 == \) return $& 4XX.... $& 8.XX... $& 9..XX.. $& 12...XX. $& 13....XX elseif ($1 == $chr(40)) return $& 4....X $& 8..X.. $& 9X.... $& 12..X.. $& 13....X elseif ($1 == $chr(41)) return $& 4X.... $& 8..X.. $& 9....X $& 12..X.. $& 13X.... elseif ($1 == $chr(37)) return $& 4XX..XX $& 8...XX. $& 9..XX.. $& 12.XX... $& 13XX..XX elseif ($1 == [) return $& 4XXXXX $& 8XX... $& 9XX... $& 12XX... $& 13XXXXX elseif ($1 == ]) return $& 4XXXXX $& 8...XX $& 9...XX $& 12...XX $& 13XXXXX elseif ($1 == |) return $& 4.XX. $& 8.XX. $& 9.XX. $& 12.XX. $& 13.XX. elseif ($1 == <) return $& 4....XX $& 8..XX.. $& 9XX.... $& 12..XX.. $& 13....XX elseif ($1 == >) return $& 4XX.... $& 8..XX.. $& 9....XX $& 12..XX.. $& 13XX.... elseif ($1 == ¸) return $& 4.... $& .... $& 9.XX. $& 11..XX $& 13XXX. elseif ($1 == ,) return $& 4... $& ... $& 9XXX $& 11.XX $& 13XX. } ; 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 }