[ot-shape] Move code around
This commit is contained in:
parent
7867c2bad0
commit
c221dc0ba7
|
@ -801,7 +801,7 @@ struct hb_aat_apply_context_t :
|
||||||
static return_t default_return_value (void) { return false; }
|
static return_t default_return_value (void) { return false; }
|
||||||
bool stop_sublookup_iteration (return_t r) const { return r; }
|
bool stop_sublookup_iteration (return_t r) const { return r; }
|
||||||
|
|
||||||
hb_ot_shape_plan_t *plan;
|
const hb_ot_shape_plan_t *plan;
|
||||||
hb_font_t *font;
|
hb_font_t *font;
|
||||||
hb_face_t *face;
|
hb_face_t *face;
|
||||||
hb_buffer_t *buffer;
|
hb_buffer_t *buffer;
|
||||||
|
@ -813,7 +813,7 @@ struct hb_aat_apply_context_t :
|
||||||
unsigned int lookup_index;
|
unsigned int lookup_index;
|
||||||
unsigned int debug_depth;
|
unsigned int debug_depth;
|
||||||
|
|
||||||
HB_INTERNAL hb_aat_apply_context_t (hb_ot_shape_plan_t *plan_,
|
HB_INTERNAL hb_aat_apply_context_t (const hb_ot_shape_plan_t *plan_,
|
||||||
hb_font_t *font_,
|
hb_font_t *font_,
|
||||||
hb_buffer_t *buffer_,
|
hb_buffer_t *buffer_,
|
||||||
hb_blob_t *blob = const_cast<hb_blob_t *> (&Null(hb_blob_t)));
|
hb_blob_t *blob = const_cast<hb_blob_t *> (&Null(hb_blob_t)));
|
||||||
|
|
|
@ -135,7 +135,7 @@ hb_aat_layout_find_feature_mapping (hb_tag_t tag)
|
||||||
* hb_aat_apply_context_t
|
* hb_aat_apply_context_t
|
||||||
*/
|
*/
|
||||||
|
|
||||||
AAT::hb_aat_apply_context_t::hb_aat_apply_context_t (hb_ot_shape_plan_t *plan_,
|
AAT::hb_aat_apply_context_t::hb_aat_apply_context_t (const hb_ot_shape_plan_t *plan_,
|
||||||
hb_font_t *font_,
|
hb_font_t *font_,
|
||||||
hb_buffer_t *buffer_,
|
hb_buffer_t *buffer_,
|
||||||
hb_blob_t *blob) :
|
hb_blob_t *blob) :
|
||||||
|
@ -202,7 +202,7 @@ hb_aat_layout_has_substitution (hb_face_t *face)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
hb_aat_layout_substitute (hb_ot_shape_plan_t *plan,
|
hb_aat_layout_substitute (const hb_ot_shape_plan_t *plan,
|
||||||
hb_font_t *font,
|
hb_font_t *font,
|
||||||
hb_buffer_t *buffer)
|
hb_buffer_t *buffer)
|
||||||
{
|
{
|
||||||
|
@ -257,7 +257,7 @@ hb_aat_layout_has_positioning (hb_face_t *face)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
hb_aat_layout_position (hb_ot_shape_plan_t *plan,
|
hb_aat_layout_position (const hb_ot_shape_plan_t *plan,
|
||||||
hb_font_t *font,
|
hb_font_t *font,
|
||||||
hb_buffer_t *buffer)
|
hb_buffer_t *buffer)
|
||||||
{
|
{
|
||||||
|
@ -280,7 +280,7 @@ hb_aat_layout_has_tracking (hb_face_t *face)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
hb_aat_layout_track (hb_ot_shape_plan_t *plan,
|
hb_aat_layout_track (const hb_ot_shape_plan_t *plan,
|
||||||
hb_font_t *font,
|
hb_font_t *font,
|
||||||
hb_buffer_t *buffer)
|
hb_buffer_t *buffer)
|
||||||
{
|
{
|
||||||
|
|
|
@ -60,7 +60,7 @@ HB_INTERNAL bool
|
||||||
hb_aat_layout_has_substitution (hb_face_t *face);
|
hb_aat_layout_has_substitution (hb_face_t *face);
|
||||||
|
|
||||||
HB_INTERNAL void
|
HB_INTERNAL void
|
||||||
hb_aat_layout_substitute (hb_ot_shape_plan_t *plan,
|
hb_aat_layout_substitute (const hb_ot_shape_plan_t *plan,
|
||||||
hb_font_t *font,
|
hb_font_t *font,
|
||||||
hb_buffer_t *buffer);
|
hb_buffer_t *buffer);
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ HB_INTERNAL bool
|
||||||
hb_aat_layout_has_positioning (hb_face_t *face);
|
hb_aat_layout_has_positioning (hb_face_t *face);
|
||||||
|
|
||||||
HB_INTERNAL void
|
HB_INTERNAL void
|
||||||
hb_aat_layout_position (hb_ot_shape_plan_t *plan,
|
hb_aat_layout_position (const hb_ot_shape_plan_t *plan,
|
||||||
hb_font_t *font,
|
hb_font_t *font,
|
||||||
hb_buffer_t *buffer);
|
hb_buffer_t *buffer);
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ HB_INTERNAL bool
|
||||||
hb_aat_layout_has_tracking (hb_face_t *face);
|
hb_aat_layout_has_tracking (hb_face_t *face);
|
||||||
|
|
||||||
HB_INTERNAL void
|
HB_INTERNAL void
|
||||||
hb_aat_layout_track (hb_ot_shape_plan_t *plan,
|
hb_aat_layout_track (const hb_ot_shape_plan_t *plan,
|
||||||
hb_font_t *font,
|
hb_font_t *font,
|
||||||
hb_buffer_t *buffer);
|
hb_buffer_t *buffer);
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ hb_ot_layout_has_cross_kerning (hb_face_t *face)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
hb_ot_layout_kern (hb_ot_shape_plan_t *plan,
|
hb_ot_layout_kern (const hb_ot_shape_plan_t *plan,
|
||||||
hb_font_t *font,
|
hb_font_t *font,
|
||||||
hb_buffer_t *buffer)
|
hb_buffer_t *buffer)
|
||||||
{
|
{
|
||||||
|
|
|
@ -52,7 +52,7 @@ HB_INTERNAL bool
|
||||||
hb_ot_layout_has_cross_kerning (hb_face_t *face);
|
hb_ot_layout_has_cross_kerning (hb_face_t *face);
|
||||||
|
|
||||||
HB_INTERNAL void
|
HB_INTERNAL void
|
||||||
hb_ot_layout_kern (hb_ot_shape_plan_t *plan,
|
hb_ot_layout_kern (const hb_ot_shape_plan_t *plan,
|
||||||
hb_font_t *font,
|
hb_font_t *font,
|
||||||
hb_buffer_t *buffer);
|
hb_buffer_t *buffer);
|
||||||
|
|
||||||
|
|
|
@ -181,6 +181,33 @@ hb_ot_shape_plan_t::fini (void)
|
||||||
aat_map.fini ();
|
aat_map.fini ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
hb_ot_shape_plan_t::substitute (hb_font_t *font,
|
||||||
|
hb_buffer_t *buffer) const
|
||||||
|
{
|
||||||
|
if (unlikely (apply_morx))
|
||||||
|
hb_aat_layout_substitute (this, font, buffer);
|
||||||
|
else
|
||||||
|
map.substitute (this, font, buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
hb_ot_shape_plan_t::position (hb_font_t *font,
|
||||||
|
hb_buffer_t *buffer) const
|
||||||
|
{
|
||||||
|
if (this->apply_gpos)
|
||||||
|
map.position (this, font, buffer);
|
||||||
|
else if (this->apply_kerx)
|
||||||
|
hb_aat_layout_position (this, font, buffer);
|
||||||
|
else if (this->apply_kern)
|
||||||
|
hb_ot_layout_kern (this, font, buffer);
|
||||||
|
else
|
||||||
|
_hb_ot_shape_fallback_kern (this, font, buffer);
|
||||||
|
|
||||||
|
if (this->apply_trak)
|
||||||
|
hb_aat_layout_track (this, font, buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static const hb_ot_map_feature_t
|
static const hb_ot_map_feature_t
|
||||||
common_features[] =
|
common_features[] =
|
||||||
|
@ -687,10 +714,7 @@ hb_ot_substitute_complex (const hb_ot_shape_context_t *c)
|
||||||
if (c->plan->fallback_glyph_classes)
|
if (c->plan->fallback_glyph_classes)
|
||||||
hb_synthesize_glyph_classes (c->buffer);
|
hb_synthesize_glyph_classes (c->buffer);
|
||||||
|
|
||||||
if (unlikely (c->plan->apply_morx))
|
c->plan->substitute (c->font, buffer);
|
||||||
hb_aat_layout_substitute (c->plan, c->font, c->buffer);
|
|
||||||
else
|
|
||||||
c->plan->substitute (c->font, buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
@ -825,17 +849,7 @@ hb_ot_position_complex (const hb_ot_shape_context_t *c)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c->plan->apply_gpos)
|
c->plan->position (c->font, c->buffer);
|
||||||
c->plan->position (c->font, c->buffer);
|
|
||||||
else if (c->plan->apply_kerx)
|
|
||||||
hb_aat_layout_position (c->plan, c->font, c->buffer);
|
|
||||||
else if (c->plan->apply_kern)
|
|
||||||
hb_ot_layout_kern (c->plan, c->font, c->buffer);
|
|
||||||
else
|
|
||||||
_hb_ot_shape_fallback_kern (c->plan, c->font, c->buffer);
|
|
||||||
|
|
||||||
if (c->plan->apply_trak)
|
|
||||||
hb_aat_layout_track (c->plan, c->font, c->buffer);
|
|
||||||
|
|
||||||
if (c->plan->zero_marks)
|
if (c->plan->zero_marks)
|
||||||
switch (c->plan->shaper->zero_width_marks)
|
switch (c->plan->shaper->zero_width_marks)
|
||||||
|
|
|
@ -84,7 +84,6 @@ struct hb_ot_shape_plan_t
|
||||||
bool apply_morx : 1;
|
bool apply_morx : 1;
|
||||||
bool apply_trak : 1;
|
bool apply_trak : 1;
|
||||||
|
|
||||||
|
|
||||||
inline void collect_lookups (hb_tag_t table_tag, hb_set_t *lookups) const
|
inline void collect_lookups (hb_tag_t table_tag, hb_set_t *lookups) const
|
||||||
{
|
{
|
||||||
unsigned int table_index;
|
unsigned int table_index;
|
||||||
|
@ -95,12 +94,13 @@ struct hb_ot_shape_plan_t
|
||||||
}
|
}
|
||||||
map.collect_lookups (table_index, lookups);
|
map.collect_lookups (table_index, lookups);
|
||||||
}
|
}
|
||||||
inline void substitute (hb_font_t *font, hb_buffer_t *buffer) const { map.substitute (this, font, buffer); }
|
|
||||||
inline void position (hb_font_t *font, hb_buffer_t *buffer) const { map.position (this, font, buffer); }
|
|
||||||
|
|
||||||
HB_INTERNAL bool init0 (hb_face_t *face,
|
HB_INTERNAL bool init0 (hb_face_t *face,
|
||||||
const hb_shape_plan_key_t *key);
|
const hb_shape_plan_key_t *key);
|
||||||
HB_INTERNAL void fini (void);
|
HB_INTERNAL void fini (void);
|
||||||
|
|
||||||
|
HB_INTERNAL void substitute (hb_font_t *font, hb_buffer_t *buffer) const;
|
||||||
|
HB_INTERNAL void position (hb_font_t *font, hb_buffer_t *buffer) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hb_shape_plan_t;
|
struct hb_shape_plan_t;
|
||||||
|
|
Loading…
Reference in New Issue