Line spacing problem in Adobe Photoshop and Illustrator

telex's picture

I have 2 fonts that work together overlapped. One with letters and no dots, other with dots.
I have a problem I can't solve.
Only when I use a text box, the dots font is not matching, the linebase is different.
This happen in Photoshop and Illustrator. Works ok on InDesign.
I have the same metric values in both fonts, also the TrueType specific ones. I tried in OTF and TTf, nothing works.

Now is the weirdest thing I ever seen.
If I draw a box with the caps height in the letter «d» the font will match the line spacing. Only happen with «d» glyph. The dot font have only dots and little square inside the caps height and baseline space.

I also tried filling all the character set with my letters. It works always, excepting when i put the centered dot in «d» glyph.

Does anybody knows the origin of this problem and how to solve it?

PD: The strange thing with the «d» makes me think I'm completely crazy.

AttachmentSize
moshun-bardo.jpg69.3 KB
oldnick's picture

I have the same metric values in both fonts, also the TrueType specific ones.

Is the bbox the same for both fonts?

telex's picture

No.

1. (0, -126) - (1162,699)
2. (212,0) - (790,698)

I don't understand how BBox works and how can I equal this.

telex's picture

I did a bullet character with a rectangle that goes from descender to ascender.
Now Bbox is the same in every font.
And it still doesn't work. (Unless i do it with letter «d» :)

Arno Enslin's picture

Sounds like the problem, which I had partly solved a while ago: http://typophile.com/node/59648

(You are right with the “d”.)

telex's picture

Thanks Arno!
Excelent! I was right. It is completely insane.
I already did that «dirty» solution: Put a little square a the top and it worked.
I have to see what is the minimum thing I can put there. I tried a dot but it didn't work. Maybe a line or a 2x2 square?
Thanks for this info.

Arno Enslin's picture

Maybe a line or a 2x2 square?

The smallest possible closed (!) contour consists of three overlaying (!) nodes. But even that is displayed in Photoshop as from a font size of round about 110 pixel.

You have the following alternatives:

1. You ignore the problem, because it is not a bug in your font, and provide a warning information in the manual of the font.

2. You provide an OpenType layout feature, which replaces the d by a d without aligner and which is applied by default. Disadvantage: That does not work in all programs.

3. I did not try it and cannot exclude negative side effects / error in reasoning: The d of the font without aligner (font A) may hide the aligner of the other font (B), if the aligner is exactly placed with the coordinates of the highest point of the d of A in B. In this case you had to provide an info in the manual, that the user has to use A above B.

Edited: Does not work in case of your two fonts, because the font with the dots is intended to overlay the font without dots.

4. I did not try it and cannot exclude negative side effects / error in reasoning: You place the aligner horizontally very far away from the outline of the d (left side) and give the d a corresponding negative left side bearing. This would require short lines, because the bbox (or character) width cannot be bigger as a certain size (4000 units?), which I actually don’t remember.

5. You provide a third font, that covers the aligner. That font is always on the top of the other two text layers and the text color must be the same as the color of the bottom text layer. That font could (and should!) only contain the aligner and space characters (same width and kerning as in the other two fonts), because otherwise the anti-aliasing would be doubled or you have a problem with half transparent layers. And you had to add an information to the manual of the font.

But note, that users often don’t read manuals. I think, I would go with alternative 1.

telex's picture

Thanks for your info, I really appreciatte it.
I was developing this font for a third part, and my client was upset about this issue, considering it was something I did wrong.
Thanks.

Syndicate content Syndicate content