summaryrefslogtreecommitdiff
path: root/libs/fontconfig
diff options
context:
space:
mode:
Diffstat (limited to 'libs/fontconfig')
-rw-r--r--libs/fontconfig/.footprint108
-rw-r--r--libs/fontconfig/.signature6
-rw-r--r--libs/fontconfig/MAKEPKG34
-rw-r--r--libs/fontconfig/null-pointer-dereference-when-computing-a-patt.patch65
4 files changed, 213 insertions, 0 deletions
diff --git a/libs/fontconfig/.footprint b/libs/fontconfig/.footprint
new file mode 100644
index 0000000..f54c375
--- /dev/null
+++ b/libs/fontconfig/.footprint
@@ -0,0 +1,108 @@
+drwxr-xr-x root/root etc/
+drwxr-xr-x root/root etc/fonts/
+-rw-r--r-- root/root etc/fonts/fonts.conf
+drwxr-xr-x root/root etc/fonts/conf.d/
+-rw-r--r-- root/root etc/fonts/conf.d/README
+lrwxrwxrwx root/root etc/fonts/conf.d/10-hinting-slight.conf -> ../../../usr/share/fontconfig/conf.avail/10-hinting-slight.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/10-scale-bitmap-fonts.conf -> ../../../usr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/10-sub-pixel-none.conf -> ../../../usr/share/fontconfig/conf.avail/10-sub-pixel-none.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/10-yes-antialias.conf -> ../../../usr/share/fontconfig/conf.avail/10-yes-antialias.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/11-lcdfilter-default.conf -> ../../../usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/20-unhint-small-vera.conf -> ../../../usr/share/fontconfig/conf.avail/20-unhint-small-vera.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/30-metric-aliases.conf -> ../../../usr/share/fontconfig/conf.avail/30-metric-aliases.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/40-nonlatin.conf -> ../../../usr/share/fontconfig/conf.avail/40-nonlatin.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/45-generic.conf -> ../../../usr/share/fontconfig/conf.avail/45-generic.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/45-latin.conf -> ../../../usr/share/fontconfig/conf.avail/45-latin.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/48-guessfamily.conf -> ../../../usr/share/fontconfig/conf.avail/48-guessfamily.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/48-spacing.conf -> ../../../usr/share/fontconfig/conf.avail/48-spacing.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/49-sansserif.conf -> ../../../usr/share/fontconfig/conf.avail/49-sansserif.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/50-user.conf -> ../../../usr/share/fontconfig/conf.avail/50-user.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/51-local.conf -> ../../../usr/share/fontconfig/conf.avail/51-local.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/60-generic.conf -> ../../../usr/share/fontconfig/conf.avail/60-generic.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/60-latin.conf -> ../../../usr/share/fontconfig/conf.avail/60-latin.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/65-fonts-persian.conf -> ../../../usr/share/fontconfig/conf.avail/65-fonts-persian.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/65-nonlatin.conf -> ../../../usr/share/fontconfig/conf.avail/65-nonlatin.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/69-unifont.conf -> ../../../usr/share/fontconfig/conf.avail/69-unifont.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/70-no-bitmaps-except-emoji.conf -> ../../../usr/share/fontconfig/conf.avail/70-no-bitmaps-except-emoji.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/80-delicious.conf -> ../../../usr/share/fontconfig/conf.avail/80-delicious.conf
+lrwxrwxrwx root/root etc/fonts/conf.d/90-synthetic.conf -> ../../../usr/share/fontconfig/conf.avail/90-synthetic.conf
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/bin/
+-rwxr-xr-x root/root usr/bin/fc-cache
+-rwxr-xr-x root/root usr/bin/fc-cat
+-rwxr-xr-x root/root usr/bin/fc-conflist
+-rwxr-xr-x root/root usr/bin/fc-genconf
+-rwxr-xr-x root/root usr/bin/fc-list
+-rwxr-xr-x root/root usr/bin/fc-match
+-rwxr-xr-x root/root usr/bin/fc-pattern
+-rwxr-xr-x root/root usr/bin/fc-query
+-rwxr-xr-x root/root usr/bin/fc-scan
+-rwxr-xr-x root/root usr/bin/fc-validate
+drwxr-xr-x root/root usr/include/
+drwxr-xr-x root/root usr/include/fontconfig/
+-rw-r--r-- root/root usr/include/fontconfig/fcfreetype.h
+-rw-r--r-- root/root usr/include/fontconfig/fcprivate.h
+-rw-r--r-- root/root usr/include/fontconfig/fontconfig.h
+drwxr-xr-x root/root usr/lib/
+-rwxr-xr-x root/root usr/lib/libfontconfig.so.1.17.0
+lrwxrwxrwx root/root usr/lib/libfontconfig.so -> libfontconfig.so.1
+lrwxrwxrwx root/root usr/lib/libfontconfig.so.1 -> libfontconfig.so.1.17.0
+drwxr-xr-x root/root usr/lib/pkgconfig/
+-rw-r--r-- root/root usr/lib/pkgconfig/fontconfig.pc
+drwxr-xr-x root/root usr/share/
+drwxr-xr-x root/root usr/share/fontconfig/
+drwxr-xr-x root/root usr/share/fontconfig/conf.avail/
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/09-autohint-if-no-hinting.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-autohint.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-hinting-full.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-hinting-medium.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-hinting-none.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-hinting-slight.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-no-antialias.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-sub-pixel-bgr.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-sub-pixel-none.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-sub-pixel-vbgr.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-sub-pixel-vrgb.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-unhinted.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/10-yes-antialias.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/11-lcdfilter-legacy.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/11-lcdfilter-light.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/11-lcdfilter-none.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/20-unhint-small-vera.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/25-unhint-nonlatin.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/30-metric-aliases.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/35-lang-normalize.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/40-nonlatin.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/45-generic.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/45-latin.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/48-guessfamily.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/48-spacing.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/49-sansserif.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/50-user.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/51-local.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/60-generic.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/60-latin.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/65-fonts-persian.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/65-khmer.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/65-nonlatin.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/69-unifont.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/70-no-bitmaps-and-emoji.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/70-no-bitmaps-except-emoji.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/70-no-bitmaps.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/70-yes-bitmaps.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/80-delicious.conf
+-rw-r--r-- root/root usr/share/fontconfig/conf.avail/90-synthetic.conf
+drwxr-xr-x root/root usr/share/gettext/
+drwxr-xr-x root/root usr/share/gettext/its/
+-rw-r--r-- root/root usr/share/gettext/its/fontconfig.its
+-rw-r--r-- root/root usr/share/gettext/its/fontconfig.loc
+drwxr-xr-x root/root usr/share/xml/
+drwxr-xr-x root/root usr/share/xml/fontconfig/
+-rw-r--r-- root/root usr/share/xml/fontconfig/fonts.dtd
+drwxr-xr-x root/root var/
+drwxr-xr-x root/root var/cache/
+drwxr-xr-x root/root var/cache/fontconfig/
diff --git a/libs/fontconfig/.signature b/libs/fontconfig/.signature
new file mode 100644
index 0000000..d8fadcd
--- /dev/null
+++ b/libs/fontconfig/.signature
@@ -0,0 +1,6 @@
+RWTZ9IduCSQ/mK+mxdaoqSHmtQisSs3GSy1Psqq8EaPw6lQjG9pCK/Ib+LR1aGmI769F4LBs2pdpLd+MKRYPyS2+f0BZtJ6NdQA=
+
+SHA256 (MAKEPKG) = 2446631151bb3b8052da1b0dc0f87011f0d606721d5605f488c806b015b4ebc8
+SHA256 (.footprint) = 5d93f91727a76e4a49c54d56c2a0aa19aab1fc85ef903bb7982dca5b12d68931
+SHA256 (fontconfig-2.18.3.tar.gz) = 9ae01e1d53acdef56010c5451cd34aa41d325b2faccd8606448d8fa01b2496b3
+SHA256 (fontconfig#2.18.3-2.pkg.tar.gz) = b29b308ea3b790f12d5fd6b53e5f7e687e06ad49e0f62ae7b3abde4668f1e8a2
diff --git a/libs/fontconfig/MAKEPKG b/libs/fontconfig/MAKEPKG
new file mode 100644
index 0000000..a805bb4
--- /dev/null
+++ b/libs/fontconfig/MAKEPKG
@@ -0,0 +1,34 @@
+#!/bin/mkpkg
+# description: Font configuration and customization library
+# url: https://www.freedesktop.org/wiki/Software/fontconfig/
+
+name=fontconfig
+version=2.18.3
+release=2
+depends=(freetype expat)
+makedeps=(meson gperf)
+source=(https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/$version/fontconfig-$version.tar.gz)
+
+sha256sums=(
+ "9ae01e1d53acdef56010c5451cd34aa41d325b2faccd8606448d8fa01b2496b3"
+)
+
+build() {
+ meson setup $name-$version build \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --buildtype=plain \
+ -D doc=disabled \
+ -D tests=disabled \
+ -D cache-build=disabled
+
+ meson compile -C build
+ DESTDIR=$PKG meson install -C build
+}
+
+signify() {
+ untrusted comment: public key
+ RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
+}
+
+# vim: filetype=sh
diff --git a/libs/fontconfig/null-pointer-dereference-when-computing-a-patt.patch b/libs/fontconfig/null-pointer-dereference-when-computing-a-patt.patch
new file mode 100644
index 0000000..572582c
--- /dev/null
+++ b/libs/fontconfig/null-pointer-dereference-when-computing-a-patt.patch
@@ -0,0 +1,65 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Marcus Spencer <marcus@marcusspencer.us>
+Date: Fri, 22 May 2026 01:28:46 -0500
+Subject: [PATCH] Fix a null pointer dereference when computing a pattern from
+ a FreeType face that has no family name
+
+Changelog: fixed
+---
+ src/fcfreetype.c | 39 +++++++++++++++++++++------------------
+ 1 file changed, 21 insertions(+), 18 deletions(-)
+
+diff --git a/src/fcfreetype.c b/src/fcfreetype.c
+index c57f9b33acac..05c2e8a00471 100644
+--- a/src/fcfreetype.c
++++ b/src/fcfreetype.c
+@@ -2080,28 +2080,31 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
+ int generic_family = FC_FAMILY_UNKNOWN;
+
+ elt = FcPatternObjectFindElt (pat, FC_FAMILY_OBJECT);
+- for (l = FcPatternEltValues (elt); l; l = FcValueListNext (l)) {
+- FcValue v = FcValueCanonicalize (&l->value);
++ if (elt) {
++ for (l = FcPatternEltValues (elt); l; l = FcValueListNext (l)) {
++ FcValue v = FcValueCanonicalize (&l->value);
+
+- if (v.type == FcTypeString) {
+- if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"mono")) {
+- generic_family = FC_FAMILY_MONO;
+- break;
+- } else if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"sans")) {
+- generic_family = FC_FAMILY_SANS;
+- break;
+- } else if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"serif")) {
+- generic_family = FC_FAMILY_SERIF;
+- break;
+- } else if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"emoji")) {
+- generic_family = FC_FAMILY_EMOJI;
+- break;
+- } else if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"math")) {
+- generic_family = FC_FAMILY_MATH;
+- break;
++ if (v.type == FcTypeString) {
++ if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"mono")) {
++ generic_family = FC_FAMILY_MONO;
++ break;
++ } else if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"sans")) {
++ generic_family = FC_FAMILY_SANS;
++ break;
++ } else if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"serif")) {
++ generic_family = FC_FAMILY_SERIF;
++ break;
++ } else if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"emoji")) {
++ generic_family = FC_FAMILY_EMOJI;
++ break;
++ } else if (FcStrStrIgnoreCase (v.u.s, (FcChar8 *)"math")) {
++ generic_family = FC_FAMILY_MATH;
++ break;
++ }
+ }
+ }
+ }
++
+ FcPatternObjectAddInteger(pat, FC_GENERIC_FAMILY_OBJECT, generic_family);
+ }
+