Merge pull request #89 from terrapkg/w/add-fonts

Add iosevka-fusion-fonts vl-gothic-fonts
This commit is contained in:
lleyton
2022-12-28 08:19:18 -08:00
committed by GitHub
9 changed files with 562 additions and 1 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
chmod 0700 ${{ runner.temp }}/signing_key
- name: Run Update (anda)
run: anda update -vvv
run: anda update -vv
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+6
View File
@@ -0,0 +1,6 @@
project "pkg" {
rpm {
spec = "iosevka-fusion-fonts.spec"
update = ""
}
}
@@ -0,0 +1,142 @@
%global source_name Iosevka
%global debug_package %{nil}
Name: iosevka-fusion-fonts
Version: 16.8.4
Release: 1%{?dist}
Summary: A custom font based on iosevka
License: SIL Open Font License Version 1.1
URL: https://github.com/be5invis/Iosevka
Source0: %{url}/archive/v%{version}.tar.gz
Source1: iosevka-fusion.toml
BuildArch: noarch
BuildRequires: clang
BuildRequires: npm
BuildRequires: ttfautohint
%description
Based on Iosevka font, https://github.com/be5invis/Iosevka,
this font mixes elements from various fonts tailored to my personal taste.
%prep
%autosetup -n %{source_name}-%{version}
%__cp %SOURCE1 %{_builddir}/%{source_name}-%{version}/private-build-plans.toml
%build
npm install
npm run build -- ttf::iosevka-fusion
%install
%__mkdir -p %{buildroot}%{_datadir}/fonts/%{name}
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-bold.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Bold.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-bolditalic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-BoldItalic.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-book.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Book.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-bookitalic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-BookItalic.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-extrabold.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ExtraBold.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-extrabolditalic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ExtraBoldItalic.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-extralight.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ExtraLight.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-extralightitalic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ExtraLightItalic.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-heavy.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Heavy.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-heavyitalic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-HeavyItalic.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-italic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Italic.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-light.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Light.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-lightitalic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-LightItalic.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-medium.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Medium.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-mediumitalic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-MediumItalic.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-regular.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Regular.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-semibold.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-SemiBold.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-semibolditalic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-SemiBoldItalic.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-thin.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Thin.ttf
%__install -m 0644 \
dist/iosevka-fusion/ttf/iosevka-fusion-thinitalic.ttf \
-T \
%{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ThinItalic.ttf
%files
%license LICENSE.md
%doc README.md
%{_datadir}/fonts/*
%changelog
* Wed Dec 28 2022 windowsboy111 <windowsboy111@fyralabs.com> - 16.8.4
- Initial package
@@ -0,0 +1,191 @@
[buildPlans.iosevka-fusion]
family = "Iosevka Fusion"
spacing = "fixed"
serifs = "sans"
[buildPlans.iosevka-fusion.variants.design]
cv01 = 1 # A cap straight
cv02 = 1 # B cap straight
cv03 = 1 # C cap serifless
cv04 = 1 # D cap serifless
cv05 = 1 # E cap serifless
cv06 = 1 # F cap serifless
cv07 = 6 # G cap toothless rounded serifless hooked
cv08 = 1 # H cap serifless
cv09 = 1 # I cap long serifs
cv10 = 2 # J cap serified
cv11 = 2 # K cap curly
cv12 = 1 # L cap serifless
cv13 = 3 # M cap short middle leg slanted sides
cv14 = 1 # N cap symmetric
cv15 = 1 # P cap straight
cv16 = 4 # Q cap crossing tail
cv17 = 1 # R cap straight
cv18 = 1 # S cap serifless
cv19 = 1 # T cap serifless
cv20 = 3 # U cap serifless
cv21 = 1 # V cap straight
cv22 = 1 # W straight
cv23 = 1 # X cap straight
cv24 = 1 # Y cap straight
cv25 = 1 # Z cap straight
cv28 = 1 # c serifless
cv33 = 1 # h straight
cv34 = 10 # i serified flat tailed
cv35 = 6 # j flat hook serified
cv37 = 10 # l serified flat tailed
cv42 = 9 # r compact
cv43 = 1 # s serifless
cv44 = 2 # t flat hook
cv49 = 6 # y cursive flat terminal hook
cv53 = 1 # Λ, Δ lambda and delta cap straight
cv54 = 2 # α alpha straight tailed
VXAA = 1 # δ delta rounded top
cv55 = 1 # Γ gamma cap straight
cv56 = 6 # ι iota serified flat tailed
cv57 = 2 # λ lambda top tailed
VXAC = 1 # μ me tailless
VXAB = 2 # ξ xe flat top
cv71 = 13 # 0 oval dashed forward slash
cv74 = 2 # 3 arched
cv76 = 2 # 5 open contour
cv78 = 1 # 7 straight
cv79 = 3 # 8 two asymmetric circles
cv81 = 2 # ~ tilde low
cv82 = 2 # * asterisk five-pointed low
cv83 = 1 # _ underscore right below baseline
cv85 = 1 # ^ uptick high
cv86 = 1 # ( parentheses normal slope
cv87 = 2 # { braces curly
cv88 = 1 # # column straight
cv90 = 4 # @ three-fold, tall height
cv91 = 2 # $ dollar strike through
cv92 = 2 # ¢ cent strike through
cv93 = 1 # % percent dots
cv94 = 1 # | bar natural slope
cv95 = 2 # ≥ equal-or-{higher,lower} slanted
cv96 = 1 # ' single quote straight
cv97 = 1 # ` grave/backtick straight
cv98 = 1 # ? smooth
cv99 = 2 # .:; square punctuation marks
VXDD = 2 # ijäöü square diacretics
[buildPlans.iosevka-fusion.variants.upright]
cv26 = 3 # a double storey rounded
cv27 = 2 # b rounded
cv29 = 2 # d rounded
cv30 = 1 # e straight
cv31 = 16 # f serifless bottom flat top crossbar at x height
cv32 = 9 # g single storey flat hook earless cornered top
cv36 = 1 # k straight
cv38 = 5 # m earless normal middle leg
cv39 = 3 # n earless straight
cv40 = 2 # p earless
cv41 = 2 # q earless
cv45 = 2 # u rounded
cv46 = 1 # v straight
cv47 = 1 # w straight
cv48 = 1 # x straight
cv50 = 1 # z straight
cv72 = 3 # 1 serified with base
cv73 = 1 # 2 straight
cv75 = 3 # 4 semi-open contour
cv77 = 3 # 6 straight
cv80 = 3 # 9 straight
cv89 = 2 # & et open top (ampersand)
[buildPlans.iosevka-fusion.variants.italic]
cv26 = 1 # a double storey straight
cv27 = 1 # b straight
cv29 = 1 # d straight
cv30 = 2 # e curly
cv31 = 18 # f flat hook tailed crossbar at x height
cv32 = 7 # g single storey flat hook
cv36 = 2 # k curly
cv38 = 1 # m straight normal middle leg
cv39 = 1 # n straight
cv40 = 1 # p straight
cv41 = 1 # q straight
cv45 = 1 # u straight
cv46 = 2 # v curly
cv47 = 2 # w curly short middle top
cv48 = 2 # x curly
cv50 = 4 # z curly
cv72 = 2 # 1 serified no base
cv73 = 2 # 2 curly
cv75 = 1 # 4 closed contour crossing
cv77 = 1 # 6 closed contour
cv80 = 1 # 9 closed contour
cv89 = 4 # & et open top toothed (ampersand)
[buildPlans.iosevka-fusion.weights.thin]
shape = 100
menu = 100
css = 100
[buildPlans.iosevka-fusion.weights.extralight]
shape = 200
menu = 200
css = 200
[buildPlans.iosevka-fusion.weights.light]
shape = 300
menu = 300
css = 300
[buildPlans.iosevka-fusion.weights.regular]
shape = 400
menu = 400
css = 400
[buildPlans.iosevka-fusion.weights.book]
shape = 450
menu = 450
css = 450
[buildPlans.iosevka-fusion.weights.medium]
shape = 500
menu = 500
css = 500
[buildPlans.iosevka-fusion.weights.semibold]
shape = 600
menu = 600
css = 600
[buildPlans.iosevka-fusion.weights.bold]
shape = 700
menu = 700
css = 700
[buildPlans.iosevka-fusion.weights.extrabold]
shape = 800
menu = 800
css = 800
[buildPlans.iosevka-fusion.weights.heavy]
shape = 900
menu = 900
css = 900
[buildPlans.iosevka-fusion.slopes.upright]
angle = 0
shape = "upright"
menu = "upright"
css = "normal"
[buildPlans.iosevka-fusion.slopes.italic]
angle = 9.4
shape = "italic"
menu = "italic"
css = "italic"
[buildPlans.iosevka-fusion.widths.normal]
shape = 600
menu = 5
css = "normal"
[buildPlans.iosevka-fusion.metric-override]
leading = 1350
sb = 60
xHeight = 530
+1
View File
@@ -0,0 +1 @@
rpm.version(gh("be5invis/Iosevka"));
@@ -0,0 +1,32 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- Generic names rule -->
<alias>
<family>VL PGothic</family>
<default>
<family>sans-serif</family>
</default>
</alias>
<!-- Locale-specific overrides rule -->
<match>
<test name="lang" compare="contains">
<string>ja</string>
</test>
<test name="family" ignore-blanks="true">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend">
<string>VL PGothic</string>
</edit>
</match>
<!-- disabling hinting rule -->
<match target="font">
<test name="family" ignore-blanks="true">
<string>VL PGothic</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>
@@ -0,0 +1,51 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- Generic names rule -->
<alias>
<family>VL Gothic</family>
<default>
<family>monospace</family>
</default>
</alias>
<!-- NOTE: just for fallback - ideally better installing vlgothic-p-fonts -->
<alias>
<family>VL Gothic</family>
<default>
<family>sans-serif</family>
</default>
</alias>
<!-- Locale-specific overrides rule -->
<match>
<test name="lang" compare="contains">
<string>ja</string>
</test>
<test name="family" ignore-blanks="true">
<string>monospace</string>
</test>
<edit name="family" mode="prepend">
<string>VL Gothic</string>
</edit>
</match>
<!-- NOTE: just for fallback - ideally better installing vlgothic-p-fonts -->
<match>
<test name="lang" compare="contains">
<string>ja</string>
</test>
<test name="family" ignore-blanks="true">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend">
<string>VL Gothic</string>
</edit>
</match>
<!-- disabling hinting rule -->
<match target="font">
<test name="family" ignore-blanks="true">
<string>VL Gothic</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>
+6
View File
@@ -0,0 +1,6 @@
project "pkg" {
rpm {
spec = "vl-gothic-fonts.spec"
update = ""
}
}
+132
View File
@@ -0,0 +1,132 @@
# Packaging template: multi-family fonts packaging.
#
# SPDX-License-Identifier: MIT
#
# This template documents spec declarations, used when packaging multiple font
# families, from a single dedicated source archive. The source rpm is named
# after the first (main) font family). Look up “fonts-3-sub” when the source
# rpm needs to be named some other way.
#
# It is part of the following set of packaging templates:
# “fonts-0-simple”: basic single-family fonts packaging
# “fonts-1-full”: less common patterns for single-family fonts packaging
# “fonts-2-multi”: multi-family fonts packaging
# “fonts-3-sub”: packaging fonts, released as part of something else
#
Version: 20220612
Release: 2%{?dist}
URL: http://dicey.org/vlgothic
# The following declarations will be aliased to [variable]0 and reused for all
# generated *-fonts packages unless overriden by a specific [variable][number]
# declaration.
%global foundry VL
%global fontlicense mplus and BSD
%global fontlicenses LICENSE_J.mplus LICENSE_E.mplus LICENSE LICENSE.en
%global fontdocs README README_J.mplus README.sazanami README_E.mplus
%global fontdocsex %{fontlicenses}
# A text block that can be reused as part of the description of each generated
# subpackage.
%global common_description %{expand:
VLGothic provides Japanese TrueType fonts from the Vine Linux project.
Most of the glyphs are taken from the M+ and Sazanami Gothic fonts,
but some have also been improved by the project.
}
# Declaration for the subpackage containing the first font family. Also used as
# source rpm info. All the [variable]0 declarations are equivalent and aliased
# to [variable].
%global fontfamily0 VL Gothic
%global fontsummary0 Japanese TrueType font
%global fontpkgheader0 %{expand:
Obsoletes: vlgothic-fonts < %{version}-%{release}
Provides: vlgothic-fonts = %{version}-%{release}
}
%global fonts0 VL-Gothic-Regular.ttf
%global fontsex0 %{nil}
%global fontconfs0 %{SOURCE10}
%global fontconfsex0 %{nil}
%global fontdescription0 %{expand:
%{common_description}
This package provides the monospace VLGothic font.
}
%global fontfamily1 VL PGothic
%global fontsummary1 Proportional Japanese TrueType font
%global fontpkgheader1 %{expand:
Obsoletes: vlgothic-p-fonts < %{version}-%{release}
Provides: vlgothic-p-fonts = %{version}-%{release}
}
%global fonts1 VL-PGothic-Regular.ttf
%global fontsex1 %{nil}
%global fontconfs1 %{SOURCE11}
%global fontconfsex1 %{nil}
%global fontdescription1 %{expand:
%{common_description}
This package provides the VLGothic font with proportional glyphs for some
non-Japanese characters.
}
# https://ja.osdn.net/frs/redir.php?m=gigenet&f=vlgothic%2F77450%2FVLGothic-%%{version}.tar.xz
Source0: https://mirrors.gigenet.com/OSDN/vlgothic/77450/VLGothic-%{version}.tar.xz
Source10: 65-3-%{fontpkgname0}.conf
Source11: 65-2-%{fontpkgname1}.conf
# “fontpkg” will generate the font subpackage headers corresponding to the
# elements declared above.
# “fontpkg” accepts the following selection arguments:
# “-a” process everything
# “-z [number]” process a specific declaration block
# If no flag is specified it will only process the zero/nosuffix block.
%fontpkg -a
# “fontmetapkg” will generate a font meta(sub)package header for all the font
# subpackages generated in this spec. Optional arguments:
# “-n [name]” use [name] as metapackage name
# “-s [variable]” use the content of [variable] as metapackage summary
# “-d [variable]” use the content of [variable] as metapackage description
# “-z [numbers]” restrict metapackaging to [numbers] comma-separated list
# of font package suffixes
%fontmetapkg
%prep
%setup -q -n VLGothic
iconv -f EUC-JP -t UTF-8 -o README.sazanami.tmp README.sazanami
touch -r README.sazanami README.sazanami.tmp
mv README.sazanami.tmp README.sazanami
%build
# “fontbuild” accepts the usual selection arguments:
# “-a” process everything
# “-z [number]” process a specific declaration block
# If no flag is specified it will only process the zero/nosuffix block.
%fontbuild -a
%install
# “fontinstall” accepts the usual selection arguments:
# “-a” process everything
# “-z [number]” process a specific declaration block
# If no flag is specified it will only process the zero/nosuffix block.
%fontinstall -a
%check
# “fontcheck” accepts the usual selection arguments:
# “-a” process everything
# “-z [number]” process a specific declaration block
# If no flag is specified it will only process the zero/nosuffix block.
%fontcheck -a
# “fontfiles” accepts the usual selection arguments:
# “-a” process everything
# “-z [number]” process a specific declaration block
# If no flag is specified it will only process the zero/nosuffix block
%fontfiles -a
%changelog
* Wed Dec 28 2022 windowsboy111 <windowsboy111@fyralabs.com> - 16.8.4
- Initial package