[pango] [HB] Simplify loop
- From: Behdad Esfahbod <behdad src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [pango] [HB] Simplify loop
- Date: Fri, 14 Aug 2009 23:42:08 +0000 (UTC)
commit a465d3c1854033f2c3c05616bde7762ff0cf2d5b
Author: Behdad Esfahbod <behdad behdad org>
Date: Fri Aug 14 19:37:18 2009 -0400
[HB] Simplify loop
pango/opentype/hb-ot-layout-gpos-private.hh | 31 ++++++++++++--------------
1 files changed, 14 insertions(+), 17 deletions(-)
---
diff --git a/pango/opentype/hb-ot-layout-gpos-private.hh b/pango/opentype/hb-ot-layout-gpos-private.hh
index 1142864..3aa1160 100644
--- a/pango/opentype/hb-ot-layout-gpos-private.hh
+++ b/pango/opentype/hb-ot-layout-gpos-private.hh
@@ -944,13 +944,12 @@ struct MarkBasePosFormat1
return false;
/* now we search backwards for a non-mark glyph */
- unsigned int count = buffer->in_pos;
- unsigned int i = 0, j = count;
+ unsigned int j = buffer->in_pos;
do
{
- if (HB_UNLIKELY (i == count))
+ if (HB_UNLIKELY (!j))
return false;
- i++, j--;
+ j--;
} while (_hb_ot_layout_skip_mark (context->face, IN_INFO (j), LookupFlag::IgnoreMarks, &property));
#if 0
@@ -1045,13 +1044,12 @@ struct MarkLigPosFormat1
return false;
/* now we search backwards for a non-mark glyph */
- unsigned int count = buffer->in_pos;
- unsigned int i = 0, j = count;
+ unsigned int j = buffer->in_pos;
do
{
- if (HB_UNLIKELY (i == count))
+ if (HB_UNLIKELY (!j))
return false;
- i++, j--;
+ j--;
} while (_hb_ot_layout_skip_mark (context->face, IN_INFO (j), LookupFlag::IgnoreMarks, &property));
#if 0
@@ -1068,8 +1066,8 @@ struct MarkLigPosFormat1
const LigatureAttach& lig_attach = lig_array[lig_index];
/* Find component to attach to */
- count = lig_attach.rows;
- if (HB_UNLIKELY (!count))
+ unsigned int comp_count = lig_attach.rows;
+ if (HB_UNLIKELY (!comp_count))
return false;
unsigned int comp_index;
/* We must now check whether the ligature ID of the current mark glyph
@@ -1079,11 +1077,11 @@ struct MarkLigPosFormat1
if (IN_LIGID (j) == IN_LIGID (buffer->in_pos))
{
comp_index = IN_COMPONENT (buffer->in_pos);
- if (comp_index >= count)
- comp_index = count - 1;
+ if (comp_index >= comp_count)
+ comp_index = comp_count - 1;
}
else
- comp_index = count - 1;
+ comp_index = comp_count - 1;
return (this+markArray).apply (APPLY_ARG, mark_index, comp_index, lig_attach, classCount, j);
}
@@ -1163,13 +1161,12 @@ struct MarkMarkPosFormat1
return false;
/* now we search backwards for a suitable mark glyph until a non-mark glyph */
- unsigned int count = buffer->in_pos;
- unsigned int i = 0, j = count;
+ unsigned int j = buffer->in_pos;
do
{
- if (HB_UNLIKELY (i == count))
+ if (HB_UNLIKELY (!j))
return false;
- i++, j--;
+ j--;
} while (_hb_ot_layout_skip_mark (context->face, IN_INFO (j), lookup_flag, &property));
if (!(property & HB_OT_LAYOUT_GLYPH_CLASS_MARK))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]