Add definitions for varLib-specific terms
This commit is contained in:
parent
07a5e2de62
commit
516d0f7dfe
@ -1,6 +1,93 @@
|
||||
######
|
||||
varLib
|
||||
######
|
||||
##########################
|
||||
OpenType Variation Support
|
||||
##########################
|
||||
|
||||
The `fontTools.varLib` package contains a number of classes and routines
|
||||
for handling, building and interpolating variable font data. These routines
|
||||
rely on a common set of concepts, many of which are equivalent to concepts
|
||||
in the OpenType Specification, but some of which are unique to `varLib`.
|
||||
|
||||
Terminology
|
||||
-----------
|
||||
|
||||
axis
|
||||
"A designer-determined variable in a font face design that can be used to derive multiple, variant designs within a family." (OpenType Specification)
|
||||
An axis has a minimum value, a maximum value and a default value.
|
||||
|
||||
designspace
|
||||
The n-dimensional space formed by the font's axes. (OpenType Specification
|
||||
calls this the "design-variation space")
|
||||
|
||||
scalar
|
||||
A value which is able to be varied at different points in the designspace:
|
||||
for example, the horizontal advance width of the glyph "a" is a scalar.
|
||||
However, see also *support scalar* below.
|
||||
|
||||
default location
|
||||
A point in the designspace whose coordinates are the default value of
|
||||
all axes.
|
||||
|
||||
location
|
||||
A point in the designspace, specified as a set of coordinates on one or
|
||||
more axes. In the context of ``varLib``, a location is a dictionary with
|
||||
the keys being the axis tags and the values being the coordinates on the
|
||||
respective axis. A ``varLib`` location dictionary may be "sparse", in the
|
||||
sense that axes defined in the font may be omitted from the location's
|
||||
coordinates, in which case the default value of the axis is assumed.
|
||||
For example, given a font having a ``wght`` axis ranging from 200-1000
|
||||
with default 400, and a ``wdth`` axis ranging 100-300 with default 150,
|
||||
the location ``{"wdth": 200}`` represents the point ``wght=400,wdth=200``.
|
||||
|
||||
master
|
||||
The value of a scalar at a given location. **Note that this is a
|
||||
considerably more general concept than the usual type design sense of
|
||||
the term "master".**
|
||||
|
||||
normalized location
|
||||
While the range of an axis is determined by its minimum and maximum values
|
||||
as set by the designer, locations are specified internally to the font binary
|
||||
in the range -1 to 1, with 0 being the default, -1 being the minimum and
|
||||
1 being the maximum. A normalized location is one which is scaled to the
|
||||
range (-1,1) on all of its axes. Note that as the range from minimum to
|
||||
default and from default to maximum on a given axis may differ (for
|
||||
example, given ``wght min=200 default=500 max=1000``, the difference
|
||||
between a normalized location -1 of a normalized location of 0 represents a
|
||||
difference of 300 units while the difference between a normalized location
|
||||
of 0 and a normalized location of 1 represents a difference of 700 units),
|
||||
a location is scaled by a different factor depending on whether it is above
|
||||
or below the axis' default value.
|
||||
|
||||
support
|
||||
While designers tend to think in terms of masters - that is, a precise
|
||||
location having a particular value - OpenType Variations specifies the
|
||||
variation of scalars in terms of deltas which are themselves composed of
|
||||
the combined contributions of a set of triangular regions, each having
|
||||
a contribution value of 0 at its minimum value, rising linearly to its
|
||||
full contribution at the *peak* and falling linearly to zero from the
|
||||
peak to the maximum value. The OpenType Specification calls these "regions",
|
||||
while ``varLib`` calls them "supports" (a mathematical term used in real
|
||||
analysis) and expresses them as a dictionary mapping each axis tag to a
|
||||
tuple ``(min, peak, max)``.
|
||||
|
||||
box
|
||||
`varLib` uses the term "box" to denote the minimum and maximum "corners" of
|
||||
a support, ignoring its peak value.
|
||||
|
||||
delta
|
||||
The term "delta" is used in OpenType Variations in two senses. In the
|
||||
more general sense, a delta is the difference between a scalar at a
|
||||
given location and its value at the default location. Additionally, inside
|
||||
the font, variation data is stored as a mapping between supports and deltas.
|
||||
The delta (in the first sense) is computed by summing the product of the
|
||||
delta of each support by a factor representing the support's contribution
|
||||
at this location (see "support scalar" below).
|
||||
|
||||
support scalar
|
||||
When interpolating a set of variation data, the support scalar represents
|
||||
the scalar multiplier of the support's contribution at this location. For
|
||||
example, the support scalar will be 1 at the support's peak location, and
|
||||
0 below its minimum or above its maximum.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user