From unknown Mon Aug 18 04:42:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends Resent-From: Mike Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 25 Jul 2025 06:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 79090 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 79090@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@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 ) id 1ufBiQ-0006kV-MW for submit@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 ) id 1uf6za-0002q5-V1 for submit@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 ) id 1uf6zU-00060t-AC for bug-gnu-emacs@gnu.org; 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 ) id 1uf6zS-0003lO-Dh for bug-gnu-emacs@gnu.org; Thu, 24 Jul 2025 21:12:52 -0400 Received: by mail-yw1-x112f.google.com with SMTP id 00721157ae682-719c4aa9b19so16745057b3.0 for ; 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 Date: Thu, 24 Jul 2025 21:12:36 -0400 X-Gm-Features: Ac12FXxcGCOBIOpSkrIUdDBASUsFtMJWc4CzsjpeOm2xJVKdctx_FdcfAeV9l8w Message-ID: Content-Type: multipart/mixed; boundary="000000000000e65858063ab6a392" Received-SPF: pass client-ip=2607:f8b0:4864:20::112f; envelope-from=mikeandmore@gmail.com; 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@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" 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
Tags: patch

The ftcr and ftcrhb backends use cairo to render fonts, but cairo does
= not respect font specific fontconfig settings. This patch queries
fontco= nfig with the specific font, and then it translates the fontconfig
setti= ngs into cairo font settings.

Both backends would also ignore :hinti= ng and :autohint properties from
the font-spec. This patch fixes that to= o.

In GNU Emacs 30.1 (build 1, x86_64-redhat-linux-gnu) of 2025-05-2= 5 built
=C2=A0on 02c108121fcd
System Description: Oracle Linux Server= 9.4

Configured using:
=C2=A0'configure --without-all --witho= ut-x --without-ns
=C2=A0--with-compress-install --with-modules --with-sq= lite3=3Dyes
=C2=A0--with-zlib=3Dyes --with-threads=3Dyes --with-modules= =3Dyes
=C2=A0--with-file-notification=3Dinotify
=C2=A0--srcdir=3D/por= ts/editors/emacs30-nox11/work/emacs-30.1
=C2=A0--localstatedir=3D/pkg/va= r --disable-autodepend --prefix=3D/pkg
=C2=A0--build=3Dx86_64-redhat-lin= ux --host=3Dx86_64-redhat-linux
=C2=A0--infodir=3D/pkg/info --mandir=3D/= pkg/man --enable-option-checking=3Dyes
=C2=A0'CFLAGS=3D-O2 -O3 -marc= h=3Divybridge -I/usr/include -I/pkg/include'
=C2=A0'CPPFLAGS=3D-= I/usr/include -I/pkg/include'
=C2=A0'LDFLAGS=3D-L/pkg/gcc14/lib/= gcc/x86_64-redhat-linux/14.2.0
=C2=A0-Wl,-R/pkg/gcc14/lib/gcc/x86_64-red= hat-linux/14.2.0 -L/pkg/gcc14/lib64
=C2=A0-Wl,-R/pkg/gcc14/lib64 -L/usr/= lib64 -Wl,-R/usr/lib64 -L/pkg/lib
=C2=A0-Wl,-R/pkg/lib''

--
Thank= s
Mike
--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: 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-- From unknown Mon Aug 18 04:42:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 25 Jul 2025 07:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79090 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mike , Po Lu Cc: 79090@debbugs.gnu.org Received: via spool by 79090-submit@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 ) id 1ufCwe-0003eu-Em for submit@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 ) id 1ufCwb-0003eY-6V for 79090@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 ) 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@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Mike on Thu, 24 Jul 2025 21:12:36 -0400) References: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Mike > 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. From unknown Mon Aug 18 04:42:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79090: Respects Fontconfig settings for ftcr and ftcrhb font backends Resent-From: Mike Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Jul 2025 23:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79090 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: Po Lu , 79090@debbugs.gnu.org Received: via spool by 79090-submit@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 ) id 1uhGFp-0004xy-IN for submit@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 ) id 1uhGFn-0004xZ-8C for 79090@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@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: <86y0sc4tck.fsf@gnu.org> In-Reply-To: <86y0sc4tck.fsf@gnu.org> From: Mike Date: Wed, 30 Jul 2025 19:30:17 -0400 X-Gm-Features: Ac12FXxGUotwXIAFgvSEABMMn0CNfC0KJORjmlTWZm6YDvP_SeSZfnFlSUAgro8 Message-ID: Content-Type: multipart/mixed; boundary="000000000000fe1bba063b2de8cc" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" 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. true true false false hintnone rgb false lcddefault 2. Enable hinting for specific local fonts so that I can use them inside Emacs with a smaller font size. Hack true hintfull 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 wrote: > > From: Mike > > 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
Hi

Here's how I tested this.
<= 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.

=C2=A0 <matc= h target=3D"pattern">
=C2=A0 =C2=A0 <edit name=3D"a= ntialias" mode=3D"assign"><bool>true</bool>&l= t;/edit>
=C2=A0 =C2=A0 <edit name=3D"globaladvance" mode= =3D"assign"><bool>true</bool></edit>
=C2= =A0 =C2=A0 <edit name=3D"embeddedbitmap" mode=3D"assign&q= uot;><bool>false</bool></edit>
=C2=A0 =C2=A0 <ed= it name=3D"hinting" mode=3D"assign"><bool>fals= e</bool></edit>
=C2=A0 =C2=A0 <edit name=3D"hintstyl= e" mode=3D"assign"><const>hintnone</const><= ;/edit>
=C2=A0 =C2=A0 <edit name=3D"rgba" mode=3D"a= ssign"><const>rgb</const></edit>
=C2=A0 =C2=A0= <edit name=3D"autohint" mode=3D"assign"><bool= >false</bool></edit>
=C2=A0 =C2=A0 <edit name=3D"= lcdfilter" mode=3D"assign"><const>lcddefault</co= nst></edit>
=C2=A0 </match>

= 2. Enable hinting for specific local fonts so that I can use them inside Em= acs with a smaller font size.

=C2=A0 <match tar= get=3D"font">
=C2=A0 =C2=A0 <test name=3D"family&qu= ot;><string>Hack</string></test>
=C2=A0 =C2=A0 <= edit name=3D"hinting" mode=3D"assign"><bool>tr= ue</bool></edit>
=C2=A0 =C2=A0 <edit name=3D"hintsty= le" mode=3D"assign"><const>hintfull</const>&l= t;/edit>
=C2=A0 </match>

For this = step, you can also enable hinting in font-spec under Emacs.=C2=A0

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.

Thanks
Mike


On Fri, Jul 25, 2025 at 3:34=E2=80=AFAM Eli Zaretski= i <eliz@gnu.org> wrote:
=
> From: Mike <mikeandmore@gmail.com= >
> 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 fontconf= ig
> 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.=C2=A0 Would you please post a procedure to<= br> 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.=C2=A0 If you are willing to do that, I will send you the form to fill and the instructions to go with
it.


--
Thanks
Mike
--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: X-Attachment-Id: f_mdqldhee0 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 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: 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--