Compare commits

..

No commits in common. "rawhide" and "f41" have entirely different histories.

12 changed files with 867 additions and 221 deletions

4
.gitignore vendored
View file

@ -40,7 +40,3 @@ fontconfig-2.8.0.tar.gz
/fontconfig-2.14.1.tar.xz
/fontconfig-2.14.2.tar.xz
/fontconfig-2.15.0.tar.xz
/fontconfig-2.16.0.tar.xz
/fontconfig-2.16.1.tar.xz
/fontconfig-2.16.2.tar.xz
/fontconfig-2.17.0.tar.xz

View file

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<description>Enable sub-pixel rendering with the RGB stripes layout for KDE only</description>
<!-- Enable sub-pixel rendering -->
<match target="font">
<!--
This sort of configuration is available on the major desktop environments
and we don't have to break it with "assign" unconditionally. however, we
want to set something for others. So we use "append" here to get this working
in both cases so that most clients would takes a look at the first place only.
-->
<test name="desktop" compare="contains">
<string>KDE</string>
</test>
<edit name="rgba" mode="append"><const>rgb</const></edit>
</match>
</fontconfig>

View file

@ -1,87 +1,7 @@
diff -pruN fontconfig-2.17.0.orig/test/meson.build fontconfig-2.17.0/test/meson.build
--- fontconfig-2.17.0.orig/test/meson.build 2025-06-27 12:12:04.000000000 +0900
+++ fontconfig-2.17.0/test/meson.build 2025-06-27 14:41:08.843726446 +0900
@@ -1,16 +1,16 @@
-fetch_test_fonts = custom_target(
- 'fetch_test_fonts',
- output: 'testfonts',
- command: [
- python3,
- join_paths(meson.project_source_root(), 'build-aux', 'fetch-testfonts.py'),
- '--target-dir',
- '@BUILD_ROOT@/testfonts',
- '--try-symlink',
- ],
- build_by_default: false,
- build_always_stale: true,
-)
+#fetch_test_fonts = custom_target(
+# 'fetch_test_fonts',
+# output: 'testfonts',
+# command: [
+# python3,
+# join_paths(meson.project_source_root(), 'build-aux', 'fetch-testfonts.py'),
+# '--target-dir',
+# '@BUILD_ROOT@/testfonts',
+# '--try-symlink',
+# ],
+# build_by_default: false,
+# build_always_stale: true,
+#)
tests = [
['test-bz89617.c', {'c_args': ['-DSRCDIR="@0@"'.format(meson.current_source_dir())]}],
@@ -33,7 +33,7 @@ if host_machine.system() != 'windows'
]
tests_not_parallel += [
# FIXME: this needs NotoSans-hinted.zip font downloaded and unpacked into test build directory! see run-test.sh
- ['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread
+ # ['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread
['test-mt-fccfg.c', {'include_directories': include_directories('../src'), 'dependencies': dependency('threads')}],
]
@@ -74,10 +74,10 @@ foreach test_data : tests + tests_not_pa
endforeach
-if get_option('fontations').enabled()
- rust = import('rust')
- rust.test('fc_fontations_rust_tests', fc_fontations, link_with: [libfontconfig_internal], depends: fetch_test_fonts, env: ['builddir=@0@'.format(meson.project_build_root())],)
-endif
+#if get_option('fontations').enabled()
+# rust = import('rust')
+# rust.test('fc_fontations_rust_tests', fc_fontations, link_with: [libfontconfig_internal], depends: fetch_test_fonts, env: ['builddir=@0@'.format(meson.project_build_root())],)
+#endif
fs = import('fs')
@@ -92,14 +92,14 @@ if host_machine.system() != 'windows'
test('run_test_sh', find_program('run-test.sh'), timeout: 600, env: ['srcdir=@0@'.format(meson.current_source_dir()), 'builddir=@0@'.format(meson.current_build_dir()), 'EXEEXT=@0@'.format(conf.get('EXEEXT')), 'VERBOSE=1'])
- if pytest.found()
- test('pytest', pytest, args: ['--tap'],
- workdir: meson.current_source_dir(),
- env: ['builddir=@0@'.format(meson.project_build_root())],
- protocol: 'tap',
- timeout: 600,
- depends: fetch_test_fonts)
- endif
+# if pytest.found()
+# test('pytest', pytest, args: ['--tap'],
+# workdir: meson.current_source_dir(),
+# env: ['builddir=@0@'.format(meson.project_build_root())],
+# protocol: 'tap',
+# timeout: 600,
+# depends: fetch_test_fonts)
+# endif
endif
if jsonc_dep.found()
diff -pruN fontconfig-2.17.0.orig/test/run-test.sh fontconfig-2.17.0/test/run-test.sh
--- fontconfig-2.17.0.orig/test/run-test.sh 2025-06-27 12:12:04.000000000 +0900
+++ fontconfig-2.17.0/test/run-test.sh 2025-06-27 14:39:19.098581228 +0900
@@ -521,18 +521,18 @@ rm -rf "$MYCACHEBASEDIR" "$MYCONFIG" "$B
diff -pruN fontconfig-2.13.93.orig/test/run-test.sh fontconfig-2.13.93/test/run-test.sh
--- fontconfig-2.13.93.orig/test/run-test.sh 2020-11-28 10:56:42.000000000 +0900
+++ fontconfig-2.13.93/test/run-test.sh 2020-11-28 12:39:57.345644527 +0900
@@ -421,18 +421,18 @@ rm -rf "$MYCACHEBASEDIR" "$MYCONFIG" my-
fi # if [ "x$EXEEXT" = "x" ]
@ -91,7 +11,7 @@ diff -pruN fontconfig-2.17.0.orig/test/run-test.sh fontconfig-2.17.0/test/run-te
- curl -s -o "$FONTDIR"/noto.zip https://noto-website-2.storage.googleapis.com/pkgs/NotoSans-hinted.zip
- (cd "$FONTDIR"; unzip noto.zip)
- if [ -n "${SOURCE_DATE_EPOCH:-}" ] && [ ${#SOURCE_DATE_EPOCH} -gt 0 ]; then
- touch -m -t "$(fdate ${SOURCE_DATE_EPOCH})" "$FONTDIR"
- touch -m -t "$(date -d @"${SOURCE_DATE_EPOCH}" +%y%m%d%H%M.%S)" "$FONTDIR"
- fi
- "$BUILDTESTDIR"/test-crbug1004254
-else
@ -101,7 +21,7 @@ diff -pruN fontconfig-2.17.0.orig/test/run-test.sh fontconfig-2.17.0/test/run-te
+# curl -s -o "$FONTDIR"/noto.zip https://noto-website-2.storage.googleapis.com/pkgs/NotoSans-hinted.zip
+# (cd "$FONTDIR"; unzip noto.zip)
+# if [ -n "${SOURCE_DATE_EPOCH:-}" ] && [ ${#SOURCE_DATE_EPOCH} -gt 0 ]; then
+# touch -m -t "$(fdate ${SOURCE_DATE_EPOCH})" "$FONTDIR"
+# touch -m -t "$(date -d @"${SOURCE_DATE_EPOCH}" +%y%m%d%H%M.%S)" "$FONTDIR"
+# fi
+# "$BUILDTESTDIR"/test-crbug1004254
+#else

View file

@ -1,12 +1,12 @@
diff -pruN fontconfig-2.16.1.orig/src/fcformat.c fontconfig-2.16.1/src/fcformat.c
--- fontconfig-2.16.1.orig/src/fcformat.c 2025-03-13 20:16:47.000000000 +0900
+++ fontconfig-2.16.1/src/fcformat.c 2025-03-13 20:42:03.633324643 +0900
@@ -77,7 +77,7 @@
#define FCCAT_FORMAT "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
#define FCMATCH_FORMAT "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
#define FCLIST_FORMAT "%{?file{%{file}: }}%{-file{%{=unparse}}}"
-#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
+#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}"
diff -pruN fontconfig-2.13.92.orig/src/fcformat.c fontconfig-2.13.92/src/fcformat.c
--- fontconfig-2.13.92.orig/src/fcformat.c 2018-07-19 12:14:39.000000000 +0900
+++ fontconfig-2.13.92/src/fcformat.c 2020-01-20 13:05:33.626227767 +0900
@@ -78,7 +78,7 @@
#define FCCAT_FORMAT "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
#define FCMATCH_FORMAT "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
#define FCLIST_FORMAT "%{?file{%{file}: }}%{-file{%{=unparse}}}"
-#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
+#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}"
static void
message (const char *fmt, ...)

54
fontconfig-fix-SAST.patch Normal file
View file

@ -0,0 +1,54 @@
From eaa335e7c4686c622f31e691f8a41fdf30ea42b3 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Wed, 31 Jul 2024 17:31:36 +0900
Subject: [PATCH 1/2] Fix a memory leak in _get_real_paths_from_prefix
---
src/fcxml.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/fcxml.c b/src/fcxml.c
index 9fe0674..083fc1f 100644
--- a/src/fcxml.c
+++ b/src/fcxml.c
@@ -1327,11 +1327,9 @@ _get_real_paths_from_prefix(FcConfigParse *parse, const FcChar8 *path, const FcC
if (!p)
return NULL;
parent = FcStrDirname (p);
+ FcStrFree (p);
if (!parent)
- {
- free (p);
return NULL;
- }
}
}
#ifndef _WIN32
--
2.45.2
From ab765827101787d49c0a66b23addc1f68f99a455 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Wed, 31 Jul 2024 17:37:53 +0900
Subject: [PATCH 2/2] Set FcTypeVoid if no valid types to convert
---
src/fcname.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/fcname.c b/src/fcname.c
index 566f0ef..b152bd9 100644
--- a/src/fcname.c
+++ b/src/fcname.c
@@ -406,6 +406,8 @@ FcNameConvert (FcType type, const char *object, FcChar8 *string)
v.u.r = FcRangeCreateDouble (b, e);
break;
default:
+ /* No valid type to convert */
+ v.type = FcTypeVoid;
break;
}
return v;
--
2.45.2

View file

@ -1,28 +0,0 @@
From b9bec06d73340f1b5727302d13ac3df307b7febc Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Mon, 30 Jun 2025 09:05:18 +0900
Subject: [PATCH] Fix a heap buffer overflow
https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/481
Changelog: fixed
---
src/fcfreetype.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/fcfreetype.c b/src/fcfreetype.c
index 7a4d9811..0a87d27a 100644
--- a/src/fcfreetype.c
+++ b/src/fcfreetype.c
@@ -2661,7 +2661,7 @@ FcFontCapabilities (FT_Face face)
goto bail;
maxsize = (((FT_ULong)gpos_count + (FT_ULong)gsub_count) * OTLAYOUT_LEN +
- (issilgraphitefont ? strlen(fcSilfCapability) : 0));
+ (issilgraphitefont ? strlen(fcSilfCapability) + 1: 0));
complex_ = malloc (sizeof (FcChar8) * maxsize);
if (!complex_)
goto bail;
--
2.50.0

109
fontconfig-fix-emojis.patch Normal file
View file

@ -0,0 +1,109 @@
From 810a300398dc93b7becca4a7f286e8999adc09a5 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Fri, 8 Mar 2024 01:55:14 +0900
Subject: [PATCH] Sort out bitmap related config files
70-no-bitmaps-and-emoji.conf: reject bitmap fonts including bitmap emoji fonts.
70-no-bitmaps-except-emoji.conf: reject bitmap fonts except bitmap emoji fonts.
70-no-bitmaps.conf: same to 70-no-bitmaps-except-emoji.conf for backward compatibility
but deprecated. This will be dropped in the future.
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/409
---
conf.d/70-no-bitmaps-and-emoji.conf | 13 +++++++++++++
conf.d/70-no-bitmaps-except-emoji.conf | 14 ++++++++++++++
conf.d/70-no-bitmaps.conf | 11 ++---------
conf.d/Makefile.am | 2 ++
conf.d/meson.build | 2 ++
5 files changed, 33 insertions(+), 9 deletions(-)
create mode 100644 conf.d/70-no-bitmaps-and-emoji.conf
create mode 100644 conf.d/70-no-bitmaps-except-emoji.conf
diff --git a/conf.d/70-no-bitmaps-and-emoji.conf b/conf.d/70-no-bitmaps-and-emoji.conf
new file mode 100644
index 00000000..3e18a4cf
--- /dev/null
+++ b/conf.d/70-no-bitmaps-and-emoji.conf
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+ <description>Reject bitmap fonts, including bitmap emoji fonts</description>
+ <!-- Reject bitmap fonts -->
+ <selectfont>
+ <rejectfont>
+ <pattern>
+ <patelt name="outline"><bool>false</bool></patelt>
+ </pattern>
+ </rejectfont>
+ </selectfont>
+</fontconfig>
diff --git a/conf.d/70-no-bitmaps-except-emoji.conf b/conf.d/70-no-bitmaps-except-emoji.conf
new file mode 100644
index 00000000..3170cd6f
--- /dev/null
+++ b/conf.d/70-no-bitmaps-except-emoji.conf
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+ <description>Reject bitmap fonts except bitmap emoji fonts</description>
+ <!-- Reject bitmap fonts -->
+ <selectfont>
+ <rejectfont>
+ <pattern>
+ <patelt name="outline"><bool>false</bool></patelt>
+ <patelt name="scalable"><bool>false</bool></patelt>
+ </pattern>
+ </rejectfont>
+ </selectfont>
+</fontconfig>
diff --git a/conf.d/70-no-bitmaps.conf b/conf.d/70-no-bitmaps.conf
index 10203acb..767e4115 100644
--- a/conf.d/70-no-bitmaps.conf
+++ b/conf.d/70-no-bitmaps.conf
@@ -1,13 +1,6 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
- <description>Reject bitmap fonts</description>
-<!-- Reject bitmap fonts -->
- <selectfont>
- <rejectfont>
- <pattern>
- <patelt name="outline"><bool>false</bool></patelt>
- </pattern>
- </rejectfont>
- </selectfont>
+ <description>Reject bitmap fonts except bitmap emoji fonts (deprecated; use 70-no-bitmaps-except-emoji.conf)</description>
+ <include ignore_missing="yes">70-no-bitmaps-except-emoji.conf</include>
</fontconfig>
diff --git a/conf.d/Makefile.am b/conf.d/Makefile.am
index fd858348..737b4fb2 100644
--- a/conf.d/Makefile.am
+++ b/conf.d/Makefile.am
@@ -98,6 +98,8 @@ template_DATA = \
69-nonlatin.conf \
69-unifont.conf \
70-no-bitmaps.conf \
+ 70-no-bitmaps-and-emoji.conf \
+ 70-no-bitmaps-except-emoji.conf \
70-yes-bitmaps.conf \
80-delicious.conf \
90-synthetic.conf
diff --git a/conf.d/meson.build b/conf.d/meson.build
index 8e896118..b6d07ee0 100644
--- a/conf.d/meson.build
+++ b/conf.d/meson.build
@@ -36,6 +36,8 @@ conf_files = [
'65-nonlatin.conf',
'69-unifont.conf',
'70-no-bitmaps.conf',
+ '70-no-bitmaps-and-emoji.conf',
+ '70-no-bitmaps-except-emoji.conf',
'70-yes-bitmaps.conf',
'80-delicious.conf',
'90-synthetic.conf',
--
GitLab

View file

@ -0,0 +1,81 @@
From fc0e9a78d2fe3b26f0b93c2a99b160e75e2a9f89 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Wed, 28 Sep 2022 21:39:09 +0900
Subject: [PATCH 1/3] Real fix of 91114d18c
The change in 91114d18c broke remapping font paths.
Patch from Mattias Clasen
Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/331
---
src/fcstr.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/fcstr.c b/src/fcstr.c
index 3fe518f..5ce65da 100644
--- a/src/fcstr.c
+++ b/src/fcstr.c
@@ -1467,7 +1467,6 @@ FcStrSetAddFilenamePairWithSalt (FcStrSet *set, const FcChar8 *a, const FcChar8
{
FcChar8 *new_a = NULL;
FcChar8 *new_b = NULL;
- FcChar8 *rs = NULL;
FcBool ret;
if (a)
@@ -1487,10 +1486,7 @@ FcStrSetAddFilenamePairWithSalt (FcStrSet *set, const FcChar8 *a, const FcChar8
}
}
/* Override maps with new one if exists */
- if (FcStrSetMemberAB (set, new_a, new_b, &rs))
- {
- FcStrSetDel (set, rs);
- }
+ FcStrSetDel (set, new_a);
ret = FcStrSetAddTriple (set, new_a, new_b, salt);
if (new_a)
FcStrFree (new_a);
--
2.37.3
From a10d07682a09ce5effbd121920b119618f4b7775 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Wed, 28 Sep 2022 23:30:06 +0900
Subject: [PATCH 2/3] Fix test cases for wrong use of remap-dir
---
test/run-test.sh | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/test/run-test.sh b/test/run-test.sh
index 1cedb8d..2b8a412 100644
--- a/test/run-test.sh
+++ b/test/run-test.sh
@@ -177,7 +177,10 @@ $FCCACHE "$FONTDIR"
sleep 1
ls -l "$CACHEDIR" > out1
TESTTMPDIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
-sed "s!@FONTDIR@!$TESTTMPDIR/fonts!
+# Once font dir is remapped, we could use $FONTDIR as different one in theory.
+# but we don't use it here and to avoid duplicate entries, set the non-existing
+# directory here.
+sed "s!@FONTDIR@!$FONTDIR/a!
s!@REMAPDIR@!<remap-dir as-path="'"'"$FONTDIR"'"'">$TESTTMPDIR/fonts</remap-dir>!
s!@CACHEDIR@!$TESTTMPDIR/cache.dir!" < "$TESTDIR"/fonts.conf.in > bind-fonts.conf
echo "$BWRAP --bind / / --bind \"$CACHEDIR\" \"$TESTTMPDIR\"/cache.dir --bind \"$FONTDIR\" \"$TESTTMPDIR\"/fonts --bind .. \"$TESTTMPDIR\"/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE \"$TESTTMPDIR\"/build/test/bind-fonts.conf \"$TESTTMPDIR\"/build/fc-match/fc-match\"$EXEEXT\" -f \"%{file}\n\" \":foundry=Misc\" > xxx"
@@ -273,7 +276,10 @@ sleep 1
(cd "$CACHEDIR"; ls -1 --color=no ./*cache*) > out1
TESTTMPDIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX)
mkdir -p "$TESTTMPDIR"/cache.dir
-sed "s!@FONTDIR@!$TESTTMPDIR/fonts!
+# Once font dir is remapped, we could use $FONTDIR as different one in theory.
+# but we don't use it here and to avoid duplicate entries, set the non-existing
+# directory here.
+sed "s!@FONTDIR@!$FONTDIR/a!
s!@REMAPDIR@!<remap-dir as-path="'"'"$FONTDIR"'"'">$TESTTMPDIR/fonts</remap-dir>!
s!@CACHEDIR@!$TESTTMPDIR/cache.dir!" < "$TESTDIR"/fonts.conf.in > bind-fonts.conf
$BWRAP --bind / / --bind "$FONTDIR" "$TESTTMPDIR"/fonts --bind .. "$TESTTMPDIR"/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE "$TESTTMPDIR"/build/test/bind-fonts.conf "$TESTTMPDIR"/build/fc-cache/fc-cache"$EXEEXT" "$TESTTMPDIR"/fonts
--
2.37.3

View file

@ -1,6 +1,494 @@
diff -pruN fontconfig-2.16.0.orig/conf.d/Makefile.am fontconfig-2.16.0/conf.d/Makefile.am
--- fontconfig-2.16.0.orig/conf.d/Makefile.am 2025-01-18 00:15:05.000000000 +0900
+++ fontconfig-2.16.0/conf.d/Makefile.am 2025-01-18 00:38:32.245398277 +0900
diff -pruN fontconfig-2.15.0.orig/conf.d/65-nonlatin.conf fontconfig-2.15.0/conf.d/65-nonlatin.conf
--- fontconfig-2.15.0.orig/conf.d/65-nonlatin.conf 2023-03-22 20:36:46.000000000 +0900
+++ fontconfig-2.15.0/conf.d/65-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900
@@ -1,240 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
-<fontconfig>
- <description>Set preferable fonts for non-Latin</description>
- <alias>
- <family>serif</family>
- <prefer>
- <family>Artsounk</family> <!-- armenian -->
- <family>BPG UTF8 M</family> <!-- georgian -->
- <family>Kinnari</family> <!-- thai -->
- <family>Norasi</family> <!-- thai -->
- <family>Frank Ruehl</family> <!-- hebrew -->
- <family>Dror</family> <!-- hebrew -->
- <family>JG LaoTimes</family> <!-- lao -->
- <family>Saysettha Unicode</family> <!-- lao -->
- <family>Pigiarniq</family> <!-- canadian syllabics -->
- <family>B Davat</family> <!-- arabic (fa) -->
- <family>B Compset</family> <!-- arabic (fa) -->
- <family>Kacst-Qr</family> <!-- arabic (ar) -->
- <family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
- <family>Raghindi</family> <!-- devanagari -->
- <family>Mukti Narrow</family> <!-- bengali -->
- <family>malayalam</family> <!-- malayalam -->
- <family>Sampige</family> <!-- kannada -->
- <family>padmaa</family> <!-- gujarati -->
- <family>Hapax Berbère</family> <!-- tifinagh -->
- <family>MS Mincho</family> <!-- han (ja) -->
- <family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
- <family>PMingLiu</family> <!-- han (zh-tw) -->
- <family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
- <family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
- <family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
- <family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
- <family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
- <family>HanyiSong</family> <!-- han (zh-cn,zh-tw) -->
- <family>Hiragino Mincho ProN</family> <!-- han (ja) - macOS -->
- <family>Songti SC</family> <!-- han (zh-cn) - macOS -->
- <family>Songti TC</family> <!-- han (zh-tw) - macOS -->
- <family>SimSong</family> <!-- han (zh-cn) - macOS -->
- <family>MgOpen Canonica</family>
- <family>Sazanami Mincho</family>
- <family>IPAMonaMincho</family>
- <family>IPAMincho</family>
- <family>Kochi Mincho</family>
- <family>AR PL SungtiL GB</family>
- <family>AR PL Mingti2L Big5</family>
- <family>AR PL Zenkai Uni</family>
- <family> 明朝</family>
- <family>ZYSong18030</family>
- <family>NanumMyeongjo</family> <!-- hangul (ko) -->
- <family>UnBatang</family> <!-- hangul (ko) -->
- <family>Baekmuk Batang</family> <!-- hangul (ko) -->
- <family>AppleMyungjo</family> <!-- hangul (ko) - macOS -->
- <family>KacstQura</family>
- <family>Frank Ruehl CLM</family>
- <family>Lohit Bengali</family>
- <family>Lohit Gujarati</family>
- <family>Lohit Hindi</family>
- <family>Lohit Marathi</family>
- <family>Lohit Maithili</family>
- <family>Lohit Kashmiri</family>
- <family>Lohit Konkani</family>
- <family>Lohit Nepali</family>
- <family>Lohit Sindhi</family>
- <family>Lohit Punjabi</family>
- <family>Lohit Tamil</family>
- <family>Rachana</family>
- <family>Lohit Malayalam</family>
- <family>Lohit Kannada</family>
- <family>Lohit Telugu</family>
- <family>Lohit Oriya</family>
- <family>LKLUG</family>
- </prefer>
- </alias>
- <alias>
- <family>sans-serif</family>
- <prefer>
- <family>Nachlieli</family> <!-- hebrew -->
- <family>Lucida Sans Unicode</family>
- <family>Yudit Unicode</family>
- <family>Kerkis</family> <!-- greek -->
- <family>ArmNet Helvetica</family> <!-- armenian -->
- <family>Artsounk</family> <!-- armenian -->
- <family>BPG UTF8 M</family> <!-- georgian -->
- <family>Waree</family> <!-- thai -->
- <family>Loma</family> <!-- thai -->
- <family>Garuda</family> <!-- thai -->
- <family>Umpush</family> <!-- thai -->
- <family>Saysettha Unicode</family> <!-- lao? -->
- <family>JG Lao Old Arial</family> <!-- lao -->
- <family>GF Zemen Unicode</family> <!-- ethiopic -->
- <family>Pigiarniq</family> <!-- canadian syllabics -->
- <family>B Davat</family> <!-- arabic (fa) -->
- <family>B Compset</family> <!-- arabic (fa) -->
- <family>Kacst-Qr</family> <!-- arabic (ar) -->
- <family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
- <family>Raghindi</family> <!-- devanagari -->
- <family>Mukti Narrow</family> <!-- bengali -->
- <family>malayalam</family> <!-- malayalam -->
- <family>Sampige</family> <!-- kannada -->
- <family>padmaa</family> <!-- gujarati -->
- <family>Hapax Berbère</family> <!-- tifinagh -->
- <family>MS Gothic</family> <!-- han (ja) -->
- <family>UmePlus P Gothic</family> <!-- han (ja) -->
- <family>Microsoft YaHei</family> <!-- han (zh-cn,zh-tw) -->
- <family>Microsoft JhengHei</family> <!-- han (zh-tw) -->
- <family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
- <family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
- <family>AR PL ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
- <family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
- <family>Hiragino Sans</family> <!-- han (ja) - macOS -->
- <family>PingFang SC</family> <!-- han (zh-cn) - macOS -->
- <family>PingFang TC</family> <!-- han (zh-tw) - macOS -->
- <family>PingFang HK</family> <!-- han (zh-hk) - macOS -->
- <family>Hiragino Sans CNS</family> <!-- han (zh-cn) - macOS -->
- <family>Hiragino Sans GB</family> <!-- han (zh-tw) - macOS -->
- <family>MgOpen Modata</family>
- <family>VL Gothic</family>
- <family>IPAMonaGothic</family>
- <family>IPAGothic</family>
- <family>Sazanami Gothic</family>
- <family>Kochi Gothic</family>
- <family>AR PL KaitiM GB</family>
- <family>AR PL KaitiM Big5</family>
- <family>AR PL ShanHeiSun Uni</family>
- <family>AR PL SungtiL GB</family>
- <family>AR PL Mingti2L Big5</family>
- <family> ゴシック</family>
- <family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
- <family>TSCu_Paranar</family> <!-- tamil -->
- <family>NanumGothic</family> <!-- hangul (ko) -->
- <family>UnDotum</family> <!-- hangul (ko) -->
- <family>Baekmuk Dotum</family> <!-- hangul (ko) -->
- <family>Baekmuk Gulim</family> <!-- hangul (ko) -->
- <family>Apple SD Gothic Neo</family> <!-- hangul (ko) - macOS -->
- <family>KacstQura</family>
- <family>Lohit Bengali</family>
- <family>Lohit Gujarati</family>
- <family>Lohit Hindi</family>
- <family>Lohit Marathi</family>
- <family>Lohit Maithili</family>
- <family>Lohit Kashmiri</family>
- <family>Lohit Konkani</family>
- <family>Lohit Nepali</family>
- <family>Lohit Sindhi</family>
- <family>Lohit Punjabi</family>
- <family>Lohit Tamil</family>
- <family>Meera</family>
- <family>Lohit Malayalam</family>
- <family>Lohit Kannada</family>
- <family>Lohit Telugu</family>
- <family>Lohit Oriya</family>
- <family>LKLUG</family>
- </prefer>
- </alias>
- <alias>
- <family>monospace</family>
- <prefer>
- <family>Miriam Mono</family> <!-- hebrew -->
- <family>VL Gothic</family>
- <family>IPAMonaGothic</family>
- <family>IPAGothic</family>
- <family>Sazanami Gothic</family>
- <family>Kochi Gothic</family>
- <family>AR PL KaitiM GB</family>
- <family>MS Gothic</family> <!-- han (ja) -->
- <family>UmePlus Gothic</family> <!-- han (ja) -->
- <family>NSimSun</family> <!-- han (zh-cn,zh-tw) -->
- <family>MingLiu</family> <!-- han (zh-tw) -->
- <family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
- <family>AR PL New Sung Mono</family> <!-- han (zh-cn,zh-tw) -->
- <family>HanyiSong</family> <!-- han (zh-cn) -->
- <family>AR PL SungtiL GB</family>
- <family>AR PL Mingti2L Big5</family>
- <family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
- <family>NanumGothicCoding</family> <!-- hangul (ko) -->
- <family>NanumGothic</family> <!-- hangul (ko) -->
- <family>UnDotum</family> <!-- hangul (ko) -->
- <family>Baekmuk Dotum</family> <!-- hangul (ko) -->
- <family>Baekmuk Gulim</family> <!-- hangul (ko) -->
- <family>TlwgTypo</family> <!-- thai -->
- <family>TlwgTypist</family> <!-- thai -->
- <family>TlwgTypewriter</family> <!-- thai -->
- <family>TlwgMono</family> <!-- thai -->
- <family>Hasida</family> <!-- hebrew -->
- <family>GF Zemen Unicode</family> <!-- ethiopic -->
- <family>Hapax Berbère</family> <!-- tifinagh -->
- <family>Lohit Bengali</family>
- <family>Lohit Gujarati</family>
- <family>Lohit Hindi</family>
- <family>Lohit Marathi</family>
- <family>Lohit Maithili</family>
- <family>Lohit Kashmiri</family>
- <family>Lohit Konkani</family>
- <family>Lohit Nepali</family>
- <family>Lohit Sindhi</family>
- <family>Lohit Punjabi</family>
- <family>Lohit Tamil</family>
- <family>Meera</family>
- <family>Lohit Malayalam</family>
- <family>Lohit Kannada</family>
- <family>Lohit Telugu</family>
- <family>Lohit Oriya</family>
- <family>LKLUG</family>
- </prefer>
- </alias>
-<!--
- system-ui
--->
- <alias>
- <family>system-ui</family>
- <prefer>
- <family>Noto Sans Arabic UI</family><!-- ar -->
- <family>Noto Sans Bengali UI</family><!-- bn -->
- <family>Noto Sans Devanagari UI</family><!-- hi, mai, mr -->
- <family>Noto Sans Gujarati UI</family><!-- gu -->
- <family>Noto Sans Gurmukhi UI</family><!-- pa -->
- <family>Noto Sans Kannada UI</family><!-- kn -->
- <family>Noto Sans Khmer UI</family><!-- km -->
- <family>Noto Sans Lao UI</family><!-- lo -->
- <family>Noto Sans Malayalam UI</family><!-- ml -->
- <family>Noto Sans Myanmar UI</family><!-- my -->
- <family>Noto Sans Oriya UI</family><!-- or -->
- <family>Noto Sans Sinhala UI</family><!-- si -->
- <family>Noto Sans Tamil UI</family><!-- ta -->
- <family>Noto Sans Telugu UI</family><!-- te -->
- <family>Noto Sans Thai UI</family><!-- th -->
- <family>Leelawadee UI</family><!-- bug, th, jv, km, lo -->
- <family>Nirmala UI</family><!-- Indic -->
- <family>Yu Gothic UI</family><!-- han (ja) -->
- <family>Meiryo UI</family><!-- han (ja) -->
- <family>MS UI Gothic</family><!-- han (ja) -->
- <family>Khmer UI</family><!-- km -->
- <family>Lao UI</family><!-- lo -->
- <family>Microsoft YaHei UI</family><!-- han (zh-cn) -->
- <family>Microsoft JhengHei UI</family><!-- han (zh-tw) -->
- </prefer>
- </alias>
-
-</fontconfig>
diff -pruN fontconfig-2.15.0.orig/conf.d/69-nonlatin.conf fontconfig-2.15.0/conf.d/69-nonlatin.conf
--- fontconfig-2.15.0.orig/conf.d/69-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900
+++ fontconfig-2.15.0/conf.d/69-nonlatin.conf 2023-03-22 20:36:46.000000000 +0900
@@ -0,0 +1,240 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+ <description>Set preferable fonts for non-Latin</description>
+ <alias>
+ <family>serif</family>
+ <prefer>
+ <family>Artsounk</family> <!-- armenian -->
+ <family>BPG UTF8 M</family> <!-- georgian -->
+ <family>Kinnari</family> <!-- thai -->
+ <family>Norasi</family> <!-- thai -->
+ <family>Frank Ruehl</family> <!-- hebrew -->
+ <family>Dror</family> <!-- hebrew -->
+ <family>JG LaoTimes</family> <!-- lao -->
+ <family>Saysettha Unicode</family> <!-- lao -->
+ <family>Pigiarniq</family> <!-- canadian syllabics -->
+ <family>B Davat</family> <!-- arabic (fa) -->
+ <family>B Compset</family> <!-- arabic (fa) -->
+ <family>Kacst-Qr</family> <!-- arabic (ar) -->
+ <family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
+ <family>Raghindi</family> <!-- devanagari -->
+ <family>Mukti Narrow</family> <!-- bengali -->
+ <family>malayalam</family> <!-- malayalam -->
+ <family>Sampige</family> <!-- kannada -->
+ <family>padmaa</family> <!-- gujarati -->
+ <family>Hapax Berbère</family> <!-- tifinagh -->
+ <family>MS Mincho</family> <!-- han (ja) -->
+ <family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
+ <family>PMingLiu</family> <!-- han (zh-tw) -->
+ <family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
+ <family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
+ <family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
+ <family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
+ <family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
+ <family>HanyiSong</family> <!-- han (zh-cn,zh-tw) -->
+ <family>Hiragino Mincho ProN</family> <!-- han (ja) - macOS -->
+ <family>Songti SC</family> <!-- han (zh-cn) - macOS -->
+ <family>Songti TC</family> <!-- han (zh-tw) - macOS -->
+ <family>SimSong</family> <!-- han (zh-cn) - macOS -->
+ <family>MgOpen Canonica</family>
+ <family>Sazanami Mincho</family>
+ <family>IPAMonaMincho</family>
+ <family>IPAMincho</family>
+ <family>Kochi Mincho</family>
+ <family>AR PL SungtiL GB</family>
+ <family>AR PL Mingti2L Big5</family>
+ <family>AR PL Zenkai Uni</family>
+ <family> 明朝</family>
+ <family>ZYSong18030</family>
+ <family>NanumMyeongjo</family> <!-- hangul (ko) -->
+ <family>UnBatang</family> <!-- hangul (ko) -->
+ <family>Baekmuk Batang</family> <!-- hangul (ko) -->
+ <family>AppleMyungjo</family> <!-- hangul (ko) - macOS -->
+ <family>KacstQura</family>
+ <family>Frank Ruehl CLM</family>
+ <family>Lohit Bengali</family>
+ <family>Lohit Gujarati</family>
+ <family>Lohit Hindi</family>
+ <family>Lohit Marathi</family>
+ <family>Lohit Maithili</family>
+ <family>Lohit Kashmiri</family>
+ <family>Lohit Konkani</family>
+ <family>Lohit Nepali</family>
+ <family>Lohit Sindhi</family>
+ <family>Lohit Punjabi</family>
+ <family>Lohit Tamil</family>
+ <family>Rachana</family>
+ <family>Lohit Malayalam</family>
+ <family>Lohit Kannada</family>
+ <family>Lohit Telugu</family>
+ <family>Lohit Oriya</family>
+ <family>LKLUG</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans-serif</family>
+ <prefer>
+ <family>Nachlieli</family> <!-- hebrew -->
+ <family>Lucida Sans Unicode</family>
+ <family>Yudit Unicode</family>
+ <family>Kerkis</family> <!-- greek -->
+ <family>ArmNet Helvetica</family> <!-- armenian -->
+ <family>Artsounk</family> <!-- armenian -->
+ <family>BPG UTF8 M</family> <!-- georgian -->
+ <family>Waree</family> <!-- thai -->
+ <family>Loma</family> <!-- thai -->
+ <family>Garuda</family> <!-- thai -->
+ <family>Umpush</family> <!-- thai -->
+ <family>Saysettha Unicode</family> <!-- lao? -->
+ <family>JG Lao Old Arial</family> <!-- lao -->
+ <family>GF Zemen Unicode</family> <!-- ethiopic -->
+ <family>Pigiarniq</family> <!-- canadian syllabics -->
+ <family>B Davat</family> <!-- arabic (fa) -->
+ <family>B Compset</family> <!-- arabic (fa) -->
+ <family>Kacst-Qr</family> <!-- arabic (ar) -->
+ <family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
+ <family>Raghindi</family> <!-- devanagari -->
+ <family>Mukti Narrow</family> <!-- bengali -->
+ <family>malayalam</family> <!-- malayalam -->
+ <family>Sampige</family> <!-- kannada -->
+ <family>padmaa</family> <!-- gujarati -->
+ <family>Hapax Berbère</family> <!-- tifinagh -->
+ <family>MS Gothic</family> <!-- han (ja) -->
+ <family>UmePlus P Gothic</family> <!-- han (ja) -->
+ <family>Microsoft YaHei</family> <!-- han (zh-cn,zh-tw) -->
+ <family>Microsoft JhengHei</family> <!-- han (zh-tw) -->
+ <family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
+ <family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
+ <family>AR PL ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
+ <family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
+ <family>Hiragino Sans</family> <!-- han (ja) - macOS -->
+ <family>PingFang SC</family> <!-- han (zh-cn) - macOS -->
+ <family>PingFang TC</family> <!-- han (zh-tw) - macOS -->
+ <family>PingFang HK</family> <!-- han (zh-hk) - macOS -->
+ <family>Hiragino Sans CNS</family> <!-- han (zh-cn) - macOS -->
+ <family>Hiragino Sans GB</family> <!-- han (zh-tw) - macOS -->
+ <family>MgOpen Modata</family>
+ <family>VL Gothic</family>
+ <family>IPAMonaGothic</family>
+ <family>IPAGothic</family>
+ <family>Sazanami Gothic</family>
+ <family>Kochi Gothic</family>
+ <family>AR PL KaitiM GB</family>
+ <family>AR PL KaitiM Big5</family>
+ <family>AR PL ShanHeiSun Uni</family>
+ <family>AR PL SungtiL GB</family>
+ <family>AR PL Mingti2L Big5</family>
+ <family> ゴシック</family>
+ <family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
+ <family>TSCu_Paranar</family> <!-- tamil -->
+ <family>NanumGothic</family> <!-- hangul (ko) -->
+ <family>UnDotum</family> <!-- hangul (ko) -->
+ <family>Baekmuk Dotum</family> <!-- hangul (ko) -->
+ <family>Baekmuk Gulim</family> <!-- hangul (ko) -->
+ <family>Apple SD Gothic Neo</family> <!-- hangul (ko) - macOS -->
+ <family>KacstQura</family>
+ <family>Lohit Bengali</family>
+ <family>Lohit Gujarati</family>
+ <family>Lohit Hindi</family>
+ <family>Lohit Marathi</family>
+ <family>Lohit Maithili</family>
+ <family>Lohit Kashmiri</family>
+ <family>Lohit Konkani</family>
+ <family>Lohit Nepali</family>
+ <family>Lohit Sindhi</family>
+ <family>Lohit Punjabi</family>
+ <family>Lohit Tamil</family>
+ <family>Meera</family>
+ <family>Lohit Malayalam</family>
+ <family>Lohit Kannada</family>
+ <family>Lohit Telugu</family>
+ <family>Lohit Oriya</family>
+ <family>LKLUG</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>Miriam Mono</family> <!-- hebrew -->
+ <family>VL Gothic</family>
+ <family>IPAMonaGothic</family>
+ <family>IPAGothic</family>
+ <family>Sazanami Gothic</family>
+ <family>Kochi Gothic</family>
+ <family>AR PL KaitiM GB</family>
+ <family>MS Gothic</family> <!-- han (ja) -->
+ <family>UmePlus Gothic</family> <!-- han (ja) -->
+ <family>NSimSun</family> <!-- han (zh-cn,zh-tw) -->
+ <family>MingLiu</family> <!-- han (zh-tw) -->
+ <family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
+ <family>AR PL New Sung Mono</family> <!-- han (zh-cn,zh-tw) -->
+ <family>HanyiSong</family> <!-- han (zh-cn) -->
+ <family>AR PL SungtiL GB</family>
+ <family>AR PL Mingti2L Big5</family>
+ <family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
+ <family>NanumGothicCoding</family> <!-- hangul (ko) -->
+ <family>NanumGothic</family> <!-- hangul (ko) -->
+ <family>UnDotum</family> <!-- hangul (ko) -->
+ <family>Baekmuk Dotum</family> <!-- hangul (ko) -->
+ <family>Baekmuk Gulim</family> <!-- hangul (ko) -->
+ <family>TlwgTypo</family> <!-- thai -->
+ <family>TlwgTypist</family> <!-- thai -->
+ <family>TlwgTypewriter</family> <!-- thai -->
+ <family>TlwgMono</family> <!-- thai -->
+ <family>Hasida</family> <!-- hebrew -->
+ <family>GF Zemen Unicode</family> <!-- ethiopic -->
+ <family>Hapax Berbère</family> <!-- tifinagh -->
+ <family>Lohit Bengali</family>
+ <family>Lohit Gujarati</family>
+ <family>Lohit Hindi</family>
+ <family>Lohit Marathi</family>
+ <family>Lohit Maithili</family>
+ <family>Lohit Kashmiri</family>
+ <family>Lohit Konkani</family>
+ <family>Lohit Nepali</family>
+ <family>Lohit Sindhi</family>
+ <family>Lohit Punjabi</family>
+ <family>Lohit Tamil</family>
+ <family>Meera</family>
+ <family>Lohit Malayalam</family>
+ <family>Lohit Kannada</family>
+ <family>Lohit Telugu</family>
+ <family>Lohit Oriya</family>
+ <family>LKLUG</family>
+ </prefer>
+ </alias>
+<!--
+ system-ui
+-->
+ <alias>
+ <family>system-ui</family>
+ <prefer>
+ <family>Noto Sans Arabic UI</family><!-- ar -->
+ <family>Noto Sans Bengali UI</family><!-- bn -->
+ <family>Noto Sans Devanagari UI</family><!-- hi, mai, mr -->
+ <family>Noto Sans Gujarati UI</family><!-- gu -->
+ <family>Noto Sans Gurmukhi UI</family><!-- pa -->
+ <family>Noto Sans Kannada UI</family><!-- kn -->
+ <family>Noto Sans Khmer UI</family><!-- km -->
+ <family>Noto Sans Lao UI</family><!-- lo -->
+ <family>Noto Sans Malayalam UI</family><!-- ml -->
+ <family>Noto Sans Myanmar UI</family><!-- my -->
+ <family>Noto Sans Oriya UI</family><!-- or -->
+ <family>Noto Sans Sinhala UI</family><!-- si -->
+ <family>Noto Sans Tamil UI</family><!-- ta -->
+ <family>Noto Sans Telugu UI</family><!-- te -->
+ <family>Noto Sans Thai UI</family><!-- th -->
+ <family>Leelawadee UI</family><!-- bug, th, jv, km, lo -->
+ <family>Nirmala UI</family><!-- Indic -->
+ <family>Yu Gothic UI</family><!-- han (ja) -->
+ <family>Meiryo UI</family><!-- han (ja) -->
+ <family>MS UI Gothic</family><!-- han (ja) -->
+ <family>Khmer UI</family><!-- km -->
+ <family>Lao UI</family><!-- lo -->
+ <family>Microsoft YaHei UI</family><!-- han (zh-cn) -->
+ <family>Microsoft JhengHei UI</family><!-- han (zh-tw) -->
+ </prefer>
+ </alias>
+
+</fontconfig>
diff -pruN fontconfig-2.15.0.orig/conf.d/Makefile.am fontconfig-2.15.0/conf.d/Makefile.am
--- fontconfig-2.15.0.orig/conf.d/Makefile.am 2023-08-24 14:14:15.000000000 +0900
+++ fontconfig-2.15.0/conf.d/Makefile.am 2023-12-22 23:08:05.514969924 +0900
@@ -47,7 +47,7 @@ CONF_LINKS = \
60-generic.conf \
60-latin.conf \
@ -18,25 +506,4 @@ diff -pruN fontconfig-2.16.0.orig/conf.d/Makefile.am fontconfig-2.16.0/conf.d/Ma
+ 69-nonlatin.conf \
69-unifont.conf \
70-no-bitmaps.conf \
70-no-bitmaps-and-emoji.conf \
diff -pruN fontconfig-2.16.0.orig/conf.d/meson.build fontconfig-2.16.0/conf.d/meson.build
--- fontconfig-2.16.0.orig/conf.d/meson.build 2025-01-18 00:15:05.000000000 +0900
+++ fontconfig-2.16.0/conf.d/meson.build 2025-01-18 00:38:43.243595743 +0900
@@ -33,7 +33,7 @@ conf_files = [
'60-latin.conf',
'65-fonts-persian.conf',
'65-khmer.conf',
- '65-nonlatin.conf',
+ '69-nonlatin.conf',
'69-unifont.conf',
'70-no-bitmaps.conf',
'70-no-bitmaps-and-emoji.conf',
@@ -64,7 +64,7 @@ conf_links = [
'60-generic.conf',
'60-latin.conf',
'65-fonts-persian.conf',
- '65-nonlatin.conf',
+ '69-nonlatin.conf',
'69-unifont.conf',
'80-delicious.conf',
'90-synthetic.conf',
70-yes-bitmaps.conf \

View file

@ -0,0 +1,67 @@
From c22908828fb2dbfdf38733d119adc1cf5fe00173 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Sat, 10 Feb 2024 00:20:54 +0900
Subject: [PATCH 1/2] Clean up .uuid files with fc-cache -f too
.uuid file was obsoleted >5 years ago and it was supposed to
be cleaned up by fc-cache -r but not -f.
This change tries to clean it up by fc-cache -f.
https://bugzilla.redhat.com/show_bug.cgi?id=1761885
---
src/fcdir.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/fcdir.c b/src/fcdir.c
index 6f7b3835..2e4fdc69 100644
--- a/src/fcdir.c
+++ b/src/fcdir.c
@@ -234,7 +234,7 @@ FcDirScanConfig (FcFontSet *set,
if (FcDebug () & FC_DBG_SCAN)
printf ("\tScanning dir %s\n", s_dir);
-
+
d = opendir ((char *) s_dir);
if (!d)
{
@@ -459,7 +459,10 @@ FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config)
/* Not using existing cache file, construct new cache */
if (!cache)
+ {
+ FcDirCacheDeleteUUID (dir, config);
cache = FcDirCacheScan (dir, config);
+ }
FcConfigDestroy (config);
return cache;
--
2.43.0
From a76b95105ca26c600279b2daf4bd43b37a918823 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
Date: Sat, 10 Feb 2024 02:15:45 +0900
Subject: [PATCH 2/2] Fix undesired unref of FcConfig on Win32
---
src/fccache.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/fccache.c b/src/fccache.c
index cebbb810..54f76ac1 100644
--- a/src/fccache.c
+++ b/src/fccache.c
@@ -106,8 +106,8 @@ FcDirCacheDeleteUUID (const FcChar8 *dir,
FcStrFree (target);
bail:
FcStrFree (d);
-#endif
FcConfigDestroy (config);
+#endif
return ret;
}
--
2.43.0

View file

@ -4,8 +4,8 @@
Summary: Font configuration and customization library
Name: fontconfig
Version: 2.17.0
Release: 3%{?dist}
Version: 2.15.0
Release: 8%{?dist}
# src/ftglue.[ch] is in Public Domain
# src/fccache.c contains Public Domain code
## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177
@ -22,15 +22,17 @@ Patch0: %{name}-sleep-less.patch
Patch4: %{name}-drop-lang-from-pkgkit-format.patch
Patch5: %{name}-disable-network-required-test.patch
Patch6: %{name}-lower-nonlatin-conf.patch
Patch7: %{name}-fix-crash.patch
Patch7: %{name}-remove-uuid.patch
Patch8: %{name}-fix-emojis.patch
Patch9: %{name}-fix-SAST.patch
BuildRequires: libxml2-devel
BuildRequires: freetype-devel >= %{freetype_version}
BuildRequires: fontpackages-devel
BuildRequires: gettext
BuildRequires: autoconf automake libtool gettext
BuildRequires: gperf
BuildRequires: docbook-utils docbook-utils-pdf
BuildRequires: meson ninja-build gcc
BuildRequires: make
Requires: fonts-filesystem freetype
# Register DTD system-wide to make validation work by default
@ -72,18 +74,25 @@ which is useful for developing applications that uses fontconfig.
%prep
%autosetup -p1
# To reduce a maintenance cost of fontconfig-lower-nonlatin-conf.patch
mv conf.d/65-nonlatin.conf conf.d/69-nonlatin.conf
%build
%meson -Ddoc=disabled -Dcache-build=disabled -Dxml-backend=libxml2 \
-Dadditional-fonts-dirs=/usr/share/X11/fonts/Type1,/usr/share/X11/fonts/TTF,/usr/local/share/fonts \
-Dcache-dir=/usr/lib/fontconfig/cache \
--default-library=shared
%meson_build
# We don't want to rebuild the docs, but we want to install the included ones.
export HASDOCBOOK=no
for i in doc/*.fncs; do
touch -r $i ${i//.fncs/.sgml}
done
autoreconf
%configure --with-add-fonts=/usr/share/X11/fonts/Type1,/usr/share/X11/fonts/TTF,/usr/local/share/fonts \
--enable-libxml2 \
--disable-static --with-cache-dir=/usr/lib/fontconfig/cache
make %{?_smp_mflags}
%install
%meson_install
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
install -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d
ln -s %{_fontconfig_templatedir}/25-unhint-nonlatin.conf $RPM_BUILD_ROOT%{_fontconfig_confdir}/
@ -91,31 +100,14 @@ ln -s %{_fontconfig_templatedir}/25-unhint-nonlatin.conf $RPM_BUILD_ROOT%{_fontc
# Use implied value to allow the use of conditional conf
rm $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d/10-sub-pixel-*.conf
# Do not enable bitmap-related conf
rm $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d/70-*bitmaps*.conf
# Install docs manually
install -d $RPM_BUILD_ROOT%{_mandir}/man1
install -d $RPM_BUILD_ROOT%{_mandir}/man3
install -d $RPM_BUILD_ROOT%{_mandir}/man5
for f in doc/*.1; do
install -p -m 0644 $f $RPM_BUILD_ROOT%{_mandir}/man1
done
for f in doc/*.3; do
install -p -m 0644 $f $RPM_BUILD_ROOT%{_mandir}/man3
done
for f in doc/*.5; do
install -p -m 0644 $f $RPM_BUILD_ROOT%{_mandir}/man5
done
for f in doc/*.txt doc/*.pdf doc/*.html; do
install -p -m 0644 $f .
done
# move installed doc files back to build directory to package them
# in the right place
mv $RPM_BUILD_ROOT%{_docdir}/fontconfig/* .
rmdir $RPM_BUILD_ROOT%{_docdir}/fontconfig/
# adjust the timestamp to avoid conflicts for multilib
touch -r doc/fontconfig-user.sgml fontconfig-user.txt
touch -r doc/fontconfig-user.sgml fontconfig-user.html
touch -r doc/fontconfig-devel.sgml fontconfig-devel.txt
touch -r doc/fontconfig-devel.sgml fontconfig-devel.html
# rename fc-cache binary
mv $RPM_BUILD_ROOT%{_bindir}/fc-cache $RPM_BUILD_ROOT%{_bindir}/fc-cache-%{__isa_bits}
@ -130,7 +122,7 @@ install -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/fc-cache
cat %{name}-conf.lang >> %{name}.lang
%check
%meson_test
VERBOSE=1 make check
%post
umask 0022
@ -201,40 +193,9 @@ fi
%{_datadir}/gettext/its/fontconfig.loc
%files devel-doc
%doc fontconfig-devel.txt fontconfig-devel.html
%doc fontconfig-devel.txt fontconfig-devel
%changelog
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.17.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jun 30 2025 Akira TAGOH <tagoh@redhat.com> - 2.17.0-2
- Backport a patch to fix a crash with Graphite fonts
- Drop 70-*bitmaps*.conf from /etc/fonts/conf.d so far.
Resolves: rhbz#2375426
* Fri Jun 27 2025 Akira TAGOH <tagoh@redhat.com> - 2.17.0-1
- New upstream release.
Resolves: rhbz#2375126
* Fri Apr 11 2025 Akira TAGOH <tagoh@redhat.com> - 2.16.2-1
- New upstream release.
* Thu Mar 13 2025 Akira TAGOH <tagoh@redhat.com> - 2.16.1-1
- New upstream release.
* Mon Jan 27 2025 Akira TAGOH <tagoh@redhat.com> - 2.16.0-2
- Fix endian detection.
Resolves: rhbz#2341757
* Sat Jan 18 2025 Akira TAGOH <tagoh@redhat.com> - 2.16.0-1
- New upstream release.
Resolves: rhbz#2338618
- Use meson instead of autotools to build.
- Disable meson test on s390x temporarily.
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Aug 1 2024 Akira TAGOH <tagoh@redhat.com> - 2.15.0-8
- Fix a memory leak and potentially uninitialized values.

View file

@ -1 +1,2 @@
SHA512 (fontconfig-2.17.0.tar.xz) = dd64905c3e0e5c5881df505b8f0bea594bbac5ce145f57aedcd7130978cd285491497198d8f2d6ed26f7b2abb31268dc3ff97aa75ce998b8e57f2d5c75b240b4
SHA512 (fontconfig-2.14.2.tar.xz) = 23483e0ae6aa7589fd37f9949a4cf951c5bff981739dbb446881e4cea86a208c0ab31e2358666eac724af1dc6a689a42733a7ce91cd3e76d8d91eacedb318085
SHA512 (fontconfig-2.15.0.tar.xz) = 754cd5fffa198fc07a39cf7df683e9adfa7f54ab41fdff8c0eacc078fd35d3e01069ba343f2b045e0b40df88d9f1fc1ee0f7565799f9cb194a59cf95b64c4417