From ae9e8f292b2ad79b01776ae5785a94afbfc4b3e4 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Wed, 24 Oct 2018 16:46:07 -0700 Subject: [PATCH] [vowel-constraints] Reset continuation on all dottedcircles One of the was missed before. Not intentional. --- src/gen-vowel-constraints.py | 9 +++++++-- src/hb-ot-shape-complex-vowel-constraints.cc | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/gen-vowel-constraints.py b/src/gen-vowel-constraints.py index 19629abeb..02a338fa5 100755 --- a/src/gen-vowel-constraints.py +++ b/src/gen-vowel-constraints.py @@ -104,7 +104,7 @@ class ConstraintSet (object): s.append ('{}{{\n'.format (indent)) for i in range (len (self._c)): s.append ('{}buffer->next_glyph ();\n'.format (self._indent (depth + 1))) - s.append ('{}buffer->output_glyph (0x25CCu);\n'.format (self._indent (depth + 1))) + s.append ('{}_output_dotted_circle (buffer);\n'.format (self._indent (depth + 1))) s.append ('{}}}\n'.format (indent)) else: s.append ('{}switch (buffer->cur ({}).codepoint)\n'.format(indent, index or '')) @@ -161,11 +161,16 @@ print () print ('#include "hb-ot-shape-complex-vowel-constraints.hh"') print () print ('static void') -print ('_output_with_dotted_circle (hb_buffer_t *buffer)') +print ('_output_dotted_circle (hb_buffer_t *buffer)') print ('{') print (' hb_glyph_info_t &dottedcircle = buffer->output_glyph (0x25CCu);') print (' _hb_glyph_info_reset_continuation (&dottedcircle);') +print ('}') print () +print ('static void') +print ('_output_with_dotted_circle (hb_buffer_t *buffer)') +print ('{') +print (' _output_dotted_circle (buffer);') print (' buffer->next_glyph ();') print ('}') print () diff --git a/src/hb-ot-shape-complex-vowel-constraints.cc b/src/hb-ot-shape-complex-vowel-constraints.cc index e50233924..aae5936a2 100644 --- a/src/hb-ot-shape-complex-vowel-constraints.cc +++ b/src/hb-ot-shape-complex-vowel-constraints.cc @@ -16,11 +16,16 @@ #include "hb-ot-shape-complex-vowel-constraints.hh" static void -_output_with_dotted_circle (hb_buffer_t *buffer) +_output_dotted_circle (hb_buffer_t *buffer) { hb_glyph_info_t &dottedcircle = buffer->output_glyph (0x25CCu); _hb_glyph_info_reset_continuation (&dottedcircle); +} +static void +_output_with_dotted_circle (hb_buffer_t *buffer) +{ + _output_dotted_circle (buffer); buffer->next_glyph (); } @@ -83,7 +88,7 @@ _hb_preprocess_text_vowel_constraints (const hb_ot_shape_plan_t *plan, { buffer->next_glyph (); buffer->next_glyph (); - buffer->output_glyph (0x25CCu); + _output_dotted_circle (buffer); } break; }