UNPKG

unicode-shaper

Version:

Shape unicode text so that renderers like WebGL and WebGPU can properly display the glyphs.

34 lines 2.21 kB
/** * Check if a character is a "Myanmar" unicode character * @param c - input unicode character * @returns - True if Myanmar */ export declare function isMyanmar(c: number): boolean; /** * Shape/Reordering characters * Once the Myanmar shaping engine has analyzed the run as described above, * it creates a buffer of appropriately reordered elements (glyphs) representing the * cluster according to the rules given: * * 1) Kinzi sequences (K) are reordered directly after the cluster base * 2) The medial ra (MR) is reordered before the base consonant * 3) Pre-base vowels (VPre) are reordered to the start of the syllable cluster. * A sequence of multiple prebase vowels is permitted. Such sequences are moved * as a block to the beginning of the cluster. * 4) Anusvara (A) coming immediately after one or more below-base vowels (VBlw) * will reorder immediately before them. * * Cases: * 1) Simple non-compounding cluster: <P | S | R | WJ| WS | O | D0 > * 2) MType terminating in Halant: [K] <C | IV | D | GB>[VS] (H <C | IV> [VS])* H * 3) Complex cluster: [K] <C | IV | D | GB>[VS] (H <C | IV> [VS]) (As) [MY [As]] [MR] [<MW [As] | [MW] MH [As]>] (VPre) (VAbv)* (VBlw) (A) [DB [As]] (VPst [MH] (As)* (VAbv)* (A)* [DB [As]]) (PT < [A] [DB] [As] | [As] [A] > ) (V)* [J] * * Ex. င်္က္ကျြွှေို့်ာှီ့ၤဲံ့းႍ * INPUT - 1004 103A 1039 1000 1039 1000 103B 103C 103D 1031 1031 102D 102F 1036 102C 1036 * I-EXPLAINED - ([K] 1004 103A 1039) - ([C] 1000) - ([H] 1039) - ([C] 1000) - ([MY] 103B) - ([MR] 103C) - ([MW] 103D) - ([VPre] 1031) - ([VPre] 1031) - ([VAbv] 102D) - ([VBlw] 102F) - ([A] 1036) - ([VPst] 102C) - ([A] 1036) * REORDERED - 1031 1031 103C 1000 1004 103A 1039 1039 1000 103B 103D 102D 1036 102F 102C 1036 * R-EXPLAINED - ([VPre] 1031) - ([VPre] 1031) - ([MR] 103C) - ([C] 1000) - ([K] 1004 103A 1039) - ([H] 1039) - ([C] 1000) - ([MY] 103B) - ([MW] 103D) - ([VAbv] 102D) - ([A] 1036) - ([VPst] 102F) - ([VPst] 102C) - ([A] 1036) * @param input - input unicode buffer to be modified/shaped */ export declare function shapeMyanmar(input: number[]): void; //# sourceMappingURL=myanmar.d.ts.map