Guest User

Untitled

a guest
Aug 30th, 2015
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.92 KB | None | 0 0
  1. alias big {
  2. if ($bigtext.unsupp($1-)) {
  3. echo -ac info * Characters not supported by Big Text present in your message: $bigtext.unsupp($1-)
  4. return
  5. }
  6. var %lia, %lib, %lic, %lid, %lie, %i 1, %text $strip($1-, bur), %colregex /^(\d\d?(?:,\d\d?)?)/
  7. var %regex = /(?<= $+ $chr(3) $+ [0-9]| $+ $chr(3) $+ [0-9][0-9]) $+ $chr(44) $+ \d\d?/g, %res, %dummy = $regsub(%text, %regex,$null, %text)
  8. while (%i <= $len(%text)) {
  9. if ($mid(%text, %i, 1) == $chr(3)) {
  10. var %lia $+(%lia, $chr(3)), %lib $+(%lib, $chr(3)), %lic $+(%lic, $chr(3)), %lid $+(%lid, $chr(3)), %lie $+(%lie, $chr(3))
  11. if ($mid(%text, $calc(%i + 1), 1) != $chr(32)) && ($regex(mtcol, $mid(%text, $calc(%i + 1), $mid(%text, $calc(%i + 1), 0)),%colregex)) {
  12. var %m $regml(mtcol, 1)
  13. var %lia %lia $+ %m, %lib %lib $+ %m, %lic %lic $+ %m, %lid %lid $+ %m, %lie %lie $+ %m
  14. inc %i $len(%m)
  15. }
  16. }
  17. else {
  18. tokenize 32 $bigtext.char($mid(%text, %i, 1))
  19. var %lia $+(%lia, $1), %lib $+(%lib, $2), %lic $+(%lic, $3), %lid $+(%lid, $4), %lie $+(%lie, $5)
  20. ; if ($bigtext.kern($mid(%text, %i, 2))) {
  21. var %lia $+(%lia, .), %lib $+(%lib, .), %lic $+(%lic, .), %lid $+(%lid, .), %lie $+(%lie, .)
  22. ; }
  23. }
  24. inc %i
  25. }
  26. say $bigtext.format(%lia)
  27. say $bigtext.format(%lib)
  28. say $bigtext.format(%lic)
  29. say $bigtext.format(%lid)
  30. say $bigtext.format(%lie)
  31. }
  32. ; You may customize this alias however you want to.
  33. ; It is Big Text's font, used above.
  34. ; The return value consists of dots and X's, to denote
  35. ; unlit and lit points in the font, respectively;
  36. ; there are 5 tokens of the same length, each
  37. ; corresponding to a line in the 5-line output.
  38. ; Note how the . and X's look like the characters;
  39. ; you can use this to your advantage!
  40. alias -l bigtext.char {
  41. if ($1 === $chr(32)) || ($1 === $null) return $&
  42. ... $&
  43. ... $&
  44. ... $&
  45. ... $&
  46. ...
  47. if ($1 === $chr(160)) return $&
  48. ..... $&
  49. ..... $&
  50. ..... $&
  51. ..... $&
  52. .....
  53. elseif ($1 == 0) return $&
  54. .XXXX. $&
  55. XX..XX $&
  56. XX.XXX $&
  57. XXX.XX $&
  58. .XXXX.
  59. elseif ($1 == 1) return $&
  60. .XXXX $&
  61. XX.XX $&
  62. ...XX $&
  63. ...XX $&
  64. ...XX
  65. elseif ($1 == 2) return $&
  66. XXXXX. $&
  67. ....XX $&
  68. ..XX.. $&
  69. XX.... $&
  70. XXXXXX
  71. elseif ($1 == 3) return $&
  72. XXXXX. $&
  73. ....XX $&
  74. .XXXX. $&
  75. ....XX $&
  76. XXXXX.
  77. elseif ($1 == 4) return $&
  78. .....XXX. $&
  79. ...XX.XX. $&
  80. .XX...XX. $&
  81. XXXXXXXXX $&
  82. ......XX.
  83. elseif ($1 == 5) return $&
  84. XXXXX $&
  85. XX... $&
  86. XXXX. $&
  87. ...XX $&
  88. XXXX.
  89. elseif ($1 == 6) return $&
  90. .XXXX. $&
  91. XX.... $&
  92. XXXXX. $&
  93. XX..XX $&
  94. .XXXX.
  95. elseif ($1 == 7) return $&
  96. XXXXXX $&
  97. ...XX. $&
  98. ..XX.. $&
  99. .XX... $&
  100. XX....
  101. elseif ($1 == 8) return $&
  102. .XXXX. $&
  103. XX..XX $&
  104. .XXXX. $&
  105. XX..XX $&
  106. .XXXX.
  107. elseif ($1 == 9) return $&
  108. .XXXX. $&
  109. XX..XX $&
  110. .XXXXX $&
  111. ....XX $&
  112. .XXXX.
  113. elseif ($1 == A) return $&
  114. .XXXX. $&
  115. XX..XX $&
  116. XXXXXX $&
  117. XX..XX $&
  118. XX..XX
  119. elseif ($1 == B) return $&
  120. XXXXX. $&
  121. XX..XX $&
  122. XXXXX. $&
  123. XX..XX $&
  124. XXXXX.
  125. elseif ($1 == C) return $&
  126. .XXXX. $&
  127. XX..XX $&
  128. XX.... $&
  129. XX..XX $&
  130. .XXXX.
  131. elseif ($1 == D) return $&
  132. XXXX.. $&
  133. XX.XX. $&
  134. XX..XX $&
  135. XX..XX $&
  136. XXXXX.
  137. elseif ($1 == E) return $&
  138. XXXXX $&
  139. XX... $&
  140. XXXX. $&
  141. XX... $&
  142. XXXXX
  143. elseif ($1 == F) return $&
  144. XXXXX $&
  145. XX... $&
  146. XXXX. $&
  147. XX... $&
  148. XX...
  149. elseif ($1 == G) return $&
  150. .XXXX. $&
  151. XX.... $&
  152. XX.XXX $&
  153. XX..XX $&
  154. .XXXXX
  155. elseif ($1 == H) return $&
  156. XX...XX $&
  157. XX...XX $&
  158. XXXXXXX $&
  159. XX...XX $&
  160. XX...XX
  161. elseif ($1 == I) return $&
  162. XXXX $&
  163. .XX. $&
  164. .XX. $&
  165. .XX. $&
  166. XXXX
  167. elseif ($1 == J) return $&
  168. ....XX $&
  169. ....XX $&
  170. ....XX $&
  171. XX..XX $&
  172. .XXXX.
  173. elseif ($1 == K) return $&
  174. XX..XX $&
  175. XX.XX. $&
  176. XXXX.. $&
  177. XX.XX. $&
  178. XX..XX
  179. elseif ($1 == L) return $&
  180. XX... $&
  181. XX... $&
  182. XX... $&
  183. XX... $&
  184. XXXXX
  185. elseif ($1 == M) return $&
  186. XX....XX $&
  187. XXX..XXX $&
  188. XXXXXXXX $&
  189. XX.XX.XX $&
  190. XX....XX
  191. elseif ($1 == N) return $&
  192. XX..XX $&
  193. XXX.XX $&
  194. XXXXXX $&
  195. XX.XXX $&
  196. XX..XX
  197. elseif ($1 == O) return $&
  198. .XXXX. $&
  199. XX..XX $&
  200. XX..XX $&
  201. XX..XX $&
  202. .XXXX.
  203. elseif ($1 == P) return $&
  204. XXXXX. $&
  205. XX..XX $&
  206. XXXXX. $&
  207. XX.... $&
  208. XX....
  209. elseif ($1 == Q) return $&
  210. .XXXX.. $&
  211. XX..XX. $&
  212. XX..XX. $&
  213. XX..XX. $&
  214. .XXXXXX
  215. elseif ($1 == R) return $&
  216. XXXXX. $&
  217. XX..XX $&
  218. XXXXX. $&
  219. XX..XX $&
  220. XX..XX
  221. elseif ($1 == S) return $&
  222. .XXXX. $&
  223. XX.... $&
  224. .XXXX. $&
  225. ....XX $&
  226. XXXXX.
  227. elseif ($1 == T) return $&
  228. XXXXXX $&
  229. ..XX.. $&
  230. ..XX.. $&
  231. ..XX.. $&
  232. ..XX..
  233. elseif ($1 == U) return $&
  234. XX..XX $&
  235. XX..XX $&
  236. XX..XX $&
  237. XX..XX $&
  238. .XXXX.
  239. elseif ($1 == V) return $&
  240. XX....XX $&
  241. XX....XX $&
  242. .XX..XX. $&
  243. ..XXXX.. $&
  244. ...XX...
  245. elseif ($1 == W) return $&
  246. XX...XX $&
  247. XX...XX $&
  248. XX.X.XX $&
  249. XXXXXXX $&
  250. .XX.XX.
  251. elseif ($1 == X) return $&
  252. XX...XX $&
  253. .XX.XX. $&
  254. ..XXX.. $&
  255. .XX.XX. $&
  256. XX...XX
  257. elseif ($1 == Y) return $&
  258. XX..XX $&
  259. XX..XX $&
  260. .XXXX. $&
  261. ..XX.. $&
  262. ..XX..
  263. elseif ($1 == Z) return $&
  264. XXXXXX $&
  265. ...XX. $&
  266. ..XX.. $&
  267. .XX... $&
  268. XXXXXX
  269. elseif ($1 == $chr(35)) return $&
  270. .XX..XX. $&
  271. XXXXXXXX $&
  272. .XX..XX. $&
  273. XXXXXXXX $&
  274. .XX..XX.
  275. elseif ($1 == ') return $&
  276. .XX $&
  277. XX. $&
  278. ... $&
  279. ... $&
  280. ...
  281. elseif ($1 == ") return $&
  282. XX..XX $&
  283. XX..XX $&
  284. ...... $&
  285. ...... $&
  286. ......
  287. elseif ($1 == +) return $&
  288. ...... $&
  289. ..XX.. $&
  290. XXXXXX $&
  291. ..XX.. $&
  292. ......
  293. elseif ($1 == =) return $&
  294. ...... $&
  295. XXXXXX $&
  296. ...... $&
  297. XXXXXX $&
  298. ......
  299. elseif ($1 == -) return $&
  300. ...... $&
  301. ...... $&
  302. XXXXXX $&
  303. ...... $&
  304. ......
  305. elseif ($1 == _) return $&
  306. ...... $&
  307. ...... $&
  308. ...... $&
  309. ...... $&
  310. XXXXXX
  311. elseif ($1 == &#65533;) return $&
  312. XXXXXX $&
  313. ...... $&
  314. ...... $&
  315. ...... $&
  316. ......
  317. elseif ($1 == &#65533;) return $&
  318. .XXX. $&
  319. XX.XX $&
  320. .XXX. $&
  321. ..... $&
  322. .....
  323. elseif ($1 == :) return $&
  324. .. $&
  325. XX $&
  326. .. $&
  327. XX $&
  328. ..
  329. elseif ($1 == !) return $&
  330. XX $&
  331. XX $&
  332. XX $&
  333. .. $&
  334. XX
  335. elseif ($1 == ?) return $&
  336. XXX. $&
  337. ..XX $&
  338. .XX. $&
  339. .... $&
  340. .XX.
  341. elseif ($1 == .) return $&
  342. .. $&
  343. .. $&
  344. .. $&
  345. .. $&
  346. XX
  347. elseif ($1 == /) return $&
  348. ....XX $&
  349. ...XX. $&
  350. ..XX.. $&
  351. .XX... $&
  352. XX....
  353. elseif ($1 == \) return $&
  354. XX.... $&
  355. .XX... $&
  356. ..XX.. $&
  357. ...XX. $&
  358. ....XX
  359. elseif ($1 == $chr(40)) return $&
  360. ...XX $&
  361. .XX.. $&
  362. XX... $&
  363. .XX.. $&
  364. ...XX
  365. elseif ($1 == $chr(41)) return $&
  366. XX... $&
  367. ..XX. $&
  368. ...XX $&
  369. ..XX. $&
  370. XX...
  371. elseif ($1 == $chr(37)) return $&
  372. XX..XX $&
  373. ...XX. $&
  374. ..XX.. $&
  375. .XX... $&
  376. XX..XX
  377. elseif ($1 == [) return $&
  378. XXXXX $&
  379. XX... $&
  380. XX... $&
  381. XX... $&
  382. XXXXX
  383. elseif ($1 == ]) return $&
  384. XXXXX $&
  385. ...XX $&
  386. ...XX $&
  387. ...XX $&
  388. XXXXX
  389. elseif ($1 == |) return $&
  390. XXXXX...X $&
  391. ....X...X $&
  392. XXXXXXXXX $&
  393. X...X.... $&
  394. X...XXXXX
  395. elseif ($1 == <) return $&
  396. ....XX $&
  397. ..XX.. $&
  398. XX.... $&
  399. ..XX.. $&
  400. ....XX
  401. elseif ($1 == >) return $&
  402. XX.... $&
  403. ..XX.. $&
  404. ....XX $&
  405. ..XX.. $&
  406. XX....
  407. elseif ($1 == &#65533;) return $&
  408. .... $&
  409. .... $&
  410. .XX. $&
  411. ..XX $&
  412. XXX.
  413. elseif ($1 == ,) return $&
  414. ... $&
  415. ... $&
  416. XXX $&
  417. .XX $&
  418. XX.
  419. }
  420. ; Returns all unsupported characters within a Big Text message
  421. ; Supported characters are a-z, space, digits, #'"+=&#65533;:!?./\()%-[]<>|&#65533;,
  422. alias bigtext.unsupp {
  423. var %res, %dummy = $regsub($1-, /[]a-z 0-9# $+ $chr(44) $+ '+=&#65533;:!?./\\()%[|<>_&#65533;"&#65533;-]/igS, $null, %res)
  424. return %res
  425. }
  426. ; Returns $true if a space should be added between two characters,
  427. ; or $false if not.
  428. ; Note: This is here only for aesthetic purposes. :)
  429. alias bigtext.kern {
  430. var %res $true
  431. if ($regex($1-,
  432. /^(.|[_GDSQL-]T|[TPFVY7/"]J|T\.|L[1Y\\"]|[LTK<[]-|-[]>%\\]|S1|T4|\?\.|\.\?|[467L\\]&#65533;|&#65533;[J/]|L'|\/\/|\\\\|&#65533;J|[_&#6
  433. 5533;]&#65533;|[&#65533;T_]_|>\.|\.<)$/i)) %res = $false
  434. return %res
  435. }
  436. ; Takes an input string of the form:
  437. ; .XX..XX....XX.XX.XXXXX
  438. ; And formats it for display.
  439. alias bigtext.format {
  440. var %res, %i 1, %previous 0, %current, %curcolor, %colregex /^(\d\d?(?:,\d\d?)?)/
  441. while (%i <= $len($1-)) {
  442. if ($mid($1-, %i, 1) == $chr(3)) {
  443. if ($regex(mtcol, $mid($1-, $calc(%i + 1), $mid($1-, $calc(%i + 1), 0)), %colregex)) {
  444. if ($gettok($regml(mtcol, 1), 1, 44) != %curcolor) {
  445. %curcolor = $gettok($regml(mtcol, 1), 1, 44)
  446. if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15)
  447. }
  448. inc %i $len($regml(mtcol, 1))
  449. }
  450. elseif (%curcolor) {
  451. %curcolor =
  452. if (%i != 1) && ($mid($1-, $calc(%i - 1), 1) == X) %res = %res $+ $chr(15)
  453. }
  454. }
  455. else {
  456. %current = $iif($mid($1-, %i, 1) == ., 0, 1)
  457. if (%previous != %current) {
  458. %previous = %current
  459. if (%curcolor) {
  460. if (%current) %res = %res $+ $chr(3) $+ %curcolor $+ , $+ %curcolor
  461. else %res = %res $+ $chr(3)
  462. }
  463. else %res = %res $+ $chr(22)
  464. }
  465. %res = %res $+ $chr(160)
  466. }
  467. inc %i
  468. }
  469. return %res
  470. }
Add Comment
Please, Sign In to add comment