[
https://issues.apache.org/jira/browse/PDFBOX-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17793709#comment-17793709
]
Daniel Gredler edited comment on PDFBOX-5728 at 12/6/23 1:18 PM:
-----------------------------------------------------------------
Borrowing from [https://github.com/google/fonts/issues/215], I ran the
following on my PC:
*format.py:*
{{import sys}}
{{from fontTools.ttLib import TTFont}}
{{fontfile = sys.argv[1]}}
{{try:}}
{{ font = TTFont(fontfile)}}
{{ version = font['post'].formatType}}
{{ if version == 3.0:}}
{{ print(str(version), fontfile)}}
{{except:}}
{{ pass}}
*format.sh:*
{{for font in `fc-list -f "%\{file}\n"`; do}}
{{ python3 format.py $font;}}
{{done;}}
This identified a few fonts with version 3 `post` tables. I chose
`NotoMono-Regular.ttf`, and was able to reproduce the issue:
*Bug5728.java:*
{{import java.io.ByteArrayOutputStream;}}
{{import java.io.IOException;}}
{{import java.io.InputStream;}}
{{import java.nio.file.Files;}}
{{{}import java.nio.file.Path;{}}}{{{}import
org.apache.fontbox.ttf.TTFParser;{}}}
{{import org.apache.fontbox.ttf.TTFSubsetter;}}
{{import org.apache.fontbox.ttf.TrueTypeFont;}}
{{public class Bug5728 {}}
{{ public static void main(String[] args) throws IOException {}}
{{ InputStream is =
Files.newInputStream(Path.of("/usr/share/fonts/truetype/noto/NotoMono-Regular.ttf"));}}
{{ TTFParser parser = new TTFParser();}}
{{ TrueTypeFont font = parser.parse(is);}}
{{ TTFSubsetter subsetter = new TTFSubsetter(font);}}
{{ subsetter.add('a');}}
{{ ByteArrayOutputStream output = new ByteArrayOutputStream();}}
{{ subsetter.writeToStream(output);}}
}
{{}}}
Here's the full font list identified by the Python script above:
3.0 /usr/share/fonts/opentype/urw-base35/URWBookman-LightItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-book.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Two.otf
3.0 /usr/share/fonts/truetype/noto/NotoMono-Regular.ttf
3.0 /usr/share/fonts/opentype/fira/FiraSans-MediumItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-hair.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSansNarrow-Oblique.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusMonoPS-Italic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Four.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSans-Bold.otf
3.0 /usr/share/fonts/opentype/urw-base35/P052-Bold.otf
3.0 /usr/share/fonts/opentype/urw-base35/D050000L.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Book.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-two.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ThinItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-fouritalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Medium.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusRoman-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-UltraLight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-LightItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-MediumItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-SemiBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-EightItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/P052-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ExtraBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Italic.otf
3.0 /usr/share/fonts/opentype/fira/FiraMono-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Heavy.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSans-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-UltraItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-extralightitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Light.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-BookItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWGothic-BookOblique.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSans-BoldItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusRoman-Italic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-UltraItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-MediumItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Hair.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Book.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWBookman-DemiItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-BookItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusMonoPS-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-HeavyItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Eight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-italic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-ultralightitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Thin.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSansNarrow-Regular.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWBookman-Demi.otf
3.0 /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-Heavy.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-UltraLightItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-HairItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Four.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-ExtraBold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-SemiBoldItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/C059-Roman.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-UltraLight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ExtraLight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-LightItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWGothic-Book.otf
3.0 /usr/share/fonts/opentype/urw-base35/P052-Italic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-four.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Italic.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWGothic-Demi.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-TwoItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-Medium.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusRoman-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Hair.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-SemiBold.otf
3.0 /usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-SemiBold.otf
3.0 /usr/share/fonts/opentype/urw-base35/P052-Roman.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-extralight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-FourItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWBookman-Light.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Medium.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-SemiBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Thin.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ExtraLightItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-ExtraBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-FourItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-eightitalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-ultralight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-bookitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraMono-Regular.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSansNarrow-Bold.otf
3.0 /usr/share/fonts/opentype/urw-base35/StandardSymbolsPS.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWGothic-DemiOblique.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-lightitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Ultra.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-HairItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ExtraLightItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Ultra.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-EightItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-thinitalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-hairitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-HeavyItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-twoitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Eight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Two.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ExtraBold.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSansNarrow-BoldOblique.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-TwoItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Light.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Heavy.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-UltraLightItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/C059-Italic.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusMonoPS-BoldItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSans-Italic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-HeavyItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-eight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Bold.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusRoman-Bold.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-thin.otf
3.0 /usr/share/fonts/opentype/urw-base35/C059-BdIta.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusMonoPS-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ExtraBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ExtraLight.otf
3.0 /usr/share/fonts/opentype/urw-base35/Z003-MediumItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ExtraBold.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-light.otf
3.0 /usr/share/fonts/opentype/urw-base35/C059-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ThinItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraMono-Medium.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-SemiBold.otf
was (Author: sdanig):
Borrowing from [https://github.com/google/fonts/issues/215,] I ran the
following on my PC:
*format.py:*
{{import sys}}
{{from fontTools.ttLib import TTFont}}
{{fontfile = sys.argv[1]}}
{{try:}}
{{ font = TTFont(fontfile)}}
{{ version = font['post'].formatType}}
{{ if version == 3.0:}}
{{ print(str(version), fontfile)}}
{{except:}}
{{ pass}}
*format.sh:*
{{for font in `fc-list -f "%\{file}\n"`; do}}
{{ python3 format.py $font;}}
{{done;}}
This identified a few fonts with version 3 `post` tables. I chose
`NotoMono-Regular.ttf`, and was able to reproduce the issue:
*Bug5728.java:*
{{import java.io.ByteArrayOutputStream;}}
{{import java.io.IOException;}}
{{import java.io.InputStream;}}
{{import java.nio.file.Files;}}
{{{}import java.nio.file.Path;{}}}{{{}import
org.apache.fontbox.ttf.TTFParser;{}}}
{{import org.apache.fontbox.ttf.TTFSubsetter;}}
{{import org.apache.fontbox.ttf.TrueTypeFont;}}
{{public class Bug5728 {}}
{{ public static void main(String[] args) throws IOException {}}
{{ InputStream is =
Files.newInputStream(Path.of("/usr/share/fonts/truetype/noto/NotoMono-Regular.ttf"));}}
{{ TTFParser parser = new TTFParser();}}
{{ TrueTypeFont font = parser.parse(is);}}
{{ TTFSubsetter subsetter = new TTFSubsetter(font);}}
{{ subsetter.add('a');}}
{{ ByteArrayOutputStream output = new ByteArrayOutputStream();}}
{{ subsetter.writeToStream(output);}}
}
{{}}}
Here's the full font list identified by the Python script above:
3.0 /usr/share/fonts/opentype/urw-base35/URWBookman-LightItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-book.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Two.otf
3.0 /usr/share/fonts/truetype/noto/NotoMono-Regular.ttf
3.0 /usr/share/fonts/opentype/fira/FiraSans-MediumItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-hair.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSansNarrow-Oblique.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusMonoPS-Italic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Four.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSans-Bold.otf
3.0 /usr/share/fonts/opentype/urw-base35/P052-Bold.otf
3.0 /usr/share/fonts/opentype/urw-base35/D050000L.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Book.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-two.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ThinItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-fouritalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Medium.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusRoman-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-UltraLight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-LightItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-MediumItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-SemiBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-EightItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/P052-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ExtraBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Italic.otf
3.0 /usr/share/fonts/opentype/fira/FiraMono-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Heavy.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSans-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-UltraItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-extralightitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Light.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-BookItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWGothic-BookOblique.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSans-BoldItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusRoman-Italic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-UltraItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-MediumItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Hair.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Book.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWBookman-DemiItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-BookItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusMonoPS-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-HeavyItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Eight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-italic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-ultralightitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Thin.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSansNarrow-Regular.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWBookman-Demi.otf
3.0 /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-Heavy.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-UltraLightItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-HairItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Four.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-ExtraBold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-SemiBoldItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/C059-Roman.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-UltraLight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ExtraLight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-LightItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWGothic-Book.otf
3.0 /usr/share/fonts/opentype/urw-base35/P052-Italic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-four.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Italic.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWGothic-Demi.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-TwoItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-Medium.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusRoman-Regular.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Hair.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-SemiBold.otf
3.0 /usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-SemiBold.otf
3.0 /usr/share/fonts/opentype/urw-base35/P052-Roman.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-extralight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-FourItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWBookman-Light.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Medium.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-SemiBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Thin.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ExtraLightItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-ExtraBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-FourItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-eightitalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-ultralight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-BoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-bookitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraMono-Regular.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSansNarrow-Bold.otf
3.0 /usr/share/fonts/opentype/urw-base35/StandardSymbolsPS.otf
3.0 /usr/share/fonts/opentype/urw-base35/URWGothic-DemiOblique.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-lightitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Ultra.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-HairItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ExtraLightItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Ultra.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-EightItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-thinitalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-hairitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-HeavyItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-twoitalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Eight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Two.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ExtraBold.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSansNarrow-BoldOblique.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-TwoItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-Light.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Heavy.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-UltraLightItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/C059-Italic.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusMonoPS-BoldItalic.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusSans-Italic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCompressed-HeavyItalic.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-eight.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-Bold.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusRoman-Bold.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-thin.otf
3.0 /usr/share/fonts/opentype/urw-base35/C059-BdIta.otf
3.0 /usr/share/fonts/opentype/urw-base35/NimbusMonoPS-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSansCondensed-ExtraBoldItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ExtraLight.otf
3.0 /usr/share/fonts/opentype/urw-base35/Z003-MediumItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ExtraBold.otf
3.0 /usr/share/fonts/opentype/fira/firasanscompressed-light.otf
3.0 /usr/share/fonts/opentype/urw-base35/C059-Bold.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-ThinItalic.otf
3.0 /usr/share/fonts/opentype/fira/FiraMono-Medium.otf
3.0 /usr/share/fonts/opentype/fira/FiraSans-SemiBold.otf
> NullPointerException in TTFSubsetter.buildPostTable()
> -----------------------------------------------------
>
> Key: PDFBOX-5728
> URL: https://issues.apache.org/jira/browse/PDFBOX-5728
> Project: PDFBox
> Issue Type: Bug
> Components: FontBox
> Affects Versions: 2.0.28
> Reporter: Daniel Gredler
> Priority: Major
>
> It looks like `TTFSubsetter.buildPostTable()` can sometimes throw NPEs:
> java.lang.NullPointerException: null
> at
> org.apache.fontbox.ttf.TTFSubsetter.buildPostTable(TTFSubsetter.java:859)
> at
> org.apache.fontbox.ttf.TTFSubsetter.writeToStream(TTFSubsetter.java:971)
> Looking at the code, the `names` map keys are Strings that come from
> `PostScriptTable.getName(gid)`, which can sometimes return `null`. A few
> lines later, these possibly-null String keys are converted to bytes, at which
> point the system may throw a NPE.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]