fontist 2.1.2 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/rake-metanorma.yaml +21 -3
- data/.github/workflows/release.yml +2 -0
- data/.github/workflows/release.yml.orig +36 -0
- data/.gitignore +7 -6
- data/README.adoc +100 -0
- data/docs/package-lock.json +1610 -736
- data/docs/package.json +6 -6
- data/lib/fontist/font_file.rb +65 -14
- data/lib/fontist/indexes/index_mixin.rb +109 -20
- data/lib/fontist/system_index.rb +30 -1
- data/lib/fontist/version.rb +1 -1
- metadata +4 -3
- /data/{docs/google-fonts-multi-format-usage.md → google-fonts-multi-format-usage.md} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b50fa7f2d919278a80d47cc5c35942960903a5ed586fc37c0cf21b944a76df1e
|
|
4
|
+
data.tar.gz: cc98d5a18b0e00e62a8ca5f41bd54645e3cf2e92f600d4a91c7ceb79c3110bf5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a641b85c69158cbc1430407d0c72c5a480f96b6e77a500834691a579591d1d448c522fa65307c28597b5082bec3a4a6d83913a09dc7066eb533732b9f7dfa8fe
|
|
7
|
+
data.tar.gz: ac31ba8b42034ec098178b6db77f3d35325d81455b0c98d979ec98975ed2d93cf80a40dbb6e7f3f721e8ddd9925ca4ed9b2c9088b06eb88cb27585687ff06dc8
|
|
@@ -18,6 +18,7 @@ env:
|
|
|
18
18
|
|
|
19
19
|
jobs:
|
|
20
20
|
prepare:
|
|
21
|
+
# commented for https://github.com/fontist/fontist/issues/428#issuecomment-3992198584
|
|
21
22
|
uses: metanorma/ci/.github/workflows/prepare-rake.yml@main
|
|
22
23
|
|
|
23
24
|
metanorma:
|
|
@@ -34,11 +35,11 @@ jobs:
|
|
|
34
35
|
matrix: ${{ fromJson(needs.prepare.outputs.matrix) }}
|
|
35
36
|
|
|
36
37
|
steps:
|
|
37
|
-
- uses: actions/checkout@
|
|
38
|
+
- uses: actions/checkout@v6
|
|
38
39
|
with:
|
|
39
40
|
repository: metanorma/metanorma
|
|
40
41
|
|
|
41
|
-
- uses: actions/checkout@
|
|
42
|
+
- uses: actions/checkout@v6
|
|
42
43
|
with:
|
|
43
44
|
path: "fontist"
|
|
44
45
|
|
|
@@ -51,6 +52,23 @@ jobs:
|
|
|
51
52
|
bundler: ${{ env.BUNDLER_VER }}
|
|
52
53
|
bundler-cache: true
|
|
53
54
|
|
|
54
|
-
- uses: metanorma/
|
|
55
|
+
- uses: metanorma/ci/inkscape-setup-action@main
|
|
56
|
+
|
|
57
|
+
- name: Configure Git credentials
|
|
58
|
+
env:
|
|
59
|
+
GIT_TOKEN: ${{ secrets.FONTIST_CI_PAT_TOKEN }}
|
|
60
|
+
run: |
|
|
61
|
+
git config --global user.name 'Fontist CI'
|
|
62
|
+
git config --global user.email 'fontist@ribose.com'
|
|
63
|
+
git config --global credential.helper store
|
|
64
|
+
echo "https://fontist-ci:${GIT_TOKEN}@github.com" > ~/.git-credentials
|
|
65
|
+
shell: bash
|
|
66
|
+
|
|
67
|
+
- run: |
|
|
68
|
+
bundle exec fontist update
|
|
69
|
+
bundle exec fontist repo setup metanorma https://github.com/metanorma/fontist-formulas-private.git
|
|
70
|
+
bundle exec fontist repo update metanorma
|
|
71
|
+
shell: bash
|
|
55
72
|
|
|
56
73
|
- run: bundle exec rake
|
|
74
|
+
shell: bash
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
next_version:
|
|
7
|
+
description: |
|
|
8
|
+
Next release version. Possible values: x.y.z, major, minor, patch (or pre|rc|etc).
|
|
9
|
+
Also, you can pass 'skip' to skip 'git tag' and do 'gem push' for the current version
|
|
10
|
+
required: true
|
|
11
|
+
default: 'skip'
|
|
12
|
+
repository_dispatch:
|
|
13
|
+
types: [ do-release ]
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: read
|
|
17
|
+
<<<<<<< HEAD
|
|
18
|
+
=======
|
|
19
|
+
packages: write
|
|
20
|
+
<<<<<<< Updated upstream
|
|
21
|
+
=======
|
|
22
|
+
id-token: write
|
|
23
|
+
>>>>>>> Stashed changes
|
|
24
|
+
>>>>>>> 35f3c7d (fix: release gha)
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
release:
|
|
28
|
+
permissions:
|
|
29
|
+
contents: write
|
|
30
|
+
packages: write
|
|
31
|
+
id-token: write
|
|
32
|
+
uses: fontist/support/.github/workflows/release.yml@main
|
|
33
|
+
with:
|
|
34
|
+
next_version: ${{ github.event.inputs.next_version }}
|
|
35
|
+
secrets:
|
|
36
|
+
rubygems-api-key: ${{ secrets.FONTIST_CI_RUBYGEMS_API_KEY }}
|
data/.gitignore
CHANGED
|
@@ -9,12 +9,13 @@
|
|
|
9
9
|
Gemfile.lock
|
|
10
10
|
|
|
11
11
|
# fonts
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
/spec/fixtures/fonts/*
|
|
13
|
+
/spec/fixtures/fonts/DejaVuSerif.ttf
|
|
14
|
+
/spec/fixtures/fonts/Rupali.ttf
|
|
15
|
+
/spec/fixtures/formulas/
|
|
16
|
+
/spec/fixtures/*
|
|
17
|
+
!/spec/fixtures/system.yml
|
|
18
|
+
!/spec/fixtures/fonts/corrupt/*
|
|
18
19
|
|
|
19
20
|
# rspec failure tracking
|
|
20
21
|
.rspec_status
|
data/README.adoc
CHANGED
|
@@ -69,6 +69,106 @@ legacy `ttfunk` and `extract_ttc` gems), and `marcel` for MIME type detection
|
|
|
69
69
|
(replacing `mime-types`). These changes improve cross-platform compatibility
|
|
70
70
|
and eliminate external binary dependencies.
|
|
71
71
|
|
|
72
|
+
=== Prerequisites
|
|
73
|
+
|
|
74
|
+
Some of Fontist's dependencies require native compilation during installation.
|
|
75
|
+
The following build tools are required depending on your platform.
|
|
76
|
+
|
|
77
|
+
==== Ubuntu/Debian
|
|
78
|
+
|
|
79
|
+
[source,sh]
|
|
80
|
+
----
|
|
81
|
+
sudo apt-get install build-essential ruby-dev git
|
|
82
|
+
----
|
|
83
|
+
|
|
84
|
+
* `build-essential` provides `gcc` and `g++` compilers needed for native gem extensions
|
|
85
|
+
* `ruby-dev` provides Ruby headers required for gem compilation
|
|
86
|
+
* `git` is required for `fontist update` and `fontist repo` commands
|
|
87
|
+
|
|
88
|
+
==== Fedora/RHEL/CentOS
|
|
89
|
+
|
|
90
|
+
[source,sh]
|
|
91
|
+
----
|
|
92
|
+
sudo dnf install gcc gcc-c++ make ruby-devel git
|
|
93
|
+
----
|
|
94
|
+
|
|
95
|
+
For RHEL/CentOS 7 or earlier, use `yum` instead of `dnf`.
|
|
96
|
+
|
|
97
|
+
==== macOS
|
|
98
|
+
|
|
99
|
+
[source,sh]
|
|
100
|
+
----
|
|
101
|
+
xcode-select --install
|
|
102
|
+
----
|
|
103
|
+
|
|
104
|
+
This installs the Xcode Command Line Tools which include:
|
|
105
|
+
|
|
106
|
+
* `clang` compiler (compatible with gcc/g++)
|
|
107
|
+
* `git` command-line tool
|
|
108
|
+
* Required headers and libraries for native gem compilation
|
|
109
|
+
|
|
110
|
+
==== Windows
|
|
111
|
+
|
|
112
|
+
1. Install Ruby using https://rubyinstaller.org/downloads/[RubyInstaller] *with DevKit*
|
|
113
|
+
(select the "Ruby+Devkit" version)
|
|
114
|
+
|
|
115
|
+
2. After installation, run the following in a command prompt to set up MSYS2:
|
|
116
|
+
+
|
|
117
|
+
[source,cmd]
|
|
118
|
+
----
|
|
119
|
+
ridk install
|
|
120
|
+
----
|
|
121
|
+
+
|
|
122
|
+
Select option 3 (MSYS2 and MINGW development toolchain) when prompted.
|
|
123
|
+
|
|
124
|
+
3. Install https://git-scm.com/download/win[Git for Windows]
|
|
125
|
+
|
|
126
|
+
==== Optional: Fontconfig (Linux)
|
|
127
|
+
|
|
128
|
+
On Linux systems, if you want to use `fontist fontconfig update` to make Fontist
|
|
129
|
+
fonts available to other applications, install fontconfig:
|
|
130
|
+
|
|
131
|
+
[source,sh]
|
|
132
|
+
----
|
|
133
|
+
# Ubuntu/Debian
|
|
134
|
+
sudo apt-get install fontconfig
|
|
135
|
+
|
|
136
|
+
# Fedora/RHEL/CentOS
|
|
137
|
+
sudo dnf install fontconfig
|
|
138
|
+
----
|
|
139
|
+
|
|
140
|
+
==== Why are build tools needed?
|
|
141
|
+
|
|
142
|
+
Fontist depends on several gems that include native C/C++ extensions:
|
|
143
|
+
|
|
144
|
+
[cols="1,1,2"]
|
|
145
|
+
|===
|
|
146
|
+
|Gem |Compiler |Purpose
|
|
147
|
+
|
|
148
|
+
|`json`
|
|
149
|
+
|gcc
|
|
150
|
+
|JSON processing
|
|
151
|
+
|
|
152
|
+
|`brotli` (via fontisan)
|
|
153
|
+
|gcc
|
|
154
|
+
|WOFF2 font decompression
|
|
155
|
+
|
|
156
|
+
|`seven-zip` (via excavate)
|
|
157
|
+
|g++
|
|
158
|
+
|7z archive extraction
|
|
159
|
+
|
|
160
|
+
|`libmspack` (via excavate)
|
|
161
|
+
|gcc
|
|
162
|
+
|CAB/CHM archive extraction
|
|
163
|
+
|
|
164
|
+
|`ffi-libarchive-binary` (via excavate)
|
|
165
|
+
|gcc
|
|
166
|
+
|Archive extraction (zip, tar, etc.)
|
|
167
|
+
|===
|
|
168
|
+
|
|
169
|
+
NOTE: Some gems like `nokogiri` and `ffi` provide prebuilt binaries for common
|
|
170
|
+
platforms, so they typically don't require compilation.
|
|
171
|
+
|
|
72
172
|
|
|
73
173
|
== Using the command-line interface (CLI)
|
|
74
174
|
|