From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: handa Newsgroups: gmane.emacs.bugs Subject: bug#20984: 25.0.50; Combining accents don't display properly in certain fonts Date: Sat, 11 Jul 2015 01:06:35 +0900 Message-ID: <87h9pc575g.fsf@gnu.org> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1436544502 31364 80.91.229.3 (10 Jul 2015 16:08:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 10 Jul 2015 16:08:22 +0000 (UTC) Cc: 20984@debbugs.gnu.org, bruce.connor.am@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jul 10 18:08:06 2015 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 1ZDapa-0002wc-RM for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 Jul 2015 18:07:19 +0200 Original-Received: from localhost ([::1]:45335 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDapa-0006v6-52 for geb-bug-gnu-emacs@m.gmane.org; Fri, 10 Jul 2015 12:07:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44037) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDapQ-0006ux-Av for bug-gnu-emacs@gnu.org; Fri, 10 Jul 2015 12:07:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDapK-0007J5-Hd for bug-gnu-emacs@gnu.org; Fri, 10 Jul 2015 12:07:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:44919) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDapK-0007J0-EL for bug-gnu-emacs@gnu.org; Fri, 10 Jul 2015 12:07:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZDapK-0006IT-31 for bug-gnu-emacs@gnu.org; Fri, 10 Jul 2015 12:07:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: handa Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 10 Jul 2015 16:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20984 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20984-submit@debbugs.gnu.org id=B20984.143654441524193 (code B ref 20984); Fri, 10 Jul 2015 16:07:02 +0000 Original-Received: (at 20984) by debbugs.gnu.org; 10 Jul 2015 16:06:55 +0000 Original-Received: from localhost ([127.0.0.1]:46365 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZDapD-0006I8-9W for submit@debbugs.gnu.org; Fri, 10 Jul 2015 12:06:55 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:58647) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZDapB-0006Hv-T8 for 20984@debbugs.gnu.org; Fri, 10 Jul 2015 12:06:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDap5-0007Do-KT for 20984@debbugs.gnu.org; Fri, 10 Jul 2015 12:06:48 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57326) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDaoy-0007BZ-F7; Fri, 10 Jul 2015 12:06:40 -0400 Original-Received: from fl1-110-233-79-201.iba.mesh.ad.jp ([110.233.79.201]:57451 helo=shatin) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1ZDaox-00044d-QO; Fri, 10 Jul 2015 12:06:40 -0400 Original-Received: from handa by shatin with local (Exim 4.82) (envelope-from ) id 1ZDaot-0006Af-98; Sat, 11 Jul 2015 01:06:35 +0900 In-Reply-To: <83oajkbkbo.fsf@gnu.org> (message from Eli Zaretskii on Fri, 10 Jul 2015 09:25:31 +0300) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). 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:104893 Archived-At: --=-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable In article <83oajkbkbo.fsf@gnu.org>, Eli Zaretskii writes: > Btw, I wonder why xftfont and libotf don't do the same as Uniscribe, > i.e. instruct Emacs to display the =E0 character. This is what the > composition data I see here says: > [0 1 97 231 8 1 7 12 4 nil] > This single vector tells Emacs to display one glyph, and 231 is its > code in the font. > It is strange that libotf doesn't take this shortcut, although I'm > quite sure a glyph for =E0 is available both in DejaVu Sans Mono and in > Source Code Pro. But I don't know enough about libotf. Sorry, I found that my build of emacs-24.5 was without m17n-flt (and libotf). So, the combining was done by Emacs itself using the function compose-gstring-for-graphic. I've just rebuild emacs-24.5 with m17n-flt, and see the same problem as the trunk, which means that the culprit may be in m17n-flt or libotf. So, I checked m17n-flt and found that the rule for combining latin characters has a bug when a font has such OTF features as subs, sups. Please try the attached COMBINING.flt by these steps: 1. make the directory ~/.m17n.d 2. put COMBINING.flt under that directory. 3. run emacs By the why, the reason of m17n-flt/libotf not taking the shortcut above is that the Source Code Pro font doesn't have such a feature. I suspect Uniscribe has a special code for using precomposed glyph without asking a font about its features. So, perhaps, even with TTF font (i.e. a font of no OTF features), Uniscribe can display a-grave sequence with the precomposed glyph. --- K. Handa handa@gnu.org --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=COMBINING.flt Content-Transfer-Encoding: base64 OzsgQ09NQklOSU5HLmZsdCAtLSBGb250IExheW91dCBUYWJsZSBmb3IgY29tYmluaW5nIGRpYWNy aXRpY2FsIG1hcmtzCjs7IENvcHlyaWdodCAoQykgMjAwNyAgQUlTVCAoSDE1UFJPMTEyKQo7OyBT ZWUgdGhlIGVuZCBmb3IgY29weWluZyBjb25kaXRpb25zLgoKKGZvbnQgbGF5b3V0ZXIgY29tYmlu aW5nIG5pbCkKCjs7OyA8bGk+IENPTUJJTklORy5mbHQKOzs7Cjs7OyBGb3IgY29tYmluaW5nIGRp YWNyaXRpY2FsIG1hcnNrIChVKzAzMDAuLlUrMDM2RikuCgooY2F0ZWdvcnkKIDs7IFRoZSBjb250 ZW50cyBpcyBidWlsZCB1cCBieSB0aGUgbTE3bi1saWIuCiApCgooZ2VuZXJhdG9yCiAoMAogIChj b25kCiAgICgiKHUpKFthLXRdKykiCiAgICAoY29uZAogICAgICgoZm9udC1mYWNpbGl0eSA6b3Rm PURGTFQrbWFyaykgPCA6b3RmPURGTFQ9K21hcmssbWttayA+KQogICAgICgiLioiCiAgICAgIDwJ PQkJCQk7IGNvbWJpbmluZyBjbGFzcwogICAgICAoY29uZCAoImEiIEJjLkJjID0pCQk7IDwgMjAw CgkgICAgKCJiIiBibC50YyA9KQkJOyAyMDAKCSAgICAoImMiIGJjLnRjID0pCQk7IDIwMgoJICAg ICgiZCIgYnIudGMgPSkJCTsgMjA0CgkgICAgKCJlIiBCbC5CciA9KQkJOyAyMDgKCSAgICAoImYi IEJyLkJsID0pCQk7IDIxMAoJICAgICgiZyIgdGwuYmMgPSkJCTsgMjEyCgkgICAgKCJoIiB0Yy5i YyA9KQkJOyAyMTQKCSAgICAoImkiIHRyLmJjID0pCQk7IDIxNgoJICAgICgiaiIgYmwudGMgPSkJ CTsgMjE4CgkgICAgKCJrIiBiYy10YyA9KQkJOyAyMjAKCSAgICAoImwiIGJyLXRjID0pCQk7IDIy MgoJICAgICgibSIgQmwuQnIgPSkJCTsgMjI0CgkgICAgKCJuIiBCci5CbCA9KQkJOyAyMjYKCSAg ICAoIm8iIHRsK2JjID0pCQk7IDIyOAoJICAgICgicCIgdGMrYmMgPSkJCTsgMjMwCgkgICAgKCJx IiB0citiYyA9KQkJOyAyMzIKCSAgICAoInIiIGJyLXRyID0pCQk7IDIzMwoJICAgICgicyIgdHIr YnIgPSkJCTsgMjM0CgkgICAgKCJ0IiBiYy10YyA9KSkJCTsgMjQwCiAgICAgICogPikpKQogICAo IlthLXRdIiBbID0gXSkKICAgKCIuIiA9KSkKICAqKSkKCjs7IENvcHlyaWdodCAoQykgMjAwNwo7 OyAgIE5hdGlvbmFsIEluc3RpdHV0ZSBvZiBBZHZhbmNlZCBJbmR1c3RyaWFsIFNjaWVuY2UgYW5k IFRlY2hub2xvZ3kgKEFJU1QpCjs7ICAgUmVnaXN0cmF0aW9uIE51bWJlciBIMTVQUk8xMTIKCjs7 IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBtMTduIGRhdGFiYXNlOyBhIHN1Yi1wYXJ0IG9mIHRo ZSBtMTduCjs7IGxpYnJhcnkuCgo7OyBUaGUgbTE3biBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo7OyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKOzsgYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIuMSBv Zgo7OyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K Cjs7IFRoZSBtMTduIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKOzsgTGVzc2VyIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCjs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKOzsgTGljZW5zZSBhbG9u ZyB3aXRoIHRoZSBtMTduIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUKOzsgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK OzsgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCgo7OyBMb2NhbCBWYXJpYWJsZXM6Cjs7IG1v ZGU6IGVtYWNzLWxpc3AKOzsgRW5kOgo= --=-=-=--