fontisan 0.2.13 → 0.2.16

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.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +56 -196
  3. data/Gemfile +1 -1
  4. data/docs/.gitignore +17 -0
  5. data/docs/.vitepress/config.ts +317 -0
  6. data/docs/.vitepress/theme/components/ApiMethod.vue +127 -0
  7. data/docs/.vitepress/theme/components/Badge.vue +51 -0
  8. data/docs/.vitepress/theme/components/FeatureComparison.vue +87 -0
  9. data/docs/.vitepress/theme/components/HeroCodeBlock.vue +98 -0
  10. data/docs/.vitepress/theme/components/WithinHero.vue +30 -0
  11. data/docs/.vitepress/theme/index.ts +22 -0
  12. data/docs/.vitepress/theme/style.css +330 -0
  13. data/docs/api/conversion-options.md +141 -0
  14. data/docs/api/converters/curve-converter.md +34 -0
  15. data/docs/api/converters/hint-converter.md +34 -0
  16. data/docs/api/converters/outline-converter.md +27 -0
  17. data/docs/api/font-loader.md +111 -0
  18. data/docs/api/font-writer.md +103 -0
  19. data/docs/api/index.md +79 -0
  20. data/docs/api/models/glyph-accessor.md +43 -0
  21. data/docs/api/models/glyph.md +40 -0
  22. data/docs/api/models/table-analyzer.md +35 -0
  23. data/docs/api/sfnt-font.md +53 -0
  24. data/docs/api/type1-font.md +43 -0
  25. data/docs/api/validators/font-validator.md +31 -0
  26. data/docs/api/validators/helper.md +36 -0
  27. data/docs/api/validators/profile.md +39 -0
  28. data/docs/cli/convert.md +87 -0
  29. data/docs/cli/dump-table.md +110 -0
  30. data/docs/cli/export.md +176 -0
  31. data/docs/cli/features.md +124 -0
  32. data/docs/cli/glyphs.md +90 -0
  33. data/docs/cli/index.md +208 -0
  34. data/docs/cli/info.md +254 -0
  35. data/docs/cli/instance.md +122 -0
  36. data/docs/cli/ls.md +95 -0
  37. data/docs/cli/optical-size.md +94 -0
  38. data/docs/cli/pack.md +125 -0
  39. data/docs/cli/scripts.md +105 -0
  40. data/docs/cli/subset.md +39 -0
  41. data/docs/cli/tables.md +84 -0
  42. data/docs/cli/unicode.md +101 -0
  43. data/docs/cli/validate.md +48 -0
  44. data/docs/cli/variable.md +126 -0
  45. data/docs/cli/version.md +46 -0
  46. data/docs/guide/cli/convert.md +108 -0
  47. data/docs/guide/cli/export.md +138 -0
  48. data/docs/guide/cli/index.md +99 -0
  49. data/docs/guide/cli/info.md +144 -0
  50. data/docs/guide/cli/pack.md +155 -0
  51. data/docs/guide/cli/subset.md +118 -0
  52. data/docs/guide/cli/validate.md +139 -0
  53. data/docs/guide/color-fonts/bitmaps.md +177 -0
  54. data/docs/guide/color-fonts/colr-cpal.md +175 -0
  55. data/docs/guide/color-fonts/index.md +140 -0
  56. data/docs/guide/color-fonts/svg.md +154 -0
  57. data/docs/guide/color.md +51 -0
  58. data/docs/guide/comparisons/font-validator.md +222 -0
  59. data/docs/guide/comparisons/fonttools.md +200 -0
  60. data/docs/guide/comparisons/index.md +83 -0
  61. data/docs/guide/comparisons/lcdf-typetools.md +205 -0
  62. data/docs/guide/contributing.md +279 -0
  63. data/docs/guide/conversion/collections.md +251 -0
  64. data/docs/guide/conversion/curves.md +246 -0
  65. data/docs/guide/conversion/index.md +157 -0
  66. data/docs/guide/conversion/options.md +251 -0
  67. data/docs/guide/conversion/ttf-otf.md +184 -0
  68. data/docs/guide/conversion/type1.md +208 -0
  69. data/docs/guide/conversion/web.md +240 -0
  70. data/docs/guide/conversion.md +39 -0
  71. data/docs/guide/formats/collections.md +147 -0
  72. data/docs/guide/formats/dfont.md +99 -0
  73. data/docs/guide/formats/index.md +65 -0
  74. data/docs/guide/formats/otf.md +103 -0
  75. data/docs/guide/formats/svg.md +97 -0
  76. data/docs/guide/formats/ttf.md +105 -0
  77. data/docs/guide/formats/type1.md +118 -0
  78. data/docs/guide/formats/woff.md +115 -0
  79. data/docs/guide/hinting/autohint.md +141 -0
  80. data/docs/guide/hinting/conversion.md +161 -0
  81. data/docs/guide/hinting/index.md +86 -0
  82. data/docs/guide/hinting/postscript.md +149 -0
  83. data/docs/guide/hinting/truetype.md +135 -0
  84. data/docs/guide/hinting.md +44 -0
  85. data/docs/guide/index.md +152 -0
  86. data/docs/guide/installation.md +116 -0
  87. data/docs/guide/migrations/extract-ttc.md +549 -0
  88. data/docs/guide/migrations/font-validator.md +260 -0
  89. data/docs/guide/migrations/fonttools.md +208 -0
  90. data/docs/guide/migrations/index.md +64 -0
  91. data/docs/guide/migrations/otfinfo.md +197 -0
  92. data/docs/guide/quick-start.md +204 -0
  93. data/docs/guide/type1.md +58 -0
  94. data/docs/guide/universal-outline.md +151 -0
  95. data/docs/guide/validation/custom.md +195 -0
  96. data/docs/guide/validation/helpers.md +188 -0
  97. data/docs/guide/validation/index.md +132 -0
  98. data/docs/guide/validation/profiles.md +156 -0
  99. data/docs/guide/validation.md +47 -0
  100. data/docs/guide/variable-fonts/advanced.md +231 -0
  101. data/docs/guide/variable-fonts/axes.md +209 -0
  102. data/docs/guide/variable-fonts/conversion.md +197 -0
  103. data/docs/guide/variable-fonts/index.md +84 -0
  104. data/docs/guide/variable-fonts/instances.md +187 -0
  105. data/docs/guide/variable-fonts/named-instances.md +194 -0
  106. data/docs/guide/variable-fonts/static.md +168 -0
  107. data/docs/guide/variable.md +58 -0
  108. data/docs/guide/woff.md +59 -0
  109. data/docs/index.md +136 -0
  110. data/docs/lychee.toml +37 -0
  111. data/docs/package-lock.json +2560 -0
  112. data/docs/package.json +15 -0
  113. data/docs/public/apple-touch-icon.png +0 -0
  114. data/docs/public/favicon-96x96.png +0 -0
  115. data/docs/public/favicon.ico +0 -0
  116. data/docs/public/favicon.svg +1 -0
  117. data/docs/public/logo-full.svg +1 -0
  118. data/docs/public/logo.svg +1 -0
  119. data/docs/public/site.webmanifest +21 -0
  120. data/docs/public/web-app-manifest-192x192.png +0 -0
  121. data/docs/public/web-app-manifest-512x512.png +0 -0
  122. data/fontisan.gemspec +1 -1
  123. data/lib/fontisan/commands/features_command.rb +0 -1
  124. data/lib/fontisan/commands/info_command.rb +5 -5
  125. data/lib/fontisan/commands/scripts_command.rb +0 -1
  126. data/lib/fontisan/converters/format_converter.rb +2 -1
  127. data/lib/fontisan/converters/type1_converter.rb +65 -60
  128. data/lib/fontisan/hints/hint_converter.rb +2 -1
  129. data/lib/fontisan/loading_modes.rb +0 -2
  130. data/lib/fontisan/open_type_font.rb +0 -40
  131. data/lib/fontisan/sfnt_font.rb +41 -22
  132. data/lib/fontisan/tables/glyf/compound_glyph.rb +0 -1
  133. data/lib/fontisan/true_type_collection.rb +8 -8
  134. data/lib/fontisan/true_type_font.rb +1 -59
  135. data/lib/fontisan/type1/afm_parser.rb +2 -1
  136. data/lib/fontisan/type1/cff_to_type1_converter.rb +24 -19
  137. data/lib/fontisan/type1/private_dict.rb +28 -7
  138. data/lib/fontisan/type1/seac_expander.rb +22 -17
  139. data/lib/fontisan/variable/delta_applicator.rb +3 -3
  140. data/lib/fontisan/variation/optimizer.rb +0 -1
  141. data/lib/fontisan/version.rb +1 -1
  142. data/lib/fontisan/woff2_font.rb +2 -2
  143. data/lib/fontisan/woff_font.rb +3 -3
  144. data/lib/fontisan.rb +3 -2
  145. metadata +122 -4
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fontisan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.13
4
+ version: 0.2.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-01-21 00:00:00.000000000 Z
11
+ date: 2026-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.7'
61
+ version: '0.8'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.7'
68
+ version: '0.8'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -117,6 +117,15 @@ files:
117
117
  - README.adoc
118
118
  - Rakefile
119
119
  - benchmark/variation_quick_bench.rb
120
+ - docs/.gitignore
121
+ - docs/.vitepress/config.ts
122
+ - docs/.vitepress/theme/components/ApiMethod.vue
123
+ - docs/.vitepress/theme/components/Badge.vue
124
+ - docs/.vitepress/theme/components/FeatureComparison.vue
125
+ - docs/.vitepress/theme/components/HeroCodeBlock.vue
126
+ - docs/.vitepress/theme/components/WithinHero.vue
127
+ - docs/.vitepress/theme/index.ts
128
+ - docs/.vitepress/theme/style.css
120
129
  - docs/APPLE_LEGACY_FONTS.adoc
121
130
  - docs/COLLECTION_VALIDATION.adoc
122
131
  - docs/COLOR_FONTS.adoc
@@ -127,6 +136,115 @@ files:
127
136
  - docs/VALIDATION.adoc
128
137
  - docs/VARIABLE_FONT_OPERATIONS.adoc
129
138
  - docs/WOFF_WOFF2_FORMATS.adoc
139
+ - docs/api/conversion-options.md
140
+ - docs/api/converters/curve-converter.md
141
+ - docs/api/converters/hint-converter.md
142
+ - docs/api/converters/outline-converter.md
143
+ - docs/api/font-loader.md
144
+ - docs/api/font-writer.md
145
+ - docs/api/index.md
146
+ - docs/api/models/glyph-accessor.md
147
+ - docs/api/models/glyph.md
148
+ - docs/api/models/table-analyzer.md
149
+ - docs/api/sfnt-font.md
150
+ - docs/api/type1-font.md
151
+ - docs/api/validators/font-validator.md
152
+ - docs/api/validators/helper.md
153
+ - docs/api/validators/profile.md
154
+ - docs/cli/convert.md
155
+ - docs/cli/dump-table.md
156
+ - docs/cli/export.md
157
+ - docs/cli/features.md
158
+ - docs/cli/glyphs.md
159
+ - docs/cli/index.md
160
+ - docs/cli/info.md
161
+ - docs/cli/instance.md
162
+ - docs/cli/ls.md
163
+ - docs/cli/optical-size.md
164
+ - docs/cli/pack.md
165
+ - docs/cli/scripts.md
166
+ - docs/cli/subset.md
167
+ - docs/cli/tables.md
168
+ - docs/cli/unicode.md
169
+ - docs/cli/validate.md
170
+ - docs/cli/variable.md
171
+ - docs/cli/version.md
172
+ - docs/guide/cli/convert.md
173
+ - docs/guide/cli/export.md
174
+ - docs/guide/cli/index.md
175
+ - docs/guide/cli/info.md
176
+ - docs/guide/cli/pack.md
177
+ - docs/guide/cli/subset.md
178
+ - docs/guide/cli/validate.md
179
+ - docs/guide/color-fonts/bitmaps.md
180
+ - docs/guide/color-fonts/colr-cpal.md
181
+ - docs/guide/color-fonts/index.md
182
+ - docs/guide/color-fonts/svg.md
183
+ - docs/guide/color.md
184
+ - docs/guide/comparisons/font-validator.md
185
+ - docs/guide/comparisons/fonttools.md
186
+ - docs/guide/comparisons/index.md
187
+ - docs/guide/comparisons/lcdf-typetools.md
188
+ - docs/guide/contributing.md
189
+ - docs/guide/conversion.md
190
+ - docs/guide/conversion/collections.md
191
+ - docs/guide/conversion/curves.md
192
+ - docs/guide/conversion/index.md
193
+ - docs/guide/conversion/options.md
194
+ - docs/guide/conversion/ttf-otf.md
195
+ - docs/guide/conversion/type1.md
196
+ - docs/guide/conversion/web.md
197
+ - docs/guide/formats/collections.md
198
+ - docs/guide/formats/dfont.md
199
+ - docs/guide/formats/index.md
200
+ - docs/guide/formats/otf.md
201
+ - docs/guide/formats/svg.md
202
+ - docs/guide/formats/ttf.md
203
+ - docs/guide/formats/type1.md
204
+ - docs/guide/formats/woff.md
205
+ - docs/guide/hinting.md
206
+ - docs/guide/hinting/autohint.md
207
+ - docs/guide/hinting/conversion.md
208
+ - docs/guide/hinting/index.md
209
+ - docs/guide/hinting/postscript.md
210
+ - docs/guide/hinting/truetype.md
211
+ - docs/guide/index.md
212
+ - docs/guide/installation.md
213
+ - docs/guide/migrations/extract-ttc.md
214
+ - docs/guide/migrations/font-validator.md
215
+ - docs/guide/migrations/fonttools.md
216
+ - docs/guide/migrations/index.md
217
+ - docs/guide/migrations/otfinfo.md
218
+ - docs/guide/quick-start.md
219
+ - docs/guide/type1.md
220
+ - docs/guide/universal-outline.md
221
+ - docs/guide/validation.md
222
+ - docs/guide/validation/custom.md
223
+ - docs/guide/validation/helpers.md
224
+ - docs/guide/validation/index.md
225
+ - docs/guide/validation/profiles.md
226
+ - docs/guide/variable-fonts/advanced.md
227
+ - docs/guide/variable-fonts/axes.md
228
+ - docs/guide/variable-fonts/conversion.md
229
+ - docs/guide/variable-fonts/index.md
230
+ - docs/guide/variable-fonts/instances.md
231
+ - docs/guide/variable-fonts/named-instances.md
232
+ - docs/guide/variable-fonts/static.md
233
+ - docs/guide/variable.md
234
+ - docs/guide/woff.md
235
+ - docs/index.md
236
+ - docs/lychee.toml
237
+ - docs/package-lock.json
238
+ - docs/package.json
239
+ - docs/public/apple-touch-icon.png
240
+ - docs/public/favicon-96x96.png
241
+ - docs/public/favicon.ico
242
+ - docs/public/favicon.svg
243
+ - docs/public/logo-full.svg
244
+ - docs/public/logo.svg
245
+ - docs/public/site.webmanifest
246
+ - docs/public/web-app-manifest-192x192.png
247
+ - docs/public/web-app-manifest-512x512.png
130
248
  - exe/fontisan
131
249
  - fontisan.gemspec
132
250
  - lib/fontisan.rb