pull/1/head
Behdad Esfahbod 12 years ago
parent 03f67bc012
commit c2e42c3db6
  1. 2
      src/hb-ot-layout-gpos-table.hh
  2. 4
      src/hb-ot-layout-gsub-table.hh
  3. 8
      src/hb-ot-layout-gsubgpos-private.hh
  4. 4
      src/hb-ot-layout-private.hh

@ -1671,7 +1671,7 @@ GPOS::position_finish (hb_font_t *font HB_UNUSED, hb_buffer_t *buffer)
HB_BUFFER_DEALLOCATE_VAR (buffer, syllable);
HB_BUFFER_DEALLOCATE_VAR (buffer, lig_props);
HB_BUFFER_DEALLOCATE_VAR (buffer, props_cache);
HB_BUFFER_DEALLOCATE_VAR (buffer, glyph_props);
}

@ -1311,7 +1311,7 @@ struct GSUB : GSUBGPOS
void
GSUB::substitute_start (hb_face_t *face, hb_buffer_t *buffer)
{
HB_BUFFER_ALLOCATE_VAR (buffer, props_cache);
HB_BUFFER_ALLOCATE_VAR (buffer, glyph_props);
HB_BUFFER_ALLOCATE_VAR (buffer, lig_props);
HB_BUFFER_ALLOCATE_VAR (buffer, syllable);
@ -1319,7 +1319,7 @@ GSUB::substitute_start (hb_face_t *face, hb_buffer_t *buffer)
unsigned int count = buffer->len;
for (unsigned int i = 0; i < count; i++) {
buffer->info[i].lig_props() = buffer->info[i].syllable() = 0;
buffer->info[i].props_cache() = gdef.get_glyph_props (buffer->info[i].codepoint);
buffer->info[i].glyph_props() = gdef.get_glyph_props (buffer->info[i].codepoint);
}
}

@ -271,7 +271,7 @@ struct hb_apply_context_t
{
unsigned int property;
property = info->props_cache();
property = info->glyph_props();
*property_out = property;
return match_properties (info->codepoint, property, lookup_props);
@ -284,7 +284,7 @@ struct hb_apply_context_t
{
unsigned int property;
property = info->props_cache();
property = info->glyph_props();
if (property_out)
*property_out = property;
@ -305,9 +305,9 @@ struct hb_apply_context_t
inline void set_class (hb_codepoint_t glyph_index, unsigned int class_guess) const
{
if (likely (has_glyph_classes))
buffer->cur().props_cache() = gdef.get_glyph_props (glyph_index);
buffer->cur().glyph_props() = gdef.get_glyph_props (glyph_index);
else if (class_guess)
buffer->cur().props_cache() = class_guess;
buffer->cur().glyph_props() = class_guess;
}
inline void output_glyph (hb_codepoint_t glyph_index,

@ -38,7 +38,7 @@
/* buffer var allocations, used during the GSUB/GPOS processing */
#define props_cache() var1.u16[1] /* GSUB/GPOS glyph_props cache */
#define glyph_props() var1.u16[1] /* GDEF glyph properties */
#define syllable() var2.u8[0] /* GSUB/GPOS shaping boundaries */
#define lig_props() var2.u8[1] /* GSUB/GPOS ligature tracking */
@ -122,7 +122,7 @@ get_lig_comp (const hb_glyph_info_t &info)
static inline unsigned int
get_lig_num_comps (const hb_glyph_info_t &info)
{
if ((info.props_cache() & HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE) && is_a_ligature (info))
if ((info.glyph_props() & HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE) && is_a_ligature (info))
return info.lig_props() & 0x0F;
else
return 1;

Loading…
Cancel
Save