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