Naming the Alignment Zones


#1

Is there a way to add a name/label to the Alignment Zones (in Font Info tab and perhaps also the glyph edit window).
Also how can the Alignment Zone viewing be made bigger so all the added zones can be seen without scrolling up/down.


#2

Currently only TT Zones can be named. We have some improvements for zone management in the pipeline, but it may take a little while still.


#3

Back to paper then :wink:


#4

Does Glyphs let me add as many zones as I wish or does it stop me after the limit stated in the PS spec?
I have the impression I can add more zones in FontLab than I can in Glyphs – is that right?


#5

FontLab lets me set 7 Primary and 5 Secondary


#6

Glyphs doc suggests 5 top and 6 bottom zones


#7

Primary are top zones plus baseline zone. Secondary are all other bottom zones. I tried to simplify the terminology a bit. The distinction between primary and secondary is unnecessary in the user interface. There is still a difference of one though. I’ll have a look in the Adobe specs.


#8

My understanding of the Type 1 spec on alignment zones – BlueValues and OtherBlues – is that the correct total is 12;
7 BlueValues and 5 OtherBlues. In the 7 BlueValues, 6 are top zones and 1 is the baseline zone; in the 5 OtherBlues, they are bottom zones only, usually below the baseline although some values may describe bottom zones such as for superiors and ordinals.


#9

When setting Alignment Zones in Glyphs I need to set a position and a size.
If the zone is above the baseline (so a positive number) it is the base of the zone and the size is a positive number (i.e. 700 position 15 size).
If the zone is the baseline zone it is zero position and a negative size (i.e. 0 position -15 size)
If the zone is below the baseline (such as a descender) then the position is the TOP of the zone with the size is a negative number running down from it (i.e. -180 position -15 size)
Is that right?


#10

The -15 should be -195.


#11

No, he meant: zero=position, -15=size.

The position does not matter. It can be positive and below the baseline, or negative above the baseline. (The only exception is the baseline zone, which must be at zero and must be negative in size.)

Wait a minute, you are right, the position does matter. I had this wrong. Apparently you cannot have negative zones above the baseline according to the spec. Will look into it and post again.


#12

That’s how FontLab does it – specifically describing the extremes of the zone.


#13

Opening an OTF in Glyphs and examining what Glyphs does to the Alignment Zones shows positive above and double negative below. Which would suggest that the position of the below zone is the top and the size falls a negative amount below it. I’ve not had to think about it in FL. Brain started to ache today (good sign :slight_smile:

Though also I do see positive position above baseline with a negative number for the zone size. Hence my question on how should it be inputted/described manually.


#14

All you need to understand in Glyphs is the direction and position (the ‘flat edge’). See here: https://glyphsapp.com/tutorials/hinting-postscript-autohinting


#15

OK :slight_smile: cheers!


#16

He wrote -180 for position, not zero. He was referring to a descender.


#17

George, I was just showing 3 zones one somewhere above the baseline, one at the baseline and one somewhere below the baseline.


#18

Correct; on the second one you wrote -180 for position, -15 size. The size should be expressed as an ascending value, in this case -195. It cannot be less than the previous entry.


#19

Glyphs’ fields are position and size, not position and position


#20

OK, from the Adobe TechNote about PostScript Type 1, p.38:

The optional OtherBlues entry in the Private dictionary is associated with an array of pairs of integers similar to the BlueValues array. However, the OtherBlues array describes bottom-zones only. For example, these may include: descender-depth overshoot position and descender-depth, superior baseline overshoot position and superior baseline, and ordinal baseline overshoot position and ordinal baseline. Up to five pairs (10 integers) may be specified in the OtherBlues array. Numbers in a pair must be in ascending order, with the same restriction on the maximum difference in a pair. Pairs must be at least 3 units apart from all other pairs, including those in the BlueValues array. (This minimum distance can be modified by the optional BlueFuzz entry in the Private dictionary.)

So, I was right after all; the position does not matter. A bottom zone can also be above the baseline. (That is wrongly stated in Fonts & Encodings, p.509, hence my confusion now.) You can have 5 OtherBlues bottom zones plus the baseline zone, which counts among the BlueZones. IOW you can have up to 6 bottom zones, but one of them MUST be the baseline zone. And on p.23 it says:

  • The baseline is the y coordinate of the typographic baseline of the font (the line on which most flat characters sit). The baseline is typically zero.

It seems that theoretically the baseline can also be somewhere else. I do not recommend it though, because I bet a lot of software assumes the baseline at zero.

On p. 37 of the tech note, Adobe says about the BlueZones:

  • All subsequent pairs describe top-zones, that is, alignment zones for the tops of character features, for example, x-height and x-height overshoot position, ascender-height and ascender-height overshoot position, cap-height and cap- height overshoot position, figure-height and figure-height overshoot position.

  • Up to seven pairs may be given in the BlueValues array; the first pair must be the baseline pair.

IOW that leaves a maximum of six top zones.