diff --git a/README.md b/README.md
index aa1f3f3e..9ec748b2 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
`rustybuzz` is a complete [harfbuzz](https://github.com/harfbuzz/harfbuzz)'s
shaping algorithm port to Rust.
-Matches `harfbuzz` v10.0.1, commit [c7ef6a2e](https://github.com/harfbuzz/harfbuzz/commit/c7ef6a2ed58ae8ec108ee0962bef46f42c73a60c) (one commit after v10.0.1)
+Matches `harfbuzz` v10.1.0.
## Why?
diff --git a/scripts/gen-shaping-tests.py b/scripts/gen-shaping-tests.py
index 53cb0a8f..6175dc14 100755
--- a/scripts/gen-shaping-tests.py
+++ b/scripts/gen-shaping-tests.py
@@ -204,9 +204,12 @@ def convert_test_folder(root_dir, hb_shape_exe, tests_dir, tests_name, custom):
def convert_test_files(root_dir, hb_shape_exe, tests_dir, tests_name, files, custom):
fonts = set()
+ macos_snippet = "#[cfg(target_os = \"macos\")]\n" if tests_name == "macos" else ""
+
rust_code = (
"// WARNING: this file was generated by ../scripts/gen-shaping-tests.py\n"
- "\n"
+ "\n" +
+ macos_snippet +
"use crate::shape;\n"
"\n"
)
diff --git a/scripts/gen-tag-table.py b/scripts/gen-tag-table.py
index c4040ee1..df9e7e68 100755
--- a/scripts/gen-tag-table.py
+++ b/scripts/gen-tag-table.py
@@ -335,49 +335,54 @@ def __init__(self):
self.from_bcp_47_uninherited = None
# Whether the parser is in a
element
self._td = False
- # Whether the parser is after a element within the current | element
- self._br = False
+ # Whether the parser ignores the rest of the current element
+ self._disengaged = False
# The text of the | elements of the current |
element.
self._current_tr = []
- def handle_starttag(self, tag, attrs):
- if tag == 'br':
- self._br = True
+ def handle_starttag (self, tag, attrs):
+ if tag == 'a':
+ if self._current_tr and not self._disengaged:
+ self._current_tr[-1] = ''
+ self._disengaged = True
+ elif tag == 'br':
+ self._disengaged = True
elif tag == 'meta':
for attr, value in attrs:
if attr == 'name' and value == 'updated_at':
- self.header = self.get_starttag_text()
+ self.header = self.get_starttag_text ()
break
elif tag == 'td':
self._td = True
- self._current_tr.append('')
+ self._current_tr.append ('')
elif tag == 'tr':
- self._br = False
+ self._disengaged = False
self._current_tr = []
- def handle_endtag(self, tag):
+ def handle_endtag (self, tag):
if tag == 'td':
self._td = False
+ self._disengaged = False
elif tag == 'tr' and self._current_tr:
- expect(2 <= len(self._current_tr) <= 3)
- name = self._current_tr[0].strip()
- tag = self._current_tr[1].strip("\t\n\v\f\r '")
+ expect (2 <= len (self._current_tr) <= 3)
+ name = self._current_tr[0].strip ()
+ tag = self._current_tr[1].strip ("\t\n\v\f\r '")
rank = 0
- if len(tag) > 4:
- expect(tag.endswith('(deprecated)'), 'ill-formed OpenType tag: %s' % tag)
- name += '(deprecated)'
- tag = tag.split(' ')[0]
+ if len (tag) > 4:
+ expect (tag.endswith (' (deprecated)'), 'ill-formed OpenType tag: %s' % tag)
+ name += ' (deprecated)'
+ tag = tag.split (' ')[0]
rank = 1
- self.names[tag] = re.sub(' languages$', '', name)
+ self.names[tag] = re.sub (' languages$', '', name)
if not self._current_tr[2]:
return
- iso_codes = self._current_tr[2].strip()
- self.to_bcp_47[tag].update(ISO_639_3_TO_1.get(code, code) for code in iso_codes.replace(' ', '').split(','))
- rank += 2 * len(self.to_bcp_47[tag])
+ iso_codes = self._current_tr[2].strip ()
+ self.to_bcp_47[tag].update (ISO_639_3_TO_1.get (code, code) for code in iso_codes.replace (' ', '').split (','))
+ rank += 2 * len (self.to_bcp_47[tag])
self.ranks[tag] = rank
- def handle_data(self, data):
- if self._td and not self._br:
+ def handle_data (self, data):
+ if self._td and not self._disengaged:
self._current_tr[-1] += data
def handle_charref(self, name):
diff --git a/scripts/ms-use/IndicPositionalCategory-Additional.txt b/scripts/ms-use/IndicPositionalCategory-Additional.txt
index 42dd1547..4b0c7f20 100644
--- a/scripts/ms-use/IndicPositionalCategory-Additional.txt
+++ b/scripts/ms-use/IndicPositionalCategory-Additional.txt
@@ -49,7 +49,7 @@ A9BE ; Right # Mc JAVANESE CONSONANT SIGN PENGKAL # Reduced from
AA35 ; Top # Mn CHAM CONSONANT SIGN
1112A..1112B ; Top # Mn [2] CHAKMA VOWEL SIGN U..CHAKMA VOWEL SIGN UU # see USE issue #25
11131..11132 ; Top # Mn [2] CHAKMA O MARK..CHAKMA AU MARK # see USE issue #25
-1E4EC..1E4EF ; Top # Mn [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH # 1E4EE is below, but made to for ccc
+1E4EC..1E4EF ; Top # Mn [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH # 1E4EE is below, but made to for ccc
# ================================================
@@ -77,11 +77,12 @@ AA35 ; Top # Mn CHAM CONSONANT SIGN
10F83 ; Bottom # Mn OLD UYGHUR COMBINING DOT BELOW
10F84 ; Bottom # Mn OLD UYGHUR COMBINING TWO DOTS ABOVE # Overriden, ccc controls order
10F85 ; Bottom # Mn OLD UYGHUR COMBINING TWO DOTS BELOW
+113CF ; Bottom # Mc TULU-TIGALARI SIGN LOOPED VIRAMA # Issue #17
16F4F ; Bottom # Mn MIAO SIGN CONSONANT MODIFIER BAR
16F51..16F87 ; Bottom # Mc [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI
16F8F..16F92 ; Bottom # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW
-1E5EE ; Bottom # Mn OL ONAL SIGN MU # Not really below, but need to override to fit into Universal model
-1E5EF ; Bottom # Mn OL ONAL SIGN IKIR
+1E5EE ; Bottom # Mn OL ONAL SIGN MU # Not really below, but need to override to fit into Universal model
+1E5EF ; Bottom # Mn OL ONAL SIGN IKIR
# ================================================
@@ -94,7 +95,7 @@ AA35 ; Top # Mn CHAM CONSONANT SIGN
07EB..07F3 ; Top # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
07FD ; Top # Mn NKO DANTAYALAN # Not really top, but assigned here to allow ccc to control mark order
1885..1886 ; Top # Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
-1B6C ; Top # Mn BALINESE MUSICAL SYMBOL COMBINING ENDEP
+1B6C ; Top # Mn BALINESE MUSICAL SYMBOL COMBINING ENDEP
1CF8..1CF9 ; Top # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
10D24..10D27 ; Top # Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
10EAB..10EAC ; Top # Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
diff --git a/scripts/ms-use/IndicSyllabicCategory-Additional.txt b/scripts/ms-use/IndicSyllabicCategory-Additional.txt
index a42b975a..fcd22e63 100644
--- a/scripts/ms-use/IndicSyllabicCategory-Additional.txt
+++ b/scripts/ms-use/IndicSyllabicCategory-Additional.txt
@@ -13,7 +13,7 @@
# OVERRIDES TO ASSIGNED VALUES
# ================================================
-# Indic_Syllabic_Category=Bindu
+# Indic_Syllabic_Category=Bindu
193A ; Bindu # Mn LIMBU SIGN KEMPHRENG
AA29 ; Bindu # Mn CHAM VOWEL SIGN AA
10A0D ; Bindu # Mn KHAROSHTHI SIGN DOUBLE RING BELOW
@@ -47,14 +47,13 @@ AA29 ; Bindu # Mn CHAM VOWEL SIGN AA
# ================================================
-# Indic_Syllabic_Category=Gemination_Mark
+# Indic_Syllabic_Category=Gemination_Mark
11134 ; Gemination_Mark # Mc CHAKMA MAAYYAA
# ================================================
-# Indic_Syllabic_Category=Nukta
+# Indic_Syllabic_Category=Nukta
0F71 ; Nukta # Mn TIBETAN VOWEL SIGN AA # Reassigned to get this before an above vowel, but see #22
-1BF2..1BF3 ; Nukta # Mc [2] BATAK PANGOLAT..BATAK PANONGONAN # see USE issue #20
113CF ; Nukta # Mc TULU-TIGALARI SIGN LOOPED VIRAMA
# ================================================
@@ -115,7 +114,7 @@ AABD ; Vowel_Independent # Lo TAI VIET VOWEL AN
18B00..18CD5 ; Consonant # Lo [470] KHITAN SMALL SCRIPT CHARACTER-18B00..KHITAN SMALL SCRIPT CHARACTER-18CD5
18CFF ; Consonant # Lo KHITAN SMALL SCRIPT CHARACTER-18CFF
1BC00..1BC6A ; Consonant # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
-1BC70..1BC7C ; Consonant # Lo [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
+1BC70..1BC7C ; Consonant # Lo [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
1BC80..1BC88 ; Consonant # Lo [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
1BC90..1BC99 ; Consonant # Lo [10] DUPLOYAN AFFIX LOW ACUTE..DUPLOYAN AFFIX LOW ARROW
1E100..1E12C ; Consonant # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W
diff --git a/src/hb/aat_layout_kerx_table.rs b/src/hb/aat_layout_kerx_table.rs
index 276954ec..3415742a 100644
--- a/src/hb/aat_layout_kerx_table.rs
+++ b/src/hb/aat_layout_kerx_table.rs
@@ -248,8 +248,7 @@ fn apply_state_machine_kerning(
// go differently if we start from state 0 here.
if state != START_OF_TEXT && buffer.backtrack_len() != 0 && buffer.idx < buffer.len {
// If there's no value and we're just epsilon-transitioning to state 0, safe to break.
- if entry.is_actionable() || entry.new_state != START_OF_TEXT || entry.has_advance()
- {
+ if entry.is_actionable() || entry.new_state != START_OF_TEXT || entry.has_advance() {
buffer.unsafe_to_break_from_outbuffer(
Some(buffer.backtrack_len() - 1),
Some(buffer.idx + 1),
diff --git a/src/hb/ot_shaper_use.rs b/src/hb/ot_shaper_use.rs
index 203f227b..a274d7d0 100644
--- a/src/hb/ot_shaper_use.rs
+++ b/src/hb/ot_shaper_use.rs
@@ -101,6 +101,7 @@ pub mod category {
pub const HVM: u8 = 53; // HIEROGLYPH_SEGMENT_END
pub const HM: u8 = 54; // HIEROGLYPH_MOD
pub const HR: u8 = 55; // HIEROGLYPH_MIRROR
+ pub const RK: u8 = 56; // REORDERING_KILLER
}
// These features are applied all at once, before reordering,
diff --git a/src/hb/ot_shaper_use_machine.rl b/src/hb/ot_shaper_use_machine.rl
index f3a0f827..0e4e03d1 100644
--- a/src/hb/ot_shaper_use_machine.rl
+++ b/src/hb/ot_shaper_use_machine.rl
@@ -55,6 +55,7 @@ SE = 52; # HIEROGLYPH_SEGMENT_END
HVM = 53; # HALANT_OR_VOWEL_MODIFIER
HM = 54; # HIEROGLYPH_MOD
HR = 55; # HIEROGLYPH_MIRROR
+RK = 56; # REORDERING_KILLER
FAbv = 24; # CONS_FINAL_ABOVE
FBlw = 25; # CONS_FINAL_BELOW
@@ -107,7 +108,7 @@ symbol_cluster_tail = SMAbv+ SMBlw* | SMBlw+;
virama_terminated_cluster_tail =
consonant_modifiers
- IS
+ (IS | RK)
;
virama_terminated_cluster =
complex_syllable_start
diff --git a/src/hb/ot_shaper_use_machine.rs b/src/hb/ot_shaper_use_machine.rs
index 7c1bd72e..f3c3ac4e 100644
--- a/src/hb/ot_shaper_use_machine.rs
+++ b/src/hb/ot_shaper_use_machine.rs
@@ -21,253 +21,231 @@ use super::machine_cursor::MachineCursor;
use super::ot_layout::*;
use super::ot_shaper_use::category;
-static _use_syllable_machine_actions: [i8; 47] = [
- 0, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1, 13, 1,
- 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 19, 1, 20, 1, 21, 0, 0,
+static _use_syllable_machine_trans_keys: [u8; 256] = [
+ 35, 37, 0, 42, 5, 42, 5, 42, 1, 39, 8, 34, 8, 33, 8, 33, 8, 33, 8, 32, 8, 32, 8, 8, 8, 34, 8,
+ 34, 8, 34, 1, 8, 8, 34, 8, 39, 8, 39, 8, 39, 8, 39, 6, 39, 8, 39, 6, 39, 6, 39, 6, 39, 5, 42,
+ 1, 8, 1, 34, 8, 28, 8, 28, 5, 42, 1, 39, 8, 34, 8, 33, 8, 33, 8, 33, 8, 32, 8, 32, 8, 8, 8, 34,
+ 8, 34, 8, 34, 1, 8, 8, 34, 8, 39, 8, 39, 8, 39, 8, 39, 6, 39, 8, 39, 6, 39, 6, 39, 6, 39, 5,
+ 42, 1, 8, 1, 8, 1, 34, 8, 8, 7, 8, 3, 8, 5, 42, 5, 42, 1, 39, 8, 34, 8, 33, 8, 33, 8, 33, 8,
+ 32, 8, 32, 8, 8, 8, 34, 8, 34, 8, 34, 1, 8, 8, 34, 8, 39, 8, 39, 8, 39, 8, 39, 6, 39, 8, 39, 6,
+ 39, 6, 39, 6, 39, 5, 42, 1, 8, 1, 8, 1, 34, 8, 8, 5, 42, 1, 39, 8, 34, 8, 33, 8, 33, 8, 33, 8,
+ 32, 8, 32, 8, 8, 8, 34, 8, 34, 8, 34, 1, 8, 8, 34, 8, 39, 8, 39, 8, 39, 8, 39, 6, 39, 8, 39, 6,
+ 39, 6, 39, 6, 39, 5, 42, 1, 8, 1, 34, 3, 8, 7, 8, 1, 42, 8, 28, 8, 28, 1, 4, 8, 41, 8, 37, 8,
+ 38, 8, 40, 5, 42, 0, 0,
];
-static _use_syllable_machine_key_offsets: [i16; 127] = [
- 0, 2, 39, 67, 93, 107, 119, 126, 132, 137, 140, 142, 143, 154, 164, 173, 175, 183, 200, 216,
- 231, 245, 265, 278, 297, 315, 336, 361, 363, 376, 379, 381, 407, 421, 433, 440, 446, 451, 454,
- 456, 457, 468, 478, 487, 489, 497, 514, 530, 545, 559, 579, 592, 611, 629, 650, 675, 677, 679,
- 692, 694, 696, 724, 750, 764, 776, 783, 789, 794, 797, 799, 800, 811, 821, 830, 832, 840, 857,
- 873, 888, 902, 922, 935, 954, 972, 993, 1018, 1020, 1022, 1035, 1061, 1075, 1087, 1094, 1100,
- 1105, 1108, 1110, 1111, 1122, 1132, 1141, 1143, 1151, 1168, 1184, 1199, 1213, 1233, 1246, 1265,
- 1283, 1304, 1329, 1331, 1344, 1346, 1348, 1379, 1382, 1384, 1386, 1391, 1395, 1398, 1402, 0, 0,
+static _use_syllable_machine_char_class: [i8; 59] = [
+ 0, 1, 2, 2, 3, 4, 2, 2, 2, 2, 2, 5, 6, 7, 8, 2, 2, 2, 9, 2, 2, 2, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 2, 24, 25, 26, 2, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 0, 0,
];
-static _use_syllable_machine_trans_keys: [u8; 1434] = [
- 49, 51, 0, 1, 4, 5, 11, 12, 13, 14, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
- 37, 38, 39, 41, 42, 43, 45, 46, 47, 49, 51, 53, 44, 48, 11, 12, 14, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 45, 46, 47, 53, 44, 48, 11, 12, 14, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 45, 46, 47, 53, 44, 48, 1, 14, 23, 24,
- 25, 26, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 14, 24,
- 25, 26, 45, 46, 47, 14, 25, 26, 45, 46, 47, 14, 26, 45, 46, 47, 14, 45, 46, 14, 46, 14, 14, 24,
- 25, 26, 37, 38, 39, 45, 46, 47, 48, 14, 24, 25, 26, 38, 39, 45, 46, 47, 48, 14, 24, 25, 26, 39,
- 45, 46, 47, 48, 1, 14, 14, 24, 25, 26, 45, 46, 47, 48, 14, 22, 23, 24, 25, 26, 33, 34, 35, 37,
- 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 33, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 14,
- 23, 24, 25, 26, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 35, 37, 38, 39, 45,
- 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 28, 29, 33, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53,
- 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 29, 33, 34, 35,
- 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 33, 34, 35, 37, 38, 39, 45, 46, 47,
- 48, 53, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 11,
- 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 38, 39, 45, 46, 47, 53, 44, 48,
- 1, 14, 1, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 14, 41, 42, 14, 42, 11, 12, 14, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 44, 45, 46, 47, 48, 53, 1, 14,
- 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48,
- 14, 24, 25, 26, 45, 46, 47, 14, 25, 26, 45, 46, 47, 14, 26, 45, 46, 47, 14, 45, 46, 14, 46, 14,
- 14, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 14, 24, 25, 26, 38, 39, 45, 46, 47, 48, 14, 24, 25,
- 26, 39, 45, 46, 47, 48, 1, 14, 14, 24, 25, 26, 45, 46, 47, 48, 14, 22, 23, 24, 25, 26, 33, 34,
- 35, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 33, 34, 35, 37, 38, 39, 45, 46, 47, 48,
- 53, 14, 23, 24, 25, 26, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 35, 37, 38,
- 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 28, 29, 33, 34, 35, 37, 38, 39, 45, 46, 47,
- 48, 53, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 29, 33,
- 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 33, 34, 35, 37, 38, 39, 45,
- 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 37, 38, 39, 45, 46, 47, 48,
- 53, 11, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 38, 39, 44, 45, 46, 47,
- 48, 53, 1, 14, 1, 14, 1, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 13, 14, 4, 14, 11, 12,
- 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 46, 47,
- 48, 53, 11, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 44, 45,
- 46, 47, 48, 53, 1, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 37,
- 38, 39, 45, 46, 47, 48, 14, 24, 25, 26, 45, 46, 47, 14, 25, 26, 45, 46, 47, 14, 26, 45, 46, 47,
- 14, 45, 46, 14, 46, 14, 14, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 14, 24, 25, 26, 38, 39, 45,
- 46, 47, 48, 14, 24, 25, 26, 39, 45, 46, 47, 48, 1, 14, 14, 24, 25, 26, 45, 46, 47, 48, 14, 22,
- 23, 24, 25, 26, 33, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 33, 34, 35, 37,
- 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23,
- 24, 25, 26, 35, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 28, 29, 33, 34, 35,
- 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22,
- 23, 24, 25, 26, 29, 33, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 33,
- 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 37,
- 38, 39, 45, 46, 47, 48, 53, 11, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37,
- 38, 39, 44, 45, 46, 47, 48, 53, 1, 14, 1, 14, 1, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47,
- 48, 11, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 45, 46, 47,
- 53, 44, 48, 1, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 37, 38,
- 39, 45, 46, 47, 48, 14, 24, 25, 26, 45, 46, 47, 14, 25, 26, 45, 46, 47, 14, 26, 45, 46, 47, 14,
- 45, 46, 14, 46, 14, 14, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 14, 24, 25, 26, 38, 39, 45, 46,
- 47, 48, 14, 24, 25, 26, 39, 45, 46, 47, 48, 1, 14, 14, 24, 25, 26, 45, 46, 47, 48, 14, 22, 23,
- 24, 25, 26, 33, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 33, 34, 35, 37, 38,
- 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 14, 23, 24,
- 25, 26, 35, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 28, 29, 33, 34, 35, 37,
- 38, 39, 45, 46, 47, 48, 53, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23,
- 24, 25, 26, 29, 33, 34, 35, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 33, 34,
- 35, 37, 38, 39, 45, 46, 47, 48, 53, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 37, 38,
- 39, 45, 46, 47, 48, 53, 11, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 38,
- 39, 45, 46, 47, 53, 44, 48, 1, 14, 1, 14, 23, 24, 25, 26, 37, 38, 39, 45, 46, 47, 48, 4, 14,
- 13, 14, 1, 5, 11, 12, 13, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38,
- 39, 41, 42, 45, 46, 47, 53, 44, 48, 14, 41, 42, 14, 42, 1, 5, 14, 50, 52, 54, 55, 14, 49, 50,
- 51, 14, 50, 52, 14, 50, 52, 54, 11, 12, 14, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 37, 38, 39, 41, 42, 45, 46, 47, 49, 51, 53, 44, 48, 0, 0,
+static _use_syllable_machine_index_offsets: [i16; 129] = [
+ 0, 3, 46, 84, 122, 161, 188, 214, 240, 266, 291, 316, 317, 344, 371, 398, 406, 433, 465, 497,
+ 529, 561, 595, 627, 661, 695, 729, 767, 775, 809, 830, 851, 889, 928, 955, 981, 1007, 1033,
+ 1058, 1083, 1084, 1111, 1138, 1165, 1173, 1200, 1232, 1264, 1296, 1328, 1362, 1394, 1428, 1462,
+ 1496, 1534, 1542, 1550, 1584, 1585, 1587, 1593, 1631, 1669, 1708, 1735, 1761, 1787, 1813, 1838,
+ 1863, 1864, 1891, 1918, 1945, 1953, 1980, 2012, 2044, 2076, 2108, 2142, 2174, 2208, 2242, 2276,
+ 2314, 2322, 2330, 2364, 2365, 2403, 2442, 2469, 2495, 2521, 2547, 2572, 2597, 2598, 2625, 2652,
+ 2679, 2687, 2714, 2746, 2778, 2810, 2842, 2876, 2908, 2942, 2976, 3010, 3048, 3056, 3090, 3096,
+ 3098, 3140, 3161, 3182, 3186, 3220, 3250, 3281, 3314, 0, 0,
];
-static _use_syllable_machine_single_lengths: [i8; 127] = [
- 2, 35, 26, 24, 14, 12, 7, 6, 5, 3, 2, 1, 11, 10, 9, 2, 8, 17, 16, 15, 14, 20, 13, 19, 18, 21,
- 23, 2, 13, 3, 2, 26, 14, 12, 7, 6, 5, 3, 2, 1, 11, 10, 9, 2, 8, 17, 16, 15, 14, 20, 13, 19, 18,
- 21, 25, 2, 2, 13, 2, 2, 28, 26, 14, 12, 7, 6, 5, 3, 2, 1, 11, 10, 9, 2, 8, 17, 16, 15, 14, 20,
- 13, 19, 18, 21, 25, 2, 2, 13, 24, 14, 12, 7, 6, 5, 3, 2, 1, 11, 10, 9, 2, 8, 17, 16, 15, 14,
- 20, 13, 19, 18, 21, 23, 2, 13, 2, 2, 29, 3, 2, 2, 5, 2, 3, 4, 28, 0, 0,
+static _use_syllable_machine_indices: [i16; 3354] = [
+ 1, 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 9, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 33, 1, 6, 37, 6, 38, 6, 6, 36, 40, 41, 39, 42, 39,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 40, 52, 53, 54, 55, 56, 57, 58, 59, 60, 39, 61, 62, 63, 64,
+ 61, 39, 39, 39, 39, 65, 39, 39, 64, 40, 41, 39, 42, 39, 43, 44, 45, 46, 47, 48, 49, 50, 51, 40,
+ 52, 53, 54, 55, 56, 57, 58, 39, 39, 39, 61, 62, 63, 64, 61, 39, 39, 39, 39, 65, 39, 39, 64, 40,
+ 39, 39, 39, 39, 39, 39, 42, 39, 39, 44, 45, 46, 47, 39, 39, 39, 39, 39, 39, 39, 39, 39, 56, 57,
+ 58, 39, 39, 39, 39, 62, 63, 64, 66, 39, 39, 39, 39, 44, 42, 39, 39, 44, 45, 46, 47, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 56, 57, 58, 39, 39, 39, 39, 62, 63, 64, 66, 42, 39, 39, 39, 45, 46, 47,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 62, 63, 64, 42, 39, 39, 39, 39,
+ 46, 47, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 62, 63, 64, 42, 39, 39,
+ 39, 39, 39, 47, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 62, 63, 64, 42,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 62, 63,
+ 42, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 63, 42, 42, 39, 39, 39, 45, 46, 47, 39, 39, 39, 39, 39, 39, 39, 39, 39, 56, 57, 58, 39, 39, 39,
+ 39, 62, 63, 64, 66, 42, 39, 39, 39, 45, 46, 47, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 57, 58,
+ 39, 39, 39, 39, 62, 63, 64, 66, 42, 39, 39, 39, 45, 46, 47, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 58, 39, 39, 39, 39, 62, 63, 64, 66, 67, 39, 39, 39, 39, 39, 39, 42, 42, 39, 39, 39, 45,
+ 46, 47, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 62, 63, 64, 66, 42, 39,
+ 43, 44, 45, 46, 47, 39, 39, 39, 39, 39, 39, 53, 54, 55, 56, 57, 58, 39, 39, 39, 39, 62, 63, 64,
+ 66, 39, 39, 39, 39, 44, 42, 39, 39, 44, 45, 46, 47, 39, 39, 39, 39, 39, 39, 53, 54, 55, 56, 57,
+ 58, 39, 39, 39, 39, 62, 63, 64, 66, 39, 39, 39, 39, 44, 42, 39, 39, 44, 45, 46, 47, 39, 39, 39,
+ 39, 39, 39, 39, 54, 55, 56, 57, 58, 39, 39, 39, 39, 62, 63, 64, 66, 39, 39, 39, 39, 44, 42, 39,
+ 39, 44, 45, 46, 47, 39, 39, 39, 39, 39, 39, 39, 39, 55, 56, 57, 58, 39, 39, 39, 39, 62, 63, 64,
+ 66, 39, 39, 39, 39, 44, 68, 39, 42, 39, 43, 44, 45, 46, 47, 39, 49, 50, 39, 39, 39, 53, 54, 55,
+ 56, 57, 58, 39, 39, 39, 39, 62, 63, 64, 66, 39, 39, 39, 39, 44, 42, 39, 39, 44, 45, 46, 47, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 56, 57, 58, 39, 39, 39, 39, 62, 63, 64, 66, 39, 39, 39, 39, 44,
+ 68, 39, 42, 39, 43, 44, 45, 46, 47, 39, 39, 50, 39, 39, 39, 53, 54, 55, 56, 57, 58, 39, 39, 39,
+ 39, 62, 63, 64, 66, 39, 39, 39, 39, 44, 68, 39, 42, 39, 43, 44, 45, 46, 47, 39, 39, 39, 39, 39,
+ 39, 53, 54, 55, 56, 57, 58, 39, 39, 39, 39, 62, 63, 64, 66, 39, 39, 39, 39, 44, 68, 39, 42, 39,
+ 43, 44, 45, 46, 47, 48, 49, 50, 39, 39, 39, 53, 54, 55, 56, 57, 58, 39, 39, 39, 39, 62, 63, 64,
+ 66, 39, 39, 39, 39, 44, 40, 41, 39, 42, 39, 43, 44, 45, 46, 47, 48, 49, 50, 51, 39, 52, 53, 54,
+ 55, 56, 57, 58, 39, 39, 39, 61, 62, 63, 64, 61, 39, 39, 39, 39, 65, 39, 39, 64, 40, 39, 39, 39,
+ 39, 39, 39, 42, 40, 39, 39, 39, 39, 39, 39, 42, 39, 39, 44, 45, 46, 47, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 56, 57, 58, 39, 39, 39, 39, 62, 63, 64, 66, 42, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 59, 60, 42, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 60, 5, 70, 69, 71, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 5, 81,
+ 82, 83, 84, 85, 86, 87, 69, 69, 69, 88, 89, 90, 91, 92, 69, 69, 69, 69, 93, 69, 69, 94, 5, 69,
+ 69, 69, 69, 69, 69, 71, 69, 69, 73, 74, 75, 76, 69, 69, 69, 69, 69, 69, 69, 69, 69, 85, 86, 87,
+ 69, 69, 69, 69, 89, 90, 91, 95, 69, 69, 69, 69, 73, 71, 69, 69, 73, 74, 75, 76, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 85, 86, 87, 69, 69, 69, 69, 89, 90, 91, 95, 71, 69, 69, 69, 74, 75, 76, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 89, 90, 91, 71, 69, 69, 69, 69, 75,
+ 76, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 89, 90, 91, 71, 69, 69, 69,
+ 69, 69, 76, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 89, 90, 91, 71, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 89, 90, 71,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 90,
+ 71, 71, 69, 69, 69, 74, 75, 76, 69, 69, 69, 69, 69, 69, 69, 69, 69, 85, 86, 87, 69, 69, 69, 69,
+ 89, 90, 91, 95, 71, 69, 69, 69, 74, 75, 76, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 86, 87, 69,
+ 69, 69, 69, 89, 90, 91, 95, 71, 69, 69, 69, 74, 75, 76, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 87, 69, 69, 69, 69, 89, 90, 91, 95, 97, 96, 96, 96, 96, 96, 96, 98, 71, 69, 69, 69, 74, 75,
+ 76, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 89, 90, 91, 95, 71, 69, 72,
+ 73, 74, 75, 76, 69, 69, 69, 69, 69, 69, 82, 83, 84, 85, 86, 87, 69, 69, 69, 69, 89, 90, 91, 95,
+ 69, 69, 69, 69, 73, 71, 69, 69, 73, 74, 75, 76, 69, 69, 69, 69, 69, 69, 82, 83, 84, 85, 86, 87,
+ 69, 69, 69, 69, 89, 90, 91, 95, 69, 69, 69, 69, 73, 71, 69, 69, 73, 74, 75, 76, 69, 69, 69, 69,
+ 69, 69, 69, 83, 84, 85, 86, 87, 69, 69, 69, 69, 89, 90, 91, 95, 69, 69, 69, 69, 73, 71, 69, 69,
+ 73, 74, 75, 76, 69, 69, 69, 69, 69, 69, 69, 69, 84, 85, 86, 87, 69, 69, 69, 69, 89, 90, 91, 95,
+ 69, 69, 69, 69, 73, 99, 69, 71, 69, 72, 73, 74, 75, 76, 69, 78, 79, 69, 69, 69, 82, 83, 84, 85,
+ 86, 87, 69, 69, 69, 69, 89, 90, 91, 95, 69, 69, 69, 69, 73, 71, 69, 69, 73, 74, 75, 76, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 85, 86, 87, 69, 69, 69, 69, 89, 90, 91, 95, 69, 69, 69, 69, 73, 99,
+ 69, 71, 69, 72, 73, 74, 75, 76, 69, 69, 79, 69, 69, 69, 82, 83, 84, 85, 86, 87, 69, 69, 69, 69,
+ 89, 90, 91, 95, 69, 69, 69, 69, 73, 99, 69, 71, 69, 72, 73, 74, 75, 76, 69, 69, 69, 69, 69, 69,
+ 82, 83, 84, 85, 86, 87, 69, 69, 69, 69, 89, 90, 91, 95, 69, 69, 69, 69, 73, 99, 69, 71, 69, 72,
+ 73, 74, 75, 76, 77, 78, 79, 69, 69, 69, 82, 83, 84, 85, 86, 87, 69, 69, 69, 69, 89, 90, 91, 95,
+ 69, 69, 69, 69, 73, 5, 70, 69, 71, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 69, 81, 82, 83, 84,
+ 85, 86, 87, 69, 69, 69, 88, 89, 90, 91, 92, 69, 69, 69, 69, 93, 69, 69, 94, 5, 100, 100, 100,
+ 100, 100, 100, 101, 5, 96, 96, 96, 96, 96, 96, 98, 5, 69, 69, 69, 69, 69, 69, 71, 69, 69, 73,
+ 74, 75, 76, 69, 69, 69, 69, 69, 69, 69, 69, 69, 85, 86, 87, 69, 69, 69, 69, 89, 90, 91, 95,
+ 101, 103, 104, 7, 105, 105, 105, 105, 106, 107, 108, 69, 71, 69, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 107, 118, 119, 120, 121, 122, 123, 124, 59, 60, 69, 125, 126, 127, 128, 129, 69,
+ 69, 69, 69, 130, 69, 69, 131, 107, 108, 69, 71, 69, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 107, 118, 119, 120, 121, 122, 123, 124, 69, 69, 69, 125, 126, 127, 128, 129, 69, 69, 69,
+ 69, 130, 69, 69, 131, 107, 69, 69, 69, 69, 69, 69, 71, 69, 69, 110, 111, 112, 113, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 122, 123, 124, 69, 69, 69, 69, 126, 127, 128, 132, 69, 69, 69, 69, 110,
+ 71, 69, 69, 110, 111, 112, 113, 69, 69, 69, 69, 69, 69, 69, 69, 69, 122, 123, 124, 69, 69, 69,
+ 69, 126, 127, 128, 132, 71, 69, 69, 69, 111, 112, 113, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 126, 127, 128, 71, 69, 69, 69, 69, 112, 113, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 126, 127, 128, 71, 69, 69, 69, 69, 69, 113, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 126, 127, 128, 71, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 126, 127, 71, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 127, 71, 71, 69,
+ 69, 69, 111, 112, 113, 69, 69, 69, 69, 69, 69, 69, 69, 69, 122, 123, 124, 69, 69, 69, 69, 126,
+ 127, 128, 132, 71, 69, 69, 69, 111, 112, 113, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 123, 124,
+ 69, 69, 69, 69, 126, 127, 128, 132, 71, 69, 69, 69, 111, 112, 113, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 124, 69, 69, 69, 69, 126, 127, 128, 132, 133, 96, 96, 96, 96, 96, 96, 98, 71,
+ 69, 69, 69, 111, 112, 113, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 126,
+ 127, 128, 132, 71, 69, 109, 110, 111, 112, 113, 69, 69, 69, 69, 69, 69, 119, 120, 121, 122,
+ 123, 124, 69, 69, 69, 69, 126, 127, 128, 132, 69, 69, 69, 69, 110, 71, 69, 69, 110, 111, 112,
+ 113, 69, 69, 69, 69, 69, 69, 119, 120, 121, 122, 123, 124, 69, 69, 69, 69, 126, 127, 128, 132,
+ 69, 69, 69, 69, 110, 71, 69, 69, 110, 111, 112, 113, 69, 69, 69, 69, 69, 69, 69, 120, 121, 122,
+ 123, 124, 69, 69, 69, 69, 126, 127, 128, 132, 69, 69, 69, 69, 110, 71, 69, 69, 110, 111, 112,
+ 113, 69, 69, 69, 69, 69, 69, 69, 69, 121, 122, 123, 124, 69, 69, 69, 69, 126, 127, 128, 132,
+ 69, 69, 69, 69, 110, 134, 69, 71, 69, 109, 110, 111, 112, 113, 69, 115, 116, 69, 69, 69, 119,
+ 120, 121, 122, 123, 124, 69, 69, 69, 69, 126, 127, 128, 132, 69, 69, 69, 69, 110, 71, 69, 69,
+ 110, 111, 112, 113, 69, 69, 69, 69, 69, 69, 69, 69, 69, 122, 123, 124, 69, 69, 69, 69, 126,
+ 127, 128, 132, 69, 69, 69, 69, 110, 134, 69, 71, 69, 109, 110, 111, 112, 113, 69, 69, 116, 69,
+ 69, 69, 119, 120, 121, 122, 123, 124, 69, 69, 69, 69, 126, 127, 128, 132, 69, 69, 69, 69, 110,
+ 134, 69, 71, 69, 109, 110, 111, 112, 113, 69, 69, 69, 69, 69, 69, 119, 120, 121, 122, 123, 124,
+ 69, 69, 69, 69, 126, 127, 128, 132, 69, 69, 69, 69, 110, 134, 69, 71, 69, 109, 110, 111, 112,
+ 113, 114, 115, 116, 69, 69, 69, 119, 120, 121, 122, 123, 124, 69, 69, 69, 69, 126, 127, 128,
+ 132, 69, 69, 69, 69, 110, 107, 108, 69, 71, 69, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 69, 118, 119, 120, 121, 122, 123, 124, 69, 69, 69, 125, 126, 127, 128, 129, 69, 69, 69, 69,
+ 130, 69, 69, 131, 107, 100, 100, 100, 100, 100, 100, 101, 107, 96, 96, 96, 96, 96, 96, 98, 107,
+ 69, 69, 69, 69, 69, 69, 71, 69, 69, 110, 111, 112, 113, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 122, 123, 124, 69, 69, 69, 69, 126, 127, 128, 132, 101, 9, 10, 135, 12, 135, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 9, 23, 24, 25, 26, 27, 28, 29, 135, 135, 135, 33, 34, 35, 36, 33, 135, 135,
+ 135, 135, 38, 135, 135, 36, 9, 135, 135, 135, 135, 135, 135, 12, 135, 135, 15, 16, 17, 18, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 27, 28, 29, 135, 135, 135, 135, 34, 35, 36, 136, 135,
+ 135, 135, 135, 15, 12, 135, 135, 15, 16, 17, 18, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 27, 28, 29, 135, 135, 135, 135, 34, 35, 36, 136, 12, 135, 135, 135, 16, 17, 18, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 34, 35, 36, 12, 135, 135, 135,
+ 135, 17, 18, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 34, 35, 36, 12, 135, 135, 135, 135, 135, 18, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 34, 35, 36, 12, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 34, 35, 12, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 35, 12, 12, 135, 135, 135, 16, 17, 18, 135, 135, 135, 135, 135, 135, 135, 135, 135, 27, 28, 29,
+ 135, 135, 135, 135, 34, 35, 36, 136, 12, 135, 135, 135, 16, 17, 18, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 28, 29, 135, 135, 135, 135, 34, 35, 36, 136, 12, 135, 135, 135, 16,
+ 17, 18, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 29, 135, 135, 135, 135, 34, 35,
+ 36, 136, 137, 135, 135, 135, 135, 135, 135, 12, 12, 135, 135, 135, 16, 17, 18, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 34, 35, 36, 136, 12, 135, 14,
+ 15, 16, 17, 18, 135, 135, 135, 135, 135, 135, 24, 25, 26, 27, 28, 29, 135, 135, 135, 135, 34,
+ 35, 36, 136, 135, 135, 135, 135, 15, 12, 135, 135, 15, 16, 17, 18, 135, 135, 135, 135, 135,
+ 135, 24, 25, 26, 27, 28, 29, 135, 135, 135, 135, 34, 35, 36, 136, 135, 135, 135, 135, 15, 12,
+ 135, 135, 15, 16, 17, 18, 135, 135, 135, 135, 135, 135, 135, 25, 26, 27, 28, 29, 135, 135, 135,
+ 135, 34, 35, 36, 136, 135, 135, 135, 135, 15, 12, 135, 135, 15, 16, 17, 18, 135, 135, 135, 135,
+ 135, 135, 135, 135, 26, 27, 28, 29, 135, 135, 135, 135, 34, 35, 36, 136, 135, 135, 135, 135,
+ 15, 138, 135, 12, 135, 14, 15, 16, 17, 18, 135, 20, 21, 135, 135, 135, 24, 25, 26, 27, 28, 29,
+ 135, 135, 135, 135, 34, 35, 36, 136, 135, 135, 135, 135, 15, 12, 135, 135, 15, 16, 17, 18, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 27, 28, 29, 135, 135, 135, 135, 34, 35, 36, 136, 135,
+ 135, 135, 135, 15, 138, 135, 12, 135, 14, 15, 16, 17, 18, 135, 135, 21, 135, 135, 135, 24, 25,
+ 26, 27, 28, 29, 135, 135, 135, 135, 34, 35, 36, 136, 135, 135, 135, 135, 15, 138, 135, 12, 135,
+ 14, 15, 16, 17, 18, 135, 135, 135, 135, 135, 135, 24, 25, 26, 27, 28, 29, 135, 135, 135, 135,
+ 34, 35, 36, 136, 135, 135, 135, 135, 15, 138, 135, 12, 135, 14, 15, 16, 17, 18, 19, 20, 21,
+ 135, 135, 135, 24, 25, 26, 27, 28, 29, 135, 135, 135, 135, 34, 35, 36, 136, 135, 135, 135, 135,
+ 15, 9, 10, 135, 12, 135, 14, 15, 16, 17, 18, 19, 20, 21, 22, 135, 23, 24, 25, 26, 27, 28, 29,
+ 135, 135, 135, 33, 34, 35, 36, 33, 135, 135, 135, 135, 38, 135, 135, 36, 9, 135, 135, 135, 135,
+ 135, 135, 12, 9, 135, 135, 135, 135, 135, 135, 12, 135, 135, 15, 16, 17, 18, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 27, 28, 29, 135, 135, 135, 135, 34, 35, 36, 136, 139, 135, 135,
+ 135, 135, 12, 11, 12, 5, 135, 135, 5, 9, 10, 11, 12, 135, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 9, 23, 24, 25, 26, 27, 28, 29, 30, 31, 135, 33, 34, 35, 36, 33, 135, 135, 135, 135, 38, 135,
+ 135, 36, 12, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 30, 31, 12, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 31, 5, 140, 140, 5, 142, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 143,
+ 141, 144, 141, 144, 145, 142, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 1, 143, 143, 142, 141, 141,
+ 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 141, 141, 141, 143, 141, 144, 142, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 143,
+ 141, 144, 141, 144, 40, 41, 39, 42, 39, 43, 44, 45, 46, 47, 48, 49, 50, 51, 40, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 39, 61, 62, 63, 64, 61, 1, 39, 2, 39, 65, 39, 39, 64, 0, 0,
];
-static _use_syllable_machine_range_lengths: [i8; 127] = [
- 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
-];
-static _use_syllable_machine_index_offsets: [i16; 127] = [
- 0, 3, 40, 68, 94, 109, 122, 130, 137, 143, 147, 150, 152, 164, 175, 185, 188, 197, 215, 232,
- 248, 263, 284, 298, 318, 337, 359, 384, 387, 401, 405, 408, 435, 450, 463, 471, 478, 484, 488,
- 491, 493, 505, 516, 526, 529, 538, 556, 573, 589, 604, 625, 639, 659, 678, 700, 726, 729, 732,
- 746, 749, 752, 781, 808, 823, 836, 844, 851, 857, 861, 864, 866, 878, 889, 899, 902, 911, 929,
- 946, 962, 977, 998, 1012, 1032, 1051, 1073, 1099, 1102, 1105, 1119, 1145, 1160, 1173, 1181,
- 1188, 1194, 1198, 1201, 1203, 1215, 1226, 1236, 1239, 1248, 1266, 1283, 1299, 1314, 1335, 1349,
- 1369, 1388, 1410, 1435, 1438, 1452, 1455, 1458, 1489, 1493, 1496, 1499, 1505, 1509, 1513, 1518,
- 0, 0,
+static _use_syllable_machine_index_defaults: [i16; 129] = [
+ 0, 6, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 96, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 100, 96, 69, 100, 102, 105, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 96, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 100, 96, 69, 100, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 140, 141, 141, 141, 141, 39, 0, 0,
];
-static _use_syllable_machine_cond_targs: [i8; 1675] = [
- 120, 0, 1, 2, 31, 58, 60, 88, 89, 114, 1, 116, 102, 90, 91, 92, 93, 106, 108, 109, 110, 88,
- 111, 103, 104, 105, 97, 98, 99, 117, 118, 119, 94, 95, 96, 120, 124, 113, 112, 1, 3, 4, 1, 17,
- 5, 6, 7, 8, 21, 23, 24, 25, 3, 26, 18, 19, 20, 12, 13, 14, 29, 30, 9, 10, 11, 28, 27, 1, 3, 4,
- 1, 17, 5, 6, 7, 8, 21, 23, 24, 25, 3, 26, 18, 19, 20, 12, 13, 14, 9, 10, 11, 28, 27, 1, 3, 1,
- 5, 6, 7, 8, 12, 13, 14, 9, 10, 11, 15, 5, 1, 1, 5, 6, 7, 8, 12, 13, 14, 9, 10, 11, 15, 1, 1, 6,
- 7, 8, 9, 10, 11, 1, 1, 7, 8, 9, 10, 11, 1, 1, 8, 9, 10, 11, 1, 1, 9, 10, 1, 1, 10, 1, 1, 1, 1,
- 6, 7, 8, 12, 13, 14, 9, 10, 11, 15, 1, 1, 6, 7, 8, 13, 14, 9, 10, 11, 15, 1, 1, 6, 7, 8, 14, 9,
- 10, 11, 15, 1, 16, 1, 1, 1, 6, 7, 8, 9, 10, 11, 15, 1, 1, 17, 5, 6, 7, 8, 18, 19, 20, 12, 13,
- 14, 9, 10, 11, 15, 5, 1, 1, 5, 6, 7, 8, 18, 19, 20, 12, 13, 14, 9, 10, 11, 15, 5, 1, 1, 5, 6,
- 7, 8, 19, 20, 12, 13, 14, 9, 10, 11, 15, 5, 1, 1, 5, 6, 7, 8, 20, 12, 13, 14, 9, 10, 11, 15, 5,
- 1, 22, 1, 17, 5, 6, 7, 8, 23, 24, 18, 19, 20, 12, 13, 14, 9, 10, 11, 15, 5, 1, 1, 5, 6, 7, 8,
- 12, 13, 14, 9, 10, 11, 15, 5, 1, 22, 1, 17, 5, 6, 7, 8, 24, 18, 19, 20, 12, 13, 14, 9, 10, 11,
- 15, 5, 1, 22, 1, 17, 5, 6, 7, 8, 18, 19, 20, 12, 13, 14, 9, 10, 11, 15, 5, 1, 22, 1, 17, 5, 6,
- 7, 8, 21, 23, 24, 18, 19, 20, 12, 13, 14, 9, 10, 11, 15, 5, 1, 3, 4, 1, 17, 5, 6, 7, 8, 21, 23,
- 24, 25, 26, 18, 19, 20, 12, 13, 14, 9, 10, 11, 28, 27, 1, 3, 1, 1, 3, 1, 5, 6, 7, 8, 12, 13,
- 14, 9, 10, 11, 15, 1, 1, 29, 30, 1, 1, 30, 1, 31, 32, 1, 45, 33, 34, 35, 36, 49, 51, 52, 53,
- 31, 54, 46, 47, 48, 40, 41, 42, 55, 37, 38, 39, 56, 57, 1, 31, 1, 33, 34, 35, 36, 40, 41, 42,
- 37, 38, 39, 43, 33, 1, 1, 33, 34, 35, 36, 40, 41, 42, 37, 38, 39, 43, 1, 1, 34, 35, 36, 37, 38,
- 39, 1, 1, 35, 36, 37, 38, 39, 1, 1, 36, 37, 38, 39, 1, 1, 37, 38, 1, 1, 38, 1, 1, 1, 1, 34, 35,
- 36, 40, 41, 42, 37, 38, 39, 43, 1, 1, 34, 35, 36, 41, 42, 37, 38, 39, 43, 1, 1, 34, 35, 36, 42,
- 37, 38, 39, 43, 1, 44, 1, 1, 1, 34, 35, 36, 37, 38, 39, 43, 1, 1, 45, 33, 34, 35, 36, 46, 47,
- 48, 40, 41, 42, 37, 38, 39, 43, 33, 1, 1, 33, 34, 35, 36, 46, 47, 48, 40, 41, 42, 37, 38, 39,
- 43, 33, 1, 1, 33, 34, 35, 36, 47, 48, 40, 41, 42, 37, 38, 39, 43, 33, 1, 1, 33, 34, 35, 36, 48,
- 40, 41, 42, 37, 38, 39, 43, 33, 1, 50, 1, 45, 33, 34, 35, 36, 51, 52, 46, 47, 48, 40, 41, 42,
- 37, 38, 39, 43, 33, 1, 1, 33, 34, 35, 36, 40, 41, 42, 37, 38, 39, 43, 33, 1, 50, 1, 45, 33, 34,
- 35, 36, 52, 46, 47, 48, 40, 41, 42, 37, 38, 39, 43, 33, 1, 50, 1, 45, 33, 34, 35, 36, 46, 47,
- 48, 40, 41, 42, 37, 38, 39, 43, 33, 1, 50, 1, 45, 33, 34, 35, 36, 49, 51, 52, 46, 47, 48, 40,
- 41, 42, 37, 38, 39, 43, 33, 1, 31, 32, 1, 45, 33, 34, 35, 36, 49, 51, 52, 53, 54, 46, 47, 48,
- 40, 41, 42, 55, 37, 38, 39, 56, 57, 1, 31, 1, 1, 31, 1, 1, 31, 1, 33, 34, 35, 36, 40, 41, 42,
- 37, 38, 39, 43, 1, 59, 1, 1, 58, 1, 1, 61, 62, 1, 75, 63, 64, 65, 66, 79, 81, 82, 83, 61, 84,
- 76, 77, 78, 70, 71, 72, 29, 30, 85, 67, 68, 69, 86, 87, 1, 61, 62, 1, 75, 63, 64, 65, 66, 79,
- 81, 82, 83, 61, 84, 76, 77, 78, 70, 71, 72, 85, 67, 68, 69, 86, 87, 1, 61, 1, 63, 64, 65, 66,
- 70, 71, 72, 67, 68, 69, 73, 63, 1, 1, 63, 64, 65, 66, 70, 71, 72, 67, 68, 69, 73, 1, 1, 64, 65,
- 66, 67, 68, 69, 1, 1, 65, 66, 67, 68, 69, 1, 1, 66, 67, 68, 69, 1, 1, 67, 68, 1, 1, 68, 1, 1,
- 1, 1, 64, 65, 66, 70, 71, 72, 67, 68, 69, 73, 1, 1, 64, 65, 66, 71, 72, 67, 68, 69, 73, 1, 1,
- 64, 65, 66, 72, 67, 68, 69, 73, 1, 74, 1, 1, 1, 64, 65, 66, 67, 68, 69, 73, 1, 1, 75, 63, 64,
- 65, 66, 76, 77, 78, 70, 71, 72, 67, 68, 69, 73, 63, 1, 1, 63, 64, 65, 66, 76, 77, 78, 70, 71,
- 72, 67, 68, 69, 73, 63, 1, 1, 63, 64, 65, 66, 77, 78, 70, 71, 72, 67, 68, 69, 73, 63, 1, 1, 63,
- 64, 65, 66, 78, 70, 71, 72, 67, 68, 69, 73, 63, 1, 80, 1, 75, 63, 64, 65, 66, 81, 82, 76, 77,
- 78, 70, 71, 72, 67, 68, 69, 73, 63, 1, 1, 63, 64, 65, 66, 70, 71, 72, 67, 68, 69, 73, 63, 1,
- 80, 1, 75, 63, 64, 65, 66, 82, 76, 77, 78, 70, 71, 72, 67, 68, 69, 73, 63, 1, 80, 1, 75, 63,
- 64, 65, 66, 76, 77, 78, 70, 71, 72, 67, 68, 69, 73, 63, 1, 80, 1, 75, 63, 64, 65, 66, 79, 81,
- 82, 76, 77, 78, 70, 71, 72, 67, 68, 69, 73, 63, 1, 61, 62, 1, 75, 63, 64, 65, 66, 79, 81, 82,
- 83, 84, 76, 77, 78, 70, 71, 72, 85, 67, 68, 69, 86, 87, 1, 61, 1, 1, 61, 1, 1, 61, 1, 63, 64,
- 65, 66, 70, 71, 72, 67, 68, 69, 73, 1, 88, 89, 1, 102, 90, 91, 92, 93, 106, 108, 109, 110, 88,
- 111, 103, 104, 105, 97, 98, 99, 94, 95, 96, 113, 112, 1, 88, 1, 90, 91, 92, 93, 97, 98, 99, 94,
- 95, 96, 100, 90, 1, 1, 90, 91, 92, 93, 97, 98, 99, 94, 95, 96, 100, 1, 1, 91, 92, 93, 94, 95,
- 96, 1, 1, 92, 93, 94, 95, 96, 1, 1, 93, 94, 95, 96, 1, 1, 94, 95, 1, 1, 95, 1, 1, 1, 1, 91, 92,
- 93, 97, 98, 99, 94, 95, 96, 100, 1, 1, 91, 92, 93, 98, 99, 94, 95, 96, 100, 1, 1, 91, 92, 93,
- 99, 94, 95, 96, 100, 1, 101, 1, 1, 1, 91, 92, 93, 94, 95, 96, 100, 1, 1, 102, 90, 91, 92, 93,
- 103, 104, 105, 97, 98, 99, 94, 95, 96, 100, 90, 1, 1, 90, 91, 92, 93, 103, 104, 105, 97, 98,
- 99, 94, 95, 96, 100, 90, 1, 1, 90, 91, 92, 93, 104, 105, 97, 98, 99, 94, 95, 96, 100, 90, 1, 1,
- 90, 91, 92, 93, 105, 97, 98, 99, 94, 95, 96, 100, 90, 1, 107, 1, 102, 90, 91, 92, 93, 108, 109,
- 103, 104, 105, 97, 98, 99, 94, 95, 96, 100, 90, 1, 1, 90, 91, 92, 93, 97, 98, 99, 94, 95, 96,
- 100, 90, 1, 107, 1, 102, 90, 91, 92, 93, 109, 103, 104, 105, 97, 98, 99, 94, 95, 96, 100, 90,
- 1, 107, 1, 102, 90, 91, 92, 93, 103, 104, 105, 97, 98, 99, 94, 95, 96, 100, 90, 1, 107, 1, 102,
- 90, 91, 92, 93, 106, 108, 109, 103, 104, 105, 97, 98, 99, 94, 95, 96, 100, 90, 1, 88, 89, 1,
- 102, 90, 91, 92, 93, 106, 108, 109, 110, 111, 103, 104, 105, 97, 98, 99, 94, 95, 96, 113, 112,
- 1, 88, 1, 1, 88, 1, 90, 91, 92, 93, 97, 98, 99, 94, 95, 96, 100, 1, 115, 1, 1, 114, 1, 1, 31,
- 31, 88, 89, 114, 1, 102, 90, 91, 92, 93, 106, 108, 109, 110, 88, 111, 103, 104, 105, 97, 98,
- 99, 117, 118, 94, 95, 96, 113, 112, 1, 1, 117, 118, 1, 1, 118, 1, 31, 31, 1, 1, 121, 122, 122,
- 123, 1, 1, 120, 121, 1, 1, 121, 122, 1, 1, 121, 122, 122, 1, 3, 4, 1, 17, 5, 6, 7, 8, 21, 23,
- 24, 25, 3, 26, 18, 19, 20, 12, 13, 14, 29, 30, 9, 10, 11, 120, 0, 28, 27, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
+static _use_syllable_machine_cond_targs: [i8; 148] = [
+ 1, 122, 0, 1, 2, 31, 1, 59, 61, 90, 91, 116, 1, 118, 104, 92, 93, 94, 95, 108, 110, 111, 112,
+ 113, 105, 106, 107, 99, 100, 101, 119, 120, 121, 114, 96, 97, 98, 126, 115, 1, 3, 4, 1, 17, 5,
+ 6, 7, 8, 21, 23, 24, 25, 26, 18, 19, 20, 12, 13, 14, 29, 30, 27, 9, 10, 11, 28, 15, 16, 22, 1,
+ 32, 1, 45, 33, 34, 35, 36, 49, 51, 52, 53, 54, 46, 47, 48, 40, 41, 42, 55, 37, 38, 39, 56, 57,
+ 58, 43, 1, 44, 1, 50, 1, 1, 1, 60, 1, 1, 1, 62, 63, 76, 64, 65, 66, 67, 80, 82, 83, 84, 85, 77,
+ 78, 79, 71, 72, 73, 86, 68, 69, 70, 87, 88, 89, 74, 75, 81, 1, 102, 103, 109, 117, 1, 1, 1,
+ 123, 124, 125, 0, 0,
];
-static _use_syllable_machine_cond_actions: [i8; 1675] = [
- 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 5, 0, 0, 23, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 35, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 35, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 17,
- 0, 0, 0, 0, 0, 0, 35, 17, 0, 0, 0, 0, 0, 35, 17, 0, 0, 0, 0, 35, 17, 0, 0, 35, 17, 0, 35, 17,
- 35, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 35, 0, 17, 35, 17, 0, 0, 0, 0, 0, 0, 0, 35, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 35, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 17, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 17, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 17,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 17, 35, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 35, 17, 0, 0, 35, 17, 0, 35, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0,
- 0, 29, 11, 0, 0, 29, 11, 0, 29, 11, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 9, 27, 11, 0, 0, 0, 0, 0, 0, 0, 29, 11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 29, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
- 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 29, 0, 7, 25, 0, 9, 27, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 15, 33, 0, 13,
- 31, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
- 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 11, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0,
- 29, 11, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 29, 11, 0, 0, 29, 11, 0, 29, 11, 29, 11, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 9,
- 27, 11, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
- 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 29, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 11,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 7, 25, 0, 9, 27, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39,
- 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 21, 0,
- 0, 0, 0, 0, 0, 39, 21, 0, 0, 0, 0, 0, 39, 21, 0, 0, 0, 0, 39, 21, 0, 0, 39, 21, 0, 39, 21, 39,
- 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 21, 0, 0, 0, 0, 0, 0,
- 0, 0, 39, 0, 21, 39, 21, 0, 0, 0, 0, 0, 0, 0, 39, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 39, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 39, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 21, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 39, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 21, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 21, 39, 0, 21, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 39, 0, 21, 39, 0, 21, 39, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 21, 0, 0, 39, 21, 0, 39, 0, 0, 41, 19, 0, 0, 0,
- 0, 37, 19, 0, 0, 37, 19, 0, 0, 37, 19, 0, 0, 0, 37, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 43, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 27, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 25, 27, 29, 33, 31,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 27, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 25, 27, 29, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 41, 37, 37, 37, 37, 35, 0, 0,
+static _use_syllable_machine_cond_actions: [i8; 148] = [
+ 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 6, 0, 7, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 11, 0, 12, 0, 13, 14, 15, 0, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 0, 0,
];
-static _use_syllable_machine_to_state_actions: [i8; 127] = [
- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+static _use_syllable_machine_to_state_actions: [i8; 129] = [
+ 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
];
-static _use_syllable_machine_from_state_actions: [i8; 127] = [
+static _use_syllable_machine_from_state_actions: [i8; 129] = [
0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,
];
-static _use_syllable_machine_eof_trans: [i16; 127] = [
- 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564,
- 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580,
- 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596,
- 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612,
- 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628,
- 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644,
- 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660,
- 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 0, 0,
+static _use_syllable_machine_eof_trans: [i16; 129] = [
+ 1, 4, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 97, 70, 70, 70, 70,
+ 70, 70, 70, 70, 70, 70, 70, 101, 97, 70, 101, 103, 106, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
+ 70, 70, 70, 97, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 101, 97, 70, 101, 136, 136, 136,
+ 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
+ 136, 136, 136, 136, 136, 136, 136, 136, 136, 141, 142, 142, 142, 142, 40, 0, 0,
];
static use_syllable_machine_start: i32 = 1;
static use_syllable_machine_first_final: i32 = 1;
@@ -314,27 +292,18 @@ pub fn find_syllables(buffer: &mut hb_buffer_t) {
}
{
- let mut _klen = 0;
let mut _trans = 0;
let mut _keys: i32 = 0;
- let mut _acts: i32 = 0;
- let mut _nacts = 0;
- let mut __have = 0;
+ let mut _inds: i32 = 0;
+ let mut _ic = 0;
'_resume: while (p != pe || p == eof) {
'_again: while (true) {
- _acts = (_use_syllable_machine_from_state_actions[(cs) as usize]) as i32;
- _nacts = (_use_syllable_machine_actions[(_acts) as usize]) as u32;
- _acts += 1;
- while (_nacts > 0) {
- match (_use_syllable_machine_actions[(_acts) as usize]) {
- 1 => {
- ts = p;
- }
-
- _ => {}
+ match (_use_syllable_machine_from_state_actions[(cs) as usize]) {
+ 3 => {
+ ts = p;
}
- _nacts -= 1;
- _acts += 1;
+
+ _ => {}
}
if (p == eof) {
{
@@ -347,71 +316,40 @@ pub fn find_syllables(buffer: &mut hb_buffer_t) {
}
} else {
{
- _keys = (_use_syllable_machine_key_offsets[(cs) as usize]) as i32;
- _trans = (_use_syllable_machine_index_offsets[(cs) as usize]) as u32;
- _klen = (_use_syllable_machine_single_lengths[(cs) as usize]) as i32;
- __have = 0;
- if (_klen > 0) {
+ _keys = (cs << 1) as i32;
+ _inds = (_use_syllable_machine_index_offsets[(cs) as usize]) as i32;
+ if ((infos[p.index()].get().use_category() as u8) <= 56) {
{
- let mut _lower: i32 = _keys;
- let mut _upper: i32 = _keys + _klen - 1;
- let mut _mid: i32 = 0;
- while (true) {
- if (_upper < _lower) {
- {
- _keys += _klen;
- _trans += (_klen) as u32;
- break;
- }
- }
- _mid = _lower + ((_upper - _lower) >> 1);
- if ((infos[p.index()].get().use_category() as u8)
- < _use_syllable_machine_trans_keys[(_mid) as usize])
- {
- _upper = _mid - 1;
- } else if ((infos[p.index()].get().use_category() as u8)
- > _use_syllable_machine_trans_keys[(_mid) as usize])
- {
- _lower = _mid + 1;
- } else {
- {
- __have = 1;
- _trans += (_mid - _keys) as u32;
- break;
- }
- }
+ _ic = (_use_syllable_machine_char_class[((infos[p.index()]
+ .get()
+ .use_category()
+ as u8)
+ as i32
+ - 0)
+ as usize]) as i32;
+ if (_ic
+ <= (_use_syllable_machine_trans_keys[(_keys + 1) as usize])
+ as i32
+ && _ic
+ >= (_use_syllable_machine_trans_keys[(_keys) as usize])
+ as i32)
+ {
+ _trans = (_use_syllable_machine_indices[(_inds
+ + (_ic
+ - (_use_syllable_machine_trans_keys[(_keys) as usize])
+ as i32)
+ as i32)
+ as usize])
+ as u32;
+ } else {
+ _trans = (_use_syllable_machine_index_defaults[(cs) as usize])
+ as u32;
}
}
- }
- _klen = (_use_syllable_machine_range_lengths[(cs) as usize]) as i32;
- if (__have == 0 && _klen > 0) {
+ } else {
{
- let mut _lower: i32 = _keys;
- let mut _upper: i32 = _keys + (_klen << 1) - 2;
- let mut _mid: i32 = 0;
- while (true) {
- if (_upper < _lower) {
- {
- _trans += (_klen) as u32;
- break;
- }
- }
- _mid = _lower + (((_upper - _lower) >> 1) & !1);
- if ((infos[p.index()].get().use_category() as u8)
- < _use_syllable_machine_trans_keys[(_mid) as usize])
- {
- _upper = _mid - 2;
- } else if ((infos[p.index()].get().use_category() as u8)
- > _use_syllable_machine_trans_keys[(_mid + 1) as usize])
- {
- _lower = _mid + 2;
- } else {
- {
- _trans += ((_mid - _keys) >> 1) as u32;
- break;
- }
- }
- }
+ _trans =
+ (_use_syllable_machine_index_defaults[(cs) as usize]) as u32;
}
}
}
@@ -419,150 +357,139 @@ pub fn find_syllables(buffer: &mut hb_buffer_t) {
cs = (_use_syllable_machine_cond_targs[(_trans) as usize]) as i32;
if (_use_syllable_machine_cond_actions[(_trans) as usize] != 0) {
{
- _acts = (_use_syllable_machine_cond_actions[(_trans) as usize]) as i32;
- _nacts = (_use_syllable_machine_actions[(_acts) as usize]) as u32;
- _acts += 1;
- while (_nacts > 0) {
- match (_use_syllable_machine_actions[(_acts) as usize]) {
- 2 => {
- te = p + 1;
- }
- 3 => {
- te = p + 1;
- {
- found_syllable!(SyllableType::ViramaTerminatedCluster);
- }
+ match (_use_syllable_machine_cond_actions[(_trans) as usize]) {
+ 6 => {
+ te = p + 1;
+ }
+ 14 => {
+ te = p + 1;
+ {
+ found_syllable!(SyllableType::ViramaTerminatedCluster);
}
- 4 => {
- te = p + 1;
- {
- found_syllable!(SyllableType::SakotTerminatedCluster);
- }
+ }
+ 12 => {
+ te = p + 1;
+ {
+ found_syllable!(SyllableType::SakotTerminatedCluster);
}
- 5 => {
- te = p + 1;
- {
- found_syllable!(SyllableType::StandardCluster);
- }
+ }
+ 10 => {
+ te = p + 1;
+ {
+ found_syllable!(SyllableType::StandardCluster);
}
- 6 => {
- te = p + 1;
- {
- found_syllable!(
- SyllableType::NumberJoinerTerminatedCluster
- );
- }
+ }
+ 18 => {
+ te = p + 1;
+ {
+ found_syllable!(SyllableType::NumberJoinerTerminatedCluster);
}
- 7 => {
- te = p + 1;
- {
- found_syllable!(SyllableType::NumeralCluster);
- }
+ }
+ 16 => {
+ te = p + 1;
+ {
+ found_syllable!(SyllableType::NumeralCluster);
}
- 8 => {
- te = p + 1;
- {
- found_syllable!(SyllableType::SymbolCluster);
- }
+ }
+ 8 => {
+ te = p + 1;
+ {
+ found_syllable!(SyllableType::SymbolCluster);
}
- 9 => {
- te = p + 1;
- {
- found_syllable!(SyllableType::HieroglyphCluster);
- }
+ }
+ 22 => {
+ te = p + 1;
+ {
+ found_syllable!(SyllableType::HieroglyphCluster);
}
- 10 => {
- te = p + 1;
- {
- found_syllable!(SyllableType::BrokenCluster);
- buffer.scratch_flags |=
- HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE;
- }
+ }
+ 5 => {
+ te = p + 1;
+ {
+ found_syllable!(SyllableType::BrokenCluster);
+ buffer.scratch_flags |=
+ HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE;
}
- 11 => {
- te = p + 1;
- {
- found_syllable!(SyllableType::NonCluster);
- }
+ }
+ 4 => {
+ te = p + 1;
+ {
+ found_syllable!(SyllableType::NonCluster);
}
- 12 => {
- te = p;
- p = p - 1;
- {
- found_syllable!(SyllableType::ViramaTerminatedCluster);
- }
+ }
+ 13 => {
+ te = p;
+ p = p - 1;
+ {
+ found_syllable!(SyllableType::ViramaTerminatedCluster);
}
- 13 => {
- te = p;
- p = p - 1;
- {
- found_syllable!(SyllableType::SakotTerminatedCluster);
- }
+ }
+ 11 => {
+ te = p;
+ p = p - 1;
+ {
+ found_syllable!(SyllableType::SakotTerminatedCluster);
}
- 14 => {
- te = p;
- p = p - 1;
- {
- found_syllable!(SyllableType::StandardCluster);
- }
+ }
+ 9 => {
+ te = p;
+ p = p - 1;
+ {
+ found_syllable!(SyllableType::StandardCluster);
}
- 15 => {
- te = p;
- p = p - 1;
- {
- found_syllable!(
- SyllableType::NumberJoinerTerminatedCluster
- );
- }
+ }
+ 17 => {
+ te = p;
+ p = p - 1;
+ {
+ found_syllable!(SyllableType::NumberJoinerTerminatedCluster);
}
- 16 => {
- te = p;
- p = p - 1;
- {
- found_syllable!(SyllableType::NumeralCluster);
- }
+ }
+ 15 => {
+ te = p;
+ p = p - 1;
+ {
+ found_syllable!(SyllableType::NumeralCluster);
}
- 17 => {
- te = p;
- p = p - 1;
- {
- found_syllable!(SyllableType::SymbolCluster);
- }
+ }
+ 7 => {
+ te = p;
+ p = p - 1;
+ {
+ found_syllable!(SyllableType::SymbolCluster);
}
- 18 => {
- te = p;
- p = p - 1;
- {
- found_syllable!(SyllableType::HieroglyphCluster);
- }
+ }
+ 21 => {
+ te = p;
+ p = p - 1;
+ {
+ found_syllable!(SyllableType::HieroglyphCluster);
}
- 19 => {
- te = p;
- p = p - 1;
- {
- found_syllable!(SyllableType::BrokenCluster);
- buffer.scratch_flags |=
- HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE;
- }
+ }
+ 19 => {
+ te = p;
+ p = p - 1;
+ {
+ found_syllable!(SyllableType::BrokenCluster);
+ buffer.scratch_flags |=
+ HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE;
}
- 20 => {
- te = p;
- p = p - 1;
- {
- found_syllable!(SyllableType::NonCluster);
- }
+ }
+ 20 => {
+ te = p;
+ p = p - 1;
+ {
+ found_syllable!(SyllableType::NonCluster);
}
- 21 => {
- p = (te) - 1;
- {
- found_syllable!(SyllableType::SymbolCluster);
- }
+ }
+ 1 => {
+ p = (te) - 1;
+ {
+ found_syllable!(SyllableType::SymbolCluster);
}
-
- _ => {}
}
- _nacts -= 1;
- _acts += 1;
+
+ _ => {}
}
}
}
@@ -576,19 +503,12 @@ pub fn find_syllables(buffer: &mut hb_buffer_t) {
}
} else {
{
- _acts = (_use_syllable_machine_to_state_actions[(cs) as usize]) as i32;
- _nacts = (_use_syllable_machine_actions[(_acts) as usize]) as u32;
- _acts += 1;
- while (_nacts > 0) {
- match (_use_syllable_machine_actions[(_acts) as usize]) {
- 0 => {
- ts = p0;
- }
-
- _ => {}
+ match (_use_syllable_machine_to_state_actions[(cs) as usize]) {
+ 2 => {
+ ts = p0;
}
- _nacts -= 1;
- _acts += 1;
+
+ _ => {}
}
p += 1;
continue '_resume;
diff --git a/src/hb/ot_shaper_use_table.rs b/src/hb/ot_shaper_use_table.rs
index 1ca8fc69..d333988f 100644
--- a/src/hb/ot_shaper_use_table.rs
+++ b/src/hb/ot_shaper_use_table.rs
@@ -49,7 +49,7 @@
use super::ot_shaper_use::category::*;
-const hb_use_u8: [u8; 3343] =
+const hb_use_u8: [u8; 3345] =
[
16, 50, 51, 51, 51, 52, 51, 83, 118, 131, 57, 58, 59, 195, 211, 62,
51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
@@ -149,89 +149,89 @@ const hb_use_u8: [u8; 3343] =
2, 2, 2, 107, 22, 20, 20, 22, 48, 48, 22, 108, 2, 2, 2, 9,
0, 0, 0, 0, 0, 0, 109, 110, 110, 110, 110, 0, 0, 0, 0, 0,
0, 106, 74, 2, 2, 2, 2, 2, 2, 60, 61, 59, 25, 22, 111, 61,
- 2, 2, 2, 2, 107, 22, 23, 45, 45, 102, 14, 0, 0, 0, 0, 0,
- 0, 2, 2, 61, 18, 48, 23, 112, 102, 102, 102, 113, 114, 0, 0, 0,
- 0, 2, 2, 2, 2, 2, 0, 30, 2, 11, 46, 115, 115, 115, 11, 115,
- 115, 15, 115, 115, 115, 26, 0, 40, 0, 0, 0, 116, 51, 11, 5, 0,
- 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 6, 118,
- 119, 42, 42, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 119,
- 120, 119, 119, 119, 119, 119, 119, 119, 119, 0, 0, 121, 0, 0, 0, 0,
- 0, 0, 7, 121, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 122, 122, 0, 0,
+ 2, 2, 2, 2, 107, 22, 23, 45, 45, 102, 112, 0, 0, 0, 0, 0,
+ 0, 2, 2, 61, 18, 48, 23, 113, 102, 102, 102, 114, 115, 0, 0, 0,
+ 0, 2, 2, 2, 2, 2, 0, 30, 2, 11, 46, 116, 116, 116, 11, 116,
+ 116, 15, 116, 116, 116, 26, 0, 40, 0, 0, 0, 117, 51, 11, 5, 0,
+ 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 6, 119,
+ 120, 42, 42, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 120,
+ 121, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 122, 0, 0, 0, 0,
+ 0, 0, 7, 122, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 123, 123, 0, 0,
0, 2, 2, 2, 2, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
- 123, 0, 122, 122, 0, 0, 0, 0, 0, 2, 53, 2, 108, 2, 10, 2,
+ 124, 0, 123, 123, 0, 0, 0, 0, 0, 2, 53, 2, 108, 2, 10, 2,
2, 2, 65, 19, 16, 0, 0, 31, 0, 2, 2, 0, 0, 0, 0, 0,
- 0, 29, 2, 2, 2, 2, 2, 2, 2, 2, 2, 124, 23, 23, 23, 23,
- 23, 23, 23, 125, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 2, 0, 0, 0, 0, 0, 52, 2, 2, 2, 22, 22, 126, 115,
- 0, 2, 2, 2, 127, 20, 59, 20, 112, 102, 128, 0, 0, 0, 0, 0,
- 0, 11, 129, 2, 2, 2, 2, 2, 2, 2, 130, 23, 22, 20, 48, 131,
- 132, 133, 0, 0, 0, 0, 0, 0, 0, 2, 2, 52, 30, 2, 2, 2,
- 2, 2, 2, 2, 2, 10, 22, 59, 99, 76, 134, 135, 136, 0, 0, 0,
- 0, 2, 137, 2, 2, 2, 2, 138, 0, 30, 2, 42, 5, 0, 79, 15,
- 2, 53, 22, 139, 52, 53, 2, 2, 105, 10, 9, 0, 0, 0, 0, 0,
- 0, 2, 2, 2, 2, 2, 140, 21, 25, 0, 0, 141, 142, 0, 0, 0,
- 0, 2, 65, 45, 23, 80, 47, 143, 0, 81, 81, 81, 81, 81, 81, 81,
- 81, 0, 0, 0, 0, 0, 0, 0, 6, 119, 119, 119, 119, 120, 0, 0,
+ 0, 29, 2, 2, 2, 2, 2, 2, 2, 2, 2, 125, 23, 23, 23, 23,
+ 23, 23, 23, 126, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11,
+ 11, 11, 2, 0, 0, 0, 0, 0, 52, 2, 2, 2, 22, 22, 127, 116,
+ 0, 2, 2, 2, 128, 20, 59, 20, 113, 102, 129, 0, 0, 0, 0, 0,
+ 0, 11, 130, 2, 2, 2, 2, 2, 2, 2, 131, 23, 22, 20, 48, 132,
+ 133, 134, 0, 0, 0, 0, 0, 0, 0, 2, 2, 52, 30, 2, 2, 2,
+ 2, 2, 2, 2, 2, 10, 22, 59, 99, 76, 135, 136, 137, 0, 0, 0,
+ 0, 2, 138, 2, 2, 2, 2, 139, 0, 30, 2, 42, 5, 0, 79, 15,
+ 2, 53, 22, 140, 52, 53, 2, 2, 105, 10, 9, 0, 0, 0, 0, 0,
+ 0, 2, 2, 2, 2, 2, 141, 21, 25, 0, 0, 142, 143, 0, 0, 0,
+ 0, 2, 65, 45, 23, 80, 47, 144, 0, 81, 81, 81, 81, 81, 81, 81,
+ 81, 0, 0, 0, 0, 0, 0, 0, 6, 120, 120, 120, 120, 121, 0, 0,
0, 2, 2, 2, 2, 2, 9, 2, 2, 2, 9, 2, 30, 2, 2, 2,
- 2, 2, 30, 2, 2, 2, 30, 9, 0, 127, 20, 27, 31, 0, 0, 144,
- 145, 2, 2, 30, 2, 30, 2, 2, 2, 2, 2, 2, 0, 14, 37, 0,
- 146, 2, 2, 13, 37, 0, 30, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+ 2, 2, 30, 2, 2, 2, 30, 9, 0, 128, 20, 27, 31, 0, 0, 145,
+ 146, 2, 2, 30, 2, 30, 2, 2, 2, 2, 2, 2, 0, 14, 37, 0,
+ 147, 2, 2, 13, 37, 0, 30, 2, 2, 2, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 30, 2, 2, 9, 2, 2, 11, 41, 0, 0, 0,
0, 2, 2, 2, 0, 27, 22, 22, 30, 2, 2, 2, 0, 0, 0, 0,
- 0, 2, 2, 2, 2, 2, 27, 38, 0, 2, 2, 2, 115, 115, 115, 115,
- 115, 147, 2, 9, 0, 0, 0, 0, 0, 2, 14, 14, 0, 0, 0, 0,
+ 0, 2, 2, 2, 2, 2, 27, 38, 0, 2, 2, 2, 116, 116, 116, 116,
+ 116, 148, 2, 9, 0, 0, 0, 0, 0, 2, 14, 14, 0, 0, 0, 0,
0, 9, 2, 2, 9, 2, 2, 2, 2, 30, 2, 9, 0, 30, 2, 0,
- 0, 148, 149, 150, 2, 2, 2, 2, 2, 2, 2, 2, 2, 22, 22, 20,
- 20, 20, 22, 22, 133, 0, 0, 0, 0, 0, 151, 151, 151, 151, 151, 151,
- 151, 151, 151, 151, 2, 2, 2, 2, 2, 53, 52, 53, 0, 0, 0, 0,
- 152, 11, 74, 2, 2, 2, 2, 2, 2, 18, 19, 21, 16, 24, 37, 0,
+ 0, 149, 150, 151, 2, 2, 2, 2, 2, 2, 2, 2, 2, 22, 22, 20,
+ 20, 20, 22, 22, 134, 0, 0, 0, 0, 0, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 2, 2, 2, 2, 2, 53, 52, 53, 0, 0, 0, 0,
+ 153, 11, 74, 2, 2, 2, 2, 2, 2, 18, 19, 21, 16, 24, 37, 0,
0, 0, 31, 0, 0, 0, 0, 0, 0, 11, 49, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 127, 20, 22, 153, 22, 21, 154, 155, 2, 2, 2, 2,
- 2, 0, 0, 65, 156, 0, 0, 0, 0, 2, 13, 0, 0, 0, 0, 0,
- 0, 2, 65, 25, 20, 20, 20, 22, 22, 108, 157, 0, 0, 56, 158, 31,
- 159, 30, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23,
- 19, 22, 22, 160, 44, 0, 0, 0, 49, 127, 0, 0, 0, 0, 0, 0,
+ 2, 2, 2, 2, 128, 20, 22, 154, 22, 21, 155, 156, 2, 2, 2, 2,
+ 2, 0, 0, 65, 157, 0, 0, 0, 0, 2, 13, 0, 0, 0, 0, 0,
+ 0, 2, 65, 25, 20, 20, 20, 22, 22, 108, 158, 0, 0, 56, 159, 31,
+ 160, 30, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23,
+ 19, 22, 22, 161, 44, 0, 0, 0, 49, 128, 0, 0, 0, 0, 0, 0,
0, 2, 2, 2, 9, 9, 2, 2, 30, 2, 2, 2, 2, 2, 2, 2,
- 30, 2, 2, 2, 2, 2, 2, 2, 10, 18, 19, 21, 22, 161, 31, 0,
+ 30, 2, 2, 2, 2, 2, 2, 2, 10, 18, 19, 21, 22, 162, 31, 0,
0, 11, 11, 30, 2, 2, 2, 9, 30, 9, 2, 30, 2, 2, 58, 17,
23, 16, 23, 47, 32, 33, 32, 34, 0, 0, 0, 0, 35, 0, 0, 0,
2, 2, 23, 0, 11, 11, 11, 46, 0, 11, 11, 46, 0, 0, 0, 0,
0, 2, 2, 2, 2, 2, 30, 0, 9, 2, 2, 2, 30, 45, 59, 20,
- 20, 31, 33, 32, 32, 25, 162, 29, 163, 164, 37, 0, 0, 0, 0, 0,
+ 20, 31, 33, 32, 32, 25, 163, 29, 164, 165, 37, 0, 0, 0, 0, 0,
0, 12, 26, 0, 0, 0, 0, 0, 0, 2, 2, 65, 25, 20, 20, 20,
- 22, 23, 125, 15, 17, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0,
- 165, 166, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 20, 66, 99, 25,
- 159, 11, 167, 9, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2,
- 65, 25, 20, 20, 0, 48, 48, 11, 168, 37, 0, 0, 0, 0, 0, 0,
+ 22, 23, 126, 15, 17, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0,
+ 166, 167, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 20, 66, 99, 25,
+ 160, 11, 168, 9, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2,
+ 65, 25, 20, 20, 0, 48, 48, 11, 169, 37, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, 2, 20, 0, 23, 19, 20, 20, 21, 16, 82,
- 168, 38, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 10, 169,
- 25, 20, 22, 22, 167, 9, 0, 0, 0, 2, 2, 2, 2, 2, 9, 43,
- 135, 23, 22, 20, 76, 21, 22, 0, 0, 2, 2, 2, 9, 0, 0, 0,
- 0, 2, 2, 2, 2, 2, 2, 18, 19, 20, 21, 22, 105, 168, 37, 0,
+ 169, 38, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 10, 170,
+ 25, 20, 22, 22, 168, 9, 0, 0, 0, 2, 2, 2, 2, 2, 9, 43,
+ 136, 23, 22, 20, 76, 21, 22, 0, 0, 2, 2, 2, 9, 0, 0, 0,
+ 0, 2, 2, 2, 2, 2, 2, 18, 19, 20, 21, 22, 105, 169, 37, 0,
0, 2, 2, 2, 9, 30, 0, 2, 2, 2, 2, 30, 9, 2, 2, 2,
- 2, 23, 23, 18, 32, 33, 12, 170, 164, 171, 172, 0, 0, 0, 0, 0,
+ 2, 23, 23, 18, 32, 33, 12, 171, 165, 172, 173, 0, 0, 0, 0, 0,
0, 2, 2, 2, 2, 0, 2, 2, 2, 65, 25, 20, 20, 0, 22, 23,
- 29, 108, 0, 33, 0, 0, 0, 0, 0, 52, 20, 22, 22, 22, 139, 2,
- 2, 2, 173, 174, 11, 15, 175, 61, 176, 0, 0, 1, 146, 0, 0, 0,
- 0, 52, 20, 22, 16, 19, 20, 2, 2, 2, 2, 157, 157, 157, 177, 177,
- 177, 177, 177, 177, 15, 178, 0, 30, 0, 22, 20, 20, 31, 22, 22, 11,
- 168, 0, 61, 61, 61, 61, 61, 61, 61, 66, 21, 82, 46, 0, 0, 0,
+ 29, 108, 0, 33, 0, 0, 0, 0, 0, 52, 20, 22, 22, 22, 140, 2,
+ 2, 2, 174, 175, 11, 15, 176, 61, 177, 0, 0, 1, 147, 0, 0, 0,
+ 0, 52, 20, 22, 16, 19, 20, 2, 2, 2, 2, 158, 158, 158, 178, 178,
+ 178, 178, 178, 178, 15, 179, 0, 30, 0, 22, 20, 20, 31, 22, 22, 11,
+ 169, 0, 61, 61, 61, 61, 61, 61, 61, 66, 21, 82, 46, 0, 0, 0,
0, 2, 2, 2, 9, 2, 30, 2, 2, 52, 22, 22, 31, 0, 38, 22,
- 27, 11, 158, 179, 180, 0, 0, 0, 0, 2, 2, 2, 30, 9, 2, 2,
+ 27, 11, 159, 180, 181, 0, 0, 0, 0, 2, 2, 2, 30, 9, 2, 2,
2, 2, 2, 2, 2, 2, 23, 23, 47, 22, 35, 82, 68, 0, 0, 0,
- 0, 2, 181, 66, 47, 0, 0, 0, 0, 11, 182, 2, 2, 2, 2, 2,
- 2, 2, 2, 23, 22, 20, 31, 0, 48, 16, 142, 0, 0, 0, 0, 0,
- 0, 2, 2, 2, 2, 2, 155, 0, 0, 183, 183, 183, 183, 183, 183, 183,
- 183, 184, 184, 184, 185, 186, 184, 183, 183, 187, 183, 183, 188, 189, 189, 189,
- 189, 189, 189, 189, 0, 0, 0, 0, 0, 183, 183, 183, 183, 183, 190, 0,
- 0, 2, 2, 2, 2, 2, 2, 2, 22, 22, 22, 22, 22, 22, 191, 192,
- 193, 11, 11, 11, 46, 0, 0, 0, 0, 29, 74, 2, 2, 2, 2, 2,
+ 0, 2, 182, 66, 47, 0, 0, 0, 0, 11, 183, 2, 2, 2, 2, 2,
+ 2, 2, 2, 23, 22, 20, 31, 0, 48, 16, 143, 0, 0, 0, 0, 0,
+ 0, 2, 2, 2, 2, 2, 156, 0, 0, 184, 184, 184, 184, 184, 184, 184,
+ 184, 185, 185, 185, 186, 187, 185, 184, 184, 188, 184, 184, 189, 190, 190, 190,
+ 190, 190, 190, 190, 0, 0, 0, 0, 0, 184, 184, 184, 184, 184, 191, 0,
+ 0, 2, 2, 2, 2, 2, 2, 2, 22, 22, 22, 22, 22, 22, 192, 193,
+ 194, 11, 11, 11, 46, 0, 0, 0, 0, 29, 74, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 65, 47, 0, 2, 2, 2, 2, 2, 9, 0,
- 58, 194, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 0, 0, 0, 40, 115, 26, 0, 0, 0, 0, 0,
+ 58, 195, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 0, 0, 0, 40, 116, 26, 0, 0, 0, 0, 0,
0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 30, 2, 2, 2, 2, 2, 0, 58, 37, 0, 6, 119, 119, 119, 120, 0,
+ 30, 2, 2, 2, 2, 2, 0, 58, 37, 0, 6, 120, 120, 120, 121, 0,
0, 11, 11, 11, 49, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0,
2, 2, 2, 2, 2, 2, 2, 2, 46, 2, 2, 2, 2, 2, 2, 11,
11, 2, 2, 2, 2, 2, 2, 22, 22, 2, 2, 2, 2, 2, 2, 2,
@@ -249,17 +249,18 @@ const hb_use_u8: [u8; 3343] =
FMAbv, FAbv,CMAbv,FMAbv,VMAbv,FMAbv, VAbv, IS,FMAbv, B,FMAbv, B, CGJ, WJ, CGJ, GB,
CMAbv,CMAbv, B, GB, B, VAbv, SUB, FPst, FPst,VMBlw, FPst, FPst, FBlw,VMAbv,FMBlw, VAbv,
VPre, B, MPre, MBlw, SUB, FAbv, FAbv, MAbv, SUB, Sk, VPst, VAbv,VMAbv,VMAbv, FAbv,CMAbv,
- VPst, H, B, O,SMAbv,SMAbv,SMAbv, VPst, IS, VBlw, FAbv,VMPre,VMPre,FMAbv,CMBlw,VMBlw,
- VMBlw,VMAbv, CS, O,FMAbv, ZWNJ, CGJ, WJ, WJ, WJ, O,FMPst, O, SB, SE, O,
- H, MPst, VPst, H,VMAbv, VAbv,VMBlw, B, VBlw, FPst, VPst, FAbv,VMPst, B,CMAbv, VAbv,
- MBlw, MPst, MBlw, H, O, VBlw, MPst, MPre, MAbv, MBlw, O, B, FAbv, FAbv, FPst, VBlw,
- B, B, VPre, O,VMPst, IS, O,VMPst, VBlw, VPst,VMBlw,VMBlw,VMAbv, O, IS,VMBlw,
- B,VMPst,VMAbv,VMPst, CS, CS, B, N, N, O, HN, VPre, VBlw, VAbv, IS,CMAbv,
- O, VPst, B, R, R,CMBlw, VAbv, VPre,VMAbv,VMAbv, H, VAbv,CMBlw,VMPst, O,VMAbv,
- CMBlw, IS, R,FMAbv, B, CS, CS, H,CMBlw,VMPst, H,VMPst, VAbv,VMAbv, VPst, MPst,
- R, MPst,CMBlw, B,FMBlw, VBlw,VMAbv, CS, SUB, SUB, GB, FBlw, FBlw,CMAbv, IS, VBlw,
- IS, R, MBlw, GB, VAbv, R,VMPst, G, G, J, J, J, SB, SE, J, HR,
- G, G, HM, HM, HM, G, O, MPre, MPre, MPst,VMAbv, MBlw, VBlw, O, VBlw,
+ VPst, H, B, O,SMAbv,SMAbv,SMAbv, VPst, IS, RK, RK, VBlw, FAbv,VMPre,VMPre,FMAbv,
+ CMBlw,VMBlw,VMBlw,VMAbv, CS, O,FMAbv, ZWNJ, CGJ, WJ, WJ, WJ, O,FMPst, O, SB,
+ SE, O, H, MPst, VPst, H,VMAbv, VAbv,VMBlw, B, VBlw, FPst, VPst, FAbv,VMPst, B,
+ CMAbv, VAbv, MBlw, MPst, MBlw, H, O, VBlw, MPst, MPre, MAbv, MBlw, O, B, FAbv, FAbv,
+ FPst, VBlw, B, B, VPre, O,VMPst, IS, O,VMPst, VBlw, VPst,VMBlw,VMBlw,VMAbv, O,
+ IS,VMBlw, B,VMPst,VMAbv,VMPst, CS, CS, B, N, N, O, HN, VPre, VBlw, VAbv,
+ IS,CMAbv, O, VPst, B, R, R,CMBlw, VAbv, VPre,VMAbv,VMAbv, H, VAbv,CMBlw,VMPst,
+ O,VMAbv,CMBlw, IS, R,FMAbv, B, CS, CS, H,CMBlw,VMPst, H,VMPst, VAbv,VMAbv,
+ VPst, MPst, R, MPst,CMBlw, B,FMBlw, VBlw,VMAbv, CS, SUB, SUB, GB, FBlw, FBlw,CMAbv,
+ IS, VBlw, IS, R, MBlw, GB, VAbv, R,VMPst, G, G, J, J, J, SB, SE,
+ J, HR, G, G, HM, HM, HM, G, O, MPre, MPre, MPst,VMAbv, MBlw, VBlw, O,
+ VBlw,
];
const hb_use_u16: [u16; 856] =
diff --git a/src/hb/tag_table.rs b/src/hb/tag_table.rs
index d1804e7e..8be8503f 100644
--- a/src/hb/tag_table.rs
+++ b/src/hb/tag_table.rs
@@ -384,7 +384,7 @@ pub const OPEN_TYPE_LANGUAGES: &[LangTag] = &[
LangTag { language: "dgr", tag: Tag::from_bytes(b"ATH ") }, // Tlicho -> Athapaskan
LangTag { language: "dhd", tag: Tag::from_bytes(b"MAW ") }, // Dhundari -> Marwari
// LangTag { language: "dhg", tag: Tag::from_bytes(b"DHG ") }, // Dhangu
- LangTag { language: "dhv", tag: Tag(0) }, // Dehu != Divehi (Dhivehi, Maldivian)(deprecated)
+ LangTag { language: "dhv", tag: Tag(0) }, // Dehu != Divehi (Dhivehi, Maldivian) (deprecated)
LangTag { language: "dib", tag: Tag::from_bytes(b"DNK ") }, // South Central Dinka -> Dinka
LangTag { language: "dik", tag: Tag::from_bytes(b"DNK ") }, // Southwestern Dinka -> Dinka
LangTag { language: "din", tag: Tag::from_bytes(b"DNK ") }, // Dinka [macrolanguage]
@@ -410,7 +410,7 @@ pub const OPEN_TYPE_LANGUAGES: &[LangTag] = &[
LangTag { language: "dun", tag: Tag(0) }, // Dusun Deyah != Dungan
LangTag { language: "dup", tag: Tag::from_bytes(b"MLY ") }, // Duano -> Malay
LangTag { language: "dv", tag: Tag::from_bytes(b"DIV ") }, // Divehi (Dhivehi, Maldivian)
- LangTag { language: "dv", tag: Tag::from_bytes(b"DHV ") }, // Divehi (Dhivehi, Maldivian)(deprecated)
+ LangTag { language: "dv", tag: Tag::from_bytes(b"DHV ") }, // Divehi (Dhivehi, Maldivian) (deprecated)
LangTag { language: "dwk", tag: Tag::from_bytes(b"KUI ") }, // Dawik Kui -> Kui
LangTag { language: "dwu", tag: Tag::from_bytes(b"DUJ ") }, // Dhuwal
LangTag { language: "dwy", tag: Tag::from_bytes(b"DUJ ") }, // Dhuwaya -> Dhuwal
@@ -1684,7 +1684,7 @@ fn lang_matches(language: &str, spec: &str) -> bool {
fn strncmp(s1: &str, s2: &str, n: usize) -> bool {
let n1 = core::cmp::min(n, s1.len());
let n2 = core::cmp::min(n, s2.len());
- s1[..n1] == s2[..n2]
+ &s1[..n1] == &s2[..n2]
}
/// Converts a multi-subtag BCP 47 language tag to language tags.
diff --git a/tests/shaping/in_house.rs b/tests/shaping/in_house.rs
index dd05f81a..acfc89db 100644
--- a/tests/shaping/in_house.rs
+++ b/tests/shaping/in_house.rs
@@ -1720,34 +1720,6 @@ fn cluster_004() {
);
}
-#[test]
-fn collections_004() {
- assert_eq!(
- shape(
- "tests/fonts/in-house/TTC.ttc",
- "\u{2026}\u{0020}\u{002E}",
- "--face-index=0",
- ),
- "ellipsis=0+723|\
- space=1+250|\
- period=2+241"
- );
-}
-
-#[test]
-fn collections_005() {
- assert_eq!(
- shape(
- "tests/fonts/in-house/TTC.ttc",
- "\u{2026}\u{0020}\u{002E}",
- "--face-index=1",
- ),
- "ellipsis=0+723|\
- space=1+250|\
- period=2+241"
- );
-}
-
#[test]
fn color_fonts_001() {
assert_eq!(
@@ -15293,6 +15265,21 @@ fn use_syllable_008() {
#[test]
fn use_syllable_009() {
+ assert_eq!(
+ shape(
+ "tests/fonts/in-house/59a585a63b3df608fbeef00956c8c108deec7de6.ttf",
+ "\u{1BC7}\u{1BF3}\u{1BF3}",
+ "--no-glyph-names",
+ ),
+ "1=0+749|\
+ 3=0+401|\
+ 4=0+535|\
+ 3=0+401"
+ );
+}
+
+#[test]
+fn use_syllable_010() {
assert_eq!(
shape(
"tests/fonts/in-house/1ed7e9064f008f62de6ff0207bb4dd29409597a5.ttf",
@@ -15305,7 +15292,7 @@ fn use_syllable_009() {
}
#[test]
-fn use_syllable_010() {
+fn use_syllable_011() {
assert_eq!(
shape(
"tests/fonts/in-house/28f497629c04ceb15546c9a70e0730125ed6698d.ttf",
@@ -15319,7 +15306,7 @@ fn use_syllable_010() {
}
#[test]
-fn use_syllable_011() {
+fn use_syllable_012() {
assert_eq!(
shape(
"tests/fonts/in-house/28f497629c04ceb15546c9a70e0730125ed6698d.ttf",
@@ -15333,7 +15320,7 @@ fn use_syllable_011() {
}
#[test]
-fn use_syllable_012() {
+fn use_syllable_013() {
assert_eq!(
shape(
"tests/fonts/in-house/28f497629c04ceb15546c9a70e0730125ed6698d.ttf",
@@ -15346,7 +15333,7 @@ fn use_syllable_012() {
}
#[test]
-fn use_syllable_013() {
+fn use_syllable_014() {
assert_eq!(
shape(
"tests/fonts/in-house/86cdd983c4e4c4d7f27dd405d6ceb7d4b9ed3d35.ttf",
@@ -15360,7 +15347,7 @@ fn use_syllable_013() {
}
#[test]
-fn use_syllable_014() {
+fn use_syllable_015() {
assert_eq!(
shape(
"tests/fonts/in-house/3cc01fede4debd4b7794ccb1b16cdb9987ea7571.ttf",
@@ -15374,7 +15361,7 @@ fn use_syllable_014() {
}
#[test]
-fn use_syllable_015() {
+fn use_syllable_016() {
assert_eq!(
shape(
"tests/fonts/in-house/3cc01fede4debd4b7794ccb1b16cdb9987ea7571.ttf",
@@ -15392,7 +15379,7 @@ fn use_syllable_015() {
}
#[test]
-fn use_syllable_016() {
+fn use_syllable_017() {
assert_eq!(
shape(
"tests/fonts/in-house/3cc01fede4debd4b7794ccb1b16cdb9987ea7571.ttf",
@@ -15411,7 +15398,7 @@ fn use_syllable_016() {
}
#[test]
-fn use_syllable_017() {
+fn use_syllable_018() {
assert_eq!(
shape(
"tests/fonts/in-house/3cc01fede4debd4b7794ccb1b16cdb9987ea7571.ttf",
@@ -15429,7 +15416,7 @@ fn use_syllable_017() {
}
#[test]
-fn use_syllable_018() {
+fn use_syllable_019() {
assert_eq!(
shape(
"tests/fonts/in-house/573d3a3177c9a8646e94c8a0d7b224334340946a.ttf",
@@ -15443,7 +15430,7 @@ fn use_syllable_018() {
}
#[test]
-fn use_syllable_019() {
+fn use_syllable_020() {
assert_eq!(
shape(
"tests/fonts/in-house/573d3a3177c9a8646e94c8a0d7b224334340946a.ttf",
@@ -15457,7 +15444,7 @@ fn use_syllable_019() {
}
#[test]
-fn use_syllable_020() {
+fn use_syllable_021() {
assert_eq!(
shape(
"tests/fonts/in-house/573d3a3177c9a8646e94c8a0d7b224334340946a.ttf",
@@ -15470,7 +15457,7 @@ fn use_syllable_020() {
}
#[test]
-fn use_syllable_021() {
+fn use_syllable_022() {
assert_eq!(
shape(
"tests/fonts/in-house/e68a88939e0f06e34d2bc911f09b70890289c8fd.ttf",
@@ -15483,7 +15470,7 @@ fn use_syllable_021() {
}
#[test]
-fn use_syllable_022() {
+fn use_syllable_023() {
assert_eq!(
shape(
"tests/fonts/in-house/2a670df15b73a5dc75a5cc491bde5ac93c5077dc.ttf",
@@ -15496,7 +15483,7 @@ fn use_syllable_022() {
}
#[test]
-fn use_syllable_023() {
+fn use_syllable_024() {
assert_eq!(
shape(
"tests/fonts/in-house/2a670df15b73a5dc75a5cc491bde5ac93c5077dc.ttf",
@@ -15510,7 +15497,7 @@ fn use_syllable_023() {
}
#[test]
-fn use_syllable_024() {
+fn use_syllable_025() {
assert_eq!(
shape(
"tests/fonts/in-house/a56745bac8449d0ad94918b2bb5930716ba02fe3.ttf",
@@ -15524,7 +15511,7 @@ fn use_syllable_024() {
}
#[test]
-fn use_syllable_025() {
+fn use_syllable_026() {
assert_eq!(
shape(
"tests/fonts/in-house/d0430ea499348c420946f6abc2efc84fdf8f00e3.ttf",