[cairo-bugs] [Bug 15445] cairo generated postscript blocks Dell 5100cn

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Apr 11 01:56:00 PDT 2008


http://bugs.freedesktop.org/show_bug.cgi?id=15445





--- Comment #2 from Adrian Johnson <ajohnson at redneon.com>  2008-04-11 01:55:57 PST ---
Thanks for the test files. This narrows it down a bit.

The only difference between 07g.ps and 06b.ps is more of the same text
operators. I am wondering if these operators are somehow using up too much
memory.

To check on the memory usage you can paste the following PS code into one of
the PS files and print it:

/Helvetica findfont 
12 scalefont setfont
50 50 moveto (VM max: ) show
vmstatus
20 string cvs show
( bytes    VM Used: ) show
20 string cvs show
( bytes   Save Level: ) show
20 string cvs show 

I suggest placing just before the

grestore
showpage

near the end of the file. You can change the "50 50 moveto" if you want to
print to a different location on the page. It would be interesting to see how
the available memory changes as the blocks of:

  0 g
  BT
  /f-3-0 1 Tf
  9.9626 0 0 9.9626 188.390323 447.540186 Tm
  [<1f08>] TJ
  ET

type code are added or removed.

The text is sometimes displayed with the "Tj" operator with a hex string eg
<12> Tj

and sometimes displayed with the "TJ" operator which takes an array of strings,
each string separated by a horizontal position adjustment eg
[<05> -1.031738 <0c>] TJ

It would be interesting to see if only using one or the other in the file makes
a difference.

Looking at the other operators:

"0 g" sets the color to black

"BT" and "ET" do nothing and are there for PDF compatibility.

/f-3-0 1 Tf   stores the font name "f-3-0" for later use by the "Tm" operator.

a b c d e f Tm   is the most interesting operator in this file and is where I
suspect the problem may be. It creates a new font with the font matrix
specified by the 6 numbers.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the cairo-bugs mailing list