Bug 842351

Summary: CMap file "Identity-H" missing due to poppler-data change/cleanup
Product: [Fedora] Fedora Reporter: Robert Scheck <redhat-bugzilla>
Component: poppler-dataAssignee: Rex Dieter <rdieter>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: mkasik, rdieter, robert.scheck, twaugh
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-09-25 06:22:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 630632    
Attachments:
Description Flags
Situation on RHEL 6 and old Fedora (working as expected)
none
Situation on Fedora 16/17 (broken, doesn't work anymore) none

Description Robert Scheck 2012-07-23 14:39:13 UTC
Description of problem:
Since the poppler-data change/cleanup the CMap file "Identity-H" is missing
which originally was shipped by the ghostscript package. However, CMap of the
ghostscript package is empty and data seems to be delivered by poppler-data,
but poorly incomplete/broken. See the attached files for examples about how
to reproduce.

Version-Release number of selected component (if applicable):
ghostscript-9.05-1.fc17.x86_64
poppler-data-0.4.5-2.fc17.noarch

How reproducible:
Everytime, see above and below - and the attachments.

Actual results:
CMap file "Identity-H" missing due to poppler-data change/cleanup

Expected results:
File "Identity-H" again - like in good old times without the poppler mess...

Comment 1 Robert Scheck 2012-07-23 14:40:03 UTC
Created attachment 599797 [details]
Situation on RHEL 6 and old Fedora (working as expected)

Comment 2 Robert Scheck 2012-07-23 14:40:41 UTC
Created attachment 599798 [details]
Situation on Fedora 16/17 (broken, doesn't work anymore)

Comment 3 Robert Scheck 2012-07-23 14:41:19 UTC
Are these few MB overhead from ghostscript really worth the effort of all
this trouble and debugging and so on? Not really. Please fix...

Comment 4 Robert Scheck 2012-07-23 14:43:12 UTC
I think, even all Identity-* files are even missing?!

Comment 5 Robert Scheck 2012-07-23 15:18:40 UTC
CMaps Identity-H, Identity-UTF16-H, Identity-UTF16-V and Identity-V are
missing.

Comment 6 Robert Scheck 2012-07-23 20:02:52 UTC
https://launchpad.net/ubuntu/+source/poppler-data/0.4.0-2 - even Ubuntu is
shipping these CMaps. However the strange upstream seems to dislike them?!

Comment 7 Robert Scheck 2012-07-26 23:04:14 UTC
Marek, ping?

Comment 8 Marek Kašík 2012-07-27 07:13:56 UTC
This should be reported against poppler-data. I'm reassigning this.

Comment 9 Rex Dieter 2012-08-31 14:03:55 UTC
Acknowledged, sorry for my not having time to look into this more  deeply, hopefully, I'll have more time next week.

So plan of attack (in case anyone is willing/able to help):

* compare poppler-data-0.4.5 (latest) with prior releases, back at least to 0.4.0 (or more) and take note of what's gone missing, paying careful attention to Identity-* files referenced in comment #4 and comment #5

* manually re-add missing files in popper-data packaging, test if this helps fix the reported issues

* poke poppler/poppler-data upstream about how/why this files changed and/or went missing.

Comment 10 Rex Dieter 2012-09-15 20:16:04 UTC
OK, so looked inside every poppler-data file going back  to 0.2.1, and none of  them contain any file named Identity-*

Indeed, after looking at 
https://launchpad.net/ubuntu/+source/poppler-data/0.4.0-2
  * add "Adobe-Identity-0 (Special Purpose)", Identity-H and Identity-V file.
    poppler-data upstream reject to add it, but this debian package include it.

so, looks like the ommision is on purpose.  :(

I've found the sources, and included in poppler-0.4.5-4:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4487091


I have a question for ghostscript maintainer:

debian's poppler-data seems to symlink cmaps to /usr/share/ghostscript/.../Resource/CMap, whereas the approach here seemed to be  to include in FONTPATH everything matching:
%{_datadir}/poppler/cMap/*

if you want to keep that approach, then 
%{_datadir}/poppler/cMap
should probably be added too (i'm currently adding the Identity- files directly in that directory as how debian is doing it).

(without that change, Robert's testcase still fails)

Thoughts?

Comment 11 Rex Dieter 2012-09-15 20:29:08 UTC
Hrm, adding /usr/share/poppler/cMap to fontpath doesn't seem to work. 

linking the stuff under /usr/share/poppler/cMap/ into
/usr/share/ghostscript/.../Resource/CMap/

yields something a little better,  

GS>/DejaVuLGCSans-Bold-Identity-H findfont
Scanning /usr/share/fonts/default/ghostscript for fonts... 20 files, 1 scanned, 0 new fonts.
Scanning /usr/share/fonts/default/Type1 for fonts... 72 files, 36 scanned, 35 new fonts.
Scanning /usr/share/fonts/dejavu for fonts... 30 files, 30 scanned, 30 new fonts.
Scanning /usr/share/poppler/cMap for fonts... 7 files, 7 scanned, 0 new fonts.
Loading a TT font from /usr/share/fonts/dejavu/DejaVuLGCSans-Bold.ttf to emulate a CID font DejaVuLGCSans-Bold ... Done.
Can't find CMap Identity-UTF16-H building a CIDDecoding resource. 
Error: /undefinedresource in /findfont
Operand stack:
   DejaVuLGCSans-Bold-Identity-H
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   %loop_continue   --nostringval--   --nostringval--   false   1   %stopped_push   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   1868   1   3   %oparray_pop
Dictionary stack:
   --dict:1168/1684(ro)(G)--   --dict:0/20(G)--   --dict:77/200(L)--
Current allocation mode is local
Last OS error: 2
Current file position is 40


Mind you, the only identity files I found so far were:
Identity-H  Identity-V

Comment 12 Rex Dieter 2012-09-15 20:52:50 UTC
Identity-UTF16-H looks like is included in ghostscript tarball, I guess I could use that one.  After including and symlinking that one into
/usr/share/ghostscript/.../Resource/CMap/
too, the test case succeeds.  yay.

poppler-0.4.5-5 includes that one too:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4487137

So, we're left with getting ghostscript to actually find/use the stuff in
/usr/share/poppler/cMap/ and Why doesn't setting gs FONTPATH=.../usr/share/poppler/cMap/ work?

Comment 13 Rex Dieter 2012-09-15 21:38:24 UTC
re-opened bug #630632 the the "ghostscript (still) not using poppler cmaps" problem.

Comment 14 Fedora Update System 2012-09-15 22:11:42 UTC
poppler-data-0.4.5-5.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/poppler-data-0.4.5-5.fc18

Comment 15 Fedora Update System 2012-09-16 19:16:39 UTC
Package poppler-data-0.4.5-5.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing poppler-data-0.4.5-5.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-13984/poppler-data-0.4.5-5.fc18
then log in and leave karma (feedback).

Comment 16 Robert Scheck 2012-09-16 23:35:20 UTC
The following files are in poppler-data-0.4.5-5.fc18:
/usr/share/poppler/cMap/Identity-H
/usr/share/poppler/cMap/Identity-UTF16-H
/usr/share/poppler/cMap/Identity-V

The following file is still *missing* in poppler-data-0.4.5-5.fc18:
/usr/share/poppler/cMap/Identity-UTF16-V

Comment 17 Robert Scheck 2012-09-16 23:38:52 UTC
a) All Identity-* files came originally from Ghostscript
b) Can you provide a fixed RPM for Fedora 17 updates (see comment #16 first)

Comment 18 Rex Dieter 2012-09-17 01:09:50 UTC
ghostscript (at least version 9.05 as  shippped with f17) doesn't include Identity-UTF16-V

Comment 19 Rex Dieter 2012-09-17 01:14:31 UTC
So, additional open questions:
* is Identity-UTF16-V really needed?
* if so, where do we get it from?   Looks like ghostscript-8.71 last included it, but since ghostscript no longer does, it seems to imply it's not needed or wanted anymore.

Comment 20 Fedora Update System 2012-09-17 11:46:44 UTC
poppler-data-0.4.5-5.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/poppler-data-0.4.5-5.fc17

Comment 21 Fedora Update System 2012-09-19 12:16:02 UTC
poppler-data-0.4.5-6.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/poppler-data-0.4.5-6.fc16

Comment 22 Robert Scheck 2012-09-19 22:13:48 UTC
Looks like Identity-UTF16-V is no longer necessarily required with latest
ghostscript...also fine.

Comment 23 Fedora Update System 2012-09-25 06:22:46 UTC
poppler-data-0.4.5-6.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.