From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Pixel-based display functions Date: Fri, 30 Jan 2015 13:02:22 -0500 Message-ID: References: <87iofui8vo.fsf@building.gnus.org> <838ugqqczp.fsf@gnu.org> <877fw9dndz.fsf@building.gnus.org> <83a914ozsh.fsf@gnu.org> <874mrb1t62.fsf_-_@building.gnus.org> <87vbjrl49k.fsf@violet.siamics.net> <8361bqogah.fsf@gnu.org> <87k306pfi9.fsf@building.gnus.org> <87egqekrd7.fsf@building.gnus.org> <877fw53eat.fsf@building.gnus.org> <877fw4zsdv.fsf@building.gnus.org> <831tmcn4k4.fsf@gnu.org> <87386szq1w.fsf@building.gnus.org> <83wq44ljm9.fsf@gnu.org> <87vbjowlqv.fsf@building.gnus.org> <83oapglbx6.fsf@gnu.org> <83lhkkl23i.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1422641012 3354 80.91.229.3 (30 Jan 2015 18:03:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 30 Jan 2015 18:03:32 +0000 (UTC) Cc: larsi@gnus.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 30 19:03:27 2015 Return-path: Envelope-to: ged-emacs-devel@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 1YHFuf-0000JC-O8 for ged-emacs-devel@m.gmane.org; Fri, 30 Jan 2015 19:03:25 +0100 Original-Received: from localhost ([::1]:38092 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YHFuf-0002wd-0L for ged-emacs-devel@m.gmane.org; Fri, 30 Jan 2015 13:03:25 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42547) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YHFuA-0002aV-F0 for emacs-devel@gnu.org; Fri, 30 Jan 2015 13:02:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YHFu9-0002AK-Gq for emacs-devel@gnu.org; Fri, 30 Jan 2015 13:02:54 -0500 Original-Received: from mercure.iro.umontreal.ca ([132.204.24.67]:48528) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YHFu5-00028p-PO; Fri, 30 Jan 2015 13:02:49 -0500 Original-Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id A8E9F85EC2; Fri, 30 Jan 2015 13:02:48 -0500 (EST) Original-Received: from lechon.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id CC6BD1E5B8B; Fri, 30 Jan 2015 13:02:22 -0500 (EST) Original-Received: by lechon.iro.umontreal.ca (Postfix, from userid 20848) id 9145AB4102; Fri, 30 Jan 2015 13:02:22 -0500 (EST) In-Reply-To: <83lhkkl23i.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 30 Jan 2015 17:28:33 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-2.82, requis 5, autolearn=not spam, ALL_TRUSTED -2.82, MC_TSTLAST 0.00) X-DIRO-MailScanner-From: monnier@iro.umontreal.ca X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 132.204.24.67 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:182082 Archived-At: Why are we re-implementing the display code in Elisp, again? Stefan >>>>> "Eli" == Eli Zaretskii writes: >> Date: Fri, 30 Jan 2015 13:56:21 +0200 >> From: Eli Zaretskii >> Cc: emacs-devel@gnu.org >> >> (In the display engine, there's a thing called the "face ID" that is >> computed as part of displaying text, which takes the characters into >> consideration, which is why I suggested 'face' in the first place. >> I will try to see how to do the same in Lisp.) > Not really the same, but how about using > (aref char-script-table (char-after POS)) > to find where in the text you have characters from a different script? > If this is fast enough, it should give you a conservative estimation > of where to call font-at again. (It's conservative because the same > font can, and usually does, cover more than a single script.) > One more issue that I think needs to be handled are characters for > which there's no font installed on the user's system. We display them > as defined by glyphless-char-display-control. Or maybe you should > allow the text to overflow in this case: after all, it's not really > legible, is it?