alias big { 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 /^(dd?(?:,dd?)?)/ var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ dd?/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) } 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 $& XXXXXX $& ...... $& ...... $& ...... $& ...... elseif ($1 == [) return $& .XXX. $& XX.XX $& .XXX. $& ..... $& ..... 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. } alias bigtext.unsupp { var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=:!?./()%[|<>_"-]/igS, $null, %res) return %res } 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 } alias bigtext.format { var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(dd?(?:,dd?)?)/ 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 } 001 alias big { 002 if ($bigtext.unsupp($1-)) { 003 echo -ac info * Characters not supported by Big Text present in your message: $bigtext.unsupp($1-) 004 return 005 } 006 var %lia, %lib, %lic, %lid, %lie, %i 1, %text $strip($1-, bur), %colregex /^(dd?(?:,dd?)?)/ 007 008 var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ dd?/g, %res, %dummy = $regsub(%text, %regex, $null, %text) 009 010 while (%i <= $len(%text)) { 011 if ($mid(%text, %i, 1) == $chr(3)) { 012 var %lia $+(%lia, $chr(3)), %lib $+(%lib, $chr(3)), %lic $+(%lic, $chr(3)), %lid $+(%lid, $chr(3)), %lie $+(%lie, $chr(3)) 013 if ($mid(%text, $calc(%i + 1), 1) != $chr(32)) && ($regex(mtcol, $mid(%text, $calc(%i + 1), $mid(%text, $calc(%i + 1), 0)), %colregex)) { 014 var %m $regml(mtcol, 1) 015 var %lia %lia $+ %m, %lib %lib $+ %m, %lic %lic $+ %m, %lid %lid $+ %m, %lie %lie $+ %m 016 inc %i $len(%m) 017 } 018 } 019 else { 020 tokenize 32 $bigtext.char($mid(%text, %i, 1)) 021 var %lia $+(%lia, $1), %lib $+(%lib, $2), %lic $+(%lic, $3), %lid $+(%lid, $4), %lie $+(%lie, $5) 022 ; if ($bigtext.kern($mid(%text, %i, 2))) { 023 var %lia $+(%lia, .), %lib $+(%lib, .), %lic $+(%lic, .), %lid $+(%lid, .), %lie $+(%lie, .) 024 ; } 025 } 026 inc %i 027 } 028 say $bigtext.format(%lia) 029 say $bigtext.format(%lib) 030 say $bigtext.format(%lic) 031 say $bigtext.format(%lid) 032 say $bigtext.format(%lie) 033 } 034 035 alias -l bigtext.char { 036 if ($1 === $chr(32)) || ($1 === $null) return $& 037 ... $& 038 ... $& 039 ... $& 040 ... $& 041 ... 042 if ($1 === $chr(160)) return $& 043 ..... $& 044 ..... $& 045 ..... $& 046 ..... $& 047 ..... 048 elseif ($1 == 0) return $& 049 .XXXX. $& 050 XX..XX $& 051 XX.XXX $& 052 XXX.XX $& 053 .XXXX. 054 elseif ($1 == 1) return $& 055 .XXXX $& 056 XX.XX $& 057 ...XX $& 058 ...XX $& 059 ...XX 060 elseif ($1 == 2) return $& 061 XXXXX. $& 062 ....XX $& 063 ..XX.. $& 064 XX.... $& 065 XXXXXX 066 elseif ($1 == 3) return $& 067 XXXXX. $& 068 ....XX $& 069 .XXXX. $& 070 ....XX $& 071 XXXXX. 072 elseif ($1 == 4) return $& 073 .....XXX. $& 074 ...XX.XX. $& 075 .XX...XX. $& 076 XXXXXXXXX $& 077 ......XX. 078 elseif ($1 == 5) return $& 079 XXXXX $& 080 XX... $& 081 XXXX. $& 082 ...XX $& 083 XXXX. 084 elseif ($1 == 6) return $& 085 .XXXX. $& 086 XX.... $& 087 XXXXX. $& 088 XX..XX $& 089 .XXXX. 090 elseif ($1 == 7) return $& 091 XXXXXX $& 092 ...XX. $& 093 ..XX.. $& 094 .XX... $& 095 XX.... 096 elseif ($1 == 8) return $& 097 .XXXX. $& 098 XX..XX $& 099 .XXXX. $& 100 XX..XX $& 101 .XXXX. 102 elseif ($1 == 9) return $& 103 .XXXX. $& 104 XX..XX $& 105 .XXXXX $& 106 ....XX $& 107 .XXXX. 108 elseif ($1 == A) return $& 109 .XXXX. $& 110 XX..XX $& 111 XXXXXX $& 112 XX..XX $& 113 XX..XX 114 elseif ($1 == B) return $& 115 XXXXX. $& 116 XX..XX $& 117 XXXXX. $& 118 XX..XX $& 119 XXXXX. 120 elseif ($1 == C) return $& 121 .XXXX. $& 122 XX..XX $& 123 XX.... $& 124 XX..XX $& 125 .XXXX. 126 elseif ($1 == D) return $& 127 XXXX.. $& 128 XX.XX. $& 129 XX..XX $& 130 XX..XX $& 131 XXXXX. 132 elseif ($1 == E) return $& 133 XXXXX $& 134 XX... $& 135 XXXX. $& 136 XX... $& 137 XXXXX 138 elseif ($1 == F) return $& 139 XXXXX $& 140 XX... $& 141 XXXX. $& 142 XX... $& 143 XX... 144 elseif ($1 == G) return $& 145 .XXXX. $& 146 XX.... $& 147 XX.XXX $& 148 XX..XX $& 149 .XXXXX 150 elseif ($1 == H) return $& 151 XX...XX $& 152 XX...XX $& 153 XXXXXXX $& 154 XX...XX $& 155 XX...XX 156 elseif ($1 == I) return $& 157 XXXX $& 158 .XX. $& 159 .XX. $& 160 .XX. $& 161 XXXX 162 elseif ($1 == J) return $& 163 ....XX $& 164 ....XX $& 165 ....XX $& 166 XX..XX $& 167 .XXXX. 168 elseif ($1 == K) return $& 169 XX..XX $& 170 XX.XX. $& 171 XXXX.. $& 172 XX.XX. $& 173 XX..XX 174 elseif ($1 == L) return $& 175 XX... $& 176 XX... $& 177 XX... $& 178 XX... $& 179 XXXXX 180 elseif ($1 == M) return $& 181 XX....XX $& 182 XXX..XXX $& 183 XXXXXXXX $& 184 XX.XX.XX $& 185 XX....XX 186 elseif ($1 == N) return $& 187 XX..XX $& 188 XXX.XX $& 189 XXXXXX $& 190 XX.XXX $& 191 XX..XX 192 elseif ($1 == O) return $& 193 .XXXX. $& 194 XX..XX $& 195 XX..XX $& 196 XX..XX $& 197 .XXXX. 198 elseif ($1 == P) return $& 199 XXXXX. $& 200 XX..XX $& 201 XXXXX. $& 202 XX.... $& 203 XX.... 204 elseif ($1 == Q) return $& 205 .XXXX.. $& 206 XX..XX. $& 207 XX..XX. $& 208 XX..XX. $& 209 .XXXXXX 210 elseif ($1 == R) return $& 211 XXXXX. $& 212 XX..XX $& 213 XXXXX. $& 214 XX..XX $& 215 XX..XX 216 elseif ($1 == S) return $& 217 .XXXX. $& 218 XX.... $& 219 .XXXX. $& 220 ....XX $& 221 XXXXX. 222 elseif ($1 == T) return $& 223 XXXXXX $& 224 ..XX.. $& 225 ..XX.. $& 226 ..XX.. $& 227 ..XX.. 228 elseif ($1 == U) return $& 229 XX..XX $& 230 XX..XX $& 231 XX..XX $& 232 XX..XX $& 233 .XXXX. 234 elseif ($1 == V) return $& 235 XX....XX $& 236 XX....XX $& 237 .XX..XX. $& 238 ..XXXX.. $& 239 ...XX... 240 elseif ($1 == W) return $& 241 XX...XX $& 242 XX...XX $& 243 XX.X.XX $& 244 XXXXXXX $& 245 .XX.XX. 246 elseif ($1 == X) return $& 247 XX...XX $& 248 .XX.XX. $& 249 ..XXX.. $& 250 .XX.XX. $& 251 XX...XX 252 elseif ($1 == Y) return $& 253 XX..XX $& 254 XX..XX $& 255 .XXXX. $& 256 ..XX.. $& 257 ..XX.. 258 elseif ($1 == Z) return $& 259 XXXXXX $& 260 ...XX. $& 261 ..XX.. $& 262 .XX... $& 263 XXXXXX 264 elseif ($1 == $chr(35)) return $& 265 .XX..XX. $& 266 XXXXXXXX $& 267 .XX..XX. $& 268 XXXXXXXX $& 269 .XX..XX. 270 elseif ($1 == ') return $& 271 .XX $& 272 XX. $& 273 ... $& 274 ... $& 275 ... 276 elseif ($1 == ") return $& 277 XX..XX $& 278 XX..XX $& 279 ...... $& 280 ...... $& 281 ...... 282 elseif ($1 == +) return $& 283 ...... $& 284 ..XX.. $& 285 XXXXXX $& 286 ..XX.. $& 287 ...... 288 elseif ($1 == =) return $& 289 ...... $& 290 XXXXXX $& 291 ...... $& 292 XXXXXX $& 293 ...... 294 elseif ($1 == -) return $& 295 ...... $& 296 ...... $& 297 XXXXXX $& 298 ...... $& 299 ...... 300 elseif ($1 == _) return $& 301 ...... $& 302 ...... $& 303 ...... $& 304 ...... $& 305 XXXXXX 306 elseif ($1 == ] ) return $& 307 XXXXXX $& 308 ...... $& 309 ...... $& 310 ...... $& 311 ...... 312 elseif ($1 == [) return $& 313 .XXX. $& 314 XX.XX $& 315 .XXX. $& 316 ..... $& 317 ..... 318 elseif ($1 == :) return $& 319 .. $& 320 XX $& 321 .. $& 322 XX $& 323 .. 324 elseif ($1 == !) return $& 325 XX $& 326 XX $& 327 XX $& 328 .. $& 329 XX 330 elseif ($1 == ?) return $& 331 XXX. $& 332 ..XX $& 333 .XX. $& 334 .... $& 335 .XX. 336 elseif ($1 == .) return $& 337 .. $& 338 .. $& 339 .. $& 340 .. $& 341 XX 342 elseif ($1 == /) return $& 343 ....XX $& 344 ...XX. $& 345 ..XX.. $& 346 .XX... $& 347 XX.... 348 elseif ($1 == ) return $& 349 XX.... $& 350 .XX... $& 351 ..XX.. $& 352 ...XX. $& 353 ....XX 354 elseif ($1 == $chr(40)) return $& 355 ...XX $& 356 .XX.. $& 357 XX... $& 358 .XX.. $& 359 ...XX 360 elseif ($1 == $chr(41)) return $& 361 XX... $& 362 ..XX. $& 363 ...XX $& 364 ..XX. $& 365 XX... 366 elseif ($1 == $chr(37)) return $& 367 XX..XX $& 368 ...XX. $& 369 ..XX.. $& 370 .XX... $& 371 XX..XX 372 elseif ($1 == [) return $& 373 XXXXX $& 374 XX... $& 375 XX... $& 376 XX... $& 377 XXXXX 378 elseif ($1 == ]) return $& 379 XXXXX $& 380 ...XX $& 381 ...XX $& 382 ...XX $& 383 XXXXX 384 elseif ($1 == |) return $& 385 .XX. $& 386 .XX. $& 387 .XX. $& 388 .XX. $& 389 .XX. 390 elseif ($1 == <) return $& 391 ....XX $& 392 ..XX.. $& 393 XX.... $& 394 ..XX.. $& 395 ....XX 396 elseif ($1 == >) return $& 397 XX.... $& 398 ..XX.. $& 399 ....XX $& 400 ..XX.. $& 401 XX.... 402 elseif ($1 == ) return $& 403 .... $& 404 .... $& 405 .XX. $& 406 ..XX $& 407 XXX. 408 elseif ($1 == ,) return $& 409 ... $& 410 ... $& 411 XXX $& 412 .XX $& 413 XX. 414 } 415 416 417 418 alias bigtext.unsupp { 419 var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=:!?./()%[|<>_"-]/igS, $null, %res) 420 return %res 421 } 422 423 alias bigtext.kern { 424 var %res $true 425 if ($regex($1-, /^(.|[_GDSQL-]T|[TPFVY7/"]J|T.|L[1Y"]|[LTK<[]-|-[]>%]|S1|T4|?.|.?|[467L]|[J/]|L'|//|\|J|[_]|[T_]_|>.|.<)$/i)) %res = $false 426 return %res 427 } 428 429 alias bigtext.format { 430 var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(dd?(?:,dd?)?)/ 431 while (%i <= $len($1-)) { 432 if ($mid($1-, %i, 1) == $chr(3)) { 433 if ($regex(mtcol, $mid($1-, $calc(%i + 1), $mid($1-, $calc(%i + 1), 0)), %colregex)) { 434 if ($gettok($regml(mtcol, 1), 1, 44) != %curcolor) { 435 %curcolor = $gettok($regml(mtcol, 1), 1, 44) 436 if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 437 } 438 inc %i $len($regml(mtcol, 1)) 439 } 440 elseif (%curcolor) { 441 %curcolor = 442 if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 443 } 444 } 445 else { 446 %current = $iif($mid($1-, %i, 1) == ., 0, 1) 447 if (%previous != %current) { 448 %previous = %current 449 if (%curcolor) { 450 if (%current) %res = %res $+ $chr(3) $+ %curcolor $+ , $+ %curcolor 451 else %res = %res $+ $chr(3) 452 } 453 else %res = %res $+ $chr(22) 454 } 455 %res = %res $+ $chr(160) 456 } 457 inc %i 458 } 459 return %res 460 } 461 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461alias big { 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 /^(dd?(?:,dd?)?)/ var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ dd?/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) } 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 $& XXXXXX $& ...... $& ...... $& ...... $& ...... elseif ($1 == [) return $& .XXX. $& XX.XX $& .XXX. $& ..... $& ..... 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. } alias bigtext.unsupp { var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=:!?./()%[|<>_"-]/igS, $null, %res) return %res } 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 } alias bigtext.format { var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(dd?(?:,dd?)?)/ 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 big { 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 /^(dd?(?:,dd?)?)/ var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ dd?/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) } 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 $& XXXXXX $& ...... $& ...... $& ...... $& ...... elseif ($1 == [) return $& .XXX. $& XX.XX $& .XXX. $& ..... $& ..... 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. } alias bigtext.unsupp { var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=:!?./()%[|<>_"-]/igS, $null, %res) return %res } 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 } alias bigtext.format { var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(dd?(?:,dd?)?)/ 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 } 001 alias big { 002 if ($bigtext.unsupp($1-)) { 003 echo -ac info * Characters not supported by Big Text present in your message: $bigtext.unsupp($1-) 004 return 005 } 006 var %lia, %lib, %lic, %lid, %lie, %i 1, %text $strip($1-, bur), %colregex /^(dd?(?:,dd?)?)/ 007 008 var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ dd?/g, %res, %dummy = $regsub(%text, %regex, $null, %text) 009 010 while (%i <= $len(%text)) { 011 if ($mid(%text, %i, 1) == $chr(3)) { 012 var %lia $+(%lia, $chr(3)), %lib $+(%lib, $chr(3)), %lic $+(%lic, $chr(3)), %lid $+(%lid, $chr(3)), %lie $+(%lie, $chr(3)) 013 if ($mid(%text, $calc(%i + 1), 1) != $chr(32)) && ($regex(mtcol, $mid(%text, $calc(%i + 1), $mid(%text, $calc(%i + 1), 0)), %colregex)) { 014 var %m $regml(mtcol, 1) 015 var %lia %lia $+ %m, %lib %lib $+ %m, %lic %lic $+ %m, %lid %lid $+ %m, %lie %lie $+ %m 016 inc %i $len(%m) 017 } 018 } 019 else { 020 tokenize 32 $bigtext.char($mid(%text, %i, 1)) 021 var %lia $+(%lia, $1), %lib $+(%lib, $2), %lic $+(%lic, $3), %lid $+(%lid, $4), %lie $+(%lie, $5) 022 ; if ($bigtext.kern($mid(%text, %i, 2))) { 023 var %lia $+(%lia, .), %lib $+(%lib, .), %lic $+(%lic, .), %lid $+(%lid, .), %lie $+(%lie, .) 024 ; } 025 } 026 inc %i 027 } 028 say $bigtext.format(%lia) 029 say $bigtext.format(%lib) 030 say $bigtext.format(%lic) 031 say $bigtext.format(%lid) 032 say $bigtext.format(%lie) 033 } 034 035 alias -l bigtext.char { 036 if ($1 === $chr(32)) || ($1 === $null) return $& 037 ... $& 038 ... $& 039 ... $& 040 ... $& 041 ... 042 if ($1 === $chr(160)) return $& 043 ..... $& 044 ..... $& 045 ..... $& 046 ..... $& 047 ..... 048 elseif ($1 == 0) return $& 049 .XXXX. $& 050 XX..XX $& 051 XX.XXX $& 052 XXX.XX $& 053 .XXXX. 054 elseif ($1 == 1) return $& 055 .XXXX $& 056 XX.XX $& 057 ...XX $& 058 ...XX $& 059 ...XX 060 elseif ($1 == 2) return $& 061 XXXXX. $& 062 ....XX $& 063 ..XX.. $& 064 XX.... $& 065 XXXXXX 066 elseif ($1 == 3) return $& 067 XXXXX. $& 068 ....XX $& 069 .XXXX. $& 070 ....XX $& 071 XXXXX. 072 elseif ($1 == 4) return $& 073 .....XXX. $& 074 ...XX.XX. $& 075 .XX...XX. $& 076 XXXXXXXXX $& 077 ......XX. 078 elseif ($1 == 5) return $& 079 XXXXX $& 080 XX... $& 081 XXXX. $& 082 ...XX $& 083 XXXX. 084 elseif ($1 == 6) return $& 085 .XXXX. $& 086 XX.... $& 087 XXXXX. $& 088 XX..XX $& 089 .XXXX. 090 elseif ($1 == 7) return $& 091 XXXXXX $& 092 ...XX. $& 093 ..XX.. $& 094 .XX... $& 095 XX.... 096 elseif ($1 == 8) return $& 097 .XXXX. $& 098 XX..XX $& 099 .XXXX. $& 100 XX..XX $& 101 .XXXX. 102 elseif ($1 == 9) return $& 103 .XXXX. $& 104 XX..XX $& 105 .XXXXX $& 106 ....XX $& 107 .XXXX. 108 elseif ($1 == A) return $& 109 .XXXX. $& 110 XX..XX $& 111 XXXXXX $& 112 XX..XX $& 113 XX..XX 114 elseif ($1 == B) return $& 115 XXXXX. $& 116 XX..XX $& 117 XXXXX. $& 118 XX..XX $& 119 XXXXX. 120 elseif ($1 == C) return $& 121 .XXXX. $& 122 XX..XX $& 123 XX.... $& 124 XX..XX $& 125 .XXXX. 126 elseif ($1 == D) return $& 127 XXXX.. $& 128 XX.XX. $& 129 XX..XX $& 130 XX..XX $& 131 XXXXX. 132 elseif ($1 == E) return $& 133 XXXXX $& 134 XX... $& 135 XXXX. $& 136 XX... $& 137 XXXXX 138 elseif ($1 == F) return $& 139 XXXXX $& 140 XX... $& 141 XXXX. $& 142 XX... $& 143 XX... 144 elseif ($1 == G) return $& 145 .XXXX. $& 146 XX.... $& 147 XX.XXX $& 148 XX..XX $& 149 .XXXXX 150 elseif ($1 == H) return $& 151 XX...XX $& 152 XX...XX $& 153 XXXXXXX $& 154 XX...XX $& 155 XX...XX 156 elseif ($1 == I) return $& 157 XXXX $& 158 .XX. $& 159 .XX. $& 160 .XX. $& 161 XXXX 162 elseif ($1 == J) return $& 163 ....XX $& 164 ....XX $& 165 ....XX $& 166 XX..XX $& 167 .XXXX. 168 elseif ($1 == K) return $& 169 XX..XX $& 170 XX.XX. $& 171 XXXX.. $& 172 XX.XX. $& 173 XX..XX 174 elseif ($1 == L) return $& 175 XX... $& 176 XX... $& 177 XX... $& 178 XX... $& 179 XXXXX 180 elseif ($1 == M) return $& 181 XX....XX $& 182 XXX..XXX $& 183 XXXXXXXX $& 184 XX.XX.XX $& 185 XX....XX 186 elseif ($1 == N) return $& 187 XX..XX $& 188 XXX.XX $& 189 XXXXXX $& 190 XX.XXX $& 191 XX..XX 192 elseif ($1 == O) return $& 193 .XXXX. $& 194 XX..XX $& 195 XX..XX $& 196 XX..XX $& 197 .XXXX. 198 elseif ($1 == P) return $& 199 XXXXX. $& 200 XX..XX $& 201 XXXXX. $& 202 XX.... $& 203 XX.... 204 elseif ($1 == Q) return $& 205 .XXXX.. $& 206 XX..XX. $& 207 XX..XX. $& 208 XX..XX. $& 209 .XXXXXX 210 elseif ($1 == R) return $& 211 XXXXX. $& 212 XX..XX $& 213 XXXXX. $& 214 XX..XX $& 215 XX..XX 216 elseif ($1 == S) return $& 217 .XXXX. $& 218 XX.... $& 219 .XXXX. $& 220 ....XX $& 221 XXXXX. 222 elseif ($1 == T) return $& 223 XXXXXX $& 224 ..XX.. $& 225 ..XX.. $& 226 ..XX.. $& 227 ..XX.. 228 elseif ($1 == U) return $& 229 XX..XX $& 230 XX..XX $& 231 XX..XX $& 232 XX..XX $& 233 .XXXX. 234 elseif ($1 == V) return $& 235 XX....XX $& 236 XX....XX $& 237 .XX..XX. $& 238 ..XXXX.. $& 239 ...XX... 240 elseif ($1 == W) return $& 241 XX...XX $& 242 XX...XX $& 243 XX.X.XX $& 244 XXXXXXX $& 245 .XX.XX. 246 elseif ($1 == X) return $& 247 XX...XX $& 248 .XX.XX. $& 249 ..XXX.. $& 250 .XX.XX. $& 251 XX...XX 252 elseif ($1 == Y) return $& 253 XX..XX $& 254 XX..XX $& 255 .XXXX. $& 256 ..XX.. $& 257 ..XX.. 258 elseif ($1 == Z) return $& 259 XXXXXX $& 260 ...XX. $& 261 ..XX.. $& 262 .XX... $& 263 XXXXXX 264 elseif ($1 == $chr(35)) return $& 265 .XX..XX. $& 266 XXXXXXXX $& 267 .XX..XX. $& 268 XXXXXXXX $& 269 .XX..XX. 270 elseif ($1 == ') return $& 271 .XX $& 272 XX. $& 273 ... $& 274 ... $& 275 ... 276 elseif ($1 == ") return $& 277 XX..XX $& 278 XX..XX $& 279 ...... $& 280 ...... $& 281 ...... 282 elseif ($1 == +) return $& 283 ...... $& 284 ..XX.. $& 285 XXXXXX $& 286 ..XX.. $& 287 ...... 288 elseif ($1 == =) return $& 289 ...... $& 290 XXXXXX $& 291 ...... $& 292 XXXXXX $& 293 ...... 294 elseif ($1 == -) return $& 295 ...... $& 296 ...... $& 297 XXXXXX $& 298 ...... $& 299 ...... 300 elseif ($1 == _) return $& 301 ...... $& 302 ...... $& 303 ...... $& 304 ...... $& 305 XXXXXX 306 elseif ($1 == ] ) return $& 307 XXXXXX $& 308 ...... $& 309 ...... $& 310 ...... $& 311 ...... 312 elseif ($1 == [) return $& 313 .XXX. $& 314 XX.XX $& 315 .XXX. $& 316 ..... $& 317 ..... 318 elseif ($1 == :) return $& 319 .. $& 320 XX $& 321 .. $& 322 XX $& 323 .. 324 elseif ($1 == !) return $& 325 XX $& 326 XX $& 327 XX $& 328 .. $& 329 XX 330 elseif ($1 == ?) return $& 331 XXX. $& 332 ..XX $& 333 .XX. $& 334 .... $& 335 .XX. 336 elseif ($1 == .) return $& 337 .. $& 338 .. $& 339 .. $& 340 .. $& 341 XX 342 elseif ($1 == /) return $& 343 ....XX $& 344 ...XX. $& 345 ..XX.. $& 346 .XX... $& 347 XX.... 348 elseif ($1 == ) return $& 349 XX.... $& 350 .XX... $& 351 ..XX.. $& 352 ...XX. $& 353 ....XX 354 elseif ($1 == $chr(40)) return $& 355 ...XX $& 356 .XX.. $& 357 XX... $& 358 .XX.. $& 359 ...XX 360 elseif ($1 == $chr(41)) return $& 361 XX... $& 362 ..XX. $& 363 ...XX $& 364 ..XX. $& 365 XX... 366 elseif ($1 == $chr(37)) return $& 367 XX..XX $& 368 ...XX. $& 369 ..XX.. $& 370 .XX... $& 371 XX..XX 372 elseif ($1 == [) return $& 373 XXXXX $& 374 XX... $& 375 XX... $& 376 XX... $& 377 XXXXX 378 elseif ($1 == ]) return $& 379 XXXXX $& 380 ...XX $& 381 ...XX $& 382 ...XX $& 383 XXXXX 384 elseif ($1 == |) return $& 385 .XX. $& 386 .XX. $& 387 .XX. $& 388 .XX. $& 389 .XX. 390 elseif ($1 == <) return $& 391 ....XX $& 392 ..XX.. $& 393 XX.... $& 394 ..XX.. $& 395 ....XX 396 elseif ($1 == >) return $& 397 XX.... $& 398 ..XX.. $& 399 ....XX $& 400 ..XX.. $& 401 XX.... 402 elseif ($1 == ) return $& 403 .... $& 404 .... $& 405 .XX. $& 406 ..XX $& 407 XXX. 408 elseif ($1 == ,) return $& 409 ... $& 410 ... $& 411 XXX $& 412 .XX $& 413 XX. 414 } 415 416 417 418 alias bigtext.unsupp { 419 var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=:!?./()%[|<>_"-]/igS, $null, %res) 420 return %res 421 } 422 423 alias bigtext.kern { 424 var %res $true 425 if ($regex($1-, /^(.|[_GDSQL-]T|[TPFVY7/"]J|T.|L[1Y"]|[LTK<[]-|-[]>%]|S1|T4|?.|.?|[467L]|[J/]|L'|//|\|J|[_]|[T_]_|>.|.<)$/i)) %res = $false 426 return %res 427 } 428 429 alias bigtext.format { 430 var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(dd?(?:,dd?)?)/ 431 while (%i <= $len($1-)) { 432 if ($mid($1-, %i, 1) == $chr(3)) { 433 if ($regex(mtcol, $mid($1-, $calc(%i + 1), $mid($1-, $calc(%i + 1), 0)), %colregex)) { 434 if ($gettok($regml(mtcol, 1), 1, 44) != %curcolor) { 435 %curcolor = $gettok($regml(mtcol, 1), 1, 44) 436 if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 437 } 438 inc %i $len($regml(mtcol, 1)) 439 } 440 elseif (%curcolor) { 441 %curcolor = 442 if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15) 443 } 444 } 445 else { 446 %current = $iif($mid($1-, %i, 1) == ., 0, 1) 447 if (%previous != %current) { 448 %previous = %current 449 if (%curcolor) { 450 if (%current) %res = %res $+ $chr(3) $+ %curcolor $+ , $+ %curcolor 451 else %res = %res $+ $chr(3) 452 } 453 else %res = %res $+ $chr(22) 454 } 455 %res = %res $+ $chr(160) 456 } 457 inc %i 458 } 459 return %res 460 } 461 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461alias big { 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 /^(dd?(?:,dd?)?)/ var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ dd?/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) } 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 $& XXXXXX $& ...... $& ...... $& ...... $& ...... elseif ($1 == [) return $& .XXX. $& XX.XX $& .XXX. $& ..... $& ..... 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. } alias bigtext.unsupp { var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=:!?./()%[|<>_"-]/igS, $null, %res) return %res } 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 } alias bigtext.format { var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(dd?(?:,dd?)?)/ 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 } o