rendered paste bodyalias 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