@@ -167,7 +167,28 @@ export function* graphemeSegments(input) {
167167 consonant = isIndicConjunctConsonant ( _hd ) ;
168168 }
169169 if ( consonant && catAfter === 3 ) {
170- linker = linker || isIndicConjunctLinker ( cp ) ;
170+ linker = linker
171+ || cp === 0x094D // Devanagari Sign Virama
172+ || cp === 0x09CD // Bengali Sign Virama
173+ || cp === 0x0A4D // Gurmukhi Sign Virama
174+ || cp === 0x0ACD // Gujarati Sign Virama
175+ || cp === 0x0B4D // Oriya Sign Virama
176+ || cp === 0x0C4D // Telugu Sign Virama
177+ || cp === 0x0D4D // Malayalam Sign Virama
178+ || cp === 0x1039 // Myanmar Sign Virama
179+ || cp === 0x17D2 // Khmer Sign Coeng
180+ || cp === 0x1A60 // Tai Tham Sign Sakot
181+ || cp === 0x1B44 // Balinese Adeg Adeg
182+ || cp === 0x1BAB // Sundanese Sign Virama
183+ || cp === 0xA9C0 // Javanese Pangkon
184+ || cp === 0xAAF6 // Meetei Mayek Virama
185+ || cp === 0x10A3F // Kharoshthi Virama
186+ || cp === 0x11133 // Chakma Virama
187+ || cp === 0x113D0 // Tulu-Tigalari Conjoiner
188+ || cp === 0x1193E // Dives Akuru Virama
189+ || cp === 0x11A47 // Zanabazar Square Subjoiner
190+ || cp === 0x11A99 // Soyombo Subjoiner
191+ || cp === 0x11F42 ; // Kawi Conjoiner
171192 } else {
172193 linker = false ;
173194 }
@@ -339,38 +360,3 @@ function cat(cp) {
339360function isIndicConjunctConsonant ( cp ) {
340361 return findUnicodeRangeIndex ( cp , consonant_ranges ) >= 0 ;
341362}
342-
343- /**
344- * @param {number } cp
345- * @return {boolean }
346- */
347- function isIndicConjunctLinker ( cp ) {
348- // code points from Unicode 16.0.0
349- if ( cp <= 0x0D4D ) {
350- return cp === 0x094D // Devanagari Sign Virama
351- || cp === 0x09CD // Bengali Sign Virama
352- || cp === 0x0A4D // Gurmukhi Sign Virama
353- || cp === 0x0ACD // Gujarati Sign Virama
354- || cp === 0x0B4D // Oriya Sign Virama
355- || cp === 0x0C4D // Telugu Sign Virama
356- || cp === 0x0D4D ; // Malayalam Sign Virama
357- }
358- // code points from Unicode 17.0.0
359- else if ( cp <= 0x11F42 ) {
360- return cp === 0x1039 // Myanmar Sign Virama
361- || cp === 0x17D2 // Khmer Sign Coeng
362- || cp === 0x1A60 // Tai Tham Sign Sakot
363- || cp === 0x1B44 // Balinese Adeg Adeg
364- || cp === 0x1BAB // Sundanese Sign Virama
365- || cp === 0xA9C0 // Javanese Pangkon
366- || cp === 0xAAF6 // Meetei Mayek Virama
367- || cp === 0x10A3F // Kharoshthi Virama
368- || cp === 0x11133 // Chakma Virama
369- || cp === 0x113D0 // Tulu-Tigalari Conjoiner
370- || cp === 0x1193E // Dives Akuru Virama
371- || cp === 0x11A47 // Zanabazar Square Subjoiner
372- || cp === 0x11A99 // Soyombo Subjoiner
373- || cp === 0x11F42 ; // Kawi Conjoiner
374- }
375- return false ;
376- }
0 commit comments