From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: JD Smith Newsgroups: gmane.emacs.bugs Subject: bug#71039: :box :line-width and :underline :position should accept fractional sizes Date: Sat, 18 May 2024 10:52:03 -0400 Message-ID: <10D600A8-9175-47E7-92DA-B9725AE9D303@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Content-Type: multipart/alternative; boundary="Apple-Mail=_B27B2B2A-C9FD-4A35-A93D-B3F92660FE56" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20529"; mail-complaints-to="usenet@ciao.gmane.io" To: 71039@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat May 18 16:53:22 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1s8LR3-00051F-Nr for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 18 May 2024 16:53:21 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s8LQj-0003BM-Hc; Sat, 18 May 2024 10:53:01 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s8LQh-0003Aq-DE for bug-gnu-emacs@gnu.org; Sat, 18 May 2024 10:52:59 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s8LQh-0007ky-4G for bug-gnu-emacs@gnu.org; Sat, 18 May 2024 10:52:59 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1s8LQk-0005Ba-I9 for bug-gnu-emacs@gnu.org; Sat, 18 May 2024 10:53:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: JD Smith Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 18 May 2024 14:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71039 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.171604395019900 (code B ref -1); Sat, 18 May 2024 14:53:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 18 May 2024 14:52:30 +0000 Original-Received: from localhost ([127.0.0.1]:33883 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s8LQD-0005Au-Sl for submit@debbugs.gnu.org; Sat, 18 May 2024 10:52:30 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:55436) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s8LQC-0005Ao-LV for submit@debbugs.gnu.org; Sat, 18 May 2024 10:52:29 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s8LQ8-0002ya-Sw for bug-gnu-emacs@gnu.org; Sat, 18 May 2024 10:52:24 -0400 Original-Received: from mail-qk1-x730.google.com ([2607:f8b0:4864:20::730]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s8LQ3-0007gD-DZ for bug-gnu-emacs@gnu.org; Sat, 18 May 2024 10:52:23 -0400 Original-Received: by mail-qk1-x730.google.com with SMTP id af79cd13be357-792b8bca915so144335985a.2 for ; Sat, 18 May 2024 07:52:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716043936; x=1716648736; darn=gnu.org; h=to:date:message-id:subject:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=66cpJZWJ3bmtcEqgfRzvlMmRDLw/wfPh1bxg1eUZZGw=; b=XrrctiSYPN/pLYOAo+M99P7t0phj6uBhN9KO+I6yUg+uC+wcfvYR0tR+5eXXOFrAEX 3HnOBj86RASEYzN4mZll2Jyy2aQeQo2pMKeaa+7hxW2WTXwCkGk+jKiILWL3CcqV16h4 BeZet5XYuixLxcaNxjq7krZiBSedDFyBstyIcoPfJFK+s8NnYsLNJlsK+aox0s9n4Q2i vSkv2sJ/Jk0vE76wkfVISih98Px4M3gv989GqJGgMF6J8qWhwx1T89EIP8K6rzC9WhLm 6yHPUIk2YLYuVlmcRyc7h6jrkzNn71Sw13w3/mMaaunpGWTKUiyN57tdRJag1ecwhLbQ +btg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716043936; x=1716648736; h=to:date:message-id:subject:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=66cpJZWJ3bmtcEqgfRzvlMmRDLw/wfPh1bxg1eUZZGw=; b=ZcsKHMs8fG6TPT20r9FfHsgy747TZRK1Co2HzWwR3TvDWoH66brW5BcXEPijWGBg1H Hb/ccbyXcAmz9vLVqWwJFjae6XJRG90Xf3u/EDcm5pd1jNlbHQf44IUUneEPC8wwkyDm UuucIpY/rkldYD4tI+UvW654t2+gWkKv3kM8UwIrewLG/hU30QDPlETq6Uh73fnIHJdS WVPDLAhMU2PCfPuBNAip6R5OUGQmKiQul0z8Wrr2eW0Z1VD9iQfsgXOBpNbVBn9hNW/8 Wp/8BmIFnRDr07m/l9yNn6K1pJkMfFQ4LuYqgRRIX2OipGZOB43qxdRXT7NBXgw6ZHGY Exyw== X-Gm-Message-State: AOJu0YzGYs6bSx6VUEuhqGpJkysqwRyxj8fHRAe63HZhmeRxGMNn4eXk HSuJM4ybQA7Rp0b3BYc5bd0eW8kPlOm/OTXGhj1uoBhmy2E+cIr+dDZi2Q== X-Google-Smtp-Source: AGHT+IEu/2zUbwTAItKmDLJ9q03eDFGNxjnSdUssO7e/Gzud7yu7PSonf49NfZmRjAZzdM11vGfO5g== X-Received: by 2002:ae9:e204:0:b0:790:9dee:5ee5 with SMTP id af79cd13be357-792c75786aamr2523808085a.2.1716043935459; Sat, 18 May 2024 07:52:15 -0700 (PDT) Original-Received: from smtpclient.apple (cm-24-53-187-34.buckeyecom.net. [24.53.187.34]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7931a60e966sm124842885a.39.2024.05.18.07.52.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 18 May 2024 07:52:14 -0700 (PDT) X-Mailer: Apple Mail (2.3774.500.171.1.1) Received-SPF: pass client-ip=2607:f8b0:4864:20::730; envelope-from=jdtsmith@gmail.com; helo=mail-qk1-x730.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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:285341 Archived-At: --Apple-Mail=_B27B2B2A-C9FD-4A35-A93D-B3F92660FE56 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii For modes which layout mostly on fixed character-width grids, it is = convenient to preserve that layout even as the text-scale changes. Most = of the size related attributes associated with display and face = properties accommodate this style well, since they accept floating point = values which adapt to the underlying char size. These include face = height, display height and raise, specified space dimensions, etc. =20 There are, however, two face size attributes which are hard-coded in = pixels: :box :linewidth and :underline :position. It would be very = convenient if these also accepted fractional floating point values. = E.g. a face attribute of: :box (:line-width (0.5 . -0.25))=20 would indicate a box with half a char width outside padding left & = right, and one-quarter char height padding above and below. In addition, :box would be even more powerful, and obviate the use of = SVG styling in many situations, if :box :line-width optionally accepted = a list of four parameters for box dimensions, one for each side: :line-width (left right top bottom) naturally as either pixel or floating point fractions. --Apple-Mail=_B27B2B2A-C9FD-4A35-A93D-B3F92660FE56 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

For modes which layout mostly on = fixed character-width grids, it is convenient to preserve that layout = even as the text-scale changes.  Most of the size related = attributes associated with display and face properties accommodate this = style well, since they accept floating point values which adapt to the = underlying char size.  These include face height, display height = and raise, specified space dimensions, etc. =   

There are, however, two face size = attributes which are hard-coded in pixels: :box :linewidth and = :underline :position.  It would be very convenient if these also = accepted fractional floating point values.  E.g. a face attribute = of:

:box (:line-width (0.5 . = -0.25)) 

would indicate a box = with half a char width outside padding left & right, and one-quarter = char height padding above and below.

In = addition, :box would be even more powerful, and obviate the use of SVG = styling in many situations, if :box :line-width optionally accepted a = list of four parameters for box dimensions, one for each = side:

:line-width (left right top = bottom)

naturally as either pixel = or floating point fractions.

= --Apple-Mail=_B27B2B2A-C9FD-4A35-A93D-B3F92660FE56--