src/dump-emoji.cc               |    6 +++---
 src/hb-aat-layout-kerx-table.hh |    4 ++--
 src/hb-aat-layout-morx-table.hh |    7 ++++++-
 3 files changed, 11 insertions(+), 6 deletions(-)

New commits:
commit 55d5ea666c25f75e9b1bc2eb43cfb104a16ebe04
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Mon Oct 15 11:04:49 2018 -0700

    [kerx] Merge clusters in Ligature

diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh
index 544dedde..8446a862 100644
--- a/src/hb-aat-layout-morx-table.hh
+++ b/src/hb-aat-layout-morx-table.hh
@@ -391,6 +391,12 @@ struct LigatureSubtable
        unsigned int action_idx = entry->data.ligActionIndex;
        unsigned int action;
        unsigned int ligature_idx = 0;
+
+       if (unlikely (!match_length))
+         return false;
+
+       buffer->merge_out_clusters (match_positions[0], buffer->out_len);
+
         do
        {
          if (unlikely (!match_length))
@@ -428,7 +434,6 @@ struct LigatureSubtable
            buffer->skip_glyph ();
            end--;
          }
-         /* TODO merge_clusters / unsafe_to_break */
 
          action_idx++;
        }
commit bb35725cd760f07fdb0586453512a106e534b739
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Mon Oct 15 10:20:39 2018 -0700

    [kerx/morx] More end-of-text protection

diff --git a/src/hb-aat-layout-kerx-table.hh b/src/hb-aat-layout-kerx-table.hh
index ae11963a..aa803977 100644
--- a/src/hb-aat-layout-kerx-table.hh
+++ b/src/hb-aat-layout-kerx-table.hh
@@ -172,7 +172,7 @@ struct KerxSubTableFormat1
           * list.  Discovered by testing. */
          unsigned int idx = stack[i];
          int v = *actions++;
-         if (buffer->info[idx].mask & kern_mask)
+         if (idx < buffer->len && buffer->info[idx].mask & kern_mask)
          {
            /* XXX Non-forward direction... */
            if (HB_DIRECTION_IS_HORIZONTAL (buffer->props.direction))
@@ -340,7 +340,7 @@ struct KerxSubTableFormat4
       hb_buffer_t *buffer = driver->buffer;
       unsigned int flags = entry->flags;
 
-      if (mark_set && entry->data.ankrActionIndex != 0xFFFF)
+      if (mark_set && entry->data.ankrActionIndex != 0xFFFF && buffer->idx < 
buffer->len)
       {
        hb_glyph_position_t &o = buffer->cur_pos();
        switch (action_type)
commit 8f3048a1f838484babc4948754c16dda8f53daf1
Author: Ebrahim Byagowi <ebra...@gnu.org>
Date:   Mon Oct 15 12:16:47 2018 +0330

    [dump-emoji] minor

diff --git a/src/dump-emoji.cc b/src/dump-emoji.cc
index f14dbdbf..f45bc310 100644
--- a/src/dump-emoji.cc
+++ b/src/dump-emoji.cc
@@ -212,8 +212,8 @@ int main (int argc, char **argv)
 {
   if (argc != 2) {
     fprintf (stderr, "usage: %s font-file.ttf\n"
-                    "run it like `rm -rf out && mkdir out && src/dump-emoji 
font-file.ttf`\n",
-                    argv[0]);
+                    "run it like `rm -rf out && mkdir out && %s 
font-file.ttf`\n",
+                    argv[0], argv[0]);
     exit (1);
   }
 
@@ -231,7 +231,7 @@ int main (int argc, char **argv)
     fprintf (stderr, "./out is not accessible, create it please\n");
     exit (1);
   }
-  fwrite (argv[0], 1, strlen (argv[1]), font_name_file);
+  fwrite (argv[1], 1, strlen (argv[1]), font_name_file);
   fclose (font_name_file);
 
   hb_blob_t *blob = hb_blob_create_from_file (argv[1]);
_______________________________________________
HarfBuzz mailing list
HarfBuzz@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to