src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-machine.hh
changeset 54232 7c11a7cc7c1d
parent 50826 f5b95be8b6e2
equal deleted inserted replaced
54231:e4813eded7cb 54232:7c11a7cc7c1d
    29  */
    29  */
    30 
    30 
    31 #ifndef HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH
    31 #ifndef HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH
    32 #define HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH
    32 #define HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH
    33 
    33 
    34 #include "hb-private.hh"
    34 #include "hb.hh"
    35 
    35 
    36 
    36 
    37 #line 38 "hb-ot-shape-complex-use-machine.hh"
    37 #line 38 "hb-ot-shape-complex-use-machine.hh"
    38 static const unsigned char _use_syllable_machine_trans_keys[] = {
    38 static const unsigned char _use_syllable_machine_trans_keys[] = {
    39         12u, 12u, 1u, 15u, 1u, 1u, 12u, 12u, 0u, 43u, 21u, 21u, 8u, 39u, 8u, 39u,
    39         12u, 44u, 1u, 15u, 1u, 1u, 12u, 44u, 0u, 44u, 21u, 21u, 8u, 44u, 8u, 44u,
    40         1u, 15u, 1u, 1u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 26u, 8u, 26u, 8u, 26u,
    40         1u, 15u, 1u, 1u, 8u, 44u, 8u, 44u, 8u, 39u, 8u, 26u, 8u, 26u, 8u, 26u,
    41         8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u,
    41         8u, 39u, 8u, 39u, 8u, 39u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u,
    42         8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 13u, 21u, 4u, 4u, 13u, 13u, 8u, 39u,
    42         8u, 44u, 8u, 44u, 8u, 44u, 1u, 39u, 8u, 44u, 13u, 21u, 4u, 4u, 13u, 13u,
    43         8u, 39u, 8u, 39u, 8u, 39u, 8u, 26u, 8u, 26u, 8u, 26u, 8u, 39u, 8u, 39u,
    43         8u, 44u, 8u, 44u, 8u, 44u, 8u, 39u, 8u, 26u, 8u, 26u, 8u, 26u, 8u, 39u,
    44         8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u, 8u, 39u,
    44         8u, 39u, 8u, 39u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u,
    45         8u, 39u, 1u, 15u, 12u, 12u, 1u, 39u, 8u, 39u, 21u, 42u, 41u, 42u, 42u, 42u,
    45         8u, 44u, 8u, 44u, 1u, 39u, 1u, 15u, 12u, 44u, 1u, 44u, 8u, 44u, 21u, 42u,
    46         1u, 5u, 0
    46         41u, 42u, 42u, 42u, 1u, 5u, 0
    47 };
    47 };
    48 
    48 
    49 static const char _use_syllable_machine_key_spans[] = {
    49 static const char _use_syllable_machine_key_spans[] = {
    50         1, 15, 1, 1, 44, 1, 32, 32,
    50         33, 15, 1, 33, 45, 1, 37, 37,
    51         15, 1, 32, 32, 32, 19, 19, 19,
    51         15, 1, 37, 37, 32, 19, 19, 19,
    52         32, 32, 32, 32, 32, 32, 32, 32,
    52         32, 32, 32, 37, 37, 37, 37, 37,
    53         32, 32, 32, 32, 9, 1, 1, 32,
    53         37, 37, 37, 39, 37, 9, 1, 1,
    54         32, 32, 32, 19, 19, 19, 32, 32,
    54         37, 37, 37, 32, 19, 19, 19, 32,
    55         32, 32, 32, 32, 32, 32, 32, 32,
    55         32, 32, 37, 37, 37, 37, 37, 37,
    56         32, 15, 1, 39, 32, 22, 2, 1,
    56         37, 37, 39, 15, 33, 44, 37, 22,
    57         5
    57         2, 1, 5
    58 };
    58 };
    59 
    59 
    60 static const short _use_syllable_machine_index_offsets[] = {
    60 static const short _use_syllable_machine_index_offsets[] = {
    61         0, 2, 18, 20, 22, 67, 69, 102,
    61         0, 34, 50, 52, 86, 132, 134, 172,
    62         135, 151, 153, 186, 219, 252, 272, 292,
    62         210, 226, 228, 266, 304, 337, 357, 377,
    63         312, 345, 378, 411, 444, 477, 510, 543,
    63         397, 430, 463, 496, 534, 572, 610, 648,
    64         576, 609, 642, 675, 708, 718, 720, 722,
    64         686, 724, 762, 800, 840, 878, 888, 890,
    65         755, 788, 821, 854, 874, 894, 914, 947,
    65         892, 930, 968, 1006, 1039, 1059, 1079, 1099,
    66         980, 1013, 1046, 1079, 1112, 1145, 1178, 1211,
    66         1132, 1165, 1198, 1236, 1274, 1312, 1350, 1388,
    67         1244, 1277, 1293, 1295, 1335, 1368, 1391, 1394,
    67         1426, 1464, 1502, 1542, 1558, 1592, 1637, 1675,
    68         1396
    68         1698, 1701, 1703
    69 };
    69 };
    70 
    70 
    71 static const char _use_syllable_machine_indicies[] = {
    71 static const char _use_syllable_machine_indicies[] = {
       
    72         1, 0, 0, 0, 0, 0, 0, 0,
       
    73         0, 0, 0, 0, 0, 0, 0, 0,
       
    74         0, 0, 0, 0, 0, 0, 0, 0,
       
    75         0, 0, 0, 0, 0, 0, 0, 0,
    72         1, 0, 3, 2, 2, 2, 2, 2,
    76         1, 0, 3, 2, 2, 2, 2, 2,
    73         2, 2, 2, 2, 2, 2, 2, 2,
    77         2, 2, 2, 2, 2, 2, 2, 2,
    74         4, 2, 3, 2, 6, 5, 7, 8,
    78         4, 2, 3, 2, 6, 5, 5, 5,
       
    79         5, 5, 5, 5, 5, 5, 5, 5,
       
    80         5, 5, 5, 5, 5, 5, 5, 5,
       
    81         5, 5, 5, 5, 5, 5, 5, 5,
       
    82         5, 5, 5, 5, 6, 5, 7, 8,
    75         9, 7, 10, 8, 9, 9, 11, 9,
    83         9, 7, 10, 8, 9, 9, 11, 9,
    76         9, 3, 12, 9, 9, 13, 7, 7,
    84         9, 3, 12, 9, 9, 13, 7, 7,
    77         14, 15, 9, 9, 16, 17, 18, 19,
    85         14, 15, 9, 9, 16, 17, 18, 19,
    78         20, 21, 22, 16, 23, 24, 25, 26,
    86         20, 21, 22, 16, 23, 24, 25, 26,
    79         27, 28, 9, 29, 30, 31, 9, 9,
    87         27, 28, 9, 29, 30, 31, 9, 9,
    80         9, 32, 9, 34, 33, 36, 35, 35,
    88         9, 32, 33, 9, 35, 34, 37, 36,
    81         37, 1, 35, 35, 38, 35, 35, 35,
    89         36, 38, 1, 36, 36, 39, 36, 36,
    82         35, 35, 39, 40, 41, 42, 43, 44,
    90         36, 36, 36, 40, 41, 42, 43, 44,
    83         45, 46, 40, 47, 39, 48, 49, 50,
    91         45, 46, 47, 41, 48, 40, 49, 50,
    84         51, 35, 52, 53, 54, 35, 36, 35,
    92         51, 52, 36, 53, 54, 55, 36, 36,
    85         35, 37, 1, 35, 35, 38, 35, 35,
    93         36, 36, 56, 36, 37, 36, 36, 38,
    86         35, 35, 35, 55, 40, 41, 42, 43,
    94         1, 36, 36, 39, 36, 36, 36, 36,
    87         44, 45, 46, 40, 47, 48, 48, 49,
    95         36, 57, 41, 42, 43, 44, 45, 46,
    88         50, 51, 35, 52, 53, 54, 35, 37,
    96         47, 41, 48, 49, 49, 50, 51, 52,
    89         56, 56, 56, 56, 56, 56, 56, 56,
    97         36, 53, 54, 55, 36, 36, 36, 36,
    90         56, 56, 56, 56, 56, 57, 56, 37,
    98         56, 36, 38, 58, 58, 58, 58, 58,
    91         56, 36, 35, 35, 37, 1, 35, 35,
    99         58, 58, 58, 58, 58, 58, 58, 58,
    92         38, 35, 35, 35, 35, 35, 35, 40,
   100         59, 58, 38, 58, 37, 36, 36, 38,
    93         41, 42, 43, 44, 45, 46, 40, 47,
   101         1, 36, 36, 39, 36, 36, 36, 36,
    94         48, 48, 49, 50, 51, 35, 52, 53,
   102         36, 36, 41, 42, 43, 44, 45, 46,
    95         54, 35, 36, 35, 35, 35, 35, 35,
   103         47, 41, 48, 49, 49, 50, 51, 52,
    96         35, 35, 35, 35, 35, 35, 35, 35,
   104         36, 53, 54, 55, 36, 36, 36, 36,
    97         40, 41, 42, 43, 44, 35, 35, 35,
   105         56, 36, 37, 36, 36, 36, 36, 36,
    98         35, 35, 35, 49, 50, 51, 35, 52,
   106         36, 36, 36, 36, 36, 36, 36, 36,
    99         53, 54, 35, 36, 35, 35, 35, 35,
   107         41, 42, 43, 44, 45, 36, 36, 36,
   100         35, 35, 35, 35, 35, 35, 35, 35,
   108         36, 36, 36, 50, 51, 52, 36, 53,
   101         35, 35, 41, 42, 43, 44, 35, 35,
   109         54, 55, 36, 36, 36, 36, 42, 36,
   102         35, 35, 35, 35, 35, 35, 35, 35,
   110         37, 36, 36, 36, 36, 36, 36, 36,
   103         52, 53, 54, 35, 36, 35, 35, 35,
   111         36, 36, 36, 36, 36, 36, 36, 42,
   104         35, 35, 35, 35, 35, 35, 35, 35,
   112         43, 44, 45, 36, 36, 36, 36, 36,
   105         35, 35, 35, 35, 42, 43, 44, 35,
   113         36, 36, 36, 36, 36, 53, 54, 55,
   106         36, 35, 35, 35, 35, 35, 35, 35,
   114         36, 37, 36, 36, 36, 36, 36, 36,
   107         35, 35, 35, 35, 35, 35, 35, 35,
   115         36, 36, 36, 36, 36, 36, 36, 36,
   108         35, 43, 44, 35, 36, 35, 35, 35,
   116         36, 43, 44, 45, 36, 37, 36, 36,
   109         35, 35, 35, 35, 35, 35, 35, 35,
   117         36, 36, 36, 36, 36, 36, 36, 36,
   110         35, 35, 35, 35, 35, 35, 44, 35,
   118         36, 36, 36, 36, 36, 36, 44, 45,
   111         36, 35, 35, 35, 35, 35, 35, 35,
   119         36, 37, 36, 36, 36, 36, 36, 36,
   112         35, 35, 35, 35, 35, 35, 35, 35,
   120         36, 36, 36, 36, 36, 36, 36, 36,
   113         42, 43, 44, 35, 35, 35, 35, 35,
   121         36, 36, 36, 45, 36, 37, 36, 36,
   114         35, 35, 35, 35, 35, 52, 53, 54,
   122         36, 36, 36, 36, 36, 36, 36, 36,
   115         35, 36, 35, 35, 35, 35, 35, 35,
   123         36, 36, 36, 36, 36, 43, 44, 45,
   116         35, 35, 35, 35, 35, 35, 35, 35,
   124         36, 36, 36, 36, 36, 36, 36, 36,
   117         35, 42, 43, 44, 35, 35, 35, 35,
   125         36, 36, 53, 54, 55, 36, 37, 36,
   118         35, 35, 35, 35, 35, 35, 35, 53,
   126         36, 36, 36, 36, 36, 36, 36, 36,
   119         54, 35, 36, 35, 35, 35, 35, 35,
   127         36, 36, 36, 36, 36, 36, 43, 44,
   120         35, 35, 35, 35, 35, 35, 35, 35,
   128         45, 36, 36, 36, 36, 36, 36, 36,
   121         35, 35, 42, 43, 44, 35, 35, 35,
   129         36, 36, 36, 36, 54, 55, 36, 37,
   122         35, 35, 35, 35, 35, 35, 35, 35,
   130         36, 36, 36, 36, 36, 36, 36, 36,
   123         35, 54, 35, 36, 35, 35, 35, 35,
   131         36, 36, 36, 36, 36, 36, 36, 43,
   124         35, 35, 35, 35, 35, 35, 35, 35,
   132         44, 45, 36, 36, 36, 36, 36, 36,
   125         35, 35, 41, 42, 43, 44, 35, 35,
   133         36, 36, 36, 36, 36, 36, 55, 36,
   126         35, 35, 35, 35, 49, 50, 51, 35,
   134         37, 36, 36, 36, 36, 36, 36, 36,
   127         52, 53, 54, 35, 36, 35, 35, 35,
   135         36, 36, 36, 36, 36, 36, 36, 42,
   128         35, 35, 35, 35, 35, 35, 35, 35,
   136         43, 44, 45, 36, 36, 36, 36, 36,
   129         35, 35, 35, 41, 42, 43, 44, 35,
   137         36, 50, 51, 52, 36, 53, 54, 55,
   130         35, 35, 35, 35, 35, 35, 50, 51,
   138         36, 36, 36, 36, 42, 36, 37, 36,
   131         35, 52, 53, 54, 35, 36, 35, 35,
   139         36, 36, 36, 36, 36, 36, 36, 36,
   132         35, 35, 35, 35, 35, 35, 35, 35,
   140         36, 36, 36, 36, 36, 42, 43, 44,
   133         35, 35, 35, 35, 41, 42, 43, 44,
   141         45, 36, 36, 36, 36, 36, 36, 36,
   134         35, 35, 35, 35, 35, 35, 35, 35,
   142         51, 52, 36, 53, 54, 55, 36, 36,
   135         51, 35, 52, 53, 54, 35, 36, 35,
   143         36, 36, 42, 36, 37, 36, 36, 36,
   136         35, 35, 35, 35, 35, 35, 35, 35,
   144         36, 36, 36, 36, 36, 36, 36, 36,
   137         35, 35, 35, 35, 40, 41, 42, 43,
   145         36, 36, 36, 42, 43, 44, 45, 36,
   138         44, 35, 46, 40, 35, 35, 35, 49,
   146         36, 36, 36, 36, 36, 36, 36, 52,
   139         50, 51, 35, 52, 53, 54, 35, 36,
   147         36, 53, 54, 55, 36, 36, 36, 36,
   140         35, 35, 35, 35, 35, 35, 35, 35,
   148         42, 36, 37, 36, 36, 36, 36, 36,
   141         35, 35, 35, 35, 35, 40, 41, 42,
   149         36, 36, 36, 36, 36, 36, 36, 36,
   142         43, 44, 35, 58, 40, 35, 35, 35,
   150         41, 42, 43, 44, 45, 36, 47, 41,
   143         49, 50, 51, 35, 52, 53, 54, 35,
   151         36, 36, 36, 50, 51, 52, 36, 53,
   144         36, 35, 35, 35, 35, 35, 35, 35,
   152         54, 55, 36, 36, 36, 36, 42, 36,
   145         35, 35, 35, 35, 35, 35, 40, 41,
   153         37, 36, 36, 36, 36, 36, 36, 36,
   146         42, 43, 44, 35, 35, 40, 35, 35,
   154         36, 36, 36, 36, 36, 36, 41, 42,
   147         35, 49, 50, 51, 35, 52, 53, 54,
   155         43, 44, 45, 36, 60, 41, 36, 36,
   148         35, 36, 35, 35, 35, 35, 35, 35,
   156         36, 50, 51, 52, 36, 53, 54, 55,
   149         35, 35, 35, 35, 35, 35, 35, 40,
   157         36, 36, 36, 36, 42, 36, 37, 36,
   150         41, 42, 43, 44, 45, 46, 40, 35,
   158         36, 36, 36, 36, 36, 36, 36, 36,
   151         35, 35, 49, 50, 51, 35, 52, 53,
   159         36, 36, 36, 36, 41, 42, 43, 44,
   152         54, 35, 36, 35, 35, 37, 1, 35,
   160         45, 36, 36, 41, 36, 36, 36, 50,
   153         35, 38, 35, 35, 35, 35, 35, 35,
   161         51, 52, 36, 53, 54, 55, 36, 36,
   154         40, 41, 42, 43, 44, 45, 46, 40,
   162         36, 36, 42, 36, 37, 36, 36, 36,
   155         47, 35, 48, 49, 50, 51, 35, 52,
   163         36, 36, 36, 36, 36, 36, 36, 36,
   156         53, 54, 35, 36, 35, 35, 37, 1,
   164         36, 36, 41, 42, 43, 44, 45, 46,
   157         35, 35, 38, 35, 35, 35, 35, 35,
   165         47, 41, 36, 36, 36, 50, 51, 52,
   158         35, 40, 41, 42, 43, 44, 45, 46,
   166         36, 53, 54, 55, 36, 36, 36, 36,
   159         40, 47, 39, 48, 49, 50, 51, 35,
   167         42, 36, 37, 36, 36, 38, 1, 36,
   160         52, 53, 54, 35, 60, 59, 59, 59,
   168         36, 39, 36, 36, 36, 36, 36, 36,
   161         59, 59, 59, 59, 61, 59, 10, 62,
   169         41, 42, 43, 44, 45, 46, 47, 41,
   162         60, 59, 11, 63, 63, 3, 6, 63,
   170         48, 36, 49, 50, 51, 52, 36, 53,
   163         63, 64, 63, 63, 63, 63, 63, 65,
   171         54, 55, 36, 36, 36, 36, 56, 36,
       
   172         38, 58, 58, 58, 58, 58, 58, 37,
       
   173         58, 58, 58, 58, 58, 58, 59, 58,
       
   174         58, 58, 58, 58, 58, 58, 42, 43,
       
   175         44, 45, 58, 58, 58, 58, 58, 58,
       
   176         58, 58, 58, 58, 53, 54, 55, 58,
       
   177         37, 36, 36, 38, 1, 36, 36, 39,
       
   178         36, 36, 36, 36, 36, 36, 41, 42,
       
   179         43, 44, 45, 46, 47, 41, 48, 40,
       
   180         49, 50, 51, 52, 36, 53, 54, 55,
       
   181         36, 36, 36, 36, 56, 36, 62, 61,
       
   182         61, 61, 61, 61, 61, 61, 63, 61,
       
   183         10, 64, 62, 61, 11, 65, 65, 3,
       
   184         6, 65, 65, 66, 65, 65, 65, 65,
       
   185         65, 67, 16, 17, 18, 19, 20, 21,
       
   186         22, 16, 23, 25, 25, 26, 27, 28,
       
   187         65, 29, 30, 31, 65, 65, 65, 65,
       
   188         33, 65, 11, 65, 65, 3, 6, 65,
       
   189         65, 66, 65, 65, 65, 65, 65, 65,
   164         16, 17, 18, 19, 20, 21, 22, 16,
   190         16, 17, 18, 19, 20, 21, 22, 16,
   165         23, 25, 25, 26, 27, 28, 63, 29,
   191         23, 25, 25, 26, 27, 28, 65, 29,
   166         30, 31, 63, 11, 63, 63, 3, 6,
   192         30, 31, 65, 65, 65, 65, 33, 65,
   167         63, 63, 64, 63, 63, 63, 63, 63,
   193         11, 65, 65, 65, 65, 65, 65, 65,
   168         63, 16, 17, 18, 19, 20, 21, 22,
   194         65, 65, 65, 65, 65, 65, 16, 17,
   169         16, 23, 25, 25, 26, 27, 28, 63,
   195         18, 19, 20, 65, 65, 65, 65, 65,
   170         29, 30, 31, 63, 11, 63, 63, 63,
   196         65, 26, 27, 28, 65, 29, 30, 31,
   171         63, 63, 63, 63, 63, 63, 63, 63,
   197         65, 65, 65, 65, 17, 65, 11, 65,
   172         63, 63, 16, 17, 18, 19, 20, 63,
   198         65, 65, 65, 65, 65, 65, 65, 65,
   173         63, 63, 63, 63, 63, 26, 27, 28,
   199         65, 65, 65, 65, 65, 17, 18, 19,
   174         63, 29, 30, 31, 63, 11, 63, 63,
   200         20, 65, 65, 65, 65, 65, 65, 65,
   175         63, 63, 63, 63, 63, 63, 63, 63,
   201         65, 65, 65, 29, 30, 31, 65, 11,
   176         63, 63, 63, 63, 17, 18, 19, 20,
   202         65, 65, 65, 65, 65, 65, 65, 65,
   177         63, 63, 63, 63, 63, 63, 63, 63,
   203         65, 65, 65, 65, 65, 65, 65, 18,
   178         63, 63, 29, 30, 31, 63, 11, 63,
   204         19, 20, 65, 11, 65, 65, 65, 65,
   179         63, 63, 63, 63, 63, 63, 63, 63,
   205         65, 65, 65, 65, 65, 65, 65, 65,
   180         63, 63, 63, 63, 63, 63, 18, 19,
   206         65, 65, 65, 65, 19, 20, 65, 11,
   181         20, 63, 11, 63, 63, 63, 63, 63,
   207         65, 65, 65, 65, 65, 65, 65, 65,
   182         63, 63, 63, 63, 63, 63, 63, 63,
   208         65, 65, 65, 65, 65, 65, 65, 65,
   183         63, 63, 63, 19, 20, 63, 11, 63,
   209         65, 20, 65, 11, 65, 65, 65, 65,
   184         63, 63, 63, 63, 63, 63, 63, 63,
   210         65, 65, 65, 65, 65, 65, 65, 65,
   185         63, 63, 63, 63, 63, 63, 63, 63,
   211         65, 65, 65, 18, 19, 20, 65, 65,
   186         20, 63, 11, 63, 63, 63, 63, 63,
   212         65, 65, 65, 65, 65, 65, 65, 65,
   187         63, 63, 63, 63, 63, 63, 63, 63,
   213         29, 30, 31, 65, 11, 65, 65, 65,
   188         63, 63, 18, 19, 20, 63, 63, 63,
   214         65, 65, 65, 65, 65, 65, 65, 65,
   189         63, 63, 63, 63, 63, 63, 63, 29,
   215         65, 65, 65, 65, 18, 19, 20, 65,
   190         30, 31, 63, 11, 63, 63, 63, 63,
   216         65, 65, 65, 65, 65, 65, 65, 65,
   191         63, 63, 63, 63, 63, 63, 63, 63,
   217         65, 65, 30, 31, 65, 11, 65, 65,
   192         63, 63, 63, 18, 19, 20, 63, 63,
   218         65, 65, 65, 65, 65, 65, 65, 65,
   193         63, 63, 63, 63, 63, 63, 63, 63,
   219         65, 65, 65, 65, 65, 18, 19, 20,
   194         63, 30, 31, 63, 11, 63, 63, 63,
   220         65, 65, 65, 65, 65, 65, 65, 65,
   195         63, 63, 63, 63, 63, 63, 63, 63,
   221         65, 65, 65, 65, 31, 65, 11, 65,
   196         63, 63, 63, 63, 18, 19, 20, 63,
   222         65, 65, 65, 65, 65, 65, 65, 65,
   197         63, 63, 63, 63, 63, 63, 63, 63,
   223         65, 65, 65, 65, 65, 17, 18, 19,
   198         63, 63, 63, 31, 63, 11, 63, 63,
   224         20, 65, 65, 65, 65, 65, 65, 26,
   199         63, 63, 63, 63, 63, 63, 63, 63,
   225         27, 28, 65, 29, 30, 31, 65, 65,
   200         63, 63, 63, 63, 17, 18, 19, 20,
   226         65, 65, 17, 65, 11, 65, 65, 65,
   201         63, 63, 63, 63, 63, 63, 26, 27,
   227         65, 65, 65, 65, 65, 65, 65, 65,
   202         28, 63, 29, 30, 31, 63, 11, 63,
   228         65, 65, 65, 17, 18, 19, 20, 65,
   203         63, 63, 63, 63, 63, 63, 63, 63,
   229         65, 65, 65, 65, 65, 65, 27, 28,
   204         63, 63, 63, 63, 63, 17, 18, 19,
   230         65, 29, 30, 31, 65, 65, 65, 65,
   205         20, 63, 63, 63, 63, 63, 63, 63,
   231         17, 65, 11, 65, 65, 65, 65, 65,
   206         27, 28, 63, 29, 30, 31, 63, 11,
   232         65, 65, 65, 65, 65, 65, 65, 65,
   207         63, 63, 63, 63, 63, 63, 63, 63,
   233         65, 17, 18, 19, 20, 65, 65, 65,
   208         63, 63, 63, 63, 63, 63, 17, 18,
   234         65, 65, 65, 65, 65, 28, 65, 29,
   209         19, 20, 63, 63, 63, 63, 63, 63,
   235         30, 31, 65, 65, 65, 65, 17, 65,
   210         63, 63, 28, 63, 29, 30, 31, 63,
   236         11, 65, 65, 65, 65, 65, 65, 65,
   211         11, 63, 63, 63, 63, 63, 63, 63,
   237         65, 65, 65, 65, 65, 65, 16, 17,
   212         63, 63, 63, 63, 63, 63, 16, 17,
   238         18, 19, 20, 65, 22, 16, 65, 65,
   213         18, 19, 20, 63, 22, 16, 63, 63,
   239         65, 26, 27, 28, 65, 29, 30, 31,
   214         63, 26, 27, 28, 63, 29, 30, 31,
   240         65, 65, 65, 65, 17, 65, 11, 65,
   215         63, 11, 63, 63, 63, 63, 63, 63,
   241         65, 65, 65, 65, 65, 65, 65, 65,
   216         63, 63, 63, 63, 63, 63, 63, 16,
   242         65, 65, 65, 65, 16, 17, 18, 19,
   217         17, 18, 19, 20, 63, 66, 16, 63,
   243         20, 65, 68, 16, 65, 65, 65, 26,
   218         63, 63, 26, 27, 28, 63, 29, 30,
   244         27, 28, 65, 29, 30, 31, 65, 65,
   219         31, 63, 11, 63, 63, 63, 63, 63,
   245         65, 65, 17, 65, 11, 65, 65, 65,
   220         63, 63, 63, 63, 63, 63, 63, 63,
   246         65, 65, 65, 65, 65, 65, 65, 65,
   221         16, 17, 18, 19, 20, 63, 63, 16,
   247         65, 65, 16, 17, 18, 19, 20, 65,
   222         63, 63, 63, 26, 27, 28, 63, 29,
   248         65, 16, 65, 65, 65, 26, 27, 28,
   223         30, 31, 63, 11, 63, 63, 63, 63,
   249         65, 29, 30, 31, 65, 65, 65, 65,
   224         63, 63, 63, 63, 63, 63, 63, 63,
   250         17, 65, 11, 65, 65, 65, 65, 65,
   225         63, 16, 17, 18, 19, 20, 21, 22,
   251         65, 65, 65, 65, 65, 65, 65, 65,
   226         16, 63, 63, 63, 26, 27, 28, 63,
   252         16, 17, 18, 19, 20, 21, 22, 16,
   227         29, 30, 31, 63, 11, 63, 63, 3,
   253         65, 65, 65, 26, 27, 28, 65, 29,
   228         6, 63, 63, 64, 63, 63, 63, 63,
   254         30, 31, 65, 65, 65, 65, 17, 65,
   229         63, 63, 16, 17, 18, 19, 20, 21,
   255         11, 65, 65, 3, 6, 65, 65, 66,
   230         22, 16, 23, 63, 25, 26, 27, 28,
   256         65, 65, 65, 65, 65, 65, 16, 17,
   231         63, 29, 30, 31, 63, 3, 67, 67,
   257         18, 19, 20, 21, 22, 16, 23, 65,
   232         67, 67, 67, 67, 67, 67, 67, 67,
   258         25, 26, 27, 28, 65, 29, 30, 31,
   233         67, 67, 67, 4, 67, 6, 67, 8,
   259         65, 65, 65, 65, 33, 65, 3, 65,
   234         63, 63, 63, 8, 63, 63, 11, 63,
   260         65, 65, 65, 65, 65, 11, 65, 65,
   235         63, 3, 6, 63, 63, 64, 63, 63,
   261         65, 65, 65, 65, 4, 65, 65, 65,
   236         63, 63, 63, 63, 16, 17, 18, 19,
   262         65, 65, 65, 65, 17, 18, 19, 20,
   237         20, 21, 22, 16, 23, 24, 25, 26,
   263         65, 65, 65, 65, 65, 65, 65, 65,
   238         27, 28, 63, 29, 30, 31, 63, 11,
   264         65, 65, 29, 30, 31, 65, 3, 69,
   239         63, 63, 3, 6, 63, 63, 64, 63,
   265         69, 69, 69, 69, 69, 69, 69, 69,
   240         63, 63, 63, 63, 63, 16, 17, 18,
   266         69, 69, 69, 69, 4, 69, 6, 69,
       
   267         69, 69, 69, 69, 69, 69, 69, 69,
       
   268         69, 69, 69, 69, 69, 69, 69, 69,
       
   269         69, 69, 69, 69, 69, 69, 69, 69,
       
   270         69, 69, 69, 69, 69, 69, 6, 69,
       
   271         8, 65, 65, 65, 8, 65, 65, 11,
       
   272         65, 65, 3, 6, 65, 65, 66, 65,
       
   273         65, 65, 65, 65, 65, 16, 17, 18,
   241         19, 20, 21, 22, 16, 23, 24, 25,
   274         19, 20, 21, 22, 16, 23, 24, 25,
   242         26, 27, 28, 63, 29, 30, 31, 63,
   275         26, 27, 28, 65, 29, 30, 31, 65,
   243         69, 68, 68, 68, 68, 68, 68, 68,
   276         65, 65, 65, 33, 65, 11, 65, 65,
   244         68, 68, 68, 68, 68, 68, 68, 68,
   277         3, 6, 65, 65, 66, 65, 65, 65,
   245         68, 68, 68, 68, 69, 70, 68, 69,
   278         65, 65, 65, 16, 17, 18, 19, 20,
   246         70, 68, 70, 68, 8, 67, 67, 67,
   279         21, 22, 16, 23, 24, 25, 26, 27,
   247         8, 67, 0
   280         28, 65, 29, 30, 31, 65, 65, 65,
       
   281         65, 33, 65, 71, 70, 70, 70, 70,
       
   282         70, 70, 70, 70, 70, 70, 70, 70,
       
   283         70, 70, 70, 70, 70, 70, 70, 71,
       
   284         72, 70, 71, 72, 70, 72, 70, 8,
       
   285         69, 69, 69, 8, 69, 0
   248 };
   286 };
   249 
   287 
   250 static const char _use_syllable_machine_trans_targs[] = {
   288 static const char _use_syllable_machine_trans_targs[] = {
   251         4, 8, 4, 31, 2, 4, 1, 5,
   289         4, 8, 4, 32, 2, 4, 1, 5,
   252         6, 4, 28, 4, 49, 50, 51, 53,
   290         6, 4, 29, 4, 51, 52, 53, 55,
   253         33, 34, 35, 36, 37, 44, 45, 47,
   291         34, 35, 36, 37, 38, 45, 46, 48,
   254         52, 48, 41, 42, 43, 38, 39, 40,
   292         54, 49, 42, 43, 44, 39, 40, 41,
   255         56, 4, 4, 4, 4, 7, 0, 27,
   293         58, 50, 4, 4, 4, 4, 7, 0,
   256         11, 12, 13, 14, 15, 22, 23, 25,
   294         28, 11, 12, 13, 14, 15, 22, 23,
   257         26, 19, 20, 21, 16, 17, 18, 10,
   295         25, 26, 19, 20, 21, 16, 17, 18,
   258         4, 9, 24, 4, 29, 30, 4, 4,
   296         27, 10, 4, 9, 24, 4, 30, 31,
   259         3, 32, 46, 4, 4, 54, 55
   297         4, 4, 3, 33, 47, 4, 4, 56,
       
   298         57
   260 };
   299 };
   261 
   300 
   262 static const char _use_syllable_machine_trans_actions[] = {
   301 static const char _use_syllable_machine_trans_actions[] = {
   263         1, 0, 2, 3, 0, 4, 0, 0,
   302         1, 0, 2, 3, 0, 4, 0, 0,
   264         7, 8, 0, 9, 10, 10, 3, 0,
   303         7, 8, 0, 9, 10, 10, 3, 0,
   265         0, 0, 0, 0, 0, 0, 0, 0,
   304         0, 0, 0, 0, 0, 0, 0, 0,
   266         3, 3, 0, 0, 0, 0, 0, 0,
   305         3, 3, 0, 0, 0, 0, 0, 0,
   267         0, 11, 12, 13, 14, 7, 0, 7,
   306         0, 3, 11, 12, 13, 14, 7, 0,
   268         0, 0, 0, 0, 0, 0, 0, 0,
   307         7, 0, 0, 0, 0, 0, 0, 0,
   269         7, 0, 0, 0, 0, 0, 0, 7,
   308         0, 7, 0, 0, 0, 0, 0, 0,
   270         15, 0, 0, 16, 0, 0, 17, 18,
   309         0, 7, 15, 0, 0, 16, 0, 0,
   271         0, 3, 0, 19, 20, 0, 0
   310         17, 18, 0, 3, 0, 19, 20, 0,
       
   311         0
   272 };
   312 };
   273 
   313 
   274 static const char _use_syllable_machine_to_state_actions[] = {
   314 static const char _use_syllable_machine_to_state_actions[] = {
   275         0, 0, 0, 0, 5, 0, 0, 0,
   315         0, 0, 0, 0, 5, 0, 0, 0,
   276         0, 0, 0, 0, 0, 0, 0, 0,
   316         0, 0, 0, 0, 0, 0, 0, 0,
   277         0, 0, 0, 0, 0, 0, 0, 0,
   317         0, 0, 0, 0, 0, 0, 0, 0,
   278         0, 0, 0, 0, 0, 0, 0, 0,
   318         0, 0, 0, 0, 0, 0, 0, 0,
   279         0, 0, 0, 0, 0, 0, 0, 0,
   319         0, 0, 0, 0, 0, 0, 0, 0,
   280         0, 0, 0, 0, 0, 0, 0, 0,
   320         0, 0, 0, 0, 0, 0, 0, 0,
   281         0, 0, 0, 0, 0, 0, 0, 0,
   321         0, 0, 0, 0, 0, 0, 0, 0,
   282         0
   322         0, 0, 0
   283 };
   323 };
   284 
   324 
   285 static const char _use_syllable_machine_from_state_actions[] = {
   325 static const char _use_syllable_machine_from_state_actions[] = {
   286         0, 0, 0, 0, 6, 0, 0, 0,
   326         0, 0, 0, 0, 6, 0, 0, 0,
   287         0, 0, 0, 0, 0, 0, 0, 0,
   327         0, 0, 0, 0, 0, 0, 0, 0,
   288         0, 0, 0, 0, 0, 0, 0, 0,
   328         0, 0, 0, 0, 0, 0, 0, 0,
   289         0, 0, 0, 0, 0, 0, 0, 0,
   329         0, 0, 0, 0, 0, 0, 0, 0,
   290         0, 0, 0, 0, 0, 0, 0, 0,
   330         0, 0, 0, 0, 0, 0, 0, 0,
   291         0, 0, 0, 0, 0, 0, 0, 0,
   331         0, 0, 0, 0, 0, 0, 0, 0,
   292         0, 0, 0, 0, 0, 0, 0, 0,
   332         0, 0, 0, 0, 0, 0, 0, 0,
   293         0
   333         0, 0, 0
   294 };
   334 };
   295 
   335 
   296 static const short _use_syllable_machine_eof_trans[] = {
   336 static const short _use_syllable_machine_eof_trans[] = {
   297         1, 3, 3, 6, 0, 34, 36, 36,
   337         1, 3, 3, 6, 0, 35, 37, 37,
   298         57, 57, 36, 36, 36, 36, 36, 36,
   338         59, 59, 37, 37, 37, 37, 37, 37,
   299         36, 36, 36, 36, 36, 36, 36, 36,
   339         37, 37, 37, 37, 37, 37, 37, 37,
   300         36, 36, 36, 36, 60, 63, 60, 64,
   340         37, 37, 37, 59, 37, 62, 65, 62,
   301         64, 64, 64, 64, 64, 64, 64, 64,
   341         66, 66, 66, 66, 66, 66, 66, 66,
   302         64, 64, 64, 64, 64, 64, 64, 64,
   342         66, 66, 66, 66, 66, 66, 66, 66,
   303         64, 68, 68, 64, 64, 69, 69, 69,
   343         66, 66, 66, 70, 70, 66, 66, 71,
   304         68
   344         71, 71, 70
   305 };
   345 };
   306 
   346 
   307 static const int use_syllable_machine_start = 4;
   347 static const int use_syllable_machine_start = 4;
   308 static const int use_syllable_machine_first_final = 4;
   348 static const int use_syllable_machine_first_final = 4;
   309 static const int use_syllable_machine_error = -1;
   349 static const int use_syllable_machine_error = -1;
   313 
   353 
   314 #line 38 "hb-ot-shape-complex-use-machine.rl"
   354 #line 38 "hb-ot-shape-complex-use-machine.rl"
   315 
   355 
   316 
   356 
   317 
   357 
   318 #line 141 "hb-ot-shape-complex-use-machine.rl"
   358 #line 143 "hb-ot-shape-complex-use-machine.rl"
   319 
   359 
   320 
   360 
   321 #define found_syllable(syllable_type) \
   361 #define found_syllable(syllable_type) \
   322   HB_STMT_START { \
   362   HB_STMT_START { \
   323     if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
   363     if (0) fprintf (stderr, "syllable %d..%d %s\n", ts, te, #syllable_type); \
   324     for (unsigned int i = last; i < p+1; i++) \
   364     for (unsigned int i = ts; i < te; i++) \
   325       info[i].syllable() = (syllable_serial << 4) | syllable_type; \
   365       info[i].syllable() = (syllable_serial << 4) | syllable_type; \
   326     last = p+1; \
       
   327     syllable_serial++; \
   366     syllable_serial++; \
   328     if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
   367     if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
   329   } HB_STMT_END
   368   } HB_STMT_END
   330 
   369 
   331 static void
   370 static void
   332 find_syllables (hb_buffer_t *buffer)
   371 find_syllables (hb_buffer_t *buffer)
   333 {
   372 {
   334   unsigned int p, pe, eof, ts HB_UNUSED, te, act;
   373   unsigned int p, pe, eof, ts, te, act;
   335   int cs;
   374   int cs;
   336   hb_glyph_info_t *info = buffer->info;
   375   hb_glyph_info_t *info = buffer->info;
   337 
   376 
   338 #line 339 "hb-ot-shape-complex-use-machine.hh"
   377 #line 378 "hb-ot-shape-complex-use-machine.hh"
   339         {
   378         {
   340         cs = use_syllable_machine_start;
   379         cs = use_syllable_machine_start;
   341         ts = 0;
   380         ts = 0;
   342         te = 0;
   381         te = 0;
   343         act = 0;
   382         act = 0;
   344         }
   383         }
   345 
   384 
   346 #line 162 "hb-ot-shape-complex-use-machine.rl"
   385 #line 163 "hb-ot-shape-complex-use-machine.rl"
   347 
   386 
   348 
   387 
   349   p = 0;
   388   p = 0;
   350   pe = eof = buffer->len;
   389   pe = eof = buffer->len;
   351 
   390 
   352   unsigned int last = 0;
       
   353   unsigned int syllable_serial = 1;
   391   unsigned int syllable_serial = 1;
   354 
   392 
   355 #line 356 "hb-ot-shape-complex-use-machine.hh"
   393 #line 394 "hb-ot-shape-complex-use-machine.hh"
   356         {
   394         {
   357         int _slen;
   395         int _slen;
   358         int _trans;
   396         int _trans;
   359         const unsigned char *_keys;
   397         const unsigned char *_keys;
   360         const char *_inds;
   398         const char *_inds;
   364         switch ( _use_syllable_machine_from_state_actions[cs] ) {
   402         switch ( _use_syllable_machine_from_state_actions[cs] ) {
   365         case 6:
   403         case 6:
   366 #line 1 "NONE"
   404 #line 1 "NONE"
   367         {ts = p;}
   405         {ts = p;}
   368         break;
   406         break;
   369 #line 370 "hb-ot-shape-complex-use-machine.hh"
   407 #line 408 "hb-ot-shape-complex-use-machine.hh"
   370         }
   408         }
   371 
   409 
   372         _keys = _use_syllable_machine_trans_keys + (cs<<1);
   410         _keys = _use_syllable_machine_trans_keys + (cs<<1);
   373         _inds = _use_syllable_machine_indicies + _use_syllable_machine_index_offsets[cs];
   411         _inds = _use_syllable_machine_indicies + _use_syllable_machine_index_offsets[cs];
   374 
   412 
   387         case 7:
   425         case 7:
   388 #line 1 "NONE"
   426 #line 1 "NONE"
   389         {te = p+1;}
   427         {te = p+1;}
   390         break;
   428         break;
   391         case 12:
   429         case 12:
   392 #line 130 "hb-ot-shape-complex-use-machine.rl"
   430 #line 132 "hb-ot-shape-complex-use-machine.rl"
   393         {te = p+1;{ found_syllable (independent_cluster); }}
   431         {te = p+1;{ found_syllable (independent_cluster); }}
   394         break;
   432         break;
   395         case 14:
   433         case 14:
       
   434 #line 134 "hb-ot-shape-complex-use-machine.rl"
       
   435         {te = p+1;{ found_syllable (standard_cluster); }}
       
   436         break;
       
   437         case 9:
       
   438 #line 138 "hb-ot-shape-complex-use-machine.rl"
       
   439         {te = p+1;{ found_syllable (broken_cluster); }}
       
   440         break;
       
   441         case 8:
       
   442 #line 139 "hb-ot-shape-complex-use-machine.rl"
       
   443         {te = p+1;{ found_syllable (non_cluster); }}
       
   444         break;
       
   445         case 11:
   396 #line 132 "hb-ot-shape-complex-use-machine.rl"
   446 #line 132 "hb-ot-shape-complex-use-machine.rl"
   397         {te = p+1;{ found_syllable (standard_cluster); }}
   447         {te = p;p--;{ found_syllable (independent_cluster); }}
   398         break;
   448         break;
   399         case 9:
   449         case 15:
       
   450 #line 133 "hb-ot-shape-complex-use-machine.rl"
       
   451         {te = p;p--;{ found_syllable (virama_terminated_cluster); }}
       
   452         break;
       
   453         case 13:
       
   454 #line 134 "hb-ot-shape-complex-use-machine.rl"
       
   455         {te = p;p--;{ found_syllable (standard_cluster); }}
       
   456         break;
       
   457         case 17:
       
   458 #line 135 "hb-ot-shape-complex-use-machine.rl"
       
   459         {te = p;p--;{ found_syllable (number_joiner_terminated_cluster); }}
       
   460         break;
       
   461         case 16:
   400 #line 136 "hb-ot-shape-complex-use-machine.rl"
   462 #line 136 "hb-ot-shape-complex-use-machine.rl"
   401         {te = p+1;{ found_syllable (broken_cluster); }}
   463         {te = p;p--;{ found_syllable (numeral_cluster); }}
   402         break;
   464         break;
   403         case 8:
   465         case 20:
   404 #line 137 "hb-ot-shape-complex-use-machine.rl"
   466 #line 137 "hb-ot-shape-complex-use-machine.rl"
   405         {te = p+1;{ found_syllable (non_cluster); }}
   467         {te = p;p--;{ found_syllable (symbol_cluster); }}
   406         break;
   468         break;
   407         case 11:
   469         case 18:
   408 #line 130 "hb-ot-shape-complex-use-machine.rl"
   470 #line 138 "hb-ot-shape-complex-use-machine.rl"
   409         {te = p;p--;{ found_syllable (independent_cluster); }}
   471         {te = p;p--;{ found_syllable (broken_cluster); }}
   410         break;
   472         break;
   411         case 15:
   473         case 19:
   412 #line 131 "hb-ot-shape-complex-use-machine.rl"
   474 #line 139 "hb-ot-shape-complex-use-machine.rl"
   413         {te = p;p--;{ found_syllable (virama_terminated_cluster); }}
   475         {te = p;p--;{ found_syllable (non_cluster); }}
   414         break;
   476         break;
   415         case 13:
   477         case 1:
   416 #line 132 "hb-ot-shape-complex-use-machine.rl"
       
   417         {te = p;p--;{ found_syllable (standard_cluster); }}
       
   418         break;
       
   419         case 17:
       
   420 #line 133 "hb-ot-shape-complex-use-machine.rl"
       
   421         {te = p;p--;{ found_syllable (number_joiner_terminated_cluster); }}
       
   422         break;
       
   423         case 16:
       
   424 #line 134 "hb-ot-shape-complex-use-machine.rl"
   478 #line 134 "hb-ot-shape-complex-use-machine.rl"
   425         {te = p;p--;{ found_syllable (numeral_cluster); }}
       
   426         break;
       
   427         case 20:
       
   428 #line 135 "hb-ot-shape-complex-use-machine.rl"
       
   429         {te = p;p--;{ found_syllable (symbol_cluster); }}
       
   430         break;
       
   431         case 18:
       
   432 #line 136 "hb-ot-shape-complex-use-machine.rl"
       
   433         {te = p;p--;{ found_syllable (broken_cluster); }}
       
   434         break;
       
   435         case 19:
       
   436 #line 137 "hb-ot-shape-complex-use-machine.rl"
       
   437         {te = p;p--;{ found_syllable (non_cluster); }}
       
   438         break;
       
   439         case 1:
       
   440 #line 132 "hb-ot-shape-complex-use-machine.rl"
       
   441         {{p = ((te))-1;}{ found_syllable (standard_cluster); }}
   479         {{p = ((te))-1;}{ found_syllable (standard_cluster); }}
   442         break;
   480         break;
   443         case 4:
   481         case 4:
   444 #line 136 "hb-ot-shape-complex-use-machine.rl"
   482 #line 138 "hb-ot-shape-complex-use-machine.rl"
   445         {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
   483         {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
   446         break;
   484         break;
   447         case 2:
   485         case 2:
   448 #line 1 "NONE"
   486 #line 1 "NONE"
   449         {       switch( act ) {
   487         {       switch( act ) {
   457         }
   495         }
   458         break;
   496         break;
   459         case 3:
   497         case 3:
   460 #line 1 "NONE"
   498 #line 1 "NONE"
   461         {te = p+1;}
   499         {te = p+1;}
   462 #line 136 "hb-ot-shape-complex-use-machine.rl"
   500 #line 138 "hb-ot-shape-complex-use-machine.rl"
   463         {act = 7;}
   501         {act = 7;}
   464         break;
   502         break;
   465         case 10:
   503         case 10:
   466 #line 1 "NONE"
   504 #line 1 "NONE"
   467         {te = p+1;}
   505         {te = p+1;}
   468 #line 137 "hb-ot-shape-complex-use-machine.rl"
   506 #line 139 "hb-ot-shape-complex-use-machine.rl"
   469         {act = 8;}
   507         {act = 8;}
   470         break;
   508         break;
   471 #line 472 "hb-ot-shape-complex-use-machine.hh"
   509 #line 510 "hb-ot-shape-complex-use-machine.hh"
   472         }
   510         }
   473 
   511 
   474 _again:
   512 _again:
   475         switch ( _use_syllable_machine_to_state_actions[cs] ) {
   513         switch ( _use_syllable_machine_to_state_actions[cs] ) {
   476         case 5:
   514         case 5:
   477 #line 1 "NONE"
   515 #line 1 "NONE"
   478         {ts = 0;}
   516         {ts = 0;}
   479         break;
   517         break;
   480 #line 481 "hb-ot-shape-complex-use-machine.hh"
   518 #line 519 "hb-ot-shape-complex-use-machine.hh"
   481         }
   519         }
   482 
   520 
   483         if ( ++p != pe )
   521         if ( ++p != pe )
   484                 goto _resume;
   522                 goto _resume;
   485         _test_eof: {}
   523         _test_eof: {}