eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

vi_rules 22KB

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