-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Tilman,
On 3/2/19 10:00, Tilman Hausherr wrote: > Am 02.03.2019 um 15:54 schrieb Christopher Schultz: >> Is there a good way to probe text to determine whether or not an >> alternate font will be necessary and only load/bundle it then? > > From the new EmbeddedMultipleFonts.java example (in the source > code download): > > > boolean isWinAnsiEncoding(int unicode) { String name = > GlyphList.getAdobeGlyphList().codePointToName(unicode); if > (".notdef".equals(name)) { return false; } return > WinAnsiEncoding.INSTANCE.contains(name); } > > > When that one returns true, you can use the built-in fonts. Okay, I see that. Is there any reason not to do this? boolean isWinAnsiEncoding(int unicode) { return WinAnsiEncoding.INSTANCE.contains(unicode); } ? Is there nothing like PDFont.isSupportedCodePoint(unicode) available? I didn't see anything. It looks more like the standard way to check is t o: try { page.showText(text); } catch (IllegalArgumentException iae) { page.setFont(alternateFont); page.showText(text); } If that's SOP, then maybe there is no real reason to bother checking whether the String will work in the first place... just try it and try again if the operation fails? Catching IllegalArgumentException seems ugly, though. Maybe PDFBox could subclass IllegalArgumentException with something more narrow like IllegalCodePointException and throw that instead? It would be backward-compatible and also one could determine the root cause without parsing the exception message to see what the problem was. I'm happy to provide a patch. - -chris -----BEGIN PGP SIGNATURE----- Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/ iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlx72rsACgkQHPApP6U8 pFho0Q//cH4SX5tWsb/JX782EJ622/h3XCumnrWuMT/yiunSyinsd26Jz3tquxU9 /tL9hZ8a57j20dKoqf5vm8EorlpYBrSgNAOjlRxuKqY2CLdnA9EsWX9Uux7R5PjF FUeE8yKGRyycUBazfNm0Ijv4oZt7A26/irmZrKUwbx73gbIxJMggFGQoMiAWMwgM hoX4MeJiBdxmJYf/XnHVZJs1LBX9pDnizIHEU26/bK7B2wb3H2+PSWe4TKf0eb7v n1UVjX+12U+CzlF9kx4AnMSDaTo3zmCxSQbzygOqVmaQsc2yAk7mksb7Tt79JzZ/ s1aatZRtmLEuRhbrF8knt3oWlat4Z1KKQD/Onol3pX+CQ/vKVmFgp9TLBitkiOm+ CZC949jfg3386akxeixQxBNLxMoo826NYfNLzKb6x0rYSnz4mgqyrvEPzEw/CltT Sn7Fo5RSvMH1aCa45KoPmQzCE0okUQN74XaqGaob6pFuerlHcYxhS/DefP+QtO93 ZRxWyGMJMw81+AEk7eIBeLVxh4gTCdA2bOJwR4I4n5oJZi0VCXOLy8p6wBlQrvDx rtRhcHW/HidVeiOeQ9kYoEDqAbg6Rvc4Wi/TkM0LxgeV0d/D9YW+gUWFw3NyiiNk IONjKQBxKpowgzXsq0Ug/DcKGu/Za7De9tp0jD5MVZU9i3e96Ag= =bMpZ -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org For additional commands, e-mail: users-h...@pdfbox.apache.org