GNU bug report logs - #17739
24.3; Dotted circle does not combine with Thai vowel markers

Previous Next

Package: emacs;

Reported by: Brady Garvin <bgarvin <at> acm.org>

Date: Sun, 8 Jun 2014 17:55:02 UTC

Severity: normal

Found in version 24.3

Full log


Message #26 received at 17739 <at> debbugs.gnu.org (full text, mbox):

From: handa <at> gnu.org (K. Handa)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: bgarvin <at> cse.unl.edu, 17739 <at> debbugs.gnu.org
Subject: Re: bug#17739: 24.3;
 Dotted circle does not combine with Thai vowel markers
Date: Thu, 12 Jun 2014 01:10:07 +0900
In article <838up63j1x.fsf <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org> writes:

> Check out the character composition rules in thai-util.el, perhaps
> something is missing there.

The function for composing Thai is thai-composition-function
in thai-util.el and which surely doesn't handle
dotted-circle.  I think what we need is a general function
to compose dotted-circle with the following character
artifically.  When you eval the following code:

(defun compose-dotted-circle (gstring)
  (let* ((dotted-circle-glyph (lgstring-glyph gstring 0))
	 (following-glyph (lgstring-glyph gstring 1))
	 (from (lglyph-from dotted-circle-glyph))
	 (to (lglyph-to following-glyph)))
    (lglyph-set-from-to dotted-circle-glyph from to)
    (lglyph-set-from-to following-glyph from to)
    gstring))

(aset composition-function-table ?◌ '(["◌[^◌ ]" 0 compose-dotted-circle]))

and Thai characters and dotted circle use the same Norasi
font, I think you get a good result.  Could you please try?

But, the above function is not yet perfect.  In some fonts,
a glyhp of dotted-circle may have positive width, a glyph of
a character following dotted-circle may be narrower than the
glyph of dotted-circle.  The function should handle those
cases gracefully.  I'm now working on it.

---
Kenichi Handa
handa <at> gnu.org




This bug report was last modified 5 years and 267 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.