Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic-private.hh

Issue 1580513002: Roll HarfBuzz to 1.1.3 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: build fix Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright © 2012 Google, Inc. 2 * Copyright © 2012 Google, Inc.
3 * 3 *
4 * This is part of HarfBuzz, a text shaping library. 4 * This is part of HarfBuzz, a text shaping library.
5 * 5 *
6 * Permission is hereby granted, without written agreement and without 6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this 7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the 8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in 9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software. 10 * all copies of this software.
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 102
103 POS_END 103 POS_END
104 }; 104 };
105 105
106 /* Categories used in IndicSyllabicCategory.txt from UCD. */ 106 /* Categories used in IndicSyllabicCategory.txt from UCD. */
107 enum indic_syllabic_category_t { 107 enum indic_syllabic_category_t {
108 INDIC_SYLLABIC_CATEGORY_OTHER = OT_X, 108 INDIC_SYLLABIC_CATEGORY_OTHER = OT_X,
109 109
110 INDIC_SYLLABIC_CATEGORY_AVAGRAHA = OT_Symbol, 110 INDIC_SYLLABIC_CATEGORY_AVAGRAHA = OT_Symbol,
111 INDIC_SYLLABIC_CATEGORY_BINDU = OT_SM, 111 INDIC_SYLLABIC_CATEGORY_BINDU = OT_SM,
112 INDIC_SYLLABIC_CATEGORY_BRAHMI_JOINING_NUMBER»» = OT_PLACEHOLDER, /* TOD O */ 112 INDIC_SYLLABIC_CATEGORY_BRAHMI_JOINING_NUMBER»» = OT_PLACEHOLDER, /* Don 't care. */
113 INDIC_SYLLABIC_CATEGORY_CANTILLATION_MARK = OT_A, 113 INDIC_SYLLABIC_CATEGORY_CANTILLATION_MARK = OT_A,
114 INDIC_SYLLABIC_CATEGORY_CONSONANT = OT_C, 114 INDIC_SYLLABIC_CATEGORY_CONSONANT = OT_C,
115 INDIC_SYLLABIC_CATEGORY_CONSONANT_DEAD = OT_C, 115 INDIC_SYLLABIC_CATEGORY_CONSONANT_DEAD = OT_C,
116 INDIC_SYLLABIC_CATEGORY_CONSONANT_FINAL = OT_CM, 116 INDIC_SYLLABIC_CATEGORY_CONSONANT_FINAL = OT_CM,
117 INDIC_SYLLABIC_CATEGORY_CONSONANT_HEAD_LETTER = OT_C, 117 INDIC_SYLLABIC_CATEGORY_CONSONANT_HEAD_LETTER = OT_C,
118 INDIC_SYLLABIC_CATEGORY_CONSONANT_KILLER = OT_M, /* U+17CD only. */
118 INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL = OT_CM, 119 INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL = OT_CM,
119 INDIC_SYLLABIC_CATEGORY_CONSONANT_PLACEHOLDER = OT_PLACEHOLDER, 120 INDIC_SYLLABIC_CATEGORY_CONSONANT_PLACEHOLDER = OT_PLACEHOLDER,
120 INDIC_SYLLABIC_CATEGORY_CONSONANT_PRECEDING_REPHA = OT_Repha, 121 INDIC_SYLLABIC_CATEGORY_CONSONANT_PRECEDING_REPHA = OT_Repha,
122 INDIC_SYLLABIC_CATEGORY_CONSONANT_PREFIXED = OT_X, /* Don't care. * /
121 INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED = OT_CM, 123 INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED = OT_CM,
122 INDIC_SYLLABIC_CATEGORY_CONSONANT_SUCCEEDING_REPHA = OT_N, 124 INDIC_SYLLABIC_CATEGORY_CONSONANT_SUCCEEDING_REPHA = OT_N,
125 INDIC_SYLLABIC_CATEGORY_CONSONANT_WITH_STACKER = OT_Repha, /* TODO */
123 INDIC_SYLLABIC_CATEGORY_GEMINATION_MARK = OT_SM, 126 INDIC_SYLLABIC_CATEGORY_GEMINATION_MARK = OT_SM,
124 INDIC_SYLLABIC_CATEGORY_INVISIBLE_STACKER» » = OT_H, /* TODO */ 127 INDIC_SYLLABIC_CATEGORY_INVISIBLE_STACKER» » = OT_Coeng,
125 INDIC_SYLLABIC_CATEGORY_JOINER = OT_ZWJ, 128 INDIC_SYLLABIC_CATEGORY_JOINER = OT_ZWJ,
126 INDIC_SYLLABIC_CATEGORY_MODIFYING_LETTER = OT_X, 129 INDIC_SYLLABIC_CATEGORY_MODIFYING_LETTER = OT_X,
127 INDIC_SYLLABIC_CATEGORY_NON_JOINER = OT_ZWNJ, 130 INDIC_SYLLABIC_CATEGORY_NON_JOINER = OT_ZWNJ,
128 INDIC_SYLLABIC_CATEGORY_NUKTA = OT_N, 131 INDIC_SYLLABIC_CATEGORY_NUKTA = OT_N,
129 INDIC_SYLLABIC_CATEGORY_NUMBER = OT_PLACEHOLDER, 132 INDIC_SYLLABIC_CATEGORY_NUMBER = OT_PLACEHOLDER,
130 INDIC_SYLLABIC_CATEGORY_NUMBER_JOINER»» » = OT_PLACEHOLDER, /* TOD O */ 133 INDIC_SYLLABIC_CATEGORY_NUMBER_JOINER»» » = OT_PLACEHOLDER, /* Don 't care. */
131 INDIC_SYLLABIC_CATEGORY_PURE_KILLER» » » = OT_H, /* TODO */ 134 INDIC_SYLLABIC_CATEGORY_PURE_KILLER» » » = OT_M, /* Is like a vow el matra. */
132 INDIC_SYLLABIC_CATEGORY_REGISTER_SHIFTER = OT_RS, 135 INDIC_SYLLABIC_CATEGORY_REGISTER_SHIFTER = OT_RS,
136 INDIC_SYLLABIC_CATEGORY_SYLLABLE_MODIFIER = OT_M, /* Misc Khmer si gns. */
133 INDIC_SYLLABIC_CATEGORY_TONE_LETTER = OT_X, 137 INDIC_SYLLABIC_CATEGORY_TONE_LETTER = OT_X,
134 INDIC_SYLLABIC_CATEGORY_TONE_MARK = OT_N, 138 INDIC_SYLLABIC_CATEGORY_TONE_MARK = OT_N,
135 INDIC_SYLLABIC_CATEGORY_VIRAMA = OT_H, 139 INDIC_SYLLABIC_CATEGORY_VIRAMA = OT_H,
136 INDIC_SYLLABIC_CATEGORY_VISARGA = OT_SM, 140 INDIC_SYLLABIC_CATEGORY_VISARGA = OT_SM,
137 INDIC_SYLLABIC_CATEGORY_VOWEL = OT_V, 141 INDIC_SYLLABIC_CATEGORY_VOWEL = OT_V,
138 INDIC_SYLLABIC_CATEGORY_VOWEL_DEPENDENT = OT_M, 142 INDIC_SYLLABIC_CATEGORY_VOWEL_DEPENDENT = OT_M,
139 INDIC_SYLLABIC_CATEGORY_VOWEL_INDEPENDENT = OT_V 143 INDIC_SYLLABIC_CATEGORY_VOWEL_INDEPENDENT = OT_V
140 }; 144 };
141 145
142 /* Categories used in IndicSMatraCategory.txt from UCD */ 146 /* Categories used in IndicSMatraCategory.txt from UCD */
(...skipping 12 matching lines...) Expand all
155 INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT = INDIC_MATRA_CATEGORY_R IGHT, 159 INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT = INDIC_MATRA_CATEGORY_R IGHT,
156 INDIC_MATRA_CATEGORY_TOP_AND_LEFT = INDIC_MATRA_CATEGORY_T OP, 160 INDIC_MATRA_CATEGORY_TOP_AND_LEFT = INDIC_MATRA_CATEGORY_T OP,
157 INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT = INDIC_MATRA_CATEGORY_R IGHT, 161 INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT = INDIC_MATRA_CATEGORY_R IGHT,
158 INDIC_MATRA_CATEGORY_TOP_AND_RIGHT = INDIC_MATRA_CATEGORY_R IGHT, 162 INDIC_MATRA_CATEGORY_TOP_AND_RIGHT = INDIC_MATRA_CATEGORY_R IGHT,
159 163
160 INDIC_MATRA_CATEGORY_OVERSTRUCK = POS_AFTER_MAIN, 164 INDIC_MATRA_CATEGORY_OVERSTRUCK = POS_AFTER_MAIN,
161 INDIC_MATRA_CATEGORY_VISUAL_ORDER_LEFT = POS_PRE_M 165 INDIC_MATRA_CATEGORY_VISUAL_ORDER_LEFT = POS_PRE_M
162 }; 166 };
163 167
164 #define INDIC_COMBINE_CATEGORIES(S,M) \ 168 #define INDIC_COMBINE_CATEGORIES(S,M) \
165 (ASSERT_STATIC_EXPR_ZERO (M == INDIC_MATRA_CATEGORY_NOT_APPLICABLE || \ 169 ( \
166 » » » ( \ 170 ASSERT_STATIC_EXPR_ZERO (S < 255 && M < 255) + \
167 » » » S == INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL || \ 171 ( S | \
168 » » » S == INDIC_SYLLABIC_CATEGORY_GEMINATION_MARK || \ 172 ( \
169 » » » S == INDIC_SYLLABIC_CATEGORY_REGISTER_SHIFTER || \ 173 ( \
170 » » » S == INDIC_SYLLABIC_CATEGORY_CONSONANT_SUCCEEDING_R EPHA || \ 174 S == INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL || \
171 » » » S == INDIC_SYLLABIC_CATEGORY_VIRAMA || \ 175 S == INDIC_SYLLABIC_CATEGORY_GEMINATION_MARK || \
172 » » » S == INDIC_SYLLABIC_CATEGORY_VOWEL_DEPENDENT || \ 176 S == INDIC_SYLLABIC_CATEGORY_REGISTER_SHIFTER || \
173 » » » false)) + \ 177 S == INDIC_SYLLABIC_CATEGORY_CONSONANT_SUCCEEDING_REPHA || \
174 ASSERT_STATIC_EXPR_ZERO (S < 255 && M < 255) + \ 178 S == INDIC_SYLLABIC_CATEGORY_VIRAMA || \
175 ((M << 8) | S)) 179 S == INDIC_SYLLABIC_CATEGORY_VOWEL_DEPENDENT || \
180 false \
181 ? M : INDIC_MATRA_CATEGORY_NOT_APPLICABLE \
182 ) << 8 \
183 ) \
184 ) \
185 )
176 186
177 HB_INTERNAL INDIC_TABLE_ELEMENT_TYPE 187 HB_INTERNAL INDIC_TABLE_ELEMENT_TYPE
178 hb_indic_get_categories (hb_codepoint_t u); 188 hb_indic_get_categories (hb_codepoint_t u);
179 189
180 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_PRIVATE_HH */ 190 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_PRIVATE_HH */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698