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