(cond
;; Syllables with an independent vowel
("(RH)?Vn?(J?H[CR])?m?u?b?p?n?a?A?"
- < | (0 = *) | >)
+ < | = * | >)
;; Consonant-based syllables
("([CR]n?J?HJ?)*[CR]n?(H[NJ]?|m?u?b?p?n?)a?A?"
- < | (0 = *) | >)
+ < | = * | >)
+
+ ;; Two-part vowel signs
+ ((0x0B47 0x0B56)
+ (cond
+ ((font-facility 0x25CC) < 0x0B47 0x25CC 0x0B56 >)
+ (".+" < 0x0B48 >)))
+ ((0x0B47 0x0B3E)
+ (cond
+ ((font-facility 0x25CC) < 0x0B47 0x25CC 0x0B3E >)
+ (".+" < 0x0B4B >)))
+ ((0x0B47 0x0B57)
+ (cond
+ ((font-facility 0x25CC) < 0x0B47 0x25CC 0x0B57 >)
+ (".+" < 0x0B4C >)))
;; Combining marks are displayed with a DOTTED CIRCLE.
- ("n|H|u|b|p|a|A|JH[CR]"
- < 0x25CC (0 :otf=bng2=blwf,pstf+) >)
-
- ;; Pre-base matra
- ("(m)([up])?"
- < (1 =) 0x25CC (2 =) >)
+ ("m"
+ (cond
+ ((font-facility 0x25CC) < = 0x25CC >)
+ ("." [ = ])))
+ ("[nHubpaA]"
+ (cond
+ ((font-facility 0x25CC) < 0x25CC = >)
+ ("." [ = ])))
+ ("JH[CR]"
+ (cond
+ ((font-facility 0x25CC) < 0x25CC :otf=ory2=blwf,pstf+ >)
+ (".+" [ :otf=ory2=blwf,pstf+ ])))
("." =))
*))