[poppler] Vertical or horizontal writing?

cobra.yu cobra.yu at hyweb.com.tw
Mon Jul 26 01:31:04 PDT 2010


Hi,

Hmm, it seems that... 
1) I'm only familiar with the poppler-qt4 binding for the present time. But, for my application, I really needs some CJK-related information through poppler.
2) I can't exactly figure out all the necessary steps to accomplish what you said. But, I think, I could try, of course, by your help.
3) So, let's work it out. :-)

       Cobra
-----Original message-----
From:mpsuzuki at hiroshima-u.ac.jp
To:cobra.yu at hyweb.com.tw
Cc:poppler at lists.freedesktop.org
Date:Mon, 26 Jul 2010 17:07:30 +0900
Subject:Re: [poppler] Vertical or horizontal writing?

Hi,

Hmm, it seems that...

1) poppler-qt4 can access FontInfo object for a font used in PDF,
but cannot access GfxFont object that poppler creates before FontInfo
object internally.

2) either poppler-glib can access FontInfo object for a font used
in PDF, but cannot access GfxFont object that poppler creates before
FontInfo object internally.

3) according to FontInfo.h (and FontInfo.cc), FontInfo object does
not have a method to obtain the writing mode of its source GfxFont
object.

Thus, glib binding does not help your work. If we are forced to use
current poppler without modification, we will have to use both of
poppler-qt4 and raw poppler library. I'm afraid it makes your software
difficult to maintain. If we have sufficient time, I think, making
a proposal patch to add writing mode info to FontInfo object, and
extend poppler-{qt4,glib} to access the info is better.

I think adding writing mode to FontInfo is not difficult (I can
draft), but making poppler-qt4 to access it is not so easy for
me because I have no experience in Qt4 development. If you have
sufficient time, I will ask you to draft the patch for poppler-qt4.
How do you think of?

Regards,
mpsuzuki

On Mon, 26 Jul 2010 15:46:43 +0800 (CST)
"cobra.yu" <cobra.yu at hyweb.com.tw> wrote:

>Hi,
>
>   Thanks a lot! I think it would be a great help to me. I'm only using poppler-qt4 binding for my application now. So, I guess, I would have to use both Qt4 and cpp/glib bindings in my application, right?
>
>         Cobra
>-----Original message-----
>From:mpsuzuki at hiroshima-u.ac.jp
>To:cobra.yu at hyweb.com.tw
>Cc:poppler at lists.freedesktop.org
>Date:Mon, 26 Jul 2010 16:24:40 +0900
>Subject:Re: [poppler] Vertical or horizontal writing?
>
>Hi,
>
>Yet I'm not sure how you use poppler in your application,
>but GfxFont class has a method to obtain "writing mode"
>in PDF terminology. Please see GfxFont.h, you can find:
>
>   /* this is default */
>
>   106  class GfxFont {
>   107  public:
>   108  
>...
>   206    // Return the writing mode (0=horizontal, 1=vertical).
>   207    virtual int getWMode() { return 0; }
>
>   /* this is for CID-keyed font */
>   321  class GfxCIDFont: public GfxFont {
>   322  public:
>...
>   333    // Return the writing mode (0=horizontal, 1=vertical).
>   334    virtual int getWMode();
>
>And, you can find how poppler identify the writing mode
>in GfxFont.cc:
>
>  1763  int GfxCIDFont::getWMode() {
>  1764    return cMap ? cMap->getWMode() : 0;
>  1765  }
>
>Is this what you want?
>
>Regards,
>mpsuzuki
>
>On Mon, 26 Jul 2010 14:49:38 +0800 (CST)
>"cobra.yu" <cobra.yu at hyweb.com.tw> wrote:
>
>>Hi,
>>
>>     Is there any way by poppler to acquire the correct writing mode for any Document/Page/Paragraph? I'm writing some code for the vertical Chinese writing mode text search, but finding that it seems no way to know the exact mode by poppler.
>>     Any suggestions are welcome! Thx.
>>
>>         Cobra
>>_______________________________________________
>>poppler mailing list
>>poppler at lists.freedesktop.org
>>http://lists.freedesktop.org/mailman/listinfo/poppler


More information about the poppler mailing list