pub struct hb_ot_shaper_t {Show 13 fields
    pub collect_features: Option<fn(&mut hb_ot_shape_planner_t<'_>)>,
    pub override_features: Option<fn(&mut hb_ot_shape_planner_t<'_>)>,
    pub create_data: Option<fn(&hb_ot_shape_plan_t) -> Box<dyn Any + Send + Sync>>,
    pub preprocess_text: Option<fn(&hb_ot_shape_plan_t, &hb_font_t<'_>, &mut hb_buffer_t)>,
    pub postprocess_glyphs: Option<fn(&hb_ot_shape_plan_t, &hb_font_t<'_>, &mut hb_buffer_t)>,
    pub normalization_preference: i32,
    pub decompose: Option<fn(&hb_ot_shape_normalize_context_t<'_>, char) -> Option<(char, char)>>,
    pub compose: Option<fn(&hb_ot_shape_normalize_context_t<'_>, char, char) -> Option<char>>,
    pub setup_masks: Option<fn(&hb_ot_shape_plan_t, &hb_font_t<'_>, &mut hb_buffer_t)>,
    pub gpos_tag: Option<Tag>,
    pub reorder_marks: Option<fn(&hb_ot_shape_plan_t, &mut hb_buffer_t, usize, usize)>,
    pub zero_width_marks: u32,
    pub fallback_position: bool,
}Fields§
§collect_features: Option<fn(&mut hb_ot_shape_planner_t<'_>)>Called during shape_plan().
Shapers should use plan.map to add their features and callbacks.
override_features: Option<fn(&mut hb_ot_shape_planner_t<'_>)>Called during shape_plan().
Shapers should use plan.map to override features and add callbacks after
common features are added.
create_data: Option<fn(&hb_ot_shape_plan_t) -> Box<dyn Any + Send + Sync>>Called at the end of shape_plan().
Whatever shapers return will be accessible through plan.data() later.
preprocess_text: Option<fn(&hb_ot_shape_plan_t, &hb_font_t<'_>, &mut hb_buffer_t)>Called during shape().
Shapers can use to modify text before shaping starts.
postprocess_glyphs: Option<fn(&hb_ot_shape_plan_t, &hb_font_t<'_>, &mut hb_buffer_t)>Called during shape().
Shapers can use to modify text before shaping starts.
normalization_preference: i32How to normalize.
decompose: Option<fn(&hb_ot_shape_normalize_context_t<'_>, char) -> Option<(char, char)>>Called during shape()’s normalization.
compose: Option<fn(&hb_ot_shape_normalize_context_t<'_>, char, char) -> Option<char>>Called during shape()’s normalization.
setup_masks: Option<fn(&hb_ot_shape_plan_t, &hb_font_t<'_>, &mut hb_buffer_t)>Called during shape().
Shapers should use map to get feature masks and set on buffer.
Shapers may NOT modify characters.
gpos_tag: Option<Tag>If not None, then must match found GPOS script tag for
GPOS to be applied.  Otherwise, fallback positioning will be used.
reorder_marks: Option<fn(&hb_ot_shape_plan_t, &mut hb_buffer_t, usize, usize)>Called during shape().
Shapers can use to modify ordering of combining marks.
zero_width_marks: u32If and when to zero-width marks.
fallback_position: boolWhether to use fallback mark positioning.