X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Mike <mikeandmore@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 25 Jul 2025 06:16:02 +0000
Resent-Message-ID: <handler.79090.B.175342413525952 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: 79090 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.175342413525952
(code B ref -1); Fri, 25 Jul 2025 06:16:02 +0000
Received: (at submit) by debbugs.gnu.org; 25 Jul 2025 06:15:35 +0000
Received: from localhost ([127.0.0.1]:60581 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1ufBiQ-0006kV-MW
for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 02:15:35 -0400
Received: from lists.gnu.org ([2001:470:142::17]:39640)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <mikeandmore@HIDDEN>)
id 1uf6za-0002q5-V1
for submit <at> debbugs.gnu.org; Thu, 24 Jul 2025 21:13:00 -0400
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 <mikeandmore@HIDDEN>)
id 1uf6zU-00060t-AC
for bug-gnu-emacs@HIDDEN; Thu, 24 Jul 2025 21:12:52 -0400
Received: from mail-yw1-x112f.google.com ([2607:f8b0:4864:20::112f])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from <mikeandmore@HIDDEN>)
id 1uf6zS-0003lO-Dh
for bug-gnu-emacs@HIDDEN; Thu, 24 Jul 2025 21:12:52 -0400
Received: by mail-yw1-x112f.google.com with SMTP id
00721157ae682-719c4aa9b19so16745057b3.0
for <bug-gnu-emacs@HIDDEN>; Thu, 24 Jul 2025 18:12:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1753405968; x=1754010768; darn=gnu.org;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=0ziEmJh53Za4ykWhHqXPWsYsMJWM0cShcb/Acl6rles=;
b=aepbGR3MEnDnLEtOVZxOiqsLrCSvZEulCxJhfH7sABVfjo05wseKcgkA0qEI9CW8a0
LDzrJ8p9gIAW50qvSpi+QfVqlbyHcTSmzHIJyDNJi4On0cdFNvrXDF2lrXBUsMW/lHfm
byvCqiCZGRbsJRWAbdy/joQ1vvb9cCnPDXp6kLTWCoN+zvytabegDtIzLA5D6Zodglkp
CeQg8+VXnZGCR8nitnoDNkJynroVIidK+CwJjxv1pn9AIoBubgjdd2UQH8A2OGyPQ0tL
9ibs6Rr1ehlXuk6Xefz/wSbVphFEvOzQ7TtpyoTDN5FvMgXGRgn85xF3Mi5IUaTlVclq
vSzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1753405968; x=1754010768;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=0ziEmJh53Za4ykWhHqXPWsYsMJWM0cShcb/Acl6rles=;
b=VyiCwLjry4XlSfaeuWKwZzF41VhxaynLXjVQxlwl+Umz6USPwyhPhXuMfPWn8D9tBT
ElAUyorh/U92NL23fL+6sA5WCM1YG+G+VxLajUDNkrvMNdqDDsMF7zgmrlCEwTGUXpIb
3uzS8OAFfZfMKUSYoL19GgWE9O4mWCL8AtML5d3gcrQ+/vZ6rDnRnkEUS65Xtjda7Mv1
trfDKJ7WI6bqmDlu5YI2lSTLmPRmTp894e7es5sp1Hl9U+qlQDImqPiQ0GQw83FH5ptP
In0KN0mMOQhdgo4EkyU5/6AfXGbQKo0FRalzUlag1fNx3sssd82wWPn1SECBjygouNXa
vTbg==
X-Gm-Message-State: AOJu0YxrE49Zg5e/IHVMSIn3hOIIT6FRT2JYxG6uj7CQmpP+YvNl5N9s
GAiXOc4E/+x8UuJSgum3oTRpeMip565gcz/l+Q0S/uM+5NqJEWN3LEEwTXVHXUbs81240pJmlb7
gQciV/C2tNXvF/a+nmnGRbzNkAHq9Aof/THuO
X-Gm-Gg: ASbGncsuRbli2wQfPuRLfsz8aw1wo/Tq2auisOdovqBDvr/2sx7H1mv4X926CImcYLm
I4X73JPFVx393IoKl/9RGJxKBAY9Hn9xSl4yBJ8cdLQ/PXUp8H1C1C1+O8RFwkFMVL76GnZn708
MNedluzK2F8oDuyKsU0fUr8FaKJRnTcTJPDSd+G7YxIR1RtoEXz1ZFTnbtvPtIiKui9mvaIOJXq
rYqAl0xYplfsCdH+UUMySs=
X-Google-Smtp-Source: AGHT+IF5JyzltmK9UcSUfhjv32tdDZ5La5emWzqobNTx4e5PY4fLhWtxRt66lJASLRLqIriL1aAtzcSDRDSkP1YSuBQ=
X-Received: by 2002:a05:690c:3504:b0:719:53fd:79a7 with SMTP id
00721157ae682-719e329a948mr2630167b3.1.1753405968491; Thu, 24 Jul 2025
18:12:48 -0700 (PDT)
MIME-Version: 1.0
From: Mike <mikeandmore@HIDDEN>
Date: Thu, 24 Jul 2025 21:12:36 -0400
X-Gm-Features: Ac12FXxcGCOBIOpSkrIUdDBASUsFtMJWc4CzsjpeOm2xJVKdctx_FdcfAeV9l8w
Message-ID: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
Content-Type: multipart/mixed; boundary="000000000000e65858063ab6a392"
Received-SPF: pass client-ip=2607:f8b0:4864:20::112f;
envelope-from=mikeandmore@HIDDEN; helo=mail-yw1-x112f.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,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Mailman-Approved-At: Fri, 25 Jul 2025 02:15:33 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)
--000000000000e65858063ab6a392
Content-Type: multipart/alternative; boundary="000000000000e65856063ab6a390"
--000000000000e65856063ab6a390
Content-Type: text/plain; charset="UTF-8"
Tags: patch
The ftcr and ftcrhb backends use cairo to render fonts, but cairo does
not respect font specific fontconfig settings. This patch queries
fontconfig with the specific font, and then it translates the fontconfig
settings into cairo font settings.
Both backends would also ignore :hinting and :autohint properties from
the font-spec. This patch fixes that too.
In GNU Emacs 30.1 (build 1, x86_64-redhat-linux-gnu) of 2025-05-25 built
on 02c108121fcd
System Description: Oracle Linux Server 9.4
Configured using:
'configure --without-all --without-x --without-ns
--with-compress-install --with-modules --with-sqlite3=yes
--with-zlib=yes --with-threads=yes --with-modules=yes
--with-file-notification=inotify
--srcdir=/ports/editors/emacs30-nox11/work/emacs-30.1
--localstatedir=/pkg/var --disable-autodepend --prefix=/pkg
--build=x86_64-redhat-linux --host=x86_64-redhat-linux
--infodir=/pkg/info --mandir=/pkg/man --enable-option-checking=yes
'CFLAGS=-O2 -O3 -march=ivybridge -I/usr/include -I/pkg/include'
'CPPFLAGS=-I/usr/include -I/pkg/include'
'LDFLAGS=-L/pkg/gcc14/lib/gcc/x86_64-redhat-linux/14.2.0
-Wl,-R/pkg/gcc14/lib/gcc/x86_64-redhat-linux/14.2.0 -L/pkg/gcc14/lib64
-Wl,-R/pkg/gcc14/lib64 -L/usr/lib64 -Wl,-R/usr/lib64 -L/pkg/lib
-Wl,-R/pkg/lib''
--
Thanks
Mike
--000000000000e65856063ab6a390
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div dir=3D"ltr"><div>Tags: patch</div><div><br></div><div=
>The ftcr and ftcrhb backends use cairo to render fonts, but cairo does<br>=
not respect font specific fontconfig settings. This patch queries<br>fontco=
nfig with the specific font, and then it translates the fontconfig<br>setti=
ngs into cairo font settings.<br><br>Both backends would also ignore :hinti=
ng and :autohint properties from<br>the font-spec. This patch fixes that to=
o.<br><br>In GNU Emacs 30.1 (build 1, x86_64-redhat-linux-gnu) of 2025-05-2=
5 built<br>=C2=A0on 02c108121fcd<br>System Description: Oracle Linux Server=
9.4<br><br>Configured using:<br>=C2=A0'configure --without-all --witho=
ut-x --without-ns<br>=C2=A0--with-compress-install --with-modules --with-sq=
lite3=3Dyes<br>=C2=A0--with-zlib=3Dyes --with-threads=3Dyes --with-modules=
=3Dyes<br>=C2=A0--with-file-notification=3Dinotify<br>=C2=A0--srcdir=3D/por=
ts/editors/emacs30-nox11/work/emacs-30.1<br>=C2=A0--localstatedir=3D/pkg/va=
r --disable-autodepend --prefix=3D/pkg<br>=C2=A0--build=3Dx86_64-redhat-lin=
ux --host=3Dx86_64-redhat-linux<br>=C2=A0--infodir=3D/pkg/info --mandir=3D/=
pkg/man --enable-option-checking=3Dyes<br>=C2=A0'CFLAGS=3D-O2 -O3 -marc=
h=3Divybridge -I/usr/include -I/pkg/include'<br>=C2=A0'CPPFLAGS=3D-=
I/usr/include -I/pkg/include'<br>=C2=A0'LDFLAGS=3D-L/pkg/gcc14/lib/=
gcc/x86_64-redhat-linux/14.2.0<br>=C2=A0-Wl,-R/pkg/gcc14/lib/gcc/x86_64-red=
hat-linux/14.2.0 -L/pkg/gcc14/lib64<br>=C2=A0-Wl,-R/pkg/gcc14/lib64 -L/usr/=
lib64 -Wl,-R/usr/lib64 -L/pkg/lib<br>=C2=A0-Wl,-R/pkg/lib''</div><d=
iv><br></div><span class=3D"gmail_signature_prefix">-- </span><br><div dir=
=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature">Thank=
s<br>Mike</div></div>
</div>
--000000000000e65856063ab6a390--
--000000000000e65858063ab6a392
Content-Type: text/x-patch; charset="US-ASCII"; name="emacs-fc-hinting.patch"
Content-Disposition: attachment; filename="emacs-fc-hinting.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_mdi4mafk0>
X-Attachment-Id: f_mdi4mafk0
ZGlmZiAtdXIgZW1hY3MtMzAuMS5vcmlnL3NyYy9mdGNyZm9udC5jIGVtYWNzLTMwLjEvc3JjL2Z0
Y3Jmb250LmMKLS0tIGVtYWNzLTMwLjEub3JpZy9zcmMvZnRjcmZvbnQuYwkyMDI1LTAyLTE4IDEz
OjMxOjM2LjAwMDAwMDAwMCAtMDUwMAorKysgZW1hY3MtMzAuMS9zcmMvZnRjcmZvbnQuYwkyMDI1
LTA3LTI0IDIwOjUxOjIzLjk4NTQxODAyNCAtMDQwMApAQCAtMTI4LDEyICsxMjgsNDggQEAKICAg
cmV0dXJuIGZ0Zm9udF9tYXRjaDIgKGYsIHNwZWMsIFFmdGNyKTsKIH0KIAorLyogT2xkZXIgRm9u
dGNvbmZpZyB2ZXJzaW9ucyBkb24ndCBoYXZlIHRoZXNlIG1hY3Jvcy4gKi8KKworI2lmbmRlZiBG
Q19ISU5UX1NUWUxFCisjIGRlZmluZSBGQ19ISU5UX1NUWUxFICJoaW50c3R5bGUiCisjZW5kaWYK
KworI2lmbmRlZiBGQ19MQ0RfRklMVEVSCisjZGVmaW5lIEZDX0xDRF9GSUxURVIgImxjZGZpbHRl
ciIKKyNlbmRpZgorCitzdGF0aWMgdm9pZAorZnRjcmZvbnRfaW5pdF9vcHRpb25zKEZjUGF0dGVy
biAqbWF0Y2gsIGNhaXJvX2ZvbnRfb3B0aW9uc190ICpvcHRpb25zKQoreworICBGY0Jvb2wgYiA9
IEZjVHJ1ZTsKKyAgaWYgKEZjUmVzdWx0TWF0Y2ggPT0gRmNQYXR0ZXJuR2V0Qm9vbCAobWF0Y2gs
IEZDX0hJTlRJTkcsIDAsICZiKSkKKyAgICB7CisgICAgICAvLyBoaW50ZnVsbCBieSBkZWZhdWx0
LgorICAgICAgaW50IGhpbnRzdHlsZSA9IDM7CisgICAgICBGY1BhdHRlcm5HZXRJbnRlZ2VyICht
YXRjaCwgRkNfSElOVF9TVFlMRSwgMCwgJmhpbnRzdHlsZSk7CisgICAgICAvLyBDQUlST19ISU5U
X1NUWUxFX05PTkUgc3RhcnRzIGF0IDEuCisgICAgICBjYWlyb19mb250X29wdGlvbnNfc2V0X2hp
bnRfc3R5bGUgKG9wdGlvbnMsIGhpbnRzdHlsZSArIDEpOworICAgIH0KKyAgaW50IHJnYmEgPSAw
OworICBpZiAoRmNSZXN1bHRNYXRjaCA9PSBGY1BhdHRlcm5HZXRCb29sIChtYXRjaCwgRkNfUkdC
QSwgMCwgJnJnYmEpKQorICAgIGNhaXJvX2ZvbnRfb3B0aW9uc19zZXRfc3VicGl4ZWxfb3JkZXIg
KG9wdGlvbnMsIHJnYmEpOworCisgIGlmIChGY1Jlc3VsdE1hdGNoID09IEZjUGF0dGVybkdldEJv
b2wgKG1hdGNoLCBGQ19BTlRJQUxJQVMsIDAsICZiKSkKKyAgICB7CisgICAgICBpbnQgbGNkZmls
dGVyID0gMDsKKyAgICAgIGlmIChGY1Jlc3VsdE1hdGNoID09IEZjUGF0dGVybkdldEludGVnZXIg
KG1hdGNoLCBGQ19MQ0RfRklMVEVSLCAwLCAmbGNkZmlsdGVyKSAmJiBsY2RmaWx0ZXIpCisgICAg
ICAgIGNhaXJvX2ZvbnRfb3B0aW9uc19zZXRfYW50aWFsaWFzIChvcHRpb25zLCBDQUlST19BTlRJ
QUxJQVNfU1VCUElYRUwpOworICAgICAgZWxzZQorICAgICAgICBjYWlyb19mb250X29wdGlvbnNf
c2V0X2FudGlhbGlhcyAob3B0aW9ucywgQ0FJUk9fQU5USUFMSUFTX0RFRkFVTFQpOworICAgIH0K
K30KKwogc3RhdGljIExpc3BfT2JqZWN0CiBmdGNyZm9udF9vcGVuIChzdHJ1Y3QgZnJhbWUgKmYs
IExpc3BfT2JqZWN0IGVudGl0eSwgaW50IHBpeGVsX3NpemUpCiB7CiAgIEZjUmVzdWx0IHJlc3Vs
dDsKICAgTGlzcF9PYmplY3QgdmFsLCBmaWxlbmFtZSwgZm9udF9vYmplY3Q7Ci0gIEZjUGF0dGVy
biAqcGF0LCAqbWF0Y2g7CisgIEZjUGF0dGVybiAqcGF0LCAqc3BhdCwgKm1hdGNoOwogICBzdHJ1
Y3QgZm9udF9pbmZvICpmdGNyZm9udF9pbmZvOwogICBzdHJ1Y3QgZm9udCAqZm9udDsKICAgZG91
YmxlIHNpemUgPSAwOwpAQCAtMTU0LDExICsxOTAsMTUgQEAKICAgYmxvY2tfaW5wdXQgKCk7CiAK
ICAgcGF0ID0gZnRmb250X2VudGl0eV9wYXR0ZXJuIChlbnRpdHksIHBpeGVsX3NpemUpOwotICBG
Y0NvbmZpZ1N1YnN0aXR1dGUgKE5VTEwsIHBhdCwgRmNNYXRjaFBhdHRlcm4pOwotICBGY0RlZmF1
bHRTdWJzdGl0dXRlIChwYXQpOwotICBtYXRjaCA9IEZjRm9udE1hdGNoIChOVUxMLCBwYXQsICZy
ZXN1bHQpOworICBzcGF0ID0gRmNQYXR0ZXJuRHVwbGljYXRlIChwYXQpOworICBGY0NvbmZpZ1N1
YnN0aXR1dGUgKE5VTEwsIHNwYXQsIEZjTWF0Y2hQYXR0ZXJuKTsKKyAgRmNEZWZhdWx0U3Vic3Rp
dHV0ZSAoc3BhdCk7CisgIG1hdGNoID0gRmNGb250TWF0Y2ggKE5VTEwsIHNwYXQsICZyZXN1bHQp
OwogICBmdGZvbnRfZml4X21hdGNoIChwYXQsIG1hdGNoKTsKIAorICBGY1BhdHRlcm5QcmludCAo
bWF0Y2gpOworCisgIEZjUGF0dGVybkRlc3Ryb3kgKHNwYXQpOwogICBGY1BhdHRlcm5EZXN0cm95
IChwYXQpOwogICBmb250X2ZhY2UgPSBjYWlyb19mdF9mb250X2ZhY2VfY3JlYXRlX2Zvcl9wYXR0
ZXJuIChtYXRjaCk7CiAgIGlmICghZm9udF9mYWNlCkBAIC0xODEsNiArMjIxLDkgQEAKICAgaWYg
KGJlX3VzZV9zdWJwaXhlbF9hbnRpYWxpYXNpbmcgKCkpCiAgICAgY2Fpcm9fZm9udF9vcHRpb25z
X3NldF9hbnRpYWxpYXMgKG9wdGlvbnMsIENBSVJPX0FOVElBTElBU19TVUJQSVhFTCk7CiAjZW5k
aWYKKworICBmdGNyZm9udF9pbml0X29wdGlvbnMgKG1hdGNoLCBvcHRpb25zKTsKKwogICBjYWly
b19zY2FsZWRfZm9udF90ICpzY2FsZWRfZm9udAogICAgID0gY2Fpcm9fc2NhbGVkX2ZvbnRfY3Jl
YXRlIChmb250X2ZhY2UsICZmb250X21hdHJpeCwgJmN0bSwgb3B0aW9ucyk7CiAgIGNhaXJvX2Zv
bnRfZmFjZV9kZXN0cm95IChmb250X2ZhY2UpOwpkaWZmIC11ciBlbWFjcy0zMC4xLm9yaWcvc3Jj
L2Z0Zm9udC5jIGVtYWNzLTMwLjEvc3JjL2Z0Zm9udC5jCi0tLSBlbWFjcy0zMC4xLm9yaWcvc3Jj
L2Z0Zm9udC5jCTIwMjUtMDItMTcgMTc6Mzg6NTguMDAwMDAwMDAwIC0wNTAwCisrKyBlbWFjcy0z
MC4xL3NyYy9mdGZvbnQuYwkyMDI1LTA3LTI0IDIwOjQ2OjIwLjk0MjMxNzA5OCAtMDQwMApAQCAt
MTIxMywxNyArMTIxMywxNiBAQAogICBpbnQgaTsKICAgZG91YmxlIGRwaTsKIAotICBGY1BhdHRl
cm5HZXRCb29sIChwYXQsIEZDX0FOVElBTElBUywgMCwgJmIpOwotICBpZiAoISBiKQorICBpZiAo
RmNSZXN1bHRNYXRjaCA9PSBGY1BhdHRlcm5HZXRCb29sIChwYXQsIEZDX0FOVElBTElBUywgMCwg
JmIpKQogICAgIHsKICAgICAgIEZjUGF0dGVybkRlbCAobWF0Y2gsIEZDX0FOVElBTElBUyk7Ci0g
ICAgICBGY1BhdHRlcm5BZGRCb29sIChtYXRjaCwgRkNfQU5USUFMSUFTLCBGY0ZhbHNlKTsKKyAg
ICAgIEZjUGF0dGVybkFkZEJvb2wgKG1hdGNoLCBGQ19BTlRJQUxJQVMsIGIpOwogICAgIH0KLSAg
RmNQYXR0ZXJuR2V0Qm9vbCAocGF0LCBGQ19ISU5USU5HLCAwLCAmYik7Ci0gIGlmICghIGIpCisK
KyAgaWYgKEZjUmVzdWx0TWF0Y2ggPT0gRmNQYXR0ZXJuR2V0Qm9vbCAocGF0LCBGQ19ISU5USU5H
LCAwLCAmYikpCiAgICAgewogICAgICAgRmNQYXR0ZXJuRGVsIChtYXRjaCwgRkNfSElOVElORyk7
Ci0gICAgICBGY1BhdHRlcm5BZGRCb29sIChtYXRjaCwgRkNfSElOVElORywgRmNGYWxzZSk7Cisg
ICAgICBGY1BhdHRlcm5BZGRCb29sIChtYXRjaCwgRkNfSElOVElORywgYik7CiAgICAgfQogI2lm
bmRlZiBGQ19ISU5UX1NUWUxFCiAjIGRlZmluZSBGQ19ISU5UX1NUWUxFICJoaW50c3R5bGUiCg==
--000000000000e65858063ab6a392--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Mike <mikeandmore@HIDDEN> Subject: bug#79090: Acknowledgement (Respects Fontconfig settings for ftcr and ftcrhb font backends) Message-ID: <handler.79090.B.175342413525952.ack <at> debbugs.gnu.org> References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN> X-Gnu-PR-Message: ack 79090 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 79090 <at> debbugs.gnu.org Date: Fri, 25 Jul 2025 06:16:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 79090 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 79090: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79090 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 25 Jul 2025 07:35:02 +0000
Resent-Message-ID: <handler.79090.B79090.175342886014073 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Mike <mikeandmore@HIDDEN>, Po Lu <luangruo@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175342886014073
(code B ref 79090); Fri, 25 Jul 2025 07:35:02 +0000
Received: (at 79090) by debbugs.gnu.org; 25 Jul 2025 07:34:20 +0000
Received: from localhost ([127.0.0.1]:60890 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1ufCwe-0003eu-Em
for submit <at> debbugs.gnu.org; Fri, 25 Jul 2025 03:34:20 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:42168)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1ufCwb-0003eY-6V
for 79090 <at> debbugs.gnu.org; Fri, 25 Jul 2025 03:34:19 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1ufCwU-0001lx-N6; Fri, 25 Jul 2025 03:34:11 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=tsaSnfi+2Tz5mAMN0yafNPCF96t8oWuP33rHh/7Wr/U=; b=fkEPm2wN+72o
HuQ/5sPvTzOyR4E9JGb7BSCn90WG1s05noRFGUzL2YbQWq/8LhqLl/L9aYKd366OEw0ahLtJ/2jFB
3xD64W7u0tfoo6pQ3ukpjZSbri+MJRU1QY791sKy1GLL4Wq9/n2WQ2+EhJRYJ7nKBDp6cCW8qAWvV
SoYInLUrju3dngWZkM0S2MZzqctRaLSOmfWMaxMioWgFZJWKCcuu5E3WjrHYexK9Gg+y11xM/vT+v
RH7Xp8wIygMSUyQnePYNxmBBytG7VliXRmMVhCD54dz3lfzsMuLmJJjDqtcf5YpnDuGeEYPUN+LNW
tRJ8gcmWIcp2M3lc2FEaHw==;
Date: Fri, 25 Jul 2025 10:34:03 +0300
Message-Id: <86y0sc4tck.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
(message from Mike on Thu, 24 Jul 2025 21:12:36 -0400)
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
> From: Mike <mikeandmore@HIDDEN>
> Date: Thu, 24 Jul 2025 21:12:36 -0400
>
> The ftcr and ftcrhb backends use cairo to render fonts, but cairo does
> not respect font specific fontconfig settings. This patch queries
> fontconfig with the specific font, and then it translates the fontconfig
> settings into cairo font settings.
>
> Both backends would also ignore :hinting and :autohint properties from
> the font-spec. This patch fixes that too.
Thanks.
I don't use Fontconfig and Cairo, so someone else who does will need
to review the patch and try it. Would you please post a procedure to
test this patch once applied?
Also, I wonder if this will have any user-level effects, and if so,
should we have a NEWS entry about that?
And finally, to accept changes of this size, we will need you to sign
a copyright-assignment agreement with FSF. If you are willing to do
that, I will send you the form to fill and the instructions to go with
it.
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Mike <mikeandmore@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 30 Jul 2025 23:31:02 +0000
Resent-Message-ID: <handler.79090.B79090.175391823819099 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: Po Lu <luangruo@HIDDEN>, 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175391823819099
(code B ref 79090); Wed, 30 Jul 2025 23:31:02 +0000
Received: (at 79090) by debbugs.gnu.org; 30 Jul 2025 23:30:38 +0000
Received: from localhost ([127.0.0.1]:43557 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1uhGFp-0004xy-IN
for submit <at> debbugs.gnu.org; Wed, 30 Jul 2025 19:30:38 -0400
Received: from mail-yw1-x1132.google.com ([2607:f8b0:4864:20::1132]:47170)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <mikeandmore@HIDDEN>)
id 1uhGFn-0004xZ-8C
for 79090 <at> debbugs.gnu.org; Wed, 30 Jul 2025 19:30:36 -0400
Received: by mail-yw1-x1132.google.com with SMTP id
00721157ae682-71b4677044bso4004687b3.2
for <79090 <at> debbugs.gnu.org>; Wed, 30 Jul 2025 16:30:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1753918229; x=1754523029; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=qiGJKm+9FyJA1uLETuoeUJM+54IM+8maTjwb23MI/2k=;
b=IpO2/+gCiLneQkS1DkE63l+i34dfI2xPLhrTV9H0sfQrfpqfy5ueHf+3+PM+5oddMq
LiJrkmMkLN2j8NQ5phq3wSkGM8qLknn8qgRVmtrv+f0nQMGGQai4DXrYE5+NzpkV/zDX
oMTn4gxs823RfGKX3apst2ENDKZO+JtufJrbsDuaYNviGdVp3BebXhkYWHP6frYdMDBS
z30McAJOnnR8xlYPlvL9HslGjRv1d48JbczuQMWOtEQTavPYIIr3hkpcR1n4Edx3tVbc
UYZHD5kWucJVYwkGxVAWUik0UHVVyr02/Z5TVGlUwsW2JEvB5uQ3wT6uFqT0YdFSSY1a
Hz8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1753918229; x=1754523029;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=qiGJKm+9FyJA1uLETuoeUJM+54IM+8maTjwb23MI/2k=;
b=D0t2Gqnk4q6ZXFi92WR2Lq6mjWO0MZyxb0Io7wnKTChLaoG+BXgeQM8OrkHfTLLbzJ
EjDVMNsFhJQSH9iqAkpMvsjlVRn4oa6nbSpA7MIO+XyelNxnKLGmtkSf6loieFKL4hbo
qt/+qYNaxByZwu8mPMXT3hmVeLe6KuYDL3A9v73eA67PAUN8VrrJFVrzY4F5rXu92gAx
vh8gMkj60pNPMWl0pxZHJM8CCqgzG/aXse8h66oFgOWXbRyso9K7weoQO/TCiaYy69Tu
1khR8hdWVhUqPH5+qNSY5VlPZmqGAyM/2c1wG2Pk8/T/VRRYMOe0GnDrZfNB81dpz2jl
o/sw==
X-Forwarded-Encrypted: i=1;
AJvYcCUuEDWbC01QAbwQwcg13KNz8hOPKw7KVUziX+HlJVAA9DUwro7HLwErmIvGPoulsMOiVGxdMg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwXUt3IMTkksS6LFEdq7xJOd1h8dk5snWW7UMn8sho35eOOio5d
l9qaZe88ghdwVSVKxgUlLO634SwQGxXNDHcbWO6dFCCLDptVH0qhmYa9JVxEJcLA3zOpaowsuHQ
8EYV3k4ThuOiVRzdRcIrSspafyanNms0=
X-Gm-Gg: ASbGncuQVFrZmAlC5DtCepUr/BFWjoHGEzt5Q6G5+TqXuQEJGWqOXgrSKrlpX+7lW4q
ividnVjdVilRpwabii7SAVbVnhz1PUR2hj+OCawrgYuE21MTlExWQwkGJhOddXRQHxRL+nxaTF7
FSgIQPIq4EsbVT68vaR9nrB/OOnRxVsiKhQ4v+7xrmkJ6QmVHaxWQmYx29MlmLwssZ8IvkzwVnq
uuSh9EM18zywXMtxFXXAn8=
X-Google-Smtp-Source: AGHT+IHz3olwdREpCEKFJEkmSJq0o3ydq36yqtiEr/ljHVeLWwAhR+JQ4vzaUfel6MOXeyB7yNkurqQzDbD//1Uu5jQ=
X-Received: by 2002:a05:690c:25c1:b0:71a:906:2874 with SMTP id
00721157ae682-71a465a0958mr77899917b3.17.1753918228770; Wed, 30 Jul 2025
16:30:28 -0700 (PDT)
MIME-Version: 1.0
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<86y0sc4tck.fsf@HIDDEN>
In-Reply-To: <86y0sc4tck.fsf@HIDDEN>
From: Mike <mikeandmore@HIDDEN>
Date: Wed, 30 Jul 2025 19:30:17 -0400
X-Gm-Features: Ac12FXxGUotwXIAFgvSEABMMn0CNfC0KJORjmlTWZm6YDvP_SeSZfnFlSUAgro8
Message-ID: <CAMyCBXe_QmLqOcHzw6FxvCj6UcpzfmzLU=M9po02Bof9ubRuiQ@HIDDEN>
Content-Type: multipart/mixed; boundary="000000000000fe1bba063b2de8cc"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--000000000000fe1bba063b2de8cc
Content-Type: multipart/alternative; boundary="000000000000fe1bb9063b2de8ca"
--000000000000fe1bb9063b2de8ca
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi
Here's how I tested this.
1. I have the following base settings in fontconfig. They disable hinting
and autohint, so that Freetype will preserve the font shapes when rendering
web fonts.
<match target=3D"pattern">
<edit name=3D"antialias" mode=3D"assign"><bool>true</bool></edit>
<edit name=3D"globaladvance" mode=3D"assign"><bool>true</bool></edit>
<edit name=3D"embeddedbitmap" mode=3D"assign"><bool>false</bool></edit>
<edit name=3D"hinting" mode=3D"assign"><bool>false</bool></edit>
<edit name=3D"hintstyle" mode=3D"assign"><const>hintnone</const></edit>
<edit name=3D"rgba" mode=3D"assign"><const>rgb</const></edit>
<edit name=3D"autohint" mode=3D"assign"><bool>false</bool></edit>
<edit name=3D"lcdfilter" mode=3D"assign"><const>lcddefault</const></edi=
t>
</match>
2. Enable hinting for specific local fonts so that I can use them inside
Emacs with a smaller font size.
<match target=3D"font">
<test name=3D"family"><string>Hack</string></test>
<edit name=3D"hinting" mode=3D"assign"><bool>true</bool></edit>
<edit name=3D"hintstyle" mode=3D"assign"><const>hintfull</const></edit>
</match>
For this step, you can also enable hinting in font-spec under Emacs.
Here are the screenshots. They are taken on a HiDPI display, and I'm going
to retake them tomorrow at work where we have low DPI displays.
Thanks
Mike
On Fri, Jul 25, 2025 at 3:34=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote:
> > From: Mike <mikeandmore@HIDDEN>
> > Date: Thu, 24 Jul 2025 21:12:36 -0400
> >
> > The ftcr and ftcrhb backends use cairo to render fonts, but cairo does
> > not respect font specific fontconfig settings. This patch queries
> > fontconfig with the specific font, and then it translates the fontconfi=
g
> > settings into cairo font settings.
> >
> > Both backends would also ignore :hinting and :autohint properties from
> > the font-spec. This patch fixes that too.
>
> Thanks.
>
> I don't use Fontconfig and Cairo, so someone else who does will need
> to review the patch and try it. Would you please post a procedure to
> test this patch once applied?
>
> Also, I wonder if this will have any user-level effects, and if so,
> should we have a NEWS entry about that?
>
> And finally, to accept changes of this size, we will need you to sign
> a copyright-assignment agreement with FSF. If you are willing to do
> that, I will send you the form to fill and the instructions to go with
> it.
>
--=20
Thanks
Mike
--000000000000fe1bb9063b2de8ca
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hi<div><br></div><div>Here's how I tested this.</div><=
div><br></div><div>1. I have the following base settings in fontconfig. The=
y disable=C2=A0hinting and autohint, so that Freetype will preserve the fon=
t shapes when rendering web fonts.</div><div><br></div><div>=C2=A0 <matc=
h target=3D"pattern"><br>=C2=A0 =C2=A0 <edit name=3D"a=
ntialias" mode=3D"assign"><bool>true</bool>&l=
t;/edit><br>=C2=A0 =C2=A0 <edit name=3D"globaladvance" mode=
=3D"assign"><bool>true</bool></edit><br>=C2=
=A0 =C2=A0 <edit name=3D"embeddedbitmap" mode=3D"assign&q=
uot;><bool>false</bool></edit><br>=C2=A0 =C2=A0 <ed=
it name=3D"hinting" mode=3D"assign"><bool>fals=
e</bool></edit><br>=C2=A0 =C2=A0 <edit name=3D"hintstyl=
e" mode=3D"assign"><const>hintnone</const><=
;/edit><br>=C2=A0 =C2=A0 <edit name=3D"rgba" mode=3D"a=
ssign"><const>rgb</const></edit><br>=C2=A0 =C2=A0=
<edit name=3D"autohint" mode=3D"assign"><bool=
>false</bool></edit><br>=C2=A0 =C2=A0 <edit name=3D"=
lcdfilter" mode=3D"assign"><const>lcddefault</co=
nst></edit><br>=C2=A0 </match><br></div><div><br></div><div>=
2. Enable hinting for specific local fonts so that I can use them inside Em=
acs with a smaller font size.</div><div><br></div><div>=C2=A0 <match tar=
get=3D"font"><br>=C2=A0 =C2=A0 <test name=3D"family&qu=
ot;><string>Hack</string></test><br>=C2=A0 =C2=A0 <=
edit name=3D"hinting" mode=3D"assign"><bool>tr=
ue</bool></edit><br>=C2=A0 =C2=A0 <edit name=3D"hintsty=
le" mode=3D"assign"><const>hintfull</const>&l=
t;/edit><br>=C2=A0 </match><br></div><div><br></div><div>For this =
step, you can also enable hinting in font-spec under Emacs.=C2=A0</div><div=
><br></div><div>Here are the screenshots. They are taken on a HiDPI display=
, and I'm going to retake them tomorrow at work where we have low DPI d=
isplays.</div><div><br></div><div>Thanks</div><div>Mike</div><div><br></div=
></div><br><div class=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr=
" class=3D"gmail_attr">On Fri, Jul 25, 2025 at 3:34=E2=80=AFAM Eli Zaretski=
i <<a href=3D"mailto:eliz@HIDDEN">eliz@HIDDEN</a>> wrote:<br></div>=
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">> From: Mike <<a hr=
ef=3D"mailto:mikeandmore@HIDDEN" target=3D"_blank">mikeandmore@HIDDEN=
</a>><br>
> Date: Thu, 24 Jul 2025 21:12:36 -0400<br>
> <br>
> The ftcr and ftcrhb backends use cairo to render fonts, but cairo does=
<br>
> not respect font specific fontconfig settings. This patch queries<br>
> fontconfig with the specific font, and then it translates the fontconf=
ig<br>
> settings into cairo font settings.<br>
> <br>
> Both backends would also ignore :hinting and :autohint properties from=
<br>
> the font-spec. This patch fixes that too.<br>
<br>
Thanks.<br>
<br>
I don't use Fontconfig and Cairo, so someone else who does will need<br=
>
to review the patch and try it.=C2=A0 Would you please post a procedure to<=
br>
test this patch once applied?<br>
<br>
Also, I wonder if this will have any user-level effects, and if so,<br>
should we have a NEWS entry about that?<br>
<br>
And finally, to accept changes of this size, we will need you to sign<br>
a copyright-assignment agreement with FSF.=C2=A0 If you are willing to do<b=
r>
that, I will send you the form to fill and the instructions to go with<br>
it.<br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature">Thanks<br>Mike</div>
--000000000000fe1bb9063b2de8ca--
--000000000000fe1bba063b2de8cc
Content-Type: image/png; name="screenshot-20250730-183722.png"
Content-Disposition: attachment; filename="screenshot-20250730-183722.png"
Content-Transfer-Encoding: base64
Content-ID: <f_mdqldhee0>
X-Attachment-Id: f_mdqldhee0
iVBORw0KGgoAAAANSUhEUgAAAfoAAAHeCAIAAAD8Sl4+AAA0b0lEQVR42u3dd3xUVf7/8c+dnt5I
oyeE3pIgTSyIiooiKqu7tl3XguhaUFfXdbGx6qrrKmBD5Cf2uquL+lVZG1KUngAGAoTQSUjvZerv
jwDCzE1yMyQInNfz4R/kOnPuOeeeezLzzuQTbduTH0sHu/OjmbMunyYAgADHbIc0MdcAcNK786OZ
lqZ/5Sxb3dEnOwanAIATVIfukHP3LRURrSnMyVm2uulrAMDJZErn05q2d8vhR6tCq5kaADhpzL/w
wUPvGyx+/29/cSUTBAAngcT4qMO/5Ee1AKCEDt3uLV0HZ4wdkzFu3KkXjRs2dkzG2KGJDnPiqDN6
RAQ8NDp10OBEcxvatiaN1msnkD0x7YwzMseO6ZVkbvZIcNrc5/Y8u6NHZs+EDnnWkY9p5noF15/g
ZqzDZuOozthnzJAU+6/Qcnusn5iM8QO7mY/Z1Wn1lkjIHJNx7rkjBka3w3X/1UZxIrB0ZOPuPRuy
9oiE98oYYd6yaEtt0/ah+9CK/J8rOqQPWnyXmNL1q3IqWjgSpKD63F5nt0VGO1wd8qyOa7njrnJw
fT4RtdvqPYZXpzWNRWuXFXfNHB7VHtf9VxvFiaBN270pvt/gvp7ty7ZW+Zo9YmTFOroNHBgXFyL7
837aXOEWLbF/+sDkkPq8VT/tarp2WnjXPhkpoSafppXvXJpT6tbvTmjK0MHRkVZn4bY1Wytd5sRR
Yxw5i3dWiy111ABtXfY2U/KI9KSoUKspPCPeU5W7fFuhI+CIRwtNTBnSK9Kmiat059rc8kaR6L7D
erv3ehOSI23mko1rNhQHDi6oPocFnt0U0S0tvWeY2eet2pmXvbvWa+DspvjUM/rEOGzWxDEZfUR/
FM7QzqdmODYtzy/zRQwcndKQvX57aOCzpPWWda5XaMqwPj1DNJ/mq9uzbc32al986y0HOWPmxFGj
Isor7Am/nN1/xsTY2QPO5T8KrXP/sdH7vtlYKSJx/U/pVZW9cq8nYG2YY3r1HdrZ5qmpbjBLidEV
738uj864DLTcTutH955s/erYksaMiKyocXSKsDTsy1uzrUrvrvRfhx6dWbX5z4budfe7l+uNrLrA
UQTMj87Ms903syasdkeox6yJ+Jo9YkCIw7l9/ZJNkUPP7JKYV7HX49u/KavOnTnol0eE90yz7FiS
tduj2ewWb/PtNKzOXlwb0u/UfikFa7fUBzygtmDlsqIew9MduVmbq5s5Yk8YmurduCK70mPunJ7e
J3bNhjIR0RLirUtWZlV5rTaL7siC6rPe2Qf1ks1Ls4okOv20Xt2L1+9oaP3s3uL8RcWRg8d1Ll2W
u0+aG8W+7D2DhvWOyvH1jNq7ZWOt+GoDnmWkZXPg9WosyNmwvcEjWlj/01K77d2wo7j1loOcMRGJ
CPNkHXZ2S8CMGTp74LkCRlFUUt07LkYqyyU8Kb6+IM8t9kT/WW1MHtK5LmvZxqqQrqefHmZ4xQec
yxMwLoeBlttp/QR/dSLCXNnZP9SF9j+1T8/CrLzagGYC12HgrIrPfzacQc2hznUPGEXg/LgCZt7D
dq/Ps2/din2tHDGgobK4zidSX1NvddhE6nUeUV7hSBvS01ZUuX9/ubOFdmp8InVFZebeUWa9dgx8
B4uOjg0NzxgVIyKaxVQTYhVxiUhlYVGVR0RcTqMZgbE+++9l4dGVZcVuEakoLO+XHCk7GiSIs+uO
onbn1t0jMkZouxevqPfJUfC/XlpY517DkkOtIlaHabddxBlku0av8uFnD9OfsbafK2AU1WX7arsn
R0m5Ly6xvnSLS7RE/1k1OSIcZQWVXpHa8uL6WOOrzP9cdf7jMkUF1XI7rR+jV6e+oqjGJ1JbVGZN
jdSk1tf6Oizzn1Wd2XAGNYfOoOan1Mj+w3bfjry+phcLPtG0QwePWDmuveuyy6OjExK7jE6JWLF0
V5V+Q74jl5tPRDQREc1kMvxuQxNPUf6iDeV+h10uA2/ygumzIYbO3uoozI4Im9cjjhCL1B7NW1a/
6xXVNT2hbsXyzTUeW+qoITatLU0FMWO6q6XtM+p/Lp1ReAoLG9ISw/f4YusLf3aJaAGzakqWNr2P
PUB3xvzG5Quq5fZaP8FcHb239Hrr0G9Wja2fgHvZ+KprdRbbZ0WdkNr0yRwtNm3QmP6x1paOBKnR
6QxxHPo4giXEIXXlpTu2FpTZHCHNPccRnRihiRaaEOspr/SIx9lgCQk3i9ii4sINr/Dyyqq4pC4O
TUTMIRGR9g7us5/qmsqo2ASLiCU6KaauvA3fIjxut81ma2EU5vj+vcJ3r1+60zG4f4xV71lGWtZh
MZudDQ0eMYXFd47STJrxljtuxlo9e8C59Ebh2l/SkNC1d4J7336X7qx6K6sbYmOiTKKFxcT/0mMt
ptegU/tEmds2Y0duQfotd9z6CerqhEQnhmtiCkuIdVVUeQ3eTX6z2sxs+JxOcTgObkeB97LhVXfE
KIzOjxadOmBkavhJv/u37dW9xREamxwXvamsuPkjwXEW7Ck6pe+407yFm7I2ljq6Dunb3eb1irdy
69ZmW66pt/Ueela4qX5f3poaEancsaPbsDFDu5eX1Rpf9437szaFpA/L6GPWTJ6aLVmbqzq0z/5n
L9qwLSp9dOYA8Vblb93VYHzC6vbu9AwbndnTXZm7fFthwCjq41MHhRYs/7mhXvLykwYNTly3dr/b
/1keAy0H/v+ygi09+p55RneTr664VEJDTVLpNdZyx81Yq2cPOJfuKFyl+xrThpi2/+xsZm3UFazf
2zdzTLq7rrq+5pfWrSGhcXEx4Vsq9X9HMfBcNYGzrt9yh62fqIGnD+8nIiINezYtyasxdHXqGkP6
Dj0rzFS/L291reG7yW9W9dePlOza02toxthetflrcnc1BNzLhlfdkaMImB/978maLSQ03GfV2vEd
1nHpiJo5VaHVrfxWrRY5eFhU/urdtS0cAVSjRQ8Z6sjNLnSexGO0JY0ZaVu3ZFfNSTzGk05ifFRT
EYWmmjltCXM0e9KArtruwtoWjgDKcXQZlNS4s/hk3utxUmhLmOPz1uzcsr/G3dIRQDmu4tzNe10n
dwwg4ixctoRrfWJrU3bvqqlp9QigGo9Tjd/oxYmOEmkAoIRjXiLtWA+wA4tnBRarOqI8U/CFnwwx
Ugoq4DHBFTILcg5bacdo8TURa/zIU409siPEpV1wXt/EdlqNR11Yrb3Wc8eV2AuySFk7rLrjoGzi
ce6Yl0g71jqueJZOsaojyjMFX/jJECOloAIeE1whsyDnsL3aiUrpFlOZ/2v95R2Lw2YqLz9u/gpE
e63n464QXnutlqDu3A4sPHdcOfYl0nSKOul0KzJp8IDkKKumuUrWrdhV5gss/CQB5asMFVEKLIgW
ILT1Ek46xaoCyzPprDMDZw+YCr3SXQbKjfn3xxRUITMDz4oYdGaXksW5hU0rQIvNPDNmx6J8a6vt
SGDxNf0JiIkObSgNnCqTI2JM/7CdWYWFib3+Mblvf6uvrnDr9P/k5brtV00Zl7mnsntqdETNzr+9
l7O2UcwxXf96yYDhYSatbv+zH2UtqrZM/uO5mbuKO/dJTJG9D7yW/WNI4qTE+u+3VPmv5NhYx+5t
+5v/RHs7lT8LXBsB7XiNredfscSeTqk1QyXJjKy6479s4sm23bdHiTT9ok5+5wnvk57csG59VqXH
FBpy8L3vkYWfAstXlRkooqRfEM1PY+slnAKLVekUmdIZu4Gz+3PrFJkSAwWt/PvjDaqQmYFn1ZZX
h0aHS5EzLEKrq7SER1ZXV4rP02o7OsXX9Cdgx8qlOw4/YE7s0e03w1MvSPKty86ZKY5LJw70ffvl
hM1y2uTzHzll7++We0Wi+zb8eOkL1WnnnffPUbsm/uCafOmAxi+/nVTgiRg05j9jE374rEwkqp9r
6RUvrx1x2cTr+m34Mc8b1T/j7fMtW37O/2D1rlWVBztTtGFtUUvXp53KnwWujcqAdoyu51+txJ7+
XdB6STIjq+74L5t4sm337VEiLcJAiStHdLynZHWlR0S8dfWHLtnhhZ8Cy1eJ+FototRcQTS/R7VT
CbDgzh643QUWmQoUVIG29uGtqPB0jTLHRPTPlK3fVYZ5K4qNFhlse7GquJRnr+6XtGfXByuX/2ZX
XYOISNKQzmXfb3GJyNJNJc8PjNGWl4rULttc6RbJ3VIUd2qs1eQZ3SN86OXjzxQRkzmsJCxaykRq
V+VVe0S2FdUlRNiltvjN//7wpiUkfWDKb64479Hazbe/u22bkavaLuXPdNZGZevz014F/o5tib0g
WzkByyae2Nv9saJJQPkzEb/CT4HFmKJ6tl5EqZmCaEdotxJgQZ1dh3/pLr1zNVPQKrjbtI3Pqq2s
CU2Mj7NUFPmiukQ6KorrjbbT9mJVdVUr86sv6dZpZK/aPZW711R6Wu29pokmmsm999HZK344YuF7
nR4REZ/PZzpQg8Wc2DlhVGp8P3P18vxKY5epvcqfBa4Ns4H5OZoCf622E3SJPV9QV7mVGTpByiYe
3455iTQjRYvqK0vM8T2jzSKi2e12vTWiU4zJQBElQwXRDBS0as6RRabEr/BTM2dvrcBWYJEpnXPp
lxsL6E8QhcwMPKuiuj62c0zj/h2NYb06OSsqj+rsLasvff/zpb97deWH5WGXXz7+82vT0qRiw77Y
cX2tItbTB8Rv3t10k4ad1i/KIqZ+fRJK95Q5vSU/FSRemR5iFhFrWHqS3ufDOqXOvmP8cyMj9q9d
dfWcJTOWl5QZ6lA7lT8zXKqv7es5yHaCLrEXeN2Du3f8znUclk088QqrHfMSaUaKOvmqN2cXDhkw
dKzZJ56y9St26vxIM7AYk5EiSkYKojVTwsmII8szifgXftI/eysFtiSgyJTOufTLjQX0J4hCZgae
5akuF5ujtKbS57Qnucvdxto5ilXrrs/OzsnOzgmPDjVLw8ef5YyYfO5X50tD4cb7V9eL2EVq9kYP
/XhahL1y5wPvVovIR/9em3LZmZ+PNdvNnvXfL51WGPBCrabwqbnb9za09f1Qe5U/C1yZ+i8l276e
JZh2jqLE3pHXvcJoh1pbdcdh2cQTr7AaJdKOh4ugQIGtY8l+1ZSz4z/5YlYxUwG1USLteEOBLQDH
AiXSfnVqFNg6lhrfnfsFswD4o0Tar44CWwCOBUqkAYASLHd+NJNZAICTVdPPaUXEMuvyaU3/Yt8H
gJPPoU3+QHafs2w1kwIAJ5+gPogJADhhsd0DgBLY7gFACWz3AKAEtnsAUALbPQAoge0eAJTAdg8A
SjBaIu3h//n/MZiXrg5h+gDgV1dcbOiPO/DqHgCU0Lbtvu7bhrc/9rbxFJ0nPHzjiNYeFDvmrpde
e/WVObePtnf0kAP7Y6iHfX775O1jDr6hCb/gn6/9sWc7jV1nNib969lJsYGtXT1n5iWx7TeHcec+
MGfOuwveu7l/O/T5iPnRb9nY2BvTXi7JmFuaemob/gSAY0JFz1b7HHX2Q09OTj7qVRfk/HScoGZM
+tQOvKPx4B9I9iY8UJr+XtHwqW2sxW0e0f9fk0K7TMy8f4xZROSUfu9P7dT0v4ZPGXPvaIPbS8R1
/xp4urXFlo3wJTxZ0iOl5ZEaXj8GnnVMV4uR/qzLzj70n+4D2lTv3rviY8l4pq1vCGJ7DezcWlV8
S+b44eufuWrOxmNxdwT0x0gPZcsH929ph3N1nLbPYenXT0z97pxH3+7VHn0+Yn70WzZCy6yPWRe1
ao61Tc+ypbkcrfW5x6WTTV/eU3DUq+5YXtOOmzHZEpbzy/UyFT0RV3xOxSlpx9G42s0RIzW8fgw8
65iulrb2Z1129tD0dP89og0N5Llz4ixjDkvsu5//1/sm97R6zbLxtbtm/Vgn5qQxU6ZdOTjSolVl
zX/6lZVVI2558fpRnSKjRs6Zc7XkvH7n8z8F/pXxbhf//W8XpSVHW7rNyXA2PabHJTP+clGyxae5
9301+x//zm0QCe114e23Xdwr3GKq+eG5P7+Z4/E/V5neHe7XjjugP6uG6vSwz43zr6z/t2vkxNSo
kHUv/PH5VTLylpemntWt5M2r7v384N/ytfaYdP+/+qZFVS2Z/dgb62tCxj/5Ypc518/fIbGTZz5m
+setn/QIbNlIn0VEPA3VVXLoDz+H9L/ygbvP7tSwK7fEJutEJGCey4zMYUAPP9rvf16LkesVMv7J
5wbmbIwfkd5Nfnz2L/Oy6sSkMz/Gtqr06ox7fTuujyxrFBF38mOVSb08Fqs7PVOrej02/0fNlFKf
dk9dmF0820O3PRNS6/QlPFkWmWO1jXCFiD3vL+GVzsaUl2piO3mtI0vTr5GmZ+mdqvfZY0uWvV/f
wqqz9rzgnnsuS7X7GrZ/OvNfn+c7A0bqNDI/Yup+/l+OuC+iLnr26YGbdyanp4aVff/c4+9sDLxT
ynRWeHAzFnpJRe+JHpNPvPtC8p8IrY6rHTLD6fJ5zJvsnn6N1u+j1r9r1UZWD72lIaQ4fPW9Ifqv
522NvV9rLL0usswtklKTMc208c5QnaH6XO7qRp/H46pt9s+xhZ5/R99z4zWf5tu/JG/2wupGkZDu
yddfndwzVDPVlcx9aufmg3mBJTn5vpujf3g+d1mpz0DLAbMhImI/p2rAkINro04CRmpo/bT+rDqR
5IbeD9aEW82VuRJdG7428NutobtJZxRa9/ref6kLtYimWXdOiyzTGYWE/ra8z9leETEnuBvnxf88
X0REDt/fm17jjz/3zCC3+5ocj7mPxXbYkQuvjfj0xpv/V2+KjI1wikjs+Gm/c756z63bGsPO+Nvz
Vw1e9cLKl29eueT2Dy9bN3XG4uba3f3pg1O/nvCPFzu9MvXNHU2HSpbMvntBSYPPlHrD3D+d+809
n1X2uWb6xJInpz21ud7auVusT+9cGwKXRUA7gf3R76Fp+PDIO+6dmu+MiorwifhWvDx1f+2rfzq8
7cSk0gdvu3VPl+temH7JopveLvI/tzuwZUN9FhGpXPjII4e+6DJp2ridT93y4PaE386en9JMOwbm
sLH1S+w2cr1EJCW1cca0218efPcbl416K+u7Rq/O/BjiqzHX7/a5D+xsloLpcUUTyofGR2S/0bQw
vfG31vrejMtaKdF/Lk29wL5hgSbiDnVGb7jdFHl3SedRYZXf2bdPsZfeUdw5Oy63hT7HDhjo2vJt
QwurLuacP13tfevmKSu9w/4897bzl9/9aW3ASA3NTx//+0JEUlJqnrjtlr3db3jpvosXTX2/PuAK
/tzbf4UHN2PSuCTy5wUmj0/CbihNHe/YsEa0Svu2p6Tf097tN4Z3m+UMeddavyIiu0jLuLX56XLa
i7Kqk0b6ypZpYeMaXV/H6K8eb9bWR0RENjx/6M4ZlPLPR7uLSGisaccGEXGueGv9wnKPzxR25Yxe
Z/60/n/V4b+Zmlz26roXt3usCSHRh54YF3/7zbGrXtm4rNSn23LrsyEiHkdV2GFrQ/PpjLT19WPg
WRJ3Y43l37FZ30ncQ6VxtUdzN/mPIvyiWsuCuOz/aVqk1+LU70/dBzHZH4gk1A/4Z2PJTyb/V/Tt
EOZUl/rCEo544bRpU5cr/3xT1Irs5ctWV4mY+qcPSu5336zhImIOcexJjpQNga/1MqfMmTLsYPde
vfXl1To/CzB3OfvO6WO7h2qmyHjbwlgRR3pG4+K/b64XEde+3fv1z9UroOWAdiqMDjZv8Tf5jSJS
WVnVzCNK1q3Z4RbZuWpd2FV9Q6So9TaNzY8/a99+cT8vyHOJ7F21tmC04XYCxl4g7aZofdY+j8iu
nUWxsVFiZOzNznPopvtb+v4T3ttavkoTkYqfrH1Pc8kCm4i5aq3ZJ1K/y2yL9YoYy1fj4uIqilq8
/Kl90zavXFUrImt+ypk+Jk37dJ2RkQau5wK/+0JEZP/aVTvdIvmr1kdf2sdicgZcwWL/FR7kjInW
tb7Xgw0hoaJFeLSFXhGRKpOr2ueuMLlcmtvmM5hHVy6097qs0bzM3Ok0c/EdhhNc78/b751TIiLD
p4wZKyKiJY9OmzYiNFST8FjTokgRW/QgZ/Gz2z0i4iqqP/iBkrDL7+rrXr1uVkHb/miz/2wYWRtB
rR//Z3kjBpjLnzWJSMUqi/Q4uvvpyFE0bLSGXFnVM9pWudxRXtXCfuLu/Lc65wsxRaWHHWxuo2/z
dm91iNt5xJFFj0/NHZA5fMzlT1/e/4Gb3txp0pw/vXjzv1a22MzauVOntnKmPlfcM3r79GlP7G6M
nTzzuUhNxKSZvL4jvi/onCug5cB2DKsN/CO8/uvQd8QBr8+raZqIiMViEf0fZxuan4DT+nx+pzLU
TuDY9Xvo8wXxR9FdbtehrmjNz087/Ll13Wvmcx88ofEfpTU0Nlhttracy9fsSFtZz5V+98X2I8+i
iaZzBTsHrPDguLrc01g7PXbzLs02uWxw1MGRHLoUmk/Tv1wBR352lN5VG3eKOXaHY3110P3p2fXm
obVPP5G712m78K9DI0wiJtF8gWf3rHh9o+PaXhN/XLdg79GsG5214Qtq/QT3rPbgWhSVneuKGtHQ
+amyiAfidm3Xv73C/1iVsD5y/armvxMPTU9PjI86Yucw3ouY7qaqvUcsyMRE2Z+z7LM3FuREdk7Q
xLsxe1vmhHGdTCJiT+yXGtP0qLq6uujo6LaMNyzMXlFU2iiWruNO72O1WkUK12WFjr2oX4iImOPi
Y03Nnau1dvT7Y6iH5eXlcQmHvbvplDGip0UsPYYPrd20uV4ay8pCunYLES06fUgP/ZYN9TmAe3Nu
yeBT0ixi7jpiWLLhdgLHrt9Db2WVFh9vb+tstD4/Oi3r7LDp1ZnvVMU2+yBLdZ4rdqRPxBd9qqsu
t9mfRnpqNWtMi5tlwc5dCV27tPSI7Zvz+o0aESYSOmz0wO25ec09rtX5ifS7L0REEjNH9rSIJXX4
kPLNW106VzBghQc5Yz6L3dRYoonFE3+GW7M0v3NWmJ2dPPbDrpevyiSdPIed2Fr0g6f7PY21X9s9
we9dIWZ7dWOZUyxJ8aNSNItZpKTyZ0f8ualmETFH26MPnLBhR17Z22/XjLuhW7c27EmtzYb+SA2t
n1aeZane6I4Z5RXxRo9wt9CykbvJbxSWRI/st5Z9Gl6Q43Uk6vfHnFGTNsix5XWrt4W9PvBgG6bW
nG5JzPEc/nb2rPtefH3eK/Ne/J339ffX+ERKv3rmxYLxj70y77U35j58WS9H06N2fP9J/aRZ89rw
cbf1/31Hrpgz//U3Hx20J8uXlGQTb+6bj30eP3X2q3PmvPTgRZ215s7VWjv6/THUw8pFH6zOmP7/
XplzY6aIiOzaFfnH2fPmTu+7dNYnO0Vk3aefRNzw4qx/3BRXuPXQk45s2UifA+37dNa3Pe+f89LM
mxP3N32jD3Lsuj2U7AUfRvz+lVfnTD8vPtjrpTs/Oi3rbE415vrdZnez24mp+MUwubYsY15ZD3tY
/pfNrta670M9k8pa+jCiO3tF/oDMlBYGUPb1i2/LtbNenTf7evsHL3xV0tzjWp2fRP/7QkQKixKv
nz1v7gNpi59fsEfvCgau8OBmzFbwjnR5pSTzrYqI3TZJ9jQ7ZRX2vaudfV8rTb/p4Fv2rNC9kbXp
80r7nn+g9fpFDneIrWRlW94W+9u872Pp+vQTp8y+PWrfRkmIN4m3+qOXC2J/N/SZRzOfvDU56bDH
1m/cPn934p8uDDP+0ctWZqOZkRpZP608SyudF+GeXJbxQlVEvcXr0oJeLYGjcIyrGvpGafq8sq7e
8D2r9UcRc2mdI7G+z8ul6XNL087QW/O6qY627cmP5eBft6oKrd5frJ8mN/1Wbd6z9fkXhIzvL8Jv
1eIEYx9+9z8zv7zrlU2eY33mqIuefSb2uZve3H2CzZhlfMXQfqFrZ9t8J1jHj8168pmdmsfnC59a
1m1r7KZvtV+zM839Vm1ifNT8Cx889McL2/S5e0n7va16p6+ZRBU4njWuevP1uB5xR/WTZXV4O/25
vFuaZffD7PXN6Fc7+K5GzSmeHaF5i06QHbFt2710Mmd04kLjxFSytvmIpiNVfn73TSfaXJlKnokr
OdE6fUytC8++LvwE67PR7b7joptb36n3O3JZwlJp5kcNAIDgUCINAJSgv923WmqnGeGnXPf4nPc/
//rV33c7eCh+zG3Pv/HGa3OfveOMxEMBV9JlTzw6/ojPD1Z8XP/B/0gJAaCj6Gz3bdziD+cp3fDp
zKc/2flL80OvviXl63uvu/6Bb7pN/f2wg9FR4Rdfei6bnHbYzzeiJ1hNH7sK2fABoGP4Z/dNe71e
bq4lNfacVhsZ5dOqbDufiijXK+9Vv33NCumc4pGDv76YNnx40dK3ut04xfSfpfuuHzVAVq8XEZGG
FUv2TTmn/7y8Q8UIHZb+nevWb7IlDeCiAED7azbM8fuHeBPuqvXOi1l3S9yG//OmXOU01nxsbHR5
ub3X0KEpjrKy8E6dDn13cW7dWjNwYOLhj03uLbtyvCfaBALAiaHZT+b4RTomV9QgT8R9ZTEiYvKZ
99isIgb+FIKmiYjX6zVb/UuOVFZWxnWLE/mlGFRYlFazmzQHADqE/3Y/ND1dP7v3aU57/pTI8rY1
X1paERvj3rnpZ2tDzLCakpJfqkvY7fZG5xFVVV2NYrHzC1wA0CF0whzdD7x7bRXbnIlnezURsXsi
Ug2GLnmrViWcduqOOS9uGXFa5xXLD/uzQZ27JO7csefwx5bt8yb04IOhANAhdMIc/Vf3pqJ/RoTc
XZ5+pZhsUv12dHW+3oPG3PXmrSPC4qK1Z94e/+MLv5+1fN07L21/6Jk3rpDqNXNmrPnlxX239AG7
lr91+Kt77/YcU+9ruCIA0CF0tvtmfp3Vt9++4y/2HS225l323DXLjjxUvOyF25f5P87U57zhO/57
72HV2Lxb3NtSrNdGcUUAoEP8OuFJXMSeN+YvbzjsSE2NNvY6i40LAgAdw/KrnLV4zVd+9TojM62R
XA0A6DBGt/vm6ikfvUfHBxyRdC4MALQv/e3+8J/WUpkSAE4C+ts9WzwAnGT4nDsAKIEwBwCUQJgD
AEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmE
OQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCU
QJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMA
QAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEw
BwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIAS
CHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4A
KIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDm
AIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFAC
YQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEA
JRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIc
AFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEog
zAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCg
BMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgD
AEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmE
OQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCU
QJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMA
QAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEw
BwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIAS
CHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4A
KIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDm
AIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFAC
YQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEA
JRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIc
AFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEog
zAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCg
BMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgD
AEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmE
OQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCU
QJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMA
QAmEOQCgBMIcAFACYQ4AKIEwBwCUQJgDAEogzAEAJRDmAIASCHMAQAmEOQCgBMIcAFACYQ4AKIEw
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
9noAwK/r/wOJ3xRksSuDnAAAAABJRU5ErkJggg==
--000000000000fe1bba063b2de8cc
Content-Type: image/png; name="screenshot-20250730-183731.png"
Content-Disposition: attachment; filename="screenshot-20250730-183731.png"
Content-Transfer-Encoding: base64
Content-ID: <f_mdqldhej1>
X-Attachment-Id: f_mdqldhej1
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
MAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADAB
YQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEO
AAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAA
ExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ
5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYA
ADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAw
AWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFh
DgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4A
ABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAAT
EOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDm
AAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAA
MAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADAB
YQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEO
AAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAA
ExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ
5gAAMAFhDgAAExDmAAAwAWEOAAATEOYAADABYQ4AABMQ5gAAMAFhDgAAExDmAAAwAWEOAAATEOYA
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
VNm1+gOg4xIbRk97Z0fB+JuqTtyo2e/6t9lj6+te3tDWLRqNRGTM++JXLrwrt+e9fcot31i0wqKv
XTHnxi9dcFeJ59NDdOPXZy/iSfb0bz3k6oqFjh7q3Hqov0cmEnLvv3/hHFfLm7XRq7629LpMIqLC
6VP/86sz5/k6PzkYNtk4ImtZVnjbliNrDgi33bvwYhMRma+5e+W38txrN9bXGu3lglbL6uMSCx6+
b05la9M7Tfb775u/0KDRw+ENv0zlzZ+nbP/0kx2RefPOQPzqWHLHwiMvfdCXeJFU69jyiWvaFctn
zVx61fTAJ1vbtbYkPcl6puMp3+PHPvvZnbfz/cGBv4U6tm+qv3jG2g8oq+6zzztCRKTekjP+gom5
x57ee/CzA706lkqp1bjjr0p+eSRM3NE1loYuIptiNJDBQtFW4+fvC0EiKoqMH08Nv7St284REXf8
bSzfYlr7U1Po+LAcekeuqJItHEU5ObdCCa83b6yPXDpPiq23bNzIkWY7NiKizrXWdV2hvO9FM/NI
qlP1B0DfJZZIX1vX3j7p+pMbeEEQHZkmoaHrjUZJHtgWbP7du+07qf23B2+6ehK3dru++4xQ25/e
b9tO7vdcS6szaUO/e5vXdFWs6OjhrmNf055QfaO/+atdikiuT5umr5oivP5ZjIh82/c8sd51vJX+
DzYbLp6aPy6D88g503LpQ0/5LWVN//nfjXuIqKGHiMirall9XGPLL+8+eNG27gD1vbj4hiuqP/vs
qLqHyVf8BMuUY+48x87ftHXJOyxfm5+95m99p/N82+bdtrL75e+30KWJF0k1xd/ZFJo+c+4cuVBq
PhBUtLYkk7yIguZETLjWK4P3Kcvy8c0hlytw4p/4iRdVbv7lC//zy82Vyyby2lvMWUVFhcf+y7Lo
HUil8oaI6w+2d//Aj7shYiIin/Gz582dfLTmLu91jwTzDUQZiok4v4uL62+0hz++1pNxTmDVPaES
O+fr5iUiTnOQtNvhQl6OYpxMCs9r9QdA3yWmm/sXz2zanl22evW1H3117LGPFYMRDxEReYOy3aL7
w89Q1EdEJEsx3qB1H2iwm4zGjPmTixZNLirsPPRu57ELo6XHd/JBznEvfGd6VcR7oKGvLcQLApHd
nOUNppzOWg2WQCRARBTz+DmbmdPTQ73LlG3uvInmmpsffOCLsyzj5809vd8oKVxx8xTZuvjW225e
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
QmCC
--000000000000fe1bba063b2de8cc--
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 30 Aug 2025 07:19:02 +0000
Resent-Message-ID: <handler.79090.B79090.175653831931860 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: luangruo@HIDDEN, Mike <mikeandmore@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175653831931860
(code B ref 79090); Sat, 30 Aug 2025 07:19:02 +0000
Received: (at 79090) by debbugs.gnu.org; 30 Aug 2025 07:18:39 +0000
Received: from localhost ([127.0.0.1]:44412 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1usFrB-0008Hc-Gq
for submit <at> debbugs.gnu.org; Sat, 30 Aug 2025 03:18:38 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:56710)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1usFr6-0008G2-7p
for 79090 <at> debbugs.gnu.org; Sat, 30 Aug 2025 03:18:34 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1usFr0-0001m7-FJ; Sat, 30 Aug 2025 03:18:26 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=m4qrEYlSjtrQwOjoY78YWJWhDhpnHZWcoRrbhtjMNUw=; b=or4xcuO+yJfH
R2056RF6gIc2BNFolqGdJekE+WRCvXEPnMcsyaZo3KrK8WJHzC43wJJMBZC1aadN0DgvPzGpMUSIr
RVprIOeNk9OApTeKRv9YSO8GdjlacLci7lWpConGvsOdrnCaEt++BlAaEc/y0XsuXqILLB/uGuaYP
EjBcOA1PBdkBWBY3GFNPoH99AYGpeajueu79nteK5rk+woY26uIjO82hNd+njkCQhTWSjjHVy0HLm
0/F5Nzl4PDS1tNmu4/zz5BmUfHzUpGwCRI90lsDKehDkfGiiTHABYLhzx0CnduvhlvRHODP9s2I0N
UcWE5U2hH+Z6pUArJt12bw==;
Date: Sat, 30 Aug 2025 10:18:23 +0300
Message-Id: <86wm6lqnuo.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAMyCBXe_QmLqOcHzw6FxvCj6UcpzfmzLU=M9po02Bof9ubRuiQ@HIDDEN>
(message from Mike on Wed, 30 Jul 2025 19:30:17 -0400)
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<86y0sc4tck.fsf@HIDDEN>
<CAMyCBXe_QmLqOcHzw6FxvCj6UcpzfmzLU=M9po02Bof9ubRuiQ@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
Po Lu, would you please review the proposed patch and the testing
information, and advise how to proceed with this issue?
> From: Mike <mikeandmore@HIDDEN>
> Date: Wed, 30 Jul 2025 19:30:17 -0400
> Cc: Po Lu <luangruo@HIDDEN>, 79090 <at> debbugs.gnu.org
>
> Here's how I tested this.
>
> 1. I have the following base settings in fontconfig. They disable hinting and autohint, so that Freetype will
> preserve the font shapes when rendering web fonts.
>
> <match target="pattern">
> <edit name="antialias" mode="assign"><bool>true</bool></edit>
> <edit name="globaladvance" mode="assign"><bool>true</bool></edit>
> <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
> <edit name="hinting" mode="assign"><bool>false</bool></edit>
> <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
> <edit name="rgba" mode="assign"><const>rgb</const></edit>
> <edit name="autohint" mode="assign"><bool>false</bool></edit>
> <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
> </match>
>
> 2. Enable hinting for specific local fonts so that I can use them inside Emacs with a smaller font size.
>
> <match target="font">
> <test name="family"><string>Hack</string></test>
> <edit name="hinting" mode="assign"><bool>true</bool></edit>
> <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
> </match>
>
> For this step, you can also enable hinting in font-spec under Emacs.
>
> Here are the screenshots. They are taken on a HiDPI display, and I'm going to retake them tomorrow at work
> where we have low DPI displays.
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 13 Sep 2025 07:48:03 +0000
Resent-Message-ID: <handler.79090.B79090.17577496702297 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: luangruo@HIDDEN
Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.17577496702297
(code B ref 79090); Sat, 13 Sep 2025 07:48:03 +0000
Received: (at 79090) by debbugs.gnu.org; 13 Sep 2025 07:47:50 +0000
Received: from localhost ([127.0.0.1]:53046 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1uxKz8-0000ay-3Y
for submit <at> debbugs.gnu.org; Sat, 13 Sep 2025 03:47:50 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:34526)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uxKz5-0000ag-H3
for 79090 <at> debbugs.gnu.org; Sat, 13 Sep 2025 03:47:48 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1uxKz0-0001gQ-59; Sat, 13 Sep 2025 03:47:42 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=l+qSgvhFIyys5t7BGbYbN+gZMHbhElTOisS61G18lH8=; b=nIzctexjN/fH
AKqlY4PnYiXic23nDZZ4KzSu6fj9ZNyScCbfgx0UgtUKQngbUWHVfzoqsxCMWUbrfDiZMoTobjXZF
cC5xOqiIcnZsUgkdltmzeXhTPqYxc4UucXF/xi47dhqGk2zoWyRSPQz6b9T6PK+mcKVcK5/GekTgT
GM1vrmiPLImxdYQb6VCuwXwhkfJ9285VTfXVG5YautBz+lrzIJAL994XvO4fW23h+4ifKuRVjbcQG
HlweSmJkrmatZ+YybTTpe11miZfvvUp3MxrW/3tqDBrcTLL7X0FAEv/hgRccw80FrQSk7pn//9aFL
PqKvimZU4Be3gxGii/VjQg==;
Date: Sat, 13 Sep 2025 10:47:39 +0300
Message-Id: <86a52yssis.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <86wm6lqnuo.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 30
Aug 2025 10:18:23 +0300)
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<86y0sc4tck.fsf@HIDDEN>
<CAMyCBXe_QmLqOcHzw6FxvCj6UcpzfmzLU=M9po02Bof9ubRuiQ@HIDDEN>
<86wm6lqnuo.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
Ping! Po Lu, could you please chime in?
> Cc: 79090 <at> debbugs.gnu.org
> Date: Sat, 30 Aug 2025 10:18:23 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
>
> Po Lu, would you please review the proposed patch and the testing
> information, and advise how to proceed with this issue?
>
> > From: Mike <mikeandmore@HIDDEN>
> > Date: Wed, 30 Jul 2025 19:30:17 -0400
> > Cc: Po Lu <luangruo@HIDDEN>, 79090 <at> debbugs.gnu.org
> >
> > Here's how I tested this.
> >
> > 1. I have the following base settings in fontconfig. They disable hinting and autohint, so that Freetype will
> > preserve the font shapes when rendering web fonts.
> >
> > <match target="pattern">
> > <edit name="antialias" mode="assign"><bool>true</bool></edit>
> > <edit name="globaladvance" mode="assign"><bool>true</bool></edit>
> > <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
> > <edit name="hinting" mode="assign"><bool>false</bool></edit>
> > <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
> > <edit name="rgba" mode="assign"><const>rgb</const></edit>
> > <edit name="autohint" mode="assign"><bool>false</bool></edit>
> > <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
> > </match>
> >
> > 2. Enable hinting for specific local fonts so that I can use them inside Emacs with a smaller font size.
> >
> > <match target="font">
> > <test name="family"><string>Hack</string></test>
> > <edit name="hinting" mode="assign"><bool>true</bool></edit>
> > <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
> > </match>
> >
> > For this step, you can also enable hinting in font-spec under Emacs.
> >
> > Here are the screenshots. They are taken on a HiDPI display, and I'm going to retake them tomorrow at work
> > where we have low DPI displays.
>
>
>
>
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 27 Sep 2025 08:52:02 +0000
Resent-Message-ID: <handler.79090.B79090.17589630964472 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: luangruo@HIDDEN
Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.17589630964472
(code B ref 79090); Sat, 27 Sep 2025 08:52:02 +0000
Received: (at 79090) by debbugs.gnu.org; 27 Sep 2025 08:51:36 +0000
Received: from localhost ([127.0.0.1]:38826 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v2QeV-0001A1-W2
for submit <at> debbugs.gnu.org; Sat, 27 Sep 2025 04:51:36 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:56338)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1v2QeO-00018f-Dd
for 79090 <at> debbugs.gnu.org; Sat, 27 Sep 2025 04:51:32 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1v2QeI-00059S-LV; Sat, 27 Sep 2025 04:51:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=nEzxJwDrroN6Pa6fGWVtEQck4br2V1a3a2SS81Luvag=; b=rfPsC7IABH6b
zU1CG42YyHrYo97UqIqGzy9PKQ/6apkac1gkWq5Xzs34vhCBft67VWvxX7z55PTQZ212EPLErZpPS
re0VROVwf8C0kg6okKhNFCIUjBFw/P9A7bf+nBUs1Wus5lE6iz/VnG09A6qby2YlF+D6+ur7xzkJg
gYanNriDI6NQ+s9qW4qRCwregfEOxZSVVodTdopTTPs+aSgwEuuQN+WRthhCvfkMn6TmCiOQffv4G
0gdUxgkxoO4KaLVJ40HiHvQKnli1sfta5k/+OslpHdgNCiLJjy42TLDUIKwnQz/AkUPumd/gDW++f
uMiLOx5b0xiZOelAImQxTg==;
Date: Sat, 27 Sep 2025 11:51:20 +0300
Message-Id: <86o6qw8eif.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <86a52yssis.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 13
Sep 2025 10:47:39 +0300)
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<86y0sc4tck.fsf@HIDDEN>
<CAMyCBXe_QmLqOcHzw6FxvCj6UcpzfmzLU=M9po02Bof9ubRuiQ@HIDDEN>
<86wm6lqnuo.fsf@HIDDEN> <86a52yssis.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
Ping! Ping! Po Lu, please respond.
> Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN
> Date: Sat, 13 Sep 2025 10:47:39 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
>
> Ping! Po Lu, could you please chime in?
>
> > Cc: 79090 <at> debbugs.gnu.org
> > Date: Sat, 30 Aug 2025 10:18:23 +0300
> > From: Eli Zaretskii <eliz@HIDDEN>
> >
> > Po Lu, would you please review the proposed patch and the testing
> > information, and advise how to proceed with this issue?
> >
> > > From: Mike <mikeandmore@HIDDEN>
> > > Date: Wed, 30 Jul 2025 19:30:17 -0400
> > > Cc: Po Lu <luangruo@HIDDEN>, 79090 <at> debbugs.gnu.org
> > >
> > > Here's how I tested this.
> > >
> > > 1. I have the following base settings in fontconfig. They disable hinting and autohint, so that Freetype will
> > > preserve the font shapes when rendering web fonts.
> > >
> > > <match target="pattern">
> > > <edit name="antialias" mode="assign"><bool>true</bool></edit>
> > > <edit name="globaladvance" mode="assign"><bool>true</bool></edit>
> > > <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
> > > <edit name="hinting" mode="assign"><bool>false</bool></edit>
> > > <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
> > > <edit name="rgba" mode="assign"><const>rgb</const></edit>
> > > <edit name="autohint" mode="assign"><bool>false</bool></edit>
> > > <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
> > > </match>
> > >
> > > 2. Enable hinting for specific local fonts so that I can use them inside Emacs with a smaller font size.
> > >
> > > <match target="font">
> > > <test name="family"><string>Hack</string></test>
> > > <edit name="hinting" mode="assign"><bool>true</bool></edit>
> > > <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
> > > </match>
> > >
> > > For this step, you can also enable hinting in font-spec under Emacs.
> > >
> > > Here are the screenshots. They are taken on a HiDPI display, and I'm going to retake them tomorrow at work
> > > where we have low DPI displays.
> >
> >
> >
> >
>
>
>
>
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Manuel Giraud <manuel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 30 Sep 2025 07:27:02 +0000
Resent-Message-ID: <handler.79090.B79090.175921719222341 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Mike <mikeandmore@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175921719222341
(code B ref 79090); Tue, 30 Sep 2025 07:27:02 +0000
Received: (at 79090) by debbugs.gnu.org; 30 Sep 2025 07:26:32 +0000
Received: from localhost ([127.0.0.1]:57307 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v3Ukp-0005oG-Jq
for submit <at> debbugs.gnu.org; Tue, 30 Sep 2025 03:26:32 -0400
Received: from ledu-giraud.fr ([51.159.28.247]:42031)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <manuel@HIDDEN>)
id 1v3Ukg-0005mx-B9
for 79090 <at> debbugs.gnu.org; Tue, 30 Sep 2025 03:26:27 -0400
DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=QW5GInom
Wtj1cXgmloy7gijIuOwABRd+xWB36iXGKR0=;
h=date:references:in-reply-to:
subject:cc:to:from; d=ledu-giraud.fr; b=H/BfrWI0i9kBcbNBWGN2jBkEgWpt5O
aJ+cOH4VLtL37M3tYVeT/eA82F3RzXJFHHcyCP+bQwe0F7NegEbBK1BQ==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=QW5GInomWtj1cXgm
loy7gijIuOwABRd+xWB36iXGKR0=;
h=date:references:in-reply-to:subject:
cc:to:from; d=ledu-giraud.fr; b=mqnfLz8BWDEWoXySGNBYhXOU3hU6ABmfl391c4
qzTgbnk0sOE8h9Hp71YmN9dSAbsW00EFYt7ANQ88J6VJwd/oXyn3BvUQz6k4KTzdF20B6t
MJw6ombhL31EAd5pdjZmXZbK7iTVJB7bseJIPwsP/W7JxsqlLmYHanJQ1vytDs/85twFjs
/ShGjwAqqE+1Uj8q7mgF1tgrpasg4q0AtsRNkuv/3iCOESfrUIb8frz9GZC/R9DwShICls
cYtXdkx3GaeY0t61T2BJMhYSo1rwdZiTfEC/NZUiRIhRdRPVtP+IpegwpNs9qo3MS2M41O
c0H+wYhT3jTFJtoZA2DVh8TQ==
Received: from computer (<unknown> [10.1.1.1])
by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id 2cc4993a
(TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO);
Tue, 30 Sep 2025 09:26:19 +0200 (CEST)
From: Manuel Giraud <manuel@HIDDEN>
In-Reply-To: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
Date: Tue, 30 Sep 2025 09:26:17 +0200
Message-ID: <877bxg1jvq.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
Mike <mikeandmore@HIDDEN> writes:
> Tags: patch
>
> The ftcr and ftcrhb backends use cairo to render fonts, but cairo does
> not respect font specific fontconfig settings. This patch queries
> fontconfig with the specific font, and then it translates the fontconfig
> settings into cairo font settings.
>
> Both backends would also ignore :hinting and :autohint properties from
> the font-spec. This patch fixes that too.
Hi,
I'd like to give a try but do you have a recipe that shows something
that doesn't work without your patch and works with?
--
Manuel Giraud
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Mike <mikeandmore@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 30 Sep 2025 20:46:01 +0000
Resent-Message-ID: <handler.79090.B79090.175926511923763 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Manuel Giraud <manuel@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175926511923763
(code B ref 79090); Tue, 30 Sep 2025 20:46:01 +0000
Received: (at 79090) by debbugs.gnu.org; 30 Sep 2025 20:45:19 +0000
Received: from localhost ([127.0.0.1]:60615 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v3hDn-00068x-4d
for submit <at> debbugs.gnu.org; Tue, 30 Sep 2025 16:45:19 -0400
Received: from mail-yw1-x1130.google.com ([2607:f8b0:4864:20::1130]:48134)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <mikeandmore@HIDDEN>)
id 1v3hDa-00064V-4U
for 79090 <at> debbugs.gnu.org; Tue, 30 Sep 2025 16:45:06 -0400
Received: by mail-yw1-x1130.google.com with SMTP id
00721157ae682-71d71bcab6fso65851057b3.0
for <79090 <at> debbugs.gnu.org>; Tue, 30 Sep 2025 13:45:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1759265095; x=1759869895; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=LJ22GJmepU9ZhXq5J3ZdumbePN8oSDl4L/D5wobMdWM=;
b=XTwVkxct85IBXndos7n8pn+5pRUgWMmC6ne7n/4bf3fBgZ2I00IBtr8Gg3vIqLsN1m
GxszJZm3Sl5+cY19oMmmHC0qN+6OWqhfq7/Gsl60KUrl3nKCz+aRD2++085D1B5TeoYE
/SRFEMG4vpEXuemCzuYzE8tFOMsJsA2AVtQzBm7zV2Gv38zA3yOlVjf5GL8Ekq/VnmSD
IZUUte234IWLFWvKyTn6FOLkt4kHMkwq+TvAFShEyxHSDiekLsKtrrrLXoPC5foPbS0t
Hd/3/yl5tpsmRGVv5NI7dJVXKzUSe5l3PaWiB/oXDLlqrjAyZ3yz/zcasfXKw0agd9pE
7wAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1759265095; x=1759869895;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=LJ22GJmepU9ZhXq5J3ZdumbePN8oSDl4L/D5wobMdWM=;
b=fPWGUbHiIwEPRERd4CQknMuQpQFoskPJ8M86/BpqJiptOpp//7CUQBvLaZ8uob/sW/
C0HusYFU8+Ac7Dxj0fzTFYew+kEkDxZQEkcsDRPysyMniQXxv7ze3c/ECncxTYSSV6LW
b3pAS2Phsrayj/zwBCeLuODmUN0OkwQCEGNgpZv2J0ZF/wyu5AJ5l964JdRws3gn4fQS
loVddfR8g7dEu0tRsneNlkBboBgNEVsVNdBKbbWrBQwpv7IHOCrRokaxCyjo77QHh0pq
VN3L8TboiZNUd5m+e29jEo8/Plw9M7IG5HZlPuF9doSITT9rpu4P3njvrRPX4FeuYwpW
tbPw==
X-Gm-Message-State: AOJu0YwsT8BJcq0sKME4ww0tPyvGwJ7fPqbCuuwDmln65X/qyq3Funib
Qr3JTX03zRLLNPJgOevrX8V2DaQUZs2nVOACyXVlcveQilQqoRg8ZOEUpqB4E2u9FIQxs2ZCFBa
xwOmA11vSKfQcJCkrRbvXsG8WLcEX5Vg=
X-Gm-Gg: ASbGncvYS6dGvw6+WY9fem3uxR+lCZ+iirK3S7rISBdBCtoMlMTdSrDvWXq7pkgzdmo
f+a5MY6S5Y1KI/evBeXEjflthSFBJA/YSL77csIxp2JS7wACR66GK9TEHCvjnn4AkQT2xPhvEKb
uWm0lKhUd5QFT9JsFqKKyM8FNib0Lrv0yIURDffthm6p+H3CsqtxGPEcYiWksfAZE5ZmbayP6Px
mW9jK6Jhr8GEso/t/9tFLL4TsHCUw==
X-Google-Smtp-Source: AGHT+IFOBLBkQRaUxrJNcPYX7iH0qow9xC7ixmgywcswoeQCL3kyH2GMJWrZPsdc9pFIb6UJjDMGjK97PRFUhsd+pZU=
X-Received: by 2002:a53:b841:0:b0:635:4ecc:fc25 with SMTP id
956f58d0204a3-63b6ff5b62amr1562053d50.45.1759265094969; Tue, 30 Sep 2025
13:44:54 -0700 (PDT)
MIME-Version: 1.0
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
In-Reply-To: <877bxg1jvq.fsf@HIDDEN>
From: Mike <mikeandmore@HIDDEN>
Date: Tue, 30 Sep 2025 16:44:43 -0400
X-Gm-Features: AS18NWDaFbhE1Y8n7qC-vnaRdXRhlu7JSqmqlVQu8Pe6wP4YGzsqKktM1gjWOC8
Message-ID: <CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
Content-Type: multipart/mixed; boundary="0000000000000dafca06400ad322"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--0000000000000dafca06400ad322
Content-Type: multipart/alternative; boundary="0000000000000dafc906400ad320"
--0000000000000dafc906400ad320
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi
You'll need the X11 backend running on a low pixel density display. Then
with my patch, you should see the difference between:
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting t
:size 10))
and
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
nil :size 10))
Here are the screenshots.
Thanks
Mike
On Tue, Sep 30, 2025 at 3:26=E2=80=AFAM Manuel Giraud <manuel@HIDDEN=
r> wrote:
> Mike <mikeandmore@HIDDEN> writes:
>
> > Tags: patch
> >
> > The ftcr and ftcrhb backends use cairo to render fonts, but cairo does
> > not respect font specific fontconfig settings. This patch queries
> > fontconfig with the specific font, and then it translates the fontconfi=
g
> > settings into cairo font settings.
> >
> > Both backends would also ignore :hinting and :autohint properties from
> > the font-spec. This patch fixes that too.
>
> Hi,
>
> I'd like to give a try but do you have a recipe that shows something
> that doesn't work without your patch and works with?
> --
> Manuel Giraud
>
--=20
Thanks
Mike
--0000000000000dafc906400ad320
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><br></div><div dir=3D"lt=
r">Hi<div><br></div><div>You'll need the X11 backend running on a low p=
ixel density display. Then with my patch, you should see the difference bet=
ween:</div><div><br></div><div>(set-face-attribute 'default nil :font (=
font-spec :family "Hack" :hinting t :size 10))</div><div><br></di=
v><div>and</div><div><br></div><div>(set-face-attribute 'default nil :f=
ont (font-spec :family "Hack" :hinting nil :size 10))</div><div><=
br></div><div>Here are the screenshots.</div><div><br></div><div>Thanks</di=
v><div>Mike</div><div><br></div></div><br><div class=3D"gmail_quote"><div d=
ir=3D"ltr" class=3D"gmail_attr">On Tue, Sep 30, 2025 at 3:26=E2=80=AFAM Man=
uel Giraud <<a href=3D"mailto:manuel@HIDDEN" target=3D"_blank">m=
anuel@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204=
);padding-left:1ex">Mike <<a href=3D"mailto:mikeandmore@HIDDEN" targe=
t=3D"_blank">mikeandmore@HIDDEN</a>> writes:<br>
<br>
> Tags: patch<br>
><br>
> The ftcr and ftcrhb backends use cairo to render fonts, but cairo does=
<br>
> not respect font specific fontconfig settings. This patch queries<br>
> fontconfig with the specific font, and then it translates the fontconf=
ig<br>
> settings into cairo font settings.<br>
><br>
> Both backends would also ignore :hinting and :autohint properties from=
<br>
> the font-spec. This patch fixes that too.<br>
<br>
Hi,<br>
<br>
I'd like to give a try but do you have a recipe that shows something<br=
>
that doesn't work without your patch and works with?<br>
-- <br>
Manuel Giraud<br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature">Thanks<br>Mike</div></div>
</div>
--0000000000000dafc906400ad320--
--0000000000000dafca06400ad322
Content-Type: image/png; name="screenshot-20250930-163946.png"
Content-Disposition: attachment; filename="screenshot-20250930-163946.png"
Content-Transfer-Encoding: base64
Content-ID: <f_mg70z6o51>
X-Attachment-Id: f_mg70z6o51
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
9zVBt6XVZ/dSNsYVAOAco/jpXluy4oFHbiqs37aHVj6xeo6KiERLTUVr/jUrJ+sxjgAA57howpzu
7e+8ua1i83sb2goLkomIuqorjjV7MIgAAOe+qJZ7p4uIKBAIajQaDB0AwPlkqD+qdTgcJrO534ag
w0lmswojCwBwThnqct+6/rWqpU//48UXfjS1d8vOt9fl3v3GSy/cvywVwwsAcK5Q/Mkc10d3rOj5
V8frN99wZnvHhoeu+0pr0JKvd4P30Mu3XLtWb1AH3BheAIBzhXo4Ggn63AOXdjHgcQUwuAAA5w4U
UQAAYAKWewAAJsiHOfv37Tv9b9TCBAC4AMgv91jiAQAuMAhzAACYgDAHAIAJCHMAAJiAMAcAgAkI
cwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMA
AJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACY
gDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAw
BwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcA
gAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJ
CHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhz
AACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAA
mIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiA
MAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAH
AIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCA
CQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkI
cwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMA
AJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACY
gDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAw
BwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcA
gAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJ
CHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhz
AACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAA
mIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiA
MAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAH
AIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCA
CQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkI
cwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMA
AJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACY
gDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAw
BwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcA
gAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJ
CHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhz
AACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAA
mIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiA
MAcAgAkIcwAAmIAwBwCACQhzAACYgDAHAIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYgDAH
AIAJCHMAAJiAMAcAgAkIcwAAmIAwBwCACQhzAACYoF697hnpVoQ5AAAXhpeatvT8gzv55/d7/rV6
3TP2OEdruw2jAwBwAchIM6+9/OHTX/Zm94e37u75x8Xz5mGMAAAuAMcrDxLR4a27ex7wZX5U+0Vg
kXRjScsrGDuAYXE081YMwkjAMtVfzqjRIVtkflQ7Xm7IjmbeguEDGBbjsSqNDCxTg5NZ7jn5N0lO
0SOJafTUcSkcERGXPHb6GPMFNViGMb5RuYOcu3/S991jMjGpIAJO6XOovmRSaqbkHh09a/oPx6qG
1oO4SWWjFvX+l5rJhX2hNtGQODKDIG15GM5L4TJFRETmMdOnFyT1fpFQds0dP739jh+WZ1DYLcN6
9qnjZi1Yuri8OEU9lGbUiYUzFyyYNTZRWSthP4hZIv+MH2kox15573VTNERE/KRVD1xZFP6VZTf/
sCzSlphoyrsXlIvDf4EMvovud43LDd9yXHD0fF960tnqD5znFKz4KT/62dR5mtCtQiDgDQ7x4Pri
8ZnLL7/oySvy54xPSg273Kfd/9vZ5SNy9jItD8d5ESnNyvK+s/q+e1ZfMbrnq+7KL95Zdyp9UfHp
J1TplmGjLb7hT7/9wZQ0g6lw2oTk2Nsxlf/isdtmJJqn/PjRX85PVLCDevDpKB24o5m3xhCQxeXP
mqw5uqPKQUSUNmFWcvvBhNQU0ZBWPCnZsquSJFvaYzl7PiuQG89bE0SDKBjHBk1ObVMLaXP942YG
4rWcq0ZTuVPlJyKNMOpib0Y6+Zs1VVvUrqCYPs9natXYsn35mWLb14b6FjF1rjcvT9AQbz2gPXGE
V4/xFU30G4mEyd6JJq5zp665S9JOTx9S/aUrglSrPbqPJ7n+AAx+iw2uaPqkxZlCQ8eZLZqU7BsW
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
s2r2Eueqy/hjj5u+qYrcjkx/ACLdYgOl3/Obq38sEhG1b9v8/Y8tRNSy60jl3ZesK3Zt/OjzF0+k
3fPQzJI2W7c5KXPLnh09q6JTe/ltS5ao4vNte26plmuVz/nt72csTEjI5hatn9H0l9/t2Ch/9K5/
f8X96b6l37G3r3l+39bmow98s+D53yypaxfSMtTr/+ezNU2SPapq16+a9eYdhd1GoaNazE1TUU3D
469lv/Cry5c1OrXJ7rV/3vVVUNKynyTnVfnYgaX/76FF1UJC+pFvbm0miua740GXKe20mRMO73iy
y+olom92HbxjwQzDhi/dRAc+/njlL5585IrKz57769YuIrktw6B7y5ufLFj9p4eaPJnZnX//47FY
F0n3zrfeveSeP/72MkoVP3xyu4IfefbWzOn5LVt7nKOoeFJjQ22Ma33fVNKZUkycvcPmPSc+fsiR
LklQBzi3nTvznRIv6pPEoJX3h3vbVokGE/msXFB6Dv3f7CO2AxDG0DIcTqtTkT/gE4g4VVKSQeN2
tbkFIiJj8T9/bXjwd0edhmC7IyAMR1dVPCcIvTktp9ZmmNVOq8sZbs7z6mSzxmdzO/sfm1OnJGn9
dpc9ELbl0PMiUhsMiaKnwxPdQjKk363l1Fo9L3h8ATH8lmFZlrQJZp3X5vANsVVOl2Dkuh0emeuc
M2r08cqDay9/eLAiCiLRMZmJKJa0rFXWAcFrb2+nc4ZIXgsf+v2RwHk6ucH2CnLucG/mwWjaAVB6
i0XXhs/bt3CKwS6L5NEu4G11DFuHg8KZRUkM+Fo6Bw0mhYClS5IgiYFOS2DwlkPPiyjgdndEOSyK
l6lwDQRCvxGXbhmWOeBzWIcj3hW9DuXXWWa5Pyb/XL+WAGA4HBvRmjndVT9+jHMxObBYpgYns9wv
UcvleJJqOwAQmxzaOLIH8Cn5iPWFCMvUoEInxeYtWzAoAAAXgIy0AR8yxS96AgAwAcs9AAATsNwD
ADAByz0AABOw3AMAMAHLPQAAE7DcAwAwAcs9AAATsNwDADAByz0AABOw3AMAMAHLPQAAE0JLpIWU
1AEAgAvDmeX+2VV3YTgAAC5UZ5b7w1t3j9AxXmra8uyqu0aufQCA89dZWyHVRLR63TNn55RwXQEA
ZJ2FFZI/O2s9AAB8u/5/lFk+GSuzv98AAAAASUVORK5CYII=
--0000000000000dafca06400ad322
Content-Type: image/png; name="screenshot-20250930-163958.png"
Content-Disposition: attachment; filename="screenshot-20250930-163958.png"
Content-Transfer-Encoding: base64
Content-ID: <f_mg70z6nz0>
X-Attachment-Id: f_mg70z6nz0
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
uc7AbRPPvo3VTvsWaVY2ddJLtq3P6d09eaRd1135G1ftNUlTjJsxWdlEycqGaPVs4WRpcCdtzyTi
ufGT+dkb2WBLDJtMmZzLfLsxQ3+82MjMwrNcJQXi6zxSWqRX+8XUFtRYa+cUVm1tRVr6xrT0TUFh
/napnDtv44AJY+b/RipztjywplzET6QsKyx57p+C/Qr3PPRJiYjM+XRtx6tGfD3K5udwbVi4bGqO
4YVa+cFn3tyVVdnU74eaa/sz49qwsoGd9xv8tdwWeydf90KrE9nYqjsDt008+zZWY4u0M+EiKLDB
1unkd/1tF0R9/s1LeUwF1MYWaWcaNtgCcDqwRdqvTo0Ntk6nqo/f+IZZADyxRdqvjg22AJwObJEG
AEpwTJnzIrMAAOequp/TiojjpYlT6z6i7gPAued4kT+a3W9avoZJAYBzj1dvxAQAnLUo9wCgBMo9
ACiBcg8ASqDcA4ASKPcAoATKPQAogXIPAEqg3AOAEij3AKCEppX7sHHPvzY5vomnaHPVP6YObexB
kaMf/eSLz2anPjjS2dJDNvbHUg+73zzzwVHH/kZm8FVvfHFXQjON3WQ2rv3P29e2Mhxue1vqu9dG
Nt8cRl36dGrqgmX/u7dXM/T5pPkxb9na2PWUWe4L5riTRzbhSYET9B6N9tm4er1adV7OT8vxasak
uz74If34n9ZtO8M96n/u3/yliX92wT584DvXh7SbdMHfL7CLiAwZ8P39R2d46L1XPDnK4h96jvjj
u4PH+DbYsiXtZrq7JTQyUqvrx8KzTutqsdKf9LS04/+ZPqBJ+913vv4G2xe/z2piP6O69mlT0shj
fAZdNnTNYxf/Y8NpuDuM/bHSQ9n8zh2bm+FcLafpc5j39YOTvh33wrdJzdHnk+bHvGUrbOfrMWu0
Bc837e89O7tKYGN/i9S4er1bdafzmrbcjMlmbcUJ63n/A7YDl7ovTjqDxtVsTh6p1fVj4VmndbU0
tT/paWnJKSkeB5tS7ruN/U3ewknlxz+3d7riyem/7ezjcmjpL9/81I9lYo8f/edHbukb5qMVrfrX
w/9cVjz0vo/uHh4TGj48NfVWSXv1xqd/NP4t8g7XvvzMhK5twn07pg6sqntM52tfeuqaeLvb5tr/
xVMPvZ9RIRLY9eoHH7ima4jDXvy/ab+fme7yPNcRszvco51aQ3+Wn2fSwx5Tvryl4v2aYdckhgX+
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
AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRA
mAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBA
CYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAH
AJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBII
cwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAo
gTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYA
gBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJh
DgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAl
EOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwA
UAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDM
AQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAE
whwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMA
SiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5
AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRA
mAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBA
CYQ5AKAEwhwAUAJhDgAogTAHAJRAmAMASiDMAQAlEOYAgBIIcwBACYQ5AKAEwhwAUAJhDgAogTAH
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
--0000000000000dafca06400ad322--
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Manuel Giraud <manuel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 01 Oct 2025 07:32:02 +0000
Resent-Message-ID: <handler.79090.B79090.175930391014393 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Mike <mikeandmore@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175930391014393
(code B ref 79090); Wed, 01 Oct 2025 07:32:02 +0000
Received: (at 79090) by debbugs.gnu.org; 1 Oct 2025 07:31:50 +0000
Received: from localhost ([127.0.0.1]:34173 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v3rJS-0003jS-10
for submit <at> debbugs.gnu.org; Wed, 01 Oct 2025 03:31:50 -0400
Received: from ledu-giraud.fr ([51.159.28.247]:32320)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <manuel@HIDDEN>)
id 1v3rJF-0003hL-NP
for 79090 <at> debbugs.gnu.org; Wed, 01 Oct 2025 03:31:36 -0400
DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=rlaWIfjt
8x1iG0lb+Wd3BVK3z3po5nxlh3lVyME0dZI=;
h=date:references:in-reply-to:
subject:cc:to:from; d=ledu-giraud.fr; b=AxCXfqjH2dsfZN6Q6220Wbpp8hJ7kx
ldvNCnoClm5GoPYWBNjlGjJwZY5zFbgjb/v1/jlP9bfbeKeIh+PdehCQ==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=rlaWIfjt8x1iG0lb
+Wd3BVK3z3po5nxlh3lVyME0dZI=;
h=date:references:in-reply-to:subject:
cc:to:from; d=ledu-giraud.fr; b=XnmIQJHiyfNn7Mt8L6vdlprF6Bo/c13UidcGud
b0unyMa+H3IaTjKzzQsu7PbNmTE6KJrQigbMGogm13yOOZ6X4O/tG3ze9nidpfz7jwOEUE
Z8qIrJg9rwJnCQoeN6DG7ozeJ94liMB1tO+LZ1T+iTzA6227mfcpDmmOo/8vEoXgzEnQaa
hOa568vmNwUO0qVR+F3Sq9Pojl4Civ8OlbhaXXPpPI6bpjMAeeu3WPMcDRGgT8N3QkZi19
j2aX774qzuiNhoeAtZsZ9YaOGjxr0gekwmve9NgzPD4N3VxbO0MrGuLVKO6noBt19S7WuT
B4l+YcKivU/IalJdLocWPnAA==
Received: from computer (<unknown> [10.1.1.1])
by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id 66b54598
(TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO);
Wed, 1 Oct 2025 09:31:28 +0200 (CEST)
From: Manuel Giraud <manuel@HIDDEN>
In-Reply-To: <CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
Date: Wed, 01 Oct 2025 09:31:27 +0200
Message-ID: <87ecrnt6wg.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--=-=-=
Content-Type: text/plain
Mike <mikeandmore@HIDDEN> writes:
> Hi
>
> You'll need the X11 backend running on a low pixel density display. Then
> with my patch, you should see the difference between:
>
> (set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting t
> :size 10))
>
> and
>
> (set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
> nil :size 10))
>
> Here are the screenshots.
Hi,
I've tested this recipe on 30.2 *without* your patch and I can already
see a difference between without or with hinting:
--=-=-=
Content-Type: image/png
Content-Disposition: inline; filename=30.2-hinting-nil.png
Content-Transfer-Encoding: base64
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
UgAAAABJRU5ErkJggg==
--=-=-=
Content-Type: image/png
Content-Disposition: inline; filename=30.2-hinting-t.png
Content-Transfer-Encoding: base64
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
ec75f2Po3SkW7DFBAAAAAElFTkSuQmCC
--=-=-=
Content-Type: text/plain
Calling (frame-parameter nil 'font-backend) returns (ftcrhb x).
--
Manuel Giraud
--=-=-=--
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Mike <mikeandmore@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 01 Oct 2025 14:25:02 +0000
Resent-Message-ID: <handler.79090.B79090.17593286516943 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Manuel Giraud <manuel@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.17593286516943
(code B ref 79090); Wed, 01 Oct 2025 14:25:02 +0000
Received: (at 79090) by debbugs.gnu.org; 1 Oct 2025 14:24:11 +0000
Received: from localhost ([127.0.0.1]:35802 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v3xkS-0001np-OE
for submit <at> debbugs.gnu.org; Wed, 01 Oct 2025 10:24:11 -0400
Received: from mail-yx1-xb136.google.com ([2607:f8b0:4864:20::b136]:42097)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <mikeandmore@HIDDEN>)
id 1v3xkE-0001mU-PT
for 79090 <at> debbugs.gnu.org; Wed, 01 Oct 2025 10:23:56 -0400
Received: by mail-yx1-xb136.google.com with SMTP id
956f58d0204a3-6089a139396so1652403d50.0
for <79090 <at> debbugs.gnu.org>; Wed, 01 Oct 2025 07:23:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1759328624; x=1759933424; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=xmafOmwXcyYluFVC/2fx0X5wgZGiRAxhk0tGqLTY7DI=;
b=fqgfK1Zvp9+JOo87OKy2CmjxWMqhOLPO0IpT4MK3SKYuLCMbdGrI302DvH6AX874BS
L2RKsn6pywEAwrM5O/7Ojgj6Wh8fBuYevxfFvTfPbO/ib1gOXuvH8flr+NQlRhpVBtEp
xKLxWy9K2bCuTgdWk8gZ7L0MzTdvjPzLSVczSrkba/MOttYyX3Q8oV+K2SWZfE9gahZb
Tl5djOlHUjBqhrkYnswtCSlz4UfyucfC64gIA96980B8QmeKju/vfUD0NMoCXzmy28BF
grJbX8iYf3QoY3sAV2MuvXWX2WG0i3uTx/bM71T7LUIE7A+m8B+N4L4Kt/Wp5eiNOXPq
ZSJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1759328624; x=1759933424;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=xmafOmwXcyYluFVC/2fx0X5wgZGiRAxhk0tGqLTY7DI=;
b=grbuI/zuazBEHd6lxdcmc4YiYiKemQ9JS9JQTrvzp69kpvxuTXdVYfBZsq31rVa6R4
8EGHT9C/WnClnUPaC2oVZjFtDpi3SKpNPUpiuVKkCFjNacFYMRBxMqc6A67WRA4XZqo1
rUrnEXr9YpUwNVNyQCeSHMaadZu/pkKWVerXiV4SnNmaPUEx6jfOwyYhsxJmtfPk89cW
8gsMSVzDmgCDRV2YjAE3EAEvLQ23IAmv1rOdNiWFBAMc2pV52SPW8UoLw+Xyl/b44+XY
0IC8zN/Hd2YJA8YVadRqh+a8H8YNZkrf9XFK+1l6LIIS/uFvl3hw5rkPEDN3X7gUZzxT
R+Gg==
X-Gm-Message-State: AOJu0YyKexn1XziQ/KNxliCcG491gscW5KrHu0SR6H0eg3fEMZ1RntrM
9GlNnhdLqYowtHl+IyDUHaDnxv1O5whDMx1fcJHJEBoGXRUD4Ld3V+7E4432diGNALig8dPwWuL
Dgwi+5h3F6aF529LXoLqudYF0deebDnBi1JtJ
X-Gm-Gg: ASbGncsAhV5lkdmZoyfPauUOuwnMbXdsjLeVHIcqzqRSEavRUreZ6RobXhZCB5L06tu
3C1x7t915nIfwr0hn28SacijowMKDTGkUO/ov2pXmTS121RPWDBJkQ3sFROs3mDkV9t353uMgL6
QAxylPHC39DS2EqEmZ17JmkBCBkb1VvLNL8U9JK53KSMnQJvdR3l67WNaBv1jL11ElRQoq2qa6y
w0uy1OEugbS0SFhIfz23GHtQDeiJg==
X-Google-Smtp-Source: AGHT+IHovcxV+IgVuyZW/j8Yw87FrNll71fMhJNpJw5Tt5vAiq8tox67w7VRo0s3jeVJBJMTd31M5q8w1yh6qv9Mb9c=
X-Received: by 2002:a53:a085:0:b0:635:4ed0:5722 with SMTP id
956f58d0204a3-63b700d2bf9mr4198541d50.26.1759328623717; Wed, 01 Oct 2025
07:23:43 -0700 (PDT)
MIME-Version: 1.0
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
In-Reply-To: <87ecrnt6wg.fsf@HIDDEN>
From: Mike <mikeandmore@HIDDEN>
Date: Wed, 1 Oct 2025 10:23:31 -0400
X-Gm-Features: AS18NWAhYblWhovwZ9PyuYy3bVjfsc9kcSM_oMeqAZNps8y-YrpUEINKy_mC5MU
Message-ID: <CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000a8f1230640199db9"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--000000000000a8f1230640199db9
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi
Thanks for the help!
Hmm, I think you do not have font settings for the global pattern. Can you
try the following in your fonts.conf?
<match target=3D"pattern">
<edit name=3D"antialias" mode=3D"assign"><bool>true</bool></edit>
<edit name=3D"globaladvance" mode=3D"assign"><bool>true</bool></edit>
<edit name=3D"embeddedbitmap" mode=3D"assign"><bool>false</bool></edit>
<edit name=3D"hinting" mode=3D"assign"><bool>false</bool></edit>
<edit name=3D"hintstyle" mode=3D"assign"><const>hintnone</const></edit>
<edit name=3D"rgba" mode=3D"assign"><const>rgb</const></edit>
<edit name=3D"autohint" mode=3D"assign"><bool>false</bool></edit>
<edit name=3D"lcdfilter" mode=3D"assign"><const>lcddefault</const></edi=
t>
</match>
This will affect how fonts are rendered system wide.
Thanks
Mike
On Wed, Oct 1, 2025 at 3:31=E2=80=AFAM Manuel Giraud <manuel@HIDDEN=
> wrote:
> Mike <mikeandmore@HIDDEN> writes:
>
> > Hi
> >
> > You'll need the X11 backend running on a low pixel density display. The=
n
> > with my patch, you should see the difference between:
> >
> > (set-face-attribute 'default nil :font (font-spec :family "Hack"
> :hinting t
> > :size 10))
> >
> > and
> >
> > (set-face-attribute 'default nil :font (font-spec :family "Hack" :hinti=
ng
> > nil :size 10))
> >
> > Here are the screenshots.
>
> Hi,
>
> I've tested this recipe on 30.2 *without* your patch and I can already
> see a difference between without or with hinting:
>
>
> Calling (frame-parameter nil 'font-backend) returns (ftcrhb x).
> --
> Manuel Giraud
>
--=20
Thanks
Mike
--000000000000a8f1230640199db9
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Hi</div><div><br></div><div>Thanks for the help!</div=
><div><br></div><div>Hmm, I think you do not have font settings for the glo=
bal pattern. Can you try the following in your fonts.conf?</div><div><br></=
div><div><div>=C2=A0 <match target=3D"pattern"><br>=C2=A0 =
=C2=A0 <edit name=3D"antialias" mode=3D"assign">&=
lt;bool>true</bool></edit><br>=C2=A0 =C2=A0 <edit name=3D=
"globaladvance" mode=3D"assign"><bool>true<=
/bool></edit><br>=C2=A0 =C2=A0 <edit name=3D"embeddedbitma=
p" mode=3D"assign"><bool>false</bool></edi=
t><br>=C2=A0 =C2=A0 <edit name=3D"hinting" mode=3D"ass=
ign"><bool>false</bool></edit><br>=C2=A0 =C2=A0 &=
lt;edit name=3D"hintstyle" mode=3D"assign"><const=
>hintnone</const></edit><br>=C2=A0 =C2=A0 <edit name=3D&q=
uot;rgba" mode=3D"assign"><const>rgb</const>&=
lt;/edit><br>=C2=A0 =C2=A0 <edit name=3D"autohint" mode=3D&=
quot;assign"><bool>false</bool></edit><br>=C2=A0 =
=C2=A0 <edit name=3D"lcdfilter" mode=3D"assign">&=
lt;const>lcddefault</const></edit><br>=C2=A0 </match><=
br></div><div><br></div></div><div>This will affect=C2=A0how fonts are rend=
ered system wide.</div><div><br></div><div>Thanks</div><div>Mike</div></div=
><br><div class=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" clas=
s=3D"gmail_attr">On Wed, Oct 1, 2025 at 3:31=E2=80=AFAM Manuel Giraud <<=
a href=3D"mailto:manuel@HIDDEN">manuel@HIDDEN</a>> wrote=
:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.=
8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Mike <<a hr=
ef=3D"mailto:mikeandmore@HIDDEN" target=3D"_blank">mikeandmore@HIDDEN=
</a>> writes:<br>
<br>
> Hi<br>
><br>
> You'll need the X11 backend running on a low pixel density display=
. Then<br>
> with my patch, you should see the difference between:<br>
><br>
> (set-face-attribute 'default nil :font (font-spec :family "Ha=
ck" :hinting t<br>
> :size 10))<br>
><br>
> and<br>
><br>
> (set-face-attribute 'default nil :font (font-spec :family "Ha=
ck" :hinting<br>
> nil :size 10))<br>
><br>
> Here are the screenshots.<br>
<br>
Hi,<br>
<br>
I've tested this recipe on 30.2 *without* your patch and I can already<=
br>
see a difference between without or with hinting:<br>
<br>
<br>
Calling (frame-parameter nil 'font-backend) returns (ftcrhb x).<br>
-- <br>
Manuel Giraud<br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature">Thanks<br>Mike</div>
--000000000000a8f1230640199db9--
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Manuel Giraud <manuel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 01 Oct 2025 17:04:02 +0000
Resent-Message-ID: <handler.79090.B79090.175933818727381 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Mike <mikeandmore@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175933818727381
(code B ref 79090); Wed, 01 Oct 2025 17:04:02 +0000
Received: (at 79090) by debbugs.gnu.org; 1 Oct 2025 17:03:07 +0000
Received: from localhost ([127.0.0.1]:36607 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v40EN-00077W-6j
for submit <at> debbugs.gnu.org; Wed, 01 Oct 2025 13:03:07 -0400
Received: from ledu-giraud.fr ([51.159.28.247]:12174)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <manuel@HIDDEN>)
id 1v40EF-00076U-8y
for 79090 <at> debbugs.gnu.org; Wed, 01 Oct 2025 13:03:02 -0400
DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=uLHrkA+s
KdTa4HeTpzNUUJSkhU9lyZ/mugfPq/2xQMc=;
h=date:references:in-reply-to:
subject:cc:to:from; d=ledu-giraud.fr; b=jKA2IiXp7ekqBt28CLGP4CSjmWiWZi
sIi9MQCUJmy+ojoG4yD9HryrAX4XTxGqWVEx3RGqmWkLDZU3/Bn8bMAw==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=uLHrkA+sKdTa4HeT
pzNUUJSkhU9lyZ/mugfPq/2xQMc=;
h=date:references:in-reply-to:subject:
cc:to:from; d=ledu-giraud.fr; b=aEjHr+bUjlw8u1P0NbgfU9QT1dga8ppR7X8YkT
uGEHn5FQKgSnFP1/pDKa3AMkYXE7n5fw7C+PUrx81BvlgtSmMt9j1A9ym7DzIxkksdvAks
Ht2UUENjjsVjKHnxPZGwAjHbgmlkQW93Tg3XJpFgNDiCCd+AQ1e9xcw1vcdU+J5U0Q50wr
ceqh5WRCBbYcqujo9vXTHyKts2Aea81AGB+nnIDOon/72xypIpU6zCF5BS4LQY4EFzR8AP
TsqL3AQMQAGnIEamr+ldff+288qz8Z6g4GRV0+AviV8DfmWXLHN7iw8F6TqlvjUqj1bkFV
G62Sbk93iZhfdfRgeKh9g5uw==
Received: from computer (<unknown> [10.1.1.1])
by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id a0f27957
(TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO);
Wed, 1 Oct 2025 19:02:55 +0200 (CEST)
From: Manuel Giraud <manuel@HIDDEN>
In-Reply-To: <CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
Date: Wed, 01 Oct 2025 19:02:54 +0200
Message-ID: <87frc2v9kx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
Mike <mikeandmore@HIDDEN> writes:
> Hi
>
> Thanks for the help!
>
> Hmm, I think you do not have font settings for the global pattern. Can you
> try the following in your fonts.conf?
>
> <match target="pattern">
> <edit name="antialias" mode="assign"><bool>true</bool></edit>
> <edit name="globaladvance" mode="assign"><bool>true</bool></edit>
> <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
> <edit name="hinting" mode="assign"><bool>false</bool></edit>
> <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
> <edit name="rgba" mode="assign"><const>rgb</const></edit>
> <edit name="autohint" mode="assign"><bool>false</bool></edit>
> <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
> </match>
>
> This will affect how fonts are rendered system wide.
Hi,
I have prepend this to my ~/.config/fontconfig/fonts.conf that now looks
like this:
--8<---------------cut here---------------start------------->8---
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<edit name="globaladvance" mode="assign"><bool>true</bool></edit>
<edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
<edit name="hinting" mode="assign"><bool>false</bool></edit>
<edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
<edit name="autohint" mode="assign"><bool>false</bool></edit>
<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
</match>
<alias>
<family>monospace</family>
<prefer><family>Ttyp0</family></prefer>
</alias>
<alias>
<family>monospace serif</family>
<prefer><family>Ttyp0</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>DejaVu Sans</family></prefer>
</alias>
<alias>
<family>serif</family>
<prefer><family>DejaVu Serif</family></prefer>
</alias>
<alias>
<family>emoji</family>
<prefer><family>OpenMoji Black</family></prefer>
</alias>
</fontconfig>
--8<---------------cut here---------------end--------------->8---
But with or without your patch, I could *not* see any differences in
Emacs when calling:
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting t :size 10))
or:
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting nil :size 10))
Also, with your patch, Emacs writes what seems like informations about
the font being loaded into the terminal from where it has been launched.
It is also very easy to crash Emacs by calling for example:
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting t :size 20))
--
Manuel Giraud
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Mike <mikeandmore@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 01 Oct 2025 18:07:02 +0000
Resent-Message-ID: <handler.79090.B79090.175934199114970 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Manuel Giraud <manuel@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175934199114970
(code B ref 79090); Wed, 01 Oct 2025 18:07:02 +0000
Received: (at 79090) by debbugs.gnu.org; 1 Oct 2025 18:06:31 +0000
Received: from localhost ([127.0.0.1]:36799 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v41Di-0003tN-O3
for submit <at> debbugs.gnu.org; Wed, 01 Oct 2025 14:06:31 -0400
Received: from mail-yx1-xb136.google.com ([2607:f8b0:4864:20::b136]:61611)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <mikeandmore@HIDDEN>)
id 1v41Dc-0003sy-6a
for 79090 <at> debbugs.gnu.org; Wed, 01 Oct 2025 14:06:26 -0400
Received: by mail-yx1-xb136.google.com with SMTP id
956f58d0204a3-6354a4b4871so254467d50.2
for <79090 <at> debbugs.gnu.org>; Wed, 01 Oct 2025 11:06:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1759341977; x=1759946777; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=MdvZhDfR5gYf40AlOj/RvYAJwJT6tfB9xK2pP9bfBbc=;
b=cuCmqB4RFjIsqwZrL7UkkvHP2OrCYLKR6DaFPyG6dm1YmvDIhMkeF8S75TE2F7GV1H
Y+7JiHCLldvEZv3Kk/y6swLIRKiI6xw9xeJvw9eqwrALaHPT101AwHD/Fs5gOgl0d2g7
9zLdVNQMga5ZSUq4dlePrOSsWU4H18kZVfNc13/uRIhCky9bktnHcS8ahsA2qkZs49he
WiW1AUjv0ibJIuawRKNc89ShgRKREfRkey3LOY5QYhnpw5TRPu3NSZHeowLEJHec68sl
DksYB6paej1tXVSlMZDP93XTTUV1VxoHMxjkcrzmNIKibHYPd5/QV5zopDdeRo+OpTLV
40cQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1759341977; x=1759946777;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=MdvZhDfR5gYf40AlOj/RvYAJwJT6tfB9xK2pP9bfBbc=;
b=mFetmzfoZzdg9ANafRY4Ze/HR7LTvQjuAY/IA7wzqxAuHFz8iJEPeuR8VSaJLwULTj
/opjUzKQpix9uj5KOOHdTqn54qgfLogxeVGKaOSXpqeVlGs9pMBbJ45KP2EDzSGZaBKH
hP5KBIb939Om++cH/50u1NAa3rDaNax8MwAZgIW9UkGy0goxZBbnXZ+3olIF0H7dXH3D
epgFtYmBbyMj8+C5wFfZZ4wGzuXM9UZMAOVyTcJVnb8mobbK/TsPcNle06xkFSsJvLk3
Aws26BiUGA6ckuapn74MstvNkFd7j6EXAStgbpoR2zf9RvtJICTMfJnbZ9Fb3LI5ok7X
Hl9A==
X-Gm-Message-State: AOJu0Yx7NpFkYmJaww9IeTJO3RZqeIfKB5n+z4T6s+Qg/eVCPgU38kpj
eB8q08Jvos3P/6CknXFUiJDM6D5sZyLVeqSufWLJCo54VWZOL8Z/lVyTiQ1RITMaCwja/eRz9cz
2gIgk0oS7mmlUlACBjHPVu92nUWbpkJ4=
X-Gm-Gg: ASbGncuhRwAa1IUPbS/8za5t1VHV5zDYHbjOLAuvJ9y9jlycpwPOK35aOev05Y3ndLw
jYKK2E1ckbirYLsJah+kGcxDgyF+RCYuQM0Hgwvy1C+GTFfi31PYvL9wAJ5lHN7I+780Vb51IV5
GCvXulK1n53TCCofAaWh0E3+kmFRtM72hjTI/CokeSHpyArYPRvwaChSy5jdsXvUB7UrSGIDVqm
U6yEeFd1F8nntquK5mkoEwP4hCJTRXV3IXFgJEg
X-Google-Smtp-Source: AGHT+IFOMreTda62XLXW4BqUMMzKLhu0K6MfZnvbNiUH9lXjxYe7qzQ23eB/q2afGMzpFuCTyGnFSHEATBqJNiCpgRE=
X-Received: by 2002:a53:dccf:0:b0:5fc:62d0:327 with SMTP id
956f58d0204a3-63b6fede719mr4972448d50.16.1759341977006; Wed, 01 Oct 2025
11:06:17 -0700 (PDT)
MIME-Version: 1.0
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
In-Reply-To: <87frc2v9kx.fsf@HIDDEN>
From: Mike <mikeandmore@HIDDEN>
Date: Wed, 1 Oct 2025 14:06:06 -0400
X-Gm-Features: AS18NWDyP_PFzC0SFc2Ue-AnDobKPbqZhJ3EvdafJ2fsZDRTK1cIPLYXGA4Pm4U
Message-ID: <CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000093f6f906401cb936"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--00000000000093f6f906401cb936
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi
Thanks a bunch!
On Wed, Oct 1, 2025 at 1:02=E2=80=AFPM Manuel Giraud <manuel@HIDDEN=
> wrote:
> Mike <mikeandmore@HIDDEN> writes:
>
> > Hi
> >
> > Thanks for the help!
> >
> > Hmm, I think you do not have font settings for the global pattern. Can
> you
> > try the following in your fonts.conf?
> >
> > <match target=3D"pattern">
> > <edit name=3D"antialias" mode=3D"assign"><bool>true</bool></edit>
> > <edit name=3D"globaladvance" mode=3D"assign"><bool>true</bool></edi=
t>
> > <edit name=3D"embeddedbitmap" mode=3D"assign"><bool>false</bool></e=
dit>
> > <edit name=3D"hinting" mode=3D"assign"><bool>false</bool></edit>
> > <edit name=3D"hintstyle" mode=3D"assign"><const>hintnone</const></e=
dit>
> > <edit name=3D"rgba" mode=3D"assign"><const>rgb</const></edit>
> > <edit name=3D"autohint" mode=3D"assign"><bool>false</bool></edit>
> > <edit name=3D"lcdfilter" mode=3D"assign"><const>lcddefault</const><=
/edit>
> > </match>
> >
> > This will affect how fonts are rendered system wide.
>
> Hi,
>
> I have prepend this to my ~/.config/fontconfig/fonts.conf that now looks
> like this:
>
> --8<---------------cut here---------------start------------->8---
> <?xml version=3D"1.0"?>
> <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
> <fontconfig>
>
> <match target=3D"pattern">
> <edit name=3D"antialias" mode=3D"assign"><bool>true</bool></edit>
> <edit name=3D"globaladvance" mode=3D"assign"><bool>true</bool></edit>
> <edit name=3D"embeddedbitmap" mode=3D"assign"><bool>false</bool></edi=
t>
> <edit name=3D"hinting" mode=3D"assign"><bool>false</bool></edit>
> <edit name=3D"hintstyle" mode=3D"assign"><const>hintnone</const></edi=
t>
> <edit name=3D"rgba" mode=3D"assign"><const>rgb</const></edit>
> <edit name=3D"autohint" mode=3D"assign"><bool>false</bool></edit>
> <edit name=3D"lcdfilter" mode=3D"assign"><const>lcddefault</const></e=
dit>
> </match>
>
> <alias>
> <family>monospace</family>
> <prefer><family>Ttyp0</family></prefer>
> </alias>
> <alias>
> <family>monospace serif</family>
> <prefer><family>Ttyp0</family></prefer>
> </alias>
> <alias>
> <family>sans-serif</family>
> <prefer><family>DejaVu Sans</family></prefer>
> </alias>
> <alias>
> <family>serif</family>
> <prefer><family>DejaVu Serif</family></prefer>
> </alias>
> <alias>
> <family>emoji</family>
> <prefer><family>OpenMoji Black</family></prefer>
> </alias>
> </fontconfig>
> --8<---------------cut here---------------end--------------->8---
>
> But with or without your patch, I could *not* see any differences in
> Emacs when calling:
>
This is exactly the problem I'm trying to resolve here, and it looks much
harder than I expect!
Is your installation a debian? I wonder if I can reproduce that from a VM.
>
> (set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
> t :size 10))
>
> or:
>
> (set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
> nil :size 10))
>
> Also, with your patch, Emacs writes what seems like informations about
> the font being loaded into the terminal from where it has been launched.
> It is also very easy to crash Emacs by calling for example:
>
> (set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
> t :size 20))
>
I've never encountered that, do you have a stack trace?
> --
> Manuel Giraud
>
--=20
Thanks
Mike
--00000000000093f6f906401cb936
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Hi</div><div><br></div><div>Thanks a bunch!</div><br>=
<div class=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"=
gmail_attr">On Wed, Oct 1, 2025 at 1:02=E2=80=AFPM Manuel Giraud <<a hre=
f=3D"mailto:manuel@HIDDEN">manuel@HIDDEN</a>> wrote:<br>=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;b=
order-left:1px solid rgb(204,204,204);padding-left:1ex">Mike <<a href=3D=
"mailto:mikeandmore@HIDDEN" target=3D"_blank">mikeandmore@HIDDEN</a>&=
gt; writes:<br>
<br>
> Hi<br>
><br>
> Thanks for the help!<br>
><br>
> Hmm, I think you do not have font settings for the global pattern. Can=
you<br>
> try the following in your fonts.conf?<br>
><br>
>=C2=A0 =C2=A0<match target=3D"pattern"><br>
>=C2=A0 =C2=A0 =C2=A0<edit name=3D"antialias" mode=3D"=
assign"><bool>true</bool></edit><br>
>=C2=A0 =C2=A0 =C2=A0<edit name=3D"globaladvance" mode=3D&q=
uot;assign"><bool>true</bool></edit><br>
>=C2=A0 =C2=A0 =C2=A0<edit name=3D"embeddedbitmap" mode=3D&=
quot;assign"><bool>false</bool></edit><br>
>=C2=A0 =C2=A0 =C2=A0<edit name=3D"hinting" mode=3D"as=
sign"><bool>false</bool></edit><br>
>=C2=A0 =C2=A0 =C2=A0<edit name=3D"hintstyle" mode=3D"=
assign"><const>hintnone</const></edit><br>
>=C2=A0 =C2=A0 =C2=A0<edit name=3D"rgba" mode=3D"assig=
n"><const>rgb</const></edit><br>
>=C2=A0 =C2=A0 =C2=A0<edit name=3D"autohint" mode=3D"a=
ssign"><bool>false</bool></edit><br>
>=C2=A0 =C2=A0 =C2=A0<edit name=3D"lcdfilter" mode=3D"=
assign"><const>lcddefault</const></edit><br>
>=C2=A0 =C2=A0</match><br>
><br>
> This will affect how fonts are rendered system wide.<br>
<br>
Hi,<br>
<br>
I have prepend this to my ~/.config/fontconfig/fonts.conf that now looks<br=
>
like this:<br>
<br>
--8<---------------cut here---------------start------------->8---<br>
<?xml version=3D"1.0"?><br>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br>
<fontconfig><br>
<br>
=C2=A0 <match target=3D"pattern"><br>
=C2=A0 =C2=A0 <edit name=3D"antialias" mode=3D"assign&quo=
t;><bool>true</bool></edit><br>
=C2=A0 =C2=A0 <edit name=3D"globaladvance" mode=3D"assign=
"><bool>true</bool></edit><br>
=C2=A0 =C2=A0 <edit name=3D"embeddedbitmap" mode=3D"assig=
n"><bool>false</bool></edit><br>
=C2=A0 =C2=A0 <edit name=3D"hinting" mode=3D"assign"=
><bool>false</bool></edit><br>
=C2=A0 =C2=A0 <edit name=3D"hintstyle" mode=3D"assign&quo=
t;><const>hintnone</const></edit><br>
=C2=A0 =C2=A0 <edit name=3D"rgba" mode=3D"assign">=
;<const>rgb</const></edit><br>
=C2=A0 =C2=A0 <edit name=3D"autohint" mode=3D"assign"=
;><bool>false</bool></edit><br>
=C2=A0 =C2=A0 <edit name=3D"lcdfilter" mode=3D"assign&quo=
t;><const>lcddefault</const></edit><br>
=C2=A0 </match><br>
<br>
=C2=A0 <alias><br>
=C2=A0 =C2=A0 <family>monospace</family><br>
=C2=A0 =C2=A0 <prefer><family>Ttyp0</family></prefer&g=
t;<br>
=C2=A0 </alias><br>
=C2=A0 <alias><br>
=C2=A0 =C2=A0 <family>monospace serif</family><br>
=C2=A0 =C2=A0 <prefer><family>Ttyp0</family></prefer&g=
t;<br>
=C2=A0 </alias><br>
=C2=A0 <alias><br>
=C2=A0 =C2=A0 <family>sans-serif</family><br>
=C2=A0 =C2=A0 <prefer><family>DejaVu Sans</family></pr=
efer><br>
=C2=A0 </alias><br>
=C2=A0 <alias><br>
=C2=A0 =C2=A0 <family>serif</family><br>
=C2=A0 =C2=A0 <prefer><family>DejaVu Serif</family></p=
refer><br>
=C2=A0 </alias><br>
=C2=A0 <alias><br>
=C2=A0 =C2=A0 <family>emoji</family><br>
=C2=A0 =C2=A0 <prefer><family>OpenMoji Black</family><=
/prefer><br>
=C2=A0 </alias><br>
</fontconfig><br>
--8<---------------cut here---------------end--------------->8---<br>
<br>
But with or without your patch, I could *not* see any differences in<br>
Emacs when calling:<br></blockquote><div><br></div><div>This is exactly the=
problem I'm trying to resolve here, and it looks much harder than I ex=
pect!</div><div><br></div><div>Is your installation a debian? I wonder if I=
can reproduce that from a VM.</div><div>=C2=A0</div><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204=
,204,204);padding-left:1ex">
<br>
(set-face-attribute 'default nil :font (font-spec :family "Hack&qu=
ot; :hinting t :size 10))<br>
<br>
or:<br>
<br>
(set-face-attribute 'default nil :font (font-spec :family "Hack&qu=
ot; :hinting nil :size 10))<br>
<br>
Also, with your patch, Emacs writes what seems like informations about<br>
the font being loaded into the terminal from where it has been launched.<br=
>
It is also very easy to crash Emacs by calling for example:<br>
<br>
(set-face-attribute 'default nil :font (font-spec :family "Hack&qu=
ot; :hinting t :size 20))<br></blockquote><div><br></div><div>I've neve=
r encountered that, do you have a stack trace?</div><div><br></div><div>=C2=
=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex">
-- <br>
Manuel Giraud<br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature">Thanks<br>Mike</div></div>
--00000000000093f6f906401cb936--
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Manuel Giraud <manuel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 01 Oct 2025 19:23:02 +0000
Resent-Message-ID: <handler.79090.B79090.17593465508635 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Mike <mikeandmore@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.17593465508635
(code B ref 79090); Wed, 01 Oct 2025 19:23:02 +0000
Received: (at 79090) by debbugs.gnu.org; 1 Oct 2025 19:22:30 +0000
Received: from localhost ([127.0.0.1]:37105 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v42PF-0002FC-Vz
for submit <at> debbugs.gnu.org; Wed, 01 Oct 2025 15:22:30 -0400
Received: from ledu-giraud.fr ([51.159.28.247]:46012)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <manuel@HIDDEN>)
id 1v42PA-0002Ep-PQ
for 79090 <at> debbugs.gnu.org; Wed, 01 Oct 2025 15:22:26 -0400
DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=1B/JIXSI
VeEEx+mzNgJpuCb2WMpJw2TdD3ZJ5ulJX70=;
h=date:references:in-reply-to:
subject:cc:to:from; d=ledu-giraud.fr; b=/C6OP0HCXNE4SR3LLC4swgwpaIkudS
qMGPB1xBp4o6n96EurhlKL29aymtBCO+lLzmRTHxiqNSsDefqsvOeJBg==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=1B/JIXSIVeEEx+mz
NgJpuCb2WMpJw2TdD3ZJ5ulJX70=;
h=date:references:in-reply-to:subject:
cc:to:from; d=ledu-giraud.fr; b=x72akNe8VrH39Qkt8vYvOGYj/cssM8Mogo/4Yu
iaC+LGR+NF7GI09oHXUlGMDkC+l1tbF3BocBSgKtQKmRBS9DolEyk4VvEzTqTnKg+lJHY+
zj0zwybJz6NCTyDTCTtWkKGUWsoBzpTTcHYJombIf5Sk8ks0MwaLZ+8KcXWSNfFcJxG4UN
V74qNzYp8vkN3Q8Wp7Xgn+YBhHCD2d8ma0B/qS6YdoKxjjJvqf/PtGvbbqnyCmLLMxSUTk
7xq+ift4XYSmOXuM+AD23kbioUwZjEJL46finh6NM7o7AADrlv0wRzbIWbBDl34CU+APO3
N8aXdoDLOKVs0OlzOizVQd3Q==
Received: from computer (<unknown> [10.1.1.1])
by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id 8b2990b5
(TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO);
Wed, 1 Oct 2025 21:22:21 +0200 (CEST)
From: Manuel Giraud <manuel@HIDDEN>
In-Reply-To: <CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
Date: Wed, 01 Oct 2025 21:22:20 +0200
Message-ID: <87bjmqv34j.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
Mike <mikeandmore@HIDDEN> writes:
[...]
>> But with or without your patch, I could *not* see any differences in
>> Emacs when calling:
>>
>
> This is exactly the problem I'm trying to resolve here, and it looks much
> harder than I expect!
So you're saying user's fonts.conf (here with no hinting) should take
precedence over what an Emacs' user sets in a set-face-attribute call?
Why is that a problem that this currently is the other way around?
> Is your installation a debian? I wonder if I can reproduce that from a
> VM.
No, I'm using OpenBSD. What do you want to reproduce in a VM?
[...]
>> (set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
>> t :size 20))
>>
>
> I've never encountered that, do you have a stack trace?
No but I could try to make one from gdb.
--
Manuel Giraud
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Mike <mikeandmore@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 01 Oct 2025 19:46:02 +0000
Resent-Message-ID: <handler.79090.B79090.175934795917882 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Manuel Giraud <manuel@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175934795917882
(code B ref 79090); Wed, 01 Oct 2025 19:46:02 +0000
Received: (at 79090) by debbugs.gnu.org; 1 Oct 2025 19:45:59 +0000
Received: from localhost ([127.0.0.1]:37175 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v42ly-0004eM-H7
for submit <at> debbugs.gnu.org; Wed, 01 Oct 2025 15:45:59 -0400
Received: from mail-yx1-xb135.google.com ([2607:f8b0:4864:20::b135]:42413)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <mikeandmore@HIDDEN>)
id 1v42ls-0004dn-4q
for 79090 <at> debbugs.gnu.org; Wed, 01 Oct 2025 15:45:53 -0400
Received: by mail-yx1-xb135.google.com with SMTP id
956f58d0204a3-633be3be1e6so251365d50.1
for <79090 <at> debbugs.gnu.org>; Wed, 01 Oct 2025 12:45:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1759347945; x=1759952745; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=lX+bICXhK8cfU+TuRrpAZFj1T/7q2naEKSvqZkQG1cg=;
b=LQJIuznP+5CTehz4ARLvjQhMrZ9qGvDM7xQJT4b2+z3RWbSrp4UG9NE3SYwEOhT9Rr
PUrDdRBKVqRj7tOj23zG8wTr03BItlVVTSXfcPhgg7PTY7VLcoXE3ZZEuKh6O29jSZ9e
PtYEjBvTGPsiLREUTiay4C22GPsU+QOj93EjOwTZiF02ZSAJ0VvYRbqu4iG/tcBdlzEa
yNBFXVSu6xvRhwe2BGXvi6LE24JL+H6mH58wKvt8V3u+hMv2oLF1oKt4ToMQnEx9jLlw
I2l6JPIo/mwhTDqEoKUKN8ScFrYneaZGrG4KjATdtsaL01HS4qpLYDJwdWsBTsFbKVW1
Cujg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1759347945; x=1759952745;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=lX+bICXhK8cfU+TuRrpAZFj1T/7q2naEKSvqZkQG1cg=;
b=H1NwLS8RPui4vqP8qQjDR1iwQiR1qyEZQ0NKb/7sWORhyRblfAwx4M78fOltBdgK/9
hW7wiAtcP3vjk4I4n9XmcdKvgb5ZStwSTyOgBc6GUxDW2P5MSd3BWCS8zs617v7tNNWo
sHL8DBfxlnCNCSskN05rNUYAPJQGJvtu0bADgPfnfw7nHY62XQYMuNG5Wm3kk7x6iTI/
r/h64hS1gfS/48jR++M7TnZYfvCdUJKA7bhFqav5iKZE/6Vc279GYcZpZuDGMjGj832b
WAAgi/hm0I9uxwXkMKAwH29o8yBXNh/Oz77PLbB9IutbOR/DSgTPqtCnRUNC3SpYDuop
3Lig==
X-Gm-Message-State: AOJu0Yw7Jc9zGqfFn+w1iL9F8FZowjxHLX2lGLY98KKaJMhSGuSDOLtU
wxt2hGDcaPkwsT7shv82RjDrDzbnjRjR/9GhgkhI4OT2JD0m4Rtb7bpzLfyCdbW7Gw0t4kOhxXN
5kHVvD7vWqGH3WhBGBcZ4LsISBkcjd3A=
X-Gm-Gg: ASbGncv2WKEdtMAat/uOA7MF5qnBvU4oesZuKX2niVeh446fBf0GRRnv6wUdzgWB/RW
JSigvAy9lUtHPWxQ8pa1D99pGrYJYHFajSajdtkYYhUwoyeT0Ma0/I1HMkn+Ee/DevubPG0zntC
XCToSa6a4arGMzblfzHrjXBUPyb3F5iigPhvfPVLBk/tK7tZlBJvryKXb7vW8Gm4fIEsXMlFbM4
Nd13RnpDS/dd9XnOP66KvUd37Hl2w==
X-Google-Smtp-Source: AGHT+IF9B7YRyuU/F5mh3Dmeus3mNEbHwdFIMYlGdKoO2Qwbh1MQNjFu3ieL8AH5V4pcqIb93Km6oYCLjX+qxMvj3XU=
X-Received: by 2002:a53:b6cd:0:b0:635:4ed0:5722 with SMTP id
956f58d0204a3-63b83b1a22emr893450d50.26.1759347944850; Wed, 01 Oct 2025
12:45:44 -0700 (PDT)
MIME-Version: 1.0
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
In-Reply-To: <87bjmqv34j.fsf@HIDDEN>
From: Mike <mikeandmore@HIDDEN>
Date: Wed, 1 Oct 2025 15:45:33 -0400
X-Gm-Features: AS18NWD85zS82t5KjMy8jei3yfCqvF3IEyvnU1TZ0-ULjLZXh2b1PXbYcCxGWsQ
Message-ID: <CAMyCBXdhW2CmHkNzQoGDwBfRhTk7mN03UeGCOi6NwX0X-JkOpg@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000004a0b8306401e1dc0"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--0000000000004a0b8306401e1dc0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Wed, Oct 1, 2025 at 3:22=E2=80=AFPM Manuel Giraud <manuel@HIDDEN=
> wrote:
> Mike <mikeandmore@HIDDEN> writes:
>
> [...]
>
> >> But with or without your patch, I could *not* see any differences in
> >> Emacs when calling:
> >>
> >
> > This is exactly the problem I'm trying to resolve here, and it looks mu=
ch
> > harder than I expect!
>
> So you're saying user's fonts.conf (here with no hinting) should take
> precedence over what an Emacs' user sets in a set-face-attribute call?
> Why is that a problem that this currently is the other way around?
>
> > Is your installation a debian? I wonder if I can reproduce that from a
> > VM.
>
> No, I'm using OpenBSD. What do you want to reproduce in a VM?
>
Yes, let me set up a VM first.
>
> [...]
>
> >> (set-face-attribute 'default nil :font (font-spec :family "Hack"
> :hinting
> >> t :size 20))
> >>
> >
> > I've never encountered that, do you have a stack trace?
>
> No but I could try to make one from gdb.
>
Thanks, I'd really appreciate that!
> --
> Manuel Giraud
>
--=20
Thanks
Mike
--0000000000004a0b8306401e1dc0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div dir=3D"ltr">On Wed, Oct 1, 2025 at 3:22=E2=80=AFPM Ma=
nuel Giraud <<a href=3D"mailto:manuel@HIDDEN">manuel@ledu-giraud=
.fr</a>> wrote:</div><div class=3D"gmail_quote gmail_quote_container"><b=
lockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-le=
ft:1px solid rgb(204,204,204);padding-left:1ex">Mike <<a href=3D"mailto:=
mikeandmore@HIDDEN" target=3D"_blank">mikeandmore@HIDDEN</a>> writ=
es:<br>
<br>
[...]<br>
<br>
>> But with or without your patch, I could *not* see any differences =
in<br>
>> Emacs when calling:<br>
>><br>
><br>
> This is exactly the problem I'm trying to resolve here, and it loo=
ks much<br>
> harder than I expect!<br>
<br>
So you're saying user's fonts.conf (here with no hinting) should ta=
ke<br>
precedence over what an Emacs' user sets in a set-face-attribute call?<=
br>
Why is that a problem that this currently is the other way around?<br>
<br>
> Is your installation a debian? I wonder if I can reproduce that from a=
<br>
> VM.<br>
<br>
No, I'm using OpenBSD.=C2=A0 What do you want to reproduce in a VM?<br>=
</blockquote><div><br></div><div>Yes, let me set up a VM first.</div><div>=
=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
[...]<br>
<br>
>> (set-face-attribute 'default nil :font (font-spec :family &quo=
t;Hack" :hinting<br>
>> t :size 20))<br>
>><br>
><br>
> I've never encountered that, do you have a stack trace?<br>
<br>
No but I could try to make one from gdb.<br></blockquote><div><br></div><di=
v>Thanks, I'd really appreciate that!</div><div>=C2=A0</div><blockquote=
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px so=
lid rgb(204,204,204);padding-left:1ex">
-- <br>
Manuel Giraud<br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature">Thanks<br>Mike</div></div>
--0000000000004a0b8306401e1dc0--
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Mike <mikeandmore@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 01 Oct 2025 20:18:01 +0000
Resent-Message-ID: <handler.79090.B79090.17593498792011 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Manuel Giraud <manuel@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.17593498792011
(code B ref 79090); Wed, 01 Oct 2025 20:18:01 +0000
Received: (at 79090) by debbugs.gnu.org; 1 Oct 2025 20:17:59 +0000
Received: from localhost ([127.0.0.1]:37271 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v43Gw-0000WI-JW
for submit <at> debbugs.gnu.org; Wed, 01 Oct 2025 16:17:59 -0400
Received: from mail-yw1-x1135.google.com ([2607:f8b0:4864:20::1135]:58714)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <mikeandmore@HIDDEN>)
id 1v43Go-0000VC-Ef
for 79090 <at> debbugs.gnu.org; Wed, 01 Oct 2025 16:17:55 -0400
Received: by mail-yw1-x1135.google.com with SMTP id
00721157ae682-77636fb28f6so3235267b3.1
for <79090 <at> debbugs.gnu.org>; Wed, 01 Oct 2025 13:17:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1759349863; x=1759954663; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=2clk5ozY3KpO7vnYhkJ9gM7vN7KCS1P0jh1/dtQ1FvA=;
b=nOA43xWJ/14bC+1EWkVLll8cNcfKlfyHalB6npUDSveL9BmvyGAAV6rxP/Azl3h1K5
DNOOwFKIOIABbKDG48vT74IkXowNNqp1ss2RudeFjLFNwxxUk/oTWSD4qGpwpRDnalJo
xCgBP20A0KNG8YJRPk85IfNmNkBwFu2KSMGBuV9oudivx9NTB3xMKzmLxLRWA0Fsc/f1
skUZo/7k+WwqILYRyJQIaIZ1Yft+GdSueUrdJClwHeLHUvgBAxJ2MJAhmdgTFcU3pAGq
IBg8Etci7CmiR0eMx/Faudgy66HNno+yY97FkJ6CvL14MUYf25nenZBXoRX46q15KhDc
31OQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1759349863; x=1759954663;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=2clk5ozY3KpO7vnYhkJ9gM7vN7KCS1P0jh1/dtQ1FvA=;
b=Vp2zz2UKholL+YB3x3467JMIyeMZ8zBvLELIZYR4piXhDw9k/6Eq/td80muSzba8/0
ZipnU0CbYIoULoC5OI618k/dBf3fUixaIC+zLsEbkmnO0c4+NO3uU0TasoSVIG9yX5cT
SQEql67d6sfB9aHt6wcBCzVjaSXNz3ARIpt82FEY4Mr6InqXEVZchzevAuilROJeM3V5
Zc+TL3he9v3/lamejwbuBmAEbhMoAyprRm2+CsNqai326asgVAT/eXOHdmg0MtaPw39H
Lv/nMOqgOUoNMwDSa6AHXaoFFQrX+CY+bJD0l0chDAeHmB6kRBv7zaGAu8nKOIIOFRxi
gsdA==
X-Gm-Message-State: AOJu0YxsGXD+lhUy72agErUnWeQsCC0f/sqo1SwGU40NU/812JiAocR9
2pbgx2u0JiBhe6mzC1O8IohfTTOBgsSkL8Wcva2om018oGskSbd5zCq0OgP2ddl1a2YAHpfKOMJ
U5POLtbyDRjeNYJSHpRAVj1u3s/GxKTA=
X-Gm-Gg: ASbGncuQN838FL6Cvoeem5leYgBXzR93ttJffg7hOtzj8t/UFTYFnzryZXS/As4z8Hp
uqMk/jXoEa220qH3I+5Y1c6LbvZiKErjJ8yeNuAwOavTE2vZtywAc5xJ8i6e/hbM4Lyv/p1vNLy
lKgxbJmtKj0XWhfUrixsSkb55qQu7UO/RwxZ9RPc/wE2pR0QpctO82SSwSqp0M5Mfvg4MmwzDXY
qR6rta8cXjT11XON8jwmrRjUHEkCQ==
X-Google-Smtp-Source: AGHT+IEJiRLl4RzPEaK41C+OjfrUyP8UJpqDi0P6Rjv/fOcL+JOyjszvzXz3sZxsD2OGIqrei88WyOmIV4G+v/iKm9o=
X-Received: by 2002:a05:690e:251b:10b0:633:bd73:1368 with SMTP id
956f58d0204a3-63b6feefa87mr6161688d50.21.1759349863276; Wed, 01 Oct 2025
13:17:43 -0700 (PDT)
MIME-Version: 1.0
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
In-Reply-To: <87bjmqv34j.fsf@HIDDEN>
From: Mike <mikeandmore@HIDDEN>
Date: Wed, 1 Oct 2025 16:17:32 -0400
X-Gm-Features: AS18NWCdU594DJSTPJBmfl8f0OjLsqAsQBnJzXw6DllfIz5lDFyHFgJfagth7OA
Message-ID: <CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000a2e3ee06401e8f80"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--000000000000a2e3ee06401e8f80
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Wed, Oct 1, 2025 at 3:22=E2=80=AFPM Manuel Giraud <manuel@HIDDEN=
> wrote:
> Mike <mikeandmore@HIDDEN> writes:
>
> [...]
>
> >> But with or without your patch, I could *not* see any differences in
> >> Emacs when calling:
> >>
> >
> > This is exactly the problem I'm trying to resolve here, and it looks mu=
ch
> > harder than I expect!
>
> So you're saying user's fonts.conf (here with no hinting) should take
> precedence over what an Emacs' user sets in a set-face-attribute call?
> Why is that a problem that this currently is the other way around?
>
No, the other way around. Emacs's set-face-attribute should override
system-wide font setting.
>
> > Is your installation a debian? I wonder if I can reproduce that from a
> > VM.
>
> No, I'm using OpenBSD. What do you want to reproduce in a VM?
>
> [...]
>
> >> (set-face-attribute 'default nil :font (font-spec :family "Hack"
> :hinting
> >> t :size 20))
> >>
> >
> > I've never encountered that, do you have a stack trace?
>
> No but I could try to make one from gdb.
> --
> Manuel Giraud
>
--=20
Thanks
Mike
--000000000000a2e3ee06401e8f80
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div dir=3D"ltr">On Wed, Oct 1, 2025 at 3:22=E2=80=AFPM Ma=
nuel Giraud <<a href=3D"mailto:manuel@HIDDEN">manuel@ledu-giraud=
.fr</a>> wrote:</div><div class=3D"gmail_quote gmail_quote_container"><b=
lockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-le=
ft:1px solid rgb(204,204,204);padding-left:1ex">Mike <<a href=3D"mailto:=
mikeandmore@HIDDEN" target=3D"_blank">mikeandmore@HIDDEN</a>> writ=
es:<br>
<br>
[...]<br>
<br>
>> But with or without your patch, I could *not* see any differences =
in<br>
>> Emacs when calling:<br>
>><br>
><br>
> This is exactly the problem I'm trying to resolve here, and it loo=
ks much<br>
> harder than I expect!<br>
<br>
So you're saying user's fonts.conf (here with no hinting) should ta=
ke<br>
precedence over what an Emacs' user sets in a set-face-attribute call?<=
br>
Why is that a problem that this currently is the other way around?<br></blo=
ckquote><div><br></div><div>No, the other way around. Emacs's=C2=A0set-=
face-attribute should override system-wide font setting.</div><div>=C2=A0</=
div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> Is your installation a debian? I wonder if I can reproduce that from a=
<br>
> VM.<br>
<br>
No, I'm using OpenBSD.=C2=A0 What do you want to reproduce in a VM?<br>
<br>
[...]<br>
<br>
>> (set-face-attribute 'default nil :font (font-spec :family &quo=
t;Hack" :hinting<br>
>> t :size 20))<br>
>><br>
><br>
> I've never encountered that, do you have a stack trace?<br>
<br>
No but I could try to make one from gdb.<br>
-- <br>
Manuel Giraud<br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature">Thanks<br>Mike</div></div>
--000000000000a2e3ee06401e8f80--
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 02 Oct 2025 05:56:01 +0000
Resent-Message-ID: <handler.79090.B79090.175938450720406 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Manuel Giraud <manuel@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175938450720406
(code B ref 79090); Thu, 02 Oct 2025 05:56:01 +0000
Received: (at 79090) by debbugs.gnu.org; 2 Oct 2025 05:55:07 +0000
Received: from localhost ([127.0.0.1]:38894 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v4CHS-0005J3-9u
for submit <at> debbugs.gnu.org; Thu, 02 Oct 2025 01:55:07 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:53782)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1v4CHK-0005IA-0D
for 79090 <at> debbugs.gnu.org; Thu, 02 Oct 2025 01:55:01 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1v4CHA-0004ke-MZ; Thu, 02 Oct 2025 01:54:49 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=Jhmb+CB3v1RwAacKvuSUWEPMiiWPAxfsLgfvXrQzkQk=; b=dQo+VJIhNebR
Yt0FAUFponBUFq7qOOygi1ByVJ8rkrTPt8LxA0jX+AR8+hwmHzeCXPDEsAQtQ/3T6Qcz+OeZLTlkF
utInuyMLLLnsLchrvSKtoOPLx1Rrx+7L+fCO7vvBlcnaE3hfioiqUxDhvoh4kiQ5pr6OZbDPv2UHD
hYeAi9pTA+j0Ga4LyGLIg7Y9XicnCXtKsiyDtpRVCz6gZBDVGrCy1ujrD8eCe1vKH8L3UiSoI4DDA
JHsLSN3kXdUSJdzzp30M6zFAt5GdRSxaTfYw6NGXLalbvR8EIO+yJjDukllr8Lk6u4C+uAGTG1PVs
wkVcE0dXCLmAkuG1w3cP5g==;
Date: Thu, 02 Oct 2025 08:54:42 +0300
Message-Id: <86plb5hmql.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87bjmqv34j.fsf@HIDDEN> (message from Manuel Giraud on
Wed, 01 Oct 2025 21:22:20 +0200)
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
> Cc: 79090 <at> debbugs.gnu.org
> From: Manuel Giraud <manuel@HIDDEN>
> Date: Wed, 01 Oct 2025 21:22:20 +0200
>
> Mike <mikeandmore@HIDDEN> writes:
>
> [...]
>
> >> But with or without your patch, I could *not* see any differences in
> >> Emacs when calling:
> >>
> >
> > This is exactly the problem I'm trying to resolve here, and it looks much
> > harder than I expect!
>
> So you're saying user's fonts.conf (here with no hinting) should take
> precedence over what an Emacs' user sets in a set-face-attribute call?
> Why is that a problem that this currently is the other way around?
Not only should it not be a problem, I think it _must_ be so. User
settings in Emacs should be able to override the defaults set by
fonts.conf. Otherwise, we'd need to tell our users that configuring
Emacs fonts needs to be done in system-wide fonts.conf, which sounds
wrong. It also affects other applications on the system, which again
sounds wrong to me.
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Manuel Giraud <manuel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 02 Oct 2025 06:32:02 +0000
Resent-Message-ID: <handler.79090.B79090.175938671131374 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Mike <mikeandmore@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175938671131374
(code B ref 79090); Thu, 02 Oct 2025 06:32:02 +0000
Received: (at 79090) by debbugs.gnu.org; 2 Oct 2025 06:31:51 +0000
Received: from localhost ([127.0.0.1]:38994 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v4Cr0-00089v-GX
for submit <at> debbugs.gnu.org; Thu, 02 Oct 2025 02:31:51 -0400
Received: from ledu-giraud.fr ([51.159.28.247]:30342)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <manuel@HIDDEN>)
id 1v4Cqq-00089Q-AU
for 79090 <at> debbugs.gnu.org; Thu, 02 Oct 2025 02:31:47 -0400
DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=4/MDFOoQ
ocg9cynYbODdk3gPlVM86EA4tnr9IaYCMwI=;
h=date:references:in-reply-to:
subject:cc:to:from; d=ledu-giraud.fr; b=eCHDIH7mRAgdgYdk8gnQ4cUxyk3AIv
oWdN/xW524JAiukJS6ys1DlfQOTq2ormT92oAIOG9b6mHtdkiyV01+Dw==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=4/MDFOoQocg9cynY
bODdk3gPlVM86EA4tnr9IaYCMwI=;
h=date:references:in-reply-to:subject:
cc:to:from; d=ledu-giraud.fr; b=Bh4o0FXixGHqQvDAwnfrO2GXlCcl/eSCsGKkRu
o/tTuxyvmCOqTPKKNihS66hXcSlm1OknqlW71cGsjNKU4GqdxzZGoqDGYdPN3wJ5SxKQB2
ewS/u0ruzNSBy7KkQ0/iN/avUNBAO/WUsrGbCZ1bWEZteznsbuZtZ4UqZbfIA/OeAnweTt
LzbXa0RhXq43PFDpZ9PqUU+iSIwthi7rqtOyXQGcHEOMPzgU2kuag8+u4YtZwW5pI6GdId
n5iP/ykCYtSsbKeW1O2qRwIHeRNNMaM0FDu2PxdGf2sRlq8/6Q1o4jMkKRXdblDEUaTcl1
v61kwO+vxIT9/B7dpSmZKTKA==
Received: from computer (<unknown> [10.1.1.1])
by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id 20f841aa
(TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO);
Thu, 2 Oct 2025 08:31:36 +0200 (CEST)
From: Manuel Giraud <manuel@HIDDEN>
In-Reply-To: <CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
<CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
Date: Thu, 02 Oct 2025 08:31:35 +0200
Message-ID: <87cy75yfug.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
Mike <mikeandmore@HIDDEN> writes:
> On Wed, Oct 1, 2025 at 3:22=E2=80=AFPM Manuel Giraud <manuel@ledu-giraud.=
fr> wrote:
>
>> Mike <mikeandmore@HIDDEN> writes:
>>
>> [...]
>>
>> >> But with or without your patch, I could *not* see any differences in
>> >> Emacs when calling:
>> >>
>> >
>> > This is exactly the problem I'm trying to resolve here, and it looks m=
uch
>> > harder than I expect!
>>
>> So you're saying user's fonts.conf (here with no hinting) should take
>> precedence over what an Emacs' user sets in a set-face-attribute call?
>> Why is that a problem that this currently is the other way around?
>>
>
> No, the other way around. Emacs's set-face-attribute should override
> system-wide font setting.
Sorry, I was mistaken. What you want is that Emacs should be able to
override (hinting for example) even if the user has settings into
fonts.conf that say otherwise.
So for the moment, your patch does not do this for me. Also I'll try to
make a stack trace in case of a crash.
--=20
Manuel Giraud
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Manuel Giraud <manuel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 02 Oct 2025 13:58:02 +0000
Resent-Message-ID: <handler.79090.B79090.175941346325415 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Mike <mikeandmore@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175941346325415
(code B ref 79090); Thu, 02 Oct 2025 13:58:02 +0000
Received: (at 79090) by debbugs.gnu.org; 2 Oct 2025 13:57:43 +0000
Received: from localhost ([127.0.0.1]:40614 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v4JoV-0006bn-3C
for submit <at> debbugs.gnu.org; Thu, 02 Oct 2025 09:57:43 -0400
Received: from ledu-giraud.fr ([51.159.28.247]:48974)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <manuel@HIDDEN>)
id 1v4JoJ-0006ak-UY
for 79090 <at> debbugs.gnu.org; Thu, 02 Oct 2025 09:57:37 -0400
DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=Rk/MBaUY
brM+HxZ0Lg7+cvRnE6hY6LPoDTDVJztcKcI=;
h=date:references:in-reply-to:
subject:cc:to:from; d=ledu-giraud.fr; b=9BlBmKor9tg8U1FqCZKoaSLq+YGMxQ
SPDud098U25Wsi1UDksUo3zCRAr8CORfUvswm06dMT6GYEjagnjc4LAg==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=Rk/MBaUYbrM+HxZ0
Lg7+cvRnE6hY6LPoDTDVJztcKcI=;
h=date:references:in-reply-to:subject:
cc:to:from; d=ledu-giraud.fr; b=vPkMc4eEcHl1lVM4viHdz3GvTOQRaNkMEG9xXw
1OGuAeh2liob0G/nt88eHnNJBvDa4U6TXJGlq94S1GQ7CO6Wymguj3rEzG8ULIr9QxOgGl
hbFLhB+AUb/Ex98IEDPN6jZBhigARkP2dDp97uEB+JpBCL4TugWFDRzn51oi5zal5wM43e
HK8mJ3nNP6uKT9OHepcKfR7RbU/Ds8a3864PILYAc1svhM751EmLRdOuwdcL00EE/gHSjf
ii6kFJ+R7r47vLbE6FGk8Z8HvSxEHSuZe9nOTEE4IYXq3+FxrZ7Q2nrRyLq25QaIGLk6LK
4R4a8F1k3HzyvbrsQ9CyAMJw==
Received: from computer (<unknown> [10.1.1.1])
by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id 79ce61c6
(TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO);
Thu, 2 Oct 2025 15:57:27 +0200 (CEST)
From: Manuel Giraud <manuel@HIDDEN>
In-Reply-To: <87cy75yfug.fsf@HIDDEN>
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
<CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
<87cy75yfug.fsf@HIDDEN>
Date: Thu, 02 Oct 2025 15:57:26 +0200
Message-ID: <87ecrltni1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
Manuel Giraud <manuel@HIDDEN> writes:
> Mike <mikeandmore@HIDDEN> writes:
>
>> On Wed, Oct 1, 2025 at 3:22=E2=80=AFPM Manuel Giraud <manuel@ledu-giraud=
.fr> wrote:
>>
>>> Mike <mikeandmore@HIDDEN> writes:
>>>
>>> [...]
>>>
>>> >> But with or without your patch, I could *not* see any differences in
>>> >> Emacs when calling:
>>> >>
>>> >
>>> > This is exactly the problem I'm trying to resolve here, and it looks =
much
>>> > harder than I expect!
>>>
>>> So you're saying user's fonts.conf (here with no hinting) should take
>>> precedence over what an Emacs' user sets in a set-face-attribute call?
>>> Why is that a problem that this currently is the other way around?
>>>
>>
>> No, the other way around. Emacs's set-face-attribute should override
>> system-wide font setting.
>
> Sorry, I was mistaken. What you want is that Emacs should be able to
> override (hinting for example) even if the user has settings into
> fonts.conf that say otherwise.
>
> So for the moment, your patch does not do this for me. Also I'll try to
> make a stack trace in case of a crash.
Here is the crash I get with your patch when evaluating:
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting n=
il :size 20))
--8<---------------cut here---------------start------------->8---
Thread 1 received signal SIGSEGV, Segmentation fault.
0x0000058f1a925c0b in image_pix_context_get_pixel (image=3D0x5912bb71220, x=
=3D28, y=3D28)
at image.c:267
267 return ((uint32_t *)(image->data + y * image->bytes_per_line))[x];
(gdb) bt
#0 0x0000058f1a925c0b in image_pix_context_get_pixel (image=3D0x5912bb7122=
0, x=3D28, y=3D28)
at image.c:267
#1 0x0000058f1a928870 in four_corners_best (pimg=3D0x5912bb71220, corners=
=3D0x59160679890,=20
width=3D29, height=3D29) at image.c:1955
#2 0x0000058f1a9289da in image_background (img=3D0x59160679800, f=3D0x5917=
5e8a468,=20
pimg=3D0x5912bb71220) at image.c:2000
#3 0x0000058f1a928596 in prepare_image_for_display (f=3D0x59175e8a468, img=
=3D0x59160679800)
at image.c:1862
#4 0x0000058f1a60d02f in produce_image_glyph (it=3D0x78127abe6110) at xdis=
p.c:32042
#5 0x0000058f1a61364b in gui_produce_glyphs (it=3D0x78127abe6110) at xdisp=
.c:33844
#6 0x0000058f1a5ce53b in display_tool_bar_line (it=3D0x78127abe6110, heigh=
t=3D-1)
at xdisp.c:15775
#7 0x0000058f1a5cec63 in tool_bar_height (f=3D0x59175e8a468, n_rows=3D0x59=
175e8a5d8,=20
pixelwise=3Dtrue) at xdisp.c:15901
#8 0x0000058f1a5cefa4 in redisplay_tool_bar (f=3D0x59175e8a468) at xdisp.c=
:15999
#9 0x0000058f1a5e29ba in redisplay_window (window=3D..., just_this_one_p=
=3Dfalse)
at xdisp.c:21335
#10 0x0000058f1a5d56da in redisplay_window_0 (window=3D...) at xdisp.c:18321
#11 0x0000058f1a82ca9a in internal_condition_case_1 (
bfun=3D0x58f1a5d5694 <redisplay_window_0>, arg=3D..., handlers=3D...,=20
hfun=3D0x58f1a5d555f <redisplay_window_error>) at eval.c:1714
#12 0x0000058f1a5d5531 in redisplay_windows (window=3D...) at xdisp.c:18290
#13 0x0000058f1a5d3daa in redisplay_internal () at xdisp.c:17707
#14 0x0000058f1a5c56db in resize_echo_area_exactly () at xdisp.c:13069
#15 0x0000058f1a742d1e in command_loop_1 () at keyboard.c:1573
#16 0x0000058f1a82c9a5 in internal_condition_case (bfun=3D0x58f1a7421ea <co=
mmand_loop_1>,=20
handlers=3D..., hfun=3D0x58f1a7414fa <cmd_error>) at eval.c:1690
#17 0x0000058f1a741d53 in command_loop_2 (handlers=3D...) at keyboard.c:1163
#18 0x0000058f1a82bd97 in internal_catch (tag=3D..., func=3D0x58f1a741d28 <=
command_loop_2>,=20
arg=3D...) at eval.c:1370
#19 0x0000058f1a741cda in command_loop () at keyboard.c:1141
#20 0x0000058f1a740f40 in recursive_edit_1 () at keyboard.c:749
#21 0x0000058f1a74118b in Frecursive_edit () at keyboard.c:832
#22 0x0000058f1a73c547 in main (argc=3D2, argv=3D0x78127abecb58) at emacs.c=
:2629
--8<---------------cut here---------------end--------------->8---
--=20
Manuel Giraud
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Mike <mikeandmore@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 06 Oct 2025 01:28:05 +0000
Resent-Message-ID: <handler.79090.B79090.175971407123461 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Manuel Giraud <manuel@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175971407123461
(code B ref 79090); Mon, 06 Oct 2025 01:28:05 +0000
Received: (at 79090) by debbugs.gnu.org; 6 Oct 2025 01:27:51 +0000
Received: from localhost ([127.0.0.1]:53500 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v5a0t-000656-Kk
for submit <at> debbugs.gnu.org; Sun, 05 Oct 2025 21:27:50 -0400
Received: from mail-yx1-xb136.google.com ([2607:f8b0:4864:20::b136]:45276)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <mikeandmore@HIDDEN>)
id 1v5a0j-00062C-BM
for 79090 <at> debbugs.gnu.org; Sun, 05 Oct 2025 21:27:40 -0400
Received: by mail-yx1-xb136.google.com with SMTP id
956f58d0204a3-6352c8b683eso5500696d50.2
for <79090 <at> debbugs.gnu.org>; Sun, 05 Oct 2025 18:27:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1759714047; x=1760318847; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=ROX2uTGVx6cNZVhzuFD/tUKhKsWERYqN1rg2ISxbd9s=;
b=dr+dPf5cSZ9N3l7lT3yXNtsHiPx5dYM2sxGbdHOFV1mwz5BPzo5Zt0jkNbyu6bosS7
t9h+j7i3f179kM7Dj9Jnh2VcBHV834/3iWv6VBCCNqql/kkgl+3LO2j29NeC/ToGa4lZ
oAmforlQG7gyWgekYMiJDWCV5n4Qq4c33A7POijYYSFz1RqcF1nhozDbnSIt9lxMggFW
Lpmiznw0iECbSi4nffp3BwDKNnWlLSNmmJSkCnyi3RAWN6rYJSL9IE33qSpuO9zjNDqZ
tJDLB1YC6GBUgy8pMvBiN9yD96rS5U849czbDOL7ZEGu40MgshjPbqPaSrKPBB/3pL/s
F01g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1759714047; x=1760318847;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=ROX2uTGVx6cNZVhzuFD/tUKhKsWERYqN1rg2ISxbd9s=;
b=YQoSkrWX/XdnTxESTO4cdf52dY6DJXelwCuaRJWc9yKpkAwbAaMoS0/v4WyvSLW+PB
h6ytct2QstRgD211UTSpLQAUro7Zqp0rvN6kV5nv6UZuUvFXOVjhqm/Su/EqqTIMS48O
zyCXlv2M6dbpA6fWb7SPWQUOm3HpwmkKVhUMpk5aY7J7JTkhecchHpsarifc0QVHg0q4
6GxQfhHtPN6YX8ECTYdsMrE1w3voo0ogKPetAw7et6VwtygEGOVU0N9/3zRYHoYE6O1L
BeBNazOP0X0biChgq77doBKtnwKpme923TMT5de9+MQ8wIZCHVbEar288DBEEqrBWmoO
jWQQ==
X-Gm-Message-State: AOJu0YyC5cPN/jyKmEfs95BfZvpc+qaaSkzSWwe4JfEp/Tm74o+mQN2l
+RQf4CaE34YUoAZo/Nd1rBJjfcTG4nC59JzxCuti0PhRBetbFE+4thIfJmiz/EdqAfdk3kz7b9Y
/bxN3NcWgglzsEtY1e3oO3MEiOeJ3s9519Vk6
X-Gm-Gg: ASbGncvEHbzozc7Cyf17YYaM5z6rCudL26t0Y07HOWP+wuj3uBr0wEdZtEEHcVniLc1
q+KjYQFx3aaOfyk8Sw+ssT31+b/RNZRgkr2vFcI/TDPlUZcJnXF4KG+Um6CGwmV47jf5bqODDrz
+zo+IKTPZ7JHOqXMXy3y7mFXaJ/qNQa7SSbiVpabOO7B7x0GaEhHtqlW1LJcHEz4SgrjtcC5h7O
WqTejHKrXCUAboHdgCXY5TIamD6sm/LUPSJUX7gNHqHRO4vSlowEWM=
X-Google-Smtp-Source: AGHT+IFvJDITkbnX80CfKIdCxFSDHWYjnks1LrLT+H7l2uXwBv4ZkCzNU6NBPjyB6liZ+otafdxvC3AYDWA5tfpEw6Y=
X-Received: by 2002:a53:cc01:0:b0:633:a96a:fdd3 with SMTP id
956f58d0204a3-63b9a06ff1cmr8509309d50.16.1759714047043; Sun, 05 Oct 2025
18:27:27 -0700 (PDT)
MIME-Version: 1.0
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
<CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
<87cy75yfug.fsf@HIDDEN> <87ecrltni1.fsf@HIDDEN>
In-Reply-To: <87ecrltni1.fsf@HIDDEN>
From: Mike <mikeandmore@HIDDEN>
Date: Sun, 5 Oct 2025 21:27:16 -0400
X-Gm-Features: AS18NWBg73f_qJeuQYF0nSLi8wzV7URxsUxc6eXLoCGR3l4fJUdJumAaTz-NXLw
Message-ID: <CAMyCBXd5G_J3ocH1cybU1R6Do=-+izHyKPJ4EtLK6ZD3r2HvAA@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000ae2f030640735a57"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--000000000000ae2f030640735a57
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
I believe that crash is OpenBSD specific. I can reproduce the crash without
my patch on Emacs 30.2 too.
Let me know if you can reproduce the following:
1. Without any fontconfig configuration. Both vanilla Emacs and my patch
can apply the hinting font-spec.
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
nil :size 10))
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting t
:size 10))
2. With basic fontconfig configuration:
<match target=3D"pattern">
<edit name=3D"antialias" mode=3D"assign"><bool>true</bool></edit>
<edit name=3D"globaladvance" mode=3D"assign"><bool>true</bool></edit>
<edit name=3D"embeddedbitmap" mode=3D"assign"><bool>false</bool></edit>
<edit name=3D"hinting" mode=3D"assign"><bool>false</bool></edit>
<edit name=3D"hintstyle" mode=3D"assign"><const>hintnone</const></edit>
<edit name=3D"rgba" mode=3D"assign"><const>rgb</const></edit>
<edit name=3D"autohint" mode=3D"assign"><bool>false</bool></edit>
<edit name=3D"lcdfilter" mode=3D"assign"><const>lcddefault</const></edi=
t>
</match>
You'll need to set :hintstyle too too see the difference. Both vanilla
Emacs and my patch can apply the hinting font-spec.
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
nil :hintstyle 'hintnone :size 10))
(set-face-attribute 'default nil :font (font-spec :family "Hack"
:hinting t :hintstyle 'hintfull :size 10))
3. With font family specific fontconfig configuration + basic fontconfig
configuration:
<match target=3D"font">
<test name=3D"family"><string>Hack</string></test>
<edit name=3D"hinting" mode=3D"assign"><bool>true</bool></edit>
<edit name=3D"hintstyle" mode=3D"assign"><const>hintfull</const></edit>
</match>
(set-face-attribute 'default nil :font (font-spec :family "Hack" :size 10))
My patch applies hinting and hintstyle but vanilla Emacs does not.
(set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
nil :hintstyle 'hintnone :size 10))
(set-face-attribute 'default nil :font (font-spec :family "Hack"
:hinting t :hintstyle 'hintfull :size 10))
My patch also applies font-spec settings with no problem but vanilla Emacs
does not.
In summary, it seems my patch only makes a difference when you have font
family specific configurations in fontconfig.
On Thu, Oct 2, 2025 at 9:57=E2=80=AFAM Manuel Giraud <manuel@HIDDEN=
> wrote:
> Manuel Giraud <manuel@HIDDEN> writes:
>
> > Mike <mikeandmore@HIDDEN> writes:
> >
> >> On Wed, Oct 1, 2025 at 3:22=E2=80=AFPM Manuel Giraud <manuel@ledu-gira=
ud.fr>
> wrote:
> >>
> >>> Mike <mikeandmore@HIDDEN> writes:
> >>>
> >>> [...]
> >>>
> >>> >> But with or without your patch, I could *not* see any differences =
in
> >>> >> Emacs when calling:
> >>> >>
> >>> >
> >>> > This is exactly the problem I'm trying to resolve here, and it look=
s
> much
> >>> > harder than I expect!
> >>>
> >>> So you're saying user's fonts.conf (here with no hinting) should take
> >>> precedence over what an Emacs' user sets in a set-face-attribute call=
?
> >>> Why is that a problem that this currently is the other way around?
> >>>
> >>
> >> No, the other way around. Emacs's set-face-attribute should override
> >> system-wide font setting.
> >
> > Sorry, I was mistaken. What you want is that Emacs should be able to
> > override (hinting for example) even if the user has settings into
> > fonts.conf that say otherwise.
> >
> > So for the moment, your patch does not do this for me. Also I'll try t=
o
> > make a stack trace in case of a crash.
>
> Here is the crash I get with your patch when evaluating:
>
> (set-face-attribute 'default nil :font (font-spec :family "Hack" :hinting
> nil :size 20))
>
> --8<---------------cut here---------------start------------->8---
> Thread 1 received signal SIGSEGV, Segmentation fault.
> 0x0000058f1a925c0b in image_pix_context_get_pixel (image=3D0x5912bb71220,
> x=3D28, y=3D28)
> at image.c:267
> 267 return ((uint32_t *)(image->data + y *
> image->bytes_per_line))[x];
> (gdb) bt
> #0 0x0000058f1a925c0b in image_pix_context_get_pixel
> (image=3D0x5912bb71220, x=3D28, y=3D28)
> at image.c:267
> #1 0x0000058f1a928870 in four_corners_best (pimg=3D0x5912bb71220,
> corners=3D0x59160679890,
> width=3D29, height=3D29) at image.c:1955
> #2 0x0000058f1a9289da in image_background (img=3D0x59160679800,
> f=3D0x59175e8a468,
> pimg=3D0x5912bb71220) at image.c:2000
> #3 0x0000058f1a928596 in prepare_image_for_display (f=3D0x59175e8a468,
> img=3D0x59160679800)
> at image.c:1862
> #4 0x0000058f1a60d02f in produce_image_glyph (it=3D0x78127abe6110) at
> xdisp.c:32042
> #5 0x0000058f1a61364b in gui_produce_glyphs (it=3D0x78127abe6110) at
> xdisp.c:33844
> #6 0x0000058f1a5ce53b in display_tool_bar_line (it=3D0x78127abe6110,
> height=3D-1)
> at xdisp.c:15775
> #7 0x0000058f1a5cec63 in tool_bar_height (f=3D0x59175e8a468,
> n_rows=3D0x59175e8a5d8,
> pixelwise=3Dtrue) at xdisp.c:15901
> #8 0x0000058f1a5cefa4 in redisplay_tool_bar (f=3D0x59175e8a468) at
> xdisp.c:15999
> #9 0x0000058f1a5e29ba in redisplay_window (window=3D...,
> just_this_one_p=3Dfalse)
> at xdisp.c:21335
> #10 0x0000058f1a5d56da in redisplay_window_0 (window=3D...) at xdisp.c:18=
321
> #11 0x0000058f1a82ca9a in internal_condition_case_1 (
> bfun=3D0x58f1a5d5694 <redisplay_window_0>, arg=3D..., handlers=3D...,
> hfun=3D0x58f1a5d555f <redisplay_window_error>) at eval.c:1714
> #12 0x0000058f1a5d5531 in redisplay_windows (window=3D...) at xdisp.c:182=
90
> #13 0x0000058f1a5d3daa in redisplay_internal () at xdisp.c:17707
> #14 0x0000058f1a5c56db in resize_echo_area_exactly () at xdisp.c:13069
> #15 0x0000058f1a742d1e in command_loop_1 () at keyboard.c:1573
> #16 0x0000058f1a82c9a5 in internal_condition_case (bfun=3D0x58f1a7421ea
> <command_loop_1>,
> handlers=3D..., hfun=3D0x58f1a7414fa <cmd_error>) at eval.c:1690
> #17 0x0000058f1a741d53 in command_loop_2 (handlers=3D...) at keyboard.c:1=
163
> #18 0x0000058f1a82bd97 in internal_catch (tag=3D..., func=3D0x58f1a741d28
> <command_loop_2>,
> arg=3D...) at eval.c:1370
> #19 0x0000058f1a741cda in command_loop () at keyboard.c:1141
> #20 0x0000058f1a740f40 in recursive_edit_1 () at keyboard.c:749
> #21 0x0000058f1a74118b in Frecursive_edit () at keyboard.c:832
> #22 0x0000058f1a73c547 in main (argc=3D2, argv=3D0x78127abecb58) at
> emacs.c:2629
> --8<---------------cut here---------------end--------------->8---
>
> --
> Manuel Giraud
>
--=20
Thanks
Mike
--000000000000ae2f030640735a57
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">I believe that crash is OpenBSD specific. I can reproduce =
the crash without my patch on Emacs 30.2 too.<div><br></div><div>Let me kno=
w if you can reproduce the following:</div><div><br></div><div>1. Without a=
ny fontconfig configuration. Both vanilla Emacs and my patch can apply the =
hinting font-spec.</div><div><br></div><div>(set-face-attribute 'defaul=
t nil :font (font-spec :family "Hack" :hinting nil :size 10))<br>=
</div><div>(set-face-attribute 'default nil :font (font-spec :family &q=
uot;Hack" :hinting=C2=A0t :size 10))</div><div><br></div><div>2. With =
basic fontconfig configuration:</div><div><br></div>=C2=A0 <match target=
=3D"pattern"><br>=C2=A0 =C2=A0 <edit name=3D"antialias=
" mode=3D"assign"><bool>true</bool></edit&=
gt;<br>=C2=A0 =C2=A0 <edit name=3D"globaladvance" mode=3D"=
;assign"><bool>true</bool></edit><br>=C2=A0 =C2=
=A0 <edit name=3D"embeddedbitmap" mode=3D"assign">=
;<bool>false</bool></edit><br>=C2=A0 =C2=A0 <edit name=
=3D"hinting" mode=3D"assign"><bool>false</b=
ool></edit><br>=C2=A0 =C2=A0 <edit name=3D"hintstyle"=
mode=3D"assign"><const>hintnone</const></edit&=
gt;<br>=C2=A0 =C2=A0 <edit name=3D"rgba" mode=3D"assign&q=
uot;><const>rgb</const></edit><br>=C2=A0 =C2=A0 <ed=
it name=3D"autohint" mode=3D"assign"><bool>fal=
se</bool></edit><br>=C2=A0 =C2=A0 <edit name=3D"lcdfilt=
er" mode=3D"assign"><const>lcddefault</const>=
</edit><br>=C2=A0 </match><br><div><br></div><div>You'll ne=
ed to set :hintstyle too too see the difference. Both vanilla Emacs and my =
patch can apply the hinting font-spec.</div><div><br></div><div><div>(set-f=
ace-attribute 'default nil :font (font-spec :family "Hack" :h=
inting nil :hintstyle 'hintnone :size 10))<br></div><div>(set-face-attr=
ibute 'default nil :font (font-spec :family "Hack" :hinting=
=C2=A0t=C2=A0:hintstyle 'hintfull=C2=A0:size 10))</div></div><div><br><=
/div><div>3. With font family specific fontconfig configuration=C2=A0+ basi=
c fontconfig configuration:</div><div><br></div><div>=C2=A0 <match targe=
t=3D"font"><br>=C2=A0 =C2=A0 <test name=3D"family"=
;><string>Hack</string></test><br>=C2=A0 =C2=A0 <ed=
it name=3D"hinting" mode=3D"assign"><bool>true=
</bool></edit><br>=C2=A0 =C2=A0 <edit name=3D"hintstyle=
" mode=3D"assign"><const>hintfull</const><=
/edit><br>=C2=A0 </match><br></div><div><br></div><div>(set-face-a=
ttribute 'default nil :font (font-spec :family "Hack" :size 1=
0))<br></div><div><br></div><div>My patch applies hinting and hintstyle but=
vanilla Emacs does not.</div><div><br></div><div><div><div>(set-face-attri=
bute 'default nil :font (font-spec :family "Hack" :hinting ni=
l :hintstyle 'hintnone :size 10))<br></div><div>(set-face-attribute =
9;default nil :font (font-spec :family "Hack" :hinting=C2=A0t=C2=
=A0:hintstyle 'hintfull=C2=A0:size 10))</div></div></div><div><br></div=
><div>My patch also applies font-spec settings with no problem but vanilla =
Emacs does not.</div><div><br></div><div>In summary, it seems my patch only=
makes a difference when you have font family specific configurations in fo=
ntconfig.</div></div><br><div class=3D"gmail_quote gmail_quote_container"><=
div dir=3D"ltr" class=3D"gmail_attr">On Thu, Oct 2, 2025 at 9:57=E2=80=AFAM=
Manuel Giraud <<a href=3D"mailto:manuel@HIDDEN">manuel@ledu-gir=
aud.fr</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left=
:1ex">Manuel Giraud <<a href=3D"mailto:manuel@HIDDEN" target=3D"=
_blank">manuel@HIDDEN</a>> writes:<br>
<br>
> Mike <<a href=3D"mailto:mikeandmore@HIDDEN" target=3D"_blank">mi=
keandmore@HIDDEN</a>> writes:<br>
><br>
>> On Wed, Oct 1, 2025 at 3:22=E2=80=AFPM Manuel Giraud <<a href=
=3D"mailto:manuel@HIDDEN" target=3D"_blank">manuel@HIDDEN</=
a>> wrote:<br>
>><br>
>>> Mike <<a href=3D"mailto:mikeandmore@HIDDEN" target=3D"_b=
lank">mikeandmore@HIDDEN</a>> writes:<br>
>>><br>
>>> [...]<br>
>>><br>
>>> >> But with or without your patch, I could *not* see any=
differences in<br>
>>> >> Emacs when calling:<br>
>>> >><br>
>>> ><br>
>>> > This is exactly the problem I'm trying to resolve her=
e, and it looks much<br>
>>> > harder than I expect!<br>
>>><br>
>>> So you're saying user's fonts.conf (here with no hinti=
ng) should take<br>
>>> precedence over what an Emacs' user sets in a set-face-att=
ribute call?<br>
>>> Why is that a problem that this currently is the other way aro=
und?<br>
>>><br>
>><br>
>> No, the other way around. Emacs's set-face-attribute should ov=
erride<br>
>> system-wide font setting.<br>
><br>
> Sorry, I was mistaken.=C2=A0 What you want is that Emacs should be abl=
e to<br>
> override (hinting for example) even if the user has settings into<br>
> fonts.conf that say otherwise.<br>
><br>
> So for the moment, your patch does not do this for me.=C2=A0 Also I=
9;ll try to<br>
> make a stack trace in case of a crash.<br>
<br>
Here is the crash I get with your patch when evaluating:<br>
<br>
(set-face-attribute 'default nil :font (font-spec :family "Hack&qu=
ot; :hinting nil :size 20))<br>
<br>
--8<---------------cut here---------------start------------->8---<br>
Thread 1 received signal SIGSEGV, Segmentation fault.<br>
0x0000058f1a925c0b in image_pix_context_get_pixel (image=3D0x5912bb71220, x=
=3D28, y=3D28)<br>
=C2=A0 =C2=A0 at image.c:267<br>
267=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return ((uint32_t *)(image->data + =
y * image->bytes_per_line))[x];<br>
(gdb) bt<br>
#0=C2=A0 0x0000058f1a925c0b in image_pix_context_get_pixel (image=3D0x5912b=
b71220, x=3D28, y=3D28)<br>
=C2=A0 =C2=A0 at image.c:267<br>
#1=C2=A0 0x0000058f1a928870 in four_corners_best (pimg=3D0x5912bb71220, cor=
ners=3D0x59160679890, <br>
=C2=A0 =C2=A0 width=3D29, height=3D29) at image.c:1955<br>
#2=C2=A0 0x0000058f1a9289da in image_background (img=3D0x59160679800, f=3D0=
x59175e8a468, <br>
=C2=A0 =C2=A0 pimg=3D0x5912bb71220) at image.c:2000<br>
#3=C2=A0 0x0000058f1a928596 in prepare_image_for_display (f=3D0x59175e8a468=
, img=3D0x59160679800)<br>
=C2=A0 =C2=A0 at image.c:1862<br>
#4=C2=A0 0x0000058f1a60d02f in produce_image_glyph (it=3D0x78127abe6110) at=
xdisp.c:32042<br>
#5=C2=A0 0x0000058f1a61364b in gui_produce_glyphs (it=3D0x78127abe6110) at =
xdisp.c:33844<br>
#6=C2=A0 0x0000058f1a5ce53b in display_tool_bar_line (it=3D0x78127abe6110, =
height=3D-1)<br>
=C2=A0 =C2=A0 at xdisp.c:15775<br>
#7=C2=A0 0x0000058f1a5cec63 in tool_bar_height (f=3D0x59175e8a468, n_rows=
=3D0x59175e8a5d8, <br>
=C2=A0 =C2=A0 pixelwise=3Dtrue) at xdisp.c:15901<br>
#8=C2=A0 0x0000058f1a5cefa4 in redisplay_tool_bar (f=3D0x59175e8a468) at xd=
isp.c:15999<br>
#9=C2=A0 0x0000058f1a5e29ba in redisplay_window (window=3D..., just_this_on=
e_p=3Dfalse)<br>
=C2=A0 =C2=A0 at xdisp.c:21335<br>
#10 0x0000058f1a5d56da in redisplay_window_0 (window=3D...) at xdisp.c:1832=
1<br>
#11 0x0000058f1a82ca9a in internal_condition_case_1 (<br>
=C2=A0 =C2=A0 bfun=3D0x58f1a5d5694 <redisplay_window_0>, arg=3D..., h=
andlers=3D..., <br>
=C2=A0 =C2=A0 hfun=3D0x58f1a5d555f <redisplay_window_error>) at eval.=
c:1714<br>
#12 0x0000058f1a5d5531 in redisplay_windows (window=3D...) at xdisp.c:18290=
<br>
#13 0x0000058f1a5d3daa in redisplay_internal () at xdisp.c:17707<br>
#14 0x0000058f1a5c56db in resize_echo_area_exactly () at xdisp.c:13069<br>
#15 0x0000058f1a742d1e in command_loop_1 () at keyboard.c:1573<br>
#16 0x0000058f1a82c9a5 in internal_condition_case (bfun=3D0x58f1a7421ea <=
;command_loop_1>, <br>
=C2=A0 =C2=A0 handlers=3D..., hfun=3D0x58f1a7414fa <cmd_error>) at ev=
al.c:1690<br>
#17 0x0000058f1a741d53 in command_loop_2 (handlers=3D...) at keyboard.c:116=
3<br>
#18 0x0000058f1a82bd97 in internal_catch (tag=3D..., func=3D0x58f1a741d28 &=
lt;command_loop_2>, <br>
=C2=A0 =C2=A0 arg=3D...) at eval.c:1370<br>
#19 0x0000058f1a741cda in command_loop () at keyboard.c:1141<br>
#20 0x0000058f1a740f40 in recursive_edit_1 () at keyboard.c:749<br>
#21 0x0000058f1a74118b in Frecursive_edit () at keyboard.c:832<br>
#22 0x0000058f1a73c547 in main (argc=3D2, argv=3D0x78127abecb58) at emacs.c=
:2629<br>
--8<---------------cut here---------------end--------------->8---<br>
<br>
-- <br>
Manuel Giraud<br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature">Thanks<br>Mike</div>
--000000000000ae2f030640735a57--
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Manuel Giraud <manuel@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 06 Oct 2025 15:23:02 +0000
Resent-Message-ID: <handler.79090.B79090.175976412621445 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Mike <mikeandmore@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.175976412621445
(code B ref 79090); Mon, 06 Oct 2025 15:23:02 +0000
Received: (at 79090) by debbugs.gnu.org; 6 Oct 2025 15:22:06 +0000
Received: from localhost ([127.0.0.1]:54914 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v5n2L-0005Zp-Ub
for submit <at> debbugs.gnu.org; Mon, 06 Oct 2025 11:22:06 -0400
Received: from ledu-giraud.fr ([51.159.28.247]:43178)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <manuel@HIDDEN>)
id 1v5n2E-0005ZI-Pv
for 79090 <at> debbugs.gnu.org; Mon, 06 Oct 2025 11:22:00 -0400
DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=mGw7Na3t
NbywqtvD3UHgZkcGzZrRngqvdsTq2tkYq+A=;
h=date:references:in-reply-to:
subject:cc:to:from; d=ledu-giraud.fr; b=vlFxATEhv7+TjMb9k8pUswQeGMGa4A
1U7OXKoPlEBn+m9Ng01+83S9a02SObVRZDcqlqiUyZm0OeLildQB/CDw==
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=mGw7Na3tNbywqtvD
3UHgZkcGzZrRngqvdsTq2tkYq+A=;
h=date:references:in-reply-to:subject:
cc:to:from; d=ledu-giraud.fr; b=PR5d90z46IWOKnmMea6FCVRz58NG/wLP06Dodv
WJQcSriyUElFWrgrtN8MdpuyxfBHQS5fKrvda88tBw09HeIuyRT5BM/jAiH3Qdl9SjTlUc
/M3TRjcJU+hpeJIrWPsNpHTstydfdjUduuEoTOTGVzQxZMMEnLZTKJx4JhA8OWiiWAXqtR
nIxgpyHtOjqSN4qiITS1kjhfKT7tcdi7AtFlVzNtqU6LKjx01VAQB/p8l/OIVz/aqOqAEW
EIYIDM3e5OeBNFm8fr5qprpM522IhswD6EjRbx8MiX/NxBZbSsZ17eJUBA8VbF8JaUqNml
5zu/xitEErRKjsqZR+n/P/Lw==
Received: from computer (<unknown> [10.1.1.1])
by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id 3ec2e873
(TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO);
Mon, 6 Oct 2025 17:21:56 +0200 (CEST)
From: Manuel Giraud <manuel@HIDDEN>
In-Reply-To: <CAMyCBXd5G_J3ocH1cybU1R6Do=-+izHyKPJ4EtLK6ZD3r2HvAA@HIDDEN>
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
<CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
<87cy75yfug.fsf@HIDDEN> <87ecrltni1.fsf@HIDDEN>
<CAMyCBXd5G_J3ocH1cybU1R6Do=-+izHyKPJ4EtLK6ZD3r2HvAA@HIDDEN>
Date: Mon, 06 Oct 2025 17:21:55 +0200
Message-ID: <87a5243vjg.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
Mike <mikeandmore@HIDDEN> writes:
Hi Mike,
> I believe that crash is OpenBSD specific. I can reproduce the crash
> without my patch on Emacs 30.2 too.
Yes, you're right. I was also able to reproduce it with current master.
So this is another story.
> Let me know if you can reproduce the following:
I have made all the tests you proposed and resumed them in the following
table:
| | Vanilla | Patched |
| | (master) | |
|------------------+-----------------+----------------------------|
| No fontconfig | Correct change | Correct change |
| | between hinting | between hinting |
| | and no hinting. | and no hinting. |
|------------------+-----------------+----------------------------|
| Basic fontconfig | No hinting even | Same as above. |
| | when force from | |
| | Emacs. | |
|------------------+-----------------+----------------------------|
| Basic + family | No hinting even | Correct hinting with |
| fontconfig | when force from | only font selection. |
| | Emacs. | Correct hinting/no hinting |
| | | change. |
|------------------+-----------------+----------------------------|
So maybe, there is no problem left with your patch. WDYT?
--
Manuel Giraud
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Mike <mikeandmore@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 06 Oct 2025 16:31:02 +0000
Resent-Message-ID: <handler.79090.B79090.17597682041836 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Manuel Giraud <manuel@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.17597682041836
(code B ref 79090); Mon, 06 Oct 2025 16:31:02 +0000
Received: (at 79090) by debbugs.gnu.org; 6 Oct 2025 16:30:04 +0000
Received: from localhost ([127.0.0.1]:55026 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v5o66-0000TF-J8
for submit <at> debbugs.gnu.org; Mon, 06 Oct 2025 12:30:03 -0400
Received: from mail-yx1-xb12c.google.com ([2607:f8b0:4864:20::b12c]:54527)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <mikeandmore@HIDDEN>)
id 1v5o62-0000SP-Pw
for 79090 <at> debbugs.gnu.org; Mon, 06 Oct 2025 12:29:59 -0400
Received: by mail-yx1-xb12c.google.com with SMTP id
956f58d0204a3-63bcfcb800aso2260688d50.0
for <79090 <at> debbugs.gnu.org>; Mon, 06 Oct 2025 09:29:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1759768192; x=1760372992; darn=debbugs.gnu.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=1ZMqhc6OyD+Sa+Ica3t0WjQIc13M8nHZx14uGODu9ic=;
b=ZKJKdWXE6faBGogF/YcCL34F8G1OWk6t2r7grQUe3+2NVQEtglxcf4JXGeJSA+wQBY
JJD6G0RMe6XKqsQUWO+oqVW0P73LjtJ4sLrhdR7ArXLFUfHvkY30oK7O394Yzyi7ji3B
wQTU3NCnQ2IpuxxmSBHDS8dOglkVpChK51vYhmzA+o+VRom4ffpQIGp1OU6JmsHVPFho
EWL07b3vs+pBqRKpWbcVaUZ5efnkcp6ElkmR6f5M+ZADeRxTCmrFW8zEEVpwbWiZl5V9
E7uvEKK55xUbhPC/II2OwMrtuBsm2wR0NmMH7NQAc7oyNT43nbwfTaPK5+XDdPp3huQD
4zBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1759768192; x=1760372992;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=1ZMqhc6OyD+Sa+Ica3t0WjQIc13M8nHZx14uGODu9ic=;
b=iSz4bKbvdG4IfCClh0ZxIptgFCUjgPeJTCjhuofh+GWwOkKaOBiVqP5QIV0daqdrfo
XxrdqJu1D+eIDRJMfzVs+lFFq3pa/pZV1Q0/jJco+U/mKfdz82K6Ktd2DPvaoELf7TCE
1UiovmtXWhoxJ8rrAm7sxiqcI41mgVK9RKAjewvkCriUazTbfTK4aobmoFrQ/Tm8Q1NC
DZKMkIVEw6w4ImPv1X+mF8vPGYEJpXvoyKvrZapkRz24y5rsntPuiYyMEVkflLSiGuYj
8uvP0eQwKa25qqvepWBbN6ZJ6lKLvk72DfYznBwAXC3RCT+eq+e9iaG5GWYqaMYRRuHq
B/2Q==
X-Gm-Message-State: AOJu0YxAeHTkeaUaZe9NQcKTvPrdIg7oXpCVztzfir+KpaaQtbtrTPC9
HuEqz3o3le1sgB7cAhOb1zqjyzHHYuukttYSlfAy6Qwu+BJqCEr7FXsE4pNhovheJsBDuyCws/0
QjUlU2mKbNlu+iN+dHAxJW8mUUoDvEU8=
X-Gm-Gg: ASbGncsgoSXqFG21dIV/zUU6vPouWtU2CSrk2p+dcPqUDZJO8XjpDitcJTqWo6SvwfG
6KXHjmFFyL1A5tWN/ohVH0iCDv14tQSRos4sNtpODSsgylSDdcwIWcajY4y0snAW1PJHuinA16v
+sLCztrl6dvIjfKwxMxbrDiYkx4MO/Z60TTNpdRVAQS+JawhcTbYGU98pA+3gGQTX9awC303vWE
3IR1OdGBf7LBsy/JBU+jnxjwVJqBo7YgyIZv/+V7SPp/Amas7yg/LxI
X-Google-Smtp-Source: AGHT+IHINYhFP0arOkp97OYj4qZbCIhsU4db+xIHgAzmTz1r85zGMY2tiCiLUzPTCv4wbR515/VS0suzuSvnqC+gxu0=
X-Received: by 2002:a53:b80a:0:b0:635:4ece:20a7 with SMTP id
956f58d0204a3-63b9a0f8465mr11577559d50.44.1759768191737; Mon, 06 Oct 2025
09:29:51 -0700 (PDT)
MIME-Version: 1.0
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
<CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
<87cy75yfug.fsf@HIDDEN> <87ecrltni1.fsf@HIDDEN>
<CAMyCBXd5G_J3ocH1cybU1R6Do=-+izHyKPJ4EtLK6ZD3r2HvAA@HIDDEN>
<87a5243vjg.fsf@HIDDEN>
In-Reply-To: <87a5243vjg.fsf@HIDDEN>
From: Mike <mikeandmore@HIDDEN>
Date: Mon, 6 Oct 2025 12:29:40 -0400
X-Gm-Features: AS18NWDA0mKn1qMfmEE-jtOILQjqo6tjRDEGwKr5KcxtwtoQyJnQK-GnNbohxU8
Message-ID: <CAMyCBXdEFwA-p4F1cxbFM1m5LN=NkHVSorEaUH85NciO61SknQ@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000f4a4a306407ff589"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--000000000000f4a4a306407ff589
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
It looks mostly correct. The patch only makes a difference when you have
global rendering settings + family specific settings in fontconfig.
Without family specific fontconfig, you can enable hinting if you set
:hintstyle 'hintfull. I think that is the expected behaviour, because
custom settings are overriding the system default. It's just that there are
two custom settings to enable hinting. Under this condition, the patch does
not make a difference anyway.
Eli, if this is all good, I can remove the print statement (it was for
debugging) so that you can merge.
On Mon, Oct 6, 2025 at 11:21=E2=80=AFAM Manuel Giraud <manuel@HIDDEN=
r> wrote:
> Mike <mikeandmore@HIDDEN> writes:
>
> Hi Mike,
>
> > I believe that crash is OpenBSD specific. I can reproduce the crash
> > without my patch on Emacs 30.2 too.
>
> Yes, you're right. I was also able to reproduce it with current master.
> So this is another story.
>
> > Let me know if you can reproduce the following:
>
> I have made all the tests you proposed and resumed them in the following
> table:
>
> | | Vanilla | Patched |
> | | (master) | |
> |------------------+-----------------+----------------------------|
> | No fontconfig | Correct change | Correct change |
> | | between hinting | between hinting |
> | | and no hinting. | and no hinting. |
> |------------------+-----------------+----------------------------|
> | Basic fontconfig | No hinting even | Same as above. |
> | | when force from | |
> | | Emacs. | |
> |------------------+-----------------+----------------------------|
> | Basic + family | No hinting even | Correct hinting with |
> | fontconfig | when force from | only font selection. |
> | | Emacs. | Correct hinting/no hinting |
> | | | change. |
> |------------------+-----------------+----------------------------|
>
> So maybe, there is no problem left with your patch. WDYT?
> --
> Manuel Giraud
>
--=20
Thanks
Mike
--000000000000f4a4a306407ff589
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">It looks mostly correct. The patch only makes a difference=
when you have global rendering settings=C2=A0+ family specific settings in=
fontconfig.<div><br></div><div>Without family specific fontconfig, you can=
enable hinting if you set :hintstyle 'hintfull. I think that is the ex=
pected behaviour, because custom settings are overriding the system default=
. It's just that there are two custom settings to enable hinting. Under=
this condition, the patch does not make a difference anyway.</div><div><br=
></div><div>Eli, if this is all good, I can remove the print statement (it =
was for debugging) so that you can merge.</div></div><br><div class=3D"gmai=
l_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Mon=
, Oct 6, 2025 at 11:21=E2=80=AFAM Manuel Giraud <<a href=3D"mailto:manue=
l@HIDDEN">manuel@HIDDEN</a>> wrote:<br></div><blockquote=
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px so=
lid rgb(204,204,204);padding-left:1ex">Mike <<a href=3D"mailto:mikeandmo=
re@HIDDEN" target=3D"_blank">mikeandmore@HIDDEN</a>> writes:<br>
<br>
Hi Mike,<br>
<br>
> I believe that crash is OpenBSD specific. I can reproduce the crash<br=
>
> without my patch on Emacs 30.2 too.<br>
<br>
Yes, you're right.=C2=A0 I was also able to reproduce it with current m=
aster.<br>
So this is another story.<br>
<br>
> Let me know if you can reproduce the following:<br>
<br>
I have made all the tests you proposed and resumed them in the following<br=
>
table:<br>
<br>
|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | Vanilla=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| Patched=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |<br>
|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | (master)=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |<br>
|------------------+-----------------+----------------------------|<br>
| No fontconfig=C2=A0 =C2=A0 | Correct change=C2=A0 | Correct change=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|<br>
|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | between h=
inting | between hinting=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |<br>
|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | and no hi=
nting. | and no hinting.=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |<br>
|------------------+-----------------+----------------------------|<br>
| Basic fontconfig | No hinting even | Same as above.=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0|<br>
|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | when forc=
e from |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |<br>
|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | Emacs.=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |<br>
|------------------+-----------------+----------------------------|<br>
| Basic + family=C2=A0 =C2=A0| No hinting even | Correct hinting with=C2=A0=
=C2=A0 =C2=A0 =C2=A0|<br>
| fontconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0| when force from | only font select=
ion.=C2=A0 =C2=A0 =C2=A0 =C2=A0|<br>
|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | Emacs.=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | Correct hinting/no hinting |<br>
|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| change.=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |<br>
|------------------+-----------------+----------------------------|<br>
<br>
So maybe, there is no problem left with your patch.=C2=A0 WDYT?<br>
-- <br>
Manuel Giraud<br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature">Thanks<br>Mike</div>
--000000000000f4a4a306407ff589--
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 06 Oct 2025 17:08:01 +0000
Resent-Message-ID: <handler.79090.B79090.17597704249863 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Mike <mikeandmore@HIDDEN>, Po Lu <luangruo@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org, manuel@HIDDEN
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.17597704249863
(code B ref 79090); Mon, 06 Oct 2025 17:08:01 +0000
Received: (at 79090) by debbugs.gnu.org; 6 Oct 2025 17:07:04 +0000
Received: from localhost ([127.0.0.1]:55082 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v5ofw-0002Z1-7W
for submit <at> debbugs.gnu.org; Mon, 06 Oct 2025 13:07:04 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:47384)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1v5ofo-0002YP-DC
for 79090 <at> debbugs.gnu.org; Mon, 06 Oct 2025 13:07:00 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1v5off-00016o-VY; Mon, 06 Oct 2025 13:06:47 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=NPE280DwcY1s929z6HCradQflgwo0QYB7d6ekNJUf8s=; b=lfZy0p8qOpUb
uoKkRScYilIMWb+hCX4DBQLTKPeKCmwe1g31woGyLmLPV9FkTJgv2cpjzjqn/1Uz7jwTWqkfpZlSr
meqJ4EQ08cRhoCUDQUlvjQU5k1WvBwEFYBKUuAndwy6rd9AqljjQ4eZHqY3y9CeFimp78uRz3KRxk
+DRw+iSih92L9nllTP3q+5Sz1YmjIS4SIu2wb8gvcTV/ZRqcmGf8FeiStywicQuQbN+GX0jpw2eKT
W1un8HsYVahL3EraiWyY1AlrAi1IETqbwBdGPwifReOvdYjc0Yk+gY0YqixePL7fQ5z3YigBMXO2A
o25Rk4+xXSpXpXMSC1oiZQ==;
Date: Mon, 06 Oct 2025 20:06:44 +0300
Message-Id: <86ms64c63f.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAMyCBXdEFwA-p4F1cxbFM1m5LN=NkHVSorEaUH85NciO61SknQ@HIDDEN>
(message from Mike on Mon, 6 Oct 2025 12:29:40 -0400)
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
<CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
<87cy75yfug.fsf@HIDDEN> <87ecrltni1.fsf@HIDDEN>
<CAMyCBXd5G_J3ocH1cybU1R6Do=-+izHyKPJ4EtLK6ZD3r2HvAA@HIDDEN>
<87a5243vjg.fsf@HIDDEN>
<CAMyCBXdEFwA-p4F1cxbFM1m5LN=NkHVSorEaUH85NciO61SknQ@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
> Cc: 79090 <at> debbugs.gnu.org
> From: Mike <mikeandmore@HIDDEN>
> Date: Mon, 6 Oct 2025 12:29:40 -0400
>
> It looks mostly correct. The patch only makes a difference when you have global rendering settings + family
> specific settings in fontconfig.
>
> Without family specific fontconfig, you can enable hinting if you set :hintstyle 'hintfull. I think that is the
> expected behaviour, because custom settings are overriding the system default. It's just that there are two
> custom settings to enable hinting. Under this condition, the patch does not make a difference anyway.
>
> Eli, if this is all good, I can remove the print statement (it was for debugging) so that you can merge.
I'd like to hear the opinion of Po Lu.
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 25 Oct 2025 10:15:02 +0000
Resent-Message-ID: <handler.79090.B79090.17613872788954 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Po Lu <luangruo@HIDDEN>
Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN, manuel@HIDDEN
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.17613872788954
(code B ref 79090); Sat, 25 Oct 2025 10:15:02 +0000
Received: (at 79090) by debbugs.gnu.org; 25 Oct 2025 10:14:38 +0000
Received: from localhost ([127.0.0.1]:40074 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vCbIE-0002KL-0Y
for submit <at> debbugs.gnu.org; Sat, 25 Oct 2025 06:14:38 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:33318)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vCbI9-0002Jo-9i
for 79090 <at> debbugs.gnu.org; Sat, 25 Oct 2025 06:14:35 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1vCbI3-0001Bu-LI; Sat, 25 Oct 2025 06:14:27 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=PsgKOFPjsGUyKuZ8Hz+c5qX077WmIryUvi7tFlBBkns=; b=RY3I2Vh1OzRn
8iIATgC/m5yo8SwyxkNMPwn3z8dGjFb5rtGKa3yvpgq0Zf4qf4UQa/SC8ZCh8YH87UaiPtgoSas5H
MbGpzN39lThlnA464owMjwknxOW4RJtpC756jlT5OELwc4tW13ch/yVBGvhXLpX9Fjtla2sMXVpo5
sDnQe7Qk4vVGSnrwoYyVXfrtoeo6jG86VrzJ3ivXq/zGlkCEZt0ZLayxkBhXAwzx8DFffaizb38sU
BKxZGtDPnSiFz5iHfY57bB/y4v/TVghVLtAvTEwzVNOJh8eayRMChoX7xbSDvtZ4uCoq6FgoFyrLR
RvEULM64HAZqADbScClRBA==;
Date: Sat, 25 Oct 2025 13:14:24 +0300
Message-Id: <868qgzs2yn.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <86ms64c63f.fsf@HIDDEN> (message from Eli Zaretskii on Mon, 06
Oct 2025 20:06:44 +0300)
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
<CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
<87cy75yfug.fsf@HIDDEN> <87ecrltni1.fsf@HIDDEN>
<CAMyCBXd5G_J3ocH1cybU1R6Do=-+izHyKPJ4EtLK6ZD3r2HvAA@HIDDEN>
<87a5243vjg.fsf@HIDDEN>
<CAMyCBXdEFwA-p4F1cxbFM1m5LN=NkHVSorEaUH85NciO61SknQ@HIDDEN>
<86ms64c63f.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
Ping! Po Lu, could you please chime in with your opinions on this?
> Cc: 79090 <at> debbugs.gnu.org, manuel@HIDDEN
> Date: Mon, 06 Oct 2025 20:06:44 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
>
> > Cc: 79090 <at> debbugs.gnu.org
> > From: Mike <mikeandmore@HIDDEN>
> > Date: Mon, 6 Oct 2025 12:29:40 -0400
> >
> > It looks mostly correct. The patch only makes a difference when you have global rendering settings + family
> > specific settings in fontconfig.
> >
> > Without family specific fontconfig, you can enable hinting if you set :hintstyle 'hintfull. I think that is the
> > expected behaviour, because custom settings are overriding the system default. It's just that there are two
> > custom settings to enable hinting. Under this condition, the patch does not make a difference anyway.
> >
> > Eli, if this is all good, I can remove the print statement (it was for debugging) so that you can merge.
>
> I'd like to hear the opinion of Po Lu.
>
>
>
>
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 08 Nov 2025 11:01:02 +0000
Resent-Message-ID: <handler.79090.B79090.176259961110462 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: luangruo@HIDDEN
Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN, manuel@HIDDEN
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.176259961110462
(code B ref 79090); Sat, 08 Nov 2025 11:01:02 +0000
Received: (at 79090) by debbugs.gnu.org; 8 Nov 2025 11:00:11 +0000
Received: from localhost ([127.0.0.1]:51020 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vHgfy-0002iU-6t
for submit <at> debbugs.gnu.org; Sat, 08 Nov 2025 06:00:10 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:60738)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vHgfw-0002d4-2Y
for 79090 <at> debbugs.gnu.org; Sat, 08 Nov 2025 06:00:08 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1vHgfo-00031w-U7; Sat, 08 Nov 2025 06:00:02 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=5yKS7KM5yzW2eonTUjLXxB8xq5cU4s9MENyx/r/jnvI=; b=bHGpT/ZtqSwO
cQulaC/WND9AaRmXt9nsxMn7nFjPfVDWDSJbyxLDRmGQmixMg3Vp2TuqX+A1JZMAVV8bMLA4yXbLn
xU0OwmZinkUP2uSAm/ozgJjQ9n3viDONH34pWq4lLpsSuQ0+wJSRNIVzX5zoq46vX8i4UptGjVU7+
Ve+5hYd+yqxPG+jUGvcrZK2LyPeu9qAU9DeDR0PT4EtdsAKgdMD58HiFDfDodXSOVFAIlT0THxYer
z1mH81tDaMqLdYZ+hZBCT7r9uhA1T1Gl/ywnNE81Rk6x6lKZdOQ6602jyMyyogHTv1C7nP+sDi8zn
gmn76izeDiKuD5K9rsw+5g==;
Date: Sat, 08 Nov 2025 12:59:54 +0200
Message-Id: <86pl9s7psl.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <868qgzs2yn.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 25
Oct 2025 13:14:24 +0300)
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
<CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
<87cy75yfug.fsf@HIDDEN> <87ecrltni1.fsf@HIDDEN>
<CAMyCBXd5G_J3ocH1cybU1R6Do=-+izHyKPJ4EtLK6ZD3r2HvAA@HIDDEN>
<87a5243vjg.fsf@HIDDEN>
<CAMyCBXdEFwA-p4F1cxbFM1m5LN=NkHVSorEaUH85NciO61SknQ@HIDDEN>
<86ms64c63f.fsf@HIDDEN> <868qgzs2yn.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
Ping! Ping! Po Lu, please respond.
> Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN, manuel@HIDDEN
> Date: Sat, 25 Oct 2025 13:14:24 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
>
> Ping! Po Lu, could you please chime in with your opinions on this?
>
> > Cc: 79090 <at> debbugs.gnu.org, manuel@HIDDEN
> > Date: Mon, 06 Oct 2025 20:06:44 +0300
> > From: Eli Zaretskii <eliz@HIDDEN>
> >
> > > Cc: 79090 <at> debbugs.gnu.org
> > > From: Mike <mikeandmore@HIDDEN>
> > > Date: Mon, 6 Oct 2025 12:29:40 -0400
> > >
> > > It looks mostly correct. The patch only makes a difference when you have global rendering settings + family
> > > specific settings in fontconfig.
> > >
> > > Without family specific fontconfig, you can enable hinting if you set :hintstyle 'hintfull. I think that is the
> > > expected behaviour, because custom settings are overriding the system default. It's just that there are two
> > > custom settings to enable hinting. Under this condition, the patch does not make a difference anyway.
> > >
> > > Eli, if this is all good, I can remove the print statement (it was for debugging) so that you can merge.
> >
> > I'd like to hear the opinion of Po Lu.
> >
> >
> >
> >
>
>
>
>
X-Loop: help-debbugs@HIDDEN
Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 25 Nov 2025 20:19:08 +0000
Resent-Message-ID: <handler.79090.B79090.17641019462166 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79090
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: luangruo@HIDDEN
Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN, manuel@HIDDEN
Received: via spool by 79090-submit <at> debbugs.gnu.org id=B79090.17641019462166
(code B ref 79090); Tue, 25 Nov 2025 20:19:08 +0000
Received: (at 79090) by debbugs.gnu.org; 25 Nov 2025 20:19:06 +0000
Received: from localhost ([127.0.0.1]:41679 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vNzVB-0000Yi-Aq
for submit <at> debbugs.gnu.org; Tue, 25 Nov 2025 15:19:05 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:54498)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vMkDw-0000a3-Sq
for 79090 <at> debbugs.gnu.org; Sat, 22 Nov 2025 04:48:09 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
id 1vMkDd-0004au-Iq; Sat, 22 Nov 2025 04:47:49 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=IfCsNLZYLPFjGF0YoQNUgAKZhpb7LE7uYlEBw0Fcb1E=; b=ZZRdfg7D33Fa
vY4suGhkRS+MP78HPGbm00KosxZ7KzCWUL0kxxkfUKnwM92/juD/CPZ1kr2QgAs5eU5Qt6PZAN2uH
HabSY5zeECn1srKM6PpNVzHTyhPxWqiCBDFOkJPmiamydGygmg7DQsnHOgNkZpjw1ppDKlgA+PUVL
dQ1Zsxt8TSqo4phqWJPhDO6vaBv/auiCCPUvBF8pSr3beqjRreaBZ8Z9exDv27/dqVi0x5mnE45Hm
RZyr7ECSA+/1W0oIhuINscCovXErhbt7hXwUatwGhjHzXnu+BHNdoRw9ho6unVZcze363OtJJQnjx
CZVcRt8QVPXFDs4xQ1NFWA==;
Date: Sat, 22 Nov 2025 11:47:12 +0200
Message-Id: <86wm3iflgf.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <86pl9s7psl.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 08
Nov 2025 12:59:54 +0200)
References: <CAMyCBXeGTQ1A7G7h0Rnc27UMG3rGDDWGo6GVUKzm+TQtfn+UTg@HIDDEN>
<877bxg1jvq.fsf@HIDDEN>
<CAMyCBXdrK2eEJracF3GQt9-uid1BJfuubDMLMg-Q5mO81WeP9A@HIDDEN>
<87ecrnt6wg.fsf@HIDDEN>
<CAMyCBXef+u9Jqa4Em2f6Jk_yK1QBydCmh2rtyE7cgJmZ=CkBhA@HIDDEN>
<87frc2v9kx.fsf@HIDDEN>
<CAMyCBXd-xYs_kseamksipCL9F1QMd80iwr17mkOTOYe00sBFLA@HIDDEN>
<87bjmqv34j.fsf@HIDDEN>
<CAMyCBXd5aQGnU9hxSXdH1XG=vPKbCrpq6bheKfCT+Rn5W9ggEg@HIDDEN>
<87cy75yfug.fsf@HIDDEN> <87ecrltni1.fsf@HIDDEN>
<CAMyCBXd5G_J3ocH1cybU1R6Do=-+izHyKPJ4EtLK6ZD3r2HvAA@HIDDEN>
<87a5243vjg.fsf@HIDDEN>
<CAMyCBXdEFwA-p4F1cxbFM1m5LN=NkHVSorEaUH85NciO61SknQ@HIDDEN>
<86ms64c63f.fsf@HIDDEN> <868qgzs2yn.fsf@HIDDEN> <86pl9s7psl.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
Ping! Ping! Ping! Po Lu, are you there?
> Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN, manuel@HIDDEN
> Date: Sat, 08 Nov 2025 12:59:54 +0200
> From: Eli Zaretskii <eliz@HIDDEN>
>
> Ping! Ping! Po Lu, please respond.
>
> > Cc: 79090 <at> debbugs.gnu.org, mikeandmore@HIDDEN, manuel@HIDDEN
> > Date: Sat, 25 Oct 2025 13:14:24 +0300
> > From: Eli Zaretskii <eliz@HIDDEN>
> >
> > Ping! Po Lu, could you please chime in with your opinions on this?
> >
> > > Cc: 79090 <at> debbugs.gnu.org, manuel@HIDDEN
> > > Date: Mon, 06 Oct 2025 20:06:44 +0300
> > > From: Eli Zaretskii <eliz@HIDDEN>
> > >
> > > > Cc: 79090 <at> debbugs.gnu.org
> > > > From: Mike <mikeandmore@HIDDEN>
> > > > Date: Mon, 6 Oct 2025 12:29:40 -0400
> > > >
> > > > It looks mostly correct. The patch only makes a difference when you have global rendering settings + family
> > > > specific settings in fontconfig.
> > > >
> > > > Without family specific fontconfig, you can enable hinting if you set :hintstyle 'hintfull. I think that is the
> > > > expected behaviour, because custom settings are overriding the system default. It's just that there are two
> > > > custom settings to enable hinting. Under this condition, the patch does not make a difference anyway.
> > > >
> > > > Eli, if this is all good, I can remove the print statement (it was for debugging) so that you can merge.
> > >
> > > I'd like to hear the opinion of Po Lu.
> > >
> > >
> > >
> > >
> >
> >
> >
> >
>
>
>
>
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.