From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Augusto Stoffel Newsgroups: gmane.emacs.devel Subject: Re: Increase default `line-spacing' to 0.05, 0.10 or 0.15 [proposal] Date: Thu, 06 May 2021 13:47:56 +0200 Message-ID: <87a6p8w0b7.fsf@gmail.com> References: <871ramlbpy.fsf@telefonica.net> <87fsz1zmhv.fsf@gmail.com> <87sg30usa2.fsf@gmail.com> <83mtt8dvft.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11949"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cc: jporterbugs@gmail.com, stefankangas@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu May 06 13:49:05 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 1lecV5-0002zC-WF for ged-emacs-devel@m.gmane-mx.org; Thu, 06 May 2021 13:49:04 +0200 Original-Received: from localhost ([::1]:39142 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lecV5-0002yM-1Q for ged-emacs-devel@m.gmane-mx.org; Thu, 06 May 2021 07:49:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52346) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lecUB-0002Rk-DP for emacs-devel@gnu.org; Thu, 06 May 2021 07:48:08 -0400 Original-Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]:34670) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lecU5-0001FD-0G; Thu, 06 May 2021 07:48:07 -0400 Original-Received: by mail-ej1-x633.google.com with SMTP id a4so7838318ejk.1; Thu, 06 May 2021 04:47:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=xI55WgDCmnWACgaWPrCNW7UUiM/nr+5UxPXJs9zX0D8=; b=cL3i1/egTwHqhL1BWUQ/uMspFvAMj90737xN3uZVbFomueUir09Iek94wLFXq1/jXO f4eD6Y1GcaXHOZJnPfIHsL7oJ30UIgVGKXrLXgOeNWSgLVVsIey81yKFJhpkGfR57ijG rdN8jPM4BrhIuxFcLWvzTnGeCyXETCF2qWbfpDXI8IkS5zNcp66fGAjVRlzYOnMQjYJ6 Zk7THfyRC6lK0OuPj2plTxUj2VmsScb31Q0g/CBSgXstrMrpjFu/c4qHW/Al9yNBwHBe 7/TFq8/NXlDDN9IJT8JQ5UNOI6SS3btK28rccmM4v8P69DQkOXdJK8O7Jryzgd2fnFt+ wFgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=xI55WgDCmnWACgaWPrCNW7UUiM/nr+5UxPXJs9zX0D8=; b=Q6EPbIymBl/KSC/JD18ub35Wh8VKazvIH6AfujgZWlvHl/QtLNdVeJGRh30BsfWBYu iCEV3VpbuBtEmv29ntpdESN5paOghPOgUH2tykwzOTd2SEBayO93nda2aeAQ13CFa7sP fJTSCJ611/k6I/51kuKThEs8bjk4P2vj9H5ByCdnQb6nImU5VKVlNenVh1v2jHx3oe6y PvP/Qldro23zflCJ1F5PWtjryyGKxW4xbNwEyyzjyrNzRP+nQnmX97lR+DzfslyaP1al PwfuPOVQWGQ/Gu9EJxXNg5OGmu2eNx/4MZ6BbIFEqDXqKuW4WMHQiMoEm1HM2dj0pbQb xMnA== X-Gm-Message-State: AOAM532ZYeingoToZPIGwhzoL3IDhegj4ywy+tcveJa38XL6hanbCmQc Uh7sNaLXgdGygeP8AvnvjG5DTMzYz/c= X-Google-Smtp-Source: ABdhPJy3rgy22HCAjn9h6lZasJpammTemGyNskpQCV8k7nAgAzTYMB6rq0J538puB1v+N/ibO6y1Cw== X-Received: by 2002:a17:907:3e99:: with SMTP id hs25mr4108109ejc.518.1620301678524; Thu, 06 May 2021 04:47:58 -0700 (PDT) Original-Received: from ars3 ([2a02:908:2211:8540::68a]) by smtp.gmail.com with ESMTPSA id h4sm471733edv.97.2021.05.06.04.47.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 May 2021 04:47:57 -0700 (PDT) In-Reply-To: <83mtt8dvft.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 06 May 2021 13:10:30 +0300") Received-SPF: pass client-ip=2a00:1450:4864:20::633; envelope-from=arstoffel@gmail.com; helo=mail-ej1-x633.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, 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:268960 Archived-At: On Thu, 6 May 2021 at 13:10, Eli Zaretskii wrote: >> From: Augusto Stoffel >> Date: Thu, 06 May 2021 11:26:45 +0200 >> Cc: Jim Porter , emacs-devel@gnu.org >> >> Comparing the picture in [1] and what I see if I put the block cursor >> over an "H", I conclude that monospaced fonts come with some built-in >> leading. In other words, they are "bastard fonts" [2], and a nil for >> `line-spacing' doesn't mean "solid" typesetting. > > I don't think this is true. First, what you cite refers to so-called > "manual typesetting", not to digital typography. And second, the > monospaced fonts we use define ascent and descent for each glyph, and > we use that and nothing else (unless the font is broken, in which case > we have fallbacks in place, but that's not relevant to the issue at > hand). AFAIU, the ascent and descent of each font glyph in a > monospaced font is set up such that they accommodate both the tallest > glyph and the lowest one. Perhaps that is why you think they have > some "leading", because you probably didn't examine all of the font's > glyphs (we generally use as default fonts that cover many popular > scripts). Okay, we could ask a font designer if this standard glyph size is chosen so as to provide a reasonable default leading (as I was assuming), or merely to fit the ascent and descent of the tallest/deepest glyphs. But I would bet that the answer is both, since designing a font, especially monospaced, involves lots of compromises. Anyway, I think we can agree that setting `line-spacing' to nil is *not* analogous setting \baselineskip=0pt in TeX. That's all I wanted to say there. >> Kerning, tracking and other forms of microtypography are case-by-case >> adjustments, intended to be basically subliminal, so I'd say yes, the >> overall condensedness is pretty much a fixed characteristic of the font. >> And these things are out of reach for Emacs anyway. > > They are not out of reach for us, because the shaping engine(s) we use > know how to apply these features. We just don't use them by default > with most characters, that's all: we don't ask the text-shaping engine > how to render each sequence of characters we need to display, we only > ask it about some relatively rare sequences. The reason for that is > that under the current design of the display engine, calling the > shaping engine is very expensive, as it requires calling out to Lisp, > which then calls back into C. So we only do that when necessary. But > a Lisp program can change that. You are right, I should have said "these things [such as kerning] are not relevant for monospaced fonts".