From cf88a21d6fd630740e594fe0c7f4a9d18889d559 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 1 Jan 2009 17:59:08 +0000 Subject: cjk 4.8.2 (29dec08) git-svn-id: svn://tug.org/texlive/trunk@11791 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/cjk/contrib/wadalab/DNP.sfd | 42 - .../source/latex/cjk/contrib/wadalab/DNP.txt | 384 -- .../source/latex/cjk/contrib/wadalab/fixwada2.pl | 2 +- .../source/latex/cjk/contrib/wadalab/wadalab.txt | 384 ++ .../source/latex/cjk/texinput/KS/HLaTeX/c63mj.fd | 53 + .../source/latex/cjk/texinput/KS/HLaTeX/c64mj.fd | 53 + .../source/latex/cjk/texinput/KS/HLaTeX/c65mj.fd | 53 + .../source/latex/cjk/utils/Bg5conv/bg5conv.1 | 110 - .../source/latex/cjk/utils/Bg5conv/bg5conv.c | 36 - .../source/latex/cjk/utils/Bg5conv/bg5conv.w | 8 +- .../source/latex/cjk/utils/Bg5conv/bg5latex | 43 - .../source/latex/cjk/utils/Bg5conv/bg5latex.cmd | 2 +- .../source/latex/cjk/utils/Bg5conv/bg5pdflatex | 43 - .../source/latex/cjk/utils/CEFconv/cef5conv.1 | 127 - .../source/latex/cjk/utils/CEFconv/cef5conv.c | 138 - .../source/latex/cjk/utils/CEFconv/cef5conv.w | 8 +- .../source/latex/cjk/utils/CEFconv/cef5latex | 43 - .../source/latex/cjk/utils/CEFconv/cef5ltx.cmd | 4 +- .../source/latex/cjk/utils/CEFconv/cef5pdflatex | 43 - .../source/latex/cjk/utils/CEFconv/cefconv.1 | 117 - .../source/latex/cjk/utils/CEFconv/cefconv.c | 130 - .../source/latex/cjk/utils/CEFconv/cefconv.w | 8 +- .../source/latex/cjk/utils/CEFconv/ceflatex | 43 - .../source/latex/cjk/utils/CEFconv/ceflatex.cmd | 4 +- .../source/latex/cjk/utils/CEFconv/cefpdflatex | 43 - .../source/latex/cjk/utils/CEFconv/cefsconv.1 | 127 - .../source/latex/cjk/utils/CEFconv/cefsconv.c | 138 - .../source/latex/cjk/utils/CEFconv/cefsconv.w | 8 +- .../source/latex/cjk/utils/CEFconv/cefslatex | 43 - .../source/latex/cjk/utils/CEFconv/cefsltx.cmd | 4 +- .../source/latex/cjk/utils/CEFconv/cefspdflatex | 43 - .../source/latex/cjk/utils/SJISconv/sjisconv.1 | 110 - .../source/latex/cjk/utils/SJISconv/sjisconv.c | 36 - .../source/latex/cjk/utils/SJISconv/sjisconv.w | 8 +- .../source/latex/cjk/utils/SJISconv/sjislatex | 43 - .../source/latex/cjk/utils/SJISconv/sjisltx.cmd | 2 +- .../source/latex/cjk/utils/SJISconv/sjispdflatex | 43 - .../source/latex/cjk/utils/cjklatex/cjklatex.c | 290 - .../source/latex/cjk/utils/extconv/bg5+latex | 43 - .../source/latex/cjk/utils/extconv/bg5+pdflatex | 43 - .../source/latex/cjk/utils/extconv/bg5pltx.cmd | 2 +- .../source/latex/cjk/utils/extconv/extconv.1 | 111 - .../source/latex/cjk/utils/extconv/extconv.c | 37 - .../source/latex/cjk/utils/extconv/extconv.w | 8 +- .../source/latex/cjk/utils/extconv/gbklatex | 43 - .../source/latex/cjk/utils/extconv/gbklatex.cmd | 2 +- .../source/latex/cjk/utils/extconv/gbkpdflatex | 43 - .../source/latex/cjk/utils/hbf2gf/Makefile.gnu | 2 +- .../source/latex/cjk/utils/hbf2gf/c-auto.h | 2 +- .../source/latex/cjk/utils/hbf2gf/cfg/README | 10 - .../source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg | 30 - .../source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg | 31 - .../source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg | 27 - .../source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg | 30 - .../source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg | 28 - .../source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg | 27 - .../source/latex/cjk/utils/hbf2gf/config.guess | 1526 ------ .../source/latex/cjk/utils/hbf2gf/config.sub | 1673 ------ .../source/latex/cjk/utils/hbf2gf/configure | 5741 -------------------- .../source/latex/cjk/utils/hbf2gf/configure.ac | 131 - .../source/latex/cjk/utils/hbf2gf/emdir.c | 109 - .../source/latex/cjk/utils/hbf2gf/emdir.h | 25 - .../source/latex/cjk/utils/hbf2gf/emtexdir.c | 405 -- .../source/latex/cjk/utils/hbf2gf/emtexdir.h | 57 - .../texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c | 1589 ------ .../texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h | 215 - .../source/latex/cjk/utils/hbf2gf/hbf2gf.1 | 754 --- .../source/latex/cjk/utils/hbf2gf/hbf2gf.c | 2302 -------- .../source/latex/cjk/utils/hbf2gf/hbf2gf.def | 3 - .../source/latex/cjk/utils/hbf2gf/hbf2gf.w | 2872 ---------- .../source/latex/cjk/utils/hbf2gf/install-sh | 250 - .../source/latex/cjk/utils/hbf2gf/mkinstalldirs | 32 - .../utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff | 63 - .../utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff | 28 - .../utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff | 75 - .../cjk/utils/hbf2gf/scripts/web2c-6.1/README | 1 - .../utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff | 67 - .../utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff | 36 - .../utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff | 72 - .../utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff | 36 - .../utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff | 72 - .../utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff | 36 - .../source/latex/cjk/utils/lisp/cjkspace.el | 2 +- .../source/latex/cjk/utils/lisp/cjktilde.el | 2 +- .../source/latex/cjk/utils/lisp/emacs/cjk-enc.el | 2 +- .../latex/cjk/utils/lisp/mule-2.3/cjk-enc.el | 2 +- .../source/latex/cjk/utils/pyhyphen/pinyin.c | 4 +- .../source/latex/cjk/utils/pyhyphen/pinyin.ldf | 62 - .../source/latex/cjk/utils/pyhyphen/pinyin.tr | 2 +- .../source/latex/cjk/utils/pyhyphen/pyhyph.tex | 6 +- .../source/latex/cjk/utils/pyhyphen/pytest.tex | 51 - .../source/latex/cjk/utils/subfonts/makefdx.pl | 6 +- .../source/latex/cjk/utils/subfonts/subfonts.pe | 13 +- .../source/latex/cjk/utils/thaifont/tools/INSTALL | 337 -- .../source/latex/cjk/utils/thaifont/tools/c90.etx | 2346 -------- .../source/latex/cjk/utils/thaifont/tools/c90.mtx | 42 - .../utils/thaifont/tools/dbtt-old/config.dbtt-old | 1 - .../thaifont/tools/dbtt-old/dbtt-old-alias.etx | 46 - .../thaifont/tools/dbtt-old/dbtt-old-alias.mtx | 36 - .../thaifont/tools/dbtt-old/dbtt-old-alias.tex | 139 - .../thaifont/tools/dbtt-old/dbtt-old.fontinst | 78 - .../cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map | 4 - .../latex/cjk/utils/thaifont/tools/garuda.fontinst | 77 - .../latex/cjk/utils/thaifont/tools/norasi.fontinst | 85 - 113 files changed, 603 insertions(+), 24497 deletions(-) delete mode 100644 Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd delete mode 100644 Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt create mode 100755 Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.txt create mode 100755 Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c63mj.fd create mode 100755 Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c64mj.fd create mode 100755 Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c65mj.fd delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1 delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1 delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1 delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1 delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1 delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1 delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1 delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.ldf delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/garuda.fontinst delete mode 100644 Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst (limited to 'Master/texmf-dist/source/latex/cjk') diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd deleted file mode 100644 index cd279422656..00000000000 --- a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd +++ /dev/null @@ -1,42 +0,0 @@ -# DNP.sfd -# -# subfont numbers for JIS character set in DNP font encoding to be used -# with the CJK package for LaTeX. - -sy 1: 0xA1A1_0xA1FE 101: 0xA2A1_0xA2FE -roma 33: 0xA3A1_0xA3FE -hira 1: 0xA4A1_0xA4FE -kata 1: 0xA5A1_0xA5FE -greek 1: 0xA6A1_0xA6FE -russian 1: 0xA7A1_0xA7FE -keisen 1: 0xA8A1_0xA8FE - -ka 0xB0A1_0xB0FE 0xB1A1_0xB1FE 0xB2A1_0xB2E4 -kb 0xB2E5_0xB2FE 0xB3A1_0xB3FE 0xB4A1_0xB4FE 0xB5A1_0xB5CA -kc 0xB5CB_0xB5FE 0xB6A1_0xB6FE 0xB7A1_0xB7FE 0xB8A1_0xB8B0 -kd 0xB8B1_0xB8FE 0xB9A1_0xB9FE 0xBAA1_0xBAF4 -ke 0xBAF5_0xBAFE 0xBBA1_0xBBFE 0xBCA1_0xBCFE 0xBDA1_0xBDDA -kf 0xBDDB_0xBDFE 0xBEA1_0xBEFE 0xBFA1_0xBFFE 0xC0A1_0xC0C0 -kg 0xC0C1_0xC0FE 0xC1A1_0xC1FE 0xC2A1_0xC2FE 0xC3A1_0xC3A6 -kh 0xC3A7_0xC3FE 0xC4A1_0xC4FE 0xC5A1_0xC5EA -ki 0xC5EB_0xC5FE 0xC6A1_0xC6FE 0xC7A1_0xC7FE 0xC8A1_0xC8D0 -kj 0xC8D1_0xC8FE 0xC9A1_0xC9FE 0xCAA1_0xCAFE 0xCBA1_0xCBB6 -kk 0xCBB7_0xCBFE 0xCCA1_0xCCFE 0xCDA1_0xCDFA -kl 0xCDFB_0xCDFE 0xCEA1_0xCEFE 0xCFA1_0xCFFE - -km 0xD0A1_0xD0FE 0xD1A1_0xD1FE 0xD2A1_0xD2E4 -kn 0xD2E5_0xD2FE 0xD3A1_0xD3FE 0xD4A1_0xD4FE 0xD5A1_0xD5CA -ko 0xD5CB_0xD5FE 0xD6A1_0xD6FE 0xD7A1_0xD7FE 0xD8A1_0xD8B0 -kp 0xD8B1_0xD8FE 0xD9A1_0xD9FE 0xDAA1_0xDAF4 -kq 0xDAF5_0xDAFE 0xDBA1_0xDBFE 0xDCA1_0xDCFE 0xDDA1_0xDDDA -kr 0xDDDB_0xDDFE 0xDEA1_0xDEFE 0xDFA1_0xDFFE 0xE0A1_0xE0C0 -ks 0xE0C1_0xE0FE 0xE1A1_0xE1FE 0xE2A1_0xE2FE 0xE3A1_0xE3A6 -kt 0xE3A7_0xE3FE 0xE4A1_0xE4FE 0xE5A1_0xE5EA -ku 0xE5EB_0xE5FE 0xE6A1_0xE6FE 0xE7A1_0xE7FE 0xE8A1_0xE8D0 -kv 0xE8D1_0xE8FE 0xE9A1_0xE9FE 0xEAA1_0xEAFE 0xEBA1_0xEBB6 -kw 0xEBB7_0xEBFE 0xECA1_0xECFE 0xEDA1_0xEDFA -kx 0xEDFB_0xEDFE 0xEEA1_0xEEFE 0xEFA1_0xEFFE 0xF0A1_0xF0E0 -ky 0xF0E1_0xF0FE 0xF1A1_0xF1FE 0xF2A1_0xF2FE 0xF3A1_0xF3C6 -kz 0xF3C7_0xF3FE 0xF4A1_0xF4FE - -# eof diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt deleted file mode 100644 index e9db5585d4b..00000000000 --- a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt +++ /dev/null @@ -1,384 +0,0 @@ -This file describes how to set up the CJK package with Wadalab postscript -fonts for Japanese under Unix-like operating systems using distributions -based on web2c (teTeX, TeXLive, etc.). - -The printer does not need to have resident Japanese fonts. - - -By Hin-Tak Leung , September 1997. - -Revised November 1998. - -Last revised by Werner Lemberg, July 2006. - -=================== - - -Summary steps -------------- - - 1. Download the CJK package and install it. - - 2. Download and install the Wadalab font bundles for the CJK package from - CTAN. - - 3a. Update `/dvips/psfont.map', or update your `~/.dvipsrc' file. - Use the updmap script if possible. - - 3b. Alternatively, create a `config.wadalab' file. - - 3c. For pdfTeX, update `pdftex.map' (normally handled already by the updmap - script). Omit this step for recent teTeX and TeXLive versions. - - 3d. For dvipdfmx (and dvipdfm), update `dvipdfm.map' (normally handled - already by the updmap script). Omit this step for recent teTeX and - TeXLive versions. - - 4. Run mktexlsr. - - 5. Test it! - - -Details of each step --------------------- - -1. The following files are essential and must be in your $TEXINPUTS path. - - CJK/texinput/: - CJK.enc CJK.sty CJKnumb.sty - CJKulem.sty ruby.sty standard.bdg - standard.chr standard.enc - - CJK/texinput/JIS/: - JIS.cap JIS.cpx JISdnp.enc - c42song.fd EUC-JP.bdg EUC-JP.chr - EUC-JP.enc - - CJK/texinput/UTF8/: - UTF8.bdg UTF8.chr UTF8.enc - c70song.fd - - [Even if you don't use `c42song.fd' and `c70song.fd' these two files - should be here to avoid a strange LaTeX error message if a font shape is - missing.] - - [The EUC-JP files support real EUC-JP with single shift to access - JIS X 0212.] - - And one or more of the following files: - - file name Description - ------------------------------------------------------------------------ - c42goth.fd Gothic JIS X 0208 (level 1,2 kanji), DNP font encoding - c42maru.fd Maru - c42min.fd Mincho - - c52maru.fd Maru JIS X 0212 (level 3 kanji), DNP font encoding - c52min.fd Mincho - - c70goth.fd Gothic JIS X 0208, Unicode font encoding - - c70maru.fd Maru JIS X 0208 + 0212, Unicode font encoding - c70min.fd Mincho - - And finally, `wadalab.map'. - - Also keep `CJK/examples/JIS.tex' for testing. The rest of the CJK files - are not essential for this setup. Usage is documented in - `CJK/examples/JIS.tex' but reading `CJK/doc/CJK.txt' and - `CJK/doc/ruby.txt' is recommended. - - For pseudo vertical typesetting you need the `*.fdx' files accompaning - the above `*.fd' files, together with the `CJKvert.sty' file. - - For using Unicode as the input encoding you should use `CJKutf8.sty'. - -2. The CJK sub font packages of the Wadalab fonts can be found on CTAN in - the directory `fonts/wadalab'. The real TeX font names consist of the - concatenation of the family name with the subfont suffix. Examples: - `dgjkeisen', `mrjkj', `umcj5d'. - - file name TeX font family - DNP Unicode - --------------------------------------------- - gothic-0-13.tar.gz dgj udgj - maru-0-8.tar.gz mrj umrj - maru-1-8.tar.gz mr2j - mincho-0-12.tar.gz dmj udmj [*] - mincho-0-8.tar.gz mcj umcj - mincho-1-8.tar.gz mc2j - - [*] The `udmj' family uses mc2j for glyphs Level 3 Kanji. It doesn't - really fit (mc2j is too thin), but it is still better than having - no Level 3 Kanji at all. - - Installation should be straightforward since the directories in the - font bundles already follow the TDS standard. - -3a. Append `wadalab.map' to `/dvips/config/psfont.map; or, for - non-root users, create a `~/.dvipsrc' file containing this single line: - -========================================================================= -p +/my-home/where_I_want_it/wadalab.map -========================================================================= - - (or add this line to your `~/.dvipsrc' if it already exists) and set - $DVIPSFONTS to the location of the `*.pfb' files. - - teTeX and TeXLive users should do the following instead of the above: - - a) Copy `wadalab.map' into the `/fonts/map/dvips/wadalab' - directory. If you are non-root, create a private TEXMF tree in your - home directory, and copy the file to a similar location in your - private tree. - - Users of older versions of teTeX and TeXLive should use the - directory `/dvips/config' instead. - - b) Add the following line to /web2c/updmap.cfg: - -========================================================================= -Map wadalab.map -========================================================================= - - and call the updmap script to regenerate all program specific map - files. If you are non-root, copy `updmap.cfg' from the main TEXMF - tree to a similar location in your private tree and modify it there. - - Users of older version of teTeX and TeXLive should add `wadalab.map' - to the `extra_modules' variable directly in the updmap script. - -3b. Another solution is to just copy wadalab.map to the location in - step 3a. After creating a file `config.wadalab', containing a single line - -========================================================================= -p +wadalab.map -========================================================================= - - you can use the `-P wadalab' switch while calling dvips. - - The preferred location of `config.wadalab' is `/dvips/wadalab' for - recent teTeX and TeXLive versions, and `/dvips/config' otherwise. - -3c. [This step is optional and should be omitted for recent teTeX and - TeXLive versions.] - - Append `wadalab.map' to `/dvips/config/pdftex.map' so that pdfTeX - can use the Wadalab fonts. The updmap script does this automatically. - -3d. [This step is optional and should be omitted for recent teTeX and - TeXLive versions.] - - Append `wadalab.map' to /dvipdfm/config/dvipdfm.map so that - dvipdfmx (and dvipdfm) can use the Wadalab fonts. The updmap script does - this automatically. - - -4. Run mktexlsr to make your TeX system actually find your font data files. - - -5. Edit CJK/examples/JIS.tex and replace `\begin{CJK*}{JIS}{song}' by - `\begin{CJK*}[dnp]{JIS}{xxx}'; `xxx' can be `min' (for mincho), `goth' - (for gothic), or `maru'. To see the mincho-0-8 font (which is in `light' - series), insert - - \fontseries{l} - \selectfont - - in the CJK environment. All fonts use the poor-man's bold mechanism of - the CJK package. - - Then do the sequence - - latex JIS.tex - dvips JIS.dvi -j -o JIS.ps - - or - - dvips JIS.dvi -j -P wadalab -o JIS.ps - - if you haven't modified `psfonts.map'. The `-j' switch activates partial - font downloading (which usually is the default). - - At this stage running ghostview on `JIS.ps' should display it on screen. - Send `JIS.ps' to a postscript printer or run ghostscript for - non-postscript printers as you wish; and there you have your first - printed Japanese document. Enjoy! - - Note: The level 3 Kanji fonts are generated in a DNP-like encoding also. - A single level 3 Kanji character can be most easily input with - - \CJKchar[JIS2]{}{} , - - provided that you have said - - \CJKfontenc{JIS2}{dnp} - \CJKencfamily{JIS2}{xxx} - - in the preamble of your document to activate dnp font encoding for - the JIS2 encoding in font shape `xxx' (which can be either `maru' - or `min'). - - In case you use Emacs or Mule together with cjk-enc.el (of the CJK - package), JIS X 0212 characters can be displayed directly; they - will be automatically converted into appropriate CJK macros. - - -How the Wadalab fonts have been created ---------------------------------------- - -This section contains a description of the conversion process which -transforms the raw Wadalab PS files into subfonts usable by the CJK package. - -1. The Wadalab PS files are available from the original host - - ftp://ftp.ipl.t.u-tokyo.ac.jp/Font/ - - Alternative locations are CTAN hosts like ftp.dante.de or ftp.tug.org and - its mirrors: - - ftp://ftp.dante.de/pub/tex/support/ghostscript/3rdparty - /fonts/kanji/Font - - Obtain the following files (if you download the files from CTAN, the - final extension is `.gz' instead of `.Z'): - - wadalab-sym.7.tar.Z (symbols + Greek letters, necessary) - - wadalab-mincho-0-12.8.tar.Z (JIS X 0208 level 1,2 kanji) - wadalab-gothic-0-13.5.tar.Z - wadalab-mincho-0-8.4.tar.Z - wadalab-maru-0-8.4.tar.Z - - wadalab-maru-1-8.tar.Z (JIS X 0212 level 3 kanji) - wadalab-mincho-1-8.tar.Z - - tools/wftodm.c (conversion program, c.f. step 2) - - Unpack the font archives in a temporary directory; you should get - subdirectories called `wadalab-sym', `wadalab-mincho-0-12', etc. - - Note: DO NOT read the misleading `readme.ghostscript' document which - accompanies the fonts. - - -2. Patch `wftodm.c' with the following to enable partial font downloading. - You can simply say - - patch < DNP.txt - - to do that. - -========================================================================= ---- wftodm-orig2.c Tue Sep 23 22:45:32 1997 -+++ wftodm.c Sun Jul 30 08:56:43 2006 -@@ -1,6 +1,8 @@ - #include -+#include -+#include - #include --#include -+#include - char *charstrs[34][256]; - int charlens[34][256]; - char *version_str="001.001"; -@@ -157,6 +159,7 @@ - output_afm(i); - } - } -+return 0; - } - output_afm(file) - { -@@ -209,14 +212,13 @@ - fprintf(ofp,"/UnderlineThickness 0 def\n"); - fprintf(ofp,"end readonly def\n"); - fprintf(ofp,"/FontName /%s def\n",fontname); -- fprintf(ofp,"/DmEncoding [\n"); -+ fprintf(ofp,"/Encoding 256 array\n"); -+ fprintf(ofp,"0 1 255 {1 index exch /.notdef put} for\n"); - for(i=0;i<16;i++){ - for(j=0;j<16;j++) -- fprintf(ofp," /c%02X",i*16+j); -- putc('\n',ofp); -+ fprintf(ofp,"dup %d /c%02X put\n",i*16+j,i*16+j); - } -- fprintf(ofp,"] readonly def\n"); -- fprintf(ofp,"/Encoding DmEncoding def\n"); -+ fprintf(ofp,"readonly def\n"); - fprintf(ofp,"/PaintType 0 def\n"); - fprintf(ofp,"/FontType 1 def\n"); - fprintf(ofp,"/FontMatrix [.001 0 0 .001 0 -0.16] readonly def\n"); -========================================================================= - - After compilation with - - cc -O -o wftodm wftodm.c - - use it as follows: - - wftodm -FontBase dg wadalab-sym/jis*.ps wadalab-gothic-0-13/goth-*.ps - wftodm -FontBase dm wadalab-sym/jis*.ps wadalab-mincho-0-12/min-*.ps - wftodm -FontBase mc wadalab-sym/jis*.ps wadalab-mincho-0-8/min-*.ps - wftodm -FontBase mr wadalab-sym/jis*.ps wadalab-maru-0-8/maru-*.ps - wftodm -FontBase mc2 wadalab-mincho-1-8/min*.ps - wftodm -FontBase mr2 wadalab-maru-1-8/maru*.ps - - [Note: The order of the PS files on the command line doesn't matter.] - - You should then get a whole set of {dg,dm,mc,mr}j[*].{afm,pfa} files in - your current directory, with [*]={greek,keisen,roma,russian,sy} coming - from sym-dir, and [*]={hira,kata,ka-kz} from the Kanji fonts. - {mc2,mr2}j[*].{afm,pfa} with [*]={ka-kw} are JIS X 0212 level 3 Kanji - font files. - - Note: `wftodm.c' has been updated in Oct 97; previous versions will fail. - - -3. Run the `makefont' script. It first normalizes the font matrix (to make - the subfonts work with pdfTeX), then it calls afm2tfm on each of the afm - files, and run t1disasm/t1asm (which are part of the t1utils package) on - each of the PFA files to convert them to PFB files which are much - smaller. - - -4. Run the `fixwada2.pl' script to correct the glyph names. This needs the - perl program and the files `DNP.sfd' (from the CJK package), - `JIS0208.TXT', and `JIS0212.TXT' (from ftp.unicode.org, in the `OBSOLETE' - directory). - - perl fixwada2.pl dgj jis0208 - perl fixwada2.pl mrj jis0208 - perl fixwada2.pl mr2j jis0212 - perl fixwada2.pl dmj jis0208 - perl fixwada2.pl mcj jis0208 - perl fixwada2.pl mc2j jis0212 - - -5. Run the `makeuniwada.pl' script -- it needs the same auxiliary files - as `fixwada2.pl' -- to create virtual fonts for Unicode input encoding. - - perl makeuniwada.pl dgj udgj - perl makeuniwada.pl mrj mr2j umrj - perl makeuniwada.pl dmj mc2j udmj - perl makeuniwada.pl mcj mc2j umcj - - -Thanks ------- - - Werner Lemberg for creating CJK and comments to this help - document. - -and - - Joshua Redstone for contribution to non-root - setups. - -Also check out the following variables: $TEXFORMATS, $TEXINPUTS, $TEXFONTS, -$DVIPSFONTS. - - -Please send any suggestions or comments to LEUNG Hin-Tak . - ---- end of DNP.txt --- diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl index 154452141c6..db9c8ce170a 100644 --- a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl +++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl @@ -18,7 +18,7 @@ # MA 02110-1301 USA # This script fixes the Wadalab fonts which have been created with the -# `makefont' script version 1.0 (from CJK 4.8.1), or which have been updated +# `makefont' script version 1.0 (from CJK 4.8.2), or which have been updated # with the `fixwada' script. # # . Make all glyph names compliant to the Adobe Glyph List (AGL) to diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.txt b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.txt new file mode 100755 index 00000000000..0a99fa084b4 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.txt @@ -0,0 +1,384 @@ +This file describes how to set up the CJK package with Wadalab postscript +fonts for Japanese under Unix-like operating systems using distributions +based on web2c (teTeX, TeXLive, etc.). + +The printer does not need to have resident Japanese fonts. + + +By Hin-Tak Leung , September 1997. + +Revised November 1998. + +Last revised by Werner Lemberg, July 2006. + +=================== + + +Summary steps +------------- + + 1. Download the CJK package and install it. + + 2. Download and install the Wadalab font bundles for the CJK package from + CTAN. + + 3a. Update `/dvips/psfont.map', or update your `~/.dvipsrc' file. + Use the updmap script if possible. + + 3b. Alternatively, create a `config.wadalab' file. + + 3c. For pdfTeX, update `pdftex.map' (normally handled already by the updmap + script). Omit this step for recent teTeX and TeXLive versions. + + 3d. For dvipdfmx (and dvipdfm), update `dvipdfm.map' (normally handled + already by the updmap script). Omit this step for recent teTeX and + TeXLive versions. + + 4. Run mktexlsr. + + 5. Test it! + + +Details of each step +-------------------- + +1. The following files are essential and must be in your $TEXINPUTS path. + + CJK/texinput/: + CJK.enc CJK.sty CJKnumb.sty + CJKulem.sty ruby.sty standard.bdg + standard.chr standard.enc + + CJK/texinput/JIS/: + JIS.cap JIS.cpx JISdnp.enc + c42song.fd EUC-JP.bdg EUC-JP.chr + EUC-JP.enc + + CJK/texinput/UTF8/: + UTF8.bdg UTF8.chr UTF8.enc + c70song.fd + + [Even if you don't use `c42song.fd' and `c70song.fd' these two files + should be here to avoid a strange LaTeX error message if a font shape is + missing.] + + [The EUC-JP files support real EUC-JP with single shift to access + JIS X 0212.] + + And one or more of the following files: + + file name Description + ------------------------------------------------------------------------ + c42goth.fd Gothic JIS X 0208 (level 1,2 kanji), DNP font encoding + c42maru.fd Maru + c42min.fd Mincho + + c52maru.fd Maru JIS X 0212 (level 3 kanji), DNP font encoding + c52min.fd Mincho + + c70goth.fd Gothic JIS X 0208, Unicode font encoding + + c70maru.fd Maru JIS X 0208 + 0212, Unicode font encoding + c70min.fd Mincho + + And finally, `wadalab.map'. + + Also keep `CJK/examples/JIS.tex' for testing. The rest of the CJK files + are not essential for this setup. Usage is documented in + `CJK/examples/JIS.tex' but reading `CJK/doc/CJK.txt' and + `CJK/doc/ruby.txt' is recommended. + + For pseudo vertical typesetting you need the `*.fdx' files accompaning + the above `*.fd' files, together with the `CJKvert.sty' file. + + For using Unicode as the input encoding you should use `CJKutf8.sty'. + +2. The CJK sub font packages of the Wadalab fonts can be found on CTAN in + the directory `fonts/wadalab'. The real TeX font names consist of the + concatenation of the family name with the subfont suffix. Examples: + `dgjkeisen', `mrjkj', `umcj5d'. + + file name TeX font family + DNP Unicode + --------------------------------------------- + gothic-0-13.tar.gz dgj udgj + maru-0-8.tar.gz mrj umrj + maru-1-8.tar.gz mr2j + mincho-0-12.tar.gz dmj udmj [*] + mincho-0-8.tar.gz mcj umcj + mincho-1-8.tar.gz mc2j + + [*] The `udmj' family uses mc2j for glyphs Level 3 Kanji. It doesn't + really fit (mc2j is too thin), but it is still better than having + no Level 3 Kanji at all. + + Installation should be straightforward since the directories in the + font bundles already follow the TDS standard. + +3a. Append `wadalab.map' to `/dvips/config/psfont.map; or, for + non-root users, create a `~/.dvipsrc' file containing this single line: + +========================================================================= +p +/my-home/where_I_want_it/wadalab.map +========================================================================= + + (or add this line to your `~/.dvipsrc' if it already exists) and set + $DVIPSFONTS to the location of the `*.pfb' files. + + teTeX and TeXLive users should do the following instead of the above: + + a) Copy `wadalab.map' into the `/fonts/map/dvips/wadalab' + directory. If you are non-root, create a private TEXMF tree in your + home directory, and copy the file to a similar location in your + private tree. + + Users of older versions of teTeX and TeXLive should use the + directory `/dvips/config' instead. + + b) Add the following line to /web2c/updmap.cfg: + +========================================================================= +Map wadalab.map +========================================================================= + + and call the updmap script to regenerate all program specific map + files. If you are non-root, copy `updmap.cfg' from the main TEXMF + tree to a similar location in your private tree and modify it there. + + Users of older version of teTeX and TeXLive should add `wadalab.map' + to the `extra_modules' variable directly in the updmap script. + +3b. Another solution is to just copy wadalab.map to the location in + step 3a. After creating a file `config.wadalab', containing a single line + +========================================================================= +p +wadalab.map +========================================================================= + + you can use the `-P wadalab' switch while calling dvips. + + The preferred location of `config.wadalab' is `/dvips/wadalab' for + recent teTeX and TeXLive versions, and `/dvips/config' otherwise. + +3c. [This step is optional and should be omitted for recent teTeX and + TeXLive versions.] + + Append `wadalab.map' to `/dvips/config/pdftex.map' so that pdfTeX + can use the Wadalab fonts. The updmap script does this automatically. + +3d. [This step is optional and should be omitted for recent teTeX and + TeXLive versions.] + + Append `wadalab.map' to /dvipdfm/config/dvipdfm.map so that + dvipdfmx (and dvipdfm) can use the Wadalab fonts. The updmap script does + this automatically. + + +4. Run mktexlsr to make your TeX system actually find your font data files. + + +5. Edit CJK/examples/JIS.tex and replace `\begin{CJK*}{JIS}{song}' by + `\begin{CJK*}[dnp]{JIS}{xxx}'; `xxx' can be `min' (for mincho), `goth' + (for gothic), or `maru'. To see the mincho-0-8 font (which is in `light' + series), insert + + \fontseries{l} + \selectfont + + in the CJK environment. All fonts use the poor-man's bold mechanism of + the CJK package. + + Then do the sequence + + latex JIS.tex + dvips JIS.dvi -j -o JIS.ps + + or + + dvips JIS.dvi -j -P wadalab -o JIS.ps + + if you haven't modified `psfonts.map'. The `-j' switch activates partial + font downloading (which usually is the default). + + At this stage running ghostview on `JIS.ps' should display it on screen. + Send `JIS.ps' to a postscript printer or run ghostscript for + non-postscript printers as you wish; and there you have your first + printed Japanese document. Enjoy! + + Note: The level 3 Kanji fonts are generated in a DNP-like encoding also. + A single level 3 Kanji character can be most easily input with + + \CJKchar[JIS2]{}{} , + + provided that you have said + + \CJKfontenc{JIS2}{dnp} + \CJKencfamily{JIS2}{xxx} + + in the preamble of your document to activate dnp font encoding for + the JIS2 encoding in font shape `xxx' (which can be either `maru' + or `min'). + + In case you use Emacs or Mule together with cjk-enc.el (of the CJK + package), JIS X 0212 characters can be displayed directly; they + will be automatically converted into appropriate CJK macros. + + +How the Wadalab fonts have been created +--------------------------------------- + +This section contains a description of the conversion process which +transforms the raw Wadalab PS files into subfonts usable by the CJK package. + +1. The Wadalab PS files are available from the original host + + ftp://ftp.ipl.t.u-tokyo.ac.jp/Font/ + + Alternative locations are CTAN hosts like ftp.dante.de or ftp.tug.org and + its mirrors: + + ftp://ftp.dante.de/pub/tex/support/ghostscript/3rdparty + /fonts/kanji/Font + + Obtain the following files (if you download the files from CTAN, the + final extension is `.gz' instead of `.Z'): + + wadalab-sym.7.tar.Z (symbols + Greek letters, necessary) + + wadalab-mincho-0-12.8.tar.Z (JIS X 0208 level 1,2 kanji) + wadalab-gothic-0-13.5.tar.Z + wadalab-mincho-0-8.4.tar.Z + wadalab-maru-0-8.4.tar.Z + + wadalab-maru-1-8.tar.Z (JIS X 0212 level 3 kanji) + wadalab-mincho-1-8.tar.Z + + tools/wftodm.c (conversion program, c.f. step 2) + + Unpack the font archives in a temporary directory; you should get + subdirectories called `wadalab-sym', `wadalab-mincho-0-12', etc. + + Note: DO NOT read the misleading `readme.ghostscript' document which + accompanies the fonts. + + +2. Patch `wftodm.c' with the following to enable partial font downloading. + You can simply say + + patch < wadalab.txt + + to do that. + +========================================================================= +--- wftodm-orig2.c Tue Sep 23 22:45:32 1997 ++++ wftodm.c Sun Jul 30 08:56:43 2006 +@@ -1,6 +1,8 @@ + #include ++#include ++#include + #include +-#include ++#include + char *charstrs[34][256]; + int charlens[34][256]; + char *version_str="001.001"; +@@ -157,6 +159,7 @@ + output_afm(i); + } + } ++return 0; + } + output_afm(file) + { +@@ -209,14 +212,13 @@ + fprintf(ofp,"/UnderlineThickness 0 def\n"); + fprintf(ofp,"end readonly def\n"); + fprintf(ofp,"/FontName /%s def\n",fontname); +- fprintf(ofp,"/DmEncoding [\n"); ++ fprintf(ofp,"/Encoding 256 array\n"); ++ fprintf(ofp,"0 1 255 {1 index exch /.notdef put} for\n"); + for(i=0;i<16;i++){ + for(j=0;j<16;j++) +- fprintf(ofp," /c%02X",i*16+j); +- putc('\n',ofp); ++ fprintf(ofp,"dup %d /c%02X put\n",i*16+j,i*16+j); + } +- fprintf(ofp,"] readonly def\n"); +- fprintf(ofp,"/Encoding DmEncoding def\n"); ++ fprintf(ofp,"readonly def\n"); + fprintf(ofp,"/PaintType 0 def\n"); + fprintf(ofp,"/FontType 1 def\n"); + fprintf(ofp,"/FontMatrix [.001 0 0 .001 0 -0.16] readonly def\n"); +========================================================================= + + After compilation with + + cc -O -o wftodm wftodm.c + + use it as follows: + + wftodm -FontBase dg wadalab-sym/jis*.ps wadalab-gothic-0-13/goth-*.ps + wftodm -FontBase dm wadalab-sym/jis*.ps wadalab-mincho-0-12/min-*.ps + wftodm -FontBase mc wadalab-sym/jis*.ps wadalab-mincho-0-8/min-*.ps + wftodm -FontBase mr wadalab-sym/jis*.ps wadalab-maru-0-8/maru-*.ps + wftodm -FontBase mc2 wadalab-mincho-1-8/min*.ps + wftodm -FontBase mr2 wadalab-maru-1-8/maru*.ps + + [Note: The order of the PS files on the command line doesn't matter.] + + You should then get a whole set of {dg,dm,mc,mr}j[*].{afm,pfa} files in + your current directory, with [*]={greek,keisen,roma,russian,sy} coming + from sym-dir, and [*]={hira,kata,ka-kz} from the Kanji fonts. + {mc2,mr2}j[*].{afm,pfa} with [*]={ka-kw} are JIS X 0212 level 3 Kanji + font files. + + Note: `wftodm.c' has been updated in Oct 97; previous versions will fail. + + +3. Run the `makefont' script. It first normalizes the font matrix (to make + the subfonts work with pdfTeX), then it calls afm2tfm on each of the afm + files, and run t1disasm/t1asm (which are part of the t1utils package) on + each of the PFA files to convert them to PFB files which are much + smaller. + + +4. Run the `fixwada2.pl' script to correct the glyph names. This needs the + perl program and the files `DNP.sfd' (from the CJK package), + `JIS0208.TXT', and `JIS0212.TXT' (from ftp.unicode.org, in the `OBSOLETE' + directory). + + perl fixwada2.pl dgj jis0208 + perl fixwada2.pl mrj jis0208 + perl fixwada2.pl mr2j jis0212 + perl fixwada2.pl dmj jis0208 + perl fixwada2.pl mcj jis0208 + perl fixwada2.pl mc2j jis0212 + + +5. Run the `makeuniwada.pl' script -- it needs the same auxiliary files + as `fixwada2.pl' -- to create virtual fonts for Unicode input encoding. + + perl makeuniwada.pl dgj udgj + perl makeuniwada.pl mrj mr2j umrj + perl makeuniwada.pl dmj mc2j udmj + perl makeuniwada.pl mcj mc2j umcj + + +Thanks +------ + + Werner Lemberg for creating CJK and comments to this help + document. + +and + + Joshua Redstone for contribution to non-root + setups. + +Also check out the following variables: $TEXFORMATS, $TEXINPUTS, $TEXFONTS, +$DVIPSFONTS. + + +Please send any suggestions or comments to LEUNG Hin-Tak . + +---End of wadalab.txt--- diff --git a/Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c63mj.fd b/Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c63mj.fd new file mode 100755 index 00000000000..4e1f2517437 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c63mj.fd @@ -0,0 +1,53 @@ +% This is file c63mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg +% +% Version 4.8.2 (29-Dec-2008) + +\def\fileversion{4.8.2} +\def\filedate{2008/12/29} +\ProvidesFile{c63mj.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C63}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C63}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C63}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C63}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C63}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C63}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C63}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C63}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C63}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C63}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C63}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C63}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C63}{mj}{bc}{n}{<-> CJK * wmjbc}{} +\DeclareFontShape{C63}{mj}{bc}{sl}{<-> CJK * wmjbco}{} +\DeclareFontShape{C63}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C63}{mj}{b}{n}{<-> CJK * wmjb}{} +\DeclareFontShape{C63}{mj}{b}{sl}{<-> CJK * wmjbo}{} +\DeclareFontShape{C63}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C63}{mj}{bx}{n}{<-> CJK * wmjbx}{} +\DeclareFontShape{C63}{mj}{bx}{sl}{<-> CJK * wmjbxo}{} +\DeclareFontShape{C63}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C63}{mj}{bux}{n}{<-> CJK * wmjbu}{} +\DeclareFontShape{C63}{mj}{bux}{sl}{<-> CJK * wmjbuo}{} +\DeclareFontShape{C63}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c64mj.fd b/Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c64mj.fd new file mode 100755 index 00000000000..2ce62b47110 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c64mj.fd @@ -0,0 +1,53 @@ +% This is file c64mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg +% +% Version 4.8.2 (29-Dec-2008) + +\def\fileversion{4.8.2} +\def\filedate{2008/12/29} +\ProvidesFile{c64mj.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C64}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C64}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C64}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C64}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C64}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C64}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C64}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C64}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C64}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C64}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C64}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C64}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C64}{mj}{bc}{n}{<-> CJK * wmjbc}{} +\DeclareFontShape{C64}{mj}{bc}{sl}{<-> CJK * wmjbco}{} +\DeclareFontShape{C64}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C64}{mj}{b}{n}{<-> CJK * wmjb}{} +\DeclareFontShape{C64}{mj}{b}{sl}{<-> CJK * wmjbo}{} +\DeclareFontShape{C64}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C64}{mj}{bx}{n}{<-> CJK * wmjbx}{} +\DeclareFontShape{C64}{mj}{bx}{sl}{<-> CJK * wmjbxo}{} +\DeclareFontShape{C64}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C64}{mj}{bux}{n}{<-> CJK * wmjbu}{} +\DeclareFontShape{C64}{mj}{bux}{sl}{<-> CJK * wmjbuo}{} +\DeclareFontShape{C64}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c65mj.fd b/Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c65mj.fd new file mode 100755 index 00000000000..80068369028 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/texinput/KS/HLaTeX/c65mj.fd @@ -0,0 +1,53 @@ +% This is file c65mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg +% +% Version 4.8.2 (29-Dec-2008) + +\def\fileversion{4.8.2} +\def\filedate{2008/12/29} +\ProvidesFile{c65mj.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C65}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C65}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C65}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C65}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C65}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C65}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C65}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C65}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C65}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C65}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C65}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C65}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C65}{mj}{bc}{n}{<-> CJK * wmjbc}{} +\DeclareFontShape{C65}{mj}{bc}{sl}{<-> CJK * wmjbco}{} +\DeclareFontShape{C65}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C65}{mj}{b}{n}{<-> CJK * wmjb}{} +\DeclareFontShape{C65}{mj}{b}{sl}{<-> CJK * wmjbo}{} +\DeclareFontShape{C65}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C65}{mj}{bx}{n}{<-> CJK * wmjbx}{} +\DeclareFontShape{C65}{mj}{bx}{sl}{<-> CJK * wmjbxo}{} +\DeclareFontShape{C65}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C65}{mj}{bux}{n}{<-> CJK * wmjbu}{} +\DeclareFontShape{C65}{mj}{bux}{sl}{<-> CJK * wmjbuo}{} +\DeclareFontShape{C65}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1 b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1 deleted file mode 100644 index ef9f806e71b..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1 +++ /dev/null @@ -1,110 +0,0 @@ -.\" man page for bg5conv -.\" Copyright (C) 1994-2008 Werner Lemberg -.\" -.\" 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 in doc/COPYING; if not, write to the Free -.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -.\" MA 02110-1301 USA -. -.TH BG5CONV 1 10-Aug-2008 "CJK Version 4.8.1" -. -.\" ==== -.\" ==== macro definitions -.\" ==== -. -.\" here we define \TeX for troff and nroff -.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP -.if n .ds TX TeX -. -.\" and here the same for \LaTeX -.if t \{\ -.ie '\*(.T'dvi' \ -.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX -.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX -.\} -.if n .ds LX LaTeX -. -.\" \LaTeXe -.\" note that we need \vareps for TeX instead of \eps which can only be -.\" accessed with the \N escape sequence (in the Math Italic font) -.if t \{\ -.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' -.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' -.\} -.if n .ds LE LaTeX\ 2e -. -.\" a typewriter font -.if t \{\ -.de C -\fC\\$1\fP\\$2 -.. -.\} -.if n \{\ -.de C -\\$1\\$2 -.. -.\} -. -.\" ==== -.\" ==== end of macro definitions -.\" ==== -. -. -. -.SH NAME -bg5conv \- convert a TeX document in Big\ 5 encoding into `preprocessed' -form. -. -. -.SH SYNOPSIS -.B bg5conv -< -.I infile -> -.I outfile -. -. -.SH DESCRIPTION -Big\ 5 encoding for traditional Chinese uses the characters -.C { , -.C } , -and -.C \e -which have special meanings in \*(TX -documents. -.PP -After processing a \*(LE -document which contains Big\ 5 characters with -.B bg5conv -you need not care about these special characters. -.PP -This filter is part of the -.B CJK -macro package for \*(LE. -. -. -.SH "SEE ALSO" -.BR \%sjisconv (1), -.BR \%cefconv (1), -.BR cef5conv (1), -.BR \%cefsconv (1), -.BR \%extconv (1), -.br -the -.B CJK -documentation files. -. -. -.SH AUTHOR -Werner Lemberg -.C diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c deleted file mode 100644 index 8e0d8bf36a1..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c +++ /dev/null @@ -1,36 +0,0 @@ -#define banner \ -"bg5conv (CJK ver. 4.8.1)" \ - -/*2:*/ -#line 94 "/home/wl/git/cjk/cjk-4.8.1/utils/Bg5conv/bg5conv.w" - -#include -#include - - -int main(argc,argv) -int argc; -char*argv[]; - -{int ch; - -fprintf(stdout,"\\def\\CJKpreproc{%s}",banner); - -ch= fgetc(stdin); - -while(!feof(stdin)) -{if(ch>=0xA1&&ch<=0xFE) -{fprintf(stdout,"\177%c\177",ch); - -ch= fgetc(stdin); -if(!feof(stdin)) -fprintf(stdout,"%d\177",ch); -} -else -fputc(ch,stdout); - -ch= fgetc(stdin); -} -exit(EXIT_SUCCESS); -return 0; -}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w index 5f2b521fcdf..ed6214a42f6 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w +++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w @@ -1,4 +1,4 @@ -% This is the cweb file bg5conv.w of the CJK Package Ver. 4.8.1 10-Aug-2008 +% This is the cweb file bg5conv.w of the CJK Package Ver. 4.8.2 29-Dec-2008 % Copyright (C) 1994-2008 Werner Lemberg % @@ -26,13 +26,13 @@ % output rules (look at the position of braces below!) the author (it's me % too :-) prefer. Otherwise this file will be formatted traditionally. -\def\title{bg5conv (CJK Version 4.8.1)} +\def\title{bg5conv (CJK Version 4.8.2)} \def\topofcontents{ \null\vfill \centerline{\titlefont The {\ttitlefont bg5conv} program} \vskip 20pt - \centerline{(CJK Version 4.8.1)} + \centerline{(CJK Version 4.8.2)} \vfill} \def\botofcontents{ @@ -89,7 +89,7 @@ which will see the output of \.{bg5conv} complains loudly if something is wrong. @d banner -"bg5conv (CJK ver. 4.8.1)" +"bg5conv (CJK ver. 4.8.2)" @c #include diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex deleted file mode 100644 index 30195776a87..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] latex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -bg5conv < "$tex" > "$aux" && eval latex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd index a9456425e30..a4800ee4821 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd +++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd @@ -1,7 +1,7 @@ /*----------------------------------------------------------------------*\ bg5latex.cmd - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 Copyright (C) 1994-2008 Wonkoo Kim diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex deleted file mode 100644 index ae165527569..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] pdflatex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -bg5conv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1 b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1 deleted file mode 100644 index 593c576f1b8..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1 +++ /dev/null @@ -1,127 +0,0 @@ -.\" man page for cef5conv -.\" Copyright (C) 1994-2008 Werner Lemberg -.\" -.\" 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 in doc/COPYING; if not, write to the Free -.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -.\" MA 02110-1301 USA -. -.TH CEF5CONV 1 10-Aug-2008 "CJK Version 4.8.1" -. -.\" ==== -.\" ==== macro definitions -.\" ==== -. -.\" here we define \TeX for troff and nroff -.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP -.if n .ds TX TeX -. -.\" and here the same for \LaTeX -.if t \{\ -.ie '\*(.T'dvi' \ -.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX -.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX -.\} -.if n .ds LX LaTeX -. -.\" \LaTeXe -.\" note that we need \vareps for TeX instead of \eps which can only be -.\" accessed with the \N escape sequence (in the Math Italic font) -.if t \{\ -.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' -.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' -.\} -.if n .ds LE LaTeX\ 2e -. -.\" a typewriter font -.if t \{\ -.de C -\fC\\$1\fP -.. -.\} -.if n \{\ -.de C -\\$1 -.. -.\} -. -.\" ==== -.\" ==== end of macro definitions -.\" ==== -. -. -. -.SH NAME -cef5conv \- convert a TeX document in Big\ 5 encoding containing CEF macros -into `preprocessed' form. -. -. -.SH SYNOPSIS -.B cef5conv -< -.I infile -> -.I outfile -. -. -.SH DESCRIPTION -The -.B Chinese Encoding Framework -.RB ( CEF ) -developed by Christian Wittern -.C -makes it possible to include CJK characters in various encodings using the -SGML macros -.B &CX-aabb; -for Big\ 5 and CNS encoding and -.B &U-aabb; -for Unicode -.RB ( X -denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS -encoding planes 1-7. -.B aabb -is either a decimal or hexadecimal number). -.PP -.B cef5conv -converts the CEF macros of a Big\ 5 encoded document together with the Big\ -5 encoding itself into a form which can directly processed with \*(LE. -It is identical to -.IP -.B bg5conv -< -.I infile -| -.B cefconv -> -.I outfile -.PP -This filter is part of the -.B CJK -macro package for \*(LE. -. -. -.SH "SEE ALSO" -.BR \%sjisconv (1), -.BR bg5conv (1), -.BR \%cefconv (1), -.BR \%cefsconv (1), -.BR \%extconv (1), -.br -the -.B CJK -documentation files. -. -. -.SH AUTHOR -Werner Lemberg -.C diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c deleted file mode 100644 index 975f4247ee0..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c +++ /dev/null @@ -1,138 +0,0 @@ -#define banner \ -"cef5conv (CJK ver. 4.8.1)" \ - -/*2:*/ -#line 108 "/home/wl/git/cjk/cjk-4.8.1/utils/CEFconv/cef5conv.w" - -#include -#include -#include - - -int main(argc,argv) -int argc; -char*argv[]; - -{int ch,i; -unsigned char in[16]; -unsigned char out[32]; -unsigned char*inp,*outp; - -fprintf(stdout,"\\def\\CNSpreproc{%s}",banner); - -ch= fgetc(stdin); - -while(!feof(stdin)) -{if(ch>=0xA1&&ch<=0xFE) -{fprintf(stdout,"\177%c\177",ch); - -ch= fgetc(stdin); -if(!feof(stdin)) -fprintf(stdout,"%d\177",ch); -} -else if(ch=='&') - -{inp= in; -outp= out; -*inp= ch; -*(++inp)= fgetc(stdin); - -if(*inp=='C'&&!feof(stdin)) -{*(++inp)= fgetc(stdin); -if(*inp=='0'&&!feof(stdin)) -{*(outp++)= 'B'; -*(outp++)= 'g'; -*(outp++)= '5'; -} -else if(*inp>='1'&&*inp<='7'&&!feof(stdin)) -{*(outp++)= 'C'; -*(outp++)= 'N'; -*(outp++)= 'S'; -*(outp++)= *inp; -} -else if((*inp=='X'||*inp=='Y')&&!feof(stdin)) -{*(outp++)= 'C'; -*(outp++)= 'E'; -*(outp++)= 'F'; -*(outp++)= *inp; -} -else -goto no_macro; -} -else if(*inp=='U'&&!feof(stdin)) -{*(outp++)= 'U'; -*(outp++)= 'T'; -*(outp++)= 'F'; -*(outp++)= '8'; -} -else -goto no_macro; - -*(++inp)= fgetc(stdin); -if(*inp!='-'||feof(stdin)) -goto no_macro; - -*(outp++)= '\177'; -*(outp++)= '\"'; -*(outp++)= '0'; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(outp++)= '\177'; -*(outp++)= '\177'; -*(outp++)= '\"'; -*(outp++)= '0'; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(outp++)= '\177'; -*outp= '\0'; - -*(++inp)= fgetc(stdin); -if(*inp!=';'||feof(stdin)) -goto no_macro; - -outp= out; -fprintf(stdout,"\17772\177"); -while(*outp) -fputc(*(outp++),stdout); - -ch= fgetc(stdin); -continue; - -no_macro: -ch= *inp; -i= inp-in; -inp= in; -while(i--) -fputc(*(inp++),stdout); -continue; -} -else -fputc(ch,stdout); - -ch= fgetc(stdin); -} -exit(EXIT_SUCCESS); -return 0; -}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w index 1b25ac9866e..f70de15004d 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w @@ -1,4 +1,4 @@ -% This is the cweb file cef5conv.w of the CJK Package Ver. 4.8.1 10-Aug-2008 +% This is the cweb file cef5conv.w of the CJK Package Ver. 4.8.2 29-Dec-2008 % Copyright (C) 1994-2008 Werner Lemberg % @@ -26,13 +26,13 @@ % output rules (look at the position of braces below!) the author (it's me % too :-) prefer. Otherwise this file will be formatted traditionally. -\def\title{cef5conv (CJK Version 4.8.1)} +\def\title{cef5conv (CJK Version 4.8.2)} \def\topofcontents{ \null\vfill \centerline{\titlefont The {\ttitlefont cef5conv} program} \vskip 20pt - \centerline{(CJK Version 4.8.1)} + \centerline{(CJK Version 4.8.2)} \vfill} \def\botofcontents{ @@ -103,7 +103,7 @@ which will see the output of \.{cef5conv} complains loudly if something is wrong. @d banner -"cef5conv (CJK ver. 4.8.1)" +"cef5conv (CJK ver. 4.8.2)" @c #include diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex deleted file mode 100644 index 5e609181030..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] latex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -cef5conv < "$tex" > "$aux" && eval latex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd index 32993bdd0e0..6edd12690ed 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd @@ -1,9 +1,9 @@ /*----------------------------------------------------------------------*\ cef5ltx.cmd - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 Copyright (C) 1994-2008 Wonkoo Kim diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex deleted file mode 100644 index cd1118cd7c3..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] pdflatex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -cef5conv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1 b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1 deleted file mode 100644 index fb5b09be78c..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1 +++ /dev/null @@ -1,117 +0,0 @@ -.\" man page for cefconv -.\" Copyright (C) 1994-2008 Werner Lemberg -.\" -.\" 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 in doc/COPYING; if not, write to the Free -.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -.\" MA 02110-1301 USA -. -.TH CEFCONV 1 10-Aug-2008 "CJK Version 4.8.1" -. -.\" ==== -.\" ==== macro definitions -.\" ==== -. -.\" here we define \TeX for troff and nroff -.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP -.if n .ds TX TeX -. -.\" and here the same for \LaTeX -.if t \{\ -.ie '\*(.T'dvi' \ -.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX -.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX -.\} -.if n .ds LX LaTeX -. -.\" \LaTeXe -.\" note that we need \vareps for TeX instead of \eps which can only be -.\" accessed with the \N escape sequence (in the Math Italic font) -.if t \{\ -.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' -.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' -.\} -.if n .ds LE LaTeX\ 2e -. -.\" a typewriter font -.if t \{\ -.de C -\fC\\$1\fP -.. -.\} -.if n \{\ -.de C -\\$1 -.. -.\} -. -.\" ==== -.\" ==== end of macro definitions -.\" ==== -. -. -. -.SH NAME -cefconv \- convert a TeX document containing CEF macros into `preprocessed' -form. -. -. -.SH SYNOPSIS -.B cefconv -< -.I infile -> -.I outfile -. -. -.SH DESCRIPTION -The -.B Chinese Encoding Framework -.RB ( CEF ) -developed by Christian Wittern -.C -makes it possible to include CJK characters in various encodings using the -SGML macros -.B &CX-aabb; -for Big\ 5 and CNS encoding and -.B &U-aabb; -for Unicode -.RB ( X -denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS -encoding planes 1-7. -.B aabb -is either a decimal or hexadecimal number) -.PP -.B \%cefconv -converts the CEF macros into a form which can directly processed with \*(LE. -.PP -This filter is part of the -.B CJK -macro package for \*(LE. -. -. -.SH "SEE ALSO" -.BR \%sjisconv (1), -.BR bg5conv (1), -.BR cef5conv (1), -.BR \%cefsconv (1), -.BR \%extconv (1), -.br -the -.B CJK -documentation files. -. -. -.SH AUTHOR -Werner Lemberg -.C diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c deleted file mode 100644 index 3dd34579016..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c +++ /dev/null @@ -1,130 +0,0 @@ -#define banner \ -"cefconv (CJK ver. 4.8.1)" \ - -/*2:*/ -#line 100 "/home/wl/git/cjk/cjk-4.8.1/utils/CEFconv/cefconv.w" - -#include -#include -#include - - -int main(argc,argv) -int argc; -char*argv[]; - -{int ch,i; -unsigned char in[16]; -unsigned char out[32]; -unsigned char*inp,*outp; - -fprintf(stdout,"\\def\\CNSpreproc{%s}",banner); - -ch= fgetc(stdin); - -while(!feof(stdin)) -{if(ch=='&') -{inp= in; -outp= out; -*inp= ch; -*(++inp)= fgetc(stdin); - -if(*inp=='C'&&!feof(stdin)) -{*(++inp)= fgetc(stdin); -if(*inp=='0'&&!feof(stdin)) -{*(outp++)= 'B'; -*(outp++)= 'g'; -*(outp++)= '5'; -} -else if(*inp>='1'&&*inp<='7'&&!feof(stdin)) -{*(outp++)= 'C'; -*(outp++)= 'N'; -*(outp++)= 'S'; -*(outp++)= *inp; -} -else if((*inp=='X'||*inp=='Y')&&!feof(stdin)) -{*(outp++)= 'C'; -*(outp++)= 'E'; -*(outp++)= 'F'; -*(outp++)= *inp; -} -else -goto no_macro; -} -else if(*inp=='U'&&!feof(stdin)) -{*(outp++)= 'U'; -*(outp++)= 'T'; -*(outp++)= 'F'; -*(outp++)= '8'; -} -else -goto no_macro; - -*(++inp)= fgetc(stdin); -if(*inp!='-'||feof(stdin)) -goto no_macro; - -*(outp++)= '\177'; -*(outp++)= '\177'; -*(outp++)= '\"'; -*(outp++)= '0'; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(outp++)= '\177'; -*(outp++)= '\"'; -*(outp++)= '0'; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(outp++)= '\177'; -*outp= '\0'; - -*(++inp)= fgetc(stdin); -if(*inp!=';'||feof(stdin)) -goto no_macro; - -outp= out; -fprintf(stdout,"\17772\177"); -while(*outp) -fputc(*(outp++),stdout); - -ch= fgetc(stdin); -continue; - -no_macro: -ch= *inp; -i= inp-in; -inp= in; -while(i--) -fputc(*(inp++),stdout); -continue; -} -else -fputc(ch,stdout); - -ch= fgetc(stdin); -} -exit(EXIT_SUCCESS); -return 0; -}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w index 9a604e01593..07c7fb2854c 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w @@ -1,4 +1,4 @@ -% This is the cweb file cefconv.w of the CJK Package Ver. 4.8.1 10-Aug-2008 +% This is the cweb file cefconv.w of the CJK Package Ver. 4.8.2 29-Dec-2008 % Copyright (C) 1994-2008 Werner Lemberg % @@ -26,13 +26,13 @@ % output rules (look at the position of braces below!) the author (it's me % too :-) prefer. Otherwise this file will be formatted traditionally. -\def\title{cefconv (CJK Version 4.8.1)} +\def\title{cefconv (CJK Version 4.8.2)} \def\topofcontents{ \null\vfill \centerline{\titlefont The {\ttitlefont cefconv} program} \vskip 20pt - \centerline{(CJK Version 4.8.1)} + \centerline{(CJK Version 4.8.2)} \vfill} \def\botofcontents{ @@ -95,7 +95,7 @@ which will see the output of \.{cefconv} complains loudly if something is wrong. @d banner -"cefconv (CJK ver. 4.8.1)" +"cefconv (CJK ver. 4.8.2)" @c #include diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex deleted file mode 100644 index 1b110c613c6..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] latex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -cefconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd index 093fec4cb06..d1f6eed43fc 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd @@ -1,9 +1,9 @@ /*----------------------------------------------------------------------*\ ceflatex.cmd - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 Copyright (C) 1994-2008 Wonkoo Kim diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex deleted file mode 100644 index 706114a8c77..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] pdflatex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -cefconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1 b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1 deleted file mode 100644 index e5d6010e593..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1 +++ /dev/null @@ -1,127 +0,0 @@ -.\" man page for cefsconv -.\" Copyright (C) 1994-2008 Werner Lemberg -.\" -.\" 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 in doc/COPYING; if not, write to the Free -.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -.\" MA 02110-1301 USA -. -.TH CEFSCONV 1 10-Aug-2008 "CJK Version 4.8.1" -. -.\" ==== -.\" ==== macro definitions -.\" ==== -. -.\" here we define \TeX for troff and nroff -.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP -.if n .ds TX TeX -. -.\" and here the same for \LaTeX -.if t \{\ -.ie '\*(.T'dvi' \ -.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX -.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX -.\} -.if n .ds LX LaTeX -. -.\" \LaTeXe -.\" note that we need \vareps for TeX instead of \eps which can only be -.\" accessed with the \N escape sequence (in the Math Italic font) -.if t \{\ -.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' -.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' -.\} -.if n .ds LE LaTeX\ 2e -. -.\" a typewriter font -.if t \{\ -.de C -\fC\\$1\fP -.. -.\} -.if n \{\ -.de C -\\$1 -.. -.\} -. -.\" ==== -.\" ==== end of macro definitions -.\" ==== -. -. -. -.SH NAME -cefsconv \- convert a TeX document in SJIS encoding containing CEF macros -into `preprocessed' form. -. -. -.SH SYNOPSIS -.B cefsconv -< -.I infile -> -.I outfile -. -. -.SH DESCRIPTION -The -.B Chinese Encoding Framework -.RB ( CEF ) -developed by Christian Wittern -.C -makes it possible to include CJK characters in various encodings using the -SGML macros -.B &CX-aabb; -for Big\ 5 and CNS encoding and -.B &U-aabb; -for Unicode -.RB ( X -denotes a number between 0 and 7; 0 represents Big\ 5 encoding, 1-7 CNS -encoding planes 1-7. -.B aabb -is either a decimal or hexadecimal number). -.PP -.B \%cefsconv -converts the CEF macros of a SJIS encoded document together with the SJIS -encoding itself into a form which can directly processed with \*(LE. -It is identical to -.IP -.B sjisconv -< -.I infile -| -.B cefconv -> -.I outfile -.PP -This filter is part of the -.B CJK -macro package for \*(LE. -. -. -.SH "SEE ALSO" -.BR \%sjisconv (1), -.BR bg5conv (1), -.BR \%cefconv (1), -.BR cef5conv (1), -.BR \%extconv (1), -.br -the -.B CJK -documentation files. -. -. -.SH AUTHOR -Werner Lemberg -.C diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c deleted file mode 100644 index a4d1c72f1fc..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c +++ /dev/null @@ -1,138 +0,0 @@ -#define banner \ -"cefsconv (CJK ver. 4.8.1)" \ - -/*2:*/ -#line 108 "/home/wl/git/cjk/cjk-4.8.1/utils/CEFconv/cefsconv.w" - -#include -#include -#include - - -int main(argc,argv) -int argc; -char*argv[]; - -{int ch,i; -unsigned char in[16]; -unsigned char out[32]; -unsigned char*inp,*outp; - -fprintf(stdout,"\\def\\CNSpreproc{%s}",banner); - -ch= fgetc(stdin); - -while(!feof(stdin)) -{if((ch>=0x81&&ch<=0x9F)||(ch>=0xE0&&ch<=0xEF)) -{fprintf(stdout,"\177%c\177",ch); - -ch= fgetc(stdin); -if(!feof(stdin)) -fprintf(stdout,"%d\177",ch); -} -else if(ch=='&') - -{inp= in; -outp= out; -*inp= ch; -*(++inp)= fgetc(stdin); - -if(*inp=='C'&&!feof(stdin)) -{*(++inp)= fgetc(stdin); -if(*inp=='0'&&!feof(stdin)) -{*(outp++)= 'B'; -*(outp++)= 'g'; -*(outp++)= '5'; -} -else if(*inp>='1'&&*inp<='7'&&!feof(stdin)) -{*(outp++)= 'C'; -*(outp++)= 'N'; -*(outp++)= 'S'; -*(outp++)= *inp; -} -else if((*inp=='X'||*inp=='Y')&&!feof(stdin)) -{*(outp++)= 'C'; -*(outp++)= 'E'; -*(outp++)= 'F'; -*(outp++)= *inp; -} -else -goto no_macro; -} -else if(*inp=='U'&&!feof(stdin)) -{*(outp++)= 'U'; -*(outp++)= 'T'; -*(outp++)= 'F'; -*(outp++)= '8'; -} -else -goto no_macro; - -*(++inp)= fgetc(stdin); -if(*inp!='-'||feof(stdin)) -goto no_macro; - -*(outp++)= '\177'; -*(outp++)= '\"'; -*(outp++)= '0'; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(outp++)= '\177'; -*(outp++)= '\177'; -*(outp++)= '\"'; -*(outp++)= '0'; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(++inp)= fgetc(stdin); -if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) -*(outp++)= toupper(*inp); -else -goto no_macro; - -*(outp++)= '\177'; -*outp= '\0'; - -*(++inp)= fgetc(stdin); -if(*inp!=';'||feof(stdin)) -goto no_macro; - -outp= out; -fprintf(stdout,"\17772\177"); -while(*outp) -fputc(*(outp++),stdout); - -ch= fgetc(stdin); -continue; - -no_macro: -ch= *inp; -i= inp-in; -inp= in; -while(i--) -fputc(*(inp++),stdout); -continue; -} -else -fputc(ch,stdout); - -ch= fgetc(stdin); -} -exit(EXIT_SUCCESS); -return 0; -}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w index 15c680e69af..d0c51012915 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w @@ -1,4 +1,4 @@ -% This is the cweb file cefsconv.w of the CJK Package Ver. 4.8.1 10-Aug-2008 +% This is the cweb file cefsconv.w of the CJK Package Ver. 4.8.2 29-Dec-2008 % Copyright (C) 1994-2008 Werner Lemberg % @@ -26,13 +26,13 @@ % output rules (look at the position of braces below!) the author (it's me % too :-) prefer. Otherwise this file will be formatted traditionally. -\def\title{cefsconv (CJK Version 4.8.1)} +\def\title{cefsconv (CJK Version 4.8.2)} \def\topofcontents{ \null\vfill \centerline{\titlefont The {\ttitlefont cefsconv} program} \vskip 20pt - \centerline{(CJK Version 4.8.1)} + \centerline{(CJK Version 4.8.2)} \vfill} \def\botofcontents{ @@ -103,7 +103,7 @@ which will see the output of \.{cefsconv} complains loudly if something is wrong. @d banner -"cefsconv (CJK ver. 4.8.1)" +"cefsconv (CJK ver. 4.8.2)" @c #include diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex deleted file mode 100644 index db2232d98c6..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] latex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -cefsconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd index 1615ef051c0..011732c6ee4 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd @@ -1,9 +1,9 @@ /*----------------------------------------------------------------------*\ cefsltx.cmd - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 Copyright (C) 1994-2008 Wonkoo Kim diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex deleted file mode 100644 index bc99498f4af..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] latex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -cefsconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1 b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1 deleted file mode 100644 index 023faa4ac23..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1 +++ /dev/null @@ -1,110 +0,0 @@ -.\" man page for sjisconv -.\" Copyright (C) 1994-2008 Werner Lemberg -.\" -.\" 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 in doc/COPYING; if not, write to the Free -.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -.\" MA 02110-1301 USA -. -.TH SJISCONV 1 10-Aug-2008 "CJK Version 4.8.1" -. -.\" ==== -.\" ==== macro definitions -.\" ==== -. -.\" here we define \TeX for troff and nroff -.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP -.if n .ds TX TeX -. -.\" and here the same for \LaTeX -.if t \{\ -.ie '\*(.T'dvi' \ -.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX -.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX -.\} -.if n .ds LX LaTeX -. -.\" \LaTeXe -.\" note that we need \vareps for TeX instead of \eps which can only be -.\" accessed with the \N escape sequence (in the Math Italic font) -.if t \{\ -.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' -.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' -.\} -.if n .ds LE LaTeX\ 2e -. -.\" a typewriter font -.if t \{\ -.de C -\fC\\$1\fP\\$2 -.. -.\} -.if n \{\ -.de C -\\$1\\$2 -.. -.\} -. -.\" ==== -.\" ==== end of macro definitions -.\" ==== -. -. -. -.SH NAME -sjisconv \- convert a TeX document in SJIS encoding into `preprocessed' -form. -. -. -.SH SYNOPSIS -.B sjisconv -< -.I infile -> -.I outfile -. -. -.SH DESCRIPTION -SJIS encoding for Japanese uses the characters -.C { , -.C } , -and -.C \e -which have special meanings in \*(TX -documents. -.PP -After processing a \*(LE -document which contains SJIS characters with -.B \%sjisconv -you need not care about these special characters. -.PP -This filter is part of the -.B CJK -macro package for \*(LE. -. -. -.SH "SEE ALSO" -.BR bg5conv (1), -.BR \%cefconv (1), -.BR cef5conv (1), -.BR \%cefsconv (1), -.BR \%extconv (1), -.br -the -.B CJK -documentation files. -. -. -.SH AUTHOR -Werner Lemberg -.C diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c deleted file mode 100644 index 55436fc3cd1..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c +++ /dev/null @@ -1,36 +0,0 @@ -#define banner \ -"sjisconv (CJK ver. 4.8.1)" \ - -/*2:*/ -#line 93 "/home/wl/git/cjk/cjk-4.8.1/utils/SJISconv/sjisconv.w" - -#include -#include - - -int main(argc,argv) -int argc; -char*argv[]; - -{int ch; - -fprintf(stdout,"\\def\\CJKpreproc{%s}",banner); - -ch= fgetc(stdin); - -while(!feof(stdin)) -{if((ch>=0x81&&ch<=0x9F)||(ch>=0xE0&&ch<=0xEF)) -{fprintf(stdout,"\177%c\177",ch); - -ch= fgetc(stdin); -if(!feof(stdin)) -fprintf(stdout,"%d\177",ch); -} -else -fputc(ch,stdout); - -ch= fgetc(stdin); -} -exit(EXIT_SUCCESS); -return 0; -}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w index 7b24b96e44b..4de2e6032c0 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w +++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w @@ -1,4 +1,4 @@ -% This is the cweb file sjisconv.w of the CJK Package Ver. 4.8.1 10-Aug-2008 +% This is the cweb file sjisconv.w of the CJK Package Ver. 4.8.2 29-Dec-2008 % Copyright (C) 1994-2008 Werner Lemberg % @@ -26,13 +26,13 @@ % output rules (look at the position of braces below!) the author (it's me % too :-) prefer. Otherwise this file will be formatted traditionally. -\def\title{sjisconv (CJK Version 4.8.1)} +\def\title{sjisconv (CJK Version 4.8.2)} \def\topofcontents{ \null\vfill \centerline{\titlefont The {\ttitlefont sjisconv} program} \vskip 20pt - \centerline{(CJK Version 4.8.1)} + \centerline{(CJK Version 4.8.2)} \vfill} \def\botofcontents{ @@ -88,7 +88,7 @@ which will see the output of \.{sjisconv} complains loudly if something is wrong. @d banner -"sjisconv (CJK ver. 4.8.1)" +"sjisconv (CJK ver. 4.8.2)" @c #include diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex deleted file mode 100644 index d794a7c7f5e..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] latex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -sjisconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd index da5362c770a..ff8955dfba2 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd +++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd @@ -1,7 +1,7 @@ /*----------------------------------------------------------------------*\ sjisltx.cmd - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 Copyright (C) 1994-2008 Wonkoo Kim diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex deleted file mode 100644 index 50daf343502..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] latex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -sjisconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c b/Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c deleted file mode 100644 index 6750bd4f4d1..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c +++ /dev/null @@ -1,290 +0,0 @@ -/* - Purpose: call latex after preprocessing of the .tex file by - the cjk conversion tool. The old f_name.bat script - is not working anymore. - Author : F. Popineau - Date : <29/06/2001> -*/ - -/* - Copyright (C) 2001-2008 F. Popineau - - 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 in doc/COPYING; if not, write to the Free - Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, - MA 02110-1301 USA -*/ - -#include -#include -#include - -#include -#include -#include - -static char *cjklatex_version_string = "1.0"; - -static const char *usage_str[] = { - "Usage: %s OPTIONS FILE\n", - "Calls `latex' on FILE after conversion by the filter\n", - "specified by OPTIONS.\n", - "--conv=bg5\tfor traditional Chinese, encoding Big 5,\n", - "--conv=bg5p\tfor Chinese, encoding Big 5+,\n", - "--conv=cef\tfor Chinese Encoding Framework, encoding CEF,\n", - "--conv=cef5\tidem CEF, also converts Big5 characters,\n", - "--conv=cefs\tidem CEF, also converts SJIS characters,\n", - "--conv=sjis\tfor Japanese, SJIS encoding,\n", - "--conv=gbk\tfor Chinese, encoding GBK.", - "\nAlternatively, for compatibility with the previous DOS batch files,\n", - "you can also copy this program to any of the following names:\n", - "bg5latex.exe,bg5pltx.exe,cef5ltx.exe,ceflatex.exe,cefsltx.exe,\n", - "gbklatex.exe and sjisltx.exe .\n", - "Then running one of these programs will be identical to specify\n", - "the corresponding option.\n", - "\nAdditional options:\n", - "--verbose\tbe a bit more verbose about what is happening,\n", - "--nocleanup\tdo not remove intermediate files,\n", - "--latex=engine\tuse `engine' instead of `latex' to process the file.\n", - NULL -}; - -static char *progname = NULL; - -static struct _conv_table { - char *progname; - char *processor; -} CJKtable[] = { - { "cjklatex", "" }, - { "bg5latex", "bg5conv" }, - { "bg5pltx", "extconv" }, - { "cef5ltx", "cef5conv" }, - { "ceflatex", "cefconv" }, - { "cefsltx", "cefsconv" }, - { "gbklatex", "extconv" }, - { "sjisltx", "sjisconv" } -}; - -#define PROGRAM_IS(p) FILESTRCASEEQ (p, progname) -#define ARGUMENT_IS(a) STREQ (long_options[option_index].name, a) - -static int program_number = -1; -static int opt_verbose = 0; -static int opt_nocleanup = 0; -static char *texname, *cjkname, *texengine; - -static struct option long_options [] = { - { "debug", 1, 0, 0}, - { "help", 0, 0, 0}, - { "version", 0, 0, 0}, - { "verbose", 0, 0, 0}, - { "nocleanup", 0, 0, 0}, - { "latex", 1, 0, 0}, - { "conv", 1, 0, 0}, - {0, 0, 0, 0} -}; - -BOOL sigint_handler(DWORD dwCtrlType) -{ - /* Fix me : there is a problem if a system() command is running. - We should wait for the son process to be interrupted. - Only way I can think of to do that : rewrite system() based on - spawn() with parsing of the command line and set a global pid - Next cwait(pid) in the HandlerRoutine. - */ - - /* This is not that good, but else we would need to wait for - the child processes to finish ! */ - Sleep(250); - - fprintf(stderr, "Sending Ctrl+Break!\n"); - GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, 0); - - if (! opt_nocleanup) - unlink(cjkname); - - exit(1); - - return FALSE; /* return value obligatory */ -} - -void usage() -{ - int i; - fprintf(stderr, "CJKlatex version %s\n", cjklatex_version_string); - fprintf(stderr,usage_str[0], progname ); - fputs("\n", stderr); - for(i = 1; usage_str[i]; ++i) - fputs(usage_str[i], stderr); -} - -int do_process(char *processor, char *filename) -{ - char *ext, *p; - char cmd[_MAX_PATH*3]; - DWORD dwFA; - int ret; - - if (strlen(filename) > 4 && _strnicmp(filename + strlen(filename) - 4, ".tex", 4) == 0) { - texname = xstrdup(filename); - } - else { - texname = concat(filename, ".tex"); - } - for (p = texname; p && *p; p++) - *p = (*p == '\\' ? '/' : *p); - - dwFA = GetFileAttributes(texname); - if (dwFA == 0xFFFFFFFF || (dwFA & FILE_ATTRIBUTE_DIRECTORY)) { - fprintf(stderr, "%s: %s is an invalid input file.\n", - progname, texname); - ret = 1; - } - else { - cjkname = xstrdup(texname); - ext = strrchr(cjkname, '.'); - assert(ext != NULL); - strcpy(cjkname + (ext - cjkname), ".cjk"); - - sprintf(cmd, "%s < %s > %s", processor, texname, cjkname); - if (opt_verbose) - fprintf(stderr, "%s: running command `%s'.\n", progname, cmd); - ret = system(cmd); - if (ret == 0) { - sprintf(cmd, "%s %s", texengine, cjkname); - if (opt_verbose) - fprintf(stderr, "%s: running command `%s'.\n", progname, cmd); - ret = system(cmd); - if (! opt_nocleanup) - unlink(cjkname); - } - } - - free(texname); - free(cjkname); - - return ret; -} - -void main(int argc, char *argv[]) -{ - int g; /* getopt return code */ - int i; - int option_index; - char *filename; - - if (!progname) - progname = argv[0]; - - kpse_set_program_name (progname, NULL); - progname = kpse_program_name; - - for (i = 0; i < sizeof(CJKtable)/sizeof(CJKtable[0]) && program_number < 0; i++) { - if (STREQ(progname, CJKtable[i].progname) -#if 0 - || (STREQ(progname, CJKtable[i].progname) - && STREQ(progname+strlen(CJKtable[i].progname), ".exe")) -#endif - ) { - program_number = i; - } - } - - if (program_number == -1) { - fprintf(stderr, "%s: this program has been incorrecty copied to the name %s.\n", progname, progname); - usage(); - exit(1); - } - - for(;;) { - g = getopt_long_only (argc, argv, "", long_options, &option_index); - - if (g == EOF) - break; - - if (g == '?') { - usage(); /* Unknown option. */ - exit(1); - } - - /* assert (g == 0); */ /* We have no short option names. */ - /* - FIXME : try 'mktexpk --mfmode --bdpi 600 ...' - */ - if (ARGUMENT_IS ("debug")) { - kpathsea_debug |= atoi (optarg); - } - else if (ARGUMENT_IS ("help")) { - usage(); - exit(0); - } - else if (ARGUMENT_IS ("verbose")) { - opt_verbose = 1; - } - else if (ARGUMENT_IS ("nocleanup")) { - opt_nocleanup = 1; - } - else if (ARGUMENT_IS ("latex")) { - texengine = xstrdup(optarg); - } - else if (ARGUMENT_IS ("version")) { - fprintf(stderr, "%s of %s.\n", progname, cjklatex_version_string); - exit(0); - } - else if (PROGRAM_IS("cjklatex")) { - if (ARGUMENT_IS("conv")) { - for (i = 1; i < sizeof(CJKtable)/sizeof(CJKtable[0]) && program_number <= 0; i++) { - if (STRNEQ(optarg, CJKtable[i].progname, strlen(optarg))) { - program_number = i; - } - } - } - } - } - - /* shifting options from argv[] list */ - for (i = 1; optind < argc; i++, optind++) - argv[i] = argv[optind]; - argv[i] = NULL; - - argc = i; - - if (argc < 2) { - fprintf (stderr, "%s: Missing argument(s).\nTry `%s --help' for more information.\n", progname, kpse_program_name); - exit(1); - } - - if (argc > 2) { - fprintf(stderr, "%s: Extra arguments", progname); - for (i = 2; i < argc; i++) - fprintf (stderr, " \"%s\"", argv[i]); - fprintf (stderr, "\nTry `%s --help' for more information.\n", - kpse_program_name); - exit(1); - } - - SetConsoleCtrlHandler((PHANDLER_ROUTINE)sigint_handler, TRUE); - - filename = xstrdup(argv[1]); - - assert(program_number > 0); - - if (! texengine) { - texengine = xstrdup("latex"); - } - - do_process(CJKtable[program_number].processor, filename); - - free(filename); - free(texengine); -} diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex deleted file mode 100644 index 4136537872e..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] latex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -extconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex deleted file mode 100644 index e28761ef423..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] pdflatex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -extconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd index 57255910636..64b768ee178 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd @@ -1,7 +1,7 @@ /*----------------------------------------------------------------------*\ bg5pltx.cmd - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 Copyright (C) 1994-2008 Wonkoo Kim diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1 b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1 deleted file mode 100644 index eacefde2563..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1 +++ /dev/null @@ -1,111 +0,0 @@ -.\" man page for bg5conv -.\" -.\" Copyright (C) 1994-2008 Werner Lemberg -.\" -.\" 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 in doc/COPYING; if not, write to the Free -.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -.\" MA 02110-1301 USA -. -.TH EXTCONV 1 10-Aug-2008 "CJK Version 4.8.1" -. -.\" ==== -.\" ==== macro definitions -.\" ==== -. -.\" here we define \TeX for troff and nroff -.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP -.if n .ds TX TeX -. -.\" and here the same for \LaTeX -.if t \{\ -.ie '\*(.T'dvi' \ -.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX -.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX -.\} -.if n .ds LX LaTeX -. -.\" \LaTeXe -.\" note that we need \vareps for TeX instead of \eps which can only be -.\" accessed with the \N escape sequence (in the Math Italic font) -.if t \{\ -.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' -.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' -.\} -.if n .ds LE LaTeX\ 2e -. -.\" a typewriter font -.if t \{\ -.de C -\fC\\$1\fP\\$2 -.. -.\} -.if n \{\ -.de C -\\$1\\$2 -.. -.\} -. -.\" ==== -.\" ==== end of macro definitions -.\" ==== -. -. -. -.SH NAME -extconv \- convert a TeX document in either Big\ 5+ or GBK encoding into -`preprocessed' form. -. -. -.SH SYNOPSIS -.B extconv -< -.I infile -> -.I outfile -. -. -.SH DESCRIPTION -Big\ 5+ and GBK encodings use the characters -.C { , -.C } , -and -.C \e -which have special meanings in \*(TX -documents. -.PP -After processing a \*(LE -document which contains such characters with -.B \%extconv -you need not care about these special characters. -.PP -This filter is part of the -.B CJK -macro package for \*(LE. -. -. -.SH "SEE ALSO" -.BR bg5conv (1), -.BR \%sjisconv (1), -.BR \%cefconv (1), -.BR cef5conv (1), -.BR \%cefsconv (1), -.br -the -.B CJK -documentation files. -. -. -.SH AUTHOR -Werner Lemberg -.C diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c deleted file mode 100644 index fe0d2aaf4ec..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c +++ /dev/null @@ -1,37 +0,0 @@ -#define banner \ -"extconv (CJK ver. 4.8.1)" \ - -/*2:*/ -#line 94 "/home/wl/git/cjk/cjk-4.8.1/utils/extconv/extconv.w" - -#include -#include - - -int main(argc,argv) -int argc; -char*argv[]; - -{int ch; - - -fprintf(stdout,"\\def\\CJKpreproc{%s}",banner); - -ch= fgetc(stdin); - -while(!feof(stdin)) -{if(ch>=0x81&&ch<=0xFE) -{fprintf(stdout,"\177%c\177",ch); - -ch= fgetc(stdin); -if(!feof(stdin)) -fprintf(stdout,"%d\177",ch); -} -else -fputc(ch,stdout); - -ch= fgetc(stdin); -} -exit(EXIT_SUCCESS); -return 0; -}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w index a830d65e1d4..adfcc9c7b10 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w @@ -1,4 +1,4 @@ -% This is the cweb file extconv.w of the CJK Package Ver. 4.8.1 10-Aug-2008 +% This is the cweb file extconv.w of the CJK Package Ver. 4.8.2 29-Dec-2008 % Copyright (C) 1994-2008 Werner Lemberg % @@ -26,13 +26,13 @@ % output rules (look at the position of braces below!) the author (it's me % too :-) prefer. Otherwise this file will be formatted traditionally. -\def\title{extconv (CJK Version 4.8.1)} +\def\title{extconv (CJK Version 4.8.2)} \def\topofcontents{ \null\vfill \centerline{\titlefont The {\ttitlefont extconv} program} \vskip 20pt - \centerline{(CJK Version 4.8.1)} + \centerline{(CJK Version 4.8.2)} \vfill} \def\botofcontents{ @@ -89,7 +89,7 @@ which will see the output of \.{extconv} complains loudly if something is wrong. @d banner -"extconv (CJK ver. 4.8.1)" +"extconv (CJK ver. 4.8.2)" @c #include diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex deleted file mode 100644 index 4136537872e..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] latex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -extconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd index c3d1e5a002b..7f19637ade8 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd @@ -1,7 +1,7 @@ /*----------------------------------------------------------------------*\ gbklatex.cmd - This file is part of the CJK macro package for LaTeX2e ver. 4.8.1 + This file is part of the CJK macro package for LaTeX2e ver. 4.8.2 Copyright (C) 1994-2008 Wonkoo Kim diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex deleted file mode 100644 index e28761ef423..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2008 Werner Lemberg -# -# 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 in doc/COPYING; if not, write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301 USA - -n=1 -argv= - -# get last argument -while test 1 -lt $#; do - eval argv$n=\$1 - argv="$argv \"\$argv$n\"" - n=`expr $n + 1` - shift -done - -# replace extension with .cjk or append .cjk if there is no extension -tex=$1 -case $tex in -""|*.cjk) - echo >&2 "Usage: $0 [options] pdflatex-file" - exit 1;; -*) - aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; -esac - -extconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" - -# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu index 203801abebf..6ecf115b5dd 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu @@ -1,4 +1,4 @@ -# This file is part of the CJK package Version 4.8.1 (10-Aug-2008) +# This file is part of the CJK package Version 4.8.2 (29-Dec-2008) # Copyright (C) 1994-2008 Werner Lemberg # diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h index 1be6c01701f..5e589e23426 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h @@ -1,7 +1,7 @@ /* * c-auto.h * - * This file is part of the CJK package ver 4.8.1 10-Aug-2008 + * This file is part of the CJK package ver 4.8.2 29-Dec-2008 * */ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README deleted file mode 100644 index 689d59e7397..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README +++ /dev/null @@ -1,10 +0,0 @@ -In this directory you find some hbf2gf configuration files for common CJK -bitmap fonts. - -No paths are specified for the HBF files -- under web2c you should add the -path for these fonts to the `MISCFONTS' variable in texmf.cnf; under emTeX -you should set the environment variable `HBFONTS'. - -The font paths used here in the config files of this directory are TDS -compliant; only the `HBF_TARGET' environment variable is used (an example -would be `set HBF_TARGET=/usr/local/TeX/texmf/fonts'). diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg deleted file mode 100644 index f5c142f0235..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header ntukai48.hbf -mag_x 1 -threshold 128 -comment Big 5 normal 48x48 pixel font scaled and adapted to 12pt - -design_size 12 - -x_offset 2 -y_offset -12 - -nmb_files -1 - -output_name b5ka12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme Big 5 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/ntu/b5ka12/ -tfm_directory $HBF_TARGET/tfm/ntu/b5ka12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg deleted file mode 100644 index 9d9da2c1a2f..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg +++ /dev/null @@ -1,30 +0,0 @@ - -hbf_header ntukai48.hbf -mag_x 1 -threshold 128 -comment Big 5 normal 48x48 pixel font rotated, scaled and adapted to 12pt - -design_size 12 - -x_offset 2 -y_offset -10 - -rotation yes - -nmb_files -1 - -output_name b5kr12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme Big 5 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/ntu/b5kr12/ -tfm_directory $HBF_TARGET/tfm/ntu/b5kr12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg deleted file mode 100644 index dc0bcd9fbf0..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg +++ /dev/null @@ -1,31 +0,0 @@ - -hbf_header et24.hbf -mag_x 2.076 -threshold 128 -comment fanti songti 24x24 pixel font magnified and adapted for 12pt - -design_size 12.0 - -x_offset 3 -y_offset -8 - -nmb_files -1 - -output_name b5so12 - -checksum 123456789 - -dpi_x 300 - -tfm_files yes -pk_files no - -coding codingscheme Big 5 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/eten/b5so12/ -tfm_directory $HBF_TARGET/tfm/eten/b5so12/ - - rm_command del - cp_command copy - long_extension no - job_extension .cmd diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg deleted file mode 100644 index de5b32b3efc..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header cns40-1.hbf -mag_x 1 -threshold 128 -comment CNS plane 1 song 40x40 pixel font scaled and adapted to 12pt - -design_size 12.0 - -x_offset 2 -y_offset -8 - -nmb_files -1 - -output_name c1so12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme CNS plane 1 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/cns/c1so12/ -tfm_directory $HBF_TARGET/tfm/cns/c1so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg deleted file mode 100644 index 969af8fae14..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header cns40-2.hbf -mag_x 1 -threshold 128 -comment CNS plane 2 song 40x40 pixel font scaled and adapted to 12pt - -design_size 12.0 - -x_offset 2 -y_offset -8 - -nmb_files -1 - -output_name c2so12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme CNS plane 2 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/cns/c2so12/ -tfm_directory $HBF_TARGET/tfm/cns/c2so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg deleted file mode 100644 index 0e65768ee5e..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header cns40-3.hbf -mag_x 1 -threshold 128 -comment CNS plane 3 song 40x40 pixel font scaled and adapted to 12pt - -design_size 12.0 - -x_offset 2 -y_offset -8 - -nmb_files -1 - -output_name c3so12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme CNS plane 3 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/cns/c3so12/ -tfm_directory $HBF_TARGET/tfm/cns/c3so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg deleted file mode 100644 index 8ea3a8b270c..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header cns40-4.hbf -mag_x 1 -threshold 128 -comment CNS plane 4 song 40x40 pixel font scaled and adapted to 12pt - -design_size 12.0 - -x_offset 2 -y_offset -8 - -nmb_files -1 - -output_name c4so12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme CNS plane 4 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/cns/c4so12/ -tfm_directory $HBF_TARGET/tfm/cns/c4so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg deleted file mode 100644 index 1b81c90a0d3..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header cns40-5.hbf -mag_x 1 -threshold 128 -comment CNS plane 5 song 40x40 pixel font scaled and adapted to 12pt - -design_size 12.0 - -x_offset 2 -y_offset -8 - -nmb_files -1 - -output_name c5so12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme CNS plane 5 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/cns/c5so12/ -tfm_directory $HBF_TARGET/tfm/cns/c5so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg deleted file mode 100644 index 5b9c912ce53..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header cns40-6.hbf -mag_x 1 -threshold 128 -comment CNS plane 6 song 40x40 pixel font scaled and adapted to 12pt - -design_size 12.0 - -x_offset 2 -y_offset -8 - -nmb_files -1 - -output_name c6so12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme CNS plane 6 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/cns/c6so12/ -tfm_directory $HBF_TARGET/tfm/cns/c6so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg deleted file mode 100644 index 051b2601426..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header cns40-7.hbf -mag_x 1 -threshold 128 -comment CNS plane 7 song 40x40 pixel font scaled and adapted to 12pt - -design_size 12.0 - -x_offset 2 -y_offset -8 - -nmb_files -1 - -output_name c7so12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme CNS plane 7 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/cns/c7so12/ -tfm_directory $HBF_TARGET/tfm/cns/c7so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg deleted file mode 100644 index 9ad91b0c574..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header cns40-b5.hbf -mag_x 1 -threshold 128 -comment CNS song 40x40 pixel font (Bg5 encoded) scaled and adapted to 12pt - -design_size 12.0 - -x_offset 2 -y_offset -8 - -nmb_files -1 - -output_name csso12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme Big 5 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/cns/csso12/ -tfm_directory $HBF_TARGET/tfm/cns/csso12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg deleted file mode 100644 index 4b397aca464..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg +++ /dev/null @@ -1,27 +0,0 @@ - -hbf_header jfs56.hbf -mag_x 1 -threshold 128 -comment jianti fansongti 56x56 pixel font scaled and adapted to 14.4pt - -design_size 14.4 - -y_offset -13 - -nmb_files -1 - -output_name gsfs14 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme GuoBiao encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/ccdos/gsfs14/ -tfm_directory $HBF_TARGET/tfm/ccdos/gsfs14/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg deleted file mode 100644 index 7e0d70b5c0f..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg +++ /dev/null @@ -1,30 +0,0 @@ - -hbf_header jisksp40.hbf -mag_x 1.0 -threshold 128 -comment supplemental kanji normal 40x40 pixel font scaled and adapted to 12pt - -design_size 12 - -min_char 0x2121 - -x_offset 2 -y_offset -7 - -nmb_files -1 - -output_name j2so12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme JIS2 encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/jisx0212/j2so12/ -tfm_directory $HBF_TARGET/tfm/jisx0212/j2so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg deleted file mode 100644 index 9bdfc7b1e8a..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg +++ /dev/null @@ -1,28 +0,0 @@ - -hbf_header kanji48.hbf -mag_x 0.83 -threshold 128 -comment kanji normal 48x48 pixel font scaled and adapted to 12pt - -design_size 12 - -x_offset 2 -y_offset -7 - -nmb_files -1 - -output_name jsso12 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme JIS encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/jisx0208/jsso12/ -tfm_directory $HBF_TARGET/tfm/jisx0208/jsso12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg deleted file mode 100644 index c82f7e7eee4..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg +++ /dev/null @@ -1,27 +0,0 @@ - -hbf_header hanja65.hbf -mag_x 1 -threshold 128 -comment hanja normal 65x65 pixel font scaled and adapted to 17.28pt - -design_size 17.28 - -y_offset -16 - -nmb_files -1 - -output_name ksso17 - -checksum 123456789 - -dpi_x 300 - -pk_files no -tfm_files yes - - long_extension no - -coding codingscheme KS encoded TeX text - -pk_directory $HBF_TARGET/pk/modeless/ksc5601/ksso17/ -tfm_directory $HBF_TARGET/tfm/ksc5601/ksso17/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess deleted file mode 100644 index c7607c74f1b..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess +++ /dev/null @@ -1,1526 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2008-04-14' - -# This file 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., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[456]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:[3456]*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T | authenticamd) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub deleted file mode 100644 index a649350a6ca..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub +++ /dev/null @@ -1,1673 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2008-06-16' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file 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., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | score \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tile*) - basic_machine=tile-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure deleted file mode 100644 index 8135890028e..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure +++ /dev/null @@ -1,5741 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62. -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - -exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - -ac_unique_file="hbf.h" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -target -target_cpu -target_vendor -target_os -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -CPP -GREP -EGREP -XX_CFLAGS -no_strdup -RM -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -LIBOBJS -LTLIBOBJS' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -with_kpathsea_include -with_kpathsea_lib -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: Working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] - --target=TARGET configure for building compilers for TARGET [HOST] -_ACEOF -fi - -if test -n "$ac_init_help"; then - - cat <<\_ACEOF - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-kpathsea-include=DIR - location of the kpathsea include dir - --with-kpathsea-lib=DIR - location of the kpathsea lib dir - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -configure -generated by GNU Autoconf 2.62 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - cat <<\_ASBOX -## ---------------- ## -## Cache variables. ## -## ---------------- ## -_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - cat <<\_ASBOX -## ----------------- ## -## Output variables. ## -## ----------------- ## -_ASBOX - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} - { (exit 1); exit 1; }; } -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ $as_echo "$as_me:$LINENO: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -$as_echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:$LINENO: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -$as_echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:$LINENO: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if test "${ac_cv_target+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "x$target_alias" = x; then - ac_cv_target=$ac_cv_host -else - ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } -case $ac_cv_target in -*-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 -$as_echo "$as_me: error: invalid value of canonical target" >&2;} - { (exit 1); exit 1; }; };; -esac -target=$ac_cv_target -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_target -shift -target_cpu=$1 -target_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -target_os=$* -IFS=$ac_save_IFS -case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac - - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -test -n "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { (ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # Broken: success on invalid input. -continue -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done -done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - - - -# Check whether --with-kpathsea-include was given. -if test "${with_kpathsea_include+set}" = set; then - withval=$with_kpathsea_include; - if test x$withval = xyes; then - { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-include=includedir" >&5 -$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-include=includedir" >&2;} - else - if test x$withval = xno; then - { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-include=includedir" >&5 -$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-include=includedir" >&2;} - else - kpathsea_include=$withval - fi - fi - -fi - - - - -# Check whether --with-kpathsea-lib was given. -if test "${with_kpathsea_lib+set}" = set; then - withval=$with_kpathsea_lib; - if test x$withval = xyes; then - { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-lib=libdir" >&5 -$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-lib=libdir" >&2;} - else - if test x$withval = xno; then - { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-lib=libdir" >&5 -$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-lib=libdir" >&2;} - else - kpathsea_lib=$withval - fi - fi - -fi - - - -if test -n "$kpathsea_include" -o -n "$kpathsea_lib"; then - LIBS="$LIBS -L$kpathsea_lib" - CPPFLAGS="$CPPFLAGS -I$kpathsea_include -I$srcdir" - - -{ $as_echo "$as_me:$LINENO: checking for kpse_set_program_name in -lkpathsea" >&5 -$as_echo_n "checking for kpse_set_program_name in -lkpathsea... " >&6; } -if test "${ac_cv_lib_kpathsea_kpse_set_program_name+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkpathsea $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char kpse_set_program_name (); -int -main () -{ -return kpse_set_program_name (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_kpathsea_kpse_set_program_name=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_kpathsea_kpse_set_program_name=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_kpathsea_kpse_set_program_name" >&5 -$as_echo "$ac_cv_lib_kpathsea_kpse_set_program_name" >&6; } -if test $ac_cv_lib_kpathsea_kpse_set_program_name = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKPATHSEA 1 -_ACEOF - - LIBS="-lkpathsea $LIBS" - -else - cat >>confdefs.h <<\_ACEOF -#define OLD_KPATHSEA 1 -_ACEOF - -fi - - - -{ $as_echo "$as_me:$LINENO: checking for kpse_init_prog in -lkpathsea" >&5 -$as_echo_n "checking for kpse_init_prog in -lkpathsea... " >&6; } -if test "${ac_cv_lib_kpathsea_kpse_init_prog+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkpathsea $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char kpse_init_prog (); -int -main () -{ -return kpse_init_prog (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_kpathsea_kpse_init_prog=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_kpathsea_kpse_init_prog=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_kpathsea_kpse_init_prog" >&5 -$as_echo "$ac_cv_lib_kpathsea_kpse_init_prog" >&6; } -if test $ac_cv_lib_kpathsea_kpse_init_prog = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKPATHSEA 1 -_ACEOF - - LIBS="-lkpathsea $LIBS" - -else - - { { $as_echo "$as_me:$LINENO: error: Can't find kpathsea library! Use --with-kpathsea-lib option." >&5 -$as_echo "$as_me: error: Can't find kpathsea library! Use --with-kpathsea-lib option." >&2;} - { (exit 1); exit 1; }; } -fi - - - # On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -if test "${ac_cv_header_kpathsea_kpathsea_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for kpathsea/kpathsea.h" >&5 -$as_echo_n "checking for kpathsea/kpathsea.h... " >&6; } -if test "${ac_cv_header_kpathsea_kpathsea_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_kpathsea_h" >&5 -$as_echo "$ac_cv_header_kpathsea_kpathsea_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking kpathsea/kpathsea.h usability" >&5 -$as_echo_n "checking kpathsea/kpathsea.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking kpathsea/kpathsea.h presence" >&5 -$as_echo_n "checking kpathsea/kpathsea.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for kpathsea/kpathsea.h" >&5 -$as_echo_n "checking for kpathsea/kpathsea.h... " >&6; } -if test "${ac_cv_header_kpathsea_kpathsea_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_kpathsea_kpathsea_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_kpathsea_h" >&5 -$as_echo "$ac_cv_header_kpathsea_kpathsea_h" >&6; } - -fi -if test $ac_cv_header_kpathsea_kpathsea_h = yes; then - : -else - cat >>confdefs.h <<\_ACEOF -#define VERY_OLD_KPATHSEA 1 -_ACEOF - -fi - - - - if test "${ac_cv_header_kpathsea_c_auto_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for kpathsea/c-auto.h" >&5 -$as_echo_n "checking for kpathsea/c-auto.h... " >&6; } -if test "${ac_cv_header_kpathsea_c_auto_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_c_auto_h" >&5 -$as_echo "$ac_cv_header_kpathsea_c_auto_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking kpathsea/c-auto.h usability" >&5 -$as_echo_n "checking kpathsea/c-auto.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking kpathsea/c-auto.h presence" >&5 -$as_echo_n "checking kpathsea/c-auto.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: kpathsea/c-auto.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: kpathsea/c-auto.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: kpathsea/c-auto.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: kpathsea/c-auto.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: kpathsea/c-auto.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: kpathsea/c-auto.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: kpathsea/c-auto.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: kpathsea/c-auto.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for kpathsea/c-auto.h" >&5 -$as_echo_n "checking for kpathsea/c-auto.h... " >&6; } -if test "${ac_cv_header_kpathsea_c_auto_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_kpathsea_c_auto_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_c_auto_h" >&5 -$as_echo "$ac_cv_header_kpathsea_c_auto_h" >&6; } - -fi -if test $ac_cv_header_kpathsea_c_auto_h = yes; then - : -else - - { { $as_echo "$as_me:$LINENO: error: Can't find kpathsea include files! Use --with-kpathsea-include option." >&5 -$as_echo "$as_me: error: Can't find kpathsea include files! Use --with-kpathsea-include option." >&2;} - { (exit 1); exit 1; }; } -fi - - -else - CPPFLAGS="$CPPFLAGS -I$srcdir" -fi - - -if test "x$CC" = xgcc; then - XX_CFLAGS="-Wall" -else - case "$host" in - alpha-dec-osf*) - XX_CFLAGS="-std1 -O2 -g3" - ;; - *) - XX_CFLAGS= - ;; - esac -fi - - - -{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_const=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const /**/ -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test "${ac_cv_struct_tm+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_struct_tm=time.h -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_struct_tm=sys/time.h -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -cat >>confdefs.h <<\_ACEOF -#define TM_IN_SYS_TIME 1 -_ACEOF - -fi - - - - -for ac_func in vprintf -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -{ $as_echo "$as_me:$LINENO: checking for _doprnt" >&5 -$as_echo_n "checking for _doprnt... " >&6; } -if test "${ac_cv_func__doprnt+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define _doprnt to an innocuous variant, in case declares _doprnt. - For example, HP-UX 11i declares gettimeofday. */ -#define _doprnt innocuous__doprnt - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char _doprnt (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef _doprnt - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char _doprnt (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub__doprnt || defined __stub____doprnt -choke me -#endif - -int -main () -{ -return _doprnt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func__doprnt=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func__doprnt=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 -$as_echo "$ac_cv_func__doprnt" >&6; } -if test $ac_cv_func__doprnt = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_DOPRNT 1 -_ACEOF - -fi - -fi -done - - - - - - -for ac_func in strdup strstr strtol strtoul -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if test `eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -if test "x$ac_cv_func_strdup" = xno; then - no_strdup=-DNO_STRDUP -fi - - -# Extract the first word of "rm", so it can be a program name with args. -set dummy rm; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RM+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$RM"; then - ac_cv_prog_RM="$RM" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RM="rm" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -RM=$ac_cv_prog_RM -if test -n "$RM"; then - { $as_echo "$as_me:$LINENO: result: $RM" >&5 -$as_echo "$RM" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - -done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - - -if test -z "$kpathsea_include" -a -z "$kpathsea_lib"; then - { $as_echo "$as_me:$LINENO: WARNING: - - hbf2gf will be compiled without file search library support! - For kpathsea support use the --with-kpathsea-lib and - --with-kpathsea-include options. - " >&5 -$as_echo "$as_me: WARNING: - - hbf2gf will be compiled without file search library support! - For kpathsea support use the --with-kpathsea-lib and - --with-kpathsea-include options. - " >&2;} -fi - -ac_config_files="$ac_config_files Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` - - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - -: ${CONFIG_STATUS=./config.status} -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 - -# Save the log message, to keep $[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by $as_me, which was -generated by GNU Autoconf 2.62. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.62, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=' ' -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\).*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\).*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } -_ACEOF - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - - -eval set X " :F $CONFIG_FILES " -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= - -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - ;; - - - - esac - -done # for ac_tag - - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac deleted file mode 100644 index 923da893a73..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac +++ /dev/null @@ -1,131 +0,0 @@ -dnl This file is part of the CJK package ver. 4.8.1 - -dnl Copyright (C) 1994-2008 Werner Lemberg - -dnl This program is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. - -dnl You should have received a copy of the GNU General Public License -dnl along with this program in doc/COPYING; if not, write to the Free -dnl Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -dnl MA 02110-1301 USA - -dnl Process this file with autoconf to produce a configure script. -AC_INIT -AC_CONFIG_SRCDIR([hbf.h]) - - -dnl check host -AC_CANONICAL_TARGET([]) - - -dnl Checks for programs. -AC_PROG_CC - - -dnl Checks for header files. -AC_HEADER_STDC - -AC_ARG_WITH(kpathsea-include, - [ --with-kpathsea-include=DIR - location of the kpathsea include dir],[ - if test x$withval = xyes; then - AC_MSG_WARN(Usage is: --with-kpathsea-include=includedir) - else - if test x$withval = xno; then - AC_MSG_WARN(Usage is: --with-kpathsea-include=includedir) - else - kpathsea_include=$withval - fi - fi -]) - - -dnl Checks for libraries. -AC_ARG_WITH(kpathsea-lib, - [ --with-kpathsea-lib=DIR - location of the kpathsea lib dir],[ - if test x$withval = xyes; then - AC_MSG_WARN(Usage is: --with-kpathsea-lib=libdir) - else - if test x$withval = xno; then - AC_MSG_WARN(Usage is: --with-kpathsea-lib=libdir) - else - kpathsea_lib=$withval - fi - fi -]) - - -if test -n "$kpathsea_include" -o -n "$kpathsea_lib"; then - LIBS="$LIBS -L$kpathsea_lib" - CPPFLAGS="$CPPFLAGS -I$kpathsea_include -I$srcdir" - - dnl the function kpse_set_program_name() is available since kpathsea 3.2 - AC_CHECK_LIB(kpathsea, kpse_set_program_name, , AC_DEFINE(OLD_KPATHSEA)) - - AC_CHECK_LIB(kpathsea, kpse_init_prog, ,[ - AC_MSG_ERROR([Can't find kpathsea library! Use --with-kpathsea-lib option.])]) - - dnl the header file kpathsea.h doesn't exist in kpathsea 2.6 and before - AC_CHECK_HEADER(kpathsea/kpathsea.h, , AC_DEFINE(VERY_OLD_KPATHSEA)) - - AC_CHECK_HEADER(kpathsea/c-auto.h, ,[ - AC_MSG_ERROR([Can't find kpathsea include files! Use --with-kpathsea-include option.])]) -else - CPPFLAGS="$CPPFLAGS -I$srcdir" -fi - - -dnl Get compiler flags right. -if test "x$CC" = xgcc; then - XX_CFLAGS="-Wall" -else - case "$host" in - alpha-dec-osf*) - XX_CFLAGS="-std1 -O2 -g3" - ;; - *) - XX_CFLAGS= - ;; - esac -fi -AC_SUBST(XX_CFLAGS) - - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_STRUCT_TM - - -dnl Checks for library functions. -AC_FUNC_VPRINTF -AC_CHECK_FUNCS(strdup strstr strtol strtoul) - -dnl we need this for hbf.c -if test "x$ac_cv_func_strdup" = xno; then - no_strdup=-DNO_STRDUP -fi -AC_SUBST(no_strdup) - -AC_CHECK_PROG(RM, rm, rm) -AC_PROG_INSTALL - -if test -z "$kpathsea_include" -a -z "$kpathsea_lib"; then - AC_MSG_WARN([ - - hbf2gf will be compiled without file search library support! - For kpathsea support use the --with-kpathsea-lib and - --with-kpathsea-include options. - ]) -fi - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c deleted file mode 100644 index 4e759c83eb2..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c +++ /dev/null @@ -1,109 +0,0 @@ -/* emdir.c -- Written by Eberhard Mattes, donated to the public domain */ - -#include "emdir.h" - -#ifdef OS2 - -#undef HPS -#define INCL_DOSFILEMGR -#include -#include - -#define FHDIR(b) (*(HDIR *)(b)->reserved) - -static void fconv (struct ll_findbuffer *dst, const FILEFINDBUF *src) -{ - dst->attr = src->attrFile; - dst->time = *(unsigned *)&src->ftimeLastWrite; - dst->date = *(unsigned *)&src->fdateLastWrite; - dst->size = src->cbFile; - strcpy (dst->name, src->achName); -} - - -int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer) -{ - USHORT rc; - ULONG count; - HDIR hdir; - FILEFINDBUF ffbuf; - - hdir = HDIR_CREATE; - count = 1; - rc = DosFindFirst ((PSZ)path, &hdir, attr, &ffbuf, sizeof (ffbuf), - &count, 0L); - if (rc != 0 || count != 1) - return 0; - FHDIR (buffer) = hdir; - fconv (buffer, &ffbuf); - return 1; -} - - -int ll_findnext (struct ll_findbuffer *buffer) -{ - USHORT rc; - ULONG count; - HDIR hdir; - FILEFINDBUF ffbuf; - - hdir = FHDIR (buffer); - count = 1; - rc = DosFindNext (hdir, &ffbuf, sizeof (ffbuf), &count); - if (rc != 0 || count != 1) - { - DosFindClose (hdir); - return 0; - } - fconv (buffer, &ffbuf); - return 1; -} - - -#elif defined(DJGPP) - -/* djgpp support by Hartmut Schirmer (hsc@techfak.uni-kiel.de), May 30, 1997 */ - -#include -#include - -static int ll_attr = 0; -int ll_findnext (struct ll_findbuffer *buffer) -{ - int res; - do { - res = _dos_findnext ((struct find_t *)buffer); - if (res != 0) return 0; - } while ( (buffer->attrib&ll_attr) == 0); - return 1; -} - -int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer) -{ - int res; - ll_attr = attr; - res = _dos_findfirst((char *)path, attr, (struct find_t *)buffer); - if (res != 0) return 0; - if ( (buffer->attrib&ll_attr) == 0) - return ll_findnext(buffer); - return 1; -} - -#elif !defined(__EMX__) /* if not OS2 nor DJGPP nor __EMX__ defined */ - -/* Not tested */ - -#include - -int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer) -{ - return _dos_findfirst (path, attr, (struct find_t *)buffer) == 0; -} - - -int ll_findnext (struct ll_findbuffer *buffer) -{ - return _dos_findnext ((struct find_t *)buffer) == 0; -} - -#endif diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h deleted file mode 100644 index 0606d476ab1..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h +++ /dev/null @@ -1,25 +0,0 @@ -/* emdir.h -- Written by Eberhard Mattes, donated to the public domain */ - -#if defined(DJGPP) - -/* djgpp support by Hartmut Schirmer (hsc@techfak.uni-kiel.de), May 30, 1997 */ -#include -#define ll_findbuffer find_t -#define attr attrib - -#else - -struct ll_findbuffer -{ - char reserved[21]; - unsigned char attr; - unsigned time; - unsigned date; - long size; - char name[257]; -}; - -#endif - -int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer); -int ll_findnext (struct ll_findbuffer *buffer); diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c deleted file mode 100644 index 9a35570adb3..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c +++ /dev/null @@ -1,405 +0,0 @@ -/* emtexdir.c -- written by Eberhard Mattes, donated to the public domain */ - -#if defined (__EMX__) -#include -#else -#include "emdir.h" -#endif -#if defined(DJGPP) || defined(GO32) -#include -#endif -#include -#include -#include -#include -#include "emtexdir.h" - -#define FALSE 0 -#define TRUE 1 - -void (*emtex_dir_find_callback)(const char *name, int ok) = NULL; - -static int setup_add (struct emtex_dir *dst, const char *path) -{ - char *p; - - if (dst->used >= dst->alloc) - { - dst->alloc += 8; - dst->list = realloc (dst->list, dst->alloc * sizeof (*dst->list)); - if (dst->list == NULL) - return (FALSE); - } - p = strdup (path); - if (p == NULL) - return (FALSE); - dst->list[dst->used++] = p; - return (TRUE); -} - - -static int setup_subdir (struct emtex_dir *dst, char *path, size_t add, - unsigned flags, int recurse) -{ - int ok, i, end, len; -#if defined (__EMX__) - struct _find find; -#else - struct ll_findbuffer find; -#endif - - i = dst->used; - strcpy (path + add, "*.*"); -#if defined (__EMX__) - ok = __findfirst (path, 0x10, &find) == 0; -#else - ok = ll_findfirst (path, 0x10, &find); -#endif - while (ok) - { - if ((find.attr & 0x10) - && !(strcmp (find.name, ".") == 0 || strcmp (find.name, "..") == 0)) - { - len = strlen (find.name); - memcpy (path + add, find.name, len); - path[add+len] = '\\'; - path[add+len+1] = 0; - if (!setup_add (dst, path)) - return (FALSE); - } -#if defined (__EMX__) - ok = __findnext (&find) == 0; -#else - ok = ll_findnext (&find); -#endif - } - if (recurse) - { - end = dst->used; - while (i < end) - { - strcpy (path, dst->list[i]); - if (!setup_subdir (dst, path, strlen (path), flags, TRUE)) - return (FALSE); - ++i; - } - } - return (TRUE); -} - - -static int setup_dir (struct emtex_dir *dst, char *path, - const char *base_dir, size_t base_dir_len, - const char *sub_dir, - unsigned flags) -{ - size_t i, len; - - memcpy (path, base_dir, base_dir_len); - i = base_dir_len; - if ((flags & EDS_BANG) && sub_dir == NULL) - { - flags &= ~(EDS_ONESUBDIR|EDS_ALLSUBDIR); - if (i >= 2 && path[i-1] == '!' && path[i-2] == '!') - { - flags |= EDS_ALLSUBDIR; - i -= 2; - } - else if (i >= 1 && path[i-1] == '!') - { - flags |= EDS_ONESUBDIR; - --i; - } - } - if (sub_dir != NULL && *sub_dir != 0) - { - if (i != 0 && path[i-1] != ':' && path[i-1] != '/' && path[i-1] != '\\') - path[i++] = '\\'; - len = strlen (sub_dir); - memcpy (path+i, sub_dir, len); - i += len; - } - if (path[i-1] != ':' && path[i-1] != '/' && path[i-1] != '\\') - path[i++] = '\\'; - path[i] = 0; - if (!setup_add (dst, path)) - return (FALSE); - if (flags & EDS_ALLSUBDIR) - return (setup_subdir (dst, path, i, flags, TRUE)); - else if (flags & EDS_ONESUBDIR) - return (setup_subdir (dst, path, i, flags, FALSE)); - else - return (TRUE); -} - - -/*static */int setup_list (struct emtex_dir *dst, char *path, - const char *list, unsigned flags) -{ - const char *end; - size_t i; - - for (;;) - { - while (*list == ' ' || *list == '\t') - ++list; - if (*list == 0) - return (TRUE); - end = list; - while (*end != 0 && *end != ';') - ++end; - i = end - list; - while (i > 0 && (list[i-1] == ' ' || list[i-1] == '\t')) - --i; - if (i != 0 && !setup_dir (dst, path, list, i, NULL, flags)) - return (FALSE); - if (*end == 0) - return (TRUE); - list = end + 1; - } -} - - -int emtex_dir_setup (struct emtex_dir *ed, const char *env, const char *dir, - unsigned flags) -{ - const char *val; - char path[260]; - - ed->alloc = 0; - ed->used = 0; - ed->list = NULL; - if (env != NULL && (val = getenv (env)) != NULL) - return (setup_list (ed, path, val, flags)); - else if ((val = getenv ("EMTEXDIR")) != NULL) - return (setup_dir (ed, path, val, strlen (val), dir, flags)); - else - return (setup_dir (ed, path, "\\emtex", 6, dir, flags)); -} - - -static void pretty (char *path, unsigned flags) -{ - char *p; - - if (flags & EDF_FSLASH) - for (p = path; *p != 0; ++p) - if (*p == '\\') - *p = '/'; -} - - -#define ADDCHAR(C) \ - if (dst_size < 1) return (EDT_TOOLONG); \ - *dst++ = (C); --dst_size - -int emtex_dir_trunc (char *dst, size_t dst_size, const char *src, - unsigned flags, int method) -{ - int len, truncated, dot; - - if (src[0] != 0 && src[1] == ':') - { - ADDCHAR (src[0]); - ADDCHAR (src[1]); - src += 2; - } - - truncated = FALSE; dot = FALSE; len = 0; - for (;;) - { - switch (*src) - { - case 0: - ADDCHAR (0); - return (truncated ? EDT_CHANGED : EDT_UNCHANGED); - - case ':': - return (EDT_INVALID); - - case '/': - case '\\': - ADDCHAR (*src); - len = 0; dot = FALSE; - break; - - case '.': - if (dot) - return (EDT_INVALID); - ADDCHAR (*src); - - /* ".." is allowed -- don't return EDT_INVALID for the next - dot. */ - - if (!(len == 0 && src[1] == '.' - && (src[2] == 0 || src[2] == '/' || src[2] == '\\'))) - { - len = 0; dot = TRUE; - } - break; - - default: - if (dot && len == 3) - truncated = TRUE; - else if (!dot && len == 8) - { - truncated = TRUE; - if (method == 0) - { - dst[-3] = dst[-2]; - dst[-2] = dst[-1]; - dst[-1] = *src; - } - } - else - { - ADDCHAR (*src); - ++len; - } - break; - } - ++src; - } -} - - -static int find2 (const char *name, unsigned flags) -{ - int ok; - - ok = (access (name, 4) == 0); - if (flags & EDF_TRACE) - emtex_dir_find_callback (name, ok); - return (ok); -} - - -static int find1 (char *path, size_t path_size, const char *dir, - const char *fname, unsigned flags) -{ - char buf[260]; - int method, rc; - size_t len, tmp; - - len = 0; - if (dir != NULL) - { - tmp = strlen (dir); - if (tmp >= sizeof (buf)) - return (FALSE); - memcpy (buf, dir, tmp); - len = tmp; - } - tmp = strlen (fname); - if (len + tmp >= sizeof (buf)) - return (FALSE); - memcpy (buf + len, fname, tmp + 1); - len += tmp; -#if 0 /* wkim */ -/* disabled for Win95's long file name support */ -/* -- Wonkoo Kim (wkim+@pitt.edu), May 18, 1997 */ - if (_osmode == DOS_MODE) - { - rc = emtex_dir_trunc (path, path_size, buf, flags, EDT_5_PLUS_3); - if ((rc == EDT_UNCHANGED || rc == EDT_CHANGED) && find2 (path, flags)) - { - pretty (path, flags); - return (TRUE); - } - rc = emtex_dir_trunc (path, path_size, buf, flags, EDT_8); - if (rc == EDT_CHANGED && find2 (path, flags)) - { - pretty (path, flags); - return (TRUE); - } - return (FALSE); - } - else -#endif /* wkim */ - { - if (len < path_size && find2 (buf, flags)) - { - memcpy (path, buf, len + 1); - pretty (path, flags); - return (TRUE); - } - for (method = 0; method < 2; ++method) - { - rc = emtex_dir_trunc (path, path_size, buf, flags, method); - if (rc == EDT_CHANGED && find2 (path, flags)) - { - pretty (path, flags); - return (TRUE); - } - } - return (FALSE); - } -} - - -int emtex_dir_find (char *path, size_t path_size, - const struct emtex_dir *ed, - const char *fname, unsigned flags) -{ - int i, absp; - const char *p; - - absp = FALSE; - for (p = fname; *p != 0; ++p) - if (*p == ':' || *p == '/' || *p == '\\') - { - absp = TRUE; - break; - } - - if (absp) - return (find1 (path, path_size, NULL, fname, flags)); - - if ((flags & EDF_CWD) && find1 (path, path_size, NULL, fname, flags)) - return (TRUE); - - for (i = 0; i < ed->used; ++i) - if (find1 (path, path_size, ed->list[i], fname, flags)) - return (TRUE); - return (FALSE); -} - - -#if defined (TEST) - -#include - -int main (int argc, char *argv[]) -{ - struct emtex_dir ed; - int i; - unsigned flags1, flags2; - char path[260]; - - if (argc != 6) - { - puts ("Usage: emtexdir "); - return (1); - } - - flags1 = (unsigned)strtol (argv[1], NULL, 0); - flags2 = (unsigned)strtol (argv[2], NULL, 0); - - if (!emtex_dir_setup (&ed, argv[3], argv[4], flags1)) - { - fputs ("emtex_dir_setup failed\n", stderr); - return (2); - } - - printf ("Directories:\n"); - for (i = 0; i < ed.used; ++i) - printf (" %s\n", ed.list[i]); - - if (!emtex_dir_find (path, sizeof (path), &ed, argv[5], flags2)) - puts ("File not found"); - else - printf ("Path: %s\n", path); - return (0); -} - -#endif diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h deleted file mode 100644 index a9a986db05b..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h +++ /dev/null @@ -1,57 +0,0 @@ -/* emtexdir.h -- written by Eberhard Mattes, donated to the public domain */ - -#if !defined (_EMTEXDIR_H) -#define _EMTEXDIR_H - -#if defined (__cplusplus) -extern "C" { -#endif - - -/* Flags for emtex_dir_setup */ - -#define EDS_ONESUBDIR 0x0001 -#define EDS_ALLSUBDIR 0x0002 -#define EDS_BANG 0x0004 - -/* Flags for emtex_dir_find */ - -#define EDF_CWD 0x0001 -#define EDF_FSLASH 0x0002 -#define EDF_TRACE 0x8000 - -/* Methods for emtex_dir_trunc */ - -#define EDT_5_PLUS_3 0 /* 5+3.3 */ -#define EDT_8 1 /* 8.3 */ - -/* Return values for emtex_dir_trunc */ - -#define EDT_UNCHANGED 0 /* Path name not changed */ -#define EDT_CHANGED 1 /* Path name truncated */ -#define EDT_TOOLONG 2 /* Path name too long */ -#define EDT_INVALID 3 /* Path name invalid */ - -struct emtex_dir -{ - char **list; - int used; - int alloc; -}; - -extern void (*emtex_dir_find_callback)(const char *name, int ok); - -int emtex_dir_setup (struct emtex_dir *ed, const char *env, const char *dir, - unsigned flags); - -int emtex_dir_find (char *path, size_t path_size, const struct emtex_dir *ed, - const char *fname, unsigned flags); - -int emtex_dir_trunc (char *dst, size_t dst_size, const char *src, - unsigned flags, int method); - -#if defined (__cplusplus) -} -#endif - -#endif /* !defined (_EMTEXDIR_H) */ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c deleted file mode 100644 index b55f7e8a401..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c +++ /dev/null @@ -1,1589 +0,0 @@ -/* - * Copyright 1993,1994,1995,2005 by Ross Paterson - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * - * Ross Paterson - * 17 October 1995 - * - * The following people have supplied bug fixes: - * - * Simon Chow - * Fung Fung Lee - * Man-Chi Pong - * Steven Simpson - * Charles Wang - * Werner Lemberg - * - * Ross no longer maintains this code. Please send bug reports to - * Werner Lemberg . - * - */ - -/* - * Two C interfaces to HBF files. - * - * The multiple interfaces make this code rather messy; I intend - * to clean it up as experience is gained on what is really needed. - * - * There are also two modes of operation: - * - the default is to read each bitmap from its file as demanded - * - if IN_MEMORY is defined, the whole bitmap file is held in memory. - * In this case, if running under Unix, the bitmap files may be gzipped - * (but the filename used in the HBF file should be the name of the - * file before it was gzipped). - */ -#include -#include -#include -#include -#include -#include "hbf.h" - -#ifdef __MSDOS__ -#define msdos -#endif - -/* - * if the linker complains about an unresolved identifier '_strdup', - * uncomment the following definition. - */ -/* #define NO_STRDUP */ - -#ifdef __STDC__ -# define _(x) x -#else -# define _(x) () -#endif - -#define reg register - -typedef int bool; -#define TRUE 1 -#define FALSE 0 - -#define Bit(n) (1<<(7 - (n))) - -/* - * Messy file system issues - */ - -#ifdef unix -#define PATH_DELIMITER ':' -#define RelativeFileName(fn) ((fn)[0] != '/') -#define LocalFileName(fn) (strchr(fn, '/') == NULL) -#endif /* unix */ -#ifdef msdos -#define PATH_DELIMITER ';' -#define HasDrive(fn) (isalpha((fn)[0]) && (fn)[1] == ':') -#ifdef __EMX__ -#define RelativeFileName(fn) (! HasDrive(fn) && \ - !((fn)[0] == '\\' || (fn)[0] == '/')) -#define LocalFileName(fn) (! HasDrive(fn) && \ - strchr(fn, '\\') == NULL && \ - strchr(fn, '/') == NULL) -#else -#define RelativeFileName(fn) (! HasDrive(fn) && (fn)[0] != '\\') -#define LocalFileName(fn) (! HasDrive(fn) && strchr(fn, '\\') == NULL) -#endif /* __EMX__ */ -#define READ_BINARY "rb" -#endif /* msdos */ -#ifdef vms -#define PATH_DELIMITER ',' -#define RelativeFileName(fn) (strchr(fn, ':') == NULL && ((fn)[0] != '[' || (fn)[1] == '.' || (fn)[1] == '-')) -#define LocalFileName(fn) (strchr(fn, ':') == NULL && strchr(fn, ']') == NULL) -#endif - -#ifndef RelativeFileName -#define RelativeFileName(fn) FALSE -#endif - -#ifndef LocalFileName -#define LocalFileName(fn) FALSE -#endif - -#ifndef READ_BINARY -#define READ_BINARY "r" -#endif - -#define MAX_FILENAME 1024 - -/* - * Internal structures - */ - -typedef unsigned char byte; - -#define PROPERTY struct _PROPERTY -#define BM_FILE struct _BM_FILE -#define B2_RANGE struct _B2_RANGE -#define CODE_RANGE struct _CODE_RANGE - -PROPERTY { - char *prop_name; - char *prop_value; - PROPERTY *prop_next; -}; - -BM_FILE { - char *bmf_name; -#ifdef IN_MEMORY - byte *bmf_contents; -#else - FILE *bmf_file; -#endif - long bmf_size; - BM_FILE *bmf_next; -}; - -B2_RANGE { - byte b2r_start; - byte b2r_finish; - B2_RANGE *b2r_next; -}; - -typedef unsigned short CHAR; -typedef unsigned int CHAR_INDEX; /* character index in file */ -#define BAD_CHAR_INDEX 0xffff - -CODE_RANGE { - CHAR code_start; - CHAR code_finish; - BM_FILE *code_bm_file; - long code_offset; - CHAR_INDEX code_pos; - bool code_transposed; - bool code_inverted; - CODE_RANGE *code_next; -}; - -/* - * Extended internal version of HBF - */ - -typedef struct { - /* fields corresponding to the definition */ - HBF public; - /* plus internal stuff */ - char *filename; - byte *bitmap_buffer; - unsigned int b2_size; /* number of legal byte-2's */ - PROPERTY *property; - B2_RANGE *byte_2_range; - CODE_RANGE *code_range; - BM_FILE *bm_file; -} HBF_STRUCT; - -#define FirstByte(code) ((code)>>8) -#define SecondByte(code) ((code)&0xff) -#define MakeCode(byte1,byte2) (((byte1)<<8)|(byte2)) - -/* size of a bitmap in the file (may be affected by transposition) */ -#define FileBitmapSize(hbfFile,cp) \ - ((cp)->code_transposed ? \ - (hbfBitmapBBox(hbfFile)->hbf_height + 7)/8 * \ - hbfBitmapBBox(hbfFile)->hbf_width : \ - HBF_BitmapSize(hbfFile)) - -#define NEW(type) ((type *)malloc((unsigned)(sizeof(type)))) - -#define QUOTE '"' - -#define MAXLINE 1024 - -#ifdef WIN32 -#define strdup(x) _strdup(x) -#else - extern char *strdup _((const char *s)); -#endif - -static void add_b2r _((B2_RANGE **last_b2r, int start, int finish)); -static bool add_code_range _((HBF_STRUCT *hbf, const char *line)); -static void add_property _((HBF_STRUCT *hbf, const char *lp)); -static CHAR_INDEX b2_pos _((HBF_STRUCT *hbf, HBF_CHAR code)); -static int b2_size _((B2_RANGE *b2r)); -static void clear_bbox _((HBF_BBOX *bbox)); -static void clear_record _((HBF_STRUCT *hbf)); -static char *concat _((const char *dir, int dirlen, const char *stem)); -static char *expand_filename _((const char *name, const char *filename)); -static const byte *get_bitmap - _((HBF_STRUCT *hbf, HBF_CHAR code, byte *buffer)); -static byte *local_buffer _((HBF_STRUCT *hbf)); -static void invert _((byte *buffer, unsigned length)); -#ifdef IN_MEMORY -static bool read_bitmap_file _((BM_FILE *bmf, FILE *f)); -static bool copy_transposed - _((HBF *hbf, byte *bitmap, const byte *source)); -#else -static bool get_transposed _((HBF *hbf, FILE *f, byte *bitmap)); -#endif -static bool match _((const char *lp, const char *sp)); -static bool parse_file _((FILE *f, HBF_STRUCT *hbf)); -static FILE *path_open - _((const char *path, const char *filename, char **fullp)); -static bool real_open _((const char *filename, HBF_STRUCT *hbf)); - -/* Error reporting */ - -int hbfDebug; /* set this for error reporting */ - -#ifdef __STDC__ -#include - -static void -eprintf(const char *fmt, ...) -{ - if (hbfDebug) { - va_list args; - - (void)fprintf(stderr, "HBF: "); - va_start(args, fmt); - (void)vfprintf(stderr, fmt, args); - va_end(args); - (void)fprintf(stderr, "\n"); - } -} -#else /* ! __STDC__ */ -/* poor man's variable-length argument list */ -static void -eprintf(fmt, x1, x2, x3, x4, x5, x6, x7, x8, x9) - const char *fmt; - int x1, x2, x3, x4, x5, x6, x7, x8, x9; -{ - if (hbfDebug) { - (void)fprintf(stderr, "HBF: "); - (void)fprintf(stderr, fmt, x1, x2, x3, x4, x5, x6, x7, x8, x9); - (void)fprintf(stderr, "\n"); - } -} -#endif /* __STDC__ */ - -static void -clear_bbox(bbox) - HBF_BBOX *bbox; -{ - bbox->hbf_width = bbox->hbf_height = 0; - bbox->hbf_xDisplacement = bbox->hbf_yDisplacement = 0; -} - -static void -clear_record(hbf) - HBF_STRUCT *hbf; -{ - clear_bbox(&(hbf->public.hbf_bitmap_bbox)); - clear_bbox(&(hbf->public.hbf_font_bbox)); - hbf->property = NULL; - hbf->filename = NULL; - hbf->bitmap_buffer = NULL; - hbf->byte_2_range = NULL; - hbf->code_range = NULL; - hbf->bm_file = NULL; -} - -/* - * Byte-2 ranges - */ - -static void -add_b2r(last_b2r, start, finish) -reg B2_RANGE **last_b2r; - int start; - int finish; -{ -reg B2_RANGE *b2r; - - b2r = NEW(B2_RANGE); - while (*last_b2r != NULL && (*last_b2r)->b2r_start < start) - last_b2r = &((*last_b2r)->b2r_next); - b2r->b2r_next = *last_b2r; - b2r->b2r_start = start; - b2r->b2r_finish = finish; - *last_b2r = b2r; -} - -static CHAR_INDEX -b2_pos(hbf, code) - HBF_STRUCT *hbf; - HBF_CHAR code; -{ -reg B2_RANGE *b2r; -reg unsigned c; -reg CHAR_INDEX pos; - - c = SecondByte(code); - pos = 0; - for (b2r = hbf->byte_2_range; b2r != NULL; b2r = b2r->b2r_next) - if (b2r->b2r_start <= c && c <= b2r->b2r_finish) - return pos + c - b2r->b2r_start; - else - pos += b2r->b2r_finish - b2r->b2r_start + 1; - return BAD_CHAR_INDEX; -} - -static int -b2_size(b2r) -reg B2_RANGE *b2r; -{ -reg int size; - - size = 0; - for ( ; b2r != NULL; b2r = b2r->b2r_next) - size += b2r->b2r_finish - b2r->b2r_start + 1; - return size; -} - -/* map a position to a character code */ -static long -code_of(hbf, pos) - HBF_STRUCT *hbf; - long pos; -{ - long code; - int residue; -reg B2_RANGE *b2r; - - code = pos / hbf->b2_size * 256; - residue = pos % hbf->b2_size; - for (b2r = hbf->byte_2_range; b2r != NULL; b2r = b2r->b2r_next) - if (b2r->b2r_start + residue <= b2r->b2r_finish) - return code + b2r->b2r_start + residue; - else - residue -= b2r->b2r_finish - b2r->b2r_start + 1; - /* should never get here */ - return 0L; -} - -/* - * String stuff - */ - -static bool -match(lp, sp) -reg const char *lp; -reg const char *sp; -{ - while (*lp == *sp && *sp != '\0') { - lp++; - sp++; - } - return (*lp == '\0' || isspace(*lp)) && *sp == '\0'; -} - -#ifdef NO_STRDUP -char * -strdup(s) - const char *s; -{ - char *new_s; - - new_s = malloc((unsigned)strlen(s) + 1); - strcpy(new_s, s); - return new_s; -} -#endif - -/* - * Properties - */ - -static void -add_property(hbf, lp) -reg HBF_STRUCT *hbf; -reg const char *lp; -{ -reg PROPERTY *prop; - char tmp[MAXLINE]; -reg char *tp; - - prop = NEW(PROPERTY); - - tp = tmp; - while (*lp != '\0' && ! isspace(*lp)) - *tp++ = *lp++; - *tp = '\0'; - prop->prop_name = strdup(tmp); - - while (*lp != '\0' && isspace(*lp)) - lp++; - - tp = tmp; - if (*lp == QUOTE) { - lp++; - while (*lp != '\0' && ! (*lp == QUOTE && *++lp != QUOTE)) - *tp++ = *lp++; - } - else - for (;;) { - while (*lp != '\0' && ! isspace(*lp)) - *tp++ = *lp++; - while (*lp != '\0' && isspace(*lp)) - lp++; - if (*lp == '\0') - break; - *tp++ = ' '; - } - *tp = '\0'; - prop->prop_value = strdup(tmp); - - prop->prop_next = hbf->property; - hbf->property = prop; -} - -const char * -hbfProperty(hbfFile, propName) - HBF *hbfFile; - const char *propName; -{ -reg HBF_STRUCT *hbf; -reg PROPERTY *prop; - - hbf = (HBF_STRUCT *)hbfFile; - for (prop = hbf->property; prop != NULL; prop = prop->prop_next) - if (strcmp(prop->prop_name, propName) == 0) - return prop->prop_value; - return NULL; -} - -/* - * Compatability routines - */ - -const char * -HBF_GetProperty(handle, propertyName) - HBF *handle; - const char *propertyName; -{ - return hbfProperty(handle, propertyName); -} - -int -HBF_GetFontBoundingBox(handle, width, height, xDisplacement, yDisplacement) - HBF_Handle handle; - unsigned int *width; - unsigned int *height; - int *xDisplacement; - int *yDisplacement; -{ - if (width != NULL) - *width = hbfFontBBox(handle)->hbf_width; - if (height != NULL) - *height = hbfFontBBox(handle)->hbf_height; - if (xDisplacement != NULL) - *xDisplacement = hbfFontBBox(handle)->hbf_xDisplacement; - if (yDisplacement != NULL) - *yDisplacement = hbfFontBBox(handle)->hbf_yDisplacement; - return 0; -} - -int -HBF_GetBitmapBoundingBox(handle, width, height, xDisplacement, yDisplacement) - HBF_Handle handle; - unsigned int *width; - unsigned int *height; - int *xDisplacement; - int *yDisplacement; -{ - if (width != NULL) - *width = hbfBitmapBBox(handle)->hbf_width; - if (height != NULL) - *height = hbfBitmapBBox(handle)->hbf_height; - if (xDisplacement != NULL) - *xDisplacement = hbfBitmapBBox(handle)->hbf_xDisplacement; - if (yDisplacement != NULL) - *yDisplacement = hbfBitmapBBox(handle)->hbf_yDisplacement; - return 0; -} - -/* - * Prepend a directory to a relative filename. - */ -static char * -concat(dir, dirlen, stem) - const char *dir; /* not necessarily null-terminated */ - int dirlen; /* number of significant chars in dir */ - const char *stem; /* relative filename */ -{ - char *fullname; - - if (dirlen == 0) /* null: current directory */ - return strdup(stem); -#ifdef unix - fullname = malloc(dirlen + strlen(stem) + 2); - (void)sprintf(fullname, "%.*s/%s", dirlen, dir, stem); -#else -#ifdef msdos - fullname = malloc(dirlen + strlen(stem) + 2); - (void)sprintf(fullname, "%.*s\\%s", dirlen, dir, stem); -#else -#ifdef vms - if (dir[dirlen-1] == ']' && stem[0] == '[' && stem[1] == '-') { - dirlen--; - stem++; - fullname = malloc(dirlen + strlen(stem) + 2); - (void)sprintf(fullname, "%.*s.%s", dirlen, dir, stem); - } - else { - if (dir[dirlen-1] == ']' && stem[0] == '[' && stem[1] == '.') { - dirlen--; - stem++; - } - fullname = malloc(dirlen + strlen(stem) + 1); - (void)sprintf(fullname, "%.*s%s", dirlen, dir, stem); - } -#else - fullname = strdup(stem); -#endif /* vms */ -#endif /* msdos */ -#endif /* unix */ - return fullname; -} - -/* - * Bitmap files - * - * If the host operating system has a heirarchical file system and - * the bitmap file name is relative, it is relative to the directory - * containing the HBF file. - */ -static char * -expand_filename(name, hbf_name) - const char *name; - const char *hbf_name; -{ -#ifdef unix -reg char *s; -reg int size; - - size = name[0] != '/' && (s = strrchr(hbf_name, '/')) != NULL ? - s - hbf_name + 1 : 0; - s = malloc((unsigned)size + strlen(name) + 1); - (void)sprintf(s, "%.*s%s", size, hbf_name, name); - return s; -#else -#ifdef msdos -reg char *s; -reg int size; - -#ifdef __EMX__ - s = (unsigned char *)hbf_name + strlen((unsigned char *)hbf_name) - 1; - for(;;) { - if (*s == '\\' || *s == '/') - break; - if (s == hbf_name) { - s = NULL; - break; - } - s--; - } - - size = HasDrive(name) ? 0 : - (name[0] == '\\' || name[0] == '/') ? - (HasDrive(hbf_name) ? 2 : 0) : - s != NULL ? s - hbf_name + 1 : 0; -#else - size = HasDrive(name) ? 0 : - name[0] == '\\' ? (HasDrive(hbf_name) ? 2 : 0) : - (s = strrchr(hbf_name, '\\')) != NULL ? - s - hbf_name + 1 : 0; -#endif /* __EMX__ */ - s = malloc((unsigned)size + strlen(name) + 1); - (void)sprintf(s, "%.*s%s", size, hbf_name, name); - return s; -#else -#ifdef vms -reg char *s; -reg const char *copyto; -reg int size; - - if ((s = strchr(hbf_name, ']')) != NULL && RelativeFileName(name)) - return concat(hbf_name, (s - hbf_name) + 1, name); - - copyto = hbf_name; - if ((s = strstr(copyto, "::")) != NULL && strstr(name, "::") == NULL) - copyto = s+2; - if ((s = strchr(copyto, ':')) != NULL && strchr(name, ':') == NULL) - copyto = s+1; - size = copyto - hbf_name; - s = malloc((unsigned)size + strlen(name) + 1); - (void)sprintf(s, "%.*s%s", size, hbf_name, name); - return s; -#else - return strdup(name); -#endif /* vms */ -#endif /* msdos */ -#endif /* unix */ -} - -static BM_FILE * -find_file(hbf, filename) - HBF_STRUCT *hbf; - const char *filename; -{ - BM_FILE **fp; -reg BM_FILE *file; - FILE *f; - char *bmfname; -#ifdef IN_MEMORY -#ifdef unix - bool from_pipe; -#endif -#endif - - for (fp = &(hbf->bm_file); *fp != NULL; fp = &((*fp)->bmf_next)) { - bmfname = strrchr((*fp)->bmf_name, '/'); - bmfname = (bmfname) ? bmfname + 1 : (*fp)->bmf_name; - if (strcmp(bmfname, filename) == 0) - return *fp; - } - - file = NEW(BM_FILE); - if (file == NULL) { - eprintf("out of memory"); - return NULL; - } - file->bmf_name = expand_filename(filename, hbf->filename); - if (file->bmf_name == NULL) { - free((char *)file); - return NULL; - } - f = fopen(file->bmf_name, READ_BINARY); -#ifdef IN_MEMORY -#ifdef unix - from_pipe = FALSE; - if (f == NULL) { - char tmp[400]; - - sprintf(tmp, "%s.gz", file->bmf_name); - if ((f = fopen(tmp, "r")) != NULL) { - fclose(f); - sprintf(tmp, "gzcat %s.gz", file->bmf_name); - if ((f = popen(tmp, "r")) != NULL) - from_pipe = TRUE; - } - } -#endif /* unix */ -#endif /* IN_MEMORY */ - if (f == NULL) { - eprintf("can't open bitmap file '%s'", file->bmf_name); - free(file->bmf_name); - free((char *)file); - return NULL; - } -#ifdef IN_MEMORY - if (! read_bitmap_file(file, f)) { - free(file->bmf_name); - free((char *)file); - return NULL; - } -#ifdef unix - if (from_pipe) - pclose(f); - else - fclose(f); -#else /* ! unix */ - fclose(f); -#endif /* ! unix */ -#else /* ! IN_MEMORY */ - file->bmf_file = f; - fseek(f, 0L, 2); - file->bmf_size = ftell(f); -#endif /* ! IN_MEMORY */ - file->bmf_next = NULL; - *fp = file; - return file; -} - -#ifdef IN_MEMORY -#define GRAIN_SIZE 512 - -static bool -read_bitmap_file(bmf, f) - BM_FILE *bmf; - FILE *f; -{ - byte *contents, *cp; - long size; - int c; - - size = 0; - cp = contents = (byte *)malloc((unsigned)GRAIN_SIZE); - if (contents == NULL) { - eprintf("not enough space for bitmap file"); - return NULL; - } - while ((c = getc(f)) != EOF) { - if (size%GRAIN_SIZE == 0) { - contents = (byte *)realloc((char *)contents, - (unsigned)(size + GRAIN_SIZE)); - if (contents == NULL) { - eprintf("not enough space for bitmap file"); - return NULL; - } - cp = contents + size; - } - *cp++ = c; - size++; - } - bmf->bmf_size = size; - bmf->bmf_contents = (byte *)realloc((char *)contents, (unsigned)size); - return TRUE; -} -#endif /* IN_MEMORY */ - -/* - * Code ranges - */ - -/* check that a code range fits within its bitmap file */ -static bool -too_short(hbf, cp) - HBF_STRUCT *hbf; - CODE_RANGE *cp; -{ - int bm_size; - long offset, end_offset; - BM_FILE *bmf; - long start, finish; - - bm_size = FileBitmapSize(&(hbf->public), cp); - offset = cp->code_offset; - start = cp->code_start; - finish = cp->code_finish; - end_offset = offset + bm_size * - (hbf->b2_size*(long)FirstByte(finish) + - b2_pos(hbf, finish) - cp->code_pos + 1); - bmf = cp->code_bm_file; - if (end_offset <= bmf->bmf_size) - return FALSE; - /* bitmap file is too short: produce a specific error message */ - if (offset > bmf->bmf_size) - eprintf("bitmap file '%s' is shorter than offset 0x%04lx", - bmf->bmf_name, offset); - else if (offset + bm_size > bmf->bmf_size) - eprintf("bitmap file '%s' too short: no room for any bitmaps at offset 0x%04lx", - bmf->bmf_name, offset); - else - eprintf("bitmap file '%s' is too short - code range appears to be 0x%04lx-0x%04lx", - bmf->bmf_name, - start, - code_of(hbf, cp->code_pos + - (bmf->bmf_size - offset)/bm_size) - 1); - return TRUE; -} - -static const char * -skip_word(n, s) - int n; - const char *s; -{ - for ( ; n > 0; n--) { - while (*s != '\0' && ! isspace(*s)) - s++; - while (*s != '\0' && isspace(*s)) - s++; - } - return s; -} - -/* optional keywords at the end of a CODE_RANGE line */ -static void -parse_keywords(cp, s) - CODE_RANGE *cp; - const char *s; -{ - for (s = skip_word(4, s) ; *s != '\0'; s = skip_word(1, s)) { - switch (*s) { - case 's': case 'S': case 't': case 'T': - /* keyword "sideways" or "transposed" */ - cp->code_transposed = TRUE; - break; - case 'i': case 'I': - /* keyword "inverted" */ - cp->code_inverted = TRUE; - } - } -} - -static bool -add_code_range(hbf, line) - HBF_STRUCT *hbf; - const char *line; -{ - CODE_RANGE *cp; - CODE_RANGE **cpp; - long start, finish; - long offset; - char filename[MAXLINE]; - BM_FILE *bmf; - CHAR_INDEX b2pos; - - if (sscanf(line, "HBF_CODE_RANGE %li-%li %s %li", - &start, &finish, filename, &offset) != 4) { - eprintf("syntax error in HBF_CODE_RANGE"); - return FALSE; - } - /* code ranges are checked in real_open() */ - if ((bmf = find_file(hbf, filename)) == NULL) - return FALSE; - if ((cp = NEW(CODE_RANGE)) == NULL) { - eprintf("out of memory"); - return FALSE; - } - - cp->code_start = (CHAR)start; - cp->code_finish = (CHAR)finish; - cp->code_bm_file = bmf; - cp->code_offset = offset; - cp->code_transposed = cp->code_inverted = FALSE; - parse_keywords(cp, line); - /* insert it in order */ - for (cpp = &hbf->code_range; - *cpp != NULL && (*cpp)->code_finish < start; - cpp = &((*cpp)->code_next)) - ; - if (*cpp != NULL && (*cpp)->code_start <= finish) { - eprintf("code ranges overlap"); - return FALSE; - } - cp->code_next = *cpp; - *cpp = cp; - - /* set code_pos, and check range */ - if (start > finish) { - eprintf("illegal code range 0x%04lx-0x%04lx", start, finish); - return FALSE; - } - if ((b2pos = b2_pos(hbf, start)) == BAD_CHAR_INDEX) { - eprintf("illegal start code 0x%04lx", start); - return FALSE; - } - cp->code_pos = hbf->b2_size*(long)FirstByte(start) + b2pos; - if ((b2pos = b2_pos(hbf, finish)) == BAD_CHAR_INDEX) { - eprintf("illegal finish code 0x%04lx", finish); - return FALSE; - } - /* check that the bitmap file has enough bitmaps */ - return ! too_short(hbf, cp); -} - -/* - * Reading and parsing of an HBF file - */ - -/* get line, truncating to len, and trimming trailing spaces */ -static bool -get_line(buf, len, f) - char *buf; - int len; - FILE *f; -{ - int c; - char *bp; - - bp = buf; - for (;;) { - if ((c = getc(f)) == EOF) { - eprintf("unexpected end of file"); - return FALSE; - } - if (c == '\n' || c == '\r') { - /* trim trailing space */ - while (bp > buf && isspace(*(bp-1))) - bp--; - *bp = '\0'; - return TRUE; - } - if (len > 0) { - *bp++ = c; - len--; - } - } -} - -/* get next non-COMMENT line */ -static bool -get_text_line(buf, len, f) - char *buf; - int len; - FILE *f; -{ - while (get_line(buf, len, f)) - if (*buf != '\0' && ! match(buf, "COMMENT")) - return TRUE; - return FALSE; -} - -static bool -get_property(line, keyword, hbf) - const char *line; - const char *keyword; - HBF_STRUCT *hbf; -{ - if (! match(line, keyword)) { - eprintf("%s expected", keyword); - return FALSE; - } - add_property(hbf, line); - return TRUE; -} - -static bool -get_bbox(line, keyword, bbox) - const char *line; - const char *keyword; - HBF_BBOX *bbox; -{ - int w, h, xd, yd; - - if (! match(line, keyword) || - sscanf(line + strlen(keyword), "%i %i %i %i", - &w, &h, &xd, &yd) != 4) { - eprintf("%s expected", keyword); - return FALSE; - } - if (w <= 0 || h <= 0) { - eprintf("illegal %s dimensions %dx%d", keyword, w, h); - return FALSE; - } - bbox->hbf_width = w; - bbox->hbf_height = h; - bbox->hbf_xDisplacement = xd; - bbox->hbf_yDisplacement = yd; - return TRUE; -} - -/* - * HBFHeaderFile ::= - * 'HBF_START_FONT' version EOLN - * 'HBF_CODE_SCHEME' word ... EOLN - * 'FONT' fontName EOLN - * 'SIZE' ptsize xres yres EOLN - * 'HBF_BITMAP_BOUNDING_BOX' w h xd yd EOLN - * 'FONTBOUNDINGBOX' w h xd yd EOLN - * X11R5FontPropertySection - * 'CHARS' n EOLN - * HBFByte2RangeSection - * HBFCodeRangeSection - * 'HBF_END_FONT' EOLN . - * - * This implementation allows extra lines before HBF_END_FONT. - * Anything after HBF_END_FONT is ignored. - */ - -static bool -parse_file(f, hbf) - FILE *f; -reg HBF_STRUCT *hbf; -{ - char line[MAXLINE]; - int start, finish; - - if (! get_text_line(line, MAXLINE, f) || - ! get_property(line, "HBF_START_FONT", hbf)) - return FALSE; - - if (! get_text_line(line, MAXLINE, f) || - ! get_property(line, "HBF_CODE_SCHEME", hbf)) - return FALSE; - - if (! get_text_line(line, MAXLINE, f) || - ! get_property(line, "FONT", hbf)) - return FALSE; - - if (! get_text_line(line, MAXLINE, f) || - ! get_property(line, "SIZE", hbf)) - return FALSE; - - if (! get_text_line(line, MAXLINE, f) || - ! get_bbox(line, "HBF_BITMAP_BOUNDING_BOX", - &(hbf->public.hbf_bitmap_bbox))) - return FALSE; - - if (! get_text_line(line, MAXLINE, f) || - ! get_bbox(line, "FONTBOUNDINGBOX", &(hbf->public.hbf_font_bbox))) - return FALSE; - - if (! get_text_line(line, MAXLINE, f)) - return FALSE; - if (match(line, "STARTPROPERTIES")) { - for (;;) { - if (! get_text_line(line, MAXLINE, f)) - return FALSE; - if (match(line, "ENDPROPERTIES")) - break; - add_property(hbf, line); - } - if (! get_text_line(line, MAXLINE, f)) - return FALSE; - } - - if (match(line, "CHARS")) - if (! get_text_line(line, MAXLINE, f)) - return FALSE; - - if (match(line, "HBF_START_BYTE_2_RANGES")) { - for (;;) { - if (! get_text_line(line, MAXLINE, f)) - return FALSE; - if (match(line, "HBF_END_BYTE_2_RANGES")) - break; - if (sscanf(line, "HBF_BYTE_2_RANGE %i-%i", - &start, &finish) != 2) { - eprintf("HBF_BYTE_2_RANGE expected"); - return FALSE; - } - add_b2r(&(hbf->byte_2_range), start, finish); - } - if (! get_text_line(line, MAXLINE, f)) - return FALSE; - } - else - add_b2r(&(hbf->byte_2_range), 0, 0xff); - hbf->b2_size = b2_size(hbf->byte_2_range); - - if (! match(line, "HBF_START_CODE_RANGES")) { - eprintf("HBF_START_CODE_RANGES expected"); - return FALSE; - } - for (;;) { - if (! get_text_line(line, MAXLINE, f)) - return FALSE; - if (match(line, "HBF_END_CODE_RANGES")) - break; - if (! add_code_range(hbf, line)) - return FALSE; - } - - for (;;) { - if (! get_text_line(line, MAXLINE, f)) - return FALSE; - if (match(line, "HBF_END_FONT")) - break; - /* treat extra lines as properties (for private extensions) */ - add_property(hbf, line); - } - - return TRUE; -} - -static FILE * -path_open(path, filename, fullp) - const char *path; - const char *filename; - char **fullp; -{ - if (LocalFileName(filename) && path != NULL) { -#ifdef PATH_DELIMITER - int len; - char *fullname; - FILE *f; - const char *p_next; - - len = strlen(filename); - for (;;) { - p_next = strchr(path, PATH_DELIMITER); - if (p_next == NULL) - p_next = path + strlen(path); - fullname = concat(path, p_next - path, filename); - if ((f = fopen(fullname, "r")) != NULL) { - *fullp = fullname; - return f; - } - free(fullname); - if (*p_next == '\0') - break; - path = p_next + 1; - } -#endif - return NULL; - } - else { - *fullp = strdup(filename); - return fopen(*fullp, "r"); - } -} - -static bool -real_open(filename, hbf) - const char *filename; -reg HBF_STRUCT *hbf; -{ - FILE *f; - - f = path_open(getenv("HBFPATH"), filename, &(hbf->filename)); - if (f == NULL) { - eprintf("can't read file '%s'", filename); - return FALSE; - } - if (! parse_file(f, hbf)) { - fclose(f); - return FALSE; - } - fclose(f); - return TRUE; -} - -HBF * -hbfOpen(filename) - const char *filename; -{ -reg HBF_STRUCT *hbf; - - if ((hbf = NEW(HBF_STRUCT)) == NULL) { - eprintf("can't allocate HBF structure"); - return NULL; - } - clear_record(hbf); - if (real_open(filename, hbf)) - return &(hbf->public); - hbfClose(&(hbf->public)); - return NULL; -} - -int -HBF_OpenFont(filename, ptrHandleStorage) - const char *filename; - HBF **ptrHandleStorage; -{ - return (*ptrHandleStorage = hbfOpen(filename)) == NULL ? -1 : 0; -} - -/* - * Close files, free everything associated with the HBF. - */ - -int -HBF_CloseFont(hbfFile) - HBF *hbfFile; -{ -reg HBF_STRUCT *hbf; - PROPERTY *prop_ptr, *prop_next; - B2_RANGE *b2r_ptr, *b2r_next; - CODE_RANGE *code_ptr, *code_next; - BM_FILE *bmf_ptr, *bmf_next; - int status; - - status = 0; - hbf = (HBF_STRUCT *)hbfFile; - - if (hbf->filename != NULL) - free(hbf->filename); - if (hbf->bitmap_buffer != NULL) - free(hbf->bitmap_buffer); - - for (prop_ptr = hbf->property; - prop_ptr != NULL; - prop_ptr = prop_next) { - prop_next = prop_ptr->prop_next; - free(prop_ptr->prop_name); - free(prop_ptr->prop_value); - free((char *)prop_ptr); - } - - for (b2r_ptr = hbf->byte_2_range; - b2r_ptr != NULL; - b2r_ptr = b2r_next) { - b2r_next = b2r_ptr->b2r_next; - free((char *)b2r_ptr); - } - - for (code_ptr = hbf->code_range; - code_ptr != NULL; - code_ptr = code_next) { - code_next = code_ptr->code_next; - free((char *)code_ptr); - } - - for (bmf_ptr = hbf->bm_file; - bmf_ptr != NULL; - bmf_ptr = bmf_next) { - bmf_next = bmf_ptr->bmf_next; -#ifdef IN_MEMORY - free((char *)(bmf_ptr->bmf_contents)); -#else - if (bmf_ptr->bmf_file != NULL && - fclose(bmf_ptr->bmf_file) < 0) - status = -1; -#endif - free(bmf_ptr->bmf_name); - free((char *)bmf_ptr); - } - - free((char *)hbf); - - return status; -} - -void -hbfClose(hbfFile) - HBF *hbfFile; -{ - (void)HBF_CloseFont(hbfFile); -} - -/* - * Fetch a bitmap - */ - -const byte * -hbfGetBitmap(hbf, code) - HBF *hbf; - HBF_CHAR code; -{ - return get_bitmap((HBF_STRUCT *)hbf, code, (byte *)NULL); -} - -int -HBF_GetBitmap(hbf, code, buffer) - HBF *hbf; - HBF_CHAR code; - byte *buffer; -{ - return get_bitmap((HBF_STRUCT *)hbf, code, buffer) == NULL ? -1 : 0; -} - -/* - * Internal function to fetch a bitmap. - * If buffer is non-null, it must be used. - */ -static const byte * -get_bitmap(hbf, code, buffer) -reg HBF_STRUCT *hbf; - HBF_CHAR code; - byte *buffer; -{ - CHAR_INDEX pos, b2pos; -reg CODE_RANGE *cp; - BM_FILE *bmf; - int bm_size; - long offset; - - if ((b2pos = b2_pos(hbf, code)) == BAD_CHAR_INDEX) - return NULL; - pos = hbf->b2_size*FirstByte(code) + b2pos; - for (cp = hbf->code_range; cp != NULL; cp = cp->code_next) - if (cp->code_start <= code && code <= cp->code_finish) { - bmf = cp->code_bm_file; - bm_size = FileBitmapSize(&(hbf->public), cp); - offset = cp->code_offset + - (long)(pos - cp->code_pos) * bm_size; -#ifdef IN_MEMORY - if (buffer == NULL && - ! cp->code_transposed && ! cp->code_inverted) - return bmf->bmf_contents + offset; -#endif /* IN_MEMORY */ - if (buffer == NULL && - ((buffer = local_buffer(hbf)) == NULL)) - return NULL; -#ifdef IN_MEMORY - if (cp->code_transposed) - copy_transposed(&(hbf->public), - buffer, - bmf->bmf_contents + offset); - else - memcpy((char *)buffer, - (char *)(bmf->bmf_contents + offset), - bm_size); -#else /* ! IN_MEMORY */ - if (fseek(bmf->bmf_file, offset, 0) != 0) { - eprintf("seek error on code 0x%04x", code); - return NULL; - } - if (cp->code_transposed ? - ! get_transposed(&(hbf->public), bmf->bmf_file, - buffer) : - fread((char *)buffer, - bm_size, 1, bmf->bmf_file) != 1) { - eprintf("read error on code 0x%04x", code); - return NULL; - } -#endif /* IN_MEMORY */ - if (cp->code_inverted) - invert(buffer, HBF_BitmapSize(&(hbf->public))); - return buffer; - } - eprintf("code 0x%04x out of range", code); - return NULL; -} - -static byte * -local_buffer(hbf) - HBF_STRUCT *hbf; -{ - if (hbf->bitmap_buffer == NULL && - (hbf->bitmap_buffer = (byte *)malloc(HBF_BitmapSize(&(hbf->public)))) == NULL) { - eprintf("out of memory"); - return NULL; - } - return hbf->bitmap_buffer; -} - -static void -invert(buffer, length) - byte *buffer; - unsigned int length; -{ - for ( ; length > 0; length--) - *buffer++ ^= 0xff; -} - -#ifdef IN_MEMORY -static bool -copy_transposed(hbf, bitmap, source) - HBF *hbf; -reg byte *bitmap; -reg const byte *source; -{ -reg byte *pos; -reg byte *bm_end; - int x; - int width; -reg int row_size; -reg int c; -reg int imask, omask; - - width = hbfBitmapBBox(hbf)->hbf_width; - row_size = HBF_RowSize(hbf); - bm_end = bitmap + HBF_BitmapSize(hbf); - (void)memset((char *)bitmap, '\0', HBF_BitmapSize(hbf)); - for (x = 0; x < width; x++) { - pos = bitmap + x/8; - omask = Bit(x%8); - /* y = 0 */ - for (;;) { - c = *source++; - for (imask = Bit(0); imask != 0; imask >>= 1) { - /* - * At this point, - * - * imask == Bit(y%8) - * pos == bitmap + y*row_size + x/8 - * - * We examine bit y of row x of the input, - * setting bit x of row y of the output if - * required, by applying omask to *pos. - */ - if ((c & imask) != 0) - *pos |= omask; - /* if (++y > height) goto end_column */ - pos += row_size; - if (pos >= bm_end) - goto end_column; - } - } -end_column: - ; - } - return TRUE; -} -#else /* ! IN_MEMORY */ -static bool -get_transposed(hbf, f, bitmap) - HBF *hbf; - FILE *f; -reg byte *bitmap; -{ -reg byte *pos; -reg byte *bm_end; - int x; - int width; -reg int row_size; -reg int c; -reg int imask, omask; - - width = hbfBitmapBBox(hbf)->hbf_width; - row_size = HBF_RowSize(hbf); - bm_end = bitmap + HBF_BitmapSize(hbf); - (void)memset((char *)bitmap, '\0', HBF_BitmapSize(hbf)); - for (x = 0; x < width; x++) { - pos = bitmap + x/8; - omask = Bit(x%8); - /* y = 0 */ - for (;;) { - if ((c = getc(f)) == EOF) - return FALSE; - for (imask = Bit(0); imask != 0; imask >>= 1) { - /* - * At this point, - * - * imask == Bit(y%8) - * pos == bitmap + y*row_size + x/8 - * - * We examine bit y of row x of the input, - * setting bit x of row y of the output if - * required, by applying omask to *pos. - */ - if ((c & imask) != 0) - *pos |= omask; - /* if (++y > height) goto end_column */ - pos += row_size; - if (pos >= bm_end) - goto end_column; - } - } -end_column: - ; - } - return TRUE; -} -#endif /* ! IN_MEMORY */ - -/* - * Call function on each valid code in ascending order. - */ -void -hbfForEach(hbfFile, func) -reg HBF *hbfFile; -reg void (*func)_((HBF *sameHbfFile, HBF_CHAR code)); -{ - HBF_STRUCT *hbf; - CODE_RANGE *cp; -reg B2_RANGE *b2r; -reg unsigned byte1, byte2; -reg unsigned finish; - - hbf = (HBF_STRUCT *)hbfFile; - for (cp = hbf->code_range; cp != NULL; cp = cp->code_next) { - byte1 = FirstByte(cp->code_start); - byte2 = SecondByte(cp->code_start); - while (MakeCode(byte1, byte2) <= cp->code_finish) { - for (b2r = hbf->byte_2_range; - b2r != NULL; - b2r = b2r->b2r_next) { - if (byte2 < b2r->b2r_start) - byte2 = b2r->b2r_start; - finish = b2r->b2r_finish; - if (byte1 == FirstByte(cp->code_finish) && - finish > SecondByte(cp->code_finish)) - finish = SecondByte(cp->code_finish); - while (byte2 <= finish) { - (*func)(hbfFile, - MakeCode(byte1, byte2)); - byte2++; - } - } - byte1++; - byte2 = 0; - } - } -} - -const char * -hbfFileName(hbf) - HBF *hbf; -{ - return ((HBF_STRUCT *)hbf)->filename; -} - -long -hbfChars(hbfFile) - HBF *hbfFile; -{ - HBF_STRUCT *hbf; - CODE_RANGE *cp; - long num_chars; - - hbf = (HBF_STRUCT *)hbfFile; - num_chars = 0; - for (cp = hbf->code_range; cp != NULL; cp = cp->code_next) - num_chars += - hbf->b2_size*FirstByte(cp->code_finish) + - b2_pos(hbf, cp->code_finish) - - (hbf->b2_size*FirstByte(cp->code_start) + - b2_pos(hbf, cp->code_start)) + 1; - return num_chars; -} - -/* - * Functions also implemented as macros - */ - -#ifdef hbfBitmapBBox -#undef hbfBitmapBBox -#endif - -HBF_BBOX * -hbfBitmapBBox(hbf) - HBF *hbf; -{ - return &(hbf->hbf_bitmap_bbox); -} - -#ifdef hbfFontBBox -#undef hbfFontBBox -#endif - -HBF_BBOX * -hbfFontBBox(hbf) - HBF *hbf; -{ - return &(hbf->hbf_font_bbox); -} - -const void * -hbfGetByte2Range(hbfFile, b2r_pointer, startp, finishp) - HBF *hbfFile; - const void *b2r_pointer; - byte *startp; - byte *finishp; -{ - HBF_STRUCT *hbf; - B2_RANGE *b2r; - - hbf = (HBF_STRUCT *)hbfFile; - if (b2r_pointer == NULL) - b2r = hbf->byte_2_range; - else - b2r = ((B2_RANGE *)b2r_pointer)->b2r_next; - if(b2r == NULL) - return NULL; - *startp = b2r->b2r_start; - *finishp = b2r->b2r_finish; - return (void *)b2r; -} - -const void * -hbfGetCodeRange(hbfFile, code_pointer, startp, finishp) - HBF *hbfFile; - const void *code_pointer; - HBF_CHAR *startp; - HBF_CHAR *finishp; -{ - HBF_STRUCT *hbf; - CODE_RANGE *cp; - - hbf = (HBF_STRUCT *)hbfFile; - if (code_pointer == NULL) - cp = hbf->code_range; - else - cp = ((CODE_RANGE *)code_pointer)->code_next; - if(cp == NULL) - return NULL; - *startp = cp->code_start; - *finishp = cp->code_finish; - return (void *)cp; -} diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h deleted file mode 100644 index 34f5940a71b..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright 1993,1994,1995,2005 by Ross Paterson - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * - * Two interfaces to HBF files -- take your pick. - * - * Ross Paterson - * - * Ross no longer maintains this code. Please send bug reports to - * Werner Lemberg . - * - */ -#ifndef _HBF_ -#define _HBF_ - -#ifndef __STDC__ -# ifndef const -# define const -# endif -#endif - -/* - * #1: a lightweight C interface. - */ - -typedef unsigned int HBF_CHAR; - -typedef struct { - unsigned short hbf_width; - unsigned short hbf_height; - short hbf_xDisplacement; - short hbf_yDisplacement; -} HBF_BBOX; - -typedef struct { - /* fields corresponding to the definition */ - HBF_BBOX hbf_bitmap_bbox; /* HBF_BITMAP_BOUNDING_BOX */ - HBF_BBOX hbf_font_bbox; /* FONTBOUNDINGBOX */ -} HBF; - -extern HBF *hbfOpen( -#ifdef __STDC__ - const char *filename -#endif - ); - -extern void hbfClose( -#ifdef __STDC__ - HBF *hbf -#endif - ); - -extern const char *hbfProperty( -#ifdef __STDC__ - HBF *hbf, - const char *propName -#endif - ); - -extern const unsigned char *hbfGetBitmap( -#ifdef __STDC__ - HBF *hbf, - HBF_CHAR code -#endif - ); - -extern void hbfForEach( -#ifdef __STDC__ - HBF *hbf, - void (*func)(HBF *sameHbf, HBF_CHAR code) -#endif - ); - -extern const char *hbfFileName( -#ifdef __STDC__ - HBF *hbf -#endif - ); - -extern long hbfChars( -#ifdef __STDC__ - HBF *hbf -#endif - ); - -extern HBF_BBOX *hbfBitmapBBox( -#ifdef __STDC__ - HBF *hbf -#endif - ); -/* but defined here as a macro */ -#define hbfBitmapBBox(hbf) (&((hbf)->hbf_bitmap_bbox)) - -extern HBF_BBOX *hbfFontBBox( -#ifdef __STDC__ - HBF *hbf -#endif - ); -/* but defined here as a macro */ -#define hbfFontBBox(hbf) (&((hbf)->hbf_font_bbox)) - -#define HBF_RowSize(hbf)\ - ((hbfBitmapBBox(hbf)->hbf_width + 7)/8) - -#define HBF_BitmapSize(hbf)\ - (HBF_RowSize(hbf) * hbfBitmapBBox(hbf)->hbf_height) - -#define HBF_GetBit(hbf,bitmap,x,y)\ - (((bitmap)[(y)*HBF_RowSize(hbf) + (x)/8]>>(7 - (x)%8))&01) - -extern int hbfDebug; /* set non-zero for error reporting */ - -extern const void *hbfGetCodeRange( -#ifdef __STDC__ - HBF *hbfFile, - const void *code_pointer, - HBF_CHAR *startp, - HBF_CHAR *finishp -#endif - ); - -extern const void *hbfGetByte2Range( -#ifdef __STDC__ - HBF *hbfFile, - const void *b2r_pointer, - unsigned char *startp, - unsigned char *finishp -#endif - ); - -/* - * #2: taken from Appendix 2 of the HBF draft. - */ - -typedef unsigned int HBF_HzCode; -typedef unsigned char HBF_Byte ; -typedef HBF_Byte * HBF_BytePtr ; -typedef HBF * HBF_Handle ; -typedef HBF_Handle * HBF_HandlePtr ; -typedef char * String ; - -extern int HBF_OpenFont( -#ifdef __STDC__ - const char * filename, - HBF_HandlePtr ptrHandleStorage -#endif -); - -extern int HBF_CloseFont( -#ifdef __STDC__ - HBF_Handle handle -#endif -); - -extern const char * HBF_GetProperty( -#ifdef __STDC__ - HBF_Handle handle, - const char * propertyName -#endif -); - -extern int HBF_GetFontBoundingBox( -#ifdef __STDC__ - HBF_Handle handle, - unsigned int *width, - unsigned int *height, - int *xDisplacement, - int *yDisplacement -#endif -); - -extern int HBF_GetBitmapBoundingBox( -#ifdef __STDC__ - HBF_Handle handle, - unsigned int *width, - unsigned int *height, - int *xDisplacement, - int *yDisplacement -#endif -); - -extern int HBF_GetBitmap( -#ifdef __STDC__ - HBF_Handle handle, - HBF_HzCode hanziCode, - HBF_BytePtr ptrBitmapBuffer -#endif -); - -#endif /* ! _HBF_ */ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1 b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1 deleted file mode 100644 index 58fc3fc4227..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1 +++ /dev/null @@ -1,754 +0,0 @@ -.\" man page for hbf2gf -.\" -.\" Copyright (C) 1994-2008 Werner Lemberg -.\" -.\" 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 in doc/COPYING; if not, write to the Free -.\" Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -.\" MA 02110-1301 USA -.\" -. -.TH HBF2GF 1 10-Aug-2008 "CJK Version 4.8.1" -.SH NAME -hbf2gf \- convert a CJK bitmap font into subfonts usable by TeX and Omega. -. -. -.SH SYNOPSIS -.na -.nh -.B hbf2gf -.RB [ \-q ] -.IR \%configuration-file [ .cfg ] -.br -.B hbf2gf -'in +\n(.ku -.RB [ \-q ] -.RB [ \-p ] -.RB [ \-g ] -.RB [ \-n ] -.I \%subfont-name \%x-resolution -.RI [ \%y-scale \ | \ \%y-resolution ] -.br -.in -.B hbf2gf -.B \-t -.RB [ \-q ] -.I \%subfont-name -.br -.B "hbf2gf \-\-version" -| -.B \-\-help -.ad -.hy -. -. -. -.\" ==== -.\" ==== macro definitions -.\" ==== -. -.\" here we define \TeX for troff and nroff -.if t .ds TX \fRT\h'-0.1667m'\v'0.20v'E\v'-0.20v'\h'-0.125m'X\fP -.if n .ds TX TeX -. -.\" and here the same for \LaTeX -.if t \{\ -.ie '\*(.T'dvi' \ -.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX -.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX -.\} -.if n .ds LX LaTeX -. -.\" \LaTeXe -.\" note that we need \vareps for TeX instead of \eps which can only be -.\" accessed with the \N escape sequence (in the Math Italic font) -.if t \{\ -.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' -.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' -.\} -.if n .ds LE LaTeX\ 2e -. -.\" a definition for \Delta -.if t .ds DE \(*D -.if n .ds DE Delta_ -. -.\" a typewriter font -.if t \{\ -.de C -\fC\\$1\fP\\$2 -.. -.\} -.if n \{\ -.de C -\\$1\\$2 -.. -.\} -. -.\" an addition to .TP to allow two labels for the same item -.de TQ -.br -.ns -.TP -.. -. -.\" ==== -.\" ==== end of macro definitions -.\" ==== -. -. -. -.SH DESCRIPTION -CJK bitmap fonts can't be directly used with \*(TX -because the number of characters in such fonts exceeds\ 256, the limit of a -\*(TX -font. -Thus it is necessary to split these fonts into subfonts, and this is -exactly what -.B hbf2gf -does. -.PP -As the name says, -.B hbf2gf -uses CJK fonts in a certain format which is called -.B Hanzi Bitmap Font -.RB ( HBF ) -format. -It simply consists of the CJK bitmap file(s) and a text file in a format -very similar to the BDF format of the X\ Window System which describes the -bitmap font files: the encoding, the size, etc. -The produced -.C GF -files can then be converted with -.B gftopk -into standard -.C PK -files. -.PP -.B hbf2gf -can be called in three modes: -. -.PP -.in +2m -.B hbf2gf -.RB [ \-q ] -.IR configuration-file [ .cfg ] -.PP -.in +5m -This call normally creates a set of -.C GF -files, one -.C PL -file, and a batch file which must be executed after -.B hbf2gf -has finished. -This script will then call -.B gftopk -to convert all -.C GF -files into -.C PK -files, and it will call -.B pltotf -to convert the -.C PL -file into a -.C TFM -file. -Finally it will copy the -.C TFM -file so that each -.C PK -file has its -.C TFM -file (which are all identical). -.PP -.in +5m -If -.B ofm_file -is set to \(oqyes\(cq in the configuration file, -.C OFM -and -.C OVF -files will be created too. -. -.PP -.in +5m -.B \-q -makes -.B hbf2gf -quiet. -.PP -.in +2m -.na -.nh -.B hbf2gf -'in +\n(.ku -.RB [ \-q ] -.RB [ \-p ] -.RB [ \-g ] -.RB [ \-n ] -.I \%subfont-name \%x-resolution -.RI [ \%y-scale \ | \ \%y-resolution ] -.ad -.hy -.PP -.in +5m -This mode is intended for use with -.B \%mktexpk -and its derivates. -Only one -.C GF -file together with a -.C PL -file for the given subfont will be computed, taking the horizontal -resolution and a vertical scaling factor (if the value is smaller than\ 10) -resp. the vertical resolution (otherwise) from the command line, ignoring -the -.B nmb_fonts -parameter of the configuration file. -The last two characters (which are interpreted as the subfont number) are -stripped to get the name for the configuration file (which must end with -\(oq\c -.C \&.cfg \(cq). -No job file will be created. -If option -.B \-p -is set, no -.C PL -file is created. -If -.B \-g -is set, no -.C GF -file is created. -The extension can be controlled with -.BR \-n ; -if set, the extension is \(oq\c -.C \&.gf \(cq, -otherwise \(oq\c -.C \&. <\c -.IR resolution >\c -.C gf \(cq. -.B \-q -makes -.B hbf2gf -quiet. -. -.PP -.in +2m -.na -.nh -.B hbf2gf -'in +\n(.ku -.B \-t -.RB [ \-q ] -.I \%subfont-name -.ad -.hy -.PP -.in +5m -This mode is intended for use with scripts like -.BR \%mktexpk ; -it tests whether the specified subfont name leads to an -.B hbf2gf -configuration file. -It returns 0 on success and prints out the name of that configuration file -(provided the -.B \-q -switch isn't set). -This test isn't a thorough one; it only removes the last two characters -and checks whether a configuration file with that name exists. -.PP -See the next section for more details about configuration files. -.PP -Specifying the option -.B \-\-version -returns the current version of -.B hbf2gf -and the used file search library (e.g.\ \c -.BR kpathsea ). -Usage information is shown with the -.B \-\-help -parameter. -. -. -.SH "CONFIGURATION FILE" -Here a sample configuration file (\c -.C gsfs14.cfg ) -for a 56\(mu56 Chinese font in GB encoding; note that all information -about the font is in the -.C jfs56.hbf -file. -See the -.B "FILE SEARCHING" -section how HBF fonts and -.B hbf2gf -configuration files are found. -See the -.B AVAILABILITY -section where to get CJK fonts together with its -.C HBF -files: -.PP -.if t \fC -.nf - hbf_header jfs56.hbf - mag_x 1 - threshold 128 - comment jianti fansongti 56x56 pixel font - - design_size 14.4 - - y_offset \-13 - - nmb_files \-1 - - output_name gsfs14 - - checksum 123456789 - - dpi_x 300 - - pk_files no - tfm_files yes - - coding codingscheme GuoBiao encoded TeX text - - pk_directory $HBF_TARGET/pk/modeless/gb2312/gsfs14/ - tfm_directory $HBF_TARGET/tfm/gb2312/gsfs14/ -.fi -.if t \fP -.PP -A configuration file is a plain text file consisting of keywords and its -arguments. -A keyword must start a line, otherwise the whole line will be ignored. -If the word starting a line is not a keyword, the line will be ignored too. -Empty lines will also be skipped. -The search for keywords is case insensitive; in contrast, the arguments will -be taken exactly as given (except \(oqyes\(cq and \(oqno\(cq which can be written with -uppercase or lowercase letters). -Each keyword has one argument which must be separated by whitespace (blanks -or tabs) from the keyword and must be on the same line. -Each line must not be longer than 256 characters. -.PP -You can use environment variables in the configuration file. -The escape character starting an environment variable in the configuration -file is always \(oq\c -.C $ \(cq, -even for operating systems like DOS which has other conventions. -.B hbf2gf -recognizes only environment variable names which start with a letter or an -underscore, followed by alphanumeric characters or underscores. -You can surround the variable with braces to indicate where the variable -name ends, for example -.C ${FOO} . -To get a dollar sign you must write \(oq\c -.C $$ \(cq. -The expansion of environment variables in hbf2gf itself (without the help of -either kpathsea, emtexdir, or MiKTeX searching routines) is very limited; -this feature has been carried over from previous versions. -It can't expand variables set in texmf.cnf; it also can't handle more than -one directory as the variable's value. -.B Don't use it except for the \(oqpk_directory\(cq and \(oqtfm_directory\(cq -.B parameters! -.PP -This is the list of all necessary keywords: -.TP -.B hbf_header -The HBF header file name of the input font(s). -.B hbf2gf -uses the given searching mechanism (kpathsea, emtexdir, or MiKTeX) to locate -this file. -.TP -.B output_name -The name stem of the output files. -A running two digit decimal number starting with \(oq\c -.C 01 \(cq -will be appended. -For Unicode fonts see the keyword -.B unicode -below. -This value is in almost all cases identical to the name of the configuration -file. -.PP -And now all optional keywords: -.TP -.B x_offset -Increases the character width. -Will be applied on both sides; default for non-rotated glyphs is the value -given in the HBF header -.RB ( HBF_BITMAP_BOUNDING_BOX ) -scaled to -.B design_size -(in pixels). -.TP -.B y_offset -Shifts all characters up or down; default for non-rotated glyphs is the value -given in the HBF header -.RB ( HBF_BITMAP_BOUNDING_BOX ) -scaled to -.B design_size -(in pixels). -.TP -.B design_size -The design size (in points) of the font. -.B x_offset -and -.B y_offset -refer to this size. -Default is\ 10.0. -.TP -.B slant -The slant of the font (given as \*(DEx\ /\ \*(DEy). -Only values in the range 0\ \(<=\ \fBslant\fP\ \(<=\ 1 are allowed. -Default is\ 0.0. -.TP -.B rotation -If set to \(oqyes\(cq, all glyphs will be rotated 90\ degrees counter-clockwise. -The default offsets as given in the HBF header will be ignored (and set -to\ 0). -Default is \(oqno\(cq. -.TP -.B mag_x -.TQ -.B mag_y -Scaling values of the characters to reach design size. -If only one magnification is given, x and y values are assumed to be equal. -Default is \fBmag_x\fP\ =\ \fBmag_y\fP\ =\ 1.0. -.PP -.TP -.B threshold -A value between 1 and\ 254 defining a threshold for converting the internal -graymap into the output bitmap; lower values cut more pixels. -Default value is\ 128. -.PP -.TP -.B comment -A comment describing the font; default is none. -.PP -.TP -.B nmb_fonts -The number of subfonts to create. -Default value is \-1 for creating all fonts. -.TP -.B unicode -If \(oqyes\(cq, a two digit hexadecimal number will be used as a running number, -starting with the value of the first byte of the first code range. -Default is \(oqno\(cq. -.TP -.B min_char -The minimum value of the encoding. -You should set this value to get correct subfile offsets if it is not -identical to the lowest character code in the HBF file. -.PP -.TP -.B dpi_x -.TQ -.B dpi_y -The horizontal and vertical resolution (in dpi) of the printer. -If only one resolution is given, x and y values are assumed to be equal. -Default is\ 300. -.TP -.B checksum -A checksum to identify the -.C GF -files with the appropriate -.C TFM -files. -The default value of this unsigned 32bit integer is\ 0. -.TP -.B coding -A comment describing the coding scheme; default is none. -.PP -.TP -.B pk_directory -The destination directory of the -.C PK -files; default: none. -Attention! -The batch file will not check whether this directory exists. -.TP -.B tfm_directory -The destination directory of the -.C TFM -files; default: none. -Attention! -The batch file will not check whether this directory exists. -.TP -.B pk_files -Whether to create -.C PK -files or not; default is \(oqyes\(cq. -.TP -.B tfm_files -Whether to create -.C TFM -files or not; default is \(oqyes\(cq. -.TP -.B ofm_file -Whether to create an -.C OPL -file or not; default is \(oqno\(cq. -The batch file will then use -.B ovp2ovf -of the Omega distribution to convert it into an -.C OFM -and an -.C OVF -file. -The -.C OPL -file simply maps all subfonts back to a single Omega font. -.TP -.B long_extension -If \(oqyes\(cq, -.C PK -files will include the resolution in the extension (e.g. -.C gsso1201.300pk ). -This affects the batch file only (default is \(oqyes\(cq). -.TP -.B rm_command -The shell command to remove files; default: \(oqrm\(cq. -.TP -.B cp_command -The shell command to copy files; default: \(oqcp\(cq. -.TP -.B job_extension -The extension of the batch file which calls -.B gftopk -and -.B pltotf -to convert the -.C GF -and the -.C PL -files into -.C PK -and -.C TFM -files respectively; default is none. -. -. -.SH "FILE SEARCHING" -.B hbf2gf -uses either the -.BR kpathsea , -.BR emtexdir , -or -.B MiKTeX -library for searching files -.RB ( emtexdir -will work only on operating systems which have an MS-DOSish background, -i.e., MS-DOS, OS/2, Windows; -.B MiKTeX -is for Win32 systems). -. -.SS kpathsea -Please note that older versions of -.B kpathsea -(<3.2) have no special means to seach for program related files. -Additionally, versions older than 3.3 have no default path for miscellaneous -fonts, thus we use the paths for PostScript related stuff if necessary for -fonts resp. configuration files. -The actual version of kpathsea is displayed on screen if you call -.B hbf2gf -.BR \-\-version . -.PP -Here is a table of the file type and the corresponding -.B kpathsea -variables. -.PP -Version\ 3.3 and newer (this won't change again in the future!): -.PP -.in +4m -.ta 2i -.br -.C "\&.hbf MISCFONTS" -.br -.C "\&.cfg HBF2GFINPUTS" -.PP -Version\ 3.2: -.PP -.in +4m -.ta 2i -.br -.C "\&.hbf T1FONTS" -.br -.C "\&.cfg HBF2GFINPUTS" -.PP -And here the same for pre-3.2-versions of -.B kpathsea: -.PP -.in +4m -.ta 2i -.br -.C "\&.hbf T1FONTS" -.br -.C "\&.cfg TEXCONFIG" -.PP -Finally, the same for versions\ \(<=2.6: -.PP -.in +4m -.ta 2i -.br -.C "\&.hbf DVIPSHEADERS" -.br -.C "\&.cfg TEXCONFIG" -.PP -Please consult the info files of -.B kpathsea -for details on these variables. -The decision which naming scheme to use for variables will be done during -compilation. -.PP -You should set the -.C TEXMFCNF -variable to the directory where your -.C texmf.cnf -configuration file resides. -.PP -Here is the proper command to find out to which value a -.B kpathsea -variable is set (we use -.C MISCFONTS -as an example). -This is especially useful if a variable isn't set in -.C texmf.cnf -or in the environment, thus pointing to the default value which is -hard-coded into the -.B kpathsea -library. -.PP -.in +2m -.C "kpsewhich \-progname=hbf2gf \-expand\-var='$MISCFONTS'" -.PP -We select the program name also since it is possible to specify -variables which are searched only for a certain program \(en in our -example it would be -.C MISCFONTS.hbf2gf . -.PP -A similar but not identical method is to say -.PP -.in +2m -.C "kpsewhich \-progname=hbf2gf \-show\-path='misc fonts'" -.PP -[A full list of format types can be obtained by saying \(oq\c -.C "kpsewhich \-\-help" \(cq -on the command line prompt.] -This is exactly the how -.B hbf2gf -searches for files; the disadvantage is that all variables are expanded -which can cause very long strings. -. -.SS emtexdir -.PP -Here the list of suffixes and its related environment variables to be set in -.C autoexec.bat -(resp. in -.C config.sys -for OS/2): -.PP -.in +4m -.ta 2i -.br -.C "\&.hbf HBFONTS" -.br -.C "\&.cfg HBFCFG" -.PP -If one of the variables isn't set, a warning message is emitted. -The current directory will always be searched. -As usual, one exclamation mark appended to a directory path causes -subdirectories one level deep to be searched, two exclamation marks causes -all subdirectories to be searched. -Example: -.PP -.in +2m -.C HBFONTS=c:\\\\fonts\\\\hbf!!;d:\\\\myfonts\\\\hbf! -.PP -Constructions like \(oq\c -.C c:\\\\fonts!!\\\\hbf \(cq -aren't possible. -. -.SS MikTeX -.PP -Please consult the documentation files of -.B MiKTeX -for more details. -. -. -.SH LIMITATIONS -The x and y output size must not exceed -.BR MAX_CHAR_SIZE , -which is defined at compile time; its default value is 1023\ (pixel). -. -. -.SH "SEE ALSO" -.BR ttf2pk (1) -.PP -.C hbf2gf.w : -'in +\n(.ku -this is the source code written in -.B CWEB -which can be converted into a pretty-printed \*(TX -document using -.BR cweave . -The CJK package also contains a preformatted -.C hbf2gf.dvi -file. -.PP -the -.B CJK -documentation files (\c -.C hbf2gf.txt ). -.PP -the -.B Hanzi Bitmap File -.RB ( HBF ) -standard version\ 1.3; available at -.C ftp.ifcss.org -.PP -the Omega documentation available at -.C ftp.ens.fr -and the CTAN hosts and mirrors. -. -. -.SH FILES -.TP -.C *.cfg -The -.B hbf2gf -configuration scripts -.TP -.C *.hbf -HBF header files which describe fixed-width bitmap fonts. -Note that the bitmap font name(s) themselves as specified in the header files -are irrelevant for -.BR hbf2gf . -. -. -.SH AVAILABILITY -.B hbf2gf -is part of the CJK macro package for \*(LE -available at the CTAN hosts and its mirrors. -.PP -CJK fonts together with HBF header files can be found at -.C ftp.ifcss.org -and its mirrors. -. -. -.SH AUTHORS -Werner Lemberg -.C -.br -Ross Paterson (the HBF API) -.C diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c deleted file mode 100644 index 21a7e5f5913..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c +++ /dev/null @@ -1,2302 +0,0 @@ -#define banner \ -"hbf2gf (CJK ver. 4.8.1)" \ - \ - -#define TRUE 1 -#define FALSE 0 \ - -#define STRING_LENGTH 255 \ - -#define FILE_NAME_LENGTH 1024 \ - \ - -#define VERSION \ -"\n" \ -"Copyright (C) 1996-1999 Werner Lemberg.\n" \ -"There is NO warranty. You may redistribute this software\n" \ -"under the terms of the GNU General Public License\n" \ -"and the HBF library copyright.\n" \ -"\n" \ -"For more information about these matters, see the files\n" \ -"named COPYING and hbf.c.\n" \ -"\n" \ - -#define USAGE \ -"\n" \ -"Usage: hbf2gf [-q] configuration_file[.cfg]\n" \ -" hbf2gf [options] font_name x_resolution [y_scale | y_resolution]\n" \ -" hbf2gf -t [-q] font_name\n" \ -"\n" \ -" Convert a font in HBF format to TeX's GF resp. PK format.\n" \ -"\n" \ -" -q be silent\n" \ -" -p don't produce a PL file\n" \ -" -g don't produce a GF file\n" \ -" -n use no resolution in extension (only `.gf')\n" \ -" -t test for font_name (returns 0 on success)\n" \ -" --help print this message and exit\n" \ -" --version print version number and exit\n" \ -"\n" \ - -#define GF_ID 131 -#define PRE 247 \ - -#define header " hbf2gf output " \ - -#define BOC 67 -#define BOC1 68 -#define EOC 69 \ - -#define _2_16 65536.0 -#define _2_20 1048576.0 \ - -#define XXX1 239 -#define XXX2 240 -#define XXX3 241 -#define XXX4 242 \ - -#define YYY 243 \ - -#define POST 248 \ - -#define CHAR_LOC 245 -#define CHAR_LOC0 246 \ - -#define POSTPOST 249 -#define POSTPOST_ID 223 \ - -#define BLACK 1 -#define WHITE 0 \ - -#define PIXEL_MAXVAL 255 -#define SCALE 4096 -#define HALFSCALE 2048 \ - -#define MAX_CHAR_SIZE 1023 \ - -#define PAINT_(x) (x) -#define PAINT1 64 -#define PAINT2 65 -#define PAINT3 66 \ - -#define SKIP0 70 -#define SKIP1 71 -#define SKIP2 72 -#define SKIP3 73 \ - -#define NEW_ROW_(x) ((x) +74) \ - -#define NOOP 244 \ - -#define EXTENSION_LENGTH 8 \ - -#define GFTOPK_NAME "gftopk" -#define PLTOTF_NAME "pltotf" -#define OVP2OVF_NAME "ovp2ovf" \ - -#define PRINTER_MIN_RES_X 50 -#define PRINTER_MIN_RES_Y 50 \ - -#define VALID_SUBCODE 1 \ - -/*4:*/ -#line 193 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -/*10:*/ -#line 413 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#include -#include -#include -#include -#include -#ifdef TM_IN_SYS_TIME -#include -#endif -#include "hbf.h" - - - -/*:10*//*69:*/ -#line 2483 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#if defined(HAVE_LIBKPATHSEA) -#ifdef VERY_OLD_KPATHSEA -#include "kpathsea/proginit.h" -#include "kpathsea/progname.h" -#include "kpathsea/tex-glyph.h" -#else -#include "kpathsea/kpathsea.h" -#endif - -#elif defined(HAVE_EMTEXDIR) -#include "emtexdir.h" - -#elif defined(HAVE_MIKTEX) -#include "miktex.h" -#endif - -/*:69*/ -#line 194 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -/*11:*/ -#line 431 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_file(void); - - -/*:11*//*13:*/ -#line 493 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_pre(void); - - -/*:13*//*16:*/ -#line 581 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_data(void); - - -/*:16*//*20:*/ -#line 692 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_post(void); - - -/*:20*//*25:*/ -#line 836 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void fputl(long,FILE*); - - -/*:25*//*29:*/ -#line 999 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void make_pixel_array(void); - - -/*:29*//*36:*/ -#line 1227 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#ifdef __GNUC__ -__inline__ -#endif -void read_row(unsigned char*); - - -/*:36*//*39:*/ -#line 1279 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#ifdef __GNUC__ -__inline__ -#endif -void write_row(unsigned char*); - - -/*:39*//*41:*/ -#line 1334 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_coding(void); - - -/*:41*//*45:*/ -#line 1495 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_pl(void); - - -/*:45*//*47:*/ -#line 1592 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_ovp(void); - - -/*:47*//*50:*/ -#line 1737 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_job(void); - - -/*:50*//*54:*/ -#line 1986 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void read_config(void); - - -/*:54*//*64:*/ -#line 2317 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -int fsearch(char*); - - -/*:64*//*67:*/ -#line 2457 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void config_error(char*); - - -/*:67*//*71:*/ -#line 2517 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -char*TeX_search_version(void); - - -/*:71*//*74:*/ -#line 2552 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#ifdef HAVE_EMTEXDIR -extern int setup_list(struct emtex_dir*,char*,const char*,unsigned); -int dir_setup(struct emtex_dir*,const char*,const char*,unsigned); -char*file_find(char*,struct emtex_dir*); -#endif - - -/*:74*//*79:*/ -#line 2649 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -char*TeX_search_cfg_file(char*); -char*TeX_search_hbf_file(char*); - - -/*:79*/ -#line 195 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -/*2:*/ -#line 129 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -int nmb_files= -1; -int unicode= FALSE; - -int testing= FALSE; - -int mf_like= FALSE; -int file_number= 0; - -double x_resolution= 0.0; -double y_scale= 1.0; - -int pk_files= TRUE; -int tfm_files= TRUE; -int long_extension= TRUE; -int quiet= FALSE; - -char config_file[FILE_NAME_LENGTH+4+1]; - -char output_name[STRING_LENGTH+1]; - -FILE*config,*out; -HBF*hbf; - -#ifdef msdos -#define WRITE_BIN "wb" -#define WRITE_TXT "wt" -#define READ_BIN "rb" -#define READ_TXT "rt" -#else -#define WRITE_BIN "w" -#define WRITE_TXT "w" -#define READ_BIN "r" -#define READ_TXT "r" -#endif - -int end_of_file= FALSE; - - -/*:2*//*15:*/ -#line 540 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -long char_adr[256]; -long*char_adr_p; - -int pk_offset_x; - - -double tfm_offset_x; -int pk_offset_y; - -double tfm_offset_y; - -int input_size_x; -int input_size_y; -const char*font_encoding; -int pk_width; -int pk_output_size_x; - -double tfm_output_size_x; -int pk_output_size_y; -double tfm_output_size_y; - -double design_size= 10.0; -double target_size_x; -double target_size_y; -double magstep_x; -double magstep_y; -double slant; -int rotation; - -double mag_x; -double mag_y; - -int empty_char; -int last_char; - -int dot_count; - - - -/*:15*//*19:*/ -#line 669 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -char coding[STRING_LENGTH+1]; -char comment[STRING_LENGTH+1]; - -unsigned long checksum; - -long pk_total_min_x; -long pk_total_max_x; -long pk_total_min_y; -long pk_total_max_y; - -int dpi_x; -int dpi_y; -double ppp_x; -double ppp_y; - - -/*:19*//*27:*/ -#line 876 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -HBF_CHAR code; -const unsigned char*bitmap; - -unsigned char*bP; - -unsigned char out_char[MAX_CHAR_SIZE*MAX_CHAR_SIZE+1]; - -unsigned char*out_char_p; - -unsigned char pixelrow[MAX_CHAR_SIZE]; -unsigned char temp_pixelrow[MAX_CHAR_SIZE]; -unsigned char new_pixelrow[MAX_CHAR_SIZE+1]; - -int curr_row; - -long grayrow[MAX_CHAR_SIZE]; - -long s_mag_x,s_mag_y,s_slant; - - -/*:27*//*38:*/ -#line 1274 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -int threshold= 128; - - -/*:38*//*49:*/ -#line 1726 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -char job_extension[EXTENSION_LENGTH+1]; -char rm_command[STRING_LENGTH+1]; -char cp_command[STRING_LENGTH+1]; -char pk_directory[STRING_LENGTH+1]; -char tfm_directory[STRING_LENGTH+1]; - -int ofm_file= FALSE; - - -/*:49*//*53:*/ -#line 1981 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -char Buffer[STRING_LENGTH+1]; - - -/*:53*//*58:*/ -#line 2099 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -int offset_x; -int offset_y; - -HBF_CHAR user_min_char; -int have_min_char= FALSE; - -/*:58*//*60:*/ -#line 2256 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -HBF_CHAR min_char,max_char; - - -/*:60*//*62:*/ -#line 2283 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -char b2_codes[256]; -unsigned char min_2_byte,max_2_byte; -int nmb_2_bytes= 0; - - -/*:62*//*70:*/ -#line 2501 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#if defined(HAVE_LIBKPATHSEA) -#ifdef KPSEDLL - -extern KPSEDLL char*kpathsea_version_string; -#else -extern DllImport char*kpathsea_version_string; -#endif -#elif defined(HAVE_EMTEXDIR) -char emtex_version_string[]= "emTeXdir"; -#elif !defined(HAVE_MIKTEX) -char no_version_string[]= "no search library"; -#endif - - -/*:70*//*73:*/ -#line 2545 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#ifdef HAVE_EMTEXDIR -struct emtex_dir cfg_path,hbf_path; -#endif - - -/*:73*//*76:*/ -#line 2591 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -char name_buffer[FILE_NAME_LENGTH+1]; - - -/*:76*/ -#line 196 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - - - -int main(argc,argv) -int argc; -char*argv[]; - -{char*p; - -/*78:*/ -#line 2613 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#if defined(HAVE_LIBKPATHSEA) -#ifdef OLD_KPATHSEA -kpse_set_progname(argv[0]); -#else -kpse_set_program_name(argv[0],"hbf2gf"); -#endif - -#ifdef VERY_OLD_KPATHSEA -kpse_init_prog("HBF2GF",300,"cx",true,"cmr10"); -#else -kpse_init_prog("HBF2GF",300,"cx","cmr10"); -#endif - -#elif defined(HAVE_EMTEXDIR) -if(!dir_setup(&cfg_path,"HBFCFG",NULL,EDS_BANG)) -{fprintf(stderr, -"Couldn't setup search path for configuration files\n"); -exit(1); -} -if(!dir_setup(&hbf_path,"HBFONTS",NULL,EDS_BANG)) -{fprintf(stderr, -"Couldn't setup search path for HBF header files\n"); -exit(1); -} -#endif - - -/*:78*/ -#line 205 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - - -/*7:*/ -#line 312 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -if(argc==2) -{if(strcmp(argv[1],"--help")==0) -/*6:*/ -#line 293 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{printf(USAGE); -exit(0); -} - - -/*:6*/ -#line 315 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -else if(strcmp(argv[1],"--version")==0) -/*5:*/ -#line 266 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{printf("\n"); -printf(banner); -printf(" (%s)\n",TeX_search_version()); -printf(VERSION); -exit(0); -} - - -/*:5*/ -#line 317 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -} - -while(argc> 1) -{p= argv[1]; -if(p[0]!='-') -break; -if(p[1]=='p') -tfm_files= FALSE; -else if(p[1]=='g') -pk_files= FALSE; -else if(p[1]=='n') -long_extension= FALSE; -else if(p[1]=='q') -quiet= TRUE; -else if(p[1]=='t') -testing= TRUE; - -argv++; -argc--; -} - -if(testing) -{if(argc!=2) -{fprintf(stderr,"Need exactly one parameter for `-t' option.\n"); -fprintf(stderr,"Try `hbf2gf --help' for more information.\n"); -exit(1); -} -} -else if(argc<2||argc> 4) -{fprintf(stderr,"Invalid number of parameters.\n"); -fprintf(stderr,"Try `hbf2gf --help' for more information.\n"); -exit(1); -} - - -/*:7*/ -#line 207 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - - -if(!quiet) -printf("\n%s\n\n",banner); - -strncpy(config_file,argv[1],FILE_NAME_LENGTH); -config_file[FILE_NAME_LENGTH]= '\0'; - -if(argc> 2||testing) -{int l= strlen(config_file); - -if(l> 2) -config_file[l-2]= '\0'; - -else -{if(!quiet) -printf("`%s' can't be a subfont created by hbf2gf\n", -config_file); -exit(2); -} - -mf_like= TRUE; -} - -read_config(); - -if(mf_like) -/*8:*/ -#line 357 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{if(unicode) -file_number= (int)strtol(&argv[1][strlen(argv[1])-2], -(char**)NULL,16); -else -file_number= atoi(&argv[1][strlen(argv[1])-2]); - -x_resolution= atof(argv[2]); -if(x_resolution 3) -{y_scale= atof(argv[3]); -if(y_scale<0.01) -{fprintf(stderr, -"Invalid vertical scaling factor or resolution\n"); -exit(1); -} -if(y_scale> 10.0) -y_scale= (double)x_resolution/y_scale; -} -} - - -/*:8*/ -#line 234 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - - -/*28:*/ -#line 908 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{int col,offset; - -if(rotation) -{int tmp; - - -tmp= input_size_x; -input_size_x= input_size_y; -input_size_y= tmp; -} - -if(mf_like) -{target_size_x= design_size*(x_resolution/dpi_x); -target_size_y= design_size*(x_resolution*y_scale/dpi_y); -} -else -target_size_x= target_size_y= design_size; -magstep_x= target_size_x/design_size; -magstep_y= target_size_y/design_size; - -pk_offset_x= offset_x*magstep_x+0.5; -pk_offset_y= offset_y*magstep_y+0.5; -tfm_offset_x= offset_x/(dpi_x/72.27)/design_size; -tfm_offset_y= offset_y/(dpi_y/72.27)/design_size; - -pk_width= input_size_x*mag_x*magstep_x+0.5; -pk_output_size_x= input_size_x*mag_x*magstep_x+ -input_size_y*mag_y*magstep_y*slant+0.5; -pk_output_size_y= input_size_y*mag_y*magstep_y+0.5; -tfm_output_size_x= input_size_x*mag_x/ -(dpi_x/72.27)/design_size; -tfm_output_size_y= input_size_y*mag_y/ -(dpi_y/72.27)/design_size; -if(pk_output_size_x> MAX_CHAR_SIZE) -{fprintf(stderr,"Output character box width too big\n"); -exit(1); -} -if(pk_output_size_y> MAX_CHAR_SIZE) -{fprintf(stderr,"Output character box height too big\n"); -exit(1); -} - -for(col= 0;col=0x100)) -{fprintf(stderr,"Invalid subfile number\n"); -exit(1); -} - -if(unicode) -{offset= 0; -code= file_number*0x100; -} -else -{offset= (file_number-1)*256%nmb_2_bytes; -code= (min_char&0xFF00)+min_2_byte+ -(file_number-1)*256/nmb_2_bytes*0x100; -} - -while(offset--) -while(!b2_codes[code++&0xFF]) - -; - -if(code> max_char) -{fprintf(stderr,"Invalid subfile number\n"); -exit(1); -} -} - -s_mag_x= mag_x*magstep_x*SCALE; -s_mag_y= mag_y*magstep_y*SCALE; -s_slant= slant*SCALE; -} - - -/*:28*/ -#line 236 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - - -/*9:*/ -#line 392 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{int j,max_numb; - -if(!mf_like) -{file_number= (unicode==TRUE?(min_char>>8):1); -if(nmb_files==-1) -max_numb= (unicode==TRUE?0x100:100); -else -max_numb= nmb_files; -} -else -max_numb= 1; - -for(j= 0;(j>24,f); -fputc(num>>16,f); -fputc(num>>8,f); -fputc(num,f); -} - - -/*:26*//*30:*/ -#line 1004 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void make_pixel_array(void) -{unsigned char*prP; -unsigned char*temp_prP; -unsigned char*new_prP; -long*grP; - -register unsigned char*xP; -register unsigned char*nxP; - -register int row,col; -int rows_read= 0; -register int need_to_read_row= 1; - -long frac_row_to_fill= SCALE; -long frac_row_left= s_mag_y; - -int no_code= FALSE; - - -prP= pixelrow; -temp_prP= temp_pixelrow; -new_prP= new_pixelrow; -grP= grayrow; -out_char_p= out_char; - -again: -if(b2_codes[code&0xFF]) -{if(pk_files) -{bitmap= hbfGetBitmap(hbf,code); -bP= (unsigned char*)bitmap; - - -if(!bitmap) -empty_char= TRUE; -else -/*31:*/ -#line 1063 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{if(pk_output_size_y==input_size_y) -temp_prP= prP; - -curr_row= input_size_y-1; -for(row= 0;row PIXEL_MAXVAL) -g= PIXEL_MAXVAL; - -*nxP= g; -grP[col]= HALFSCALE; -} - -frac_row_left-= frac_row_to_fill; -if(frac_row_left==0) -{frac_row_left= s_mag_y; -need_to_read_row= 1; -} -frac_row_to_fill= SCALE; - - -/*:33*/ -#line 1097 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -} - - -/*:32*/ -#line 1069 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -/*34:*/ -#line 1145 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -if(pk_width==input_size_x&&s_slant==0) - -write_row(temp_prP); -else -{register long g= HALFSCALE; -register long frac_col_to_fill= SCALE; -register long frac_col_left; -register int need_col= 0; - - -nxP= new_prP; - -frac_col_left= (pk_output_size_y-row)*s_slant; -while(frac_col_left>=frac_col_to_fill) -{*(nxP++)= 0; -frac_col_left-= frac_col_to_fill; -} - -if(frac_col_left> 0) -frac_col_to_fill-= frac_col_left; - -for(col= 0,xP= temp_prP;col=frac_col_to_fill) -{if(need_col) -{++nxP; -g= HALFSCALE; -} - -g+= frac_col_to_fill*(*xP); -g/= SCALE; -if(g> PIXEL_MAXVAL) -g= PIXEL_MAXVAL; - -*nxP= g; -frac_col_left-= frac_col_to_fill; -frac_col_to_fill= SCALE; -need_col= 1; -} - -if(frac_col_left> 0) -{if(need_col) -{++nxP; -g= HALFSCALE; -need_col= 0; -} - -g+= frac_col_left*(*xP); -frac_col_to_fill-= frac_col_left; -} -} - -/*35:*/ -#line 1203 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -if(frac_col_to_fill> 0) -{--xP; -g+= frac_col_to_fill*(*xP); -} - -if(!need_col) -{g/= SCALE; -if(g> PIXEL_MAXVAL) -g= PIXEL_MAXVAL; -*nxP= g; -} - -*(++nxP)= 0; - -write_row(new_prP); - - -/*:35*/ -#line 1198 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -} - - -/*:34*/ -#line 1071 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -} -} - - -/*:31*/ -#line 1040 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -} -} -else -no_code= TRUE; - -if((code&0xFF)==max_2_byte) -code+= 0xFF-(max_2_byte-min_2_byte); -if(code>=max_char) -{end_of_file= TRUE; -return; -} - -code++; - -if(no_code) -{no_code= FALSE; -goto again; -} -} - - -/*:30*//*37:*/ -#line 1235 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#ifdef __GNUC__ -__inline__ -#endif -void read_row(pixelrow) -unsigned char*pixelrow; - -{register int col,bitshift,offset; -register unsigned char*xP; -register unsigned char item= 0; - -if(rotation) -{bitshift= 7-(curr_row%8); -offset= (input_size_y+7)/8; -bP= (unsigned char*)bitmap+curr_row/8; -for(col= 0,xP= pixelrow;col>bitshift)&1)==1?PIXEL_MAXVAL:0; -bP+= offset; -} -curr_row--; -} -else -{bitshift= -1; -for(col= 0,xP= pixelrow;col>bitshift)&1)==1?PIXEL_MAXVAL:0; ---bitshift; -} -} -} - - -/*:37*//*40:*/ -#line 1287 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#ifdef __GNUC__ -__inline__ -#endif -void write_row(pixelrow) -unsigned char*pixelrow; - -{register int col; -register unsigned char*xP; - -for(col= 0,xP= pixelrow;col=threshold)?1:0; - -} - - -/*:40*//*42:*/ -#line 1342 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_coding(void) -{register int count,skip; -register unsigned char paint; -register int x,y; -register unsigned char*cp; - -x= 0; -y= 0; -cp= out_char+y*pk_output_size_x+x; -count= skip= 0; -paint= WHITE; -goto start; - -while(y>8,out); -fputc(count&0xFF,out); -} -} -} -else -{if(skip==1) -fputc(SKIP0,out); -else -{if(skip<256) -{fputc(SKIP1,out); -fputc(skip,out); -} -else -{fputc(SKIP2,out); -fputc(skip>>8,out); -fputc(skip&0xFF,out); -} -} -skip= 0; -if(count<64) -fputc(PAINT_(count),out); -else if(count<256) -{fputc(PAINT1,out); -fputc(count,out); -} -else -{fputc(PAINT2,out); -fputc(count>>8,out); -fputc(count&0xFF,out); -} -} -count= 0; -paint= BLACK; -break; -} -x++; -cp++; -} -if(x>=pk_output_size_x) -{skip++; -y++; -continue; -} - - -/*:43*/ -#line 1357 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -start: -/*44:*/ -#line 1434 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -while(x>8,out); -fputc(count&0xFF,out); -} -count= 1; -paint= BLACK-paint; -} -x++; -cp++; -} -if(paint==BLACK) -{if(count<64) -fputc(PAINT_(count),out); -else if(count<256) -{fputc(PAINT1,out); -fputc(count,out); -} -else -{fputc(PAINT2,out); -fputc(count>>8,out); -fputc(count&0xFF,out); -} -paint= WHITE; -} - - - -/*:44*/ -#line 1359 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -y++; -} -} - - -/*:42*//*46:*/ -#line 1500 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void write_pl(void) -{int i,pos; -char output_file[FILE_NAME_LENGTH+1]; -long t,sc; -char*s; -char tfm_header[]= "Created by hbf2gf"; - -file_number--; - -if(mf_like) -{if(unicode) -sprintf(output_file,"%s%02x.pl",output_name,file_number); -else -sprintf(output_file,"%s%02i.pl",output_name,file_number); -} -else -sprintf(output_file,"%s.pl",output_name); - -if(!(out= fopen(output_file,WRITE_TXT))) -{fprintf(stderr,"Couldn't open `%s'\n",output_file); -exit(1); -} -if(!quiet) -printf("\nWriting `%s'\n",output_file); - -fprintf(out, -"\n(FAMILY %s%d)" -"\n(CODINGSCHEME CJK-%s)", -output_name,file_number,font_encoding); - -fprintf(out, -"\n(DESIGNSIZE R %.6f)" -"\n(COMMENT DESIGNSIZE IS IN POINTS)" -"\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)" -"\n(CHECKSUM O %lo)" -"\n(FONTDIMEN" -"\n (SLANT R %.6f)" -"\n (SPACE R 0.0)" -"\n (STRETCH R 0.0)" -"\n (SHRINK R 0.0)" -"\n (XHEIGHT R 1.0)" -"\n (QUAD R 1.0)" -"\n (EXTRASPACE R 0.0)" -"\n )",design_size,checksum,slant); - -s= tfm_header; -i= strlen(s); -t= ((long)i)<<24; -sc= 16; -pos= 18; - -fprintf(out,"\n"); -while(i> 0) -{t|= ((long)(*(unsigned char*)s++))<=256) -nmb_subfonts++; - -sprintf(output_file,"%s.ovp",output_name); - -if(!(out= fopen(output_file,WRITE_TXT))) -{fprintf(stderr,"Couldn't open `%s'\n",output_file); -exit(1); -} -if(!quiet) -printf("\nWriting `%s'\n",output_file); - -fprintf(out, -"\n(VTITLE Omega virtual font created by hbf2gf)" -"\n(DESIGNSIZE R %.6f)" -"\n(COMMENT DESIGNSIZE IS IN POINTS)" -"\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)" -"\n(CHECKSUM O %lo)" -"\n(FONTDIMEN" -"\n (SLANT R %.6f)" -"\n (SPACE R 0.0)" -"\n (STRETCH R 0.0)" -"\n (SHRINK R 0.0)" -"\n (XHEIGHT R 1.0)" -"\n (QUAD R 1.0)" -"\n (EXTRASPACE R 0.0)" -"\n )",design_size,checksum,slant); - -s= ofm_header; -i= strlen(s); -t= ((long)i)<<24; -sc= 16; -pos= 18; - -fprintf(out,"\n"); -while(i> 0) -{t|= ((long)(*(unsigned char*)s++))<>8),j= 0;j>8),j= 0;jhbf_height; -input_size_y= boxp->hbf_width; -font_encoding= hbfProperty(hbf,"HBF_CODE_SCHEME"); - -if(!fsearch("output_name")) -config_error("output_name"); -else -strcpy(output_name,Buffer); -} - - -/*:57*/ -#line 2033 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -/*59:*/ -#line 2107 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{if(fsearch("nmb_files")) -nmb_files= atoi(Buffer); -if(fsearch("unicode")) -if(Buffer[0]=='y'||Buffer[0]=='Y') -unicode= TRUE; -if(fsearch("min_char")) -{user_min_char= strtoul(Buffer,(char**)NULL,0); -have_min_char= TRUE; -} - -if(!mf_like) -{if(fsearch("pk_files")) -if(Buffer[0]=='n'||Buffer[0]=='N') -pk_files= FALSE; -if(fsearch("tfm_files")) -if(Buffer[0]=='n'||Buffer[0]=='N') -tfm_files= FALSE; -if(fsearch("ofm_file")) -if(Buffer[0]=='y'||Buffer[0]=='Y') -ofm_file= TRUE; -if(fsearch("long_extension")) -if(Buffer[0]=='n'||Buffer[0]=='N') -long_extension= FALSE; -} - -if(fsearch("slant")) -slant= atof(Buffer); -if(slant<0.0||slant> 1.0) -{fprintf(stderr,"Invalid slant\n"); -exit(1); -} -if(fsearch("rotation")) -if(Buffer[0]=='y'||Buffer[0]=='Y') -rotation= TRUE; - -if(fsearch("mag_x")) -mag_x= atof(Buffer); -if(fsearch("mag_y")) -mag_y= atof(Buffer); -if(!mag_x&&!mag_y) -{mag_x= 1.0; -mag_y= 1.0; -} -if(mag_x&&!mag_y) -mag_y= mag_x; -if(mag_y&&!mag_x) -mag_x= mag_y; -if(mag_x<=0.0) -{fprintf(stderr,"Invalid horizontal magnification\n"); -exit(1); -} -if(mag_y<=0.0) -{fprintf(stderr,"Invalid vertical magnification\n"); -exit(1); -} - -if(fsearch("dpi_x")) -dpi_x= atoi(Buffer); -if(fsearch("dpi_y")) -dpi_y= atoi(Buffer); -if(!dpi_x&&!dpi_y) -{dpi_x= 300; -dpi_y= 300; -} -if(dpi_x&&!dpi_y) -dpi_y= dpi_x; -if(dpi_y&&!dpi_x) -dpi_x= dpi_y; -if(dpi_x<=PRINTER_MIN_RES_X) -{fprintf(stderr,"Invalid horizontal printer resolution\n"); -exit(1); -} -if(dpi_y<=PRINTER_MIN_RES_Y) -{fprintf(stderr,"Invalid vertical printer resolution\n"); -exit(1); -} - -if(fsearch("design_size")) -design_size= atof(Buffer); - -if(fsearch("x_offset")) -offset_x= atoi(Buffer); -else -offset_x= rotation?0:(boxp->hbf_xDisplacement*mag_x+0.5); -if(fsearch("y_offset")) -offset_y= atoi(Buffer); -else -offset_y= rotation?0:(boxp->hbf_yDisplacement*mag_y+0.5); -if(!fsearch("comment")) -comment[0]= '\0'; -else -strcpy(comment,Buffer); - -if(fsearch("threshold")) -threshold= atoi(Buffer); -if(threshold<=0||threshold>=255) -{fprintf(stderr,"Invalid threshold\n"); -exit(1); -} - -if(!fsearch("checksum")) -checksum= 0; -else -checksum= strtoul(Buffer,(char**)NULL,0); - -if(!fsearch("coding")) -coding[0]= '\0'; -else -strcpy(coding,Buffer); - -if(!fsearch("pk_directory")) -pk_directory[0]= '\0'; -else -strcpy(pk_directory,Buffer); - -if(!fsearch("tfm_directory")) -tfm_directory[0]= '\0'; -else -strcpy(tfm_directory,Buffer); - -if(fsearch("rm_command")) -strcpy(rm_command,Buffer); -else -strcpy(rm_command,"rm"); - -if(fsearch("cp_command")) -strcpy(cp_command,Buffer); -else -strcpy(cp_command,"cp"); - -if(!fsearch("job_extension")) -job_extension[0]= '\0'; -else -{strncpy(job_extension,Buffer,EXTENSION_LENGTH); -job_extension[EXTENSION_LENGTH]= '\0'; -} -} - - -/*:59*/ -#line 2034 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - - -/*61:*/ -#line 2261 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{const void*cp; -HBF_CHAR dummy; - -cp= hbfGetCodeRange(hbf,NULL,&min_char,&max_char); -for(;cp!=NULL;cp= hbfGetCodeRange(hbf,cp,&dummy,&max_char)) -; - -if(have_min_char) -min_char= user_min_char; -} - - -/*:61*/ -#line 2036 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -/*63:*/ -#line 2290 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{const void*b2r; -unsigned char dummy; -int i; - -for(i= 0;i<256;i++) -b2_codes[i]= 0; - -b2r= hbfGetByte2Range(hbf,NULL,&min_2_byte,&max_2_byte); -dummy= min_2_byte; -for(;b2r!=NULL;b2r= hbfGetByte2Range(hbf,b2r,&dummy,&max_2_byte)) -{for(i= dummy;i<=max_2_byte;i++) -b2_codes[i]= VALID_SUBCODE; -} - -for(i= 0;i<256;i++) -if(b2_codes[i]==VALID_SUBCODE) -nmb_2_bytes++; -} - - -/*:63*/ -#line 2037 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - - -fclose(config); -} - - -/*:55*//*65:*/ -#line 2322 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -int fsearch(search_string) -char*search_string; - -{char*P,p; -char temp_buffer[STRING_LENGTH+1]; -char env_name[STRING_LENGTH+1]; -char*env_p; -char*env_value; -char*Buf_p; -int Ch,ch,old_ch= '\n'; -int count= STRING_LENGTH; - -rewind(config); - -do -{P= search_string; -p= tolower(*P); -Ch= fgetc(config); -ch= tolower(Ch); -while(!(ch==p&&old_ch=='\n')&&Ch!=EOF) - - -{old_ch= ch; -Ch= fgetc(config); -ch= tolower(Ch); -} - -for(;;) -{if(*(++P)=='\0') -if((Ch= fgetc(config))==' '||Ch=='\t') - -goto success; -Ch= fgetc(config); -if(tolower(Ch)!=tolower(*P)) -break; -} -} -while(Ch!=EOF); - -return 0; - -success: -P= temp_buffer; - -while((Ch= fgetc(config))==' '||Ch=='\t') - -; -while(Ch!='\n'&&--count> 0&&Ch!=EOF) -{*P++= Ch; -Ch= fgetc(config); -} -*P= '\0'; - -if(*temp_buffer) -/*66:*/ -#line 2402 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -{P= temp_buffer; -Buf_p= Buffer; -count= STRING_LENGTH-1; - -while(*P&&count> 0) -{env_p= env_name; - -if(*P=='$') -{P++; -if(*P=='$') -{*(Buf_p++)= *(P++); -count--; -continue; -} -while(*P=='{') -P++; -if(!(isalpha(*P)||*P=='_')) -{fprintf(stderr, -"Invalid environment variable name in configuration file\n"); -exit(1); -} -*(env_p++)= *(P++); -while(*P) -{if(isalnum(*P)||*P=='_') -*(env_p++)= *(P++); -else -{while(*P=='}') -P++; -*env_p= '\0'; -break; -} -} - -env_value= getenv(env_name); -if(env_value) -{while(*env_value&&count> 0) -{*(Buf_p++)= *(env_value++); -count--; -} -} -} -else -{*(Buf_p++)= *(P++); -count--; -} -} -*Buf_p= '\0'; -} - - -/*:66*/ -#line 2377 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -else -*Buffer= '\0'; - -return(*Buffer)?1:0; -} - - -/*:65*//*68:*/ -#line 2462 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -void config_error(message) -char*message; - -{fprintf(stderr,"Couldn't find `%s' entry in configuration file\n", -message); -exit(1); -} - - - -/*:68*//*72:*/ -#line 2522 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -char*TeX_search_version(void) -{ -#if defined(HAVE_LIBKPATHSEA) -return kpathsea_version_string; -#elif defined(HAVE_EMTEXDIR) -return emtex_version_string; -#elif defined(HAVE_MIKTEX) -char buf[200]; - -strcpy(buf,"MiKTeX "); -miktex_get_miktex_version_string_ex(buf+7,sizeof(buf)-7); - -return buf; -#else -return no_version_string; -#endif -} - - -/*:72*//*75:*/ -#line 2564 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#ifdef HAVE_EMTEXDIR -int dir_setup(ed,env,dir,flags) -struct emtex_dir*ed; -const char*env; -const char*dir; -unsigned flags; - -{const char*val; -char path[260]; - -ed->alloc= 0; -ed->used= 0; -ed->list= NULL; - -if(env!=NULL&&(val= getenv(env))!=NULL) -return setup_list(ed,path,val,flags); -else -fprintf(stderr, -"Environment variable `%s' not set; use current directory\n", -env); - -return TRUE; -} - - -/*:75*//*77:*/ -#line 2596 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -char*file_find(name,list) -char*name; -struct emtex_dir*list; - -{if(emtex_dir_find(name_buffer,sizeof(name_buffer),list,name,EDF_CWD)) -return name_buffer; - -return NULL; -} -#endif - - -/*:77*//*80:*/ -#line 2655 "/home/wl/git/cjk/cjk-4.8.1/utils/hbf2gf/hbf2gf.w" - -#if defined(HAVE_LIBKPATHSEA) -char*TeX_search_cfg_file(name) -char*name; - -{ -#ifdef OLD_KPATHSEA -return kpse_find_file(name,kpse_dvips_config_format,TRUE); -#else -return kpse_find_file(name,kpse_program_text_format,TRUE); -#endif -} - - -char*TeX_search_hbf_file(name) -char*name; - -{ -#ifdef VERY_OLD_KPATHSEA -return kpse_find_file(name,kpse_dvips_header_format,TRUE); -#else -#ifndef KPSEDLL -return kpse_find_file(name,kpse_type1_format,TRUE); -#else -return kpse_find_file(name,kpse_miscfonts_format,TRUE); -#endif -#endif -} - - -#elif defined(HAVE_EMTEXDIR) -char*TeX_search_cfg_file(name) -char*name; - -{return file_find(name,&cfg_path); -} - - -char*TeX_search_hbf_file(name) -char*name; - -{return file_find(name,&hbf_path); -} - - -#elif defined(HAVE_MIKTEX) -char*TeX_search_cfg_file(name) -char*name; - -{char result[_MAX_PATH]; - -if(!miktex_find_input_file("hbf2gf",*name,result)) -return 0; -return strdup(result); -} - - -char*TeX_search_hbf_file(name) -char*name; - -{char result[_MAX_PATH]; - - -if(!miktex_find_miscfont_file(*name,result)) -return 0; -return strdup(result); -} - - -#else -char*TeX_search_cfg_file(name) -char*name; - -{return name; -} - - -char*TeX_search_hbf_file(name) -char*name; - -{return name; -} -#endif - - - -/*:80*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def deleted file mode 100644 index 57435f7ab0c..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def +++ /dev/null @@ -1,3 +0,0 @@ -NAME HBF2GF WINDOWCOMPAT -DESCRIPTION 'hbf2gf (CJK Ver. 4.8.1)' -STACKSIZE 0x80000 diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w deleted file mode 100644 index 1c2dc44492c..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w +++ /dev/null @@ -1,2872 +0,0 @@ -% This is the cweb file hbf2gf.w of the CJK package ver. 4.8.1 10-Aug-2008 - -% Copyright (C) 1994-2008 Werner Lemberg -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -% To print this CWEB file you should (but not must) use the CWEAVE of the -% c2cweb-package (found at the CTAN archives, e.g. ftp.dante.de) and then say -% -% cweave +ai hbf2gf.w -% -% This (fully compatible) CWEAVE can transform CWEB-files with alternative -% output rules (look at the position of braces below!) the author (it's me -% too :-) prefer. Otherwise this file will be formatted traditionally. - -\font\meta=logo10 -\def\mf{{\meta META}\-{\meta FONT}} -\def\Om{\char "0A} % Omega symbol - -\def\title{hbf2gf (CJK Version 4.8.1)} - -\def\topofcontents{ - \null\vfill - \centerline{\titlefont The {\ttitlefont hbf2gf} program} - \vskip 20pt - \centerline{(CJK Version 4.8.1)} - \vfill} - -\def\botofcontents{ - \vfill - \noindent - Copyright \copyright~1996-1999 by Werner Lemberg - \bigskip\noindent - Permission is granted to make and distribute verbatim copies of this - document provided that the copyright notice and this permission notice are - preserved on all copies. - - \smallskip\noindent - Permission is granted to copy and distribute modified versions of this - document under the conditions for verbatim copying, provided that the - entire resulting derived work is distributed under the terms of a - permission notice identical to this one.} - -\pageno=\contentspagenumber \advance\pageno by 1 -\let\maybe=\iftrue -\fullpageheight=240mm -\pageheight=223mm -\pagewidth=158mm -\setpage -\frenchspacing - - -\def\msdos{\.{msdos}} -@s msdos TeX - -@s HBF int -@s HBF_CHAR int -@s HBF_BBOX int - -@s __inline__ int -@s DllImport int -@s KPSEDLL int - - -@* Introduction. -This is the \.{hbf2gf} program by Werner Lemberg -(\.{wl@@gnu.org}). - -The ``banner line'' defined here should be changed whenever \.{hbf2gf} is -modified. - -@d banner -"hbf2gf (CJK ver. 4.8.1)" - - -@ -\.{hbf2gf} is intended to convert Hanzi Bitmap Fonts (HBF) into \TeX\ -generic font files (\.{GF} files) according to the \\{CJK} package, which -\.{hbf2gf} is part of. - -The outline of \.{hbf2gf} is simple: a CJK (Chinese/Japanese/Korean) bitmap -file will be scaled and written in at most |nmb_files| \.{GF} files, each -file containing |256|~characters (except the last and possibly the first -one). In the normal case it's not necessary to compute the right value of -|nmb_files| because \.{hbf2gf} will do this; you should use |-1| instead to -indicate this. See the last section for an example. - -Alternatively you can call \.{hbf2gf} similar to \mf, i.e., the program will -compute one font on demand. This mode will be used if two or three input -parameters instead of one are given: the font name, the horizontal -resolution, and optionally a vertical scaling factor or resolution to allow -modes for e.g.\ $300\times600\,\hbox{dpi}$ printers. \.{hbf2gf} will extract -the configuration file name from the font name; if this file isn't found, -the program exits with error code~|2| (this is useful for scripts like -\.{mktexpk}). If the configuration file is found but an error occurs while -computing the font, error code~|1| is returned. In case of success, the exit -code is zero. - -The characters in the input font files are completely described by the HBF -header file. This program uses the HBF API implementation of Ross Paterson -(\.{ross@@soi.city.ac.uk}; with small extensions). You will find a -description of the HBF standard at \.{ftp.ifcss.org}. - -A batch file created by \.{hbf2gf} too (if the program computes a whole set -of subfonts) will convert the \.{GF} files to \.{PK} files using -\.{GFtoPK}, a part of every \TeX\ package. - -@d TRUE 1 -@d FALSE 0@# - -@d STRING_LENGTH 255 - /* the maximal length of an input string in the configuration file */ -@d FILE_NAME_LENGTH 1024 - /* the maximal length (including the path) of a filename */@# - -@= -int nmb_files = -1; /* create all files by default */ -int unicode = FALSE; /* whether a Unicode font should be processed */@# - -int testing = FALSE; /* whether we test only the font name */@# - -int mf_like = FALSE; /* whether we are in the \mf-like mode */ -int file_number = 0; /* the subfont number */@# - -double x_resolution = 0.0; /* the second and third input parameter */ -double y_scale = 1.0;@# - -int pk_files = TRUE; /* command line options */ -int tfm_files = TRUE; -int long_extension = TRUE; -int quiet = FALSE;@# - -char config_file[FILE_NAME_LENGTH + 4 + 1]; - /* we probably must add `\.{.cfg}' */ -char output_name[STRING_LENGTH + 1];@# - -FILE *config, *out; -HBF *hbf;@# - -#ifdef msdos /* if we compile under DOS or OS/2 */ -#define WRITE_BIN "wb" -#define WRITE_TXT "wt" -#define READ_BIN "rb" -#define READ_TXT "rt" -#else -#define WRITE_BIN "w" -#define WRITE_TXT "w" -#define READ_BIN "r" -#define READ_TXT "r" -#endif@# - -int end_of_file = FALSE; - - -@ -One \.{PL} file will be created additionally, which describes the font -metrics in a readable way. Because all CJK characters have identical -bounding boxes, one metrics file is enough---the batch job created by -\.{hbf2gf} calls \.{PLtoTF} to produce this \.{TFM} file and then copies -it into |nmb_files| metrics files. There usually will be a discrepancy -between the number of characters in the last \.{GF} file and the -\.{TFM} file, but this does not harm. - -If you specify the \.{ofm\_file} option in the configuration file, an -extended virtual property file (such files have the extension \.{.ovp}) for -the \Om\ system is written; this will be then converted with -\.{ovp2ovf} into an \.{OFM} and an \.{OVF} file to map all the subfonts -into one large virtual font. - - - -@* The main routine. -The main routine takes |file_name|, |x_resolution|, and |y_scale| as command -line parameters if in \mf-like mode, otherwise |config_file| as the only -argument. |read_config()| scans the configuration file and fills the global -variables, |write_file()| writes the \.{GF} files, |write_pl()| and -|write_ovp()| write the \.{PL} and \.{OVP} files respectively, and -|write_job()| the batch file. - -@c -@@; -@@; -@@;@# - - -int main(argc, argv) - int argc; /* argument count */ - char *argv[]; /* argument values */ - - {char *p; - - @@;@# - - @@;@# - - if(!quiet) - printf("\n%s\n\n", banner);@# - - strncpy(config_file, argv[1], FILE_NAME_LENGTH); - config_file[FILE_NAME_LENGTH] = '\0';@# - - if(argc > 2 || testing) - {int l = strlen(config_file); - - if(l > 2) - config_file[l - 2] = '\0'; - /* strip subfont number from file name */ - else - {if(!quiet) - printf("`%s' can't be a subfont created by hbf2gf\n", - config_file); - exit(2); - }@# - - mf_like = TRUE; - }@# - - read_config(); /* will call |exit(1)| on errors */@# - - if(mf_like) - @@;@# - - @@;@# - - @@;@# - - if(tfm_files) - write_pl(); - if(ofm_file) - write_ovp(); - if(!mf_like) - write_job();@# - - hbfClose(hbf);@# - - exit(0); - return 0; /* never reached */ - } - - -@ -@d VERSION @/ -"\n"@/ -"Copyright (C) 1996-1999 Werner Lemberg.\n"@/ -"There is NO warranty. You may redistribute this software\n"@/ -"under the terms of the GNU General Public License\n"@/ -"and the HBF library copyright.\n"@/ -"\n"@/ -"For more information about these matters, see the files\n"@/ -"named COPYING and hbf.c.\n"@/ -"\n" - -@= - {printf("\n"); - printf(banner); - printf(" (%s)\n", TeX_search_version()); - printf(VERSION); - exit(0); - } - - -@ -@d USAGE @/ -"\n"@/ -"Usage: hbf2gf [-q] configuration_file[.cfg]\n"@/ -" hbf2gf [options] font_name x_resolution [y_scale | y_resolution]\n"@/ -" hbf2gf -t [-q] font_name\n"@/ -"\n"@/ -" Convert a font in HBF format to TeX's GF resp. PK format.\n"@/ -"\n"@/ -" -q be silent\n"@/ -" -p don't produce a PL file\n"@/ -" -g don't produce a GF file\n"@/ -" -n use no resolution in extension (only `.gf')\n"@/ -" -t test for font_name (returns 0 on success)\n"@/ -" --help print this message and exit\n"@/ -" --version print version number and exit\n"@/ -"\n" - -@= - {printf(USAGE); - exit(0); - } - - -@ -Three options can be specified to the program (\.{-p}, \.{-g}, and \.{-n}) -if in \mf-like mode to suppress creation of a \.{PL} resp.\ a -\.{GF} file, and to force a `\.{.gf}' extension (instead of -e.g.\ `\.{.300gf}'). The corresponding setting of a particular switch in the -configuration file is ignored then. - -Additionally, the option \.{-t} tests whether the specified subfont name -leads to an \.{hbf2gf} configuration file. It returns 0 on success and prints -out the name of that configuration file (provided the \.{-q} switch isn't -set). This test isn't a thorough one; it only removes the last two characters -and checks whether a configuration file with that name exists. - -@= - if(argc == 2) - {if(strcmp(argv[1], "--help") == 0) - @@; - else if(strcmp(argv[1], "--version") == 0) - @@; - }@# - - while(argc > 1) - {p = argv[1]; - if(p[0] != '-') - break; - if(p[1] == 'p') - tfm_files = FALSE; - else if(p[1] == 'g') - pk_files = FALSE; - else if(p[1] == 'n') - long_extension = FALSE; - else if(p[1] == 'q') - quiet = TRUE; - else if(p[1] == 't') - testing = TRUE;@# - - argv++; - argc--; - }@# - - if(testing) - {if(argc != 2) - {fprintf(stderr, "Need exactly one parameter for `-t' option.\n"); - fprintf(stderr, "Try `hbf2gf --help' for more information.\n"); - exit(1); - } - } - else if(argc < 2 || argc > 4) - {fprintf(stderr, "Invalid number of parameters.\n"); - fprintf(stderr, "Try `hbf2gf --help' for more information.\n"); - exit(1); - }@# - - -@ -If the (optional) argument is larger than~|10|, we treat it as a value for -the vertical resolution (in dpi), otherwise as a vertical scaling factor. - -@= - {if(unicode) - file_number = (int)strtol(&argv[1][strlen(argv[1]) - 2], - (char **)NULL, 16); - else - file_number = atoi(&argv[1][strlen(argv[1]) - 2]);@# - - x_resolution = atof(argv[2]); - if(x_resolution < PRINTER_MIN_RES_X) - {fprintf(stderr, "Invalid horizontal resolution\n"); - exit(1); - }@# - - if(argc > 3) - {y_scale = atof(argv[3]); - if(y_scale < 0.01) - {fprintf(stderr, - "Invalid vertical scaling factor or resolution\n"); - exit(1); - } - if(y_scale > 10.0) - y_scale = (double)x_resolution / y_scale; - } - } - - -@ -If |unicode| is |TRUE|, the start value of the running number appended to -the base name of the output font files is taken from the HBF header file, -otherwise it starts with~`\.{01}'. |min_char| represents the lower bound of -the code range. - -If we are in \mf-like mode, |file_number| is taken from the command line, -and |max_numb| will be set to~|1|. - -@= - {int j, max_numb; - - if(!mf_like) - {file_number = (unicode == TRUE ? (min_char >> 8) : 1); - if(nmb_files == -1) - max_numb = (unicode == TRUE ? 0x100 : 100); - else - max_numb = nmb_files; - } - else - max_numb = 1;@# - - for(j = 0; (j < max_numb) && !end_of_file; file_number++, j++) - write_file();@# - - nmb_files = j; /* the real number of output font files */ - } - - -@ -@= -#include -#include -#include -#include -#include -#ifdef TM_IN_SYS_TIME -#include -#endif -#include "hbf.h" - - - -@* The functions. -The first function to be described is |write_file()|. Each \.{GF} file -consists of three sections: a preamble, a data section, and a postamble. The -functions |write_pre()|, |write_data()|, and |write_post()| handle this. - -@= -void write_file(void); - - -@ -In \mf-like mode we create font file name extensions similar to \mf\ if -the \.{-n} option isn't specified; otherwise only `\.{.gf}' will be appended. - -@c -void write_file(void) - {char output_file[FILE_NAME_LENGTH + 1]; - - - if(pk_files) - {if(mf_like) - {if(unicode) - sprintf(output_file, "%s%02x.%.0igf",@/ - output_name, file_number, - long_extension ? (int)(x_resolution + 0.5) : 0); - else - sprintf(output_file, "%s%02i.%.0igf",@/ - output_name, file_number, - long_extension ? (int)(x_resolution + 0.5) : 0); - } - else - {if(unicode) - sprintf(output_file, "%s%02x.gf", output_name, file_number); - else - sprintf(output_file, "%s%02i.gf", output_name, file_number); - } - if(!(out = fopen(output_file, WRITE_BIN))) - {fprintf(stderr, "Couldn't open `%s'\n", output_file); - exit(1); - } - if(!quiet) - printf("Writing `%s' ", output_file);@# - - write_pre(); - write_data(); - write_post(); - fclose(out);@# - - if(!quiet) - printf("\n"); - } - else - write_data(); - } - - -@ -The preamble has two bytes at the very beginning, |PRE| and |GF_ID|. |PRE| -starts the preamble, and |GF_ID| is the Generic Font Identity Byte. The next -bytes are a string in Pascal format containing a header, the date, and the -time. Strings in Pascal format start with the length of the string and have -no terminating NULL byte. - -@d GF_ID 131 -@d PRE 247@# - -@d header " hbf2gf output " - -@= -void write_pre(void); - - -@ -@s tm int - -@c -void write_pre(void) - {char out_s[40], s[20]; - time_t secs_now; - struct tm *time_now; - - - strcpy(out_s, header);@# - - secs_now = time(NULL); /* system date and time */ - time_now = localtime(&secs_now); - strftime(s, 20, "%Y.%m.%d:%H.%M", time_now); - strcat(out_s, s);@# - - fputc(PRE, out); - fputc(GF_ID, out); - fputc(strlen(out_s), out); - fputs(out_s, out); - } - - -@ -|write_data()| produces the middle part of the \.{GF} file. It first sets -|char_adr_p| equal to the address of |char_adr[]| which will contain file -offsets of the compressed characters. - -|input_size_x| and |input_size_y| reflect the original dimensions of the -bitmap font, |pk_output_size_x| and |pk_output_size_y| contain the width and -height of the output character box (in pixels), |pk_offset_x| and -|pk_offset_y| define the baseline of the font. The same names starting with -`\\{tfm\_}' instead of `\\{pk\_}' are used for \.{TFM} files (values are -multiples of design size). |mag_x| and |mag_y| hold the scaling factors -which are needed to reach |design_size|. |slant| defines the slant ($\Delta -x / \Delta y$), |target_size_x| and |target_size_y| will be the final -dimensions; |magstep_x = target_size_x / design_size| is \TeX's -\.{\\magstep}. - -The \CEE/ standard specifies that all global values will be automatically -set to~|0| if no initialization value is given. - -@= -long char_adr[256]; -long *char_adr_p;@# - -int pk_offset_x; - /* horizontal offset (increase character width a bit; will be applied on - both the left and the right side) */ -double tfm_offset_x; -int pk_offset_y; - /* vertical offset (must be configured to desired font size) */ -double tfm_offset_y;@# - -int input_size_x; -int input_size_y; -const char *font_encoding; /* taken from the HBF file */ -int pk_width; /* without slant */ -int pk_output_size_x; - /* the output character box dimensions without offsets */ -double tfm_output_size_x; -int pk_output_size_y; -double tfm_output_size_y;@# - -double design_size = 10.0; /* in points */ -double target_size_x; /* in points */ -double target_size_y; -double magstep_x; -double magstep_y; -double slant; -int rotation;@# - -double mag_x; /* horizontal and vertical magnification values */ -double mag_y;@# - -int empty_char; /* a flag whether the character does not exist or is empty */ -int last_char; /* the last valid character in a \.{GF} file */@# - -int dot_count; /* this counts the processed characters; - every ten characters a dot is output to the screen */ - - -@ -@= -void write_data(void); - - -@ -@c -void write_data(void) - {dot_count = 0; - char_adr_p = char_adr;@# - - for(last_char = 0; (last_char < 256) && !end_of_file; last_char++) - @@; - } - - -@ -The code in this section saves the current file position first and calls -|make_pixel_array()|, which expands and scales the character bitmap. - -|BOC| (and |BOC1|), the Begin Of Character command byte, must be followed by -the character code and the dimensions of the character as explained in -``\mf---the program'' (corrected by vertical and horizontal offsets). - -|write_coding()| compresses and outputs the bitmap; |EOC| (End Of Character) -finishes the current character. - -@d BOC 67 -@d BOC1 68 /* simplified version of |BOC| */ -@d EOC 69 - -@= - {if(dot_count++ % 10 == 0) /* a progress report for impatient users */ - if(pk_files && !quiet) - {printf("."); - fflush(stdout); - }@# - - empty_char = FALSE; - make_pixel_array(); - if(end_of_file) - return;@# - - if(pk_files) - {*char_adr_p = ftell(out); - char_adr_p++;@# - - if(empty_char) - {fputc(BOC1, out); - fputc((unsigned char)last_char, out); - fputc(0, out); - fputc(0, out); - fputc(0, out); - fputc(0, out); - fputc(EOC, out); - } - else - {fputc(BOC, out); - fputl(last_char, out); - fputl(-1L, out); - fputl(pk_offset_x, out); - fputl(pk_output_size_x + pk_offset_x, out); - fputl(pk_offset_y, out); - fputl(pk_output_size_y + pk_offset_y, out);@# - - write_coding();@# - - fputc(EOC, out); - } - } - } - - -@ -The current \.{GF} file will be completed with data written by -|write_post()|. The end consists of three sections: ``special'', ``post'', -and ``postpost''. The first contains material not used by \TeX\ itself but -which can be used by other programs like \.{GFtoDVI} or for documentary -purposes (|coding[]| and |comment[]|). The second describes the font as a -whole, and the last marks the end of the file. - -|pk_total_min_x| up to |pk_total_max_y| define the greatest bounding box of -this file (including offsets); the horizontal character escapement after -drawing the character is |pk_dx|. |tfm_width| is the width in multiples of -the design size ignoring the target size. - -@d _2_16 65536.0 /* $2^{16}$ */ -@d _2_20 1048576.0 /* $2^{20}$ */ - -@= -char coding[STRING_LENGTH + 1]; /* a comment describing the font encoding */ -char comment[STRING_LENGTH + 1]; /* a comment describing the font */@# - -unsigned long checksum;@# - -long pk_total_min_x; -long pk_total_max_x; -long pk_total_min_y; -long pk_total_max_y;@# - -int dpi_x; /* printer resolution */ -int dpi_y; -double ppp_x; /* pixels per point */ -double ppp_y; - - -@ -To clarify the meaning of these values see the sections about the metrics -and configuration file also. - -\TeX\ defines that 72.27~points are exactly 1~inch. - -@= -void write_post(void); - - -@ -@c -void write_post(void) - {long special_adr; - long post_adr;@# - - long designsize = design_size * _2_20; /* design size $* 2^{20}$ */@# - - int pk_dx; - long tfm_width;@# - - int i; - long temp; - - - ppp_x = dpi_x / 72.27 * magstep_x; - ppp_y = dpi_y / 72.27 * magstep_y;@# - - pk_total_min_x = pk_offset_x; - pk_total_max_x = pk_output_size_x + 2 * pk_offset_x; - pk_total_min_y = pk_offset_y; - pk_total_max_y = pk_output_size_y + pk_offset_y;@# - - pk_dx = pk_width + 2 * pk_offset_x; /* no slant */ - tfm_width = (tfm_output_size_x + 2 * tfm_offset_x) * _2_20; - /* width in multiples of design size $* 2^{20}$ */@# - - @@; - @@; - @@; - } - - -@ -\.{XXXn} will be followed by n~bytes representing the length of a string -which follows immediately. |YYY| is a 32~bit integer which is normally -connected with the preceding string (but not used here). |special_adr| -contains the address of the ``special section''. All items here are -optional. - -@d XXX1 239 /* these are all special command bytes */ -@d XXX2 240 /* not used */ -@d XXX3 241 /* not used */ -@d XXX4 242 /* not used */@# - -@d YYY 243 /* not used */ - -@= - special_adr = ftell(out);@# - - if(*coding) - {fputc(XXX1, out); /* |XXX1| implies a string length |< 256| */ - fputc(strlen(coding), out); - fputs(coding, out); - }@# - - if(*comment) - {fputc(XXX1, out); - fputc(strlen(comment), out); - fputs(comment, out); - } - - -@ -All character offsets collected in |char_adr| will be written to the output -file. |fputl()| writes a 32~bit integer into a file. - -|CHAR_LOC0| (and |CHAR_LOC|) is the first byte of a character locator -(i.e., offset, character code, and width information). |POST| starts the -postamble, and |post_adr| points to the beginning byte of the postamble. - -@d POST 248@# - -@d CHAR_LOC 245 -@d CHAR_LOC0 246 /* simplified version of |CHAR_LOC| */ - -@= - post_adr = ftell(out); - fputc(POST, out); - fputl(special_adr, out);@# - - fputl(designsize, out); - fputl(checksum, out); - fputl(ppp_x * _2_16, out); - fputl(ppp_y * _2_16, out); - fputl(pk_total_min_x, out); - fputl(pk_total_max_x, out); - fputl(pk_total_min_y, out); - fputl(pk_total_max_y, out);@# - - char_adr_p = char_adr;@# - - if(pk_dx < 256) - {for(i = 0; i < last_char; i++) /* the character locators */ - {fputc(CHAR_LOC0, out); - fputc(i, out); - fputc(pk_dx, out); - fputl(tfm_width, out); - fputl(*char_adr_p++, out); - } - } - else /* will only happen if |MAX_CHAR_SIZE >= 256| */ - {for(i = 0; i < last_char; i++) - {fputc(CHAR_LOC, out); - fputc(i, out); - fputl(pk_dx * _2_16, out); - fputl(0, out); - fputl(tfm_width, out); - fputl(*char_adr_p++, out); - } - } - - -@ -|POSTPOST| starts the section after the postamble. To get all information in -a \.{GF} file, you must start here. The very last bytes of the file have -the value |POSTPOST_ID| (the file is filled with at least 4 of these bytes -until a file length of a multiple of~4 is reached). Going backwards a -|GF_ID| will be next, then comes the address of the postamble section. - -Jumping to the postamble, a |POST| byte comes first, then the address of -the special section, and afterwards all character offsets. These offsets and -addresses describe the whole file. - -@d POSTPOST 249 -@d POSTPOST_ID 223 - -@= - fputc(POSTPOST, out); - fputl(post_adr, out); - fputc(GF_ID, out); - temp = ftell(out); - i = (int)(temp % 4) + 4; - while(i--) - fputc(POSTPOST_ID, out); - - -@ -\TeX\ wants the most significant byte first. - -@= -void fputl(long, FILE *); - - -@ -@c -void fputl(num, f) - long num; - FILE *f; - - {fputc(num >> 24, f); - fputc(num >> 16, f); - fputc(num >> 8, f); - fputc(num, f); - } - - -@ -|make_pixel_array()| scales a character into the array |out_char[]| where -each \\{byte} represents one pixel, contrary to the input file where each -\\{bit} is used to store the character bitmap. |BLACK| indicates a black -pixel. - -The scaling routine was modeled after the program \.{pnmscale} of the -\.{pbmplus} package. \.{pbmplus} was designed to handle arbitrary pictures, -and bitmaps are only a special case of a graymap with values from~0 for -white up to |PIXEL_MAXVAL = 255| for black. - -If |EOF| is encountered, |end_of_file| is set and the function returns -immediately. - -@d BLACK 1 -@d WHITE 0@# - -@d PIXEL_MAXVAL 255 -@d SCALE 4096 -@d HALFSCALE 2048@# - -@d MAX_CHAR_SIZE 1023 - -@= -HBF_CHAR code; -const unsigned char *bitmap; - /* a proper input bitmap array will be allocated by the HBF API */ -unsigned char *bP;@# - -unsigned char out_char[MAX_CHAR_SIZE * MAX_CHAR_SIZE + 1]; - /* the output bitmap array */ -unsigned char *out_char_p;@# - -unsigned char pixelrow[MAX_CHAR_SIZE]; -unsigned char temp_pixelrow[MAX_CHAR_SIZE]; -unsigned char new_pixelrow[MAX_CHAR_SIZE + 1]; - /* we need space to append a white pixel */@# -int curr_row; /* for |read_row()| if we access the glyph rotated */ - -long grayrow[MAX_CHAR_SIZE];@# - -long s_mag_x, s_mag_y, s_slant; - - -@ -We need to initialize the |grayrow[]| array together with some other -variables. - -Two steps are necessary to compute the |code| if we are in the \mf-like -mode. Assuming that we search the code \.{0xXXYY}, we first set |code| to -the value \.{0xXXAA}, where \.{0xAA} is equal to |min_2_byte| (getting -|offset| as the number of remaining characters to reach the first character -in our given subfont), then we increment |code| (and decrement |offset|) -until |offset| equals~0. - -@= - {int col, offset; - - if(rotation) - {int tmp; - - - tmp = input_size_x; - input_size_x = input_size_y; - input_size_y = tmp; - }@# - - if(mf_like) - {target_size_x = design_size * (x_resolution / dpi_x); - target_size_y = design_size * (x_resolution * y_scale / dpi_y); - } - else - target_size_x = target_size_y = design_size; - magstep_x = target_size_x / design_size; - magstep_y = target_size_y / design_size;@# - - pk_offset_x = offset_x * magstep_x + 0.5; - pk_offset_y = offset_y * magstep_y + 0.5; - tfm_offset_x = offset_x / (dpi_x / 72.27) / design_size; - tfm_offset_y = offset_y / (dpi_y / 72.27) / design_size;@# - - pk_width = input_size_x * mag_x * magstep_x + 0.5; /* without slant */ - pk_output_size_x = input_size_x * mag_x * magstep_x + - input_size_y * mag_y * magstep_y * slant + 0.5; - pk_output_size_y = input_size_y * mag_y * magstep_y + 0.5; - tfm_output_size_x = input_size_x * mag_x / - (dpi_x / 72.27) / design_size; - tfm_output_size_y = input_size_y * mag_y / - (dpi_y / 72.27) / design_size; - if(pk_output_size_x > MAX_CHAR_SIZE) - {fprintf(stderr, "Output character box width too big\n"); - exit(1); - } - if(pk_output_size_y > MAX_CHAR_SIZE) - {fprintf(stderr, "Output character box height too big\n"); - exit(1); - }@# - - for(col = 0; col < input_size_x; ++col) - grayrow[col] = HALFSCALE;@# - - if(!mf_like) - code = (min_char & 0xFF00) + min_2_byte; - else - {if((file_number < (unicode ? 0 : 1)) || (file_number >= 0x100)) - {fprintf(stderr, "Invalid subfile number\n"); - exit(1); - }@# - - if(unicode) - {offset = 0; - code = file_number * 0x100; - } - else - {offset = (file_number - 1) * 256 % nmb_2_bytes; - code = (min_char & 0xFF00) + min_2_byte + - (file_number - 1) * 256 / nmb_2_bytes * 0x100; - }@# - - while(offset--) - while(!b2_codes[code++ & 0xFF]) - /* eliminate invalid |b2_codes| */ - ;@# - - if(code > max_char) - {fprintf(stderr, "Invalid subfile number\n"); - exit(1); - } - } - - s_mag_x = mag_x * magstep_x * SCALE; - s_mag_y = mag_y * magstep_y * SCALE; - s_slant = slant * SCALE; - } - - -@ -All arrays of the \\{pixelrow} family contain gray values. While scaling -with non-integer values a pixel of the input bitmap will normally not align -with the pixel grid of the output bitmap (geometrically spoken). In this -case we first compute the fractions of input pixel rows scaled vertically -and add the corresponding gray values until a temporary row is produced. -Then we repeat this procedure horizontally pixel by pixel and write the -result into an output array. - - -@= -void make_pixel_array(void); - - -@ -@c -void make_pixel_array(void) - {unsigned char *prP; - unsigned char *temp_prP; - unsigned char *new_prP; - long *grP;@# - - register unsigned char *xP; - register unsigned char *nxP;@# - - register int row, col; - int rows_read = 0; - register int need_to_read_row = 1;@# - - long frac_row_to_fill = SCALE; - long frac_row_left = s_mag_y;@# - - int no_code = FALSE; - - - prP = pixelrow; - temp_prP = temp_pixelrow; - new_prP = new_pixelrow; - grP = grayrow; - out_char_p = out_char; /* will be increased by |write_row()| */@# - -again: - if(b2_codes[code & 0xFF]) /* a valid second byte? */ - {if(pk_files) - {bitmap = hbfGetBitmap(hbf, code); - bP = (unsigned char *)bitmap; - /* will be increased by |read_row()| */@# - - if(!bitmap) - empty_char = TRUE; - else - @@; - } - } - else - no_code = TRUE;@# - - if((code & 0xFF) == max_2_byte) - code += 0xFF - (max_2_byte - min_2_byte); /* go to next plane */ - if(code >= max_char) - {end_of_file = TRUE; - return; - }@# - - code++;@# - - if(no_code) - {no_code = FALSE; - goto again; - } - } - - -@ -@= - {if(pk_output_size_y == input_size_y) /* shortcut Y~scaling if possible */ - temp_prP = prP;@# - - curr_row = input_size_y - 1; /* only needed for rotated glyphs */ - for(row = 0; row < pk_output_size_y; ++row) - {@@; - @@; - } - } - - -@ -@= - if(pk_output_size_y == input_size_y) - /* shortcut Y~scaling if possible */ - read_row(prP); - else - {while(frac_row_left < frac_row_to_fill) - {if(need_to_read_row) - if(rows_read < input_size_y) - {read_row(prP); - ++rows_read; - }@# - - for(col = 0, xP = prP; col < input_size_x; ++col, ++xP) - grP[col] += frac_row_left * (*xP);@# - - frac_row_to_fill -= frac_row_left; - frac_row_left = s_mag_y; - need_to_read_row = 1; - }@# - - @@; - } - - -@ -Now |frac_row_left >= frac_row_to_fill|, so we can produce a row. - -@= - if(need_to_read_row) - if(rows_read < input_size_y) - {read_row(prP); - ++rows_read; - need_to_read_row = 0; - }@# - - for(col = 0, xP = prP, nxP = temp_prP; - col < input_size_x; ++col, ++xP, ++nxP) - {register long g; - - - g = grP[col] + frac_row_to_fill * (*xP); - g /= SCALE; - if(g > PIXEL_MAXVAL) - g = PIXEL_MAXVAL;@# - - *nxP = g; - grP[col] = HALFSCALE; - }@# - - frac_row_left -= frac_row_to_fill; - if(frac_row_left == 0) - {frac_row_left = s_mag_y; - need_to_read_row = 1; - } - frac_row_to_fill = SCALE; - - -@ -To implement the slant we move the starting point |nxP| to the right -according to the corresponding |y|~value. To simplify life only positive -shift values are allowed. - -We always append a white pixel to avoid artefacts at the end of the line -produced by the last line. This rule sets the second condition that the -slant must not be greater than~|1|---such a large slant would be unusable -anyway for typesetting purposes. - -@= - if(pk_width == input_size_x && s_slant == 0) - /* shortcut X~scaling if possible */ - write_row(temp_prP); - else - {register long g = HALFSCALE; - register long frac_col_to_fill = SCALE; - register long frac_col_left; - register int need_col = 0; - - - nxP = new_prP;@# - - frac_col_left = (pk_output_size_y - row) * s_slant; - while(frac_col_left >= frac_col_to_fill) - {*(nxP++) = 0; - frac_col_left -= frac_col_to_fill; - }@# - - if(frac_col_left > 0) - frac_col_to_fill -= frac_col_left;@# - - for(col = 0, xP = temp_prP; col < input_size_x; ++col, ++xP) - {frac_col_left = s_mag_x; - while(frac_col_left >= frac_col_to_fill) - {if(need_col) - {++nxP; - g = HALFSCALE; - }@# - - g += frac_col_to_fill * (*xP); - g /= SCALE; - if(g > PIXEL_MAXVAL) - g = PIXEL_MAXVAL;@# - - *nxP = g; - frac_col_left -= frac_col_to_fill; - frac_col_to_fill = SCALE; - need_col = 1; - }@# - - if(frac_col_left > 0) - {if(need_col) - {++nxP; - g = HALFSCALE; - need_col = 0; - }@# - - g += frac_col_left * (*xP); - frac_col_to_fill -= frac_col_left; - } - }@# - - @@; - } - - -@ -@= - if(frac_col_to_fill > 0) - {--xP; - g += frac_col_to_fill * (*xP); - }@# - - if(!need_col) - {g /= SCALE; - if(g > PIXEL_MAXVAL) - g = PIXEL_MAXVAL; - *nxP = g; - }@# - - *(++nxP) = 0; /* append a blank pixel */@# - - write_row(new_prP); - - -@ -|read_row()| reads a row from |bitmap[]| and converts it into a graymap row. -If the |rotation| flag has been set, we get the proper column instead (note -that in this case |input_size_x| already reflects the width of the rotated -glyph). - -@= -#ifdef __GNUC__ -__inline__ -#endif -void read_row(unsigned char *); - - -@ -@c -#ifdef __GNUC__ -__inline__ -#endif -void read_row(pixelrow) - unsigned char *pixelrow; - - {register int col, bitshift, offset; - register unsigned char *xP; - register unsigned char item = 0; - - if(rotation) - {bitshift = 7 - (curr_row % 8); - offset = (input_size_y + 7) / 8; - bP = (unsigned char *)bitmap + curr_row / 8; - for(col = 0, xP = pixelrow; col < input_size_x; ++col, ++xP) - {*xP = ((*bP >> bitshift) & 1) == 1 ? PIXEL_MAXVAL : 0; - bP += offset; - } - curr_row--; - } - else - {bitshift = -1; - for(col = 0, xP = pixelrow; col < input_size_x; ++col, ++xP) - {if(bitshift == -1) - {item = *(bP++); /* increase input bitmap pointer */ - bitshift = 7; - } - *xP = ((item >> bitshift) & 1) == 1 ? PIXEL_MAXVAL : 0; - --bitshift; - } - } - } - - -@ -|write_row()| converts the graymap back into a bitmap using a simple -threshold. - -@= -int threshold = 128; - - -@ -@= -#ifdef __GNUC__ -__inline__ -#endif -void write_row(unsigned char *); - - -@ -@c -#ifdef __GNUC__ -__inline__ -#endif -void write_row(pixelrow) - unsigned char *pixelrow; - - {register int col; - register unsigned char *xP; - - for(col = 0, xP = pixelrow; col < pk_output_size_x; ++col, ++xP) - *(out_char_p++) = (*xP >= threshold) ? 1 : 0; - /* increase output bitmap pointer */ - } - - -@ -Now comes the most interesting routine. The pixel array will be compressed -in sequences of black and white pixels. - -|SKIP0|, |SKIP1|, and |SKIP2| indicate how many blank lines will be skipped. -|PAINT_(x)| means that the next x~pixels will have the same color, then the -color changes. |NEW_ROW_(x)| is the first black pixel in the next row. - -An example: the pixel sequence 111100011001 [new row] 000111011110 will be -output as 4 3 2 2 1 77 3 1 4 1. - -Commands with an ending~`n' in its name indicate that the next n~bytes -should be read as the counter. Example: |SKIP1|~26 means `skip the next -26~rows'. - -For further details please refer to ``\mf---the program''. - -@d PAINT_(x) (x) /* $0 \le x \le 63$ */ -@d PAINT1 64 -@d PAINT2 65 -@d PAINT3 66 /* not used */@# - -@d SKIP0 70 -@d SKIP1 71 -@d SKIP2 72 -@d SKIP3 73 /* not used */@# - -@d NEW_ROW_(x) ((x) + 74) /* $0 \le x \le 164$ */@# - -@d NOOP 244 /* not used */ - -@= -void write_coding(void); - - -@ -The |goto start| instruction causes some compilers to complain about -``Unreachable code $\ldots$'' or something similar. - -@c -void write_coding(void) - {register int count, skip; - register unsigned char paint; - register int x, y; - register unsigned char *cp; - - x = 0; - y = 0; - cp = out_char + y * pk_output_size_x + x; - count = skip = 0; - paint = WHITE; - goto start;@# - - while (y < pk_output_size_y) - {@@; -start: - @@; - y++; - } - }@# - - -@ -@= - count = 0; - x = 0; - cp = out_char + y * pk_output_size_x + x;@# - - while(x < pk_output_size_x) - {if(*cp == paint) - count++; - else - {if(skip == 0) - {if(count <= 164) - fputc(NEW_ROW_(count), out); - else - {fputc(SKIP0, out);@# - - if(count < 256) - {fputc(PAINT1, out); - fputc(count, out); - } - else - {fputc(PAINT2, out); - fputc(count >> 8, out); - fputc(count & 0xFF, out); - } - } - } - else - {if(skip == 1) - fputc(SKIP0, out); - else - {if(skip < 256) - {fputc(SKIP1, out); - fputc(skip, out); - } - else - {fputc(SKIP2, out); - fputc(skip >> 8, out); - fputc(skip & 0xFF, out); - } - } - skip = 0; - if(count < 64) - fputc(PAINT_(count), out); - else if(count < 256) - {fputc(PAINT1, out); - fputc(count, out); - } - else - {fputc(PAINT2, out); - fputc(count >> 8, out); - fputc(count & 0xFF, out); - } - } - count = 0; - paint = BLACK; - break; - } - x++; - cp++; - } - if(x >= pk_output_size_x) - {skip++; - y++; - continue; - } - - -@ -@= - while(x < pk_output_size_x) - {if(*cp == paint) - count++; - else - {if(count < 64) - fputc(PAINT_(count), out); - else if(count < 256) - {fputc(PAINT1, out); - fputc(count, out); - } - else - {fputc(PAINT2, out); - fputc(count >> 8, out); - fputc(count & 0xFF, out); - } - count = 1; - paint = BLACK - paint; - } - x++; - cp++; - } - if(paint == BLACK) - {if(count < 64) - fputc(PAINT_(count), out); - else if(count < 256) - {fputc(PAINT1, out); - fputc(count, out); - } - else - {fputc(PAINT2, out); - fputc(count >> 8, out); - fputc(count & 0xFF, out); - } - paint = WHITE; - } - - - -@* The font metrics file. -This routine creates one \.{PL} file with the font properties. None of the -\TeX\ font dimensions are needed because you never will use CJK fonts -directly, and intercharacter stretching is handled by the \\{CJK} macro -\.{\\CJKglue}. (Other packages may define similar commands.) - -The name of the \.{PL} file will contain the running two digits in -\mf-like mode only. - -It makes sense \\{not} to compute the check sum automatically for two -reasons. Firstly, since \TeX's checksum algorithm is based on the character -width, the number of valid characters, and the designsize, there is a much -higher chance that two subfonts from different HBF fonts have the same check -sum than it is for ordinary fonts, because all characters have the same -width, usually 256~characters in a subfont, and very often the same design -size. Secondly, and this is more important, we create just one -\.{TFM} file for all subfonts regardless of the real number of characters -in a particular subfont. - -To have an identification string in the \.{TFM} file, we split it into -single bytes and use the \.{HEADER} command repeatedly. - -@= -void write_pl(void); - - -@ -@c -void write_pl(void) - {int i, pos; - char output_file[FILE_NAME_LENGTH + 1]; - long t, sc; - char *s; - char tfm_header[] = "Created by hbf2gf"; - - file_number--; /* for \mf-like mode */@# - - if(mf_like) - {if(unicode) - sprintf(output_file, "%s%02x.pl", output_name, file_number); - else - sprintf(output_file, "%s%02i.pl", output_name, file_number); - } - else - sprintf(output_file, "%s.pl", output_name);@# - - if(!(out = fopen(output_file, WRITE_TXT))) - {fprintf(stderr, "Couldn't open `%s'\n", output_file); - exit(1); - } - if(!quiet) - printf("\nWriting `%s'\n", output_file);@# - - fprintf(out,@/ - "\n(FAMILY %s%d)"@/ - "\n(CODINGSCHEME CJK-%s)", - output_name, file_number, font_encoding);@# - - fprintf(out,@/ - "\n(DESIGNSIZE R %.6f)"@/ - "\n(COMMENT DESIGNSIZE IS IN POINTS)"@/ - "\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"@/ - "\n(CHECKSUM O %lo)"@/ - "\n(FONTDIMEN"@/ - "\n (SLANT R %.6f)"@/ - "\n (SPACE R 0.0)"@/ - "\n (STRETCH R 0.0)"@/ - "\n (SHRINK R 0.0)"@/ - "\n (XHEIGHT R 1.0)"@/ - "\n (QUAD R 1.0)"@/ - "\n (EXTRASPACE R 0.0)"@/ - "\n )", design_size, checksum, slant);@# - - s = tfm_header; - i = strlen(s); - t = ((long)i) << 24; - sc = 16; - pos = 18;@# - - fprintf(out, "\n"); - while(i > 0) - {t |= ((long)(*(unsigned char *)s++)) << sc; - sc -= 8; - if(sc < 0) - {fprintf(out, "\n(HEADER D %d O %lo)", pos, t); - t = 0; - sc = 24; - pos++; - } - i--; - } - if(t) - fprintf(out, "\n(HEADER D %d O %lo)", pos, t); - fprintf(out, "\n");@# - - for(i = 0; i < 256; i++) - {fprintf(out,@/ - "\n(CHARACTER O %o"@/ - "\n (CHARWD R %.6f)"@/ - "\n (CHARHT R %.6f)"@/ - "\n (CHARDP R %.6f)"@/ - "\n (CHARIC R %.6f)"@/ - "\n )",@/ - i, - tfm_output_size_x + 2 * tfm_offset_x, - tfm_output_size_y + tfm_offset_y, - -tfm_offset_y, - slant * (tfm_output_size_y + tfm_offset_y)); - }@# - - fclose(out); - } - - - -@* The extended virtual font file for \Om. -The following is very similar to |write_pl()|; we simply map the glyphs -of the subfonts back to the original encoding positions. - -@= -void write_ovp(void); - - -@ -@c -void write_ovp(void) - {int c, i, nmb_subfonts, remainder, count, pos; - char output_file[FILE_NAME_LENGTH + 1]; - long t, sc; - char *s; - char ofm_header[] = "Created by hbf2gf"; - - nmb_subfonts = ((max_char - (min_char & 0xFF00)) / 256 * nmb_2_bytes) - / 256 + 1; - remainder = ((max_char - (min_char & 0xFF00)) / 256 * nmb_2_bytes) - % 256;@# - - /* correction for the last incomplete second byte range */ - for(count = 0; count < (max_char & 0xFF); count++) - if(b2_codes[count]) - remainder++; - if(remainder >= 256) - nmb_subfonts++;@# - - sprintf(output_file, "%s.ovp", output_name);@# - - if(!(out = fopen(output_file, WRITE_TXT))) - {fprintf(stderr, "Couldn't open `%s'\n", output_file); - exit(1); - } - if(!quiet) - printf("\nWriting `%s'\n", output_file);@# - - fprintf(out,@/ - "\n(VTITLE Omega virtual font created by hbf2gf)"@/ - "\n(DESIGNSIZE R %.6f)"@/ - "\n(COMMENT DESIGNSIZE IS IN POINTS)"@/ - "\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"@/ - "\n(CHECKSUM O %lo)"@/ - "\n(FONTDIMEN"@/ - "\n (SLANT R %.6f)"@/ - "\n (SPACE R 0.0)"@/ - "\n (STRETCH R 0.0)"@/ - "\n (SHRINK R 0.0)"@/ - "\n (XHEIGHT R 1.0)"@/ - "\n (QUAD R 1.0)"@/ - "\n (EXTRASPACE R 0.0)"@/ - "\n )", design_size, checksum, slant);@# - - s = ofm_header; - i = strlen(s); - t = ((long)i) << 24; - sc = 16; - pos = 18;@# - - fprintf(out, "\n"); - while(i > 0) - {t |= ((long)(*(unsigned char *)s++)) << sc; - sc -= 8; - if(sc < 0) - {fprintf(out, "\n(HEADER D %d O %lo)", pos, t); - t = 0; - sc = 24; - pos++; - } - i--; - } - if(t) - fprintf(out, "\n(HEADER D %d O %lo)", pos, t); - fprintf(out, "\n");@# - - for(i = 0; i < nmb_subfonts; i++) - {fprintf(out,@/ - "\n(MAPFONT D %i"@/ - "\n (FONTNAME %s%02i)"@/ - "\n (FONTCHECKSUM O %lo)"@/ - "\n (FONTAT R 1.0)"@/ - "\n (FONTDSIZE R %.6f)"@/ - "\n )", i, output_name, i + 1, checksum, design_size); - }@# - - for(c = min_char, i = 0, count = 0; c <= max_char; c++) - {if(b2_codes[c & 0xFF] == VALID_SUBCODE) - {fprintf(out,@/ - "\n(CHARACTER O %o"@/ - "\n (CHARWD R %.6f)"@/ - "\n (CHARHT R %.6f)"@/ - "\n (CHARDP R %.6f)"@/ - "\n (CHARIC R %.6f)"@/ - "\n (MAP"@/ - "\n (SELECTFONT D %i)"@/ - "\n (SETCHAR O %o)"@/ - "\n )"@/ - "\n )",@/ - c, - tfm_output_size_x + 2 * tfm_offset_x, - tfm_output_size_y + tfm_offset_y, - -tfm_offset_y, - slant * (tfm_output_size_y + tfm_offset_y), - i, - count);@# - - count++; - if(count == 256) - {count = 0; - i++; - } - } - else - continue; - }@# - - fclose(out); - } - - - -@* The job file. -This routine is the most system specific one. If your operating system needs -a different outline, make appropriate changes here. - -You have to call this batch file after \.{hbf2gf} has finished (if not in -\mf-like mode). It will transform the \.{GF} files into \.{PK} files and -delete the now unnecessary \.{GF} files, then transform the \.{PL} file into -a \.{TFM} file and copy it |nmb_files| times. The name of the job file is -|output_name|. - -@d EXTENSION_LENGTH 8 /* the maximal length of a file extension */@# - -@d GFTOPK_NAME "gftopk" -@d PLTOTF_NAME "pltotf" -@d OVP2OVF_NAME "ovp2ovf" - -@= -char job_extension[EXTENSION_LENGTH + 1]; -char rm_command[STRING_LENGTH + 1]; -char cp_command[STRING_LENGTH + 1]; -char pk_directory[STRING_LENGTH + 1]; -char tfm_directory[STRING_LENGTH + 1];@# - -int ofm_file = FALSE; - - -@ -@= -void write_job(void); - - -@ -@c -void write_job(void) - {FILE *out; - int i, j; - char buffer[FILE_NAME_LENGTH + 1]; - - - strcpy(buffer, output_name); - strcat(buffer, job_extension); - if(!(out = fopen(buffer, WRITE_TXT))) - {fprintf(stderr, "Couldn't open `%s'\n", buffer); - exit(1); - } - if(!quiet) - printf("\nWriting `%s'\n", buffer);@# - - if(pk_files) - {if(unicode) - {for(i = (min_char >> 8), j = 0; j < nmb_files; i++, j++) - fprintf(out,@/ - "%s %s%02x.gf %s%s%02x.%.0ipk\n"@/ - "%s %s%02x.gf\n",@/ - GFTOPK_NAME, output_name, i,@/ - pk_directory, output_name, i, - long_extension ? (int)(dpi_x * magstep_x + 0.5) : 0,@/ - rm_command, output_name, i); - } - else - {for(i = 1; i <= nmb_files; i++) - fprintf(out,@/ - "%s %s%02i.gf %s%s%02i.%.0ipk\n"@/ - "%s %s%02i.gf\n",@/ - GFTOPK_NAME, output_name, i,@/ - pk_directory, output_name, i, - long_extension ? (int)(dpi_x * magstep_x + 0.5) : 0,@/ - rm_command, output_name, i); - } - }@# - - if(tfm_files) - {fprintf(out,@/ - "\n"@/ - "%s %s.pl %s.tfm\n"@/ - "%s %s.pl\n"@/ - "\n",@/ - PLTOTF_NAME, output_name, output_name,@/ - rm_command, output_name);@# - - if(unicode) - {for(i = (min_char >> 8), j = 0; j < nmb_files; i++, j++) - fprintf(out,@/ - "%s %s.tfm %s%s%02x.tfm\n",@/ - cp_command, output_name, - tfm_directory, output_name, i); - } - else - {for(i = 1; i <= nmb_files; i++) - fprintf(out,@/ - "%s %s.tfm %s%s%02i.tfm\n",@/ - cp_command, output_name, - tfm_directory, output_name, i); - }@# - - fprintf(out,@/ - "\n"@/ - "%s %s.tfm",@/ - rm_command, output_name); - }@# - - if(ofm_file) - {fprintf(out,@/ - "\n"@/ - "%s %s.ovp %s.ovf %s.ofm\n"@/ - "%s %s.ovp\n"@/ - "\n",@/ - OVP2OVF_NAME, output_name, output_name, output_name,@/ - rm_command, output_name); - }@# - - fclose(out); - } - - - -@* The configuration file. -Here is a list with all necessary keywords (and parameters): -\medskip -\halign{\quad\.{#}\hfil&\quad#\hfil\cr - hbf\_header & the HBF header file name of the input font(s). \cr - output\_name & the name stem of the output files. \cr - & Should be equal to the name of the configuration file - in most cases.\cr - & A running two digit decimal number starting with - \.{01} will be appended. \cr - & (For Unicode fonts see the keyword \.{unicode} - below.) \cr - } -\bigskip -And now all optional keywords: -\medskip -\halign{\quad\.{#}\hfil&\quad#\hfil\cr - x\_offset & increases the character width. \cr - & Will be applied on both sides; \cr - & default is the value given in the HBF header - (\.{HBF\_BITMAP\_BOUNDING\_BOX}) \cr - & scaled to \\{design\/}size (in pixels). \cr - y\_offset & shifts all characters up or down; \cr - & default is the value given in the HBF header - (\.{HBF\_BITMAP\_BOUNDING\_BOX}) \cr - & scaled to \\{design\/}size (in pixels). \cr - design\_size & the design size (in points) of the font. \cr - & \.{x\_offset} and \.{y\_offset} refer to this - size. \cr - & Default is |10.0| \cr - target\_size & This command is obsolete now and will be - ignored.\cr - & \cr - slant & the slant of the font (given as $\Delta x / - \Delta y$). \cr - & Only values in the range |0 <= slant <= 1| - are allowed. \cr - & Default is |0.0| \cr - rotation & if set to `yes'. the glyphs are rotated - 90~degrees counter-clockwise. \cr - & The default offsets as given in the HBF header - will be ignored (and set to~|0|). \cr - & Default is `no'. \cr - & \cr - mag\_x & \cr - mag\_y & scaling values of the characters to reach - design size. \cr - & If only one magnification is given, x and y - values are assumed to be equal. \cr - & Default is \.{mag\_x} $=$ \.{mag\_y} $=$ |1.0| - \cr - threshold & A value between |1| and |254| defining a - threshold for converting the internal \cr - & graymap into the output bitmap; lower values - cut more pixels. \cr - & Default value is |128|. \cr - & \cr - comment & a comment describing the font; \cr - & default is none. \cr - & \cr - nmb\_fonts & the number of the fonts. \cr - & Default value is~|-1| for creating all - fonts. \cr - unicode & if `yes', a two digit hexadecimal number will - be used as a running number, \cr - & starting with the value of the first byte of - the first code range. \cr - & Default is `no'. \cr - min\_char & the minimum of the encoding range. \cr - & Specify this value if it is not identical to - the lowest code value \cr - & in the HBF file (to which it defaults). \cr - & \cr - dpi\_x & \cr - dpi\_y & the horizontal and vertical resolution (in - dpi) of the printer. \cr - & If only one resolution is given, x and y - values are assumed to be equal. \cr - & Default is |300|. \cr - checksum & a checksum to identify the \.{GF} files - with the appropriate \.{TFM} files. \cr - & The default of this 32~bit unsigned integer - is |0|. \cr - coding & a comment describing the coding scheme; \cr - & default is none. \cr - & \cr - pk\_directory & the destination directory of the - \.{PK} files; \cr - & default: none. \cr - & Attention! The batch file will not check - whether this directory exists. \cr - tfm\_directory & the destination directory of the - \.{TFM} files; \cr - & default: none. \cr - & Attention! The batch file will not check - whether this directory exists. \cr - pk\_files & whether to create \.{PK} files or not; \cr - & default is `yes'. \cr - tfm\_files & whether to create \.{TFM} files or not; \cr - & default is `yes'. \cr - ofm\_file & whether to create an \.{OFM} and an - \.{OVF} file or not; \cr - & default is `no'. \cr - long\_extension & if `yes', \.{PK} files will include the - resolution in the extension \cr - & (e.g. \.{gsso1201.300pk}). \cr - & This affects the batch file only (default is - `yes'). \cr - rm\_command & this shell command removes files; \cr - & default: `rm'. \cr - cp\_command & this shell command copies files; \cr - & default: `cp'. \cr - job\_extension & the extension of the batch file which calls - \.{GFtoPK} and \.{PLtoTF} \cr - & to convert the \.{GF} and the - \.{PL} files into \.{PK} and - \.{TFM} files; \cr - & default is none. \cr - } -\bigskip - -The searching algorithm (for the keywords) of \.{hbf2gf} is case -insensitive; it makes no difference whether you write for example \.{comment} -or \.{CommenT}. The keywords must start a line (be in the first column), and -the corresponding parameters must be on the same line with the keyword and -separated by at least one space or tabulator stop. Lines starting not with a -keyword are ignored. - -Key values \\{are} case sensitive (except \.{yes} and \.{no}). - -The default system dependent values are for \UNIX/-like operating systems; -if you use for example DOS, you must write -\medskip -\halign{\quad\.{#}\hfil&\quad\.{#}\hfil\cr - long\_extension & no \cr - rm\_command & del \cr - cp\_command & copy \cr - job\_extension & .bat \cr - } -\medskip - -Both the values |pk_output_size_x| and |pk_output_size_y| must not exceed -|MAX_CHAR_SIZE|; \.{x\_offset} and \.{y\_offset} are related to the -design size (and not to the input size). - -In \mf-like mode, one \.{GF} file and one \.{PL} file will be computed -(depending on the command line options \.{-g} and \.{-p}), taking -|x_resolution| and |y_scale| from the command line. \.{nmb\_fonts} will -always be set to~|1|; no job file will be created. - - -@ -@d PRINTER_MIN_RES_X 50 -@d PRINTER_MIN_RES_Y 50 - -@= -char Buffer[STRING_LENGTH + 1]; - - -@ -@= -void read_config(void); - - -@ -If |config_file| isn't found in \mf-like mode we assume that the font -isn't a HBF font at all. - -@c -void read_config(void) - {HBF_BBOX *boxp; - char *real_config_file; - - - @@;@# - - real_config_file = TeX_search_cfg_file(config_file); - if(!real_config_file) - {if(mf_like) - {if(!quiet) - printf("Couldn't find `%s'\n", config_file); - exit(2); - } - else - {fprintf(stderr, "Couldn't find `%s'\n", config_file); - exit(1); - } - }@# - - if(!(config = fopen(real_config_file, READ_TXT))) - {if(!testing) - {fprintf(stderr, "Couldn't open `%s'\n", config_file); - exit(1); - } - else /* We reach this point only if no searching library is used */ - {if(!quiet) - fprintf(stderr, "Couldn't find or open `%s'\n", config_file); - exit(2); - } - }@# - - if(testing) - {if(!quiet) - printf("%s\n", real_config_file); - exit(0); - } - - @@; - @@;@# - - @@; - @@;@# - - fclose(config); - } - - -@ -Here we check whether we have to add an extension. - -@= - {int i, lastext = -1; - - for(i = 0; config_file[i]; i++) - if(config_file[i] == '.') - lastext = i; - else if (config_file[i] == '/' || - config_file[i] == ':' || - config_file[i] == '\\') - lastext = -1;@# - - if(lastext == -1) - strcat(config_file, ".cfg"); - } - - -@ -@= - {char hbf_header[STRING_LENGTH + 1]; - char *real_hbf_header; - - if(!fsearch("hbf_header")) - config_error("hbf_header"); - else - strcpy(hbf_header, Buffer);@# - - real_hbf_header = TeX_search_hbf_file(hbf_header); - if(!real_hbf_header) - {fprintf(stderr, "Couldn't find `%s'\n", hbf_header); - exit(1); - }@# - - hbfDebug = 1; /* we activate error messages of the HBF API - while scanning the HBF header file */@# - - if(!(hbf = hbfOpen(real_hbf_header))) - exit(1);@# - - hbfDebug = 0;@# - - boxp = hbfBitmapBBox(hbf); - input_size_x = boxp->hbf_height; /* will be checked later for rotation */ - input_size_y = boxp->hbf_width; - font_encoding = hbfProperty(hbf, "HBF_CODE_SCHEME");@# - - if(!fsearch("output_name")) - config_error("output_name"); - else - strcpy(output_name, Buffer); - } - - -@ -@= -int offset_x; -int offset_y;@# - -HBF_CHAR user_min_char; -int have_min_char = FALSE; - -@ -@= - {if(fsearch("nmb_files")) - nmb_files = atoi(Buffer); - if(fsearch("unicode")) - if(Buffer[0] == 'y' || Buffer[0] == 'Y') - unicode = TRUE; - if(fsearch("min_char")) - {user_min_char = strtoul(Buffer, (char **)NULL, 0); - have_min_char = TRUE; - }@# - - if(!mf_like) - {if(fsearch("pk_files")) - if(Buffer[0] == 'n' || Buffer[0] == 'N') - pk_files = FALSE; - if(fsearch("tfm_files")) - if(Buffer[0] == 'n' || Buffer[0] == 'N') - tfm_files = FALSE; - if(fsearch("ofm_file")) - if(Buffer[0] == 'y' || Buffer[0] == 'Y') - ofm_file = TRUE; - if(fsearch("long_extension")) - if(Buffer[0] == 'n' || Buffer[0] == 'N') - long_extension = FALSE; - }@# - - if(fsearch("slant")) - slant = atof(Buffer); - if(slant < 0.0 || slant > 1.0) - {fprintf(stderr, "Invalid slant\n"); - exit(1); - } - if(fsearch("rotation")) - if(Buffer[0] == 'y' || Buffer[0] == 'Y') - rotation = TRUE;@# - - if(fsearch("mag_x")) - mag_x = atof(Buffer); - if(fsearch("mag_y")) - mag_y = atof(Buffer); - if(!mag_x && !mag_y) - {mag_x = 1.0; - mag_y = 1.0; - } - if(mag_x && !mag_y) - mag_y = mag_x; - if(mag_y && !mag_x) - mag_x = mag_y; - if(mag_x <= 0.0) - {fprintf(stderr, "Invalid horizontal magnification\n"); - exit(1); - } - if(mag_y <= 0.0) - {fprintf(stderr, "Invalid vertical magnification\n"); - exit(1); - }@# - - if(fsearch("dpi_x")) - dpi_x = atoi(Buffer); - if(fsearch("dpi_y")) - dpi_y = atoi(Buffer); - if(!dpi_x && !dpi_y) - {dpi_x = 300; - dpi_y = 300; - } - if(dpi_x && !dpi_y) - dpi_y = dpi_x; - if(dpi_y && !dpi_x) - dpi_x = dpi_y; - if(dpi_x <= PRINTER_MIN_RES_X) - {fprintf(stderr, "Invalid horizontal printer resolution\n"); - exit(1); - } - if(dpi_y <= PRINTER_MIN_RES_Y) - {fprintf(stderr, "Invalid vertical printer resolution\n"); - exit(1); - }@# - - if(fsearch("design_size")) - design_size = atof(Buffer);@# - - if(fsearch("x_offset")) - offset_x = atoi(Buffer); - else - offset_x = rotation ? 0 : (boxp->hbf_xDisplacement * mag_x + 0.5); - if(fsearch("y_offset")) - offset_y = atoi(Buffer); - else - offset_y = rotation ? 0 : (boxp->hbf_yDisplacement * mag_y + 0.5); - if(!fsearch("comment")) - comment[0] = '\0'; - else - strcpy(comment, Buffer);@# - - if(fsearch("threshold")) - threshold = atoi(Buffer); - if(threshold <= 0 || threshold >= 255) - {fprintf(stderr, "Invalid threshold\n"); - exit(1); - }@# - - if(!fsearch("checksum")) - checksum = 0; - else - checksum = strtoul(Buffer, (char **)NULL, 0);@# - - if(!fsearch("coding")) - coding[0] = '\0'; - else - strcpy(coding, Buffer);@# - - if(!fsearch("pk_directory")) - pk_directory[0] = '\0'; - else - strcpy(pk_directory, Buffer);@# - - if(!fsearch("tfm_directory")) - tfm_directory[0] = '\0'; - else - strcpy(tfm_directory, Buffer);@# - - if(fsearch("rm_command")) - strcpy(rm_command, Buffer); - else - strcpy(rm_command, "rm");@# - - if(fsearch("cp_command")) - strcpy(cp_command, Buffer); - else - strcpy(cp_command, "cp");@# - - if(!fsearch("job_extension")) - job_extension[0] = '\0'; - else - {strncpy(job_extension, Buffer, EXTENSION_LENGTH); - job_extension[EXTENSION_LENGTH] = '\0'; - } - } - - -@ -The function |hbfGetCodeRange()| is an extension to the HBF API. - -Successive calls return the code ranges in ascending order; we only need the -extrema of the whole code range. - -In case |min_char| has been supplied in the configuration file, we use that -value instead. - -@= -HBF_CHAR min_char, max_char; - - -@ -@= - {const void *cp; - HBF_CHAR dummy; - - cp = hbfGetCodeRange(hbf, NULL, &min_char, &max_char); - for(; cp != NULL; cp = hbfGetCodeRange(hbf, cp, &dummy, &max_char)) - ;@# - - if(have_min_char) - min_char = user_min_char; - } - - -@ -The function |hbfGetByte2Range()| is an extension to the HBF API. - -Successive calls return the byte~2 ranges in ascending order. We raise -|VALID_SUBCODE| in the array |b2_codes[]| for all characters in subcode -ranges. - -@d VALID_SUBCODE 1 - -@= -char b2_codes[256]; -unsigned char min_2_byte, max_2_byte; -int nmb_2_bytes = 0; - - -@ -@= - {const void *b2r; - unsigned char dummy; - int i; - - for(i = 0; i < 256; i++) - b2_codes[i] = 0;@# - - b2r = hbfGetByte2Range(hbf, NULL, &min_2_byte, &max_2_byte); - dummy = min_2_byte; - for(; b2r != NULL; b2r = hbfGetByte2Range(hbf, b2r, &dummy, &max_2_byte)) - {for(i = dummy; i <= max_2_byte; i++) - b2_codes[i] = VALID_SUBCODE; - }@# - - for(i = 0; i < 256; i++) /* compute the number of valid |b2_codes| */ - if(b2_codes[i] == VALID_SUBCODE) - nmb_2_bytes++; - } - - -@ -This search routine is case insignificant. Each keyword must start a line; -the function checks whether the character before the keyword is a newline -character (|'\n'|). It also checks the presence of a parameter and fills -|Buffer| if existent. |fsearch()| returns~1 on success. - -@= -int fsearch(char *); - - -@ -@c -int fsearch(search_string) - char *search_string; - - {char *P, p; - char temp_buffer[STRING_LENGTH + 1]; - char env_name[STRING_LENGTH + 1]; - char *env_p; - char *env_value; - char *Buf_p; - int Ch, ch, old_ch = '\n'; - int count = STRING_LENGTH; - - rewind(config); /* we start at offset~0 */@# - - do - {P = search_string; - p = tolower(*P); - Ch = fgetc(config); - ch = tolower(Ch); - while(!(ch == p && old_ch == '\n') && Ch != EOF) - /* search first character of |search_string|; - |'\n'| must be the character before */ - {old_ch = ch; - Ch = fgetc(config); - ch = tolower(Ch); - }@# - - for(;;) - {if(*(++P) == '\0') - if((Ch = fgetc(config)) == ' ' || Ch == '\t') - /* there must be a space or a tab stop after the keyword */ - goto success; - Ch = fgetc(config); - if(tolower(Ch) != tolower(*P)) - break; - } - } - while(Ch != EOF);@# - - return 0;@# - -success: - P = temp_buffer;@# - - while((Ch = fgetc(config)) == ' ' || Ch == '\t') - /* remove leading blanks and tabs */ - ; - while(Ch != '\n' && --count > 0 && Ch != EOF) /* fill |Buffer| */ - {*P++ = Ch; - Ch = fgetc(config); - } - *P = '\0';@# - - if (*temp_buffer) - @@; - else - *Buffer = '\0';@# - - return (*Buffer) ? 1 : 0; /* is there something in the buffer? */ - } - - -@ -To make the configuration file more flexible we allow environment variables -in the arguments. We scan the parameter stored in |temp_buffer| whether it -contains a `\.{\$}' character. If yes, the following code fragment tries to -get an environment variable name whose value will be then fetched with -|getenv()|. An environment variable name recognized by \.{hbf2gf} must start -with a letter or underscore; the other characters may be alphanumeric or an -underscore. You can surround the environment variable name with braces to -indicate where the name ends, e.g. \.{\$\{FOO\}}. The interpolated -configuration parameter will be truncated to |STRING_LENGTH| characters. If -you want to have `\.{\$}' you must write `\.{\$\$}'. - -Note that you should avoid to use such environment variables for specifying -the location of the configuration file in case you have support for a file -searching library like kpathsea. Its primary aim is to specify the target -directories for the \.{pk\_directory} and the \.{tfm\_directory} keywords. - -@= - {P = temp_buffer; - Buf_p = Buffer; - count = STRING_LENGTH - 1;@# - - while(*P && count > 0) - {env_p = env_name;@# - - if(*P == '$') - {P++; - if(*P == '$') - {*(Buf_p++) = *(P++); - count--; - continue; - } - while(*P == '{') @q } @> - P++; - if(!(isalpha(*P) || *P == '_')) - {fprintf(stderr,@/ - "Invalid environment variable name in configuration file\n"); - exit(1); - } - *(env_p++) = *(P++); - while(*P) - {if(isalnum(*P) || *P == '_') - *(env_p++) = *(P++); - else - {@q { @> while(*P == '}') - P++; - *env_p = '\0'; - break; - } - }@# - - env_value = getenv(env_name); - if(env_value) /* append the environment value to |Buffer| */ - {while(*env_value && count > 0) - {*(Buf_p++) = *(env_value++); - count--; - } - } - } - else - {*(Buf_p++) = *(P++); - count--; - } - } - *Buf_p = '\0'; - } - - -@ -If an error occurs, |config_error()| will leave the program with an error -message. - -@= -void config_error(char *); - - -@ -@c -void config_error(message) - char *message; - - {fprintf(stderr, "Couldn't find `%s' entry in configuration file\n", - message); - exit(1); - } - - - -@* File searching. - -We support three searching engines: emtexdir, kpathsea, and MiKTeX (which is -a Win32 port of kpathsea). For emtexdir, define |HAVE_EMTEXDIR| while -compiling. For kpathsea, define |HAVE_LIBKPATHSEA|. If you have a version of -kpathsea older than~3.2, define |OLD_KPATHSEA| additionally. For kpathsea -older than~3.0, |VERY_OLD_KPATHSEA| must be also set. For MikTeX, define -|HAVE_MIKTEX|. If none of these macros is defined, a simple |fopen()| will -be used instead. - -@= -#if defined(HAVE_LIBKPATHSEA) -#ifdef VERY_OLD_KPATHSEA -#include "kpathsea/proginit.h" -#include "kpathsea/progname.h" -#include "kpathsea/tex-glyph.h" -#else -#include "kpathsea/kpathsea.h" -#endif@# - -#elif defined(HAVE_EMTEXDIR) -#include "emtexdir.h" - -#elif defined(HAVE_MIKTEX) -#include "miktex.h" -#endif - -@ -@= -#if defined(HAVE_LIBKPATHSEA) -#ifdef KPSEDLL -/* this is kpathsea 3.3 and newer */ -extern KPSEDLL char *kpathsea_version_string; -#else -extern DllImport char *kpathsea_version_string; -#endif -#elif defined(HAVE_EMTEXDIR) -char emtex_version_string[] = "emTeXdir"; -#elif !defined(HAVE_MIKTEX) -char no_version_string[] = "no search library"; -#endif - - -@ -@= -char *TeX_search_version(void); - - -@ -@c -char *TeX_search_version(void) - { -#if defined(HAVE_LIBKPATHSEA) - return kpathsea_version_string; -#elif defined(HAVE_EMTEXDIR) - return emtex_version_string; -#elif defined(HAVE_MIKTEX) - char buf[200]; - - strcpy(buf, "MiKTeX "); - miktex_get_miktex_version_string_ex(buf + 7, sizeof (buf) - 7); - - return buf; -#else - return no_version_string; -#endif - } - - -@ -@s emtex_dir int - -@= -#ifdef HAVE_EMTEXDIR -struct emtex_dir cfg_path, hbf_path; -#endif - - -@ -@= -#ifdef HAVE_EMTEXDIR -extern int setup_list(struct emtex_dir *, char *, const char *, unsigned); -int dir_setup(struct emtex_dir *, const char *, const char *, unsigned); -char *file_find(char *, struct emtex_dir *); -#endif - - -@ -We slightly modify |emtex_dir_setup()| (from the file \.{emtexdir.c}) to -output a warning in case the environment variable |env| isn't set properly. - -@c -#ifdef HAVE_EMTEXDIR -int dir_setup(ed, env, dir, flags) - struct emtex_dir *ed; - const char *env; - const char *dir; - unsigned flags; - - {const char *val; - char path[260]; - - ed->alloc = 0; - ed->used = 0; - ed->list = NULL;@# - - if(env != NULL && (val = getenv(env)) != NULL) - return setup_list(ed, path, val, flags); - else - fprintf(stderr, - "Environment variable `%s' not set; use current directory\n", - env);@# - - return TRUE; - } - - -@ -@= -char name_buffer[FILE_NAME_LENGTH + 1]; - - -@ -@c -char *file_find(name, list) - char *name; - struct emtex_dir *list; - - {if(emtex_dir_find(name_buffer, sizeof(name_buffer), list, name, EDF_CWD)) - return name_buffer;@# - - return NULL; - } -#endif - - -@ -For emtexdir we use the environment variables \.{HBFCFG} and \.{HBFONTS} for -configuration resp.\ HBF header files. - -@= -#if defined(HAVE_LIBKPATHSEA) -#ifdef OLD_KPATHSEA - kpse_set_progname(argv[0]); -#else - kpse_set_program_name(argv[0], "hbf2gf"); -#endif@# - -#ifdef VERY_OLD_KPATHSEA - kpse_init_prog("HBF2GF", 300, "cx", true, "cmr10"); -#else - kpse_init_prog("HBF2GF", 300, "cx", "cmr10");@# -#endif@# - -#elif defined(HAVE_EMTEXDIR) - if(!dir_setup(&cfg_path, "HBFCFG", NULL, EDS_BANG)) - {fprintf(stderr, - "Couldn't setup search path for configuration files\n"); - exit(1); - } - if(!dir_setup(&hbf_path, "HBFONTS", NULL, EDS_BANG)) - {fprintf(stderr, - "Couldn't setup search path for HBF header files\n"); - exit(1); - } -#endif - - -@ -Finally, here are the searching routines. A special format in the kpathsea -library for fonts which are neither PostScript nor TrueType (\.{MISCFONTS}) -is available with version~3.3 and newer. For older versions we use the path -for PostScript fonts (\.{T1FONTS}) to find HBF files. Configuration files -are searched in the path specified within \.{TEXCONFIG} for old kpathsea -versions, and within \.{HBF2GFINPUTS} for new versions. - -@= -char *TeX_search_cfg_file(char *); -char *TeX_search_hbf_file(char *); - - -@ -@c -#if defined(HAVE_LIBKPATHSEA) -char *TeX_search_cfg_file(name) - char *name; - - { -#ifdef OLD_KPATHSEA - return kpse_find_file(name, kpse_dvips_config_format, TRUE); -#else - return kpse_find_file(name, kpse_program_text_format, TRUE); -#endif - }@# - - -char *TeX_search_hbf_file(name) - char *name; - - { -#ifdef VERY_OLD_KPATHSEA - return kpse_find_file(name, kpse_dvips_header_format, TRUE); -#else -#ifndef KPSEDLL - return kpse_find_file(name, kpse_type1_format, TRUE); -#else - return kpse_find_file(name, kpse_miscfonts_format, TRUE); -#endif -#endif - }@# - - -#elif defined(HAVE_EMTEXDIR) -char *TeX_search_cfg_file(name) - char *name; - - {return file_find(name, &cfg_path); - }@# - - -char *TeX_search_hbf_file(name) - char *name; - - {return file_find(name, &hbf_path); - }@# - - -#elif defined(HAVE_MIKTEX) -char *TeX_search_cfg_file(name) - char *name; - - {char result[_MAX_PATH]; - - if (!miktex_find_input_file("hbf2gf", *name, result)) - return 0; - return strdup(result); - }@# - - -char *TeX_search_hbf_file(name) - char *name; - - {char result[_MAX_PATH]; - - - if (!miktex_find_miscfont_file(*name, result)) - return 0; - return strdup(result); - }@# - - -#else -char *TeX_search_cfg_file(name) - char *name; - - {return name; - }@# - - -char *TeX_search_hbf_file(name) - char *name; - - {return name; - } -#endif - - - -@* An example. -This is the example configuration file \.{b5so12.cfg} (for use with DOS or -OS/2 and the emtexdir searching engine): -\bigskip -\halign{\quad\.{#}\hfil&\quad\.{#}\hfil\cr - hbf\_header & et24.hbf \cr - mag\_x & 2.076 \cr - x\_offset & 3 \cr - y\_offset & -8 \cr - comment & fanti songti 24x24 pixel font scaled and - adapted to 12 pt \cr - & \cr - design\_size & 12.0 \cr - & \cr - nmb\_fonts & -1 \cr - & \cr - output\_name & b5so12 \cr - & \cr - dpi\_x & 300 \cr - checksum & 123456789 \cr - coding & codingscheme Big 5 encoded TeX text \cr - & \cr - long\_extension & no \cr - job\_extension & .cmd \cr - rm\_command & del \cr - cp\_command & copy \cr - pk\_directory & \$HBF\_TARGET\\pk\\360dpi\\ \cr - tfm\_directory & \$HBF\_TARGET\\tfm\\ \cr - } -\bigskip -If you say e.g. -\medskip -\quad \.{set HBF\_TARGET=c:\\emtex\\texfonts} -\medskip -on your DOS prompt (or in your \.{autoexec.bat} file), then the interpolated -value of the \.{tfm\_directory} keyword is \.{c:\\emtex\\texfonts\\tfm\\}. -The HBF header file \.{et24.hbf} will be searched in the path specified by -the \.{HBFCFG} environment variable. -\bigskip -The call -\medskip -\quad \.{hbf2gf b5so12.cfg} -\medskip -creates the files -\medskip -\quad \.{b5so1201.gf}, \.{b5so1202.gf}, $\ldots$ , \.{b5so1255.gf}, -\.{b5so12.pl}, and \.{b5so12.cmd} -\bigskip -After calling -\medskip -\quad \.{b5so12.cmd} -\medskip -you will find the \.{PK} files in the -\.{c:\\emtex\\texfonts\\pk\\360dpi} directory and the \.{TFM} files in -the \.{c:\\emtex\\texfonts\\tfm} directory; all \.{GF} files and -\.{b5so12.pl} will be deleted. -\bigskip -The call -\medskip -\quad \.{hbf2gf -n b5so1220 417} -\medskip -creates two files: -\medskip -\quad \.{b5so1220.gf} and \.{b5so1220.pl} -\medskip -using the configuration file \.{b5so12.cfg}. The \.{GF} file would be -named \.{b5so1220.417gf} if the flag \.{-n} had not been used. - -\medskip - -It is possible to convert bitmap fonts to \.{PK} files almost -automatically. The HBF header file already has the entry -\.{HBF\_BITMAP\_BOUNDING\_BOX} which defines vertical and horizontal offsets -(in pixels), but these values are not in all cases optimal. If you omit -\.{x\_offset} and \.{y\_offset} in the configuration file, the third and -fourth parameter of \.{HBF\_BITMAP\_BOUNDING\_BOX} is used, scaled to design -size (to say it with other words: \.{x\_offset} and \.{y\_offset} will always -apply to the design size to be synchronous with the \.{TFM} files). - -Don't confuse scaling and magnification: Scaling here means that you choose -a (arbitrary) design size and compute scaling values (\.{mag\_x} and -\.{mag\_y}) which scales the bitmap to this particular design size at a -certain (arbitrarily chosen) resolution (\.{dpi\_x} and \.{dpi\_y}). -Magnification means that the scaled bitmap will be then magnified to a -certain target size while still using the font parameters (i.e., the -\.{TFM} file) of the design size. - -In the sample, you have a $24 \times 24$ bitmap font which will be scaled to -$12\,\hbox{pt}$ having a resolution of $300\,\hbox{dpi}$: -\medskip -\quad $1\,\hbox{pt}$ are $300 / 72.27 = 4.1511$ pixel; - -\quad $12\,\hbox{pt}$ are $4.1511 * 12 = 49.813$ pixel; - -\quad thus the theoretical scaling value is $49.813 / 24 = 2.076$. - -\medskip - -But especially for small sizes, this may not be the best value if the font -should harmonize with, say, Knuth's Computer Modern fonts. I recommend to -compute, say, 5~\.{PK} fonts, then check the CJK font with different \TeX\ -fonts to see whether the offsets and/or the scaling value is good. The -greater the design size the finer you can control the offsets---as an -example you could use a design size of $30\,\hbox{pt}$ (nevertheless there -is a compile-time constant |MAX_CHAR_SIZE| which limits the maximal -character size; default is 255~pixels). - -If you have found optimal offsets, you can produce many different -magnifications of the CJK font using the same set of \.{TFM} files -analogous to ordinary \TeX\ fonts; as a simplification, we assume that -\.{PK} files with a resolution of $300\,\hbox{dpi}$ and a design size of -$10\,\hbox{pt}$ have the extension `\.{.300pk}' (respectively come into a -`\.{300dpi}' subdirectory)---this is the reason why in the above example for -the $12\,\hbox{pt}$ design size a `\.{360dpi}' target directory has been -used. Now we can use the following formula: - - $$ \\{needed\_dpi} = \\{your\_horizontal\_resolution} * - {\\{your\_target\_size} \over 10.0} $$ - -Example: assuming that your printer has a resolution of -$300\times400\,\hbox{dpi}$, and you want $14.4\,\hbox{pt}$: - - $$ 300 * {14.4 \over 10.0} = 432 $$ - -The vertical scaling value is $400 / 300 = 1.3333$. Use these values now to -call \.{hbf2gf} in \mf-like mode: - -\quad \.{hbf2gf b5so1220 432 1.3333} - - - -@* Index. diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh deleted file mode 100644 index ebc66913e94..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh +++ /dev/null @@ -1,250 +0,0 @@ -#! /bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). -# -# Copyright 1991 by the Massachusetts Institute of Technology -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - else - instcmd=mkdir - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - true - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - true - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - true - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - true - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - true - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs deleted file mode 100644 index 91f6d04e17c..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Last modified: 1994-03-25 -# Public domain - -errstatus=0 - -for file in ${1+"$@"} ; do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d in ${1+"$@"} ; do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 - mkdir "$pathcomp" || errstatus=$? - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff deleted file mode 100644 index 02f6250898a..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff +++ /dev/null @@ -1,63 +0,0 @@ ---- MakeTeXPK.orig Sun Feb 23 22:12:05 1997 -+++ MakeTeXPK Tue Aug 18 08:07:40 1998 -@@ -80,18 +80,57 @@ - : ${MAKETEXDIR=$TEXMF/maketex} - export TEXMF MAKETEXDIR - -+unset cmd -+ -+# test for TTF fonts -+if test -z "$cmd"; then -+ ttf2pk -q $NAME $DPI -+ errstatus=$? -+ -+ if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "ttf2pk failed" >&2 -+ exit 1 -+ fi -+ MODE=ttf2pk # preferred mode for TDS would be `modeless' -+ cmd=true -+ fi -+fi -+ -+# test for HBF fonts -+if test -z "$cmd"; then -+ hbf2gf -q -p $NAME $DPI -+ errstatus=$? -+ -+ if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "hbf2gf failed" >&2 -+ exit 1 -+ fi -+ MODE=hbf2gf # preferred mode for TDS would be `modeless' -+ cmd=true -+ fi -+fi -+ -+unset psline -+ - # grep for the font in $PSMAPFILE, if some ps-to-pk is claimed to be supported. - # We have to figure out the name of the base font -- $NAME is probably - # something like pplr, but it's rpplr or pplr0 or pplr8r that's in psfonts.map. --pattern="^r?$NAME"'(0|8r)?([ ]|$)' --psline=`egrep "$pattern" $PSMAPFILE` -+if test -z "$cmd"; then -+ pattern="^r?$NAME"'(0|8r)?([ ]|$)' -+ psline=`egrep "$pattern" $PSMAPFILE` -+fi -+ - if test -n "$psline"; then - cmd="gsftopk $NAME $DPI" - MODE=gsftopk - # some installations have set up gs in such a way that creating files - # is only allowed if the parameter -DNOSAFER is used: - GS_OPTIONS=-DNOSAFER; export GS_OPTIONS --else -+fi -+ -+if test -z "$cmd"; then - # If an explicit mode is not supplied, try to guess. You can get a - # list of extant modes from ftp.cs.umb.edu:pub/tex/modes.mf. - if test -z "$MODE" || test "$MODE" = default; then diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff deleted file mode 100644 index 52cd52e1c1d..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff +++ /dev/null @@ -1,28 +0,0 @@ ---- MakeTeXTFM.orig Mon Feb 10 22:40:31 1997 -+++ MakeTeXTFM Tue Aug 18 08:14:40 1998 -@@ -48,7 +48,24 @@ - BDPI=${MT_DEF_BDPI-600} - DPI=$BDPI - --cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" -+unset cmd -+ -+# test for CJK bitmap font in HBF format -+hbf2gf -q $NAME $DPI -+errstatus=$? -+ -+if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "$progname: \`hbf2gf failed." >&2 -+ exit 1 -+ fi -+ pltotf ./$NAME.pl $TFMNAME || exit 1 -+ cmd=true -+fi -+ -+if test -z "$cmd"; then -+ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" -+fi - - set x `MakeTeXnames $NAME $DPI $MODE $DEST` - PKDEST=$2 diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff deleted file mode 100644 index 0536dbc7a4a..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff +++ /dev/null @@ -1,75 +0,0 @@ ---- MakeTeXPK.orig Sun Aug 16 08:05:07 1998 -+++ MakeTeXPK Tue Aug 18 07:53:57 1998 -@@ -1,5 +1,5 @@ - #!/bin/sh --# original MakeTeXPK -- make a new PK font, because one wasn't found. -+# MakeTeXPK -- make a new PK font, because one wasn't found. - # Version of 12dec94. - # - # (If you change or delete the word `original' on the previous line, -@@ -142,11 +142,52 @@ - test -d $TEMPDIR || mkdir $TEMPDIR - cd $TEMPDIR || exit 1 - -+unset cmd -+ -+# test for TTF fonts -+if test -z "$cmd"; then -+ ttf2pk -q $NAME $DPI -+ errstatus=$? -+ -+ if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "ttf2pk failed" >&2 -+ exit 1 -+ fi -+ test -z "$6" && DESTDIR="$DESTROOT/ttf2pk" # preferred mode for TDS -+ # would be `modeless' -+ echo "Successful call to ttf2pk" >&2 -+ cmd=ttf2pk -+ fi -+fi -+ -+# test for HBF fonts -+if test -z "$cmd"; then -+ hbf2gf -q -p $NAME $DPI -+ errstatus=$? -+ -+ if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "hbf2gf failed" >&2 -+ exit 1 -+ fi -+ test -z "$6" && DESTDIR="$DESTROOT/hbf2gf" # preferred mode for TDS -+ # would be `modeless' -+ echo "Successful call to hbf2gf" >&2 -+ cmd=hbf2gf -+ -+ gftopk ./$GFNAME $PKNAME || exit 1 -+ fi -+fi -+ - # grep for the font in $PSMAPFILE, if some ps-to-pk is claimed to be supported. - # We have to figure out the name of the base font -- $NAME is probably - # something like pplr, but it's rpplr or pplr0 or pplr8r that's in psfonts.map. --pattern="^r?$NAME"'(0|8r)?([ ]|$)' --test -n "$ps_to_pk" && egrep "$pattern" $PSMAPFILE >psline -+if test -z "$cmd"; then -+ pattern="^r?$NAME"'(0|8r)?([ ]|$)' -+ test -n "$ps_to_pk" && egrep "$pattern" $PSMAPFILE > psline -+fi -+ - if test -s psline; then - # This is a PostScript font. - MODE=$ps_to_pk -@@ -173,8 +214,9 @@ - export DVIPSHEADERS - echo "$0: Running $cmd" >&2 - $cmd >&2 || { echo "$0: $ps_to_pk failed." >&2; exit 1; } -+fi - --else -+if test -z "$cmd"; then - # Try Metafont. - MFINPUTS="$MFINPUTS:$SAVEPWD" - export MFINPUTS diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README deleted file mode 100644 index eb12bec7a33..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README +++ /dev/null @@ -1 +0,0 @@ -This is for web2c-6.1 with the patch for kpathsea 2.6 diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff deleted file mode 100644 index 23f7cb58fed..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff +++ /dev/null @@ -1,67 +0,0 @@ ---- MakeTeXPK.orig Sat Feb 8 15:52:00 1997 -+++ MakeTeXPK Tue Aug 18 07:58:22 1998 -@@ -1,5 +1,5 @@ - #!/bin/sh --# original MakeTeXPK -- make a new PK font, because one wasn't found. -+# MakeTeXPK -- make a new PK font, because one wasn't found. - # - # (If you change or delete the word `original' on the previous line, - # installation won't write this script over yours.) -@@ -44,15 +44,54 @@ - MODE=$5 - DEST=$6 - -+unset cmd -+ -+# test for TTF fonts -+if test -z "$cmd"; then -+ ttf2pk -q $NAME $DPI -+ errstatus=$? -+ -+ if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "ttf2pk failed" >&2 -+ exit 1 -+ fi -+ MODE=modeless -+ cmd=true -+ fi -+fi -+ -+# test for HBF fonts -+if test -z "$cmd"; then -+ hbf2gf -q -p $NAME $DPI -+ errstatus=$? -+ -+ if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "hbf2gf failed" >&2 -+ exit 1 -+ fi -+ MODE=modeless -+ cmd=true -+ fi -+fi -+ -+unset psline -+ - # grep for the font in $PSMAPFILE. These are base font names, such as - # rpplr (the original) or pplr0 (an interim step) or pplr8r (current). --pattern="^r?$NAME"'(0|8r)?([ ]|$)' --psline=`egrep "$pattern" $PSMAPFILE` -+if test -z "$cmd"; then -+ pattern="^r?$NAME"'(0|8r)?([ ]|$)' -+ psline=`egrep "$pattern" $PSMAPFILE` -+fi -+ - if test -n "$psline"; then - MODE=modeless - # ps_to_pk set in MakeTeXcommon and/or MakeTeX.site. - cmd="$ps_to_pk $NAME $DPI" --else -+fi -+ -+if test -z "$cmd"; then - # Check that $BDPI and $MODE are consistent; if not, ignore the mode and - # hope we can correctly guess it from bdpi. (People like to specify the - # resolution on the command line, not the mode so much.) diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff deleted file mode 100644 index a67df4e14b1..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- MakeTeXTFM.orig Sat Feb 8 15:52:00 1997 -+++ MakeTeXTFM Sun Aug 16 15:41:39 1998 -@@ -1,5 +1,5 @@ - #!/bin/sh --# original MakeTeXTFM -- make a new TFM file, because one wasn't found. -+# MakeTeXTFM -- make a new TFM file, because one wasn't found. - # - # (If you change or delete the word `original' on the previous line, - # installation won't write this script over yours.) -@@ -50,7 +50,25 @@ - exit 1 - fi - --cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" -+unset cmd -+ -+# test for CJK bitmap font in HBF format -+hbf2gf -q $NAME $DPI -+errstatus=$? -+ -+if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "$progname: \`hbf2gf failed." >&2 -+ exit 1 -+ fi -+ pltotf ./$NAME.pl $TFMNAME || exit 1 -+ cmd=true -+fi -+ -+if test -z "$cmd"; then -+ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" -+fi -+ - echo "$0: Running $cmd" - $cmd &2 -+ exit 1 -+ fi -+ MODE=modeless -+ cmd=true -+ fi -+fi -+ -+# test for HBF fonts -+if test -z "$cmd"; then -+ hbf2gf -q -p $NAME $DPI -+ errstatus=$? -+ -+ if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "hbf2gf failed" >&2 -+ exit 1 -+ fi -+ MODE=modeless -+ cmd=true -+ fi -+fi -+ -+unset psline -+ - # grep for the font in $PSMAPFILE. These are base font names, such as - # rpplr (the original) or pplr0 (an interim step) or pplr8r (current). --: ${PSMAPFILE=`kpsewhich psfonts.map`} --pattern="^$NAME"'([ ]|$)' --psline=`egrep "$pattern" $PSMAPFILE` -+if test -z "$cmd"; then -+ : ${PSMAPFILE=`kpsewhich psfonts.map`} -+ pattern="^r?$NAME"'(0|8r)?([ ]|$)' -+ psline=`egrep "$pattern" $PSMAPFILE` -+fi -+ - if test -n "$psline"; then - MODE=modeless - # ps_to_pk is set in MakeTeX.cnf -@@ -100,7 +137,9 @@ - cmd="$ps_to_pk $NAME $DPI" - ;; - esac --else -+fi -+ -+if test -z "$cmd"; then - # Check that $BDPI and $MODE are consistent; if not, ignore the mode and - # hope we can correctly guess it from bdpi. (People like to specify the - # resolution on the command line, not the mode so much.) diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff deleted file mode 100644 index 3fd17f94539..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- MakeTeXTFM.orig Tue Oct 21 21:22:12 1997 -+++ MakeTeXTFM Sun Aug 16 15:51:20 1998 -@@ -1,5 +1,5 @@ - #!/bin/sh --# original MakeTeXTFM -- make a new TFM file, because one wasn't found. -+# MakeTeXTFM -- make a new TFM file, because one wasn't found. - # - # (If you change or delete the word `original' on the previous line, - # installation won't write this script over yours.) -@@ -53,7 +53,25 @@ - exit 1 - fi - --cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" -+unset cmd -+ -+# test for CJK bitmap font in HBF format -+hbf2gf -q $NAME $DPI -+errstatus=$? -+ -+if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "$progname: \`hbf2gf failed." >&2 -+ exit 1 -+ fi -+ pltotf ./$NAME.pl $TFMNAME || exit 1 -+ cmd=true -+fi -+ -+if test -z "$cmd"; then -+ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" -+fi -+ - echo "$progname: Running $cmd" - - $cmd &2 -+ exit 1 -+ fi -+ MODE=modeless -+ cmd=true -+ fi -+fi -+ -+# test for HBF fonts -+if test -z "$cmd"; then -+ hbf2gf -q -p $NAME $DPI -+ errstatus=$? -+ -+ if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "hbf2gf failed" >&2 -+ exit 1 -+ fi -+ MODE=modeless -+ cmd=true -+ fi -+fi -+ -+unset psline -+ - # grep for the font in $PSMAPFILE. These are base font names, such as - # rpplr (the original) or pplr0 (an interim step) or pplr8r (current). --: ${PSMAPFILE=`kpsewhich psfonts.map`} --pattern="^$NAME"'([ ]|$)' --psline=`egrep "$pattern" $PSMAPFILE` -+if test -z "$cmd"; then -+ : ${PSMAPFILE=`kpsewhich psfonts.map`} -+ pattern="^r?$NAME"'(0|8r)?([ ]|$)' -+ psline=`egrep "$pattern" $PSMAPFILE` -+fi -+ - if test -n "$psline"; then - MODE=modeless - # ps_to_pk is set in mktex.opt -@@ -116,7 +153,9 @@ - cmd="$ps_to_pk $NAME $DPI" - ;; - esac --else -+fi -+ -+if test -z "$cmd"; then - # Check that $BDPI and $MODE are consistent; if not, ignore the mode and - # hope we can correctly guess it from bdpi. (People like to specify the - # resolution on the command line, not the mode so much.) diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff deleted file mode 100644 index b7bf872e8cc..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- mktextfm.orig Mon Feb 16 08:56:13 1998 -+++ mktextfm Tue Aug 18 06:13:22 1998 -@@ -1,5 +1,5 @@ - #!/bin/sh --# original mktextfm -- make a new TFM file, because one wasn't found. -+# mktextfm -- make a new TFM file, because one wasn't found. - # - # (If you change or delete the word `original' on the previous line, - # installation won't write this script over yours.) -@@ -70,7 +70,25 @@ - exit 1 - fi - --cmd="mf \mode:=$MODE; mag:=$MAG; nonstopmode; input $NAME" -+unset cmd -+ -+# test for CJK bitmap font in HBF format -+hbf2gf -q $NAME $DPI -+errstatus=$? -+ -+if test $errstatus -ne 2; then -+ if test $errstatus -ne 0; then -+ echo "$progname: \`hbf2gf failed." >&2 -+ exit 1 -+ fi -+ pltotf ./$NAME.pl $TFMNAME || exit 1 -+ cmd=true -+fi -+ -+if test -z "$cmd"; then -+ cmd="mf \mode:=$MODE; mag:=$MAG; nonstopmode; input $NAME" -+fi -+ - echo "$progname: Running $cmd" - - $cmd -% -% Version 4.8.1 (10-Aug-2008) - -% Copyright (C) 1994-2008 Werner Lemberg -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -\ProvidesLanguage{pinyin} - [CJK 4.8.1 pinyin support for the babel system] - -\LdfInit{pinyin}{captionspinyin} - -\ifx\l@pinyin\@undefined - \@nopatterns{pinyin} - \adddialect\l@pinyin0 -\fi - -\def\pinyinhyphenmins{11} -\def\captionspinyin{} -\def\datepinyin{} - -\initiate@active@char{"} - -\addto\extraspinyin{\languageshorthands{pinyin}} -\addto\extraspinyin{\bbl@activate{"}} -\addto\extraspinyin{\babel@save\"\umlautlow} -\addto\extraspinyin{% - \babel@savevariable{\lccode"27}% - \lccode"27 "27} - -\addto\noextraspinyin{\umlauthigh} - -\declare@shorthand{pinyin}{"u}{\textormath{\"{u}}{\ddot u}} -\declare@shorthand{pinyin}{"U}{\textormath{\"{U}}{\ddot U}} - -\def\mdqon{\shorthandon{"}} -\def\mdqoff{\shorthandoff{"}} - -\ldf@finish{pinyin} - -\endinput diff --git a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr index 438eaf725f9..e367dc116ec 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr +++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr @@ -5,7 +5,7 @@ % %% created by Werner Lemberg %% -%% Version 4.8.1 (10-Aug-2008) +%% Version 4.8.2 (29-Dec-2008) %% %% Copyright (C) 1994-2008 Werner Lemberg %% diff --git a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex index 39c4dab6ea7..80300a6fe59 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex +++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex @@ -1,13 +1,13 @@ % This is the file pyhyph.tex of the CJK package % for hyphenating Chinese pinyin syllables. % -% We use the latin-1 character code for `umlaut u' (0xfc). Additionally, +% We use the latin-1 character code for `umlaut u' (0xfc). Additionally, % the quote character "'" is used in its standard sense (resolving syllabic % ambiguities). % % created by Werner Lemberg % -% Version 4.8.1 (10-Aug-2008) +% Version 4.8.2 (29-Dec-2008) % Copyright (C) 1994-2008 Werner Lemberg % @@ -26,7 +26,7 @@ % Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, % MA 02110-1301 USA -\message{Hyphenation patterns for unaccented pinyin syllables (CJK 4.8.1)} +\message{Hyphenation patterns for unaccented pinyin syllables (CJK 4.8.2)} \begingroup diff --git a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex deleted file mode 100644 index 91f855b53b5..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex +++ /dev/null @@ -1,51 +0,0 @@ -% This is the file pytest.tex of the CJK package -% for testing Chinese pinyin hyphenation. -% -% created by Werner Lemberg -% -% Version 4.8.1 (10-Aug-2008) -% -%% -%% Attention! This will work only if you have created a new format file -%% with `pyhyph.tex' as additional hyphenation patterns for the language -%% `pinyin'. Otherwise no hyphenation will be used. -%% -% Note that the Babel package searches for `pinyin.ldf', not pinyin.sty -- -% the latter is for typesetting accented pinyin syllables. - -\documentclass[12pt,b5paper]{article} - -\usepackage[10pt]{type1ec} % use only 10pt fonts -\usepackage[T1]{fontenc} -\usepackage[pinyin]{babel} - - -\begin{document} - -% Taken from the TeXbook (p. 451) to force frequent insertion of hyphens. -\hyphenpenalty -1000 -\pretolerance -1 -\tolerance 1000 -\doublehyphendemerits -100000 -\finalhyphendemerits -100000 - -\selectlanguage{pinyin} - -Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. -Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. -Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. -Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. -Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. -Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. -Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. -Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. -Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. -Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. -Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. -Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. -Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. -Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. -Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. -Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. - -\end{document} diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl index fa4b013af19..30892290ecb 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl @@ -110,10 +110,10 @@ my $oldfh = select(FDX); print("% This is the file $fdxfile of the CJK package % for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e % -% created by the script makefdx.pl for CJK Version 4.8.1 (10-Aug-2008). +% created by the script makefdx.pl for CJK Version 4.8.2 (29-Dec-2008). -\\def\\fileversion{4.8.1} -\\def\\filedate{2008/08/10} +\\def\\fileversion{4.8.2} +\\def\\filedate{2008/12/29} \\ProvidesFile{$fdxfile}[\\filedate\\space\\fileversion] \\CJKvdef{fullheight}{1em} diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe b/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe index 962b61d83a7..ba01a97d19e 100644 --- a/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe @@ -3,12 +3,13 @@ # # $1: The master font (e.g., `bsmi00lp.ttf'). # $2: The name stem for the subfonts (e.g., `bsmilp'). -# $3: The subfont definition file (e.g., `UBig5.sfd'). +# $3: The subfont definition file, mapping from Unicode to whatever +# (e.g., `UBig5.sfd', which maps to Big 5). # # A collection of useful subfont definition files for CJK fonts can be found # in the ttf2pk package. -# Copyright (C) 1994-2007 Werner Lemberg +# Copyright (C) 1994-2008 Werner Lemberg # # 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 @@ -26,7 +27,7 @@ # MA 02110-1301 USA if (Strtol($version) < 20071105) - Print("Can't use FontForge version before 2007-11-05. Aborting."; + Print("Can't use FontForge version before 2007-11-05. Aborting."); Quit(1); endif; @@ -38,6 +39,12 @@ endif; Print("Loading ", $1, "..."); Open($1); +if ($cidfontname != "") + CIDFlatten(); +endif; + +Reencode("ucs4"); + copyright = $copyright \ + Chr(10) + Chr(10) \ + "Subfont version " \ diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL deleted file mode 100644 index 025e923ed99..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL +++ /dev/null @@ -1,337 +0,0 @@ -Installation of Thai fonts for TeX with fontinst ------------------------------------------------- - -0. The files `c90.etx' and `c90.mtx' must be in the TeX inputs path. - Normally, the current directory also works. Note that you need - fontinst version 1.918 or higher. - -1. In case your Thai font doesn't come with an AFM metrics file you - must extract it from the font using tools like `type1afm' (from - the t1lib package) or ghostscript's `ps2afm' program. - -2. Create a control file for fontinst. - - Example: - - Let us assume that we have the following AFM files for the - Garuda family, using version 2.1 of the fonts (from the - ThaiLaTeX project): - - garuda.afm - garuda_b.afm - garuda_o.afm - garuda_bo.afm - - You should use glyph names compliant to Karl Berry's `fontname' - scheme. For `garuda', this could be `fgdr8z': `f' is the foundry - (`small foundry'), `gd' is the typeface name, `r' means the - weight (`regular'), and `8z' the encoding (8bit user). - Similarly, suitable names for the other fonts are `fgdb8z', - `fgdo8z', and `fgdbo8z', respectively. - - Fonts with `f' as the supplier should go into a `public' font - directory. The typeface `Garuda' already exists in the latest - fontname version (typeface.map version 4-Jul-2005 at the time of - writing), the associated directory is `garuda'. Please consult - the `fontname' standard for more information. - - A template for the fontinst control file can be found as - `norasi.fontinst'; here a version for garuda: - - ==== garuda.fontinst ==== - - \input fontinst.sty - - \needsfontinstversion{1.918} - - - % we explicitly set all slots in the encoding, so provide all - % glyph names in AFM files equally (this is, don't create - % `-not' names) - \let\setnotglyph \setrawglyph - - % we want warnings for missing glyphs - \fontinstcc - \add_to\pre_fourth_etx_pass_hook{ - \def\do_slot{ - \if_undefined{g-\slot_name}\then - \fontinstwarningnoline{fontinst} - {missing~glyph~`\slot_name'\space - for~slot~\the\slot_number\space - in~font~`\out_filename'} - \fi - \do_character - } - } - \normalcc - - - % create PL files and an FD file - \installfonts - \setint{fontdimen(2)}{500} % SPACE - \setint{fontdimen(3)}{300} % STRETCH - \setint{fontdimen(4)}{100} % SHRINK - \setint{fontdimen(6)}{1000} % QUAD - \setint{fontdimen(7)}{0} % EXTRASPACE - - \installrawfont{fdbr8z}{garuda,c90}{c90} - {C90}{garuda}{m}{n}{} - \installrawfont{fdbb8z}{garuda_b,c90}{c90} - {C90}{garuda}{bx}{n}{} - \installrawfont{fdbbo8z}{garuda_bo,c90}{c90} - {C90}{garuda}{bx}{sl}{} - \installrawfont{fdbo8z}{garuda_o,c90}{c90} - {C90}{garuda}{m}{sl}{} - \endinstallfonts - - - \input finstmsc.sty - - - % create the c90.enc file - \installfonts - % the `makeenc' flag is used in c90.etx - \setint{makeenc}{1} - \setstr{encodingname}{C90Encoding} - \etxtoenc{c90}{c90} - \endinstallfonts - - \end - - ==== garuda.fontinst ==== - - Some explanations. - - - The control files also creates MTX and PL files for the AFM - files (e.g., garuda.mtx and garuda.pl) which aren't needed and - can be deleted. - - - AFM files don't provide all necessary font dimensions for TeX. - Consequently, you have to set some dimensions manually. The - `SPACE' value must be larger than for a Latin font; a - reasonable value is 500. You should increase the `STRETCH' - value also -- some tests have shown that 300 yields good - results, but this depends on the font. `EXTRASPACE' can be - set to zero since you must always use TeX's \frenchspacing - command for Thai. All other font dimension values given above - are default values and can stay unmodified. - - There is nothing for free: The changed font dimensions improve - spacing between Thai words, but Latin words are far too widely - spaced. - - - The arguments to \installrawfont are as follows. - - #1 The target font name. - #2 A comma separated list (without spaces) of metric - files. Above, the first one is the AFM file, the - second one is c90.mtx which sets up the three - mandatory alias glyph slots. - #3 The name of the encoding file (c90.etx). - #4-#7 The NFSS attributes for the font. - #8 The size command. If it is empty, `<->' is used. - - - The second \installfonts...\endinstallfonts block creates an - encoding file. - -3. Run fontinst: - - tex garuda.fontinst - - If you get warnings about missing glyphs which are critical (this - is, if it affects Thai characters), you have to configure fontinst - to use an alias file for glyph names. This is described below. - -4. Say - - pltotf - - for all target PL files to create TFM files. - - Example: - - pltotf fgdr8z - pltotf fgdb8z - pltotf fgdo8z - pltotf fgdbo8z - - After the conversion, the PL files are no longer needed and can be - deleted. As mentioned above, the PL files created directly from - the AFM files need not be converted. - -5. Create a mapping file .map for the PS fonts (which can be - used by both dvips and pdftex). - - Example `garuda.map' (the lines are splitted for readability only): - - fgdr8z Garuda \ - " C90Encoding ReEncodeFont " (e.g., `config.garuda'; on - platforms like MS-DOS which don't support long filename - extensions you can use `garuda.cfg' instead) with the following - line in it: - - p + - - Example: - - p +garuda.map - - Then you can use the `-P' command line option of dvips to - include the reencoded font. Example: - - dvips -P garuda test.dvi - -7. After testing, install the font and its support files in your TeX - tree. In the following example, `TEXMF' denotes the location of - your (local) `texmf' directory (we assume a TeX installation - compliant to TDS 1.1 as provided recent versions of TeXLive and - teTeX). - - garuda.pfb -> TEXMF/fonts/type1/public/garuda/ - garuda.afm -> TEXMF/fonts/afm/public/garuda/ - ... - - c90.enc -> TEXMF/fonts/enc/dvips/thai/ - - garuda.map -> TEXMF/fonts/map/dvips/garuda/ - config.garuda -> TEXMF/dvips/garuda/ - - fgdr8z.tfm -> TEXMF/fonts/tfm/public/garuda/ - ... - - c90gar.fd -> TEXMF/tex/latex/CJK/thai/ - -8. Run texhash or a similar program to update the TDS database if - necessary. - - -You are done! With plain TeX, say e.g. - - \font\thai = fgdr9z at 16pt - -to use the font \thai. This will typeset TIS-620 encoded Thai. -Note, however, that you need CJK's cjk-enc.el for Emacs to insert -proper inter-character glue and word breakpoints in case you want -to typeset longer Thai phrases. - - -Reencoding Thai fonts ---------------------- - -Older Thai fonts don't use proper glyph names, and recent ones -probably use different suffixes; it is thus necessary to make fontinst -aware of those names. - -A complete example can be found in the `dbtt-old' subdirectory (which -can be used for the dbtt fonts from TeXLive 8 or earlier). - -a. Set up a file which contains all the aliases, using the \galias - macro. This file should have the extension `.tex'. - - Example: - - If glyph `endash' is represented with glyph name `ucircumflex' - in the font, use the following: - - \galias{ucircumflex}{endash} - -b. Set up both ETX and MTX files which load the just created glyph - alias file. To do that, use the files `dbtt-old-alias.etx' and - `dbtt-old-alias.mtx' as templates. Leave everything unchanged - except the line with \input which should load your glyph alias - file. - -c. Set up a proper fontinst control file. Use `dbtt-old.fontinst' - as a template, replacing the `dbtt-old-alias' items in the - \installrawfont lines with the name of your MTX file. Similarly, - the three last lines in the second - \installfonts...\endinstallfonts block should be adjusted - accordingly. - -d. Continue with item 3 above. Note that in item 5, you have to use - not `C90Encoding' but the encoding name defined with the \setstr - line in your fontinst control file. - - -Using different LaTeX encodings for Thai ----------------------------------------- - -The used encoding scheme within the CJK package for Thai is `C90', -but it is straightforward to adapt it to other Thai encodings like -`LTH' by reordering the `\setslot ... \endsetslot' blocks in the file -`c90.etx'. - -Currently, only CJK's cjk-enc.el output filter for Emacs needs the -Thai ligatures -- other Thai word segmentation programs like `swath' -or `cttex' already replace the input characters with proper glyph -variants. Anyway, they don't harm, and it is on the TODO list of the -thailatex maintainers to finally use those ligatures also. - - -Printing c90.etx ----------------- - -It is possible to convert the main fontinst encoding file for Thai, -c90.etx, into a printable document. To do so, you have to apply the -patch below to the file `fontdoc.sty' (which is part of the fontinst -package -- tested with fontinst version 1.926; newer versions have -already been corrected and don't need this patch), then simply say - - latex c90.etx - - -==================================================================== - - ---- fontdoc.sty.old Mon Feb 9 21:28:59 2004 -+++ fontdoc.sty Wed Jun 23 12:13:04 2004 -@@ -1052,7 +1052,7 @@ - \x@cs\def{FD@lig-/LIG}#1#2{% - \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}% - ${}\rightarrow{}$% -- \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}$% -+ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}% - } - \x@cs\def{FD@lig-LIG/}#1#2{% - \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}% -@@ -1085,7 +1085,7 @@ - \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}% - ${}\rightarrow{}$% - \FD@typeset@string{\slot@name}${}*{}$% -- \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}$} -+ \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}} - \def\nextlarger#1{\Bheading{Next larger} \typeset@glyph{#1}} - \def\makerightboundary#1{% - \Bheading{Right boundary marker slot} designation \typeset@glyph{#1}% - - ----end of INSTALL--- diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx deleted file mode 100644 index 9b00a0c110b..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx +++ /dev/null @@ -1,2346 +0,0 @@ -% c90.etx - -% Copyright (C) 1994-2008 Werner Lemberg -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -\relax -\documentclass{article} - -\usepackage[specification]{fontdoc}[2001/06/01] -\usepackage{textcomp} -\usepackage{shortvrb} -\usepackage{mflogo} -\usepackage{multicol} -\usepackage{url} - -\MakeShortVerb{\|} - -\newlength{\Stackwidth} - -\newcommand\StackAbove[2]{% - \settowidth{\Stackwidth}{$#1$}% - \vbox{\hbox{$#1$}% - \hbox to \Stackwidth{\hss $#2$\hss}}% -} -\newcommand\StackBelow[2]{% - \settowidth{\Stackwidth}{$#1$}% - \vtop{\hbox{$#1$}% - \hbox to \Stackwidth{\hss $#2$\hss}}% -} - -\newcommand{\thaiclass}[1]{% - {\textit{#1}}% -} -\newcommand{\thaiclassx}[2]{% - \thaiclass{#1}% - \raisebox{-0.4ex}{{\footnotesize\textit{#2}}}% -} -\newcommand{\thaiclassxx}[3]{% - \thaiclassx{#1}{#2}% - \raisebox{-0.8ex}{{\tiny\textit{#3}}}% -} - - -\begin{document} - -\title{The \texttt{C90} encoding for Thai} -\author{Werner Lemberg} -\date{2005/07/04} -\maketitle - - -\section{Introduction} - -This file describes a font encoding for Thai, as presented in a -TUGboat article~\cite{TUG-Thai}. The glyph names follow the Adobe -Glyph List (AGL)~\cite{AGL} recommendations. Since most available -Thai fonts neither use AGL glyph names nor follow the font encoding -used here, you have to be careful in setting up a proper encoding -vector. A specialty (for reasons explained below) is that three -glyphs, namely |/uni0E38| (Thai character `sara u'), |/uni0E39| (Thai -character `sara uu'), and |/uni0E3A| (Thai character `phinthu') must -appear twice in the encoding; the additional glyph indices are |0x80|, -|0x81|, and |0x82|, respectively. - - -\section{Ligatures} -The tricky part is implementing the ligatures. TeX's ligature -mechanism only provides contextual patterns of length~2. Due to the -very nature of the ETX format, ligatures aren't grouped into classes -which makes this file rather long. - -Thai glyphs can be grouped functionally into base glyphs (which are -spacing glyphs) and diacritics (which have zero advance width). -Usually, diacritical glyphs represent either vowels or tone -indicators, whereas base glyphs represent consonants -- I won't go -into detail here; please read the Unicode standard~\cite{Unicode} or -any introduction into the Thai script for more information. - -The general composing rules are as follows: - -\[ - CV \longrightarrow \StackAbove{V}{C}\,,\quad - CT \longrightarrow \StackAbove{T}{C}\,,\quad - CVT \longrightarrow \StackAbove{\StackAbove{T}{V}}{C}\,,\quad - Cv \longrightarrow \StackBelow{C}{v}\,,\quad - CvT \longrightarrow \StackBelow{\StackAbove{T}{C}}{v} -\] - -\noindent -where $C$ represents a base consonant, $V$ an upper vowel, $v$ a lower -vowel, and $T$ a tone mark. The tone mark always comes last. - -Sometimes you will find documents which have first the tone mark and -then the vowel. In real Thai input systems, this error will be -catched and fixed by reordering the characters according to the -TIS-620 Thai encoding standard before any output is created. The -ligatures given below are not able to handle such incorrect data, and -you have to normalize it before using them. - -It depends on context where the diacritics are exactly positioned; -some base glyphs have overlong ascenders or descenders, making it -necessary to shift the diacritics vertically and horizontally. - -To complicate things, the Thai vowel `sara am' (TIS-620 code point -|0xD3|, Unicode value |U+0E33|), which looks like the final nasal sign -`nikhahit' (|0xED|, |U+0E4D|) followed by the vowel `sara aa' (|0xD2|, -|U+0E32|), will be decomposed into these two glyphs for rendering. -The difficulty is that we must position the tone mark of the -\emph{previous} character properly! Thus we have - -\[ - C + SM \longrightarrow \StackAbove{N}{C} + SA\,,\quad - C + T + SM \longrightarrow \StackAbove{\StackAbove{T}{N}}{C} + SA -\] - -A last specialty (used for Sanskrit written in Thai) is that `sara aa' -if it follows the independent vowel letter `ru' (|0xC4|, |U+0E24|) or -`lu' (|0xC6|, |U+0E26|) is replaced with the `lakkhangyao' sign -(|0xE5|, |U+0E45|). - - -\section{Glyph Classes} - -To describe the patterns and rules we start with defining glyph -classes. - -\begin{quote} - \begin{description} - \item[\thaiclassx{base}{normal}] Normal base glyphs without special - features. - \item[\thaiclassx{base}{desc}] Base glyphs with descender. - \item[\thaiclassx{base}{desclike}] These base glyphs consist of two - elements which look like a normal base glyph combined with a lower - vowel diacritic; the diacritic-like element will be omitted if - combined with a lower vowel. - \item[\thaiclassx{base}{asc}] Base glyphs with an ascender on the - right side. - \item[\thaiclassx{base}{indic}] The two independent vowels \emph{ru} - and \emph{lu}. - \item[\thaiclassx{base}{sign}] The sign \emph{lakkhangyao}. - \item[\thaiclassx{base}{sara am}] The vowel \emph{sara am}. - \item[\thaiclassx{base}{sara aa}] The vowel \emph{sara aa}. - \item[\thaiclass{lower}] Lower vowel diacritics. - \item[\thaiclassx{upper}{vowel}] Upper vowel diacritics. - \item[\thaiclassx{upper}{sign}] The \emph{nikhahit} final nasal - sign. - \item[\thaiclass{top}] Tone marks. - \end{description} -\end{quote} - -Here the glyph variant classes: - -\begin{quote} - \begin{description} - \item[\thaiclassx{base}{descless}] The glyphs of class - \thaiclassx{base}{desclike} without the lower part. - \item[\thaiclassx{lower}{low}] The glyphs of class - \thaiclass{lower} shifted downwards. - \item[\thaiclassxx{upper}{vowel}{left}] The glyphs of class - \thaiclassx{upper}{vowel} shifted to the left. - \item[\thaiclassxx{upper}{sign}{left}] The glyphs of class - \thaiclassx{upper}{sign} shifted to the left. - \item[\thaiclassx{top}{left}] The glyphs of class - \thaiclass{top} shifted to the left. - \item[\thaiclassx{top}{low}] The glyphs of class - \thaiclass{top} shifted downwards. - \item[\thaiclassx{top}{low-left}] The glyphs of class - \thaiclass{top} shifted to the left and downwards. - \end{description} -\end{quote} - - -\section{Context Patterns} - -Using the glyph classes defined in the last section it is easy to -describe the context patterns for base glyphs with diacritical signs. -Surprisingly, these patterns are quite systematic. Patterns in -table~\ref{table:context-dia} which are marked with an asterisk do -nothing and are listed for completeness only. Note that these -patterns cover combinations which don't happen in the Thai script -(which doesn't harm). - -\begin{table*} - \centering - \def\arraystretch{1.3} - \begin{tabular} - {l@{~}l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l@{~}l} - \thaiclass{base} &\thaiclass{lower} - & & - &\thaiclass{base} &\thaiclass{lower} - & & &* \\ - \thaiclass{base} & - &\thaiclass{upper} & - &\thaiclass{base} & - &\thaiclass{upper} & &* \\ - \thaiclass{base} & - & &\thaiclass{top} - &\thaiclass{base} & - & &\thaiclassx{top}{low} & \\ - \thaiclass{base} &\thaiclass{lower} - & &\thaiclass{top} - &\thaiclass{base} &\thaiclass{lower} - & &\thaiclassx{top}{low} & \\ - \thaiclass{base} & - &\thaiclass{upper} &\thaiclass{top} - &\thaiclass{base} & - &\thaiclass{upper} &\thaiclass{top} &* \\[2ex] - - \thaiclassx{base}{desc} &\thaiclass{lower} - & & - &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} - & & & \\ - \thaiclassx{base}{desc} & - &\thaiclass{upper} & - &\thaiclassx{base}{desc} & - &\thaiclass{upper} & &* \\ - \thaiclassx{base}{desc} & - & &\thaiclass{top} - &\thaiclassx{base}{desc} & - & &\thaiclassx{top}{low} & \\ - \thaiclassx{base}{desc} &\thaiclass{lower} - & &\thaiclass{top} - &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} - & &\thaiclassx{top}{low} & \\ - \thaiclassx{base}{desc} & - &\thaiclass{upper} &\thaiclass{top} - &\thaiclassx{base}{desc} & - &\thaiclass{upper} &\thaiclass{top} &* \\[2ex] - - \thaiclassx{base}{desclike} &\thaiclass{lower} - & & - &\thaiclassx{base}{descless} & - & & & \\ - \thaiclassx{base}{desclike} & - &\thaiclass{upper} & - &\thaiclassx{base}{desclike} & - &\thaiclass{upper} & &* \\ - \thaiclassx{base}{desclike} & - & &\thaiclass{top} - &\thaiclassx{base}{desclike} & - & &\thaiclassx{top}{low} & \\ - \thaiclassx{base}{desclike} &\thaiclass{lower} - & &\thaiclass{top} - &\thaiclassx{base}{descless} &\thaiclass{lower} - & &\thaiclassx{top}{low} & \\ - \thaiclassx{base}{desclike} & - &\thaiclass{upper} &\thaiclass{top} - &\thaiclassx{base}{desclike} & - &\thaiclass{upper} &\thaiclass{top} &* \\[2ex] - - \thaiclassx{base}{asc} &\thaiclass{lower} - & & - &\thaiclassx{base}{asc} &\thaiclass{lower} - & & &* \\ - \thaiclassx{base}{asc} & - &\thaiclass{upper} & - &\thaiclassx{base}{asc} & - &\thaiclassx{upper}{left} & & \\ - \thaiclassx{base}{asc} & - & &\thaiclass{top} - &\thaiclassx{base}{asc} & - & &\thaiclassx{top}{low-left} & \\ - \thaiclassx{base}{asc} &\thaiclass{lower} - & &\thaiclass{top} - &\thaiclassx{base}{asc} &\thaiclass{lower} - & &\thaiclassx{top}{low-left} & \\ - \thaiclassx{base}{asc} & - &\thaiclass{upper} &\thaiclass{top} - &\thaiclassx{base}{asc} & - &\thaiclassx{upper}{left} &\thaiclassx{top}{left} & \\ - \end{tabular} - - \caption{Context patterns for diacritical signs. Here, - \thaiclass{base} refers to the union of the subclasses - \thaiclass{normal}, \thaiclass{indic}, \thaiclass{sign}, - \thaiclass{sara am}, and \thaiclass{sara aa} of \thaiclass{base}; - \thaiclass{upper} is the union of the subclasses \thaiclass{vowel} - and \thaiclass{sign} of \thaiclass{upper}.} - \label{table:context-dia} -\end{table*} - -Table~\ref{table:context-sara} covers the ligatures of the character -\emph{sara am}. Finally, table~\ref{table:context-indic} describes -the letters specific to Sanskrit. - -\begin{table*} - \centering - \def\arraystretch{1.3} - \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l} - \thaiclass{base} &\thaiclassx{base}{sara am} & - &\thaiclass{base} &\thaiclassx{upper}{sign} - & &\thaiclassx{base}{sara aa} \\ - \thaiclassx{base}{asc} &\thaiclassx{base}{sara am} & - &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left} - & &\thaiclassx{base}{sara aa} \\[2ex] - - \thaiclass{base} &\thaiclass{top} &\thaiclassx{base}{sara am} - &\thaiclass{base} &\thaiclassx{upper}{sign} - &\thaiclass{top} &\thaiclassx{base}{sara aa} \\ - \thaiclassx{base}{asc} &\thaiclass{top} &\thaiclassx{base}{sara - am} - &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left} - &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa} - \end{tabular} - \caption{Context patterns for \emph{sara am}. Here, - \thaiclass{base} denotes the union of subclasses - \thaiclass{normal}, \thaiclass{desc}, and \thaiclass{desclike} of - \thaiclass{base}.} - \label{table:context-sara} -\end{table*} - -\begin{table*} - \centering - \def\arraystretch{1.3} - \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l} - \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa} - &\thaiclassx{base}{indic} &\thaiclassx{base}{sign} - \end{tabular} - \caption{Context patterns for \emph{ru} and \emph{lu}.} - \label{table:context-indic} -\end{table*} - -\section{\TeX's Ligature Mechanism} - -\DeleteShortVerb{\|} - -A small introduction into the exotic variants of \TeX's ligature -mechanism which probably many users haven't seen before. -Additionally, the documentation in the \emph{\MF book}~\cite{MFbook} -is very sparse. In the following examples \MF's notation is used. - -The usual ligature action of two glyphs $a$ and~$b$ is the replacement -of both glyphs with another glyph~$c$. - -\begin{center} - \texttt{a b =:\ c} -\end{center} - -Another possibility is to retain the left or the right original glyph -(before and after the ligature, respectively) or both. - -\begin{center} - \texttt{a b |=:\ c} \quad - \texttt{a b =:| c} \quad - \texttt{a b |=:| c} -\end{center} - -\noindent -The first rule creates $ac$, the second $cb$, and the last $acb$. In -all three cases, the current point after appying the ligature rule is -still at the first glyph of the replaced glyphs, and \TeX\ simply -restarts there to check ligatures (and kernings). A classical example -is - -\begin{center} - f f i \textrightarrow\ ff i \textrightarrow\ ffi -\end{center} - -To advance the current point to the right, append either \texttt{>} or -\texttt{>{}>} (the latter is only possible if you retain both input -glyphs). Here are the remaining four ligature rules. - -\begin{center} - \texttt{a b |=:> c} \quad - \texttt{a b =:|> c} \\ - \texttt{a b |=:|> c} \quad - \texttt{a b |=:|>{}> c} -\end{center} - -For Thai ligatures, the most often needed rule is \texttt{|=:}\ (i.e., -retain the left glyph and stay at the same position before applying -the next ligature rule). Note that using \texttt{|=:>} instead is not -a good idea since this would prohibit kerning between the left glyph -and the ligature. - -\section{Ligature Rules} - -\MakeShortVerb{\|} - -As just explained, \TeX\ can only handle context patterns of length~2, -whereas Thai needs patterns of length~3. It was an interesting -challenge to find out whether the problem can be solved with \TeX's -somewhat restricted ligature rules -- the gentle reader is invited to -find a solution by herself! There won't be any difficulties in -understanding ligatures afterwards. - -The tables~\ref{table:liga-dia}, \ref{table:liga-sara}, -and~\ref{table:liga-indic} use the same conventions as -tables~\ref{table:context-dia}, \ref{table:context-sara}, -and~\ref{table:context-indic}, respectively. The current point isn't -increased in any of the rules. - -\begin{table*} - \centering - \def\arraystretch{1.3} - \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l} - \thaiclass{base} &\thaiclass{top} - &\thaiclass{base} &\thaiclassx{top}{low} \\ - \thaiclassx{base}{desc} &\thaiclass{lower} - &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} \\ - \thaiclassx{base}{desc} &\thaiclass{top} - &\thaiclassx{base}{desc} &\thaiclassx{top}{low} \\ - \thaiclassx{base}{desclike} &\thaiclass{lower} - &\thaiclassx{base}{descless} &\thaiclass{lower} \\ - \thaiclassx{base}{desclike} &\thaiclass{top} - &\thaiclassx{base}{desclike} &\thaiclassx{top}{low} \\ - \thaiclassx{base}{asc} &\thaiclass{lower} - &\thaiclassx{base}{asc} &\thaiclassx{lower}{left} \\ - \thaiclassx{base}{asc} &\thaiclass{upper} - &\thaiclassx{base}{asc} &\thaiclassx{upper}{left} \\ - \thaiclassx{base}{asc} &\thaiclass{top} - &\thaiclassx{base}{asc} &\thaiclassx{top}{low-left} \\[2ex] - - \thaiclass{lower} &\thaiclass{top} - &\thaiclass{lower} &\thaiclassx{top}{low} \\ - \thaiclassx{lower}{low} &\thaiclass{top} - &\thaiclassx{lower}{low} &\thaiclassx{top}{low} \\[2ex] - - \thaiclassx{upper}{left} &\thaiclass{top} - &\thaiclassx{upper}{left} &\thaiclassx{top}{left} \\[2ex] - - \thaiclassx{lower}{left} &\thaiclass{top} - &\thaiclassx{lower}{left} &\thaiclassx{top}{low-left} \\ - \end{tabular} - - \caption{Ligature rules for diacritical marks.} - \label{table:liga-dia} -\end{table*} - -\begin{table*} - \centering - \def\arraystretch{1.3} - \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l} - \thaiclass{base} &\thaiclassx{base}{sara am} - &\thaiclass{base} &\thaiclassx{upper}{sign} - &\thaiclassx{base}{sara am} \\ - \thaiclassx{base}{asc} &\thaiclassx{base}{sara am} - &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left} - &\thaiclassx{base}{sara am} \\[2ex] - - \thaiclassx{upper}{sign} &\thaiclassx{base}{sara am} - &\thaiclassx{upper}{sign} &\thaiclassx{base}{sara aa} - & \\ - \thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara am} - &\thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara aa} - & \\[2ex] - - \thaiclassx{top}{low} &\thaiclassx{base}{sara am} - &\thaiclassx{top}{low} &\thaiclass{top} - &\thaiclassx{base}{sara am} \\ - \thaiclassx{top}{low} &\thaiclass{top} - &\thaiclassx{upper}{sign} &\thaiclass{top} - & \\ - \thaiclass{top} &\thaiclassx{base}{sara am} - &\thaiclass{top} &\thaiclassx{base}{sara aa} - & \\[2ex] - - \thaiclassx{top}{low-left} &\thaiclassx{base}{sara am} - &\thaiclassx{top}{low-left} &\thaiclassx{top}{left} - &\thaiclassx{base}{sara am} \\ - \thaiclassx{top}{low-left} &\thaiclassx{top}{left} - &\thaiclassxx{upper}{sign}{left} &\thaiclassx{top}{left} - & \\ - \thaiclassx{top}{left} &\thaiclassx{base}{sara am} - &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa} \\ - \end{tabular} - - \caption{Ligature rules for \emph{sara am}.} - \label{table:liga-sara} -\end{table*} - -\begin{table*} - \centering - \def\arraystretch{1.3} - \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l} - \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa} - &\thaiclassx{base}{indic} &\thaiclassx{base}{sign} - \end{tabular} - \caption{Ligature rule for \emph{ru} and \emph{lu}.} - \label{table:liga-indic} -\end{table*} - -Most of the ligature rules can be derived easily by handling the -patterns sequentially (quite similar to logic puzzles found in various -magazines), but at the end there remain two patterns which apparently -contradict. - -\setlength{\tabcolsep}{3pt} - -\begin{center} - \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l} - \thaiclass{base} &\thaiclass{lower} &\thaiclass{top} - &\thaiclass{base} &\thaiclass{lower} - &\thaiclassx{top}{low} \\ - \thaiclassx{base}{asc} &\thaiclass{lower} &\thaiclass{top} - &\thaiclassx{base}{asc} &\thaiclass{lower} - &\thaiclassx{top}{low-left} \\ - \end{tabular} -\end{center} - -After applying ligature rules for the first two glyph classes it is -necessary to handle the context `\thaiclass{lower} \thaiclass{top}', -but depending on the previous glyph class \thaiclass{top} must be -replaced with \thaiclassx{top}{left} and \thaiclassx{top}{low-left}, -respectively. With a context pattern length of~3 this would be easy -to solve, but \TeX\ doesn't have this feature. What to do? - -The context `\thaiclass{base} \thaiclass{lower} \thaiclass{top}' must -be distinguished from `\thaiclassx{base}{asc} \thaiclass{lower} -\thaiclass{top}', i.e., two different \thaiclass{lower} classes are -needed depending on the previous character since \TeX\ is not able to -forward information from one ligature cycle to the next. The idea is -now to create an `alias class', a class which behaves identically to -the original one. The glyphs in this alias class are the same, but -different glyph indices and glyph names are assigned to it. A -closer look to table~\ref{table:liga-dia} shows that -\thaiclassx{lower}{left} isn't a typo but the alias class of -\thaiclass{lower}. - - -\section{The Implementation} - -After solving the problem theoretically now the practical -implementation. All glyph names follow the \emph{Adobe Glyph List - (AGL)}~\cite{AGL}. There are no predefined Adobe glyph names for -Thai, so the prefix `uni' with attached Unicode value will be used for -all glyphs which are encoded in Unicode. Glyph variants are -identified by an arbitrarily chosen postfix. - -Here the real glyph names for the various classes. Hexadecimal values -in parentheses after the glyph name give the glyph indices in the -encoding vector. - -\vspace{1ex} -\multicolsep 1ex - -\begin{multicols}{2}[\thaiclassx{base}{normal}:] - \begin{quote} - |uni0E01| (|0xA1|)\\ - |uni0E02| (|0xA2|)\\ - |uni0E03| (|0xA3|)\\ - |uni0E04| (|0xA4|)\\ - |uni0E05| (|0xA5|)\\ - |uni0E06| (|0xA6|)\\ - |uni0E07| (|0xA7|)\\ - |uni0E08| (|0xA8|)\\ - |uni0E09| (|0xA9|)\\ - |uni0E0A| (|0xAA|)\\ - |uni0E0B| (|0xAB|)\\ - |uni0E0C| (|0xAC|)\\ - |uni0E11| (|0xB1|)\\ - |uni0E12| (|0xB2|)\\ - |uni0E13| (|0xB3|)\\ - |uni0E14| (|0xB4|)\\ - |uni0E15| (|0xB5|)\\ - |uni0E16| (|0xB6|)\\ - |uni0E17| (|0xB7|)\\ - |uni0E18| (|0xB8|)\\ - |uni0E19| (|0xB9|)\\ - |uni0E1A| (|0xBA|)\\ - |uni0E1C| (|0xBC|)\\ - |uni0E1E| (|0xBE|)\\ - |uni0E20| (|0xC0|)\\ - |uni0E21| (|0xC1|)\\ - |uni0E22| (|0xC2|)\\ - |uni0E23| (|0xC3|)\\ - |uni0E25| (|0xC5|)\\ - |uni0E27| (|0xC7|)\\ - |uni0E28| (|0xC8|)\\ - |uni0E29| (|0xC9|)\\ - |uni0E2A| (|0xCA|)\\ - |uni0E2B| (|0xCB|)\\ - |uni0E2D| (|0xCD|)\\ - |uni0E2E| (|0xCE|)\\ - |uni0E2F| (|0xCF|)\\ - |uni0E30| (|0xD0|)\\ - |uni0E40| (|0xE0|)\\ - |uni0E41| (|0xE1|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{base}{desc}:] - \begin{quote} - |uni0E0E| (|0xAE|)\\ - |uni0E0F| (|0xAF|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{base}{desclike}:] - \begin{quote} - |uni0E0D| (|0xAD|)\\ - |uni0E10| (|0xB0|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{base}{indic}:] - \begin{quote} - |uni0E24| (|0xC4|)\\ - |uni0E26| (|0xC6|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{base}{sign}:] - \begin{quote} - |uni0E45| (|0xE5|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{base}{asc}:] - \begin{quote} - |uni0E1B| (|0xBB|)\\ - |uni0E1D| (|0xBD|)\\ - |uni0E1F| (|0xBF|)\\ - |uni0E2C| (|0xCC|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{base}{sara am}:] - \begin{quote} - |uni0E33| (|0xD3|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{base}{sara aa}:] - \begin{quote} - |uni0E32| (|0xD2|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{base}{descless}:] - \begin{quote} - |uni0E0D.descless| (|0x90|)\\ - |uni0E10.descless| (|0x9F|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclass{lower}:] - \begin{quote} - |uni0E38| (|0xD8|)\\ - |uni0E39| (|0xD9|)\\ - |uni0E3A| (|0xDA|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{lower}{left}:] - \begin{quote} - |uni0E38.left| (|0x80|)\\ - |uni0E39.left| (|0x81|)\\ - |uni0E3A.left| (|0x82|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{lower}{low}:] - \begin{quote} - |uni0E38.low| (|0xFC|)\\ - |uni0E39.low| (|0xFD|)\\ - |uni0E3A.low| (|0xFE|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{upper}{vowel}:] - \begin{quote} - |uni0E31| (|0xD1|)\\ - |uni0E34| (|0xD4|)\\ - |uni0E35| (|0xD5|)\\ - |uni0E36| (|0xD6|)\\ - |uni0E37| (|0xD7|)\\ - |uni0E47| (|0xE7|)\\ - |uni0E4D| (|0xED|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{upper}{sign}:] - \begin{quote} - |uni0E4D| (|0xED|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassxx{upper}{vowel}{left}:] - \begin{quote} - |uni0E31.left| (|0x92|)\\ - |uni0E34.left| (|0x94|)\\ - |uni0E35.left| (|0x95|)\\ - |uni0E36.left| (|0x96|)\\ - |uni0E37.left| (|0x97|)\\ - |uni0E47.left| (|0x93|)\\ - |uni0E4D.left| (|0x8F|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassxx{upper}{sign}{left}:] - \begin{quote} - |uni0E4D.left| (|0x8F|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclass{top}:] - \begin{quote} - |uni0E48| (|0xE8|)\\ - |uni0E49| (|0xE9|)\\ - |uni0E4A| (|0xEA|)\\ - |uni0E4B| (|0xEB|)\\ - |uni0E4C| (|0xEC|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{top}{left}:] - \begin{quote} - |uni0E48.left| (|0x98|)\\ - |uni0E49.left| (|0x99|)\\ - |uni0E4A.left| (|0x9A|)\\ - |uni0E4B.left| (|0x9B|)\\ - |uni0E4C.left| (|0x9C|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{top}{low}:] - \begin{quote} - |uni0E48.low| (|0x88|)\\ - |uni0E49.low| (|0x89|)\\ - |uni0E4A.low| (|0x8A|)\\ - |uni0E4B.low| (|0x8B|)\\ - |uni0E4C.low| (|0x8C|) - \end{quote} -\end{multicols} - -\begin{multicols}{2}[\thaiclassx{top}{low-left}:] - \begin{quote} - |uni0E48.low_left| (|0x83|)\\ - |uni0E49.low_left| (|0x84|)\\ - |uni0E4A.low_left| (|0x85|)\\ - |uni0E4B.low_left| (|0x86|)\\ - |uni0E4C.low_left| (|0x87|) - \end{quote} -\end{multicols} - -\vspace{1ex} - - -\encoding -\needsfontinstversion{1.918} - - -\begincomment -\section{Coding Scheme} -\endcomment - -\setstr{codingscheme}{C90 THAI ENCODING} - - -\begincomment -\section{Non-Thai Characters} - -Of the many different \LaTeX{} encodings, |OT1| supports {\small - ASCII} best (and this is what most Type~1 Thai fonts have). This -has two advantages: We can use the raw Thai font without specifying a -new encoding (switching to |OT1| will be sufficient), and it will work -with plain \TeX{} also. - -We use the |OT1| layout for typewriter fonts (i.e., for |cmtt|) with -the exception that `arrowup' and `arrowdown' are replaced with -`endash' and `emdash', and the seldom used `dotlessj' with -`quotedblleft'. -\endcomment - - -% 0x00 | 0 -\setslot{Gamma} - \Unicode{0393}{GREEK CAPITAL LETTER GAMMA} -\endsetslot - -\setslot{Delta} - \Unicode{0394}{GREEK CAPITAL LETTER DELTA} -\endsetslot - -\setslot{Theta} - \Unicode{0398}{GREEK CAPITAL LETTER THETA} -\endsetslot - -\setslot{Lambda} - \Unicode{039B}{GREEK CAPITAL LETTER LAMDA} -\endsetslot - -\setslot{Xi} - \Unicode{039E}{GREEK CAPITAL LETTER XI} -\endsetslot - -\setslot{Pi} - \Unicode{03A0}{GREEK CAPITAL LETTER PI} -\endsetslot - -\setslot{Sigma} - \Unicode{03A3}{GREEK CAPITAL LETTER SIGMA} -\endsetslot - -\setslot{Upsilon} - \Unicode{03D2}{GREEK UPSILON WITH HOOK SYMBOL} -\endsetslot - -\setslot{Phi} - \Unicode{03A6}{GREEK CAPITAL LETTER PHI} -\endsetslot - -\setslot{Psi} - \Unicode{03A8}{GREEK CAPITAL LETTER PSI} -\endsetslot - -\setslot{Omega} - \Unicode{03A9}{GREEK CAPITAL LETTER OMEGA} -\endsetslot - -\setslot{endash} - \Unicode{2013}{EN DASH} - \Ligature{LIG}{hyphen}{emdash} - \comment{This is `arrowup' in |OT1| encoding.} -\endsetslot - -\setslot{emdash} - \Unicode{2014}{EM DASH} - \comment{This is `arrowdown' in |OT1| encoding.} -\endsetslot - -\setslot{quotesingle} - \Unicode{0027}{APOSTROPHE} -\endsetslot - -\setslot{exclamdown} - \Unicode{00A1}{INVERTED EXCLAMATION MARK} -\endsetslot - -\setslot{questiondown} - \Unicode{00BF}{INVERTED QUESTION MARK} -\endsetslot - -% 0x10 | 16 -\setslot{dotlessi} - \Unicode{0131}{LATIN SMALL LETTER DOTLESS I} -\endsetslot - -\setslot{quotedblleft} - \Unicode{201C}{LEFT DOUBLE QUOTATION MARK} - \comment{This is `dotlessj' in |OT1| encoding.} -\endsetslot - -\setslot{grave} - \Unicode{0300}{COMBINING GRAVE ACCENT} -\endsetslot - -\setslot{acute} - \Unicode{0301}{COMBINING ACUTE ACCENT} -\endsetslot - -\setslot{caron} - \Unicode{030C}{COMBINING CARON} -\endsetslot - -\setslot{breve} - \Unicode{0306}{COMBINING BREVE} -\endsetslot - -\setslot{macron} - \Unicode{0304}{COMBINING MACRON} -\endsetslot - -\setslot{ring} - \Unicode{030A}{COMBINING RING ABOVE} -\endsetslot - -\setslot{cedilla} - \Unicode{0327}{COMBINING CEDILLA} -\endsetslot - -\setslot{germandbls} - \Unicode{00DF}{LATIN SMALL LETTER SHARP S} -\endsetslot - -\setslot{ae} - \Unicode{00E6}{LATIN SMALL LETTER AE} -\endsetslot - -\setslot{oe} - \Unicode{0153}{LATIN SMALL LIGATURE OE} -\endsetslot - -\setslot{oslash} - \Unicode{00F8}{LATIN SMALL LETTER O WITH STROKE} -\endsetslot - -\setslot{AE} - \Unicode{00C6}{LATIN CAPITAL LETTER AE} -\endsetslot - -\setslot{OE} - \Unicode{0152}{LATIN CAPITAL LIGATURE OE} -\endsetslot - -\setslot{Oslash} - \Unicode{00D8}{LATIN CAPITAL LETTER O WITH STROKE} -\endsetslot - -% 0x20 | 32 -\skipslots{1} - -\setslot{exclam} - \Unicode{0021}{EXCLAMATION MARK} - \Ligature{LIG}{quoteleft}{exclamdown} -\endsetslot - -\setslot{quotedblright} - \Unicode{201D}{RIGHT DOUBLE QUOTATION MARK} -\endsetslot - -\setslot{numbersign} - \Unicode{0023}{NUMBER SIGN} -\endsetslot - -\setslot{dollar} - \Unicode{0024}{DOLLAR SIGN} -\endsetslot - -\setslot{percent} - \Unicode{0025}{PERCENT SIGN} -\endsetslot - -\setslot{ampersand} - \Unicode{0026}{AMPERSAND} -\endsetslot - -\setslot{quoteright} - \Unicode{2019}{RIGHT SINGLE QUOTATION MARK} - \Ligature{LIG}{quoteright}{quotedblright} -\endsetslot - -\setslot{parenleft} - \Unicode{0028}{LEFT PARENTHESIS} -\endsetslot - -\setslot{parenright} - \Unicode{0029}{RIGHT PARENTHESIS} -\endsetslot - -\setslot{asterisk} - \Unicode{002A}{ASTERISK} -\endsetslot - -\setslot{plus} - \Unicode{002B}{PLUS SIGN} -\endsetslot - -\setslot{comma} - \Unicode{002C}{COMMA} -\endsetslot - -\setslot{hyphen} - \Unicode{002D}{HYPHEN-MINUS} - \Ligature{LIG}{hyphen}{endash} -\endsetslot - -\setslot{period} - \Unicode{002E}{FULL STOP} -\endsetslot - -\setslot{slash} - \Unicode{002F}{SOLIDUS} -\endsetslot - -% 0x30 | 48 -\setslot{zero} - \Unicode{0030}{DIGIT ZERO} -\endsetslot - -\setslot{one} - \Unicode{0031}{DIGIT ONE} -\endsetslot - -\setslot{two} - \Unicode{0032}{DIGIT TWO} -\endsetslot - -\setslot{three} - \Unicode{0033}{DIGIT THREE} -\endsetslot - -\setslot{four} - \Unicode{0034}{DIGIT FOUR} -\endsetslot - -\setslot{five} - \Unicode{0035}{DIGIT FIVE} -\endsetslot - -\setslot{six} - \Unicode{0036}{DIGIT SIX} -\endsetslot - -\setslot{seven} - \Unicode{0037}{DIGIT SEVEN} -\endsetslot - -\setslot{eight} - \Unicode{0038}{DIGIT EIGHT} -\endsetslot - -\setslot{nine} - \Unicode{0039}{DIGIT NINE} -\endsetslot - -\setslot{colon} - \Unicode{003A}{COLON} -\endsetslot - -\setslot{semicolon} - \Unicode{003B}{SEMICOLON} -\endsetslot - -\setslot{less} - \Unicode{003C}{LESS-THAN SIGN} -\endsetslot - -\setslot{equal} - \Unicode{003D}{EQUALS SIGN} -\endsetslot - -\setslot{greater} - \Unicode{003E}{GREATER-THAN SIGN} -\endsetslot - -\setslot{question} - \Unicode{003F}{QUESTION MARK} - \Ligature{LIG}{quoteleft}{questiondown} -\endsetslot - -% 0x40 | 64 -\setslot{at} - \Unicode{0040}{COMMERCIAL AT} -\endsetslot - -\setslot{A} - \Unicode{0041}{LATIN CAPITAL LETTER A} -\endsetslot - -\setslot{B} - \Unicode{0042}{LATIN CAPITAL LETTER B} -\endsetslot - -\setslot{C} - \Unicode{0043}{LATIN CAPITAL LETTER C} -\endsetslot - -\setslot{D} - \Unicode{0044}{LATIN CAPITAL LETTER D} -\endsetslot - -\setslot{E} - \Unicode{0045}{LATIN CAPITAL LETTER E} -\endsetslot - -\setslot{F} - \Unicode{0046}{LATIN CAPITAL LETTER F} -\endsetslot - -\setslot{G} - \Unicode{0047}{LATIN CAPITAL LETTER G} -\endsetslot - -\setslot{H} - \Unicode{0048}{LATIN CAPITAL LETTER H} -\endsetslot - -\setslot{I} - \Unicode{0049}{LATIN CAPITAL LETTER I} -\endsetslot - -\setslot{J} - \Unicode{004A}{LATIN CAPITAL LETTER J} -\endsetslot - -\setslot{K} - \Unicode{004B}{LATIN CAPITAL LETTER K} -\endsetslot - -\setslot{L} - \Unicode{004C}{LATIN CAPITAL LETTER L} -\endsetslot - -\setslot{M} - \Unicode{004D}{LATIN CAPITAL LETTER M} -\endsetslot - -\setslot{N} - \Unicode{004E}{LATIN CAPITAL LETTER N} -\endsetslot - -\setslot{O} - \Unicode{004F}{LATIN CAPITAL LETTER O} -\endsetslot - -% 0x50 | 80 -\setslot{P} - \Unicode{0050}{LATIN CAPITAL LETTER P} -\endsetslot - -\setslot{Q} - \Unicode{0051}{LATIN CAPITAL LETTER Q} -\endsetslot - -\setslot{R} - \Unicode{0052}{LATIN CAPITAL LETTER R} -\endsetslot - -\setslot{S} - \Unicode{0053}{LATIN CAPITAL LETTER S} -\endsetslot - -\setslot{T} - \Unicode{0054}{LATIN CAPITAL LETTER T} -\endsetslot - -\setslot{U} - \Unicode{0055}{LATIN CAPITAL LETTER U} -\endsetslot - -\setslot{V} - \Unicode{0056}{LATIN CAPITAL LETTER V} -\endsetslot - -\setslot{W} - \Unicode{0057}{LATIN CAPITAL LETTER W} -\endsetslot - -\setslot{X} - \Unicode{0058}{LATIN CAPITAL LETTER X} -\endsetslot - -\setslot{Y} - \Unicode{0059}{LATIN CAPITAL LETTER Y} -\endsetslot - -\setslot{Z} - \Unicode{005A}{LATIN CAPITAL LETTER Z} -\endsetslot - -\setslot{bracketleft} - \Unicode{005B}{LEFT SQUARE BRACKET} -\endsetslot - -\setslot{backslash} - \Unicode{005C}{REVERSE SOLIDUS} -\endsetslot - -\setslot{bracketright} - \Unicode{005D}{RIGHT SQUARE BRACKET} -\endsetslot - -\setslot{circumflex} - \Unicode{0302}{COMBINING CIRCUMFLEX ACCENT} -\endsetslot - -\setslot{underscore} - \Unicode{005F}{LOW LINE} -\endsetslot - -% 0x60 | 96 -\setslot{quoteleft} - \Unicode{2018}{LEFT SINGLE QUOTATION MARK} - \Ligature{LIG}{quoteleft}{quotedblleft} -\endsetslot - -\setslot{a} - \Unicode{0061}{LATIN SMALL LETTER A} -\endsetslot - -\setslot{b} - \Unicode{0062}{LATIN SMALL LETTER B} -\endsetslot - -\setslot{c} - \Unicode{0063}{LATIN SMALL LETTER C} -\endsetslot - -\setslot{d} - \Unicode{0064}{LATIN SMALL LETTER D} -\endsetslot - -\setslot{e} - \Unicode{0065}{LATIN SMALL LETTER E} -\endsetslot - -\setslot{f} - \Unicode{0066}{LATIN SMALL LETTER F} -\endsetslot - -\setslot{g} - \Unicode{0067}{LATIN SMALL LETTER G} -\endsetslot - -\setslot{h} - \Unicode{0068}{LATIN SMALL LETTER H} -\endsetslot - -\setslot{i} - \Unicode{0069}{LATIN SMALL LETTER I} -\endsetslot - -\setslot{j} - \Unicode{006A}{LATIN SMALL LETTER J} -\endsetslot - -\setslot{k} - \Unicode{006B}{LATIN SMALL LETTER K} -\endsetslot - -\setslot{l} - \Unicode{006C}{LATIN SMALL LETTER L} -\endsetslot - -\setslot{m} - \Unicode{006D}{LATIN SMALL LETTER M} -\endsetslot - -\setslot{n} - \Unicode{006E}{LATIN SMALL LETTER N} -\endsetslot - -\setslot{o} - \Unicode{006F}{LATIN SMALL LETTER O} -\endsetslot - -% 0x70 | 112 -\setslot{p} - \Unicode{0070}{LATIN SMALL LETTER P} -\endsetslot - -\setslot{q} - \Unicode{0071}{LATIN SMALL LETTER Q} -\endsetslot - -\setslot{r} - \Unicode{0072}{LATIN SMALL LETTER R} -\endsetslot - -\setslot{s} - \Unicode{0073}{LATIN SMALL LETTER S} -\endsetslot - -\setslot{t} - \Unicode{0074}{LATIN SMALL LETTER T} -\endsetslot - -\setslot{u} - \Unicode{0075}{LATIN SMALL LETTER U} -\endsetslot - -\setslot{v} - \Unicode{0076}{LATIN SMALL LETTER V} -\endsetslot - -\setslot{w} - \Unicode{0077}{LATIN SMALL LETTER W} -\endsetslot - -\setslot{x} - \Unicode{0078}{LATIN SMALL LETTER X} -\endsetslot - -\setslot{y} - \Unicode{0079}{LATIN SMALL LETTER Y} -\endsetslot - -\setslot{z} - \Unicode{007A}{LATIN SMALL LETTER Z} -\endsetslot - -\setslot{braceleft} - \Unicode{007B}{LEFT CURLY BRACKET} -\endsetslot - -\setslot{bar} - \Unicode{007C}{VERTICAL LINE} -\endsetslot - -\setslot{braceright} - \Unicode{007D}{RIGHT CURLY BRACKET} -\endsetslot - -\setslot{tilde} - \Unicode{0303}{COMBINING TILDE} -\endsetslot - -\setslot{dieresis} - \Unicode{0308}{COMBINING DIAERESIS} -\endsetslot - - -\begincomment -\section{Thai Characters} - -This is |TIS-620| encoding with glyph variants. The encoding presented -in~\cite{TUG-Thai} contained two alternate glyph forms at positions 157 -and 158 which have been removed meanwhile. - -The number of all Thai ligature rules is quite big (464~in total). -Note that |vptovf| will make the ligature table much more compact as -it may appear here. -\endcomment - -% 0x80 | 128 -\ifisint{makeenc}\then - \setslot{uni0E38} - \endsetslot -\Else - \setslot{uni0E38.left} - \comment{An alias for - \textunicode{0E38}{THAI CHARACTER SARA U}.} - \Ligature{/LIG}{uni0E48}{uni0E48.low_left} - \Ligature{/LIG}{uni0E49}{uni0E49.low_left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left} - \endsetslot -\Fi - -\ifisint{makeenc}\then - \setslot{uni0E39} - \endsetslot -\Else - \setslot{uni0E39.left} - \comment{An alias for - \textunicode{0E39}{THAI CHARACTER SARA UU}.} - \Ligature{/LIG}{uni0E48}{uni0E48.low_left} - \Ligature{/LIG}{uni0E49}{uni0E49.low_left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left} - \endsetslot -\Fi - -\ifisint{makeenc}\then - \setslot{uni0E3A} - \endsetslot -\Else - \setslot{uni0E3A.left} - \comment{An alias for - \textunicode{0E3A}{THAI CHARACTER PHINTHU}.} - \Ligature{/LIG}{uni0E48}{uni0E48.low_left} - \Ligature{/LIG}{uni0E49}{uni0E49.low_left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left} - \endsetslot -\Fi - -\setslot{uni0E48.low_left} - \comment{A glyph variant of - \textunicode{0E48}{THAI CHARACTER MAI EK}.} - \Ligature{/LIG/}{uni0E33}{uni0E48.left} - \Ligature{LIG/}{uni0E48.left}{uni0E4D.left} -\endsetslot - -\setslot{uni0E49.low_left} - \comment{A glyph variant of - \textunicode{0E49}{THAI CHARACTER MAI THO}.} - \Ligature{/LIG/}{uni0E33}{uni0E49.left} - \Ligature{LIG/}{uni0E49.left}{uni0E4D.left} -\endsetslot - -\setslot{uni0E4A.low_left} - \comment{A glyph variant of - \textunicode{0E4A}{THAI CHARACTER MAI TRI}.} - \Ligature{/LIG/}{uni0E33}{uni0E4A.left} - \Ligature{LIG/}{uni0E4A.left}{uni0E4D.left} -\endsetslot - -\setslot{uni0E4B.low_left} - \comment{A glyph variant of - \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.} - \Ligature{/LIG/}{uni0E33}{uni0E4B.left} - \Ligature{LIG/}{uni0E4B.left}{uni0E4D.left} -\endsetslot - -\setslot{uni0E4C.low_left} - \comment{A glyph variant of - \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.} - \Ligature{/LIG/}{uni0E33}{uni0E4C.left} - \Ligature{LIG/}{uni0E4C.left}{uni0E4D.left} -\endsetslot - -\setslot{uni0E48.low} - \comment{A glyph variant of - \textunicode{0E48}{THAI CHARACTER MAI EK}.} - \Ligature{/LIG/}{uni0E33}{uni0E48} - \Ligature{LIG/}{uni0E48}{uni0E4D} -\endsetslot - -\setslot{uni0E49.low} - \comment{A glyph variant of - \textunicode{0E49}{THAI CHARACTER MAI THO}.} - \Ligature{/LIG/}{uni0E33}{uni0E49} - \Ligature{LIG/}{uni0E49}{uni0E4D} -\endsetslot - -\setslot{uni0E4A.low} - \comment{A glyph variant of - \textunicode{0E4A}{THAI CHARACTER MAI TRI}.} - \Ligature{/LIG/}{uni0E33}{uni0E4A} - \Ligature{LIG/}{uni0E4A}{uni0E4D} -\endsetslot - -\setslot{uni0E4B.low} - \comment{A glyph variant of - \textunicode{04EB}{THAI CHARACTER MAI CHATTAWA}.} - \Ligature{/LIG/}{uni0E33}{uni0E4B} - \Ligature{LIG/}{uni0E4B}{uni0E4D} -\endsetslot - -\setslot{uni0E4C.low} - \comment{A glyph variant of - \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.} - \Ligature{/LIG/}{uni0E33}{uni0E4C} - \Ligature{LIG/}{uni0E4C}{uni0E4D} -\endsetslot - -\skipslots{2} - -\setslot{uni0E4D.left} - \comment{A glyph variant of - \textunicode{0E4D}{THAI CHARACTER NIKHAHIT}.} - \Ligature{/LIG}{uni0E33}{uni0E32} - \Ligature{/LIG}{uni0E48}{uni0E48.left} - \Ligature{/LIG}{uni0E49}{uni0E49.left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.left} -\endsetslot - -% 0x90 | 144 -\setslot{uni0E0D.descless} - \comment{A glyph variant of - \textunicode{0E0D}{THAI CHARACTER YO YING}.} -\endsetslot - -\skipslots{1} - -\setslot{uni0E31.left} - \comment{A glyph variant of - \textunicode{0E31}{THAI CHARACTER MAI HAN-AKAT}.} - \Ligature{/LIG}{uni0E48}{uni0E48.left} - \Ligature{/LIG}{uni0E49}{uni0E49.left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.left} -\endsetslot - -\setslot{uni0E47.left} - \comment{A glyph variant of - \textunicode{0E47}{THAI CHARACTER MAITAIKHU}.} - \Ligature{/LIG}{uni0E48}{uni0E48.left} - \Ligature{/LIG}{uni0E49}{uni0E49.left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.left} -\endsetslot - -\setslot{uni0E34.left} - \comment{A glyph variant of - \textunicode{0E34}{THAI CHARACTER SARA I}.} - \Ligature{/LIG}{uni0E48}{uni0E48.left} - \Ligature{/LIG}{uni0E49}{uni0E49.left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.left} -\endsetslot - -\setslot{uni0E35.left} - \comment{A glyph variant of - \textunicode{0E35}{THAI CHARACTER SARA II}.} - \Ligature{/LIG}{uni0E48}{uni0E48.left} - \Ligature{/LIG}{uni0E49}{uni0E49.left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.left} -\endsetslot - -\setslot{uni0E36.left} - \comment{A glyph variant of - \textunicode{0E36}{THAI CHARACTER SARA UE}.} - \Ligature{/LIG}{uni0E48}{uni0E48.left} - \Ligature{/LIG}{uni0E49}{uni0E49.left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.left} -\endsetslot - -\setslot{uni0E37.left} - \comment{A glyph variant of - \textunicode{0E37}{THAI CHARACTER SARA UEE}.} - \Ligature{/LIG}{uni0E48}{uni0E48.left} - \Ligature{/LIG}{uni0E49}{uni0E49.left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.left} -\endsetslot - -\setslot{uni0E48.left} - \comment{A glyph variant of - \textunicode{0E48}{THAI CHARACTER MAI EK}.} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E49.left} - \comment{A glyph variant of - \textunicode{0E49}{THAI CHARACTER MAI THO}.} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E4A.left} - \comment{A glyph variant of - \textunicode{0E4A}{THAI CHARACTER MAI TRI}.} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E4B.left} - \comment{A glyph variant of - \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E4C.left} - \comment{A glyph variant of - \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\skipslots{2} - -\setslot{uni0E10.descless} - \comment{A glyph variant of - \textunicode{0E10}{THAI CHARACTER THO THAN}.} -\endsetslot - -% 0xA0 | 160 -\skipslots{1} - -\setslot{uni0E01} - \Unicode{0E01}{THAI CHARACTER KO KAI} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E02} - \Unicode{0E02}{THAI CHARACTER KHO KHAI} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E03} - \Unicode{0E03}{THAI CHARACTER KHO KHUAT} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E04} - \Unicode{0E04}{THAI CHARACTER KHO KHWAI} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E05} - \Unicode{0E05}{THAI CHARACTER KHO KHON} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E06} - \Unicode{0E06}{THAI CHARACTER KHO RAKHANG} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E07} - \Unicode{0E07}{THAI CHARACTER NGO NGU} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E08} - \Unicode{0E08}{THAI CHARACTER CHO CHAN} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E09} - \Unicode{0E09}{THAI CHARACTER CHO CHING} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E0A} - \Unicode{0E0A}{THAI CHARACTER CHO CHANG} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E0B} - \Unicode{0E0B}{THAI CHARACTER SO SO} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E0C} - \Unicode{0E0C}{THAI CHARACTER CHO CHOE} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E0D} - \Unicode{0E0D}{THAI CHARACTER YO YING} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{LIG/}{uni0E38}{uni0E0D.descless} - \Ligature{LIG/}{uni0E39}{uni0E0D.descless} - \Ligature{LIG/}{uni0E3A}{uni0E0D.descless} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E0E} - \Unicode{0E0E}{THAI CHARACTER DO CHADA} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E38}{uni0E38.low} - \Ligature{/LIG}{uni0E39}{uni0E39.low} - \Ligature{/LIG}{uni0E3A}{uni0E3A.low} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E0F} - \Unicode{0E0F}{THAI CHARACTER TO PATAK} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E38}{uni0E38.low} - \Ligature{/LIG}{uni0E39}{uni0E39.low} - \Ligature{/LIG}{uni0E3A}{uni0E3A.low} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -% 0xB0 | 176 -\setslot{uni0E10} - \Unicode{0E10}{THAI CHARACTER THO THAN} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{LIG/}{uni0E38}{uni0E10.descless} - \Ligature{LIG/}{uni0E39}{uni0E10.descless} - \Ligature{LIG/}{uni0E3A}{uni0E10.descless} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E11} - \Unicode{0E11}{THAI CHARACTER THO NANGMONTHO} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E12} - \Unicode{0E12}{THAI CHARACTER THO PHUTHAO} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E13} - \Unicode{0E13}{THAI CHARACTER NO NEN} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E14} - \Unicode{0E14}{THAI CHARACTER DO DEK} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E15} - \Unicode{0E15}{THAI CHARACTER TO TAO} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E16} - \Unicode{0E16}{THAI CHARACTER THO THUNG} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E17} - \Unicode{0E17}{THAI CHARACTER THO THAHAN} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E18} - \Unicode{0E18}{THAI CHARACTER THO THONG} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E19} - \Unicode{0E19}{THAI CHARACTER NO NU} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E1A} - \Unicode{0E1A}{THAI CHARACTER BO BAIMAI} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E1B} - \Unicode{0E1B}{THAI CHARACTER PO PLA} - \Ligature{/LIG}{uni0E31}{uni0E31.left} - \Ligature{/LIG/}{uni0E33}{uni0E4D.left} - \Ligature{/LIG}{uni0E34}{uni0E34.left} - \Ligature{/LIG}{uni0E35}{uni0E35.left} - \Ligature{/LIG}{uni0E36}{uni0E36.left} - \Ligature{/LIG}{uni0E37}{uni0E37.left} - \Ligature{/LIG}{uni0E38}{uni0E38.left} - \Ligature{/LIG}{uni0E39}{uni0E39.left} - \Ligature{/LIG}{uni0E3A}{uni0E3A.left} - \Ligature{/LIG}{uni0E47}{uni0E47.left} - \Ligature{/LIG}{uni0E48}{uni0E48.low_left} - \Ligature{/LIG}{uni0E49}{uni0E49.low_left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} - \Ligature{/LIG}{uni0E4D}{uni0E4D.left} -\endsetslot - -\setslot{uni0E1C} - \Unicode{0E1C}{THAI CHARACTER PHO PHUNG} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E1D} - \Unicode{0E1D}{THAI CHARACTER FO FA} - \Ligature{/LIG}{uni0E31}{uni0E31.left} - \Ligature{/LIG/}{uni0E33}{uni0E4D.left} - \Ligature{/LIG}{uni0E34}{uni0E34.left} - \Ligature{/LIG}{uni0E35}{uni0E35.left} - \Ligature{/LIG}{uni0E36}{uni0E36.left} - \Ligature{/LIG}{uni0E37}{uni0E37.left} - \Ligature{/LIG}{uni0E38}{uni0E38.left} - \Ligature{/LIG}{uni0E39}{uni0E39.left} - \Ligature{/LIG}{uni0E3A}{uni0E3A.left} - \Ligature{/LIG}{uni0E47}{uni0E47.left} - \Ligature{/LIG}{uni0E48}{uni0E48.low_left} - \Ligature{/LIG}{uni0E49}{uni0E49.low_left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} - \Ligature{/LIG}{uni0E4D}{uni0E4D.left} -\endsetslot - -\setslot{uni0E1E} - \Unicode{0E1E}{THAI CHARACTER PHO PHAN} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E1F} - \Unicode{0E1F}{THAI CHARACTER FO FAN} - \Ligature{/LIG}{uni0E31}{uni0E31.left} - \Ligature{/LIG/}{uni0E33}{uni0E4D.left} - \Ligature{/LIG}{uni0E34}{uni0E34.left} - \Ligature{/LIG}{uni0E35}{uni0E35.left} - \Ligature{/LIG}{uni0E36}{uni0E36.left} - \Ligature{/LIG}{uni0E37}{uni0E37.left} - \Ligature{/LIG}{uni0E38}{uni0E38.left} - \Ligature{/LIG}{uni0E39}{uni0E39.left} - \Ligature{/LIG}{uni0E3A}{uni0E3A.left} - \Ligature{/LIG}{uni0E47}{uni0E47.left} - \Ligature{/LIG}{uni0E48}{uni0E48.low_left} - \Ligature{/LIG}{uni0E49}{uni0E49.low_left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} - \Ligature{/LIG}{uni0E4D}{uni0E4D.left} -\endsetslot - -% 0xC0 | 192 -\setslot{uni0E20} - \Unicode{0E20}{THAI CHARACTER PHO SAMPHAO} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E21} - \Unicode{0E21}{THAI CHARACTER MO MA} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E22} - \Unicode{0E22}{THAI CHARACTER YO YAK} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E23} - \Unicode{0E23}{THAI CHARACTER RO RUA} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E24} - \Unicode{0E24}{THAI CHARACTER RU} - \Ligature{/LIG}{uni0E32}{uni0E45} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E25} - \Unicode{0E25}{THAI CHARACTER LO LING} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E26} - \Unicode{0E26}{THAI CHARACTER LU} - \Ligature{/LIG}{uni0E32}{uni0E45} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E27} - \Unicode{0E27}{THAI CHARACTER WO WAEN} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E28} - \Unicode{0E28}{THAI CHARACTER SO SALA} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E29} - \Unicode{0E29}{THAI CHARACTER SO RUSI} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E2A} - \Unicode{0E2A}{THAI CHARACTER SO SUA} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E2B} - \Unicode{0E2B}{THAI CHARACTER HO HIP} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E2C} - \Unicode{0E2C}{THAI CHARACTER LO CHULA} - \Ligature{/LIG/}{uni0E33}{uni0E4D.left} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} -\endsetslot - -\setslot{uni0E2D} - \Unicode{0E2D}{THAI CHARACTER O ANG} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E2E} - \Unicode{0E2E}{THAI CHARACTER HO NOKHUK} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E2F} - \Unicode{0E2F}{THAI CHARACTER PAIYANNOI} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -% 0xD0 | 208 -\setslot{uni0E30} - \Unicode{0E30}{THAI CHARACTER SARA A} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E31} - \Unicode{0E31}{THAI CHARACTER MAI HAN-AKAT} -\endsetslot - -\setslot{uni0E32} - \Unicode{0E32}{THAI CHARACTER SARA AA} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E33} - \Unicode{0E33}{THAI CHARACTER SARA AM} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E34} - \Unicode{0E34}{THAI CHARACTER SARA I} -\endsetslot - -\setslot{uni0E35} - \Unicode{0E35}{THAI CHARACTER SARA II} -\endsetslot - -\setslot{uni0E36} - \Unicode{0E36}{THAI CHARACTER SARA UE} -\endsetslot - -\setslot{uni0E37} - \Unicode{0E37}{THAI CHARACTER SARA UEE} -\endsetslot - -\setslot{uni0E38} - \Unicode{0E38}{THAI CHARACTER SARA U} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E39} - \Unicode{0E39}{THAI CHARACTER SARA UU} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E3A} - \Unicode{0E3A}{THAI CHARACTER PHINTHU} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\skipslots{4} - -\setslot{uni0E3F} - \Unicode{0E3F}{THAI CURRENCY SYMBOL BAHT} -\endsetslot - -% 0xE0 | 224 -\setslot{uni0E40} - \Unicode{0E40}{THAI CHARACTER SARA E} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E41} - \Unicode{0E41}{THAI CHARACTER SARA AE} - \Ligature{/LIG/}{uni0E33}{uni0E4D} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E42} - \Unicode{0E42}{THAI CHARACTER SARA O} -\endsetslot - -\setslot{uni0E43} - \Unicode{0E43}{THAI CHARACTER SARA AI MAIMUAN} -\endsetslot - -\setslot{uni0E44} - \Unicode{0E44}{THAI CHARACTER SARA AI MAIMALAI} -\endsetslot - -\setslot{uni0E45} - \Unicode{0E45}{THAI CHARACTER LAKKHANGYAO} -\endsetslot - -\setslot{uni0E46} - \Unicode{0E46}{THAI CHARACTER MAIYAMOK} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E47} - \Unicode{0E47}{THAI CHARACTER MAITAIKHU} -\endsetslot - -\setslot{uni0E48} - \Unicode{0E48}{THAI CHARACTER MAI EK} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E49} - \Unicode{0E49}{THAI CHARACTER MAI THO} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E4A} - \Unicode{0E4A}{THAI CHARACTER MAI TRI} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E4B} - \Unicode{0E4B}{THAI CHARACTER MAI CHATTAWA} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E4C} - \Unicode{0E4C}{THAI CHARACTER THANTHAKHAT} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E4D} - \Unicode{0E4D}{THAI CHARACTER NIKHAHIT} - \Ligature{/LIG}{uni0E33}{uni0E32} -\endsetslot - -\setslot{uni0E4E} - \Unicode{0E4E}{THAI CHARACTER YAMAKKAN} -\endsetslot - -\setslot{uni0E4F} - \Unicode{0E4F}{THAI CHARACTER FONGMAN} -\endsetslot - -% 0xF0 | 240 -\setslot{uni0E50} - \Unicode{0E50}{THAI DIGIT ZERO} -\endsetslot - -\setslot{uni0E51} - \Unicode{0E51}{THAI DIGIT ONE} -\endsetslot - -\setslot{uni0E52} - \Unicode{0E52}{THAI DIGIT TWO} -\endsetslot - -\setslot{uni0E53} - \Unicode{0E53}{THAI DIGIT THREE} -\endsetslot - -\setslot{uni0E54} - \Unicode{0E54}{THAI DIGIT FOUR} -\endsetslot - -\setslot{uni0E55} - \Unicode{0E55}{THAI DIGIT FIVE} -\endsetslot - -\setslot{uni0E56} - \Unicode{0E56}{THAI DIGIT SIX} -\endsetslot - -\setslot{uni0E57} - \Unicode{0E57}{THAI DIGIT SEVEN} -\endsetslot - -\setslot{uni0E58} - \Unicode{0E58}{THAI DIGIT EIGHT} -\endsetslot - -\setslot{uni0E59} - \Unicode{0E59}{THAI DIGIT NINE} -\endsetslot - -\setslot{uni0E5A} - \Unicode{0E5A}{THAI CHARACTER ANGKHANKHU} -\endsetslot - -\setslot{uni0E5B} - \Unicode{0E5B}{THAI CHARACTER KHOMUT} -\endsetslot - -\setslot{uni0E38.low} - \comment{A glyph variant of \textunicode{0E38}{THAI CHARACTER SARA U}.} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E39.low} - \comment{A glyph variant of \textunicode{0E39}{THAI CHARACTER SARA UU}.} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\setslot{uni0E3A.low} - \comment{A glyph variant of \textunicode{0E3A}{THAI CHARACTER PHINTHU}.} - \Ligature{/LIG}{uni0E48}{uni0E48.low} - \Ligature{/LIG}{uni0E49}{uni0E49.low} - \Ligature{/LIG}{uni0E4A}{uni0E4A.low} - \Ligature{/LIG}{uni0E4B}{uni0E4B.low} - \Ligature{/LIG}{uni0E4C}{uni0E4C.low} -\endsetslot - -\skipslots{1} - - -\begincomment -\section{Font Dimensions} -\endcomment - -\setfontdimen{1}{italicslant} -\setfontdimen{2}{interword} -\setfontdimen{3}{stretchword} -\setfontdimen{4}{shrinkword} -\setfontdimen{5}{xheight} -\setfontdimen{6}{quad} -\setfontdimen{7}{extraspace} - -\endencoding - - -\begin{thebibliography}{9} -\bibitem{TUG-Thai} - Werner Lemberg: \textit{Thai Fonts}, in \textit{TUGboat}, - 21(2):113--120, June 2000. Available online in PDF format as - \url{http://tug.org/TUGboat/Articles/tb21-2/tb67lemb.pdf}. -\bibitem{AGL} - Adobe Systems Incorporated: \textit{Adobe Glyph List}, 2003; - \url{http://partners.adobe.com/asn/developer/type/unicodegn.html}. -\bibitem{MFbook} - Donald E.\ Knuth, Duane Bibby (illustrations): \textit{The \MF - book}, Ad\-di\-son--Wes\-ley, 1986; ISBN~0-201-13445-4. -\bibitem{Unicode} - The Unicode Consortium (editor), \emph{et al.}: \textit{The Unicode - Standard, Version 4.0}, Addison Wesley Longman Publisher, 2003; - ISBN~0-321-18578-1. Most of the information in this book is also - available online at the Unicode consortium website, at - \url{http://www.unicode.org/versions/Unicode4.0.1}. -\end{thebibliography} - -\end{document} - -% end of c90.etx diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx deleted file mode 100644 index eda3aa2fcb0..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx +++ /dev/null @@ -1,42 +0,0 @@ -% c90.mtx - -% Copyright (C) 1994-2008 Werner Lemberg -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -\relax - -\metrics - -\needsfontinstversion{1.918} - -% provide glyph aliases needed for the ligature mechanism - -\setglyph{uni0E38.left} - \glyph{uni0E38}{1000} -\endsetglyph - -\setglyph{uni0E39.left} - \glyph{uni0E39}{1000} -\endsetglyph - -\setglyph{uni0E3A.left} - \glyph{uni0E3A}{1000} -\endsetglyph - -\endmetrics - -% end of c90.mtx diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old deleted file mode 100644 index 5ce1be96b23..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old +++ /dev/null @@ -1 +0,0 @@ -p +dbtt-old.map diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx deleted file mode 100644 index 5d826b0b546..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx +++ /dev/null @@ -1,46 +0,0 @@ -% dbtt-old-alias.etx - -% Copyright (C) 1994-2008 Werner Lemberg -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -\relax - -\encoding - -\needsfontinstversion{1.918} - -\fontinstcc -\def\galias#1#2{ - \expandafter\def\csname slot-#2\endcsname{#1} -} -\def\setslot#1{ - \edef\slot_name{ - \if_defined{slot-#1}\then - \csname slot-#1\endcsname - \else - #1 - \fi - } - \do_slot -} -\normalcc - -\input dbtt-old-alias - -\endencoding - -% end of dbtt-old-alias.etx diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx deleted file mode 100644 index 3e91339cb8f..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx +++ /dev/null @@ -1,36 +0,0 @@ -% dbtt-old-alias.mtx - -% Copyright (C) 1994-2008 Werner Lemberg -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -\relax - -\metrics - -\needsfontinstversion{1.918} - -\def\galias#1#2{ - \setglyph{#2} - \glyph{#1}{1000} - \endsetglyph -} - -\input dbtt-old-alias - -\endmetrics - -% end of dbtt-old-alias.mtx diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex deleted file mode 100644 index 74398589e3b..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex +++ /dev/null @@ -1,139 +0,0 @@ -% dbtt-old-alias.tex - -% Copyright (C) 1994-2008 Werner Lemberg -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -\galias{ucircumflex}{endash} -\galias{uacute}{emdash} -\galias{quotedbl}{quotedblleft} -\galias{quotedbl}{quotedblright} -\galias{quotesingle}{quoteright} -\galias{grave}{quoteleft} -\galias{florin}{uni0E48.low_left} -\galias{quotedblbase}{uni0E49.low_left} -\galias{ellipsis}{uni0E4A.low_left} -\galias{dagger}{uni0E4B.low_left} -\galias{daggerdbl}{uni0E4C.low_left} -\galias{circumflex}{uni0E48.low} -\galias{perthousand}{uni0E49.low} -\galias{Scaron}{uni0E4A.low} -\galias{guilsinglleft}{uni0E4B.low} -\galias{OE}{uni0E4C.low} -\galias{u008F}{uni0E4D.left} -\galias{u0090}{uni0E0D.descless} -\galias{quoteright}{uni0E31.left} -\galias{quotedblleft}{uni0E47.left} -\galias{quotedblright}{uni0E34.left} -\galias{bullet}{uni0E35.left} -\galias{emdash}{uni0E36.left} -\galias{endash}{uni0E37.left} -\galias{tilde}{uni0E48.left} -\galias{trademark}{uni0E49.left} -\galias{scaron}{uni0E4A.left} -\galias{guilsinglright}{uni0E4B.left} -\galias{oe}{uni0E4C.left} -\galias{Ydieresis}{uni0E10.descless} -\galias{exclamdown}{uni0E01} -\galias{cent}{uni0E02} -\galias{sterling}{uni0E03} -\galias{currency}{uni0E04} -\galias{yen}{uni0E05} -\galias{brokenbar}{uni0E06} -\galias{section}{uni0E07} -\galias{dieresis}{uni0E08} -\galias{copyright}{uni0E09} -\galias{ordfeminine}{uni0E0A} -\galias{guillemotleft}{uni0E0B} -\galias{logicalnot}{uni0E0C} -\galias{hyphen}{uni0E0D} -\galias{registered}{uni0E0E} -\galias{macron}{uni0E0F} -\galias{degree}{uni0E10} -\galias{plusminus}{uni0E11} -\galias{twosuperior}{uni0E12} -\galias{threesuperior}{uni0E13} -\galias{acute}{uni0E14} -\galias{mu}{uni0E15} -\galias{paragraph}{uni0E16} -\galias{periodcentered}{uni0E17} -\galias{cedilla}{uni0E18} -\galias{onesuperior}{uni0E19} -\galias{ordmasculine}{uni0E1A} -\galias{guillemotright}{uni0E1B} -\galias{onequarter}{uni0E1C} -\galias{onehalf}{uni0E1D} -\galias{threequarters}{uni0E1E} -\galias{questiondown}{uni0E1F} -\galias{Agrave}{uni0E20} -\galias{Aacute}{uni0E21} -\galias{Acircumflex}{uni0E22} -\galias{Atilde}{uni0E23} -\galias{Adieresis}{uni0E24} -\galias{Aring}{uni0E25} -\galias{AE}{uni0E26} -\galias{Ccedilla}{uni0E27} -\galias{Egrave}{uni0E28} -\galias{Eacute}{uni0E29} -\galias{Ecircumflex}{uni0E2A} -\galias{Edieresis}{uni0E2B} -\galias{Igrave}{uni0E2C} -\galias{Iacute}{uni0E2D} -\galias{Icircumflex}{uni0E2E} -\galias{Idieresis}{uni0E2F} -\galias{Eth}{uni0E30} -\galias{Ntilde}{uni0E31} -\galias{Ograve}{uni0E32} -\galias{Oacute}{uni0E33} -\galias{Ocircumflex}{uni0E34} -\galias{Otilde}{uni0E35} -\galias{Odieresis}{uni0E36} -\galias{multiply}{uni0E37} -\galias{Oslash}{uni0E38} -\galias{Ugrave}{uni0E39} -\galias{Uacute}{uni0E3A} -\galias{germandbls}{uni0E3F} -\galias{agrave}{uni0E40} -\galias{aacute}{uni0E41} -\galias{acircumflex}{uni0E42} -\galias{atilde}{uni0E43} -\galias{adieresis}{uni0E44} -\galias{aring}{uni0E45} -\galias{ae}{uni0E46} -\galias{ccedilla}{uni0E47} -\galias{egrave}{uni0E48} -\galias{eacute}{uni0E49} -\galias{ecircumflex}{uni0E4A} -\galias{edieresis}{uni0E4B} -\galias{igrave}{uni0E4C} -\galias{iacute}{uni0E4D} -\galias{icircumflex}{uni0E4E} -\galias{idieresis}{uni0E4F} -\galias{eth}{uni0E50} -\galias{ntilde}{uni0E51} -\galias{ograve}{uni0E52} -\galias{oacute}{uni0E53} -\galias{ocircumflex}{uni0E54} -\galias{otilde}{uni0E55} -\galias{odieresis}{uni0E56} -\galias{divide}{uni0E57} -\galias{oslash}{uni0E58} -\galias{ugrave}{uni0E59} -\galias{udieresis}{uni0E38.low} -\galias{yacute}{uni0E39.low} -\galias{Ucircumflex}{uni0E3A.low} - -% end of dbtt-old-alias.tex diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst deleted file mode 100644 index 0251ee373a4..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst +++ /dev/null @@ -1,78 +0,0 @@ -% dbtt-old.fontinst - -% Copyright (C) 1994-2008 Werner Lemberg -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -\input fontinst.sty - -\needsfontinstversion{1.918} - - -% we explicitly set all slots in the encoding, so provide all glyph names -% in AFM files equally (this is, don't create `-not' names) -\let\setnotglyph \setrawglyph - -% we want warnings for missing glyphs -\fontinstcc -\add_to\pre_fourth_etx_pass_hook{ - \def\do_slot{ - \if_undefined{g-\slot_name}\then - \fontinstwarningnoline{fontinst} - {missing~glyph~`\slot_name'\space - for~slot~\the\slot_number\space - in~font~`\out_filename'} - \fi - \do_character - } -} -\normalcc - - -% create PL files and an FD file -\installfonts - \setint{fontdimen(2)}{500} % SPACE - \setint{fontdimen(3)}{300} % STRETCH - \setint{fontdimen(4)}{100} % SHRINK - \setint{fontdimen(6)}{1000} % QUAD - \setint{fontdimen(7)}{0} % EXTRASPACE - - \installrawfont{fdbr8z}{dbtt,dbtt-old-alias,c90}{c90} - {C90}{dbss}{m}{n}{<-> s *[1.3]} - \installrawfont{fdbb8z}{dbttb,dbtt-old-alias,c90}{c90} - {C90}{dbss}{bx}{n}{<-> s *[1.3]} - \installrawfont{fdbbo8z}{dbttbi,dbtt-old-alias,c90}{c90} - {C90}{dbss}{bx}{sl}{<-> s *[1.3]} - \installrawfont{fdbo8z}{dbtti,dbtt-old-alias,c90}{c90} - {C90}{dbss}{m}{sl}{<-> s *[1.3]} -\endinstallfonts - - -\input finstmsc.sty - - -% create the dbtt-old.enc file -\installfonts - % the `makeenc' flag is used in c90.etx - \setint{makeenc}{1} - \setstr{encodingname}{dbtt-oldEncoding} - \inputetx{dbtt-old-alias} - \etxtoenc{c90}{dbtt-old} -\endinstallfonts - -\end - -% end of dbtt-old.fontinst diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map deleted file mode 100644 index c48f73fe714..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map +++ /dev/null @@ -1,4 +0,0 @@ -fdbr8z DBThaiText " dbtt-oldEncoding ReEncodeFont " -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -\input fontinst.sty - -\needsfontinstversion{1.918} - - -% we explicitly set all slots in the encoding, so provide all glyph names -% in AFM files equally (this is, don't create `-not' names) -\let\setnotglyph \setrawglyph - -% we want warnings for missing glyphs -\fontinstcc -\add_to\pre_fourth_etx_pass_hook{ - \def\do_slot{ - \if_undefined{g-\slot_name}\then - \fontinstwarningnoline{fontinst} - {missing~glyph~`\slot_name'\space - for~slot~\the\slot_number\space - in~font~`\out_filename'} - \fi - \do_character - } -} -\normalcc - - -% create PL files and an FD file -\installfonts - \setint{fontdimen(2)}{500} % SPACE - \setint{fontdimen(3)}{300} % STRETCH - \setint{fontdimen(4)}{100} % SHRINK - \setint{fontdimen(6)}{1000} % QUAD - \setint{fontdimen(7)}{0} % EXTRASPACE - - \installrawfont{fgdr8z}{garuda,c90}{c90} - {C90}{garuda}{m}{n}{} - \installrawfont{fgdb8z}{garuda_b,c90}{c90} - {C90}{garuda}{bx}{n}{} - \installrawfont{fgdbo8z}{garuda_bo,c90}{c90} - {C90}{garuda}{bx}{sl}{} - \installrawfont{fgdo8z}{garuda_o,c90}{c90} - {C90}{garuda}{m}{sl}{} -\endinstallfonts - - -\input finstmsc.sty - - -% create the c90.enc file -\installfonts - % the `makeenc' flag is used in c90.etx - \setint{makeenc}{1} - \setstr{encodingname}{C90Encoding} - \etxtoenc{c90}{c90} -\endinstallfonts - -\end - -% end of garuda.fontinst diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst deleted file mode 100644 index 2ea15d10ef6..00000000000 --- a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst +++ /dev/null @@ -1,85 +0,0 @@ -% norasi.fontinst - -% Copyright (C) 1994-2008 Werner Lemberg -% -% 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 in doc/COPYING; if not, write to the Free -% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -% MA 02110-1301 USA - -\input fontinst.sty - -\needsfontinstversion{1.918} - - -% we explicitly set all slots in the encoding, so provide all glyph names -% in AFM files equally (this is, don't create `-not' names) -\let\setnotglyph \setrawglyph - -% we want warnings for missing glyphs -\fontinstcc -\add_to\pre_fourth_etx_pass_hook{ - \def\do_slot{ - \if_undefined{g-\slot_name}\then - \fontinstwarningnoline{fontinst} - {missing~glyph~`\slot_name'\space - for~slot~\the\slot_number\space - in~font~`\out_filename'} - \fi - \do_character - } -} -\normalcc - - -% create PL files and an FD file -\installfonts - \setint{fontdimen(2)}{500} % SPACE - \setint{fontdimen(3)}{300} % STRETCH - \setint{fontdimen(4)}{100} % SHRINK - \setint{fontdimen(6)}{1000} % QUAD - \setint{fontdimen(7)}{0} % EXTRASPACE - - \installrawfont{ftnr8z}{norasi,c90}{c90} - {C90}{nrsr}{m}{n}{} - \installrawfont{ftnb8z}{norasi_b,c90}{c90} - {C90}{nrsr}{bx}{n}{} - \installrawfont{ftnbi8z}{norasi_bi,c90}{c90} - {C90}{nrsr}{bx}{it}{} - \installrawfont{ftni8z}{norasi_i,c90}{c90} - {C90}{nrsr}{m}{it}{} - -% Thai glyphs in norasi_o and norasi_bo are identical to the shapes -% in norasi_i and norasi_bi, respectively. -% -% \installrawfont{ftno8z}{norasi_o,c90}{c90} -% {C90}{nrsr}{m}{sl}{} -% \installrawfont{ftnbo8z}{norasi_bo,c90}{c90} -% {C90}{nrsr}{bx}{sl}{} -\endinstallfonts - - -\input finstmsc.sty - - -% create the c90.enc file -\installfonts - % the `makeenc' flag is used in c90.etx - \setint{makeenc}{1} - \setstr{encodingname}{C90Encoding} - \etxtoenc{c90}{c90} -\endinstallfonts - -\end - -% end of norasi.fontinst -- cgit v1.2.3