From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#20173: 24.4; Rendering misallocates combining marks on ligatures Date: Tue, 24 Mar 2015 19:03:38 +0200 Message-ID: <834mpaqqdx.fsf@gnu.org> References: <20150323010626.530d3395@JRWUBU2> <83wq27raer.fsf@gnu.org> <20150323224107.4532b1cc@JRWUBU2> <837fu7qcx1.fsf@gnu.org> <20150324082828.6bad0649@JRWUBU2> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1427216682 13187 80.91.229.3 (24 Mar 2015 17:04:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 24 Mar 2015 17:04:42 +0000 (UTC) Cc: 20173@debbugs.gnu.org To: Richard Wordingham Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Mar 24 18:04:31 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 1YaSFX-0003xR-AH for geb-bug-gnu-emacs@m.gmane.org; Tue, 24 Mar 2015 18:04:19 +0100 Original-Received: from localhost ([::1]:33587 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YaSFW-0007Kc-EK for geb-bug-gnu-emacs@m.gmane.org; Tue, 24 Mar 2015 13:04:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57949) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YaSFN-0007K0-9z for bug-gnu-emacs@gnu.org; Tue, 24 Mar 2015 13:04:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YaSFH-0006G2-7O for bug-gnu-emacs@gnu.org; Tue, 24 Mar 2015 13:04:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:45438) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YaSFH-0006F7-2q for bug-gnu-emacs@gnu.org; Tue, 24 Mar 2015 13:04:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YaSFF-0001iC-PP for bug-gnu-emacs@gnu.org; Tue, 24 Mar 2015 13:04:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Mar 2015 17:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20173 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20173-submit@debbugs.gnu.org id=B20173.14272166396572 (code B ref 20173); Tue, 24 Mar 2015 17:04:01 +0000 Original-Received: (at 20173) by debbugs.gnu.org; 24 Mar 2015 17:03:59 +0000 Original-Received: from localhost ([127.0.0.1]:35214 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YaSFC-0001hv-8Q for submit@debbugs.gnu.org; Tue, 24 Mar 2015 13:03:58 -0400 Original-Received: from mtaout25.012.net.il ([80.179.55.181]:60641) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YaSF9-0001hg-KE for 20173@debbugs.gnu.org; Tue, 24 Mar 2015 13:03:57 -0400 Original-Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NLQ00B00745BI00@mtaout25.012.net.il> for 20173@debbugs.gnu.org; Tue, 24 Mar 2015 18:58:53 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NLQ009DA7650M20@mtaout25.012.net.il>; Tue, 24 Mar 2015 18:58:53 +0200 (IST) In-reply-to: <20150324082828.6bad0649@JRWUBU2> X-012-Sender: halo1@inter.net.il 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:100890 Archived-At: > Date: Tue, 24 Mar 2015 08:28:28 +0000 > From: Richard Wordingham > Cc: 20173@debbugs.gnu.org > > On Tue, 24 Mar 2015 05:42:18 +0200 > Eli Zaretskii wrote: > > > If the setting of composition > > rules for Arabic is not the culprit, then what is? AFAIK, there are > > no rules that guide Emacs's shaping except what's in > > composition-function-table. Beyond that, the only other factor is the > > font backend and how it shapes glyphs given the chunks of text Emacs > > presents to it. > > The font backend on Unixy systems consists of three components - m17n > (shaping control), libotf (OTL look-up implementation) and Freetype > (glyph rendering). The glue between them is in Emacs, > most relevantly in function ftfont_drive_otf() in ftfont.c. > > My analysis of the problem, which could quite easily be wrong, is as > follows. To control the positioning of marks for the mark2ligature > lookup, it is necessary to record in some fashion which component of > the ligature a mark applies to. I cannot see this information being > stored. The information should be generated and used by libotf, but > needs to be stored between callbacks of ftfont_drive_otf() by m17n. > (The initial settings are implicit in the sequence of codepoints.) > Storing this information would, so far as I can see, require a change to > ftfont_drive_otf(). So this means that on Windows this problem does not exist? > You might want to first check whether composed Arabic is > usable. Doesn't making each word a grapheme cluster makes editing > unpleasant? I don't know; I don't speak or write any of the languages that use the Arabic script. I expect the users that do to come up and ask for features they miss. We already allow deletion of single codepoints, even when they are composed; we might as well provide similar features for movement or whatever. But the requests (and, perhaps, even the code) should come from people who actually use these scripts, otherwise it's a sure way to white elephants and other similar creatures. Thanks.