diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 8ea9665..95fbd70 100644 --- a/.gitignore +++ b/.gitignore @@ -39,8 +39,3 @@ fontconfig-2.8.0.tar.gz /fontconfig-2.14.0.tar.xz /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 diff --git a/10-sub-pixel-rgb-for-kde.conf b/10-sub-pixel-rgb-for-kde.conf new file mode 100644 index 0000000..63fd752 --- /dev/null +++ b/10-sub-pixel-rgb-for-kde.conf @@ -0,0 +1,18 @@ + + + + Enable sub-pixel rendering with the RGB stripes layout for KDE only + + + + + KDE + + rgb + + diff --git a/fontconfig-disable-network-required-test.patch b/fontconfig-disable-network-required-test.patch index e048b49..8481f39 100644 --- a/fontconfig-disable-network-required-test.patch +++ b/fontconfig-disable-network-required-test.patch @@ -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 diff --git a/fontconfig-drop-lang-from-pkgkit-format.patch b/fontconfig-drop-lang-from-pkgkit-format.patch index abece6d..8b77308 100644 --- a/fontconfig-drop-lang-from-pkgkit-format.patch +++ b/fontconfig-drop-lang-from-pkgkit-format.patch @@ -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:-|basename}: \"%{family[0]:-}\" \"%{style[0]:-}\"" - #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:-|basename}: \"%{family[0]:-}\" \"%{style[0]:-}\"" + #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, ...) diff --git a/fontconfig-fix-crash.patch b/fontconfig-fix-crash.patch deleted file mode 100644 index c52b33d..0000000 --- a/fontconfig-fix-crash.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b9bec06d73340f1b5727302d13ac3df307b7febc Mon Sep 17 00:00:00 2001 -From: Akira TAGOH -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 - diff --git a/fontconfig-fix-remap.patch b/fontconfig-fix-remap.patch new file mode 100644 index 0000000..5809a0b --- /dev/null +++ b/fontconfig-fix-remap.patch @@ -0,0 +1,81 @@ +From fc0e9a78d2fe3b26f0b93c2a99b160e75e2a9f89 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +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 +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@!$TESTTMPDIR/fonts! + 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@!$TESTTMPDIR/fonts! + 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 + diff --git a/fontconfig-lower-nonlatin-conf.patch b/fontconfig-lower-nonlatin-conf.patch index 3ff373a..6139992 100644 --- a/fontconfig-lower-nonlatin-conf.patch +++ b/fontconfig-lower-nonlatin-conf.patch @@ -1,6 +1,470 @@ -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.14.2.orig/conf.d/65-nonlatin.conf fontconfig-2.14.2/conf.d/65-nonlatin.conf +--- fontconfig-2.14.2.orig/conf.d/65-nonlatin.conf 2020-12-03 20:45:00.000000000 +0900 ++++ fontconfig-2.14.2/conf.d/65-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900 +@@ -1,228 +0,0 @@ +- +- +- +- Set preferable fonts for non-Latin +- +- serif +- +- Artsounk +- BPG UTF8 M +- Kinnari +- Norasi +- Frank Ruehl +- Dror +- JG LaoTimes +- Saysettha Unicode +- Pigiarniq +- B Davat +- B Compset +- Kacst-Qr +- Urdu Nastaliq Unicode +- Raghindi +- Mukti Narrow +- malayalam +- Sampige +- padmaa +- Hapax Berbère +- MS Mincho +- SimSun +- PMingLiu +- WenQuanYi Zen Hei +- WenQuanYi Bitmap Song +- AR PL ShanHeiSun Uni +- AR PL New Sung +- ZYSong18030 +- HanyiSong +- MgOpen Canonica +- Sazanami Mincho +- IPAMonaMincho +- IPAMincho +- Kochi Mincho +- AR PL SungtiL GB +- AR PL Mingti2L Big5 +- AR PL Zenkai Uni +- MS 明朝 +- ZYSong18030 +- NanumMyeongjo +- UnBatang +- Baekmuk Batang +- KacstQura +- Frank Ruehl CLM +- Lohit Bengali +- Lohit Gujarati +- Lohit Hindi +- Lohit Marathi +- Lohit Maithili +- Lohit Kashmiri +- Lohit Konkani +- Lohit Nepali +- Lohit Sindhi +- Lohit Punjabi +- Lohit Tamil +- Rachana +- Lohit Malayalam +- Lohit Kannada +- Lohit Telugu +- Lohit Oriya +- LKLUG +- +- +- +- sans-serif +- +- Nachlieli +- Lucida Sans Unicode +- Yudit Unicode +- Kerkis +- ArmNet Helvetica +- Artsounk +- BPG UTF8 M +- Waree +- Loma +- Garuda +- Umpush +- Saysettha Unicode +- JG Lao Old Arial +- GF Zemen Unicode +- Pigiarniq +- B Davat +- B Compset +- Kacst-Qr +- Urdu Nastaliq Unicode +- Raghindi +- Mukti Narrow +- malayalam +- Sampige +- padmaa +- Hapax Berbère +- MS Gothic +- UmePlus P Gothic +- Microsoft YaHei +- Microsoft JhengHei +- WenQuanYi Zen Hei +- WenQuanYi Bitmap Song +- AR PL ShanHeiSun Uni +- AR PL New Sung +- MgOpen Modata +- VL Gothic +- IPAMonaGothic +- IPAGothic +- Sazanami Gothic +- Kochi Gothic +- AR PL KaitiM GB +- AR PL KaitiM Big5 +- AR PL ShanHeiSun Uni +- AR PL SungtiL GB +- AR PL Mingti2L Big5 +- MS ゴシック +- ZYSong18030 +- TSCu_Paranar +- NanumGothic +- UnDotum +- Baekmuk Dotum +- Baekmuk Gulim +- KacstQura +- Lohit Bengali +- Lohit Gujarati +- Lohit Hindi +- Lohit Marathi +- Lohit Maithili +- Lohit Kashmiri +- Lohit Konkani +- Lohit Nepali +- Lohit Sindhi +- Lohit Punjabi +- Lohit Tamil +- Meera +- Lohit Malayalam +- Lohit Kannada +- Lohit Telugu +- Lohit Oriya +- LKLUG +- +- +- +- monospace +- +- Miriam Mono +- VL Gothic +- IPAMonaGothic +- IPAGothic +- Sazanami Gothic +- Kochi Gothic +- AR PL KaitiM GB +- MS Gothic +- UmePlus Gothic +- NSimSun +- MingLiu +- AR PL ShanHeiSun Uni +- AR PL New Sung Mono +- HanyiSong +- AR PL SungtiL GB +- AR PL Mingti2L Big5 +- ZYSong18030 +- NanumGothicCoding +- NanumGothic +- UnDotum +- Baekmuk Dotum +- Baekmuk Gulim +- TlwgTypo +- TlwgTypist +- TlwgTypewriter +- TlwgMono +- Hasida +- GF Zemen Unicode +- Hapax Berbère +- Lohit Bengali +- Lohit Gujarati +- Lohit Hindi +- Lohit Marathi +- Lohit Maithili +- Lohit Kashmiri +- Lohit Konkani +- Lohit Nepali +- Lohit Sindhi +- Lohit Punjabi +- Lohit Tamil +- Meera +- Lohit Malayalam +- Lohit Kannada +- Lohit Telugu +- Lohit Oriya +- LKLUG +- +- +- +- +- system-ui +- +- Noto Sans Arabic UI +- Noto Sans Bengali UI +- Noto Sans Devanagari UI +- Noto Sans Gujarati UI +- Noto Sans Gurmukhi UI +- Noto Sans Kannada UI +- Noto Sans Khmer UI +- Noto Sans Lao UI +- Noto Sans Malayalam UI +- Noto Sans Myanmar UI +- Noto Sans Oriya UI +- Noto Sans Sinhala UI +- Noto Sans Tamil UI +- Noto Sans Telugu UI +- Noto Sans Thai UI +- Leelawadee UI +- Nirmala UI +- Yu Gothic UI +- Meiryo UI +- MS UI Gothic +- Khmer UI +- Lao UI +- Microsoft YaHei UI +- Microsoft JhengHei UI +- +- +- +- +diff -pruN fontconfig-2.14.2.orig/conf.d/69-nonlatin.conf fontconfig-2.14.2/conf.d/69-nonlatin.conf +--- fontconfig-2.14.2.orig/conf.d/69-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900 ++++ fontconfig-2.14.2/conf.d/69-nonlatin.conf 2020-12-03 20:45:00.000000000 +0900 +@@ -0,0 +1,228 @@ ++ ++ ++ ++ Set preferable fonts for non-Latin ++ ++ serif ++ ++ Artsounk ++ BPG UTF8 M ++ Kinnari ++ Norasi ++ Frank Ruehl ++ Dror ++ JG LaoTimes ++ Saysettha Unicode ++ Pigiarniq ++ B Davat ++ B Compset ++ Kacst-Qr ++ Urdu Nastaliq Unicode ++ Raghindi ++ Mukti Narrow ++ malayalam ++ Sampige ++ padmaa ++ Hapax Berbère ++ MS Mincho ++ SimSun ++ PMingLiu ++ WenQuanYi Zen Hei ++ WenQuanYi Bitmap Song ++ AR PL ShanHeiSun Uni ++ AR PL New Sung ++ ZYSong18030 ++ HanyiSong ++ MgOpen Canonica ++ Sazanami Mincho ++ IPAMonaMincho ++ IPAMincho ++ Kochi Mincho ++ AR PL SungtiL GB ++ AR PL Mingti2L Big5 ++ AR PL Zenkai Uni ++ MS 明朝 ++ ZYSong18030 ++ NanumMyeongjo ++ UnBatang ++ Baekmuk Batang ++ KacstQura ++ Frank Ruehl CLM ++ Lohit Bengali ++ Lohit Gujarati ++ Lohit Hindi ++ Lohit Marathi ++ Lohit Maithili ++ Lohit Kashmiri ++ Lohit Konkani ++ Lohit Nepali ++ Lohit Sindhi ++ Lohit Punjabi ++ Lohit Tamil ++ Rachana ++ Lohit Malayalam ++ Lohit Kannada ++ Lohit Telugu ++ Lohit Oriya ++ LKLUG ++ ++ ++ ++ sans-serif ++ ++ Nachlieli ++ Lucida Sans Unicode ++ Yudit Unicode ++ Kerkis ++ ArmNet Helvetica ++ Artsounk ++ BPG UTF8 M ++ Waree ++ Loma ++ Garuda ++ Umpush ++ Saysettha Unicode ++ JG Lao Old Arial ++ GF Zemen Unicode ++ Pigiarniq ++ B Davat ++ B Compset ++ Kacst-Qr ++ Urdu Nastaliq Unicode ++ Raghindi ++ Mukti Narrow ++ malayalam ++ Sampige ++ padmaa ++ Hapax Berbère ++ MS Gothic ++ UmePlus P Gothic ++ Microsoft YaHei ++ Microsoft JhengHei ++ WenQuanYi Zen Hei ++ WenQuanYi Bitmap Song ++ AR PL ShanHeiSun Uni ++ AR PL New Sung ++ MgOpen Modata ++ VL Gothic ++ IPAMonaGothic ++ IPAGothic ++ Sazanami Gothic ++ Kochi Gothic ++ AR PL KaitiM GB ++ AR PL KaitiM Big5 ++ AR PL ShanHeiSun Uni ++ AR PL SungtiL GB ++ AR PL Mingti2L Big5 ++ MS ゴシック ++ ZYSong18030 ++ TSCu_Paranar ++ NanumGothic ++ UnDotum ++ Baekmuk Dotum ++ Baekmuk Gulim ++ KacstQura ++ Lohit Bengali ++ Lohit Gujarati ++ Lohit Hindi ++ Lohit Marathi ++ Lohit Maithili ++ Lohit Kashmiri ++ Lohit Konkani ++ Lohit Nepali ++ Lohit Sindhi ++ Lohit Punjabi ++ Lohit Tamil ++ Meera ++ Lohit Malayalam ++ Lohit Kannada ++ Lohit Telugu ++ Lohit Oriya ++ LKLUG ++ ++ ++ ++ monospace ++ ++ Miriam Mono ++ VL Gothic ++ IPAMonaGothic ++ IPAGothic ++ Sazanami Gothic ++ Kochi Gothic ++ AR PL KaitiM GB ++ MS Gothic ++ UmePlus Gothic ++ NSimSun ++ MingLiu ++ AR PL ShanHeiSun Uni ++ AR PL New Sung Mono ++ HanyiSong ++ AR PL SungtiL GB ++ AR PL Mingti2L Big5 ++ ZYSong18030 ++ NanumGothicCoding ++ NanumGothic ++ UnDotum ++ Baekmuk Dotum ++ Baekmuk Gulim ++ TlwgTypo ++ TlwgTypist ++ TlwgTypewriter ++ TlwgMono ++ Hasida ++ GF Zemen Unicode ++ Hapax Berbère ++ Lohit Bengali ++ Lohit Gujarati ++ Lohit Hindi ++ Lohit Marathi ++ Lohit Maithili ++ Lohit Kashmiri ++ Lohit Konkani ++ Lohit Nepali ++ Lohit Sindhi ++ Lohit Punjabi ++ Lohit Tamil ++ Meera ++ Lohit Malayalam ++ Lohit Kannada ++ Lohit Telugu ++ Lohit Oriya ++ LKLUG ++ ++ ++ ++ ++ system-ui ++ ++ Noto Sans Arabic UI ++ Noto Sans Bengali UI ++ Noto Sans Devanagari UI ++ Noto Sans Gujarati UI ++ Noto Sans Gurmukhi UI ++ Noto Sans Kannada UI ++ Noto Sans Khmer UI ++ Noto Sans Lao UI ++ Noto Sans Malayalam UI ++ Noto Sans Myanmar UI ++ Noto Sans Oriya UI ++ Noto Sans Sinhala UI ++ Noto Sans Tamil UI ++ Noto Sans Telugu UI ++ Noto Sans Thai UI ++ Leelawadee UI ++ Nirmala UI ++ Yu Gothic UI ++ Meiryo UI ++ MS UI Gothic ++ Khmer UI ++ Lao UI ++ Microsoft YaHei UI ++ Microsoft JhengHei UI ++ ++ ++ ++ +diff -pruN fontconfig-2.14.2.orig/conf.d/Makefile.am fontconfig-2.14.2/conf.d/Makefile.am +--- fontconfig-2.14.2.orig/conf.d/Makefile.am 2022-11-28 18:17:51.000000000 +0900 ++++ fontconfig-2.14.2/conf.d/Makefile.am 2023-08-17 16:56:24.358848001 +0900 @@ -47,7 +47,7 @@ CONF_LINKS = \ 60-generic.conf \ 60-latin.conf \ @@ -10,7 +474,7 @@ diff -pruN fontconfig-2.16.0.orig/conf.d/Makefile.am fontconfig-2.16.0/conf.d/Ma 69-unifont.conf \ 80-delicious.conf \ 90-synthetic.conf -@@ -95,7 +95,7 @@ template_DATA = \ +@@ -94,7 +94,7 @@ template_DATA = \ 60-latin.conf \ 65-fonts-persian.conf \ 65-khmer.conf \ @@ -18,25 +482,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 \ diff --git a/fontconfig-remove-uuid.patch b/fontconfig-remove-uuid.patch new file mode 100644 index 0000000..16c0d04 --- /dev/null +++ b/fontconfig-remove-uuid.patch @@ -0,0 +1,67 @@ +From c22908828fb2dbfdf38733d119adc1cf5fe00173 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +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 +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 + diff --git a/fontconfig.spec b/fontconfig.spec index 1bc63c7..e41cf86 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -4,8 +4,8 @@ Summary: Font configuration and customization library Name: fontconfig -Version: 2.17.0 -Release: 3%{?dist} +Version: 2.14.2 +Release: 6%{?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,15 @@ 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 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 +72,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 +98,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 +120,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 @@ -167,7 +157,7 @@ if [ $1 == 0 ] && [ -e %{_sysconfdir}/xml/catalog ]; then fi %files -f %{name}.lang -%doc README.md AUTHORS +%doc README AUTHORS %doc fontconfig-user.txt fontconfig-user.html %doc %{_fontconfig_confdir}/README %license COPYING @@ -187,7 +177,6 @@ fi # If you want to do so, you should use local.conf instead. %config %{_fontconfig_masterdir}/fonts.conf %config(noreplace) %{_fontconfig_confdir}/*.conf -%dir /usr/lib/fontconfig %dir /usr/lib/fontconfig/cache %{_mandir}/man1/* %{_mandir}/man5/* @@ -201,67 +190,13 @@ 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 - 2.17.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Jun 30 2025 Akira TAGOH - 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 - 2.17.0-1 -- New upstream release. - Resolves: rhbz#2375126 - -* Fri Apr 11 2025 Akira TAGOH - 2.16.2-1 -- New upstream release. - -* Thu Mar 13 2025 Akira TAGOH - 2.16.1-1 -- New upstream release. - -* Mon Jan 27 2025 Akira TAGOH - 2.16.0-2 -- Fix endian detection. - Resolves: rhbz#2341757 - -* Sat Jan 18 2025 Akira TAGOH - 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 - 2.15.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Aug 1 2024 Akira TAGOH - 2.15.0-8 -- Fix a memory leak and potentially uninitialized values. - -* Wed Jul 17 2024 Fedora Release Engineering - 2.15.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 7 2024 Akira TAGOH - 2.15.0-6 -- Own /usr/lib/fontconfig - Resolves: rhbz#2284076 - -* Mon Apr 29 2024 Michael Kuhn - 2.15.0-5 -- Fix emoji fonts being disabled when bitmap fonts were disabled - -* Sat Feb 10 2024 Akira TAGOH - 2.15.0-4 +* Sat Feb 10 2024 Akira TAGOH - 2.14.2-6 - Delete .uuid with fc-cache -f. Resolves: rhbz#1761885 -* Wed Jan 24 2024 Fedora Release Engineering - 2.15.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 2.15.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Dec 22 2023 Akira TAGOH - 2.15.0-1 -- New upstream release. - Resolves: rhbz#2255623 - * Thu Aug 17 2023 Akira TAGOH - 2.14.2-5 - Update 65-nonlatin.conf to 69-nonlatin.conf This basically provides substitutes for certain languages and is helpful diff --git a/plans/basic.fmf b/plans/basic.fmf deleted file mode 100644 index c1627f9..0000000 --- a/plans/basic.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: Basic smoke test -discover: - how: fmf -execute: - how: tmt diff --git a/sources b/sources index 9a3bb99..9884c80 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (fontconfig-2.17.0.tar.xz) = dd64905c3e0e5c5881df505b8f0bea594bbac5ce145f57aedcd7130978cd285491497198d8f2d6ed26f7b2abb31268dc3ff97aa75ce998b8e57f2d5c75b240b4 +SHA512 (fontconfig-2.14.2.tar.xz) = 23483e0ae6aa7589fd37f9949a4cf951c5bff981739dbb446881e4cea86a208c0ab31e2358666eac724af1dc6a689a42733a7ce91cd3e76d8d91eacedb318085 diff --git a/tests/basic/main.fmf b/tests/basic/main.fmf deleted file mode 100644 index d6c06ec..0000000 --- a/tests/basic/main.fmf +++ /dev/null @@ -1,3 +0,0 @@ -summary: Concise summary describing what the test does -test: ./test.sh -framework: beakerlib diff --git a/tests/basic/test.sh b/tests/basic/test.sh deleted file mode 100755 index 10de1b4..0000000 --- a/tests/basic/test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -rlJournalStart - rlPhaseStartSetup - rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory" - rlRun "pushd $tmp" - rlRun "set -o pipefail" - rlPhaseEnd - - rlPhaseStartTest - rlRun "fc-match" 0 "Check fc-match" - rlRun "fc-list" 0 "Check fc-list" - rlRun "fc-scan /usr/share/fonts" 0 "Check fc-scan" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $tmp" 0 "Remove tmp directory" - rlPhaseEnd -rlJournalEnd diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..d3fa1ed --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,14 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - fontconfig + tests: + - fcmatch_test: + dir: . + run: fc-match + - fclist_test: + dir: . + run: fc-list