1 /* 2 * Copyright (C) 2019 Alexander Borisov 3 * 4 * Author: Alexander Borisov <borisov@lexbor.com> 5 */ 6 7 /* 8 * Caution! 9 * This file generated by the script "utils/lexbor/encoding/multi-byte.py"! 10 * Do not change this file! 11 */ 12 13 #include "lexbor/encoding/base.h" 14 15 #include "lexbor/core/shs.h" 16 17 18 LXB_API const lxb_encoding_multi_index_t lxb_encoding_multi_index_iso_2022_jp_katakana[63] = 19 { 20 {{'\xe3', '\x80', '\x82'}, 3, 0x3002}, /* (IDEOGRAPHIC FULL STOP) */ 21 {{'\xe3', '\x80', '\x8c'}, 3, 0x300C}, /* (LEFT CORNER BRACKET) */ 22 {{'\xe3', '\x80', '\x8d'}, 3, 0x300D}, /* (RIGHT CORNER BRACKET) */ 23 {{'\xe3', '\x80', '\x81'}, 3, 0x3001}, /* (IDEOGRAPHIC COMMA) */ 24 {{'\xe3', '\x83', '\xbb'}, 3, 0x30FB}, /* (KATAKANA MIDDLE DOT) */ 25 {{'\xe3', '\x83', '\xb2'}, 3, 0x30F2}, /* (KATAKANA LETTER WO) */ 26 {{'\xe3', '\x82', '\xa1'}, 3, 0x30A1}, /* (KATAKANA LETTER SMALL A) */ 27 {{'\xe3', '\x82', '\xa3'}, 3, 0x30A3}, /* (KATAKANA LETTER SMALL I) */ 28 {{'\xe3', '\x82', '\xa5'}, 3, 0x30A5}, /* (KATAKANA LETTER SMALL U) */ 29 {{'\xe3', '\x82', '\xa7'}, 3, 0x30A7}, /* (KATAKANA LETTER SMALL E) */ 30 {{'\xe3', '\x82', '\xa9'}, 3, 0x30A9}, /* (KATAKANA LETTER SMALL O) */ 31 {{'\xe3', '\x83', '\xa3'}, 3, 0x30E3}, /* (KATAKANA LETTER SMALL YA) */ 32 {{'\xe3', '\x83', '\xa5'}, 3, 0x30E5}, /* (KATAKANA LETTER SMALL YU) */ 33 {{'\xe3', '\x83', '\xa7'}, 3, 0x30E7}, /* (KATAKANA LETTER SMALL YO) */ 34 {{'\xe3', '\x83', '\x83'}, 3, 0x30C3}, /* (KATAKANA LETTER SMALL TU) */ 35 {{'\xe3', '\x83', '\xbc'}, 3, 0x30FC}, /* (KATAKANA-HIRAGANA PROLONGED SOUND MARK) */ 36 {{'\xe3', '\x82', '\xa2'}, 3, 0x30A2}, /* (KATAKANA LETTER A) */ 37 {{'\xe3', '\x82', '\xa4'}, 3, 0x30A4}, /* (KATAKANA LETTER I) */ 38 {{'\xe3', '\x82', '\xa6'}, 3, 0x30A6}, /* (KATAKANA LETTER U) */ 39 {{'\xe3', '\x82', '\xa8'}, 3, 0x30A8}, /* (KATAKANA LETTER E) */ 40 {{'\xe3', '\x82', '\xaa'}, 3, 0x30AA}, /* (KATAKANA LETTER O) */ 41 {{'\xe3', '\x82', '\xab'}, 3, 0x30AB}, /* (KATAKANA LETTER KA) */ 42 {{'\xe3', '\x82', '\xad'}, 3, 0x30AD}, /* (KATAKANA LETTER KI) */ 43 {{'\xe3', '\x82', '\xaf'}, 3, 0x30AF}, /* (KATAKANA LETTER KU) */ 44 {{'\xe3', '\x82', '\xb1'}, 3, 0x30B1}, /* (KATAKANA LETTER KE) */ 45 {{'\xe3', '\x82', '\xb3'}, 3, 0x30B3}, /* (KATAKANA LETTER KO) */ 46 {{'\xe3', '\x82', '\xb5'}, 3, 0x30B5}, /* (KATAKANA LETTER SA) */ 47 {{'\xe3', '\x82', '\xb7'}, 3, 0x30B7}, /* (KATAKANA LETTER SI) */ 48 {{'\xe3', '\x82', '\xb9'}, 3, 0x30B9}, /* (KATAKANA LETTER SU) */ 49 {{'\xe3', '\x82', '\xbb'}, 3, 0x30BB}, /* (KATAKANA LETTER SE) */ 50 {{'\xe3', '\x82', '\xbd'}, 3, 0x30BD}, /* (KATAKANA LETTER SO) */ 51 {{'\xe3', '\x82', '\xbf'}, 3, 0x30BF}, /* (KATAKANA LETTER TA) */ 52 {{'\xe3', '\x83', '\x81'}, 3, 0x30C1}, /* (KATAKANA LETTER TI) */ 53 {{'\xe3', '\x83', '\x84'}, 3, 0x30C4}, /* (KATAKANA LETTER TU) */ 54 {{'\xe3', '\x83', '\x86'}, 3, 0x30C6}, /* (KATAKANA LETTER TE) */ 55 {{'\xe3', '\x83', '\x88'}, 3, 0x30C8}, /* (KATAKANA LETTER TO) */ 56 {{'\xe3', '\x83', '\x8a'}, 3, 0x30CA}, /* (KATAKANA LETTER NA) */ 57 {{'\xe3', '\x83', '\x8b'}, 3, 0x30CB}, /* (KATAKANA LETTER NI) */ 58 {{'\xe3', '\x83', '\x8c'}, 3, 0x30CC}, /* (KATAKANA LETTER NU) */ 59 {{'\xe3', '\x83', '\x8d'}, 3, 0x30CD}, /* (KATAKANA LETTER NE) */ 60 {{'\xe3', '\x83', '\x8e'}, 3, 0x30CE}, /* (KATAKANA LETTER NO) */ 61 {{'\xe3', '\x83', '\x8f'}, 3, 0x30CF}, /* (KATAKANA LETTER HA) */ 62 {{'\xe3', '\x83', '\x92'}, 3, 0x30D2}, /* (KATAKANA LETTER HI) */ 63 {{'\xe3', '\x83', '\x95'}, 3, 0x30D5}, /* (KATAKANA LETTER HU) */ 64 {{'\xe3', '\x83', '\x98'}, 3, 0x30D8}, /* (KATAKANA LETTER HE) */ 65 {{'\xe3', '\x83', '\x9b'}, 3, 0x30DB}, /* (KATAKANA LETTER HO) */ 66 {{'\xe3', '\x83', '\x9e'}, 3, 0x30DE}, /* (KATAKANA LETTER MA) */ 67 {{'\xe3', '\x83', '\x9f'}, 3, 0x30DF}, /* (KATAKANA LETTER MI) */ 68 {{'\xe3', '\x83', '\xa0'}, 3, 0x30E0}, /* (KATAKANA LETTER MU) */ 69 {{'\xe3', '\x83', '\xa1'}, 3, 0x30E1}, /* (KATAKANA LETTER ME) */ 70 {{'\xe3', '\x83', '\xa2'}, 3, 0x30E2}, /* (KATAKANA LETTER MO) */ 71 {{'\xe3', '\x83', '\xa4'}, 3, 0x30E4}, /* (KATAKANA LETTER YA) */ 72 {{'\xe3', '\x83', '\xa6'}, 3, 0x30E6}, /* (KATAKANA LETTER YU) */ 73 {{'\xe3', '\x83', '\xa8'}, 3, 0x30E8}, /* (KATAKANA LETTER YO) */ 74 {{'\xe3', '\x83', '\xa9'}, 3, 0x30E9}, /* (KATAKANA LETTER RA) */ 75 {{'\xe3', '\x83', '\xaa'}, 3, 0x30EA}, /* (KATAKANA LETTER RI) */ 76 {{'\xe3', '\x83', '\xab'}, 3, 0x30EB}, /* (KATAKANA LETTER RU) */ 77 {{'\xe3', '\x83', '\xac'}, 3, 0x30EC}, /* (KATAKANA LETTER RE) */ 78 {{'\xe3', '\x83', '\xad'}, 3, 0x30ED}, /* (KATAKANA LETTER RO) */ 79 {{'\xe3', '\x83', '\xaf'}, 3, 0x30EF}, /* (KATAKANA LETTER WA) */ 80 {{'\xe3', '\x83', '\xb3'}, 3, 0x30F3}, /* (KATAKANA LETTER N) */ 81 {{'\xe3', '\x82', '\x9b'}, 3, 0x309B}, /* (KATAKANA-HIRAGANA VOICED SOUND MARK) */ 82 {{'\xe3', '\x82', '\x9c'}, 3, 0x309C}, /* (KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK) */ 83 }; 84 85 /* Table size: 52; Max deep: 2 */ 86 LXB_API const lexbor_shs_hash_t lxb_encoding_multi_hash_iso_2022_jp_katakana[72] = 87 { 88 {0, 0, 0},{0, 0, 0}, 89 {12481, 32, 0}, 90 {0, 0, 0}, 91 {12483, 14, 0}, 92 {12484, 33, 0}, 93 {0, 0, 0}, 94 {12486, 34, 0}, 95 {12539, 4, 0}, 96 {12540, 15, 58}, 97 {0, 0, 0}, 98 {12490, 36, 0}, 99 {12491, 37, 0}, 100 {12492, 38, 0}, 101 {12493, 39, 0}, 102 {12494, 40, 0}, 103 {12495, 41, 71}, 104 {12444, 62, 0}, 105 {12289, 3, 0}, 106 {12290, 0, 59}, 107 {0, 0, 0}, 108 {0, 0, 0}, 109 {12449, 6, 60}, 110 {12450, 16, 0}, 111 {12451, 7, 0}, 112 {12452, 17, 61}, 113 {12453, 8, 0}, 114 {12454, 18, 0}, 115 {12455, 9, 62}, 116 {12300, 1, 54}, 117 {12301, 2, 53}, 118 {12458, 20, 63}, 119 {12459, 21, 64}, 120 {12512, 48, 0}, 121 {12461, 22, 65}, 122 {12514, 50, 0}, 123 {12515, 11, 55}, 124 {12516, 51, 0}, 125 {12517, 12, 56}, 126 {12518, 52, 0}, 127 {12519, 13, 57}, 128 {12520, 53, 0}, 129 {12469, 26, 66}, 130 {12522, 55, 0}, 131 {12471, 27, 67}, 132 {12524, 57, 0}, 133 {12473, 28, 68}, 134 {0, 0, 0}, 135 {12475, 29, 69}, 136 {0, 0, 0}, 137 {12477, 30, 0}, 138 {12530, 5, 0}, 139 {12479, 31, 70}, 140 {12457, 10, 0}, 141 {12456, 19, 0}, 142 {12463, 23, 0}, 143 {12465, 24, 0}, 144 {12467, 25, 0}, 145 {12488, 35, 0}, 146 {12498, 42, 0}, 147 {12501, 43, 0}, 148 {12504, 44, 0}, 149 {12507, 45, 0}, 150 {12510, 46, 0}, 151 {12511, 47, 0}, 152 {12513, 49, 0}, 153 {12521, 54, 0}, 154 {12523, 56, 0}, 155 {12525, 58, 0}, 156 {12527, 59, 0}, 157 {12531, 60, 0}, 158 {12443, 61, 0} 159 }; 160