18d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
28d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#line 1 "hb-ot-shape-complex-use-machine.rl"
38d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin/*
48d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * Copyright © 2015  Mozilla Foundation.
58d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * Copyright © 2015  Google, Inc.
68d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin *
78d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin *  This is part of HarfBuzz, a text shaping library.
88d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin *
98d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * Permission is hereby granted, without written agreement and without
108d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * license or royalty fees, to use, copy, modify, and distribute this
118d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * software and its documentation for any purpose, provided that the
128d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * above copyright notice and the following two paragraphs appear in
138d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * all copies of this software.
148d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin *
158d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
168d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
178d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
188d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
198d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * DAMAGE.
208d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin *
218d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
228d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
238d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
248d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
258d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
268d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin *
278d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * Mozilla Author(s): Jonathan Kew
288d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin * Google Author(s): Behdad Esfahbod
298d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin */
308d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
318d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#ifndef HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH
328d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#define HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH
338d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
348d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#include "hb-private.hh"
358d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
368d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
378d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#line 38 "hb-ot-shape-complex-use-machine.hh"
388d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic const unsigned char _use_syllable_machine_trans_keys[] = {
39b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1u, 1u, 0u, 39u, 21u, 21u, 8u, 39u, 8u, 39u, 1u, 1u, 8u, 39u, 8u, 39u,
40b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	8u, 39u, 8u, 26u, 8u, 26u, 8u, 26u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u,
41b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 13u, 21u,
42b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	4u, 4u, 13u, 13u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 26u, 8u, 26u,
438d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	8u, 26u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u,
44b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	8u, 39u, 8u, 39u, 8u, 39u, 1u, 1u, 1u, 39u, 8u, 39u, 21u, 42u, 41u, 42u,
458d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	42u, 42u, 0
468d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin};
478d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
488d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic const char _use_syllable_machine_key_spans[] = {
49b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1, 40, 1, 32, 32, 1, 32, 32,
50b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	32, 19, 19, 19, 32, 32, 32, 32,
51b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	32, 32, 32, 32, 32, 32, 32, 9,
52b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1, 1, 32, 32, 32, 32, 19, 19,
538d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	19, 32, 32, 32, 32, 32, 32, 32,
54b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	32, 32, 32, 1, 39, 32, 22, 2,
558d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	1
568d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin};
578d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
588d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic const short _use_syllable_machine_index_offsets[] = {
59b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	0, 2, 43, 45, 78, 111, 113, 146,
60b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	179, 212, 232, 252, 272, 305, 338, 371,
61b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	404, 437, 470, 503, 536, 569, 602, 635,
62b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	645, 647, 649, 682, 715, 748, 781, 801,
63b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	821, 841, 874, 907, 940, 973, 1006, 1039,
64b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1072, 1105, 1138, 1171, 1173, 1213, 1246, 1269,
65b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1272
668d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin};
678d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
688d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic const char _use_syllable_machine_indicies[] = {
69b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1, 0, 2, 3, 4, 2, 5, 3,
70b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	4, 4, 6, 4, 4, 1, 7, 4,
71b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	4, 4, 2, 2, 8, 9, 4, 4,
72b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	10, 11, 12, 13, 14, 15, 16, 10,
73b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	17, 18, 19, 20, 21, 22, 4, 23,
74b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	24, 25, 4, 27, 26, 29, 28, 28,
75b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	30, 31, 28, 28, 28, 28, 28, 28,
76b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 32, 33, 34, 35, 36, 37,
77b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	38, 39, 33, 40, 32, 41, 42, 43,
78b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	44, 28, 45, 46, 47, 28, 29, 28,
79b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 30, 31, 28, 28, 28, 28, 28,
80b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 48, 33, 34, 35, 36,
81b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	37, 38, 39, 33, 40, 41, 41, 42,
82b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	43, 44, 28, 45, 46, 47, 28, 30,
83b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	49, 29, 28, 28, 30, 31, 28, 28,
84b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 33,
85b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	34, 35, 36, 37, 38, 39, 33, 40,
86b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	41, 41, 42, 43, 44, 28, 45, 46,
87b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	47, 28, 29, 28, 28, 28, 28, 28,
88b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
89b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	33, 34, 35, 36, 37, 28, 28, 28,
90b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 42, 43, 44, 28, 45,
91b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	46, 47, 28, 29, 28, 28, 28, 28,
92b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
93b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 34, 35, 36, 37, 28, 28,
94b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
95b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	45, 46, 47, 28, 29, 28, 28, 28,
96b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
97b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 35, 36, 37, 28,
98b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	29, 28, 28, 28, 28, 28, 28, 28,
99b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
100b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 36, 37, 28, 29, 28, 28, 28,
101b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
102b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 37, 28,
103b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	29, 28, 28, 28, 28, 28, 28, 28,
104b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
105b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	35, 36, 37, 28, 28, 28, 28, 28,
106b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 45, 46, 47,
107b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 29, 28, 28, 28, 28, 28, 28,
108b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
109b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 35, 36, 37, 28, 28, 28, 28,
110b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 46,
111b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	47, 28, 29, 28, 28, 28, 28, 28,
112b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
113b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 35, 36, 37, 28, 28, 28,
114b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
115b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 47, 28, 29, 28, 28, 28, 28,
116b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
117b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 34, 35, 36, 37, 28, 28,
118b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 42, 43, 44, 28,
119b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	45, 46, 47, 28, 29, 28, 28, 28,
120b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
121b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 34, 35, 36, 37, 28,
122b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 43, 44,
123b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 45, 46, 47, 28, 29, 28, 28,
124b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
125b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 34, 35, 36, 37,
126b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
127b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	44, 28, 45, 46, 47, 28, 29, 28,
128b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
129b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 33, 34, 35, 36,
130b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	37, 28, 39, 33, 28, 28, 28, 42,
131b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	43, 44, 28, 45, 46, 47, 28, 29,
132b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
133b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 33, 34, 35,
134b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	36, 37, 28, 28, 33, 28, 28, 28,
135b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	42, 43, 44, 28, 45, 46, 47, 28,
136b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	29, 28, 28, 28, 28, 28, 28, 28,
137b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 33, 34,
138b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	35, 36, 37, 38, 39, 33, 28, 28,
139b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 42, 43, 44, 28, 45, 46, 47,
140b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 29, 28, 28, 30, 31, 28, 28,
141b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 33,
142b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	34, 35, 36, 37, 38, 39, 33, 40,
143b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 41, 42, 43, 44, 28, 45, 46,
144b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	47, 28, 29, 28, 28, 30, 31, 28,
145b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	28, 28, 28, 28, 28, 28, 28, 28,
146b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	33, 34, 35, 36, 37, 38, 39, 33,
147b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	40, 32, 41, 42, 43, 44, 28, 45,
148b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	46, 47, 28, 51, 50, 50, 50, 50,
149b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	50, 50, 50, 52, 50, 5, 53, 51,
150b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	50, 6, 54, 54, 1, 55, 54, 54,
151b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 56, 10,
152b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	11, 12, 13, 14, 15, 16, 10, 17,
153b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	19, 19, 20, 21, 22, 54, 23, 24,
154b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	25, 54, 6, 54, 54, 1, 55, 54,
155b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
156b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	10, 11, 12, 13, 14, 15, 16, 10,
157b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	17, 19, 19, 20, 21, 22, 54, 23,
158b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	24, 25, 54, 6, 54, 54, 54, 54,
159b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
160b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 10, 11, 12, 13, 14, 54, 54,
161b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 20, 21, 22, 54,
162b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	23, 24, 25, 54, 6, 54, 54, 54,
163b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
164b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 11, 12, 13, 14, 54,
165b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
166b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 23, 24, 25, 54, 6, 54, 54,
167b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
168b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 12, 13, 14,
169b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 6, 54, 54, 54, 54, 54, 54,
170b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
171b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 13, 14, 54, 6, 54, 54,
172b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
173b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 14,
174b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 6, 54, 54, 54, 54, 54, 54,
175b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
176b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 12, 13, 14, 54, 54, 54, 54,
177b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 23, 24,
178b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	25, 54, 6, 54, 54, 54, 54, 54,
179b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
180b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 12, 13, 14, 54, 54, 54,
181b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
182b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	24, 25, 54, 6, 54, 54, 54, 54,
183b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
184b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 12, 13, 14, 54, 54,
185b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
186b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 25, 54, 6, 54, 54, 54,
187b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
188b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 11, 12, 13, 14, 54,
189b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 20, 21, 22,
190b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 23, 24, 25, 54, 6, 54, 54,
191b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
192b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 11, 12, 13, 14,
193b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 21,
194b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	22, 54, 23, 24, 25, 54, 6, 54,
195b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
196b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 11, 12, 13,
197b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	14, 54, 54, 54, 54, 54, 54, 54,
198b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 22, 54, 23, 24, 25, 54, 6,
199b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
200b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 10, 11, 12,
201b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	13, 14, 54, 16, 10, 54, 54, 54,
202b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	20, 21, 22, 54, 23, 24, 25, 54,
203b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	6, 54, 54, 54, 54, 54, 54, 54,
204b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 10, 11,
205b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	12, 13, 14, 54, 54, 10, 54, 54,
206b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 20, 21, 22, 54, 23, 24, 25,
207b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 6, 54, 54, 54, 54, 54, 54,
208b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 10,
209b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	11, 12, 13, 14, 15, 16, 10, 54,
210b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 20, 21, 22, 54, 23, 24,
211b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	25, 54, 6, 54, 54, 1, 55, 54,
212b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 54, 54, 54, 54, 54,
213b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	10, 11, 12, 13, 14, 15, 16, 10,
214b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	17, 54, 19, 20, 21, 22, 54, 23,
215b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	24, 25, 54, 1, 57, 3, 54, 54,
216b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 3, 54, 54, 6, 54, 54, 1,
217b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	55, 54, 54, 54, 54, 54, 54, 54,
218b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 10, 11, 12, 13, 14, 15,
219b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	16, 10, 17, 18, 19, 20, 21, 22,
220b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 23, 24, 25, 54, 6, 54, 54,
221b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1, 55, 54, 54, 54, 54, 54, 54,
222b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 54, 54, 10, 11, 12, 13, 14,
223b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	15, 16, 10, 17, 18, 19, 20, 21,
224b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	22, 54, 23, 24, 25, 54, 59, 58,
225b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	58, 58, 58, 58, 58, 58, 58, 58,
226b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	58, 58, 58, 58, 58, 58, 58, 58,
227b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	58, 58, 59, 60, 58, 59, 60, 58,
228b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	60, 58, 0
2298d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin};
2308d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2318d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic const char _use_syllable_machine_trans_targs[] = {
232b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1, 26, 2, 3, 1, 23, 1, 43,
233b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	44, 46, 28, 29, 30, 31, 32, 39,
234b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	40, 41, 45, 42, 36, 37, 38, 33,
235b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	34, 35, 1, 1, 1, 1, 4, 5,
236b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	22, 7, 8, 9, 10, 11, 18, 19,
237b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	20, 21, 15, 16, 17, 12, 13, 14,
238b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	6, 1, 1, 24, 25, 1, 1, 0,
239b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	27, 1, 1, 47, 48
2408d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin};
2418d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2428d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic const char _use_syllable_machine_trans_actions[] = {
243b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1, 2, 0, 0, 5, 0, 6, 0,
244b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	2, 0, 0, 0, 0, 0, 0, 0,
245b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	0, 0, 2, 2, 0, 0, 0, 0,
246b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	0, 0, 7, 8, 9, 10, 0, 0,
2478d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2488d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
249b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	0, 11, 12, 0, 0, 13, 14, 0,
250b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	2, 15, 16, 0, 0
2518d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin};
2528d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2538d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic const char _use_syllable_machine_to_state_actions[] = {
254b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	0, 3, 0, 0, 0, 0, 0, 0,
2558d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2568d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2578d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2588d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2598d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2608d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0
2618d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin};
2628d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2638d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic const char _use_syllable_machine_from_state_actions[] = {
264b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	0, 4, 0, 0, 0, 0, 0, 0,
2658d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2668d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2678d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2688d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2698d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0, 0, 0, 0, 0, 0, 0, 0,
2708d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	0
2718d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin};
2728d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2738d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic const short _use_syllable_machine_eof_trans[] = {
274b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	1, 0, 27, 29, 29, 50, 29, 29,
275b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	29, 29, 29, 29, 29, 29, 29, 29,
276b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	29, 29, 29, 29, 29, 29, 29, 51,
277b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	54, 51, 55, 55, 55, 55, 55, 55,
278b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	55, 55, 55, 55, 55, 55, 55, 55,
279b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	55, 55, 55, 58, 55, 55, 59, 59,
280b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	59
2818d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin};
2828d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
283b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shinstatic const int use_syllable_machine_start = 1;
284b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shinstatic const int use_syllable_machine_first_final = 1;
285b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shinstatic const int use_syllable_machine_error = -1;
2868d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
287b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shinstatic const int use_syllable_machine_en_main = 1;
2888d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2898d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2908d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#line 38 "hb-ot-shape-complex-use-machine.rl"
2918d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2928d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2938d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
294b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 138 "hb-ot-shape-complex-use-machine.rl"
2958d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2968d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
2978d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#define found_syllable(syllable_type) \
2988d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin  HB_STMT_START { \
2998d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin    if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
3008d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin    for (unsigned int i = last; i < p+1; i++) \
3018d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin      info[i].syllable() = (syllable_serial << 4) | syllable_type; \
3028d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin    last = p+1; \
3038d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin    syllable_serial++; \
3048d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin    if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
3058d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin  } HB_STMT_END
3068d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
3078d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinstatic void
3088d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shinfind_syllables (hb_buffer_t *buffer)
3098d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin{
3108d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin  unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
3118d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin  int cs;
3128d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin  hb_glyph_info_t *info = buffer->info;
3138d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
314b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 315 "hb-ot-shape-complex-use-machine.hh"
3158d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{
3168d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	cs = use_syllable_machine_start;
3178d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	ts = 0;
3188d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	te = 0;
3198d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	act = 0;
3208d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	}
3218d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
322b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 159 "hb-ot-shape-complex-use-machine.rl"
3238d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
3248d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
3258d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin  p = 0;
3268d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin  pe = eof = buffer->len;
3278d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
3288d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin  unsigned int last = 0;
3298d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin  unsigned int syllable_serial = 1;
3308d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
331b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 332 "hb-ot-shape-complex-use-machine.hh"
3328d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{
3338d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	int _slen;
3348d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	int _trans;
3358d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	const unsigned char *_keys;
3368d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	const char *_inds;
3378d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	if ( p == pe )
3388d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin		goto _test_eof;
3398d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin_resume:
3408d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	switch ( _use_syllable_machine_from_state_actions[cs] ) {
341b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 4:
3428d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#line 1 "NONE"
3438d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{ts = p;}
3448d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
345b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 346 "hb-ot-shape-complex-use-machine.hh"
3468d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	}
3478d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
3488d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	_keys = _use_syllable_machine_trans_keys + (cs<<1);
3498d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	_inds = _use_syllable_machine_indicies + _use_syllable_machine_index_offsets[cs];
3508d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
3518d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	_slen = _use_syllable_machine_key_spans[cs];
3528d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	_trans = _inds[ _slen > 0 && _keys[0] <=( info[p].use_category()) &&
3538d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin		( info[p].use_category()) <= _keys[1] ?
3548d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin		( info[p].use_category()) - _keys[0] : _slen ];
3558d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
3568d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin_eof_trans:
3578d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	cs = _use_syllable_machine_trans_targs[_trans];
3588d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
3598d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	if ( _use_syllable_machine_trans_actions[_trans] == 0 )
3608d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin		goto _again;
3618d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
3628d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	switch ( _use_syllable_machine_trans_actions[_trans] ) {
3638d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	case 2:
3648d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#line 1 "NONE"
3658d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{te = p+1;}
3668d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
367b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 8:
368b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 127 "hb-ot-shape-complex-use-machine.rl"
3698d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{te = p+1;{ found_syllable (independent_cluster); }}
3708d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
371b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 10:
372b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 129 "hb-ot-shape-complex-use-machine.rl"
373b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	{te = p+1;{ found_syllable (standard_cluster); }}
3748d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
375b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 6:
376b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 133 "hb-ot-shape-complex-use-machine.rl"
3778d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{te = p+1;{ found_syllable (broken_cluster); }}
3788d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
379b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 5:
3808d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#line 134 "hb-ot-shape-complex-use-machine.rl"
381b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	{te = p+1;{ found_syllable (non_cluster); }}
382b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	break;
383b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 7:
384b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 127 "hb-ot-shape-complex-use-machine.rl"
3858d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{te = p;p--;{ found_syllable (independent_cluster); }}
3868d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
387b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 11:
388b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 128 "hb-ot-shape-complex-use-machine.rl"
3898d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{te = p;p--;{ found_syllable (virama_terminated_cluster); }}
3908d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
391b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 9:
392b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 129 "hb-ot-shape-complex-use-machine.rl"
393b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	{te = p;p--;{ found_syllable (standard_cluster); }}
3948d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
3958d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	case 13:
396b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 130 "hb-ot-shape-complex-use-machine.rl"
397b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	{te = p;p--;{ found_syllable (number_joiner_terminated_cluster); }}
3988d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
399b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 12:
400b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 131 "hb-ot-shape-complex-use-machine.rl"
4018d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{te = p;p--;{ found_syllable (numeral_cluster); }}
4028d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
403b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 16:
404b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 132 "hb-ot-shape-complex-use-machine.rl"
4058d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{te = p;p--;{ found_syllable (symbol_cluster); }}
4068d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
407b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 14:
408b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 133 "hb-ot-shape-complex-use-machine.rl"
4098d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{te = p;p--;{ found_syllable (broken_cluster); }}
4108d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
411b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 15:
412b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 134 "hb-ot-shape-complex-use-machine.rl"
413b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	{te = p;p--;{ found_syllable (non_cluster); }}
4148d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
415b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 1:
416b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 133 "hb-ot-shape-complex-use-machine.rl"
417b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	{{p = ((te))-1;}{ found_syllable (broken_cluster); }}
4188d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
419b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 420 "hb-ot-shape-complex-use-machine.hh"
4208d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	}
4218d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
4228d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin_again:
4238d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	switch ( _use_syllable_machine_to_state_actions[cs] ) {
424b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin	case 3:
4258d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#line 1 "NONE"
4268d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{ts = 0;}
4278d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	break;
428b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 429 "hb-ot-shape-complex-use-machine.hh"
4298d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	}
4308d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
4318d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	if ( ++p != pe )
4328d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin		goto _resume;
4338d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	_test_eof: {}
4348d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	if ( p == eof )
4358d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	{
4368d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	if ( _use_syllable_machine_eof_trans[cs] > 0 ) {
4378d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin		_trans = _use_syllable_machine_eof_trans[cs] - 1;
4388d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin		goto _eof_trans;
4398d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	}
4408d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	}
4418d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
4428d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin	}
4438d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
444b73a549e7a9d189273815f30a19d1256151a9027Jungshik Shin#line 168 "hb-ot-shape-complex-use-machine.rl"
4458d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
4468d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin}
4478d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
4488d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#undef found_syllable
4498d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin
4508d1e57ae2523769b9ff7e9d1344a256880cb5202Jungshik Shin#endif /* HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH */
451