diff options
author | K. Handa <handa@gnu.org> | 2016-03-25 12:40:25 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2016-03-25 12:40:25 +0300 |
commit | 44782dea433ce567bf69612a74b62432d68cd4b3 (patch) | |
tree | 962814ea95d6f06150c9cd55fc251bb4ff65bc9b | |
parent | 326c64fcc37cdb31183ec62d5535ec0a52c4738e (diff) |
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.
-rw-r--r-- | src/ftfont.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ftfont.c b/src/ftfont.c index a402245a06..b0b532015c 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) |