@stdlib/string
Version:
String manipulation functions.
628 lines (621 loc) • 112 kB
JavaScript
/**
* @license Apache-2.0
*
* Copyright (c) 2020 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable max-lines-per-function, max-lines */
'use strict';
// MODULES //
var constants = require( './constants.js' );
// MAIN //
/**
* Returns the grapheme break property from the [Unicode Standard][1].
*
* [1]: https://www.unicode.org/Public/13.0.0/ucd/auxiliary/GraphemeBreakProperty.txt
*
* @private
* @param {NonNegativeInteger} code - Unicode code point
* @returns {NonNegativeInteger} grapheme break property
*
* @example
* var out = graphemeBreakProperty( 0x008f );
* // returns 2
*
* @example
* var out = graphemeBreakProperty( 0x111C2 );
* // returns 12
*
* @example
* var out = graphemeBreakProperty( 0x1F3FC );
* // returns 3
*/
function graphemeBreakProperty( code ) {
if (
( 0x0600 <= code && code <= 0x0605 ) || // Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
code === 0x06DD || // Cf ARABIC END OF AYAH
code === 0x070F || // Cf SYRIAC ABBREVIATION MARK
code === 0x08E2 || // Cf ARABIC DISPUTED END OF AYAH
code === 0x0D4E || // Lo MALAYALAM LETTER DOT REPH
code === 0x110BD || // Cf KAITHI NUMBER SIGN
code === 0x110CD || // Cf KAITHI NUMBER SIGN ABOVE
( 0x111C2 <= code && code <= 0x111C3 ) || // Lo [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
code === 0x1193F || // Lo DIVES AKURU PREFIXED NASAL SIGN
code === 0x11941 || // Lo DIVES AKURU INITIAL RA
code === 0x11A3A || // Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
( 0x11A84 <= code && code <= 0x11A89 ) || // Lo [6] SOYOMBO SIGN JIHVAMULIYA..SOYOMBO CLUSTER-INITIAL LETTER SA
code === 0x11D46 // Lo MASARAM GONDI REPHA
) {
return constants.Prepend;
}
if (
code === 0x000D // Cc <control-000D>
) {
return constants.CR;
}
if (
code === 0x000A // Cc <control-000A>
) {
return constants.LF;
}
if (
( 0x0000 <= code && code <= 0x0009 ) || // Cc [10] <control-0000>..<control-0009>
( 0x000B <= code && code <= 0x000C ) || // Cc [2] <control-000B>..<control-000C>
( 0x000E <= code && code <= 0x001F ) || // Cc [18] <control-000E>..<control-001F>
( 0x007F <= code && code <= 0x009F ) || // Cc [33] <control-007F>..<control-009F>
code === 0x00AD || // Cf SOFT HYPHEN
code === 0x061C || // Cf ARABIC LETTER MARK
code === 0x180E || // Cf MONGOLIAN VOWEL SEPARATOR
code === 0x200B || // Cf ZERO WIDTH SPACE
( 0x200E <= code && code <= 0x200F ) || // Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
code === 0x2028 || // Zl LINE SEPARATOR
code === 0x2029 || // Zp PARAGRAPH SEPARATOR
( 0x202A <= code && code <= 0x202E ) || // Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
( 0x2060 <= code && code <= 0x2064 ) || // Cf [5] WORD JOINER..INVISIBLE PLUS
code === 0x2065 || // Cn <reserved-2065>
( 0x2066 <= code && code <= 0x206F ) || // Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES
code === 0xFEFF || // Cf ZERO WIDTH NO-BREAK SPACE
( 0xFFF0 <= code && code <= 0xFFF8 ) || // Cn [9] <reserved-FFF0>..<reserved-FFF8>
( 0xFFF9 <= code && code <= 0xFFFB ) || // Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
( 0x13430 <= code && code <= 0x13438 ) || // Cf [9] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END SEGMENT
( 0x1BCA0 <= code && code <= 0x1BCA3 ) || // Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
( 0x1D173 <= code && code <= 0x1D17A ) || // Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
code === 0xE0000 || // Cn <reserved-E0000>
code === 0xE0001 || // Cf LANGUAGE TAG
( 0xE0002 <= code && code <= 0xE001F ) || // Cn [30] <reserved-E0002>..<reserved-E001F>
( 0xE0080 <= code && code <= 0xE00FF ) || // Cn [128] <reserved-E0080>..<reserved-E00FF>
( 0xE01F0 <= code && code <= 0xE0FFF ) // Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
) {
return constants.Control;
}
if (
( 0x0300 <= code && code <= 0x036F ) || // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
( 0x0483 <= code && code <= 0x0487 ) || // Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
( 0x0488 <= code && code <= 0x0489 ) || // Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
( 0x0591 <= code && code <= 0x05BD ) || // Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
code === 0x05BF || // Mn HEBREW POINT RAFE
( 0x05C1 <= code && code <= 0x05C2 ) || // Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
( 0x05C4 <= code && code <= 0x05C5 ) || // Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
code === 0x05C7 || // Mn HEBREW POINT QAMATS QATAN
( 0x0610 <= code && code <= 0x061A ) || // Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
( 0x064B <= code && code <= 0x065F ) || // Mn [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
code === 0x0670 || // Mn ARABIC LETTER SUPERSCRIPT ALEF
( 0x06D6 <= code && code <= 0x06DC ) || // Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
( 0x06DF <= code && code <= 0x06E4 ) || // Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
( 0x06E7 <= code && code <= 0x06E8 ) || // Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
( 0x06EA <= code && code <= 0x06ED ) || // Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
code === 0x0711 || // Mn SYRIAC LETTER SUPERSCRIPT ALAPH
( 0x0730 <= code && code <= 0x074A ) || // Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
( 0x07A6 <= code && code <= 0x07B0 ) || // Mn [11] THAANA ABAFILI..THAANA SUKUN
( 0x07EB <= code && code <= 0x07F3 ) || // Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
code === 0x07FD || // Mn NKO DANTAYALAN
( 0x0816 <= code && code <= 0x0819 ) || // Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
( 0x081B <= code && code <= 0x0823 ) || // Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
( 0x0825 <= code && code <= 0x0827 ) || // Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
( 0x0829 <= code && code <= 0x082D ) || // Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
( 0x0859 <= code && code <= 0x085B ) || // Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
( 0x08D3 <= code && code <= 0x08E1 ) || // Mn [15] ARABIC SMALL LOW WAW..ARABIC SMALL HIGH SIGN SAFHA
( 0x08E3 <= code && code <= 0x0902 ) || // Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
code === 0x093A || // Mn DEVANAGARI VOWEL SIGN OE
code === 0x093C || // Mn DEVANAGARI SIGN NUKTA
( 0x0941 <= code && code <= 0x0948 ) || // Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
code === 0x094D || // Mn DEVANAGARI SIGN VIRAMA
( 0x0951 <= code && code <= 0x0957 ) || // Mn [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
( 0x0962 <= code && code <= 0x0963 ) || // Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
code === 0x0981 || // Mn BENGALI SIGN CANDRABINDU
code === 0x09BC || // Mn BENGALI SIGN NUKTA
code === 0x09BE || // Mc BENGALI VOWEL SIGN AA
( 0x09C1 <= code && code <= 0x09C4 ) || // Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
code === 0x09CD || // Mn BENGALI SIGN VIRAMA
code === 0x09D7 || // Mc BENGALI AU LENGTH MARK
( 0x09E2 <= code && code <= 0x09E3 ) || // Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
code === 0x09FE || // Mn BENGALI SANDHI MARK
( 0x0A01 <= code && code <= 0x0A02 ) || // Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
code === 0x0A3C || // Mn GURMUKHI SIGN NUKTA
( 0x0A41 <= code && code <= 0x0A42 ) || // Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
( 0x0A47 <= code && code <= 0x0A48 ) || // Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
( 0x0A4B <= code && code <= 0x0A4D ) || // Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
code === 0x0A51 || // Mn GURMUKHI SIGN UDAAT
( 0x0A70 <= code && code <= 0x0A71 ) || // Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK
code === 0x0A75 || // Mn GURMUKHI SIGN YAKASH
( 0x0A81 <= code && code <= 0x0A82 ) || // Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
code === 0x0ABC || // Mn GUJARATI SIGN NUKTA
( 0x0AC1 <= code && code <= 0x0AC5 ) || // Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
( 0x0AC7 <= code && code <= 0x0AC8 ) || // Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
code === 0x0ACD || // Mn GUJARATI SIGN VIRAMA
( 0x0AE2 <= code && code <= 0x0AE3 ) || // Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
( 0x0AFA <= code && code <= 0x0AFF ) || // Mn [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
code === 0x0B01 || // Mn ORIYA SIGN CANDRABINDU
code === 0x0B3C || // Mn ORIYA SIGN NUKTA
code === 0x0B3E || // Mc ORIYA VOWEL SIGN AA
code === 0x0B3F || // Mn ORIYA VOWEL SIGN I
( 0x0B41 <= code && code <= 0x0B44 ) || // Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
code === 0x0B4D || // Mn ORIYA SIGN VIRAMA
( 0x0B55 <= code && code <= 0x0B56 ) || // Mn [2] ORIYA SIGN OVERLINE..ORIYA AI LENGTH MARK
code === 0x0B57 || // Mc ORIYA AU LENGTH MARK
( 0x0B62 <= code && code <= 0x0B63 ) || // Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
code === 0x0B82 || // Mn TAMIL SIGN ANUSVARA
code === 0x0BBE || // Mc TAMIL VOWEL SIGN AA
code === 0x0BC0 || // Mn TAMIL VOWEL SIGN II
code === 0x0BCD || // Mn TAMIL SIGN VIRAMA
code === 0x0BD7 || // Mc TAMIL AU LENGTH MARK
code === 0x0C00 || // Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE
code === 0x0C04 || // Mn TELUGU SIGN COMBINING ANUSVARA ABOVE
( 0x0C3E <= code && code <= 0x0C40 ) || // Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
( 0x0C46 <= code && code <= 0x0C48 ) || // Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
( 0x0C4A <= code && code <= 0x0C4D ) || // Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
( 0x0C55 <= code && code <= 0x0C56 ) || // Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
( 0x0C62 <= code && code <= 0x0C63 ) || // Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
code === 0x0C81 || // Mn KANNADA SIGN CANDRABINDU
code === 0x0CBC || // Mn KANNADA SIGN NUKTA
code === 0x0CBF || // Mn KANNADA VOWEL SIGN I
code === 0x0CC2 || // Mc KANNADA VOWEL SIGN UU
code === 0x0CC6 || // Mn KANNADA VOWEL SIGN E
( 0x0CCC <= code && code <= 0x0CCD ) || // Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
( 0x0CD5 <= code && code <= 0x0CD6 ) || // Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
( 0x0CE2 <= code && code <= 0x0CE3 ) || // Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
( 0x0D00 <= code && code <= 0x0D01 ) || // Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
( 0x0D3B <= code && code <= 0x0D3C ) || // Mn [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
code === 0x0D3E || // Mc MALAYALAM VOWEL SIGN AA
( 0x0D41 <= code && code <= 0x0D44 ) || // Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
code === 0x0D4D || // Mn MALAYALAM SIGN VIRAMA
code === 0x0D57 || // Mc MALAYALAM AU LENGTH MARK
( 0x0D62 <= code && code <= 0x0D63 ) || // Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
code === 0x0D81 || // Mn SINHALA SIGN CANDRABINDU
code === 0x0DCA || // Mn SINHALA SIGN AL-LAKUNA
code === 0x0DCF || // Mc SINHALA VOWEL SIGN AELA-PILLA
( 0x0DD2 <= code && code <= 0x0DD4 ) || // Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
code === 0x0DD6 || // Mn SINHALA VOWEL SIGN DIGA PAA-PILLA
code === 0x0DDF || // Mc SINHALA VOWEL SIGN GAYANUKITTA
code === 0x0E31 || // Mn THAI CHARACTER MAI HAN-AKAT
( 0x0E34 <= code && code <= 0x0E3A ) || // Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
( 0x0E47 <= code && code <= 0x0E4E ) || // Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
code === 0x0EB1 || // Mn LAO VOWEL SIGN MAI KAN
( 0x0EB4 <= code && code <= 0x0EBC ) || // Mn [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO
( 0x0EC8 <= code && code <= 0x0ECD ) || // Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
( 0x0F18 <= code && code <= 0x0F19 ) || // Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
code === 0x0F35 || // Mn TIBETAN MARK NGAS BZUNG NYI ZLA
code === 0x0F37 || // Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
code === 0x0F39 || // Mn TIBETAN MARK TSA -PHRU
( 0x0F71 <= code && code <= 0x0F7E ) || // Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
( 0x0F80 <= code && code <= 0x0F84 ) || // Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
( 0x0F86 <= code && code <= 0x0F87 ) || // Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
( 0x0F8D <= code && code <= 0x0F97 ) || // Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
( 0x0F99 <= code && code <= 0x0FBC ) || // Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
code === 0x0FC6 || // Mn TIBETAN SYMBOL PADMA GDAN
( 0x102D <= code && code <= 0x1030 ) || // Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
( 0x1032 <= code && code <= 0x1037 ) || // Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
( 0x1039 <= code && code <= 0x103A ) || // Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
( 0x103D <= code && code <= 0x103E ) || // Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
( 0x1058 <= code && code <= 0x1059 ) || // Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
( 0x105E <= code && code <= 0x1060 ) || // Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
( 0x1071 <= code && code <= 0x1074 ) || // Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
code === 0x1082 || // Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA
( 0x1085 <= code && code <= 0x1086 ) || // Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
code === 0x108D || // Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
code === 0x109D || // Mn MYANMAR VOWEL SIGN AITON AI
( 0x135D <= code && code <= 0x135F ) || // Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
( 0x1712 <= code && code <= 0x1714 ) || // Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
( 0x1732 <= code && code <= 0x1734 ) || // Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
( 0x1752 <= code && code <= 0x1753 ) || // Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
( 0x1772 <= code && code <= 0x1773 ) || // Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
( 0x17B4 <= code && code <= 0x17B5 ) || // Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
( 0x17B7 <= code && code <= 0x17BD ) || // Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
code === 0x17C6 || // Mn KHMER SIGN NIKAHIT
( 0x17C9 <= code && code <= 0x17D3 ) || // Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
code === 0x17DD || // Mn KHMER SIGN ATTHACAN
( 0x180B <= code && code <= 0x180D ) || // Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
( 0x1885 <= code && code <= 0x1886 ) || // Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
code === 0x18A9 || // Mn MONGOLIAN LETTER ALI GALI DAGALGA
( 0x1920 <= code && code <= 0x1922 ) || // Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
( 0x1927 <= code && code <= 0x1928 ) || // Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
code === 0x1932 || // Mn LIMBU SMALL LETTER ANUSVARA
( 0x1939 <= code && code <= 0x193B ) || // Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
( 0x1A17 <= code && code <= 0x1A18 ) || // Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
code === 0x1A1B || // Mn BUGINESE VOWEL SIGN AE
code === 0x1A56 || // Mn TAI THAM CONSONANT SIGN MEDIAL LA
( 0x1A58 <= code && code <= 0x1A5E ) || // Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
code === 0x1A60 || // Mn TAI THAM SIGN SAKOT
code === 0x1A62 || // Mn TAI THAM VOWEL SIGN MAI SAT
( 0x1A65 <= code && code <= 0x1A6C ) || // Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
( 0x1A73 <= code && code <= 0x1A7C ) || // Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
code === 0x1A7F || // Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
( 0x1AB0 <= code && code <= 0x1ABD ) || // Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
code === 0x1ABE || // Me COMBINING PARENTHESES OVERLAY
( 0x1ABF <= code && code <= 0x1AC0 ) || // Mn [2] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER TURNED W BELOW
( 0x1B00 <= code && code <= 0x1B03 ) || // Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
code === 0x1B34 || // Mn BALINESE SIGN REREKAN
code === 0x1B35 || // Mc BALINESE VOWEL SIGN TEDUNG
( 0x1B36 <= code && code <= 0x1B3A) || // Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
code === 0x1B3C || // Mn BALINESE VOWEL SIGN LA LENGA
code === 0x1B42 || // Mn BALINESE VOWEL SIGN PEPET
( 0x1B6B <= code && code <= 0x1B73 ) || // Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
( 0x1B80 <= code && code <= 0x1B81 ) || // Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
( 0x1BA2 <= code && code <= 0x1BA5 ) || // Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
( 0x1BA8 <= code && code <= 0x1BA9 ) || // Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
( 0x1BAB <= code && code <= 0x1BAD ) || // Mn [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
code === 0x1BE6 || // Mn BATAK SIGN TOMPI
( 0x1BE8 <= code && code <= 0x1BE9) || // Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
code === 0x1BED || // Mn BATAK VOWEL SIGN KARO O
( 0x1BEF <= code && code <= 0x1BF1 ) || // Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
( 0x1C2C <= code && code <= 0x1C33 ) || // Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
( 0x1C36 <= code && code <= 0x1C37 ) || // Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
( 0x1CD0 <= code && code <= 0x1CD2 ) || // Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
( 0x1CD4 <= code && code <= 0x1CE0 ) || // Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
( 0x1CE2 <= code && code <= 0x1CE8 ) || // Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
code === 0x1CED || // Mn VEDIC SIGN TIRYAK
code === 0x1CF4 || // Mn VEDIC TONE CANDRA ABOVE
( 0x1CF8 <= code && code <= 0x1CF9 ) || // Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
( 0x1DC0 <= code && code <= 0x1DF9 ) || // Mn [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
( 0x1DFB <= code && code <= 0x1DFF ) || // Mn [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
code === 0x200C || // Cf ZERO WIDTH NON-JOINER
( 0x20D0 <= code && code <= 0x20DC ) || // Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
( 0x20DD <= code && code <= 0x20E0 ) || // Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
code === 0x20E1 || // Mn COMBINING LEFT RIGHT ARROW ABOVE
( 0x20E2 <= code && code <= 0x20E4 ) || // Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
( 0x20E5 <= code && code <= 0x20F0 ) || // Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
( 0x2CEF <= code && code <= 0x2CF1 ) || // Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
code === 0x2D7F || // Mn TIFINAGH CONSONANT JOINER
( 0x2DE0 <= code && code <= 0x2DFF ) || // Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
( 0x302A <= code && code <= 0x302D ) || // Mn [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
( 0x302E <= code && code <= 0x302F ) || // Mc [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
( 0x3099 <= code && code <= 0x309A ) || // Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
code === 0xA66F || // Mn COMBINING CYRILLIC VZMET
( 0xA670 <= code && code <= 0xA672 ) || // Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
( 0xA674 <= code && code <= 0xA67D ) || // Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
( 0xA69E <= code && code <= 0xA69F ) || // Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
( 0xA6F0 <= code && code <= 0xA6F1 ) || // Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
code === 0xA802 || // Mn SYLOTI NAGRI SIGN DVISVARA
code === 0xA806 || // Mn SYLOTI NAGRI SIGN HASANTA
code === 0xA80B || // Mn SYLOTI NAGRI SIGN ANUSVARA
( 0xA825 <= code && code <= 0xA826 ) || // Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
code === 0xA82C || // Mn SYLOTI NAGRI SIGN ALTERNATE HASANTA
( 0xA8C4 <= code && code <= 0xA8C5 ) || // Mn [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU
( 0xA8E0 <= code && code <= 0xA8F1 ) || // Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
code === 0xA8FF || // Mn DEVANAGARI VOWEL SIGN AY
( 0xA926 <= code && code <= 0xA92D ) || // Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
( 0xA947 <= code && code <= 0xA951 ) || // Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
( 0xA980 <= code && code <= 0xA982 ) || // Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
code === 0xA9B3 || // Mn JAVANESE SIGN CECAK TELU
( 0xA9B6 <= code && code <= 0xA9B9 ) || // Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
( 0xA9BC <= code && code <= 0xA9BD ) || // Mn [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET
code === 0xA9E5 || // Mn MYANMAR SIGN SHAN SAW
( 0xAA29 <= code && code <= 0xAA2E ) || // Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
( 0xAA31 <= code && code <= 0xAA32 ) || // Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
( 0xAA35 <= code && code <= 0xAA36 ) || // Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
code === 0xAA43 || // Mn CHAM CONSONANT SIGN FINAL NG
code === 0xAA4C || // Mn CHAM CONSONANT SIGN FINAL M
code === 0xAA7C || // Mn MYANMAR SIGN TAI LAING TONE-2
code === 0xAAB0 || // Mn TAI VIET MAI KANG
( 0xAAB2 <= code && code <= 0xAAB4 ) || // Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U
( 0xAAB7 <= code && code <= 0xAAB8 ) || // Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
( 0xAABE <= code && code <= 0xAABF ) || // Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
code === 0xAAC1 || // Mn TAI VIET TONE MAI THO
( 0xAAEC <= code && code <= 0xAAED ) || // Mn [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
code === 0xAAF6 || // Mn MEETEI MAYEK VIRAMA
code === 0xABE5 || // Mn MEETEI MAYEK VOWEL SIGN ANAP
code === 0xABE8 || // Mn MEETEI MAYEK VOWEL SIGN UNAP
code === 0xABED || // Mn MEETEI MAYEK APUN IYEK
code === 0xFB1E || // Mn HEBREW POINT JUDEO-SPANISH VARIKA
( 0xFE00 <= code && code <= 0xFE0F ) || // Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
( 0xFE20 <= code && code <= 0xFE2F ) || // Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
( 0xFF9E <= code && code <= 0xFF9F ) || // Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
code === 0x101FD || // Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
code === 0x102E0 || // Mn COPTIC EPACT THOUSANDS MARK
( 0x10376 <= code && code <= 0x1037A ) || // Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
( 0x10A01 <= code && code <= 0x10A03 ) || // Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
( 0x10A05 <= code && code <= 0x10A06 ) || // Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
( 0x10A0C <= code && code <= 0x10A0F ) || // Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
( 0x10A38 <= code && code <= 0x10A3A ) || // Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
code === 0x10A3F || // Mn KHAROSHTHI VIRAMA
( 0x10AE5 <= code && code <= 0x10AE6 ) || // Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
( 0x10D24 <= code && code <= 0x10D27 ) || // Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
( 0x10EAB <= code && code <= 0x10EAC ) || // Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
( 0x10F46 <= code && code <= 0x10F50 ) || // Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
code === 0x11001 || // Mn BRAHMI SIGN ANUSVARA
( 0x11038 <= code && code <= 0x11046 ) || // Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
( 0x1107F <= code && code <= 0x11081 ) || // Mn [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA
( 0x110B3 <= code && code <= 0x110B6 ) || // Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
( 0x110B9 <= code && code <= 0x110BA ) || // Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
( 0x11100 <= code && code <= 0x11102 ) || // Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
( 0x11127 <= code && code <= 0x1112B ) || // Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
( 0x1112D <= code && code <= 0x11134 ) || // Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
code === 0x11173 || // Mn MAHAJANI SIGN NUKTA
( 0x11180 <= code && code <= 0x11181 ) || // Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
( 0x111B6 <= code && code <= 0x111BE ) || // Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
( 0x111C9 <= code && code <= 0x111CC ) || // Mn [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK
code === 0x111CF || // Mn SHARADA SIGN INVERTED CANDRABINDU
( 0x1122F <= code && code <= 0x11231 ) || // Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
code === 0x11234 || // Mn KHOJKI SIGN ANUSVARA
( 0x11236 <= code && code <= 0x11237 ) || // Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
code === 0x1123E || // Mn KHOJKI SIGN SUKUN
code === 0x112DF || // Mn KHUDAWADI SIGN ANUSVARA
( 0x112E3 <= code && code <= 0x112EA ) || // Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
( 0x11300 <= code && code <= 0x11301 ) || // Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
( 0x1133B <= code && code <= 0x1133C ) || // Mn [2] COMBINING BINDU BELOW..GRANTHA SIGN NUKTA
code === 0x1133E || // Mc GRANTHA VOWEL SIGN AA
code === 0x11340 || // Mn GRANTHA VOWEL SIGN II
code === 0x11357 || // Mc GRANTHA AU LENGTH MARK
( 0x11366 <= code && code <= 0x1136C ) || // Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
( 0x11370 <= code && code <= 0x11374 ) || // Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
( 0x11438 <= code && code <= 0x1143F ) || // Mn [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI
( 0x11442 <= code && code <= 0x11444 ) || // Mn [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA
code === 0x11446 || // Mn NEWA SIGN NUKTA
code === 0x1145E || // Mn NEWA SANDHI MARK
code === 0x114B0 || // Mc TIRHUTA VOWEL SIGN AA
( 0x114B3 <= code && code <= 0x114B8 ) || // Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL
code === 0x114BA || // Mn TIRHUTA VOWEL SIGN SHORT E
code === 0x114BD || // Mc TIRHUTA VOWEL SIGN SHORT O
( 0x114BF <= code && code <= 0x114C0 ) || // Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
( 0x114C2 <= code && code <= 0x114C3 ) || // Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA
code === 0x115AF || // Mc SIDDHAM VOWEL SIGN AA
( 0x115B2 <= code && code <= 0x115B5 ) || // Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
( 0x115BC <= code && code <= 0x115BD ) || // Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
( 0x115BF <= code && code <= 0x115C0 ) || // Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
( 0x115DC <= code && code <= 0x115DD ) || // Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
( 0x11633 <= code && code <= 0x1163A ) || // Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
code === 0x1163D || // Mn MODI SIGN ANUSVARA
( 0x1163F <= code && code <= 0x11640 ) || // Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
code === 0x116AB || // Mn TAKRI SIGN ANUSVARA
code === 0x116AD || // Mn TAKRI VOWEL SIGN AA
( 0x116B0 <= code && code <= 0x116B5 ) || // Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
code === 0x116B7 || // Mn TAKRI SIGN NUKTA
( 0x1171D <= code && code <= 0x1171F ) || // Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
( 0x11722 <= code && code <= 0x11725 ) || // Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
( 0x11727 <= code && code <= 0x1172B ) || // Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
( 0x1182F <= code && code <= 0x11837 ) || // Mn [9] DOGRA VOWEL SIGN U..DOGRA SIGN ANUSVARA
( 0x11839 <= code && code <= 0x1183A ) || // Mn [2] DOGRA SIGN VIRAMA..DOGRA SIGN NUKTA
code === 0x11930 || // Mc DIVES AKURU VOWEL SIGN AA
( 0x1193B <= code && code <= 0x1193C ) || // Mn [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU
code === 0x1193E || // Mn DIVES AKURU VIRAMA
code === 0x11943 || // Mn DIVES AKURU SIGN NUKTA
( 0x119D4 <= code && code <= 0x119D7 ) || // Mn [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR
( 0x119DA <= code && code <= 0x119DB ) || // Mn [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI
code === 0x119E0 || // Mn NANDINAGARI SIGN VIRAMA
( 0x11A01 <= code && code <= 0x11A0A ) || // Mn [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK
( 0x11A33 <= code && code <= 0x11A38 ) || // Mn [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
( 0x11A3B <= code && code <= 0x11A3E ) || // Mn [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
code === 0x11A47 || // Mn ZANABAZAR SQUARE SUBJOINER
( 0x11A51 <= code && code <= 0x11A56 ) || // Mn [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
( 0x11A59 <= code && code <= 0x11A5B ) || // Mn [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
( 0x11A8A <= code && code <= 0x11A96 ) || // Mn [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
( 0x11A98 <= code && code <= 0x11A99 ) || // Mn [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
( 0x11C30 <= code && code <= 0x11C36 ) || // Mn [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
( 0x11C38 <= code && code <= 0x11C3D ) || // Mn [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
code === 0x11C3F || // Mn BHAIKSUKI SIGN VIRAMA
( 0x11C92 <= code && code <= 0x11CA7 ) || // Mn [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
( 0x11CAA <= code && code <= 0x11CB0 ) || // Mn [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
( 0x11CB2 <= code && code <= 0x11CB3 ) || // Mn [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
( 0x11CB5 <= code && code <= 0x11CB6 ) || // Mn [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
( 0x11D31 <= code && code <= 0x11D36 ) || // Mn [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
code === 0x11D3A || // Mn MASARAM GONDI VOWEL SIGN E
( 0x11D3C <= code && code <= 0x11D3D ) || // Mn [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
( 0x11D3F <= code && code <= 0x11D45 ) || // Mn [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
code === 0x11D47 || // Mn MASARAM GONDI RA-KARA
( 0x11D90 <= code && code <= 0x11D91 ) || // Mn [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI
code === 0x11D95 || // Mn GUNJALA GONDI SIGN ANUSVARA
code === 0x11D97 || // Mn GUNJALA GONDI VIRAMA
( 0x11EF3 <= code && code <= 0x11EF4 ) || // Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
( 0x16AF0 <= code && code <= 0x16AF4 ) || // Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
( 0x16B30 <= code && code <= 0x16B36 ) || // Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
code === 0x16F4F || // Mn MIAO SIGN CONSONANT MODIFIER BAR
( 0x16F8F <= code && code <= 0x16F92 ) || // Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW
code === 0x16FE4 || // Mn KHITAN SMALL SCRIPT FILLER
( 0x1BC9D <= code && code <= 0x1BC9E ) || // Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
code === 0x1D165 || // Mc MUSICAL SYMBOL COMBINING STEM
( 0x1D167 <= code && code <= 0x1D169 ) || // Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
( 0x1D16E <= code && code <= 0x1D172 ) || // Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
( 0x1D17B <= code && code <= 0x1D182 ) || // Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
( 0x1D185 <= code && code <= 0x1D18B ) || // Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
( 0x1D1AA <= code && code <= 0x1D1AD ) || // Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
( 0x1D242 <= code && code <= 0x1D244 ) || // Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
( 0x1DA00 <= code && code <= 0x1DA36 ) || // Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
( 0x1DA3B <= code && code <= 0x1DA6C ) || // Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
code === 0x1DA75 || // Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
code === 0x1DA84 || // Mn SIGNWRITING LOCATION HEAD NECK
( 0x1DA9B <= code && code <= 0x1DA9F ) || // Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
( 0x1DAA1 <= code && code <= 0x1DAAF ) || // Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
( 0x1E000 <= code && code <= 0x1E006 ) || // Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
( 0x1E008 <= code && code <= 0x1E018 ) || // Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
( 0x1E01B <= code && code <= 0x1E021 ) || // Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
( 0x1E023 <= code && code <= 0x1E024 ) || // Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
( 0x1E026 <= code && code <= 0x1E02A ) || // Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
( 0x1E130 <= code && code <= 0x1E136 ) || // Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D
( 0x1E2EC <= code && code <= 0x1E2EF ) || // Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI
( 0x1E8D0 <= code && code <= 0x1E8D6 ) || // Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
( 0x1E944 <= code && code <= 0x1E94A ) || // Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
( 0x1F3FB <= code && code <= 0x1F3FF ) || // Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
( 0xE0020 <= code && code <= 0xE007F ) || // Cf [96] TAG SPACE..CANCEL TAG
( 0xE0100 <= code && code <= 0xE01EF ) // Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
) {
return constants.Extend;
}
if (
( 0x1F1E6 <= code && code <= 0x1F1FF ) // So [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
) {
return constants.RegionalIndicator;
}
if (
code === 0x0903 || // Mc DEVANAGARI SIGN VISARGA
code === 0x093B || // Mc DEVANAGARI VOWEL SIGN OOE
( 0x093E <= code && code <= 0x0940 ) || // Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
( 0x0949 <= code && code <= 0x094C ) || // Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
( 0x094E <= code && code <= 0x094F ) || // Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
( 0x0982 <= code && code <= 0x0983 ) || // Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
( 0x09BF <= code && code <= 0x09C0 ) || // Mc [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II
( 0x09C7 <= code && code <= 0x09C8 ) || // Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
( 0x09CB <= code && code <= 0x09CC ) || // Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
code === 0x0A03 || // Mc GURMUKHI SIGN VISARGA
( 0x0A3E <= code && code <= 0x0A40 ) || // Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
code === 0x0A83 || // Mc GUJARATI SIGN VISARGA
( 0x0ABE <= code && code <= 0x0AC0 ) || // Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
code === 0x0AC9 || // Mc GUJARATI VOWEL SIGN CANDRA O
( 0x0ACB <= code && code <= 0x0ACC ) || // Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
( 0x0B02 <= code && code <= 0x0B03 ) || // Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
code === 0x0B40 || // Mc ORIYA VOWEL SIGN II
( 0x0B47 <= code && code <= 0x0B48 ) || // Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
( 0x0B4B <= code && code <= 0x0B4C ) || // Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
code === 0x0BBF || // Mc TAMIL VOWEL SIGN I
( 0x0BC1 <= code && code <= 0x0BC2 ) || // Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
( 0x0BC6 <= code && code <= 0x0BC8 ) || // Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
( 0x0BCA <= code && code <= 0x0BCC ) || // Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
( 0x0C01 <= code && code <= 0x0C03 ) || // Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
( 0x0C41 <= code && code <= 0x0C44 ) || // Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
( 0x0C82 <= code && code <= 0x0C83 ) || // Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
code === 0x0CBE || // Mc KANNADA VOWEL SIGN AA
( 0x0CC0 <= code && code <= 0x0CC1 ) || // Mc [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U
( 0x0CC3 <= code && code <= 0x0CC4 ) || // Mc [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
( 0x0CC7 <= code && code <= 0x0CC8 ) || // Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
( 0x0CCA <= code && code <= 0x0CCB ) || // Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
( 0x0D02 <= code && code <= 0x0D03 ) || // Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
( 0x0D3F <= code && code <= 0x0D40 ) || // Mc [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II
( 0x0D46 <= code && code <= 0x0D48 ) || // Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
( 0x0D4A <= code && code <= 0x0D4C ) || // Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
( 0x0D82 <= code && code <= 0x0D83 ) || // Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
( 0x0DD0 <= code && code <= 0x0DD1 ) || // Mc [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
( 0x0DD8 <= code && code <= 0x0DDE ) || // Mc [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
( 0x0DF2 <= code && code <= 0x0DF3 ) || // Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
code === 0x0E33 || // Lo THAI CHARACTER SARA AM
code === 0x0EB3 || // Lo LAO VOWEL SIGN AM
( 0x0F3E <= code && code <= 0x0F3F ) || // Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
code === 0x0F7F || // Mc TIBETAN SIGN RNAM BCAD
code === 0x1031 || // Mc MYANMAR VOWEL SIGN E
( 0x103B <= code && code <= 0x103C ) || // Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
( 0x1056 <= code && code <= 0x1057 ) || // Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
code === 0x1084 || // Mc MYANMAR VOWEL SIGN SHAN E
code === 0x17B6 || // Mc KHMER VOWEL SIGN AA
( 0x17BE <= code && code <= 0x17C5 ) || // Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
( 0x17C7 <= code && code <= 0x17C8 ) || // Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
( 0x1923 <= code && code <= 0x1926 ) || // Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
( 0x1929 <= code && code <= 0x192B ) || // Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
( 0x1930 <= code && code <= 0x1931 ) || // Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
( 0x1933 <= code && code <= 0x1938 ) || // Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
( 0x1A19 <= code && code <= 0x1A1A ) || // Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
code === 0x1A55 || // Mc TAI THAM CONSONANT SIGN MEDIAL RA
code === 0x1A57 || // Mc TAI THAM CONSONANT SIGN LA TANG LAI
( 0x1A6D <= code && code <= 0x1A72 ) || // Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
code === 0x1B04 || // Mc BALINESE SIGN BISAH
code === 0x1B3B || // Mc BALINESE VOWEL SIGN RA REPA TEDUNG
( 0x1B3D <= code && code <= 0x1B41 ) || // Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
( 0x1B43 <= code && code <= 0x1B44 ) || // Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
code === 0x1B82 || // Mc SUNDANESE SIGN PANGWISAD
code === 0x1BA1 || // Mc SUNDANESE CONSONANT SIGN PAMINGKAL
( 0x1BA6 <= code && code <= 0x1BA7 ) || // Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
code === 0x1BAA || // Mc SUNDANESE SIGN PAMAAEH
code === 0x1BE7 || // Mc BATAK VOWEL SIGN E
( 0x1BEA <= code && code <= 0x1BEC ) || // Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
code === 0x1BEE || // Mc BATAK VOWEL SIGN U
( 0x1BF2 <= code && code <= 0x1BF3 ) || // Mc [2] BATAK PANGOLAT..BATAK PANONGONAN
( 0x1C24 <= code && code <= 0x1C2B ) || // Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
( 0x1C34 <= code && code <= 0x1C35 ) || // Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
code === 0x1CE1 || // Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
code === 0x1CF7 || // Mc VEDIC SIGN ATIKRAMA
( 0xA823 <= code && code <= 0xA824 ) || // Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
code === 0xA827 || // Mc SYLOTI NAGRI VOWEL SIGN OO
( 0xA880 <= code && code <= 0xA881 ) || // Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
( 0xA8B4 <= code && code <= 0xA8C3 ) || // Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
( 0xA952 <= code && code <= 0xA953 ) || // Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
code === 0xA983 || // Mc JAVANESE SIGN WIGNYAN
( 0xA9B4 <= code && code <= 0xA9B5 ) || // Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
( 0xA9BA <= code && code <= 0xA9BB ) || // Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
( 0xA9BE <= code && code <= 0xA9C0 ) || // Mc [3] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE PANGKON
( 0xAA2F <= code && code <= 0xAA30 ) || // Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
( 0xAA33 <= code && code <= 0xAA34 ) || // Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
code === 0xAA4D || // Mc CHAM CONSONANT SIGN FINAL H
code === 0xAAEB || // Mc MEETEI MAYEK VOWEL SIGN II
( 0xAAEE <= code && code <= 0xAAEF ) || // Mc [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
code === 0xAAF5 || // Mc MEETEI MAYEK VOWEL SIGN VISARGA
( 0xABE3 <= code && code <= 0xABE4 ) || // Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
( 0xABE6 <= code && code <= 0xABE7 ) || // Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
( 0xABE9 <= code && code <= 0xABEA ) || // Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
code === 0xABEC || // Mc MEETEI MAYEK LUM IYEK
code === 0x11000 || // Mc BRAHMI SIGN CANDRABINDU
code === 0x11002 || // Mc BRAHMI SIGN VISARGA
code === 0x11082 || // Mc KAITHI SIGN VISARGA
( 0x110B0 <= code && code <= 0x110B2 ) || // Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
( 0x110B7 <= code && code <= 0x110B8 ) || // Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
code === 0x1112C || // Mc CHAKMA VOWEL SIGN E
( 0x11145 <= code && code <= 0x11146 ) || // Mc [2] CHAKMA VOWEL SIGN AA..CHAKMA VOWEL SIGN EI
code === 0x11182 || // Mc SHARADA SIGN VISARGA
( 0x111B3 <= code && code <= 0x111B5 ) || // Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
( 0x111BF <= code && code <= 0x111C0 ) || // Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
code === 0x111CE || // Mc SHARADA VOWEL SIGN PRISHTHAMATRA E
( 0x1122C <= code && code <= 0x1122E ) || // Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
( 0x11232 <= code && code <= 0x11233 ) || // Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
code === 0x11235 || // Mc KHOJKI SIGN VIRAMA
( 0x112E0 <= code && code <= 0x112E2 ) || // Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
( 0x11302 <= code && code <= 0x11303 ) || // Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
code === 0x1133F || // Mc GRANTHA VOWEL SIGN I
( 0x11341 <= code && code <= 0x11344 ) || // Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
( 0x11347 <= code && code <= 0x11348 ) || // Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
( 0x1134B <= code && code <= 0x1134D ) || // Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
( 0x11362 <= code && code <= 0x11363 ) || // Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
( 0x11435 <= code && code <= 0x11437 ) || // Mc [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II
( 0x11440 <= code && code <= 0x11441 ) || // Mc [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU
code === 0x11445 || // Mc NEWA SIGN VISARGA
( 0x114B1 <= code && code <= 0x114B2 ) || // Mc [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II
code === 0x114B9 || // Mc TIRHUTA VOWEL SIGN E
( 0x114BB <= code && code <= 0x114BC ) || // Mc [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O
code === 0x114BE || // Mc TIRHUTA VOWEL SIGN AU
code === 0x114C1 || // Mc TIRHUTA SIGN VISARGA
( 0x115B0 <= code && code <= 0x115B1 ) || // Mc [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II
( 0x115B8 <= code && code <= 0x115BB ) || // Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
code === 0x115BE || // Mc SIDDHAM SIGN VISARGA
( 0x11630 <= code && code <= 0x11632 ) || // Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
( 0x1163B <= code && code <= 0x1163C ) || // Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
code === 0x1163E || // Mc MODI SIGN VISARGA
code === 0x116AC || // Mc TAKRI SIGN VISARGA
( 0x116AE <= code && code <= 0x116AF ) || // Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
code === 0x116B6 || // Mc TAKRI SIGN VIRAMA
( 0x11720 <= code && code <= 0x11721 ) || // Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
code === 0x11726 || // Mc AHOM VOWEL SIGN E
( 0x1182C <= code && code <= 0x1182E ) || // Mc [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II
code === 0x11838 || // Mc DOGRA SIGN VISARGA
( 0x11931 <= code && code <= 0x11935 ) || // Mc [5] DIVES AKURU VOWEL SIGN I..DIVES AKURU VOWEL SIGN E
( 0x11937 <= code && code <= 0x11938 ) || // Mc [2] DIVES AKURU VOWEL SIGN AI..DIVES AKURU VOWEL SIGN O
code === 0x1193D || // Mc DIVES AKURU SIGN HALANTA
code === 0x11940 || // Mc DIVES AKURU MEDIAL YA
code === 0x11942 || // Mc DIVES AKURU MEDIAL RA
( 0x119D1 <= code && code <= 0x119D3 ) || // Mc [3] NANDINAGARI VOWEL SIGN AA..NANDINAGARI VOWEL SIGN II
( 0x119DC <= code && code <= 0x119DF ) || // Mc [4] NANDINAGARI VOWEL SIGN O..NANDINAGARI SIGN VISARGA
code === 0x119E4 || // Mc NANDINAGARI VOWEL SIGN PRISHTHAMATRA E
code === 0x11A39 || // Mc ZANABAZAR SQUARE SIGN VISARGA
( 0x11A57 <= code && code <= 0x11A58 ) || // Mc [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
code === 0x11A97 || // Mc SOYOMBO SIGN VISARGA
code === 0x11C2F || // Mc BHAIKSUKI VOWEL SIGN AA
code === 0x11C3E || // Mc BHAIKSUKI SIGN VISARGA
code === 0x11CA9 || // Mc MARCHEN SUBJOINED LETTER YA
code === 0x11CB1 || // Mc MARCHEN VOWEL SIGN I
code === 0x11CB4 || // Mc MARCHEN VOWEL SIGN O
( 0x11D8A <= code && code <= 0x11D8E ) || // Mc [5] GUNJALA GONDI VOWEL SIGN AA..GUNJALA G