Your message dated Sun, 19 Oct 2014 17:04:31 +0000
with message-id <[email protected]>
and subject line Bug#740801: fixed in poppler 0.26.5-2
has caused the Debian Bug report #740801,
regarding fails to render ligatures under specific conditions
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
740801: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740801
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libpoppler46
Version: 0.26.4-1
Severity: wishlist
Tags: patch
Forwarded: https://bugs.freedesktop.org/show_bug.cgi?id=80093
Hi,
evince, i.e. the PDF rendering engine behind it and thus poppler, fails
to render fi/fl ligatures for certain documents. This happens, if the
document has been created with the Times Type 1 font and then rendered
with the TeX Gyre Termes OTF font, which is a metric compatible
substitute. The reason is that in the Type 1 font the ligature glyphs
are called "fi" and "fl" whereas they are called "f_i" and "f_l" in the
OTF font.
Since both nomenclatures are right according to the Adobe specs, poppler
should search for the respective other if it canot find the requested
ligature glyph in the current font. The attached patch does exactly that
and I can confirm that it works. It has also been submitted upstream
[1], but they have shown no reaction recently. Thus I am asking you to
include it in the Debian package, which inturn might raise the incentive
for upstream to merge it as well.
Best Regards,
Fabian
PS: This bug has been reported upstream against poppler
[0] https://bugs.freedesktop.org/show_bug.cgi?id=73291
[1] https://bugs.freedesktop.org/show_bug.cgi?id=80093
and in Debian against the fonts-texgyre package
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742767
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (990, 'testing'), (900, 'unstable'), (800, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.14-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libpoppler46 depends on:
ii libc6 2.19-10
ii libfontconfig1 2.11.0-6.1
ii libfreetype6 2.5.2-1.1
ii libjpeg8 8d1-1
ii liblcms2-2 2.6-3
ii libopenjpeg5 1.5.2-2
ii libpng12-0 1.2.50-2
ii libstdc++6 4.9.1-12
ii libtiff5 4.0.3-9
ii multiarch-support 2.19-10
Versions of packages libpoppler46 recommends:
ii poppler-data 0.4.7-1
libpoppler46 suggests no packages.
-- no debconf information
From 419a0b803c0663490258cb1f6f23d2334cd08489 Mon Sep 17 00:00:00 2001
From: Fabian Greffrath <[email protected]>
Date: Mon, 25 Aug 2014 18:21:32 +0200
Subject: [PATCH] if glyph name lookup failed, try alternate naming scheme for
ligatures
According to the Adobe spec., ligature glyphs may be named either e.g.
"fi" ot "f_i". If text has been set with a font using the one naming
scheme but is rendered with a font using the other, ligature glyphs
may be missing from the rendering. Therefore, if a glyph name lookup
failed, try again using the other naming scheme.
This happened e.g. for the "fl" and "fi" ligatures in texts set in
Times but rendered in Tex Gyre Termes.
Closes Bug #73291, Bug #80093.
---
poppler/CairoFontEngine.cc | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/poppler/CairoFontEngine.cc b/poppler/CairoFontEngine.cc
index 1546594..c30c7da 100644
--- a/poppler/CairoFontEngine.cc
+++ b/poppler/CairoFontEngine.cc
@@ -458,6 +458,47 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref,
codeToGID[i] = 0;
if ((name = enc[i])) {
codeToGID[i] = FT_Get_Name_Index(face, name);
+
+ // glyph lookup failed, try alternate naming scheme for ligatures
+ if (!codeToGID[i])
+ {
+ size_t j, k;
+ char newname[14];
+ const size_t namelen = strlen(name);
+
+ // unusual glyph name size for a ligature
+ if (namelen < 2 || namelen > 7)
+ continue;
+
+ if (!strchr(name, '_'))
+ {
+ // glyph name contains no underscores,
+ // now try with interleaving them
+ newname[0] = name[0];
+ for (j = k = 1; j < namelen; j++)
+ {
+ newname[k++] = '_';
+ newname[k++] = name[j];
+ }
+ newname[k] = '\0';
+ }
+ else
+ {
+ // glyph name already contains underscores,
+ // now try without them
+ for (j = k = 0; j < namelen; j++)
+ {
+ if (name[j] != '_')
+ {
+ newname[k++] = name[j];
+ }
+ }
+ newname[k] = '\0';
+ }
+
+ // repeat glyph lookup for the alternate name
+ codeToGID[i] = FT_Get_Name_Index(face, newname);
+ }
}
}
break;
--
2.1.0
--- End Message ---
--- Begin Message ---
Source: poppler
Source-Version: 0.26.5-2
We believe that the bug you reported is fixed in the latest version of
poppler, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Pino Toscano <[email protected]> (supplier of updated poppler package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Sun, 19 Oct 2014 18:23:32 +0200
Source: poppler
Binary: libpoppler46 libpoppler-dev libpoppler-private-dev libpoppler-glib8
libpoppler-glib-dev libpoppler-glib-doc gir1.2-poppler-0.18 libpoppler-qt4-4
libpoppler-qt4-dev libpoppler-qt5-1 libpoppler-qt5-dev libpoppler-cpp0
libpoppler-cpp-dev poppler-utils poppler-dbg
Architecture: source amd64 all
Version: 0.26.5-2
Distribution: unstable
Urgency: medium
Maintainer: Loic Minier <[email protected]>
Changed-By: Pino Toscano <[email protected]>
Description:
gir1.2-poppler-0.18 - GObject introspection data for poppler-glib
libpoppler-cpp-dev - PDF rendering library -- development files (CPP interface)
libpoppler-cpp0 - PDF rendering library (CPP shared library)
libpoppler-dev - PDF rendering library -- development files
libpoppler-glib-dev - PDF rendering library -- development files (GLib
interface)
libpoppler-glib-doc - PDF rendering library -- documentation for the GLib
interface
libpoppler-glib8 - PDF rendering library (GLib-based shared library)
libpoppler-private-dev - PDF rendering library -- private development files
libpoppler-qt4-4 - PDF rendering library (Qt 4 based shared library)
libpoppler-qt4-dev - PDF rendering library -- development files (Qt 4
interface)
libpoppler-qt5-1 - PDF rendering library (Qt 5 based shared library)
libpoppler-qt5-dev - PDF rendering library -- development files (Qt 5
interface)
libpoppler46 - PDF rendering library
poppler-dbg - PDF rendering library -- debugging symbols
poppler-utils - PDF utilities (based on Poppler)
Closes: 740801
Changes:
poppler (0.26.5-2) unstable; urgency=medium
.
* Backport upstream commit 01723aa17e836e818158dbdc56df642a290be300 to map
Standard/Expert encoding ligatures to AGLFN names; patch
upstream_Map-Standard-Expert-encoding-ligatures-to-AGLFN-name.patch.
(Closes: #740801)
* Bump Standards-Version to 3.9.6, no changes required.
Checksums-Sha1:
0a339028d48a2bca3d47e391033e89cc6df23a06 2612 poppler_0.26.5-2.dsc
d163312b8347b205eafd4e19e3b64ee0506e4b21 30128 poppler_0.26.5-2.debian.tar.xz
028e1abfd8965f545d022d273cb88e09dae4ee68 1209648
libpoppler46_0.26.5-2_amd64.deb
c15d3db1b1ddcc64441c2e906c530877457beb4b 763394
libpoppler-dev_0.26.5-2_amd64.deb
8f05a911c82ea488d27499e3253e9b636a3c4744 179020
libpoppler-private-dev_0.26.5-2_amd64.deb
c7eb5e2fcd100a0c0cdd45ee1e5d4631b5255573 120900
libpoppler-glib8_0.26.5-2_amd64.deb
9c22fed9504a778a3494e56524ae4d6f84f431d5 161918
libpoppler-glib-dev_0.26.5-2_amd64.deb
cb44b6f49782e22fc5e8d9f6052125f76451d902 84288
libpoppler-glib-doc_0.26.5-2_all.deb
4b4c12ce095bee453c05b56d4fd7d3c303699d28 32892
gir1.2-poppler-0.18_0.26.5-2_amd64.deb
ce82a7c189d9dfb6359bcb24fd4c2e98cb82ab44 126796
libpoppler-qt4-4_0.26.5-2_amd64.deb
ce92cefd8fd2c5a7387a5618cb33e79feff86ec4 157424
libpoppler-qt4-dev_0.26.5-2_amd64.deb
a15eae18b4124ed717e5efba121dba33431595d9 130760
libpoppler-qt5-1_0.26.5-2_amd64.deb
475154896318bd94a6821b5a8b005443bc19dc16 163726
libpoppler-qt5-dev_0.26.5-2_amd64.deb
df03ed87a9e1656ce1ff7ade4ddf1eef7b0d6318 43498
libpoppler-cpp0_0.26.5-2_amd64.deb
8b040366928d7a85a617b82d6d331baca2262bc7 47938
libpoppler-cpp-dev_0.26.5-2_amd64.deb
ad3fda5fe6e21f5f9c2d564b4facec269a14c752 139532
poppler-utils_0.26.5-2_amd64.deb
2fbab38e8a7b110609cfd3a9fddc0897d97ea70c 7678068 poppler-dbg_0.26.5-2_amd64.deb
Checksums-Sha256:
602ba67c4da87e814e9b6723b3ec82df558501ba16cba595c1672a242fbd5a7f 2612
poppler_0.26.5-2.dsc
84464c6381f2c65f5f841067ab3b70bcd064e61fbd6455706c2a476f010c13eb 30128
poppler_0.26.5-2.debian.tar.xz
686978fc7004853a43c9442c9eccc489c57eb68705a396b9f3547dd7b9057ce2 1209648
libpoppler46_0.26.5-2_amd64.deb
060a59ec03230121482742f4594e4a9bdc3554ce7f15bbd4f1a614266a3e4e60 763394
libpoppler-dev_0.26.5-2_amd64.deb
d78834503019dba2d4b641a1cb2e6ca254ba670ad9de08af80b907c74923c981 179020
libpoppler-private-dev_0.26.5-2_amd64.deb
cb0856786b10baeeda75d25e6ad4d39e0418b08f8d616fcf2e4ab1c3bb9a40d1 120900
libpoppler-glib8_0.26.5-2_amd64.deb
fd7b52ae49bd116ee2263c7db4e8c2eaa335650b1c416a9b09c48352dcdd6aa3 161918
libpoppler-glib-dev_0.26.5-2_amd64.deb
b2af9599392d3aed52714de0a8d83535d1da50824ef78e7c0633671db3d71849 84288
libpoppler-glib-doc_0.26.5-2_all.deb
08a9a11866fa5eebd4a90f23d7396ae8868faba3da43b8fc34a467df4fdc4bfb 32892
gir1.2-poppler-0.18_0.26.5-2_amd64.deb
a056bf03b8125cd44a87164bced8ff0eda029dc586daf45a3f6bf0793260479c 126796
libpoppler-qt4-4_0.26.5-2_amd64.deb
7693c158b07d6328effc685763c76312f089d866ad6a2a390bd4b3ac9bb4d4b8 157424
libpoppler-qt4-dev_0.26.5-2_amd64.deb
7eaa38d14190c1092d423cc9f0b1881c8a45b344f04f6f8da1f0f409b454a209 130760
libpoppler-qt5-1_0.26.5-2_amd64.deb
f9f23b42608dc59157f5461bc11ab822d937069a38c027e3edb045ca95e80c15 163726
libpoppler-qt5-dev_0.26.5-2_amd64.deb
f841dbb0adf5f79320f5d7b5cfba1702121ce168e7ceab2b02d1f194b44d41c3 43498
libpoppler-cpp0_0.26.5-2_amd64.deb
34375e2576cca4a4219b4d0d8219e6524def9b0a00af9c2e59f6ccad9bf56849 47938
libpoppler-cpp-dev_0.26.5-2_amd64.deb
022b5a16793c236472b42040ac0ebd9a9ec935666f8a43ed49b34202efe79a46 139532
poppler-utils_0.26.5-2_amd64.deb
dcd235964c3b7fd1484428b397fc2a9914e8b70e60d3ef3bb330968be804541f 7678068
poppler-dbg_0.26.5-2_amd64.deb
Files:
9db7f1f5316926755dceb011e60a77dc 2612 devel optional poppler_0.26.5-2.dsc
711a2005cf32ba697e61b83b57c09d94 30128 devel optional
poppler_0.26.5-2.debian.tar.xz
939a3727a23c6339320468c856522da1 1209648 libs optional
libpoppler46_0.26.5-2_amd64.deb
91b7df5a85b6bc1f775ada92813c0904 763394 libdevel optional
libpoppler-dev_0.26.5-2_amd64.deb
1a5b28a67b384514682aa51b8879a834 179020 libdevel optional
libpoppler-private-dev_0.26.5-2_amd64.deb
7816d42a5e7af5e8bd6d4eb5f4689a7c 120900 libs optional
libpoppler-glib8_0.26.5-2_amd64.deb
a3175e9b92d4db99503d6c91bde9e363 161918 libdevel optional
libpoppler-glib-dev_0.26.5-2_amd64.deb
aeee108e7b0c05d49a9cf3b87e987a6f 84288 doc optional
libpoppler-glib-doc_0.26.5-2_all.deb
e8e6334228f6678079bb9f272398f53e 32892 introspection optional
gir1.2-poppler-0.18_0.26.5-2_amd64.deb
76fa4c6a19964c8d3c36e090f271e0b8 126796 libs optional
libpoppler-qt4-4_0.26.5-2_amd64.deb
a662111c9dcc1d38aacfc2e48d9346a9 157424 libdevel optional
libpoppler-qt4-dev_0.26.5-2_amd64.deb
4261e577ec62ffbeb61aca412fa6bc94 130760 libs optional
libpoppler-qt5-1_0.26.5-2_amd64.deb
c7d481b07a14add4a7c1bf18f3ff4146 163726 libdevel optional
libpoppler-qt5-dev_0.26.5-2_amd64.deb
faf12bbeb25b18d499681c323971ed9a 43498 libs optional
libpoppler-cpp0_0.26.5-2_amd64.deb
706ced31d8a8721d81b3dc2c33239839 47938 libdevel optional
libpoppler-cpp-dev_0.26.5-2_amd64.deb
023f58e9b1e65796622db27008f2e28d 139532 utils optional
poppler-utils_0.26.5-2_amd64.deb
614b8d2bfec217f4c91241421fb2dfed 7678068 debug extra
poppler-dbg_0.26.5-2_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iD8DBQFUQ+pwTNH2piB/L3oRAtSSAJ9SyR/0fCYnXbSHBmfRHLtFWdLUeQCg2Lbr
jwYLP9yQMN3f0+8HgK2154M=
=EpcH
-----END PGP SIGNATURE-----
--- End Message ---