src/hb-aat-layout-common-private.hh |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 2971e9da49d6ac07f8a9a4e9b00e167b800a5c7f
Author: Behdad Esfahbod <[email protected]>
Date:   Tue Feb 6 11:48:04 2018 -0500

    [aat] Adjust unsafe-to-break logic some more
    
    I believe I'm happy with it now.

diff --git a/src/hb-aat-layout-common-private.hh 
b/src/hb-aat-layout-common-private.hh
index b91634ab..fc04941a 100644
--- a/src/hb-aat-layout-common-private.hh
+++ b/src/hb-aat-layout-common-private.hh
@@ -639,10 +639,10 @@ struct StateTableDriver
        * go differently if we start from state 0 here. */
       if (state && buffer->idx)
       {
-       /* If starting here at state 0 has the exact same entry, it's safe
-        * to break as before as far as we are concerned. */
-       const Entry<EntryData> *start_entry = machine.get_entryZ (0, klass);
-       if (memcmp (start_entry, entry, sizeof (*entry)))
+       /* If there's no action and we're just epsilon-transitioning to state 0,
+        * safe to break. */
+       if (c->is_actionable (this, entry) ||
+           !(entry->newState == 0 && entry->flags == context_t::DontAdvance))
          buffer->unsafe_to_break (buffer->idx - 1, buffer->idx + 1);
       }
 
_______________________________________________
HarfBuzz mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to