Hi,
I'm currently studying about parametric fonts and interpolated fonts, and there's something that I can't quite understand. In his article, James Shimada (2006*) says that Multiple Master and TrueType GX fonts are a form of parameterized outlines. These are the same as parametric fonts?
Parametric fonts are a sort of automated design, but can be Multiple Master and TrueType GX parametric fonts either?
Thank you
*
https://courses.cs.washington.edu/courses/csep590/06au/projects/font-wars.pdf
Comments
An individual parametric font is a font which can be varied within some parameters. Although no doubt some day the design portion will be automated, today there is still actual design done by a human to create each parameterized font.
In some parametric technologies (for example, Font Chameleon), an individual font once set up can then be varied even in ways beyond what the designer explicitly dealt with in detail. But even then it is only because that capability was baked in from the beginning. In most parametric technologies, the designer has to explicitly create each design axis. (Yes, slight simplification. One can for instance use a weight axis plus anisotropic interpolation to create a first draft of a width or contrast axis. But most axes are not so easy to get to—and even when they are, they usually need fixing after the initial creation.)
Depending on the model, it is sometimes possible (for example in GX and OpenType Variations) to have axes that interact beyond what the designer has explicitly explored and controlled. However, absent great care by the designer, this may result in corners of the design space that have... problems.
I have worked a fair bit with parametric fonts, going back to my Master’s thesis in this area twenty years ago. Currently wrestling with a five-axis parametric font. It is simultaneously fun and painful!
GX and OpenType Font Variations are both hint-based, right? The designer designs a single master and establishes a maximum value for point positions and then the values are interpolated to get instances. How can the designer have axes that interact beyond what he has explicitly explored and controlled?
Most parametric font technologies don't really abstract a whole lot of font things as parameters without also having some more concrete handling of font outlines as vectors, which at least some of the time is in effect using interpolation.
Sure, the reality is that GX/OTvar is all vector addition, with appropriate weighting factors. But that is hard for most of us to wrap our brains around. So I like to talk about interpolation in those situations where the two are synonymous.
So what that means is that in GX/OTvar, if I design a regular master in the middle, and also:
- Condensed
- Expanded
- Thin
- Black
... then a “black condensed” can be created by vector addition. You could call it extrapolation, but it is within the design space defined by the black and condensed masters.
As for what I mean by the designer not having explicitly explored/controlled... maybe they didn’t test every single glyph carefully in every corner of the design space. Let's say the x-direction width of the top counter of the three.sups glyph (superscript 3) is 100 in the regular, 45 in the black (a -55 delta), and 40 in the condensed (a -60 delta). How wide will that counter be in a black condensed style formed by the vector addition? Well, 100-55-40... = -15. So, it will have turned inside out and there won’t be a counter. Oops.
Now, with just two axes, probably the designer will have seen and tested all four corners of the design space. But what if, as I am right now, the designer is working in a five-axis design space? That's like a 5-d hyper-hyper-cube, and has 32 corners. That is an awful lot of testing. Good chance something could be missed.
A couple of side notes on wording:
I am not clear on what you mean by “hint-based” but I am pretty sure it has little to do with hints as I know them. Hints are a nice feature in variable fonts, but have the same effects they do in non-variable fonts—they do not drive the technology, nor are a critical part of any parametric font technology that I know of. In theory, they could have been at one time. People might have even written about the idea, 20 years ago. But the use of hint information by rendering systems has become massively variable due to advances in, and differences between, rendering systems. So I think opportunities in that area are mostly gone.
Also, the actual title of this thread seems like it might reflect a different usage or understanding of the main words involved: “Parametric vs Interpolated fonts.” Interpolation is one type of parametric font capability: interpolated fonts are a subset of parametric fonts. Not so much a “versus” situation, to me.
"(...) Our initial attempts to create variations from a default font were to use the TrueType instructions themselves. The thinking was that most of the features we wanted to vary between (a Regular and a Bold, or a Regular and a Condensed) were captured in the instructions that controlled elements like stem weights, serif lengths and thickness, heights and alignments, and so on. But while we could create variants that looked bolder, or more condensed, the designers among us always wanted to tweak something in the shape in a way that the basic TrueType instructions did not allow. Then Mike considered the Delta instruction. (...)" Tom Rickner, 2016*a
and in the conference he gave in Typo Berlin, he said:
"We tried to create Times Bold out of the Roman. And we tried to do this with hints, with instructions. So, code. We are not drawing this. We are trying to describe the changes in certain parameters.” Tom Rickner, 2016*b (This was one of the things that confused me with parametric fonts)
So, if I understood correctly, first, they started using the hints and then considered the delta instruction that move points in any direction (not just x or y) with vectors. But isn't the delta instruction considered a hint?
So:
- Besides the master, that needs to have complete outline data, the designer has to provide the extreme values, and then the values are interpolated.
- And if the designer needs a black condensed, values from the master, the black and condensed versions are interpolated.
I'm correct?
And is the same process in GX and OTVar?
*a https://www.monotype.com/resources/articles/part-1-from-truetype-gx-to-variable-fonts/
*b https://www.typotalks.com/videos/truetype-variations-past-present-and-future/
What I understand Tom Rickner as saying was that they tried doing other font styling changes (e.g. weight) with hints, but did not get results they were happy enough with. Again, this was 20+ years ago.
As I said above, since modern rasterizers do things such as selectively ignoring all hints in one direction (some versions of ClearType), or ignoring all hints whatsoever (Apple at most sizes), using hinting to achieve font variation is not a viable solution today, and hasn't been for ~20 years.
Yes, delta hints are a form of hinting.
There needs to be one master that has complete outline data. From a design perspective, other masters are also handled as outline data. From a data storage perspective, they are done by means of deltas to the default master.
Values may be either interpolated, or determined by vector addition; see below.
I would have thought that is not interpolation, but vector addition. Certainly in this example, the black condensed is not in between the other masters.
I didn't find any visual software to do these fonts (MM and TTVariations). To create interpolation between masters, exist softwares like Superpolator, MutatorMath, etc, and actually font editing softwares like Glyphs and Robofont also allows interpolation between masters.
MM and TTVariations had some visual software to create the variations?
I am not sure which you mean when you say TTVariations.
The TrueType flavor of OT Variations are supported by FontLab VI and Glyphs.
GX Variations, which were generally TrueType, would have been supported by some of Apple’s old tools. They were generally command-line based and not visual, in terms of building the fonts. One would have had to test them separately from what one used to build them. (That was generally true for just about anything to do with Apple’s tool chain for fonts.)
I frequently find the two terms: TrueType GX and TrueType Variations. And that GX Fonts are not necessarily TrueType. I thought that TrueType Variations was part of TrueType GX that resulted from a combination of this variation technology with layout technology, the QuickDraw GX model.
QuickDraw GX was a page description language intended to be an alternative to PostScript that debuted along side TrueType GX.
"GX Variations" is a small subset group of all "GX Fonts." GX Fonts in general could have either TrueType or PostScript outlines. But GX Variations I think were strictly for TrueType outlines. If I recall correctly. So, TrueType Variations would be a reasonable label....
GX typography, later re-branded Apple Advanced Typography (AAT) was about a wide range of advanced typographic functionality, rather like OpenType (except initially without cross-platform font files). It took advantage of fonts with the GX tables, in either flavor.
It may be that GX Variations were re-labeled as TrueType Variations at the same time GX Typography got re-branded as AAT. Since development of the Variations fonts was pretty non-existent after that point, and the format was spottily supported, I might have missed it.
Normal TT delta instructions are a type of hinting. They are hints that are specific to a particular pixel-per-em (ppem) size or sizes or range of sizes, which move a point at that size. Some renderers or rendering modes ignore them entirely, or ignore them at normal sizes, notably Apple.
gvar deltas are essentially the mechanism for how the master designs of each glyph are stored in the variable font (whether GX or OT). Instead of storing a complete glyph in a duplicate glyph table, the gvar table stores the difference between the default version of that glyph and a particular alternative master. They do so by storing the “delta” between the point position in the default master, and the desired position in the new/current master being defined. Points that are not specified will be interpolated, so not every single point needs to be specified. All this makes for compact storage of the data.
TrueType GX fonts could be Variations fonts (with gvar table) or not.
A variable font with TT outlines, whether the old GX flavor or a new OpenType flavor, will have a gvar table. A non-variable font, including a non-variable TT GX font, will not.
Thank You
I think the little animation from Dave Crossland (davelab6) on Dec 18, 2017 in this thread shows nicely how the Berlovian approach differs from, say, a traditional x-height axis: https://github.com/Microsoft/OpenTypeDesignVariationAxisTags/issues/22
Quite separately from this, Decovar uses axes to do a bunch of independent decorative effects. This is really entirely unrelated.
I am sorry I simply don’t understand the “how is it possible” question, here.
Put most simply, the delta approach works geometrically geometrically and mathematically. You start with a point at a given coordinate. Going to the max on axis 1 might move it +50 in X and -20 in Y. And then going to the max on Axis 2 might move it -100 X and -100 Y. So going to the max on both axes would move that point -50 X and -120 Y.
If you have an x-height axis that does not affect width, and a width axis that does not affect x-height, but you then change values on both axes, then yes, both x-height and width will be affected.
Those changes are much more interactive with each other, often affecting the same points, than some of the Decovar axes—which are often doing deltas on unique points that are unaffected by other axes.
The structure is divided in two parts: skeleton and terminals. Of course as with every variable font is just not a case of fishing with the axes. There should always be weighted choices. But in Decovar its not just a case of bad choices. Some of the axes can be in conflict with each other:
This happens because the axes are not related? (i.e. It's not like when we have a weight axis that does not affect the width and width axis that does not affect the weight but when someone choose an instance somewhere in the design space, like a bold condensed, these are obtained through combined values - the associated deltas and vector addiction)
In Decovar is a bit different. The structure of the glyphs was specially created thinking in this type of singular variations and basically for each independent variation axis (Inline, Sheared, Rounded slab, etc) he has the points he needs and the associated deltas that move points through vectors. But in Decovar case, all (or a large part) of the variations are independent from each other (i.e the variations are not combined like in the bold condensed case, they are added). Am I correct?
On the plus side, masters-in-the-corners can be done with as few as n + 1 masters, where n is the number of axes. But it is much trickier to control the interactions. You cannot really, you can just limit how extreme your changes are for each master, and what they affect.
A powerful but “expensive” alternative is to use masters in the corners of the design space. This gives vastly more control over axis interactions! But the cost is in the number of masters: it requires n^2 masters.
For 3 axes it is just 4 masters vs 8. But for 4 axes it is 5 masters vs 16. With 10 axes it is 11 masters vs 1024. Clearly one of these approaches is more scalable than the other.