[tex-k] Bug#266718: dvips font inclusion broken in TeXlive

Norbert Preining preining at logic.at
Wed May 2 07:38:51 CEST 2007


Dear Kakuto-san,

thanks for taking a look at this, but ..

On Mit, 02 Mai 2007, Akira Kakuto wrote:
> In such a case, font is fully downloaded irrespective of -j0 and -j1
> in the fixed dvips, and 5.96 is a fixed one.
> I cannot reproduce the bug. See the attached zip file,
> which contains fig.mp, test.tex, fig.0 and test.ps.

I tried your test case and ..
> (
> mpost fig
> latex test
> dvips -Ppdf -o test.ps test
> )

gave me a PostScript file which did NOT contain the full font.


So either your dvips is different from mine, or something in the config
files change that. I attach my config.ps. I tried it with
	dvips
(which by default uses -j) and also with
	dvips -Ppdf

I diffed the created ps files and couldn't find any big difference:
	diff -u my-test.ps akira-test.ps
(excerpt, there were more (like creation date, and the included font).


-%%Creator: dvips(k) 5.96 Copyright 2005 Radical Eye Software
+%%Creator: dvips(k) 5.96 Copyright 2007 Radical Eye Software

-%%BoundingBox: 0 0 595 842
+%%BoundingBox: 0 0 595 843

-%DVIPSParameters: dpi=8000
-%DVIPSSource:  TeX output 2007.05.02:0728
-%%BeginProcSet: tex.pro 0 0
+%DVIPSParameters: dpi=9600, compressed
+%DVIPSSource:  TeX output 2007.05.02:0944
+%%BeginProcSet: texc.pro 0 0


@@ -31,10 +31,22 @@
 definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
 }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
 B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
-/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
-setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
-restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
 /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
 }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
 bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A

@@ -43,19 +55,21 @@
 userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
+def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
+rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
+N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
+false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
+length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
+forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
+BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
+{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end

-TeXDict begin 39139632 55387786 1000 8000 8000 (test.dvi)
- at start /Fa 205[553 50[{}1 1106.96 /CMR10 rf end
+TeXDict begin 39139633 55388455 1000 9600 9600 (test.dvi)
+ at start /Fa 205[664 50[{}1 1328.35 /CMR10 rf end

-TeXDict begin 1 0 bop 8524 6974 a Fa(2)369 b @beginspecial
+TeXDict begin 1 0 bop 10228 8369 a Fa(2)443 b @beginspecial

Best wishes

Norbert

-------------------------------------------------------------------------------
Dr. Norbert Preining <preining at logic.at>                    Università di Siena
Debian Developer <preining at debian.org>                         Debian TeX Group
gpg DSA: 0x09C5B094      fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
OK, so ten out of ten for style, but minus several million
for good thinking, yeah?
                 --- Douglas Adams, The Hitchhikers Guide to the Galaxy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.ps
Type: application/postscript
Size: 4761 bytes
Desc: not available
Url : http://tug.org/pipermail/tex-k/attachments/20070502/44689b9b/attachment.ps 


More information about the tex-k mailing list