[poppler] poppler/CharCodeToUnicode.cc poppler/Gfx.cc poppler/GfxFont.cc poppler/GlobalParams.cc poppler/GlobalParams.h

mpsuzuki at hiroshima-u.ac.jp mpsuzuki at hiroshima-u.ac.jp
Tue Mar 27 09:55:42 PDT 2012


Dear Thomas,

If you think my patch fix-d6a1b7dc.diff is good, please
let me ask a question for confirmation or further improvement.

* "Oblique" and "Italic" should be handled by different flags?

It is true that "Oblique" and "Italic" were originally different
idea; the latest OS/2 table of OpenType has 2 different flags
for Italic and Oblique (rather, Italic-or-Oblique flag and
Oblique flag, because of backward compatibility).

But, if we restrict our scope to base 14 fonts in PDF, the
distincion between Oblique and Italic is not so serious.
You can find that base14FontMap[] has several entries mapping
Oblique typeface to Italic typeface (e.g. Arial-Italic and
Helvetica-Oblique). Thus I'm wondering why new method
SysFontInfo::match() should take italic and oblique by different
arguments and check both flags are matched.

Could you post some sample PDF that are rendered incorrectly
when we do not have new flag for Oblique?

Regards,
mpsuzuki

On Tue, 27 Mar 2012 17:59:18 +0200
Thomas Freitag <Thomas.Freitag at kabelmail.de> wrote:

>Am 27.03.2012 11:32, schrieb mpsuzuki at hiroshima-u.ac.jp:
>> Dear Thomas,
>>
>> Excuse me, could you post a patch after a check that proposed
>> patch does not break the compilation? Your last patch broke
>> the building under the configuration using win32 font backend.
>> Unfortunately, it is already committed to git head and I could
>> not build Win32 binary. I got following error.
>>
>> Yet I've not checked if MSVC environment can build it, but the
>> error messages by GCC look quite fundamental error (e.g. the
>> number of arguments does not match), so I guess it is not mingw-gcc
>> specific issue.
>>
>> I attached a patch to finish the compilation successfully, but
>> I'm not sure it is correctly reflecting your intention of the
>> patch. Please review and fix this issue until the official release
>> of 0.20.
>Sorry. My intention was to solve a problem we have with fontconfig and 
>base14 fonts. I've missed that because of these changes we need an 
>adjustment also in the Windows routines. And the last days I tested only 
>under Unix...
>Your changes are better than what I would have done: Because there is no 
>well implemented routine to find a fitting font under Windows, I would 
>have ignored the new parameters under Windows.
>
>So thank You for Your patch,
>Thomas
>>
>> Regards,
>> mpsuzuki
>>
>> make[3]: Entering directory `/tmp/poppler-current/build-mingw/poppler'
>> /bin/sh ../libtool  --tag=CXX   --mode=compile Sorry. My intention was to solve a problem we have with fontconfig and
>> base14 fonts. I've missed that because of these changes we need an
>> adjustment also in the Windows routines
>>
>> i586-mingw32msvc-g++ -DHAVE_CONFIG_H -I. -I/tmp/poppler-current/poppler -I.. -I/tmp/poppler-current -I/tmp/poppler-current/goo      -I/tmp/libpng-mingw/include -I/tmp/zlib-mingw/include  -I/tmp/ft2-mingwinclude/freetype2 -I/tmp/ft2-mingwinclude   -D_WIN32_IE=0x0500  -Wall -Woverloaded-virtual -Wnon-virtual-dtor -Wcast-align -fno-exceptions -fno-check-new -fno-common -g -O2  -MT GlobalParams.lo -MD -MP -MF .deps/GlobalParams.Tpo -c -o GlobalParams.lo /tmp/poppler-current/poppler/GlobalParams.cc
>> libtool: compile:  i586-mingw32msvc-g++ -DHAVE_CONFIG_H -I. -I/tmp/poppler-current/poppler -I.. -I/tmp/poppler-current -I/tmp/poppler-current/goo -I/tmp/libpng-mingw/include -I/tmp/zlib-mingw/include -I/tmp/ft2-mingwinclude/freetype2 -I/tmp/ft2-mingwinclude -D_WIN32_IE=0x0500 -Wall -Woverloaded-virtual -Wnon-virtual-dtor -Wcast-align -fno-exceptions -fno-check-new -fno-common -g -O2 -MT GlobalParams.lo -MD -MP -MF .deps/GlobalParams.Tpo -c /tmp/poppler-current/poppler/GlobalParams.cc -o GlobalParams.o
>> /tmp/poppler-current/poppler/GlobalParams.cc: In function 'char* get_poppler_datadir()':
>> /tmp/poppler-current/poppler/GlobalParams.cc:180: warning: deprecated conversion from string constant to 'char*'
>> In file included from /tmp/poppler-current/poppler/GlobalParams.cc:1340:
>> /tmp/poppler-current/poppler/GlobalParamsWin.cc: In member function 'void SysFontList::scanWindowsFonts(GooString*)':
>> /tmp/poppler-current/poppler/GlobalParamsWin.cc:243: warning: deprecated conversion from string constant to 'char*'
>> /tmp/poppler-current/poppler/GlobalParamsWin.cc:245: warning: deprecated conversion from string constant to 'char*'
>> /tmp/poppler-current/poppler/GlobalParamsWin.cc: In member function 'SysFontInfo* SysFontList::makeWindowsFont(char*, int, char*)':
>> /tmp/poppler-current/poppler/GlobalParamsWin.cc:353: error: no matching function for call to 'SysFontInfo::SysFontInfo(GooString*&, GBool&, GBool&, GooString*, SysFontType&, int&)'
>> /tmp/poppler-current/poppler/GlobalParams.cc:225: note: candidates are: SysFontInfo::SysFontInfo(GooString*, GBool, GBool, GBool, GBool, GooString*, SysFontType, int)
>> /tmp/poppler-current/poppler/GlobalParams.cc:205: note:                 SysFontInfo::SysFontInfo(const SysFontInfo&)
>> /tmp/poppler-current/poppler/GlobalParamsWin.cc: At global scope:
>> /tmp/poppler-current/poppler/GlobalParamsWin.cc:475: error: prototype for 'GooString* GlobalParams::findSystemFontFile(GfxFont*, SysFontType*, int*, GooString*)' does not match any in class 'GlobalParams'
>> /tmp/poppler-current/poppler/GlobalParams.h:151: error: candidate is: GooString* GlobalParams::findSystemFontFile(GfxFont*, SysFontType*, int*, GooString*, GooString*)
>> /tmp/poppler-current/poppler/GlobalParamsWin.cc:452: warning: 'const char* findSubstituteName(GfxFont*, GooHash*, const char*)' defined but not used
>> make[3]: *** [GlobalParams.lo] Error 1


More information about the poppler mailing list