Multiple master/Designspace design workflow

Nikolaus Waxweiler
Nikolaus Waxweiler Posts: 31
edited November 2017 in Technique and Theory
Hey Typedrawers,
I recently discovered fontmake and .designspace files. I want to port Cantarell, a font family I maintain (really only a regular and a bold face), from FontForge sources to UFO plus .designspace, I'd also love to expand the weight axis from thin to black and maybe introduce more axes in the future, like width. I want to be able to generate a variable font as well as traditional instances.

My first impulse was to save effort by going for a thin and a black master and interpolating between them. That is what Source Sans Pro seems to do, a big influence on my work. However, http://designwithfontforge.com/en-US/Bold_and_Other_Weights.html warns:
By this logic, it may seem like the best and most efficient way of making a regular weight and all the other weights you may need, would be to make a very thin and a hyper-bold font, then generate everything you need from these. However, the result of that approach is likely to be excessively bland. Instead, it is often the case that each significant change in weight will require its own master design from which other middle weights can be made.
Adobe's variable font prototype conspicuously uses a near-regular master near the regular instance for unexplained reasons: https://github.com/adobe-fonts/adobe-variable-font-prototype/tree/master/DesignSpaceNotes.

So, I wonder:
  1. How do you approach designing a new family that spans one (weight) or possibly more axes? Especially if you also target variable fonts?
  2. Given that the regular face is going to be the most used one, does it makes sense to take that as the starting (intermediate) master and add the ends of the other axes on top?
  3. Is it feasible to add an axis like width later on?
Tagged:

Comments

  • Thomas Phinney
    Thomas Phinney Posts: 2,896
    1) Well, first I will note that for me, if I am doing axis-based design, also targeting variable fonts doesn't make much difference. Variable Fonts have all sorts of capabilities for additional masters or even glyph-specific tweaks to the design space that allow all the same kinds of compensations that one might have made when using axis-based fonts as an upstream source for a large family of fonts.

    I'm confused by the fact that you talk about designing a new family in your point #1, but you've also said you are porting Cantarell. This seems contradictory. But it's late at night, so I may be missing something.  :)

    But in any case, there is not in general anything inherently massively different about doing axis-based design than just doing design. Mind you, I may have trouble seeing what you might see as differences, because it wouldn't occur to me to NOT do axis-based design if I have at least two weights. Seriously, if I am doing more than one weight of a typeface, I would do a weight axis. If I need a slightly bolder and slightly wider variant of a font, I build a variant with weight and width axes and twiddle the values until they work best. Axis-based fonts are just a basic part of 90% of my type design, and have been for 20 years.

    2) In your case, two considerations regarding making the regular weight a master, and having lighter and bolder masters as well:
    • you are mostly focused on web fonts and size matters. Consider that more masters means a bigger final font file.
    • I do not know how much you care about compatibility with the existing non-variable version of Cantarell. If it is important that the new variable version be pretty close, you might need an intermediate master.
    3) Yes, you can add a width axis later on. BUT, first we need to know: Will you need the later version with the added width axis to be highly compatible in design with the version you create now, without the width axis? Do you need that final version to still be hightly compatible with the original Cantarell?

    If you need compatibility between the width-axis font and the later two-axis version, and you aren't constrained by compatibility with the existing Cantarell, then shipping the one-axis version first will put some constraints on the later two-axis version that you would not otherwise have. That would seem like a less than ideal situation, to me.
  • James Puckett
    James Puckett Posts: 1,998
    Read this ebook from Adobe. It’s old, but much of the content remains relevant: https://www-cdf.fnal.gov/offline/PostScript/5091.Design_MM_Fonts.pdf
  • Nikolaus Waxweiler
    Nikolaus Waxweiler Posts: 31
    edited June 2017
    @James Puckett: Thanks :)

    @Thomas Phinney: It was late at night for me, too, so I probably was confused and confusing.

    1) I probably worded this wrong. I basically wonder how to most efficiently redo Cantarell, since it wasn't made with axis design in mind and the two faces evolved differently. My previous work hasn't helped compatibility because I was not really aware of axis design before (just the results) and FontForge's multiple master functionality sadly has been broken for years it seems.

    I was unsure on how to start when I read the warning I quoted. Do I start from two masters on an axis or do I start with a regular master to optimize the common case and add the extremes? Does this even make a difference or at least sense? What if I want to add more axes, does one approach make this easier than another? Is there a difference between Adobe's Multiple Masters and a .designspace that warrants a different approach to axis design?

    Source Sans Pro went for the two-masters approach, Adobe's variable font prototype uses an intermediate master and I don't know why.

    2) and 3) Compatibility is unimportant and size doesn't worry me much. The version on Google Fonts is completely out of date and design compared with what ships in GNOME. Also, the maintainer of the Cantarell package in a widely used Linux distribution at some point notified me that he shipped a modified version of my generated oblique because the version of FontForge he had available in the distro didn't run the script I was using, so he just... went with something else, who cares :#
  • Thomas Phinney
    Thomas Phinney Posts: 2,896
    Given the design of Cantarell, you can go as light as you like, and a step or two bolder, before you start to need to do anything special for optical compensations with an extra master. At first it would just be for a few glyphs such as a and e. If you go a lot bolder, you'd need to do a whole master.

    You should try starting with keeping the Regular as a master, and doing the lightest and boldest weights. Then see how different it looks (and whether it's a problem) if you drop the Regular master.

    That said, in general I would just use two masters, and do corrections at the heaviest end as needed (per Georg's comments). The reason being that for further development, changes and extension, it's just a lot less work if you have two masters instead of three.

    And as a bonus, the final file size would be smaller. I know you say that's not a priority, but it can't be a *bad* thing, right?  :)
  • Alright, thanks for your input! I will keep experimenting :) And yes, I'll take all bonuses that come my way ;)
  • Ben Blom
    Ben Blom Posts: 250

    2. Given that the regular face is going to be the most used one, does it makes sense to take that as the starting (intermediate) master and add the ends of the other axes on top? ---> Yes.

    3. Is it feasible to add an axis like width later on? ---> Yes.

    From a designer’s perspective, I do not understand how people really can design a font family by only designing the extremes (like the lightest weight and the heaviest weight, or the narrowest width and the widest width). For me, the real design, the “soul” of the design, is in the “middle” weight. So the extremes cannot be more than just “derivatives” of the “middle” weight. The design of the “middle” weight, should be the source of the design of the other weights—not the other way round.

    So for me, designing a font family always starts with the designing of the “middle” weight (usually the Medium). Only after the design of the “middle” weight has been crystallized into its (near) final form, I start with the lightest weight. The lightest weight “lives in a completely different world” than the “middle” weight. The challenge is to get the lightest weight as similar as possible to the “middle” weight. Because the “rules” for the lightest weight fonts differ from the “rules” for the “middle” weight fonts, real similarity is impossible—so a part of the design of the “middle” weight gets lost in the lightest weight.

    Only after the design of the lightest weight has been crystallized into its (near) final form, I start with the heaviest weight. The heaviest weight “lives in a completely different world” than the “middle” weight. The challenge is to get the heaviest weight as similar as possible to the “middle” weight. Because the “rules” for the heaviest weight fonts differ from the “rules” for the “middle” weight fonts, real similarity is impossible—so a part of the design of the “middle” weight gets lost in the heaviest weight.

    If the font family should contain narrower and wider fonts, the design logic for these narrower and wider fonts is similar. Narrowest fonts are designed as a “derivative” of the “middle” width (= lightest weight; “middle” weight; heaviest weight). Widest fonts are also designed as a “derivative” of the “middle” width.

    All these designed fonts are considered to be master fonts—to be used for the creation of intermediate fonts. My Aspira font family has been designed in this way, and has the following nine upright masters: XXXNar Thin, XXXNar Medium, XXXNar Black, Thin, Medium, Black, XWide Thin, XWide Medium, XWide Black.

  • I usually do only the extremes but thar doesn't mean that I don't design/draw the regular carefully. Just not by moving the handles directly but by adjusting the extremes. It is a bit like puppeteering but for me the advantages of having less masters to is more important. And if I can’t get the shape right in some glyphs, I still can add an extra master for that glyph. 
  • Ben Blom
    Ben Blom Posts: 250
    edited June 2017

    Of course, all masters/fonts of a font family, should be designed/drawn carefully—whatever design approach is chosen.

    Designing a font by designing two other fonts, is counter-intuitive—and for a good reason. Designing the “middle” font as a “puppeteer”, by (re)designing two extreme fonts, does not give the same degree of freedom, the same unhindered focus, as directly designing the “middle” font. The bigger the (weight, or width, or ...) distance is between those extremes, the harder it will get to “puppeteer-design” a decent derivative “middle” font. Having less masters may be technically advantageous, but at the cost of the design quality of the “middle” font. I would say: the most important “area” of a font family, the “middle”, should not be “designed” as an afterthought.

    The Multiple Master approach is an approach of designing a font family by designing its extremes—which is a weakness. The Variable Font approach is an approach that expressly supports designing a font family from the “middle”.

  • Chris D
    Chris D Posts: 76
    edited June 2017
    For me, I'm all about getting the Regular right first. That's my source for lights and heavies. I figure that Regular will get the most usage (followed by bold / reg italic) so they should get the most scrutiny.

    And if you design your font using morphing component pieces (like you can in Glyphs) it's pretty easy to recycle and adapt weights anyhow.
  • The Multiple Master approach is an approach of designing a font family by designing its extremes—which is a weakness. The Variable Font approach is an approach that expressly supports designing a font family from the “middle”.

    This is something I wondered about in my original question. Do variable fonts change the design game in any way? Can I make a regular middle and design a thin, black, condensed and wide version of that middle and interpolate to a thin condensed?

  • Ben Blom
    Ben Blom Posts: 250
    edited June 2017
    The choice of the design approach of a font family—“designing from the extremes” or “designing from the middle”—is not determined by the Variable Font technology. Both these design approaches can be implemented with existing tools unrelated to Variable Font technology.

    The table below shows the upright fonts of Aspira. In it, the yellow marked fonts are master fonts, and all the other fonts are fonts which are created by interpolation. If the “XXXNar Thin” font would be missing, it would not be possible to create it by interpolating from the “XXXNar Medium” font and the “Thin” font.



    In this table, designing the narrowest fonts as a “derivative” of the “middle” width, means: designing “XXXNar Thin” from “Thin”, “XXXNar Medium” from “Medium”, and “XXXNar Black” from “Black”. Designing the widest fonts as a “derivative” of the “middle” width, means: designing “XWide Thin” from “Thin”, “XWide Medium” from “Medium”, and “XWide Black” from “Black”.
  • Dave Crossland
    Dave Crossland Posts: 1,431
    Nikolaus, take a look at Amstelvar to how the game has changed :)
  • Designing a font by designing two other fonts, is counter-intuitive—and for a good reason. Designing the “middle” font as a “puppeteer”, by (re)designing two extreme fonts, does not give the same degree of freedom, the same unhindered focus, as directly designing the “middle” font. 
    I think that really depends on the design. For me it worked fine.

    If the “XXXNar Thin” font would be missing, it would not be possible to create it by interpolating from the “XXXNar Medium” font and the “Thin” font.
    There is no technical reason to have a “XXXNar Thin” (neither in a font editor nor in variation fonts. It can be extrapolated from the Medium, Thin and XXXNar Medium. But that doesn't mean that the result will be any good, but it might be (again, depending on the design).
  • Ray Larabie
    Ray Larabie Posts: 1,435
    If you need to bulk up two weights above your heaviest interpolated weight, it can be quicker to export the boldest instance, create your heaviest weight then use FontLab's blend tool to generate the intermediate weight and then manually clean up the mess. That way you're free of the restraints of whatever mechanisms were necessary to interpolate to the lightest weight.
  • The user and all related content has been deleted.
  • Ben Blom
    Ben Blom Posts: 250

    Interpolation is not the same as extrapolation. In general, the result of interpolation is good/final—and the result of extrapolation demands work to get something usable.

    There is no technical reason to have a “XXXNar Thin” (...). It can be extrapolated from the Medium, Thin and XXXNar Medium. But that doesn’t mean that the result will be any good, but it might be (again, depending on the design).

    Indeed. There is no technical reason to have any font other than the Medium as a master font, because all those other fonts can be “extrapolated” from the Medium. But that doesn’t mean that the results of such “extrapolations” will be any good.

    Initially, all master fonts in my example above, except for the Medium, have been “extrapolated in some way or another, directly or indirectly”, from the Medium. The result of such an “extrapolation”, is the starting point of the designing of the master involved. Sometimes this designing is a lot of work, sometimes it is not.

  • Thomas Phinney
    Thomas Phinney Posts: 2,896
    I'll just note that while not often done, Multiple Master as a format allowed intermediate masters and did not require masters in the corners of the design space, as well as glyph-specific design shifts in the space.

    But as usually implemented, it did require these things.  :p

    While I wouldn't say that Ben is "wrong," I would say that my experiences and results tend to lead me closer to Georg's line of thinking.
  • Ben Blom
    Ben Blom Posts: 250
    edited June 2017
    If you need two or three masters on the weight axis depends on the design of the font. So you can try to use only two, interpolate the instances and see if you like the result. If not, you add the Regular in the middle.

    This description of a “designing from the extremes” approach, can be “mirrored” to a description of a “designing from the middle” approach. If you design “from the middle”, you will initially end up with three masters on the weight axis. If having less masters is very important, and if the design of the font lends itself to it (e.g. the distance between the extremes is relatively small), and if you don’t mind a possible loss of quality, then you can remove the intermediate master.

    However, I am not sure whether such a removal of the intermediate master, will lead to a significant reduction in file size—if the font family is implemented as a variable font. What is, in the context of a variable font, the added value of removing an intermediate master?

  • Chris Lozos
    Chris Lozos Posts: 1,458
    There is a difference between designing for most expediency [two extreme masters} and designing for form [sequence of masters as suits the form].  If you are only making a few weights, it is not as much of a problem but if you are doing many and pushing extremes to limits, you can make a mess with only 2 masters.  Ben is right when it comes to the differences between design and form constraints as you go to the extremes. Interpolation is a tool, not a stone cast must.  It certainly saves time but always needs correction.
  • Ben Blom
    Ben Blom Posts: 250

    When considering saving time, one might wonder: What is more work, designing two masters for an axis, or designing three? It may be obvious that the answer is “two”—but is it, really? Is it less work (1) to design two very different extreme masters, or (2) to design first a “middle” master and then to “derive-design” from it two extreme masters which are not that different from it?

    The answer to this may depend on the availability and sophistication of tools which can create the first, “raw” version of a new master—based on just a single existing master. (Many current tools require two masters.) Such a tool may be more successful in creating the first, “raw” version of a new extreme master, when starting from the “middle”—compared to creating an extreme master from its opposite extreme master (because, when starting from the “middle”, it has to cover a smaller distance). Although such a tool only assists with the design of a new master, it may significantly speed up the design process.

    Example of a not yet published tool that requires only one master: “https://youtu.be/uOsYMctPRNg”. (I don’t know to what extent this tool can be used, not only for single glyphs, but also for a category of glyphs or a complete font.)