Guest User

Untitled

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