summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/bin/powerpc-aix/afm2plbin107030 -> 110290 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/afm2tfmbin117330 -> 120558 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/alephbin598049 -> 605202 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/bboxbin6731 -> 6731 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/bg5convbin2003 -> 2003 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/bibtexbin173305 -> 176441 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/bibtex8bin205705 -> 208909 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/cef5convbin3107 -> 3107 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/cefconvbin3019 -> 3019 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/cefsconvbin3123 -> 3123 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/cfftot1bin530989 -> 532473 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/ctanglebin103490 -> 106542 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/ctiebin76166 -> 79402 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/cweavebin137338 -> 140390 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/detexbin85258 -> 90462 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/devnagbin31996 -> 31996 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/disdvibin10243 -> 10243 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dmpbin110432 -> 0 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dt2dvbin32867 -> 32835 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dv2dtbin11283 -> 11283 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvi2ttybin20259 -> 20259 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvibookbin38322 -> 38318 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dviconcatbin34022 -> 34034 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvicopybin130966 -> 134306 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvidvibin17215 -> 17047 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dviljbin111618 -> 115070 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvilj2pbin111994 -> 115414 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvilj4bin119934 -> 123314 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvilj4lbin119942 -> 123322 bytes
l---------[-rwxr-xr-x]Master/bin/powerpc-aix/dvipdfmbin488757 -> 8 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvipdfmxbin947878 -> 932373 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvipdft85
-rwxr-xr-xMaster/bin/powerpc-aix/dvipngbin1132549 -> 1156477 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dviposbin108546 -> 111742 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvipsbin252854 -> 256770 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dviselectbin36610 -> 36622 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvitodvibin42146 -> 42142 bytes
l---------[-rwxr-xr-x]Master/bin/powerpc-aix/dvitompbin103442 -> 5 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/dvitypebin104534 -> 107586 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/epsffitbin7074 -> 7074 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/extconvbin2003 -> 2003 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/fmtutil60
l---------Master/bin/powerpc-aix/fragmaster1
-rwxr-xr-xMaster/bin/powerpc-aix/gftodvibin110238 -> 113354 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/gftopkbin93814 -> 97066 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/gftypebin91054 -> 94186 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/gsftopkbin89980 -> 93304 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/hbf2gfbin98034 -> 101326 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/infobin219492 -> 0 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/infokeybin24848 -> 0 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/install-infobin45802 -> 0 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/kpseaccessbin3299 -> 3299 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/kpsereadlinkbin3123 -> 3123 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/kpsestatbin3803 -> 3803 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/kpsewhichbin81842 -> 86646 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/lacheckbin52391 -> 55815 bytes
l---------Master/bin/powerpc-aix/latex2man1
-rwxr-xr-xMaster/bin/powerpc-aix/luatanglebin0 -> 113550 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/luatexbin4898347 -> 6329416 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/magbin19526 -> 19526 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/makeindexbin147862 -> 150890 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/makeinfobin292195 -> 0 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/makempxbin75338 -> 0 bytes
l---------Master/bin/powerpc-aix/man1
-rwxr-xr-xMaster/bin/powerpc-aix/mfbin366714 -> 371327 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/mf-nowinbin359857 -> 364470 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/mftbin109786 -> 112838 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/mmafmbin547444 -> 570060 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/mmpfbbin564562 -> 589254 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/mpostbin461662 -> 570523 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/mptobin9471 -> 0 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/musixflxbin14046 -> 14046 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/newerbin3991 -> 0 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/odvicopybin137198 -> 140538 bytes
l---------Master/bin/powerpc-aix/odvips1
-rwxr-xr-xMaster/bin/powerpc-aix/odvitypebin105918 -> 108970 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/omfontsbin183734 -> 190762 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/otanglebin57503 -> 113158 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/otfinfobin618650 -> 629990 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/otftotfmbin1076210 -> 1029210 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/otp2ocpbin89086 -> 94874 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/outocpbin69650 -> 72926 bytes
l---------Master/bin/powerpc-aix/oxdvi1
-rwxr-xr-xMaster/bin/powerpc-aix/patgenbin45435 -> 45599 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pdfclosebin7269 -> 7269 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pdfopenbin8141 -> 8141 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pdftexbin1675497 -> 1701690 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pdftexi2dvi19
-rwxr-xr-xMaster/bin/powerpc-aix/pdftosrcbin537350 -> 555906 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pfb2pfabin7183 -> 7235 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pk2bmbin9531 -> 9551 bytes
l---------Master/bin/powerpc-aix/pkfix-helper1
-rwxr-xr-xMaster/bin/powerpc-aix/pktogfbin91386 -> 94598 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pktypebin81966 -> 85106 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pltotfbin64022 -> 64402 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pooltypebin24175 -> 24299 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/ps2eps935
-rwxr-xr-xMaster/bin/powerpc-aix/ps2pkbin207774 -> 210906 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/psbookbin11807 -> 11807 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/psnupbin19875 -> 19875 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/psresizebin18179 -> 18179 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/psselectbin13255 -> 13255 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/pstopsbin18719 -> 18719 bytes
l---------Master/bin/powerpc-aix/purifyeps1
-rwxr-xr-xMaster/bin/powerpc-aix/sjisconvbin2027 -> 2027 bytes
l---------Master/bin/powerpc-aix/svn-multi1
-rwxr-xr-xMaster/bin/powerpc-aix/synctexbin146450 -> 146254 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1asciibin27895 -> 27895 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1asmbin34643 -> 34643 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1binarybin27071 -> 27071 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1disasmbin33047 -> 33047 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1dotlessjbin540892 -> 565048 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1lintbin483514 -> 517438 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1macbin37859 -> 37859 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1rawafmbin0 -> 516904 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1reencodebin554100 -> 576816 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1testpagebin511336 -> 539680 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t1unmacbin34763 -> 34763 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/t4htbin89818 -> 93102 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/tanglebin113442 -> 116502 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/tcdialogbin158480 -> 156238 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/texbin392185 -> 399246 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/tex2xindybin17227 -> 17227 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/tex4htbin157226 -> 160598 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/texi2dvi1791
-rwxr-xr-xMaster/bin/powerpc-aix/texi2pdf19
-rwxr-xr-xMaster/bin/powerpc-aix/texindexbin16783 -> 0 bytes
l---------Master/bin/powerpc-aix/texloganalyser1
-rwxr-xr-xMaster/bin/powerpc-aix/tftoplbin101270 -> 104442 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/tiebin8503 -> 75050 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/ttf2afmbin97390 -> 100442 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/ttf2pkbin286770 -> 290014 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/ttf2tfmbin322894 -> 326138 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/ttfdumpbin0 -> 65603 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/ttftotype42bin555807 -> 557087 bytes
l---------Master/bin/powerpc-aix/ulqda1
-rwxr-xr-xMaster/bin/powerpc-aix/updmap3
-rwxr-xr-xMaster/bin/powerpc-aix/vftovpbin115870 -> 119010 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/vlnabin12007 -> 12007 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/vptovfbin79254 -> 79730 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/weavebin134498 -> 137566 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/xdvi-motifbin1029360 -> 1039474 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/xdvipdfmxbin1675905 -> 1686520 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/xetexbin10113203 -> 9812011 bytes
-rw-r--r--Master/bin/powerpc-aix/xindy.membin1060745 -> 1060053 bytes
-rwxr-xr-xMaster/bin/powerpc-aix/xindy.runbin2737136 -> 2737136 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/afm2plbin150144 -> 155900 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/afm2tfmbin157436 -> 164768 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/alephbin740572 -> 755320 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/bibtexbin259116 -> 266296 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/bibtex8bin292344 -> 299676 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/cfftot1bin469060 -> 497040 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ctanglebin170672 -> 177860 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ctiebin134024 -> 141320 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/cweavebin210732 -> 217928 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/detexbin146096 -> 155744 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dmpbin149292 -> 0 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dt2dvbin36016 -> 35732 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dv2dtbin14240 -> 13928 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvi2ttybin27220 -> 27228 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvibookbin51128 -> 53680 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dviconcatbin45984 -> 48560 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvicopybin211236 -> 218672 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvidvibin23152 -> 21612 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dviljbin177864 -> 181760 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvilj2pbin178244 -> 182164 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvilj4bin186456 -> 194144 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvilj4lbin186452 -> 194140 bytes
l---------[-rwxr-xr-x]Master/bin/sparc-solaris/dvipdfmbin594704 -> 8 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvipdfmxbin1100784 -> 1094568 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvipdft85
-rwxr-xr-xMaster/bin/sparc-solaris/dvipngbin1302368 -> 1354148 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dviposbin172848 -> 180148 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvipsbin379504 -> 387808 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dviselectbin49328 -> 51880 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvitodvibin55484 -> 58052 bytes
l---------[-rwxr-xr-x]Master/bin/sparc-solaris/dvitompbin176908 -> 5 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/dvitypebin186308 -> 193512 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/epsffitbin11072 -> 11072 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/fmtutil60
l---------Master/bin/sparc-solaris/fragmaster1
-rwxr-xr-xMaster/bin/sparc-solaris/gftodvibin190720 -> 198008 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/gftopkbin171572 -> 179080 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/gftypebin164584 -> 171888 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/gsftopkbin149572 -> 156972 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/hbf2gfbin160076 -> 167440 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/infobin253700 -> 0 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/infokeybin41248 -> 0 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/install-infobin61592 -> 0 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/kpseaccessbin7064 -> 7064 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/kpsereadlinkbin6972 -> 6972 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/kpsestatbin7756 -> 7756 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/kpsewhichbin144564 -> 152796 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/lacheckbin59044 -> 62880 bytes
l---------Master/bin/sparc-solaris/latex2man1
-rwxr-xr-xMaster/bin/sparc-solaris/luatanglebin0 -> 191788 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/luatexbin5169156 -> 6500032 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/magbin8816 -> 8816 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/makeindexbin220228 -> 227256 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/makeinfobin322556 -> 0 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/makempxbin133816 -> 0 bytes
l---------Master/bin/sparc-solaris/man1
-rwxr-xr-xMaster/bin/sparc-solaris/mfbin465084 -> 474920 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mf-nowinbin459772 -> 469492 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mftbin184804 -> 192032 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mmafmbin288604 -> 315376 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mmpfbbin381116 -> 410748 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mpostbin565476 -> 638144 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/mptobin12252 -> 0 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/newerbin8120 -> 0 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/odvicopybin218268 -> 225744 bytes
l---------Master/bin/sparc-solaris/odvips1
-rwxr-xr-xMaster/bin/sparc-solaris/odvitypebin188144 -> 195348 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/omfontsbin280468 -> 292048 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/otanglebin96040 -> 191200 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/otfinfobin602420 -> 646852 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/otftotfmbin1124072 -> 1156540 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/otp2ocpbin154736 -> 165184 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/outocpbin126472 -> 133796 bytes
l---------Master/bin/sparc-solaris/oxdvi1
-rwxr-xr-xMaster/bin/sparc-solaris/patgenbin81664 -> 85044 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pdftexbin1824268 -> 1857716 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pdftexi2dvi19
-rwxr-xr-xMaster/bin/sparc-solaris/pdftosrcbin514800 -> 531560 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pfb2pfabin15300 -> 18500 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pk2bmbin16032 -> 19152 bytes
l---------Master/bin/sparc-solaris/pkfix-helper1
-rwxr-xr-xMaster/bin/sparc-solaris/pktogfbin165932 -> 173348 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pktypebin152172 -> 159492 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pltotfbin111796 -> 115384 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pooltypebin55692 -> 59088 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ps2eps935
-rwxr-xr-xMaster/bin/sparc-solaris/ps2pkbin293688 -> 300944 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/psbookbin16764 -> 16764 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/psnupbin34728 -> 34728 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/psresizebin23664 -> 23668 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/psselectbin19136 -> 19136 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/pstopsbin24024 -> 24028 bytes
l---------Master/bin/sparc-solaris/purifyeps1
l---------Master/bin/sparc-solaris/svn-multi1
-rwxr-xr-xMaster/bin/sparc-solaris/synctexbin153576 -> 156652 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/t1dotlessjbin366668 -> 394460 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/t1lintbin307728 -> 351636 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/t1rawafmbin0 -> 341864 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/t1reencodebin347536 -> 374660 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/t1testpagebin333364 -> 365832 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/t4htbin147844 -> 155184 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/tanglebin190788 -> 197992 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/tcdialogbin268024 -> 194860 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/texbin490488 -> 503944 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/tex4htbin226508 -> 234048 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/texi2dvi1791
-rwxr-xr-xMaster/bin/sparc-solaris/texi2pdf19
-rwxr-xr-xMaster/bin/sparc-solaris/texindexbin25860 -> 0 bytes
l---------Master/bin/sparc-solaris/texloganalyser1
-rwxr-xr-xMaster/bin/sparc-solaris/tftoplbin176392 -> 183712 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/tiebin14516 -> 136992 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ttf2afmbin164076 -> 171404 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ttf2pkbin335616 -> 342984 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ttf2tfmbin352372 -> 359712 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ttfdumpbin0 -> 84456 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/ttftotype42bin390616 -> 418104 bytes
l---------Master/bin/sparc-solaris/ulqda1
-rwxr-xr-xMaster/bin/sparc-solaris/updmap3
-rwxr-xr-xMaster/bin/sparc-solaris/vftovpbin197504 -> 204808 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/vptovfbin132836 -> 136576 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/weavebin214128 -> 221340 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/xdvi-motifbin1278188 -> 1288796 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/xdvipdfmxbin1737260 -> 1774636 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/xetexbin9801920 -> 9840760 bytes
-rw-r--r--Master/bin/sparc-solaris/xindy.membin1009125 -> 1009148 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/xindy.runbin1877456 -> 1877384 bytes
272 files changed, 2056 insertions, 3788 deletions
diff --git a/Master/bin/powerpc-aix/afm2pl b/Master/bin/powerpc-aix/afm2pl
index 204dcd21a18..4021d180e4e 100755
--- a/Master/bin/powerpc-aix/afm2pl
+++ b/Master/bin/powerpc-aix/afm2pl
Binary files differ
diff --git a/Master/bin/powerpc-aix/afm2tfm b/Master/bin/powerpc-aix/afm2tfm
index 4ea8534b052..6ccee8e0f66 100755
--- a/Master/bin/powerpc-aix/afm2tfm
+++ b/Master/bin/powerpc-aix/afm2tfm
Binary files differ
diff --git a/Master/bin/powerpc-aix/aleph b/Master/bin/powerpc-aix/aleph
index 079db6b67a2..6331c9385fd 100755
--- a/Master/bin/powerpc-aix/aleph
+++ b/Master/bin/powerpc-aix/aleph
Binary files differ
diff --git a/Master/bin/powerpc-aix/bbox b/Master/bin/powerpc-aix/bbox
index 716e49f9061..43423afb68a 100755
--- a/Master/bin/powerpc-aix/bbox
+++ b/Master/bin/powerpc-aix/bbox
Binary files differ
diff --git a/Master/bin/powerpc-aix/bg5conv b/Master/bin/powerpc-aix/bg5conv
index 3dcf41f7e92..d4e893d6a5d 100755
--- a/Master/bin/powerpc-aix/bg5conv
+++ b/Master/bin/powerpc-aix/bg5conv
Binary files differ
diff --git a/Master/bin/powerpc-aix/bibtex b/Master/bin/powerpc-aix/bibtex
index 882a6a77042..33520bc235f 100755
--- a/Master/bin/powerpc-aix/bibtex
+++ b/Master/bin/powerpc-aix/bibtex
Binary files differ
diff --git a/Master/bin/powerpc-aix/bibtex8 b/Master/bin/powerpc-aix/bibtex8
index bc22aa65dbb..c806df18ca9 100755
--- a/Master/bin/powerpc-aix/bibtex8
+++ b/Master/bin/powerpc-aix/bibtex8
Binary files differ
diff --git a/Master/bin/powerpc-aix/cef5conv b/Master/bin/powerpc-aix/cef5conv
index dc5d4de5e48..ebb5cb769d4 100755
--- a/Master/bin/powerpc-aix/cef5conv
+++ b/Master/bin/powerpc-aix/cef5conv
Binary files differ
diff --git a/Master/bin/powerpc-aix/cefconv b/Master/bin/powerpc-aix/cefconv
index abc1014429c..476a869f990 100755
--- a/Master/bin/powerpc-aix/cefconv
+++ b/Master/bin/powerpc-aix/cefconv
Binary files differ
diff --git a/Master/bin/powerpc-aix/cefsconv b/Master/bin/powerpc-aix/cefsconv
index 4b720fbfb5a..5b08c340a99 100755
--- a/Master/bin/powerpc-aix/cefsconv
+++ b/Master/bin/powerpc-aix/cefsconv
Binary files differ
diff --git a/Master/bin/powerpc-aix/cfftot1 b/Master/bin/powerpc-aix/cfftot1
index 39b5e2e9d58..2de6bacbcce 100755
--- a/Master/bin/powerpc-aix/cfftot1
+++ b/Master/bin/powerpc-aix/cfftot1
Binary files differ
diff --git a/Master/bin/powerpc-aix/ctangle b/Master/bin/powerpc-aix/ctangle
index 9ced1b09e22..b57cd6f2321 100755
--- a/Master/bin/powerpc-aix/ctangle
+++ b/Master/bin/powerpc-aix/ctangle
Binary files differ
diff --git a/Master/bin/powerpc-aix/ctie b/Master/bin/powerpc-aix/ctie
index 47cf8bbe349..69981daa6df 100755
--- a/Master/bin/powerpc-aix/ctie
+++ b/Master/bin/powerpc-aix/ctie
Binary files differ
diff --git a/Master/bin/powerpc-aix/cweave b/Master/bin/powerpc-aix/cweave
index 80e40b45a25..6910fc782d2 100755
--- a/Master/bin/powerpc-aix/cweave
+++ b/Master/bin/powerpc-aix/cweave
Binary files differ
diff --git a/Master/bin/powerpc-aix/detex b/Master/bin/powerpc-aix/detex
index a3e96467169..bf68b25bade 100755
--- a/Master/bin/powerpc-aix/detex
+++ b/Master/bin/powerpc-aix/detex
Binary files differ
diff --git a/Master/bin/powerpc-aix/devnag b/Master/bin/powerpc-aix/devnag
index c02d114e5e5..27e2c6edc23 100755
--- a/Master/bin/powerpc-aix/devnag
+++ b/Master/bin/powerpc-aix/devnag
Binary files differ
diff --git a/Master/bin/powerpc-aix/disdvi b/Master/bin/powerpc-aix/disdvi
index 68afebb1094..946e0bd6983 100755
--- a/Master/bin/powerpc-aix/disdvi
+++ b/Master/bin/powerpc-aix/disdvi
Binary files differ
diff --git a/Master/bin/powerpc-aix/dmp b/Master/bin/powerpc-aix/dmp
deleted file mode 100755
index 4798030fb5b..00000000000
--- a/Master/bin/powerpc-aix/dmp
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-aix/dt2dv b/Master/bin/powerpc-aix/dt2dv
index 346bb547396..476ab284b76 100755
--- a/Master/bin/powerpc-aix/dt2dv
+++ b/Master/bin/powerpc-aix/dt2dv
Binary files differ
diff --git a/Master/bin/powerpc-aix/dv2dt b/Master/bin/powerpc-aix/dv2dt
index 414292dffb1..91d3252cbab 100755
--- a/Master/bin/powerpc-aix/dv2dt
+++ b/Master/bin/powerpc-aix/dv2dt
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvi2tty b/Master/bin/powerpc-aix/dvi2tty
index ac7b90abb8e..c0de783befb 100755
--- a/Master/bin/powerpc-aix/dvi2tty
+++ b/Master/bin/powerpc-aix/dvi2tty
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvibook b/Master/bin/powerpc-aix/dvibook
index 590d0268cdc..50b8150058c 100755
--- a/Master/bin/powerpc-aix/dvibook
+++ b/Master/bin/powerpc-aix/dvibook
Binary files differ
diff --git a/Master/bin/powerpc-aix/dviconcat b/Master/bin/powerpc-aix/dviconcat
index c32bee9e6cf..ed4e4689fa5 100755
--- a/Master/bin/powerpc-aix/dviconcat
+++ b/Master/bin/powerpc-aix/dviconcat
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvicopy b/Master/bin/powerpc-aix/dvicopy
index 6714b975603..81e2ddaef49 100755
--- a/Master/bin/powerpc-aix/dvicopy
+++ b/Master/bin/powerpc-aix/dvicopy
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvidvi b/Master/bin/powerpc-aix/dvidvi
index 2c493451c8c..2c8332c5de0 100755
--- a/Master/bin/powerpc-aix/dvidvi
+++ b/Master/bin/powerpc-aix/dvidvi
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvilj b/Master/bin/powerpc-aix/dvilj
index dfab3eb4b02..9f7403d7587 100755
--- a/Master/bin/powerpc-aix/dvilj
+++ b/Master/bin/powerpc-aix/dvilj
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvilj2p b/Master/bin/powerpc-aix/dvilj2p
index e9963b52422..8781bd80fc3 100755
--- a/Master/bin/powerpc-aix/dvilj2p
+++ b/Master/bin/powerpc-aix/dvilj2p
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvilj4 b/Master/bin/powerpc-aix/dvilj4
index 25a03685ece..7f96da91cfd 100755
--- a/Master/bin/powerpc-aix/dvilj4
+++ b/Master/bin/powerpc-aix/dvilj4
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvilj4l b/Master/bin/powerpc-aix/dvilj4l
index c1fdaeb1a3a..ad6e90400c4 100755
--- a/Master/bin/powerpc-aix/dvilj4l
+++ b/Master/bin/powerpc-aix/dvilj4l
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvipdfm b/Master/bin/powerpc-aix/dvipdfm
index 4decb75a19c..ab4195592f6 100755..120000
--- a/Master/bin/powerpc-aix/dvipdfm
+++ b/Master/bin/powerpc-aix/dvipdfm
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvipdfmx b/Master/bin/powerpc-aix/dvipdfmx
index d2a8d5c9afe..b28d5d463e1 100755
--- a/Master/bin/powerpc-aix/dvipdfmx
+++ b/Master/bin/powerpc-aix/dvipdfmx
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvipdft b/Master/bin/powerpc-aix/dvipdft
index db53bd2f5a0..3bcd0027db1 100755
--- a/Master/bin/powerpc-aix/dvipdft
+++ b/Master/bin/powerpc-aix/dvipdft
@@ -1,15 +1,24 @@
#!/bin/sh
-
-#
-# dvipdft, completely rewtitten by Thomas Esser for teTeX after an
+# dvipdft, completely rewritten by Thomas Esser for teTeX after an
# original script by Mark A. Wicks
#
# Thomas Esser. Public Domain.
-#
+#
+# Modified by Matthias Franz for dvipdfmx (when running as dvipdfm) and
+# TeX Live.
# This script makes a first (fast) run with dvipdfm, then calls gs on
# the resulting pdf file to get the thumbnails and finally calls dvipdfm.
+progname=dvipdft
+version=20090604.0046
+
+# set trap for error
+trap '
+ echo "$progname: fatal error." >&2
+ exit 1
+' 1
+
test -f /bin/sh5 && test -z "$RUNNING_SH5" \
&& { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
&& { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
@@ -23,16 +32,10 @@ unset RUNNING_BSH
# hack around a bug in zsh:
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-progname=dvipdft
-version=1111942378 # seconds since `00:00:00 1970-01-01 UTC'
- # date '+%s' (with GNU date)
-
help="Usage: $progname [options] dvifile
$progname --help
$progname --version"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
-
quoteit()
{
echo "x$1" | sed "s@.@@; s@'@'\\\\''@; s@^@'@; s@\$@'@"
@@ -56,7 +59,7 @@ case $1 in
exit 0
;;
--version)
- echo "$progname version $version by Thomas Esser"
+ echo "$progname version $version by Thomas Esser and others"
exit 0
;;
"")
@@ -66,7 +69,7 @@ case $1 in
esac
# args 1 to (n-1) are gone, last one must be the dvifile
-dvifile=$1
+dvifile="$1"
# outfile comes from -o argument, else it is derived from the input file
test -n "$outfile" \
@@ -75,56 +78,28 @@ test -n "$outfile" \
# outBase is part of the thumbname files just as dvipdfm expects them:
outBase=`echo "$outfile" | sed 's@\.pdf$@@'`
-# restore args 1 to (n-1):
-eval set x "$s"; shift
-
-# Run dvipdfm with the fastest options for the first pass
-echo "$progname: running dvipdfm $@ -e -z0 $dvifile" >&2
-dvipdfm ${1+"$@"} -e -z0 "$dvifile" || {
- echo "$progname: dvipdfm failed." >&2
+ls "$outBase".[1-9]* >/dev/null 2>&1 && {
+ echo "$progname: Please move the following files out of the way:" >&2
+ ls "$outBase".[1-9]* >&2
exit 1
}
-# before we create the tmpdir, set trap for cleanup
-trap '
- rm -rf $tmpdir
- exit 1
-' 1 2 3 7 13 15
+# restore args 1 to (n-1):
+eval set x "$s"; shift
-mkdir "$tmpdir" || {
- echo "$progname: failed to create temp directory." >&2
- exit 1
-}
+# set trap for cleanup
+trap '
+ rm -f "$outBase".[1-9]*
+' 0
-# if outBase contains a /, we might need to create a directory
-case $outBase in
- */*)
- fq=`echo "$tmpdir/$outBase" | sed 's@//@/@g; s@/[^/]*$@@'`
- test -d "$fq" || mkdir -p "$fq" || {
- echo "$progname: failed to create temp thumbnail directory." >&2
- rm -rf $tmpdir
- exit 1
- }
- ;;
-esac
+# Run dvipdfm with the fastest options for the first pass
+echo "$progname: running dvipdfm $@ -z0 $dvifile" >&2
+dvipdfm ${1+"$@"} -z0 "$dvifile"
# run gs
echo "$progname: running gs" >&2
-gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 \
- -sOutputFile="$tmpdir/$outBase.%d" "$outfile" || {
- echo "$progname: gs failed." >&2
- rm -rf $tmpdir
- exit 1
-}
+gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 -sOutputFile="$outBase.%d" "$outfile"
# run dvipdfm with the users specified options for the last pass
-echo "$progname: running dvipdfm -dt $@ $dvifile" >&2
-TMP=$tmpdir dvipdfm -dt ${1+"$@"} "$dvifile" || {
- echo "$progname: dvipdfm failed." >&2
- rm -rf $tmpdir
- exit 1
-}
-
-# nothing failed, so cleanup and report success to caller
-rm -rf $tmpdir
-exit 0
+echo "$progname: running dvipdfm -t $@ $dvifile" >&2
+dvipdfm ${1+"$@"} -t "$dvifile"
diff --git a/Master/bin/powerpc-aix/dvipng b/Master/bin/powerpc-aix/dvipng
index 3e306be7298..651fcb5f5b7 100755
--- a/Master/bin/powerpc-aix/dvipng
+++ b/Master/bin/powerpc-aix/dvipng
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvipos b/Master/bin/powerpc-aix/dvipos
index 0cd94c59f8e..318a5491dad 100755
--- a/Master/bin/powerpc-aix/dvipos
+++ b/Master/bin/powerpc-aix/dvipos
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvips b/Master/bin/powerpc-aix/dvips
index 8d50a379c24..06f15be43d9 100755
--- a/Master/bin/powerpc-aix/dvips
+++ b/Master/bin/powerpc-aix/dvips
Binary files differ
diff --git a/Master/bin/powerpc-aix/dviselect b/Master/bin/powerpc-aix/dviselect
index 28cea2ca1f9..6350ae4971d 100755
--- a/Master/bin/powerpc-aix/dviselect
+++ b/Master/bin/powerpc-aix/dviselect
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvitodvi b/Master/bin/powerpc-aix/dvitodvi
index 4ac42165889..b8f175fc5a1 100755
--- a/Master/bin/powerpc-aix/dvitodvi
+++ b/Master/bin/powerpc-aix/dvitodvi
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvitomp b/Master/bin/powerpc-aix/dvitomp
index 7a682d8ff74..96672bbb523 100755..120000
--- a/Master/bin/powerpc-aix/dvitomp
+++ b/Master/bin/powerpc-aix/dvitomp
Binary files differ
diff --git a/Master/bin/powerpc-aix/dvitype b/Master/bin/powerpc-aix/dvitype
index e5ac5387c78..3d7091cc562 100755
--- a/Master/bin/powerpc-aix/dvitype
+++ b/Master/bin/powerpc-aix/dvitype
Binary files differ
diff --git a/Master/bin/powerpc-aix/epsffit b/Master/bin/powerpc-aix/epsffit
index e97c23600f3..8256f0c60c6 100755
--- a/Master/bin/powerpc-aix/epsffit
+++ b/Master/bin/powerpc-aix/epsffit
Binary files differ
diff --git a/Master/bin/powerpc-aix/extconv b/Master/bin/powerpc-aix/extconv
index 04dc386f043..a948fad560b 100755
--- a/Master/bin/powerpc-aix/extconv
+++ b/Master/bin/powerpc-aix/extconv
Binary files differ
diff --git a/Master/bin/powerpc-aix/fmtutil b/Master/bin/powerpc-aix/fmtutil
index f86a06003de..2a76d08f558 100755
--- a/Master/bin/powerpc-aix/fmtutil
+++ b/Master/bin/powerpc-aix/fmtutil
@@ -84,8 +84,7 @@ test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
progname=fmtutil
argv0=$0
-version=1205513038 # seconds since `00:00:00 1970-01-01 UTC'
- # date '+%s' (with GNU date)
+version=20090611.2319
cnf=fmtutil.cnf # name of the config file
export PATH
@@ -259,6 +258,23 @@ verboseMsg() {
###############################################################################
byebye()
{
+ if $has_warnings; then
+ {
+ cat <<eof
+
+###############################################################################
+$progname: Warning! Some warnings have been issued.
+Visit the log files in directory
+ $destdir
+for details.
+###############################################################################
+
+This is a summary of all \`warning' messages:
+$log_warning_msg
+eof
+ } >&2
+ fi
+
if $has_errors; then
{
cat <<eof
@@ -270,7 +286,7 @@ Visit the log files in directory
for details.
###############################################################################
-This is a summary of all \`failed' messages and warnings:
+This is a summary of all \`failed' messages:
$log_failure_msg
eof
} >&2
@@ -281,6 +297,16 @@ eof
}
###############################################################################
+# init_log_warning()
+# reset the list of warning messages
+###############################################################################
+init_log_warning()
+{
+ log_warning_msg=
+ has_warnings=false
+}
+
+###############################################################################
# init_log_failure()
# reset the list of failure messages
###############################################################################
@@ -291,6 +317,24 @@ init_log_failure()
}
###############################################################################
+# log_warning(errmsg)
+# report and save warning message `errmsg'
+###############################################################################
+log_warning()
+{
+ echo "Warning: $@" >&2
+ if test -z "$log_warning_msg"; then
+ log_warning_msg="$@"
+ else
+ OLDIFS=$IFS; IFS=
+ log_warning_msg="$log_warning_msg
+$@"
+ IFS=$OLDIFS
+ fi
+ has_warnings=true
+}
+
+###############################################################################
# log_failure(errmsg)
# report and save failure message `errmsg'
###############################################################################
@@ -547,6 +591,7 @@ main()
cache_vars
init_log_failure
+ init_log_warning
# execute the desired command:
case "$cmd" in
all)
@@ -607,15 +652,16 @@ parse_line()
texargs="$@"
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
case "$engine" in
mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
*) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
esac
+ # remove any * for the sake of the kpsewhich lookup.
+ eval lastarg=\$$#
+ inifile=`echo $lastarg | sed 's%^\*%%'`
+
# See if we can find $inifile for return code:
kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
}
@@ -705,7 +751,7 @@ run_initex()
mkdir -p "$fulldestdir"
if test -f $fmtfile; then
grep '^! ' $format.log >/dev/null 2>&1 &&
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
+ log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
# We don't want user-interaction for the following "mv" commands:
mv "$format.log" "$fulldestdir/$format.log" </dev/null
diff --git a/Master/bin/powerpc-aix/fragmaster b/Master/bin/powerpc-aix/fragmaster
new file mode 120000
index 00000000000..ca1bb398b4b
--- /dev/null
+++ b/Master/bin/powerpc-aix/fragmaster
@@ -0,0 +1 @@
+../../texmf-dist/scripts/fragmaster/fragmaster.pl \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/gftodvi b/Master/bin/powerpc-aix/gftodvi
index 73f2330fb6f..9aa17600258 100755
--- a/Master/bin/powerpc-aix/gftodvi
+++ b/Master/bin/powerpc-aix/gftodvi
Binary files differ
diff --git a/Master/bin/powerpc-aix/gftopk b/Master/bin/powerpc-aix/gftopk
index 953cb81a30d..d435d511819 100755
--- a/Master/bin/powerpc-aix/gftopk
+++ b/Master/bin/powerpc-aix/gftopk
Binary files differ
diff --git a/Master/bin/powerpc-aix/gftype b/Master/bin/powerpc-aix/gftype
index 7bbff8c08a0..a55f76a9c56 100755
--- a/Master/bin/powerpc-aix/gftype
+++ b/Master/bin/powerpc-aix/gftype
Binary files differ
diff --git a/Master/bin/powerpc-aix/gsftopk b/Master/bin/powerpc-aix/gsftopk
index 6b6c0359a5a..42a1d9feb21 100755
--- a/Master/bin/powerpc-aix/gsftopk
+++ b/Master/bin/powerpc-aix/gsftopk
Binary files differ
diff --git a/Master/bin/powerpc-aix/hbf2gf b/Master/bin/powerpc-aix/hbf2gf
index 0dc83d19a94..c7379dcb203 100755
--- a/Master/bin/powerpc-aix/hbf2gf
+++ b/Master/bin/powerpc-aix/hbf2gf
Binary files differ
diff --git a/Master/bin/powerpc-aix/info b/Master/bin/powerpc-aix/info
deleted file mode 100755
index 81a539f08b2..00000000000
--- a/Master/bin/powerpc-aix/info
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-aix/infokey b/Master/bin/powerpc-aix/infokey
deleted file mode 100755
index 1f0ea4f4282..00000000000
--- a/Master/bin/powerpc-aix/infokey
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-aix/install-info b/Master/bin/powerpc-aix/install-info
deleted file mode 100755
index b39a032b4bd..00000000000
--- a/Master/bin/powerpc-aix/install-info
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-aix/kpseaccess b/Master/bin/powerpc-aix/kpseaccess
index c756af1dea9..e3cfd2243fa 100755
--- a/Master/bin/powerpc-aix/kpseaccess
+++ b/Master/bin/powerpc-aix/kpseaccess
Binary files differ
diff --git a/Master/bin/powerpc-aix/kpsereadlink b/Master/bin/powerpc-aix/kpsereadlink
index 8f49b7684cb..c059bb91a83 100755
--- a/Master/bin/powerpc-aix/kpsereadlink
+++ b/Master/bin/powerpc-aix/kpsereadlink
Binary files differ
diff --git a/Master/bin/powerpc-aix/kpsestat b/Master/bin/powerpc-aix/kpsestat
index 11672c8a6ef..b292fc94825 100755
--- a/Master/bin/powerpc-aix/kpsestat
+++ b/Master/bin/powerpc-aix/kpsestat
Binary files differ
diff --git a/Master/bin/powerpc-aix/kpsewhich b/Master/bin/powerpc-aix/kpsewhich
index f5606e0ba70..aed5915652b 100755
--- a/Master/bin/powerpc-aix/kpsewhich
+++ b/Master/bin/powerpc-aix/kpsewhich
Binary files differ
diff --git a/Master/bin/powerpc-aix/lacheck b/Master/bin/powerpc-aix/lacheck
index 15cd8c996b5..6310bab5c03 100755
--- a/Master/bin/powerpc-aix/lacheck
+++ b/Master/bin/powerpc-aix/lacheck
Binary files differ
diff --git a/Master/bin/powerpc-aix/latex2man b/Master/bin/powerpc-aix/latex2man
new file mode 120000
index 00000000000..66d79f878b7
--- /dev/null
+++ b/Master/bin/powerpc-aix/latex2man
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex2man/latex2man \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/luatangle b/Master/bin/powerpc-aix/luatangle
new file mode 100755
index 00000000000..2094d0477dc
--- /dev/null
+++ b/Master/bin/powerpc-aix/luatangle
Binary files differ
diff --git a/Master/bin/powerpc-aix/luatex b/Master/bin/powerpc-aix/luatex
index 3ff66740a63..e8b4a65c6dd 100755
--- a/Master/bin/powerpc-aix/luatex
+++ b/Master/bin/powerpc-aix/luatex
Binary files differ
diff --git a/Master/bin/powerpc-aix/mag b/Master/bin/powerpc-aix/mag
index 3e564ece158..45a8d94b607 100755
--- a/Master/bin/powerpc-aix/mag
+++ b/Master/bin/powerpc-aix/mag
Binary files differ
diff --git a/Master/bin/powerpc-aix/makeindex b/Master/bin/powerpc-aix/makeindex
index 25adf32f1ca..0d5c5e4150b 100755
--- a/Master/bin/powerpc-aix/makeindex
+++ b/Master/bin/powerpc-aix/makeindex
Binary files differ
diff --git a/Master/bin/powerpc-aix/makeinfo b/Master/bin/powerpc-aix/makeinfo
deleted file mode 100755
index da956e89f06..00000000000
--- a/Master/bin/powerpc-aix/makeinfo
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-aix/makempx b/Master/bin/powerpc-aix/makempx
deleted file mode 100755
index f2919212282..00000000000
--- a/Master/bin/powerpc-aix/makempx
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-aix/man b/Master/bin/powerpc-aix/man
new file mode 120000
index 00000000000..9616d4ec099
--- /dev/null
+++ b/Master/bin/powerpc-aix/man
@@ -0,0 +1 @@
+../../texmf/doc/man \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/mf b/Master/bin/powerpc-aix/mf
index 367c58368b9..ed9f4a6dd6f 100755
--- a/Master/bin/powerpc-aix/mf
+++ b/Master/bin/powerpc-aix/mf
Binary files differ
diff --git a/Master/bin/powerpc-aix/mf-nowin b/Master/bin/powerpc-aix/mf-nowin
index 9d0efa7b25a..f8a0e87c12a 100755
--- a/Master/bin/powerpc-aix/mf-nowin
+++ b/Master/bin/powerpc-aix/mf-nowin
Binary files differ
diff --git a/Master/bin/powerpc-aix/mft b/Master/bin/powerpc-aix/mft
index bb59d8dfd32..cadd8a1c402 100755
--- a/Master/bin/powerpc-aix/mft
+++ b/Master/bin/powerpc-aix/mft
Binary files differ
diff --git a/Master/bin/powerpc-aix/mmafm b/Master/bin/powerpc-aix/mmafm
index 5411e799adf..9381d921c47 100755
--- a/Master/bin/powerpc-aix/mmafm
+++ b/Master/bin/powerpc-aix/mmafm
Binary files differ
diff --git a/Master/bin/powerpc-aix/mmpfb b/Master/bin/powerpc-aix/mmpfb
index 52306ae5406..711fe13fc33 100755
--- a/Master/bin/powerpc-aix/mmpfb
+++ b/Master/bin/powerpc-aix/mmpfb
Binary files differ
diff --git a/Master/bin/powerpc-aix/mpost b/Master/bin/powerpc-aix/mpost
index b7f18a7429d..e2dd86f113b 100755
--- a/Master/bin/powerpc-aix/mpost
+++ b/Master/bin/powerpc-aix/mpost
Binary files differ
diff --git a/Master/bin/powerpc-aix/mpto b/Master/bin/powerpc-aix/mpto
deleted file mode 100755
index 221d809e27c..00000000000
--- a/Master/bin/powerpc-aix/mpto
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-aix/musixflx b/Master/bin/powerpc-aix/musixflx
index d46f9da496e..903b56932e9 100755
--- a/Master/bin/powerpc-aix/musixflx
+++ b/Master/bin/powerpc-aix/musixflx
Binary files differ
diff --git a/Master/bin/powerpc-aix/newer b/Master/bin/powerpc-aix/newer
deleted file mode 100755
index ebb7b86b6eb..00000000000
--- a/Master/bin/powerpc-aix/newer
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-aix/odvicopy b/Master/bin/powerpc-aix/odvicopy
index a55cd3b8463..1d712f5d31c 100755
--- a/Master/bin/powerpc-aix/odvicopy
+++ b/Master/bin/powerpc-aix/odvicopy
Binary files differ
diff --git a/Master/bin/powerpc-aix/odvips b/Master/bin/powerpc-aix/odvips
deleted file mode 120000
index 2e853c89507..00000000000
--- a/Master/bin/powerpc-aix/odvips
+++ /dev/null
@@ -1 +0,0 @@
-dvips \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/odvitype b/Master/bin/powerpc-aix/odvitype
index ce12619c9f4..9edf1bf27df 100755
--- a/Master/bin/powerpc-aix/odvitype
+++ b/Master/bin/powerpc-aix/odvitype
Binary files differ
diff --git a/Master/bin/powerpc-aix/omfonts b/Master/bin/powerpc-aix/omfonts
index ec1be7330e2..e5eac6ba24f 100755
--- a/Master/bin/powerpc-aix/omfonts
+++ b/Master/bin/powerpc-aix/omfonts
Binary files differ
diff --git a/Master/bin/powerpc-aix/otangle b/Master/bin/powerpc-aix/otangle
index b2a32155199..093be6a5994 100755
--- a/Master/bin/powerpc-aix/otangle
+++ b/Master/bin/powerpc-aix/otangle
Binary files differ
diff --git a/Master/bin/powerpc-aix/otfinfo b/Master/bin/powerpc-aix/otfinfo
index 714deb1bd87..bcbfe5c3569 100755
--- a/Master/bin/powerpc-aix/otfinfo
+++ b/Master/bin/powerpc-aix/otfinfo
Binary files differ
diff --git a/Master/bin/powerpc-aix/otftotfm b/Master/bin/powerpc-aix/otftotfm
index e2ee05ac701..afab56c6d80 100755
--- a/Master/bin/powerpc-aix/otftotfm
+++ b/Master/bin/powerpc-aix/otftotfm
Binary files differ
diff --git a/Master/bin/powerpc-aix/otp2ocp b/Master/bin/powerpc-aix/otp2ocp
index 0c63523252a..0b170534afe 100755
--- a/Master/bin/powerpc-aix/otp2ocp
+++ b/Master/bin/powerpc-aix/otp2ocp
Binary files differ
diff --git a/Master/bin/powerpc-aix/outocp b/Master/bin/powerpc-aix/outocp
index 6efa17e1d8c..420f6c876b7 100755
--- a/Master/bin/powerpc-aix/outocp
+++ b/Master/bin/powerpc-aix/outocp
Binary files differ
diff --git a/Master/bin/powerpc-aix/oxdvi b/Master/bin/powerpc-aix/oxdvi
deleted file mode 120000
index cf7065c02ca..00000000000
--- a/Master/bin/powerpc-aix/oxdvi
+++ /dev/null
@@ -1 +0,0 @@
-xdvi \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/patgen b/Master/bin/powerpc-aix/patgen
index 801d96997be..8f2dfe12e95 100755
--- a/Master/bin/powerpc-aix/patgen
+++ b/Master/bin/powerpc-aix/patgen
Binary files differ
diff --git a/Master/bin/powerpc-aix/pdfclose b/Master/bin/powerpc-aix/pdfclose
index 2274a7627cf..587f7b78a88 100755
--- a/Master/bin/powerpc-aix/pdfclose
+++ b/Master/bin/powerpc-aix/pdfclose
Binary files differ
diff --git a/Master/bin/powerpc-aix/pdfopen b/Master/bin/powerpc-aix/pdfopen
index fb021690ca6..d754aa75664 100755
--- a/Master/bin/powerpc-aix/pdfopen
+++ b/Master/bin/powerpc-aix/pdfopen
Binary files differ
diff --git a/Master/bin/powerpc-aix/pdftex b/Master/bin/powerpc-aix/pdftex
index 068171b0ff6..1f1e65d2dee 100755
--- a/Master/bin/powerpc-aix/pdftex
+++ b/Master/bin/powerpc-aix/pdftex
Binary files differ
diff --git a/Master/bin/powerpc-aix/pdftexi2dvi b/Master/bin/powerpc-aix/pdftexi2dvi
deleted file mode 100755
index 17708e76579..00000000000
--- a/Master/bin/powerpc-aix/pdftexi2dvi
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-# $Id: pdftexi2dvi,v 1.3 2007/07/05 15:22:26 karl Exp $
-# Written by Thomas Esser. Public domain.
-# Execute texi2dvi --pdf.
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-texi2dvi --pdf ${1+"$@"}
diff --git a/Master/bin/powerpc-aix/pdftosrc b/Master/bin/powerpc-aix/pdftosrc
index d32dcf33862..53c9caad1eb 100755
--- a/Master/bin/powerpc-aix/pdftosrc
+++ b/Master/bin/powerpc-aix/pdftosrc
Binary files differ
diff --git a/Master/bin/powerpc-aix/pfb2pfa b/Master/bin/powerpc-aix/pfb2pfa
index 9e1cc3e3641..7afce1e5580 100755
--- a/Master/bin/powerpc-aix/pfb2pfa
+++ b/Master/bin/powerpc-aix/pfb2pfa
Binary files differ
diff --git a/Master/bin/powerpc-aix/pk2bm b/Master/bin/powerpc-aix/pk2bm
index 7afa6b54389..bfc493a36c6 100755
--- a/Master/bin/powerpc-aix/pk2bm
+++ b/Master/bin/powerpc-aix/pk2bm
Binary files differ
diff --git a/Master/bin/powerpc-aix/pkfix-helper b/Master/bin/powerpc-aix/pkfix-helper
new file mode 120000
index 00000000000..44ef5278bd4
--- /dev/null
+++ b/Master/bin/powerpc-aix/pkfix-helper
@@ -0,0 +1 @@
+../../texmf-dist/scripts/pkfix-helper/pkfix-helper \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/pktogf b/Master/bin/powerpc-aix/pktogf
index 22da92c151c..40b07b05116 100755
--- a/Master/bin/powerpc-aix/pktogf
+++ b/Master/bin/powerpc-aix/pktogf
Binary files differ
diff --git a/Master/bin/powerpc-aix/pktype b/Master/bin/powerpc-aix/pktype
index 6df7f8c204f..61645415ec0 100755
--- a/Master/bin/powerpc-aix/pktype
+++ b/Master/bin/powerpc-aix/pktype
Binary files differ
diff --git a/Master/bin/powerpc-aix/pltotf b/Master/bin/powerpc-aix/pltotf
index a7507d3469e..f19c9081a12 100755
--- a/Master/bin/powerpc-aix/pltotf
+++ b/Master/bin/powerpc-aix/pltotf
Binary files differ
diff --git a/Master/bin/powerpc-aix/pooltype b/Master/bin/powerpc-aix/pooltype
index 93e49deea25..09f0818bd66 100755
--- a/Master/bin/powerpc-aix/pooltype
+++ b/Master/bin/powerpc-aix/pooltype
Binary files differ
diff --git a/Master/bin/powerpc-aix/ps2eps b/Master/bin/powerpc-aix/ps2eps
new file mode 100755
index 00000000000..7092cbb0007
--- /dev/null
+++ b/Master/bin/powerpc-aix/ps2eps
@@ -0,0 +1,935 @@
+#!/usr/bin/env perl
+# The expression in the previous line replaces the unix specific line
+# {#!/usr/bin/perl}.
+# ps2eps - convert PostScript to EPS (Encapsulated PostScript) files
+# -------------------------------------------------------------------
+# $Id: ps2eps,v 1.64 2007/01/24 12:32:59 bless Exp $
+# -------------------------------------------------------
+# (C)opyright 1999-2007 Roland Bless
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Author: Roland Bless
+# Send bug reports to roland <at> bless.de
+# -------------------------------------------------------------------
+# Additional filtering is performed when Windows generated PostScript files
+# are processed. Some instructions will otherwise lead to bad output
+# if EPS-file gets embedded into other PostScript files.
+#
+# Requirements:
+# + perl
+# + gs (ghostscript supporting pbm output)
+# + bbox (a little C program [ANSI-C - should work on every platform]
+# for calculation of the actual BoundingBox)
+
+use POSIX;
+
+#use warnings;
+
+#use Getopt package
+use Getopt::Long;
+Getopt::Long::Configure("no_ignore_case");
+
+$prgname= "ps2eps";
+
+if (! -d "/usr/bin")
+{ # we assume that we are running under native windows
+ $ghostscriptname = "gswin32c";
+ $NULLDEV = "nul";
+}
+else
+{ # Unix or cygwin
+ $ghostscriptname = "gs";
+ $NULLDEV = "/dev/null 2>&1";
+}
+
+$bboxver=`bbox >$NULLDEV -V`;
+$bboxname= ($?== -1) ? "" : "bbox";
+$version= '$Id: ps2eps,v 1.64 2007/01/24 12:32:59 bless Exp $'; #'
+$insertPScode= 1; # Insert surrounding Postscript code
+$infhandle = STDIN; # Standard input is the default input file
+$outfhandle = STDOUT; # Standard output is default output if STDIN is input
+$infname= '-';
+$outfname= '-';
+$forceoverwrite=0; # do not overwrite existing files
+$ignoreBB= 0; # ignore existing Bounding Box comment
+$removeDSC= 1; # remove Adobe document structure comments
+$removeADO= 1; # remove Adobe printer Driver console Output [Page: ...]
+$ignoreEOFDSC= 0; # ignore %%EOF DSC hint
+$removePreview= 0; # remove preview
+$quiet= 0; # write progress to stdout
+$resolution= 144; # resolution for bounding box calculation is 2x72 dpi
+$trytofixps= 1; # try to fix postscript code
+$forcefixps= 0; # fix postscript code unconditionally if eq 1
+$filterorientation= 1;# filter Orientation line
+$looseBB=''; # default: tight bounding box
+$clip=0; # do not clip
+$warnings=0; # do not print warnings concerning postscript sanity
+$debuggs=0; # no debugging of ghostscript call, turn this on if you want to see the gs call
+$inch=2.54; # one inch is 2.54cm
+$fullcolors= 1; # use ppm format (24-bit full color)
+$trailerseen= 0; # Trailer comment seen?
+$PSversion="2.0"; # default Postscript Version
+$PSDSCversion="2.0"; # default Postscript DSC Version
+$translate_x= 0; # translate by x postscript points
+$translate_y= 0; # translate by y postscript points
+
+$defaultext = '(ps|prn)'; # default extension
+$defaultoutext = '.eps'; # default output extension
+$envname_size = 'PS2EPS_SIZE';
+$envname_gsbbox = 'PS2EPS_GSBBOX';
+
+$gpar="";
+$known_papersizes="11x17|ledger|legal|letter(small)?|arch[A-E]|a([0-9]|10)|isob[0-6]|b[0-5]|c[0-6]|jisb[0-6]|fls(a|e)|halfletter";
+$papersize_help="11x17,ledger,legal,letter,lettersmall,archA,archB,archC,archD,archE\
+a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,isob0,isob1,isob2,isob3,isob4,isob5,isob6,\
+b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5,c6,\
+jisb0,jisb1,jisb2,jisb3,jisb4,jisb5,jisb6,flsa,flse,halfletter\n";
+$trigger= 0;
+$notsane= 0;
+$dummy="";
+
+@ver= split(/ /,$version);
+
+# filename for temporary files
+if ($^O =~ /MSWin32/i or $^O =~ /cygwin/i)
+{
+ # it is less trouble to use the current directory if working on
+ # cygwin and nevertheless using gswin32c.
+ $tmpfname= "$prgname.$$";
+ $win=1;
+}
+elsif (defined($ENV{'TMP'}))
+{
+ $tmpdir= $ENV{'TMP'};
+ $filesep= ($tmpdir =~ /^?\:\\/) ? '\\' : '/';
+ if ($tmpdir =~ /$filesep$/)
+ { $tmpfname= $tmpdir . "$prgname.$$"; }
+ else
+ { $tmpfname= $tmpdir . "$filesep$prgname.$$"; }
+ $win=1;
+}
+else #assume we're on a UNIXBOX
+{
+ $tmpfname= "/tmp/" . "$prgname.$$";
+ $win=0;
+}
+
+
+$licensetxt= "\
+ This program is free software; you can redistribute it and/or modify\
+ it under the terms of the GNU General Public License as published by\
+ the Free Software Foundation; either version 2 of the License, or\
+ (at your option) any later version.\
+\
+ This program is distributed in the hope that it will be useful,\
+ but WITHOUT ANY WARRANTY; without even the implied warranty of\
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\
+ GNU General Public License for more details.\
+\
+ You should have received a copy of the GNU General Public License\
+ along with this program; if not, write to the Free Software\
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n";
+
+@prgidtxt= ( "$prgname - convert PostScript to EPS (Encapsulated PostScript) files\n",
+ "(C)opyright 1998-2007 Roland Bless\n\n" );
+
+@helptxt= ("Version: $ver[2]\n",
+ "Operation:\n",
+ " Without any argument, $prgname reads from standard input\n",
+ " and writes to standard output.\n",
+ " If filenames are given as arguments they are processed\n",
+ " one by one and output files are written to filenames\n",
+ " with extension '$defaultoutext'. If input filenames have the extension\n",
+ " '.ps' or '.prn', this extension is replaced with '$defaultoutext'.\n",
+ " In all other cases '$defaultoutext' is appended to the input filename.\n",
+ " Please note that PostScript files for input should contain\n",
+ " only one single page.\n\n",
+ " If BoundingBox in output seems to be wrong, please try options --size or --ignoreBB.\n\n" );
+
+@usagetxt= ("Syntax:\n",
+ " $prgname [-f] [-q] [-N] [-O] [-n] [-P] [-c] [-C] [-m] [-B] [-E] [-s <pagedim>] [-R +|-|^] [-t <x,y>] [-l] [-g] [-d] [-H] [-h|--help] [-g] [-W] [-L] [-V|--version] [--] [psfile1] [psfile2] [...]\n",
+ "Options:\n",
+ " -f, --force force overwriting existing files\n",
+ " -q, --quiet quiet operation (no output while processing files)\n",
+ " -N, --noinsert do not insert any postscript code\n",
+ " -O, --preserveorientation do not filter Orientation: header comment\n",
+ " -n, --nofix do not try to fix postscript code\n",
+ " -P, --removepreview remove preview image (smaller file, but no preview)\n",
+ " -F, --fixps fix postscript code unconditionally\n",
+ " -c, --comments preserve document structure comments\n",
+ " -C, --clip insert postscript code for clipping\n",
+ " -m, --mono use black/white bitmap as base for calculation\n",
+ " -s, --size=<pagedim> page size (a0-a10,letter,...) or in format XxY[cm|in] (default:cm), where X and Y are numbers\n",
+ " use --size=list to list pre-defined page sizes\n",
+ " -R, --rotate=<direction> rotate resulting EPS. <direction>: +=+90 (clockw.),-=-90 (counter-clockw.) ^=180 degrees\n",
+ " -t, --translate specify x,y offset (may be negative) in postscript points (1/72 dpi)\n",
+ " -r, --resolution specify dpi resolution to render with ghostscript (default 144)",
+ " -l, --loose expand the original bounding box by one point in each direction\n",
+ " -B, --ignoreBB do not use existing bounding box as page size for rendering\n",
+ " -E, --ignoreEOF do not use %%EOF as hint for end of file\n",
+ " -g, --gsbbox use internal bbox device of ghostscript\n",
+ " -H, --no-hires do not use a HiResBoundingBox\n",
+ " -h, --help help information\n",
+ " -L, --license show licensing information\n",
+ " -V, --version show version information\n",
+ " -d, --debuggs show ghostscript call\n",
+ " -W, --warnings show warnings about sanity of generated eps file\n",
+ " -- all following arguments are treated as files\n",
+ " (allows filenames starting with -)\n",
+ "\n",
+ "Arguments:\n",
+ " One or more names of PostScript files for input\n");
+
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+## -- argument checking --
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+#environment variable for papersize
+if (defined($ENV{"$envname_size"}))
+{
+ $opt_s= $ENV{"$envname_size"};
+}
+else
+{
+ $opt_s = ''; # for s-option
+}
+
+if (defined($ENV{"$envname_gsbbox"}))
+{
+ $bboxname="";
+}
+
+$opt_t = ''; # for t-option
+$opt_R = ''; # for R-option
+$opt_r = ''; # for r-option
+$stopnow = 0;
+die "Wrong option(s), please check usage with $prgname --help\n" unless
+GetOptions('f|force' => \$forceoverwrite,
+ 'q|quiet' => \$quiet,
+ 'm|mono' => sub { $fullcolors = 0 },
+ 'n|nofix' => sub { $trytofixps = 0 },
+ 'F|fixps' => \$forcefixps,
+ 'N|noinsert' => sub { $insertPScode = 0 },
+ 'O|preserveorientation' => sub { $filterorientation= 0 },
+ 'P|removepreview' => \$removePreview,
+ 'c|comments' => sub { $removeDSC = 0 },
+ 'C|clip' => \$clip,
+ 'l|loose' => sub { $looseBB = '-l' },
+ 'B|ignoreBB' => \$ignoreBB,
+ 'E|ignoreEOF'=> \$ignoreEOFDSC,
+ 's|size=s' => \$opt_s,
+ 't|translate=s' => \$opt_t,
+ 'r|resolution=s' => \$opt_r,
+ 'R|rotate=s' => \$opt_R,
+ 'g|gsbbox' => sub { $bboxname=""; },
+ 'H|nohires' => \$nohires,
+ 'h|help' => sub { $stopnow = 1; print @prgidtxt,@helptxt,@usagetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; },
+ 'L|license' => sub { $stopnow = 1; print @prgidtxt,$licensetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; },
+ 'd|debuggs' => \$debuggs,
+ 'W|warnings' => \$warnings,
+ 'V|version' => sub { $stopnow = 1; print @prgidtxt,"Version: $ver[2]\n"; });exit if ($stopnow);
+
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+## -- wildcard processing --
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+## internal wildcard processing for current directory,
+## only used for non UNIX-based OSs (which may lack shell wildcard expansion)
+@filenames = ();
+foreach $object (@ARGV) {
+ if ($win && $object =~ m/\*/o) # asterisk is present in filename
+ {
+ $wildcard = $object;
+ $wildcard =~ s/\./\\\./g; # replace . in pattern with \.
+ $wildcard =~ s/\*/\(\.\*\)/g; # replace * in pattern with (.*)
+ opendir(DIR,'.') || die 'Unable to open current directory, stopped'; # open current directory
+ print STDERR $wildcard;
+ @fid = grep { /$wildcard(\.$defaultext)?/i } readdir(DIR);
+ foreach (@fid) { push @filenames, $_; }
+ closedir DIR;
+ }
+ else { push @filenames, $object; }
+} # end foreach
+$filenames[0]= '-' if (scalar(@filenames) == 0); # no file arguments, use STDIN as input
+
+print STDERR "Input files: @filenames\n" if (!$quiet);
+
+if ($opt_r ne '')
+{
+ $resolution=$opt_r;
+}
+
+# papersize stuff
+if ($opt_s ne '')
+{
+ # if explicit size is given, ignore existing BoundingBox always
+ $ignoreBB = 1;
+ $pagedimension = $opt_s;
+ if ($opt_s eq "list")
+ {
+ print STDERR "Available paper sizes: $papersize_help";
+ exit 0;
+ }
+
+ #explicit format XxY[cm|in]
+ if ($pagedimension =~ /(\d*\.?\d+)x(\d*\.?\d+)/)
+ {
+ ($x_dim, $dummy, $y_dim, $unit)= split(/(x|cm|in)/,$pagedimension);
+ if ( $x_dim !~ /^\d*\.?\d+$/ )
+ { die "$x_dim in $arg is not a valid number, stopped"; }
+ if ( $y_dim !~ /^\d*\.?\d+$/ )
+ { die "$y_dim in $arg is not a valid number, stopped"; }
+
+ #print STDERR "xdim: $x_dim ydim: $y_dim unit:$unit\n" ;
+ if (!defined($unit) )
+ {
+ $unit='cm';
+ $opt_s=$opt_s . $unit;
+ }
+ if ( $unit ne 'in' ) # assume centimeters
+ { # calculate dimension in pixels (remember: resolution is in dpi)
+ $xpixels= int(($x_dim * $resolution) / $inch)+1;
+ $ypixels= int(($y_dim * $resolution) / $inch)+1;
+ $gpar= "-g${xpixels}x${ypixels}";
+ }
+ else
+ {
+ $xpixels= int($x_dim * $resolution)+1;
+ $ypixels= int($y_dim * $resolution)+1;
+ $gpar= "-g${xpixels}x${ypixels}";
+ }
+ } #endif XxY in opt_s
+ else
+ {
+ if ($opt_s =~ /$known_papersizes/)
+ {
+ $gpar="-sPAPERSIZE=$opt_s";
+ }
+ else
+ {
+ print STDERR "Error: Unknown paper size: $opt_s\n Acceptable papersizes are:$papersize_help\n";
+ exit 1;
+ }
+ }
+}
+
+#translate option
+if ($opt_t ne '')
+{
+ ($translate_x,$translate_y)= split(/\,/,$opt_t);
+}
+
+#rotate
+$rotright='-90 rotate';
+$rotleft='90 rotate';
+$rotupsidedown='180 rotate';
+$rotate='';
+if ($opt_R ne '')
+{
+ if ($opt_R eq '+') { $rotate=$rotright; }
+ elsif ($opt_R eq '-') { $rotate=$rotleft; }
+ elsif ($opt_R eq '^') { $rotate=$rotupsidedown; }
+ else { die "Wrong parameter for option -R: Valid are only +,-,^\n"; };
+}
+
+$device= $fullcolors ? "ppmraw" : "pbmraw";
+
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+## -- iterate over different input files --
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+PROCESSFILE:
+while ($infname= (shift @filenames))
+{
+ # reset filter definitions for each file
+ undef $linefilter;
+ undef $rangefilter_begin;
+ undef $rangefilter_end;
+ $fixthisps= $trytofixps;
+ $fixmsgprinted= 0;
+
+ if (!$quiet) { print STDERR "Processing: $infname\n"; }
+ unless (open($infhandle,"<$infname"))
+ { # skip over this file
+ print STDERR "$prgname: Can't open $infname: $!\n";
+ next PROCESSFILE;
+ }
+
+ # buffer input from stdin into temporary file, because it has to be read twice
+ # one time for ghostscript processing, the second time for generating output
+ if ($infname eq '-') # input is stdin
+ {
+ $tmpfhandle='';
+ open($tmpfhandle,">$tmpfname") or
+ die "Cannot open temporary file $tmpfname for writing: $!\n";
+ }
+ else # input is not stdin
+ {
+ undef $tmpfhandle;
+ #if filename ends with $defaultext usually .ps or .prn, replace the extension with $defaultoutext
+ if ($infname =~ /\.$defaultext$/i)
+ {
+ $outfname= $infname; $outfname =~ s/\.$defaultext$/$defaultoutext/i;
+ }
+ else # otherwise simply append the extension $defaultoutext
+ {
+ $outfname= $infname . "$defaultoutext";
+ }
+ if (!$forceoverwrite and -s "$outfname")
+ {
+ die "$prgname: Sorry, file named $outfname already exists,",
+ " will not overwrite it.\n",
+ " You will have to use the -f option, delete it or rename it",
+ " before running $prgname again.\n";
+ }
+ else
+ {
+ open($outfhandle,">$outfname") or die "Can't open file $outfname for writing: $!\n";
+ }
+ } #end else input is not stdin
+
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ ## -- process input file --
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ $linefilter= '^$'; #'# filter empty lines by default
+ while (<$infhandle>)
+ {
+ # get postscript and DSC version
+ if (/%!PS-Adobe-(\S+).*EPSF-(\S+)/)
+ {
+ $PSversion=$1;
+ $PSDSCversion=$2;
+ if (! ($PSversion =~ /\d+\.\d+/))
+ {
+ $PSDSCversion="2.0";
+ }
+ if (! ($PSDSCversion =~ /\d+\.\d+/))
+ {
+ $PSDSCversion="2.0";
+ }
+ }
+
+ # check for existing BoundingBox parameters
+ if ( /^%%\s*BoundingBox:\s*(.*)/ && !defined($eBBllx) )
+ {
+ $BBarg= $1;
+ # accept even negative and fractional BBs
+ if ( $BBarg =~ /(\-?\d+\.?\d*\s+){3,}\d+/ ) # ignore %% BoundingBox: (atend) comments
+ {
+ ($eBBllx,$eBBlly,$eBBurx,$eBBury,$dummy)= split /\s/,$BBarg;
+ #print STDERR "Existing BB: $eBBllx,$eBBlly,$eBBurx,$eBBury\n";
+ if (int($eBBllx) < 0) { $translate_x= - int($eBBllx-0.5); }
+ if (int($eBBlly) < 0) { $translate_y= - int($eBBlly-0.5); }
+
+ $xpixels= int((($eBBurx-$eBBllx) * $resolution)/72)+1;
+ $ypixels= int((($eBBury-$eBBlly) * $resolution)/72)+1;
+ if (!$ignoreBB)
+ {
+ $gpar= "-g${xpixels}x${ypixels}";
+ # check for meaningful values
+ if (($xpixels <= 1) || ($ypixels <= 1))
+ {
+ $gpar=""; undef $eBBllx; undef $eBBlly;
+ }
+ else
+ {
+ if (!$quiet)
+ {
+ print STDERR "Rendering with existing $_";
+ if (int($eBBllx) < 0 || int($eBBlly) < 0)
+ {
+ print STDERR "WARNING: existing Bounding Box shows negative values - shifting\n";
+ }
+ }
+ }
+ } #endif !$ignoreBB
+ } #endif $BBarg =~
+ }
+
+
+ if ($fixthisps) # try to fix bad postscript code
+ {
+ # check for Windows 3.x output
+ if ( /^Win.*Dict/ )
+ {
+ if (!$quiet && !$fixmsgprinted)
+ { print STDERR "Windows 3.5 generated Postscript file detected, fixing\n"; }
+ $linefilter= '^(EJ|RS)';
+ $rangefilter_begin= '^statusdict';
+ $rangefilter_end= 'cvx\ settransfer$'; #'
+ $fixmsgprinted= 1; # stop printing message
+ }
+ else
+ {
+ if ( /^%%Creator:\s*Wind.U\s*Xprinter/ )
+ {
+ if (!$quiet && !$fixmsgprinted)
+ { print STDERR "Star/OpenOffice generated Postscript file detected, fixing\n"; }
+ $linefilter= '^rs';
+ $fixmsgprinted= 1; # stop printing message
+ }
+ else
+ {
+ if ( $forcefixps ||
+ /^\/NTPS/ ||
+ /Creator:\s*(AdobePS|Pscript|.*Windows)/i ) #check for NT generated output
+ {
+ if (!$quiet && !$fixmsgprinted)
+ {
+ if ($forcefixps)
+ {
+ print STDERR "Postscript filtering requested, fixing\n";
+ }
+ else
+ {
+ print STDERR "Windows generated Postscript file detected, fixing\n";
+ }
+ }
+ $rangefilter_begin= '^((\[\{)|(featurebegin\{))$'; #'
+ $rangefilter_end= '^(\} stopped cleartomark|\}featurecleanup)';
+ $exclude_rangefilter_begin= '^(?i)%%BeginNonPPDFeature'; #'
+ $exclude_rangefilter_end= '^(?i)%%EndNonPPDFeature';
+ #$triggered_rangefilter_begin= ''; #'
+ #$triggered_rangefilter_end= ''; #'
+ $fixsearchpat='(^|\s)(initmatrix|initclip|initgraphics)(\s|$)';
+ $fixreplacepat=' ';
+ $fixmsgprinted= 1; # stop printing message
+ } # end if NTPS
+ } #end else
+ }
+ } #end if trytofixps
+
+ if (defined($tmpfhandle))
+ {
+ print $tmpfhandle $_ or die "$prgname: Failure during writing to temporary file $tmpfname";
+ }
+
+ if (/^%%EOF\s*$/)
+ {
+ $totalEOFDSC++
+ }
+ } #end while <$infhandle>
+
+ if (defined($tmpfhandle))
+ {
+ close($tmpfhandle);
+ }
+ else
+ {
+ $tmpfhandle= $infhandle;
+ $tmpfname= $infname;
+ }
+
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ ## -- calculate the bounding box --
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ if ($translate_x!=0 || $translate_y!=0)
+ {
+ $translation="$translate_x $translate_y translate";
+ $translatecmd="-c $translation";
+ }
+ else
+ {
+ $translation="";
+ $translatecmd="";
+ }
+
+ if (!$quiet)
+ {
+ print STDERR "Calculating Bounding Box...";
+ if ($opt_s)
+ {
+ print STDERR "using page size $opt_s...";
+ }
+ }
+
+ $rotatecmd='';
+ if ($rotate ne '')
+ {
+ $rotatecmd="-c \"$rotate\""
+ }
+ if ($bboxname ne '')
+ {
+ $cmdline="$ghostscriptname -dSAFER -dNOPAUSE -q $gpar -r$resolution -sDEVICE=$device -sOutputFile=- $translatecmd -f $tmpfname -c showpage -c quit | $bboxname -r $resolution";
+ }
+ else
+ {
+ if (!$quiet) {
+ print STDERR "...using bbox device of $ghostscriptname...";
+ }
+ $cmdline = "$ghostscriptname -dSAFER -dBATCH -dNOPAUSE -q $gpar -r$resolution -sDEVICE=bbox -sOutputFile=- -c \"/setpagedevice {pop} def\" $translatecmd -f $tmpfname -c quit 2>&1";
+ }
+
+ if ($debuggs) { print STDERR "\nCalling: $cmdline\n"; }
+
+ # actual ghostscript call
+ $boundingbox=`$cmdline`;
+ if ($debuggs) { print STDERR "Call result: $boundingbox"; }
+
+ # check result of gs call
+ if ($boundingbox !~ /^%%BoundingBox/m)
+ {
+ print STDERR "Error: Could not determine bounding box!\n",
+ "I suppose $ghostscriptname had some trouble interpreting the postscript-file\n";
+ }
+
+ $boundingbox =~ /^%%HiResBoundingBox:\s*(.*)/m;
+ if (defined($1)) # HiResBoundingBox given
+ {
+ ($hcBBllx,$hcBBlly,$hcBBurx,$hcBBury,$dummy)= split(/\s/,$1);
+ $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n";
+ $cBBllx = floor($hcBBllx);
+ $cBBlly = floor($hcBBlly);
+ $cBBurx = ceil($hcBBurx);
+ $cBBury = ceil($hcBBury);
+ }
+ else
+ { #use normal BoundingBox
+ $boundingbox =~ /^%%.*BoundingBox:\s*(.*)/;
+ ($cBBllx,$cBBlly,$cBBurx,$cBBury,$dummy)= split(/\s/,$1);
+ }
+ # if loose BB should be performed by ps2eps
+ # apply changes to resulting bounding box if needed
+ if ($looseBB ne '')
+ {
+ if ($cBBllx > 0) { $cBBllx--; }
+ if ($cBBlly > 0) { $cBBlly--; }
+ $cBBurx++; $cBBury++;
+ }
+ # extend clipping box by 1 point
+ if ($clip)
+ {
+ if ($cBBllx > 0) { $cBBllx--; }
+ if ($cBBlly > 0) { $cBBlly--; }
+ $cBBurx++; $cBBury++;
+ }
+ if ($cBBllx < 0 || $cBBlly < 0)
+ {
+ if (!$quiet)
+ {
+ print STDERR "WARNING! Your drawing had a negative Bounding Box which is deprecated and may cause problems!. I'll shift it.\n";
+ }
+ $translate_x= -int($cBBllx);
+ $translate_y= -int($cBBlly);
+ $cBBllx=0;
+ $cBBurx= $cBBurx + $translate_x;
+ $cBBlly=0;
+ $cBBury= $cBBury + $translate_y;
+
+ $hcBBurx= $hcBBurx + $hcBBllx;
+ $hcBBury= $hcBBury + $hcBBlly;
+ $hcBBllx= 0;
+ $hcBBlly= 0;
+
+ $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n";
+
+ $translation="$translate_x $translate_y translate";
+ $translatecmd="-c \'$translation\'";
+ }
+ $boundingbox = "%%BoundingBox: $cBBllx $cBBlly $cBBurx $cBBury\n";
+
+ if (!$quiet) { print STDERR "ready. $boundingbox" };
+
+ $before_startps= 1;
+ $inserted_prolog= 0;
+ $prolog_passed= 0;
+
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ ## -- Create output file --
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ if (!$quiet) { print STDERR "Creating output file $outfname..."; }
+
+ open($tmpfhandle,"<$tmpfname") or die "Cannot open file $tmpfname for reading";
+ CREATEOUTPUT:
+ while (<$tmpfhandle>)
+ {
+ # check whether we are in a binary section
+
+ $binarysection=(/^(%%BeginBinary)|(beginimage)\r?\n?$/ ... /^(%%EndBinary)|^(endimage)/) ||
+ (/^(doNimage)|(doclutimage)\r?\n?$/ ... /(^|~> )Z\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0
+ (/^beginjpeg / ... /~> endjpeg\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0
+ (/^pdfIm/ ... /^%-EOD-/);
+
+ if ( !$binarysection )
+ {
+ s/\r?\n?$//; # remove CR and/or LF at end of line if not in binary section
+ }
+
+ # check where magic Postscript header starts - skip leading binary stuff, e.g., HP PCL/PJL code
+ if ($before_startps)
+ {
+ if ( /%!/ ) # This is usually the smallest magic sequence
+ { # Note: Adobe Photoshop generated a binary heading, so ^ is not applicable
+ # %! may be part of a binary sequence, but then control characters follow
+ # so skip %! if non alphanumeric characters follow
+ if ( ! /%!.*[^\w]{2,}/ )
+ {
+ # some heading without two control characters found
+ $before_startps= 0;
+ if (! /%!PS-Adobe.*/i) # some strange programs use other magics
+ {
+ print STDERR "** Warning **: Weird heading line -- ",$_," -- ";
+ }
+ }
+ }
+ next CREATEOUTPUT;
+ }
+ else # we are hopefully in regular postscript code now
+ {
+ # count %%EOFs as we want to know when we got the last EOF
+ if ( /^%%EOF\s*$/ )
+ {
+ $seenEOF++;
+ }
+
+ # We should insert our own prologue including the newly calculated BoundingBox
+ if (! $inserted_prolog)
+ {
+ print $outfhandle "%!PS-Adobe-$PSversion EPSF-$PSDSCversion\n";
+ # check if we need to rotate
+ $transrotcmd='';
+ if ($rotatecmd)
+ {
+ if ($rotate eq $rotright)
+ {
+ $transrotcmd="-$cBBlly $cBBurx translate";
+ $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n";
+ if ($hiresboundingbox ne "")
+ {
+ $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n";
+ }
+
+ }
+ elsif ($rotate eq $rotleft)
+ {
+ $transrotcmd="$cBBury -$cBBllx translate";
+ $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n";
+ if ($hiresboundingbox ne "")
+ {
+ $hiresboundingbox= '%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n";
+ }
+ }
+ elsif ($rotate eq $rotupsidedown)
+ {
+ $transrotcmd="$cBBurx $cBBury translate";
+ $boundingbox='%%BoundingBox: 0 0 ' . ($cBBurx-$cBBllx) . ' ' . ($cBBury-$cBBlly) . "\n";
+ if ($hiresboundingbox ne "")
+ {
+ $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBurx-$hcBBllx) . ' ' . ($hcBBury-$hcBBlly) . "\n";
+ }
+ }
+ }
+ print $outfhandle $boundingbox;
+ if (!defined($hiresboundingbox))
+ {
+ $nohires=1;
+ }
+ if (defined($hiresboundingbox) && !defined($nohires)) { print $outfhandle $hiresboundingbox; }
+ $inserted_prolog= 1;
+ redo CREATEOUTPUT;
+ }
+ else # already inserted_prolog
+ {
+ if (! $prolog_passed)
+ {
+ #ignore the following lines in the prologue
+ if ( /^%%(HiRes)?BoundingBox/ ||
+ /^%%Pages/ ||
+ /^%%BeginProlog/ ||
+ /^%%EndProlog/ ||
+ ($filterorientation && /^%%Orientation/) ||
+ ($removeDSC && /^%%.*: \(atend\)/) ||
+ ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) )
+ {
+ next CREATEOUTPUT;
+ }
+ else
+ {
+ if ( /^[^%].*/ ||
+ /^%%EndComments/ ) # line is not a comment
+ {
+ #output postscript code for proper EPS file
+ if ($insertPScode)
+ {
+ print $outfhandle "%%EndComments\n",
+ "% EPSF created by ps2eps $ver[2]\n",
+ "%%BeginProlog\n";
+ }
+ # Insert own postscript code for clipping
+ if ($clip)
+ {
+ if (!defined($nohires))
+ {
+ printf $outfhandle "newpath %f %f moveto %f %f lineto %f %f lineto %f %f lineto closepath clip\n",$hcBBllx-0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBury+0.1,$hcBBllx-0.1,$hcBBury+0.1;
+ }
+ else
+ {
+ printf $outfhandle "newpath %d %d moveto %d %d lineto %d %d lineto %d %d lineto closepath clip\n",$cBBllx,$cBBlly,$cBBurx,$cBBlly,$cBBurx,$cBBury,$cBBllx,$cBBury;
+ }
+ } #endif clip
+
+ if ($rotate ne '')
+ {
+ print $outfhandle "$transrotcmd\n";
+ print $outfhandle "$rotate\n";
+ }
+ if ($translation ne '')
+ {
+ print $outfhandle "$translation\n";
+ }
+
+ #insert surrounding postscript code
+ if ($insertPScode)
+ {
+ print $outfhandle "save\n",
+ "countdictstack\n",
+ "mark\n",
+ "newpath\n",
+ "/showpage {} def\n",
+ "/setpagedevice {pop} def\n",
+ "%%EndProlog\n",
+ "%%Page 1 1\n";
+ }
+ $prolog_passed= 1;
+ if (/^%%EndComments/) { next CREATEOUTPUT; }
+ } #endif line is not a comment
+ } #end else
+ } #endif (we are in the prologue section)
+ else #we are in the main part of postscript file
+ {
+ #end of postscript file reached?
+ #Usually the DSC %%EOF signifies the end
+ if ( eof($tmpfhandle) ||
+ ($ignoreEOFDSC == 0 && /^%%EOF\s*$/ && $seenEOF == $totalEOFDSC)
+ || ( $trailerseen && /^II\*\000.*/ )
+ )
+ {
+ #do not forget to print last line if not terminated by LF
+ if ( eof($tmpfhandle) && !/^$/ && !/^%%EOF\s*$/ ) # do not insert %%EOF twice
+ {
+ print $outfhandle $_,"\n";
+ }
+ #add appropriate trailer
+ if ($insertPScode)
+ {
+ print $outfhandle "%%Trailer\n",
+ "cleartomark\n",
+ "countdictstack\n",
+ "exch sub { end } repeat\n",
+ "restore\n",
+ "%%EOF\n";
+ }
+ last CREATEOUTPUT;
+ } # stop output
+
+ # Trailer comment seen?
+ if ( /^%%Trailer\s*$/ )
+ {
+ $trailerseen=1;
+ }
+ else
+ {
+ if (!/^\s*$/) #non empty lines follow
+ {
+ $trailerseen=0;
+ }
+ }
+
+ # check for trigger
+ if (defined($triggerstring) && /^$triggerstring$/)
+ {
+ $trigger= 1;
+ };
+
+ # remove complete lines if one of the expression matches
+ if ( !$binarysection # only when not in binary section
+ &&
+ (
+ ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/))
+ || # no preview
+ (defined($rangefilter_begin) &&
+ (/$rangefilter_begin/ ... /$rangefilter_end/) &&
+ (!(/$exclude_rangefilter_begin/ ... /$exclude_rangefilter_end/))
+ )
+ ||
+ (defined($triggered_rangefilter_begin) && defined($triggered_rangefilter_end) &&
+ $trigger &&
+ (/$triggered_rangefilter_begin/ ... /$triggered_rangefilter_end/)
+ )
+ ||
+ /$linefilter/ # lines by linefilter
+ ||
+ ($removeDSC && (/^%( |!)(\w )+/ || /^%%([A-Za-z]+\s)/)) # any type of structured comment
+ ||
+ ($removeADO &&
+ (/^statusdict begin.*ProductName.*print product print.*flush end\r?\n?$/ ||
+ /^\(%%\[\s*(Page:.*|LastPage)\s*\]%%\)\s*=\s*\w*\s*\r?\n?/ ))
+ ||
+ /^$/ # empty lines
+ )
+ )
+ {
+ next CREATEOUTPUT;
+ }
+
+ # replacement
+ if ( defined($fixsearchpat) )
+ {
+ #if (/$fixsearchpat/) { print STDERR "**filter** before:",$_,"\n"; }
+ #if (s/$fixsearchpat/$fixreplacepat/) { print STDERR "**filter** after:",$_,"\n";}
+ s/$fixsearchpat/$fixreplacepat/;
+ }
+
+ # sanity check for potential dangerous commands
+ if ( /(^|\s)(clear|erasepage|initmatrix|initclip|initgraphics|startjob|cleardictstack|setmatrix|setpagedevice|copypage|grestoreall|exitserver|quit)(\s|$)/ )
+ {
+ $notsane= 1;
+ #print STDERR "Warning: dangerous command in line: ",$_,"\n";
+ }
+ } # end else (this is main part)
+
+ # Output the postscript line to result file
+ print $outfhandle $_;
+
+ if (!$binarysection)
+ {
+ print $outfhandle "\n"; # terminate line with LF
+ }
+ } # end else prolog_passed
+ } # end else inserted_prolog
+ } # end while CREATEOUTPUT
+
+ close($tmpfhandle);
+
+ if ($tmpfname ne $infname) { unlink "$tmpfname"; } #remove temporary file
+
+ close ($outfhandle);
+
+ # print warning if magic sequence not found
+ if ( $before_startps )
+ {
+ print STDERR "\n ** Error!! **: could not identify begin of postscript code in file $infname, please check header line!\n First line should start with %!. No output generated.\n";
+ }
+
+ if (!$quiet) { print STDERR "ready.\n"; }
+ if ($warnings and $notsane and !$quiet)
+ {
+ print STDERR "** Warning **: EPS-output for $infname is not sane, at least one\n",
+ "of the following commands was still present:\n",
+ "clear erasepage initmatrix initclip initgraphics startjob\n",
+ "cleardictstack setmatrix setpagedevice copypage grestoreall\n",
+ "exitserver quit\n";
+ }
+} #end while PROCESSFILE
+
+# ---- end of perl-script -------
diff --git a/Master/bin/powerpc-aix/ps2pk b/Master/bin/powerpc-aix/ps2pk
index 4832328212d..fbc48e7f9a6 100755
--- a/Master/bin/powerpc-aix/ps2pk
+++ b/Master/bin/powerpc-aix/ps2pk
Binary files differ
diff --git a/Master/bin/powerpc-aix/psbook b/Master/bin/powerpc-aix/psbook
index de831aa5273..7c639aac4be 100755
--- a/Master/bin/powerpc-aix/psbook
+++ b/Master/bin/powerpc-aix/psbook
Binary files differ
diff --git a/Master/bin/powerpc-aix/psnup b/Master/bin/powerpc-aix/psnup
index 3b7dbd7592e..b34fd745551 100755
--- a/Master/bin/powerpc-aix/psnup
+++ b/Master/bin/powerpc-aix/psnup
Binary files differ
diff --git a/Master/bin/powerpc-aix/psresize b/Master/bin/powerpc-aix/psresize
index 3e7588fb71e..a2c0f815431 100755
--- a/Master/bin/powerpc-aix/psresize
+++ b/Master/bin/powerpc-aix/psresize
Binary files differ
diff --git a/Master/bin/powerpc-aix/psselect b/Master/bin/powerpc-aix/psselect
index c104c5aa14e..fa42bc4495b 100755
--- a/Master/bin/powerpc-aix/psselect
+++ b/Master/bin/powerpc-aix/psselect
Binary files differ
diff --git a/Master/bin/powerpc-aix/pstops b/Master/bin/powerpc-aix/pstops
index b89d51a4c72..98882a5db0a 100755
--- a/Master/bin/powerpc-aix/pstops
+++ b/Master/bin/powerpc-aix/pstops
Binary files differ
diff --git a/Master/bin/powerpc-aix/purifyeps b/Master/bin/powerpc-aix/purifyeps
new file mode 120000
index 00000000000..d6919b530ed
--- /dev/null
+++ b/Master/bin/powerpc-aix/purifyeps
@@ -0,0 +1 @@
+../../texmf-dist/scripts/purifyeps/purifyeps \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/sjisconv b/Master/bin/powerpc-aix/sjisconv
index 7800dff2026..c4f80f6272c 100755
--- a/Master/bin/powerpc-aix/sjisconv
+++ b/Master/bin/powerpc-aix/sjisconv
Binary files differ
diff --git a/Master/bin/powerpc-aix/svn-multi b/Master/bin/powerpc-aix/svn-multi
new file mode 120000
index 00000000000..9f3e6f9d9b7
--- /dev/null
+++ b/Master/bin/powerpc-aix/svn-multi
@@ -0,0 +1 @@
+../../texmf-dist/scripts/svn-multi/svn-multi.pl \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/synctex b/Master/bin/powerpc-aix/synctex
index 955657f9d71..3c25bafec9c 100755
--- a/Master/bin/powerpc-aix/synctex
+++ b/Master/bin/powerpc-aix/synctex
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1ascii b/Master/bin/powerpc-aix/t1ascii
index 9b83fbd3108..fff06e16aab 100755
--- a/Master/bin/powerpc-aix/t1ascii
+++ b/Master/bin/powerpc-aix/t1ascii
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1asm b/Master/bin/powerpc-aix/t1asm
index 40aef217a9a..3c55a1f8aec 100755
--- a/Master/bin/powerpc-aix/t1asm
+++ b/Master/bin/powerpc-aix/t1asm
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1binary b/Master/bin/powerpc-aix/t1binary
index e0ac1115960..b3ebfce3775 100755
--- a/Master/bin/powerpc-aix/t1binary
+++ b/Master/bin/powerpc-aix/t1binary
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1disasm b/Master/bin/powerpc-aix/t1disasm
index 843822e8e5a..a6d74b8a6aa 100755
--- a/Master/bin/powerpc-aix/t1disasm
+++ b/Master/bin/powerpc-aix/t1disasm
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1dotlessj b/Master/bin/powerpc-aix/t1dotlessj
index 02cf3322dcb..3b796654225 100755
--- a/Master/bin/powerpc-aix/t1dotlessj
+++ b/Master/bin/powerpc-aix/t1dotlessj
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1lint b/Master/bin/powerpc-aix/t1lint
index 3e4febc1801..4eb956e8da3 100755
--- a/Master/bin/powerpc-aix/t1lint
+++ b/Master/bin/powerpc-aix/t1lint
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1mac b/Master/bin/powerpc-aix/t1mac
index ba6090e7128..ead35353f2e 100755
--- a/Master/bin/powerpc-aix/t1mac
+++ b/Master/bin/powerpc-aix/t1mac
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1rawafm b/Master/bin/powerpc-aix/t1rawafm
new file mode 100755
index 00000000000..41322bf637d
--- /dev/null
+++ b/Master/bin/powerpc-aix/t1rawafm
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1reencode b/Master/bin/powerpc-aix/t1reencode
index cf17a9ce81d..2353ab2c431 100755
--- a/Master/bin/powerpc-aix/t1reencode
+++ b/Master/bin/powerpc-aix/t1reencode
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1testpage b/Master/bin/powerpc-aix/t1testpage
index bbcedbf1f71..09500b68716 100755
--- a/Master/bin/powerpc-aix/t1testpage
+++ b/Master/bin/powerpc-aix/t1testpage
Binary files differ
diff --git a/Master/bin/powerpc-aix/t1unmac b/Master/bin/powerpc-aix/t1unmac
index 8c96408f7ac..cb0b3024158 100755
--- a/Master/bin/powerpc-aix/t1unmac
+++ b/Master/bin/powerpc-aix/t1unmac
Binary files differ
diff --git a/Master/bin/powerpc-aix/t4ht b/Master/bin/powerpc-aix/t4ht
index 372103d376a..610470ecb31 100755
--- a/Master/bin/powerpc-aix/t4ht
+++ b/Master/bin/powerpc-aix/t4ht
Binary files differ
diff --git a/Master/bin/powerpc-aix/tangle b/Master/bin/powerpc-aix/tangle
index af2730e397d..3a4d8d2f4e3 100755
--- a/Master/bin/powerpc-aix/tangle
+++ b/Master/bin/powerpc-aix/tangle
Binary files differ
diff --git a/Master/bin/powerpc-aix/tcdialog b/Master/bin/powerpc-aix/tcdialog
index 659a83335cb..05a632fa63c 100755
--- a/Master/bin/powerpc-aix/tcdialog
+++ b/Master/bin/powerpc-aix/tcdialog
Binary files differ
diff --git a/Master/bin/powerpc-aix/tex b/Master/bin/powerpc-aix/tex
index 495aeddd6c4..324d3014af6 100755
--- a/Master/bin/powerpc-aix/tex
+++ b/Master/bin/powerpc-aix/tex
Binary files differ
diff --git a/Master/bin/powerpc-aix/tex2xindy b/Master/bin/powerpc-aix/tex2xindy
index d0c8167ad0f..646fcd03b8a 100755
--- a/Master/bin/powerpc-aix/tex2xindy
+++ b/Master/bin/powerpc-aix/tex2xindy
Binary files differ
diff --git a/Master/bin/powerpc-aix/tex4ht b/Master/bin/powerpc-aix/tex4ht
index 88a46a8b6a1..ecf8e8f8fde 100755
--- a/Master/bin/powerpc-aix/tex4ht
+++ b/Master/bin/powerpc-aix/tex4ht
Binary files differ
diff --git a/Master/bin/powerpc-aix/texi2dvi b/Master/bin/powerpc-aix/texi2dvi
deleted file mode 100755
index 877ea9599dd..00000000000
--- a/Master/bin/powerpc-aix/texi2dvi
+++ /dev/null
@@ -1,1791 +0,0 @@
-#! /bin/sh
-# texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources.
-# $Id: texi2dvi,v 1.133 2008/08/11 00:18:29 karl Exp $
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Original author: Noah Friedman.
-#
-# Please send bug reports, etc. to bug-texinfo@gnu.org.
-# If possible, please send a copy of the output of the script called with
-# the `--debug' option when making a bug report.
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-# No failure shall remain unpunished.
-set -e
-
-# This string is expanded by rcs automatically when this file is checked out.
-rcs_revision='$Revision: 1.133 $'
-rcs_version=`set - $rcs_revision; echo $2`
-program=`echo $0 | sed -e 's!.*/!!'`
-
-build_mode=${TEXI2DVI_BUILD_MODE:-local}
-build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.}
-
-# Initialize variables for option overriding and otherwise.
-# Don't use `unset' since old bourne shells don't have this command.
-# Instead, assign them an empty value.
-action=compile
-batch=false # true for batch mode
-debug=false
-escape="\\"
-expand= # t for expansion via makeinfo
-includes=
-line_error=true # Pass --file-line-error to TeX.
-no_line_error=false # absolutely do not pass --file-line-error to TeX
-oname= # --output
-out_lang=dvi
-quiet=false # by default let the tools' message be displayed
-recode=false
-set_language=
-src_specials=
-textra= # Extra TeX commands to insert in the input file.
-txiprereq=19990129 # minimum texinfo.tex version with macro expansion
-verb=false # true for verbose mode
-translate_file= # name of charset translation file
-recode_from= # if not empty, recode from this encoding to @documentencoding
-
-orig_pwd=`pwd`
-
-# We have to initialize IFS to space tab newline since we save and
-# restore IFS and apparently POSIX allows stupid/broken behavior with
-# empty-but-set IFS.
-# http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html
-# We need space, tab and new line, in precisely that order. And don't leave
-# trailing blanks.
-space=' '
-tab=' '
-newline='
-'
-IFS="$space$tab$newline"
-
-# In case someone pedantic insists on using grep -E.
-: ${EGREP=egrep}
-
-# Systems which define $COMSPEC or $ComSpec use semicolons to separate
-# directories in TEXINPUTS -- except for Cygwin et al., where COMSPEC
-# might be inherited, but : is used.
-if test -n "$COMSPEC$ComSpec" \
- && uname | $EGREP -iv 'cygwin|mingw|djgpp' >/dev/null; then
- path_sep=";"
-else
- path_sep=":"
-fi
-
-# Pacify verbose cds.
-CDPATH=${ZSH_VERSION+.}$path_sep
-
-# If $TEX is set to a directory, don't use it.
-test -n "$TEX" && test -d "$TEX" && unset TEX
-
-#
-## --------------------- ##
-## Auxiliary functions. ##
-## --------------------- ##
-
-# In case `local' is not supported by the shell, provide a function
-# that simulates it by simply performing the assignments. This means
-# that we must not expect `local' to work, i.e., we must not (i) rely
-# on it during recursion, and (ii) have two local declarations of the
-# same variable. (ii) is easy to check statically, and our test suite
-# does make sure there is never twice a static local declaration of a
-# variable. (i) cannot be checked easily, so just be careful.
-#
-# Note that since we might use a function simulating `local', we can
-# no longer rely on the fact that no IFS-splitting is performed. So,
-# while
-#
-# foo=$bar
-#
-# is fine (no IFS-splitting), never write
-#
-# local foo=$bar
-#
-# but rather
-#
-# local foo="$bar"
-(
- foo=bar
- test_local () {
- local foo=foo
- }
- test_local
- test $foo = bar
-) || local () {
- case $1 in
- *=*) eval "$1";;
- esac
-}
-
-
-# cd_orig
-# -------
-# Return to the original directory.
-cd_orig ()
-{
- # In case $orig_pwd is on a different drive (for DOS).
- cd /
-
- # Return to the original directory so that
- # - the next file is processed in correct conditions
- # - the temporary file can be removed
- cd "$orig_pwd" || exit 1
-}
-
-# func_dirname FILE
-# -----------------
-# Return the directory part of FILE.
-func_dirname ()
-{
- dirname "$1" 2>/dev/null \
- || { echo "$1" | sed 's!/[^/]*$!!;s!^$!.!'; }
-}
-
-
-# absolute NAME -> ABS-NAME
-# -------------------------
-# Return an absolute path to NAME.
-absolute ()
-{
- case $1 in
- [\\/]* | ?:[\\/]*)
- # Absolute paths don't need to be expanded.
- echo "$1"
- ;;
- *) local slashes
- slashes=`echo "$1" | sed -n 's,.*[^/]\(/*\)$,\1,p'`
- local rel
- rel=$orig_pwd/`func_dirname "$1"`
- if test -d "$rel"; then
- (cd "$rel" 2>/dev/null &&
- local n
- n=`pwd`/`basename "$1"`"$slashes"
- echo "$n")
- else
- error 1 "not a directory: $rel"
- fi
- ;;
- esac
-}
-
-
-# ensure_dir DIR1 DIR2...
-# -----------------------
-# Make sure the directories exist.
-ensure_dir ()
-{
- for dir
- do
- test -d "$dir" \
- || mkdir "$dir" \
- || error 1 "cannot create directory: $dir"
- done
-}
-
-
-# error EXIT_STATUS LINE1 LINE2...
-# --------------------------------
-# Report an error and exit with failure if EXIT_STATUS is non null.
-error ()
-{
- local s="$1"
- shift
- report "$@"
- if test "$s" != 0; then
- exit $s
- fi
-}
-
-
-# findprog PROG
-# -------------
-# Return true if PROG is somewhere in PATH, else false.
-findprog ()
-{
- local saveIFS="$IFS"
- IFS=$path_sep # break path components at the path separator
- for dir in $PATH; do
- IFS=$saveIFS
- # The basic test for an executable is `test -f $f && test -x $f'.
- # (`test -x' is not enough, because it can also be true for directories.)
- # We have to try this both for $1 and $1.exe.
- #
- # Note: On Cygwin and DJGPP, `test -x' also looks for .exe. On Cygwin,
- # also `test -f' has this enhancement, bot not on DJGPP. (Both are
- # design decisions, so there is little chance to make them consistent.)
- # Thusly, it seems to be difficult to make use of these enhancements.
- #
- if { test -f "$dir/$1" && test -x "$dir/$1"; } ||
- { test -f "$dir/$1.exe" && test -x "$dir/$1.exe"; }; then
- return 0
- fi
- done
- return 1
-}
-
-# report LINE1 LINE2...
-# ---------------------
-# Report some information on stderr.
-report ()
-{
- for i in "$@"
- do
- echo >&2 "$0: $i"
- done
-}
-
-
-# run COMMAND-LINE
-# ----------------
-# Run the COMMAND-LINE verbosely, and catching errors as failures.
-run ()
-{
- verbose "Running $@"
- "$@" 2>&5 1>&2 ||
- error 1 "$1 failed"
-}
-
-
-# usage
-# -----
-# Display usage and exit successfully.
-usage ()
-{
- # We used to simply have `echo "$usage"', but coping with the
- # changing behavior of `echo' is much harder than simply using a
- # here-doc.
- #
- # echo '\noto' echo '\\noto' echo -e '\\noto'
- # bash 3.1 \noto \\noto \noto
- # bash 3.2 %oto \noto -e \noto
- #
- # where % denotes the eol character.
- cat <<EOF
-Usage: $program [OPTION]... FILE...
-
-Run each Texinfo or (La)TeX FILE through TeX in turn until all
-cross-references are resolved, building all indices. The directory
-containing each FILE is searched for included files. The suffix of FILE
-is used to determine its language ((La)TeX or Texinfo). To process
-(e)plain TeX files, set the environment variable LATEX=tex.
-
-In order to make texi2dvi a drop-in replacement of TeX/LaTeX in AUC-TeX,
-the FILE may also be composed of the following simple TeX commands.
- \`\\input{FILE}' the actual file to compile
- \`\\nonstopmode' same as --batch
-
-Makeinfo is used to perform Texinfo macro expansion before running TeX
-when needed.
-
-General options:
- -b, --batch no interaction
- -D, --debug turn on shell debugging (set -x)
- -h, --help display this help and exit successfully
- -o, --output=OFILE leave output in OFILE (implies --clean);
- only one input FILE may be specified in this case
- -q, --quiet no output unless errors (implies --batch)
- -s, --silent same as --quiet
- -v, --version display version information and exit successfully
- -V, --verbose report on what is done
-
-TeX tuning:
- -@ use @input instead of \input for preloaded Texinfo
- --dvi output a DVI file [default]
- --dvipdf output a PDF file via DVI (using dvipdf)
- -e, -E, --expand force macro expansion using makeinfo
- -I DIR search DIR for Texinfo files
- -l, --language=LANG specify LANG for FILE, either latex or texinfo
- --no-line-error do not pass --file-line-error to TeX
- -p, --pdf use pdftex or pdflatex for processing
- -r, --recode call recode before TeX to translate input
- --recode-from=ENC recode from ENC to the @documentencoding
- --src-specials pass --src-specials to TeX
- -t, --command=CMD insert CMD in copy of input file
- or --texinfo=CMD multiple values accumulate
- --translate-file=FILE use given charset translation file for TeX
-
-Build modes:
- --build=MODE specify the treatment of auxiliary files [$build_mode]
- --tidy same as --build=tidy
- -c, --clean same as --build=clean
- --build-dir=DIR specify where the tidy compilation is performed;
- implies --tidy;
- defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir]
- --mostly-clean remove the auxiliary files and directories
- but not the output
-
-The MODE specifies where the TeX compilation takes place, and, as a
-consequence, how auxiliary files are treated. The build mode
-can also be set using the environment variable TEXI2DVI_BUILD_MODE.
-
-Valid MODEs are:
- \`local' compile in the current directory, leaving all the auxiliary
- files around. This is the traditional TeX use.
- \`tidy' compile in a local *.t2d directory, where the auxiliary files
- are left. Output files are copied back to the original file.
- \`clean' same as \`tidy', but remove the auxiliary directory afterwards.
- Every compilation therefore requires the full cycle.
-
-Using the \`tidy' mode brings several advantages:
- - the current directory is not cluttered with plethora of temporary files.
- - clutter can be even reduced using --build-dir=dir: all the *.t2d
- directories are stored there.
- - clutter can be reduced to zero using, e.g., --build-dir=/tmp/\$USER.t2d
- or --build-dir=\$HOME/.t2d.
- - the output file is updated after every succesful TeX run, for
- sake of concurrent visualization of the output. In a \`local' build
- the viewer stops during the whole TeX run.
- - if the compilation fails, the previous state of the output file
- is preserved.
- - PDF and DVI compilation are kept in separate subdirectories
- preventing any possibility of auxiliary file incompatibility.
-
-On the other hand, because \`tidy' compilation takes place in another
-directory, occasionally TeX won't be able to find some files (e.g., when
-using \\graphicspath): in that case use -I to specify the additional
-directories to consider.
-
-The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO,
-TEX (or PDFTEX), TEXINDEX, and THUMBPDF environment variables are used
-to run those commands, if they are set. Any CMD strings are added
-after @setfilename for Texinfo input, in the first line for LaTeX input.
-
-Email bug reports to <bug-texinfo@gnu.org>,
-general questions and discussion to <help-texinfo@gnu.org>.
-Texinfo home page: http://www.gnu.org/software/texinfo/
-EOF
- exit 0
-}
-
-
-# verbose WORD1 WORD2
-# -------------------
-# Report some verbose information.
-verbose ()
-{
- if $verb; then
- echo >&2 "$0: $@"
- fi
-}
-
-
-# version
-# -------
-# Display version info and exit succesfully.
-version ()
-{
- cat <<EOF
-texi2dvi (GNU Texinfo 4.12+) $rcs_version
-
-Copyright (C) 2008 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
-EOF
- exit 0
-}
-
-
-## ---------------- ##
-## Handling lists. ##
-## ---------------- ##
-
-
-# list_append LIST-NAME ELEM
-# --------------------------
-# Set LIST-NAME to its former contents, with ELEM appended.
-list_append ()
-{
- local la_l="$1"
- shift
- eval set X \$$la_l "$@"
- shift
- eval $la_l=\""$@"\"
-}
-
-
-# list_concat_dirs LIST-NAME DIR-LIST
-# -----------------------------------
-# Append to LIST-NAME all the components (included empty) from
-# the $path_sep separated list DIR-LIST. Make the paths absolute.
-list_concat_dirs ()
-{
- local lcd_list="$1"
- # Empty path components are meaningful to tex. We rewrite them as
- # `EMPTY' so they don't get lost when we split on $path_sep.
- # Hopefully no one will have an actual directory named EMPTY.
- local replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \
- -e 's/$path_sep\$/${path_sep}EMPTY/g' \
- -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
- save_IFS=$IFS
- IFS=$path_sep
- set x `echo "$2" | eval sed $replace_EMPTY`; shift
- IFS=$save_IFS
- local dir
- for dir
- do
- case $dir in
- EMPTY)
- list_append $lcd_list ""
- ;;
- *)
- if test -d $dir; then
- dir=`absolute "$dir"`
- list_append $lcd_list "$dir"
- fi
- ;;
- esac
- done
-}
-
-
-# list_prefix LIST-NAME SEP -> STRING
-# -----------------------------------
-# Return a string that is composed of the LIST-NAME with each item
-# preceded by SEP.
-list_prefix ()
-{
- local lp_p="$2"
- eval set X \$$1
- shift
- local lp_res
- for i
- do
- lp_res="$lp_res \"$lp_p\" \"$i\""
- done
- echo "$lp_res"
-}
-
-# list_infix LIST-NAME SEP -> STRING
-# ----------------------------------
-# Same as list_prefix, but a separator.
-list_infix ()
-{
- eval set X \$$1
- shift
- local la_IFS="$IFS"
- IFS=$path_sep
- echo "$*"
- IFS=$la_IFS
-}
-
-# list_dir_to_abs LIST-NAME
-# -------------------------
-# Convert the list to using only absolute dir names.
-# Currently unused, but should replace absolute_filenames some day.
-list_dir_to_abs ()
-{
- local ld_l="$1"
- eval set X \$$ld_l
- shift
- local ld_res
- for dir
- do
- dir=`absolute "$dir"`
- test -d "$dir" || continue
- ld_res="$ld_res \"$dir\""
- done
- set X $ld_res; shift
- eval $ld_l=\"$@\"
-}
-
-
-## ------------------------------ ##
-## Language auxiliary functions. ##
-## ------------------------------ ##
-
-# out_lang_tex
-# ------------
-# Return the tex output language (DVI or PDF) for $OUT_LANG.
-out_lang_tex ()
-{
- case $out_lang in
- dvi | ps | dvipdf ) echo dvi;;
- pdf ) echo $out_lang;;
- html | info | text ) echo $out_lang;;
- *) error 1 "$0: invalid out_lang: $1";;
- esac
-}
-
-
-# out_lang_ext
-# ------------
-# Return the extension for $OUT_LANG.
-out_lang_ext ()
-{
- case $out_lang in
- dvipdf ) echo pdf;;
- dvi | html | info | pdf | ps | text ) echo $out_lang;;
- *) error 1 "$0: invalid out_lang: $1";;
- esac
-}
-
-
-## ------------------------- ##
-## TeX auxiliary functions. ##
-## ------------------------- ##
-
-# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file.
-# Likewise for bibtex and makeindex.
-tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \
-TEXINPUTS TFMFONTS"
-for var in $tex_envvars; do
- eval ${var}_orig=\$$var
- export $var
-done
-
-
-# absolute_filenames TEX-PATH -> TEX-PATH
-# ---------------------------------------
-# Convert relative paths to absolute paths, so we can run in another
-# directory (e.g., in tidy build mode, or during the macro-support
-# detection). Prepend ".".
-absolute_filenames ()
-{
- # Empty path components are meaningful to tex. We rewrite them as
- # `EMPTY' so they don't get lost when we split on $path_sep.
- # Hopefully no one will have an actual directory named EMPTY.
- local replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \
- -e 's/$path_sep\$/${path_sep}EMPTY/g' \
- -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
- local res
- res=`echo "$1" | eval sed $replace_empty`
- save_IFS=$IFS
- IFS=$path_sep
- set x $res; shift
- res=.
- for dir
- do
- case $dir in
- EMPTY)
- res=$res$path_sep
- ;;
- *)
- if test -d "$dir"; then
- res=$res$path_sep`absolute "$dir"`
- else
- # Even if $dir is not a directory, preserve it in the path.
- # It might contain metacharacters that TeX will expand in
- # turn, e.g., /some/path/{a,b,c}. This will not get the
- # implicit absolutification of the path, but we can't help that.
- res=$res$path_sep$dir
- fi
- ;;
- esac
- done
- echo "$res"
-}
-
-
-# output_base_name FILE
-# ---------------------
-# The name of FILE, possibly renamed to satisfy --output.
-output_base_name ()
-{
- case $oname in
- '') echo "$1";;
- *) local out_noext
- out_noext=`echo "$oname" | sed 's/\.[^.]*$//'`
- local file_ext
- file_ext=`echo "$1" | sed 's/^.*\.//'`
- echo "$out_noext.$file_ext"
- ;;
- esac
-}
-
-
-# move_to_dest FILE...
-# --------------------
-# Move FILE to the place where the user expects it. Truly move it, that
-# is, it must not remain in its build location unless that is also the
-# output location. (Otherwise it might appear as an extra file in make
-# distcheck.)
-#
-# FILE can be the principal output (in which case -o directly applies), or
-# an auxiliary file with the same base name.
-move_to_dest ()
-{
- local dest
- local destfile
- local destdir
- local destbase
- local sourcedir
- local sourcebase
-
- for file
- do
- case $tidy:$oname in
- true:) dest=$orig_pwd;;
- false:) dest=;;
- *:*) dest=`output_base_name "$file"`;;
- esac
- if test ! -f "$file"; then
- error 1 "no such file or directory: $file"
- fi
- if test -n "$dest"; then
- # We need to know whether $dest is a directory.
- if test -d "$dest"; then
- destdir=$dest
- destfile=$dest/$file
- else
- destdir="`dirname $dest`"
- destfile=$dest
- fi
- # We want to compare the source location and the output location,
- # and if they are different, do the move. But if they are the
- # same, we must preserve the source. Since we can't assume
- # stat(1) or test -ef is available, resort to comparing the
- # directory names, canonicalized with pwd. We can't use cmp -s
- # since the output file might not actually change from run to run;
- # e.g., TeX DVI output is timestamped to only the nearest minute.
- destdir=`cd $destdir && pwd`
- destbase=`basename $destfile`
- #
- sourcedir=`dirname $file`
- sourcedir=`cd $sourcedir && pwd`
- sourcebase=`basename $file`
- #
- if test "$sourcedir/$sourcebase" != "$destdir/$destbase"; then
- verbose "Moving $file to $destfile"
- rm -f "$destfile"
- mv "$file" "$destfile"
- fi
- fi
- done
-}
-
-
-## --------------------- ##
-## Managing xref files. ##
-## --------------------- ##
-
-# aux_file_p FILE
-# ---------------
-# Return with success with FILE is an aux file.
-aux_file_p ()
-{
- test -f "$1" || return 1
- case $1 in
- *.aux) return 0;;
- *) return 1;;
- esac
-}
-
-# bibaux_file_p FILE
-# ------------------
-# Return with success with FILE is an aux file containing citation
-# requests.
-bibaux_file_p ()
-{
- test -s "$1" || return 1
- if (grep '^\\bibstyle[{]' "$1" \
- && grep '^\\bibdata[{]' "$1" \
- ## The following line is suspicious: fails when there
- ## are citations in sub aux files. We need to be
- ## smarter in this case.
- ## && grep '^\\citation[{]' "$f"
- ) >&6 2>&1;
- then
- return 0
- fi
- return 1
-}
-
-# index_file_p FILE
-# -----------------
-# Return with success with FILE is an index file.
-# When index.sty is used, there is a space before the brace.
-index_file_p ()
-{
- test -f "$1" || return 1
- case `sed '1q' "$1"` in
- "\\entry{"*|"\\indexentry{"*|"\\indexentry {"*) return 0;;
- *) return 1;;
- esac
-}
-
-# xref_file_p FILE
-# ----------------
-# Return with success if FILE is an xref file (indexes, tables and lists).
-xref_file_p ()
-{
- test -f "$1" || return 1
- # If the file is not suitable to be an index or xref file, don't
- # process it. It's suitable if the first character is a
- # backslash or right quote or at, as long as the first line isn't
- # \input texinfo.
- case `sed '1q' "$1"` in
- "\\input texinfo"*) return 1;;
- [\\''@]*) return 0;;
- *) return 1;;
- esac
-}
-
-
-# generated_files_get FILENAME-NOEXT [PREDICATE-FILTER]
-# -----------------------------------------------------
-# Return the list of files generated by the TeX compilation of FILENAME-NOEXT.
-generated_files_get ()
-{
- local filter=true
- if test -n "$2"; then
- filter=$2
- fi
-
- # Gather the files created by TeX.
- (
- if test -f "$1.log"; then
- sed -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log"
- fi
- echo "$1.log"
- ) |
- # Depending on these files, infer outputs from other tools.
- while read file; do
- echo $file
- case $in_lang in
- texinfo)
- # texindex: texinfo.cp -> texinfo.cps
- if index_file_p $file; then
- echo ${file}s
- fi
- ;;
- latex)
- if aux_file_p $file; then
- # bibtex: *.aux -> *.bbl and *.blg.
- echo $file | sed 's/^\(.*\)\.aux$/\1.bbl/'
- echo $file | sed 's/^\(.*\)\.aux$/\1.blg/'
- # -recorder: .fls
- echo $file | sed 's/^\(.*\)\.aux$/\1.fls/'
- fi
- ;;
- esac
- done |
- # Filter existing files matching the criterion.
- #
- # With an input file name containing a space, this produces a
- # "command not found" message (and filtering is ineffective).
- # The situation with a newline is presumably even worse.
- while read file; do
- if $filter "$file"; then
- echo $file
- fi
- done |
- sort |
- # Some files are opened several times, e.g., listings.sty's *.vrb.
- uniq
-}
-
-
-# xref_files_save
-# ---------------
-# Save the xref files.
-xref_files_save ()
-{
- # Save copies of auxiliary files for later comparison.
- xref_files_orig=`generated_files_get "$in_noext" xref_file_p`
- if test -n "$xref_files_orig"; then
- verbose "Backing up xref files: $xref_files_orig"
- # The following line improves `cp $xref_files_orig "$work_bak"'
- # by preserving the directory parts. Think of
- # cp chap1/main.aux chap2/main.aux $work_bak.
- #
- # Users may have, e.g., --keep-old-files. Don't let this interfere.
- # (Don't use unset for the sake of ancient shells.)
- TAR_OPTIONS=; export TAR_OPTIONS
- tar cf - $xref_files_orig | (cd "$work_bak" && tar xf -)
- fi
-}
-
-
-# xref_files_changed
-# ------------------
-# Whether the xref files were changed since the previous run.
-xref_files_changed ()
-{
- # LaTeX (and the package changebar) report in the LOG file if it
- # should be rerun. This is needed for files included from
- # subdirs, since texi2dvi does not try to compare xref files in
- # subdirs. Performing xref files test is still good since LaTeX
- # does not report changes in xref files.
- if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then
- return 0
- fi
-
- # If old and new lists don't at least have the same file list,
- # then one file or another has definitely changed.
- xref_files_new=`generated_files_get "$in_noext" xref_file_p`
- verbose "Original xref files = $xref_files_orig"
- verbose "New xref files = $xref_files_new"
- if test "x$xref_files_orig" != "x$xref_files_new"; then
- return 0
- fi
-
- # Compare each file until we find a difference.
- for this_file in $xref_files_new; do
- verbose "Comparing xref file `echo $this_file | sed 's|\./||g'` ..."
- # cmp -s returns nonzero exit status if files differ.
- if cmp -s "$this_file" "$work_bak/$this_file"; then :; else
- verbose "xref file `echo $this_file | sed 's|\./||g'` differed ..."
- if $debug; then
- diff -u "$work_bak/$this_file" "$this_file"
- fi
- return 0
- fi
- done
-
- # No change.
- return 1
-}
-
-
-
-## ----------------------- ##
-## Running the TeX suite. ##
-## ----------------------- ##
-
-
-
-# run_tex ()
-# ----------
-# Run TeX as "$tex $in_input", taking care of errors and logs.
-run_tex ()
-{
- case $in_lang:`out_lang_tex` in
- latex:dvi) tex=${LATEX:-latex};;
- latex:pdf) tex=${PDFLATEX:-pdflatex};;
- texinfo:dvi)
- # MetaPost also uses the TEX environment variable. If the user
- # has set TEX=latex for that reason, don't bomb out.
- case $TEX in
- *latex) tex=tex;; # don't bother trying to find etex
- *) tex=$TEX
- esac;;
- texinfo:pdf) tex=$PDFTEX;;
-
- *) error 1 "$0: $out_lang not supported for $in_lang";;
- esac
-
- # Beware of aux files in subdirectories that require the
- # subdirectory to exist.
- case $in_lang:$tidy in
- latex:true)
- sed -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" |
- sort -u |
- while read d
- do
- ensure_dir "$work_build/$d"
- done
- ;;
- esac
-
- # Note that this will be used via an eval: quote properly.
- local cmd="$tex"
-
- # If possible, make TeX report error locations in GNU format.
- if test "${tex_help:+set}" != set; then
- # Go to a temporary directory to try --help, since old versions that
- # don't accept --help will generate a texput.log.
- tex_help_dir=$t2ddir/tex_help
- ensure_dir "$tex_help_dir"
- tex_help=`cd "$tex_help_dir" >&6 && $tex --help </dev/null 2>&1`
- fi
- if $no_line_error; then :; else
- # The mk program and perhaps others want to parse TeX's
- # original error messages.
- case $line_error:$tex_help in
- true:*file-line-error*) cmd="$cmd --file-line-error";;
- esac
- fi
-
- # Tell TeX about TCX file, if specified.
- test -n "$translate_file" && cmd="$cmd --translate-file=$translate_file"
-
- # Tell TeX to make source specials (for backtracking from output to
- # source, given a sufficiently smart editor), if specifed.
- test -n "$src_specials" && cmd="$cmd $src_specials"
-
- # Tell TeX to be batch if requested.
- if $batch; then
- # \batchmode does not show terminal output at all, so we don't
- # want that. And even in batch mode, TeX insists on having input
- # from the user. Close its stdin to make it impossible.
- cmd="$cmd </dev/null '${escape}nonstopmode' '${escape}input'"
- fi
-
- # we'd like to handle arbitrary input file names, such as a~b.tex.
- # This isn't a general way to do it :), though it does work, kind of.
- # cmd="$cmd '${escape}catcode126=12 \input '"
-
- # TeX's \input does not (easily or reliably) support whitespace
- # characters or other special characters in file names. Our intensive
- # use of absolute file names makes this worse: the enclosing directory
- # names may include white spaces. Improve the situation using a
- # symbolic link to the filename in the current directory, in tidy mode
- # only. Do not alter in_input.
- #
- # The filename is almost always tokenized using plain TeX conventions
- # (the exception would be if the user made a texinfo.fmt file). Not
- # all the plain TeX special characters cause trouble, but there's no
- # harm in making the link.
- #
- case $tidy:`func_dirname "$in_input"` in
- true:*["$space$tab$newline\"#\$%\\^_{}"]*)
- _run_tex_file_name=`basename "$in_input"`
- if test ! -f "$_run_tex_file_name"; then
- # It might not be a file, clear it.
- run rm -f "$_run_tex_file_name"
- run ln -s "$in_input"
- fi
- cmd="$cmd '$_run_tex_file_name'"
- ;;
-
- *)
- cmd="$cmd '$in_input'"
- ;;
- esac
-
- verbose "$0: Running $cmd ..."
- if eval "$cmd" >&5; then
- case $out_lang in
- dvi | pdf ) move_to_dest "$in_noext.$out_lang";;
- esac
- else
- error 1 "$tex exited with bad status, quitting."
- fi
-}
-
-# run_bibtex ()
-# -------------
-# Run bibtex on current file.
-# - If its input (AUX) exists.
-# - If some citations are missing (LOG contains `Citation').
-# or the LOG complains of a missing .bbl
-#
-# Don't try to be too smart:
-#
-# 1. Running bibtex only if the bbl file exists and is older than
-# the LaTeX file is wrong, since the document might include files
-# that have changed.
-#
-# 3. Because there can be several AUX (if there are \include's),
-# but a single LOG, looking for missing citations in LOG is
-# easier, though we take the risk to match false messages.
-run_bibtex ()
-{
- case $in_lang in
- latex) bibtex=${BIBTEX:-bibtex};;
- texinfo) return;;
- esac
-
- # "Citation undefined" is for LaTeX, "Undefined citation" for btxmac.tex.
- # The no .aux && \bibdata test is also for btxmac, in case it was the
- # first run of a bibtex-using document. Otherwise, it's possible that
- # bibtex would never be run.
- if test -r "$in_noext.aux" \
- && test -r "$in_noext.log" \
- && (grep 'Warning:.*Citation.*undefined' "$in_noext.log" \
- || grep '.*Undefined citation' "$in_noext.log" \
- || grep 'No file .*\.bbl\.' "$in_noext.log") \
- || (grep 'No \.aux file' "$in_noext.log" \
- && grep '^\\bibdata' "$in_noext.aux") \
- >&6 2>&1; \
- then
- for f in `generated_files_get "$in_noext" bibaux_file_p`
- do
- run $bibtex "$f"
- done
- fi
-}
-
-# run_index ()
-# ------------
-# Run texindex (or makeindex) on current index files. If they already
-# exist, and after running TeX a first time the index files don't
-# change, then there's no reason to run TeX again. But we won't know
-# that if the index files are out of date or nonexistent.
-run_index ()
-{
- case $in_lang in
- latex) texindex=${MAKEINDEX:-makeindex};;
- texinfo) texindex=${TEXINDEX:-texindex};;
- esac
- index_files=`generated_files_get $in_noext index_file_p`
- if test -n "$texindex" && test -n "$index_files"; then
- run $texindex $index_files
- fi
-}
-
-
-# run_thumbpdf ()
-# ---------------
-run_thumbpdf ()
-{
- if test `out_lang_tex` = pdf \
- && test -r "$in_noext.log" \
- && grep 'thumbpdf\.sty' "$in_noext.log" >&6 2>&1; \
- then
- thumbpdf=${THUMBPDF:-thumbpdf}
- verbose "Running $thumbpdf $in_noext ..."
- if $thumbpdf "$in_noext" >&5; then
- run_tex
- else
- report "$thumbpdf exited with bad status." \
- "Ignoring its output."
- fi
- fi
-}
-
-
-# run_dvipdf FILE.dvi
-# -------------------
-# Convert FILE.dvi to FILE.pdf.
-run_dvipdf ()
-{
- # Find which dvi->pdf program is available.
- if test -z "$dvipdf"; then
- for i in "$DVIPDF" dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf;
- do
- if findprog $i; then
- dvipdf=$i
- fi
- done
- fi
- # These tools have varying interfaces, some 'input output', others
- # 'input -o output'. They all seem to accept 'input' only,
- # outputting using the expected file name.
- run $dvipdf "$1"
- if test ! -f `echo "$1" | sed -e 's/\.dvi$/.pdf/'`; then
- error 1 "$0: cannot find output file"
- fi
-}
-
-# run_tex_suite ()
-# ----------------
-# Run the TeX tools until a fix point is reached.
-run_tex_suite ()
-{
- # Move to the working directory.
- if $tidy; then
- verbose "cd $work_build"
- cd "$work_build" || exit 1
- fi
-
- # Count the number of cycles.
- local cycle=0
-
- while :; do
- cycle=`expr $cycle + 1`
- verbose "Cycle $cycle for $command_line_filename"
-
- xref_files_save
-
- # We run bibtex first, because I can see reasons for the indexes
- # to change after bibtex is run, but I see no reason for the
- # converse.
- run_bibtex
- run_index
- run_core_conversion
-
- xref_files_changed || break
- done
-
- # If we were using thumbpdf and producing PDF, then run thumbpdf
- # and TeX one last time.
- run_thumbpdf
-
- # Install the result if we didn't already (i.e., if the output is
- # dvipdf or ps).
- case $out_lang in
- dvipdf)
- run_dvipdf "$in_noext.`out_lang_tex`"
- move_to_dest "$in_noext.`out_lang_ext`"
- ;;
- ps)
- dvips -o "$in_noext.`out_lang_ext`" "$in_noext.`out_lang_tex`"
- move_to_dest "$in_noext.`out_lang_ext`"
- ;;
- esac
-
- cd_orig
-}
-
-## -------------------------------- ##
-## TeX processing auxiliary tools. ##
-## -------------------------------- ##
-
-
-# A sed script that preprocesses Texinfo sources in order to keep the
-# iftex sections only. We want to remove non TeX sections, and comment
-# (with `@c texi2dvi') TeX sections so that makeinfo does not try to
-# parse them. Nevertheless, while commenting TeX sections, don't
-# comment @macro/@end macro so that makeinfo does propagate them.
-# Unfortunately makeinfo --iftex --no-ifinfo doesn't work well enough
-# (yet), makeinfo can't parse the TeX commands, so work around with sed.
-#
-comment_iftex=\
-'/^@tex/,/^@end tex/{
- s/^/@c texi2dvi/
-}
-/^@iftex/,/^@end iftex/{
- s/^/@c texi2dvi/
- /^@c texi2dvi@macro/,/^@c texi2dvi@end macro/{
- s/^@c texi2dvi//
- }
-}
-/^@ifnottex/,/^@end ifnottex/{
- s/^/@c (texi2dvi)/
-}
-/^@ifinfo/,/^@end ifinfo/{
- /^@node/p
- /^@menu/,/^@end menu/p
- t
- s/^/@c (texi2dvi)/
-}
-s/^@ifnotinfo/@c texi2dvi@ifnotinfo/
-s/^@end ifnotinfo/@c texi2dvi@end ifnotinfo/'
-
-# Uncommenting is simple: Remove any leading `@c texi2dvi'.
-uncomment_iftex='s/^@c texi2dvi//'
-
-
-# run_makeinfo ()
-# ---------------
-# Expand macro commands in the original source file using Makeinfo.
-# Always use `end' footnote style, since the `separate' style
-# generates different output (arguably this is a bug in -E). Discard
-# main info output, the user asked to run TeX, not makeinfo.
-run_makeinfo ()
-{
- test $in_lang = texinfo \
- || return 0
-
- # Unless required by the user, makeinfo expansion is wanted only
- # if texinfo.tex is too old.
- if test "$expand" = t; then
- makeinfo=${MAKEINFO:-makeinfo}
- else
- # Check if texinfo.tex performs macro expansion by looking for
- # its version. The version is a date of the form YEAR-MO-DA.
- # We don't need to use [0-9] to match the digits since anyway
- # the comparison with $txiprereq, a number, will fail with non
- # digits.
- # Run in a temporary directory to avoid leaving files.
- version_test_dir=$t2ddir/version_test
- ensure_dir "$version_test_dir"
- (
- cd "$version_test_dir"
- echo '\input texinfo.tex @bye' >txiversion.tex
- # Be sure that if tex wants to fail, it is not interactive:
- # close stdin.
- $TEX txiversion.tex </dev/null >txiversion.out 2>txiversion.err
- )
- if test $? != 0; then
- cat "$version_test_dir/txiversion.out"
- cat "$version_test_dir/txiversion.err" >&2
- error 1 "texinfo.tex appears to be broken, quitting."
- fi
- eval `sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"`
- verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..."
- if test "$txiprereq" -le "$txiversion" >&6 2>&1; then
- makeinfo=
- else
- makeinfo=${MAKEINFO:-makeinfo}
- fi
- # As long as we had to run TeX, offer the user this convenience:
- if test "$txiformat" = Texinfo; then
- escape=@
- fi
- fi
-
- if test -n "$makeinfo"; then
- # in_src: the file with macros expanded.
- # Use the same basename to generate the same aux file names.
- work_src=$workdir/src
- ensure_dir "$work_src"
- in_src=$work_src/$in_base
- local miincludes
- miincludes=`list_prefix includes -I`
- verbose "Macro-expanding $command_line_filename to $in_src ..."
- # eval $makeinfo because it might be defined as something complex
- # (running missing) and then we end up with things like '"-I"',
- # and "-I" (including the quotes) is not an option name. This
- # happens with gettext 0.14.5, at least.
- sed "$comment_iftex" "$command_line_filename" \
- | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \
- -o /dev/null --macro-expand=- \
- | sed "$uncomment_iftex" >"$in_src"
- # Continue only if everything succeeded.
- if test $? -ne 0 \
- || test ! -r "$in_src"; then
- verbose "Expansion failed, ignored...";
- else
- in_input=$in_src
- fi
- fi
-}
-
-# insert_commands ()
-# ------------------
-# Used most commonly for @finalout, @smallbook, etc.
-insert_commands ()
-{
- local textra_cmd
- case $in_lang in
- latex) textra_cmd=1i;;
- texinfo) textra_cmd='/^@setfilename/a';;
- *) error 1 "internal error, unknown language: $in_lang";;
- esac
-
- if test -n "$textra"; then
- # _xtr. The file with the user's extra commands.
- work_xtr=$workdir/xtr
- in_xtr=$work_xtr/$in_base
- ensure_dir "$work_xtr"
- verbose "Inserting extra commands: $textra"
- sed "$textra_cmd\\
-$textra" "$in_input" >"$in_xtr"
- in_input=$in_xtr
- fi
-}
-
-# run_recode ()
-# -------------
-# If this is a Texinfo file with a specified input encoding, and
-# recode is available, then recode to plain 7 bit Texinfo.
-run_recode ()
-{
- local from
- local to
-
- if test $in_lang = texinfo; then
- pgm='s/^ *@documentencoding *\([^ ][^ ]*\) *$/\1/
- t found
- d
- :found
- q'
- encoding=`sed -e "$pgm" "$in_input"`
- if $recode && test -n "$encoding" && findprog recode; then
- if test -n "$recode_from"; then
- from=$recode_from
- to=$encoding
- else
- from=$encoding
- to=$texinfo
- fi
- verbose "Recoding from $from to $to."
- # _rcd. The Texinfo file recoded in 7bit.
- work_rcd=$workdir/recode
- in_rcd=$work_rcd/$in_base
- ensure_dir "$work_rcd"
- if recode "$encoding..$to" <"$in_input" >"$in_rcd" \
- && test -s "$in_rcd"; then
- in_input=$in_rcd
- else
- verbose "Recoding failed, using original input."
- fi
- fi
- fi
-}
-
-# compute_language FILENAME
-# -------------------------
-# Return the short string describing the language in which FILENAME
-# is written: `texinfo' or `latex'.
-compute_language ()
-{
- # If the user explicitly specified the language, use that.
- # Otherwise, if the first line is \input texinfo, assume it's texinfo.
- # Otherwise, guess from the file extension.
- if test -n "$set_language"; then
- echo $set_language
- elif sed 1q "$1" | grep 'input texinfo' >&6; then
- echo texinfo
- else
- # Get the type of the file (latex or texinfo) from the given language
- # we just guessed, or from the file extension if not set yet.
- case $1 in
- *.ltx | *.tex | *.drv | *.dtx) echo latex;;
- *) echo texinfo;;
- esac
- fi
-}
-
-
-# run_hevea (MODE)
-# ----------------
-# Convert to HTML/INFO/TEXT.
-#
-# Don't pass `-noiso' to hevea: it's useless in HTML since anyway the
-# charset is set to latin1, and troublesome in other modes since
-# accented characters loose their accents.
-#
-# Don't pass `-o DEST' to hevea because in that case it leaves all its
-# auxiliary files there too... Too bad, because it means we will need
-# to handle images some day.
-run_hevea ()
-{
- local hevea="${HEVEA:-hevea}"
- local run_hevea="$hevea"
-
- case $1 in
- html) ;;
- text|info) run_hevea="$run_hevea -$1";;
- *) error 1 "run_hevea: invalid argument: $1";;
- esac
-
- # Compiling to the tmp directory enables to preserve a previous
- # successful compilation.
- run_hevea="$run_hevea -fix -O -o '$out_base'"
- run_hevea="$run_hevea `list_prefix includes -I` -I '$orig_pwd' "
- run_hevea="$run_hevea '$in_input'"
-
- if $debug; then
- run_hevea="$run_hevea -v -v"
- fi
-
- verbose "running $run_hevea"
- if eval "$run_hevea" >&5; then
- # hevea leaves trailing white spaces, this is annoying.
- case $1 in text|info)
- perl -pi -e 's/[ \t]+$//g' "$out_base"*;;
- esac
- case $1 in
- html|text) move_to_dest "$out_base";;
- info) # There can be foo.info-1, foo.info-2 etc.
- move_to_dest "$out_base"*;;
- esac
- else
- error 1 "$hevea exited with bad status, quitting."
- fi
-}
-
-
-# run_core_conversion ()
-# ----------------------
-# Run the TeX (or HeVeA).
-run_core_conversion ()
-{
- case $in_lang:`out_lang_tex` in
- *:dvi|*:pdf)
- run_tex;;
- latex:html|latex:text|latex:info)
- run_hevea $out_lang;;
- *)
- error 1 "invalid input/output combination: $in_lang/$out_lang";;
- esac
-}
-
-
-# compile ()
-# ----------
-# Run the full compilation chain, from pre-processing to installation
-# of the output at its expected location.
-compile ()
-{
- # Source file might include additional sources.
- # We want `.:$orig_pwd' before anything else. (We'll add `.:' later
- # after all other directories have been turned into absolute paths.)
- # `.' goes first to ensure that any old .aux, .cps,
- # etc. files in ${directory} don't get used in preference to fresher
- # files in `.'. Include orig_pwd in case we are in clean build mode, where
- # we've cd'd to a temp directory.
- txincludes=`list_infix includes $path_sep`
- common="$orig_pwd$path_sep$in_dir$path_sep$txincludes$path_sep"
- for var in $tex_envvars; do
- eval val="\$common\$${var}_orig"
- # Convert relative paths to absolute paths, so we can run in another
- # directory (e.g., in clean build mode, or during the macro-support
- # detection). ".:" is added here.
- val=`absolute_filenames "$val"`
- eval $var="\"$val\""
- export $var
- eval verbose \"$var=\'\$${var}\'\"
- done
-
- # --expand
- run_makeinfo
-
- # --command, --texinfo
- insert_commands
-
- # --recode
- run_recode
-
- # Run until a fix point is reached.
- run_tex_suite
-}
-
-
-# remove FILES
-# ------------
-remove ()
-{
- verbose "Removing" "$@"
- rm -rf "$@"
-}
-
-
-# mostly_clean
-# ------------
-# Remove auxiliary files and directories. Changes the current directory.
-mostly_clean ()
-{
- cd_orig
- set X "$t2ddir"
- shift
- $tidy || {
- local log="$work_build/$in_noext.log"
- set X ${1+"$@"} "$log" `generated_files_get "$work_build/$in_noext"`
- shift
- }
- remove ${1+"$@"}
-}
-
-
-# cleanup ()
-# ----------
-# Remove what should be removed according to options.
-# Called at the end of each compilation cycle, and at the end of
-# the script. Changes the current directory.
-cleanup ()
-{
- case $build_mode in
- local) cd_orig; remove "$t2ddir";;
- clean) mostly_clean;;
- tidy) ;;
- esac
-}
-
-
-
-## ---------------------- ##
-## Command line parsing. ##
-## ---------------------- ##
-
-# Push a token among the arguments that will be used to notice when we
-# ended options/arguments parsing.
-# Use "set dummy ...; shift" rather than 'set - ..." because on
-# Solaris set - turns off set -x (but keeps set -e).
-# Use ${1+"$@"} rather than "$@" because Digital Unix and Ultrix 4.3
-# still expand "$@" to a single argument (the empty string) rather
-# than nothing at all.
-arg_sep="$$--$$"
-set dummy ${1+"$@"} "$arg_sep"; shift
-
-#
-# Parse command line arguments.
-while test x"$1" != x"$arg_sep"; do
-
- # Handle --option=value by splitting apart and putting back on argv.
- case "$1" in
- --*=*)
- opt=`echo "$1" | sed -e 's/=.*//'`
- val=`echo "$1" | sed -e 's/[^=]*=//'`
- shift
- set dummy "$opt" "$val" ${1+"$@"}; shift
- ;;
- esac
-
- # This recognizes --quark as --quiet. So what.
- case "$1" in
- -@ ) escape=@;;
- # Silently and without documentation accept -b and --b[atch] as synonyms.
- -b | --batch) batch=true;;
- --build) shift; build_mode=$1;;
- --build-dir) shift; build_dir=$1; build_mode=tidy;;
- -c | --clean) build_mode=clean;;
- -D | --debug) debug=true;;
- --dvi) out_lang=dvi;;
- --dvipdf) out_lang=dvipdf;;
- -e | -E | --expand) expand=t;;
- -h | --help) usage;;
- --html) out_lang=html;;
- -I) shift; list_concat_dirs includes "$1";;
- --info) out_lang=info;;
- -l | --lang | --language) shift; set_language=$1;;
- --mostly-clean) action=mostly-clean;;
- --no-line-error) no_line_error=true;;
- -o | --out | --output)
- shift
- # Make it absolute, just in case we also have --clean, or whatever.
- oname=`absolute "$1"`;;
- -p | --pdf) out_lang=pdf;;
- --ps) out_lang=ps;;
- -q | -s | --quiet | --silent) quiet=true; batch=true;;
- -r | --recode) recode=true;;
- --recode-from) shift; recode=true; recode_from="$1";;
- --src-specials) src_specials=--src-specials;;
- -t | --texinfo | --command ) shift; textra="$textra\\
-"`echo "$1" | sed 's/\\\\/\\\\\\\\/g'`;;
- --text) out_lang=text;;
- --translate-file ) shift; translate_file="$1";;
- --tidy) build_mode=tidy;;
- -v | --vers*) version;;
- -V | --verb*) verb=true;;
- --) # What remains are not options.
- shift
- while test x"$1" != x"$arg_sep"; do
- set dummy ${1+"$@"} "$1"; shift
- shift
- done
- break;;
- -*)
- error 1 "Unknown or ambiguous option \`$1'." \
- "Try \`--help' for more information."
- ;;
- *) set dummy ${1+"$@"} "$1"; shift;;
- esac
- shift
-done
-# Pop the token
-shift
-
-# $tidy: compile in a t2d directory.
-# $clean: remove all the aux files.
-case $build_mode in
- local) clean=false; tidy=false;;
- tidy) clean=false; tidy=true;;
- clean) clean=true; tidy=true;;
- *) error 1 "invalid build mode: $build_mode";;
-esac
-
-# Interpret remaining command line args as filenames.
-case $# in
- 0)
- error 2 "Missing file arguments." "Try \`--help' for more information."
- ;;
- 1) ;;
- *)
- if test -n "$oname"; then
- error 2 "Can't use option \`--output' with more than one argument."
- fi
- ;;
-esac
-
-
-# We can't do much without tex.
-#
-if findprog ${TEX:-tex}; then :; else cat <<EOM
-You don't have a working TeX binary (${TEX:-tex}) installed anywhere in
-your PATH, and texi2dvi cannot proceed without one. If you want to use
-this script, you'll need to install TeX (if you don't have it) or change
-your PATH or TEX environment variable (if you do). See the --help
-output for more details.
-
-For information about obtaining TeX, please see http://www.tug.org. If
-you happen to be using Debian, you can get it with this command:
- apt-get install tetex-bin
-EOM
- exit 1
-fi
-
-
-# We want to use etex (or pdftex) if they are available, and the user
-# didn't explicitly specify. We don't check for elatex and pdfelatex
-# because (as of 2003), the LaTeX team has asked that new distributions
-# use etex by default anyway.
-#
-# End up with the TEX and PDFTEX variables set to what we are going to use.
-if test -z "$TEX"; then
- if findprog etex; then TEX=etex; else TEX=tex; fi
-fi
-#
-if test -z "$PDFTEX"; then
- if findprog pdfetex; then PDFTEX=pdfetex; else PDFTEX=pdftex; fi
-fi
-
-
-# File descriptor usage:
-# 0 standard input
-# 1 standard output (--verbose messages)
-# 2 standard error
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 5 tools output (turned off by --quiet)
-# 6 tracing/debugging (set -x output, etc.)
-
-
-# Main tools' output (TeX, etc.) that TeX users are used to seeing.
-#
-# If quiet, discard, else redirect to the message flow.
-if $quiet; then
- exec 5>/dev/null
-else
- exec 5>&1
-fi
-
-
-# Enable tracing, and auxiliary tools output.
-#
-# Should be used where you'd typically use /dev/null to throw output
-# away. But sometimes it is convenient to see that output (e.g., from
-# a grep) to aid debugging. Especially debugging at distance, via the
-# user.
-if $debug; then
- exec 6>&1
- set -x
-else
- exec 6>/dev/null
-fi
-
-#
-
-# input_file_name_decode
-# ----------------------
-# Decode COMMAND_LINE_FILENAME, and compute:
-# - COMMAND_LINE_FILENAME clean of TeX commands
-# - IN_DIR
-# The directory to the input file, possibly absolute if needed.
-# - IN_DIR_ABS
-# The absolute directory of the input file.
-# - IN_BASE
-# The input file base name (no directory part).
-# - IN_NOEXT
-# The input file name without extensions (nor directory part).
-# - IN_INPUT
-# Defaults to COMMAND_LINE_FILENAME, but might change if the
-# input is preprocessed (recode etc.). With directory, possibly absolute.
-input_file_name_decode ()
-{
- # See if we are run from within AUC-Tex, in which case we are
- # passed `\input{FOO.tex}' or even `\nonstopmode\input{FOO.tex}'.
- case $command_line_filename in
- *\\nonstopmode*)
- batch=true;;
- esac
- case $command_line_filename in
- *\\input{*}*)
- # Let AUC-TeX error parser deal with line numbers.
- line_error=false
- command_line_filename=`\
- expr X"$command_line_filename" : X'.*input{\([^}]*\)}'`
- ;;
- esac
-
- # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex),
- # prepend `./' in order to avoid that the tools take it as an option.
- echo "$command_line_filename" | $EGREP '^(/|[A-z]:/)' >&6 \
- || command_line_filename="./$command_line_filename"
-
- # See if the file exists. If it doesn't we're in trouble since, even
- # though the user may be able to reenter a valid filename at the tex
- # prompt (assuming they're attending the terminal), this script won't
- # be able to find the right xref files and so forth.
- test -r "$command_line_filename" ||
- error 1 "cannot read $command_line_filename, skipping."
-
- # Get the name of the current directory.
- in_dir=`func_dirname "$command_line_filename"`
- in_dir_abs=`absolute "$in_dir"`
- # In a clean build, we `cd', so get an absolute file name.
- if $tidy; then
- in_dir=$in_dir_abs
- fi
-
- # Strip directory part but leave extension.
- in_base=`basename "$command_line_filename"`
- # Strip extension.
- in_noext=`echo "$in_base" | sed 's/\.[^.]*$//'`
-
- # The normalized file name to compile. Must always point to the
- # file to actually compile (in case of recoding, macro-expansion etc.).
- in_input=$in_dir/$in_base
-
-
- # Compute the output file name.
- if test x"$oname" != x; then
- out_name=$oname
- else
- out_name=$in_noext.`out_lang_ext`
- fi
- out_dir=`func_dirname "$out_name"`
- out_dir_abs=`absolute "$out_dir"`
- out_base=`basename "$out_name"`
- out_noext=`echo "$out_base" | sed 's/\.[^.]*$//'`
-}
-
-
-## -------------- ##
-## TeXify files. ##
-## -------------- ##
-
-for command_line_filename
-do
- verbose "Processing $command_line_filename ..."
-
- input_file_name_decode
-
- # `texinfo' or `latex'?
- in_lang=`compute_language "$command_line_filename"`
-
- # An auxiliary directory used for all the auxiliary tasks involved
- # in compiling this document.
- case $build_dir in
- '' | . ) t2ddir=$out_noext.t2d ;;
- *) # Avoid collisions between multiple occurrences of the same
- # file. The sed expression is fragile if the cwd has
- # active characters.
- t2ddir=$build_dir/`echo "$out_dir_abs/$out_noext.t2d" |
- sed "s,^$orig_pwd/,," |
- sed 's,/,!,g'`
- esac
- # Remove it at exit if clean mode.
- trap "cleanup" 0 1 2 15
-
- ensure_dir "$build_dir" "$t2ddir"
-
- # We will change directory, better work with an absolute path...
- t2ddir=`absolute "$t2ddir"`
- # Sometimes there are incompatibilities between auxiliary files for
- # DVI and PDF. The contents can also change whether we work on PDF
- # and/or DVI. So keep separate spaces for each.
- workdir=$t2ddir/`out_lang_tex`
- ensure_dir "$workdir"
-
- # _build. In a tidy build, where the auxiliary files are output.
- if $tidy; then
- work_build=$workdir/build
- else
- work_build=.
- fi
-
- # _bak. Copies of the previous auxiliary files (another round is
- # run if they differ from the new ones).
- work_bak=$workdir/bak
-
- # Make those directories.
- ensure_dir "$work_build" "$work_bak"
-
- case $action in
- compile)
- # Compile the document.
- compile
- cleanup
- ;;
-
- mostly-clean)
- mostly_clean
- ;;
- esac
-done
-
-verbose "done."
-exit 0 # exit successfully, not however we ended the loop.
diff --git a/Master/bin/powerpc-aix/texi2pdf b/Master/bin/powerpc-aix/texi2pdf
deleted file mode 100755
index a030a74ed9f..00000000000
--- a/Master/bin/powerpc-aix/texi2pdf
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-# $Id: texi2pdf,v 1.2 2005/01/28 01:52:04 karl Exp $
-# Written by Thomas Esser. Public domain.
-# Execute texi2dvi --pdf.
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-texi2dvi --pdf ${1+"$@"}
diff --git a/Master/bin/powerpc-aix/texindex b/Master/bin/powerpc-aix/texindex
deleted file mode 100755
index 38b53f5159d..00000000000
--- a/Master/bin/powerpc-aix/texindex
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-aix/texloganalyser b/Master/bin/powerpc-aix/texloganalyser
new file mode 120000
index 00000000000..a0dd3486cd7
--- /dev/null
+++ b/Master/bin/powerpc-aix/texloganalyser
@@ -0,0 +1 @@
+../../texmf-dist/scripts/texloganalyser/texloganalyser \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/tftopl b/Master/bin/powerpc-aix/tftopl
index 316f9160aa9..9abbe36ef3a 100755
--- a/Master/bin/powerpc-aix/tftopl
+++ b/Master/bin/powerpc-aix/tftopl
Binary files differ
diff --git a/Master/bin/powerpc-aix/tie b/Master/bin/powerpc-aix/tie
index 3ec624e6900..d4922637845 100755
--- a/Master/bin/powerpc-aix/tie
+++ b/Master/bin/powerpc-aix/tie
Binary files differ
diff --git a/Master/bin/powerpc-aix/ttf2afm b/Master/bin/powerpc-aix/ttf2afm
index 807b4c50b59..8b482361746 100755
--- a/Master/bin/powerpc-aix/ttf2afm
+++ b/Master/bin/powerpc-aix/ttf2afm
Binary files differ
diff --git a/Master/bin/powerpc-aix/ttf2pk b/Master/bin/powerpc-aix/ttf2pk
index c90af97f6c7..ac9249aadd9 100755
--- a/Master/bin/powerpc-aix/ttf2pk
+++ b/Master/bin/powerpc-aix/ttf2pk
Binary files differ
diff --git a/Master/bin/powerpc-aix/ttf2tfm b/Master/bin/powerpc-aix/ttf2tfm
index ce4ce03614e..2bd1a9c3ac0 100755
--- a/Master/bin/powerpc-aix/ttf2tfm
+++ b/Master/bin/powerpc-aix/ttf2tfm
Binary files differ
diff --git a/Master/bin/powerpc-aix/ttfdump b/Master/bin/powerpc-aix/ttfdump
new file mode 100755
index 00000000000..d0cc2024f53
--- /dev/null
+++ b/Master/bin/powerpc-aix/ttfdump
Binary files differ
diff --git a/Master/bin/powerpc-aix/ttftotype42 b/Master/bin/powerpc-aix/ttftotype42
index 448b7c3e7a3..028831a2c3f 100755
--- a/Master/bin/powerpc-aix/ttftotype42
+++ b/Master/bin/powerpc-aix/ttftotype42
Binary files differ
diff --git a/Master/bin/powerpc-aix/ulqda b/Master/bin/powerpc-aix/ulqda
new file mode 120000
index 00000000000..8ca9386b37d
--- /dev/null
+++ b/Master/bin/powerpc-aix/ulqda
@@ -0,0 +1 @@
+../../texmf-dist/scripts/ulqda/ulqda.pl \ No newline at end of file
diff --git a/Master/bin/powerpc-aix/updmap b/Master/bin/powerpc-aix/updmap
index e09c817451b..a71378a01bc 100755
--- a/Master/bin/powerpc-aix/updmap
+++ b/Master/bin/powerpc-aix/updmap
@@ -774,7 +774,7 @@ cleanup()
{
rc=$1
$needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
+ && { cd $orig_pwd && rm -rf "$tmpdir"; }
(exit $rc); exit $rc
}
@@ -1323,6 +1323,7 @@ main()
link_cmd="ln -s"
copy_cmd="cp"
copy=false
+ orig_pwd=`pwd`
cfgparam=
outputdirparam=
diff --git a/Master/bin/powerpc-aix/vftovp b/Master/bin/powerpc-aix/vftovp
index e99e6aebec0..1a395ccd441 100755
--- a/Master/bin/powerpc-aix/vftovp
+++ b/Master/bin/powerpc-aix/vftovp
Binary files differ
diff --git a/Master/bin/powerpc-aix/vlna b/Master/bin/powerpc-aix/vlna
index e63a9d31f64..47cbe0dcd08 100755
--- a/Master/bin/powerpc-aix/vlna
+++ b/Master/bin/powerpc-aix/vlna
Binary files differ
diff --git a/Master/bin/powerpc-aix/vptovf b/Master/bin/powerpc-aix/vptovf
index ff55e24c4df..fdda2fd4969 100755
--- a/Master/bin/powerpc-aix/vptovf
+++ b/Master/bin/powerpc-aix/vptovf
Binary files differ
diff --git a/Master/bin/powerpc-aix/weave b/Master/bin/powerpc-aix/weave
index 5d50cc2ed89..84891816f2b 100755
--- a/Master/bin/powerpc-aix/weave
+++ b/Master/bin/powerpc-aix/weave
Binary files differ
diff --git a/Master/bin/powerpc-aix/xdvi-motif b/Master/bin/powerpc-aix/xdvi-motif
index 62c58d60132..1b46bb7dead 100755
--- a/Master/bin/powerpc-aix/xdvi-motif
+++ b/Master/bin/powerpc-aix/xdvi-motif
Binary files differ
diff --git a/Master/bin/powerpc-aix/xdvipdfmx b/Master/bin/powerpc-aix/xdvipdfmx
index e1f3d44fc6c..f711e769bc8 100755
--- a/Master/bin/powerpc-aix/xdvipdfmx
+++ b/Master/bin/powerpc-aix/xdvipdfmx
Binary files differ
diff --git a/Master/bin/powerpc-aix/xetex b/Master/bin/powerpc-aix/xetex
index b881dd455e1..7d34f62a5ff 100755
--- a/Master/bin/powerpc-aix/xetex
+++ b/Master/bin/powerpc-aix/xetex
Binary files differ
diff --git a/Master/bin/powerpc-aix/xindy.mem b/Master/bin/powerpc-aix/xindy.mem
index b7bcdab52fe..ffcbfe6751c 100644
--- a/Master/bin/powerpc-aix/xindy.mem
+++ b/Master/bin/powerpc-aix/xindy.mem
Binary files differ
diff --git a/Master/bin/powerpc-aix/xindy.run b/Master/bin/powerpc-aix/xindy.run
index c9d40ed0baf..cbb78cada79 100755
--- a/Master/bin/powerpc-aix/xindy.run
+++ b/Master/bin/powerpc-aix/xindy.run
Binary files differ
diff --git a/Master/bin/sparc-solaris/afm2pl b/Master/bin/sparc-solaris/afm2pl
index e28ba2e93b3..e173086fd18 100755
--- a/Master/bin/sparc-solaris/afm2pl
+++ b/Master/bin/sparc-solaris/afm2pl
Binary files differ
diff --git a/Master/bin/sparc-solaris/afm2tfm b/Master/bin/sparc-solaris/afm2tfm
index 6acce041b1a..ea4da79aa66 100755
--- a/Master/bin/sparc-solaris/afm2tfm
+++ b/Master/bin/sparc-solaris/afm2tfm
Binary files differ
diff --git a/Master/bin/sparc-solaris/aleph b/Master/bin/sparc-solaris/aleph
index ce188326fe4..f6bf55acd82 100755
--- a/Master/bin/sparc-solaris/aleph
+++ b/Master/bin/sparc-solaris/aleph
Binary files differ
diff --git a/Master/bin/sparc-solaris/bibtex b/Master/bin/sparc-solaris/bibtex
index ae6e4772eb2..265ffd20bab 100755
--- a/Master/bin/sparc-solaris/bibtex
+++ b/Master/bin/sparc-solaris/bibtex
Binary files differ
diff --git a/Master/bin/sparc-solaris/bibtex8 b/Master/bin/sparc-solaris/bibtex8
index 0416d59f848..07b9aaabd36 100755
--- a/Master/bin/sparc-solaris/bibtex8
+++ b/Master/bin/sparc-solaris/bibtex8
Binary files differ
diff --git a/Master/bin/sparc-solaris/cfftot1 b/Master/bin/sparc-solaris/cfftot1
index 245025c536d..2ee441f7bd1 100755
--- a/Master/bin/sparc-solaris/cfftot1
+++ b/Master/bin/sparc-solaris/cfftot1
Binary files differ
diff --git a/Master/bin/sparc-solaris/ctangle b/Master/bin/sparc-solaris/ctangle
index 88223dd664f..cc061de0982 100755
--- a/Master/bin/sparc-solaris/ctangle
+++ b/Master/bin/sparc-solaris/ctangle
Binary files differ
diff --git a/Master/bin/sparc-solaris/ctie b/Master/bin/sparc-solaris/ctie
index 94c0408c415..e1b7fb2a53f 100755
--- a/Master/bin/sparc-solaris/ctie
+++ b/Master/bin/sparc-solaris/ctie
Binary files differ
diff --git a/Master/bin/sparc-solaris/cweave b/Master/bin/sparc-solaris/cweave
index d0e2871960c..14a71cc0e55 100755
--- a/Master/bin/sparc-solaris/cweave
+++ b/Master/bin/sparc-solaris/cweave
Binary files differ
diff --git a/Master/bin/sparc-solaris/detex b/Master/bin/sparc-solaris/detex
index 2dd468a8d7f..1706c51bad5 100755
--- a/Master/bin/sparc-solaris/detex
+++ b/Master/bin/sparc-solaris/detex
Binary files differ
diff --git a/Master/bin/sparc-solaris/dmp b/Master/bin/sparc-solaris/dmp
deleted file mode 100755
index 19251dbc466..00000000000
--- a/Master/bin/sparc-solaris/dmp
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/dt2dv b/Master/bin/sparc-solaris/dt2dv
index fce60e7d81f..fe8543f7058 100755
--- a/Master/bin/sparc-solaris/dt2dv
+++ b/Master/bin/sparc-solaris/dt2dv
Binary files differ
diff --git a/Master/bin/sparc-solaris/dv2dt b/Master/bin/sparc-solaris/dv2dt
index ecd280e1c34..257fda84ed5 100755
--- a/Master/bin/sparc-solaris/dv2dt
+++ b/Master/bin/sparc-solaris/dv2dt
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvi2tty b/Master/bin/sparc-solaris/dvi2tty
index 04633283ce4..1d614d74afc 100755
--- a/Master/bin/sparc-solaris/dvi2tty
+++ b/Master/bin/sparc-solaris/dvi2tty
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvibook b/Master/bin/sparc-solaris/dvibook
index 067b34d2b37..00cb4ea364b 100755
--- a/Master/bin/sparc-solaris/dvibook
+++ b/Master/bin/sparc-solaris/dvibook
Binary files differ
diff --git a/Master/bin/sparc-solaris/dviconcat b/Master/bin/sparc-solaris/dviconcat
index a2ba348f0f8..2ef8e20b80b 100755
--- a/Master/bin/sparc-solaris/dviconcat
+++ b/Master/bin/sparc-solaris/dviconcat
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvicopy b/Master/bin/sparc-solaris/dvicopy
index 4c1f08b04e6..345e35a43ad 100755
--- a/Master/bin/sparc-solaris/dvicopy
+++ b/Master/bin/sparc-solaris/dvicopy
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvidvi b/Master/bin/sparc-solaris/dvidvi
index 8e14a023a93..44b03179c01 100755
--- a/Master/bin/sparc-solaris/dvidvi
+++ b/Master/bin/sparc-solaris/dvidvi
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvilj b/Master/bin/sparc-solaris/dvilj
index 34663227230..1c5c67ebe26 100755
--- a/Master/bin/sparc-solaris/dvilj
+++ b/Master/bin/sparc-solaris/dvilj
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvilj2p b/Master/bin/sparc-solaris/dvilj2p
index 1d8d02504e0..0ca572863fa 100755
--- a/Master/bin/sparc-solaris/dvilj2p
+++ b/Master/bin/sparc-solaris/dvilj2p
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvilj4 b/Master/bin/sparc-solaris/dvilj4
index 1202905e117..056d9f84131 100755
--- a/Master/bin/sparc-solaris/dvilj4
+++ b/Master/bin/sparc-solaris/dvilj4
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvilj4l b/Master/bin/sparc-solaris/dvilj4l
index 3a645f32cf7..4c6812582ef 100755
--- a/Master/bin/sparc-solaris/dvilj4l
+++ b/Master/bin/sparc-solaris/dvilj4l
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvipdfm b/Master/bin/sparc-solaris/dvipdfm
index 016970ebdee..ab4195592f6 100755..120000
--- a/Master/bin/sparc-solaris/dvipdfm
+++ b/Master/bin/sparc-solaris/dvipdfm
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvipdfmx b/Master/bin/sparc-solaris/dvipdfmx
index 2aaff524a2a..221cb6e1304 100755
--- a/Master/bin/sparc-solaris/dvipdfmx
+++ b/Master/bin/sparc-solaris/dvipdfmx
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvipdft b/Master/bin/sparc-solaris/dvipdft
index db53bd2f5a0..3bcd0027db1 100755
--- a/Master/bin/sparc-solaris/dvipdft
+++ b/Master/bin/sparc-solaris/dvipdft
@@ -1,15 +1,24 @@
#!/bin/sh
-
-#
-# dvipdft, completely rewtitten by Thomas Esser for teTeX after an
+# dvipdft, completely rewritten by Thomas Esser for teTeX after an
# original script by Mark A. Wicks
#
# Thomas Esser. Public Domain.
-#
+#
+# Modified by Matthias Franz for dvipdfmx (when running as dvipdfm) and
+# TeX Live.
# This script makes a first (fast) run with dvipdfm, then calls gs on
# the resulting pdf file to get the thumbnails and finally calls dvipdfm.
+progname=dvipdft
+version=20090604.0046
+
+# set trap for error
+trap '
+ echo "$progname: fatal error." >&2
+ exit 1
+' 1
+
test -f /bin/sh5 && test -z "$RUNNING_SH5" \
&& { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
&& { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
@@ -23,16 +32,10 @@ unset RUNNING_BSH
# hack around a bug in zsh:
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-progname=dvipdft
-version=1111942378 # seconds since `00:00:00 1970-01-01 UTC'
- # date '+%s' (with GNU date)
-
help="Usage: $progname [options] dvifile
$progname --help
$progname --version"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
-
quoteit()
{
echo "x$1" | sed "s@.@@; s@'@'\\\\''@; s@^@'@; s@\$@'@"
@@ -56,7 +59,7 @@ case $1 in
exit 0
;;
--version)
- echo "$progname version $version by Thomas Esser"
+ echo "$progname version $version by Thomas Esser and others"
exit 0
;;
"")
@@ -66,7 +69,7 @@ case $1 in
esac
# args 1 to (n-1) are gone, last one must be the dvifile
-dvifile=$1
+dvifile="$1"
# outfile comes from -o argument, else it is derived from the input file
test -n "$outfile" \
@@ -75,56 +78,28 @@ test -n "$outfile" \
# outBase is part of the thumbname files just as dvipdfm expects them:
outBase=`echo "$outfile" | sed 's@\.pdf$@@'`
-# restore args 1 to (n-1):
-eval set x "$s"; shift
-
-# Run dvipdfm with the fastest options for the first pass
-echo "$progname: running dvipdfm $@ -e -z0 $dvifile" >&2
-dvipdfm ${1+"$@"} -e -z0 "$dvifile" || {
- echo "$progname: dvipdfm failed." >&2
+ls "$outBase".[1-9]* >/dev/null 2>&1 && {
+ echo "$progname: Please move the following files out of the way:" >&2
+ ls "$outBase".[1-9]* >&2
exit 1
}
-# before we create the tmpdir, set trap for cleanup
-trap '
- rm -rf $tmpdir
- exit 1
-' 1 2 3 7 13 15
+# restore args 1 to (n-1):
+eval set x "$s"; shift
-mkdir "$tmpdir" || {
- echo "$progname: failed to create temp directory." >&2
- exit 1
-}
+# set trap for cleanup
+trap '
+ rm -f "$outBase".[1-9]*
+' 0
-# if outBase contains a /, we might need to create a directory
-case $outBase in
- */*)
- fq=`echo "$tmpdir/$outBase" | sed 's@//@/@g; s@/[^/]*$@@'`
- test -d "$fq" || mkdir -p "$fq" || {
- echo "$progname: failed to create temp thumbnail directory." >&2
- rm -rf $tmpdir
- exit 1
- }
- ;;
-esac
+# Run dvipdfm with the fastest options for the first pass
+echo "$progname: running dvipdfm $@ -z0 $dvifile" >&2
+dvipdfm ${1+"$@"} -z0 "$dvifile"
# run gs
echo "$progname: running gs" >&2
-gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 \
- -sOutputFile="$tmpdir/$outBase.%d" "$outfile" || {
- echo "$progname: gs failed." >&2
- rm -rf $tmpdir
- exit 1
-}
+gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 -sOutputFile="$outBase.%d" "$outfile"
# run dvipdfm with the users specified options for the last pass
-echo "$progname: running dvipdfm -dt $@ $dvifile" >&2
-TMP=$tmpdir dvipdfm -dt ${1+"$@"} "$dvifile" || {
- echo "$progname: dvipdfm failed." >&2
- rm -rf $tmpdir
- exit 1
-}
-
-# nothing failed, so cleanup and report success to caller
-rm -rf $tmpdir
-exit 0
+echo "$progname: running dvipdfm -t $@ $dvifile" >&2
+dvipdfm ${1+"$@"} -t "$dvifile"
diff --git a/Master/bin/sparc-solaris/dvipng b/Master/bin/sparc-solaris/dvipng
index 2169cd5c13f..81fc7721cab 100755
--- a/Master/bin/sparc-solaris/dvipng
+++ b/Master/bin/sparc-solaris/dvipng
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvipos b/Master/bin/sparc-solaris/dvipos
index d2ae915a499..e4889bb40ed 100755
--- a/Master/bin/sparc-solaris/dvipos
+++ b/Master/bin/sparc-solaris/dvipos
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvips b/Master/bin/sparc-solaris/dvips
index 49e91dc3166..adf1a238ba8 100755
--- a/Master/bin/sparc-solaris/dvips
+++ b/Master/bin/sparc-solaris/dvips
Binary files differ
diff --git a/Master/bin/sparc-solaris/dviselect b/Master/bin/sparc-solaris/dviselect
index 806cbfdd5f1..eb17fbe0bf8 100755
--- a/Master/bin/sparc-solaris/dviselect
+++ b/Master/bin/sparc-solaris/dviselect
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvitodvi b/Master/bin/sparc-solaris/dvitodvi
index a968ee16f44..c7b0a7af79a 100755
--- a/Master/bin/sparc-solaris/dvitodvi
+++ b/Master/bin/sparc-solaris/dvitodvi
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvitomp b/Master/bin/sparc-solaris/dvitomp
index d3b7b298579..96672bbb523 100755..120000
--- a/Master/bin/sparc-solaris/dvitomp
+++ b/Master/bin/sparc-solaris/dvitomp
Binary files differ
diff --git a/Master/bin/sparc-solaris/dvitype b/Master/bin/sparc-solaris/dvitype
index 52b98508471..529424deb34 100755
--- a/Master/bin/sparc-solaris/dvitype
+++ b/Master/bin/sparc-solaris/dvitype
Binary files differ
diff --git a/Master/bin/sparc-solaris/epsffit b/Master/bin/sparc-solaris/epsffit
index 0a82bf623da..c5a9a02e597 100755
--- a/Master/bin/sparc-solaris/epsffit
+++ b/Master/bin/sparc-solaris/epsffit
Binary files differ
diff --git a/Master/bin/sparc-solaris/fmtutil b/Master/bin/sparc-solaris/fmtutil
index f86a06003de..2a76d08f558 100755
--- a/Master/bin/sparc-solaris/fmtutil
+++ b/Master/bin/sparc-solaris/fmtutil
@@ -84,8 +84,7 @@ test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
progname=fmtutil
argv0=$0
-version=1205513038 # seconds since `00:00:00 1970-01-01 UTC'
- # date '+%s' (with GNU date)
+version=20090611.2319
cnf=fmtutil.cnf # name of the config file
export PATH
@@ -259,6 +258,23 @@ verboseMsg() {
###############################################################################
byebye()
{
+ if $has_warnings; then
+ {
+ cat <<eof
+
+###############################################################################
+$progname: Warning! Some warnings have been issued.
+Visit the log files in directory
+ $destdir
+for details.
+###############################################################################
+
+This is a summary of all \`warning' messages:
+$log_warning_msg
+eof
+ } >&2
+ fi
+
if $has_errors; then
{
cat <<eof
@@ -270,7 +286,7 @@ Visit the log files in directory
for details.
###############################################################################
-This is a summary of all \`failed' messages and warnings:
+This is a summary of all \`failed' messages:
$log_failure_msg
eof
} >&2
@@ -281,6 +297,16 @@ eof
}
###############################################################################
+# init_log_warning()
+# reset the list of warning messages
+###############################################################################
+init_log_warning()
+{
+ log_warning_msg=
+ has_warnings=false
+}
+
+###############################################################################
# init_log_failure()
# reset the list of failure messages
###############################################################################
@@ -291,6 +317,24 @@ init_log_failure()
}
###############################################################################
+# log_warning(errmsg)
+# report and save warning message `errmsg'
+###############################################################################
+log_warning()
+{
+ echo "Warning: $@" >&2
+ if test -z "$log_warning_msg"; then
+ log_warning_msg="$@"
+ else
+ OLDIFS=$IFS; IFS=
+ log_warning_msg="$log_warning_msg
+$@"
+ IFS=$OLDIFS
+ fi
+ has_warnings=true
+}
+
+###############################################################################
# log_failure(errmsg)
# report and save failure message `errmsg'
###############################################################################
@@ -547,6 +591,7 @@ main()
cache_vars
init_log_failure
+ init_log_warning
# execute the desired command:
case "$cmd" in
all)
@@ -607,15 +652,16 @@ parse_line()
texargs="$@"
- eval lastarg=\$$#
- inifile=`echo $lastarg | sed 's%^\*%%'`
-
case "$engine" in
mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;;
mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;;
*) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;;
esac
+ # remove any * for the sake of the kpsewhich lookup.
+ eval lastarg=\$$#
+ inifile=`echo $lastarg | sed 's%^\*%%'`
+
# See if we can find $inifile for return code:
kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1
}
@@ -705,7 +751,7 @@ run_initex()
mkdir -p "$fulldestdir"
if test -f $fmtfile; then
grep '^! ' $format.log >/dev/null 2>&1 &&
- log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
+ log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
# We don't want user-interaction for the following "mv" commands:
mv "$format.log" "$fulldestdir/$format.log" </dev/null
diff --git a/Master/bin/sparc-solaris/fragmaster b/Master/bin/sparc-solaris/fragmaster
new file mode 120000
index 00000000000..ca1bb398b4b
--- /dev/null
+++ b/Master/bin/sparc-solaris/fragmaster
@@ -0,0 +1 @@
+../../texmf-dist/scripts/fragmaster/fragmaster.pl \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/gftodvi b/Master/bin/sparc-solaris/gftodvi
index e8d5b649724..2c3febf6d08 100755
--- a/Master/bin/sparc-solaris/gftodvi
+++ b/Master/bin/sparc-solaris/gftodvi
Binary files differ
diff --git a/Master/bin/sparc-solaris/gftopk b/Master/bin/sparc-solaris/gftopk
index edf3879629f..3849c9d9f49 100755
--- a/Master/bin/sparc-solaris/gftopk
+++ b/Master/bin/sparc-solaris/gftopk
Binary files differ
diff --git a/Master/bin/sparc-solaris/gftype b/Master/bin/sparc-solaris/gftype
index b5430a43a3b..c713d63177f 100755
--- a/Master/bin/sparc-solaris/gftype
+++ b/Master/bin/sparc-solaris/gftype
Binary files differ
diff --git a/Master/bin/sparc-solaris/gsftopk b/Master/bin/sparc-solaris/gsftopk
index 538bd8a23a0..612104ba0a0 100755
--- a/Master/bin/sparc-solaris/gsftopk
+++ b/Master/bin/sparc-solaris/gsftopk
Binary files differ
diff --git a/Master/bin/sparc-solaris/hbf2gf b/Master/bin/sparc-solaris/hbf2gf
index 5ceb9916265..28df9aa0aac 100755
--- a/Master/bin/sparc-solaris/hbf2gf
+++ b/Master/bin/sparc-solaris/hbf2gf
Binary files differ
diff --git a/Master/bin/sparc-solaris/info b/Master/bin/sparc-solaris/info
deleted file mode 100755
index a70feb2a848..00000000000
--- a/Master/bin/sparc-solaris/info
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/infokey b/Master/bin/sparc-solaris/infokey
deleted file mode 100755
index f1c1605bfae..00000000000
--- a/Master/bin/sparc-solaris/infokey
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/install-info b/Master/bin/sparc-solaris/install-info
deleted file mode 100755
index 5c864fd3d57..00000000000
--- a/Master/bin/sparc-solaris/install-info
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/kpseaccess b/Master/bin/sparc-solaris/kpseaccess
index f80c7b87d8d..7514d70b4db 100755
--- a/Master/bin/sparc-solaris/kpseaccess
+++ b/Master/bin/sparc-solaris/kpseaccess
Binary files differ
diff --git a/Master/bin/sparc-solaris/kpsereadlink b/Master/bin/sparc-solaris/kpsereadlink
index bef643ee5c6..383bc60deee 100755
--- a/Master/bin/sparc-solaris/kpsereadlink
+++ b/Master/bin/sparc-solaris/kpsereadlink
Binary files differ
diff --git a/Master/bin/sparc-solaris/kpsestat b/Master/bin/sparc-solaris/kpsestat
index 05f86286670..9b4f10ddad2 100755
--- a/Master/bin/sparc-solaris/kpsestat
+++ b/Master/bin/sparc-solaris/kpsestat
Binary files differ
diff --git a/Master/bin/sparc-solaris/kpsewhich b/Master/bin/sparc-solaris/kpsewhich
index 0f7745d2204..42f64d55ae1 100755
--- a/Master/bin/sparc-solaris/kpsewhich
+++ b/Master/bin/sparc-solaris/kpsewhich
Binary files differ
diff --git a/Master/bin/sparc-solaris/lacheck b/Master/bin/sparc-solaris/lacheck
index a6e54e009e6..e1e8a0bacd3 100755
--- a/Master/bin/sparc-solaris/lacheck
+++ b/Master/bin/sparc-solaris/lacheck
Binary files differ
diff --git a/Master/bin/sparc-solaris/latex2man b/Master/bin/sparc-solaris/latex2man
new file mode 120000
index 00000000000..66d79f878b7
--- /dev/null
+++ b/Master/bin/sparc-solaris/latex2man
@@ -0,0 +1 @@
+../../texmf-dist/scripts/latex2man/latex2man \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/luatangle b/Master/bin/sparc-solaris/luatangle
new file mode 100755
index 00000000000..2aecf2ac8ee
--- /dev/null
+++ b/Master/bin/sparc-solaris/luatangle
Binary files differ
diff --git a/Master/bin/sparc-solaris/luatex b/Master/bin/sparc-solaris/luatex
index 524a41fcd3f..a748c35dbbd 100755
--- a/Master/bin/sparc-solaris/luatex
+++ b/Master/bin/sparc-solaris/luatex
Binary files differ
diff --git a/Master/bin/sparc-solaris/mag b/Master/bin/sparc-solaris/mag
index 8c8e2ea4509..4727f47538c 100755
--- a/Master/bin/sparc-solaris/mag
+++ b/Master/bin/sparc-solaris/mag
Binary files differ
diff --git a/Master/bin/sparc-solaris/makeindex b/Master/bin/sparc-solaris/makeindex
index aec3d0c7f3f..35381ce36cc 100755
--- a/Master/bin/sparc-solaris/makeindex
+++ b/Master/bin/sparc-solaris/makeindex
Binary files differ
diff --git a/Master/bin/sparc-solaris/makeinfo b/Master/bin/sparc-solaris/makeinfo
deleted file mode 100755
index 3db671fe4da..00000000000
--- a/Master/bin/sparc-solaris/makeinfo
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/makempx b/Master/bin/sparc-solaris/makempx
deleted file mode 100755
index 27c06c756e4..00000000000
--- a/Master/bin/sparc-solaris/makempx
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/man b/Master/bin/sparc-solaris/man
new file mode 120000
index 00000000000..9616d4ec099
--- /dev/null
+++ b/Master/bin/sparc-solaris/man
@@ -0,0 +1 @@
+../../texmf/doc/man \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/mf b/Master/bin/sparc-solaris/mf
index 20a7c87ed6f..1cc39fd807f 100755
--- a/Master/bin/sparc-solaris/mf
+++ b/Master/bin/sparc-solaris/mf
Binary files differ
diff --git a/Master/bin/sparc-solaris/mf-nowin b/Master/bin/sparc-solaris/mf-nowin
index 94bb45a3946..4f6f0b13323 100755
--- a/Master/bin/sparc-solaris/mf-nowin
+++ b/Master/bin/sparc-solaris/mf-nowin
Binary files differ
diff --git a/Master/bin/sparc-solaris/mft b/Master/bin/sparc-solaris/mft
index a10c77fa1c2..a746d3bb7dd 100755
--- a/Master/bin/sparc-solaris/mft
+++ b/Master/bin/sparc-solaris/mft
Binary files differ
diff --git a/Master/bin/sparc-solaris/mmafm b/Master/bin/sparc-solaris/mmafm
index 9271a8c9c22..e0859877a7c 100755
--- a/Master/bin/sparc-solaris/mmafm
+++ b/Master/bin/sparc-solaris/mmafm
Binary files differ
diff --git a/Master/bin/sparc-solaris/mmpfb b/Master/bin/sparc-solaris/mmpfb
index 2fb84502247..68ff5aab949 100755
--- a/Master/bin/sparc-solaris/mmpfb
+++ b/Master/bin/sparc-solaris/mmpfb
Binary files differ
diff --git a/Master/bin/sparc-solaris/mpost b/Master/bin/sparc-solaris/mpost
index 085bb818d84..b5f69c79d40 100755
--- a/Master/bin/sparc-solaris/mpost
+++ b/Master/bin/sparc-solaris/mpost
Binary files differ
diff --git a/Master/bin/sparc-solaris/mpto b/Master/bin/sparc-solaris/mpto
deleted file mode 100755
index b4545086d36..00000000000
--- a/Master/bin/sparc-solaris/mpto
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/newer b/Master/bin/sparc-solaris/newer
deleted file mode 100755
index 18b959298e5..00000000000
--- a/Master/bin/sparc-solaris/newer
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/odvicopy b/Master/bin/sparc-solaris/odvicopy
index cae88ab6e76..b958dd3ce9f 100755
--- a/Master/bin/sparc-solaris/odvicopy
+++ b/Master/bin/sparc-solaris/odvicopy
Binary files differ
diff --git a/Master/bin/sparc-solaris/odvips b/Master/bin/sparc-solaris/odvips
deleted file mode 120000
index 2e853c89507..00000000000
--- a/Master/bin/sparc-solaris/odvips
+++ /dev/null
@@ -1 +0,0 @@
-dvips \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/odvitype b/Master/bin/sparc-solaris/odvitype
index 9d03987b13a..80d23983a95 100755
--- a/Master/bin/sparc-solaris/odvitype
+++ b/Master/bin/sparc-solaris/odvitype
Binary files differ
diff --git a/Master/bin/sparc-solaris/omfonts b/Master/bin/sparc-solaris/omfonts
index a489e244648..0e54e613ce0 100755
--- a/Master/bin/sparc-solaris/omfonts
+++ b/Master/bin/sparc-solaris/omfonts
Binary files differ
diff --git a/Master/bin/sparc-solaris/otangle b/Master/bin/sparc-solaris/otangle
index c9b01f7272f..deb222e86c4 100755
--- a/Master/bin/sparc-solaris/otangle
+++ b/Master/bin/sparc-solaris/otangle
Binary files differ
diff --git a/Master/bin/sparc-solaris/otfinfo b/Master/bin/sparc-solaris/otfinfo
index e68803b279c..56f4e4619b6 100755
--- a/Master/bin/sparc-solaris/otfinfo
+++ b/Master/bin/sparc-solaris/otfinfo
Binary files differ
diff --git a/Master/bin/sparc-solaris/otftotfm b/Master/bin/sparc-solaris/otftotfm
index c3983276645..fa55d756240 100755
--- a/Master/bin/sparc-solaris/otftotfm
+++ b/Master/bin/sparc-solaris/otftotfm
Binary files differ
diff --git a/Master/bin/sparc-solaris/otp2ocp b/Master/bin/sparc-solaris/otp2ocp
index e3c2cf1216a..ec4b438653c 100755
--- a/Master/bin/sparc-solaris/otp2ocp
+++ b/Master/bin/sparc-solaris/otp2ocp
Binary files differ
diff --git a/Master/bin/sparc-solaris/outocp b/Master/bin/sparc-solaris/outocp
index b780d4a1053..5ff2cd1622b 100755
--- a/Master/bin/sparc-solaris/outocp
+++ b/Master/bin/sparc-solaris/outocp
Binary files differ
diff --git a/Master/bin/sparc-solaris/oxdvi b/Master/bin/sparc-solaris/oxdvi
deleted file mode 120000
index cf7065c02ca..00000000000
--- a/Master/bin/sparc-solaris/oxdvi
+++ /dev/null
@@ -1 +0,0 @@
-xdvi \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/patgen b/Master/bin/sparc-solaris/patgen
index da1a0eca27d..615a30372f5 100755
--- a/Master/bin/sparc-solaris/patgen
+++ b/Master/bin/sparc-solaris/patgen
Binary files differ
diff --git a/Master/bin/sparc-solaris/pdftex b/Master/bin/sparc-solaris/pdftex
index 8325a4c50c9..80a23144c47 100755
--- a/Master/bin/sparc-solaris/pdftex
+++ b/Master/bin/sparc-solaris/pdftex
Binary files differ
diff --git a/Master/bin/sparc-solaris/pdftexi2dvi b/Master/bin/sparc-solaris/pdftexi2dvi
deleted file mode 100755
index 17708e76579..00000000000
--- a/Master/bin/sparc-solaris/pdftexi2dvi
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-# $Id: pdftexi2dvi,v 1.3 2007/07/05 15:22:26 karl Exp $
-# Written by Thomas Esser. Public domain.
-# Execute texi2dvi --pdf.
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-texi2dvi --pdf ${1+"$@"}
diff --git a/Master/bin/sparc-solaris/pdftosrc b/Master/bin/sparc-solaris/pdftosrc
index 6299bf2532e..924fdd99f16 100755
--- a/Master/bin/sparc-solaris/pdftosrc
+++ b/Master/bin/sparc-solaris/pdftosrc
Binary files differ
diff --git a/Master/bin/sparc-solaris/pfb2pfa b/Master/bin/sparc-solaris/pfb2pfa
index 8ca064c413b..c3ecc27df0f 100755
--- a/Master/bin/sparc-solaris/pfb2pfa
+++ b/Master/bin/sparc-solaris/pfb2pfa
Binary files differ
diff --git a/Master/bin/sparc-solaris/pk2bm b/Master/bin/sparc-solaris/pk2bm
index 50affe53bf9..63f3f55418e 100755
--- a/Master/bin/sparc-solaris/pk2bm
+++ b/Master/bin/sparc-solaris/pk2bm
Binary files differ
diff --git a/Master/bin/sparc-solaris/pkfix-helper b/Master/bin/sparc-solaris/pkfix-helper
new file mode 120000
index 00000000000..44ef5278bd4
--- /dev/null
+++ b/Master/bin/sparc-solaris/pkfix-helper
@@ -0,0 +1 @@
+../../texmf-dist/scripts/pkfix-helper/pkfix-helper \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/pktogf b/Master/bin/sparc-solaris/pktogf
index 46279e00fdc..53fd281cad3 100755
--- a/Master/bin/sparc-solaris/pktogf
+++ b/Master/bin/sparc-solaris/pktogf
Binary files differ
diff --git a/Master/bin/sparc-solaris/pktype b/Master/bin/sparc-solaris/pktype
index 89a9a797f9b..b7953fb8d5f 100755
--- a/Master/bin/sparc-solaris/pktype
+++ b/Master/bin/sparc-solaris/pktype
Binary files differ
diff --git a/Master/bin/sparc-solaris/pltotf b/Master/bin/sparc-solaris/pltotf
index 731293244ca..69fe9b2ba15 100755
--- a/Master/bin/sparc-solaris/pltotf
+++ b/Master/bin/sparc-solaris/pltotf
Binary files differ
diff --git a/Master/bin/sparc-solaris/pooltype b/Master/bin/sparc-solaris/pooltype
index d1c56595a65..6ce891ac9be 100755
--- a/Master/bin/sparc-solaris/pooltype
+++ b/Master/bin/sparc-solaris/pooltype
Binary files differ
diff --git a/Master/bin/sparc-solaris/ps2eps b/Master/bin/sparc-solaris/ps2eps
new file mode 100755
index 00000000000..7092cbb0007
--- /dev/null
+++ b/Master/bin/sparc-solaris/ps2eps
@@ -0,0 +1,935 @@
+#!/usr/bin/env perl
+# The expression in the previous line replaces the unix specific line
+# {#!/usr/bin/perl}.
+# ps2eps - convert PostScript to EPS (Encapsulated PostScript) files
+# -------------------------------------------------------------------
+# $Id: ps2eps,v 1.64 2007/01/24 12:32:59 bless Exp $
+# -------------------------------------------------------
+# (C)opyright 1999-2007 Roland Bless
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Author: Roland Bless
+# Send bug reports to roland <at> bless.de
+# -------------------------------------------------------------------
+# Additional filtering is performed when Windows generated PostScript files
+# are processed. Some instructions will otherwise lead to bad output
+# if EPS-file gets embedded into other PostScript files.
+#
+# Requirements:
+# + perl
+# + gs (ghostscript supporting pbm output)
+# + bbox (a little C program [ANSI-C - should work on every platform]
+# for calculation of the actual BoundingBox)
+
+use POSIX;
+
+#use warnings;
+
+#use Getopt package
+use Getopt::Long;
+Getopt::Long::Configure("no_ignore_case");
+
+$prgname= "ps2eps";
+
+if (! -d "/usr/bin")
+{ # we assume that we are running under native windows
+ $ghostscriptname = "gswin32c";
+ $NULLDEV = "nul";
+}
+else
+{ # Unix or cygwin
+ $ghostscriptname = "gs";
+ $NULLDEV = "/dev/null 2>&1";
+}
+
+$bboxver=`bbox >$NULLDEV -V`;
+$bboxname= ($?== -1) ? "" : "bbox";
+$version= '$Id: ps2eps,v 1.64 2007/01/24 12:32:59 bless Exp $'; #'
+$insertPScode= 1; # Insert surrounding Postscript code
+$infhandle = STDIN; # Standard input is the default input file
+$outfhandle = STDOUT; # Standard output is default output if STDIN is input
+$infname= '-';
+$outfname= '-';
+$forceoverwrite=0; # do not overwrite existing files
+$ignoreBB= 0; # ignore existing Bounding Box comment
+$removeDSC= 1; # remove Adobe document structure comments
+$removeADO= 1; # remove Adobe printer Driver console Output [Page: ...]
+$ignoreEOFDSC= 0; # ignore %%EOF DSC hint
+$removePreview= 0; # remove preview
+$quiet= 0; # write progress to stdout
+$resolution= 144; # resolution for bounding box calculation is 2x72 dpi
+$trytofixps= 1; # try to fix postscript code
+$forcefixps= 0; # fix postscript code unconditionally if eq 1
+$filterorientation= 1;# filter Orientation line
+$looseBB=''; # default: tight bounding box
+$clip=0; # do not clip
+$warnings=0; # do not print warnings concerning postscript sanity
+$debuggs=0; # no debugging of ghostscript call, turn this on if you want to see the gs call
+$inch=2.54; # one inch is 2.54cm
+$fullcolors= 1; # use ppm format (24-bit full color)
+$trailerseen= 0; # Trailer comment seen?
+$PSversion="2.0"; # default Postscript Version
+$PSDSCversion="2.0"; # default Postscript DSC Version
+$translate_x= 0; # translate by x postscript points
+$translate_y= 0; # translate by y postscript points
+
+$defaultext = '(ps|prn)'; # default extension
+$defaultoutext = '.eps'; # default output extension
+$envname_size = 'PS2EPS_SIZE';
+$envname_gsbbox = 'PS2EPS_GSBBOX';
+
+$gpar="";
+$known_papersizes="11x17|ledger|legal|letter(small)?|arch[A-E]|a([0-9]|10)|isob[0-6]|b[0-5]|c[0-6]|jisb[0-6]|fls(a|e)|halfletter";
+$papersize_help="11x17,ledger,legal,letter,lettersmall,archA,archB,archC,archD,archE\
+a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,isob0,isob1,isob2,isob3,isob4,isob5,isob6,\
+b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5,c6,\
+jisb0,jisb1,jisb2,jisb3,jisb4,jisb5,jisb6,flsa,flse,halfletter\n";
+$trigger= 0;
+$notsane= 0;
+$dummy="";
+
+@ver= split(/ /,$version);
+
+# filename for temporary files
+if ($^O =~ /MSWin32/i or $^O =~ /cygwin/i)
+{
+ # it is less trouble to use the current directory if working on
+ # cygwin and nevertheless using gswin32c.
+ $tmpfname= "$prgname.$$";
+ $win=1;
+}
+elsif (defined($ENV{'TMP'}))
+{
+ $tmpdir= $ENV{'TMP'};
+ $filesep= ($tmpdir =~ /^?\:\\/) ? '\\' : '/';
+ if ($tmpdir =~ /$filesep$/)
+ { $tmpfname= $tmpdir . "$prgname.$$"; }
+ else
+ { $tmpfname= $tmpdir . "$filesep$prgname.$$"; }
+ $win=1;
+}
+else #assume we're on a UNIXBOX
+{
+ $tmpfname= "/tmp/" . "$prgname.$$";
+ $win=0;
+}
+
+
+$licensetxt= "\
+ This program is free software; you can redistribute it and/or modify\
+ it under the terms of the GNU General Public License as published by\
+ the Free Software Foundation; either version 2 of the License, or\
+ (at your option) any later version.\
+\
+ This program is distributed in the hope that it will be useful,\
+ but WITHOUT ANY WARRANTY; without even the implied warranty of\
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\
+ GNU General Public License for more details.\
+\
+ You should have received a copy of the GNU General Public License\
+ along with this program; if not, write to the Free Software\
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n";
+
+@prgidtxt= ( "$prgname - convert PostScript to EPS (Encapsulated PostScript) files\n",
+ "(C)opyright 1998-2007 Roland Bless\n\n" );
+
+@helptxt= ("Version: $ver[2]\n",
+ "Operation:\n",
+ " Without any argument, $prgname reads from standard input\n",
+ " and writes to standard output.\n",
+ " If filenames are given as arguments they are processed\n",
+ " one by one and output files are written to filenames\n",
+ " with extension '$defaultoutext'. If input filenames have the extension\n",
+ " '.ps' or '.prn', this extension is replaced with '$defaultoutext'.\n",
+ " In all other cases '$defaultoutext' is appended to the input filename.\n",
+ " Please note that PostScript files for input should contain\n",
+ " only one single page.\n\n",
+ " If BoundingBox in output seems to be wrong, please try options --size or --ignoreBB.\n\n" );
+
+@usagetxt= ("Syntax:\n",
+ " $prgname [-f] [-q] [-N] [-O] [-n] [-P] [-c] [-C] [-m] [-B] [-E] [-s <pagedim>] [-R +|-|^] [-t <x,y>] [-l] [-g] [-d] [-H] [-h|--help] [-g] [-W] [-L] [-V|--version] [--] [psfile1] [psfile2] [...]\n",
+ "Options:\n",
+ " -f, --force force overwriting existing files\n",
+ " -q, --quiet quiet operation (no output while processing files)\n",
+ " -N, --noinsert do not insert any postscript code\n",
+ " -O, --preserveorientation do not filter Orientation: header comment\n",
+ " -n, --nofix do not try to fix postscript code\n",
+ " -P, --removepreview remove preview image (smaller file, but no preview)\n",
+ " -F, --fixps fix postscript code unconditionally\n",
+ " -c, --comments preserve document structure comments\n",
+ " -C, --clip insert postscript code for clipping\n",
+ " -m, --mono use black/white bitmap as base for calculation\n",
+ " -s, --size=<pagedim> page size (a0-a10,letter,...) or in format XxY[cm|in] (default:cm), where X and Y are numbers\n",
+ " use --size=list to list pre-defined page sizes\n",
+ " -R, --rotate=<direction> rotate resulting EPS. <direction>: +=+90 (clockw.),-=-90 (counter-clockw.) ^=180 degrees\n",
+ " -t, --translate specify x,y offset (may be negative) in postscript points (1/72 dpi)\n",
+ " -r, --resolution specify dpi resolution to render with ghostscript (default 144)",
+ " -l, --loose expand the original bounding box by one point in each direction\n",
+ " -B, --ignoreBB do not use existing bounding box as page size for rendering\n",
+ " -E, --ignoreEOF do not use %%EOF as hint for end of file\n",
+ " -g, --gsbbox use internal bbox device of ghostscript\n",
+ " -H, --no-hires do not use a HiResBoundingBox\n",
+ " -h, --help help information\n",
+ " -L, --license show licensing information\n",
+ " -V, --version show version information\n",
+ " -d, --debuggs show ghostscript call\n",
+ " -W, --warnings show warnings about sanity of generated eps file\n",
+ " -- all following arguments are treated as files\n",
+ " (allows filenames starting with -)\n",
+ "\n",
+ "Arguments:\n",
+ " One or more names of PostScript files for input\n");
+
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+## -- argument checking --
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+#environment variable for papersize
+if (defined($ENV{"$envname_size"}))
+{
+ $opt_s= $ENV{"$envname_size"};
+}
+else
+{
+ $opt_s = ''; # for s-option
+}
+
+if (defined($ENV{"$envname_gsbbox"}))
+{
+ $bboxname="";
+}
+
+$opt_t = ''; # for t-option
+$opt_R = ''; # for R-option
+$opt_r = ''; # for r-option
+$stopnow = 0;
+die "Wrong option(s), please check usage with $prgname --help\n" unless
+GetOptions('f|force' => \$forceoverwrite,
+ 'q|quiet' => \$quiet,
+ 'm|mono' => sub { $fullcolors = 0 },
+ 'n|nofix' => sub { $trytofixps = 0 },
+ 'F|fixps' => \$forcefixps,
+ 'N|noinsert' => sub { $insertPScode = 0 },
+ 'O|preserveorientation' => sub { $filterorientation= 0 },
+ 'P|removepreview' => \$removePreview,
+ 'c|comments' => sub { $removeDSC = 0 },
+ 'C|clip' => \$clip,
+ 'l|loose' => sub { $looseBB = '-l' },
+ 'B|ignoreBB' => \$ignoreBB,
+ 'E|ignoreEOF'=> \$ignoreEOFDSC,
+ 's|size=s' => \$opt_s,
+ 't|translate=s' => \$opt_t,
+ 'r|resolution=s' => \$opt_r,
+ 'R|rotate=s' => \$opt_R,
+ 'g|gsbbox' => sub { $bboxname=""; },
+ 'H|nohires' => \$nohires,
+ 'h|help' => sub { $stopnow = 1; print @prgidtxt,@helptxt,@usagetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; },
+ 'L|license' => sub { $stopnow = 1; print @prgidtxt,$licensetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; },
+ 'd|debuggs' => \$debuggs,
+ 'W|warnings' => \$warnings,
+ 'V|version' => sub { $stopnow = 1; print @prgidtxt,"Version: $ver[2]\n"; });exit if ($stopnow);
+
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+## -- wildcard processing --
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+## internal wildcard processing for current directory,
+## only used for non UNIX-based OSs (which may lack shell wildcard expansion)
+@filenames = ();
+foreach $object (@ARGV) {
+ if ($win && $object =~ m/\*/o) # asterisk is present in filename
+ {
+ $wildcard = $object;
+ $wildcard =~ s/\./\\\./g; # replace . in pattern with \.
+ $wildcard =~ s/\*/\(\.\*\)/g; # replace * in pattern with (.*)
+ opendir(DIR,'.') || die 'Unable to open current directory, stopped'; # open current directory
+ print STDERR $wildcard;
+ @fid = grep { /$wildcard(\.$defaultext)?/i } readdir(DIR);
+ foreach (@fid) { push @filenames, $_; }
+ closedir DIR;
+ }
+ else { push @filenames, $object; }
+} # end foreach
+$filenames[0]= '-' if (scalar(@filenames) == 0); # no file arguments, use STDIN as input
+
+print STDERR "Input files: @filenames\n" if (!$quiet);
+
+if ($opt_r ne '')
+{
+ $resolution=$opt_r;
+}
+
+# papersize stuff
+if ($opt_s ne '')
+{
+ # if explicit size is given, ignore existing BoundingBox always
+ $ignoreBB = 1;
+ $pagedimension = $opt_s;
+ if ($opt_s eq "list")
+ {
+ print STDERR "Available paper sizes: $papersize_help";
+ exit 0;
+ }
+
+ #explicit format XxY[cm|in]
+ if ($pagedimension =~ /(\d*\.?\d+)x(\d*\.?\d+)/)
+ {
+ ($x_dim, $dummy, $y_dim, $unit)= split(/(x|cm|in)/,$pagedimension);
+ if ( $x_dim !~ /^\d*\.?\d+$/ )
+ { die "$x_dim in $arg is not a valid number, stopped"; }
+ if ( $y_dim !~ /^\d*\.?\d+$/ )
+ { die "$y_dim in $arg is not a valid number, stopped"; }
+
+ #print STDERR "xdim: $x_dim ydim: $y_dim unit:$unit\n" ;
+ if (!defined($unit) )
+ {
+ $unit='cm';
+ $opt_s=$opt_s . $unit;
+ }
+ if ( $unit ne 'in' ) # assume centimeters
+ { # calculate dimension in pixels (remember: resolution is in dpi)
+ $xpixels= int(($x_dim * $resolution) / $inch)+1;
+ $ypixels= int(($y_dim * $resolution) / $inch)+1;
+ $gpar= "-g${xpixels}x${ypixels}";
+ }
+ else
+ {
+ $xpixels= int($x_dim * $resolution)+1;
+ $ypixels= int($y_dim * $resolution)+1;
+ $gpar= "-g${xpixels}x${ypixels}";
+ }
+ } #endif XxY in opt_s
+ else
+ {
+ if ($opt_s =~ /$known_papersizes/)
+ {
+ $gpar="-sPAPERSIZE=$opt_s";
+ }
+ else
+ {
+ print STDERR "Error: Unknown paper size: $opt_s\n Acceptable papersizes are:$papersize_help\n";
+ exit 1;
+ }
+ }
+}
+
+#translate option
+if ($opt_t ne '')
+{
+ ($translate_x,$translate_y)= split(/\,/,$opt_t);
+}
+
+#rotate
+$rotright='-90 rotate';
+$rotleft='90 rotate';
+$rotupsidedown='180 rotate';
+$rotate='';
+if ($opt_R ne '')
+{
+ if ($opt_R eq '+') { $rotate=$rotright; }
+ elsif ($opt_R eq '-') { $rotate=$rotleft; }
+ elsif ($opt_R eq '^') { $rotate=$rotupsidedown; }
+ else { die "Wrong parameter for option -R: Valid are only +,-,^\n"; };
+}
+
+$device= $fullcolors ? "ppmraw" : "pbmraw";
+
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+## -- iterate over different input files --
+## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+PROCESSFILE:
+while ($infname= (shift @filenames))
+{
+ # reset filter definitions for each file
+ undef $linefilter;
+ undef $rangefilter_begin;
+ undef $rangefilter_end;
+ $fixthisps= $trytofixps;
+ $fixmsgprinted= 0;
+
+ if (!$quiet) { print STDERR "Processing: $infname\n"; }
+ unless (open($infhandle,"<$infname"))
+ { # skip over this file
+ print STDERR "$prgname: Can't open $infname: $!\n";
+ next PROCESSFILE;
+ }
+
+ # buffer input from stdin into temporary file, because it has to be read twice
+ # one time for ghostscript processing, the second time for generating output
+ if ($infname eq '-') # input is stdin
+ {
+ $tmpfhandle='';
+ open($tmpfhandle,">$tmpfname") or
+ die "Cannot open temporary file $tmpfname for writing: $!\n";
+ }
+ else # input is not stdin
+ {
+ undef $tmpfhandle;
+ #if filename ends with $defaultext usually .ps or .prn, replace the extension with $defaultoutext
+ if ($infname =~ /\.$defaultext$/i)
+ {
+ $outfname= $infname; $outfname =~ s/\.$defaultext$/$defaultoutext/i;
+ }
+ else # otherwise simply append the extension $defaultoutext
+ {
+ $outfname= $infname . "$defaultoutext";
+ }
+ if (!$forceoverwrite and -s "$outfname")
+ {
+ die "$prgname: Sorry, file named $outfname already exists,",
+ " will not overwrite it.\n",
+ " You will have to use the -f option, delete it or rename it",
+ " before running $prgname again.\n";
+ }
+ else
+ {
+ open($outfhandle,">$outfname") or die "Can't open file $outfname for writing: $!\n";
+ }
+ } #end else input is not stdin
+
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ ## -- process input file --
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ $linefilter= '^$'; #'# filter empty lines by default
+ while (<$infhandle>)
+ {
+ # get postscript and DSC version
+ if (/%!PS-Adobe-(\S+).*EPSF-(\S+)/)
+ {
+ $PSversion=$1;
+ $PSDSCversion=$2;
+ if (! ($PSversion =~ /\d+\.\d+/))
+ {
+ $PSDSCversion="2.0";
+ }
+ if (! ($PSDSCversion =~ /\d+\.\d+/))
+ {
+ $PSDSCversion="2.0";
+ }
+ }
+
+ # check for existing BoundingBox parameters
+ if ( /^%%\s*BoundingBox:\s*(.*)/ && !defined($eBBllx) )
+ {
+ $BBarg= $1;
+ # accept even negative and fractional BBs
+ if ( $BBarg =~ /(\-?\d+\.?\d*\s+){3,}\d+/ ) # ignore %% BoundingBox: (atend) comments
+ {
+ ($eBBllx,$eBBlly,$eBBurx,$eBBury,$dummy)= split /\s/,$BBarg;
+ #print STDERR "Existing BB: $eBBllx,$eBBlly,$eBBurx,$eBBury\n";
+ if (int($eBBllx) < 0) { $translate_x= - int($eBBllx-0.5); }
+ if (int($eBBlly) < 0) { $translate_y= - int($eBBlly-0.5); }
+
+ $xpixels= int((($eBBurx-$eBBllx) * $resolution)/72)+1;
+ $ypixels= int((($eBBury-$eBBlly) * $resolution)/72)+1;
+ if (!$ignoreBB)
+ {
+ $gpar= "-g${xpixels}x${ypixels}";
+ # check for meaningful values
+ if (($xpixels <= 1) || ($ypixels <= 1))
+ {
+ $gpar=""; undef $eBBllx; undef $eBBlly;
+ }
+ else
+ {
+ if (!$quiet)
+ {
+ print STDERR "Rendering with existing $_";
+ if (int($eBBllx) < 0 || int($eBBlly) < 0)
+ {
+ print STDERR "WARNING: existing Bounding Box shows negative values - shifting\n";
+ }
+ }
+ }
+ } #endif !$ignoreBB
+ } #endif $BBarg =~
+ }
+
+
+ if ($fixthisps) # try to fix bad postscript code
+ {
+ # check for Windows 3.x output
+ if ( /^Win.*Dict/ )
+ {
+ if (!$quiet && !$fixmsgprinted)
+ { print STDERR "Windows 3.5 generated Postscript file detected, fixing\n"; }
+ $linefilter= '^(EJ|RS)';
+ $rangefilter_begin= '^statusdict';
+ $rangefilter_end= 'cvx\ settransfer$'; #'
+ $fixmsgprinted= 1; # stop printing message
+ }
+ else
+ {
+ if ( /^%%Creator:\s*Wind.U\s*Xprinter/ )
+ {
+ if (!$quiet && !$fixmsgprinted)
+ { print STDERR "Star/OpenOffice generated Postscript file detected, fixing\n"; }
+ $linefilter= '^rs';
+ $fixmsgprinted= 1; # stop printing message
+ }
+ else
+ {
+ if ( $forcefixps ||
+ /^\/NTPS/ ||
+ /Creator:\s*(AdobePS|Pscript|.*Windows)/i ) #check for NT generated output
+ {
+ if (!$quiet && !$fixmsgprinted)
+ {
+ if ($forcefixps)
+ {
+ print STDERR "Postscript filtering requested, fixing\n";
+ }
+ else
+ {
+ print STDERR "Windows generated Postscript file detected, fixing\n";
+ }
+ }
+ $rangefilter_begin= '^((\[\{)|(featurebegin\{))$'; #'
+ $rangefilter_end= '^(\} stopped cleartomark|\}featurecleanup)';
+ $exclude_rangefilter_begin= '^(?i)%%BeginNonPPDFeature'; #'
+ $exclude_rangefilter_end= '^(?i)%%EndNonPPDFeature';
+ #$triggered_rangefilter_begin= ''; #'
+ #$triggered_rangefilter_end= ''; #'
+ $fixsearchpat='(^|\s)(initmatrix|initclip|initgraphics)(\s|$)';
+ $fixreplacepat=' ';
+ $fixmsgprinted= 1; # stop printing message
+ } # end if NTPS
+ } #end else
+ }
+ } #end if trytofixps
+
+ if (defined($tmpfhandle))
+ {
+ print $tmpfhandle $_ or die "$prgname: Failure during writing to temporary file $tmpfname";
+ }
+
+ if (/^%%EOF\s*$/)
+ {
+ $totalEOFDSC++
+ }
+ } #end while <$infhandle>
+
+ if (defined($tmpfhandle))
+ {
+ close($tmpfhandle);
+ }
+ else
+ {
+ $tmpfhandle= $infhandle;
+ $tmpfname= $infname;
+ }
+
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ ## -- calculate the bounding box --
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ if ($translate_x!=0 || $translate_y!=0)
+ {
+ $translation="$translate_x $translate_y translate";
+ $translatecmd="-c $translation";
+ }
+ else
+ {
+ $translation="";
+ $translatecmd="";
+ }
+
+ if (!$quiet)
+ {
+ print STDERR "Calculating Bounding Box...";
+ if ($opt_s)
+ {
+ print STDERR "using page size $opt_s...";
+ }
+ }
+
+ $rotatecmd='';
+ if ($rotate ne '')
+ {
+ $rotatecmd="-c \"$rotate\""
+ }
+ if ($bboxname ne '')
+ {
+ $cmdline="$ghostscriptname -dSAFER -dNOPAUSE -q $gpar -r$resolution -sDEVICE=$device -sOutputFile=- $translatecmd -f $tmpfname -c showpage -c quit | $bboxname -r $resolution";
+ }
+ else
+ {
+ if (!$quiet) {
+ print STDERR "...using bbox device of $ghostscriptname...";
+ }
+ $cmdline = "$ghostscriptname -dSAFER -dBATCH -dNOPAUSE -q $gpar -r$resolution -sDEVICE=bbox -sOutputFile=- -c \"/setpagedevice {pop} def\" $translatecmd -f $tmpfname -c quit 2>&1";
+ }
+
+ if ($debuggs) { print STDERR "\nCalling: $cmdline\n"; }
+
+ # actual ghostscript call
+ $boundingbox=`$cmdline`;
+ if ($debuggs) { print STDERR "Call result: $boundingbox"; }
+
+ # check result of gs call
+ if ($boundingbox !~ /^%%BoundingBox/m)
+ {
+ print STDERR "Error: Could not determine bounding box!\n",
+ "I suppose $ghostscriptname had some trouble interpreting the postscript-file\n";
+ }
+
+ $boundingbox =~ /^%%HiResBoundingBox:\s*(.*)/m;
+ if (defined($1)) # HiResBoundingBox given
+ {
+ ($hcBBllx,$hcBBlly,$hcBBurx,$hcBBury,$dummy)= split(/\s/,$1);
+ $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n";
+ $cBBllx = floor($hcBBllx);
+ $cBBlly = floor($hcBBlly);
+ $cBBurx = ceil($hcBBurx);
+ $cBBury = ceil($hcBBury);
+ }
+ else
+ { #use normal BoundingBox
+ $boundingbox =~ /^%%.*BoundingBox:\s*(.*)/;
+ ($cBBllx,$cBBlly,$cBBurx,$cBBury,$dummy)= split(/\s/,$1);
+ }
+ # if loose BB should be performed by ps2eps
+ # apply changes to resulting bounding box if needed
+ if ($looseBB ne '')
+ {
+ if ($cBBllx > 0) { $cBBllx--; }
+ if ($cBBlly > 0) { $cBBlly--; }
+ $cBBurx++; $cBBury++;
+ }
+ # extend clipping box by 1 point
+ if ($clip)
+ {
+ if ($cBBllx > 0) { $cBBllx--; }
+ if ($cBBlly > 0) { $cBBlly--; }
+ $cBBurx++; $cBBury++;
+ }
+ if ($cBBllx < 0 || $cBBlly < 0)
+ {
+ if (!$quiet)
+ {
+ print STDERR "WARNING! Your drawing had a negative Bounding Box which is deprecated and may cause problems!. I'll shift it.\n";
+ }
+ $translate_x= -int($cBBllx);
+ $translate_y= -int($cBBlly);
+ $cBBllx=0;
+ $cBBurx= $cBBurx + $translate_x;
+ $cBBlly=0;
+ $cBBury= $cBBury + $translate_y;
+
+ $hcBBurx= $hcBBurx + $hcBBllx;
+ $hcBBury= $hcBBury + $hcBBlly;
+ $hcBBllx= 0;
+ $hcBBlly= 0;
+
+ $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n";
+
+ $translation="$translate_x $translate_y translate";
+ $translatecmd="-c \'$translation\'";
+ }
+ $boundingbox = "%%BoundingBox: $cBBllx $cBBlly $cBBurx $cBBury\n";
+
+ if (!$quiet) { print STDERR "ready. $boundingbox" };
+
+ $before_startps= 1;
+ $inserted_prolog= 0;
+ $prolog_passed= 0;
+
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ ## -- Create output file --
+ ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ if (!$quiet) { print STDERR "Creating output file $outfname..."; }
+
+ open($tmpfhandle,"<$tmpfname") or die "Cannot open file $tmpfname for reading";
+ CREATEOUTPUT:
+ while (<$tmpfhandle>)
+ {
+ # check whether we are in a binary section
+
+ $binarysection=(/^(%%BeginBinary)|(beginimage)\r?\n?$/ ... /^(%%EndBinary)|^(endimage)/) ||
+ (/^(doNimage)|(doclutimage)\r?\n?$/ ... /(^|~> )Z\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0
+ (/^beginjpeg / ... /~> endjpeg\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0
+ (/^pdfIm/ ... /^%-EOD-/);
+
+ if ( !$binarysection )
+ {
+ s/\r?\n?$//; # remove CR and/or LF at end of line if not in binary section
+ }
+
+ # check where magic Postscript header starts - skip leading binary stuff, e.g., HP PCL/PJL code
+ if ($before_startps)
+ {
+ if ( /%!/ ) # This is usually the smallest magic sequence
+ { # Note: Adobe Photoshop generated a binary heading, so ^ is not applicable
+ # %! may be part of a binary sequence, but then control characters follow
+ # so skip %! if non alphanumeric characters follow
+ if ( ! /%!.*[^\w]{2,}/ )
+ {
+ # some heading without two control characters found
+ $before_startps= 0;
+ if (! /%!PS-Adobe.*/i) # some strange programs use other magics
+ {
+ print STDERR "** Warning **: Weird heading line -- ",$_," -- ";
+ }
+ }
+ }
+ next CREATEOUTPUT;
+ }
+ else # we are hopefully in regular postscript code now
+ {
+ # count %%EOFs as we want to know when we got the last EOF
+ if ( /^%%EOF\s*$/ )
+ {
+ $seenEOF++;
+ }
+
+ # We should insert our own prologue including the newly calculated BoundingBox
+ if (! $inserted_prolog)
+ {
+ print $outfhandle "%!PS-Adobe-$PSversion EPSF-$PSDSCversion\n";
+ # check if we need to rotate
+ $transrotcmd='';
+ if ($rotatecmd)
+ {
+ if ($rotate eq $rotright)
+ {
+ $transrotcmd="-$cBBlly $cBBurx translate";
+ $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n";
+ if ($hiresboundingbox ne "")
+ {
+ $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n";
+ }
+
+ }
+ elsif ($rotate eq $rotleft)
+ {
+ $transrotcmd="$cBBury -$cBBllx translate";
+ $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n";
+ if ($hiresboundingbox ne "")
+ {
+ $hiresboundingbox= '%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n";
+ }
+ }
+ elsif ($rotate eq $rotupsidedown)
+ {
+ $transrotcmd="$cBBurx $cBBury translate";
+ $boundingbox='%%BoundingBox: 0 0 ' . ($cBBurx-$cBBllx) . ' ' . ($cBBury-$cBBlly) . "\n";
+ if ($hiresboundingbox ne "")
+ {
+ $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBurx-$hcBBllx) . ' ' . ($hcBBury-$hcBBlly) . "\n";
+ }
+ }
+ }
+ print $outfhandle $boundingbox;
+ if (!defined($hiresboundingbox))
+ {
+ $nohires=1;
+ }
+ if (defined($hiresboundingbox) && !defined($nohires)) { print $outfhandle $hiresboundingbox; }
+ $inserted_prolog= 1;
+ redo CREATEOUTPUT;
+ }
+ else # already inserted_prolog
+ {
+ if (! $prolog_passed)
+ {
+ #ignore the following lines in the prologue
+ if ( /^%%(HiRes)?BoundingBox/ ||
+ /^%%Pages/ ||
+ /^%%BeginProlog/ ||
+ /^%%EndProlog/ ||
+ ($filterorientation && /^%%Orientation/) ||
+ ($removeDSC && /^%%.*: \(atend\)/) ||
+ ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) )
+ {
+ next CREATEOUTPUT;
+ }
+ else
+ {
+ if ( /^[^%].*/ ||
+ /^%%EndComments/ ) # line is not a comment
+ {
+ #output postscript code for proper EPS file
+ if ($insertPScode)
+ {
+ print $outfhandle "%%EndComments\n",
+ "% EPSF created by ps2eps $ver[2]\n",
+ "%%BeginProlog\n";
+ }
+ # Insert own postscript code for clipping
+ if ($clip)
+ {
+ if (!defined($nohires))
+ {
+ printf $outfhandle "newpath %f %f moveto %f %f lineto %f %f lineto %f %f lineto closepath clip\n",$hcBBllx-0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBury+0.1,$hcBBllx-0.1,$hcBBury+0.1;
+ }
+ else
+ {
+ printf $outfhandle "newpath %d %d moveto %d %d lineto %d %d lineto %d %d lineto closepath clip\n",$cBBllx,$cBBlly,$cBBurx,$cBBlly,$cBBurx,$cBBury,$cBBllx,$cBBury;
+ }
+ } #endif clip
+
+ if ($rotate ne '')
+ {
+ print $outfhandle "$transrotcmd\n";
+ print $outfhandle "$rotate\n";
+ }
+ if ($translation ne '')
+ {
+ print $outfhandle "$translation\n";
+ }
+
+ #insert surrounding postscript code
+ if ($insertPScode)
+ {
+ print $outfhandle "save\n",
+ "countdictstack\n",
+ "mark\n",
+ "newpath\n",
+ "/showpage {} def\n",
+ "/setpagedevice {pop} def\n",
+ "%%EndProlog\n",
+ "%%Page 1 1\n";
+ }
+ $prolog_passed= 1;
+ if (/^%%EndComments/) { next CREATEOUTPUT; }
+ } #endif line is not a comment
+ } #end else
+ } #endif (we are in the prologue section)
+ else #we are in the main part of postscript file
+ {
+ #end of postscript file reached?
+ #Usually the DSC %%EOF signifies the end
+ if ( eof($tmpfhandle) ||
+ ($ignoreEOFDSC == 0 && /^%%EOF\s*$/ && $seenEOF == $totalEOFDSC)
+ || ( $trailerseen && /^II\*\000.*/ )
+ )
+ {
+ #do not forget to print last line if not terminated by LF
+ if ( eof($tmpfhandle) && !/^$/ && !/^%%EOF\s*$/ ) # do not insert %%EOF twice
+ {
+ print $outfhandle $_,"\n";
+ }
+ #add appropriate trailer
+ if ($insertPScode)
+ {
+ print $outfhandle "%%Trailer\n",
+ "cleartomark\n",
+ "countdictstack\n",
+ "exch sub { end } repeat\n",
+ "restore\n",
+ "%%EOF\n";
+ }
+ last CREATEOUTPUT;
+ } # stop output
+
+ # Trailer comment seen?
+ if ( /^%%Trailer\s*$/ )
+ {
+ $trailerseen=1;
+ }
+ else
+ {
+ if (!/^\s*$/) #non empty lines follow
+ {
+ $trailerseen=0;
+ }
+ }
+
+ # check for trigger
+ if (defined($triggerstring) && /^$triggerstring$/)
+ {
+ $trigger= 1;
+ };
+
+ # remove complete lines if one of the expression matches
+ if ( !$binarysection # only when not in binary section
+ &&
+ (
+ ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/))
+ || # no preview
+ (defined($rangefilter_begin) &&
+ (/$rangefilter_begin/ ... /$rangefilter_end/) &&
+ (!(/$exclude_rangefilter_begin/ ... /$exclude_rangefilter_end/))
+ )
+ ||
+ (defined($triggered_rangefilter_begin) && defined($triggered_rangefilter_end) &&
+ $trigger &&
+ (/$triggered_rangefilter_begin/ ... /$triggered_rangefilter_end/)
+ )
+ ||
+ /$linefilter/ # lines by linefilter
+ ||
+ ($removeDSC && (/^%( |!)(\w )+/ || /^%%([A-Za-z]+\s)/)) # any type of structured comment
+ ||
+ ($removeADO &&
+ (/^statusdict begin.*ProductName.*print product print.*flush end\r?\n?$/ ||
+ /^\(%%\[\s*(Page:.*|LastPage)\s*\]%%\)\s*=\s*\w*\s*\r?\n?/ ))
+ ||
+ /^$/ # empty lines
+ )
+ )
+ {
+ next CREATEOUTPUT;
+ }
+
+ # replacement
+ if ( defined($fixsearchpat) )
+ {
+ #if (/$fixsearchpat/) { print STDERR "**filter** before:",$_,"\n"; }
+ #if (s/$fixsearchpat/$fixreplacepat/) { print STDERR "**filter** after:",$_,"\n";}
+ s/$fixsearchpat/$fixreplacepat/;
+ }
+
+ # sanity check for potential dangerous commands
+ if ( /(^|\s)(clear|erasepage|initmatrix|initclip|initgraphics|startjob|cleardictstack|setmatrix|setpagedevice|copypage|grestoreall|exitserver|quit)(\s|$)/ )
+ {
+ $notsane= 1;
+ #print STDERR "Warning: dangerous command in line: ",$_,"\n";
+ }
+ } # end else (this is main part)
+
+ # Output the postscript line to result file
+ print $outfhandle $_;
+
+ if (!$binarysection)
+ {
+ print $outfhandle "\n"; # terminate line with LF
+ }
+ } # end else prolog_passed
+ } # end else inserted_prolog
+ } # end while CREATEOUTPUT
+
+ close($tmpfhandle);
+
+ if ($tmpfname ne $infname) { unlink "$tmpfname"; } #remove temporary file
+
+ close ($outfhandle);
+
+ # print warning if magic sequence not found
+ if ( $before_startps )
+ {
+ print STDERR "\n ** Error!! **: could not identify begin of postscript code in file $infname, please check header line!\n First line should start with %!. No output generated.\n";
+ }
+
+ if (!$quiet) { print STDERR "ready.\n"; }
+ if ($warnings and $notsane and !$quiet)
+ {
+ print STDERR "** Warning **: EPS-output for $infname is not sane, at least one\n",
+ "of the following commands was still present:\n",
+ "clear erasepage initmatrix initclip initgraphics startjob\n",
+ "cleardictstack setmatrix setpagedevice copypage grestoreall\n",
+ "exitserver quit\n";
+ }
+} #end while PROCESSFILE
+
+# ---- end of perl-script -------
diff --git a/Master/bin/sparc-solaris/ps2pk b/Master/bin/sparc-solaris/ps2pk
index ed7aca17729..dc677a7ebcc 100755
--- a/Master/bin/sparc-solaris/ps2pk
+++ b/Master/bin/sparc-solaris/ps2pk
Binary files differ
diff --git a/Master/bin/sparc-solaris/psbook b/Master/bin/sparc-solaris/psbook
index bdf0242a16d..f3c09b696bd 100755
--- a/Master/bin/sparc-solaris/psbook
+++ b/Master/bin/sparc-solaris/psbook
Binary files differ
diff --git a/Master/bin/sparc-solaris/psnup b/Master/bin/sparc-solaris/psnup
index 3bc1ee59bf8..b56abff0b59 100755
--- a/Master/bin/sparc-solaris/psnup
+++ b/Master/bin/sparc-solaris/psnup
Binary files differ
diff --git a/Master/bin/sparc-solaris/psresize b/Master/bin/sparc-solaris/psresize
index b14afa5ca9f..b3478c43669 100755
--- a/Master/bin/sparc-solaris/psresize
+++ b/Master/bin/sparc-solaris/psresize
Binary files differ
diff --git a/Master/bin/sparc-solaris/psselect b/Master/bin/sparc-solaris/psselect
index 3b098defbce..db8ad904f20 100755
--- a/Master/bin/sparc-solaris/psselect
+++ b/Master/bin/sparc-solaris/psselect
Binary files differ
diff --git a/Master/bin/sparc-solaris/pstops b/Master/bin/sparc-solaris/pstops
index 6a54a90d732..c7224cb713a 100755
--- a/Master/bin/sparc-solaris/pstops
+++ b/Master/bin/sparc-solaris/pstops
Binary files differ
diff --git a/Master/bin/sparc-solaris/purifyeps b/Master/bin/sparc-solaris/purifyeps
new file mode 120000
index 00000000000..d6919b530ed
--- /dev/null
+++ b/Master/bin/sparc-solaris/purifyeps
@@ -0,0 +1 @@
+../../texmf-dist/scripts/purifyeps/purifyeps \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/svn-multi b/Master/bin/sparc-solaris/svn-multi
new file mode 120000
index 00000000000..9f3e6f9d9b7
--- /dev/null
+++ b/Master/bin/sparc-solaris/svn-multi
@@ -0,0 +1 @@
+../../texmf-dist/scripts/svn-multi/svn-multi.pl \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/synctex b/Master/bin/sparc-solaris/synctex
index bbfd90825b1..90bd9401d06 100755
--- a/Master/bin/sparc-solaris/synctex
+++ b/Master/bin/sparc-solaris/synctex
Binary files differ
diff --git a/Master/bin/sparc-solaris/t1dotlessj b/Master/bin/sparc-solaris/t1dotlessj
index bfc76f264a7..2ed8425e057 100755
--- a/Master/bin/sparc-solaris/t1dotlessj
+++ b/Master/bin/sparc-solaris/t1dotlessj
Binary files differ
diff --git a/Master/bin/sparc-solaris/t1lint b/Master/bin/sparc-solaris/t1lint
index 7e1375b5e2e..b9463172101 100755
--- a/Master/bin/sparc-solaris/t1lint
+++ b/Master/bin/sparc-solaris/t1lint
Binary files differ
diff --git a/Master/bin/sparc-solaris/t1rawafm b/Master/bin/sparc-solaris/t1rawafm
new file mode 100755
index 00000000000..b565f31d13c
--- /dev/null
+++ b/Master/bin/sparc-solaris/t1rawafm
Binary files differ
diff --git a/Master/bin/sparc-solaris/t1reencode b/Master/bin/sparc-solaris/t1reencode
index a652352cfe3..57545ebf82d 100755
--- a/Master/bin/sparc-solaris/t1reencode
+++ b/Master/bin/sparc-solaris/t1reencode
Binary files differ
diff --git a/Master/bin/sparc-solaris/t1testpage b/Master/bin/sparc-solaris/t1testpage
index 288952be3d3..b61ba93e5bc 100755
--- a/Master/bin/sparc-solaris/t1testpage
+++ b/Master/bin/sparc-solaris/t1testpage
Binary files differ
diff --git a/Master/bin/sparc-solaris/t4ht b/Master/bin/sparc-solaris/t4ht
index e87cecd5528..5a3e6c73e2d 100755
--- a/Master/bin/sparc-solaris/t4ht
+++ b/Master/bin/sparc-solaris/t4ht
Binary files differ
diff --git a/Master/bin/sparc-solaris/tangle b/Master/bin/sparc-solaris/tangle
index acf7e6e9d27..322b7cfdefd 100755
--- a/Master/bin/sparc-solaris/tangle
+++ b/Master/bin/sparc-solaris/tangle
Binary files differ
diff --git a/Master/bin/sparc-solaris/tcdialog b/Master/bin/sparc-solaris/tcdialog
index fb1342e92ce..ca5582a6b08 100755
--- a/Master/bin/sparc-solaris/tcdialog
+++ b/Master/bin/sparc-solaris/tcdialog
Binary files differ
diff --git a/Master/bin/sparc-solaris/tex b/Master/bin/sparc-solaris/tex
index 3fdc20de843..a06da00b8ee 100755
--- a/Master/bin/sparc-solaris/tex
+++ b/Master/bin/sparc-solaris/tex
Binary files differ
diff --git a/Master/bin/sparc-solaris/tex4ht b/Master/bin/sparc-solaris/tex4ht
index dcb6d607999..b60d1dd4c2a 100755
--- a/Master/bin/sparc-solaris/tex4ht
+++ b/Master/bin/sparc-solaris/tex4ht
Binary files differ
diff --git a/Master/bin/sparc-solaris/texi2dvi b/Master/bin/sparc-solaris/texi2dvi
deleted file mode 100755
index 877ea9599dd..00000000000
--- a/Master/bin/sparc-solaris/texi2dvi
+++ /dev/null
@@ -1,1791 +0,0 @@
-#! /bin/sh
-# texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources.
-# $Id: texi2dvi,v 1.133 2008/08/11 00:18:29 karl Exp $
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Original author: Noah Friedman.
-#
-# Please send bug reports, etc. to bug-texinfo@gnu.org.
-# If possible, please send a copy of the output of the script called with
-# the `--debug' option when making a bug report.
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-# No failure shall remain unpunished.
-set -e
-
-# This string is expanded by rcs automatically when this file is checked out.
-rcs_revision='$Revision: 1.133 $'
-rcs_version=`set - $rcs_revision; echo $2`
-program=`echo $0 | sed -e 's!.*/!!'`
-
-build_mode=${TEXI2DVI_BUILD_MODE:-local}
-build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.}
-
-# Initialize variables for option overriding and otherwise.
-# Don't use `unset' since old bourne shells don't have this command.
-# Instead, assign them an empty value.
-action=compile
-batch=false # true for batch mode
-debug=false
-escape="\\"
-expand= # t for expansion via makeinfo
-includes=
-line_error=true # Pass --file-line-error to TeX.
-no_line_error=false # absolutely do not pass --file-line-error to TeX
-oname= # --output
-out_lang=dvi
-quiet=false # by default let the tools' message be displayed
-recode=false
-set_language=
-src_specials=
-textra= # Extra TeX commands to insert in the input file.
-txiprereq=19990129 # minimum texinfo.tex version with macro expansion
-verb=false # true for verbose mode
-translate_file= # name of charset translation file
-recode_from= # if not empty, recode from this encoding to @documentencoding
-
-orig_pwd=`pwd`
-
-# We have to initialize IFS to space tab newline since we save and
-# restore IFS and apparently POSIX allows stupid/broken behavior with
-# empty-but-set IFS.
-# http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html
-# We need space, tab and new line, in precisely that order. And don't leave
-# trailing blanks.
-space=' '
-tab=' '
-newline='
-'
-IFS="$space$tab$newline"
-
-# In case someone pedantic insists on using grep -E.
-: ${EGREP=egrep}
-
-# Systems which define $COMSPEC or $ComSpec use semicolons to separate
-# directories in TEXINPUTS -- except for Cygwin et al., where COMSPEC
-# might be inherited, but : is used.
-if test -n "$COMSPEC$ComSpec" \
- && uname | $EGREP -iv 'cygwin|mingw|djgpp' >/dev/null; then
- path_sep=";"
-else
- path_sep=":"
-fi
-
-# Pacify verbose cds.
-CDPATH=${ZSH_VERSION+.}$path_sep
-
-# If $TEX is set to a directory, don't use it.
-test -n "$TEX" && test -d "$TEX" && unset TEX
-
-#
-## --------------------- ##
-## Auxiliary functions. ##
-## --------------------- ##
-
-# In case `local' is not supported by the shell, provide a function
-# that simulates it by simply performing the assignments. This means
-# that we must not expect `local' to work, i.e., we must not (i) rely
-# on it during recursion, and (ii) have two local declarations of the
-# same variable. (ii) is easy to check statically, and our test suite
-# does make sure there is never twice a static local declaration of a
-# variable. (i) cannot be checked easily, so just be careful.
-#
-# Note that since we might use a function simulating `local', we can
-# no longer rely on the fact that no IFS-splitting is performed. So,
-# while
-#
-# foo=$bar
-#
-# is fine (no IFS-splitting), never write
-#
-# local foo=$bar
-#
-# but rather
-#
-# local foo="$bar"
-(
- foo=bar
- test_local () {
- local foo=foo
- }
- test_local
- test $foo = bar
-) || local () {
- case $1 in
- *=*) eval "$1";;
- esac
-}
-
-
-# cd_orig
-# -------
-# Return to the original directory.
-cd_orig ()
-{
- # In case $orig_pwd is on a different drive (for DOS).
- cd /
-
- # Return to the original directory so that
- # - the next file is processed in correct conditions
- # - the temporary file can be removed
- cd "$orig_pwd" || exit 1
-}
-
-# func_dirname FILE
-# -----------------
-# Return the directory part of FILE.
-func_dirname ()
-{
- dirname "$1" 2>/dev/null \
- || { echo "$1" | sed 's!/[^/]*$!!;s!^$!.!'; }
-}
-
-
-# absolute NAME -> ABS-NAME
-# -------------------------
-# Return an absolute path to NAME.
-absolute ()
-{
- case $1 in
- [\\/]* | ?:[\\/]*)
- # Absolute paths don't need to be expanded.
- echo "$1"
- ;;
- *) local slashes
- slashes=`echo "$1" | sed -n 's,.*[^/]\(/*\)$,\1,p'`
- local rel
- rel=$orig_pwd/`func_dirname "$1"`
- if test -d "$rel"; then
- (cd "$rel" 2>/dev/null &&
- local n
- n=`pwd`/`basename "$1"`"$slashes"
- echo "$n")
- else
- error 1 "not a directory: $rel"
- fi
- ;;
- esac
-}
-
-
-# ensure_dir DIR1 DIR2...
-# -----------------------
-# Make sure the directories exist.
-ensure_dir ()
-{
- for dir
- do
- test -d "$dir" \
- || mkdir "$dir" \
- || error 1 "cannot create directory: $dir"
- done
-}
-
-
-# error EXIT_STATUS LINE1 LINE2...
-# --------------------------------
-# Report an error and exit with failure if EXIT_STATUS is non null.
-error ()
-{
- local s="$1"
- shift
- report "$@"
- if test "$s" != 0; then
- exit $s
- fi
-}
-
-
-# findprog PROG
-# -------------
-# Return true if PROG is somewhere in PATH, else false.
-findprog ()
-{
- local saveIFS="$IFS"
- IFS=$path_sep # break path components at the path separator
- for dir in $PATH; do
- IFS=$saveIFS
- # The basic test for an executable is `test -f $f && test -x $f'.
- # (`test -x' is not enough, because it can also be true for directories.)
- # We have to try this both for $1 and $1.exe.
- #
- # Note: On Cygwin and DJGPP, `test -x' also looks for .exe. On Cygwin,
- # also `test -f' has this enhancement, bot not on DJGPP. (Both are
- # design decisions, so there is little chance to make them consistent.)
- # Thusly, it seems to be difficult to make use of these enhancements.
- #
- if { test -f "$dir/$1" && test -x "$dir/$1"; } ||
- { test -f "$dir/$1.exe" && test -x "$dir/$1.exe"; }; then
- return 0
- fi
- done
- return 1
-}
-
-# report LINE1 LINE2...
-# ---------------------
-# Report some information on stderr.
-report ()
-{
- for i in "$@"
- do
- echo >&2 "$0: $i"
- done
-}
-
-
-# run COMMAND-LINE
-# ----------------
-# Run the COMMAND-LINE verbosely, and catching errors as failures.
-run ()
-{
- verbose "Running $@"
- "$@" 2>&5 1>&2 ||
- error 1 "$1 failed"
-}
-
-
-# usage
-# -----
-# Display usage and exit successfully.
-usage ()
-{
- # We used to simply have `echo "$usage"', but coping with the
- # changing behavior of `echo' is much harder than simply using a
- # here-doc.
- #
- # echo '\noto' echo '\\noto' echo -e '\\noto'
- # bash 3.1 \noto \\noto \noto
- # bash 3.2 %oto \noto -e \noto
- #
- # where % denotes the eol character.
- cat <<EOF
-Usage: $program [OPTION]... FILE...
-
-Run each Texinfo or (La)TeX FILE through TeX in turn until all
-cross-references are resolved, building all indices. The directory
-containing each FILE is searched for included files. The suffix of FILE
-is used to determine its language ((La)TeX or Texinfo). To process
-(e)plain TeX files, set the environment variable LATEX=tex.
-
-In order to make texi2dvi a drop-in replacement of TeX/LaTeX in AUC-TeX,
-the FILE may also be composed of the following simple TeX commands.
- \`\\input{FILE}' the actual file to compile
- \`\\nonstopmode' same as --batch
-
-Makeinfo is used to perform Texinfo macro expansion before running TeX
-when needed.
-
-General options:
- -b, --batch no interaction
- -D, --debug turn on shell debugging (set -x)
- -h, --help display this help and exit successfully
- -o, --output=OFILE leave output in OFILE (implies --clean);
- only one input FILE may be specified in this case
- -q, --quiet no output unless errors (implies --batch)
- -s, --silent same as --quiet
- -v, --version display version information and exit successfully
- -V, --verbose report on what is done
-
-TeX tuning:
- -@ use @input instead of \input for preloaded Texinfo
- --dvi output a DVI file [default]
- --dvipdf output a PDF file via DVI (using dvipdf)
- -e, -E, --expand force macro expansion using makeinfo
- -I DIR search DIR for Texinfo files
- -l, --language=LANG specify LANG for FILE, either latex or texinfo
- --no-line-error do not pass --file-line-error to TeX
- -p, --pdf use pdftex or pdflatex for processing
- -r, --recode call recode before TeX to translate input
- --recode-from=ENC recode from ENC to the @documentencoding
- --src-specials pass --src-specials to TeX
- -t, --command=CMD insert CMD in copy of input file
- or --texinfo=CMD multiple values accumulate
- --translate-file=FILE use given charset translation file for TeX
-
-Build modes:
- --build=MODE specify the treatment of auxiliary files [$build_mode]
- --tidy same as --build=tidy
- -c, --clean same as --build=clean
- --build-dir=DIR specify where the tidy compilation is performed;
- implies --tidy;
- defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir]
- --mostly-clean remove the auxiliary files and directories
- but not the output
-
-The MODE specifies where the TeX compilation takes place, and, as a
-consequence, how auxiliary files are treated. The build mode
-can also be set using the environment variable TEXI2DVI_BUILD_MODE.
-
-Valid MODEs are:
- \`local' compile in the current directory, leaving all the auxiliary
- files around. This is the traditional TeX use.
- \`tidy' compile in a local *.t2d directory, where the auxiliary files
- are left. Output files are copied back to the original file.
- \`clean' same as \`tidy', but remove the auxiliary directory afterwards.
- Every compilation therefore requires the full cycle.
-
-Using the \`tidy' mode brings several advantages:
- - the current directory is not cluttered with plethora of temporary files.
- - clutter can be even reduced using --build-dir=dir: all the *.t2d
- directories are stored there.
- - clutter can be reduced to zero using, e.g., --build-dir=/tmp/\$USER.t2d
- or --build-dir=\$HOME/.t2d.
- - the output file is updated after every succesful TeX run, for
- sake of concurrent visualization of the output. In a \`local' build
- the viewer stops during the whole TeX run.
- - if the compilation fails, the previous state of the output file
- is preserved.
- - PDF and DVI compilation are kept in separate subdirectories
- preventing any possibility of auxiliary file incompatibility.
-
-On the other hand, because \`tidy' compilation takes place in another
-directory, occasionally TeX won't be able to find some files (e.g., when
-using \\graphicspath): in that case use -I to specify the additional
-directories to consider.
-
-The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO,
-TEX (or PDFTEX), TEXINDEX, and THUMBPDF environment variables are used
-to run those commands, if they are set. Any CMD strings are added
-after @setfilename for Texinfo input, in the first line for LaTeX input.
-
-Email bug reports to <bug-texinfo@gnu.org>,
-general questions and discussion to <help-texinfo@gnu.org>.
-Texinfo home page: http://www.gnu.org/software/texinfo/
-EOF
- exit 0
-}
-
-
-# verbose WORD1 WORD2
-# -------------------
-# Report some verbose information.
-verbose ()
-{
- if $verb; then
- echo >&2 "$0: $@"
- fi
-}
-
-
-# version
-# -------
-# Display version info and exit succesfully.
-version ()
-{
- cat <<EOF
-texi2dvi (GNU Texinfo 4.12+) $rcs_version
-
-Copyright (C) 2008 Free Software Foundation, Inc.
-License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
-EOF
- exit 0
-}
-
-
-## ---------------- ##
-## Handling lists. ##
-## ---------------- ##
-
-
-# list_append LIST-NAME ELEM
-# --------------------------
-# Set LIST-NAME to its former contents, with ELEM appended.
-list_append ()
-{
- local la_l="$1"
- shift
- eval set X \$$la_l "$@"
- shift
- eval $la_l=\""$@"\"
-}
-
-
-# list_concat_dirs LIST-NAME DIR-LIST
-# -----------------------------------
-# Append to LIST-NAME all the components (included empty) from
-# the $path_sep separated list DIR-LIST. Make the paths absolute.
-list_concat_dirs ()
-{
- local lcd_list="$1"
- # Empty path components are meaningful to tex. We rewrite them as
- # `EMPTY' so they don't get lost when we split on $path_sep.
- # Hopefully no one will have an actual directory named EMPTY.
- local replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \
- -e 's/$path_sep\$/${path_sep}EMPTY/g' \
- -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
- save_IFS=$IFS
- IFS=$path_sep
- set x `echo "$2" | eval sed $replace_EMPTY`; shift
- IFS=$save_IFS
- local dir
- for dir
- do
- case $dir in
- EMPTY)
- list_append $lcd_list ""
- ;;
- *)
- if test -d $dir; then
- dir=`absolute "$dir"`
- list_append $lcd_list "$dir"
- fi
- ;;
- esac
- done
-}
-
-
-# list_prefix LIST-NAME SEP -> STRING
-# -----------------------------------
-# Return a string that is composed of the LIST-NAME with each item
-# preceded by SEP.
-list_prefix ()
-{
- local lp_p="$2"
- eval set X \$$1
- shift
- local lp_res
- for i
- do
- lp_res="$lp_res \"$lp_p\" \"$i\""
- done
- echo "$lp_res"
-}
-
-# list_infix LIST-NAME SEP -> STRING
-# ----------------------------------
-# Same as list_prefix, but a separator.
-list_infix ()
-{
- eval set X \$$1
- shift
- local la_IFS="$IFS"
- IFS=$path_sep
- echo "$*"
- IFS=$la_IFS
-}
-
-# list_dir_to_abs LIST-NAME
-# -------------------------
-# Convert the list to using only absolute dir names.
-# Currently unused, but should replace absolute_filenames some day.
-list_dir_to_abs ()
-{
- local ld_l="$1"
- eval set X \$$ld_l
- shift
- local ld_res
- for dir
- do
- dir=`absolute "$dir"`
- test -d "$dir" || continue
- ld_res="$ld_res \"$dir\""
- done
- set X $ld_res; shift
- eval $ld_l=\"$@\"
-}
-
-
-## ------------------------------ ##
-## Language auxiliary functions. ##
-## ------------------------------ ##
-
-# out_lang_tex
-# ------------
-# Return the tex output language (DVI or PDF) for $OUT_LANG.
-out_lang_tex ()
-{
- case $out_lang in
- dvi | ps | dvipdf ) echo dvi;;
- pdf ) echo $out_lang;;
- html | info | text ) echo $out_lang;;
- *) error 1 "$0: invalid out_lang: $1";;
- esac
-}
-
-
-# out_lang_ext
-# ------------
-# Return the extension for $OUT_LANG.
-out_lang_ext ()
-{
- case $out_lang in
- dvipdf ) echo pdf;;
- dvi | html | info | pdf | ps | text ) echo $out_lang;;
- *) error 1 "$0: invalid out_lang: $1";;
- esac
-}
-
-
-## ------------------------- ##
-## TeX auxiliary functions. ##
-## ------------------------- ##
-
-# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file.
-# Likewise for bibtex and makeindex.
-tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \
-TEXINPUTS TFMFONTS"
-for var in $tex_envvars; do
- eval ${var}_orig=\$$var
- export $var
-done
-
-
-# absolute_filenames TEX-PATH -> TEX-PATH
-# ---------------------------------------
-# Convert relative paths to absolute paths, so we can run in another
-# directory (e.g., in tidy build mode, or during the macro-support
-# detection). Prepend ".".
-absolute_filenames ()
-{
- # Empty path components are meaningful to tex. We rewrite them as
- # `EMPTY' so they don't get lost when we split on $path_sep.
- # Hopefully no one will have an actual directory named EMPTY.
- local replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \
- -e 's/$path_sep\$/${path_sep}EMPTY/g' \
- -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'"
- local res
- res=`echo "$1" | eval sed $replace_empty`
- save_IFS=$IFS
- IFS=$path_sep
- set x $res; shift
- res=.
- for dir
- do
- case $dir in
- EMPTY)
- res=$res$path_sep
- ;;
- *)
- if test -d "$dir"; then
- res=$res$path_sep`absolute "$dir"`
- else
- # Even if $dir is not a directory, preserve it in the path.
- # It might contain metacharacters that TeX will expand in
- # turn, e.g., /some/path/{a,b,c}. This will not get the
- # implicit absolutification of the path, but we can't help that.
- res=$res$path_sep$dir
- fi
- ;;
- esac
- done
- echo "$res"
-}
-
-
-# output_base_name FILE
-# ---------------------
-# The name of FILE, possibly renamed to satisfy --output.
-output_base_name ()
-{
- case $oname in
- '') echo "$1";;
- *) local out_noext
- out_noext=`echo "$oname" | sed 's/\.[^.]*$//'`
- local file_ext
- file_ext=`echo "$1" | sed 's/^.*\.//'`
- echo "$out_noext.$file_ext"
- ;;
- esac
-}
-
-
-# move_to_dest FILE...
-# --------------------
-# Move FILE to the place where the user expects it. Truly move it, that
-# is, it must not remain in its build location unless that is also the
-# output location. (Otherwise it might appear as an extra file in make
-# distcheck.)
-#
-# FILE can be the principal output (in which case -o directly applies), or
-# an auxiliary file with the same base name.
-move_to_dest ()
-{
- local dest
- local destfile
- local destdir
- local destbase
- local sourcedir
- local sourcebase
-
- for file
- do
- case $tidy:$oname in
- true:) dest=$orig_pwd;;
- false:) dest=;;
- *:*) dest=`output_base_name "$file"`;;
- esac
- if test ! -f "$file"; then
- error 1 "no such file or directory: $file"
- fi
- if test -n "$dest"; then
- # We need to know whether $dest is a directory.
- if test -d "$dest"; then
- destdir=$dest
- destfile=$dest/$file
- else
- destdir="`dirname $dest`"
- destfile=$dest
- fi
- # We want to compare the source location and the output location,
- # and if they are different, do the move. But if they are the
- # same, we must preserve the source. Since we can't assume
- # stat(1) or test -ef is available, resort to comparing the
- # directory names, canonicalized with pwd. We can't use cmp -s
- # since the output file might not actually change from run to run;
- # e.g., TeX DVI output is timestamped to only the nearest minute.
- destdir=`cd $destdir && pwd`
- destbase=`basename $destfile`
- #
- sourcedir=`dirname $file`
- sourcedir=`cd $sourcedir && pwd`
- sourcebase=`basename $file`
- #
- if test "$sourcedir/$sourcebase" != "$destdir/$destbase"; then
- verbose "Moving $file to $destfile"
- rm -f "$destfile"
- mv "$file" "$destfile"
- fi
- fi
- done
-}
-
-
-## --------------------- ##
-## Managing xref files. ##
-## --------------------- ##
-
-# aux_file_p FILE
-# ---------------
-# Return with success with FILE is an aux file.
-aux_file_p ()
-{
- test -f "$1" || return 1
- case $1 in
- *.aux) return 0;;
- *) return 1;;
- esac
-}
-
-# bibaux_file_p FILE
-# ------------------
-# Return with success with FILE is an aux file containing citation
-# requests.
-bibaux_file_p ()
-{
- test -s "$1" || return 1
- if (grep '^\\bibstyle[{]' "$1" \
- && grep '^\\bibdata[{]' "$1" \
- ## The following line is suspicious: fails when there
- ## are citations in sub aux files. We need to be
- ## smarter in this case.
- ## && grep '^\\citation[{]' "$f"
- ) >&6 2>&1;
- then
- return 0
- fi
- return 1
-}
-
-# index_file_p FILE
-# -----------------
-# Return with success with FILE is an index file.
-# When index.sty is used, there is a space before the brace.
-index_file_p ()
-{
- test -f "$1" || return 1
- case `sed '1q' "$1"` in
- "\\entry{"*|"\\indexentry{"*|"\\indexentry {"*) return 0;;
- *) return 1;;
- esac
-}
-
-# xref_file_p FILE
-# ----------------
-# Return with success if FILE is an xref file (indexes, tables and lists).
-xref_file_p ()
-{
- test -f "$1" || return 1
- # If the file is not suitable to be an index or xref file, don't
- # process it. It's suitable if the first character is a
- # backslash or right quote or at, as long as the first line isn't
- # \input texinfo.
- case `sed '1q' "$1"` in
- "\\input texinfo"*) return 1;;
- [\\''@]*) return 0;;
- *) return 1;;
- esac
-}
-
-
-# generated_files_get FILENAME-NOEXT [PREDICATE-FILTER]
-# -----------------------------------------------------
-# Return the list of files generated by the TeX compilation of FILENAME-NOEXT.
-generated_files_get ()
-{
- local filter=true
- if test -n "$2"; then
- filter=$2
- fi
-
- # Gather the files created by TeX.
- (
- if test -f "$1.log"; then
- sed -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log"
- fi
- echo "$1.log"
- ) |
- # Depending on these files, infer outputs from other tools.
- while read file; do
- echo $file
- case $in_lang in
- texinfo)
- # texindex: texinfo.cp -> texinfo.cps
- if index_file_p $file; then
- echo ${file}s
- fi
- ;;
- latex)
- if aux_file_p $file; then
- # bibtex: *.aux -> *.bbl and *.blg.
- echo $file | sed 's/^\(.*\)\.aux$/\1.bbl/'
- echo $file | sed 's/^\(.*\)\.aux$/\1.blg/'
- # -recorder: .fls
- echo $file | sed 's/^\(.*\)\.aux$/\1.fls/'
- fi
- ;;
- esac
- done |
- # Filter existing files matching the criterion.
- #
- # With an input file name containing a space, this produces a
- # "command not found" message (and filtering is ineffective).
- # The situation with a newline is presumably even worse.
- while read file; do
- if $filter "$file"; then
- echo $file
- fi
- done |
- sort |
- # Some files are opened several times, e.g., listings.sty's *.vrb.
- uniq
-}
-
-
-# xref_files_save
-# ---------------
-# Save the xref files.
-xref_files_save ()
-{
- # Save copies of auxiliary files for later comparison.
- xref_files_orig=`generated_files_get "$in_noext" xref_file_p`
- if test -n "$xref_files_orig"; then
- verbose "Backing up xref files: $xref_files_orig"
- # The following line improves `cp $xref_files_orig "$work_bak"'
- # by preserving the directory parts. Think of
- # cp chap1/main.aux chap2/main.aux $work_bak.
- #
- # Users may have, e.g., --keep-old-files. Don't let this interfere.
- # (Don't use unset for the sake of ancient shells.)
- TAR_OPTIONS=; export TAR_OPTIONS
- tar cf - $xref_files_orig | (cd "$work_bak" && tar xf -)
- fi
-}
-
-
-# xref_files_changed
-# ------------------
-# Whether the xref files were changed since the previous run.
-xref_files_changed ()
-{
- # LaTeX (and the package changebar) report in the LOG file if it
- # should be rerun. This is needed for files included from
- # subdirs, since texi2dvi does not try to compare xref files in
- # subdirs. Performing xref files test is still good since LaTeX
- # does not report changes in xref files.
- if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then
- return 0
- fi
-
- # If old and new lists don't at least have the same file list,
- # then one file or another has definitely changed.
- xref_files_new=`generated_files_get "$in_noext" xref_file_p`
- verbose "Original xref files = $xref_files_orig"
- verbose "New xref files = $xref_files_new"
- if test "x$xref_files_orig" != "x$xref_files_new"; then
- return 0
- fi
-
- # Compare each file until we find a difference.
- for this_file in $xref_files_new; do
- verbose "Comparing xref file `echo $this_file | sed 's|\./||g'` ..."
- # cmp -s returns nonzero exit status if files differ.
- if cmp -s "$this_file" "$work_bak/$this_file"; then :; else
- verbose "xref file `echo $this_file | sed 's|\./||g'` differed ..."
- if $debug; then
- diff -u "$work_bak/$this_file" "$this_file"
- fi
- return 0
- fi
- done
-
- # No change.
- return 1
-}
-
-
-
-## ----------------------- ##
-## Running the TeX suite. ##
-## ----------------------- ##
-
-
-
-# run_tex ()
-# ----------
-# Run TeX as "$tex $in_input", taking care of errors and logs.
-run_tex ()
-{
- case $in_lang:`out_lang_tex` in
- latex:dvi) tex=${LATEX:-latex};;
- latex:pdf) tex=${PDFLATEX:-pdflatex};;
- texinfo:dvi)
- # MetaPost also uses the TEX environment variable. If the user
- # has set TEX=latex for that reason, don't bomb out.
- case $TEX in
- *latex) tex=tex;; # don't bother trying to find etex
- *) tex=$TEX
- esac;;
- texinfo:pdf) tex=$PDFTEX;;
-
- *) error 1 "$0: $out_lang not supported for $in_lang";;
- esac
-
- # Beware of aux files in subdirectories that require the
- # subdirectory to exist.
- case $in_lang:$tidy in
- latex:true)
- sed -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" |
- sort -u |
- while read d
- do
- ensure_dir "$work_build/$d"
- done
- ;;
- esac
-
- # Note that this will be used via an eval: quote properly.
- local cmd="$tex"
-
- # If possible, make TeX report error locations in GNU format.
- if test "${tex_help:+set}" != set; then
- # Go to a temporary directory to try --help, since old versions that
- # don't accept --help will generate a texput.log.
- tex_help_dir=$t2ddir/tex_help
- ensure_dir "$tex_help_dir"
- tex_help=`cd "$tex_help_dir" >&6 && $tex --help </dev/null 2>&1`
- fi
- if $no_line_error; then :; else
- # The mk program and perhaps others want to parse TeX's
- # original error messages.
- case $line_error:$tex_help in
- true:*file-line-error*) cmd="$cmd --file-line-error";;
- esac
- fi
-
- # Tell TeX about TCX file, if specified.
- test -n "$translate_file" && cmd="$cmd --translate-file=$translate_file"
-
- # Tell TeX to make source specials (for backtracking from output to
- # source, given a sufficiently smart editor), if specifed.
- test -n "$src_specials" && cmd="$cmd $src_specials"
-
- # Tell TeX to be batch if requested.
- if $batch; then
- # \batchmode does not show terminal output at all, so we don't
- # want that. And even in batch mode, TeX insists on having input
- # from the user. Close its stdin to make it impossible.
- cmd="$cmd </dev/null '${escape}nonstopmode' '${escape}input'"
- fi
-
- # we'd like to handle arbitrary input file names, such as a~b.tex.
- # This isn't a general way to do it :), though it does work, kind of.
- # cmd="$cmd '${escape}catcode126=12 \input '"
-
- # TeX's \input does not (easily or reliably) support whitespace
- # characters or other special characters in file names. Our intensive
- # use of absolute file names makes this worse: the enclosing directory
- # names may include white spaces. Improve the situation using a
- # symbolic link to the filename in the current directory, in tidy mode
- # only. Do not alter in_input.
- #
- # The filename is almost always tokenized using plain TeX conventions
- # (the exception would be if the user made a texinfo.fmt file). Not
- # all the plain TeX special characters cause trouble, but there's no
- # harm in making the link.
- #
- case $tidy:`func_dirname "$in_input"` in
- true:*["$space$tab$newline\"#\$%\\^_{}"]*)
- _run_tex_file_name=`basename "$in_input"`
- if test ! -f "$_run_tex_file_name"; then
- # It might not be a file, clear it.
- run rm -f "$_run_tex_file_name"
- run ln -s "$in_input"
- fi
- cmd="$cmd '$_run_tex_file_name'"
- ;;
-
- *)
- cmd="$cmd '$in_input'"
- ;;
- esac
-
- verbose "$0: Running $cmd ..."
- if eval "$cmd" >&5; then
- case $out_lang in
- dvi | pdf ) move_to_dest "$in_noext.$out_lang";;
- esac
- else
- error 1 "$tex exited with bad status, quitting."
- fi
-}
-
-# run_bibtex ()
-# -------------
-# Run bibtex on current file.
-# - If its input (AUX) exists.
-# - If some citations are missing (LOG contains `Citation').
-# or the LOG complains of a missing .bbl
-#
-# Don't try to be too smart:
-#
-# 1. Running bibtex only if the bbl file exists and is older than
-# the LaTeX file is wrong, since the document might include files
-# that have changed.
-#
-# 3. Because there can be several AUX (if there are \include's),
-# but a single LOG, looking for missing citations in LOG is
-# easier, though we take the risk to match false messages.
-run_bibtex ()
-{
- case $in_lang in
- latex) bibtex=${BIBTEX:-bibtex};;
- texinfo) return;;
- esac
-
- # "Citation undefined" is for LaTeX, "Undefined citation" for btxmac.tex.
- # The no .aux && \bibdata test is also for btxmac, in case it was the
- # first run of a bibtex-using document. Otherwise, it's possible that
- # bibtex would never be run.
- if test -r "$in_noext.aux" \
- && test -r "$in_noext.log" \
- && (grep 'Warning:.*Citation.*undefined' "$in_noext.log" \
- || grep '.*Undefined citation' "$in_noext.log" \
- || grep 'No file .*\.bbl\.' "$in_noext.log") \
- || (grep 'No \.aux file' "$in_noext.log" \
- && grep '^\\bibdata' "$in_noext.aux") \
- >&6 2>&1; \
- then
- for f in `generated_files_get "$in_noext" bibaux_file_p`
- do
- run $bibtex "$f"
- done
- fi
-}
-
-# run_index ()
-# ------------
-# Run texindex (or makeindex) on current index files. If they already
-# exist, and after running TeX a first time the index files don't
-# change, then there's no reason to run TeX again. But we won't know
-# that if the index files are out of date or nonexistent.
-run_index ()
-{
- case $in_lang in
- latex) texindex=${MAKEINDEX:-makeindex};;
- texinfo) texindex=${TEXINDEX:-texindex};;
- esac
- index_files=`generated_files_get $in_noext index_file_p`
- if test -n "$texindex" && test -n "$index_files"; then
- run $texindex $index_files
- fi
-}
-
-
-# run_thumbpdf ()
-# ---------------
-run_thumbpdf ()
-{
- if test `out_lang_tex` = pdf \
- && test -r "$in_noext.log" \
- && grep 'thumbpdf\.sty' "$in_noext.log" >&6 2>&1; \
- then
- thumbpdf=${THUMBPDF:-thumbpdf}
- verbose "Running $thumbpdf $in_noext ..."
- if $thumbpdf "$in_noext" >&5; then
- run_tex
- else
- report "$thumbpdf exited with bad status." \
- "Ignoring its output."
- fi
- fi
-}
-
-
-# run_dvipdf FILE.dvi
-# -------------------
-# Convert FILE.dvi to FILE.pdf.
-run_dvipdf ()
-{
- # Find which dvi->pdf program is available.
- if test -z "$dvipdf"; then
- for i in "$DVIPDF" dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf;
- do
- if findprog $i; then
- dvipdf=$i
- fi
- done
- fi
- # These tools have varying interfaces, some 'input output', others
- # 'input -o output'. They all seem to accept 'input' only,
- # outputting using the expected file name.
- run $dvipdf "$1"
- if test ! -f `echo "$1" | sed -e 's/\.dvi$/.pdf/'`; then
- error 1 "$0: cannot find output file"
- fi
-}
-
-# run_tex_suite ()
-# ----------------
-# Run the TeX tools until a fix point is reached.
-run_tex_suite ()
-{
- # Move to the working directory.
- if $tidy; then
- verbose "cd $work_build"
- cd "$work_build" || exit 1
- fi
-
- # Count the number of cycles.
- local cycle=0
-
- while :; do
- cycle=`expr $cycle + 1`
- verbose "Cycle $cycle for $command_line_filename"
-
- xref_files_save
-
- # We run bibtex first, because I can see reasons for the indexes
- # to change after bibtex is run, but I see no reason for the
- # converse.
- run_bibtex
- run_index
- run_core_conversion
-
- xref_files_changed || break
- done
-
- # If we were using thumbpdf and producing PDF, then run thumbpdf
- # and TeX one last time.
- run_thumbpdf
-
- # Install the result if we didn't already (i.e., if the output is
- # dvipdf or ps).
- case $out_lang in
- dvipdf)
- run_dvipdf "$in_noext.`out_lang_tex`"
- move_to_dest "$in_noext.`out_lang_ext`"
- ;;
- ps)
- dvips -o "$in_noext.`out_lang_ext`" "$in_noext.`out_lang_tex`"
- move_to_dest "$in_noext.`out_lang_ext`"
- ;;
- esac
-
- cd_orig
-}
-
-## -------------------------------- ##
-## TeX processing auxiliary tools. ##
-## -------------------------------- ##
-
-
-# A sed script that preprocesses Texinfo sources in order to keep the
-# iftex sections only. We want to remove non TeX sections, and comment
-# (with `@c texi2dvi') TeX sections so that makeinfo does not try to
-# parse them. Nevertheless, while commenting TeX sections, don't
-# comment @macro/@end macro so that makeinfo does propagate them.
-# Unfortunately makeinfo --iftex --no-ifinfo doesn't work well enough
-# (yet), makeinfo can't parse the TeX commands, so work around with sed.
-#
-comment_iftex=\
-'/^@tex/,/^@end tex/{
- s/^/@c texi2dvi/
-}
-/^@iftex/,/^@end iftex/{
- s/^/@c texi2dvi/
- /^@c texi2dvi@macro/,/^@c texi2dvi@end macro/{
- s/^@c texi2dvi//
- }
-}
-/^@ifnottex/,/^@end ifnottex/{
- s/^/@c (texi2dvi)/
-}
-/^@ifinfo/,/^@end ifinfo/{
- /^@node/p
- /^@menu/,/^@end menu/p
- t
- s/^/@c (texi2dvi)/
-}
-s/^@ifnotinfo/@c texi2dvi@ifnotinfo/
-s/^@end ifnotinfo/@c texi2dvi@end ifnotinfo/'
-
-# Uncommenting is simple: Remove any leading `@c texi2dvi'.
-uncomment_iftex='s/^@c texi2dvi//'
-
-
-# run_makeinfo ()
-# ---------------
-# Expand macro commands in the original source file using Makeinfo.
-# Always use `end' footnote style, since the `separate' style
-# generates different output (arguably this is a bug in -E). Discard
-# main info output, the user asked to run TeX, not makeinfo.
-run_makeinfo ()
-{
- test $in_lang = texinfo \
- || return 0
-
- # Unless required by the user, makeinfo expansion is wanted only
- # if texinfo.tex is too old.
- if test "$expand" = t; then
- makeinfo=${MAKEINFO:-makeinfo}
- else
- # Check if texinfo.tex performs macro expansion by looking for
- # its version. The version is a date of the form YEAR-MO-DA.
- # We don't need to use [0-9] to match the digits since anyway
- # the comparison with $txiprereq, a number, will fail with non
- # digits.
- # Run in a temporary directory to avoid leaving files.
- version_test_dir=$t2ddir/version_test
- ensure_dir "$version_test_dir"
- (
- cd "$version_test_dir"
- echo '\input texinfo.tex @bye' >txiversion.tex
- # Be sure that if tex wants to fail, it is not interactive:
- # close stdin.
- $TEX txiversion.tex </dev/null >txiversion.out 2>txiversion.err
- )
- if test $? != 0; then
- cat "$version_test_dir/txiversion.out"
- cat "$version_test_dir/txiversion.err" >&2
- error 1 "texinfo.tex appears to be broken, quitting."
- fi
- eval `sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"`
- verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..."
- if test "$txiprereq" -le "$txiversion" >&6 2>&1; then
- makeinfo=
- else
- makeinfo=${MAKEINFO:-makeinfo}
- fi
- # As long as we had to run TeX, offer the user this convenience:
- if test "$txiformat" = Texinfo; then
- escape=@
- fi
- fi
-
- if test -n "$makeinfo"; then
- # in_src: the file with macros expanded.
- # Use the same basename to generate the same aux file names.
- work_src=$workdir/src
- ensure_dir "$work_src"
- in_src=$work_src/$in_base
- local miincludes
- miincludes=`list_prefix includes -I`
- verbose "Macro-expanding $command_line_filename to $in_src ..."
- # eval $makeinfo because it might be defined as something complex
- # (running missing) and then we end up with things like '"-I"',
- # and "-I" (including the quotes) is not an option name. This
- # happens with gettext 0.14.5, at least.
- sed "$comment_iftex" "$command_line_filename" \
- | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \
- -o /dev/null --macro-expand=- \
- | sed "$uncomment_iftex" >"$in_src"
- # Continue only if everything succeeded.
- if test $? -ne 0 \
- || test ! -r "$in_src"; then
- verbose "Expansion failed, ignored...";
- else
- in_input=$in_src
- fi
- fi
-}
-
-# insert_commands ()
-# ------------------
-# Used most commonly for @finalout, @smallbook, etc.
-insert_commands ()
-{
- local textra_cmd
- case $in_lang in
- latex) textra_cmd=1i;;
- texinfo) textra_cmd='/^@setfilename/a';;
- *) error 1 "internal error, unknown language: $in_lang";;
- esac
-
- if test -n "$textra"; then
- # _xtr. The file with the user's extra commands.
- work_xtr=$workdir/xtr
- in_xtr=$work_xtr/$in_base
- ensure_dir "$work_xtr"
- verbose "Inserting extra commands: $textra"
- sed "$textra_cmd\\
-$textra" "$in_input" >"$in_xtr"
- in_input=$in_xtr
- fi
-}
-
-# run_recode ()
-# -------------
-# If this is a Texinfo file with a specified input encoding, and
-# recode is available, then recode to plain 7 bit Texinfo.
-run_recode ()
-{
- local from
- local to
-
- if test $in_lang = texinfo; then
- pgm='s/^ *@documentencoding *\([^ ][^ ]*\) *$/\1/
- t found
- d
- :found
- q'
- encoding=`sed -e "$pgm" "$in_input"`
- if $recode && test -n "$encoding" && findprog recode; then
- if test -n "$recode_from"; then
- from=$recode_from
- to=$encoding
- else
- from=$encoding
- to=$texinfo
- fi
- verbose "Recoding from $from to $to."
- # _rcd. The Texinfo file recoded in 7bit.
- work_rcd=$workdir/recode
- in_rcd=$work_rcd/$in_base
- ensure_dir "$work_rcd"
- if recode "$encoding..$to" <"$in_input" >"$in_rcd" \
- && test -s "$in_rcd"; then
- in_input=$in_rcd
- else
- verbose "Recoding failed, using original input."
- fi
- fi
- fi
-}
-
-# compute_language FILENAME
-# -------------------------
-# Return the short string describing the language in which FILENAME
-# is written: `texinfo' or `latex'.
-compute_language ()
-{
- # If the user explicitly specified the language, use that.
- # Otherwise, if the first line is \input texinfo, assume it's texinfo.
- # Otherwise, guess from the file extension.
- if test -n "$set_language"; then
- echo $set_language
- elif sed 1q "$1" | grep 'input texinfo' >&6; then
- echo texinfo
- else
- # Get the type of the file (latex or texinfo) from the given language
- # we just guessed, or from the file extension if not set yet.
- case $1 in
- *.ltx | *.tex | *.drv | *.dtx) echo latex;;
- *) echo texinfo;;
- esac
- fi
-}
-
-
-# run_hevea (MODE)
-# ----------------
-# Convert to HTML/INFO/TEXT.
-#
-# Don't pass `-noiso' to hevea: it's useless in HTML since anyway the
-# charset is set to latin1, and troublesome in other modes since
-# accented characters loose their accents.
-#
-# Don't pass `-o DEST' to hevea because in that case it leaves all its
-# auxiliary files there too... Too bad, because it means we will need
-# to handle images some day.
-run_hevea ()
-{
- local hevea="${HEVEA:-hevea}"
- local run_hevea="$hevea"
-
- case $1 in
- html) ;;
- text|info) run_hevea="$run_hevea -$1";;
- *) error 1 "run_hevea: invalid argument: $1";;
- esac
-
- # Compiling to the tmp directory enables to preserve a previous
- # successful compilation.
- run_hevea="$run_hevea -fix -O -o '$out_base'"
- run_hevea="$run_hevea `list_prefix includes -I` -I '$orig_pwd' "
- run_hevea="$run_hevea '$in_input'"
-
- if $debug; then
- run_hevea="$run_hevea -v -v"
- fi
-
- verbose "running $run_hevea"
- if eval "$run_hevea" >&5; then
- # hevea leaves trailing white spaces, this is annoying.
- case $1 in text|info)
- perl -pi -e 's/[ \t]+$//g' "$out_base"*;;
- esac
- case $1 in
- html|text) move_to_dest "$out_base";;
- info) # There can be foo.info-1, foo.info-2 etc.
- move_to_dest "$out_base"*;;
- esac
- else
- error 1 "$hevea exited with bad status, quitting."
- fi
-}
-
-
-# run_core_conversion ()
-# ----------------------
-# Run the TeX (or HeVeA).
-run_core_conversion ()
-{
- case $in_lang:`out_lang_tex` in
- *:dvi|*:pdf)
- run_tex;;
- latex:html|latex:text|latex:info)
- run_hevea $out_lang;;
- *)
- error 1 "invalid input/output combination: $in_lang/$out_lang";;
- esac
-}
-
-
-# compile ()
-# ----------
-# Run the full compilation chain, from pre-processing to installation
-# of the output at its expected location.
-compile ()
-{
- # Source file might include additional sources.
- # We want `.:$orig_pwd' before anything else. (We'll add `.:' later
- # after all other directories have been turned into absolute paths.)
- # `.' goes first to ensure that any old .aux, .cps,
- # etc. files in ${directory} don't get used in preference to fresher
- # files in `.'. Include orig_pwd in case we are in clean build mode, where
- # we've cd'd to a temp directory.
- txincludes=`list_infix includes $path_sep`
- common="$orig_pwd$path_sep$in_dir$path_sep$txincludes$path_sep"
- for var in $tex_envvars; do
- eval val="\$common\$${var}_orig"
- # Convert relative paths to absolute paths, so we can run in another
- # directory (e.g., in clean build mode, or during the macro-support
- # detection). ".:" is added here.
- val=`absolute_filenames "$val"`
- eval $var="\"$val\""
- export $var
- eval verbose \"$var=\'\$${var}\'\"
- done
-
- # --expand
- run_makeinfo
-
- # --command, --texinfo
- insert_commands
-
- # --recode
- run_recode
-
- # Run until a fix point is reached.
- run_tex_suite
-}
-
-
-# remove FILES
-# ------------
-remove ()
-{
- verbose "Removing" "$@"
- rm -rf "$@"
-}
-
-
-# mostly_clean
-# ------------
-# Remove auxiliary files and directories. Changes the current directory.
-mostly_clean ()
-{
- cd_orig
- set X "$t2ddir"
- shift
- $tidy || {
- local log="$work_build/$in_noext.log"
- set X ${1+"$@"} "$log" `generated_files_get "$work_build/$in_noext"`
- shift
- }
- remove ${1+"$@"}
-}
-
-
-# cleanup ()
-# ----------
-# Remove what should be removed according to options.
-# Called at the end of each compilation cycle, and at the end of
-# the script. Changes the current directory.
-cleanup ()
-{
- case $build_mode in
- local) cd_orig; remove "$t2ddir";;
- clean) mostly_clean;;
- tidy) ;;
- esac
-}
-
-
-
-## ---------------------- ##
-## Command line parsing. ##
-## ---------------------- ##
-
-# Push a token among the arguments that will be used to notice when we
-# ended options/arguments parsing.
-# Use "set dummy ...; shift" rather than 'set - ..." because on
-# Solaris set - turns off set -x (but keeps set -e).
-# Use ${1+"$@"} rather than "$@" because Digital Unix and Ultrix 4.3
-# still expand "$@" to a single argument (the empty string) rather
-# than nothing at all.
-arg_sep="$$--$$"
-set dummy ${1+"$@"} "$arg_sep"; shift
-
-#
-# Parse command line arguments.
-while test x"$1" != x"$arg_sep"; do
-
- # Handle --option=value by splitting apart and putting back on argv.
- case "$1" in
- --*=*)
- opt=`echo "$1" | sed -e 's/=.*//'`
- val=`echo "$1" | sed -e 's/[^=]*=//'`
- shift
- set dummy "$opt" "$val" ${1+"$@"}; shift
- ;;
- esac
-
- # This recognizes --quark as --quiet. So what.
- case "$1" in
- -@ ) escape=@;;
- # Silently and without documentation accept -b and --b[atch] as synonyms.
- -b | --batch) batch=true;;
- --build) shift; build_mode=$1;;
- --build-dir) shift; build_dir=$1; build_mode=tidy;;
- -c | --clean) build_mode=clean;;
- -D | --debug) debug=true;;
- --dvi) out_lang=dvi;;
- --dvipdf) out_lang=dvipdf;;
- -e | -E | --expand) expand=t;;
- -h | --help) usage;;
- --html) out_lang=html;;
- -I) shift; list_concat_dirs includes "$1";;
- --info) out_lang=info;;
- -l | --lang | --language) shift; set_language=$1;;
- --mostly-clean) action=mostly-clean;;
- --no-line-error) no_line_error=true;;
- -o | --out | --output)
- shift
- # Make it absolute, just in case we also have --clean, or whatever.
- oname=`absolute "$1"`;;
- -p | --pdf) out_lang=pdf;;
- --ps) out_lang=ps;;
- -q | -s | --quiet | --silent) quiet=true; batch=true;;
- -r | --recode) recode=true;;
- --recode-from) shift; recode=true; recode_from="$1";;
- --src-specials) src_specials=--src-specials;;
- -t | --texinfo | --command ) shift; textra="$textra\\
-"`echo "$1" | sed 's/\\\\/\\\\\\\\/g'`;;
- --text) out_lang=text;;
- --translate-file ) shift; translate_file="$1";;
- --tidy) build_mode=tidy;;
- -v | --vers*) version;;
- -V | --verb*) verb=true;;
- --) # What remains are not options.
- shift
- while test x"$1" != x"$arg_sep"; do
- set dummy ${1+"$@"} "$1"; shift
- shift
- done
- break;;
- -*)
- error 1 "Unknown or ambiguous option \`$1'." \
- "Try \`--help' for more information."
- ;;
- *) set dummy ${1+"$@"} "$1"; shift;;
- esac
- shift
-done
-# Pop the token
-shift
-
-# $tidy: compile in a t2d directory.
-# $clean: remove all the aux files.
-case $build_mode in
- local) clean=false; tidy=false;;
- tidy) clean=false; tidy=true;;
- clean) clean=true; tidy=true;;
- *) error 1 "invalid build mode: $build_mode";;
-esac
-
-# Interpret remaining command line args as filenames.
-case $# in
- 0)
- error 2 "Missing file arguments." "Try \`--help' for more information."
- ;;
- 1) ;;
- *)
- if test -n "$oname"; then
- error 2 "Can't use option \`--output' with more than one argument."
- fi
- ;;
-esac
-
-
-# We can't do much without tex.
-#
-if findprog ${TEX:-tex}; then :; else cat <<EOM
-You don't have a working TeX binary (${TEX:-tex}) installed anywhere in
-your PATH, and texi2dvi cannot proceed without one. If you want to use
-this script, you'll need to install TeX (if you don't have it) or change
-your PATH or TEX environment variable (if you do). See the --help
-output for more details.
-
-For information about obtaining TeX, please see http://www.tug.org. If
-you happen to be using Debian, you can get it with this command:
- apt-get install tetex-bin
-EOM
- exit 1
-fi
-
-
-# We want to use etex (or pdftex) if they are available, and the user
-# didn't explicitly specify. We don't check for elatex and pdfelatex
-# because (as of 2003), the LaTeX team has asked that new distributions
-# use etex by default anyway.
-#
-# End up with the TEX and PDFTEX variables set to what we are going to use.
-if test -z "$TEX"; then
- if findprog etex; then TEX=etex; else TEX=tex; fi
-fi
-#
-if test -z "$PDFTEX"; then
- if findprog pdfetex; then PDFTEX=pdfetex; else PDFTEX=pdftex; fi
-fi
-
-
-# File descriptor usage:
-# 0 standard input
-# 1 standard output (--verbose messages)
-# 2 standard error
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 5 tools output (turned off by --quiet)
-# 6 tracing/debugging (set -x output, etc.)
-
-
-# Main tools' output (TeX, etc.) that TeX users are used to seeing.
-#
-# If quiet, discard, else redirect to the message flow.
-if $quiet; then
- exec 5>/dev/null
-else
- exec 5>&1
-fi
-
-
-# Enable tracing, and auxiliary tools output.
-#
-# Should be used where you'd typically use /dev/null to throw output
-# away. But sometimes it is convenient to see that output (e.g., from
-# a grep) to aid debugging. Especially debugging at distance, via the
-# user.
-if $debug; then
- exec 6>&1
- set -x
-else
- exec 6>/dev/null
-fi
-
-#
-
-# input_file_name_decode
-# ----------------------
-# Decode COMMAND_LINE_FILENAME, and compute:
-# - COMMAND_LINE_FILENAME clean of TeX commands
-# - IN_DIR
-# The directory to the input file, possibly absolute if needed.
-# - IN_DIR_ABS
-# The absolute directory of the input file.
-# - IN_BASE
-# The input file base name (no directory part).
-# - IN_NOEXT
-# The input file name without extensions (nor directory part).
-# - IN_INPUT
-# Defaults to COMMAND_LINE_FILENAME, but might change if the
-# input is preprocessed (recode etc.). With directory, possibly absolute.
-input_file_name_decode ()
-{
- # See if we are run from within AUC-Tex, in which case we are
- # passed `\input{FOO.tex}' or even `\nonstopmode\input{FOO.tex}'.
- case $command_line_filename in
- *\\nonstopmode*)
- batch=true;;
- esac
- case $command_line_filename in
- *\\input{*}*)
- # Let AUC-TeX error parser deal with line numbers.
- line_error=false
- command_line_filename=`\
- expr X"$command_line_filename" : X'.*input{\([^}]*\)}'`
- ;;
- esac
-
- # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex),
- # prepend `./' in order to avoid that the tools take it as an option.
- echo "$command_line_filename" | $EGREP '^(/|[A-z]:/)' >&6 \
- || command_line_filename="./$command_line_filename"
-
- # See if the file exists. If it doesn't we're in trouble since, even
- # though the user may be able to reenter a valid filename at the tex
- # prompt (assuming they're attending the terminal), this script won't
- # be able to find the right xref files and so forth.
- test -r "$command_line_filename" ||
- error 1 "cannot read $command_line_filename, skipping."
-
- # Get the name of the current directory.
- in_dir=`func_dirname "$command_line_filename"`
- in_dir_abs=`absolute "$in_dir"`
- # In a clean build, we `cd', so get an absolute file name.
- if $tidy; then
- in_dir=$in_dir_abs
- fi
-
- # Strip directory part but leave extension.
- in_base=`basename "$command_line_filename"`
- # Strip extension.
- in_noext=`echo "$in_base" | sed 's/\.[^.]*$//'`
-
- # The normalized file name to compile. Must always point to the
- # file to actually compile (in case of recoding, macro-expansion etc.).
- in_input=$in_dir/$in_base
-
-
- # Compute the output file name.
- if test x"$oname" != x; then
- out_name=$oname
- else
- out_name=$in_noext.`out_lang_ext`
- fi
- out_dir=`func_dirname "$out_name"`
- out_dir_abs=`absolute "$out_dir"`
- out_base=`basename "$out_name"`
- out_noext=`echo "$out_base" | sed 's/\.[^.]*$//'`
-}
-
-
-## -------------- ##
-## TeXify files. ##
-## -------------- ##
-
-for command_line_filename
-do
- verbose "Processing $command_line_filename ..."
-
- input_file_name_decode
-
- # `texinfo' or `latex'?
- in_lang=`compute_language "$command_line_filename"`
-
- # An auxiliary directory used for all the auxiliary tasks involved
- # in compiling this document.
- case $build_dir in
- '' | . ) t2ddir=$out_noext.t2d ;;
- *) # Avoid collisions between multiple occurrences of the same
- # file. The sed expression is fragile if the cwd has
- # active characters.
- t2ddir=$build_dir/`echo "$out_dir_abs/$out_noext.t2d" |
- sed "s,^$orig_pwd/,," |
- sed 's,/,!,g'`
- esac
- # Remove it at exit if clean mode.
- trap "cleanup" 0 1 2 15
-
- ensure_dir "$build_dir" "$t2ddir"
-
- # We will change directory, better work with an absolute path...
- t2ddir=`absolute "$t2ddir"`
- # Sometimes there are incompatibilities between auxiliary files for
- # DVI and PDF. The contents can also change whether we work on PDF
- # and/or DVI. So keep separate spaces for each.
- workdir=$t2ddir/`out_lang_tex`
- ensure_dir "$workdir"
-
- # _build. In a tidy build, where the auxiliary files are output.
- if $tidy; then
- work_build=$workdir/build
- else
- work_build=.
- fi
-
- # _bak. Copies of the previous auxiliary files (another round is
- # run if they differ from the new ones).
- work_bak=$workdir/bak
-
- # Make those directories.
- ensure_dir "$work_build" "$work_bak"
-
- case $action in
- compile)
- # Compile the document.
- compile
- cleanup
- ;;
-
- mostly-clean)
- mostly_clean
- ;;
- esac
-done
-
-verbose "done."
-exit 0 # exit successfully, not however we ended the loop.
diff --git a/Master/bin/sparc-solaris/texi2pdf b/Master/bin/sparc-solaris/texi2pdf
deleted file mode 100755
index a030a74ed9f..00000000000
--- a/Master/bin/sparc-solaris/texi2pdf
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-# $Id: texi2pdf,v 1.2 2005/01/28 01:52:04 karl Exp $
-# Written by Thomas Esser. Public domain.
-# Execute texi2dvi --pdf.
-
-test -f /bin/ksh && test -z "$RUNNING_KSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
- && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; }
-unset RUNNING_KSH
-
-test -f /bin/bsh && test -z "$RUNNING_BSH" \
- && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
- && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
-unset RUNNING_BSH
-
-# hack around a bug in zsh:
-test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
-
-texi2dvi --pdf ${1+"$@"}
diff --git a/Master/bin/sparc-solaris/texindex b/Master/bin/sparc-solaris/texindex
deleted file mode 100755
index 6285f3f3a23..00000000000
--- a/Master/bin/sparc-solaris/texindex
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/texloganalyser b/Master/bin/sparc-solaris/texloganalyser
new file mode 120000
index 00000000000..a0dd3486cd7
--- /dev/null
+++ b/Master/bin/sparc-solaris/texloganalyser
@@ -0,0 +1 @@
+../../texmf-dist/scripts/texloganalyser/texloganalyser \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/tftopl b/Master/bin/sparc-solaris/tftopl
index ae109e5cf17..0a492ab55e8 100755
--- a/Master/bin/sparc-solaris/tftopl
+++ b/Master/bin/sparc-solaris/tftopl
Binary files differ
diff --git a/Master/bin/sparc-solaris/tie b/Master/bin/sparc-solaris/tie
index f48d13221fa..cc60bc362f3 100755
--- a/Master/bin/sparc-solaris/tie
+++ b/Master/bin/sparc-solaris/tie
Binary files differ
diff --git a/Master/bin/sparc-solaris/ttf2afm b/Master/bin/sparc-solaris/ttf2afm
index 0eb852a236d..fa2382b421c 100755
--- a/Master/bin/sparc-solaris/ttf2afm
+++ b/Master/bin/sparc-solaris/ttf2afm
Binary files differ
diff --git a/Master/bin/sparc-solaris/ttf2pk b/Master/bin/sparc-solaris/ttf2pk
index cd49d254537..b40c26f9f1b 100755
--- a/Master/bin/sparc-solaris/ttf2pk
+++ b/Master/bin/sparc-solaris/ttf2pk
Binary files differ
diff --git a/Master/bin/sparc-solaris/ttf2tfm b/Master/bin/sparc-solaris/ttf2tfm
index e2d7de51fd9..05aebd53e0e 100755
--- a/Master/bin/sparc-solaris/ttf2tfm
+++ b/Master/bin/sparc-solaris/ttf2tfm
Binary files differ
diff --git a/Master/bin/sparc-solaris/ttfdump b/Master/bin/sparc-solaris/ttfdump
new file mode 100755
index 00000000000..ea3b4c433d7
--- /dev/null
+++ b/Master/bin/sparc-solaris/ttfdump
Binary files differ
diff --git a/Master/bin/sparc-solaris/ttftotype42 b/Master/bin/sparc-solaris/ttftotype42
index 548d747bf6c..5893185a7d6 100755
--- a/Master/bin/sparc-solaris/ttftotype42
+++ b/Master/bin/sparc-solaris/ttftotype42
Binary files differ
diff --git a/Master/bin/sparc-solaris/ulqda b/Master/bin/sparc-solaris/ulqda
new file mode 120000
index 00000000000..8ca9386b37d
--- /dev/null
+++ b/Master/bin/sparc-solaris/ulqda
@@ -0,0 +1 @@
+../../texmf-dist/scripts/ulqda/ulqda.pl \ No newline at end of file
diff --git a/Master/bin/sparc-solaris/updmap b/Master/bin/sparc-solaris/updmap
index e09c817451b..a71378a01bc 100755
--- a/Master/bin/sparc-solaris/updmap
+++ b/Master/bin/sparc-solaris/updmap
@@ -774,7 +774,7 @@ cleanup()
{
rc=$1
$needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { cd / && rm -rf "$tmpdir"; }
+ && { cd $orig_pwd && rm -rf "$tmpdir"; }
(exit $rc); exit $rc
}
@@ -1323,6 +1323,7 @@ main()
link_cmd="ln -s"
copy_cmd="cp"
copy=false
+ orig_pwd=`pwd`
cfgparam=
outputdirparam=
diff --git a/Master/bin/sparc-solaris/vftovp b/Master/bin/sparc-solaris/vftovp
index f820af62878..b2d29d74826 100755
--- a/Master/bin/sparc-solaris/vftovp
+++ b/Master/bin/sparc-solaris/vftovp
Binary files differ
diff --git a/Master/bin/sparc-solaris/vptovf b/Master/bin/sparc-solaris/vptovf
index 167eca7306d..98225a61a73 100755
--- a/Master/bin/sparc-solaris/vptovf
+++ b/Master/bin/sparc-solaris/vptovf
Binary files differ
diff --git a/Master/bin/sparc-solaris/weave b/Master/bin/sparc-solaris/weave
index 21276eeeb0b..cc34cdc6826 100755
--- a/Master/bin/sparc-solaris/weave
+++ b/Master/bin/sparc-solaris/weave
Binary files differ
diff --git a/Master/bin/sparc-solaris/xdvi-motif b/Master/bin/sparc-solaris/xdvi-motif
index 6a546254246..1d5e6aeb510 100755
--- a/Master/bin/sparc-solaris/xdvi-motif
+++ b/Master/bin/sparc-solaris/xdvi-motif
Binary files differ
diff --git a/Master/bin/sparc-solaris/xdvipdfmx b/Master/bin/sparc-solaris/xdvipdfmx
index c8b596c1233..77ee94f1a9d 100755
--- a/Master/bin/sparc-solaris/xdvipdfmx
+++ b/Master/bin/sparc-solaris/xdvipdfmx
Binary files differ
diff --git a/Master/bin/sparc-solaris/xetex b/Master/bin/sparc-solaris/xetex
index eaf12b4cf7c..276a5966d5d 100755
--- a/Master/bin/sparc-solaris/xetex
+++ b/Master/bin/sparc-solaris/xetex
Binary files differ
diff --git a/Master/bin/sparc-solaris/xindy.mem b/Master/bin/sparc-solaris/xindy.mem
index abe5c7a22fe..97ac00eaaa3 100644
--- a/Master/bin/sparc-solaris/xindy.mem
+++ b/Master/bin/sparc-solaris/xindy.mem
Binary files differ
diff --git a/Master/bin/sparc-solaris/xindy.run b/Master/bin/sparc-solaris/xindy.run
index 4c80111fb1c..85ac7d7c0d6 100755
--- a/Master/bin/sparc-solaris/xindy.run
+++ b/Master/bin/sparc-solaris/xindy.run
Binary files differ