summaryrefslogtreecommitdiff
path: root/pcl/pctext.c
diff options
context:
space:
mode:
authorHenry Stiles <henry.stiles@artifex.com>2006-08-26 23:44:30 +0000
committerHenry Stiles <henry.stiles@artifex.com>2006-08-26 23:44:30 +0000
commit5116f5399cf296b11f0f99e8273f8fc28a4b984c (patch)
treee38760ed1cbd4480a18a540e29cab8005c3bbf76 /pcl/pctext.c
parent0297ef5de1ac2fe09f028de58ef9a326eaa8ebc6 (diff)
pctext.c: fixes cet 20-01 p 11, 13. Symbol set type 0 is now treated
as symbol set type 1. This is according to several hp devices and contrary to the specification. We provide a preprocessor definition which can be uncommented to support the behavior in the spec. Thanks to Jan for his analysis on this problem. pgdraw.c: isotropic scaling did not work properly if the derived scaling factors for the x and y direction had different signs. Oddly this unusual feature does not occur in the fts but appears frequently in the cet. Verified fixes on page 1 of 28-0[256789], 28-10, 29-0[13456789]. Probably fixes problems on page 1 of most of the hpgl/2 jobs in the cet. git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@2537 06663e23-700e-0410-b217-a244a6096597
Diffstat (limited to 'pcl/pctext.c')
-rw-r--r--pcl/pctext.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/pcl/pctext.c b/pcl/pctext.c
index e7c7de9bf..3af1c2139 100644
--- a/pcl/pctext.c
+++ b/pcl/pctext.c
@@ -58,6 +58,13 @@ set_gs_font(
gs_setfont(pcs->pgs, pfont);
}
+/* uncomment the following definition to treat map type 0 as defined
+ in the specification. The default is to use the behavior we have
+ observed on several HP devices. Map type 0 is treated as map type
+ 1. */
+
+/* #define USE_MAP_TYPE_IN_SPECIFICATION */
+
/*
* Check if a character code is considered "printable" by given symbol set.
*/
@@ -85,6 +92,11 @@ is_printable(
map_type = pcs->font->font_type;
}
+#ifndef USE_MAP_TYPE_IN_SPECIFICATION
+ if ( map_type == 0 )
+ map_type = 1;
+#endif /* USE_MAP_TYPE_IN_SPECIFICATION */
+
if ( map_type == 0 )
printable = (chr >= ' ') && (chr <= '\177');
else if ( map_type == 1 ) {