Current section

Files

Jump to
quickbeam priv vendor unicode-segmenter _grapheme_data.js
Raw

priv/vendor/unicode-segmenter/_grapheme_data.js

// The following code was generated by "scripts/unicode.js",
// DO NOT EDIT DIRECTLY.
//
// @ts-check
/**
* @typedef {import('./core.js').UnicodeDataEncoding} UnicodeDataEncoding
*/
/**
* @typedef {0} GC_Any
* @typedef {1} GC_CR
* @typedef {2} GC_Control
* @typedef {3} GC_Extend
* @typedef {4} GC_Extended_Pictographic
* @typedef {5} GC_L
* @typedef {6} GC_LF
* @typedef {7} GC_LV
* @typedef {8} GC_LVT
* @typedef {9} GC_Prepend
* @typedef {10} GC_Regional_Indicator
* @typedef {11} GC_SpacingMark
* @typedef {12} GC_T
* @typedef {13} GC_V
* @typedef {14} GC_ZWJ
* @typedef {(
* | GC_Any
* | GC_CR
* | GC_Control
* | GC_Extend
* | GC_Extended_Pictographic
* | GC_L
* | GC_LF
* | GC_LV
* | GC_LVT
* | GC_Prepend
* | GC_Regional_Indicator
* | GC_SpacingMark
* | GC_T
* | GC_V
* | GC_ZWJ
* )} GraphemeCategoryNum
*/
/**
* @typedef {(
* | 'Any'
* | 'CR'
* | 'Control'
* | 'Extend'
* | 'Extended_Pictographic'
* | 'L'
* | 'LF'
* | 'LV'
* | 'LVT'
* | 'Prepend'
* | 'Regional_Indicator'
* | 'SpacingMark'
* | 'T'
* | 'V'
* | 'ZWJ'
* )} GraphemeCategoryKey
*/
/**
* Grapheme category enum
*
* Note:
* The object isn't actually frozen
* because using `Object.freeze` increases 800 bytes on Brotli compression.
*
* @type {Readonly<Record<GraphemeCategoryKey, GraphemeCategoryNum>>}
*/
export const GraphemeCategory = {
Any: 0,
CR: 1,
Control: 2,
Extend: 3,
Extended_Pictographic: 4,
L: 5,
LF: 6,
LV: 7,
LVT: 8,
Prepend: 9,
Regional_Indicator: 10,
SpacingMark: 11,
T: 12,
V: 13,
ZWJ: 14,
};
/**
* Encoded `Grapheme_Cluster_Break` property ranges.
*
* Internal categories (never exposed through the public API):
* - 15: InCB_Consonant
*
* @type {UnicodeDataEncoding}
*/
export const grapheme_data = /** @type {UnicodeDataEncoding} */ (
'090001000h1v5g2903000hl2v6jh16ng1s210111110o35aa10u2k1g10l6600152113h2010u1q1r5aq3890o13181214r22k3158q2n1000v100h1k20000001207030001160721k171001h1j11610332010010321210090411021c1c02100o301201412230u1130b100h1j116111420120411001100k11l10051001h1j11611142011000321210072411021d0g10r3000000132120090o200200g1j11f2012031213711271t1001o301001000001121371b1f0c101h1l2011001031212000080a1t1001m40400102101600i11t301006c7i601008b6p41r10101041h3d0004115a1j290p3q223000511010100g1501010302003172030c0010016000e0i6v50n40n5tl12ir33s12t11u11cj30100060700010a90t220000l71i20m7203010241000502rd101004k300000006101027050920g3t22bk1300616g209030207u18c1000t10003010501b2o20000102000004g37070101o921c000640602001mcv3rg20000001o16d0c0m1fg6g2h30m10q55f1vm11c0ma0p1a42nc0ne1a090q3314902021204020112030318250105bb1201110i1021i15101131502141b15120511011k1155132040202510201010603060a1f02040104210b1g3290e0e0kn11vs12j11j3040pp12t80g6v1vmo7319g21g51gh103040n11010040j51i3f01q1h1d0m27p1a0000cs13200523j200010301010100v140018a4q2501010101c08000i1f12601011g3012215110u1a0001015000pcq181000100011000iji5fvc0u91g5bhg20ie0l94lo6002115303121s12240la1tj23h44tj11t45m4ah33q700000l3ep2021a200t220301012040a0i320j2040007f00100r20c100g3208000011531000s520201036020t900207l1101n311000000321210090a12634b910201l22001051020120011020000e1i520701020000n10h5001050000010000010001re0010323010001r11i520701000001q6000000107l600000230004gg12080001lc62027111n1000411230000000000t820321030030r10090n205001380800501020n2050c0001mc00002000000nc006150000i5l1100600010001q753011160000i441111000000rl11019100000c1h201043102n10ltk1f006eoss2b0202gs94r36si2033ku101m373h50b1rqs4113sli1t22m1uh2435070726u13k92rr7m34h380e0m141egl561g1261114k60ga6nn10t33sv13uf1jf0207150qt16t66pr60n23k6bf1f0e1l29g71c1e029j1n30p11ea0k1028139m16rb2v621122i52213040tf1u3b51n17127c0232041d120819052c28220104060306l5g3l4572g130152cqdl2c3o37a5o27u11c32d9m2cu2191obo57eh9gg1tv3'
);
/**
* Category of each range in {@link grapheme_data}, base36 digit per range.
*/
export const grapheme_cats = '262122424333333393233393339333333333393393bf3b3b3b3b3f3f3bffff33b3bb33ff3f33b3b3333333bffff3b33bb33f33bffff33b3bb33ff3f33b3bbb333b3ff33b333f33b3b3b3b3333b3bf33b3bb39333b33b33b3b3b333b333333b3b33333f3b33b3ffb3f3fff3f3b33f35dc33333f3b3b3b33323333b3bb3b33b3fb3b3333b33333bff3b3f33bfb3b3ff3b3b3b3b3b333b333b3323e22442344444444444444444444444444444444444444444444444444444444444444444444444444444443333333333b3b3bb33333b353bff3b3b3b3f3ff3b3b333bfff3f33333fb3bb3fb3b3bb33232333f333fff333333333b3b3333bb3b39393f3b3fbf33bb3b393b3b3b3333b33b33b3bbb33b33ffff3b3333bb3933b3b3b333b3b3b3b3b33b3b3b33b3b3b33b3b33b33b3b3b3fffff3bb39b9b3b33b3bf3f3b33f3b3f93b33b3b3bb33b33b3b3b3333393b3b3b33b39bffb3b332333b333dd3b3333233332333333333333333333333333333444444444444a4444444444444344444444444444444444444444444444444444444444';
/**
* UAX #29 pair-wise rules for extended grapheme cluster boundaries,
* evaluated into a 16x16 decision table indexed by
* `catBefore << 4 | catAfter`.
*
* - 0: boundary (GB999 and friends)
* - 1: no boundary
* - 2: GB12/GB13, no boundary iff odd run of RI precedes
* - 3: GB11, no boundary iff the ZWJ was preceded by ExtPic Extend*
* - 4: GB9c, no boundary iff InCB Consonant [Extend Linker]* Linker [Extend Linker]* precedes
*
* See `buildGraphemePairTable` in scripts/unicode.js for the rules.
*/
export const grapheme_pairs = '0001000000010010000000100000000000000000000000000001000000010014000100000001001000010101100101100000000000000000000100000001111000010000000110101001110111111111000100000021001000010000000100100001000000011010000100000001111000013000000100140001000000010010';