You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@pdfbox.apache.org by Uwe Möser <uw...@gmail.com> on 2017/05/04 07:19:51 UTC
problems with PDType0Font and heights of character
Hi,
I use the pdfbox with the embedded font DejaVuSansCondensed.ttf as a
PDType0Font
type. I get in trouble when I try to position some text in the document.
The functions getAscent(),getCapHeight(),getXHeight(),getDescent() provided
by PDFont.getFontDescriptor() delivers values, I do not expect. Also the
function PDFont.getHeight(*int* code) returns for any code '1.0'. If I use
a standard PDType1Font everything is fine.
Is this a bug or do I use this functions in the right way?
Thank you very much for your help.
Uwe
PDDocument document = new PDDocument();
PDFont fontTTF = PDType0Font.*load*(document, *new* File("/home/xxxx/temp/
DejaVuSansCondensed.ttf"));
System.out.println( fontTTF.getFontDescriptor().getAscent());
System.out.println( fontTTF.getFontDescriptor().getCapHeight());
System.out.println( fontTTF.getFontDescriptor().getXHeight());
System.out.println( fontTTF.getFontDescriptor().getDescent());
System.out.println( fontTTF.getHeight('X'));
System.out.println( fontTTF.getHeight('x'));
Re: problems with PDType0Font and heights of character
Posted by Tilman Hausherr <TH...@t-online.de>.
Hi Uwe,
Getting the height is tricky... I suggest you have a look at the
DrawPrintTextLocations.java example, this shows how to get the exact
height from the glyph. Look for "(font instanceof PDVectorFont)".
The values for ascent etc are often not very reliable; although this
time it's us who are generating them :-(
I could have a deeper look at the problem, if you want, create a request
in JIRA (https://issues.apache.org/jira/browse/PDFBOX) with
- the font
- a generated PDF file
- some numbers about what you were expecting
However it isn't sure that it can be solved.
Tilman
Am 04.05.2017 um 09:19 schrieb Uwe Möser:
> Hi,
>
> I use the pdfbox with the embedded font DejaVuSansCondensed.ttf as a
> PDType0Font
> type. I get in trouble when I try to position some text in the document.
> The functions getAscent(),getCapHeight(),getXHeight(),getDescent() provided
> by PDFont.getFontDescriptor() delivers values, I do not expect. Also the
> function PDFont.getHeight(*int* code) returns for any code '1.0'. If I use
> a standard PDType1Font everything is fine.
>
> Is this a bug or do I use this functions in the right way?
>
> Thank you very much for your help.
>
> Uwe
>
> PDDocument document = new PDDocument();
>
> PDFont fontTTF = PDType0Font.*load*(document, *new* File("/home/xxxx/temp/
> DejaVuSansCondensed.ttf"));
>
> System.out.println( fontTTF.getFontDescriptor().getAscent());
>
> System.out.println( fontTTF.getFontDescriptor().getCapHeight());
>
> System.out.println( fontTTF.getFontDescriptor().getXHeight());
>
> System.out.println( fontTTF.getFontDescriptor().getDescent());
>
> System.out.println( fontTTF.getHeight('X'));
>
> System.out.println( fontTTF.getHeight('x'));
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org