From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Pixel-based display functions (was: HTML-Info design) Date: Wed, 28 Jan 2015 14:27:17 +1100 Organization: Programmerer Ingebrigtsen Message-ID: <874mrb1t62.fsf_-_@building.gnus.org> References: <87k31fwwyv.fsf@ferrier.me.uk> <87bnmq9ibf.fsf@ferrier.me.uk> <87lhlrx5fc.fsf@building.gnus.org> <878uhrcr5l.fsf@building.gnus.org> <83sifzjflk.fsf@gnu.org> <87fvbyagaw.fsf@building.gnus.org> <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> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1422415661 22660 80.91.229.3 (28 Jan 2015 03:27:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 Jan 2015 03:27:41 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 28 04:27:40 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 1YGJI2-0005Ew-Mc for ged-emacs-devel@m.gmane.org; Wed, 28 Jan 2015 04:27:38 +0100 Original-Received: from localhost ([::1]:51119 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGJI1-0002DY-L5 for ged-emacs-devel@m.gmane.org; Tue, 27 Jan 2015 22:27:37 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49808) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGJHy-0002DT-MJ for emacs-devel@gnu.org; Tue, 27 Jan 2015 22:27:35 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGJHv-0008RA-7G for emacs-devel@gnu.org; Tue, 27 Jan 2015 22:27:34 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:53888) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGJHv-0008R0-0N for emacs-devel@gnu.org; Tue, 27 Jan 2015 22:27:31 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1YGJHp-0004x3-H1 for emacs-devel@gnu.org; Wed, 28 Jan 2015 04:27:29 +0100 Original-Received: from 27.96.197.126 ([27.96.197.126]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 28 Jan 2015 04:27:25 +0100 Original-Received: from larsi by 27.96.197.126 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 28 Jan 2015 04:27:25 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Original-Lines: 27 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 27.96.197.126 Mail-Copies-To: never User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) Cancel-Lock: sha1:XAh35wlSs9r5e11vjgep1RMlVlg= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:181870 Archived-At: I've now made a proof-of-concept implementation of eww using proportional fonts. Here are some screen shots: http://lars.ingebrigtsen.no/2015/01/28/eww-can-haz-font/ But it's so slow that it's not practical to use. shr needs three functions to be kind-of fast to work: 1) A pixel equivalent of `current-column' 2) A pixel equivalent of `move-to-column' (which will be imprecise, of course, but that's OK) 3) A pixel equivalent of `string-width' If somebody could whip these up, then Emacs would have a web browser that kinda almost looks like a real one. :-) I've pushed the shr changes to the "shr-fontified" branch, and it would perhaps be practical if whoever volunteers to implement this also puts these new functions there, and we can merge them all to trunk once things work satisfactorily. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog http://lars.ingebrigtsen.no/