hb_bool_t have_output; /* whether we have an output buffer going on */
hb_bool_t have_positions; /* whether we have positions */
- unsigned int in_length;
+ unsigned int len;
unsigned int out_length;
unsigned int in_pos;
*
* As an optimization, both info and out_info may point to the
* same piece of memory, which is owned by info. This remains the
- * case as long as out_length doesn't exceed in_length at any time.
+ * case as long as out_length doesn't exceed len at any time.
* In that case, swap() is no-op and the glyph operations operate mostly
* in-place.
*
{
buffer->have_output = FALSE;
buffer->have_positions = FALSE;
- buffer->in_length = 0;
+ buffer->len = 0;
buffer->out_length = 0;
buffer->in_pos = 0;
buffer->out_info = buffer->info;
{
hb_internal_glyph_info_t *glyph;
- hb_buffer_ensure (buffer, buffer->in_length + 1);
+ hb_buffer_ensure (buffer, buffer->len + 1);
- glyph = &buffer->info[buffer->in_length];
+ glyph = &buffer->info[buffer->len];
glyph->codepoint = codepoint;
glyph->mask = mask;
glyph->cluster = cluster;
glyph->lig_id = 0;
glyph->gproperty = HB_BUFFER_GLYPH_PROPERTIES_UNKNOWN;
- buffer->in_length++;
+ buffer->len++;
}
return;
}
- memset (buffer->pos, 0, sizeof (buffer->pos[0]) * buffer->in_length);
+ memset (buffer->pos, 0, sizeof (buffer->pos[0]) * buffer->len);
}
void
buffer->pos = (hb_internal_glyph_position_t *) buffer->out_info;
}
- tmp = buffer->in_length;
- buffer->in_length = buffer->out_length;
+ tmp = buffer->len;
+ buffer->len = buffer->out_length;
buffer->out_length = tmp;
buffer->in_pos = 0;
unsigned int
hb_buffer_get_length (hb_buffer_t *buffer)
{
- return buffer->in_length;
+ return buffer->len;
}
/* Return value valid as long as buffer not modified */
void
hb_buffer_reverse (hb_buffer_t *buffer)
{
- if (unlikely (!buffer->in_length))
+ if (unlikely (!buffer->len))
return;
- reverse_range (buffer, 0, buffer->in_length);
+ reverse_range (buffer, 0, buffer->len);
}
void
{
unsigned int i, start, count, last_cluster;
- if (unlikely (!buffer->in_length))
+ if (unlikely (!buffer->len))
return;
hb_buffer_reverse (buffer);
- count = buffer->in_length;
+ count = buffer->len;
start = 0;
last_cluster = buffer->info[0].cluster;
for (i = 1; i < count; i++) {
inline bool apply (hb_apply_context_t *c) const
{
TRACE_APPLY ();
- unsigned int end = MIN (c->buffer->in_length, c->buffer->in_pos + c->context_length);
+ unsigned int end = MIN (c->buffer->len, c->buffer->in_pos + c->context_length);
if (unlikely (c->buffer->in_pos + 2 > end))
return false;
inline bool apply (hb_apply_context_t *c) const
{
TRACE_APPLY ();
- unsigned int end = MIN (c->buffer->in_length, c->buffer->in_pos + c->context_length);
+ unsigned int end = MIN (c->buffer->len, c->buffer->in_pos + c->context_length);
if (unlikely (c->buffer->in_pos + 2 > end))
return false;
{
bool ret = false;
- if (unlikely (!buffer->in_length))
+ if (unlikely (!buffer->len))
return false;
layout->info.gpos.last = HB_OT_LAYOUT_GPOS_NO_LAST; /* no last valid glyph for cursive pos. */
buffer->in_pos = 0;
- while (buffer->in_pos < buffer->in_length)
+ while (buffer->in_pos < buffer->len)
{
bool done;
if (~buffer->info[buffer->in_pos].mask & mask)
TRACE_APPLY ();
unsigned int i, j;
unsigned int count = component.len;
- unsigned int end = MIN (c->buffer->in_length, c->buffer->in_pos + c->context_length);
+ unsigned int end = MIN (c->buffer->len, c->buffer->in_pos + c->context_length);
if (unlikely (c->buffer->in_pos + count > end))
return false;
{
bool ret = false;
- if (unlikely (!buffer->in_length))
+ if (unlikely (!buffer->len))
return false;
if (likely (!is_reverse ()))
/* in/out forward substitution */
buffer->clear_output ();
buffer->in_pos = 0;
- while (buffer->in_pos < buffer->in_length)
+ while (buffer->in_pos < buffer->len)
{
if ((~buffer->info[buffer->in_pos].mask & mask) &&
apply_once (layout, buffer, NO_CONTEXT, MAX_NESTING_LEVEL))
else
{
/* in-place backward substitution */
- buffer->in_pos = buffer->in_length - 1;
+ buffer->in_pos = buffer->len - 1;
do
{
if ((~buffer->info[buffer->in_pos].mask & mask) &&
unsigned int *context_length_out)
{
unsigned int i, j;
- unsigned int end = MIN (c->buffer->in_length, c->buffer->in_pos + c->context_length);
+ unsigned int end = MIN (c->buffer->len, c->buffer->in_pos + c->context_length);
if (unlikely (c->buffer->in_pos + count > end))
return false;
unsigned int offset)
{
unsigned int i, j;
- unsigned int end = MIN (c->buffer->in_length, c->buffer->in_pos + c->context_length);
+ unsigned int end = MIN (c->buffer->len, c->buffer->in_pos + c->context_length);
if (unlikely (c->buffer->in_pos + offset + count > end))
return false;
const LookupRecord lookupRecord[], /* Array of LookupRecords--in design order */
apply_lookup_func_t apply_func)
{
- unsigned int end = MIN (c->buffer->in_length, c->buffer->in_pos + c->context_length);
+ unsigned int end = MIN (c->buffer->len, c->buffer->in_pos + c->context_length);
if (unlikely (c->buffer->in_pos + count > end))
return false;
{
/* First guess */
if (unlikely (c->buffer->out_length < backtrackCount ||
- c->buffer->in_pos + inputCount + lookaheadCount > c->buffer->in_length ||
+ c->buffer->in_pos + inputCount + lookaheadCount > c->buffer->len ||
inputCount + lookaheadCount > c->context_length))
return false;
{
unsigned int count;
- count = buffer->in_length;
+ count = buffer->len;
for (buffer->in_pos = 1; buffer->in_pos < count; buffer->in_pos++)
if (buffer->unicode->get_general_category (buffer->info[buffer->in_pos].codepoint) == HB_CATEGORY_NON_SPACING_MARK)
buffer->info[buffer->in_pos].cluster = buffer->info[buffer->in_pos - 1].cluster;
if (HB_DIRECTION_IS_FORWARD (buffer->direction))
return;
- count = buffer->in_length;
+ count = buffer->len;
for (buffer->in_pos = 0; buffer->in_pos < count; buffer->in_pos++) {
buffer->info[buffer->in_pos].codepoint = get_mirroring (buffer->info[buffer->in_pos].codepoint);
}
{
unsigned int count;
- if (unlikely (!buffer->in_length))
+ if (unlikely (!buffer->len))
return;
- count = buffer->in_length - 1;
+ count = buffer->len - 1;
for (buffer->in_pos = 0; buffer->in_pos < count; buffer->in_pos++) {
if (unlikely (is_variation_selector (buffer->info[buffer->in_pos + 1].codepoint))) {
buffer->info[buffer->in_pos].codepoint = hb_font_get_glyph (font, face, buffer->info[buffer->in_pos].codepoint, buffer->info[buffer->in_pos + 1].codepoint);
hb_buffer_clear_positions (buffer);
- count = buffer->in_length;
+ count = buffer->len;
for (buffer->in_pos = 0; buffer->in_pos < count; buffer->in_pos++) {
hb_glyph_metrics_t metrics;
hb_font_get_glyph_metrics (font, face, buffer->info[buffer->in_pos].codepoint, &metrics);
unsigned int count;
/* TODO Check for kern=0 */
- count = buffer->in_length;
+ count = buffer->len;
for (buffer->in_pos = 1; buffer->in_pos < count; buffer->in_pos++) {
hb_position_t kern, kern1, kern2;
kern = hb_font_get_kerning (font, face, buffer->info[buffer->in_pos - 1].codepoint, buffer->info[buffer->in_pos].codepoint);