summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Sharp <ken.sharp@artifex.com>2012-03-01 11:06:54 +0000
committerChris Liddell <chris.liddell@artifex.com>2012-03-15 11:54:23 +0000
commit29a7204295dff2b8de1521538f9eed23e02322fd (patch)
tree591922875ad5aa691ac63d80d1cedd5d6cbbc96c
parent86dceaeffd322e2b07037f2e3f458f663ab69469 (diff)
downloadghostpdl-29a7204295dff2b8de1521538f9eed23e02322fd.tar.gz
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.c3
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. */