Hi,
There was a response but obviously yours is perfect. You're great, I
tried it and it works. It's similar to the "vertical" feature.
Tilman
PDDocument doc = new PDDocument();
InputStream is1 = new
FileInputStream("PlayfairDisplay-VariableFont_wght.ttf");
TrueTypeFont ttf1 = new TTFParser().parse(is1);
ttf1.enableGsubFeature("lnum");
InputStream is2 = new
FileInputStream("PlayfairDisplay-VariableFont_wght.ttf");
TrueTypeFont ttf2 = new TTFParser().parse(is2);
PDPage page = new PDPage();
doc.addPage(page);
PDPageContentStream cs = new PDPageContentStream(doc, page);
PDFont font1 = PDType0Font.load(doc, ttf1, true);
PDFont font2 = PDType0Font.load(doc, ttf2, true);
cs.setFont(font1, 25);
cs.beginText();
cs.newLineAtOffset(50, 700);
cs.showText("1234567890");
cs.endText();
cs.setFont(font2, 25);
cs.beginText();
cs.newLineAtOffset(50, 650);
cs.showText("1234567890");
cs.endText();
cs.close();
doc.save("PlayfairDisplay.pdf");
doc.close();
Am 11.05.2021 um 07:31 schrieb Hiller, Gerhard:
Hi everybody,
I got no response but figured it out. You have to load the TrueTypeFont and then you need
to call enableGsubFeature("lnum").
TrueTypeFont ttf = new TTFParser().parse(is);
ttf.enableGsubFeature("lnum);
Maybe this answer helps somone out.
Greetings from Germany
Gerhard Hiller
Von: Hiller, Gerhard <[email protected]>
Gesendet: Donnerstag, 6. Mai 2021 20:33
An: [email protected]
Betreff: Font-Handling
Hi everybody,
I try to use a TrueTypeFont https://fonts.google.com/specimen/Playfair+Display with its
embedded "Upper Case Numbers".
The font includes "normal" numbers from Unicode +0030 until +0039.
Additionally there are Numbers which can be used in InDesign as upper case.
They are bigger and have another appearance.
When I open the font using Fontforge they are visible. But they have the same
Unicode, but another hex- (0x1011a-0x10123) and int-Value (65818 until 65827).
In an PDF-Example from InDesign the text "29" with this glyphs has the
following PDF-Code:
BT
/C2_0 1 Tf
0 Tw 42.5815 0 0 42.5815 865.3147 1343.9668 Tm
<031C0323>Tj
ET
031C means 2
0323 means 9
The Font has following codes:
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (Adobe)
/Ordering (UCS) /Supplement 0 >> def
/CMapName /Adobe-Identity-UCS def
/CMapType 2 def
1 begincodespacerange
<0000> <FFFF>
endcodespacerange
2 beginbfchar
<031C> <0032>
<0323> <0039>
endbfchar
endcmap CMapName currentdict /CMap defineresource pop end end
endstream
endobj
How can I do this with PDF-Box?
Thanks in advance
Gerhard Hiller
mailto:[email protected] | Phone: +49 711 72007 4163 | Mobile: +49 172 718
48 46
- -
[MSH-Logo]
MSH Medien System Haus GmbH & Co. KG, Stuttgart, HRA 9274 Stuttgart
P.h.G.: MSH Medien System Haus Verwaltungsges. MbH, Stuttgart, HRB 4443
Stuttgart
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]