diff options
Diffstat (limited to 'third_party/harfbuzz-ng/src/hb-ot-shape-normalize-private.hh')
-rw-r--r-- | third_party/harfbuzz-ng/src/hb-ot-shape-normalize-private.hh | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-normalize-private.hh b/third_party/harfbuzz-ng/src/hb-ot-shape-normalize-private.hh index c5fcbea..8112f03 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-normalize-private.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-normalize-private.hh @@ -35,6 +35,8 @@ /* buffer var allocations, used during the normalization process */ #define glyph_index() var1.u32 +struct hb_ot_shape_plan_t; + enum hb_ot_shape_normalization_mode_t { HB_OT_SHAPE_NORMALIZATION_MODE_DECOMPOSED, HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS, /* never composes base-to-base */ @@ -44,8 +46,26 @@ enum hb_ot_shape_normalization_mode_t { HB_OT_SHAPE_NORMALIZATION_MODE_DEFAULT = HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS }; -HB_INTERNAL void _hb_ot_shape_normalize (hb_font_t *font, +HB_INTERNAL void _hb_ot_shape_normalize (const hb_ot_shape_plan_t *shaper, hb_buffer_t *buffer, - hb_ot_shape_normalization_mode_t mode); + hb_font_t *font); + + +struct hb_ot_shape_normalize_context_t +{ + const hb_ot_shape_plan_t *plan; + hb_buffer_t *buffer; + hb_font_t *font; + hb_unicode_funcs_t *unicode; + bool (*decompose) (const hb_ot_shape_normalize_context_t *c, + hb_codepoint_t ab, + hb_codepoint_t *a, + hb_codepoint_t *b); + bool (*compose) (const hb_ot_shape_normalize_context_t *c, + hb_codepoint_t a, + hb_codepoint_t b, + hb_codepoint_t *ab); +}; + #endif /* HB_OT_SHAPE_NORMALIZE_PRIVATE_HH */ |