Components best practices



  • All of the documentation that I've seen for RoboFont so far has talked about components mainly in terms of using them to build accented characters. My question is whether it is generally considered useful to use them in building out the glyphs for numbers when you have multiple sets of them (i.e., "regular," tabular, subscript, superscript..., etc.)? I can't think of a reason not to, but I can also see that over dependence on components can lead to unexpected issues. Cheers


  • admin

    hello @Colo-in-NYC,

    there are many use cases for components, accented glyphs are just the most common one.

    making subscripts and superscripts using components would involve scaling, and that makes the stems thinner too – usually what you want is to reduce the size but keep the stem widths more or less the same (this also applies to small caps).

    the common solution is to combine scale with interpolation: first scale the glyphs to make them smaller, then interpolate with another master to adjust the weight (or vice-versa). you can do this using the ScaleFast extension or with the UFOstretch application, give it a try.

    hope this helps… cheers!



  • A few other potential issues:
    Path directions can change, eg flip a component horizontally
    Rounding can become an issue, especially if going small or thin
    Subsetting is a potential issue, depending on the method

    Also worth knowing that any component with a transformation (scale, rotate, flip, skew, etc) is automatically decomposed when the font is generated.