GNU bug report logs -
#21846
25.0.50; emacs hebrew script bidi nikud rendering bug
Previous Next
Reported by: mhd <at> yv.org (Mark H. David)
Date: Fri, 6 Nov 2015 22:31:01 UTC
Severity: normal
Found in version 25.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #89 received at 21846 <at> debbugs.gnu.org (full text, mbox):
In article <85pourn5g9.fsf <at> inode.at>, Wolfgang Jenkner <wjenkner <at> inode.at> writes:
> These changes (536f48e, 9835757, resp. the backports to emacs-25, viz.
> 4a3db0f, ad879b7) seem to break rendering of some Indic scripts.
> Conjuncts are not composed anymore but rendered with virāma instead.
> E.g., please see the Hindi entry of the HELLO file.
> Apparently, the reason is this change
> - if (0x300 <= c1 && c1 <= 0x36F)
> + if (CHAR_HAS_CATEGORY (c1, '^'))
> as, say, "DEVANAGARI SIGN VIRAMA" is excluded by the old condition but
> included by the new one:
Oops, right. Have about this change?
---
K. Handa
handa <at> gnu.org
2016-03-21 handa <handa <at> gnu.org>
* 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.
diff --git a/src/ftfont.c b/src/ftfont.c
index 505d508..17ccda4 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)
This bug report was last modified 9 years and 117 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.