Its is not a big deal, but works for an awt component, but it is not
related to that:
String s = "कारणत्त्वङ्गवाश्वादीनमपीति चेत् युक्तम्";
Font font2 = new Font("Sanskrit2003", Font.PLAIN, 24);
FontRenderContext frc = new FontRenderContext(new
AffineTransform(), true, true);
char[] chars = s.toCharArray();
GlyphVector glyphVector = font2.layoutGlyphVector(frc, chars, 0,
chars.length, 0);// createGlyphVector(frc, s);
int length = glyphVector.getNumGlyphs();
for (int i = 0; i < length; i++) {
Shape glyph = glyphVector.getGlyphOutline(i);
System.out.println(glyphVector.getGlyphCode(i));
}
Any pointers about where I can hook this in PDFBox?
Thanks,
Claudius
On Sun, Jan 15, 2017 at 4:56 PM, Andreas Lehmkuehler <[email protected]>
wrote:
> Hi,
>
> Am 15.01.2017 um 15:51 schrieb Claudius Teodorescu:
>
>> Hi,
>>
>>
>> Thanks for the answer, Tilman.
>>
>> I managed to get the Devanagari text exactly as it should, by using
>> java.awt.font.layoutGlyphVector().
>>
>> Are they any chances to write a GlyphVector in a PDFBox page?
>>
> There was a discussion at [1] about using GlpyhVector, but we didn't make
> any descision nor did we implement anything.
>
> Do you mimd to share some of your code as a possible starting point?
>
> BR
> Andreas
>
> [1] https://issues.apache.org/jira/browse/PDFBOX-3550
>
>
>>
>> Thanks,
>> Claudius
>>
>> On Sat, Jan 14, 2017 at 9:45 AM, Tilman Hausherr <[email protected]>
>> wrote:
>>
>> Hi,
>>>
>>> This is not supported, sorry. PDFBox just outputs the glyphs for the
>>> single characters and does not replace for ligatures.
>>>
>>> Tilman
>>>
>>>
>>> Am 14.01.2017 um 08:44 schrieb Claudius Teodorescu:
>>>
>>> Hi,
>>>>
>>>> I am using pdfbox 2.0.4, and I am trying to output a pdf document with
>>>> text following devanagari text: कारणत्त्वङ्गवाश्वादीनमपीति चेत् युक्तम्.
>>>>
>>>> The code is very simple:
>>>> @Test
>>>> public void testPdfBox() throws IOException {
>>>> PDDocument document = new PDDocument();
>>>> PDPage page = new PDPage();
>>>> document.addPage(page);
>>>>
>>>> PDFont font = PDType0Font.load(document,
>>>> new File("/home/claudius/workspace
>>>> s/repositories/backup/fonts/Sanskrit2003.ttf"));
>>>>
>>>> PDPageContentStream contentStream = new
>>>> PDPageContentStream(document, page);
>>>>
>>>> contentStream.beginText();
>>>> contentStream.setFont(font, 12);
>>>> contentStream.moveTextPositionByAmount(100, 700);
>>>> contentStream.showText("कारणत्त्वङ्गवाश्वादीनमपीति चेत् युक्तम्");
>>>> contentStream.endText();
>>>>
>>>> // Make sure that the content stream is closed:
>>>> contentStream.close();
>>>>
>>>> // Save the results and ensure that the document is properly
>>>> closed:
>>>> document.save("target/" + name.getMethodName() + ".pdf");
>>>> document.close();
>>>> }
>>>>
>>>> The output pdf file (attached) is not rendering correctly the string, as
>>>> it is above. Namely, the ligatures are not displayed, as if they do not
>>>> exist. On the other hand, if I am copying the text from the pdf file,
>>>> and
>>>> paste it in eclipse, it shows perfectly.
>>>>
>>>> I checked the pdf output with evince, firefox, and adobe reader 9, in
>>>> ubuntu.
>>>>
>>>> Any idea on how to fix this display issue?
>>>>
>>>> Thanks,
>>>> Claudius
>>>>
>>>> --
>>>> http://kuberam.ro
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
--
http://kuberam.ro