Miroslav Holubec created PDFBOX-5920:
----------------------------------------
Summary: PDType0Font return invalid space width
Key: PDFBOX-5920
URL: https://issues.apache.org/jira/browse/PDFBOX-5920
Project: PDFBox
Issue Type: Bug
Components: FontBox
Affects Versions: 3.0.3 PDFBox
Reporter: Miroslav Holubec
Attachments: texgyreheros-regular.ttf
WinAnsiEncoding supports not all available characters from the font. That is
the reason why we moved to the workaround proposed by FAQ, also to use
PDType0Font. Now we have realized, that returned space width from
font.getSpaceWidth() returns invalid value.
{noformat}
class FontWidthTest {
@Test
void pdType0FontTest() throws IOException {
try (InputStream fontStream =
FontWidthTest.class.getResourceAsStream("/texgyreheros-regular.ttf");
PDDocument document = new PDDocument()) {
PDFont font = PDType0Font.load(document, fontStream, false);
assertEquals(20064.0, font.getStringWidth("The quick brown fox
jumps over the lazy dog."));
assertEquals(278.0, font.getSpaceWidth()); // FAIL: returns 584.0
}
}
@Test
void pdTrueTypeFontTest() throws IOException {
try (InputStream fontStream =
FontWidthTest.class.getResourceAsStream("/texgyreheros-regular.ttf");
PDDocument document = new PDDocument()) {
PDFont font = PDTrueTypeFont.load(document, fontStream,
WinAnsiEncoding.INSTANCE);
assertEquals(20064.0, font.getStringWidth("The quick brown fox
jumps over the lazy dog."));
assertEquals(278.0, font.getSpaceWidth());
}
}
}
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]