<div dir="ltr">Hi Ross, <div class="gmail_extra"><br><div class="gmail_quote">2014/1/5 Ross Moore <span dir="ltr"><<a href="mailto:ross.moore@mq.edu.au" target="_blank">ross.moore@mq.edu.au</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>>> While we're on this subject, maybe you could have a look at the PS output produced by pdftops, when processing the same file?<br>
>> The resulting level 3 PostScript cannot be parsed by Distiller either, the error is<br>
>><br>
>> %%[ Error: undefined; OffendingCommand: xyshow ]%%<br>
<br>
OK. I can reproduce this.<br>
<br>
Again  ps2pdf  has no problem with it, but Apple's  pstopdf<br>
also fails to do the conversion.<br>
<br>
<br>
This is most perplexing as the  xyshow  command is handled<br>
correctly 10 times, but fails on the 11th usage.<br>
<br></blockquote><div><br></div><div>Just to be sure I understand this correctly: I only see xyshow being used once in the document, when defining Tj macro. </div><div>Do you refer to the 11th invocation of Tj macro? </div>

<div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
It seems that the difficulty is first encountered<br>
when handling the chinese characters in the heading of<br>
the Form.<br>
(Preceding this are the characters of:  "Form V.2013"<br>
at top-right of page 1. These are done OK. )<br>
<br>
Here's how I can check this:<br>
<br>
>> % text string operators<br>
>> /xyshow where {<br>
>>   pop<br>
>>   /xyshow2 {<br>
>>     dup length array<br>
>>     0 2 2 index length 1 sub {<br>
>>       2 index 1 index 2 copy get 3 1 roll 1 add get<br>
>>       pdfTextMat dtransform<br>
>>       4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put<br>
>>     } for<br>
>>     exch pop<br>
  mark /xyshow where pstack cleartomark  %<--- insert this line<br>
>>     xyshow<br>
>>   } def<br>
>> }{<br>
>>   /xyshow2 {<br>
>>     currentfont /FontType get 0 eq {<br>
    ... etc ...<br>
<br>
This causes the contents of the stack to be written to the Log<br>
immediately before  xyshow  is called.<br>
The indication is that  xyshow  is indeed well-defined,<br>
yet something still goes wrong.<br>
<br></blockquote><div><br></div><div>Thank you for the hint, I will try to do more debugging using this technique. </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


Thus the error must be happening at an internal level,<br>
not within the user-level PS coding. <br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
>><br>
>> Stack:<br>
>> [26.046 0.0 26.046 0.0 26.046 0.0 26.046 0.0]<br>
>> (Añ+cB'>˜)<br>
>> [1.447 0 1.447 0 1.447 0 1.447 0]<br>
>> (Añ+cB'>˜)<br>
>> 762.6<br>
>> 363.275<br>
<br>
By commenting out groups of lines like this, I can process<br>
further and further into the file.<br>
<br></blockquote><div><br></div><div>Does it mean that the error is not caused by any particular call to xyshow, but more likely by the number of such calls made consequently? </div><div>Maybe it is some kind of nesting issue, or stack not been freed properly issue?</div>

<div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
It seems that the errors occur with chinese characters,<br>
always when coming from the font referenced as:  /F243_0<br>
which is:<br>
<br>
/F243_0 /ZJWNJQ+SimSun 0 pdfMakeFont16L3<br>
<br>
%%BeginResource: font ZJWNJQ+SimSun<br>
%!PS-TrueTypeFont- 1<br>
20 dict begin<br>
/CIDFontName /ZJWNJQ+SimSun def<br>
/CIDFontType 2 def<br>
/FontType 42 def<br>
/CIDSystemInfo 3 dict dup begin<br>
  /Registry (Adobe) def<br>
  /Ordering (Identity) def<br>
  /Supplement 0 def<br>
  end def<br>
/GDBytes 2 def<br>
/CIDCount 28762 def<br>
/CIDMap 57524 string<br>
  0 1 28761 {<br>
    2 copy dup 2 mul exch -8 bitshift put<br>
    1 index exch dup 2 mul 1 add exch 255 and put<br>
  } for<br>
def<br>
/FontMatrix [1 0 0 1 0 0] def<br>
/FontBBox [-2 -37 256 220] def<br>
/PaintType 0 def<br>
/Encoding [] readonly def<br>
/CharStrings 1 dict dup begin<br>
  /.notdef 0 def<br>
  end readonly def<br>
/sfnts [<br>
<00010000000b00800003003063767420072903f0000000bc000002be6670676d<br>
 ...<br>
<br>
<br>
Thus it would seem that there could be something badly wrong<br>
with this font, or with the way it is being used in this document.<br>
<br>
Note carefully what I am saying here.<br>
Not every instance of this font's usage causes an error,<br>
but all the errors that I have found are associated with<br>
an instance of this font's use.<br>
<br>
<br>
<br>
>><br>
>> The PS file can be retrieved from here, it is 18Mb in size. (Unlike pdftocairo, pdftops generates huge PS files. This particular one gets 10x larger when I provide licensed fonts to pdftops.)<br>
<br>
Yes.<br>
Almost all of the first 87% of the file is devoted to the fonts.<br>
<br></blockquote><div><br></div><div>I kind of wonder why pdftops embeds so many instances of the font, while both pdftocairo and pdf2ps somehow avoid this problem and create smaller PS documents. But, that's a subject for another discussion. </div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
>> <a href="https://docs.google.com/uc?export=download&id=0B-vV7Qx5rjpEVWxVSWtFZU5UX2s" target="_blank">https://docs.google.com/uc?export=download&id=0B-vV7Qx5rjpEVWxVSWtFZU5UX2s</a><br>
>><br>
>> I suspect that there is a similar problem somewhere along the lines 284962-284999:<br>
>><br>
>> /DeviceGray {} CS<br>
>> [0] SC<br>
>> [0] SC<br>
>> 0.514 w<br>
>> 0.447 Tc<br>
>> -0.447 Tw<br>
>> 2 Tr<br>
>> [18 0 0 18 154.68 762.6] Tm<br>
>> 0 0 Td<br>
>> /F243_0 1 Tf<br>
>> (\004]\011~\004\352"A)<br>
>> [1.447<br>
>> 0<br>
>> 1.447<br>
>> 0<br>
>> 1.447<br>
>> 0<br>
>> 1.447<br>
>> 0] Tj<br>
>><br>
>> My very basic knowledge of PS doesn't allow be to get any deeper :(<br>
<br>
I did not encounter a problem at this point in the file;<br>
but yes this also corresponds to an instance of  /F243_0 !<br>
<br></blockquote><div><br></div><div>I only point to this location because it's the first mention of the [1.447 0 1.447 0 1.447 0 1.447 0] sequence, referred to by Distiller error message. Perhaps I misinterpret Distiller's message. </div>

<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Hope this helps,<br></blockquote><div><br></div><div>It helps greatly, thanks again. </div><div><br></div><div><br></div><div>-Alex</div></div></div></div>