You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "hailima (Jira)" <ji...@apache.org> on 2019/10/23 19:26:00 UTC

[jira] [Commented] (PDFBOX-4643) No glyph for U+2032 in font TimesNewRomanPSMT

    [ https://issues.apache.org/jira/browse/PDFBOX-4643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16958183#comment-16958183 ] 

hailima commented on PDFBOX-4643:
---------------------------------

Hi Tilman,

I studied the sample code (TextToPDF), at line 200  you call ( (font.getStringWidth( lineWithNextWord )/FONTSCALE) * fontSize), the "lineWithNextWord" could contain any unicode which the font does not support (ex: U+1D445, not supported by the font, "c:/windows/fonts/times.ttf"), and then the call throws exception like lang.IllegalArgumentException: No glyph for U+1D445 in font TimesNewRomanPSMT. 

How to handle the case above? do you have any sample codes which can handle any unicode for estimating string width for PDF ? thanks

> No glyph for U+2032 in font TimesNewRomanPSMT
> ---------------------------------------------
>
>                 Key: PDFBOX-4643
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4643
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>    Affects Versions: 2.0.16
>            Reporter: hailima
>            Priority: Major
>
> I have the following Java codes for testing PDFBox (2.0.16) and got exception for the unicode U+2032 (prime), but the font i use is "Time New Roman" which should support the unicode, how to fix the issue? thanks
> {code}
> import java.io.InputStream;
> import org.apache.pdfbox.pdmodel.PDDocument;
> import org.apache.pdfbox.pdmodel.PDPage;
> import org.apache.pdfbox.pdmodel.common.PDRectangle;
> import org.apache.pdfbox.pdmodel.font.PDFont;
> import org.apache.pdfbox.pdmodel.font.PDType0Font;
> public class PDFFonts
> {
>     public static void main(String args[])
>     {
>         try
>         {
>             PDDocument document = new PDDocument();
>             PDPage page = new PDPage(PDRectangle.A4);
>             document.addPage(page);
>             InputStream starWarsFontStream = PDFFonts.class.getResourceAsStream("/times-new-roman.ttf");
>             PDFont font = PDType0Font.load(document, starWarsFontStream, false);
>             float num = font.getStringWidth("atal period (pre-na′tal");
>             System.out.println(num);
>         }
>         catch (Exception e)
>         {
>             e.printStackTrace();
>         }
>     }
> }
> {code}
> Here are exceptions:
> {noformat}
> java.lang.IllegalArgumentException: No glyph for U+2032 in font TimesNewRomanPSMT
> at org.apache.pdfbox.pdmodel.font.PDCIDFontType2.encode(PDCIDFontType2.java:404)
> at org.apache.pdfbox.pdmodel.font.PDType0Font.encode(PDType0Font.java:342)
> at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:323)
> at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:352)
> at com.hma.eng.PDFFonts.main(PDFFonts.java:34)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org