From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kenichi Handa Newsgroups: gmane.emacs.bugs Subject: bug#15273: 24.3.50; Combining character sequences are displayed weirdly Date: Sun, 08 Sep 2013 22:05:41 +0900 Message-ID: <87ob83xy3e.fsf@gnu.org> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1378645638 22024 80.91.229.3 (8 Sep 2013 13:07:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 8 Sep 2013 13:07:18 +0000 (UTC) Cc: xfq.free@gmail.com, 15273@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Sep 08 15:07:19 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VIehw-0008QG-89 for geb-bug-gnu-emacs@m.gmane.org; Sun, 08 Sep 2013 15:07:16 +0200 Original-Received: from localhost ([::1]:45345 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VIehv-00052g-Dd for geb-bug-gnu-emacs@m.gmane.org; Sun, 08 Sep 2013 09:07:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59274) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VIehn-0004yC-SG for bug-gnu-emacs@gnu.org; Sun, 08 Sep 2013 09:07:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VIehi-00056t-Sn for bug-gnu-emacs@gnu.org; Sun, 08 Sep 2013 09:07:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40571) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VIehi-00056p-PH for bug-gnu-emacs@gnu.org; Sun, 08 Sep 2013 09:07:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VIehi-0006aE-8C for bug-gnu-emacs@gnu.org; Sun, 08 Sep 2013 09:07:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Kenichi Handa Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 08 Sep 2013 13:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15273 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 15273-submit@debbugs.gnu.org id=B15273.137864558725260 (code B ref 15273); Sun, 08 Sep 2013 13:07:02 +0000 Original-Received: (at 15273) by debbugs.gnu.org; 8 Sep 2013 13:06:27 +0000 Original-Received: from localhost ([127.0.0.1]:48864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VIeh8-0006ZL-1u for submit@debbugs.gnu.org; Sun, 08 Sep 2013 09:06:26 -0400 Original-Received: from fencepost.gnu.org ([208.118.235.10]:33360 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VIeh4-0006ZC-Ru for 15273@debbugs.gnu.org; Sun, 08 Sep 2013 09:06:23 -0400 Original-Received: from fl1-60-238-108-251.iba.mesh.ad.jp ([60.238.108.251]:64443 helo=shatin) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1VIeh2-0004tU-PB; Sun, 08 Sep 2013 09:06:21 -0400 Original-Received: from handa by shatin with local (Exim 4.80) (envelope-from ) id 1VIegP-0002wG-GH; Sun, 08 Sep 2013 22:05:41 +0900 In-Reply-To: <83r4d2mpi2.fsf@gnu.org> (message from Eli Zaretskii on Fri, 06 Sep 2013 09:29:57 +0300) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:78127 Archived-At: In article <83r4d2mpi2.fsf@gnu.org>, Eli Zaretskii writes: > Character composition in Emacs can happen in 1 of 2 ways: > . The font driver tells Emacs to compose several characters into a > single grapheme cluster, by drawing all of them as a single unit, > and by drawing the 2nd, 3rd, etc. character glyphs at certain pixel > offsets relative to the base glyph. > . Emacs itself has composition rules for 2 or more characters; in > this case, the same pixel offsets come from those rules. Right. And U+20E4 has this entry. (aref composition-function-table #x20E4) => (["\\c.\\c^+" 1 compose-gstring-for-graphic] [nil 0 compose-gstring-for-graphic]) This says that a base character (char-category ".") followed by a combing character (char-category "^") should be composed by the function compose-gstring-for-graphic if those character are displayed by the same font. But, I found a bug in characters.el. In it, U+20E4's char-actegory is not set as "^". So, Emacs couldn't compose it with the preceding base character. I've just installed a fix. Now, Emacs composes U+20E4 with the preceding "!" if the same font is selected for those two characters. Next, I'm not sure whether Emacs composes them correctly if the underlying font driver doesn't support OTF's "mark" and "mkmk" features. The function compose-gstring-for-graphic has a code for such a case, but I don't remember that I wrote a code for "enclosing combining marks". --- Kenichi Handa handa@gnu.org