[texhax] Translate PS-special into PDF-special

Heiko Oberdiek heiko.oberdiek at googlemail.com
Fri Jun 28 09:11:32 CEST 2013


On 27.06.2013 22:03, Alex Scorpan wrote:
> 
> I have a LaTeX document that draws some characters using PS \specials, like the one below.  I need to be convert this document so it runs under pdfLaTeX, therefore I need these \specials converted to PDF specials. (There are a lot of them, and I do not want to include them as external images.)
> 
> Is there an easy translation from PS to PDF for this?
> 
> \special{%
> " 0 0 moveto currentpoint translate
> 10 10 scale 76 75 true
> [74 0 0 -74 -2 61] {%
> <00003e000003e000000000007f800003f800000000007f800007fc00000000007f800007%
>  fc0000000000ff00000ff00000000000ff00000ff00000000001fe00381fe0001c000001%
>  fc007c1fc0007e000003f800fe3fc000ff000003f001ff3fffffff800007ffffffffffff%
>  ffc00007ffffffffffffffc0000f80e000f807800000000f80f000f007e00000001f0078%
>  01e003f00000001f007c01c001f80000003e003c03c000f80000007ee03e038000f80000%
>  00fcf03e030000f8000000f8fc3e020001f8000001f0fffffffffffc000003f0ffffffff%
>  fffc000007e0fffffffffff000000fc0fc00000007e000001f00fc00000007e000003e00%
>  fc00000007e000003800fc00000007e000001000fc00000007e000000000ffffffffffe0%
>  00000000ffffffffffe000000000fc00000007e000000000fc00000007e000000000fc00%
>  000007e000000000fc00000007e000000000fc00000007e000000000fc00000007e00000%
>  0000ffffffffffe000000000ffffffffffe000000000ffffffffffe000000000fc000000%
>  07e000000000fc00000007e000000000fc00000007e000000000fc00000007e000000000%
>  fc00000007e000000000fc00000007e000000000ffffffffffe000000000ffffffffffe0%
>  00000000fc7e0001ffe000000000fc7e0001ffe000000000f87e0001f80000000000f87e%
>  0001f80000000000007e0001f8001c000000007e0001f8003e000000007e0001f8007f00%
>  000000fe0001f800ff80000000fc0001f801ffc0ffffffffffffffffffe07fffffffffff%
>  fffffff03c0001f80001f8000000000001f80001f8000000000001f00001f80000000000%
>  03f00001f8000000000003e00001f8000000000007e00001f800000000000fc00001f800%
>  000000000f800001f800000000001f000001f800000000007c000001f80000000000f800%
>  0001f80000000003f0000001f8000000001fc0000001f8000000007e00000001f8000000%
>  0ff800000001f8000000080000000001f0000000000000000001e0000000>%
>     } imagemask
> }

Yes, it can be translated, e.g.:

\documentclass{article}
\usepackage{graphicx}
\usepackage{ifpdf}
\usepackage{atbegshi}
\ifpdf
  % Include dummy image to get /ImageB into /ProcSet.
  \AtBeginShipout{%
    \AtBeginShipoutUpperLeft{%
      \put(-100,100){%
        \includegraphics[height=50pt,width=50pt]{dummy.png}%
      }%
    }%
  }%
\fi
\pagestyle{empty}
\begin{document}

\mbox{}
\ifpdf
  \pdfliteral{%
    q
    10 0 0 10 0 0 cm
    BI
      /IM true%
      /W 76%
      /H 75%
      /D[1 0]%
      /F/AHx
    ID %
00003e000003e000000000007f800003f800000000007f800007fc00000000007f800007%
fc0000000000ff00000ff00000000000ff00000ff00000000001fe00381fe0001c000001%
fc007c1fc0007e000003f800fe3fc000ff000003f001ff3fffffff800007ffffffffffff%
ffc00007ffffffffffffffc0000f80e000f807800000000f80f000f007e00000001f0078%
01e003f00000001f007c01c001f80000003e003c03c000f80000007ee03e038000f80000%
00fcf03e030000f8000000f8fc3e020001f8000001f0fffffffffffc000003f0ffffffff%
fffc000007e0fffffffffff000000fc0fc00000007e000001f00fc00000007e000003e00%
fc00000007e000003800fc00000007e000001000fc00000007e000000000ffffffffffe0%
00000000ffffffffffe000000000fc00000007e000000000fc00000007e000000000fc00%
000007e000000000fc00000007e000000000fc00000007e000000000fc00000007e00000%
0000ffffffffffe000000000ffffffffffe000000000ffffffffffe000000000fc000000%
07e000000000fc00000007e000000000fc00000007e000000000fc00000007e000000000%
fc00000007e000000000fc00000007e000000000ffffffffffe000000000ffffffffffe0%
00000000fc7e0001ffe000000000fc7e0001ffe000000000f87e0001f80000000000f87e%
0001f80000000000007e0001f8001c000000007e0001f8003e000000007e0001f8007f00%
000000fe0001f800ff80000000fc0001f801ffc0ffffffffffffffffffe07fffffffffff%
fffffff03c0001f80001f8000000000001f80001f8000000000001f00001f80000000000%
03f00001f8000000000003e00001f8000000000007e00001f800000000000fc00001f800%
000000000f800001f800000000001f000001f800000000007c000001f80000000000f800%
0001f80000000003f0000001f8000000001fc0000001f8000000007e00000001f8000000%
0ff800000001f8000000080000000001f0000000000000000001e0000000>
  EI
  Q
  }%
\else
  \special{%
    " 0 0 moveto currentpoint translate
    10 10 scale 76 75 true
    [74 0 0 -74 -2 61] {%
<00003e000003e000000000007f800003f800000000007f800007fc00000000007f800007%
fc0000000000ff00000ff00000000000ff00000ff00000000001fe00381fe0001c000001%
fc007c1fc0007e000003f800fe3fc000ff000003f001ff3fffffff800007ffffffffffff%
ffc00007ffffffffffffffc0000f80e000f807800000000f80f000f007e00000001f0078%
01e003f00000001f007c01c001f80000003e003c03c000f80000007ee03e038000f80000%
00fcf03e030000f8000000f8fc3e020001f8000001f0fffffffffffc000003f0ffffffff%
fffc000007e0fffffffffff000000fc0fc00000007e000001f00fc00000007e000003e00%
fc00000007e000003800fc00000007e000001000fc00000007e000000000ffffffffffe0%
00000000ffffffffffe000000000fc00000007e000000000fc00000007e000000000fc00%
000007e000000000fc00000007e000000000fc00000007e000000000fc00000007e00000%
0000ffffffffffe000000000ffffffffffe000000000ffffffffffe000000000fc000000%
07e000000000fc00000007e000000000fc00000007e000000000fc00000007e000000000%
fc00000007e000000000fc00000007e000000000ffffffffffe000000000ffffffffffe0%
00000000fc7e0001ffe000000000fc7e0001ffe000000000f87e0001f80000000000f87e%
0001f80000000000007e0001f8001c000000007e0001f8003e000000007e0001f8007f00%
000000fe0001f800ff80000000fc0001f801ffc0ffffffffffffffffffe07fffffffffff%
fffffff03c0001f80001f8000000000001f80001f8000000000001f00001f80000000000%
03f00001f8000000000003e00001f8000000000007e00001f800000000000fc00001f800%
000000000f800001f800000000001f000001f800000000007c000001f80000000000f800%
0001f80000000003f0000001f8000000001fc0000001f8000000007e00000001f8000000%
0ff800000001f8000000080000000001f0000000000000000001e0000000>%
    } imagemask

  }%
\fi

\end{document}

Yours sincerely
  Heiko Oberdiek


More information about the texhax mailing list