emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 44782de: Fix display of Indic scripts


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-25 44782de: Fix display of Indic scripts
Date: Fri, 25 Mar 2016 09:41:40 +0000

branch: emacs-25
commit 44782dea433ce567bf69612a74b62432d68cd4b3
Author: K. Handa <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Fix display of Indic scripts
    
    * ftfont.c (ftfont_shape_by_flt): For combining characters out
    of the range U+300...U+36F, use the "combining" FLT only with
    non-OTF fonts.
---
 src/ftfont.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/ftfont.c b/src/ftfont.c
index a402245..b0b5320 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -2596,7 +2596,12 @@ ftfont_shape_by_flt (Lisp_Object lgstring, struct font 
*font,
         language information, and select a proper flt for them
         here.  */
       int c1 = LGLYPH_CHAR (LGSTRING_GLYPH (lgstring, 1));
-      if (CHAR_HAS_CATEGORY (c1, '^'))
+      /* For the combining characters in the range U+300..U+36F,
+        "combining" is the sole FLT provided by the m17n-lib.  In
+        addition, it is the sole FLT that can handle the other
+        combining characters with non-OTF fonts.  */
+      if (0x300 <= c1 && c1 <= 0x36F
+         || (! otf  && CHAR_HAS_CATEGORY (c1, '^')))
        flt = mflt_get (msymbol ("combining"));
     }
   if (! flt && ! otf)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]