summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 9c6d1d7da9e0bffbadde8c289ff8353193cdf5a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Maintainer: Daniel Peukert <daniel@peukert.cc>
# Contributor: Dustin Falgout <dustin@falgout.us>
pkgname='ttf-google-fonts-typewolf'
pkgver='20240105'
_commit='e10dd01507a2a015ddbe8140aae06354dce94889'
pkgrel='1'
pkgdesc="Typewolf's curated collection of the 40 best fonts from the Google Fonts project"
arch=('any')
url='https://www.typewolf.com/google-fonts'
license=('OFL-1.1-no-RFN' 'OFL-1.1-RFN')
checkdepends=('fontconfig')
provides=(
	'ttf-alegreya' # OFL-1.1-no-RFN
	'ttf-alegreya-sans' # OFL-1.1-no-RFN
	'ttf-archivo-narrow' # OFL-1.1-no-RFN
	'ttf-bio-rhyme' # OFL-1.1-no-RFN
	'ttf-cardo' # OFL-1.1-no-RFN
	'ttf-chivo' # OFL-1.1-no-RFN
	'ttf-cormorant' # OFL-1.1-no-RFN
	'ttf-dm-sans' # OFL-1.1-no-RFN
	'ttf-eczar' # OFL-1.1-no-RFN
	'ttf-fira-sans' # OFL-1.1-no-RFN
	'ttf-fraunces' # OFL-1.1-no-RFN
	'ttf-ibm-plex-sans' # OFL-1.1-RFN
	'ttf-inconsolata' # OFL-1.1-no-RFN
	'ttf-inknut-antiqua' # OFL-1.1-no-RFN
	'ttf-inter' # OFL-1.1-no-RFN
	'ttf-karla' # OFL-1.1-no-RFN
	'ttf-lato' # OFL-1.1-RFN
	'ttf-libre-baskerville' # OFL-1.1-RFN
	'ttf-libre-franklin' # OFL-1.1-no-RFN
	'ttf-lora' # OFL-1.1-RFN
	'ttf-manrope' # OFL-1.1-no-RFN
	'ttf-merriweather' # OFL-1.1-RFN
	'ttf-montserrat' # OFL-1.1-no-RFN
	'ttf-neuton' # OFL-1.1-RFN
	'ttf-open-sans' # OFL-1.1-no-RFN
	'ttf-playfair-display' # OFL-1.1-RFN
	'ttf-poppins' # OFL-1.1-no-RFN
	'ttf-proza-libre' # OFL-1.1-no-RFN
	'ttf-pt-sans' # OFL-1.1-RFN
	'ttf-pt-serif' # OFL-1.1-RFN
	'ttf-raleway' # OFL-1.1-RFN
	'ttf-roboto' # OFL-1.1-no-RFN
	'ttf-rubik' # OFL-1.1-no-RFN
	'ttf-source-sans3' # OFL-1.1-RFN
	'ttf-source-serif4' # OFL-1.1-RFN
	'ttf-space-grotesk' # OFL-1.1-no-RFN
	'ttf-space-mono' # OFL-1.1-no-RFN
	'ttf-spectral' # OFL-1.1-no-RFN
	'ttf-syne' # OFL-1.1-no-RFN
	'ttf-work-sans' # OFL-1.1-no-RFN
	# Aliases
	'lora-cyrillic-font'
	'lora-font'
	'montserrat-ttf'
	'ttf-fraunces-variable'
	'ttf-librebaskerville'
	'ttf-opensans'
	'ttf-raleway-variable'
	'ttf-rubik-vf'
	'ttf-spacemono'
)
conflicts=(
	"${provides[@]}"
	 # We only provide some fonts from these packages, so no provide
	'adobe-source-sans-fonts'
	'adobe-source-serif-fonts'
	'ttf-adobe-source-sans-fonts'
	'ttf-adobe-source-serif-fonts'
	'ttf-dm-fonts'
	'ttf-google-fonts-git'
	'ttf-ibm-plex-git'
	'ttf-ibm-plex'
	# These packages don't use correct provides, so we have to conflict
	'lora-font-git'
)
_ignore=(
	'Inconsolata[wdth,wght].ttf'
)
source=("$pkgname-$pkgver.tar.gz::https://github.com/google/fonts/archive/$_commit.tar.gz")
sha512sums=('df2467e8a863c5132f73f3233290c0ed1d00c037e36dc10bbafbd97836860705ad7138b473287d44d1cc3e39821ace7a4ebc416a7e8afe93ab792ef84ae66049')

_sourcedirectory="fonts-$_commit"

check() {
	# Test one font
	_checkoutput="$(fc-scan "$srcdir/$_sourcedirectory/ofl/alegreya/Alegreya[wght].ttf")"
	printf '%s\n' "$_checkoutput"
	printf '%s\n' "$_checkoutput" | grep -q 'family: "Alegreya"'
}

package() {
	cd "$srcdir/$_sourcedirectory/"

	install -Dm644 'ofl/alegreya/OFL.txt' "$pkgdir/usr/share/licenses/$pkgname/OFL-1.1-no-RFN"
	install -Dm644 'ofl/ibmplexsans/OFL.txt' "$pkgdir/usr/share/licenses/$pkgname/OFL-1.1-RFN"

	# Remove hyphens from each element in array
	_fonts="${provides[@]//-/}"
	# Remove 'ttf' from each element in array
	_fonts="${_fonts[@]//ttf/}"
	# Replace spaces with pipe symbols
	_regex="${_fonts[*]// /|}"

	# Escape filenames in ignore list
	_ignore="${_ignore[@]//[/\\[}"
	_ignore="${_ignore[@]//]/\\]}"
	_ignore="${_ignore[@]//./\\.}"
	# Replace spaces with pipe symbols
	_ignoreregex="${_ignore[*]// /|}"

	install -dm755 "$pkgdir/usr/share/fonts/TTF"

	find . \
		-type f \
		-regextype egrep \
		-regex ".*/($_regex)/.+\.ttf" \
		! -regex ".*/($_ignoreregex)" \
		-execdir install -Dm644 '{}' "$pkgdir/usr/share/fonts/TTF" \;
}