OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 2009 Red Hat, Inc. | 2 * Copyright © 2009 Red Hat, Inc. |
3 * Copyright © 2011 Codethink Limited | 3 * Copyright © 2011 Codethink Limited |
4 * Copyright © 2010,2011,2012 Google, Inc. | 4 * Copyright © 2010,2011,2012 Google, Inc. |
5 * | 5 * |
6 * This is part of HarfBuzz, a text shaping library. | 6 * This is part of HarfBuzz, a text shaping library. |
7 * | 7 * |
8 * Permission is hereby granted, without written agreement and without | 8 * Permission is hereby granted, without written agreement and without |
9 * license or royalty fees, to use, copy, modify, and distribute this | 9 * license or royalty fees, to use, copy, modify, and distribute this |
10 * software and its documentation for any purpose, provided that the | 10 * software and its documentation for any purpose, provided that the |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 { | 175 { |
176 /* BMP */ | 176 /* BMP */ |
177 hb_codepoint_t page = ch >> 8; | 177 hb_codepoint_t page = ch >> 8; |
178 switch (page) { | 178 switch (page) { |
179 case 0x00: return unlikely (ch == 0x00ADu); | 179 case 0x00: return unlikely (ch == 0x00ADu); |
180 case 0x03: return unlikely (ch == 0x034Fu); | 180 case 0x03: return unlikely (ch == 0x034Fu); |
181 case 0x06: return unlikely (ch == 0x061Cu); | 181 case 0x06: return unlikely (ch == 0x061Cu); |
182 case 0x17: return hb_in_range (ch, 0x17B4u, 0x17B5u); | 182 case 0x17: return hb_in_range (ch, 0x17B4u, 0x17B5u); |
183 case 0x18: return hb_in_range (ch, 0x180Bu, 0x180Eu); | 183 case 0x18: return hb_in_range (ch, 0x180Bu, 0x180Eu); |
184 case 0x20: return hb_in_ranges (ch, 0x200Bu, 0x200Fu, | 184 case 0x20: return hb_in_ranges (ch, 0x200Bu, 0x200Fu, |
185 » » » » » » » 0x202Au, 0x202Eu, | 185 » » » » » 0x202Au, 0x202Eu, |
186 » » » » » » » 0x2060u, 0x206Fu); | 186 » » » » » 0x2060u, 0x206Fu); |
187 case 0xFE: return hb_in_range (ch, 0xFE00u, 0xFE0Fu) || ch == 0xFEFFu; | 187 case 0xFE: return hb_in_range (ch, 0xFE00u, 0xFE0Fu) || ch == 0xFEFFu; |
188 case 0xFF: return hb_in_range (ch, 0xFFF0u, 0xFFF8u); | 188 case 0xFF: return hb_in_range (ch, 0xFFF0u, 0xFFF8u); |
189 default: return false; | 189 default: return false; |
190 } | 190 } |
191 } | 191 } |
192 else | 192 else |
193 { | 193 { |
194 /* Other planes */ | 194 /* Other planes */ |
195 switch (plane) { | 195 switch (plane) { |
196 case 0x01: return hb_in_ranges (ch, 0x1BCA0u, 0x1BCA3u, | 196 case 0x01: return hb_in_ranges (ch, 0x1BCA0u, 0x1BCA3u, |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 FLAG (HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | \ | 361 FLAG (HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | \ |
362 FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))) | 362 FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))) |
363 | 363 |
364 #define HB_UNICODE_GENERAL_CATEGORY_IS_NON_ENCLOSING_MARK_OR_MODIFIER_SYMBOL(gen
_cat) \ | 364 #define HB_UNICODE_GENERAL_CATEGORY_IS_NON_ENCLOSING_MARK_OR_MODIFIER_SYMBOL(gen
_cat) \ |
365 (FLAG_SAFE (gen_cat) & \ | 365 (FLAG_SAFE (gen_cat) & \ |
366 (FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) | \ | 366 (FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) | \ |
367 FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) | \ | 367 FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) | \ |
368 FLAG (HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL))) | 368 FLAG (HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL))) |
369 | 369 |
370 #endif /* HB_UNICODE_PRIVATE_HH */ | 370 #endif /* HB_UNICODE_PRIVATE_HH */ |
OLD | NEW |