cs10
imports/cs10/google-noto-sans-cjk-vf-fonts-2.004-8.el10
commit
bdbbc3deb1
@ -0,0 +1 @@
|
||||
SOURCES/01_NotoSansCJK-OTF-VF.zip
|
@ -0,0 +1 @@
|
||||
7ac7a8ef84f8a6064888b801ce49ccd72dc41197 SOURCES/01_NotoSansCJK-OTF-VF.zip
|
@ -0,0 +1,112 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||
<fontconfig>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans CJK SC</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ja</string>
|
||||
<string>ko</string>
|
||||
<string>zh-hk</string>
|
||||
<string>zh-mo</string>
|
||||
<string>zh-tw</string>
|
||||
<string>cmn</string>
|
||||
<string>hak</string>
|
||||
<string>lzh</string>
|
||||
<string>nan</string>
|
||||
<string>yue</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans CJK TC</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ja</string>
|
||||
<string>ko</string>
|
||||
<string>zh-cn</string>
|
||||
<string>zh-hk</string>
|
||||
<string>zh-mo</string>
|
||||
<string>zh-sg</string>
|
||||
<string>yue</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans CJK HK</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ja</string>
|
||||
<string>ko</string>
|
||||
<string>zh-cn</string>
|
||||
<string>zh-sg</string>
|
||||
<string>zh-tw</string>
|
||||
<string>cmn</string>
|
||||
<string>hak</string>
|
||||
<string>lzh</string>
|
||||
<string>nan</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans CJK JP</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ko</string>
|
||||
<string>zh-cn</string>
|
||||
<string>zh-hk</string>
|
||||
<string>zh-mo</string>
|
||||
<string>zh-sg</string>
|
||||
<string>zh-tw</string>
|
||||
<string>cmn</string>
|
||||
<string>hak</string>
|
||||
<string>lzh</string>
|
||||
<string>nan</string>
|
||||
<string>yue</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans CJK KR</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ja</string>
|
||||
<string>zh-cn</string>
|
||||
<string>zh-hk</string>
|
||||
<string>zh-mo</string>
|
||||
<string>zh-sg</string>
|
||||
<string>zh-tw</string>
|
||||
<string>cmn</string>
|
||||
<string>hak</string>
|
||||
<string>lzh</string>
|
||||
<string>nan</string>
|
||||
<string>yue</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
@ -0,0 +1,112 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||
<fontconfig>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans Mono CJK SC</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ja</string>
|
||||
<string>ko</string>
|
||||
<string>zh-hk</string>
|
||||
<string>zh-mo</string>
|
||||
<string>zh-tw</string>
|
||||
<string>cmn</string>
|
||||
<string>hak</string>
|
||||
<string>lzh</string>
|
||||
<string>nan</string>
|
||||
<string>yue</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans Mono CJK TC</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ja</string>
|
||||
<string>ko</string>
|
||||
<string>zh-cn</string>
|
||||
<string>zh-hk</string>
|
||||
<string>zh-mo</string>
|
||||
<string>zh-sg</string>
|
||||
<string>yue</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans Mono CJK HK</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ja</string>
|
||||
<string>ko</string>
|
||||
<string>zh-cn</string>
|
||||
<string>zh-sg</string>
|
||||
<string>zh-tw</string>
|
||||
<string>cmn</string>
|
||||
<string>hak</string>
|
||||
<string>lzh</string>
|
||||
<string>nan</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans Mono CJK JP</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ko</string>
|
||||
<string>zh-cn</string>
|
||||
<string>zh-hk</string>
|
||||
<string>zh-mo</string>
|
||||
<string>zh-sg</string>
|
||||
<string>zh-tw</string>
|
||||
<string>cmn</string>
|
||||
<string>hak</string>
|
||||
<string>lzh</string>
|
||||
<string>nan</string>
|
||||
<string>yue</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Noto Sans Mono CJK KR</string>
|
||||
</test>
|
||||
<edit name="lang" mode="assign">
|
||||
<minus>
|
||||
<name>lang</name>
|
||||
<langset>
|
||||
<string>ja</string>
|
||||
<string>zh-cn</string>
|
||||
<string>zh-hk</string>
|
||||
<string>zh-mo</string>
|
||||
<string>zh-sg</string>
|
||||
<string>zh-tw</string>
|
||||
<string>cmn</string>
|
||||
<string>hak</string>
|
||||
<string>lzh</string>
|
||||
<string>nan</string>
|
||||
<string>yue</string>
|
||||
</langset>
|
||||
</minus>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
@ -0,0 +1,161 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
|
||||
import argparse
|
||||
|
||||
|
||||
'''
|
||||
Generate the font config file for Noto CJK fonts
|
||||
|
||||
genfontconf.py "lang list" "common font name" "font name" "fallback font name" "prepend latin font" ...
|
||||
|
||||
like
|
||||
|
||||
genfontconf.py --fallback-font --prepend-latin-font "zh-cn:zh-sg" "monospace" "Source Han Sans CN" "Source Han Sans TW" "DejaVu Sans Mono" "zh-cn:zh-sg" "serif" "Source Han Sans CN" "Source Han Sans TW" "" "zh-cn:zh-sg" "sans-serif" "Source Han Sans CN" "Source Han Sans TW" ""
|
||||
|
||||
genfontconf.py "zh-cn:zh-sg" "monospace" "Noto Sans Mono CJK SC" "zh-cn:zh-sg" "serif" "Noto Serif CJK SC" "zh-cn:zh-sg" "sans-serif" "Noto Sans CJK SC"
|
||||
|
||||
The above information is in variable length array.
|
||||
'''
|
||||
|
||||
'''
|
||||
Some Noto CJK fonts may not need "fallback font name"
|
||||
|
||||
Skip the "fallback font name" argument if not needed.
|
||||
'''
|
||||
|
||||
fallback_font_name = False
|
||||
|
||||
'''
|
||||
Noto CJK may not need "prepend latin font".
|
||||
|
||||
Skip the "prepend latin font" argument if not needed.
|
||||
'''
|
||||
|
||||
prepend_latin_font = False
|
||||
|
||||
|
||||
class FontConfRecord:
|
||||
|
||||
@staticmethod
|
||||
def renderRecord(langlist, common, font, fallback=None, latin=None):
|
||||
for lang in langlist.split(":"):
|
||||
FontConfRecord.renderMatch(lang, common, font, fallback, latin)
|
||||
print()
|
||||
|
||||
FontConfRecord.renderAlias(font, common)
|
||||
print()
|
||||
|
||||
@staticmethod
|
||||
def renderMatch(lang, common, font, fallback, latin):
|
||||
print('<match>')
|
||||
FontConfRecord.renderTestLang(lang)
|
||||
FontConfRecord.renderTestFamily(common)
|
||||
FontConfRecord.renderEditFamily(font, fallback)
|
||||
FontConfRecord.renderEditLatinFamily(latin)
|
||||
print('</match>')
|
||||
|
||||
@staticmethod
|
||||
def renderTestLang(lang):
|
||||
print('<test name="lang">')
|
||||
print('<string>{0}</string>'.format(lang))
|
||||
print('</test>')
|
||||
|
||||
@staticmethod
|
||||
def renderTestFamily(common):
|
||||
print('<test name="family">')
|
||||
print('<string>{0}</string>'.format(common))
|
||||
print('</test>')
|
||||
|
||||
@staticmethod
|
||||
def renderEditFamily(font, fallback):
|
||||
print('<edit name="family" mode="prepend">')
|
||||
print('<string>{0}</string>'.format(font))
|
||||
if fallback:
|
||||
print('<string>{0}</string>'.format(fallback))
|
||||
print('</edit>')
|
||||
|
||||
@staticmethod
|
||||
def renderEditLatinFamily(latin):
|
||||
if not latin:
|
||||
return
|
||||
print('<edit name="family" mode="prepend" binding="strong">')
|
||||
print('<string>{0}</string>'.format(latin))
|
||||
print('</edit>')
|
||||
|
||||
@staticmethod
|
||||
def renderAlias(font, common):
|
||||
print('<alias>')
|
||||
print('<family>{0}</family>'.format(font))
|
||||
print('<default>')
|
||||
print('<family>{0}</family>'.format(common))
|
||||
print('</default>')
|
||||
print('</alias>')
|
||||
|
||||
|
||||
class FontConfFile:
|
||||
|
||||
@staticmethod
|
||||
def renderFile(strings):
|
||||
FontConfFile.renderHeader()
|
||||
FontConfFile.renderBody(strings)
|
||||
FontConfFile.renderFooter()
|
||||
|
||||
@staticmethod
|
||||
def renderHeader():
|
||||
print('<?xml version="1.0"?>')
|
||||
print('<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">')
|
||||
print('<fontconfig>')
|
||||
|
||||
@staticmethod
|
||||
def renderBody(strings):
|
||||
num = 3
|
||||
if fallback_font_name:
|
||||
num += 1
|
||||
if prepend_latin_font:
|
||||
num += 1
|
||||
|
||||
while len(strings):
|
||||
items = strings[0:num]
|
||||
strings = strings[num:]
|
||||
|
||||
if num == 3:
|
||||
FontConfRecord.renderRecord(items[0], items[1], items[2])
|
||||
|
||||
if num == 4:
|
||||
if fallback_font_name:
|
||||
FontConfRecord.renderRecord \
|
||||
(items[0], items[1], items[2], items[3])
|
||||
if prepend_latin_font:
|
||||
FontConfRecord.renderRecord \
|
||||
(items[0], items[1], items[2], None, items[3])
|
||||
|
||||
if num == 5:
|
||||
FontConfRecord.renderRecord \
|
||||
(items[0], items[1], items[2], items[3], items[4])
|
||||
|
||||
@staticmethod
|
||||
def renderFooter():
|
||||
print('</fontconfig>')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description='Generate font config.')
|
||||
parser.add_argument('strings', metavar='string', type=str, nargs='+',
|
||||
help='strings')
|
||||
|
||||
parser.add_argument('--fallback-font', dest='fallback_font', action='store_true')
|
||||
parser.add_argument('--disable-fallback-font', dest='fallback_font', action='store_false')
|
||||
parser.set_defaults(fallback_font=False)
|
||||
|
||||
parser.add_argument('--prepend-latin-font', dest='prepend_latin_font', action='store_true')
|
||||
parser.add_argument('--disable-prepend-latin-font', dest='prepend_latin_font', action='store_false')
|
||||
parser.set_defaults(prepend_latin_font=False)
|
||||
|
||||
args = parser.parse_args()
|
||||
#print(args)
|
||||
|
||||
fallback_font_name = args.fallback_font
|
||||
prepend_latin_font = args.prepend_latin_font
|
||||
|
||||
FontConfFile.renderFile(args.strings)
|
@ -0,0 +1,136 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
Epoch: 1
|
||||
Version: 2.004
|
||||
Release: 8%{?dist}
|
||||
URL: https://github.com/googlefonts/noto-cjk
|
||||
|
||||
%global foundry Google
|
||||
%global fontlicense OFL-1.1
|
||||
%global fontlicenses LICENSE
|
||||
|
||||
%global common_description %{expand:
|
||||
Noto CJK fonts, supporting Simplified Chinese, Traditional Chinese, \
|
||||
Japanese, and Korean. The supported scripts are Han, Hiragana, Katakana, \
|
||||
Hangul, and Bopomofo. Latin, Greek, Cyrllic, and various symbols are also \
|
||||
supported for compatibility with CJK standards.
|
||||
}
|
||||
|
||||
%global obsoletes_epoch_version_release 0:20201206-8
|
||||
|
||||
%global obsoletes_pkg()\
|
||||
%define subpkgname %1\
|
||||
Obsoletes: %{subpkgname} < %{obsoletes_epoch_version_release}\
|
||||
Provides: %{subpkgname} = %{epoch}:%{version}-%{release}\
|
||||
|
||||
|
||||
%global fontfamily0 Noto Sans CJK VF
|
||||
%global fontsummary0 Google Noto Sans CJK Variable Fonts
|
||||
%global fontpkgheader0 %{expand:
|
||||
Recommends: google-noto-sans-mono-cjk-vf-fonts = %{epoch}:%{version}-%{release}
|
||||
|
||||
|
||||
%obsoletes_pkg google-noto-cjk-fonts
|
||||
%obsoletes_pkg google-noto-cjk-fonts-common
|
||||
%obsoletes_pkg google-noto-sans-cjk-ttc-fonts
|
||||
|
||||
%obsoletes_pkg google-noto-sans-cjk-sc-fonts
|
||||
%obsoletes_pkg google-noto-sans-cjk-tc-fonts
|
||||
%obsoletes_pkg google-noto-sans-cjk-hk-fonts
|
||||
%obsoletes_pkg google-noto-sans-cjk-jp-fonts
|
||||
%obsoletes_pkg google-noto-sans-cjk-kr-fonts
|
||||
}
|
||||
%global fonts0 NotoSansCJK-VF.ttc
|
||||
%global fontconfs0 %{SOURCE10} 65-0-%{fontpkgname0}.conf
|
||||
%global fontdescription0 %{expand:
|
||||
%{common_description}
|
||||
|
||||
The google-noto-sans-cjk-vf-fonts package contains Google Noto Sans CJK Variable fonts.}
|
||||
|
||||
%global fontfamily1 Noto Sans Mono CJK VF
|
||||
%global fontsummary1 Google Noto Sans Mono CJK Variable Fonts
|
||||
%global fontpkgheader1 %{expand:
|
||||
%obsoletes_pkg google-noto-sans-mono-cjk-sc-fonts
|
||||
%obsoletes_pkg google-noto-sans-mono-cjk-tc-fonts
|
||||
%obsoletes_pkg google-noto-sans-mono-cjk-hk-fonts
|
||||
%obsoletes_pkg google-noto-sans-mono-cjk-jp-fonts
|
||||
%obsoletes_pkg google-noto-sans-mono-cjk-kr-fonts
|
||||
}
|
||||
%global fonts1 NotoSansMonoCJK-VF.ttc
|
||||
%global fontconfs1 %{SOURCE11} 65-0-%{fontpkgname1}.conf
|
||||
%global fontdescription1 %{expand:
|
||||
%{common_description}
|
||||
|
||||
The google-noto-sans-mono-cjk-vf-fonts package contains Google Noto Sans Mono CJK Variable fonts.}
|
||||
|
||||
Source0: https://github.com/googlefonts/noto-cjk/releases/download/Sans%{version}/01_NotoSansCJK-OTF-VF.zip
|
||||
Source1: genfontconf.py
|
||||
Source10: 65-%{fontpkgname0}.conf
|
||||
Source11: 65-%{fontpkgname1}.conf
|
||||
|
||||
%fontpkg -a
|
||||
|
||||
%prep
|
||||
%autosetup -c
|
||||
|
||||
cp -p Variable/OTC/NotoSansCJK-VF.otf.ttc NotoSansCJK-VF.ttc
|
||||
cp -p Variable/OTC/NotoSansMonoCJK-VF.otf.ttc NotoSansMonoCJK-VF.ttc
|
||||
|
||||
cp %{SOURCE1} .
|
||||
|
||||
python3 genfontconf.py "ja" "sans-serif" "Noto Sans CJK JP" \
|
||||
"ko" "sans-serif" "Noto Sans CJK KR" \
|
||||
"zh-cn:zh-sg" "sans-serif" "Noto Sans CJK SC" \
|
||||
"zh-tw:cmn:hak:lzh:nan" "sans-serif" "Noto Sans CJK TC" \
|
||||
"zh-hk:zh-mo:yue" "sans-serif" "Noto Sans CJK HK" \
|
||||
| xmllint --format - |tee 65-0-google-noto-sans-cjk-vf-fonts.conf
|
||||
|
||||
|
||||
python3 genfontconf.py "ja" "monospace" "Noto Sans Mono CJK JP" \
|
||||
"ko" "monospace" "Noto Sans Mono CJK KR" \
|
||||
"zh-cn:zh-sg" "monospace" "Noto Sans Mono CJK SC" \
|
||||
"zh-tw:cmn:hak:lzh:nan" "monospace" "Noto Sans Mono CJK TC" \
|
||||
"zh-hk:zh-mo:yue" "monospace" "Noto Sans Mono CJK HK" \
|
||||
| xmllint --format - |tee 65-0-google-noto-sans-mono-cjk-vf-fonts.conf
|
||||
|
||||
%build
|
||||
%fontbuild -a
|
||||
|
||||
%install
|
||||
%fontinstall -a
|
||||
|
||||
%check
|
||||
%fontcheck -a
|
||||
|
||||
%fontfiles -a
|
||||
|
||||
%changelog
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1:2.004-8
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.004-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.004-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Oct 6 2023 Akira TAGOH <tagoh@redhat.com> - 1:2.004-5
|
||||
- Drop Conflict: google-noto-sans-cjk-fonts to get them installed together.
|
||||
fontconfig basically estimate same score for both but static font still has
|
||||
a priority because of path name. This works as a workaround for some issues
|
||||
related to variable fonts.
|
||||
Resolves: rhbz #2240646
|
||||
|
||||
* Wed Jul 26 2023 Peng Wu <pwu@redhat.com> - 1:2.004-4
|
||||
- Add google-noto-sans-mono-cjk-vf-fonts sub package
|
||||
- Resolves: RHBZ#2215475
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.004-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu May 4 2023 Peng Wu <pwu@redhat.com> - 1:2.004-2
|
||||
- Fix obsoletes_sans macro
|
||||
|
||||
* Fri Feb 3 2023 Peng Wu <pwu@redhat.com> - 1:2.004-1
|
||||
- Initial Packaging
|
||||
- Migrate to SPDX license
|
Loading…
Reference in new issue