parent
4878db2182
commit
4b011094d5
|
@ -418,8 +418,6 @@ zero_mark_widths_by_gdef (hb_buffer_t *buffer)
|
||||||
static inline void
|
static inline void
|
||||||
hb_ot_position_default (hb_ot_shape_context_t *c)
|
hb_ot_position_default (hb_ot_shape_context_t *c)
|
||||||
{
|
{
|
||||||
hb_ot_layout_position_start (c->font, c->buffer);
|
|
||||||
|
|
||||||
unsigned int count = c->buffer->len;
|
unsigned int count = c->buffer->len;
|
||||||
for (unsigned int i = 0; i < count; i++)
|
for (unsigned int i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
|
@ -433,6 +431,13 @@ hb_ot_position_default (hb_ot_shape_context_t *c)
|
||||||
&c->buffer->pos[i].y_offset);
|
&c->buffer->pos[i].y_offset);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline bool
|
||||||
|
hb_ot_position_complex (hb_ot_shape_context_t *c)
|
||||||
|
{
|
||||||
|
bool ret = false;
|
||||||
|
unsigned int count = c->buffer->len;
|
||||||
|
|
||||||
switch (c->plan->shaper->zero_width_marks)
|
switch (c->plan->shaper->zero_width_marks)
|
||||||
{
|
{
|
||||||
|
@ -452,13 +457,6 @@ hb_ot_position_default (hb_ot_shape_context_t *c)
|
||||||
case HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE:
|
case HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
static inline bool
|
|
||||||
hb_ot_position_complex (hb_ot_shape_context_t *c)
|
|
||||||
{
|
|
||||||
bool ret = false;
|
|
||||||
unsigned int count = c->buffer->len;
|
|
||||||
|
|
||||||
if (hb_ot_layout_has_positioning (c->face))
|
if (hb_ot_layout_has_positioning (c->face))
|
||||||
{
|
{
|
||||||
|
@ -500,18 +498,20 @@ hb_ot_position_complex (hb_ot_shape_context_t *c)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
hb_ot_layout_position_finish (c->font, c->buffer);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
hb_ot_position (hb_ot_shape_context_t *c)
|
hb_ot_position (hb_ot_shape_context_t *c)
|
||||||
{
|
{
|
||||||
|
hb_ot_layout_position_start (c->font, c->buffer);
|
||||||
|
|
||||||
hb_ot_position_default (c);
|
hb_ot_position_default (c);
|
||||||
|
|
||||||
hb_bool_t fallback = !hb_ot_position_complex (c);
|
hb_bool_t fallback = !hb_ot_position_complex (c);
|
||||||
|
|
||||||
|
hb_ot_layout_position_finish (c->font, c->buffer);
|
||||||
|
|
||||||
if (fallback && c->plan->shaper->fallback_position)
|
if (fallback && c->plan->shaper->fallback_position)
|
||||||
_hb_ot_shape_fallback_position (c->plan, c->font, c->buffer);
|
_hb_ot_shape_fallback_position (c->plan, c->font, c->buffer);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue