Vertical Metrics - AmIright?

Jason CampbellJason Campbell Posts: 97
edited February 2013 in Technique and Theory
So I've been struggling against versus vertical metrics issues for what seems like my entire career. So since you all know what you're talking about, I wanted to double check that one assumption I make is correct.
In OpenType fonts we've got 3 sets of places to set the ascent and descent (and sometimes linegap), not counting the Ymin and Ymax reported. From what I've seen many applications/programs/systems use one set of these values to space type, but they use the chosen set to set line to line distance as well as the clipping zone. Doesn't this not make sense? It seem that the clipping zone should be set from the Ymax and Ymin values, while the Ascent and Descent values ahould be used for line to line distance.

If that doesn't make sense, picture a block of three lines of text set in Upper and lower case. If for some reason in your font you have an accented lower case character that's exceptionally high, that raises the Ymax considerably. But you might not want to set the ascent to the same value, as the odds of that character appearing directly below a descender are slim. So you've set the ascent to something more reasonable. But you wouldn't want that tall glyph to be cut off if it appeared on the first line of your text block. So in that case, the first line should be placed based on the Ymax in the font, but the following lines should be placed based on the Ascent+descent.

It seems like I've seen the metrics values used for both too often. I should note that there is another way to identify the clipping zone, by using the cached values in the VDMX table. This obviously works well if the calculating and caching program is good, but isn't used often.


  • Nick ShinnNick Shinn Posts: 1,273
    It’s also a good idea to consider the Font BBox metrics, and standardize the vertical values in a type family.

    As I understand it, some layout apps will use the top vertical value to position type in a text box, rather than anything else.

    I've found this to be a problem in newspaper systems.
  • @Matthew: I know, I'm familiar with that. My complaint is more the use of them in applications.

    @Nick, I actually agree with using the BBox limits to position the first line, that's a good way to prevent clipping. But getting them the same across families is a good point.

    OK, this was really just a rant, and probably directed to the wrong audience. Please continue... ;)
Sign In or Register to comment.