buffer->in_length = 0;
buffer->out_length = 0;
buffer->in_pos = 0;
- buffer->out_pos = 0;
buffer->out_string = buffer->in_string;
buffer->max_lig_id = 0;
}
buffer->have_output = TRUE;
buffer->have_positions = FALSE;
buffer->out_length = 0;
- buffer->out_pos = 0;
buffer->out_string = buffer->in_string;
}
buffer->in_length = buffer->out_length;
buffer->out_length = tmp;
- tmp = buffer->in_pos;
- buffer->in_pos = buffer->out_pos;
- buffer->out_pos = tmp;
+ buffer->in_pos = 0;
}
/* The following function copies `num_out' elements from `glyph_data'
unsigned int cluster;
if (buffer->out_string != buffer->in_string ||
- buffer->out_pos + num_out > buffer->in_pos + num_in)
+ buffer->out_length + num_out > buffer->in_pos + num_in)
{
- hb_buffer_ensure_separate (buffer, buffer->out_pos + num_out);
+ hb_buffer_ensure_separate (buffer, buffer->out_length + num_out);
}
mask = buffer->in_string[buffer->in_pos].mask;
for (i = 0; i < num_out; i++)
{
- hb_internal_glyph_info_t *info = &buffer->out_string[buffer->out_pos + i];
+ hb_internal_glyph_info_t *info = &buffer->out_string[buffer->out_length + i];
info->codepoint = glyph_data[i];
info->mask = mask;
info->cluster = cluster;
}
buffer->in_pos += num_in;
- buffer->out_pos += num_out;
- buffer->out_length = buffer->out_pos;
+ buffer->out_length += num_out;
}
void
unsigned int cluster;
if (buffer->out_string != buffer->in_string ||
- buffer->out_pos + num_out > buffer->in_pos + num_in)
+ buffer->out_length + num_out > buffer->in_pos + num_in)
{
- hb_buffer_ensure_separate (buffer, buffer->out_pos + num_out);
+ hb_buffer_ensure_separate (buffer, buffer->out_length + num_out);
}
mask = buffer->in_string[buffer->in_pos].mask;
for (i = 0; i < num_out; i++)
{
- hb_internal_glyph_info_t *info = &buffer->out_string[buffer->out_pos + i];
+ hb_internal_glyph_info_t *info = &buffer->out_string[buffer->out_length + i];
info->codepoint = hb_be_uint16 (glyph_data_be[i]);
info->mask = mask;
info->cluster = cluster;
}
buffer->in_pos += num_in;
- buffer->out_pos += num_out;
- buffer->out_length = buffer->out_pos;
+ buffer->out_length += num_out;
}
void
if (buffer->out_string != buffer->in_string)
{
- hb_buffer_ensure (buffer, buffer->out_pos + 1);
- buffer->out_string[buffer->out_pos] = buffer->in_string[buffer->in_pos];
+ hb_buffer_ensure (buffer, buffer->out_length + 1);
+ buffer->out_string[buffer->out_length] = buffer->in_string[buffer->in_pos];
}
- else if (buffer->out_pos != buffer->in_pos)
- buffer->out_string[buffer->out_pos] = buffer->in_string[buffer->in_pos];
+ else if (buffer->out_length != buffer->in_pos)
+ buffer->out_string[buffer->out_length] = buffer->in_string[buffer->in_pos];
- info = &buffer->out_string[buffer->out_pos];
+ info = &buffer->out_string[buffer->out_length];
info->codepoint = glyph_index;
if (component != 0xFFFF)
info->component = component;
info->gproperty = HB_BUFFER_GLYPH_PROPERTIES_UNKNOWN;
buffer->in_pos++;
- buffer->out_pos++;
- buffer->out_length = buffer->out_pos;
+ buffer->out_length++;
}
void
{
if (buffer->out_string != buffer->in_string)
{
- hb_buffer_ensure (buffer, buffer->out_pos + 1);
- buffer->out_string[buffer->out_pos] = buffer->in_string[buffer->in_pos];
+ hb_buffer_ensure (buffer, buffer->out_length + 1);
+ buffer->out_string[buffer->out_length] = buffer->in_string[buffer->in_pos];
}
- else if (buffer->out_pos != buffer->in_pos)
- buffer->out_string[buffer->out_pos] = buffer->in_string[buffer->in_pos];
+ else if (buffer->out_length != buffer->in_pos)
+ buffer->out_string[buffer->out_length] = buffer->in_string[buffer->in_pos];
- buffer->out_pos++;
- buffer->out_length = buffer->out_pos;
+ buffer->out_length++;
}
buffer->in_pos++;
match_func_t match_func,
const void *match_data)
{
- if (unlikely (c->buffer->out_pos < count))
+ if (unlikely (c->buffer->out_length < count))
return false;
- for (unsigned int i = 0, j = c->buffer->out_pos - 1; i < count; i++, j--)
+ for (unsigned int i = 0, j = c->buffer->out_length - 1; i < count; i++, j--)
{
while (_hb_ot_layout_skip_mark (c->layout->face, &c->buffer->out_string[j], c->lookup_flag, NULL))
{
ChainContextLookupContext &lookup_context)
{
/* First guess */
- if (unlikely (c->buffer->out_pos < backtrackCount ||
+ if (unlikely (c->buffer->out_length < backtrackCount ||
c->buffer->in_pos + inputCount + lookaheadCount > c->buffer->in_length ||
inputCount + lookaheadCount > c->context_length))
return false;