forked from be5invis/Iosevka
-
Notifications
You must be signed in to change notification settings - Fork 0
/
private-build-plans.sample.toml
163 lines (130 loc) · 6.76 KB
/
private-build-plans.sample.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
### See https://github.com/be5invis/Iosevka/blob/master/doc/custom-build.md for comprehensive
### documentation of the options in this file
[buildPlans.IosevkaCustom] # <IosevkaCustom> is your plan name
family = "Iosevka Custom" # Font menu family name
spacing = "normal" # Optional; Values: `normal`, `term`, `fontconfig-mono`, or `fixed`
serifs = "sans" # Optional; Values: `sans` or `slab`
exportGlyphNames = false # Set this to true for ligature support in Kitty (increased file size)
webfontFormats = ['ttf', 'woff2']
###################################################################################################
# Configure variants
# Optional; Whether to inherit a `ss##` variant
[buildPlans.IosevkaCustom.variants]
inherits = "ss01"
# Optional; Configure single character's variant
[buildPlans.IosevkaCustom.variants.design]
g = 'single-storey-serifless'
# Optional; Configure single character's variant for Upright and Oblique; Overrides [design]
[buildPlans.IosevkaCustom.variants.upright]
i = 'zshaped'
l = 'zshaped'
# Optional; Configure single character's variant for Italic only; Overrides [design]
[buildPlans.IosevkaCustom.variants.italic]
i = 'tailed-serifed'
l = 'tailed-serifed'
# End variant section
###################################################################################################
###################################################################################################
# Configure ligations
[buildPlans.IosevkaCustom.ligations]
inherits = "default-calt" # Optional; inherits an existing ligation set
disables = [] # Optional; disable specific ligation groups, overrides inherited ligation set
enables = [] # Optional; enable specific ligation groups, overrides inherited ligation set
# End ligation section
###################################################################################################
###################################################################################################
# Override default building weights
# When buildPlans.<plan name>.weights is absent, all weights would built and mapped to
# default values.
# IMPORTANT : Currently "menu" and "css" property only support numbers between 0 and 1000.
# and "shape" properly only supports number between 100 and 900 (inclusive).
# If you decide to use custom weights you have to define all the weights you
# plan to use otherwise they will not be built.
[buildPlans.IosevkaCustom.weights.Regular]
shape = 400 # Weight for glyph shapes.
menu = 400 # Weight for the font's names.
css = 400 # Weight for webfont CSS.
[buildPlans.IosevkaCustom.weights.Book]
shape = 450
menu = 450 # Use 450 here to name the font's weight "Book"
css = 450
[buildPlans.IosevkaCustom.weights.Bold]
shape = 700
menu = 700
css = 700
# End weight section
###################################################################################################
###################################################################################################
# Override default building slope sets
# When this section is absent, all slopes would be built.
[buildPlans.IosevkaCustom.slopes.Upright]
angle = 0 # Angle in degrees. Valid range [0, 15]
shape = "upright" # Slope grade used for shape selection. `upright` | `oblique` | `italic`
menu = "upright" # Slope grade used for naming. `upright` | `oblique` | `italic`
css = "normal" # Slope grade used for webfont CSS. `normal` | `oblique` | `italic`
[buildPlans.IosevkaCustom.slopes.Oblique]
angle = 9.4
shape = "oblique"
menu = "oblique"
css = "oblique"
[buildPlans.IosevkaCustom.slopes.Italic]
angle = 9.4
shape = "italic"
menu = "italic"
css = "italic"
# End slope section
###################################################################################################
###################################################################################################
# Override default building widths
# When buildPlans.<plan name>.widths is absent, all widths would built and mapped to
# default values.
# IMPORTANT : Currently "shape" property only supports numbers between 434 and 664 (inclusive),
# while "menu" only supports integers between 1 and 9 (inclusive).
# The "shape" parameter specifies the unit width, measured in 1/1000 em. The glyphs'
# width are equal to, or a simple multiple of the unit width.
# If you decide to use custom widths you have to define all the widths you plan to use,
# otherwise they will not be built.
[buildPlans.IosevkaCustom.widths.Normal]
shape = 500 # Unit Width, measured in 1/1000 em.
menu = 5 # Width grade for the font's names.
css = "normal" # "font-stretch' property of webfont CSS.
[buildPlans.IosevkaCustom.widths.Extended]
shape = 600
menu = 7
css = "expanded"
# End width section
###################################################################################################
###################################################################################################
# Character Exclusion
# Specify character ranges in the section below to exclude certain characters from the font being
# built. Remove this section when this feature is not needed.
[buildPlans.IosevkaCustom.excludeChars]
ranges = [[10003, 10008]]
# End character exclusion
###################################################################################################
###################################################################################################
# Compatibility Ligatures
# Certain applications like Emacs does not support proper programming liagtures provided by
# OpenType, but can support ligatures provided by PUA codepoints. Therefore you can edit the
# following section to build PUA characters that are generated from the OpenType ligatures.
# Remove this section when compatibility ligatures are not needed.
[[buildPlans.IosevkaCustom.compatibilityLigatures]]
unicode = 57600 # 0xE100
featureTag = 'calt'
sequence = '<*>'
# End compatibility ligatures section
###################################################################################################
###################################################################################################
# Metric overrides
# Certain metrics like line height (leading) could be overridden in your build plan file.
# Edit the values to change the metrics. Remove this section when overriding is not needed.
[buildPlans.IosevkaCustom.metricOverride]
leading = 1250
winMetricAscenderPad = 0
winMetricDescenderPad = 0
powerlineScaleY = 1
powerlineScaleX = 1
powerlineShiftY = 0
powerlineShiftX = 0
# End metric override section
###################################################################################################