diff options
author | Ken Sharp <ken.sharp@artifex.com> | 2012-03-01 11:06:54 +0000 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2012-03-15 11:54:23 +0000 |
commit | 29a7204295dff2b8de1521538f9eed23e02322fd (patch) | |
tree | 591922875ad5aa691ac63d80d1cedd5d6cbbc96c | |
parent | 86dceaeffd322e2b07037f2e3f458f663ab69469 (diff) |
pdfwrite - Improve handling of PCL downloaded TrueType fonts
Bug #692629. PCL TrueType fonts are missing some important tables for the
purposes of pdfwrite. In particular the CMAP table, which makes it impossible
to create glyph names.
This causes an error which *should* have resulted in pdfwrite falling back to
bitmaps. In the case of a single glyph, or a string where the fiirst glyph fails,
this did work correctly, but when one or more initial glyphs did work, the
calling code did not expect an error from TrueType fonts and failed to cope
properly by continuing to process the remaining glyphs.
Added TrueType fonts to the list which may error in this fashion.
Expected Differences:
AS40AOJ3.BIN
LW97DOJ2.BIN
SW108OJ2.BIN
VerdanaItalic.prn
bug689100.xl
bug689905.xl
All exhibit significant progressions (text was previously missing)
-rw-r--r-- | gs/base/gdevpdtt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gs/base/gdevpdtt.c b/gs/base/gdevpdtt.c index 170bc2321..90c0dbc7d 100644 --- a/gs/base/gdevpdtt.c +++ b/gs/base/gdevpdtt.c @@ -3354,7 +3354,8 @@ pdf_text_process(gs_text_enum_t *pte) if (code < 0 || ((pte->current_font->FontType == ft_user_defined || pte->current_font->FontType == ft_PCL_user_defined || - pte->current_font->FontType == ft_GL2_stick_user_defined) && + pte->current_font->FontType == ft_GL2_stick_user_defined || + pte->current_font->FontType == ft_TrueType) && code != TEXT_PROCESS_INTERVENE && penum->index < penum->text.size)) { if (code == gs_error_unregistered) /* Debug purpose only. */ |