Bug 48040

Summary: ZapfDingbats substitution by wingding.ttf may not work
Product: poppler Reporter: suzuki toshiya <mpsuzuki>
Component: generalAssignee: poppler-bugs <poppler-bugs>
Status: RESOLVED MOVED QA Contact:
Severity: enhancement    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Windows (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: PDF referring base 14 fonts without embedding
rasterized image by pdftoppm (0.19.1) running on GNU/Linux
rasterized image by pdftoppm (git d6a1b7dcaeac1e49533519b9f8a279fd64d04c67) running on GNU/Linux
rasterized image by pdftoppm (0.19.1) running on Win32 (MinGW)
rasterized image by pdftoppm (git d6a1b7dcaeac1e49533519b9f8a279fd64d04c67) running on Win32 (MinGW)

Description suzuki toshiya 2012-03-29 03:27:51 UTC
Created attachment 59208 [details]
PDF referring base 14 fonts without embedding

Although it is commented as "not sure" in GlobalParamsWin.cc
    // TODO: not sure if "wingding.ttf" is right
    {"ZapfDingbats",          "d050000l.pfb", "wingding.ttf"},
the substitution of ZapfDingbats by Wingding may not work.
Here I upload a small testing PDF that refers base14 fonts
with standard & alternative names. The line for ZapfDingbats
are totally lost. I will try to improve.
Comment 1 suzuki toshiya 2012-03-29 03:39:18 UTC
Created attachment 59210 [details]
rasterized image by pdftoppm (0.19.1) running on GNU/Linux
Comment 2 suzuki toshiya 2012-03-29 03:41:10 UTC
Created attachment 59211 [details]
rasterized image by pdftoppm (git d6a1b7dcaeac1e49533519b9f8a279fd64d04c67) running on GNU/Linux

Here are 2 images converted by pdftoppm running on GNU/Linux.
It has no problem, because ZapfDingbats-compatible font is
installed by Ghostscript environment.
The difference between 0.19.1 and GIT d6a1b7dcaeac1e49533519b9f8a279fd64d04c67
is by Thomas Freitag's improvement (thanks to Thomas!)
Comment 3 suzuki toshiya 2012-03-29 03:46:25 UTC
Created attachment 59214 [details]
rasterized image by pdftoppm (0.19.1) running on Win32 (MinGW)
Comment 4 suzuki toshiya 2012-03-29 03:48:24 UTC
Created attachment 59215 [details]
rasterized image by pdftoppm (git d6a1b7dcaeac1e49533519b9f8a279fd64d04c67) running on Win32 (MinGW)

Here are 2 images rasterized by pdftoppm running on Win32 (MinGW).
You cannot find the line for ZapfDingbats (left-lowest).
Comment 5 suzuki toshiya 2012-03-29 05:22:34 UTC
Considering that Dingbats is already included in ISO/IEC 10646
(U+2700 - U+27BF), the right attitude to use Dingbats with
TrueType fonts would be 1) finding a TrueType font supporting
Dingbats character set, and 2) map from the 8bit codepoint for
ZapfDingbats Type1 font to UCS.
However, the Dingbats blocks of UCS is not same with ZapfDingbats.
Some arrows, stars etc are recognized as "already coded at
different blocks", so simple mathematical translation (e.g.
0x2700 + ZapfDingbats 8bit code) is insufficient. Some mapping
table would be needed.

I wish if iconv() supports such translation between old 8bit
cod and UCS, but it seems that GNU libiconv() does not support
Dingbat.

In addition, it seems that no compact font supporting Dingbats
is bundled to Microsoft Windows. The fonts supporting Dingbats
are huge fonts, like, Arial Unicode, MS-Mincho, MS-Gothic,
MingLiU, etc. It is difficult to determine which is most
portable.
Comment 6 James Cloos 2012-03-29 12:12:11 UTC
Markus Kuhn’s uniset <http://www.cl.cam.ac.uk/~mgk25/download/uniset.tar.gz>
includes the mapping table in zdingbats.txt.

I think fontconfig also may have that mapping, although uniset’s
also includes each character’s postscript glyph name.
Comment 7 GitLab Migration User 2018-08-21 11:04:13 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/poppler/poppler/issues/496.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.