]> git.eshelyaron.com Git - emacs.git/commitdiff
Backport:fix previous change of src/ftfont.c (ftfont_shape_by_flt)
authorK. Handa <handa@gnu.org>
Thu, 14 Jan 2016 12:48:44 +0000 (21:48 +0900)
committerK. Handa <handa@gnu.org>
Tue, 26 Jan 2016 14:10:34 +0000 (23:10 +0900)
* src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
second glyph only when there are enough glyphs.

(cherry picked from commit 9835757013569673854b692ccbb58bfb3c3ed1f7)

src/ftfont.c

index bb8af96d7b195d9fac298de5c952f30a51291d8d..505d508d2e01ec2b8cc17ac118461f8db503f04c 100644 (file)
@@ -2590,7 +2590,7 @@ ftfont_shape_by_flt (Lisp_Object lgstring, struct font *font,
   flt_font_ft.otf = otf;
   flt_font_ft.matrix = matrix->xx != 0 ? matrix : 0;
 
-  if (1 < len || ! otf)
+  if (1 < len)
     {
       /* A little bit ad hoc.  Perhaps, shaper must get script and
         language information, and select a proper flt for them
@@ -2598,9 +2598,11 @@ ftfont_shape_by_flt (Lisp_Object lgstring, struct font *font,
       int c1 = LGLYPH_CHAR (LGSTRING_GLYPH (lgstring, 1));
       if (CHAR_HAS_CATEGORY (c1, '^'))
        flt = mflt_get (msymbol ("combining"));
-      else if (! otf)
-       flt = mflt_find (LGLYPH_CHAR (LGSTRING_GLYPH (lgstring, 0)),
-                        &flt_font_ft.flt_font);
+    }
+  if (! flt && ! otf)
+    {
+      flt = mflt_find (LGLYPH_CHAR (LGSTRING_GLYPH (lgstring, 0)),
+                      &flt_font_ft.flt_font);
       if (! flt)
        return make_number (0);
     }