[otlayout] Renaming

This commit is contained in:
Behdad Esfahbod 2013-10-18 00:02:43 +02:00
parent 2e96d2c6ee
commit 3ddf892b53
8 changed files with 65 additions and 56 deletions

View File

@ -1031,7 +1031,7 @@ struct MarkBasePosFormat1
do {
if (!skippy_iter.prev ()) return TRACE_RETURN (false);
/* We only want to attach to the first of a MultipleSubst sequence. Reject others. */
if (0 == get_lig_comp (c->buffer->info[skippy_iter.idx])) break;
if (0 == _hb_glyph_info_get_lig_comp (&c->buffer->info[skippy_iter.idx])) break;
skippy_iter.reject ();
} while (1);
@ -1152,11 +1152,11 @@ struct MarkLigPosFormat1
* can directly use the component index. If not, we attach the mark
* glyph to the last component of the ligature. */
unsigned int comp_index;
unsigned int lig_id = get_lig_id (c->buffer->info[j]);
unsigned int mark_id = get_lig_id (c->buffer->cur());
unsigned int mark_comp = get_lig_comp (c->buffer->cur());
unsigned int lig_id = _hb_glyph_info_get_lig_id (&c->buffer->info[j]);
unsigned int mark_id = _hb_glyph_info_get_lig_id (&c->buffer->cur());
unsigned int mark_comp = _hb_glyph_info_get_lig_comp (&c->buffer->cur());
if (lig_id && lig_id == mark_id && mark_comp > 0)
comp_index = MIN (comp_count, get_lig_comp (c->buffer->cur())) - 1;
comp_index = MIN (comp_count, _hb_glyph_info_get_lig_comp (&c->buffer->cur())) - 1;
else
comp_index = comp_count - 1;
@ -1252,10 +1252,10 @@ struct MarkMarkPosFormat1
unsigned int j = skippy_iter.idx;
unsigned int id1 = get_lig_id (c->buffer->cur());
unsigned int id2 = get_lig_id (c->buffer->info[j]);
unsigned int comp1 = get_lig_comp (c->buffer->cur());
unsigned int comp2 = get_lig_comp (c->buffer->info[j]);
unsigned int id1 = _hb_glyph_info_get_lig_id (&c->buffer->cur());
unsigned int id2 = _hb_glyph_info_get_lig_id (&c->buffer->info[j]);
unsigned int comp1 = _hb_glyph_info_get_lig_comp (&c->buffer->cur());
unsigned int comp2 = _hb_glyph_info_get_lig_comp (&c->buffer->info[j]);
if (likely (id1 == id2)) {
if (id1 == 0) /* Marks belonging to the same base. */

View File

@ -302,7 +302,7 @@ struct Sequence
else
{
for (unsigned int i = 0; i < count; i++) {
set_lig_props_for_component (c->buffer->cur(), i);
_hb_glyph_info_set_lig_props_for_component (&c->buffer->cur(), i);
c->output_glyph (substitute.array[i], klass);
}
c->buffer->skip_glyph ();

View File

@ -409,7 +409,7 @@ struct hb_apply_context_t
if (unlikely (_hb_glyph_info_is_default_ignorable (&info) &&
(ignore_zwnj || !_hb_glyph_info_is_zwnj (&info)) &&
(ignore_zwj || !_hb_glyph_info_is_zwj (&info)) &&
!is_a_ligature (info)))
!_hb_glyph_info_is_ligated (&info)))
return SKIP_MAYBE;
return SKIP_NO;
@ -788,10 +788,10 @@ static inline bool match_input (hb_apply_context_t *c,
bool is_mark_ligature = !!(buffer->cur().glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MARK);
unsigned int total_component_count = 0;
total_component_count += get_lig_num_comps (buffer->cur());
total_component_count += _hb_glyph_info_get_lig_num_comps (&buffer->cur());
unsigned int first_lig_id = get_lig_id (buffer->cur());
unsigned int first_lig_comp = get_lig_comp (buffer->cur());
unsigned int first_lig_id = _hb_glyph_info_get_lig_id (&buffer->cur());
unsigned int first_lig_comp = _hb_glyph_info_get_lig_comp (&buffer->cur());
match_positions[0] = buffer->idx;
for (unsigned int i = 1; i < count; i++)
@ -800,8 +800,8 @@ static inline bool match_input (hb_apply_context_t *c,
match_positions[i] = skippy_iter.idx;
unsigned int this_lig_id = get_lig_id (buffer->info[skippy_iter.idx]);
unsigned int this_lig_comp = get_lig_comp (buffer->info[skippy_iter.idx]);
unsigned int this_lig_id = _hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx]);
unsigned int this_lig_comp = _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx]);
if (first_lig_id && first_lig_comp) {
/* If first component was attached to a previous ligature component,
@ -818,7 +818,7 @@ static inline bool match_input (hb_apply_context_t *c,
}
is_mark_ligature = is_mark_ligature && (buffer->info[skippy_iter.idx].glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_MARK);
total_component_count += get_lig_num_comps (buffer->info[skippy_iter.idx]);
total_component_count += _hb_glyph_info_get_lig_num_comps (&buffer->info[skippy_iter.idx]);
}
*end_offset = skippy_iter.idx - buffer->idx + 1;
@ -874,14 +874,14 @@ static inline void ligate_input (hb_apply_context_t *c,
*/
unsigned int klass = is_mark_ligature ? 0 : HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE;
unsigned int lig_id = is_mark_ligature ? 0 : allocate_lig_id (buffer);
unsigned int last_lig_id = get_lig_id (buffer->cur());
unsigned int last_num_components = get_lig_num_comps (buffer->cur());
unsigned int lig_id = is_mark_ligature ? 0 : _hb_allocate_lig_id (buffer);
unsigned int last_lig_id = _hb_glyph_info_get_lig_id (&buffer->cur());
unsigned int last_num_components = _hb_glyph_info_get_lig_num_comps (&buffer->cur());
unsigned int components_so_far = last_num_components;
if (!is_mark_ligature)
{
set_lig_props_for_ligature (buffer->cur(), lig_id, total_component_count);
_hb_glyph_info_set_lig_props_for_ligature (&buffer->cur(), lig_id, total_component_count);
if (_hb_glyph_info_get_general_category (&buffer->cur()) == HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK)
_hb_glyph_info_set_general_category (&buffer->cur(), HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER);
}
@ -893,14 +893,14 @@ static inline void ligate_input (hb_apply_context_t *c,
{
if (!is_mark_ligature) {
unsigned int new_lig_comp = components_so_far - last_num_components +
MIN (MAX (get_lig_comp (buffer->cur()), 1u), last_num_components);
set_lig_props_for_mark (buffer->cur(), lig_id, new_lig_comp);
MIN (MAX (_hb_glyph_info_get_lig_comp (&buffer->cur()), 1u), last_num_components);
_hb_glyph_info_set_lig_props_for_mark (&buffer->cur(), lig_id, new_lig_comp);
}
buffer->next_glyph ();
}
last_lig_id = get_lig_id (buffer->cur());
last_num_components = get_lig_num_comps (buffer->cur());
last_lig_id = _hb_glyph_info_get_lig_id (&buffer->cur());
last_num_components = _hb_glyph_info_get_lig_num_comps (&buffer->cur());
components_so_far += last_num_components;
/* Skip the base glyph */
@ -910,10 +910,10 @@ static inline void ligate_input (hb_apply_context_t *c,
if (!is_mark_ligature && last_lig_id) {
/* Re-adjust components for any marks following. */
for (unsigned int i = buffer->idx; i < buffer->len; i++) {
if (last_lig_id == get_lig_id (buffer->info[i])) {
if (last_lig_id == _hb_glyph_info_get_lig_id (&buffer->info[i])) {
unsigned int new_lig_comp = components_so_far - last_num_components +
MIN (MAX (get_lig_comp (buffer->info[i]), 1u), last_num_components);
set_lig_props_for_mark (buffer->info[i], lig_id, new_lig_comp);
MIN (MAX (_hb_glyph_info_get_lig_comp (&buffer->info[i]), 1u), last_num_components);
_hb_glyph_info_set_lig_props_for_mark (&buffer->info[i], lig_id, new_lig_comp);
} else
break;
}

View File

@ -191,7 +191,8 @@ _hb_glyph_info_set_unicode_props (hb_glyph_info_t *info, hb_unicode_funcs_t *uni
}
inline void
_hb_glyph_info_set_general_category (hb_glyph_info_t *info, hb_unicode_general_category_t gen_cat)
_hb_glyph_info_set_general_category (hb_glyph_info_t *info,
hb_unicode_general_category_t gen_cat)
{
info->unicode_props0() = (unsigned int) gen_cat | ((info->unicode_props0()) & ~MASK0_GEN_CAT);
}
@ -203,7 +204,8 @@ _hb_glyph_info_get_general_category (const hb_glyph_info_t *info)
}
inline void
_hb_glyph_info_set_modified_combining_class (hb_glyph_info_t *info, unsigned int modified_class)
_hb_glyph_info_set_modified_combining_class (hb_glyph_info_t *info,
unsigned int modified_class)
{
info->unicode_props1() = modified_class;
}
@ -264,52 +266,58 @@ _hb_glyph_info_flip_joiners (hb_glyph_info_t *info)
*/
#define IS_LIG_BASE 0x10
static inline void
set_lig_props_for_ligature (hb_glyph_info_t &info, unsigned int lig_id, unsigned int lig_num_comps)
_hb_glyph_info_set_lig_props_for_ligature (hb_glyph_info_t *info,
unsigned int lig_id,
unsigned int lig_num_comps)
{
info.lig_props() = (lig_id << 5) | IS_LIG_BASE | (lig_num_comps & 0x0F);
info->lig_props() = (lig_id << 5) | IS_LIG_BASE | (lig_num_comps & 0x0F);
}
static inline void
set_lig_props_for_mark (hb_glyph_info_t &info, unsigned int lig_id, unsigned int lig_comp)
_hb_glyph_info_set_lig_props_for_mark (hb_glyph_info_t *info,
unsigned int lig_id,
unsigned int lig_comp)
{
info.lig_props() = (lig_id << 5) | (lig_comp & 0x0F);
info->lig_props() = (lig_id << 5) | (lig_comp & 0x0F);
}
static inline void
set_lig_props_for_component (hb_glyph_info_t &info, unsigned int comp)
_hb_glyph_info_set_lig_props_for_component (hb_glyph_info_t *info, unsigned int comp)
{
set_lig_props_for_mark (info, 0, comp);
_hb_glyph_info_set_lig_props_for_mark (info, 0, comp);
}
static inline unsigned int
get_lig_id (const hb_glyph_info_t &info)
_hb_glyph_info_get_lig_id (const hb_glyph_info_t *info)
{
return info.lig_props() >> 5;
return info->lig_props() >> 5;
}
static inline bool
is_a_ligature (const hb_glyph_info_t &info)
_hb_glyph_info_is_ligated (const hb_glyph_info_t *info)
{
return !!(info.lig_props() & IS_LIG_BASE);
return !!(info->lig_props() & IS_LIG_BASE);
}
static inline unsigned int
get_lig_comp (const hb_glyph_info_t &info)
_hb_glyph_info_get_lig_comp (const hb_glyph_info_t *info)
{
if (is_a_ligature (info))
if (_hb_glyph_info_is_ligated (info))
return 0;
else
return info.lig_props() & 0x0F;
return info->lig_props() & 0x0F;
}
static inline unsigned int
get_lig_num_comps (const hb_glyph_info_t &info)
_hb_glyph_info_get_lig_num_comps (const hb_glyph_info_t *info)
{
if ((info.glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE) && is_a_ligature (info))
return info.lig_props() & 0x0F;
if ((info->glyph_props() & HB_OT_LAYOUT_GLYPH_PROPS_LIGATURE) &&
_hb_glyph_info_is_ligated (info))
return info->lig_props() & 0x0F;
else
return 1;
}
static inline uint8_t allocate_lig_id (hb_buffer_t *buffer) {
static inline uint8_t
_hb_allocate_lig_id (hb_buffer_t *buffer) {
uint8_t lig_id = buffer->next_serial () & 0x07;
if (unlikely (!lig_id))
lig_id = allocate_lig_id (buffer); /* in case of overflow */
lig_id = _hb_allocate_lig_id (buffer); /* in case of overflow */
return lig_id;
}

View File

@ -141,7 +141,7 @@ static inline bool
is_one_of (const hb_glyph_info_t &info, unsigned int flags)
{
/* If it ligated, all bets are off. */
if (is_a_ligature (info)) return false;
if (_hb_glyph_info_is_ligated (&info)) return false;
return !!(FLAG (info.indic_category()) & flags);
}
@ -1405,7 +1405,8 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
*/
if (start + 1 < end &&
info[start].indic_position() == POS_RA_TO_BECOME_REPH &&
((info[start].indic_category() == OT_Repha) ^ is_a_ligature (info[start])))
((info[start].indic_category() == OT_Repha) ^
_hb_glyph_info_is_ligated (&info[start])))
{
unsigned int new_reph_pos;
reph_position_t reph_pos = indic_plan->config->reph_pos;

View File

@ -151,7 +151,7 @@ static inline bool
is_one_of (const hb_glyph_info_t &info, unsigned int flags)
{
/* If it ligated, all bets are off. */
if (is_a_ligature (info)) return false;
if (_hb_glyph_info_is_ligated (&info)) return false;
return !!(FLAG (info.myanmar_category()) & flags);
}

View File

@ -300,8 +300,8 @@ position_around_base (const hb_ot_shape_plan_t *plan,
base_extents.x_bearing += buffer->pos[base].x_offset;
base_extents.y_bearing += buffer->pos[base].y_offset;
unsigned int lig_id = get_lig_id (buffer->info[base]);
unsigned int num_lig_components = get_lig_num_comps (buffer->info[base]);
unsigned int lig_id = _hb_glyph_info_get_lig_id (&buffer->info[base]);
unsigned int num_lig_components = _hb_glyph_info_get_lig_num_comps (&buffer->info[base]);
hb_position_t x_offset = 0, y_offset = 0;
if (HB_DIRECTION_IS_FORWARD (buffer->props.direction)) {
@ -317,8 +317,8 @@ position_around_base (const hb_ot_shape_plan_t *plan,
if (_hb_glyph_info_get_modified_combining_class (&buffer->info[i]))
{
if (num_lig_components > 1) {
unsigned int this_lig_id = get_lig_id (buffer->info[i]);
unsigned int this_lig_component = get_lig_comp (buffer->info[i]) - 1;
unsigned int this_lig_id = _hb_glyph_info_get_lig_id (&buffer->info[i]);
unsigned int this_lig_component = _hb_glyph_info_get_lig_comp (&buffer->info[i]) - 1;
/* Conditions for attaching to the last component. */
if (!lig_id || lig_id != this_lig_id || this_lig_component >= num_lig_components)
this_lig_component = num_lig_components - 1;

View File

@ -546,7 +546,7 @@ hb_ot_hide_default_ignorables (hb_ot_shape_context_t *c)
unsigned int j = 0;
for (unsigned int i = 0; i < count; i++)
{
if (unlikely (!is_a_ligature (info[i]) &&
if (unlikely (!_hb_glyph_info_is_ligated (&info[i]) &&
_hb_glyph_info_is_default_ignorable (&info[i])))
{
if (space_status == SPACE_DONT_KNOW)