[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #57506] Suspicious "slant" values in devps/TI, devlbp/HI, devlbp/HB
From: |
Deri James |
Subject: |
[bug #57506] Suspicious "slant" values in devps/TI, devlbp/HI, devlbp/HBI |
Date: |
Sun, 2 Jul 2023 08:51:35 -0400 (EDT) |
Follow-up Comment #13, bug #57506 (project groff):
I wanted to find out why the position of the diaeresis was so different
between Tinos and Libertine, given that the Z files were identical and the
font entries are similar, both have a zero width. So, it must be something
different in the type 1 fonts themselves, below are the disassembled glyph
definitions from both fonts.
TinosI
u0308 0,632,0,136,136 2 1384 uni0308
/uni0308 {
205 0 hsbw
555 1231 rmoveto
288 callsubr
-356 hmoveto
87 callsubr
endchar
} ND
LibertineI
u0308 0,620,0,83,271,75 2 2004 uni0308
/uni0308 {
-451 0 hsbw
1174 vmoveto
136 callsubr
328 hmoveto
129 callsubr
endchar
} ND
Notice the left side bearing in the Libertine font is negative compared to the
Tinos version, I think this is the reason Libertine gets it right.
Interestingly, if I use the original Tinos ttf font in libreoffice, it gets
the position of the diaeresis spot on. TrueType fonts allow little scripts
within the font to be called before a glyph is stroked, so I suspect this is
what is happening to correct the glyph position. Of course, when fontforge
converts the font to type 1, any scriptlets in the font get dropped.
What a good reason for gropdf to support otf/ttf fonts natively!!
hsbw
sbx wx hsbw (13)
sets the left sidebearing point at (sbx, 0) and sets the character
width vector to (wx, 0) in character space. This command also
sets the current point to (sbx, 0), but does not place the point in
the character path. Use rmoveto for the first point in the path.
The name hsbw stands for horizontal sidebearing and width; hor-
izontal indicates that the y component of both the sidebearing
and width is 0. Either sbw or hsbw must be used once as the first
command in a character outline definition. It must be used only
once. In non-marking characters, such as the space character, the
left sidebearing point should be (0, 0).
And now for something completely different...
Assuming you have called your Libertine font family "Lib", try this:-
echo "\fI\s'200'\v'200p'\N[2364]" | ./test-groff -Tpdf -fLib -ms > T.pdf
Surprised he hasn't an italic lean!
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?57506>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [bug #57506] Suspicious "slant" values in devps/TI, devlbp/HI, devlbp/HBI,
Deri James <=