< prev index next >

src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar.cc

Print this page

        

*** 101,111 **** map->add_gsub_pause (initial_reordering); for (unsigned int i = 0; i < ARRAY_LENGTH (basic_features); i++) { map->add_feature (basic_features[i], 1, F_GLOBAL | F_MANUAL_ZWJ); ! map->add_gsub_pause (NULL); } map->add_gsub_pause (final_reordering); for (unsigned int i = 0; i < ARRAY_LENGTH (other_features); i++) map->add_feature (other_features[i], 1, F_GLOBAL | F_MANUAL_ZWJ); } --- 101,111 ---- map->add_gsub_pause (initial_reordering); for (unsigned int i = 0; i < ARRAY_LENGTH (basic_features); i++) { map->add_feature (basic_features[i], 1, F_GLOBAL | F_MANUAL_ZWJ); ! map->add_gsub_pause (nullptr); } map->add_gsub_pause (final_reordering); for (unsigned int i = 0; i < ARRAY_LENGTH (other_features); i++) map->add_feature (other_features[i], 1, F_GLOBAL | F_MANUAL_ZWJ); }
*** 129,139 **** /* Note: This enum is duplicated in the -machine.rl source file. * Not sure how to avoid duplication. */ enum myanmar_category_t { OT_As = 18, /* Asat */ - OT_D = 19, /* Digits except zero */ OT_D0 = 20, /* Digit zero */ OT_DB = OT_N, /* Dot below */ OT_GB = OT_PLACEHOLDER, OT_MH = 21, /* Various consonant medial types */ OT_MR = 22, /* Various consonant medial types */ --- 129,138 ----
*** 143,162 **** OT_VAbv = 26, OT_VBlw = 27, OT_VPre = 28, OT_VPst = 29, OT_VS = 30, /* Variation selectors */ ! OT_P = 31 /* Punctuation */ }; static inline bool is_one_of (const hb_glyph_info_t &info, unsigned int flags) { /* If it ligated, all bets are off. */ if (_hb_glyph_info_ligated (&info)) return false; ! return !!(FLAG_SAFE (info.myanmar_category()) & flags); } static inline bool is_consonant (const hb_glyph_info_t &info) { --- 142,162 ---- OT_VAbv = 26, OT_VBlw = 27, OT_VPre = 28, OT_VPst = 29, OT_VS = 30, /* Variation selectors */ ! OT_P = 31, /* Punctuation */ ! OT_D = 32, /* Digits except zero */ }; static inline bool is_one_of (const hb_glyph_info_t &info, unsigned int flags) { /* If it ligated, all bets are off. */ if (_hb_glyph_info_ligated (&info)) return false; ! return !!(FLAG_UNSAFE (info.myanmar_category()) & flags); } static inline bool is_consonant (const hb_glyph_info_t &info) {
*** 173,183 **** indic_position_t pos = (indic_position_t) (type >> 8); /* Myanmar * http://www.microsoft.com/typography/OpenTypeDev/myanmar/intro.htm#analyze */ ! if (unlikely (hb_in_range (u, 0xFE00u, 0xFE0Fu))) cat = (indic_category_t) OT_VS; switch (u) { case 0x104Eu: --- 173,183 ---- indic_position_t pos = (indic_position_t) (type >> 8); /* Myanmar * http://www.microsoft.com/typography/OpenTypeDev/myanmar/intro.htm#analyze */ ! if (unlikely (hb_in_range<hb_codepoint_t> (u, 0xFE00u, 0xFE0Fu))) cat = (indic_category_t) OT_VS; switch (u) { case 0x104Eu:
*** 295,304 **** --- 295,306 ---- setup_syllables (const hb_ot_shape_plan_t *plan HB_UNUSED, hb_font_t *font HB_UNUSED, hb_buffer_t *buffer) { find_syllables (buffer); + foreach_syllable (buffer, start, end) + buffer->unsafe_to_break (start, end); } static int compare_myanmar_order (const hb_glyph_info_t *pa, const hb_glyph_info_t *pb) {
*** 508,545 **** /* Uniscribe seems to have a shaper for 'mymr' that is like the * generic shaper, except that it zeros mark advances GDEF_LATE. */ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_myanmar_old = { ! "default", ! NULL, /* collect_features */ ! NULL, /* override_features */ ! NULL, /* data_create */ ! NULL, /* data_destroy */ ! NULL, /* preprocess_text */ ! NULL, /* postprocess_glyphs */ HB_OT_SHAPE_NORMALIZATION_MODE_DEFAULT, ! NULL, /* decompose */ ! NULL, /* compose */ ! NULL, /* setup_masks */ ! NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, true, /* fallback_position */ }; const hb_ot_complex_shaper_t _hb_ot_complex_shaper_myanmar = { - "myanmar", collect_features_myanmar, override_features_myanmar, ! NULL, /* data_create */ ! NULL, /* data_destroy */ ! NULL, /* preprocess_text */ ! NULL, /* postprocess_glyphs */ HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, ! NULL, /* decompose */ ! NULL, /* compose */ setup_masks_myanmar, ! NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_EARLY, false, /* fallback_position */ }; --- 510,547 ---- /* Uniscribe seems to have a shaper for 'mymr' that is like the * generic shaper, except that it zeros mark advances GDEF_LATE. */ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_myanmar_old = { ! nullptr, /* collect_features */ ! nullptr, /* override_features */ ! nullptr, /* data_create */ ! nullptr, /* data_destroy */ ! nullptr, /* preprocess_text */ ! nullptr, /* postprocess_glyphs */ HB_OT_SHAPE_NORMALIZATION_MODE_DEFAULT, ! nullptr, /* decompose */ ! nullptr, /* compose */ ! nullptr, /* setup_masks */ ! nullptr, /* disable_otl */ ! nullptr, /* reorder_marks */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, true, /* fallback_position */ }; const hb_ot_complex_shaper_t _hb_ot_complex_shaper_myanmar = { collect_features_myanmar, override_features_myanmar, ! nullptr, /* data_create */ ! nullptr, /* data_destroy */ ! nullptr, /* preprocess_text */ ! nullptr, /* postprocess_glyphs */ HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, ! nullptr, /* decompose */ ! nullptr, /* compose */ setup_masks_myanmar, ! nullptr, /* disable_otl */ ! nullptr, /* reorder_marks */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_EARLY, false, /* fallback_position */ };
< prev index next >