|
1 | 1 | {
|
| 2 | + "configuration": { |
| 3 | + "comment": "This is a basic configuration file for using with the Shaping profile.", |
| 4 | + "comment2": "It contains examples of text shaping tests that can be used for validating", |
| 5 | + "comment3": "that a font's OpenType layout features work as expected. A configuration", |
| 6 | + "comment4": "file of this kind can also be assembled to represent a snapshot of a font's", |
| 7 | + "comment5": "OpenType layout functionality, and be used to test if any changes occur", |
| 8 | + "comment6": "whenever a new version of the font is produced.", |
| 9 | + "comment7": "At a minimum, this file must contain a key named 'tests' whose value", |
| 10 | + "comment8": "is an array of test blocks. Each of these blocks must include at least", |
| 11 | + "comment9": "two keys named 'input' and 'expectation'.", |
| 12 | + "comment10": "These comments as well as the whole 'configuration' block are not required", |
| 13 | + "comment11": "for running the text shaping tests and can be removed." |
| 14 | + }, |
2 | 15 | "tests": [
|
3 | 16 | {
|
| 17 | + "comment": "A simple test using only glyph names (without positions)", |
4 | 18 | "input": "fi",
|
5 |
| - "expectation": "f_i", |
6 |
| - "comment": "A simple test with only glyph names, not positions" |
| 19 | + "expectation": "f_i" |
7 | 20 | },
|
8 | 21 | {
|
| 22 | + "comment": "Expected positions may be specified using Harfbuzz's hb-shape syntax", |
| 23 | + "comment2": "(see https://harfbuzz.github.io/utilities.html#utilities-command-line-hbshape)", |
| 24 | + "input": "AVḲ", |
| 25 | + "expectation": "A=0+679|V=1+676|K=2+707|dotbelowcomb.case=2@-250,0+0" |
| 26 | + }, |
| 27 | + { |
| 28 | + "comment": "Depending on your platform, the subshapers supported by", |
| 29 | + "comment2": "'uharfbuzz' may be invoked using the 'shaper' key.", |
| 30 | + "comment3": "'directwrite' and 'uniscribe' are available on Windows,", |
| 31 | + "comment4": "and 'coretext' is available on macOS", |
| 32 | + "input": "AVḲ", |
| 33 | + "shaper": "coretext", |
| 34 | + "expectation": "A=0+679|V=1+676|K=2+707|dotbelowcomb.case=2@-250,0+0" |
| 35 | + }, |
| 36 | + { |
| 37 | + "comment": "Features may be specified using the 'features' key", |
| 38 | + "comment2": "(see https://learn.microsoft.com/typography/opentype/spec/featurelist)", |
9 | 39 | "input": "pi",
|
10 | 40 | "features": { "smcp": true },
|
11 |
| - "expectation": "p.sc|i.sc", |
12 |
| - "comment": "Features may be specified using the features key" |
| 41 | + "expectation": "p.sc|i.sc" |
13 | 42 | },
|
14 | 43 | {
|
| 44 | + "comment": "Languages may be specified using the 'language' key", |
| 45 | + "comment2": "(see https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)", |
| 46 | + "comment3": "It's also possible to specify the 'script'", |
| 47 | + "comment4": "(see https://learn.microsoft.com/typography/opentype/spec/scripttags)", |
| 48 | + "comment5": "and the 'direction'; supported values are 'LTR' (left-to-right),", |
| 49 | + "comment6": "'RTL' (right-to-left), 'TTB' (top-to-bottom), and 'BTT'.", |
15 | 50 | "input": "pi",
|
16 | 51 | "features": { "smcp": true },
|
17 | 52 | "language": "tr",
|
18 |
| - "expectation": "p.sc|i.sc.loclTRK", |
19 |
| - "comment": "Languages may be specified using the language key" |
20 |
| - }, |
21 |
| - { |
22 |
| - "input": "AVḲ", |
23 |
| - "expectation": "A=0+679|V=1+676|K=2+707|dotbelowcomb.case=2@-250,0+0", |
24 |
| - "comment": "Expected positions may be specified using Harfbuzz hb-shape syntax" |
25 |
| - }, |
26 |
| - { |
27 |
| - "input": "AVḲ", |
28 |
| - "expectation": "A=0+679|V=1+676|K=2+707|dotbelowcomb.case=2@-250,0+0", |
29 |
| - "shaper": "coretext", |
30 |
| - "comment": "If your uharfbuzz is compiled with other subshapers, these can be accessed through the shaper key." |
| 53 | + "expectation": "p.sc|i.sc.loclTRK" |
31 | 54 | }
|
32 | 55 | ]
|
33 | 56 | }
|
0 commit comments