Summary: | "/invalidfont in --.type1execchar--" for certain font characters | ||
---|---|---|---|
Product: | Ghostscript | Reporter: | Jim Riggs <junk> |
Component: | PS Interpreter | Assignee: | Default assignee <ghostpdl-bugs> |
Status: | RESOLVED DUPLICATE | ||
Severity: | major | CC: | alex |
Priority: | P4 | Keywords: | bountiable |
Version: | 8.54 | ||
Hardware: | All | ||
OS: | All | ||
Customer: | Word Size: | --- |
Description
Jim Riggs
2006-10-04 08:26:41 UTC
Please try the current svn version. The bug may be fixed already. You can also email me the font and sample files. OK, I have tried trunk with almost the same result. The only difference now is that the error is "/invalidfont in --execute--" rather than --.type1execchar--: GS>0 0 moveto /ItcEras-Book 12 selectfont (O) show Loading ItcEras-Book font from /tmp/gs/share/ghostscript/fonts/VZQjm74J.pfb... 3427628 1654123 1539136 248709 1 done. gxtype1.c( 109): [1]gs_type1_interp_init gstype1.c( 169): [1]0: (185) 46.000000 gstype1.c( 130): [1] (620)+168 gstype1.c( 169): [1]1: (249) 788.000000 gstype1.c( 181): [1]0x15f54f1: 0d hsbw gxtype1.c( 202): [1]sb=(46,0) w=(788,0) gxtype1.c( 109): [1]gs_type1_interp_init gstype1.c( 169): [1]0: (185) 46.000000 gstype1.c( 130): [1] (620)+168 gstype1.c( 169): [1]1: (249) 788.000000 gstype1.c( 181): [1]0x15f54f1: 0d hsbw gxtype1.c( 202): [1]sb=(46,0) w=(788,0) gstype1.c( 130): [1] (108)+20 gstype1.c( 169): [1]0: (247) 128.000000 gstype1.c( 181): [1]0x15f54f4: 0a callsubr gstype1.c( 130): [1] (620)+13 gstype1.c( 169): [1]0: (249) 633.000000 gstype1.c( 169): [1]1: (183) 44.000000 gstype1.c( 181): [1]0x15b7cbf: 01 hstem gstype1.c( 169): [1]0: (198) 59.000000 gstype1.c( 169): [1]1: (199) 60.000000 gstype1.c( 181): [1]0x15b7cc2: 03 vstem gstype1.c( 130): [1] (108)+244 gstype1.c( 169): [1]0: (247) 352.000000 gstype1.c( 169): [1]1: (190) 51.000000 gstype1.c( 181): [1]0x15b7cc6: 03 vstem gstype1.c( 181): [1]0x15b7cc7: 0b return gstype1.c( 130): [1] (108)+240 gstype1.c( 169): [1]0: (247) 348.000000 gstype1.c( 130): [1] (620)+58 gstype1.c( 169): [1]1: (249) 678.000000 gstype1.c( 181): [1]0x15f54f9: 15 rmoveto gstype1.c( 130): [1] (108)+11 gstype1.c( 169): [1]0: (247) 119.000000 gstype1.c( 181): [1]0x15f54fc: 0a callsubr gstype1.c( 169): [1]0: (43) -96.000000 gstype1.c( 130): [1] (108)+50 gstype1.c( 169): [1]1: (247) 158.000000 gstype1.c( 181): [1]0x22d4ad3: 01 hstem gstype1.c( 169): [1]0: (139) 0.000000 gstype1.c( 130): [1] (108)+22 gstype1.c( 169): [1]1: (247) 130.000000 gstype1.c( 181): [1]0x22d4ad7: 03 vstem gstype1.c( 181): [1]0x22d4ad8: 0b return gstype1.c( 130): [1] (108)+141 gstype1.c( 169): [1]0: (247) 249.000000 gstype1.c( 169): [1]1: (238) 99.000000 gstype1.c( 130): [1] (108)+61 gstype1.c( 169): [1]2: (247) 169.000000 gstype1.c( 130): [1] (108)+52 gstype1.c( 169): [1]3: (247) 160.000000 gstype1.c( 181): [1]0x15f5504: 1f hvcurveto gstype1.c( 130): [1] (108)+139 gstype1.c( 169): [1]0: (247) 247.000000 gstype1.c( 130): [1] (-108)-38 gstype1.c( 169): [1]1: (251) -146.000000 gstype1.c( 130): [1] (108)+5 gstype1.c( 169): [1]2: (247) 113.000000 gstype1.c( 130): [1] (-108)-94 gstype1.c( 169): [1]3: (251) -202.000000 gstype1.c( 181): [1]0x15f550d: 1e vhcurveto gstype1.c( 181): [1]0x15f550e: 09 closepath gstype1.c( 169): [1]0: (91) -48.000000 gstype1.c( 181): [1]0x15f5510: 04 vmoveto gstype1.c( 130): [1] (108)+30 gstype1.c( 169): [1]0: (247) 138.000000 gstype1.c( 181): [1]0x15f5513: 0a callsubr gstype1.c( 130): [1] (108)+243 gstype1.c( 169): [1]0: (247) 351.000000 gstype1.c( 169): [1]1: (183) 44.000000 gstype1.c( 181): [1]0x15b7c29: 01 hstem gstype1.c( 130): [1] (620)+47 gstype1.c( 169): [1]0: (249) 667.000000 gstype1.c( 169): [1]1: (181) 42.000000 gstype1.c( 181): [1]0x15b7c2d: 03 vstem gstype1.c( 181): [1]0x15b7c2e: 0b return gstype1.c( 169): [1]0: (46) -93.000000 gstype1.c( 169): [1]1: (145) 6.000000 gstype1.c( 169): [1]2: (229) 90.000000 gstype1.c( 178): [1]0x15f5517: 1a?? Error: /invalidfont in --execute-- Operand stack: --dict:15/18(ro)(G)-- 79 O -string- Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- %loop_continue 1657 2 3 %oparray_pop --nostringval-- --nostringval-- false 1 %stopped_push .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- %finish_show --nostringval-- --nostringval-- 3 3 0 --nostringval-- (gs_show_enum) %op_show_continue Dictionary stack: --dict:1066/1123(ro)(G)-- --dict:0/20(G)-- --dict:72/200(L)-- Current allocation mode is local Current file position is 48 GS> #0 gs_type1_interpret (pcis=0xbfff99ec, pgd=0x2f, pindex=0xbfff9968) at ./src/gstype1.c:178 #1 0x00012d70 in type1_continue_dispatch (i_ctx_p=0x15be034, pcxs=0xbfff99ec, pcref=0x16, pos=0xbfffc3f8, num_args=32) at ./src/zchar1.c:666 #2 0x000127cc in bbox_finish (i_ctx_p=0x15be034, cont=0x12bf4 <bbox_fill>, exec_cont=0xbfffc478) at ./src/zchar1.c:496 #3 0x00012568 in bbox_finish_fill (i_ctx_p=0x15be034) at ./src/zchar1.c:432 #4 0x00012094 in charstring_execchar_aux (i_ctx_p=0x15be034, penum=0x15e4d88, pfont=0x22d2d9c) at ./src/zchar1.c:251 #5 0x000121e4 in charstring_execchar (i_ctx_p=0x15be034, font_type_mask=18) at ./src/zchar1.c:306 #6 0x00011e20 in ztype1execchar (i_ctx_p=0x16) at ./src/zchar1.c:174 #7 0x00081074 in call_operator (op_proc=0x90028068 <fflush>, i_ctx_p=0x0) at ./src/interp.c:104 #8 0x00083ae8 in interp (pi_ctx_p=0x210037c, pref=0x172f5c8, perror_object=0xbffff60c) at ./src/interp.c:1518 #9 0x00081648 in gs_call_interp (pi_ctx_p=0x210037c, pref=0x0, user_errors=1, pexit_code=0xbffff608, perror_object=0xbffff60c) at ./src/interp.c:488 #10 0x000814f8 in gs_interpret (pi_ctx_p=0x210037c, pref=0xbffff4e8, user_errors=1, pexit_code=0xbffff608, perror_object=0xbffff60c) at ./src/interp.c:446 #11 0x00077910 in gs_main_interpret (minst=0x16, pref=0x0, user_errors=22, pexit_code=0xa0001c4c, perror_object=0x16) at ./src/imain.c:214 #12 0x000782b4 in gs_main_run_string_end (minst=0x16, user_errors=10, pexit_code=0x608c8c, perror_object=0x16) at ./src/imain.c:530 #13 0x00078180 in gs_main_run_string_with_length (minst=0x2100328, str=0x26fb5c "systemdict /start get exec", length=26, user_errors=1, pexit_code=0xbffff608, perror_object=0xbffff60c) at ./src/imain.c:488 #14 0x000780f4 in gs_main_run_string (minst=0x2100328, str=0x26fb5c "systemdict /start get exec", user_errors=1, pexit_code=0xbffff608, perror_object=0xbffff60c) at ./src/imain.c:470 #15 0x0007a838 in run_string (minst=0x2100328, str=0x0, options=2) at ./src/imainarg.c:803 #16 0x00079434 in gs_main_run_start (minst=0x16) at ./src/imainarg.c:235 #17 0x00002a24 in main (argc=3, argv=0xbffff788) at ./src/gs.c:104 One of the problem fonts has been provided via e-mail. In that font, '(O) show' causes the error described. You can try other characters too. In 8.53, h, n, O, and Q cause the invalidfont. In 8.54 and trunk, n, O, and Q cause the invalidfont, but h, m, r, H, I, P, and R are giving me segfaults. This font (and the others we are having problems with) have been in use for years in our company without issues. Distiller is fine with them as are our printers. I've placed the user supplied font file in file://casper.ghostscript.com/home/support/688928/ItcEras-Book I cannot reproduce the problem. Perhaps, we have a wrong file. This is the md5 sum of the tested font. md5sum ItcEras-Book ef8c64033ff87d2fcea265ddd28a83ba *ItcEras-Book I've tried current revision on Linux+x86, WinNT x86, AIX RS/6000 604e and v. 8.54 on WinNT x86. Please provide more information about your system. Returning to support. Pleasse figure out whether this bug is still actual and please obtain a reproducible test case. The sample font file loads different fonts in high and low resolutions. High resolution is 600 dpi and higher. The font does the magic by undoing some of the defines with --restore--. This doesn't work in the global mode. Fonts, installed as resources or founded through FONTPATH are loaded to the global memory by default. The command line flag -dLOCALFONTS loads the font into current memory, which is usually local. This flag can be used to work around the poor design of the font. By chance, the font works at high resolution even in the global mode. By default, Distiller runs at 600 dpi, i.e. at high resolution. The ultimate fix for this kind of problems is to extract CharStrings and discard all kinds of PostScript nonsense. I'm making this bug a duplicate of another bug that requires a similar approach. *** This bug has been marked as a duplicate of 689691 *** |