diff options
author | Karl Berry <karl@freefriends.org> | 2011-04-12 22:56:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-04-12 22:56:39 +0000 |
commit | 3c9b5c2960ae2455180bdb3a4e67bf10175b39af (patch) | |
tree | 53ac9731c23e82f60349ec920ed8d816738913dc /Master/texmf-dist/tex/latex/oberdiek/atfi-dvips.def | |
parent | f437333cf5d63d69f5ab9fd1eb553af4175037d0 (diff) |
oberdiek (12apr11)
git-svn-id: svn://tug.org/texlive/trunk@22061 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/atfi-dvips.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/oberdiek/atfi-dvips.def | 498 |
1 files changed, 498 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/atfi-dvips.def b/Master/texmf-dist/tex/latex/oberdiek/atfi-dvips.def new file mode 100644 index 00000000000..4ba9e5eb0ff --- /dev/null +++ b/Master/texmf-dist/tex/latex/oberdiek/atfi-dvips.def @@ -0,0 +1,498 @@ +%% +%% This is file `atfi-dvips.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% attachfile2.dtx (with options: `dvips') +%% +%% This is a generated file. +%% +%% Copyright (C) 2005-2010 by +%% Heiko Oberdiek <heiko.oberdiek at googlemail.com> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% This Current Maintainer of this work is Heiko Oberdiek. +%% +%% This work consists of the main source file attachfile2.dtx +%% and the derived files +%% attachfile2.sty, attachfile2.pdf, attachfile2.ins, attachfile2.drv, +%% atfi-dvips.def, atfi-pdftex.def, atfi-dvipdfmx.def, +%% pdfatfi.pl. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{atfi-dvips.def}% + [2010/09/27 v2.6 attachfile2 driver for dvips (HO)]% +\def\atfi@literal#1{% + \special{ps:atfi_dict begin{#1}atfi_?pdfmark end}% +} +\def\atfi@header#1{% + \special{! #1}% +} +\atfi@header{% + userdict begin 20 dict dup /atfi_dict exch def end begin% + /atfi_?pdfmark systemdict % + dup/pdfmark known% + {% + /exec get def% + }{% + /pop get def% + } ifelse% + {% + % + % x y width height atfi_re -> + languagelevel 2 ge {% + /atfi_rectfill { rectfill } bind def% + /atfi_rectstroke { rectstroke } bind def% + }{% + /atfi_rect {% + /atfi_height exch def% + /atfi_width exch def% + /atfi_x exch def% + /atfi_y exch def % + newpath % + atfi_x atfi_y moveto % + atfi_x atfi_width add atfi_y lineto % + atfi_x atfi_width add atfi_y atfi_height add lineto % + atfi_x atfi_y atfi_height add lineto % + closepath% + } bind def% + /atfi_rectfill {% + atfi_rect fill% + } bind def% + /atfi_rectstroke {% + atfi_rect stroke% + } bind def% + } ifelse% + /atfi_curveto_v {% + currentpoint 6 2 roll curveto% + } bind def% + /atfi_curveto_y {% + 2 copy curveto% + } bind def% + % + % help macro for atfi_convert_date + /atfi_two {% + dup 10 lt% + {% + 1 string cvs % + exch 1 add exch% + }{% + 2 string cvs% + } ifelse % + putinterval% + } bind def% + % + % <seconds since 1970-01-01> atfi_convert_date -> (D:...Z) + /atfi_convert_date {% + dup% + /atfi_days exch 3600 idiv 24 idiv def% + % calc date part + /atfi_year 1970 def% + {% + atfi_year 400 mod 0 eq % + atfi_year 100 mod 0 ne % + atfi_year 4 mod 0 eq % + and or% + {366} {365} ifelse % + dup atfi_days lt% + {% + atfi_days exch sub /atfi_days exch def% + /atfi_year atfi_year 1 add def% + }{% + exit% + } ifelse% + } loop% + /atfi_month 1 def% + /atfi_days atfi_days 1 add def % + 31 atfi_days lt% + {% + atfi_days 31 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 366 eq {29} {28} ifelse dup atfi_days lt% + {% + atfi_days exch sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 31 atfi_days lt% + {% + atfi_days 31 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 30 atfi_days lt% + {% + atfi_days 30 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 31 atfi_days lt% + {% + atfi_days 31 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 30 atfi_days lt% + {% + atfi_days 30 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 31 atfi_days lt% + {% + atfi_days 31 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 31 atfi_days lt% + {% + atfi_days 31 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 30 atfi_days lt% + {% + atfi_days 30 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 31 atfi_days lt% + {% + atfi_days 31 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 30 atfi_days lt% + {% + atfi_days 30 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def % + 31 atfi_days lt% + {% + atfi_days 31 sub /atfi_days exch def% + /atfi_month atfi_month 1 add def% + } if% + } if% + } if% + } if% + } if% + } if% + } if% + } if% + } if% + } if% + } { pop } ifelse% + }{ pop } ifelse % + % calc time part + 3600 24 mul mod % + dup 3600 idiv dup /atfi_hour exch def % + 3600 mul sub % + dup 60 idiv dup /atfi_min exch def % + 60 mul sub % + /atfi_sec exch def% + (D:19700101000000Z)% + dup 2 atfi_year 4 string cvs putinterval % + dup 6 atfi_month atfi_two % + dup 8 atfi_days atfi_two % + dup 10 atfi_hour atfi_two % + dup 12 atfi_min atfi_two % + dup 14 atfi_sec atfi_two% + } bind def % + % + % <filename> atfi_calc_checksum -> /CheckSum <checksum> + % or returns nothing, if MD5Encode is not given + false % + languagelevel 2 ge {% + (MD5Encode)% + { pop true or }% + (MD5Encode) length string% + /Filter % + resourceforall% + } if% + {% + /atfi_calc_checksum {% + /atfi_checksum 16 string def% + /atfi_file exch (r) file def% + /atfi_md5sum atfi_checksum /MD5Encode filter def % + % not too efficient to read and write byte by byte, + % using a buffer is probably faster + atfi_size {% + atfi_file read% + {% + atfi_md5sum exch write% + } if% + } repeat % + atfi_md5sum closefile % + atfi_file closefile% + /CheckSum atfi_checksum% + } bind def% + }{% + /atfi_calc_checksum { pop } bind def% + } ifelse% + % + /atfi_pttobp { 72.27 div 72 mul } bind def% + /atfi_pdftodvipsx { 72.27 div Resolution mul } bind def% + /atfi_pdftodvipsy { 72.27 div VResolution mul } bind def% + % + } atfi_?pdfmark % + end% +} +\def\atfi@GSAVE{gsave } +\def\atfi@GRESTORE{grestore } +\def\atfi@SETLINEWIDTH{setlinewidth } +\def\atfi@LINETO{lineto } +\def\atfi@MOVETO{moveto } +\def\atfi@STROKE{stroke } +\def\atfi@FILL{fill } +\def\atfi@FILLSTROKE#1#2{gsave #1 fill grestore #2 stroke } +\def\atfi@SETRGBCOLORSTROKE{setrgbcolor } +\def\atfi@SETRGBCOLORFILL{setrgbcolor } +\def\atfi@SETGRAYSTROKE{setgray } +\def\atfi@SETGRAYFILL{setgray } +\def\atfi@SETCMYKCOLORSTROKE{setcmykcolor } +\def\atfi@SETCMYKCOLORFILL{setcmykcolor } +\def\atfi@RECTFILL{atfi_rectfill } +\def\atfi@RECTSTROKEFILL#1#2#3{% + #3% + #1% + gsave atfi_rectfill grestore % + #2% + #3% + atfi_rectstroke % + #1% +} +\def\atfi@SETMITERLIMIT{setmiterlimit } +\def\atfi@SETFLAT{setflat } +\def\atfi@SETLINECAP{setlinecap } +\def\atfi@CURVETO{curveto } +\def\atfi@CURVETOV{atfi_curveto_v } +\def\atfi@CURVETOY{atfi_curveto_y } +\def\atfi@CLOSEPATH{closepath } +\def\atfi@SETLINEJOIN{setlinejoin } +\newcounter{atfi@obj} +\renewcommand*{\theatfi@obj}{% + {atfi_obj_\number\c@atfi@obj}% +} +\define@key{AtFi@file}{Size}{} +\def\atfi@embedfile#1{% + \ltx@IfUndefined{atfi@fileobj@#1}{% + \atfi@pdfstringdef\atfi@psfilename{#1}% + \stepcounter{atfi@obj}% + \expandafter\xdef\csname atfi@fileobj@#1\endcsname{\theatfi@obj}% + \begingroup + \let\atfi@params\ltx@empty + \expandafter\let\expandafter\atfi@temp + \csname atfi@file@#1\endcsname + \ifx\atfi@temp\ltx@empty + \let\atfi@temp\relax + \fi + \ifx\atfi@temp\relax + \atfi@pdftexdata{#1}% + \else + \edef\x{% + \noexpand\setkeys{AtFi@file}{\@nameuse{atfi@file@#1}}% + }% + \x + \fi + \atfi@literal{% + /atfi_filename(\atfi@psfilename)def % + atfi_filename status% + {% + /atfi_created exch def% + /atfi_referenced exch def% + /atfi_size exch def % + pop % + [% + /_objdef \theatfi@obj + /type/stream% + /OBJ pdfmark% + [% + \theatfi@obj + <<% + /Type/EmbeddedFile% + \atfi@mimetype + /Params% + <<% + \atfi@params + % + /Size atfi_size% + % + /product where% + {% + pop % + product (Ghostscript) search% + {% + pop pop pop % + \ifatfi@creationdate + \else + false % TODO: test for windows + {% + /CreationDate atfi_created atfi_convert_date% + } if% + \fi + \ifatfi@moddate + \else + /ModDate atfi_referenced atfi_convert_date% + \fi + } if% + } if % + \ifatfi@checksum + \else + atfi_filename atfi_calc_checksum% + \fi + >>% + >>% + /PUT pdfmark% + [% + \theatfi@obj + atfi_filename (r) file% + /PUT pdfmark% + [% + \theatfi@obj + /CLOSE pdfmark% + }{% + } ifelse% + }% + \endgroup + }{% + }% +} +\def\atfi@xform@icon{% + \stepcounter{atfi@obj}% + \edef\atfi@appearanceobj{\theatfi@obj}% + \atfi@literal{% + [% + /_objdef \atfi@appearanceobj + /BBox[% + 0 % + 0 % + \strip@pt\wd\atfi@appearancebox\space atfi_pttobp % + \strip@pt\dimexpr\dp\atfi@appearancebox + +\ht\atfi@appearancebox\relax\space atfi_pttobp% + ]% + /BP pdfmark % + \csname atfi@acro\atfi@icon@icon @data\endcsname + [% + /EP pdfmark% + }% +} +\def\atfi@xform{% + \stepcounter{atfi@obj}% + \edef\atfi@appearanceobj{\theatfi@obj}% + \begingroup + \setbox\ltx@zero=\hbox{% + \atfi@literal{% + [% + /_objdef \atfi@appearanceobj + /BBox[% + currentpoint % + \strip@pt\dp\atfi@appearancebox\space sub % + currentpoint % + exch \strip@pt\wd\atfi@appearancebox\space add % + exch \strip@pt\ht\atfi@appearancebox\space add% + ]% + /BP pdfmark % + gsave % + currentpoint % + 2 copy translate % + 72.27 Resolution div 72.27 VResolution div neg scale % + exch neg exch neg translate% + }% + \usebox{\atfi@appearancebox}% + \atfi@literal{% + grestore% + [% + /EP pdfmark% + }% + }% + % do not allocate any space for xobject definition + \dp\ltx@zero=\z@ + \ht\ltx@zero=\z@ + \wd\ltx@zero=\z@ + \mbox{\usebox\ltx@zero}% + \endgroup +} +\def\atfi@refxform#1{% + \raisebox{-\atfi@appearancedepth}{% + \atfi@literal{% + gsave % + currentpoint translate % + Resolution 72 div VResolution neg 72 div scale% + [#1 /SP pdfmark % hash-ok + grestore% + }% + \makebox[\atfi@appearancewidth]{}% + }% + \rule{0pt}{\atfi@appearanceheight}% +} +\def\atfi@insert@file@annot#1{% + \rule{0pt}{0pt}% + \ifatfi@appearance + \def\atfi@appearance@dict{% + /AP<<% + /N \atfi@appearanceobj + /R \atfi@appearanceobj + /D \atfi@appearanceobj + >>% + }% + \else + \let\atfi@appearance@dict\ltx@empty + \fi + \ltx@IfUndefined{atfi@fsobj@#1}{% + \stepcounter{atfi@obj}% + \expandafter + \xdef\csname atfi@fsobj@#1\endcsname{\theatfi@obj}% + \begingroup + \hypersetup{unicode=false}% + \atfi@pdfstringdef\atfi@file{#1}% + \atfi@literal{% + [% + /_objdef \theatfi@obj + /type/dict% + /OBJ pdfmark% + [% + \theatfi@obj + <<% + /Type/Filespec% + /F(\atfi@file)% + \ifx\atfi@ucfilespec\ltx@empty + \else + /UF(\atfi@ucfilespec)% + \fi + /EF<<% + /F \csname atfi@fileobj@#1\endcsname + >>% + >>% + /PUT pdfmark% + }% + \endgroup + }{% + }% + \atfi@literal{% + [% + /Subtype/FileAttachment% + \atfi@icon + \atfi@color@annot + \atfi@author + \atfi@date + \atfi@annotname + \atfi@description + \atfi@subject + \atfi@appearance@dict + /F \theatfi@flags + /FS \csname atfi@fsobj@#1\endcsname + /Rect[% + currentpoint % + \strip@pt\dimexpr\atfi@scale\atfi@appearancedepth\relax + \space atfi_pdftodvipsy add % + currentpoint % + exch % + \strip@pt\dimexpr\atfi@scale\atfi@appearancewidth\relax + \space atfi_pdftodvipsx add % + exch % + \strip@pt\dimexpr\atfi@scale\atfi@appearanceheight\relax + \space atfi_pdftodvipsy sub % + ]% + /ANN pdfmark% + }% + \rule{0pt}{\atfi@appearanceheight}% + \rule[-\atfi@appearancedepth]{0pt}{\atfi@appearancedepth}% + \rule{\atfi@appearancewidth}{0pt}% +} + +\endinput +%% +%% End of file `atfi-dvips.def'. |