From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Pixel-based display functions Date: Fri, 30 Jan 2015 11:10:06 +0200 Message-ID: <83wq44ljm9.fsf@gnu.org> References: <83iogujvbq.fsf@gnu.org> <87tx0ee7rf.fsf@building.gnus.org> <83egricpvg.fsf@gnu.org> <87zj97vic8.fsf@building.gnus.org> <83wq4argjp.fsf@gnu.org> <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> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=shift_jis Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: ger.gmane.org 1422609025 4123 80.91.229.3 (30 Jan 2015 09:10:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 30 Jan 2015 09:10:25 +0000 (UTC) Cc: emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 30 10:10:24 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 1YH7ao-00042k-T4 for ged-emacs-devel@m.gmane.org; Fri, 30 Jan 2015 10:10:23 +0100 Original-Received: from localhost ([::1]:35610 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YH7an-00077e-Ux for ged-emacs-devel@m.gmane.org; Fri, 30 Jan 2015 04:10:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40473) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YH7ah-00077Y-L9 for emacs-devel@gnu.org; Fri, 30 Jan 2015 04:10:19 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YH7ac-0003Iu-Qs for emacs-devel@gnu.org; Fri, 30 Jan 2015 04:10:15 -0500 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:50103) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YH7ac-0003Ii-JH for emacs-devel@gnu.org; Fri, 30 Jan 2015 04:10:10 -0500 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NIZ00I00FKQIC00@a-mtaout21.012.net.il> for emacs-devel@gnu.org; Fri, 30 Jan 2015 11:10:09 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NIZ00I8TG4WIQ10@a-mtaout21.012.net.il>; Fri, 30 Jan 2015 11:10:09 +0200 (IST) In-reply-to: <87386szq1w.fsf@building.gnus.org> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.169 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:182031 Archived-At: > From: Lars Ingebrigtsen > Cc: emacs-devel@gnu.org > Date: Fri, 30 Jan 2015 18:27:23 +1100 >=20 > >> `font-get-glyphs' on a large region is quite fast, but since the= font > >> may vary, I'm calling it on a char-by-char basis, and that's s-l= -o-w. > > > > That's your problem: you should call it on a run of characters th= at > > have the same face. Use next-single-char-property-change to find > > where such runs begin and end. >=20 > The face doesn't say what font is going to be used. If I put =93= =FA=96{=8C=EA > here, the entire preceding line has the same face, but two differen= t > fonts. Then check the 'charset' text property as well. > If you have a handy function that can segment lines according to fo= nt > (even though it can't say what the font is (yet)), that would be us= eful. > If I could (on the first line there) just call `font-at' twice, I t= hink > that would allow me to write an algorithm that should be fast enoug= h. I think face and charset are what you want.