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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b0aad02a62b4c3f295e80229cbca11af23ccbad51850b3f87dc4e6652e548947
4
- data.tar.gz: c97a29591a24ee8c84ecb3316a3f66dade12994c752196b1ff86f48c266b3df5
3
+ metadata.gz: b50fa7f2d919278a80d47cc5c35942960903a5ed586fc37c0cf21b944a76df1e
4
+ data.tar.gz: cc98d5a18b0e00e62a8ca5f41bd54645e3cf2e92f600d4a91c7ceb79c3110bf5
5
5
  SHA512:
6
- metadata.gz: 7b6c0acf8fe7acd3a49770beaba2a5e6c1af8a742eb5db204ab8955be9ffaf013723d20170fe557d49983eb8234cfe7283ab2ba3a94c0231e7a0c10454219c3f
7
- data.tar.gz: 6715acf2088a92c6d51e33d4fb07b88b48318fdb39a2f05084369109801149ecf57d9ed4f7cadef389cd39f9e26442548d7c121909013ce20909b6c6bc677609
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@v4
38
+ - uses: actions/checkout@v6
38
39
  with:
39
40
  repository: metanorma/metanorma
40
41
 
41
- - uses: actions/checkout@master
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/metanorma-build-scripts/inkscape-setup-action@main
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
@@ -15,11 +15,13 @@ on:
15
15
  permissions:
16
16
  contents: read
17
17
  packages: write
18
+ id-token: write
18
19
 
19
20
  jobs:
20
21
  release:
21
22
  permissions:
22
23
  contents: write
24
+ packages: write
23
25
  id-token: write
24
26
  uses: fontist/support/.github/workflows/release.yml@main
25
27
  with:
@@ -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
- # /spec/fixtures/fonts/*
13
- # /spec/fixtures/fonts/DejaVuSerif.ttf
14
- # /spec/fixtures/formulas/
15
- # /spec/fixtures/*
16
- # !/spec/fixtures/system.yml
17
- # !/spec/fixtures/google_fonts/
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