gnome-mono-font/private-build-plans.sample.toml

163 lines
6.8 KiB
TOML

### 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
###################################################################################################