vi_rules 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344
  1. // replace combining (tone) accents with single characters
  2. .replace
  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. ð đ // Ð U+0d0
  64. ɖ đ // Ɖ U+189
  65. //================================
  66. // Consonants
  67. //================================
  68. .L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge r
  69. .L02 n a
  70. .L03 t ch nh
  71. .L04 a u ă â o ô á à ả ã ạ ù ú ủ ũ ụ ắ ằ ẳ ẵ ặ ấ ầ ẩ ẫ ậ ó ò ỏ õ ọ ố ồ ổ ỗ ộ ư ứ ừ ử ữ ự ơ ớ ờ ở ỡ ợ
  72. .group b
  73. b b
  74. _) b _b
  75. //b($w_alt2 _^_EN
  76. .group c
  77. c g //k
  78. c (C _^_EN
  79. c (_ kh
  80. _) ch tS; // try [tS;] [tS] [c] c
  81. ?2 _) ch c
  82. ?1 _) ch c
  83. ch (_ c
  84. ce (_ _^_EN
  85. _) cl _^_EN
  86. .group d
  87. d z // try [z] [J] [dZ] [dZ;] [J^]
  88. ?2 d J^
  89. ?1 d J^
  90. d (_ _^_EN
  91. .group đ
  92. // đ d
  93. _) đ d_
  94. .group f
  95. //f f
  96. _) f _^_EN
  97. f (_ _^_EN
  98. .group g
  99. g (L04 Q // try [g] [Q]
  100. gh Q // or [g] [Q]
  101. gi z // try [D] [z] [j] [J^] [z;] [J] [dZ]
  102. g (ì z
  103. g (í z
  104. g (ỉ z
  105. g (ĩ z
  106. g (ị z
  107. _) g _^_EN
  108. ?1 g (ì J^
  109. ?1 g (í J^
  110. ?1 g (ỉ J^
  111. ?1 g (ĩ J^
  112. ?1 g (ị J^
  113. ?2 g (ì J^
  114. ?2 g (í J^
  115. ?2 g (ỉ J^
  116. ?2 g (ĩ J^
  117. ?2 g (ị J^
  118. ?1 gi J^
  119. ?2 gi J^
  120. ?1 giết J^'iE3g
  121. ?2 giết J^'iE3g
  122. ?1 giếng J^'iE3N
  123. ?1 giềng J^'iE2N
  124. ?2 giếng J^'iE3N
  125. ?1 giêng J^'iE1N
  126. ?2 giêng J^'iE1N
  127. ?2 giềng J^'iE2N
  128. giết z'iE3t[
  129. giếc z'iE3kh
  130. giêng z'iE1N
  131. giềng z'iE2N
  132. giếng z'iE3N
  133. giểng z'iE4N
  134. giễng z'iE5N
  135. giệng z'iE6N
  136. ?1 giệt J^'iE6g
  137. giệt z'iE6t[
  138. giệc z'iE6kh
  139. _) gol _^_EN
  140. _) gat _^_EN
  141. ght (_ _^_EN
  142. .group h
  143. h h
  144. ?2 hu w
  145. .group j
  146. j Z
  147. .group k
  148. _) k k
  149. _) kh x
  150. //kh x
  151. k (_ _^_EN
  152. .group l
  153. l l
  154. l (_ _^_EN
  155. C) le _^_EN
  156. //le (A _^_EN
  157. .group m
  158. m m
  159. .group n
  160. n n
  161. ?1 n (_ N //n
  162. ?2 n (_ N
  163. ng N
  164. ngh N
  165. nh n^
  166. ?2 L02) nh n
  167. nd (_ _^_EN
  168. .group ñ
  169. ñ n^
  170. .group p
  171. p (C _^_EN
  172. p p
  173. ph f
  174. .group q
  175. q k
  176. q (_ kh
  177. qu w //kw
  178. .group r
  179. r z // try [z] [z.] [r] [z;]
  180. ?2 r Q
  181. ?1 r z.
  182. r (_ _^_EN
  183. rm (_ _^_EN
  184. .group s
  185. s s. // try [s.] [s] [S]
  186. _) sh _^_EN
  187. s (_ _^_EN
  188. st (_ _^_EN
  189. .group t
  190. t t[
  191. ?1 t (_ kh
  192. ?2 t (_ kh
  193. th t
  194. tr tS //cr // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;]
  195. ?1 tr cr
  196. ?2 tr c
  197. ts (_ _^_EN
  198. th (_ _^_EN
  199. tt (_ _^_EN
  200. .group v
  201. v v
  202. ?2 v J^
  203. ve (A _^_EN
  204. .group w
  205. w w
  206. _) w _^_EN
  207. w (_ _^_EN
  208. .group x
  209. x s
  210. x (_ _^_EN
  211. .group z
  212. z z
  213. z (_ _^_EN
  214. //================================
  215. // Vowels
  216. //================================
  217. .group a
  218. a a:
  219. ai a:I
  220. aì a:I2
  221. aí a:I3
  222. aỉ a:I4
  223. aĩ a:I5
  224. aị a:I6
  225. ay aI
  226. ?2 ay a:I
  227. aý aI3
  228. aỷ aI4
  229. aỹ aI5
  230. aỵ aI6
  231. ao a:U
  232. aò a:U2
  233. aó a:U3
  234. aỏ a:U4
  235. aõ a:U5
  236. aọ a:U6
  237. au aU
  238. ?2 au a:U
  239. aù aU2
  240. aú aU3
  241. aủ aU4
  242. aũ aU5
  243. aụ aU6
  244. a (L01 _^_EN
  245. ai (L02 _^_EN
  246. a (@ _^_EN
  247. .group à
  248. à a:2
  249. ài a:I2
  250. ày aI2
  251. ?2 ày a:I2
  252. ào a:U2
  253. àu aU2
  254. ?2 àu a:U2
  255. .group á
  256. á a:3
  257. ái a:I3
  258. áy aI3
  259. áo a:U3
  260. áu aU3
  261. ?2 áu a:U3
  262. ?2 áy a:I3
  263. .group ả
  264. ả a:4
  265. ải a:I4
  266. ảy aI4
  267. ảo a:U4
  268. ảu aU4
  269. ?2 ảu a:U4
  270. ?2 ảy a:I4
  271. .group ã
  272. ã a:5
  273. ãi a:I5
  274. ãy aI5
  275. ão a:U5
  276. ãu aU5
  277. ?2 ãu a:U5
  278. ?2 ãy a:I5
  279. .group ạ
  280. ạ a:6
  281. ại a:I6
  282. ạy aI6
  283. ạo a:U6
  284. ạu aU6
  285. ?2 ạu a:U6
  286. ?2 ạy a:I6
  287. //================================
  288. .group ă
  289. ă a
  290. .group ằ
  291. ằ a2
  292. .group ắ
  293. ắ a3
  294. .group ẳ
  295. ẳ a4
  296. .group ẵ
  297. ẵ a5
  298. .group ặ
  299. ặ a6
  300. //=================================
  301. .group â
  302. â @
  303. ây @I
  304. âu @U1
  305. ?2 â (L03 a
  306. ?1 â (L03 a
  307. .group ầ
  308. ầ @2
  309. ầy @I2
  310. ầu @U2
  311. ?2 ầ (L03 a2
  312. ?1 ầ (L03 a2
  313. .group ấ
  314. ấ @3
  315. ấy @I3
  316. ấu @U3
  317. ?2 ấ (L03 a3
  318. ?1 ấ (L03 a3
  319. .group ẩ
  320. ẩ @4
  321. ẩy @I4
  322. ẩu @U4
  323. .group ẫ
  324. ẫ @5
  325. ẫy @I5
  326. ẫu @U5
  327. .group ậ
  328. ậ @6
  329. ậy @I6
  330. ậu @U6
  331. ?2 ậ (L03 a6
  332. ?1 ậ (L03 a6
  333. //===========================
  334. .group e
  335. e E
  336. eo EU
  337. eò EU2
  338. eó EU3
  339. eỏ EU4
  340. eỗ EU5
  341. eọ EU6
  342. e (L01 _^_EN
  343. ey (_ _^_EN
  344. e (@ _^_EN
  345. .group è
  346. è E2
  347. èo EU2
  348. .group é
  349. é E3
  350. éo EU3
  351. .group ẻ
  352. ẻ E4
  353. ẻo EU4
  354. .group ẽ
  355. ẽ E5
  356. ẽo EU5
  357. .group ẹ
  358. ẹ E6
  359. ẹo EU6
  360. //============================
  361. .group ê
  362. ê e
  363. êu eU1
  364. ?2 ê (L03 @:
  365. ?2 ê (L02 @:
  366. .group ề
  367. ề e2
  368. ều eU2
  369. ?2 ề (L03 @:2
  370. ?2 ề (L02 @:2
  371. .group ế
  372. ế e3
  373. ếu eU3
  374. ?2 ế (L03 @:3
  375. ?2 ế (L02 @:3
  376. .group ể
  377. ể e4
  378. ểu eU4
  379. ?2 ể (L03 @:4
  380. ?2 ể (L02 @:4
  381. .group ễ
  382. ễ e5
  383. ễu eU5
  384. ?2 ễ (L03 @:5
  385. ?2 ễ (L02 @:5
  386. .group ệ
  387. ệ e6
  388. ệu eU6
  389. ?2 ệ (L03 @:6
  390. ?2 ệ (L02 @:6
  391. //============================
  392. .group i
  393. i i
  394. //i (A j
  395. ia i@
  396. ià i@2
  397. iá i@3
  398. iả i@4
  399. iã i@5
  400. iạ i@6
  401. iê iE
  402. iề iE2
  403. iế iE3
  404. iể iE4
  405. iễ iE5
  406. iệ iE6
  407. iu iU
  408. iù iU2
  409. iú iU3
  410. iủ iU4
  411. iũ iU5
  412. iụ iU6
  413. iêu iU
  414. iều iU2
  415. iếu iU3
  416. iểu iU4
  417. iễu iU5
  418. iệu iU6
  419. i (L01 _^_EN
  420. i (@ _^_EN
  421. ?2 i (L03 @
  422. ?1 i (L03 @
  423. ?2 i (L02 @
  424. .group ì
  425. ì i2
  426. ì (A j2
  427. ìa i@2
  428. ìu iU2
  429. ?2 ì (L03 @2
  430. ?1 ì (L03 @2
  431. ?2 ì (L02 @2
  432. .group í
  433. í i3
  434. í (A j3
  435. ía i@3
  436. íu iU3
  437. ?2 í (L03 @3
  438. ?1 í (L03 @3
  439. ?2 í (L02 @3
  440. .group ỉ
  441. ỉ i4
  442. ỉ (A j4
  443. ỉa i@4
  444. ỉu iU4
  445. ?2 ỉ (L03 @4
  446. ?1 ỉ (L03 @4
  447. ?2 ỉ (L02 @4
  448. .group ĩ
  449. ĩ i5
  450. ĩ (A j5
  451. ĩa i@5
  452. ĩu iU5
  453. ?2 ĩ (L03 @5
  454. ?1 ĩ (L03 @5
  455. ?2 ĩ (L02 @5
  456. .group ị
  457. ị i6
  458. ị (A j6
  459. ịa i@6
  460. ịu iU6
  461. ?2 ị (L03 @6
  462. ?1 ị (L03 @6
  463. ?2 ị (L02 @6
  464. //=========================
  465. .group o
  466. o O
  467. oa o@ // modify oa sound example: hoa,khoa // o (A w
  468. oà o@2
  469. oá o@3
  470. oả o@4
  471. oã o@5
  472. oạ o@6
  473. oo o@
  474. oi OI
  475. oì OI2
  476. oí OI3
  477. oỉ OI4
  478. oĩ OI5
  479. oị OI6
  480. ong O#
  481. oe o& // Adding oe sound example: lóe sáng,toét mắt
  482. oai Oi // oai sound
  483. o (@ _^_EN
  484. oại Oi6
  485. oài Oi2
  486. oái Oi3
  487. oải Oi4
  488. oãi Oi5
  489. oă o@1
  490. oằ o@2
  491. oắ o@3
  492. oẳ o@4
  493. oẵ o@5
  494. oặ o@6
  495. .group ò
  496. ò O2
  497. òi OI2
  498. òa o@2 //ò (A w2
  499. òng O#2
  500. òe o&2
  501. .group ó
  502. ó O3
  503. ói OI3
  504. óa o@3 //ó (A w3
  505. óng O#3
  506. óe o&3
  507. .group ỏ
  508. ỏ O4
  509. ỏi OI4
  510. ỏa o@4 //ỏ (A w4
  511. ỏng O#4
  512. ỏe o&4
  513. .group õ
  514. õ O5
  515. õi OI5
  516. õa o@5 //õ (A w5
  517. õng O#5
  518. õe o&5
  519. .group ọ
  520. ọ O6
  521. ọi OI6
  522. ọa o@6 //ọ (A w6
  523. ọng O#6
  524. ọe o&6
  525. //=============================
  526. .group ô
  527. ô o
  528. ôi oI
  529. ông o# // ông sound
  530. ?2 ôi O- //south dialect
  531. .group ồ
  532. ồ o2
  533. ồi oI2
  534. ồng o#2
  535. ?2 ồi O-2
  536. .group ố
  537. ố o3
  538. ối oI3
  539. ống o#3
  540. ?2 ối O-3
  541. .group ổ
  542. ổ o4
  543. ổi oI4
  544. ổng o#4
  545. ?2 ổi O-4
  546. .group ỗ
  547. ỗ o5
  548. ỗi oI5
  549. ỗng o#5
  550. ?2 ỗi O-5
  551. .group ộ
  552. ộ o6
  553. ội oI6
  554. // ộng o#6
  555. ?2 ội O-6
  556. //=============================
  557. .group ơ
  558. ơ @:
  559. ơi @:I
  560. ơu @:U
  561. ?2 ơi @- //south dialect
  562. .group ờ
  563. ờ @:2
  564. ời @:I2
  565. ờu @:U2
  566. ?2 ời @-2
  567. .group ớ
  568. ớ @:3
  569. ới @:I3
  570. ớu @:U3
  571. ?2 ới @-3
  572. .group ở
  573. ở @:4
  574. ởi @:I4
  575. ởu @:U4
  576. ?2 ởi @-4
  577. .group ỡ
  578. ỡ @:5
  579. ỡi @:I5
  580. ỡu @:U5
  581. ?2 ỡi @-5
  582. .group ợ
  583. ợ @:6
  584. ợi @:I6
  585. ợu @:U6
  586. ?2 ợi @-6
  587. //=============================
  588. .group u
  589. u u
  590. u (A w
  591. A) u w
  592. ui uI
  593. uì uI2
  594. uí uI3
  595. uỉ uI4
  596. uĩ uI5
  597. uị uI6
  598. ua u@
  599. uà u@2
  600. uá u@3
  601. uả u@4
  602. uã u@5
  603. uạ u@6
  604. uô u@
  605. uồ u@2
  606. uố u@3
  607. uổ u@4
  608. uỗ u@5
  609. uộ u@6
  610. uôi u@j
  611. uồi u@j2
  612. uối u@j3
  613. uổi u@j4
  614. uỗi u@j5
  615. uội u@j6
  616. //ung u#
  617. u (L01 _^_EN
  618. u (@ _^_EN
  619. // ua (L01 _^_EN
  620. ?2 u u-
  621. .group ù
  622. ù u2
  623. ù (A w2
  624. ùi uI2
  625. ùa u@2
  626. //ùng u#2
  627. ?2 ù u-2
  628. .group ú
  629. ú u3
  630. ú (A w3
  631. úi uI3
  632. úa u@3
  633. //úng u#3
  634. ?2 ú u-3
  635. .group ủ
  636. ủ u4
  637. ủ (A w4
  638. ủi uI4
  639. ủa u@4
  640. //ủng u#4
  641. ?2 ủ u-4
  642. .group ũ
  643. ũ u5
  644. ũ (A w5
  645. ũi uI5
  646. ũa u@5
  647. //ũng u#5
  648. ?2 ũ u-5
  649. .group ụ
  650. ụ u6
  651. ụ (A w6
  652. ụi uI6
  653. ụa u@6
  654. //ụng u#6
  655. ?2 ụ u-6
  656. //=============================
  657. .group ư
  658. ư y
  659. ưi yI
  660. ưa y@
  661. ươ y@
  662. ườ y@2
  663. ướ y@3
  664. ưở y@4
  665. ưỡ y@5
  666. ượ y@6
  667. ưu yw
  668. ươi y@j
  669. ười y@j2
  670. ưới y@j3
  671. ưởi y@j4
  672. ưỡi y@j5
  673. ượi y@j6
  674. ươu y@w
  675. ườu y@w2
  676. ướu y@w3
  677. ưởu y@w4
  678. ưỡu y@w5
  679. ượu y@w6
  680. .group ừ
  681. ừ y2
  682. ừi yI2
  683. ừa y@2
  684. ừu y2w2
  685. .group ứ
  686. ứ y3
  687. ứi yI3
  688. ứa y@3
  689. ứu y3w3
  690. .group ử
  691. ử y4
  692. ửi yI4
  693. ửa y@4
  694. ửu y4w4
  695. .group ữ
  696. ữ y5
  697. ữi yI5
  698. ữa y@5
  699. ữu y5w5
  700. .group ự
  701. ự y6
  702. ựi yI6
  703. ựa y@6
  704. ựu y6w6
  705. //=============================
  706. .group y
  707. y i
  708. // y (A j
  709. ya i@
  710. yà i@2
  711. yá i@3
  712. yả i@4
  713. yã i@5
  714. yạ i@6
  715. yê i@
  716. yề i@2
  717. yế i@3
  718. yể i@4
  719. yễ i@5
  720. yệ i@6
  721. // yêu i@U
  722. y (L01 _^_EN
  723. bu) y _^_EN
  724. .group ỳ
  725. ỳ i2
  726. ỳ (A j2
  727. ỳa i@2
  728. .group ý
  729. ý i3
  730. ý (A j3
  731. ýa i@3
  732. .group ỷ
  733. ỷ i4
  734. ỷ (A j4
  735. ỷa i@4
  736. .group ỹ
  737. ỹ i5
  738. ỹ (A j5
  739. ỹa i@5
  740. .group ỵ
  741. ỵ i6
  742. ỵ (A j6
  743. ỵa i@6
  744. //=============================
  745. .group 0xce // Greek letters
  746. // 0xce is the first byte of the utf-8 code for these characters
  747. α a:1n_|f'a:1
  748. ά a:1n_|f'a:1
  749. β b'e1_|t['a:1
  750. γ Q'a:1_|m'a:1
  751. δ J'E1n_|t['a:1
  752. ε E1p_|s'i1_|l'O1n
  753. έ E1p_|s'i1_|l'O1n
  754. ζ D'e1_|t['a:1
  755. η e1_|t['a:1
  756. ή e1_|t['a:1
  757. θ t'e1_|t['a:1
  758. ι i1_|'o1_|t['a:1
  759. ί i1_|'o1_|t['a:1
  760. κ k'a:1p_|p'a:1
  761. λ l'a1m_|_d'a:1
  762. μ mw'i1
  763. ν nw'i1
  764. ξ s'i7
  765. ο o1_|m'i1_|kz.'O7n
  766. .group 0xcf // Greek letters
  767. π p'i1
  768. ρ z.'o1
  769. σ s'i3c_|m'a:1
  770. ς s'i3c_|m'a:1
  771. τ t['o1
  772. υ u1p_|s'i1_|l'O1n
  773. ύ u1p_|s'i1_|l'O1n
  774. φ f'i1
  775. χ c'i1
  776. ψ ps'i1
  777. ω o1_|m'e1_|Q'a:7
  778. ώ o1_|m'e1_|Q'a:7
  779. ό o1_|m'i1_|kz.'O7n
  780. .group
  781. % f'@2n||cr'am
  782. ! _:c'@3m_|t'a:7n_:
  783. ! (\!
  784. // : koUl@n
  785. D_) h (_DD_ D'@:2 // omit colon in time, eg: 2:30
  786. $ d'o||l'a
  787. != x'o#_|_b'a2N_
  788. >= l'@:3n_|h'@:1n_|hw,a6kh_b'a2N
  789. <= n^'O4_|h'@:1n_|hw,a6kh_b'a2N
  790. __) - (_D cr'y2
  791. A_) - (_D _
  792. C_) - (_D _
  793. . c'@3m_
  794. . (. _:
  795. \.) .