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

Reply via email to