Any danger in a bottom and a top zone overlapping?

By definition, zones cannot overlap, and the distance between any two zones must be at least 1 + 2 * BlueFuzz.
What are the threats posed by a top zone (e.g. smcp) overlapping with a bottom zone (e.g. a zone for the tittle and the droplet terminal of f, if that is even a thing)?


  • I think the thing to remember is that there are many different renderers out there. PostScript hints are not very deterministic at the best of times, so if you violate the spec hope to know what will happen, IMO, you are just asking for unpredictable results.

    Plus, you need a tool that will allow this. No doubt some will, but some will doubtless not allow you to set such a conflict in the first place.

    Assuming you do it? I don’t know, but I assume that the results will likely vary by rasterizer. Likely options include:
    • use one and ignore the other
    • try to use both zones, with potentially bad/confusing results
    • ignore both conflicting blue zones
    • ignore all blue zones
    Less likely options:
    • ignore all hints in the fonts
    • reject the font as invalid

    In your particular case, I am not sure I see why "the tittle and the droplet terminal of the f" would even be an appropriate candidate to get a blue zone. Is it that you hope that the bottom of the tittle would get rounded up to the f terminal position? I suppose I can see why that might be vaguely nice to have, but hardly critical. I would omit that zone before I would try to violate the spec.

    I also think that if you really want that level of hinting control, you ought to be working with TrueType outlines and using manual hinting.
  • Adam JagoszAdam Jagosz Posts: 685
    edited December 2019
    Thanks for the insights.
    Regarding these experiments, I wanted to lift up the tittle and f’s finial to preserve the whitespace at all sizes. It’s a very fat display typeface, so the appearance of the smaller sizes didn't matter to me all that much, but I wanted to get it as good as it gets. Even after I lifted the outlines a bit to make the job easier (and so that the zones didn't have to overlap), the trick only worked at some sizes, while at others it did nothing (the tittle still stuck to the stem), and at others still, it overdid the job and the tittle soared too high. All these sizes with different behaviors were mixed up, obviously.
    The critical thing is that making any zone too great limits the maximum effective value of BlueScale, which was bad, as I wanted it quite big.
    I wish whitespace hints were a thing.
  • Well, whitespace hints are a thing ... in manual TrueType hinting.

    But also, hinting (PS or TT) does not affect all environments. Apple rendering ignores the font’s built-in hinting at all but microscopic sizes. (I gather Android can do this too, depending on the vendor and/or user’s choices.)
  • Viktor RubenkoViktor Rubenko Posts: 119
    edited December 2019
    For fat typefaces PS hints are pretty useless on small sizes. And it will be dropped by Mac render anyway, as Thomas said. If you want to make it readable on Windows, TT hinting is your choise, with it you can move every pixel as you wish.
  • Adam JagoszAdam Jagosz Posts: 685
    edited December 2019
    My (possibly misguided) impression is that TT hinting is a lot of labor which is only worth it for text faces. And from what I've tried for this project: though PS doesn't get much better, it starts off reasonably good (unless you start with screwed-up zones and other blues, like I did, which might be why I got all excited about it, I found it anything but useless). Meanwhile with TT you can get anywhere you want (or so I've heard), but it starts off terrible (at least using FontLab, I didn't try to use TTFAutohint externally yet). I have yet to read through some tutorials again though, but maybe for another project.
  • FontLab VI and 7 have options to use TTFautohint, built-in.
    Or FontLab's own auto-hinter.
    Or manual TT hinting.

    I find manual TT hinting kind of fun, but a bit time-consuming.
Sign In or Register to comment.