Advertisement
Guest User

Untitled

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