Bug 50699 - [PATCH] Problem with greek glyphnames using type1 font for postscript output
Summary: [PATCH] Problem with greek glyphnames using type1 font for postscript output
Status: CLOSED FIXED
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: ps (show other bugs)
Version: all
Hardware: PC Windows XP
: P2 normal
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords: PatchAvailable
Depends on:
Blocks:
 
Reported: 2011-02-01 10:21 UTC by alpapad
Modified: 2012-03-28 08:43 UTC (History)
0 users



Attachments
to be appliend on file org.apache.fop.fonts.SingleByteFont.java (3.39 KB, patch)
2011-02-02 03:45 UTC, alpapad
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description alpapad 2011-02-01 10:21:47 UTC
We have an issue regarding the generation of postscript documents 
using a custom type1 font in the greek language. The font we tried is 
called kerkis (can be found @ 
http://iris.math.aegean.gr/kerkis/Kerkis_for_LaTeX.zip),
but the same behaviour is observed using true type fonts that we have converted to type1 using open source tools (like fontforge).
 
Trying to render the attached sample.fo with the config given, Fop complaints with the following message:
org.apache.fop.events.LoggingEventListener processEvent WARNING: Glyph "?" (0x394, Deltagreek) not available in font "Kerkis".
org.apache.fop.events.LoggingEventListener processEvent WARNING: Glyph "O" (0x3a9, Omegagreek) not available in font "Kerkis".
 
Our fonts, have glyphs named Omega and Delta - only. Browsing around we found that basically, the code 0x3a9 is equivalent to 0x2126 (Omega) and 0x394 to 0x2206 (Delta). Apparently there are other codes for the Cyrilic version of Omega and Delta, that actually "point" to the same glyph. These are all defined in xmlgraphics-commons library, in org.apache.xmlgraphics.fonts.Glyphs classm put they point to different glyph names, like:
 
 Omega;2126
 Omegacyrillic;0460
 Omegagreek;03A9
 Omegaroundcyrillic;047A
 Omegatitlocyrillic;047C
 
 And
 Delta;2206
 Deltagreek;0394
 
Fop uses this class to resolve codes to glyph names, and then uses this name to look the glyph in the font, thus producing the error you see.


The patch fixes the error, what might be missing, is filling the map with a not found symbol, for the case were no alternatives were found...
Comment 1 alpapad 2011-02-02 03:45:01 UTC
Created attachment 26592 [details]
to be appliend on file org.apache.fop.fonts.SingleByteFont.java
Comment 2 Jeremias Maerki 2011-02-02 07:33:02 UTC
Applied. Thanks!

http://svn.apache.org/viewvc?rev=1066400&view=rev