fontist 3.0.12 → 3.0.13
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/docs/package-lock.json +87 -89
- data/lib/fontist/indexes/base_font_collection_index.rb +11 -0
- data/lib/fontist/indexes/system_index.rb +7 -0
- data/lib/fontist/system_font.rb +16 -7
- data/lib/fontist/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3c0e8b1c8483672a058e753d4c0714446bd94aa496973d85ec3b4bafcb158456
|
|
4
|
+
data.tar.gz: 95427dfeeef825c5b82245fba2f1dafef832fd119c41e7fcd9368e1aa8d15093
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d70ec75d7142de8adcf1663f8c3839b9c04fe13c07d145f8850ed364314b0f33c40914407bfe2464f9d3fb2ee48d7be7214e9d75ec376ae7377f00ec37f65b69
|
|
7
|
+
data.tar.gz: a196cf1d33615d543e7a0cd802e2f199e5899b09c7e718b67107ea601543eea0ffdc8d2d03545514a85d52e204d84d8319807ebc0c76031b3d4ce48a4bbf9ec6
|
data/docs/package-lock.json
CHANGED
|
@@ -270,9 +270,9 @@
|
|
|
270
270
|
}
|
|
271
271
|
},
|
|
272
272
|
"node_modules/@babel/helper-string-parser": {
|
|
273
|
-
"version": "7.
|
|
274
|
-
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.
|
|
275
|
-
"integrity": "sha512-
|
|
273
|
+
"version": "7.29.11",
|
|
274
|
+
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.11.tgz",
|
|
275
|
+
"integrity": "sha512-snZbO7MEDOof+hvNa97EjEY7qD7h2kwvQr5AJC3ZhQudKW5dnej6k3kP9NQV88hJwaS8vDqRLFo9rivLEhle2g==",
|
|
276
276
|
"dev": true,
|
|
277
277
|
"license": "MIT",
|
|
278
278
|
"engines": {
|
|
@@ -280,9 +280,9 @@
|
|
|
280
280
|
}
|
|
281
281
|
},
|
|
282
282
|
"node_modules/@babel/helper-validator-identifier": {
|
|
283
|
-
"version": "7.
|
|
284
|
-
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.
|
|
285
|
-
"integrity": "sha512-
|
|
283
|
+
"version": "7.29.7",
|
|
284
|
+
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
|
|
285
|
+
"integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
|
|
286
286
|
"dev": true,
|
|
287
287
|
"license": "MIT",
|
|
288
288
|
"engines": {
|
|
@@ -290,13 +290,13 @@
|
|
|
290
290
|
}
|
|
291
291
|
},
|
|
292
292
|
"node_modules/@babel/parser": {
|
|
293
|
-
"version": "7.29.
|
|
294
|
-
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.
|
|
295
|
-
"integrity": "sha512-
|
|
293
|
+
"version": "7.29.12",
|
|
294
|
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.12.tgz",
|
|
295
|
+
"integrity": "sha512-WJ7JBp/Q4+z/ImydtI7jS6NVco5++632ExBemSX+Ysb+G1lCwQ5BVo3SY+jGGOcZXI4ZccbZSUSJLNBW6eEpJg==",
|
|
296
296
|
"dev": true,
|
|
297
297
|
"license": "MIT",
|
|
298
298
|
"dependencies": {
|
|
299
|
-
"@babel/types": "^7.29.
|
|
299
|
+
"@babel/types": "^7.29.11"
|
|
300
300
|
},
|
|
301
301
|
"bin": {
|
|
302
302
|
"parser": "bin/babel-parser.js"
|
|
@@ -306,14 +306,14 @@
|
|
|
306
306
|
}
|
|
307
307
|
},
|
|
308
308
|
"node_modules/@babel/types": {
|
|
309
|
-
"version": "7.29.
|
|
310
|
-
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.
|
|
311
|
-
"integrity": "sha512-
|
|
309
|
+
"version": "7.29.11",
|
|
310
|
+
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.11.tgz",
|
|
311
|
+
"integrity": "sha512-WCsemW40Cpc6gouC1SrY6PBaZ+oLRlEVY9XBvZBI7il/HyUrb2nJ505wE1MHEFyDZNnrWDEuy4jL50WVHfTTSQ==",
|
|
312
312
|
"dev": true,
|
|
313
313
|
"license": "MIT",
|
|
314
314
|
"dependencies": {
|
|
315
|
-
"@babel/helper-string-parser": "^7.
|
|
316
|
-
"@babel/helper-validator-identifier": "^7.
|
|
315
|
+
"@babel/helper-string-parser": "^7.29.11",
|
|
316
|
+
"@babel/helper-validator-identifier": "^7.29.7"
|
|
317
317
|
},
|
|
318
318
|
"engines": {
|
|
319
319
|
"node": ">=6.9.0"
|
|
@@ -779,9 +779,9 @@
|
|
|
779
779
|
"license": "MIT"
|
|
780
780
|
},
|
|
781
781
|
"node_modules/@jridgewell/sourcemap-codec": {
|
|
782
|
-
"version": "1.
|
|
783
|
-
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.
|
|
784
|
-
"integrity": "sha512-
|
|
782
|
+
"version": "1.6.0",
|
|
783
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz",
|
|
784
|
+
"integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==",
|
|
785
785
|
"dev": true,
|
|
786
786
|
"license": "MIT"
|
|
787
787
|
},
|
|
@@ -1320,57 +1320,57 @@
|
|
|
1320
1320
|
}
|
|
1321
1321
|
},
|
|
1322
1322
|
"node_modules/@vue/compiler-core": {
|
|
1323
|
-
"version": "3.5.
|
|
1324
|
-
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.
|
|
1325
|
-
"integrity": "sha512-
|
|
1323
|
+
"version": "3.5.44",
|
|
1324
|
+
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.44.tgz",
|
|
1325
|
+
"integrity": "sha512-k34nCytbK8PQ1gR2mGROYOw6Pnv/mumqIdrZ3x2tbyXZDWm7ViKGLTfdB+DRrWqEQsLgGJvn0WN9jBif5zCTLQ==",
|
|
1326
1326
|
"dev": true,
|
|
1327
1327
|
"license": "MIT",
|
|
1328
1328
|
"dependencies": {
|
|
1329
|
-
"@babel/parser": "^7.29.
|
|
1330
|
-
"@vue/shared": "3.5.
|
|
1329
|
+
"@babel/parser": "^7.29.9",
|
|
1330
|
+
"@vue/shared": "3.5.44",
|
|
1331
1331
|
"entities": "^7.0.1",
|
|
1332
1332
|
"estree-walker": "^2.0.2",
|
|
1333
|
-
"source-map-js": "^1.2.
|
|
1333
|
+
"source-map-js": "^1.2.2"
|
|
1334
1334
|
}
|
|
1335
1335
|
},
|
|
1336
1336
|
"node_modules/@vue/compiler-dom": {
|
|
1337
|
-
"version": "3.5.
|
|
1338
|
-
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.
|
|
1339
|
-
"integrity": "sha512-
|
|
1337
|
+
"version": "3.5.44",
|
|
1338
|
+
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.44.tgz",
|
|
1339
|
+
"integrity": "sha512-W5AoBFWdw1lQAKiHowkfgFKFab82oSRT6sGsPfw/q1GRjsy/ZJFLHGhJyBRIFN9APLTUduDH9U2JAiPOIyKuYg==",
|
|
1340
1340
|
"dev": true,
|
|
1341
1341
|
"license": "MIT",
|
|
1342
1342
|
"dependencies": {
|
|
1343
|
-
"@vue/compiler-core": "3.5.
|
|
1344
|
-
"@vue/shared": "3.5.
|
|
1343
|
+
"@vue/compiler-core": "3.5.44",
|
|
1344
|
+
"@vue/shared": "3.5.44"
|
|
1345
1345
|
}
|
|
1346
1346
|
},
|
|
1347
1347
|
"node_modules/@vue/compiler-sfc": {
|
|
1348
|
-
"version": "3.5.
|
|
1349
|
-
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.
|
|
1350
|
-
"integrity": "sha512-
|
|
1348
|
+
"version": "3.5.44",
|
|
1349
|
+
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.44.tgz",
|
|
1350
|
+
"integrity": "sha512-dzHmQ4jXTpdr5FjIQUeykVakN/uzqFbUo9/C5ikBFg3a3PeM6uRxeczx1ZbXBML0/zJstEh3ygYipzR5Z7b2Pw==",
|
|
1351
1351
|
"dev": true,
|
|
1352
1352
|
"license": "MIT",
|
|
1353
1353
|
"dependencies": {
|
|
1354
|
-
"@babel/parser": "^7.29.
|
|
1355
|
-
"@vue/compiler-core": "3.5.
|
|
1356
|
-
"@vue/compiler-dom": "3.5.
|
|
1357
|
-
"@vue/compiler-ssr": "3.5.
|
|
1358
|
-
"@vue/shared": "3.5.
|
|
1354
|
+
"@babel/parser": "^7.29.9",
|
|
1355
|
+
"@vue/compiler-core": "3.5.44",
|
|
1356
|
+
"@vue/compiler-dom": "3.5.44",
|
|
1357
|
+
"@vue/compiler-ssr": "3.5.44",
|
|
1358
|
+
"@vue/shared": "3.5.44",
|
|
1359
1359
|
"estree-walker": "^2.0.2",
|
|
1360
1360
|
"magic-string": "^0.30.21",
|
|
1361
|
-
"postcss": "^8.5.
|
|
1362
|
-
"source-map-js": "^1.2.
|
|
1361
|
+
"postcss": "^8.5.29",
|
|
1362
|
+
"source-map-js": "^1.2.2"
|
|
1363
1363
|
}
|
|
1364
1364
|
},
|
|
1365
1365
|
"node_modules/@vue/compiler-ssr": {
|
|
1366
|
-
"version": "3.5.
|
|
1367
|
-
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.
|
|
1368
|
-
"integrity": "sha512-
|
|
1366
|
+
"version": "3.5.44",
|
|
1367
|
+
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.44.tgz",
|
|
1368
|
+
"integrity": "sha512-xr5gb1JVHlfXJwSlRz1FeP6uxoazdzHuMTVLE7up+4Vrqxk219CvxLPxD9NXBt47yvZW7+p4DXfyp4O1fkByIA==",
|
|
1369
1369
|
"dev": true,
|
|
1370
1370
|
"license": "MIT",
|
|
1371
1371
|
"dependencies": {
|
|
1372
|
-
"@vue/compiler-dom": "3.5.
|
|
1373
|
-
"@vue/shared": "3.5.
|
|
1372
|
+
"@vue/compiler-dom": "3.5.44",
|
|
1373
|
+
"@vue/shared": "3.5.44"
|
|
1374
1374
|
}
|
|
1375
1375
|
},
|
|
1376
1376
|
"node_modules/@vue/devtools-api": {
|
|
@@ -1410,57 +1410,55 @@
|
|
|
1410
1410
|
}
|
|
1411
1411
|
},
|
|
1412
1412
|
"node_modules/@vue/reactivity": {
|
|
1413
|
-
"version": "3.5.
|
|
1414
|
-
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.
|
|
1415
|
-
"integrity": "sha512-
|
|
1413
|
+
"version": "3.5.44",
|
|
1414
|
+
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.44.tgz",
|
|
1415
|
+
"integrity": "sha512-u+QJdKeBBEADkPdevsL+6E12QlYVfBD8Zcw5qjDQKtamI6l14KyqazJMobhCKelhWN5zpyKUiEDoTyHE93cqWw==",
|
|
1416
1416
|
"dev": true,
|
|
1417
1417
|
"license": "MIT",
|
|
1418
1418
|
"dependencies": {
|
|
1419
|
-
"@vue/shared": "3.5.
|
|
1419
|
+
"@vue/shared": "3.5.44"
|
|
1420
1420
|
}
|
|
1421
1421
|
},
|
|
1422
1422
|
"node_modules/@vue/runtime-core": {
|
|
1423
|
-
"version": "3.5.
|
|
1424
|
-
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.
|
|
1425
|
-
"integrity": "sha512-
|
|
1423
|
+
"version": "3.5.44",
|
|
1424
|
+
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.44.tgz",
|
|
1425
|
+
"integrity": "sha512-uEa/ndwjhrrhnOfb2p+sZy6zeoamJOISqaLSJGk/8R6nABT1ZldpzcJoPzKj+zHVomVBPcmQYyC2r4LtvDV6CQ==",
|
|
1426
1426
|
"dev": true,
|
|
1427
1427
|
"license": "MIT",
|
|
1428
1428
|
"dependencies": {
|
|
1429
|
-
"@vue/reactivity": "3.5.
|
|
1430
|
-
"@vue/shared": "3.5.
|
|
1429
|
+
"@vue/reactivity": "3.5.44",
|
|
1430
|
+
"@vue/shared": "3.5.44"
|
|
1431
1431
|
}
|
|
1432
1432
|
},
|
|
1433
1433
|
"node_modules/@vue/runtime-dom": {
|
|
1434
|
-
"version": "3.5.
|
|
1435
|
-
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.
|
|
1436
|
-
"integrity": "sha512-
|
|
1434
|
+
"version": "3.5.44",
|
|
1435
|
+
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.44.tgz",
|
|
1436
|
+
"integrity": "sha512-3fc4ARcXVhVBaJ3ujWiNZJARD6pkyRcwG+ZYhMzjKtKUp7MAY0HLwr7r3Smep3Li6ZaWT6ewdmx8XqdaD5oNZg==",
|
|
1437
1437
|
"dev": true,
|
|
1438
1438
|
"license": "MIT",
|
|
1439
1439
|
"dependencies": {
|
|
1440
|
-
"@vue/reactivity": "3.5.
|
|
1441
|
-
"@vue/runtime-core": "3.5.
|
|
1442
|
-
"@vue/shared": "3.5.
|
|
1440
|
+
"@vue/reactivity": "3.5.44",
|
|
1441
|
+
"@vue/runtime-core": "3.5.44",
|
|
1442
|
+
"@vue/shared": "3.5.44",
|
|
1443
1443
|
"csstype": "^3.2.3"
|
|
1444
1444
|
}
|
|
1445
1445
|
},
|
|
1446
1446
|
"node_modules/@vue/server-renderer": {
|
|
1447
|
-
"version": "3.5.
|
|
1448
|
-
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.
|
|
1449
|
-
"integrity": "sha512-
|
|
1447
|
+
"version": "3.5.44",
|
|
1448
|
+
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.44.tgz",
|
|
1449
|
+
"integrity": "sha512-R4S1UoH4h5Frrauv8Z5XE5TxV9oBiUSgWIC4TyVK1FK+RocRnOLwFA5Xcmo2011RlgJp+AbZCnw6afrhlgRuUQ==",
|
|
1450
1450
|
"dev": true,
|
|
1451
1451
|
"license": "MIT",
|
|
1452
1452
|
"dependencies": {
|
|
1453
|
-
"@vue/compiler-ssr": "3.5.
|
|
1454
|
-
"@vue/
|
|
1455
|
-
|
|
1456
|
-
"peerDependencies": {
|
|
1457
|
-
"vue": "3.5.29"
|
|
1453
|
+
"@vue/compiler-ssr": "3.5.44",
|
|
1454
|
+
"@vue/runtime-dom": "3.5.44",
|
|
1455
|
+
"@vue/shared": "3.5.44"
|
|
1458
1456
|
}
|
|
1459
1457
|
},
|
|
1460
1458
|
"node_modules/@vue/shared": {
|
|
1461
|
-
"version": "3.5.
|
|
1462
|
-
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.
|
|
1463
|
-
"integrity": "sha512-
|
|
1459
|
+
"version": "3.5.44",
|
|
1460
|
+
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.44.tgz",
|
|
1461
|
+
"integrity": "sha512-H82XLH0DjmSOdbEwO15x3QTo1f5PWEtv237eLpYKc0mqLu+B8hnq16lFWmuBmNurkeiG3wr+oM1FhOll/YVFRg==",
|
|
1464
1462
|
"dev": true,
|
|
1465
1463
|
"license": "MIT"
|
|
1466
1464
|
},
|
|
@@ -2005,9 +2003,9 @@
|
|
|
2005
2003
|
"license": "MIT"
|
|
2006
2004
|
},
|
|
2007
2005
|
"node_modules/nanoid": {
|
|
2008
|
-
"version": "3.3.
|
|
2009
|
-
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.
|
|
2010
|
-
"integrity": "sha512-
|
|
2006
|
+
"version": "3.3.20",
|
|
2007
|
+
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz",
|
|
2008
|
+
"integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==",
|
|
2011
2009
|
"dev": true,
|
|
2012
2010
|
"funding": [
|
|
2013
2011
|
{
|
|
@@ -2050,9 +2048,9 @@
|
|
|
2050
2048
|
"license": "ISC"
|
|
2051
2049
|
},
|
|
2052
2050
|
"node_modules/postcss": {
|
|
2053
|
-
"version": "8.5.
|
|
2054
|
-
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.
|
|
2055
|
-
"integrity": "sha512-
|
|
2051
|
+
"version": "8.5.32",
|
|
2052
|
+
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.32.tgz",
|
|
2053
|
+
"integrity": "sha512-LJlKCCAUFKOuZxipUdYw1NzIITEsPcgyOG9LkvRJvuKj/bRzbuRY0ARXvL0pWGpsZvn8jku+LMep2eU0seHp8g==",
|
|
2056
2054
|
"dev": true,
|
|
2057
2055
|
"funding": [
|
|
2058
2056
|
{
|
|
@@ -2070,9 +2068,9 @@
|
|
|
2070
2068
|
],
|
|
2071
2069
|
"license": "MIT",
|
|
2072
2070
|
"dependencies": {
|
|
2073
|
-
"nanoid": "^3.3.
|
|
2071
|
+
"nanoid": "^3.3.20",
|
|
2074
2072
|
"picocolors": "^1.1.1",
|
|
2075
|
-
"source-map-js": "^1.2.
|
|
2073
|
+
"source-map-js": "^1.2.2"
|
|
2076
2074
|
},
|
|
2077
2075
|
"engines": {
|
|
2078
2076
|
"node": "^10 || ^12 || >=14"
|
|
@@ -2221,9 +2219,9 @@
|
|
|
2221
2219
|
}
|
|
2222
2220
|
},
|
|
2223
2221
|
"node_modules/source-map-js": {
|
|
2224
|
-
"version": "1.2.
|
|
2225
|
-
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.
|
|
2226
|
-
"integrity": "sha512-
|
|
2222
|
+
"version": "1.2.2",
|
|
2223
|
+
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz",
|
|
2224
|
+
"integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==",
|
|
2227
2225
|
"dev": true,
|
|
2228
2226
|
"license": "BSD-3-Clause",
|
|
2229
2227
|
"engines": {
|
|
@@ -2524,17 +2522,17 @@
|
|
|
2524
2522
|
}
|
|
2525
2523
|
},
|
|
2526
2524
|
"node_modules/vue": {
|
|
2527
|
-
"version": "3.5.
|
|
2528
|
-
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.
|
|
2529
|
-
"integrity": "sha512-
|
|
2525
|
+
"version": "3.5.44",
|
|
2526
|
+
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.44.tgz",
|
|
2527
|
+
"integrity": "sha512-dvvmaOCG7lAMkJTPqPwWeGMsPS6DIsFsfZDUgBp9V6mHf9b3+/wyVwYR4Es+WV6uJC0FKRxp81Obcq0ZwUcGFQ==",
|
|
2530
2528
|
"dev": true,
|
|
2531
2529
|
"license": "MIT",
|
|
2532
2530
|
"dependencies": {
|
|
2533
|
-
"@vue/compiler-dom": "3.5.
|
|
2534
|
-
"@vue/compiler-sfc": "3.5.
|
|
2535
|
-
"@vue/runtime-dom": "3.5.
|
|
2536
|
-
"@vue/server-renderer": "3.5.
|
|
2537
|
-
"@vue/shared": "3.5.
|
|
2531
|
+
"@vue/compiler-dom": "3.5.44",
|
|
2532
|
+
"@vue/compiler-sfc": "3.5.44",
|
|
2533
|
+
"@vue/runtime-dom": "3.5.44",
|
|
2534
|
+
"@vue/server-renderer": "3.5.44",
|
|
2535
|
+
"@vue/shared": "3.5.44"
|
|
2538
2536
|
},
|
|
2539
2537
|
"peerDependencies": {
|
|
2540
2538
|
"typescript": "*"
|
|
@@ -99,6 +99,11 @@ module Fontist
|
|
|
99
99
|
# @param path [String] Full path to installed font file
|
|
100
100
|
# @return [void]
|
|
101
101
|
def add_font(_path)
|
|
102
|
+
# The font lands in a directory covered by font_paths, so any
|
|
103
|
+
# memoized scan must be invalidated before the forced rebuild,
|
|
104
|
+
# or the rebuild would miss the new font
|
|
105
|
+
reset_scan_cache
|
|
106
|
+
|
|
102
107
|
# Reset verification flag to force re-check
|
|
103
108
|
collection.reset_verification!
|
|
104
109
|
|
|
@@ -113,6 +118,7 @@ module Fontist
|
|
|
113
118
|
# @param path [String] Full path to font file to remove
|
|
114
119
|
# @return [void]
|
|
115
120
|
def remove_font(path)
|
|
121
|
+
reset_scan_cache
|
|
116
122
|
return if collection.fonts.nil?
|
|
117
123
|
|
|
118
124
|
collection.fonts.delete_if { |f| f.path == path }
|
|
@@ -141,6 +147,11 @@ module Fontist
|
|
|
141
147
|
|
|
142
148
|
private
|
|
143
149
|
|
|
150
|
+
# Invalidates any memoized font_paths scan, called when fonts are
|
|
151
|
+
# written to or removed from directories covered by this index.
|
|
152
|
+
# Subclasses whose font_paths is memoized must override this.
|
|
153
|
+
def reset_scan_cache; end
|
|
154
|
+
|
|
144
155
|
# Returns the path to the index file
|
|
145
156
|
#
|
|
146
157
|
# Must be implemented by subclasses
|
|
@@ -50,6 +50,13 @@ module Fontist
|
|
|
50
50
|
def font_paths
|
|
51
51
|
SystemFont.load_system_font_paths
|
|
52
52
|
end
|
|
53
|
+
|
|
54
|
+
# The system-directory scan on SystemFont is memoized, so font
|
|
55
|
+
# installs and removals (e.g. `--location=system`) must drop it
|
|
56
|
+
# before the index rescans, or the rescan sees pre-change paths
|
|
57
|
+
def reset_scan_cache
|
|
58
|
+
SystemFont.reset_system_font_paths_cache
|
|
59
|
+
end
|
|
53
60
|
end
|
|
54
61
|
end
|
|
55
62
|
end
|
data/lib/fontist/system_font.rb
CHANGED
|
@@ -10,14 +10,22 @@ module Fontist
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
# This detects all fonts on the system from the configuration file.
|
|
13
|
+
#
|
|
14
|
+
# Memoized because index rebuilds (`index_changed?` checks and
|
|
15
|
+
# collection updates) call this repeatedly, and each call re-globs
|
|
16
|
+
# every system font directory; on a document compile the rescans
|
|
17
|
+
# dominated CPU time. Invalidate through
|
|
18
|
+
# `reset_system_font_paths_cache`.
|
|
13
19
|
def self.load_system_font_paths
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
@load_system_font_paths ||= begin
|
|
21
|
+
os = Fontist::Utils::System.user_os.to_s
|
|
22
|
+
templates = system_config["system"][os]["paths"]
|
|
23
|
+
patterns = expand_paths(templates)
|
|
24
|
+
|
|
25
|
+
Dir.glob(patterns)
|
|
26
|
+
# File::FNM_CASEFOLD is officially ignored -- see https://ruby-doc.org/core-3.1.1/Dir.html#method-c-glob
|
|
27
|
+
# "Case sensitivity depends on your system"
|
|
28
|
+
end
|
|
21
29
|
end
|
|
22
30
|
|
|
23
31
|
def self.system_config
|
|
@@ -26,6 +34,7 @@ module Fontist
|
|
|
26
34
|
|
|
27
35
|
def self.reset_system_font_paths_cache
|
|
28
36
|
@system_font_paths = nil
|
|
37
|
+
@load_system_font_paths = nil
|
|
29
38
|
end
|
|
30
39
|
|
|
31
40
|
def self.expand_paths(paths)
|
data/lib/fontist/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fontist
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0.
|
|
4
|
+
version: 3.0.13
|
|
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-10-
|
|
11
|
+
date: 2026-10-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: down
|