Generator (cont. 2nd stage: glyph substitution) The input sequence: It matches with the third rule below. ;; no consonant shift sign ;; 1 2 3 45 6 7 11 (" (m)?(HR)?([CR]r?)((HCr?)*)([NJ]?[ba]?)(A)? ... (H[CR])? " | (1 =) (2 otf:khmr=pref+) (3 = *) (4 otf:khmr=blwf,pstf+) (6 = *) (7 otf:khmr=abvf+) (8 = *) (9 otf:khmr=pstf+) (10 =) (11 otf:khmr=blwf,pstf+) | ) The output sequence: