From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Cl=c3=a9ment_Pit-Claudel?= Newsgroups: gmane.emacs.devel Subject: Re: Core package offering - engrave-faces.el Date: Fri, 9 Jul 2021 17:14:12 -0400 Message-ID: References: <87y2afv122.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2883"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jul 09 23:15:00 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m1xps-0000VC-1L for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Jul 2021 23:15:00 +0200 Original-Received: from localhost ([::1]:34986 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1xpq-0000Ge-IN for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Jul 2021 17:14:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41556) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1xpB-00082B-Rz for emacs-devel@gnu.org; Fri, 09 Jul 2021 17:14:17 -0400 Original-Received: from mail-qv1-xf31.google.com ([2607:f8b0:4864:20::f31]:34425) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m1xpA-0003gl-1d for emacs-devel@gnu.org; Fri, 09 Jul 2021 17:14:17 -0400 Original-Received: by mail-qv1-xf31.google.com with SMTP id h18so5229403qve.1 for ; Fri, 09 Jul 2021 14:14:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=tl5pF+h1wIBkfusEDns4oLUzeGQDbIJfdAul8WdQGh0=; b=Z6uHl1z/Zf9aryWn0ZVMsoTVdRga+s8FJsYj7/aiJCq3AzjFmOGOuODDAvYWVC36Jr A+G6d8oN2VHEm3EvNE63EqgRQrnTxHRNDmnYfv+fOPqCKO06FuYjcSF9lBlITzyOHME5 8+O3ueQwz1XN8EjFgkVp8pCaOcxRmc4naSv+VCYZ0a/mHag7Ea0cwJ5RMHPaz2YVLCbp dwig5ecVTuYwAd8apo5qi9lERHceiGGgDzXPyfSu4p7vdEMBJXEJQogK1xaUGecuZwhe Qyhzy0kHwa736nJthyPc2a8YumaU/Yh1Se3dYoQcRWO7d145+3CW367OaixzBmZaYIMS m68w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=tl5pF+h1wIBkfusEDns4oLUzeGQDbIJfdAul8WdQGh0=; b=jceSbSsIVBdzOMFnPnP6iT1hgm+RZ1JG+wQ8MyAFR3oVe7u5sCF/Q4KrXWxiA4D6Pc f5afydkhS3ywJP4cIapBdZ8f4zCciKSp3GY4BKOPnmeX6Om5YqdbM3+IZGDXOTCMBrf1 oz8QPZoXOq4ZvnB4yX9PZxpw1TRhgHDhrvSRh+5xVsPK6s21tzjGs1yF9rVI+JgrTlh6 1g6cbsRfku1QPwbqPv5ygY0LFEXvKKQ/wjob7f+BXEWWecWcJ1aTut58DRmVJtTUPZEB 1Cep6tCWR1MkD4NJB9dplpuX7lreIDzbN5IrV4ltP6eAugFo6+uqafH1Rtm/HYxugmYq bLgw== X-Gm-Message-State: AOAM532K9K8NSqZbp4UD4cE/gpxkyOqH+Rg3NLgJ/2RCJ0oIbEDTaRvV D3z2OlFIAlIxdSGa8N8AHcmtylvjKvM= X-Google-Smtp-Source: ABdhPJwo0pP2pYKyqqO8fH8ppoL+evbL/8295+201M1eZJ+WrLrhZq6ucgjL2ihSoer8eBlF4nwv8w== X-Received: by 2002:a0c:be85:: with SMTP id n5mr38431385qvi.59.1625865254103; Fri, 09 Jul 2021 14:14:14 -0700 (PDT) Original-Received: from [192.168.1.11] (c-24-61-240-80.hsd1.ma.comcast.net. [24.61.240.80]) by smtp.googlemail.com with ESMTPSA id h2sm3150005qkf.106.2021.07.09.14.14.12 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 09 Jul 2021 14:14:13 -0700 (PDT) In-Reply-To: <87y2afv122.fsf@gmail.com> Content-Language: en-GB Received-SPF: pass client-ip=2607:f8b0:4864:20::f31; envelope-from=cpitclaudel@gmail.com; helo=mail-qv1-xf31.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:271163 Archived-At: On 7/9/21 1:39 PM, Timothy wrote: > Unlike htmlize, Engrave Faces provides general functionality to > transform a buffer into another format with font-lock information. > This core functionality is currently made us of in > engrave-faces-latex.el, engrave-faces-ansi.el, and engrave-faces-html.el > to provide exporters for LaTeX, ASCII/ANSI, and HTML. Neat! But, I'm not sure I understand what the package actually does. Can you give a short example of the API and the results it produces? If I understand correctly, the following may be relevant: https://github.com/cpitclaudel/esh (I mention it because it supports exporting overlays to HTML and LaTeX, too, and it uses a tricky algorithm to correctly handle overlapping fontification) https://github.com/Lindydancer/faceup https://github.com/Lindydancer/face-explorer > For comparison, htmlize.el is 1700 sloc and htmlfontify.el is 2200 sloc. My experience is that getting faces right is hard, so I'm not sure I'd assume these thousands of lines are just due to bloat ^^