summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorK. Handa <handa@gnu.org>2016-03-25 12:40:25 +0300
committerEli Zaretskii <eliz@gnu.org>2016-03-25 12:40:25 +0300
commit44782dea433ce567bf69612a74b62432d68cd4b3 (patch)
tree962814ea95d6f06150c9cd55fc251bb4ff65bc9b
parent326c64fcc37cdb31183ec62d5535ec0a52c4738e (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.c7
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)