@liiift-studio/sanity-font-manager 2.3.4 → 2.3.5
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.
- package/README.md +33 -0
- package/dist/index.js +302 -0
- package/dist/index.mjs +301 -0
- package/package.json +1 -1
- package/src/index.js +1 -0
- package/src/schema/stylisticSetField.js +301 -0
package/README.md
CHANGED
|
@@ -235,6 +235,39 @@ Label-wrapped button that triggers a hidden file input.
|
|
|
235
235
|
|
|
236
236
|
---
|
|
237
237
|
|
|
238
|
+
## Schema field definitions
|
|
239
|
+
|
|
240
|
+
Pre-built Sanity schema field objects that can be spread directly into a typeface schema's `fields` array. Eliminates hundreds of lines of repeated field definitions across consumer studios.
|
|
241
|
+
|
|
242
|
+
### `openTypeField`
|
|
243
|
+
|
|
244
|
+
A complete `openType` object field wired to the `openType` tab group. Includes the `features` checkbox array (all standard OpenType feature keys) plus per-feature sub-objects with `title`, `feature`, and `customText` fields. Uses `SetOTF` internally for auto-detection.
|
|
245
|
+
|
|
246
|
+
```js
|
|
247
|
+
import { openTypeField } from '@liiift-studio/sanity-font-manager';
|
|
248
|
+
|
|
249
|
+
// In your typeface schema fields array:
|
|
250
|
+
openTypeField,
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Requires the `openType` group to be declared in your schema's `groups` array:
|
|
254
|
+
```js
|
|
255
|
+
{ name: 'openType', title: 'Open Type' }
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### `styleCountField`
|
|
259
|
+
|
|
260
|
+
A read-only `number` field in the `styles` group that displays the total count of static + variable font styles linked to the typeface. Uses `StyleCountInput` internally.
|
|
261
|
+
|
|
262
|
+
```js
|
|
263
|
+
import { styleCountField } from '@liiift-studio/sanity-font-manager';
|
|
264
|
+
|
|
265
|
+
// In your typeface schema fields array:
|
|
266
|
+
styleCountField,
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
238
271
|
## Hook
|
|
239
272
|
|
|
240
273
|
### `useSanityClient`
|
package/dist/index.js
CHANGED
|
@@ -75,6 +75,7 @@ __export(index_exports, {
|
|
|
75
75
|
sanitizeForSanityId: () => sanitizeForSanityId,
|
|
76
76
|
sortFontObjects: () => sortFontObjects,
|
|
77
77
|
styleCountField: () => styleCountField,
|
|
78
|
+
stylisticSetField: () => stylisticSetField,
|
|
78
79
|
updateFontPrices: () => updateFontPrices,
|
|
79
80
|
updateTypefaceDocument: () => updateTypefaceDocument,
|
|
80
81
|
uploadFontFiles: () => uploadFontFiles,
|
|
@@ -6349,6 +6350,306 @@ var styleCountField = {
|
|
|
6349
6350
|
},
|
|
6350
6351
|
readOnly: true
|
|
6351
6352
|
};
|
|
6353
|
+
|
|
6354
|
+
// src/schema/stylisticSetField.js
|
|
6355
|
+
var import_icons6 = require("@sanity/icons");
|
|
6356
|
+
var stylisticSetField = {
|
|
6357
|
+
title: "Stylistic Features Section",
|
|
6358
|
+
name: "stylisticSet",
|
|
6359
|
+
group: "stylisticSets",
|
|
6360
|
+
type: "object",
|
|
6361
|
+
fields: [
|
|
6362
|
+
{
|
|
6363
|
+
name: "featured",
|
|
6364
|
+
title: "Featured Stylistic Feature Words & Phrases",
|
|
6365
|
+
description: 'Write a single letter, word or several words. Wrap the portion of the word that you want to use the stylistic set in ` characters. For example, writing "L`if`t" will make the "if" apply a stylistic set.',
|
|
6366
|
+
type: "array",
|
|
6367
|
+
of: [
|
|
6368
|
+
{
|
|
6369
|
+
name: "featuredWord",
|
|
6370
|
+
title: "Words or Phrase",
|
|
6371
|
+
type: "object",
|
|
6372
|
+
icon: import_icons6.StringIcon,
|
|
6373
|
+
fields: [
|
|
6374
|
+
{
|
|
6375
|
+
type: "text",
|
|
6376
|
+
title: "Content",
|
|
6377
|
+
name: "content"
|
|
6378
|
+
},
|
|
6379
|
+
{
|
|
6380
|
+
type: "string",
|
|
6381
|
+
title: "Label",
|
|
6382
|
+
name: "label"
|
|
6383
|
+
},
|
|
6384
|
+
{
|
|
6385
|
+
title: "Stylistic Feature",
|
|
6386
|
+
name: "stylisticFeature",
|
|
6387
|
+
type: "string",
|
|
6388
|
+
// description: '[This will be autopopulated with the list of stylistic features when ready.]',
|
|
6389
|
+
options: {
|
|
6390
|
+
list: [
|
|
6391
|
+
{ title: "All Alternates", value: "'aalt' 1" },
|
|
6392
|
+
{ title: "All Caps", value: "'c2sc' 1" },
|
|
6393
|
+
{ title: "Alternate Annotation", value: "'nalt' 1" },
|
|
6394
|
+
{ title: "Alternative Fractions", value: "'afrc' 1" },
|
|
6395
|
+
{ title: "Capitals To Small Caps", value: "'c2sc' 1, 'smcp' 1" },
|
|
6396
|
+
{ title: "Capitals to Petite Caps", value: "'c2pc' 1" },
|
|
6397
|
+
{ title: "Case Sensitive Forms", value: "'case' 1" },
|
|
6398
|
+
{ title: "Contextual Alternates", value: "'calt' 1" },
|
|
6399
|
+
{ title: "Contextual Ligatures", value: "'clig' 1" },
|
|
6400
|
+
{ title: "Contextual Swash", value: "'cswh' 1" },
|
|
6401
|
+
{ title: "Denominator", value: "'dnom' 1" },
|
|
6402
|
+
{ title: "Discretionary Ligatures", value: "'dlig' 1" },
|
|
6403
|
+
{ title: "Fractions", value: "'frac' 1" },
|
|
6404
|
+
{ title: "Glyph Decomposition", value: "'ccmp' 1" },
|
|
6405
|
+
{ title: "Historical Forms", value: "'hist' 1" },
|
|
6406
|
+
{ title: "Historical Ligatures", value: "'hlig' 1" },
|
|
6407
|
+
{ title: "Initial Form", value: "'init' 1" },
|
|
6408
|
+
{ title: "Isolated Form", value: "'isol' 1" },
|
|
6409
|
+
{ title: "Justified Alternates", value: "'jalt' 1" },
|
|
6410
|
+
{ title: "Localized Forms", value: "'locl' 1" },
|
|
6411
|
+
{ title: "Mark Positioning", value: "'mark' 1" },
|
|
6412
|
+
{ title: "Mark Positioning via Subs", value: "'mset' 1" },
|
|
6413
|
+
{ title: "Mark to Mark Positioning", value: "'mkmk' 1" },
|
|
6414
|
+
{ title: "Mathematical Greek", value: "'mgrk' 1" },
|
|
6415
|
+
{ title: "Medial Form", value: "'medi' 1" },
|
|
6416
|
+
{ title: "Numerator", value: "'numr' 1" },
|
|
6417
|
+
{ title: "Ordinals", value: "'ordn' 1" },
|
|
6418
|
+
{ title: "Ornaments", value: "'ornm' 1" },
|
|
6419
|
+
{ title: "Petite Caps", value: "'pcap' 1" },
|
|
6420
|
+
{ title: "Proportional Lining", value: "'pnum' 1" },
|
|
6421
|
+
{ title: "Proportional Oldstyle", value: "'onum' 1" },
|
|
6422
|
+
{ title: "Required Ligatures", value: "'rlig' 1" },
|
|
6423
|
+
{ title: "Scientific Inferiors", value: "'sinf' 1" },
|
|
6424
|
+
{ title: "Slashed Zero", value: "'zero' 1" },
|
|
6425
|
+
{ title: "Small Caps", value: "'smcp' 1" },
|
|
6426
|
+
{ title: "Standard Ligatures", value: "'liga' 1" },
|
|
6427
|
+
{ title: "Stylistic Alternates", value: "'salt' 1" },
|
|
6428
|
+
{ title: "Subscript", value: "'subs' 1" },
|
|
6429
|
+
{ title: "Superscript", value: "'sups' 1" },
|
|
6430
|
+
{ title: "Swash", value: "'swsh' 1" },
|
|
6431
|
+
{ title: "Tabular Lining", value: "'tnum' 1" },
|
|
6432
|
+
{ title: "Tabular Oldstyle", value: "'onum' 1" },
|
|
6433
|
+
{ title: "Terminal Form", value: "'fina' 1" },
|
|
6434
|
+
{ title: "Titling Alternates", value: "'titl' 1" },
|
|
6435
|
+
{ title: "Unicase", value: "'unic' 1" },
|
|
6436
|
+
{ title: "All Stylistic Sets", value: "'ss01' 1, 'ss02' 1, 'ss03' 1, 'ss04' 1, 'ss05' 1, 'ss06' 1, 'ss07' 1, 'ss08' 1, 'ss09' 1, 'ss10' 1, 'ss11' 1, 'ss12' 1, 'ss13' 1, 'ss14' 1, 'ss15' 1, 'ss16' 1, 'ss17' 1, 'ss18' 1, 'ss19' 1, 'ss20' 1" },
|
|
6437
|
+
{ title: "Stylistic Set 1", value: "'ss01' 1" },
|
|
6438
|
+
{ title: "Stylistic Set 2", value: "'ss02' 1" },
|
|
6439
|
+
{ title: "Stylistic Set 3", value: "'ss03' 1" },
|
|
6440
|
+
{ title: "Stylistic Set 4", value: "'ss04' 1" },
|
|
6441
|
+
{ title: "Stylistic Set 5", value: "'ss05' 1" },
|
|
6442
|
+
{ title: "Stylistic Set 6", value: "'ss06' 1" },
|
|
6443
|
+
{ title: "Stylistic Set 7", value: "'ss07' 1" },
|
|
6444
|
+
{ title: "Stylistic Set 8", value: "'ss08' 1" },
|
|
6445
|
+
{ title: "Stylistic Set 9", value: "'ss09' 1" },
|
|
6446
|
+
{ title: "Stylistic Set 10", value: "'ss10' 1" },
|
|
6447
|
+
{ title: "Stylistic Set 11", value: "'ss11' 1" },
|
|
6448
|
+
{ title: "Stylistic Set 12", value: "'ss12' 1" },
|
|
6449
|
+
{ title: "Stylistic Set 13", value: "'ss13' 1" },
|
|
6450
|
+
{ title: "Stylistic Set 14", value: "'ss14' 1" },
|
|
6451
|
+
{ title: "Stylistic Set 15", value: "'ss15' 1" },
|
|
6452
|
+
{ title: "Stylistic Set 16", value: "'ss16' 1" },
|
|
6453
|
+
{ title: "Stylistic Set 17", value: "'ss17' 1" },
|
|
6454
|
+
{ title: "Stylistic Set 18", value: "'ss18' 1" },
|
|
6455
|
+
{ title: "Stylistic Set 19", value: "'ss19' 1" },
|
|
6456
|
+
{ title: "Stylistic Set 20", value: "'ss20' 1" }
|
|
6457
|
+
]
|
|
6458
|
+
}
|
|
6459
|
+
},
|
|
6460
|
+
{
|
|
6461
|
+
type: "string",
|
|
6462
|
+
title: "Specialty CSS Implementation (for multi OT feautes)",
|
|
6463
|
+
name: "specialtyCss",
|
|
6464
|
+
placeholder: "'c2sc' 1, 'ss02' 1"
|
|
6465
|
+
},
|
|
6466
|
+
{
|
|
6467
|
+
type: "boolean",
|
|
6468
|
+
title: "Disable Ligatures on default",
|
|
6469
|
+
name: "ligatures"
|
|
6470
|
+
},
|
|
6471
|
+
{
|
|
6472
|
+
type: "boolean",
|
|
6473
|
+
title: "Disable Contextual Alternates on default",
|
|
6474
|
+
name: "calt"
|
|
6475
|
+
},
|
|
6476
|
+
{
|
|
6477
|
+
type: "boolean",
|
|
6478
|
+
title: "Only Applies to Italics",
|
|
6479
|
+
name: "italics"
|
|
6480
|
+
},
|
|
6481
|
+
{
|
|
6482
|
+
title: "Font Size",
|
|
6483
|
+
name: "size",
|
|
6484
|
+
type: "string",
|
|
6485
|
+
description: 'Recommendation: Use "XLarge" for single glyphs; \nuse "Large" for 2\u20135 glyphs on one line, or 2 short lines of text; use "Medium" for 2\u20133 lines of text; use "Small" for 3\u20134 lines of text.',
|
|
6486
|
+
options: {
|
|
6487
|
+
list: [
|
|
6488
|
+
{ title: "XLarge", value: "xl", description: "Recommended for single glyphs." },
|
|
6489
|
+
{ title: "Large", value: "lg", description: "Recommended for 2\u20135 glyphs on one line, or 2 short lines of text." },
|
|
6490
|
+
{ title: "Medium", value: "md", description: "Recommended for 2\u20133 lines of text." },
|
|
6491
|
+
{ title: "Small", value: "sm", description: "Recommended for 3\u20134 lines of text." }
|
|
6492
|
+
],
|
|
6493
|
+
layout: "radio"
|
|
6494
|
+
// direction: "horizontal"
|
|
6495
|
+
}
|
|
6496
|
+
}
|
|
6497
|
+
],
|
|
6498
|
+
preview: {
|
|
6499
|
+
select: {
|
|
6500
|
+
title: "content",
|
|
6501
|
+
subtitle: "label"
|
|
6502
|
+
},
|
|
6503
|
+
prepare(selection) {
|
|
6504
|
+
const { title, subtitle } = selection;
|
|
6505
|
+
return {
|
|
6506
|
+
title,
|
|
6507
|
+
subtitle
|
|
6508
|
+
};
|
|
6509
|
+
}
|
|
6510
|
+
}
|
|
6511
|
+
}
|
|
6512
|
+
]
|
|
6513
|
+
},
|
|
6514
|
+
{
|
|
6515
|
+
name: "sets",
|
|
6516
|
+
title: "Full list of stylistic features & their corresponding glyphs",
|
|
6517
|
+
type: "array",
|
|
6518
|
+
of: [
|
|
6519
|
+
{
|
|
6520
|
+
name: "set",
|
|
6521
|
+
type: "object",
|
|
6522
|
+
title: "Stylistic Feature",
|
|
6523
|
+
icon: import_icons6.StringIcon,
|
|
6524
|
+
fields: [
|
|
6525
|
+
{
|
|
6526
|
+
name: "title",
|
|
6527
|
+
title: "Label for Stylistic Feature",
|
|
6528
|
+
description: 'e.g. "ss01", "Lining Numerals',
|
|
6529
|
+
type: "string"
|
|
6530
|
+
},
|
|
6531
|
+
{
|
|
6532
|
+
name: "content",
|
|
6533
|
+
title: "Corresponding glyphs",
|
|
6534
|
+
type: "text",
|
|
6535
|
+
description: "For stylistic features that apply to multiple of the same base character, recommended to create a new line for each base character."
|
|
6536
|
+
},
|
|
6537
|
+
{
|
|
6538
|
+
title: "Stylistic Feature",
|
|
6539
|
+
name: "stylisticFeature",
|
|
6540
|
+
type: "string",
|
|
6541
|
+
// description: '[This will be autopopulated with the list of stylistic features when ready.]',
|
|
6542
|
+
options: {
|
|
6543
|
+
list: [
|
|
6544
|
+
{ title: "All Alternates", value: "'aalt' 1" },
|
|
6545
|
+
{ title: "All Caps", value: "'c2sc' 1" },
|
|
6546
|
+
{ title: "Alternate Annotation", value: "'nalt' 1" },
|
|
6547
|
+
{ title: "Alternative Fractions", value: "'afrc' 1" },
|
|
6548
|
+
{ title: "Capitals To Small Caps", value: "'c2sc' 1, 'smcp' 1" },
|
|
6549
|
+
{ title: "Capitals to Petite Caps", value: "'c2pc' 1" },
|
|
6550
|
+
{ title: "Case Sensitive Forms", value: "'case' 1" },
|
|
6551
|
+
{ title: "Contextual Alternates", value: "'calt' 1" },
|
|
6552
|
+
{ title: "Contextual Ligatures", value: "'clig' 1" },
|
|
6553
|
+
{ title: "Contextual Swash", value: "'cswh' 1" },
|
|
6554
|
+
{ title: "Denominator", value: "'dnom' 1" },
|
|
6555
|
+
{ title: "Discretionary Ligatures", value: "'dlig' 1" },
|
|
6556
|
+
{ title: "Fractions", value: "'frac' 1" },
|
|
6557
|
+
{ title: "Glyph Decomposition", value: "'ccmp' 1" },
|
|
6558
|
+
{ title: "Historical Forms", value: "'hist' 1" },
|
|
6559
|
+
{ title: "Historical Ligatures", value: "'hlig' 1" },
|
|
6560
|
+
{ title: "Initial Form", value: "'init' 1" },
|
|
6561
|
+
{ title: "Isolated Form", value: "'isol' 1" },
|
|
6562
|
+
{ title: "Justified Alternates", value: "'jalt' 1" },
|
|
6563
|
+
{ title: "Localized Forms", value: "'locl' 1" },
|
|
6564
|
+
{ title: "Mark Positioning", value: "'mark' 1" },
|
|
6565
|
+
{ title: "Mark Positioning via Subs", value: "'mset' 1" },
|
|
6566
|
+
{ title: "Mark to Mark Positioning", value: "'mkmk' 1" },
|
|
6567
|
+
{ title: "Mathematical Greek", value: "'mgrk' 1" },
|
|
6568
|
+
{ title: "Medial Form", value: "'medi' 1" },
|
|
6569
|
+
{ title: "Numerator", value: "'numr' 1" },
|
|
6570
|
+
{ title: "Ordinals", value: "'ordn' 1" },
|
|
6571
|
+
{ title: "Ornaments", value: "'ornm' 1" },
|
|
6572
|
+
{ title: "Petite Caps", value: "'pcap' 1" },
|
|
6573
|
+
{ title: "Proportional Lining", value: "'pnum' 1" },
|
|
6574
|
+
{ title: "Proportional Oldstyle", value: "'onum' 1" },
|
|
6575
|
+
{ title: "Required Ligatures", value: "'rlig' 1" },
|
|
6576
|
+
{ title: "Scientific Inferiors", value: "'sinf' 1" },
|
|
6577
|
+
{ title: "Slashed Zero", value: "'zero' 1" },
|
|
6578
|
+
{ title: "Small Caps", value: "'smcp' 1" },
|
|
6579
|
+
{ title: "Standard Ligatures", value: "'liga' 1" },
|
|
6580
|
+
{ title: "Stylistic Alternates", value: "'salt' 1" },
|
|
6581
|
+
{ title: "Subscript", value: "'subs' 1" },
|
|
6582
|
+
{ title: "Superscript", value: "'sups' 1" },
|
|
6583
|
+
{ title: "Swash", value: "'swsh' 1" },
|
|
6584
|
+
{ title: "Tabular Lining", value: "'tnum' 1" },
|
|
6585
|
+
{ title: "Tabular Oldstyle", value: "'onum' 1" },
|
|
6586
|
+
{ title: "Terminal Form", value: "'fina' 1" },
|
|
6587
|
+
{ title: "Titling Alternates", value: "'titl' 1" },
|
|
6588
|
+
{ title: "Unicase", value: "'unic' 1" },
|
|
6589
|
+
{ title: "All Stylistic Sets", value: "'ss01' 1, 'ss02' 1, 'ss03' 1, 'ss04' 1, 'ss05' 1, 'ss06' 1, 'ss07' 1, 'ss08' 1, 'ss09' 1, 'ss10' 1, 'ss11' 1, 'ss12' 1, 'ss13' 1, 'ss14' 1, 'ss15' 1, 'ss16' 1, 'ss17' 1, 'ss18' 1, 'ss19' 1, 'ss20' 1" },
|
|
6590
|
+
{ title: "Stylistic Set 1", value: "'ss01' 1" },
|
|
6591
|
+
{ title: "Stylistic Set 2", value: "'ss02' 1" },
|
|
6592
|
+
{ title: "Stylistic Set 3", value: "'ss03' 1" },
|
|
6593
|
+
{ title: "Stylistic Set 4", value: "'ss04' 1" },
|
|
6594
|
+
{ title: "Stylistic Set 5", value: "'ss05' 1" },
|
|
6595
|
+
{ title: "Stylistic Set 6", value: "'ss06' 1" },
|
|
6596
|
+
{ title: "Stylistic Set 7", value: "'ss07' 1" },
|
|
6597
|
+
{ title: "Stylistic Set 8", value: "'ss08' 1" },
|
|
6598
|
+
{ title: "Stylistic Set 9", value: "'ss09' 1" },
|
|
6599
|
+
{ title: "Stylistic Set 10", value: "'ss10' 1" },
|
|
6600
|
+
{ title: "Stylistic Set 11", value: "'ss11' 1" },
|
|
6601
|
+
{ title: "Stylistic Set 12", value: "'ss12' 1" },
|
|
6602
|
+
{ title: "Stylistic Set 13", value: "'ss13' 1" },
|
|
6603
|
+
{ title: "Stylistic Set 14", value: "'ss14' 1" },
|
|
6604
|
+
{ title: "Stylistic Set 15", value: "'ss15' 1" },
|
|
6605
|
+
{ title: "Stylistic Set 16", value: "'ss16' 1" },
|
|
6606
|
+
{ title: "Stylistic Set 17", value: "'ss17' 1" },
|
|
6607
|
+
{ title: "Stylistic Set 18", value: "'ss18' 1" },
|
|
6608
|
+
{ title: "Stylistic Set 19", value: "'ss19' 1" },
|
|
6609
|
+
{ title: "Stylistic Set 20", value: "'ss20' 1" }
|
|
6610
|
+
]
|
|
6611
|
+
}
|
|
6612
|
+
},
|
|
6613
|
+
{
|
|
6614
|
+
type: "string",
|
|
6615
|
+
title: "Specialty CSS Implementation (for multi OT feautes)",
|
|
6616
|
+
name: "specialtyCss",
|
|
6617
|
+
placeholder: "'c2sc' 1, 'ss02' 1"
|
|
6618
|
+
},
|
|
6619
|
+
{
|
|
6620
|
+
type: "boolean",
|
|
6621
|
+
title: "Disable Ligatures on default",
|
|
6622
|
+
name: "ligatures"
|
|
6623
|
+
},
|
|
6624
|
+
{
|
|
6625
|
+
type: "boolean",
|
|
6626
|
+
title: "Disable Contextual Alternates on default",
|
|
6627
|
+
name: "calt"
|
|
6628
|
+
},
|
|
6629
|
+
{
|
|
6630
|
+
type: "boolean",
|
|
6631
|
+
title: "Only Applies to Italics",
|
|
6632
|
+
name: "italics"
|
|
6633
|
+
}
|
|
6634
|
+
],
|
|
6635
|
+
preview: {
|
|
6636
|
+
select: {
|
|
6637
|
+
title: "title",
|
|
6638
|
+
subtitle: "content"
|
|
6639
|
+
},
|
|
6640
|
+
prepare(selection) {
|
|
6641
|
+
const { title, subtitle } = selection;
|
|
6642
|
+
return {
|
|
6643
|
+
subtitle,
|
|
6644
|
+
title
|
|
6645
|
+
};
|
|
6646
|
+
}
|
|
6647
|
+
}
|
|
6648
|
+
}
|
|
6649
|
+
]
|
|
6650
|
+
}
|
|
6651
|
+
]
|
|
6652
|
+
};
|
|
6352
6653
|
// Annotate the CommonJS export names for ESM import in node:
|
|
6353
6654
|
0 && (module.exports = {
|
|
6354
6655
|
BatchUploadFonts,
|
|
@@ -6397,6 +6698,7 @@ var styleCountField = {
|
|
|
6397
6698
|
sanitizeForSanityId,
|
|
6398
6699
|
sortFontObjects,
|
|
6399
6700
|
styleCountField,
|
|
6701
|
+
stylisticSetField,
|
|
6400
6702
|
updateFontPrices,
|
|
6401
6703
|
updateTypefaceDocument,
|
|
6402
6704
|
uploadFontFiles,
|
package/dist/index.mjs
CHANGED
|
@@ -6265,6 +6265,306 @@ var styleCountField = {
|
|
|
6265
6265
|
},
|
|
6266
6266
|
readOnly: true
|
|
6267
6267
|
};
|
|
6268
|
+
|
|
6269
|
+
// src/schema/stylisticSetField.js
|
|
6270
|
+
import { StringIcon } from "@sanity/icons";
|
|
6271
|
+
var stylisticSetField = {
|
|
6272
|
+
title: "Stylistic Features Section",
|
|
6273
|
+
name: "stylisticSet",
|
|
6274
|
+
group: "stylisticSets",
|
|
6275
|
+
type: "object",
|
|
6276
|
+
fields: [
|
|
6277
|
+
{
|
|
6278
|
+
name: "featured",
|
|
6279
|
+
title: "Featured Stylistic Feature Words & Phrases",
|
|
6280
|
+
description: 'Write a single letter, word or several words. Wrap the portion of the word that you want to use the stylistic set in ` characters. For example, writing "L`if`t" will make the "if" apply a stylistic set.',
|
|
6281
|
+
type: "array",
|
|
6282
|
+
of: [
|
|
6283
|
+
{
|
|
6284
|
+
name: "featuredWord",
|
|
6285
|
+
title: "Words or Phrase",
|
|
6286
|
+
type: "object",
|
|
6287
|
+
icon: StringIcon,
|
|
6288
|
+
fields: [
|
|
6289
|
+
{
|
|
6290
|
+
type: "text",
|
|
6291
|
+
title: "Content",
|
|
6292
|
+
name: "content"
|
|
6293
|
+
},
|
|
6294
|
+
{
|
|
6295
|
+
type: "string",
|
|
6296
|
+
title: "Label",
|
|
6297
|
+
name: "label"
|
|
6298
|
+
},
|
|
6299
|
+
{
|
|
6300
|
+
title: "Stylistic Feature",
|
|
6301
|
+
name: "stylisticFeature",
|
|
6302
|
+
type: "string",
|
|
6303
|
+
// description: '[This will be autopopulated with the list of stylistic features when ready.]',
|
|
6304
|
+
options: {
|
|
6305
|
+
list: [
|
|
6306
|
+
{ title: "All Alternates", value: "'aalt' 1" },
|
|
6307
|
+
{ title: "All Caps", value: "'c2sc' 1" },
|
|
6308
|
+
{ title: "Alternate Annotation", value: "'nalt' 1" },
|
|
6309
|
+
{ title: "Alternative Fractions", value: "'afrc' 1" },
|
|
6310
|
+
{ title: "Capitals To Small Caps", value: "'c2sc' 1, 'smcp' 1" },
|
|
6311
|
+
{ title: "Capitals to Petite Caps", value: "'c2pc' 1" },
|
|
6312
|
+
{ title: "Case Sensitive Forms", value: "'case' 1" },
|
|
6313
|
+
{ title: "Contextual Alternates", value: "'calt' 1" },
|
|
6314
|
+
{ title: "Contextual Ligatures", value: "'clig' 1" },
|
|
6315
|
+
{ title: "Contextual Swash", value: "'cswh' 1" },
|
|
6316
|
+
{ title: "Denominator", value: "'dnom' 1" },
|
|
6317
|
+
{ title: "Discretionary Ligatures", value: "'dlig' 1" },
|
|
6318
|
+
{ title: "Fractions", value: "'frac' 1" },
|
|
6319
|
+
{ title: "Glyph Decomposition", value: "'ccmp' 1" },
|
|
6320
|
+
{ title: "Historical Forms", value: "'hist' 1" },
|
|
6321
|
+
{ title: "Historical Ligatures", value: "'hlig' 1" },
|
|
6322
|
+
{ title: "Initial Form", value: "'init' 1" },
|
|
6323
|
+
{ title: "Isolated Form", value: "'isol' 1" },
|
|
6324
|
+
{ title: "Justified Alternates", value: "'jalt' 1" },
|
|
6325
|
+
{ title: "Localized Forms", value: "'locl' 1" },
|
|
6326
|
+
{ title: "Mark Positioning", value: "'mark' 1" },
|
|
6327
|
+
{ title: "Mark Positioning via Subs", value: "'mset' 1" },
|
|
6328
|
+
{ title: "Mark to Mark Positioning", value: "'mkmk' 1" },
|
|
6329
|
+
{ title: "Mathematical Greek", value: "'mgrk' 1" },
|
|
6330
|
+
{ title: "Medial Form", value: "'medi' 1" },
|
|
6331
|
+
{ title: "Numerator", value: "'numr' 1" },
|
|
6332
|
+
{ title: "Ordinals", value: "'ordn' 1" },
|
|
6333
|
+
{ title: "Ornaments", value: "'ornm' 1" },
|
|
6334
|
+
{ title: "Petite Caps", value: "'pcap' 1" },
|
|
6335
|
+
{ title: "Proportional Lining", value: "'pnum' 1" },
|
|
6336
|
+
{ title: "Proportional Oldstyle", value: "'onum' 1" },
|
|
6337
|
+
{ title: "Required Ligatures", value: "'rlig' 1" },
|
|
6338
|
+
{ title: "Scientific Inferiors", value: "'sinf' 1" },
|
|
6339
|
+
{ title: "Slashed Zero", value: "'zero' 1" },
|
|
6340
|
+
{ title: "Small Caps", value: "'smcp' 1" },
|
|
6341
|
+
{ title: "Standard Ligatures", value: "'liga' 1" },
|
|
6342
|
+
{ title: "Stylistic Alternates", value: "'salt' 1" },
|
|
6343
|
+
{ title: "Subscript", value: "'subs' 1" },
|
|
6344
|
+
{ title: "Superscript", value: "'sups' 1" },
|
|
6345
|
+
{ title: "Swash", value: "'swsh' 1" },
|
|
6346
|
+
{ title: "Tabular Lining", value: "'tnum' 1" },
|
|
6347
|
+
{ title: "Tabular Oldstyle", value: "'onum' 1" },
|
|
6348
|
+
{ title: "Terminal Form", value: "'fina' 1" },
|
|
6349
|
+
{ title: "Titling Alternates", value: "'titl' 1" },
|
|
6350
|
+
{ title: "Unicase", value: "'unic' 1" },
|
|
6351
|
+
{ title: "All Stylistic Sets", value: "'ss01' 1, 'ss02' 1, 'ss03' 1, 'ss04' 1, 'ss05' 1, 'ss06' 1, 'ss07' 1, 'ss08' 1, 'ss09' 1, 'ss10' 1, 'ss11' 1, 'ss12' 1, 'ss13' 1, 'ss14' 1, 'ss15' 1, 'ss16' 1, 'ss17' 1, 'ss18' 1, 'ss19' 1, 'ss20' 1" },
|
|
6352
|
+
{ title: "Stylistic Set 1", value: "'ss01' 1" },
|
|
6353
|
+
{ title: "Stylistic Set 2", value: "'ss02' 1" },
|
|
6354
|
+
{ title: "Stylistic Set 3", value: "'ss03' 1" },
|
|
6355
|
+
{ title: "Stylistic Set 4", value: "'ss04' 1" },
|
|
6356
|
+
{ title: "Stylistic Set 5", value: "'ss05' 1" },
|
|
6357
|
+
{ title: "Stylistic Set 6", value: "'ss06' 1" },
|
|
6358
|
+
{ title: "Stylistic Set 7", value: "'ss07' 1" },
|
|
6359
|
+
{ title: "Stylistic Set 8", value: "'ss08' 1" },
|
|
6360
|
+
{ title: "Stylistic Set 9", value: "'ss09' 1" },
|
|
6361
|
+
{ title: "Stylistic Set 10", value: "'ss10' 1" },
|
|
6362
|
+
{ title: "Stylistic Set 11", value: "'ss11' 1" },
|
|
6363
|
+
{ title: "Stylistic Set 12", value: "'ss12' 1" },
|
|
6364
|
+
{ title: "Stylistic Set 13", value: "'ss13' 1" },
|
|
6365
|
+
{ title: "Stylistic Set 14", value: "'ss14' 1" },
|
|
6366
|
+
{ title: "Stylistic Set 15", value: "'ss15' 1" },
|
|
6367
|
+
{ title: "Stylistic Set 16", value: "'ss16' 1" },
|
|
6368
|
+
{ title: "Stylistic Set 17", value: "'ss17' 1" },
|
|
6369
|
+
{ title: "Stylistic Set 18", value: "'ss18' 1" },
|
|
6370
|
+
{ title: "Stylistic Set 19", value: "'ss19' 1" },
|
|
6371
|
+
{ title: "Stylistic Set 20", value: "'ss20' 1" }
|
|
6372
|
+
]
|
|
6373
|
+
}
|
|
6374
|
+
},
|
|
6375
|
+
{
|
|
6376
|
+
type: "string",
|
|
6377
|
+
title: "Specialty CSS Implementation (for multi OT feautes)",
|
|
6378
|
+
name: "specialtyCss",
|
|
6379
|
+
placeholder: "'c2sc' 1, 'ss02' 1"
|
|
6380
|
+
},
|
|
6381
|
+
{
|
|
6382
|
+
type: "boolean",
|
|
6383
|
+
title: "Disable Ligatures on default",
|
|
6384
|
+
name: "ligatures"
|
|
6385
|
+
},
|
|
6386
|
+
{
|
|
6387
|
+
type: "boolean",
|
|
6388
|
+
title: "Disable Contextual Alternates on default",
|
|
6389
|
+
name: "calt"
|
|
6390
|
+
},
|
|
6391
|
+
{
|
|
6392
|
+
type: "boolean",
|
|
6393
|
+
title: "Only Applies to Italics",
|
|
6394
|
+
name: "italics"
|
|
6395
|
+
},
|
|
6396
|
+
{
|
|
6397
|
+
title: "Font Size",
|
|
6398
|
+
name: "size",
|
|
6399
|
+
type: "string",
|
|
6400
|
+
description: 'Recommendation: Use "XLarge" for single glyphs; \nuse "Large" for 2\u20135 glyphs on one line, or 2 short lines of text; use "Medium" for 2\u20133 lines of text; use "Small" for 3\u20134 lines of text.',
|
|
6401
|
+
options: {
|
|
6402
|
+
list: [
|
|
6403
|
+
{ title: "XLarge", value: "xl", description: "Recommended for single glyphs." },
|
|
6404
|
+
{ title: "Large", value: "lg", description: "Recommended for 2\u20135 glyphs on one line, or 2 short lines of text." },
|
|
6405
|
+
{ title: "Medium", value: "md", description: "Recommended for 2\u20133 lines of text." },
|
|
6406
|
+
{ title: "Small", value: "sm", description: "Recommended for 3\u20134 lines of text." }
|
|
6407
|
+
],
|
|
6408
|
+
layout: "radio"
|
|
6409
|
+
// direction: "horizontal"
|
|
6410
|
+
}
|
|
6411
|
+
}
|
|
6412
|
+
],
|
|
6413
|
+
preview: {
|
|
6414
|
+
select: {
|
|
6415
|
+
title: "content",
|
|
6416
|
+
subtitle: "label"
|
|
6417
|
+
},
|
|
6418
|
+
prepare(selection) {
|
|
6419
|
+
const { title, subtitle } = selection;
|
|
6420
|
+
return {
|
|
6421
|
+
title,
|
|
6422
|
+
subtitle
|
|
6423
|
+
};
|
|
6424
|
+
}
|
|
6425
|
+
}
|
|
6426
|
+
}
|
|
6427
|
+
]
|
|
6428
|
+
},
|
|
6429
|
+
{
|
|
6430
|
+
name: "sets",
|
|
6431
|
+
title: "Full list of stylistic features & their corresponding glyphs",
|
|
6432
|
+
type: "array",
|
|
6433
|
+
of: [
|
|
6434
|
+
{
|
|
6435
|
+
name: "set",
|
|
6436
|
+
type: "object",
|
|
6437
|
+
title: "Stylistic Feature",
|
|
6438
|
+
icon: StringIcon,
|
|
6439
|
+
fields: [
|
|
6440
|
+
{
|
|
6441
|
+
name: "title",
|
|
6442
|
+
title: "Label for Stylistic Feature",
|
|
6443
|
+
description: 'e.g. "ss01", "Lining Numerals',
|
|
6444
|
+
type: "string"
|
|
6445
|
+
},
|
|
6446
|
+
{
|
|
6447
|
+
name: "content",
|
|
6448
|
+
title: "Corresponding glyphs",
|
|
6449
|
+
type: "text",
|
|
6450
|
+
description: "For stylistic features that apply to multiple of the same base character, recommended to create a new line for each base character."
|
|
6451
|
+
},
|
|
6452
|
+
{
|
|
6453
|
+
title: "Stylistic Feature",
|
|
6454
|
+
name: "stylisticFeature",
|
|
6455
|
+
type: "string",
|
|
6456
|
+
// description: '[This will be autopopulated with the list of stylistic features when ready.]',
|
|
6457
|
+
options: {
|
|
6458
|
+
list: [
|
|
6459
|
+
{ title: "All Alternates", value: "'aalt' 1" },
|
|
6460
|
+
{ title: "All Caps", value: "'c2sc' 1" },
|
|
6461
|
+
{ title: "Alternate Annotation", value: "'nalt' 1" },
|
|
6462
|
+
{ title: "Alternative Fractions", value: "'afrc' 1" },
|
|
6463
|
+
{ title: "Capitals To Small Caps", value: "'c2sc' 1, 'smcp' 1" },
|
|
6464
|
+
{ title: "Capitals to Petite Caps", value: "'c2pc' 1" },
|
|
6465
|
+
{ title: "Case Sensitive Forms", value: "'case' 1" },
|
|
6466
|
+
{ title: "Contextual Alternates", value: "'calt' 1" },
|
|
6467
|
+
{ title: "Contextual Ligatures", value: "'clig' 1" },
|
|
6468
|
+
{ title: "Contextual Swash", value: "'cswh' 1" },
|
|
6469
|
+
{ title: "Denominator", value: "'dnom' 1" },
|
|
6470
|
+
{ title: "Discretionary Ligatures", value: "'dlig' 1" },
|
|
6471
|
+
{ title: "Fractions", value: "'frac' 1" },
|
|
6472
|
+
{ title: "Glyph Decomposition", value: "'ccmp' 1" },
|
|
6473
|
+
{ title: "Historical Forms", value: "'hist' 1" },
|
|
6474
|
+
{ title: "Historical Ligatures", value: "'hlig' 1" },
|
|
6475
|
+
{ title: "Initial Form", value: "'init' 1" },
|
|
6476
|
+
{ title: "Isolated Form", value: "'isol' 1" },
|
|
6477
|
+
{ title: "Justified Alternates", value: "'jalt' 1" },
|
|
6478
|
+
{ title: "Localized Forms", value: "'locl' 1" },
|
|
6479
|
+
{ title: "Mark Positioning", value: "'mark' 1" },
|
|
6480
|
+
{ title: "Mark Positioning via Subs", value: "'mset' 1" },
|
|
6481
|
+
{ title: "Mark to Mark Positioning", value: "'mkmk' 1" },
|
|
6482
|
+
{ title: "Mathematical Greek", value: "'mgrk' 1" },
|
|
6483
|
+
{ title: "Medial Form", value: "'medi' 1" },
|
|
6484
|
+
{ title: "Numerator", value: "'numr' 1" },
|
|
6485
|
+
{ title: "Ordinals", value: "'ordn' 1" },
|
|
6486
|
+
{ title: "Ornaments", value: "'ornm' 1" },
|
|
6487
|
+
{ title: "Petite Caps", value: "'pcap' 1" },
|
|
6488
|
+
{ title: "Proportional Lining", value: "'pnum' 1" },
|
|
6489
|
+
{ title: "Proportional Oldstyle", value: "'onum' 1" },
|
|
6490
|
+
{ title: "Required Ligatures", value: "'rlig' 1" },
|
|
6491
|
+
{ title: "Scientific Inferiors", value: "'sinf' 1" },
|
|
6492
|
+
{ title: "Slashed Zero", value: "'zero' 1" },
|
|
6493
|
+
{ title: "Small Caps", value: "'smcp' 1" },
|
|
6494
|
+
{ title: "Standard Ligatures", value: "'liga' 1" },
|
|
6495
|
+
{ title: "Stylistic Alternates", value: "'salt' 1" },
|
|
6496
|
+
{ title: "Subscript", value: "'subs' 1" },
|
|
6497
|
+
{ title: "Superscript", value: "'sups' 1" },
|
|
6498
|
+
{ title: "Swash", value: "'swsh' 1" },
|
|
6499
|
+
{ title: "Tabular Lining", value: "'tnum' 1" },
|
|
6500
|
+
{ title: "Tabular Oldstyle", value: "'onum' 1" },
|
|
6501
|
+
{ title: "Terminal Form", value: "'fina' 1" },
|
|
6502
|
+
{ title: "Titling Alternates", value: "'titl' 1" },
|
|
6503
|
+
{ title: "Unicase", value: "'unic' 1" },
|
|
6504
|
+
{ title: "All Stylistic Sets", value: "'ss01' 1, 'ss02' 1, 'ss03' 1, 'ss04' 1, 'ss05' 1, 'ss06' 1, 'ss07' 1, 'ss08' 1, 'ss09' 1, 'ss10' 1, 'ss11' 1, 'ss12' 1, 'ss13' 1, 'ss14' 1, 'ss15' 1, 'ss16' 1, 'ss17' 1, 'ss18' 1, 'ss19' 1, 'ss20' 1" },
|
|
6505
|
+
{ title: "Stylistic Set 1", value: "'ss01' 1" },
|
|
6506
|
+
{ title: "Stylistic Set 2", value: "'ss02' 1" },
|
|
6507
|
+
{ title: "Stylistic Set 3", value: "'ss03' 1" },
|
|
6508
|
+
{ title: "Stylistic Set 4", value: "'ss04' 1" },
|
|
6509
|
+
{ title: "Stylistic Set 5", value: "'ss05' 1" },
|
|
6510
|
+
{ title: "Stylistic Set 6", value: "'ss06' 1" },
|
|
6511
|
+
{ title: "Stylistic Set 7", value: "'ss07' 1" },
|
|
6512
|
+
{ title: "Stylistic Set 8", value: "'ss08' 1" },
|
|
6513
|
+
{ title: "Stylistic Set 9", value: "'ss09' 1" },
|
|
6514
|
+
{ title: "Stylistic Set 10", value: "'ss10' 1" },
|
|
6515
|
+
{ title: "Stylistic Set 11", value: "'ss11' 1" },
|
|
6516
|
+
{ title: "Stylistic Set 12", value: "'ss12' 1" },
|
|
6517
|
+
{ title: "Stylistic Set 13", value: "'ss13' 1" },
|
|
6518
|
+
{ title: "Stylistic Set 14", value: "'ss14' 1" },
|
|
6519
|
+
{ title: "Stylistic Set 15", value: "'ss15' 1" },
|
|
6520
|
+
{ title: "Stylistic Set 16", value: "'ss16' 1" },
|
|
6521
|
+
{ title: "Stylistic Set 17", value: "'ss17' 1" },
|
|
6522
|
+
{ title: "Stylistic Set 18", value: "'ss18' 1" },
|
|
6523
|
+
{ title: "Stylistic Set 19", value: "'ss19' 1" },
|
|
6524
|
+
{ title: "Stylistic Set 20", value: "'ss20' 1" }
|
|
6525
|
+
]
|
|
6526
|
+
}
|
|
6527
|
+
},
|
|
6528
|
+
{
|
|
6529
|
+
type: "string",
|
|
6530
|
+
title: "Specialty CSS Implementation (for multi OT feautes)",
|
|
6531
|
+
name: "specialtyCss",
|
|
6532
|
+
placeholder: "'c2sc' 1, 'ss02' 1"
|
|
6533
|
+
},
|
|
6534
|
+
{
|
|
6535
|
+
type: "boolean",
|
|
6536
|
+
title: "Disable Ligatures on default",
|
|
6537
|
+
name: "ligatures"
|
|
6538
|
+
},
|
|
6539
|
+
{
|
|
6540
|
+
type: "boolean",
|
|
6541
|
+
title: "Disable Contextual Alternates on default",
|
|
6542
|
+
name: "calt"
|
|
6543
|
+
},
|
|
6544
|
+
{
|
|
6545
|
+
type: "boolean",
|
|
6546
|
+
title: "Only Applies to Italics",
|
|
6547
|
+
name: "italics"
|
|
6548
|
+
}
|
|
6549
|
+
],
|
|
6550
|
+
preview: {
|
|
6551
|
+
select: {
|
|
6552
|
+
title: "title",
|
|
6553
|
+
subtitle: "content"
|
|
6554
|
+
},
|
|
6555
|
+
prepare(selection) {
|
|
6556
|
+
const { title, subtitle } = selection;
|
|
6557
|
+
return {
|
|
6558
|
+
subtitle,
|
|
6559
|
+
title
|
|
6560
|
+
};
|
|
6561
|
+
}
|
|
6562
|
+
}
|
|
6563
|
+
}
|
|
6564
|
+
]
|
|
6565
|
+
}
|
|
6566
|
+
]
|
|
6567
|
+
};
|
|
6268
6568
|
export {
|
|
6269
6569
|
BatchUploadFonts,
|
|
6270
6570
|
FontScriptUploaderComponent,
|
|
@@ -6312,6 +6612,7 @@ export {
|
|
|
6312
6612
|
sanitizeForSanityId,
|
|
6313
6613
|
sortFontObjects,
|
|
6314
6614
|
styleCountField,
|
|
6615
|
+
stylisticSetField,
|
|
6315
6616
|
updateFontPrices,
|
|
6316
6617
|
updateTypefaceDocument,
|
|
6317
6618
|
uploadFontFiles,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liiift-studio/sanity-font-manager",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.5",
|
|
4
4
|
"description": "Sanity Studio plugin — full font management suite with batch upload, format conversion, metadata extraction, CSS generation, collection/pair generation, and script variant support. Supports Sanity v3, v4, and v5.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Liiift Studio",
|
package/src/index.js
CHANGED
|
@@ -56,6 +56,7 @@ export { sanitizeForSanityId } from './utils/sanitizeForSanityId.js';
|
|
|
56
56
|
// Schema field definitions
|
|
57
57
|
export { openTypeField } from './schema/openTypeField.js';
|
|
58
58
|
export { styleCountField } from './schema/styleCountField.js';
|
|
59
|
+
export { stylisticSetField } from './schema/stylisticSetField.js';
|
|
59
60
|
|
|
60
61
|
// Keyword utilities
|
|
61
62
|
export {
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
// Sanity schema field definition for the Stylistic Features section — featured words and full feature set
|
|
2
|
+
import { StringIcon } from '@sanity/icons';
|
|
3
|
+
|
|
4
|
+
export const stylisticSetField = {
|
|
5
|
+
title: 'Stylistic Features Section',
|
|
6
|
+
name: 'stylisticSet',
|
|
7
|
+
group: 'stylisticSets',
|
|
8
|
+
type: 'object',
|
|
9
|
+
fields: [
|
|
10
|
+
{
|
|
11
|
+
name:'featured',
|
|
12
|
+
title: 'Featured Stylistic Feature Words & Phrases',
|
|
13
|
+
description: 'Write a single letter, word or several words. Wrap the portion of the word that you want to use the stylistic set in ` characters. For example, writing "L`if`t" will make the "if" apply a stylistic set.',
|
|
14
|
+
type:'array',
|
|
15
|
+
of: [
|
|
16
|
+
{
|
|
17
|
+
name:'featuredWord',
|
|
18
|
+
title: 'Words or Phrase',
|
|
19
|
+
type:'object',
|
|
20
|
+
icon: StringIcon,
|
|
21
|
+
fields: [
|
|
22
|
+
{
|
|
23
|
+
type: 'text',
|
|
24
|
+
title: 'Content',
|
|
25
|
+
name: 'content'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'string',
|
|
29
|
+
title: 'Label',
|
|
30
|
+
name: 'label'
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
{
|
|
34
|
+
title: "Stylistic Feature",
|
|
35
|
+
name: "stylisticFeature",
|
|
36
|
+
type: "string",
|
|
37
|
+
// description: '[This will be autopopulated with the list of stylistic features when ready.]',
|
|
38
|
+
options: {
|
|
39
|
+
list: [
|
|
40
|
+
{ title: "All Alternates", value: "'aalt' 1" },
|
|
41
|
+
{ title: "All Caps", value: "'c2sc' 1" },
|
|
42
|
+
{ title: "Alternate Annotation", value: "'nalt' 1" },
|
|
43
|
+
{ title: "Alternative Fractions", value: "'afrc' 1" },
|
|
44
|
+
{ title: "Capitals To Small Caps", value: "'c2sc' 1, 'smcp' 1" },
|
|
45
|
+
{ title: "Capitals to Petite Caps", value: "'c2pc' 1" },
|
|
46
|
+
{ title: "Case Sensitive Forms", value: "'case' 1" },
|
|
47
|
+
{ title: "Contextual Alternates", value: "'calt' 1" },
|
|
48
|
+
{ title: "Contextual Ligatures", value: "'clig' 1" },
|
|
49
|
+
{ title: "Contextual Swash", value: "'cswh' 1" },
|
|
50
|
+
{ title: "Denominator", value: "'dnom' 1" },
|
|
51
|
+
{ title: "Discretionary Ligatures", value: "'dlig' 1" },
|
|
52
|
+
{ title: "Fractions", value: "'frac' 1" },
|
|
53
|
+
{ title: "Glyph Decomposition", value: "'ccmp' 1" },
|
|
54
|
+
{ title: "Historical Forms", value: "'hist' 1" },
|
|
55
|
+
{ title: "Historical Ligatures", value: "'hlig' 1" },
|
|
56
|
+
{ title: "Initial Form", value: "'init' 1" },
|
|
57
|
+
{ title: "Isolated Form", value: "'isol' 1" },
|
|
58
|
+
{ title: "Justified Alternates", value: "'jalt' 1" },
|
|
59
|
+
{ title: "Localized Forms", value: "'locl' 1" },
|
|
60
|
+
{ title: "Mark Positioning", value: "'mark' 1" },
|
|
61
|
+
{ title: "Mark Positioning via Subs", value: "'mset' 1" },
|
|
62
|
+
{ title: "Mark to Mark Positioning", value: "'mkmk' 1" },
|
|
63
|
+
{ title: "Mathematical Greek", value: "'mgrk' 1" },
|
|
64
|
+
{ title: "Medial Form", value: "'medi' 1" },
|
|
65
|
+
{ title: "Numerator", value: "'numr' 1" },
|
|
66
|
+
{ title: "Ordinals", value: "'ordn' 1" },
|
|
67
|
+
{ title: "Ornaments", value: "'ornm' 1" },
|
|
68
|
+
{ title: "Petite Caps", value: "'pcap' 1" },
|
|
69
|
+
{ title: "Proportional Lining", value: "'pnum' 1" },
|
|
70
|
+
{ title: "Proportional Oldstyle", value: "'onum' 1" },
|
|
71
|
+
{ title: "Required Ligatures", value: "'rlig' 1" },
|
|
72
|
+
{ title: "Scientific Inferiors", value: "'sinf' 1" },
|
|
73
|
+
{ title: "Slashed Zero", value: "'zero' 1" },
|
|
74
|
+
{ title: "Small Caps", value: "'smcp' 1" },
|
|
75
|
+
{ title: "Standard Ligatures", value: "'liga' 1" },
|
|
76
|
+
{ title: "Stylistic Alternates", value: "'salt' 1" },
|
|
77
|
+
{ title: "Subscript", value: "'subs' 1" },
|
|
78
|
+
{ title: "Superscript", value: "'sups' 1" },
|
|
79
|
+
{ title: "Swash", value: "'swsh' 1" },
|
|
80
|
+
{ title: "Tabular Lining", value: "'tnum' 1" },
|
|
81
|
+
{ title: "Tabular Oldstyle", value: "'onum' 1" },
|
|
82
|
+
{ title: "Terminal Form", value: "'fina' 1" },
|
|
83
|
+
{ title: "Titling Alternates", value: "'titl' 1" },
|
|
84
|
+
{ title: "Unicase", value: "'unic' 1" },
|
|
85
|
+
{ title: "All Stylistic Sets", value: "'ss01' 1, 'ss02' 1, 'ss03' 1, 'ss04' 1, 'ss05' 1, 'ss06' 1, 'ss07' 1, 'ss08' 1, 'ss09' 1, 'ss10' 1, 'ss11' 1, 'ss12' 1, 'ss13' 1, 'ss14' 1, 'ss15' 1, 'ss16' 1, 'ss17' 1, 'ss18' 1, 'ss19' 1, 'ss20' 1" },
|
|
86
|
+
{ title: "Stylistic Set 1", value: "'ss01' 1" },
|
|
87
|
+
{ title: "Stylistic Set 2", value: "'ss02' 1" },
|
|
88
|
+
{ title: "Stylistic Set 3", value: "'ss03' 1" },
|
|
89
|
+
{ title: "Stylistic Set 4", value: "'ss04' 1" },
|
|
90
|
+
{ title: "Stylistic Set 5", value: "'ss05' 1" },
|
|
91
|
+
{ title: "Stylistic Set 6", value: "'ss06' 1" },
|
|
92
|
+
{ title: "Stylistic Set 7", value: "'ss07' 1" },
|
|
93
|
+
{ title: "Stylistic Set 8", value: "'ss08' 1" },
|
|
94
|
+
{ title: "Stylistic Set 9", value: "'ss09' 1" },
|
|
95
|
+
{ title: "Stylistic Set 10", value: "'ss10' 1" },
|
|
96
|
+
{ title: "Stylistic Set 11", value: "'ss11' 1" },
|
|
97
|
+
{ title: "Stylistic Set 12", value: "'ss12' 1" },
|
|
98
|
+
{ title: "Stylistic Set 13", value: "'ss13' 1" },
|
|
99
|
+
{ title: "Stylistic Set 14", value: "'ss14' 1" },
|
|
100
|
+
{ title: "Stylistic Set 15", value: "'ss15' 1" },
|
|
101
|
+
{ title: "Stylistic Set 16", value: "'ss16' 1" },
|
|
102
|
+
{ title: "Stylistic Set 17", value: "'ss17' 1" },
|
|
103
|
+
{ title: "Stylistic Set 18", value: "'ss18' 1" },
|
|
104
|
+
{ title: "Stylistic Set 19", value: "'ss19' 1" },
|
|
105
|
+
{ title: "Stylistic Set 20", value: "'ss20' 1" }
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'string',
|
|
111
|
+
title: 'Specialty CSS Implementation (for multi OT feautes)',
|
|
112
|
+
name: 'specialtyCss',
|
|
113
|
+
placeholder: "'c2sc' 1, 'ss02' 1"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'boolean',
|
|
117
|
+
title: 'Disable Ligatures on default',
|
|
118
|
+
name: 'ligatures',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'boolean',
|
|
122
|
+
title: 'Disable Contextual Alternates on default',
|
|
123
|
+
name: 'calt',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'boolean',
|
|
127
|
+
title: 'Only Applies to Italics',
|
|
128
|
+
name: 'italics',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
title: "Font Size",
|
|
132
|
+
name: "size",
|
|
133
|
+
type: "string",
|
|
134
|
+
description: 'Recommendation: Use "XLarge" for single glyphs; \nuse "Large" for 2–5 glyphs on one line, or 2 short lines of text; use "Medium" for 2–3 lines of text; use "Small" for 3–4 lines of text.',
|
|
135
|
+
options: {
|
|
136
|
+
list: [
|
|
137
|
+
{ title: "XLarge", value: "xl", description: "Recommended for single glyphs." },
|
|
138
|
+
{ title: "Large", value: "lg", description: "Recommended for 2–5 glyphs on one line, or 2 short lines of text." },
|
|
139
|
+
{ title: "Medium", value: "md", description: "Recommended for 2–3 lines of text." },
|
|
140
|
+
{ title: "Small", value: "sm", description: "Recommended for 3–4 lines of text." }
|
|
141
|
+
],
|
|
142
|
+
layout: "radio",
|
|
143
|
+
// direction: "horizontal"
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
preview: {
|
|
148
|
+
select: {
|
|
149
|
+
title: 'content',
|
|
150
|
+
subtitle: 'label'
|
|
151
|
+
},
|
|
152
|
+
prepare(selection) {
|
|
153
|
+
const {title, subtitle} = selection;
|
|
154
|
+
return {
|
|
155
|
+
title: title,
|
|
156
|
+
subtitle: subtitle
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
name: 'sets',
|
|
165
|
+
title: 'Full list of stylistic features & their corresponding glyphs',
|
|
166
|
+
type: 'array',
|
|
167
|
+
of: [
|
|
168
|
+
{
|
|
169
|
+
name: 'set',
|
|
170
|
+
type: 'object',
|
|
171
|
+
title: 'Stylistic Feature',
|
|
172
|
+
icon: StringIcon,
|
|
173
|
+
fields: [
|
|
174
|
+
{
|
|
175
|
+
name: 'title',
|
|
176
|
+
title: 'Label for Stylistic Feature',
|
|
177
|
+
description: 'e.g. "ss01", "Lining Numerals',
|
|
178
|
+
type: 'string'
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: 'content',
|
|
182
|
+
title: 'Corresponding glyphs',
|
|
183
|
+
type: 'text',
|
|
184
|
+
description: 'For stylistic features that apply to multiple of the same base character, recommended to create a new line for each base character.'
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
title: "Stylistic Feature",
|
|
188
|
+
name: "stylisticFeature",
|
|
189
|
+
type: "string",
|
|
190
|
+
// description: '[This will be autopopulated with the list of stylistic features when ready.]',
|
|
191
|
+
options: {
|
|
192
|
+
list: [
|
|
193
|
+
{ title: "All Alternates", value: "'aalt' 1" },
|
|
194
|
+
{ title: "All Caps", value: "'c2sc' 1" },
|
|
195
|
+
{ title: "Alternate Annotation", value: "'nalt' 1" },
|
|
196
|
+
{ title: "Alternative Fractions", value: "'afrc' 1" },
|
|
197
|
+
{ title: "Capitals To Small Caps", value: "'c2sc' 1, 'smcp' 1" },
|
|
198
|
+
{ title: "Capitals to Petite Caps", value: "'c2pc' 1" },
|
|
199
|
+
{ title: "Case Sensitive Forms", value: "'case' 1" },
|
|
200
|
+
{ title: "Contextual Alternates", value: "'calt' 1" },
|
|
201
|
+
{ title: "Contextual Ligatures", value: "'clig' 1" },
|
|
202
|
+
{ title: "Contextual Swash", value: "'cswh' 1" },
|
|
203
|
+
{ title: "Denominator", value: "'dnom' 1" },
|
|
204
|
+
{ title: "Discretionary Ligatures", value: "'dlig' 1" },
|
|
205
|
+
{ title: "Fractions", value: "'frac' 1" },
|
|
206
|
+
{ title: "Glyph Decomposition", value: "'ccmp' 1" },
|
|
207
|
+
{ title: "Historical Forms", value: "'hist' 1" },
|
|
208
|
+
{ title: "Historical Ligatures", value: "'hlig' 1" },
|
|
209
|
+
{ title: "Initial Form", value: "'init' 1" },
|
|
210
|
+
{ title: "Isolated Form", value: "'isol' 1" },
|
|
211
|
+
{ title: "Justified Alternates", value: "'jalt' 1" },
|
|
212
|
+
{ title: "Localized Forms", value: "'locl' 1" },
|
|
213
|
+
{ title: "Mark Positioning", value: "'mark' 1" },
|
|
214
|
+
{ title: "Mark Positioning via Subs", value: "'mset' 1" },
|
|
215
|
+
{ title: "Mark to Mark Positioning", value: "'mkmk' 1" },
|
|
216
|
+
{ title: "Mathematical Greek", value: "'mgrk' 1" },
|
|
217
|
+
{ title: "Medial Form", value: "'medi' 1" },
|
|
218
|
+
{ title: "Numerator", value: "'numr' 1" },
|
|
219
|
+
{ title: "Ordinals", value: "'ordn' 1" },
|
|
220
|
+
{ title: "Ornaments", value: "'ornm' 1" },
|
|
221
|
+
{ title: "Petite Caps", value: "'pcap' 1" },
|
|
222
|
+
{ title: "Proportional Lining", value: "'pnum' 1" },
|
|
223
|
+
{ title: "Proportional Oldstyle", value: "'onum' 1" },
|
|
224
|
+
{ title: "Required Ligatures", value: "'rlig' 1" },
|
|
225
|
+
{ title: "Scientific Inferiors", value: "'sinf' 1" },
|
|
226
|
+
{ title: "Slashed Zero", value: "'zero' 1" },
|
|
227
|
+
{ title: "Small Caps", value: "'smcp' 1" },
|
|
228
|
+
{ title: "Standard Ligatures", value: "'liga' 1" },
|
|
229
|
+
{ title: "Stylistic Alternates", value: "'salt' 1" },
|
|
230
|
+
{ title: "Subscript", value: "'subs' 1" },
|
|
231
|
+
{ title: "Superscript", value: "'sups' 1" },
|
|
232
|
+
{ title: "Swash", value: "'swsh' 1" },
|
|
233
|
+
{ title: "Tabular Lining", value: "'tnum' 1" },
|
|
234
|
+
{ title: "Tabular Oldstyle", value: "'onum' 1" },
|
|
235
|
+
{ title: "Terminal Form", value: "'fina' 1" },
|
|
236
|
+
{ title: "Titling Alternates", value: "'titl' 1" },
|
|
237
|
+
{ title: "Unicase", value: "'unic' 1" },
|
|
238
|
+
{ title: "All Stylistic Sets", value: "'ss01' 1, 'ss02' 1, 'ss03' 1, 'ss04' 1, 'ss05' 1, 'ss06' 1, 'ss07' 1, 'ss08' 1, 'ss09' 1, 'ss10' 1, 'ss11' 1, 'ss12' 1, 'ss13' 1, 'ss14' 1, 'ss15' 1, 'ss16' 1, 'ss17' 1, 'ss18' 1, 'ss19' 1, 'ss20' 1" },
|
|
239
|
+
{ title: "Stylistic Set 1", value: "'ss01' 1" },
|
|
240
|
+
{ title: "Stylistic Set 2", value: "'ss02' 1" },
|
|
241
|
+
{ title: "Stylistic Set 3", value: "'ss03' 1" },
|
|
242
|
+
{ title: "Stylistic Set 4", value: "'ss04' 1" },
|
|
243
|
+
{ title: "Stylistic Set 5", value: "'ss05' 1" },
|
|
244
|
+
{ title: "Stylistic Set 6", value: "'ss06' 1" },
|
|
245
|
+
{ title: "Stylistic Set 7", value: "'ss07' 1" },
|
|
246
|
+
{ title: "Stylistic Set 8", value: "'ss08' 1" },
|
|
247
|
+
{ title: "Stylistic Set 9", value: "'ss09' 1" },
|
|
248
|
+
{ title: "Stylistic Set 10", value: "'ss10' 1" },
|
|
249
|
+
{ title: "Stylistic Set 11", value: "'ss11' 1" },
|
|
250
|
+
{ title: "Stylistic Set 12", value: "'ss12' 1" },
|
|
251
|
+
{ title: "Stylistic Set 13", value: "'ss13' 1" },
|
|
252
|
+
{ title: "Stylistic Set 14", value: "'ss14' 1" },
|
|
253
|
+
{ title: "Stylistic Set 15", value: "'ss15' 1" },
|
|
254
|
+
{ title: "Stylistic Set 16", value: "'ss16' 1" },
|
|
255
|
+
{ title: "Stylistic Set 17", value: "'ss17' 1" },
|
|
256
|
+
{ title: "Stylistic Set 18", value: "'ss18' 1" },
|
|
257
|
+
{ title: "Stylistic Set 19", value: "'ss19' 1" },
|
|
258
|
+
{ title: "Stylistic Set 20", value: "'ss20' 1" }
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
type: 'string',
|
|
264
|
+
title: 'Specialty CSS Implementation (for multi OT feautes)',
|
|
265
|
+
name: 'specialtyCss',
|
|
266
|
+
placeholder: "'c2sc' 1, 'ss02' 1"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
type: 'boolean',
|
|
270
|
+
title: 'Disable Ligatures on default',
|
|
271
|
+
name: 'ligatures',
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
type: 'boolean',
|
|
275
|
+
title: 'Disable Contextual Alternates on default',
|
|
276
|
+
name: 'calt',
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
type: 'boolean',
|
|
280
|
+
title: 'Only Applies to Italics',
|
|
281
|
+
name: 'italics',
|
|
282
|
+
},
|
|
283
|
+
],
|
|
284
|
+
preview: {
|
|
285
|
+
select: {
|
|
286
|
+
title: 'title',
|
|
287
|
+
subtitle: 'content'
|
|
288
|
+
},
|
|
289
|
+
prepare(selection) {
|
|
290
|
+
const {title, subtitle} = selection;
|
|
291
|
+
return {
|
|
292
|
+
subtitle: subtitle,
|
|
293
|
+
title: title
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
]
|
|
301
|
+
};
|