From d045bcbc99b0eda65a444496d60d16ea2d063c65 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 19 Oct 2021 03:01:14 +0000 Subject: CTAN sync 202110190301 --- .../chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.1 | 110 - .../chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.c | 33 - .../chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.w | 121 - .../chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex | 43 - .../CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.bat | 3 - .../CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.cmd | 44 - .../CJK/cjk-4.8.4/utils/Bg5conv/bg5pdflatex | 43 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.1 | 127 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.c | 135 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.w | 237 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5latex | 43 - .../CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.bat | 3 - .../CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.cmd | 46 - .../CJK/cjk-4.8.4/utils/CEFconv/cef5pdflatex | 43 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.1 | 117 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.c | 127 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.w | 221 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex | 43 - .../CJK/cjk-4.8.4/utils/CEFconv/ceflatex.bat | 3 - .../CJK/cjk-4.8.4/utils/CEFconv/ceflatex.cmd | 46 - .../CJK/cjk-4.8.4/utils/CEFconv/cefpdflatex | 43 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.1 | 127 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.c | 135 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.w | 240 - .../chinese/CJK/cjk-4.8.4/utils/CEFconv/cefslatex | 43 - .../CJK/cjk-4.8.4/utils/CEFconv/cefsltx.bat | 3 - .../CJK/cjk-4.8.4/utils/CEFconv/cefsltx.cmd | 46 - .../CJK/cjk-4.8.4/utils/CEFconv/cefspdflatex | 43 - .../CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1 | 110 - .../CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c | 33 - .../CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w | 123 - .../chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex | 43 - .../CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat | 3 - .../CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd | 44 - .../CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex | 43 - .../CJK/cjk-4.8.4/utils/cjklatex/cjklatex.c | 293 - .../chinese/CJK/cjk-4.8.4/utils/extconv/bg5+latex | 43 - .../CJK/cjk-4.8.4/utils/extconv/bg5+pdflatex | 43 - .../CJK/cjk-4.8.4/utils/extconv/bg5pltx.bat | 3 - .../CJK/cjk-4.8.4/utils/extconv/bg5pltx.cmd | 44 - .../chinese/CJK/cjk-4.8.4/utils/extconv/extconv.1 | 111 - .../chinese/CJK/cjk-4.8.4/utils/extconv/extconv.c | 34 - .../chinese/CJK/cjk-4.8.4/utils/extconv/extconv.w | 122 - .../chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex | 43 - .../CJK/cjk-4.8.4/utils/extconv/gbklatex.bat | 3 - .../CJK/cjk-4.8.4/utils/extconv/gbklatex.cmd | 44 - .../CJK/cjk-4.8.4/utils/extconv/gbkpdflatex | 43 - language/chinese/CJK/cjk-4.8.4/utils/f_name.bat | 205 - .../CJK/cjk-4.8.4/utils/hbf2gf/Makefile.gnu | 127 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.in | 127 - language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/README | 2 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/c-auto.h | 39 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/README | 10 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5ka12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5kr12.cfg | 30 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5so12.cfg | 31 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/c1so12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/c2so12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/c3so12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/c4so12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/c5so12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/c6so12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/c7so12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/csso12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/gsfs14.cfg | 27 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/j2so12.cfg | 30 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/jsso12.cfg | 28 - .../CJK/cjk-4.8.4/utils/hbf2gf/cfg/ksso17.cfg | 27 - .../CJK/cjk-4.8.4/utils/hbf2gf/config.guess | 1438 --- .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.sub | 1810 --- .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure | 5088 --------- .../CJK/cjk-4.8.4/utils/hbf2gf/configure.ac | 131 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/dvidrv.btm | 352 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.c | 109 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.h | 25 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.c | 405 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.h | 57 - language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.c | 1494 --- language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.h | 215 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.1 | 718 -- .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.c | 2250 ---- .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.def | 3 - .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.w | 2816 ----- .../chinese/CJK/cjk-4.8.4/utils/hbf2gf/install-sh | 501 - .../CJK/cjk-4.8.4/utils/hbf2gf/mkinstalldirs | 162 - .../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 - .../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 - .../chinese/CJK/cjk-4.8.4/utils/lisp/cjkspace.el | 102 - .../chinese/CJK/cjk-4.8.4/utils/lisp/cjktilde.el | 111 - .../CJK/cjk-4.8.4/utils/lisp/emacs/cjk-enc.el | 1162 -- .../CJK/cjk-4.8.4/utils/lisp/emacs/thai-word.el | 11052 ------------------- .../CJK/cjk-4.8.4/utils/lisp/mule-2.3/cjk-enc.el | 625 -- .../chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.c | 480 - .../CJK/cjk-4.8.4/utils/pyhyphen/pinyin.ldf | 62 - .../chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.tr | 52 - .../CJK/cjk-4.8.4/utils/pyhyphen/pyhyph.tex | 236 - .../CJK/cjk-4.8.4/utils/pyhyphen/pytest.tex | 51 - .../CJK/cjk-4.8.4/utils/subfonts/clonevf.pl | 122 - .../CJK/cjk-4.8.4/utils/subfonts/hlatex2agl.pl | 477 - .../CJK/cjk-4.8.4/utils/subfonts/makefdx.pl | 340 - .../CJK/cjk-4.8.4/utils/subfonts/sfd2uni.pl | 348 - .../CJK/cjk-4.8.4/utils/subfonts/subfonts.pe | 95 - .../CJK/cjk-4.8.4/utils/subfonts/uni2sfd.pl | 312 - .../CJK/cjk-4.8.4/utils/subfonts/vertical.pe | 108 - .../CJK/cjk-4.8.4/utils/subfonts/vertref.pe | 121 - .../texmf/dvips/garuda-c90/config.garuda-c90 | 1 - .../texmf/dvips/norasi-c90/config.norasi-c90 | 1 - .../thaifont/texmf/fonts/enc/dvips/thai/c90.enc | 334 - .../fonts/map/dvips/garuda-c90/garuda-c90.map | 4 - .../fonts/map/dvips/norasi-c90/norasi-c90.map | 4 - .../texmf/fonts/tfm/public/garuda-c90/fgdb8z.tfm | Bin 3660 -> 0 bytes .../texmf/fonts/tfm/public/garuda-c90/fgdbo8z.tfm | Bin 3912 -> 0 bytes .../texmf/fonts/tfm/public/garuda-c90/fgdo8z.tfm | Bin 3832 -> 0 bytes .../texmf/fonts/tfm/public/garuda-c90/fgdr8z.tfm | Bin 3580 -> 0 bytes .../texmf/fonts/tfm/public/norasi-c90/ftnb8z.tfm | Bin 6412 -> 0 bytes .../texmf/fonts/tfm/public/norasi-c90/ftnbi8z.tfm | Bin 6640 -> 0 bytes .../texmf/fonts/tfm/public/norasi-c90/ftni8z.tfm | Bin 6664 -> 0 bytes .../texmf/fonts/tfm/public/norasi-c90/ftnr8z.tfm | Bin 6424 -> 0 bytes .../CJK/cjk-4.8.4/utils/thaifont/tools/INSTALL | 333 - .../CJK/cjk-4.8.4/utils/thaifont/tools/c90.etx | 2346 ---- .../CJK/cjk-4.8.4/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 - .../utils/thaifont/tools/dbtt-old/dbtt-old.map | 4 - .../utils/thaifont/tools/garuda-c90.fontinst | 77 - .../utils/thaifont/tools/norasi-c90.fontinst | 85 - 137 files changed, 41875 deletions(-) delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.1 delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.w delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.bat delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.cmd delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5pdflatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.1 delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.w delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5latex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.bat delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.cmd delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5pdflatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.1 delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.w delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.bat delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.cmd delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefpdflatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.1 delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.w delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefslatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.bat delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.cmd delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefspdflatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1 delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/cjklatex/cjklatex.c delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+latex delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+pdflatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.bat delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.cmd delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.1 delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.w delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.bat delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.cmd delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/extconv/gbkpdflatex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/f_name.bat delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.gnu delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.in delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/README delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/c-auto.h delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/README delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5ka12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5kr12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5so12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c1so12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c2so12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c3so12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c4so12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c5so12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c6so12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c7so12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/csso12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/gsfs14.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/j2so12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/jsso12.cfg delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/ksso17.cfg delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.guess delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.sub delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure.ac delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/dvidrv.btm delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.h delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.h delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.h delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.1 delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.def delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.w delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/install-sh delete mode 100755 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/mkinstalldirs delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/README delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/lisp/cjkspace.el delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/lisp/cjktilde.el delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/cjk-enc.el delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/thai-word.el delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/lisp/mule-2.3/cjk-enc.el delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.c delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.ldf delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.tr delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pyhyph.tex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pytest.tex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/subfonts/clonevf.pl delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/subfonts/hlatex2agl.pl delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/subfonts/makefdx.pl delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/subfonts/sfd2uni.pl delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/subfonts/subfonts.pe delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/subfonts/uni2sfd.pl delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertical.pe delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertref.pe delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90 delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90 delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/norasi-c90/norasi-c90.map delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdb8z.tfm delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdbo8z.tfm delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdo8z.tfm delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/garuda-c90/fgdr8z.tfm delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnb8z.tfm delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnbi8z.tfm delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftni8z.tfm delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/tfm/public/norasi-c90/ftnr8z.tfm delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/INSTALL delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.etx delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.mtx delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/config.dbtt-old delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.map delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/garuda-c90.fontinst delete mode 100644 language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/norasi-c90.fontinst (limited to 'language/chinese/CJK/cjk-4.8.4/utils') diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.1 b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.1 deleted file mode 100644 index a9e83901cf..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.1 +++ /dev/null @@ -1,110 +0,0 @@ -.\" man page for bg5conv -.\" Copyright (C) 1994-2015 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 18-Apr-2015 "CJK Version 4.8.4" -. -.\" ==== -.\" ==== 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/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.c b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.c deleted file mode 100644 index b745e6a97f..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.c +++ /dev/null @@ -1,33 +0,0 @@ -#define banner \ -"bg5conv (CJK ver. 4.8.4)" \ - -/*2:*/ -#line 94 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/Bg5conv/bg5conv.w" - -#include -#include - - -int main(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/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.w b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.w deleted file mode 100644 index 13165032d6..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5conv.w +++ /dev/null @@ -1,121 +0,0 @@ -% This is the cweb file bg5conv.w of the CJK Package Ver. 4.8.4 18-Apr-2015 - -% Copyright (C) 1994-2015 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 +a bg5conv.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. - -\def\title{bg5conv (CJK Version 4.8.4)} - -\def\topofcontents{ - \null\vfill - \centerline{\titlefont The {\ttitlefont bg5conv} program} - \vskip 20pt - \centerline{(CJK Version 4.8.4)} - \vfill} - -\def\botofcontents{ - \vfill - \noindent - Copyright \copyright\ 1996, 1998 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 - -\noinx -\nosecs -\nocon - -@* Function and Use. -This small program will convert Big~5 encoded Chinese characters into a -`preprocessed' form. The need of this program arises from the fact that this -encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which have -special meanings in \TeX. - -Use this program as a filter: - -\hskip 2em \.{bg5conv < input\_file > output\_file} - - -@* The program. -The only function of this program is to replace all occurrences of Big 5 -encoded characters \.{XY} (\.{X} and \.{Y} are the first and the second byte -of the character) with -\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f}, where -\.{ZZZ} represents the second byte as a decimal number. \.{0x7F} is used as -an active character and delimiter. - -Additionally we define a \TeX\ macro at the very beginning to signal a -preprocessed file. - -The following code is very simple. No error detection is done because \TeX\ -which will see the output of \.{bg5conv} complains loudly if something is -wrong. - -@d banner -"bg5conv (CJK ver. 4.8.4)" - -@c -#include -#include @# - - -int main(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; /* never reached */ - } diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex deleted file mode 100755 index 2540f9524d..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.bat b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.bat deleted file mode 100644 index 91e7dfd857..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.bat +++ /dev/null @@ -1,3 +0,0 @@ -call f_name %1 -bg5conv < %1 > %fd%%fp%%fn%.cjk -latex %fd%%fu%%fn%.cjk diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.cmd b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.cmd deleted file mode 100644 index facf871970..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5latex.cmd +++ /dev/null @@ -1,44 +0,0 @@ -/*----------------------------------------------------------------------*\ - bg5latex.cmd - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - Copyright (C) 1994-2015 Wonkoo Kim - - 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 - - Wonkoo Kim (wkim+@pitt.edu), September 2, 1996 -\*----------------------------------------------------------------------*/ - -Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' -Call SysLoadFuncs - -parse arg file - -drive = filespec('drive', file) -path = filespec('path', file) -fname = filespec('name', file) -m = lastpos('.', fname) -if (m = 0) then m = length(fname) + 1 -cjkfile = drive||path||delstr(fname, m)||'.cjk' - -'bg5conv <' file '>' cjkfile - -ucjkfile = translate(cjkfile,'/','\') -if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then - 'call latex.cmd' ucjkfile - -/* End of bg5latex.cmd */ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5pdflatex b/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5pdflatex deleted file mode 100755 index 9adacad3a6..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/Bg5conv/bg5pdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.1 b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.1 deleted file mode 100644 index d04c527102..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.1 +++ /dev/null @@ -1,127 +0,0 @@ -.\" man page for cef5conv -.\" Copyright (C) 1994-2015 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 18-Apr-2015 "CJK Version 4.8.4" -. -.\" ==== -.\" ==== 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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.c b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.c deleted file mode 100644 index 46228a1f5d..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.c +++ /dev/null @@ -1,135 +0,0 @@ -#define banner \ -"cef5conv (CJK ver. 4.8.4)" \ - -/*2:*/ -#line 108 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/CEFconv/cef5conv.w" - -#include -#include -#include - - -int main(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++)= '\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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.w b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.w deleted file mode 100644 index 575ba253ae..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5conv.w +++ /dev/null @@ -1,237 +0,0 @@ -% This is the cweb file cef5conv.w of the CJK Package Ver. 4.8.4 18-Apr-2015 - -% Copyright (C) 1994-2015 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 +a cef5conv.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. - -\def\title{cef5conv (CJK Version 4.8.4)} - -\def\topofcontents{ - \null\vfill - \centerline{\titlefont The {\ttitlefont cef5conv} program} - \vskip 20pt - \centerline{(CJK Version 4.8.4)} - \vfill} - -\def\botofcontents{ - \vfill - \noindent - Copyright \copyright\ 1996, 1998, 2002 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 - -\noinx -\nosecs -\nocon - -@* Function and Use. -This small program will convert Big~5 encoding with CNS encoded Chinese -characters using the {\it Chinese Encoding Framework (CEF)} into a -`preprocessed' form. The need of this program arises from the fact that -Big~5 encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which -have special meanings in \TeX. - -Use this program as a filter: - -\hskip 2em \.{cef5conv < input\_file > output\_file} - - -@* The program. -In contrast to \.{cefconv} two tasks will be executed: - -Replacing all occurrences of Big~5 encoded characters \.{XY} (\.{X} and -\.{Y} are the first and the second byte of the character) with -\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f}, where -\.{ZZZ} represents the second byte as a decimal number. \.{0x7F} is used as -a control character and a delimiter. - -Replacing CEF macros of the form \.{\&xx-yyzz;} (\.{xx} can be C1--C7 for -the CNS planes 1--7, C0 for Big~5 encoding, an encoding CX reserved for -IRIZ, a private encoding CY, and U for Unicode encoding; \.{yyzz} is a -hexadecimal representation of the code point in this plane) with -\medskip -\quad\.{\char94 \char94 7f72\char94 \char94 7fXX\char94 \char94 7f% -\char94 \char94 7f"0yy\char94 \char94 7f"0zz\char94 \char94 7f}\quad. -\medskip -\.{XX} is the corresponding CJK encoding of \.{xx}; the number `72' -specifies a macro in the file \.{MULEenc.sty} which further processes this -representation -- it is automatically loaded by the \.{CJK} package. - -Additionally we define a \TeX\ macro at the very beginning to signal a -preprocessed file. - -The following code is very simple. No error detection is done because \TeX\ -which will see the output of \.{cef5conv} complains loudly if something is -wrong. - -@d banner -"cef5conv (CJK ver. 4.8.4)" - -@c -#include -#include -#include @# - - -int main(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 == '&') - /* the macro test is hardcoded to make things simple */ - {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; /* never reached */ - } diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5latex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5latex deleted file mode 100755 index 1b51a711d1..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5latex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.bat b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.bat deleted file mode 100644 index 187485301f..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.bat +++ /dev/null @@ -1,3 +0,0 @@ -call f_name %1 -cef5conv < %1 > %fd%%fp%%fn%.cjk -latex %fd%%fu%%fn%.cjk diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.cmd b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.cmd deleted file mode 100644 index f089e831c6..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5ltx.cmd +++ /dev/null @@ -1,46 +0,0 @@ -/*----------------------------------------------------------------------*\ - cef5ltx.cmd - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - Copyright (C) 1994-2015 Wonkoo Kim - - 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 - - Wonkoo Kim (wkim+@pitt.edu), September 2, 1996 -\*----------------------------------------------------------------------*/ - -Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' -Call SysLoadFuncs - -parse arg file - -drive = filespec('drive', file) -path = filespec('path', file) -fname = filespec('name', file) -m = lastpos('.', fname) -if (m = 0) then m = length(fname) + 1 -cjkfile = drive||path||delstr(fname, m)||'.cjk' - -'cef5conv <' file '>' cjkfile - -ucjkfile = translate(cjkfile,'/','\') -if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then - 'call latex.cmd' ucjkfile - -/* End of cef5ltx.cmd */ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5pdflatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5pdflatex deleted file mode 100755 index 1ae7b5953e..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cef5pdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.1 b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.1 deleted file mode 100644 index 7be7fae6ba..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.1 +++ /dev/null @@ -1,117 +0,0 @@ -.\" man page for cefconv -.\" Copyright (C) 1994-2015 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 18-Apr-2015 "CJK Version 4.8.4" -. -.\" ==== -.\" ==== 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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.c b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.c deleted file mode 100644 index 967672e793..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.c +++ /dev/null @@ -1,127 +0,0 @@ -#define banner \ -"cefconv (CJK ver. 4.8.4)" \ - -/*2:*/ -#line 100 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/CEFconv/cefconv.w" - -#include -#include -#include - - -int main(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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.w b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.w deleted file mode 100644 index 142a5d862b..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefconv.w +++ /dev/null @@ -1,221 +0,0 @@ -% This is the cweb file cefconv.w of the CJK Package Ver. 4.8.4 18-Apr-2015 - -% Copyright (C) 1994-2015 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 +a cefconv.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. - -\def\title{cefconv (CJK Version 4.8.4)} - -\def\topofcontents{ - \null\vfill - \centerline{\titlefont The {\ttitlefont cefconv} program} - \vskip 20pt - \centerline{(CJK Version 4.8.4)} - \vfill} - -\def\botofcontents{ - \vfill - \noindent - Copyright \copyright\ 1996, 1998, 2002 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 - -\noinx -\nosecs -\nocon - -@* Function and Use. -This small program will convert EUC encoding with CNS encoded Chinese -characters using the {\it Chinese Encoding Framework (CEF)} into a -`preprocessed' form, expanding the CEF macros. - -Use this program as a filter: - -\hskip 2em \.{cefconv < input\_file > output\_file} - - -@* The program. -In contrast to \.{cef5conv} or \.{cefsconv}, only one task will be executed: - -Replacing CEF macros of the form \.{\&xx-yyzz;} (\.{xx} can be C1--C7 for -the CNS planes 1--7, C0 for Big~5 encoding, an encoding CX reserved for -IRIZ, a private encoding CY, and U for Unicode encoding; \.{yyzz} is a -hexadecimal representation of the code point in this plane) with -\medskip -\quad\.{\char94 \char94 7f72\char94 \char94 7fXX\char94 \char94 7f% -\char94 \char94 7f"0yy\char94 \char94 7f"0zz\char94 \char94 7f}\quad. -\medskip -\.{XX} is the corresponding CJK encoding of \.{xx}; the number `72' -specifies a macro in the file \.{MULEenc.sty} which further processes this -representation -- it is automatically loaded by the \.{CJK} package. - -Additionally we define an empty \TeX\ macro at the very beginning to signal -a preprocessed file. - -The following code is very simple. No error detection is done because \TeX\ -which will see the output of \.{cefconv} complains loudly if something is -wrong. - -@d banner -"cefconv (CJK ver. 4.8.4)" - -@c -#include -#include -#include @# - - -int main(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 == '&') /* the macro test is hardcoded to make things simple */ - {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; /* never reached */ - } diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex deleted file mode 100755 index 79bcd8abe3..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.bat b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.bat deleted file mode 100644 index ba5925a6df..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.bat +++ /dev/null @@ -1,3 +0,0 @@ -call f_name %1 -cefconv < %1 > %fd%%fp%%fn%.cjk -latex %fd%%fu%%fn%.cjk diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.cmd b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.cmd deleted file mode 100644 index dcc3183431..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/ceflatex.cmd +++ /dev/null @@ -1,46 +0,0 @@ -/*----------------------------------------------------------------------*\ - ceflatex.cmd - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - Copyright (C) 1994-2015 Wonkoo Kim - - 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 - - Wonkoo Kim (wkim+@pitt.edu), September 2, 1996 -\*----------------------------------------------------------------------*/ - -Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' -Call SysLoadFuncs - -parse arg file - -drive = filespec('drive', file) -path = filespec('path', file) -fname = filespec('name', file) -m = lastpos('.', fname) -if (m = 0) then m = length(fname) + 1 -cjkfile = drive||path||delstr(fname, m)||'.cjk' - -'cefconv <' file '>' cjkfile - -ucjkfile = translate(cjkfile,'/','\') -if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then - 'call latex.cmd' ucjkfile - -/* End of ceflatex.cmd */ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefpdflatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefpdflatex deleted file mode 100755 index c1b776cffd..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefpdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.1 b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.1 deleted file mode 100644 index 4c38133298..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.1 +++ /dev/null @@ -1,127 +0,0 @@ -.\" man page for cefsconv -.\" Copyright (C) 1994-2015 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 18-Apr-2015 "CJK Version 4.8.4" -. -.\" ==== -.\" ==== 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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.c b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.c deleted file mode 100644 index bd4a701ffc..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.c +++ /dev/null @@ -1,135 +0,0 @@ -#define banner \ -"cefsconv (CJK ver. 4.8.4)" \ - -/*2:*/ -#line 111 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/CEFconv/cefsconv.w" - -#include -#include -#include - - -int main(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++)= '\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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.w b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.w deleted file mode 100644 index 7e033f34ea..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsconv.w +++ /dev/null @@ -1,240 +0,0 @@ -% This is the cweb file cefsconv.w of the CJK Package Ver. 4.8.4 18-Apr-2015 - -% Copyright (C) 1994-2015 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 +a cefsconv.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. - -\def\title{cefsconv (CJK Version 4.8.4)} - -\def\topofcontents{ - \null\vfill - \centerline{\titlefont The {\ttitlefont cefsconv} program} - \vskip 20pt - \centerline{(CJK Version 4.8.4)} - \vfill} - -\def\botofcontents{ - \vfill - \noindent - Copyright \copyright\ 1996, 1998 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 - -\noinx -\nosecs -\nocon - -@* Function and Use. -This small program will convert SJIS encoding with CNS encoded Chinese -characters using the {\it Chinese Encoding Framework (CEF)} into a -`preprocessed' form. The need of this program arises from the fact that -SJIS encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which -have special meanings in \TeX. - -Use this program as a filter: - -\hskip 2em \.{cefsconv < input\_file > output\_file} - - -@* The program. -In contrast to \.{cefconv} two tasks will be executed: - -Replacing all occurrences of two byte SJIS encoded characters \.{XY} with -\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f} (\.{X} and -\.{Y} are the first and the second byte of the character; \.{ZZZ} represents -the second byte as a decimal number). - -Replacing CEF macros of the form \.{\&xx-yyzz;} (\.{xx} can be C1--C7 for -the CNS planes 1--7, C0 for Big~5 encoding, an encoding CX reserved for -IRIZ, a private encoding CY, and U for Unicode encoding; \.{yyzz} is a -hexadecimal representation of the code point in this plane) with -\medskip -\quad\.{\char94 \char94 7f72\char94 \char94 7fXX\char94 \char94 7f% -\char94 \char94 7f"0yy\char94 \char94 7f"0zz\char94 \char94 7f}\quad. -\medskip -\.{XX} is the corresponding CJK encoding of \.{xx}; the number `72' -specifies a macro in the file \.{MULEenc.sty} which further processes this -representation -- it is necessary to explicitly load this file with -\.{\\usepackage}. - -Additionally we define a \TeX\ macro at the very beginning to signal a -preprocessed file. - -The following code is very simple. No error detection is done because \TeX\ -which will see the output of \.{cefsconv} complains loudly if something is -wrong. - -Note that the user-defined character area of SJIS (with the first bytes in -the range 0xF0--0xFC) is not supported because it is not portable. - -@d banner -"cefsconv (CJK ver. 4.8.4)" - -@c -#include -#include -#include @# - - -int main(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 == '&') - /* the macro test is hardcoded to make things simple */ - {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; /* never reached */ - } diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefslatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefslatex deleted file mode 100755 index 3d3daa175b..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefslatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.bat b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.bat deleted file mode 100644 index 662ef9e3af..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.bat +++ /dev/null @@ -1,3 +0,0 @@ -call f_name %1 -cefsconv < %1 > %fd%%fp%%fn%.cjk -latex %fd%%fu%%fn%.cjk diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.cmd b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.cmd deleted file mode 100644 index 7150e8aad1..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefsltx.cmd +++ /dev/null @@ -1,46 +0,0 @@ -/*----------------------------------------------------------------------*\ - cefsltx.cmd - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - Copyright (C) 1994-2015 Wonkoo Kim - - 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 - - Wonkoo Kim (wkim+@pitt.edu), September 2, 1996 -\*----------------------------------------------------------------------*/ - -Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' -Call SysLoadFuncs - -parse arg file - -drive = filespec('drive', file) -path = filespec('path', file) -fname = filespec('name', file) -m = lastpos('.', fname) -if (m = 0) then m = length(fname) + 1 -cjkfile = drive||path||delstr(fname, m)||'.cjk' - -'cefsconv <' file '>' cjkfile - -ucjkfile = translate(cjkfile,'/','\') -if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then - 'call latex.cmd' ucjkfile - -/* End of cefsltx.cmd */ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefspdflatex b/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefspdflatex deleted file mode 100755 index ed981d4dfb..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/CEFconv/cefspdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1 b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1 deleted file mode 100644 index c385eb616d..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1 +++ /dev/null @@ -1,110 +0,0 @@ -.\" man page for sjisconv -.\" Copyright (C) 1994-2015 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 18-Apr-2015 "CJK Version 4.8.4" -. -.\" ==== -.\" ==== 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/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c deleted file mode 100644 index af121e555d..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c +++ /dev/null @@ -1,33 +0,0 @@ -#define banner \ -"sjisconv (CJK ver. 4.8.4)" \ - -/*2:*/ -#line 96 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/SJISconv/sjisconv.w" - -#include -#include - - -int main(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/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w deleted file mode 100644 index c1044cf36d..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w +++ /dev/null @@ -1,123 +0,0 @@ -% This is the cweb file sjisconv.w of the CJK Package Ver. 4.8.4 18-Apr-2015 - -% Copyright (C) 1994-2015 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 +a sjisconv.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. - -\def\title{sjisconv (CJK Version 4.8.4)} - -\def\topofcontents{ - \null\vfill - \centerline{\titlefont The {\ttitlefont sjisconv} program} - \vskip 20pt - \centerline{(CJK Version 4.8.4)} - \vfill} - -\def\botofcontents{ - \vfill - \noindent - Copyright \copyright\ 1996, 1998 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 - -\noinx -\nosecs -\nocon - -@* Function and Use. -This small program will convert SJIS encoded Japanese characters into a -`preprocessed' form. The need of this program arises from the fact that this -encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which have -special meanings in \TeX. - -Use this program as a filter: - -\hskip 2em \.{sjisconv < input\_file > output\_file} - - -@* The program. -The only function of this program is to replace all occurrences of SJIS -encoded two byte characters \.{XY} with -\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f} (\.{X} -and \.{Y} are the first and the second byte of the character; \.{ZZZ} -represents the second byte as a decimal number). - -Additionally we define a \TeX\ macro at the very beginning to signal a -preprocessed file. - -The following code is very simple. No error detection is done because \TeX\ -which will see the output of \.{sjisconv} complains loudly if something is -wrong. - -Note that the user-defined character area of SJIS (with the first bytes in -the range 0xF0--0xFC) is not supported because it is not portable. - -@d banner -"sjisconv (CJK ver. 4.8.4)" - -@c -#include -#include @# - - -int main(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; /* never reached */ - } diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex deleted file mode 100755 index b1086cba76..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat deleted file mode 100644 index 5702c113bd..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat +++ /dev/null @@ -1,3 +0,0 @@ -call f_name %1 -sjisconv < %1 > %fd%%fp%%fn%.cjk -latex %fd%%fu%%fn%.cjk diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd deleted file mode 100644 index 2ff4e03e54..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd +++ /dev/null @@ -1,44 +0,0 @@ -/*----------------------------------------------------------------------*\ - sjisltx.cmd - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - Copyright (C) 1994-2015 Wonkoo Kim - - 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 - - Wonkoo Kim (wkim+@pitt.edu), September 2, 1996 -\*----------------------------------------------------------------------*/ - -Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' -Call SysLoadFuncs - -parse arg file - -drive = filespec('drive', file) -path = filespec('path', file) -fname = filespec('name', file) -m = lastpos('.', fname) -if (m = 0) then m = length(fname) + 1 -cjkfile = drive||path||delstr(fname, m)||'.cjk' - -'sjisconv <' file '>' cjkfile - -ucjkfile = translate(cjkfile,'/','\') -if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then - 'call latex.cmd' ucjkfile - -/* End of sjisltx.cmd */ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex deleted file mode 100755 index 651570da7f..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/cjklatex/cjklatex.c b/language/chinese/CJK/cjk-4.8.4/utils/cjklatex/cjklatex.c deleted file mode 100644 index 678c1dd3a8..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/cjklatex/cjklatex.c +++ /dev/null @@ -1,293 +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> -*/ - -#ifndef LATEX -#define LATEX "latex" -#endif - -/* - Copyright (C) 2001-2015 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 - -static const 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=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=gbk\tfor Chinese, encoding GBK,\n", - "--conv=sjis\tfor Japanese, SJIS encoding.", - "\nAlternatively, for compatibility with the previous DOS batch files,\n", - "you can also copy this program to any of the following names:\n", - "bg5" LATEX ".exe, cef5" LATEX ".exe, cef" LATEX ".exe, cefs" LATEX ".exe,\n", - "gbk" LATEX ".exe and sjis" LATEX ".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 { - const char *progname; - const char *processor; -} CJKtable[] = { - { "cjk" LATEX, "" }, - { "bg5" LATEX, "bg5conv" }, - { "cef" LATEX, "cefconv" }, - { "cef5" LATEX, "cef5conv" }, - { "cefs" LATEX, "cefsconv" }, - { "gbk" LATEX, "extconv" }, - { "sjis" LATEX, "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} -}; - -static 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 */ -} - -static void usage(void) -{ - int i; - fprintf(stderr, "CJK" LATEX " 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); -} - -static int do_process(const char *processor, const 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; -} - -int 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("cjk" LATEX)) { - 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); - - return 0; -} diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+latex b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+latex deleted file mode 100755 index 82e706a44f..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+latex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+pdflatex b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+pdflatex deleted file mode 100755 index 16377e9dc1..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5+pdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.bat b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.bat deleted file mode 100644 index ccc6c76acd..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.bat +++ /dev/null @@ -1,3 +0,0 @@ -call f_name %1 -extconv < %1 > %fd%%fp%%fn%.cjk -latex %fd%%fu%%fn%.cjk diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.cmd b/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.cmd deleted file mode 100644 index 69a9495208..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/bg5pltx.cmd +++ /dev/null @@ -1,44 +0,0 @@ -/*----------------------------------------------------------------------*\ - bg5pltx.cmd - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - Copyright (C) 1994-2015 Wonkoo Kim - - 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 - - Wonkoo Kim (wkim+@pitt.edu), September 2, 1996 -\*----------------------------------------------------------------------*/ - -Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' -Call SysLoadFuncs - -parse arg file - -drive = filespec('drive', file) -path = filespec('path', file) -fname = filespec('name', file) -m = lastpos('.', fname) -if (m = 0) then m = length(fname) + 1 -cjkfile = drive||path||delstr(fname, m)||'.cjk' - -'extconv <' file '>' cjkfile - -ucjkfile = translate(cjkfile,'/','\') -if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then - 'call latex.cmd' ucjkfile - -/* End of bg5pltx.cmd */ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.1 b/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.1 deleted file mode 100644 index 1ef4b011d8..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.1 +++ /dev/null @@ -1,111 +0,0 @@ -.\" man page for bg5conv -.\" -.\" Copyright (C) 1994-2015 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 18-Apr-2015 "CJK Version 4.8.4" -. -.\" ==== -.\" ==== 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/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.c b/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.c deleted file mode 100644 index fdba62551c..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.c +++ /dev/null @@ -1,34 +0,0 @@ -#define banner \ -"extconv (CJK ver. 4.8.4)" \ - -/*2:*/ -#line 94 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/extconv/extconv.w" - -#include -#include - - -int main(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/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.w b/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.w deleted file mode 100644 index 019976889b..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/extconv.w +++ /dev/null @@ -1,122 +0,0 @@ -% This is the cweb file extconv.w of the CJK Package Ver. 4.8.4 18-Apr-2015 - -% Copyright (C) 1994-2015 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 +a extconv.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. - -\def\title{extconv (CJK Version 4.8.4)} - -\def\topofcontents{ - \null\vfill - \centerline{\titlefont The {\ttitlefont extconv} program} - \vskip 20pt - \centerline{(CJK Version 4.8.4)} - \vfill} - -\def\botofcontents{ - \vfill - \noindent - Copyright \copyright\ 1996, 1998 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 - -\noinx -\nosecs -\nocon - -@* Function and Use. -This small program will convert Big~5+ or GBK encoded Chinese characters -into a `preprocessed' form. The need of this program arises from the fact -that these two encodings use the characters `\.{\\}', `\.{\{}', and `\.{\}}' -which have special meanings in \TeX. - -Use this program as a filter: - -\hskip 2em \.{extconv < input\_file > output\_file} - - -@* The program. -The only function of this program is to replace all occurrences of Big~5+ -and GBK encoded characters \.{XY} (\.{X} and \.{Y} are the first and the -second byte of the character) with -\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f}, where \.{ZZZ} -represents the second byte as a decimal number. \.{0x7F} is used as an active -character and delimiter. - -Additionally we define a \TeX\ macro at the very beginning to signal a -preprocessed file. - -The following code is very simple. No error detection is done because \TeX\ -which will see the output of \.{extconv} complains loudly if something is -wrong. - -@d banner -"extconv (CJK ver. 4.8.4)" - -@c -#include -#include @# - - -int main(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; /* never reached */ - } diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex deleted file mode 100755 index 82e706a44f..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.bat b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.bat deleted file mode 100644 index ccc6c76acd..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.bat +++ /dev/null @@ -1,3 +0,0 @@ -call f_name %1 -extconv < %1 > %fd%%fp%%fn%.cjk -latex %fd%%fu%%fn%.cjk diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.cmd b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.cmd deleted file mode 100644 index 9bd1237934..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbklatex.cmd +++ /dev/null @@ -1,44 +0,0 @@ -/*----------------------------------------------------------------------*\ - gbklatex.cmd - - This file is part of the CJK macro package for LaTeX2e ver. 4.8.4 - - Copyright (C) 1994-2015 Wonkoo Kim - - 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 - - Wonkoo Kim (wkim+@pitt.edu), September 2, 1996 -\*----------------------------------------------------------------------*/ - -Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' -Call SysLoadFuncs - -parse arg file - -drive = filespec('drive', file) -path = filespec('path', file) -fname = filespec('name', file) -m = lastpos('.', fname) -if (m = 0) then m = length(fname) + 1 -cjkfile = drive||path||delstr(fname, m)||'.cjk' - -'extconv <' file '>' cjkfile - -ucjkfile = translate(cjkfile,'/','\') -if stream(cjkfile, 'C', 'QUERY EXISTS') \= '' then - 'call latex.cmd' ucjkfile - -/* End of gbklatex.cmd */ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbkpdflatex b/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbkpdflatex deleted file mode 100755 index 16377e9dc1..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/extconv/gbkpdflatex +++ /dev/null @@ -1,43 +0,0 @@ -#! /bin/sh - -# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/f_name.bat b/language/chinese/CJK/cjk-4.8.4/utils/f_name.bat deleted file mode 100644 index 70e6e69ce9..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/f_name.bat +++ /dev/null @@ -1,205 +0,0 @@ -@echo off -:4dosCheck - if "%@eval[2+2]"=="4" loadbtm on -:Start - if [%1]==[] goto Usage - if [%1]==[/?] goto Help - if [%2]==[] goto InputCheck -REM -REM This file is called F_NAME.BAT per default. Call it whatever you like. -REM -REM You need enough free environment space for this batch file. -REM If there's not enough free space, f_name.bat will give you a warning. -REM -REM While f_name.bat tries to test your free environment space, you'll -REM probably need to check your config.sys for the following line: -REM -REM SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:1024 /p -REM -REM The '/E:1024' sets your environment space - it will probably need to -REM be 1024 or higher (unless you're really economical with env-space). -REM -REM If you are not sure about free space, set fp and fn with long dummy -REM strings in autoexec.bat to get enough free space, eg.: -REM -REM set fp=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -REM set fu=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -REM set fn=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -REM set fd=xx -REM set fe=xxxx -REM -REM Using dummy strings is necessary if you're going to execute -REM f_name.bat from a second command shell, eg. from Norton Commander. -REM In this case the total length reserved for f_name.bat should be up -REM to 192 bytes. My suggestion is, let the strings for fp, fu, and fn count -REM up to 186 bytes (eg. 62 each). -REM -REM Some releases of DOS (eg. some beta-releases/pre-releases of DOS 6.0 -REM and some older DOS releases) does not support the batchcommand 'NOT'. -REM If you're still using such a release you cannot use this batchfile -REM since it uses this batchcommand. -REM -REM Please also note that f_name.bat cannot work properly if filespec is -REM longer than around 38 (? I don't know the exact length) characters. If -REM filespec is long, f_name.bat will fail at 'for %%x in ... do if ...' -REM lines. The result of error is fairly unpredictable as DOS will try to -REM execute with a truncated batch command line. So, please use the -REM batch file for short filespecs (< 38??). (On my DOS 6.22 using -REM strings above 38 chars gives me an endless loop, Claus Futtrup). -REM -REM For large batchfiles it is usually an advantage to use a -REM 'batch-compiler', which will convert the .bat file into a .com or -REM .exe file. With f_name.bat this could probably speed it up many -REM times, but it has not been possible to find a batch-compiler, which -REM will compile this batchfile. The compilers PWR14G.ZIP and -REM BAT2EX15.ZIP have been tested without success. -REM -REM This modified release is more solid when it comes to garbage input, it -REM is provided with help option, additional documentation and additional -REM checking for sufficient environment space and now remove the temporary -REM environment settings (P, Q, R, S, T) at the bottom of the batchfile. The -REM structure is changed a bit, but the basic still is made by Wonkoo Kim. -REM -REM Please do not distribute this file without the above documentation -REM included in the batch-file. If you change the file please add your -REM name as a "modifier" as done below + document your changes. We do -REM not intend to hold a copyright, though. You may use, misuse or abuse -REM this batchfile as you see fit. -REM -REM This file is provided to you on a free basis. The author/modifiers -REM do not want to be hold responsible to whatever this batchfile is -REM doing. Use of this batchfile is entirely at your own risk. -REM -REM Wonkoo Kim (wkim+@pitt.edu), August 11, 1995 -REM Modified by Claus Futtrup (odie@csek.iprod.auc.dk), August 23. 1995 -REM Modified by Werner Lemberg (wl@gnu.org), Jan. 10. 1996 -REM to run this batch file under 4DOS too (replacing all %%f with %%x -REM and doubling the speed with the LOADBTM ON command) -REM Modified by Werner Lemberg (wl@gnu.org), Aug. 31. 1996 -REM to return unix-like paths additionally in the variable %fu%; -REM the batch file will now parse e.g. \a.b\ correctly as a directory. -REM -:Usage - echo. - echo Usage: %0 filespec - echo. - echo Returns: fd (drive), fp (path), fu (unix path), fn (name), fe (extension) - echo. - echo Type %0 /? for additional help - echo %0 is made by Wonkoo Kim, modified by C. Futtrup and W. Lemberg. - echo. - goto END -:Help - cls - echo %0 -- extracts the drive, path, name, and ext from file-path-name. - echo. - echo Return envs: FD (drive), FP (path), FU (unix path), FN (name), FE (ext) - echo Temp envs: P, Q, R, S, T - echo. - echo INPUT FILE fd fp fn fe - echo ------------------ --------- --------- --------- --------- - echo abc abc - echo abc.tex abc .tex - echo c:\abc.tex c: \ abc .tex - echo c:tmp\abc.tex c: tmp\ abc .tex - echo c:\tmp\abc.tex c: \tmp\ abc .tex - echo c:tmp\tex\abc.tex c: tmp\tex\ abc .tex - echo c:\tmp\tex\abc.tex c: \tmp\tex\ abc .tex - echo. - echo Please note this file isn't blazing fast + it needs a lot - echo of environment space. See comments in %0 for more info. - echo. - echo Wonkoo Kim (wkim+@pitt.edu), August 11, 1995 - echo Modified by Claus Futtrup (odie@csek.iprod.auc.dk), August 23. 1995 - echo Modified by Werner Lemberg (wl@gnu.org), Aug 31. 1996 - goto END -:InputCheck - for %%x in (%1) do if "%%x"=="%1" goto Okay - echo *** ERROR: Please do not use wildcards in input file name. - goto END -:Okay - set p= - set r= - set fp= - set fu= - set fe= - set fn=%1 - set s=XXXXXXXX%fn% - set t=%fn% - set s= - if [%t%]==[%1] goto GetDrive -:EnvErr - echo *** ERROR: Not enough environment space! - echo *** See documentation at top of file '%0' - goto END -:GetDrive - for %%x in (/%t%) do set fn=%%x - for %%x in (/%t%) do if not [%%x]==[%fn%] set fd=%%x - if [%fn%]==[:] goto DriveOnly - set t=%fn% - for %%x in (/%t%) do set fn=%%x - if [:%fn%]==[%t%] goto DriveFound - set fd= - set fn=%1 - goto GetPath -:DriveOnly - set fn= -:DriveFound - set fd=%fd%: -:GetPath - set s=%fn% -:PathLoop - set t=%s% - for %%x in (/%t%) do set s=%%x - set q= - for %%x in (/%t%) do if not [%%x]==[%s%] set q=%%x - if "\%s%"=="%t%" goto Separator - set p=%p%%q% - set r=%r%%q% - if [%s%]==[%t%] goto PathCheck - goto PathLoop -:Separator - set fn=%s% - set p=%p%\ - set r=%r%/ - set fp=%p% - set fu=%r% - goto PathLoop -:PathCheck - if [%s%]==[\] goto NoFilename - if not [%fn%]==[\] goto GetExt - set fp=\ - set fu=/ - set fn= - goto Done -:NoFilename - set fp=%p%\ - set fu=%r%/ - set fn= - goto Done -:GetExt - set s=%fn% - set fe=%fn% - set fn= -:ExtLoop - set t=%fe% - for %%x in (/%t%) do set fe=%%x - if ".%fe%"=="%t%" goto ExtFound - if [%fe%]==[%t%] goto NoExt - for %%x in (/%t%) do if not [%%x]==[%fe%] set fn=%fn%%%x - goto ExtLoop -:ExtFound - set fe=.%fe% - goto Done -:NoExt - if not [%fe%]==[.] set fn=%s% - set fe= -:Done - echo DRIVE=%fd% PATH=%fp% UNIX_PATH=%fu% NAME=%fn% EXT=%fe% -:END - set p= - set q= - set r= - set s= - set t= - diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.gnu b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.gnu deleted file mode 100644 index 1248c4f508..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.gnu +++ /dev/null @@ -1,127 +0,0 @@ -# This file is part of the CJK package Version 4.8.4 (18-Apr-2015) - -# Copyright (C) 1994-2015 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 - -# GNU Makefile for hbf2gf - -.PHONY: default all debug documentation clean \ - do_all - -.CAUTIOUS: hbf2gf.c - -default: - @echo " say " - @echo ". " - @echo " make TARGET OS=SYSTEM " - @echo ". " - @echo " SYSTEM can be one of the following: " - @echo ". " - @echo " os2 bound (emx) " - @echo " dos (djgpp) " - @echo ". " - @echo " TARGET can be one of the following: " - @echo ". " - @echo " all debug " - @echo " documentation (needs cweave package)" - @echo " clean " - -ifdef OS - - # default values (bound executables built with emx) - FS = msdos - CC = gcc -Wall -O -DHAVE_EMTEXDIR - LIB = - O = .o - EXE = .exe - RM = del - - ifeq ($(OS),os2) - FS = msdos - CC = gcc -Wall -Zomf -Zmtd -O -DHAVE_EMTEXDIR - LIB = hbf2gf.def - O = .obj - EXE = .exe - RM = del - endif - - ifeq ($(OS),dos) - FS = msdos - CC = gcc -Wall -O -DHAVE_EMTEXDIR - LIB = - O = .o - EXE = .exe - RM = del - endif - - - %$O: %.c - $(CC) $(CFLAGS) -c -D$(FS) -o $@ $< - - %.c: %.w %.ch - $(CTANGLE) $^ $@ - %.c: %.w - $(CTANGLE) $< - - %.tex: %.w %.ch - $(CWEAVE) +ai $^ $@ - %.tex: %.w - $(CWEAVE) +ai $< - - %.dvi: %.tex - $(TEX) $* - - - all: - $(MAKE) -f Makefile.gnu do_all CFLAGS=-s - - debug: - $(MAKE) -f Makefile.gnu do_all CFLAGS=-g - - # this builds the .dvi-file - documentation: hbf2gf.dvi - - # remove the unnecessary files; - clean: - -$(RM) *.scn - -$(RM) *.toc - -$(RM) *.idx - -$(RM) *.log - -$(RM) *.o - - - do_all: hbf2gf$(EXE) - - hbf2gf$(EXE): hbf2gf$O hbf$O emdir$O emtexdir$O - ifeq ($(OS),dos) - $(CC) $(CFLAGS) -o $(basename $@) $^ - strip $(basename $@) - coff2exe $(basename $@) - -del $(basename $@) - else - $(CC) $(CFLAGS) -o $@ $^ $(LIB) - endif - - hbf$O: hbf.c hbf.h - emdir$O: emdir.c emdir.h - emtexdir$O: emtexdir.c emtexdir.h emdir.h - -else # ifdef OS - - all debug documentation clean: default - -endif diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.in b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.in deleted file mode 100644 index 937d5d6f81..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/Makefile.in +++ /dev/null @@ -1,127 +0,0 @@ -# Makefile for hbf2gf -- wl@gnu.org - -# Copyright (C) 1994-2015 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 - -VPATH = @srcdir@ -srcdir = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -libdir = @libdir@ -bindir = @bindir@ -mandir = @mandir@ - -RM = @RM@ -RMF = @RM@ -f - -TEX = tex -CTANGLE = ctangle -CWEAVE = cweave - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ - -CC = @CC@ -CPP = @CPP@ - -MKINSTALLDIRS = $(srcdir)/mkinstalldirs - -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ @DEFS@ @no_strdup@ -Dunix -MY_CFLAGS = $(CFLAGS) $(CPPFLAGS) @XX_CFLAGS@ -LDFLAGS = @LDFLAGS@ @LIBS@ - -SRC = hbf2gf.c $(srcdir)/hbf.c -OBJ = hbf2gf.o hbf.o - - -.SUFFIXES: .dvi .tex .w - - -.w.c: - $(CTANGLE) $< -.c.o: - $(CC) -c $(MY_CFLAGS) $< - -.w.tex: - $(CWEAVE) +ai $< - -.tex.dvi: - $(TEX) $< - - - -PROGRAMS = hbf2gf - -default all: $(PROGRAMS) - -hbf2gf.c: $(srcdir)/hbf2gf.w - -hbf2gf: $(OBJ) - $(CC) $(MY_CFLAGS) -o hbf2gf $(OBJ) $(LDFLAGS) - -documentation: hbf2gf.dvi - -install: $(PROGRAMS) - $(MKINSTALLDIRS) $(bindir) $(mandir)/man1 - for P in $(PROGRAMS) ; do \ - $(INSTALL_PROGRAM) $$P $(bindir)/$$P ; \ - $(INSTALL_DATA) $(srcdir)/$$P.1 $(mandir)/man1 ; \ - done - -uninstall: - -for P in $(PROGRAMS) ; do \ - $(RMF) $(bindir)/$$P ; \ - $(RMF) $(mandir)/man1/$$P.1 ; \ - done - -clean: do_clean - -distclean: do_clean - -$(RMF) dep.end $(PROGRAMS) *.dvi - -$(RMF) *~ *.orig core *.core - -$(RMF) config.cache config.log config.status Makefile - -do_clean: - -$(RMF) *.o - -$(RMF) *.scn *.toc *.idx *.log - -maintainer-clean: distclean - -$(RMF) hbf2gf.c - -depend: $(SRC) - (echo '/^#.* PUT NO STUFF BELOW/,$$d'; echo w; echo q) | \ - ed - Makefile - echo '# Dependencies generated by make depend: PUT NO STUFF BELOW' \ - >> Makefile - for file in $(SRC) ; do \ - $(CPP) $(CPPFLAGS) $$file | \ - sed -n -e 's|^# [1-9][0-9]* "\([^/].*\.h\)".*|\1|p' \ - -e 's|^# [1-9][0-9]* "\($(srcdir)/.*\.h\)".*|\1|p' | \ - sed -e 's|/\./|.|g' -e "s/^/`basename $$file .c`.o: /" ; \ - done | \ - sort -u | \ - awk '{ if (LINE == 1) \ - { line = last = $$1 } \ - else if ($$1 != last) \ - { print line ; line = last = $$1 } \ - line = line " " $$2 } \ - END { print line }' >> Makefile - -# Dependencies generated by make depend: PUT NO STUFF BELOW diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/README b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/README deleted file mode 100644 index a7de0ec140..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/README +++ /dev/null @@ -1,2 +0,0 @@ -Additional installation documentation can be found in the files `INSTALL' -(in the top directory) and `doc/hbf2gf.txt'. diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/c-auto.h b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/c-auto.h deleted file mode 100644 index 0bdbc5f782..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/c-auto.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * c-auto.h - * - * This file is part of the CJK package ver 4.8.4 18-Apr-2015 - * - */ - -/* - Copyright (C) 1994-2015 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 - */ - -#ifndef C_AUTO_H -#define C_AUTO_H - -/* - * We need to get kpathsea's configuration file. - */ - -#include "kpathsea/c-auto.h" - -#endif /* C_AUTO_H */ - - -/* end */ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/README b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/README deleted file mode 100644 index 689d59e739..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5ka12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5ka12.cfg deleted file mode 100644 index f5c142f023..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5kr12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5kr12.cfg deleted file mode 100644 index 9d9da2c1a2..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/b5so12.cfg deleted file mode 100644 index dc0bcd9fbf..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c1so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c1so12.cfg deleted file mode 100644 index de5b32b3ef..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c2so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c2so12.cfg deleted file mode 100644 index 969af8fae1..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c3so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c3so12.cfg deleted file mode 100644 index 0e65768ee5..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c4so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c4so12.cfg deleted file mode 100644 index 8ea3a8b270..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c5so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c5so12.cfg deleted file mode 100644 index 1b81c90a0d..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c6so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c6so12.cfg deleted file mode 100644 index 5b9c912ce5..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c7so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/c7so12.cfg deleted file mode 100644 index 051b260142..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/csso12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/csso12.cfg deleted file mode 100644 index 9ad91b0c57..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/gsfs14.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/gsfs14.cfg deleted file mode 100644 index 4b397aca46..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/j2so12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/j2so12.cfg deleted file mode 100644 index 7e0d70b5c0..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/jsso12.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/jsso12.cfg deleted file mode 100644 index 9bdfc7b1e8..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/ksso17.cfg b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/cfg/ksso17.cfg deleted file mode 100644 index c82f7e7eee..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.guess b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.guess deleted file mode 100755 index f7eb141e75..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.guess +++ /dev/null @@ -1,1438 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2015 Free Software Foundation, Inc. - -timestamp='2015-03-04' - -# 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 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# 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. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -# -# Please send patches to . - - -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 1992-2015 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 - -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - ;; -esac - -# 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 tuples: *-*-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=`(uname -p 2>/dev/null || \ - /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 ;; - earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-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*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - 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 - # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` - ;; - 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}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_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'` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - 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 ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - 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:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-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:*:[4567]) - 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/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - 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 -q __LP64__ - 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:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - 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 ;; - 8664:Windows_NT:*) - echo x86_64-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-${LIBC}`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/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - 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 -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - 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-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${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-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - 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.[02]*:*) - 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 i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-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; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - 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; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; 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.[02]*:*) - 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 ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-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 - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - 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 ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - 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 ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; -esac - -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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.sub b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.sub deleted file mode 100755 index 8f1229c6f7..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/config.sub +++ /dev/null @@ -1,1810 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2015 Free Software Foundation, Inc. - -timestamp='2015-03-08' - -# 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 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# 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. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# 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. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# 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 1992-2015 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-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - 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 | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -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*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -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 \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | 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 \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | 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 \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-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-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | 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-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | 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-* | sv1-* | sx?-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # 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 - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - 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 - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - 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 | 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*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 - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - 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 - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-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 - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - 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 - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - 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 | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - 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 | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - 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 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - 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 - ;; - tile*) - basic_machine=$basic_machine-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 - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-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[24]aeb | 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. - -auroraux) - os=-auroraux - ;; - -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* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -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* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -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* | -es* | -tirtos*) - # 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 - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -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 - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - 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 - ;; - 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 - ;; - -cnk*|-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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure deleted file mode 100755 index 3efefcaa2e..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure +++ /dev/null @@ -1,5088 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69. -# -# -# Copyright (C) 1992-1996, 1998-2015 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 - - -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 -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (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 - - -# 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. -as_myself= -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 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="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_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - 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_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -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 - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -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'` - -# 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_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # 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; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # 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 -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -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 -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -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='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# 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'" - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/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= - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= -PACKAGE_URL= - -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='LTLIBOBJS -LIBOBJS -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -RM -no_strdup -XX_CFLAGS -EGREP -GREP -CPP -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -target_os -target_vendor -target_cpu -target -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -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= ;; - *) 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_fn_error $? "invalid feature name: $ac_useropt" - 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_fn_error $? "invalid feature name: $ac_useropt" - 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_fn_error $? "invalid package name: $ac_useropt" - 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_fn_error $? "invalid package name: $ac_useropt" - 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_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - 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_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $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_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -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 - 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_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# 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_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - 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 (Objective) C/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. - -Report bugs to the package provider. -_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.69 - -Copyright (C) 2012 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 - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -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 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* 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 $2 (); -/* 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_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func -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.69. 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) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append 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 - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset 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 - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - 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:${as_lineno-$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= ;; #( - *) { eval $ac_var=; 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 - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - 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 - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - 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 - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - 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'; as_fn_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 - -$as_echo "/* confdefs.h */" > 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 - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_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 - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -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 /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$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" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - 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. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$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. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$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_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -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_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -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_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; 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_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -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:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; 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_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -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:${as_lineno-$LINENO}: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if ${ac_cv_target+:} false; 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_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } -case $ac_cv_target in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; -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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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 -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; 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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - 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:${as_lineno-$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:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* 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" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -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:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -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_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:${as_lineno-$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 ${ac_cv_prog_CPP+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i 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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -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:${as_lineno-$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 ${ac_cv_path_GREP+:} false; 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" - as_fn_executable_p "$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 - as_fn_arith $ac_count + 1 && ac_count=$as_val - 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_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; 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" - as_fn_executable_p "$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 - as_fn_arith $ac_count + 1 && ac_count=$as_val - 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_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for kpse_set_program_name in -lkpathsea" >&5 -$as_echo_n "checking for kpse_set_program_name in -lkpathsea... " >&6; } -if ${ac_cv_lib_kpathsea_kpse_set_program_name+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkpathsea $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_kpathsea_kpse_set_program_name=yes -else - ac_cv_lib_kpathsea_kpse_set_program_name=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kpathsea_kpse_set_program_name" >&5 -$as_echo "$ac_cv_lib_kpathsea_kpse_set_program_name" >&6; } -if test "x$ac_cv_lib_kpathsea_kpse_set_program_name" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKPATHSEA 1 -_ACEOF - - LIBS="-lkpathsea $LIBS" - -else - $as_echo "#define OLD_KPATHSEA 1" >>confdefs.h - -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kpse_init_prog in -lkpathsea" >&5 -$as_echo_n "checking for kpse_init_prog in -lkpathsea... " >&6; } -if ${ac_cv_lib_kpathsea_kpse_init_prog+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkpathsea $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_kpathsea_kpse_init_prog=yes -else - ac_cv_lib_kpathsea_kpse_init_prog=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kpathsea_kpse_init_prog" >&5 -$as_echo "$ac_cv_lib_kpathsea_kpse_init_prog" >&6; } -if test "x$ac_cv_lib_kpathsea_kpse_init_prog" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKPATHSEA 1 -_ACEOF - - LIBS="-lkpathsea $LIBS" - -else - - as_fn_error $? "Can't find kpathsea library! Use --with-kpathsea-lib option." "$LINENO" 5 -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` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_header_mongrel "$LINENO" "kpathsea/kpathsea.h" "ac_cv_header_kpathsea_kpathsea_h" "$ac_includes_default" -if test "x$ac_cv_header_kpathsea_kpathsea_h" = xyes; then : - -else - $as_echo "#define VERY_OLD_KPATHSEA 1" >>confdefs.h - -fi - - - - ac_fn_c_check_header_mongrel "$LINENO" "kpathsea/c-auto.h" "ac_cv_header_kpathsea_c_auto_h" "$ac_includes_default" -if test "x$ac_cv_header_kpathsea_c_auto_h" = xyes; then : - -else - - as_fn_error $? "Can't find kpathsea include files! Use --with-kpathsea-include option." "$LINENO" 5 -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:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - -#ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset[2]; - const charset cs = { 0, 0 }; - /* 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 sort of thing. */ - char tx; - char *t = &tx; - 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 sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; } bx; - struct s *b = &bx; 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 -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes -else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -$as_echo "#define const /**/" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_struct_tm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - - - -for ac_func in vprintf -do : - ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" -if test "x$ac_cv_func_vprintf" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_VPRINTF 1 -_ACEOF - -ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" -if test "x$ac_cv_func__doprnt" = xyes; then : - -$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h - -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` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RM+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RM="rm" - $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $RM" >&5 -$as_echo "$RM" >&6; } -else - { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; 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 as_fn_executable_p "$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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= ;; #( - *) { eval $ac_var=; 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 - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$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= -U= -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. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append 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:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_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} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_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 - - -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 -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (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 - - -# 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. -as_myself= -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 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -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 - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -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'` - -# 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 - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -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 -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - 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_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# 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 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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.69. 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 - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - - - -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 and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - 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 the package provider." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 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=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - 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 ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; 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"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append 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_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append 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_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - 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= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# 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=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -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 {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -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_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - 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 >>"\$ac_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 >>"\$ac_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 < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries 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[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -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_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[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="$ac_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_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append 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:${as_lineno-$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 >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - 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"; as_fn_mkdir_p - 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:${as_lineno-$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 "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$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 "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - - - - esac - -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# 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 || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure.ac b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure.ac deleted file mode 100644 index 4c28719516..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/configure.ac +++ /dev/null @@ -1,131 +0,0 @@ -dnl This file is part of the CJK package ver. 4.8.4 - -dnl Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/dvidrv.btm b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/dvidrv.btm deleted file mode 100644 index 4ec03d0bf2..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/dvidrv.btm +++ /dev/null @@ -1,352 +0,0 @@ -setdos /y1 -:: -:: Copyright (C) 1994-2015 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 -:: -:: -:: This is dvidrv.btm, a batch file for 4DOS/4OS2 written by -:: Werner Lemberg partially based on the -:: dvidrv.btm file of the 4allTeX package written by Phons Bloemen. -:: -:: It is a replacement for dvidrv.exe of the emTeX package. -:: -:: Additional features: support of ps2pk -:: support of ttf2pk -:: support of hbf2gf for HBFs (Hanzi bitmap fonts) -:: -:: Only quadratic printer modes are supported for ttf2pk! -:: -:: All needed binaries will be searched in the path. - -iff %# lt 2 then - echo `` - echo Usage: %0 dvi-driver dvi-file [parameters] - quit -endiff - -setlocal - :: we set a default value only if the corresponding environment variable - :: is empty. The `=' must follow the variable name immediately. - alias set_def `iff "%[%@word["=",0,%1]]" eq "" then %+ set %& %+ endiff` - - :: ========================================= - :: ======== User defined variables. ======== - :: ========================================= - :: - :: Can be overridden in the environment (except %ps2pk, %ttf2pk, %hbf2gf, - :: %pre_dpi, and %post_dpi). - - :: Comment out the programs you don't want to use. - set ps2pk=yes - set ttf2pk=yes - set hbf2gf=yes - - :: where the PK files will be installed created by ps2pk, ttf2pk, and - :: hbf2gf. - :: dvidrv.btm adds `\modeless\XXXdpi' to this string (see below for the - :: exact string). - set_def pkdir=%emtexdir\pixel\tmp\pk - - :: where the TrueType fonts reside. - set_def ttfonts=%emtexdir\fonts\truetype - :: where auxiliary files of ttf2pk are located. - set_def ttfcfg=%emtexdir\ttf2pk - - :: where the HBF files reside. - set_def hbfonts=%emtexdir\fonts\hbf - :: where the hbf2gf config files are. - set_def hbfcfg=%emtexdir\hbf2gf - - :: the dpi-subdirectory has various forms; the most common are XXXdpi and - :: dpiXXX, e.g. 300dpi and dpi300. Here we define two variables which - :: control this behaviour. - :: [dpiXXX is used for TDS compatible TeX trees.] - set pre_dpi=dpi - set post_dpi= - - :: ================================================ - :: ======== End of user defined variables. ======== - :: ================================================ - - :: the base name for log files etc. - set basename=%@name[%1] - - :: do we run dvips? - iff "%basename" ne "dvips" then - goto nodvips1 - endiff - - :: we delete dvips.mfj if it exists. - del dvips.mfj >& nul - - :: now we run dvips with all supplied parameters. - %& - - :: do we have to generate fonts? - iff exist dvips.mfj then - goto generate_fonts - endiff - - :: else all is done. - goto end - - -:nodvips1 - :: here we call the dvi driver with all supplied parameters. - %& -pj:%basename.mfj - - :: do we have to generate fonts? - iff errorlevel 8 then - goto generate_fonts - endiff - - :: else all is done. - goto end - - -:generate_fonts - gosub call_mfjob - - :: do we run dvips? - iff "%basename" ne "dvips" then - goto nodvips2 - endiff - - :: we now call dvips a second time - %& - - :: since no fonts will be generated in the second run we remove dvips.mfj - del dvips.mfj >& nul - - goto end - - -:nodvips2 - :: we call the dvi driver a second time (without font generation). - %& -pj -fm - - del %basename.mfj >& nul - - goto end - - -:: this is the main subroutine which calls mfjob and then parses the mfjob -:: file for fonts which can be handled by ps2pk, ttf2pk, or hbf2gf. -:call_mfjob - :: this alias prints a message on the screen and writes it into the logfile. - alias echolog=`echo %& | tee /a %basename.mlg` - - echo ======== DVIDRV.BTM logfile ======== > %basename.mlg - echo Commandline: dvidrv.btm %& >> %basename.mlg - echo `` >> %basename.mlg - echo basename=%basename >> %basename.mlg - echo emtexdir=%emtexdir >> %basename.mlg - echo dvidrvfonts=%dvidrvfonts >> %basename.mlg - echo mfinput=%mfinput >> %basename.mlg - echo mfjobopt=%mfjobopt >> %basename.mlg - echo textfm=%textfm >> %basename.mlg - echo psfonts=%psfonts >> %basename.mlg - echo ttfonts=%ttfonts >> %basename.mlg - echo ttfcfg=%ttfcfg >> %basename.mlg - echo hbfonts=%hbfonts >> %basename.mlg - echo hbfcfg=%hbfcfg >> %basename.mlg - echo `` >> %basename.mlg - - iff "%@search[mfjob]" eq "" then - echolog MFJOB not found in the path. - echolog Can't generate PK fonts from METAFONT automatically. - echo `` - quit - endiff - - :: now we call mfjob. - echolog mfjob %mfjobopt -g%basename.mfl %basename.mfj - mfjob %mfjobopt -g%basename.mfl %basename.mfj - iff %? gt 0 then - echolog `` - echolog Something went wrong while running METAFONT. - echolog Look into the log files... - echolog `` - endiff - - :: after running mfjob we scan the mfjob input file for fonts which can - :: be handled by ps2pk, ttf2pk or hbf2gf. - set lnnr=0 - set totlines=%@lines[%basename.mfj] - - do while %lnnr le %totlines - :: input a line. - set scratch=%@line[%basename.mfj,%lnnr] - set lnnr=%@inc[%lnnr] - - :: get resolutions (METAFONT mode will be ignored). - :: example: - :: mode=lqlores[180 180]; - iff %@index[%scratch,mode] ge 0 then - set temp=%@word["[]",1,%scratch] - set xdpi=%@word[0,%temp] - set ydpi=%@word[1,%temp] - endiff - - :: get fontname and magnification; we then compute the font resolutions - :: (rounded to the nearest integer---there is no necessity to adjust - :: these values further because of possible rounding errors since both - :: emTeX's dvi drivers and dvips check neighbored values too). - :: example: - :: {font=cmr10; mag=0.5;} - iff %@index[%scratch,{font] ge 0 then - set testfont=%@word["=;",1,%scratch] - set temp=%@word["=;",3,%scratch] - :: we use highest arithmetic precision for these calculations. - :: Additionally we write 1/2 instead of 0.5 to avoid problems with - :: countries which use a comma instead of a colon as the decimal - :: separator. - set fontresx=%@int[%@eval[%xdpi*%temp+1/2=8]] - set fontresy=%@int[%@eval[%ydpi*%temp+1/2=8]] - set pksubdir=modeless\%[pre_dpi]%[fontresx]%post_dpi - - set success=0 - - :: check whether %testfont leads to a PS font (we call ps2pkmfj). - iff %success == 0 .and. "%ps2pk" ne "" then - gosub call_ps2pk - endiff - - :: check whether %testfont leads to a TrueType font. - iff %success == 0 .and. "%ttf2pk" ne "" then - gosub call_ttf2pk - endiff - - :: check whether %testfont leads to a HBF file. - iff %success == 0 .and. "%hbf2gf" ne "" then - gosub call_hbf2gf - endiff - endiff - enddo - - iff exist %basename.mfp then - echo `` >> %basename.mlg - echo `` >> %basename.mlg - echo ======== PS2PK logfile ======== >> %basename.mlg - echo `` >> %basename.mlg - type %basename.mfp >> %basename.mlg - echo `` >> %basename.mlg - del %basename.mfp >& nul - endiff - - iff exist %basename.mfl then - echo `` >> %basename.mlg - type %basename.mfl >> %basename.mlg - echo `` >> %basename.mlg - del %basename.mfl >& nul - endiff - - return - - -:call_ttf2pk - iff "%@search[ttf2pk]" eq "" then - echolog TTF2PK not found in the path. - echolog Can't generate PK fonts from TrueType fonts automatically. - echo `` - quit - endiff - - echolog ttf2pk -q -n %testfont %fontresx - ttf2pk -q -n %testfont %fontresx - - iff %? == 0 then - echolog Font %pkdir\%pksubdir\%testfont.pk generated. - mkdir /s %pkdir\%pksubdir >& nul - move %testfont.pk %pkdir\%pksubdir >& nul - set success=1 - elseiff %? == 2 then - echolog (%lnnr/%totlines): Font %testfont is no TrueType font. - set success=0 - else - echolog Error running TTF2PK for font %testfont! - endiff - - return - - -:call_hbf2gf - iff "%@search[hbf2gf]" eq "" then - echolog HBF2GF not found in the path. - echolog Can't generate PK fonts from HBF files automatically. - echo `` - quit - endiff - - echolog hbf2gf -q -p -n %testfont %fontresx %fontresy - hbf2gf -q -p -n %testfont %fontresx %fontresy - - iff %? == 0 then - echolog Font %pkdir\%pksubdir\%testfont.pk generated. - mkdir /s %pkdir\%pksubdir >& nul - gftopk %testfont.gf %testfont.pk - move %testfont.pk %pkdir\%pksubdir >& nul - del %testfont.gf >& nul - set success=1 - elseiff %? == 2 then - echolog (%lnnr/%totlines): Font %testfont is no HBF. - set success=0 - else - echolog Error running HBF2GF for font %testfont! - endiff - - return - - -:call_ps2pk - iff not exist %pkdir\%pksubdir\%testfont.pk then - iff "%@search[ps2pkmfj]" eq "" .or. "%@search[ps2pk]" eq "" then - echolog PS2PKMFJ and/or PS2PK not found in the path. - echolog Can't generate PK fonts from PostScript fonts automatically. - echo `` - quit - endiff - - echolog ps2pkmfj -X%fontresx -Y%fontresy %testfont %testfont.pk - ps2pkmfj -X%fontresx -Y%fontresy %testfont %testfont.pk | input %%pspkline - - iff errorlevel != 1 then - %pspkline >> %basename.mfp - iff %? == 0 then - echolog Font %pkdir\%pksubdir\%testfont.pk generated. - mkdir /s %pkdir\%pksubdir >& nul - move %testfont.pk %pkdir\%pksubdir >& nul - success=1 - else - echolog Error running PS2PK for font %testfont! - endiff - else - echolog (%lnnr/%totlines): Font %testfont is no PS font. - success=0 - endiff - else - echolog Font %pkdir\%pksubdir\%testfont.pk already exists. - endiff - - return - - -:end - -endlocal - -:: ==== end of dvidrv.btm ==== diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.c b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.c deleted file mode 100644 index 4e759c83eb..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.h b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emdir.h deleted file mode 100644 index 0606d476ab..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.c b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.c deleted file mode 100644 index 9a35570adb..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.h b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/emtexdir.h deleted file mode 100644 index a9a986db05..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.c b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.c deleted file mode 100644 index dedb9650b2..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.c +++ /dev/null @@ -1,1494 +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(HBF_BBOX *bbox) -{ - bbox->hbf_width = bbox->hbf_height = 0; - bbox->hbf_xDisplacement = bbox->hbf_yDisplacement = 0; -} - -static void -clear_record(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(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_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(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_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(reg const char *lp, reg const char *sp) -{ - while (*lp == *sp && *sp != '\0') { - lp++; - sp++; - } - return (*lp == '\0' || isspace((unsigned char)*lp)) && *sp == '\0'; -} - -#ifdef NO_STRDUP -char * -strdup(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(reg HBF_STRUCT *hbf, const char *lp) -{ -reg PROPERTY *prop; - char tmp[MAXLINE]; -reg char *tp; - - prop = NEW(PROPERTY); - - tp = tmp; - while (*lp != '\0' && ! isspace((unsigned char)*lp)) - *tp++ = *lp++; - *tp = '\0'; - prop->prop_name = strdup(tmp); - - while (*lp != '\0' && isspace((unsigned char)*lp)) - lp++; - - tp = tmp; - if (*lp == QUOTE) { - lp++; - while (*lp != '\0' && ! (*lp == QUOTE && *++lp != QUOTE)) - *tp++ = *lp++; - } - else - for (;;) { - while (*lp != '\0' && ! isspace((unsigned char)*lp)) - *tp++ = *lp++; - while (*lp != '\0' && isspace((unsigned char)*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(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(HBF *handle, const char *propertyName) -{ - return hbfProperty(handle, propertyName); -} - -int -HBF_GetFontBoundingBox(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(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(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(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_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(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_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(int n, const char *s) -{ - for ( ; n > 0; n--) { - while (*s != '\0' && ! isspace((unsigned char)*s)) - s++; - while (*s != '\0' && isspace((unsigned char)*s)) - s++; - } - return s; -} - -/* optional keywords at the end of a CODE_RANGE line */ -static void -parse_keywords(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_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(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((unsigned char)*(bp-1))) - bp--; - *bp = '\0'; - return TRUE; - } - if (len > 0) { - *bp++ = c; - len--; - } - } -} - -/* get next non-COMMENT line */ -static bool -get_text_line(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(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(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(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(const char *path, const char *filename, char **fullp) -{ - if (LocalFileName(filename) && path != NULL) { -#ifdef PATH_DELIMITER - char *fullname; - FILE *f; - const char *p_next; - - 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(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(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(const char *filename, HBF **ptrHandleStorage) -{ - return (*ptrHandleStorage = hbfOpen(filename)) == NULL ? -1 : 0; -} - -/* - * Close files, free everything associated with the HBF. - */ - -int -HBF_CloseFont(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(HBF *hbfFile) -{ - (void)HBF_CloseFont(hbfFile); -} - -/* - * Fetch a bitmap - */ - -const byte * -hbfGetBitmap(HBF *hbf, HBF_CHAR code) -{ - return get_bitmap((HBF_STRUCT *)hbf, code, (byte *)NULL); -} - -int -HBF_GetBitmap(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(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_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(byte *buffer, unsigned int length) -{ - for ( ; length > 0; length--) - *buffer++ ^= 0xff; -} - -#ifdef IN_MEMORY -static bool -copy_transposed(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 *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(reg HBF *hbfFile, void (*func)(HBF *, HBF_CHAR)) -{ - 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) -{ - return ((HBF_STRUCT *)hbf)->filename; -} - -long -hbfChars(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) -{ - return &(hbf->hbf_bitmap_bbox); -} - -#ifdef hbfFontBBox -#undef hbfFontBBox -#endif - -HBF_BBOX * -hbfFontBBox(HBF *hbf) -{ - return &(hbf->hbf_font_bbox); -} - -const void * -hbfGetByte2Range(HBF *hbfFile, const void *b2r_pointer, - byte *startp, byte *finishp) -{ - HBF_STRUCT *hbf; - const B2_RANGE *b2r; - - hbf = (HBF_STRUCT *)hbfFile; - if (b2r_pointer == NULL) - b2r = hbf->byte_2_range; - else - b2r = ((const B2_RANGE *)b2r_pointer)->b2r_next; - if(b2r == NULL) - return NULL; - *startp = b2r->b2r_start; - *finishp = b2r->b2r_finish; - return (const void *)b2r; -} - -const void * -hbfGetCodeRange(HBF *hbfFile, const void *code_pointer, - HBF_CHAR *startp, HBF_CHAR *finishp) -{ - HBF_STRUCT *hbf; - const CODE_RANGE *cp; - - hbf = (HBF_STRUCT *)hbfFile; - if (code_pointer == NULL) - cp = hbf->code_range; - else - cp = ((const CODE_RANGE *)code_pointer)->code_next; - if(cp == NULL) - return NULL; - *startp = cp->code_start; - *finishp = cp->code_finish; - return (const void *)cp; -} diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.h b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf.h deleted file mode 100644 index 34f5940a71..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.1 b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.1 deleted file mode 100644 index 144e7e6893..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.1 +++ /dev/null @@ -1,718 +0,0 @@ -.\" man page for hbf2gf -.\" -.\" Copyright (C) 1994-2015 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 18-Apr-2015 "CJK Version 4.8.4" -.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 -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 -.in +4m -.ta 2i -.br -.C "\&.hbf MISCFONTS" -.br -.C "\&.cfg HBF2GFINPUTS" -.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 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.pdf -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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.c b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.c deleted file mode 100644 index 1e250496a6..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.c +++ /dev/null @@ -1,2250 +0,0 @@ -#define banner \ -"hbf2gf (CJK ver. 4.8.4)" \ - \ - -#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 191 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -/*10:*/ -#line 408 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#ifdef HAVE_CONFIG_H -#include -#endif -#include -#include -#include -#include -#include -#ifdef TM_IN_SYS_TIME -#include -#endif -#include "hbf.h" - - - -/*:10*//*69:*/ -#line 2473 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#if defined(HAVE_LIBKPATHSEA) -#include "kpathsea/kpathsea.h" - -#elif defined(HAVE_EMTEXDIR) -#include "emtexdir.h" - -#elif defined(HAVE_MIKTEX) -#include "miktex.h" -#endif - -/*:69*/ -#line 192 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -/*11:*/ -#line 429 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void write_file(void); - - -/*:11*//*13:*/ -#line 491 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void write_pre(void); - - -/*:13*//*16:*/ -#line 579 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void write_data(void); - - -/*:16*//*20:*/ -#line 690 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void write_post(void); - - -/*:20*//*25:*/ -#line 834 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void fputl(long,FILE*); - - -/*:25*//*29:*/ -#line 994 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void make_pixel_array(void); - - -/*:29*//*36:*/ -#line 1222 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static -#ifdef __GNUC__ -__inline__ -#endif -void read_row(unsigned char*); - - -/*:36*//*39:*/ -#line 1274 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static -#ifdef __GNUC__ -__inline__ -#endif -void write_row(unsigned char*); - - -/*:39*//*41:*/ -#line 1329 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void write_coding(void); - - -/*:41*//*45:*/ -#line 1490 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void write_pl(void); - - -/*:45*//*47:*/ -#line 1587 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void write_ovp(void); - - -/*:47*//*50:*/ -#line 1732 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void write_job(void); - - -/*:50*//*54:*/ -#line 1981 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void read_config(void); - - -/*:54*//*64:*/ -#line 2312 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static int fsearch(const char*); - - -/*:64*//*67:*/ -#line 2451 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void config_error(const char*); - - -/*:67*//*71:*/ -#line 2494 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static const char*TeX_search_version(void); - - -/*:71*//*74:*/ -#line 2529 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#ifdef HAVE_EMTEXDIR -extern int setup_list(struct emtex_dir*,char*,const char*,unsigned); -static int dir_setup(struct emtex_dir*,const char*,const char*,unsigned); -static char*file_find(char*,struct emtex_dir*); -#endif - - -/*:74*//*79:*/ -#line 2621 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static char*TeX_search_cfg_file(char*); -static char*TeX_search_hbf_file(char*); - - -/*:79*/ -#line 193 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -/*2:*/ -#line 127 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 538 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 667 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 871 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -HBF_CHAR code; -const unsigned char*bitmap; - -const 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 1269 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -int threshold= 128; - - -/*:38*//*49:*/ -#line 1721 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 1976 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -char Buffer[STRING_LENGTH+1]; - - -/*:53*//*58:*/ -#line 2094 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -int offset_x; -int offset_y; - -HBF_CHAR user_min_char; -int have_min_char= FALSE; - -/*:58*//*60:*/ -#line 2251 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -HBF_CHAR min_char,max_char; - - -/*:60*//*62:*/ -#line 2278 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -char b2_codes[256]; -unsigned char min_2_byte,max_2_byte; -int nmb_2_bytes= 0; - - -/*:62*//*70:*/ -#line 2485 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#if defined(HAVE_EMTEXDIR) -char emtex_version_string[]= "emTeXdir"; -#elif !defined(HAVE_MIKTEX) -char no_version_string[]= "no search library"; -#endif - - -/*:70*//*73:*/ -#line 2522 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#ifdef HAVE_EMTEXDIR -struct emtex_dir cfg_path,hbf_path; -#endif - - -/*:73*//*76:*/ -#line 2569 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#ifdef HAVE_EMTEXDIR -char name_buffer[FILE_NAME_LENGTH+1]; -#endif - - -/*:76*/ -#line 194 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - - - -int main(int argc,char*argv[]) -{char*p; - -/*78:*/ -#line 2594 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#if defined(HAVE_LIBKPATHSEA) -kpse_set_program_name(argv[0],"hbf2gf"); -kpse_init_prog("HBF2GF",300,"cx","cmr10"); - -#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 200 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - - -/*7:*/ -#line 307 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -if(argc==2) -{if(strcmp(argv[1],"--help")==0) -/*6:*/ -#line 288 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -{printf(USAGE); -exit(0); -} - - -/*:6*/ -#line 310 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -else if(strcmp(argv[1],"--version")==0) -/*5:*/ -#line 261 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -{printf("\n"); -printf(banner); -printf(" (%s)\n",TeX_search_version()); -printf(VERSION); -exit(0); -} - - -/*:5*/ -#line 312 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 202 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 352 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 229 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - - -/*28:*/ -#line 903 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 231 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - - -/*9:*/ -#line 387 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 999 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static 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= bitmap; - - -if(!bitmap) -empty_char= TRUE; -else -/*31:*/ -#line 1058 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 1092 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -} - - -/*:32*/ -#line 1064 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -/*34:*/ -#line 1140 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 1198 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 1193 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -} - - -/*:34*/ -#line 1066 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -} -} - - -/*:31*/ -#line 1035 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 1231 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static -#ifdef __GNUC__ -__inline__ -#endif -void read_row(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= 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 1283 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static -#ifdef __GNUC__ -__inline__ -#endif -void write_row(unsigned char*pixelrow) -{register int col; -register unsigned char*xP; - -for(col= 0,xP= pixelrow;col=threshold)?1:0; - -} - - -/*:40*//*42:*/ -#line 1337 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static 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 1352 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -start: -/*44:*/ -#line 1429 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 1354 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -y++; -} -} - - -/*:42*//*46:*/ -#line 1495 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static 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 2028 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -/*59:*/ -#line 2102 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 2029 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - - -/*61:*/ -#line 2256 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 2031 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -/*63:*/ -#line 2285 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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 2032 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - - -fclose(config); -} - - -/*:55*//*65:*/ -#line 2317 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static int fsearch(const char*search_string) -{char*P,p; -const char*Q; -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 -{Q= search_string; -p= tolower((unsigned char)*Q); -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(*(++Q)=='\0') -if((Ch= fgetc(config))==' '||Ch=='\t') - -goto success; -Ch= fgetc(config); -if(tolower(Ch)!=tolower((unsigned char)*Q)) -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 2396 "/usr/local/home/wl/git/cjk/cjk-4.8.4/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((unsigned char)*P)||*P=='_')) -{fprintf(stderr, -"Invalid environment variable name in configuration file\n"); -exit(1); -} -*(env_p++)= *(P++); -while(*P) -{if(isalnum((unsigned char)*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 2371 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -else -*Buffer= '\0'; - -return(*Buffer)?1:0; -} - - -/*:65*//*68:*/ -#line 2456 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static void config_error(const char*message) -{fprintf(stderr,"Couldn't find `%s' entry in configuration file\n", -message); -exit(1); -} - - - -/*:68*//*72:*/ -#line 2499 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -static const 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 2541 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#ifdef HAVE_EMTEXDIR -static 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; -} -#endif - - -/*:75*//*77:*/ -#line 2576 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#ifdef HAVE_EMTEXDIR -static 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 2627 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/hbf2gf/hbf2gf.w" - -#if defined(HAVE_LIBKPATHSEA) -static char*TeX_search_cfg_file(char*name) -{ -return kpse_find_file(name,kpse_program_text_format,TRUE); -} - - -static char*TeX_search_hbf_file(char*name) -{ -return kpse_find_file(name,kpse_miscfonts_format,TRUE); -} - - -#elif defined(HAVE_EMTEXDIR) -static char*TeX_search_cfg_file(char*name) -{return file_find(name,&cfg_path); -} - - -static char*TeX_search_hbf_file(char*name) -{return file_find(name,&hbf_path); -} - - -#elif defined(HAVE_MIKTEX) -static char*TeX_search_cfg_file(char*name) -{char result[_MAX_PATH]; - -if(!miktex_find_input_file("hbf2gf",*name,result)) -return 0; -return strdup(result); -} - - -static char*TeX_search_hbf_file(char*name) -{char result[_MAX_PATH]; - - -if(!miktex_find_miscfont_file(*name,result)) -return 0; -return strdup(result); -} - - -#else -static char*TeX_search_cfg_file(char*name) -{return name; -} - - -static char*TeX_search_hbf_file(char*name) -{return name; -} -#endif - - - -/*:80*/ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.def b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.def deleted file mode 100644 index 583767e897..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.def +++ /dev/null @@ -1,3 +0,0 @@ -NAME HBF2GF WINDOWCOMPAT -DESCRIPTION 'hbf2gf (CJK Ver. 4.8.4)' -STACKSIZE 0x80000 diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.w b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.w deleted file mode 100644 index 434dd7f414..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/hbf2gf.w +++ /dev/null @@ -1,2816 +0,0 @@ -% This is the cweb file hbf2gf.w of the CJK package ver. 4.8.4 18-Apr-2015 - -% Copyright (C) 1994-2015 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.4)} - -\def\topofcontents{ - \null\vfill - \centerline{\titlefont The {\ttitlefont hbf2gf} program} - \vskip 20pt - \centerline{(CJK Version 4.8.4)} - \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 - - -@* 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.4)" - - -@ -\.{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(int argc, char *argv[]) - {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 */ - } - - -@ -@= -#ifdef HAVE_CONFIG_H -#include -#endif -#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. - -@= -static 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 -static 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 " - -@= -static void write_pre(void); - - -@ -@s tm int - -@c -static 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 */ - - -@ -@= -static void write_data(void); - - -@ -@c -static 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. - -@= -static void write_post(void); - - -@ -@c -static 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. - -@= -static void fputl(long, FILE *); - - -@ -@c -static void fputl(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 */ -const 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. - - -@= -static void make_pixel_array(void); - - -@ -@c -static 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 = 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). - -@= -static -#ifdef __GNUC__ -__inline__ -#endif -void read_row(unsigned char *); - - -@ -@c -static -#ifdef __GNUC__ -__inline__ -#endif -void read_row(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 = 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; - - -@ -@= -static -#ifdef __GNUC__ -__inline__ -#endif -void write_row(unsigned char *); - - -@ -@c -static -#ifdef __GNUC__ -__inline__ -#endif -void write_row(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 */ - -@= -static void write_coding(void); - - -@ -The |goto start| instruction causes some compilers to complain about -``Unreachable code $\ldots$'' or something similar. - -@c -static 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. - -@= -static void write_pl(void); - - -@ -@c -static 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. - -@= -static void write_ovp(void); - - -@ -@c -static 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; - - -@ -@= -static void write_job(void); - - -@ -@c -static 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]; - - -@ -@= -static 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 -static 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. - -@= -static int fsearch(const char *); - - -@ -@c -static int fsearch(const char *search_string) - {char *P, p; - const char *Q; - 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 - {Q = search_string; - p = tolower((unsigned char)*Q); - 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(*(++Q) == '\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((unsigned char)*Q)) - 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((unsigned char)*P) || *P == '_')) - {fprintf(stderr,@/ - "Invalid environment variable name in configuration file\n"); - exit(1); - } - *(env_p++) = *(P++); - while(*P) - {if(isalnum((unsigned char)*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. - -@= -static void config_error(const char *); - - -@ -@c -static void config_error(const 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|. For MikTeX, define -|HAVE_MIKTEX|. If none of these macros is defined, a simple |fopen()| will -be used instead. - -@= -#if defined(HAVE_LIBKPATHSEA) -#include "kpathsea/kpathsea.h" - -#elif defined(HAVE_EMTEXDIR) -#include "emtexdir.h" - -#elif defined(HAVE_MIKTEX) -#include "miktex.h" -#endif - -@ -@= -#if defined(HAVE_EMTEXDIR) -char emtex_version_string[] = "emTeXdir"; -#elif !defined(HAVE_MIKTEX) -char no_version_string[] = "no search library"; -#endif - - -@ -@= -static const char *TeX_search_version(void); - - -@ -@c -static const 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); -static int dir_setup(struct emtex_dir *, const char *, const char *, unsigned); -static 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 -static 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; - } -#endif - - -@ -@= -#ifdef HAVE_EMTEXDIR -char name_buffer[FILE_NAME_LENGTH + 1]; -#endif - - -@ -@c -#ifdef HAVE_EMTEXDIR -static 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) - kpse_set_program_name(argv[0], "hbf2gf"); - kpse_init_prog("HBF2GF", 300, "cx", "cmr10");@# - -#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. - -@= -static char *TeX_search_cfg_file(char *); -static char *TeX_search_hbf_file(char *); - - -@ -@c -#if defined(HAVE_LIBKPATHSEA) -static char *TeX_search_cfg_file(char *name) - { - return kpse_find_file(name, kpse_program_text_format, TRUE); - }@# - - -static char *TeX_search_hbf_file(char *name) - { - return kpse_find_file(name, kpse_miscfonts_format, TRUE); - }@# - - -#elif defined(HAVE_EMTEXDIR) -static char *TeX_search_cfg_file(char *name) - {return file_find(name, &cfg_path); - }@# - - -static char *TeX_search_hbf_file(char *name) - {return file_find(name, &hbf_path); - }@# - - -#elif defined(HAVE_MIKTEX) -static char *TeX_search_cfg_file(char *name) - {char result[_MAX_PATH]; - - if (!miktex_find_input_file("hbf2gf", *name, result)) - return 0; - return strdup(result); - }@# - - -static char *TeX_search_hbf_file(char *name) - {char result[_MAX_PATH]; - - - if (!miktex_find_miscfont_file(*name, result)) - return 0; - return strdup(result); - }@# - - -#else -static char *TeX_search_cfg_file(char *name) - {return name; - }@# - - -static char *TeX_search_hbf_file(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 in 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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/install-sh b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/install-sh deleted file mode 100755 index 0b0fdcbba6..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/install-sh +++ /dev/null @@ -1,501 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2013-12-25.23; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# 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. - -tab=' ' -nl=' -' -IFS=" $tab$nl" - -# Set DOITPROG to "echo" to test this script. - -doit=${DOITPROG-} -doit_exec=${doit:-exec} - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -is_target_a_directory=possibly - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) - is_target_a_directory=always - dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) is_target_a_directory=never;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -# We allow the use of options -d and -T together, by making -d -# take the precedence; this is for compatibility with GNU install. - -if test -n "$dir_arg"; then - if test -n "$dst_arg"; then - echo "$0: target directory not allowed when installing a directory." >&2 - exit 1 - fi -fi - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - if test $# -gt 1 || test "$is_target_a_directory" = always; then - if test ! -d "$dst_arg"; then - echo "$0: $dst_arg: Is not a directory." >&2 - exit 1 - fi - fi -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test "$is_target_a_directory" = never; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - dstdir=`dirname "$dst"` - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - oIFS=$IFS - IFS=/ - set -f - set fnord $dstdir - shift - set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # 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 $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - set +f && - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/mkinstalldirs b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/mkinstalldirs deleted file mode 100755 index 55d537f872..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/mkinstalldirs +++ /dev/null @@ -1,162 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy - -scriptversion=2009-04-28.21; # UTC - -# Original author: Noah Friedman -# Created: 1993-05-16 -# Public domain. -# -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' -IFS=" "" $nl" -errstatus=0 -dirmode= - -usage="\ -Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... - -Create each directory DIR (with mode MODE, if specified), including all -leading file name components. - -Report bugs to ." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" - exit $? - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --version) - echo "$0 $scriptversion" - exit $? - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and -# mkdir -p a/c at the same time, both will detect that a is missing, -# one will create a, then the other will try to create a and die with -# a "File exists" error. This is a problem when calling mkinstalldirs -# from a parallel make. We use --version in the probe to restrict -# ourselves to GNU mkdir, which is thread-safe. -case $dirmode in - '') - if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - else - # On NextStep and OpenStep, the 'mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because '.' already - # exists. - test -d ./-p && rmdir ./-p - test -d ./--version && rmdir ./--version - fi - ;; - *) - if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && - test ! -d ./--version; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - else - # Clean up after NextStep and OpenStep mkdir. - for d in ./-m ./-p ./--version "./$dirmode"; - do - test -d $d && rmdir $d - done - fi - ;; -esac - -for file -do - case $file in - /*) pathcomp=/ ;; - *) pathcomp= ;; - esac - oIFS=$IFS - IFS=/ - set fnord $file - shift - IFS=$oIFS - - for d - do - test "x$d" = x && continue - - pathcomp=$pathcomp$d - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr= - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp=$pathcomp/ - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff deleted file mode 100644 index 02f6250898..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff deleted file mode 100644 index 52cd52e1c1..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff deleted file mode 100644 index 0536dbc7a4..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/README b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-6.1/README deleted file mode 100644 index eb12bec7a3..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff deleted file mode 100644 index 23f7cb58fe..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff deleted file mode 100644 index a67df4e14b..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff deleted file mode 100644 index 3fd17f9453..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff b/language/chinese/CJK/cjk-4.8.4/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff deleted file mode 100644 index b7bf872e8c..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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 -;; -;; 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 - -;; This file is part of the CJK package Version 4.8.4 (18-Apr-2015) - -;; Insert tilde characters instead of spaces for LaTeX CJK documents. -;; If `CJK-space-after-space' is non-nil, typing a space yields a space. -;; Typing two consecutive spaces yields a tilde. If `CJK-space-after-space' -;; is nil, the behaviour is reversed. -;; -;; You should put the following in your .emacs file (additionally to the -;; common AUCTeX adaptations): -;; -;; (autoload 'CJK-insert-space "cjkspace" -;; "Insert tildes appropriately in CJK document." t) -;; (defun my-LaTeX-mode-hook () -;; "Key definitions for LaTeX mode." -;; (define-key LaTeX-mode-map " " 'CJK-insert-space) -;; ) -;; (add-hook 'LaTeX-mode-hook 'my-LaTeX-mode-hook) - - -;;; Code: - -(provide 'cjkspace) - - -(defvar CJK-space "~") - -(defvar CJK-space-after-space nil - - "*If non-nil, typing a space yields a space. Typing two consecutive -spaces yields a tilde. If nil the behaviour is reversed.") - -(make-variable-buffer-local 'CJK-space-after-space) - - -;;;###autoload -(defun CJK-insert-space (arg) - - "Insert tilde characters instead of spaces for LaTeX CJK documents. -If `CJK-space-after-space' is non-nil, typing a space yields a space. -Typing two consecutive spaces yields a tilde. If `CJK-space-after-space' -is nil, the behaviour is reversed. - -With prefix argument, always inserts space characters." - - (interactive "*P") - - (if arg - (self-insert-command (prefix-numeric-value arg)) - (TeX-update-style) - (if CJK-space-after-space - (insert (cond ((bobp) - ?\ ) - ((not (= (preceding-char) ?\ )) - ?\ ) - ((and (> (point) 2) - (save-excursion - (forward-char -2) - (looking-at (concat "[" CJK-space - (regexp-quote TeX-esc) "]")))) - ?\ ) - (t - (delete-backward-char 1) - CJK-space))) - (insert (cond ((bobp) - ?\ ) - ((= (preceding-char) (string-to-char TeX-esc)) - ?\ ) - ((= (preceding-char) ?\ ) - ?\ ) - ((and (> (point) 2) - (save-excursion - (forward-char -2) - (looking-at (concat (regexp-quote TeX-esc) - CJK-space)))) - CJK-space) - ((= (preceding-char) (string-to-char CJK-space)) - (delete-backward-char 1) - ?\ ) - (t - CJK-space)))))) - -;;; EOF diff --git a/language/chinese/CJK/cjk-4.8.4/utils/lisp/cjktilde.el b/language/chinese/CJK/cjk-4.8.4/utils/lisp/cjktilde.el deleted file mode 100644 index 1d075fc688..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/lisp/cjktilde.el +++ /dev/null @@ -1,111 +0,0 @@ -;;; cjktilde.el -- minor mode exchanging `~' and ` ' keys. - -;; Copyright (C) 1994-2015 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 - -;; This file is part of the CJK package Version 4.8.4 (18-Apr-2015) - -;; Function `cjk-tilde-mode' activates a minor mode (`cjk-tilde-minor-mode') -;; which exchanges the tilde key with the space key. This is useful for -;; writing Chinese or Japanese with the CJK macro package for LaTeX 2e which -;; redefines the `~' command to insert a shibuaki space (see documentation -;; of the \CJKtilde macro for further details). - -;;; Code: - -(provide 'cjktilde) - - -(defvar cjk-tilde-minor-mode nil - - "*Non-nil enables CJK tilde mode. -Setting this variable makes it local to the current buffer. -See `cjk-tilde-mode' for details.") - -(make-variable-buffer-local 'cjk-tilde-minor-mode) - - -;; the following two functions do the exchange. -(defun electric-cjk-tilde (arg) - - "insert space if tilde key is pressed provided cjk-tilde-minor-mode is -activated." - - (if cjk-tilde-minor-mode - (char-to-string ?\ ) - (char-to-string ?\~) - ) -) - - -(defun electric-cjk-space (arg) - - "insert tilde if space key is pressed provided cjk-tilde-minor-mode is -activated." - - (if cjk-tilde-minor-mode - (char-to-string ?\~) - (char-to-string ?\ ) - ) -) - - -(or key-translation-map (setq key-translation-map (make-sparse-keymap))) - -(define-key key-translation-map " " 'electric-cjk-space) -(define-key key-translation-map "~" 'electric-cjk-tilde) - - -;; we indicate the minor mode in the mode line. -(or (assq 'cjk-tilde-minor-mode minor-mode-map-alist) - (setq minor-mode-alist - (append minor-mode-alist - '((cjk-tilde-minor-mode " ~")) - ) - ) -) - -;;;###autoload -(defun cjk-tilde-mode (&optional arg) - - "Toggle CJK tilde mode. If enabled, a tilde character will be inserted if -the space key is pressed and vice versa. - -Use with caution! This minor mode makes only sense for CJK environments -after insertion of the \\CJKtilde command. See the documentation of the -CJK package for further details. - -With an argument, a positive argument enables CJK tilde mode, -and a negative argument disables it." - - (interactive "P") - - (if (if arg - ;; negative arg: switch off - (<= (prefix-numeric-value arg) 0) - ;; no arg: toggle - cjk-tilde-minor-mode) - (setq cjk-tilde-minor-mode nil) - - ;; positive arg: switch on - (setq cjk-tilde-minor-mode t) - ) - (force-mode-line-update) -) - - -;;; end of cjktilde.el diff --git a/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/cjk-enc.el b/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/cjk-enc.el deleted file mode 100644 index da2052eb56..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/cjk-enc.el +++ /dev/null @@ -1,1162 +0,0 @@ -;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package - -;; Copyright (C) 1996-2000 Electrotechnical Laboratory, JAPAN. - -;; Author: Kenichi HANDA -;; Werner LEMBERG -;; Hin-Tak Leung - -;; Keywords: CJK package, LaTeX2e, emacs, xemacs - -;; 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, 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 GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -;; -;; CJK Version 4.8.4 (18-Apr-2015) -;; - -;;; Code - -;; This file will work with both Emacs (>=20.3) and XEmacs (>=21). In -;; the following `Emacs' is used for both Emacs and XEmacs except where -;; it differs. - -;; XXX: Thai stuff not yet ported to XEmacs. I don't know whether it -;; makes sense currently to support it because the Thai implementation -;; in XEmacs (version 21.1 and probably the upcoming 21.2) is not -;; complete: For example, there is no correct display handling of IR -;; 166 (this is the right part of TIS-620) in an ISO-2022 data stream, -;; decomposition of precomposed Thai (in xtis character set) doesn't -;; provide linguistic properties, etc. - -;; The following tables map from Emacs's character sets to LaTeX2e -;; macros. Note that not all macros defined here really do exist. See -;; MULEenc.sty and cjk-enc.txt for further details. -;; -;; MULEenc.sty makes TeX character 0x7F `active' and assigns to it a -;; multiplex command which executes its first argument. To make the -;; macro expansion robust against \uppercase and \lowercase, only -;; numbers are used as parameters which index the various commands. -;; -;; 0x7F will be used as a parameter delimiting character also. -;; -(defconst cjk-latin-1 - [;0xa0 - "99\177" "1\177" "2\177" "3\177" - "4\177" "5\177" "6\177" "7\177" - "8\177\\ " "9\177" "10\177" "11\177" - "12\177" "0\177-{}" "14\177" "15\177\\ " - - ; 0xb0 - "16\177" "17\177" "18\177" "19\177" - "20\177\\ " "21\177" "22\177" "23\177" - "24\177\\ " "25\177" "26\177" "27\177" - "28\177" "29\177" "30\177" "31\177" - - ; 0xc0 - "32\177A" "20\177A" "33\177A" "34\177A" - "8\177A" "0\177\\AA" "0\177\\AE" "24\177C" - "32\177E" "20\177E" "33\177E" "8\177E" - "32\177I" "20\177I" "33\177I" "8\177I" - - ; 0xd0 - "0\177\\DJ" "34\177N" "32\177O" "20\177O" - "33\177O" "34\177O" "8\177O" "38\177" - "0\177\\O" "32\177U" "20\177U" "33\177U" - "8\177U" "20\177Y" "0\177\\TH" "0\177\\ss" - - ; 0xe0 - "32\177a" "20\177a" "33\177a" "34\177a" - "8\177a" "0\177\\aa" "0\177\\ae" "24\177c" - "32\177e" "20\177e" "33\177e" "8\177e" - "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" - - ; 0xf0 - "0\177\\dj" "34\177n" "32\177o" "20\177o" - "33\177o" "34\177o" "8\177o" "45\177" - "0\177\\o" "32\177u" "20\177u" "33\177u" - "8\177u" "20\177y" "0\177\\th" "8\177y" - ]) - -(defconst cjk-latin-2 - [; 0xa0 - "99\177" "48\177A" "49\177\\ " "0\177\\L" - "4\177" "51\177L" "20\177S" "7\177" - "8\177\\ " "51\177S" "24\177S" "51\177T" - "20\177Z" "0\177-{}" "51\177Z" "52\177Z" - - ; 0xb0 - "16\177" "48\177a" "48\177\\ " "0\177\\l" - "20\177\\ " "51\177l" "20\177s" "51\177\\ " - "24\177\\ " "51\177s" "24\177s" "51\177t" - "20\177z" "55\177\\ " "51\177z" "52\177z" - - ; 0xc0 - "20\177R" "20\177A" "33\177A" "49\177A" - "8\177A" "20\177L" "20\177C" "24\177C" - "51\177C" "20\177E" "48\177E" "8\177E" - "51\177E" "20\177I" "33\177I" "51\177D" - - ; 0xd0 - "0\177\\DJ" "20\177N" "51\177N" "20\177O" - "33\177O" "55\177O" "8\177O" "38\177" - "51\177R" "53\177U" "20\177U" "55\177U" - "8\177U" "20\177Y" "24\177T" "0\177\\ss" - - ; 0xe0 - "20\177r" "20\177a" "33\177a" "49\177a" - "8\177a" "20\177l" "20\177c" "24\177c" - "51\177c" "20\177e" "48\177e" "8\177e" - "51\177e" "20\177\\i" "33\177\\i" "51\177d" - - ; 0xf0 - "0\177\\dj" "20\177n" "51\177n" "20\177o" - "33\177o" "55\177o" "8\177o" "45\177" - "51\177r" "53\177u" "20\177u" "55\177u" - "8\177u" "20\177y" "24\177t" "52\177\\ " - ]) - -(defconst cjk-latin-3 - [; 0xa0 - "99\177" "0\177\\TEXTMALTESEH" "49\177\\ " "3\177" - "4\177" "" "33\177H" "7\177" - "8\177\\ " "52\177I" "24\177S" "49\177G" - "33\177J" "0\177-{}" "" "52\177Z" - - ; 0xb0 - "16\177" "0\177\\textmalteseh" "18\177" "19\177" - "20\177\\ " "21\177" "33\177h" "23\177" - "24\177\\ " "0\177\\i" "24\177s" "49\177g" - "33\177\\j" "29\177" "" "52\177z" - - ; 0xc0 - "32\177A" "20\177A" "33\177A" "" - "8\177A" "52\177C" "33\177C" "24\177C" - "32\177E" "20\177E" "33\177E" "8\177E" - "32\177I" "20\177I" "33\177I" "8\177I" - - ; 0xd0 - "" "34\177N" "32\177O" "20\177O" - "33\177O" "52\177G" "8\177O" "38\177" - "33\177G" "32\177U" "20\177U" "33\177U" - "8\177U" "49\177U" "33\177S" "0\177\\ss" - - ; 0xe0 - "32\177a" "20\177a" "33\177a" "" - "8\177a" "52\177c" "33\177c" "24\177c" - "32\177e" "20\177e" "33\177e" "8\177e" - "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" - - ; 0xf0 - "" "34\177n" "32\177o" "20\177o" - "33\177o" "52\177g" "8\177o" "45\177" - "33\177g" "32\177u" "20\177u" "33\177u" - "8\177u" "49\177u" "33\177s" "52\177\\ " - ]) - -(defconst cjk-latin-4 - [; 0xa0 - "99\177" "48\177A" "59\177" "24\177R" - "4\177" "34\177I" "24\177L" "7\177" - "8\177\\ " "51\177S" "15\177E" "24\177G" - "0\177\\TEXTTSTROKE" "0\177-{}" "51\177Z" "15\177\\ " - - ; 0xb0 - "16\177" "48\177a" "48\177\\ " "24\177r" - "20\177\\ " "34\177\\i" "24\177l" "51\177\\ " - "24\177\\ " "51\177s" "15\177e" "24\177g" - "0\177\\texttstroke" "0\177\\NG" "51\177z" "0\177\\ng" - - ; 0xc0 - "15\177A" "20\177A" "33\177A" "34\177A" - "8\177A" "0\177\\AA" "0\177\\AE" "48\177I" - "51\177C" "20\177E" "48\177E" "8\177E" - "52\177E" "20\177I" "33\177I" "15\177I" - - ; 0xd0 - "0\177\\DJ" "24\177N" "15\177O" "24\177K" - "33\177O" "34\177O" "8\177O" "38\177" - "0\177\\O" "48\177U" "20\177U" "33\177U" - "8\177U" "34\177U" "15\177U" "0\177\\ss" - - ; 0xe0 - "15\177a" "20\177a" "33\177a" "34\177a" - "8\177a" "0\177\\aa" "0\177\\ae" "48\177i" - "51\177c" "20\177e" "48\177e" "8\177e" - "52\177e" "20\177\\i" "33\177\\i" "15\177\\i" - - ; 0xf0 - "0\177\\dj" "24\177n" "15\177o" "24\177k" - "33\177o" "34\177o" "8\177o" "45\177" - "0\177\\o" "48\177u" "20\177u" "33\177u" - "8\177u" "34\177u" "15\177u" "52\177\\ " - ]) - -(defconst cjk-latin-5 ; ISO 8859-9 - [; 0xa0 - "99\177" "1\177" "2\177" "3\177" - "4\177" "5\177" "6\177" "7\177" - "8\177\\ " "9\177" "10\177" "11\177" - "12\177" "0\177-{}" "14\177" "15\177\\ " - - ; 0xb0 - "16\177" "17\177" "18\177" "19\177" - "20\177\\ " "21\177" "22\177" "23\177" - "24\177\\ " "25\177" "26\177" "27\177" - "28\177" "29\177" "30\177" "31\177" - - ; 0xc0 - "32\177A" "20\177A" "33\177A" "34\177A" - "8\177A" "0\177\\AA" "0\177\\AE" "24\177C" - "32\177E" "20\177E" "33\177E" "8\177E" - "32\177I" "20\177I" "33\177I" "8\177I" - - ; 0xd0 - "49\177G" "34\177N" "32\177O" "20\177O" - "33\177O" "34\177O" "8\177O" "38\177" - "0\177\\O" "32\177U" "20\177U" "33\177U" - "8\177U" "52\177I" "24\177S" "0\177\\ss" - - ; 0xe0 - "32\177a" "20\177a" "33\177a" "34\177a" - "8\177a" "0\177\\aa" "0\177\\ae" "24\177c" - "32\177e" "20\177e" "33\177e" "8\177e" - "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" - - ; 0xf0 - "49\177g" "34\177n" "32\177o" "20\177o" - "33\177o" "34\177o" "8\177o" "45\177" - "0\177\\o" "32\177u" "20\177u" "33\177u" - "8\177u" "0\177\\i" "24\177s" "8\177y" - ]) - -(defconst cjk-latin-jisx ; JIS X 0201 lower half - [; 0xa0 - "" "0\177!" "37\177" "0\177\\#" - "39\177" "0\177\\%" "0\177\\&" "40\177" - "0\177(" "0\177)" "0\177*" "0\177+" - "0\177," "0\177-" "0\177." "0\177/" - - ; 0xb0 - "0\1770" "0\1771" "0\1772" "0\1773" - "0\1774" "0\1775" "0\1776" "0\1777" - "0\1778" "0\1779" "0\177:" "0\177;" - "41\177" "0\177=" "42\177" "0\177?" - - ; 0xc0 - "36\177" "0\177A" "0\177B" "0\177C" - "0\177D" "0\177E" "0\177F" "0\177G" - "0\177H" "0\177I" "0\177J" "0\177K" - "0\177L" "0\177M" "0\177N" "0\177O" - - ; 0xd0 - "0\177P" "0\177Q" "0\177R" "0\177S" - "0\177T" "0\177U" "0\177V" "0\177W" - "0\177X" "0\177Y" "0\177Z" "0\177[" - "5\177" "0\177]" "43\177" "44\177" - - ; 0xe0 - "46\177" "0\177a" "0\177b" "0\177c" - "0\177d" "0\177e" "0\177f" "0\177g" - "0\177h" "0\177i" "0\177j" "0\177k" - "0\177l" "0\177m" "0\177n" "0\177o" - - ; 0xf0 - "0\177p" "0\177q" "0\177r" "0\177s" - "0\177t" "0\177u" "0\177v" "0\177w" - "0\177x" "0\177y" "0\177z" "47\177" - "50\177" "54\177" "56\177" "" - ]) - -(defconst cjk-cyrillic ; ISO 8859-5 - [; 0xa0 - "99\177" "0\177\\CYRYO" "0\177\\CYRDJE" "20\177\\CYRG" - "0\177\\CYRIE" "0\177\\CYRDZE" "0\177\\CYRII" "0\177\\CYRYI" - "0\177\\CYRJE" "0\177\\CYRLJE" "0\177\\CYRNJE" "0\177\\CYRTSHE" - "20\177\\CYRK" "0\177-{}" "0\177\\CYRUSHRT" "0\177\\CYRDZHE" - - ; 0xb0 - "0\177\\CYRA" "0\177\\CYRB" "0\177\\CYRV" "0\177\\CYRG" - "0\177\\CYRD" "0\177\\CYRE" "0\177\\CYRZH" "0\177\\CYRZ" - "0\177\\CYRI" "0\177\\CYRISHRT" "0\177\\CYRK" "0\177\\CYRL" - "0\177\\CYRM" "0\177\\CYRN" "0\177\\CYRO" "0\177\\CYRP" - - ; 0xc0 - "0\177\\CYRR" "0\177\\CYRS" "0\177\\CYRT" "0\177\\CYRU" - "0\177\\CYRF" "0\177\\CYRH" "0\177\\CYRC" "0\177\\CYRCH" - "0\177\\CYRSH" "0\177\\CYRSHCH" "0\177\\CYRHRDSN" "0\177\\CYRERY" - "0\177\\CYRSFTSN" "0\177\\CYREREV" "0\177\\CYRYU" "0\177\\CYRYA" - - ; 0xd0 - "0\177\\cyra" "0\177\\cyrb" "0\177\\cyrv" "0\177\\cyrg" - "0\177\\cyrd" "0\177\\cyre" "0\177\\cyrzh" "0\177\\cyrz" - "0\177\\cyri" "0\177\\cyrishrt" "0\177\\cyrk" "0\177\\cyrl" - "0\177\\cyrm" "0\177\\cyrn" "0\177\\cyro" "0\177\\cyrp" - - ; 0xe0 - "0\177\\cyrr" "0\177\\cyrs" "0\177\\cyrt" "0\177\\cyru" - "0\177\\cyrf" "0\177\\cyrh" "0\177\\cyrc" "0\177\\cyrch" - "0\177\\cyrsh" "0\177\\cyrshch" "0\177\\cyrhrdsn" "0\177\\cyrery" - "0\177\\cyrsftsn" "0\177\\cyrerev" "0\177\\cyryu" "0\177\\cyrya" - - ; 0xf0 - "35\177" "0\177\\cyryo" "0\177\\cyrdje" "20\177\\cyrg" - "0\177\\cyrie" "0\177\\cyrdze" "0\177\\cyrii" "0\177\\cyryi" - "0\177\\cyrje" "0\177\\cyrlje" "0\177\\cyrnje" "0\177\\cyrtshe" - "20\177\\cyrk" "7\177" "0\177\\cyrushrt" "0\177\\cyrdzhe" - ]) - -(defconst cjk-greek ; ISO 8859-7 - [;0xa0 - "99\177" "0\177<{}" "0\177>{}" "3\177" - "" "" "6\177" "7\177" - "8\177\\ " "9\177" "" "0\177((" - "12\177" "0\177-{}" "" "0\177---" - - ; 0xb0 - "16\177" "17\177" "18\177" "19\177" - "0\177'{}" "0\177\"'{}" "0\177'A" "0\177;" - "0\177'E" "0\177'H" "0\177'I" "0\177))" - "0\177'O" "29\177" "0\177'U" "0\177'W" - - ; 0xc0 - "0\177\"'i" "0\177A" "0\177B" "0\177G" - "0\177D" "0\177E" "0\177Z" "0\177H" - "0\177J" "0\177I" "0\177K" "0\177L" - "0\177M" "0\177N" "0\177X" "0\177O" - - ; 0xd0 - "0\177P" "0\177R" "" "0\177S" - "0\177T" "0\177U" "0\177F" "0\177Q" - "0\177Y" "0\177W" "0\177\"I" "0\177\"U" - "0\177'a" "0\177'e" "0\177'h" "0\177'i" - - ; 0xe0 - "0\177\"'u" "0\177a" "0\177b" "0\177g" - "0\177d" "0\177e" "0\177z" "0\177h" - "0\177j" "0\177i" "0\177k" "0\177l" - "0\177m" "0\177n" "0\177x" "0\177o" - - ; 0xf0 - "0\177p" "0\177r" "0\177c" "0\177s" - "0\177t" "0\177u" "0\177f" "0\177q" - "0\177y" "0\177w" "0\177\"i" "0\177\"u" - "0\177'o" "0\177'u" "0\177'w" "" - ]) - -(defconst cjk-viscii-lower - [; 0xA0 - "" "20\177\\abreve" "32\177\\abreve" "71\177\\abreve" - "20\177\\acircumflex" "32\177\\acircumflex" "73\177\\acircumflex" "71\177\\acircumflex" - "34\177e" "71\177e" "20\177\\ecircumflex" "32\177\\ecircumflex" - "73\177\\ecircumflex" "34\177\\ecircumflex" "71\177\\ecircumflex" "20\177\\ocircumflex" - - ; 0xB0 - "32\177\\ocircumflex" "73\177\\ocircumflex" "34\177\\ocircumflex" "" - "" "71\177\\ocircumflex" "32\177\\ohorn" "73\177\\ohorn" - "71\177i" "" "" "" - "" "0\177\\ohorn" "20\177\\ohorn" "" - - ; 0xC0 - "" "" "" "" - "" "" "73\177\\abreve" "34\177\\abreve" - "" "" "" "" - "" "" "" "32\177y" - - ; 0xD0 - "" "20\177\\uhorn" "" "" - "" "71\177a" "73\177y" "32\177\\uhorn" - "73\177\\uhorn" "" "" "34\177y" - "71\177y" "" "34\177\\ohorn" "0\177\\uhorn" - - ; 0xE0 - "32\177a" "20\177a" "0\177\\acircumflex" "34\177a" - "73\177a" "0\177\\abreve" "34\177\\uhorn" "34\177\\acircumflex" - "32\177e" "20\177e" "0\177\\ecircumflex" "73\177e" - "32\177i" "20\177i" "34\177i" "73\177i" - - ; 0xF0 - "0\177\\dj" "71\177\\uhorn" "32\177o" "20\177o" - "0\177\\ocircumflex" "34\177o" "73\177o" "71\177o" - "71\177u" "32\177u" "20\177u" "34\177u" - "73\177u" "20\177y" "71\177\\ohorn" "" - ]) - -(defconst cjk-viscii-upper - [; 0xA0 - "" "20\177\\ABREVE" "32\177\\ABREVE" "71\177\\ABREVE" - "20\177\\ACIRCUMFLEX" "32\177\\ACIRCUMFLEX" "73\177\\ACIRCUMFLEX" "71\177\\ACIRCUMFLEX" - "34\177E" "71\177E" "20\177\\ECIRCUMFLEX" "32\177\\ECIRCUMFLEX" - "73\177\\ECIRCUMFLEX" "34\177\\ECIRCUMFLEX" "71\177\\ECIRCUMFLEX" "20\177\\OCIRCUMFLEX" - - ; 0xB0 - "32\177\\OCIRCUMFLEX" "73\177\\OCIRCUMFLEX" "34\177\\OCIRCUMFLEX" "" - "" "71\177\\OCIRCUMFLEX" "32\177\\OHORN" "73\177\\OHORN" - "71\177I" "" "" "" - "" "0\177\\OHORN" "20\177\\OHORN" "" - - ; 0xC0 - "" "" "" "" - "" "" "73\177\\ABREVE" "34\177\\ABREVE" - "" "" "" "" - "" "" "" "32\177Y" - - ; 0xD0 - "" "20\177\\UHORN" "" "" - "" "71\177A" "73\177Y" "32\177\\UHORN" - "73\177\\UHORN" "" "" "34\177Y" - "71\177Y" "" "34\177\\OHORN" "0\177\\UHORN" - - ; 0xE0 - "32\177A" "20\177A" "0\177\\ACIRCUMFLEX" "34\177A" - "73\177A" "0\177\\ABREVE" "34\177\\UHORN" "34\177\\ACIRCUMFLEX" - "32\177E" "20\177E" "0\177\\ECIRCUMFLEX" "73\177E" - "32\177I" "20\177I" "34\177I" "73\177I" - - ; 0xF0 - "0\177\\DJ" "71\177\\UHORN" "32\177O" "20\177O" - "0\177\\OCIRCUMFLEX" "34\177O" "73\177O" "71\177O" - "71\177U" "32\177U" "20\177U" "34\177U" - "73\177U" "20\177Y" "71\177\\OHORN" "" - ]) - - -;; The following encodings will be selected (if they occur in the input -;; buffer) at the very beginning of the output buffer to load the -;; corresponding CJK macros. -;; -(defconst cjk-enc-table - '((chinese-gb2312 . GB) - (katakana-jisx0201 . SJIS) - (japanese-jisx0208 . JIS) - (japanese-jisx0212 . JIS2) - (korean-ksc5601 . KS) - (chinese-big5-1 . Bg5) - (chinese-big5-2 . Bg5) - (chinese-cns11643-1 . CNS1) - (chinese-cns11643-2 . CNS2) - (chinese-cns11643-3 . CNS3) - (chinese-cns11643-4 . CNS4) - (chinese-cns11643-5 . CNS5) - (chinese-cns11643-6 . CNS6) - (chinese-cns11643-7 . CNS7))) - - -;; MULEenc's versions of \CJKspace and \CJKnospace -;; -(defconst cjk-space "\17764\177\177") -(defconst cjk-nospace "\17765\177\177") - -;; MULEenc's command to insert a word break. -;; -(defconst cjk-word-break "\17761\177\177") - - -;; Here we have the format specification table which defines what to do -;; for each encoding. -;; -;; Later in the code we check to which group of commands the encoding -;; belongs. This is done by testing how the encoding and its data is -;; stored, e.g. whether it is a vector, or a cons cell, etc. -;; -(defconst cjk-format-spec-table - `( - ;; Cdr part is a vector VEC. Each character is formatted as: - ;; - ;; (format "\177%s\177" (aref VEC (- char-position-code-1 32))) - ;; - (latin-iso8859-1 . ,cjk-latin-1) - (latin-iso8859-2 . ,cjk-latin-2) - (latin-iso8859-3 . ,cjk-latin-3) - (latin-iso8859-4 . ,cjk-latin-4) - (latin-iso8859-9 . ,cjk-latin-5) - (latin-jisx0201 . ,cjk-latin-jisx) - ;; T2A encoding is used for Cyrillic letters. You must explicitly - ;; switch between T2 and T1/OT1 encoding. - (cyrillic-iso8859-5 . ,cjk-cyrillic) - ;; LGR encoding (resp. its ligatures) is used for Greek letters. - ;; You must explicitly switch between LGR and T1/OT1 encoding (using - ;; e.g. Babel's `greek' option). - (greek-iso8859-7 . ,cjk-greek) - ;; For Vietnamese a Vietnamese TeX-font has to be used which - ;; contains ASCII characters too! You must explicitly switch - ;; between Vietnamese T5 and T1/OT1 encoding. - (vietnamese-viscii-lower . ,cjk-viscii-lower) - (vietnamese-viscii-upper . ,cjk-viscii-upper) - - ;; Cdr part is a cons of header HEAD and formatter FORMAT. HEAD is - ;; printed first, then each character is formatted as: - ;; - ;; (format FORMAT char-code-1 [char-code-2]) - ;; - (katakana-jisx0201 . ("\17770\177\177" . "\177%c\177\177")) - (japanese-jisx0208 . ("\17766\177\177" . "\177%c\177%d\177")) - (chinese-gb2312 . ("\17767\177\177" . "\177%c\177%d\177")) - (chinese-big5-1 . ("\17768\177\177" . "\177%c\177%d\177")) - (chinese-big5-2 . ("\17768\177\177" . "\177%c\177%d\177")) - (korean-ksc5601 . ("\17769\177\177" . "\177%c\177%d\177")) - - ;; Cdr part is a formatter string FORMAT. Each character is - ;; formatted as: - ;; - ;; (format FORMAT char-code-1 char-code-2) - ;; - (japanese-jisx0212 . "\17772\177JIS2\177\177%d\177%d\177") - (chinese-cns11643-1 . "\17772\177CNS1\177\177%d\177%d\177") - (chinese-cns11643-2 . "\17772\177CNS2\177\177%d\177%d\177") - (chinese-cns11643-3 . "\17772\177CNS3\177\177%d\177%d\177") - (chinese-cns11643-4 . "\17772\177CNS4\177\177%d\177%d\177") - (chinese-cns11643-5 . "\17772\177CNS5\177\177%d\177%d\177") - (chinese-cns11643-6 . "\17772\177CNS6\177\177%d\177%d\177") - (chinese-cns11643-7 . "\17772\177CNS7\177\177%d\177%d\177") - - ;; Cdr part is a list of the form (SYMBOL ARG1 ARG2 ...). SYMBOL - ;; indicates how to process the following characters. - ;; - (thai-tis620 . (thai - "\17757\177\177" ; Thai start - "\17758\177\177" ; Thai end - "\17762\177%d\177" ; Thai base character - "\17760\177%d\177" ; Thai upper/lower vowel and tone - "\17763\177\177" ; Thai EOL - )) - )) - - -;; An alist of charsets vs list of features required for processing -;; the corresponding charset. The feature is loaded then on demand. -;; -(defconst cjk-feature-table - '((thai-tis620 thai-word))) - - -;; Create an output encoding called `cjk-coding', using the function -;; cjk-encode to actually convert the output. -;; -(if (featurep 'xemacs) - (make-coding-system - 'cjk-coding 'no-conversion - "Coding-system for LaTeX2e CJK Package" - '(mnemonic "CJK" - pre-write-conversion cjk-encode)) - (if (< emacs-major-version 23) - (make-coding-system - 'cjk-coding 0 ?c - "Coding-system for LaTeX2e CJK Package" - nil - '((pre-write-conversion . cjk-encode))) - (define-coding-system - 'cjk-coding - "Coding-system for LaTeX2e CJK Package" - :mnemonic ?c - :coding-type 'emacs-mule - :default-char ? - :charset-list '(ascii - latin-iso8859-1 - latin-iso8859-2 - latin-iso8859-3 - latin-iso8859-4 - cyrillic-iso8859-5 - greek-iso8859-7 - thai-tis620 - vietnamese-viscii-lower - vietnamese-viscii-upper - latin-jisx0201 - katakana-jisx0201 - japanese-jisx0208 - japanese-jisx0212 - korean-ksc5601 - chinese-gb2312 - chinese-big5-1 - chinese-big5-2 - chinese-cns11643-1 - chinese-cns11643-2 - chinese-cns11643-3 - chinese-cns11643-4 - chinese-cns11643-5 - chinese-cns11643-6 - chinese-cns11643-7) - :pre-write-conversion 'cjk-encode))) - -;; XEmacs doesn't have set-buffer-multibyte. -;; -(defmacro cjk-set-buffer-multibyte (arg) - (if (fboundp 'set-buffer-multibyte) - `(set-buffer-multibyte ,arg))) - - -;; The conversion routine. Its main idea is to analyze the character -;; set for each character and then to do something if the previous -;; character has a different character set. For Thai, we must -;; additionally find proper word breaks using a large word list. -;; -(defun cjk-encode (from to) - (let ((old-buf (current-buffer)) - (temp-buf (get-buffer-create " *cjk-tmp*")) - (work-buf (get-buffer-create " *cjk-work*")) - (required-features (copy-sequence cjk-feature-table))) - ;; Initialize all working buffers. - (set-buffer work-buf) - (erase-buffer) - (cjk-set-buffer-multibyte nil) - - (set-buffer temp-buf) - (erase-buffer) - (cjk-set-buffer-multibyte t) - - ;; Copy the original contents into TEMP-BUF. - (insert-buffer-substring old-buf from to) - (if (and (not (featurep 'xemacs)) - (string< emacs-version "21.0")) - (progn - (message "Decomposing...") - (decompose-region (point-min) (point-max)))) - - (let ((enc nil) - (space-state nil) - prev-charset charset - ch ch1 ch2 - format-spec - (skipped-whitespace nil) - (last-pos 0)) - ;; Now we go to beginning of TEMP-BUF and start the loop. - (goto-char (point-min)) - (setq prev-charset 'ascii) - - (while (not (eobp)) - ;; In emacs 23+, the `charset' property holds the original - ;; encoding value; in emacs 22 and earlier, we get `nil'. - (setq tpch (get-text-property (point) 'charset)) - (setq ch (following-char)) - (set-buffer work-buf) - - ;; Set CHARSET to the character set of the current character. - ;; Use text property in preference to `char-charset'. - (if (not (eq tpch nil)) - (setq charset tpch) - (setq charset (char-charset ch))) - - ;; Avoid `tis620-2533' (new with emacs 23+); we replace it with - ;; Thai and ASCII (as a new optional argument to - ;; `char-charset'. - (if (eq charset 'tis620-2533) - (setq charset (char-charset ch '(thai-tis620 ascii)))) - - ;; Check whether we have Unicode based input. - (if (eq charset 'unicode) - (let ((l (split-char ch))) - (progn - ;; Unicode 0x0E00-0x0E7F is Thai. Transform back to TIS620 - (setq ch2 (nth 2 l) - ch3 (nth 3 l)) - (if (and (eq ch2 14) (< ch3 128)) - (setq charset 'thai-tis620 - ch (encode-char ch 'thai-tis620)))))) - - ;; `split-char' in emacs 23+ is sensitive to charset priority. - (cond ((> emacs-major-version 22) - (if (not (eq charset 'ascii)) - (set-charset-priority charset)))) - - (if (eq charset 'ascii) - ;; Not a multibyte character. - (progn - ;; Don't modify PREV-CHARSET for whitespace characters. - (setq skipped-whitespace (string-match "[ \t\n]" - (string ch))) - (if (not skipped-whitespace) - (setq prev-charset 'ascii)) - (insert ch)) - - ;; Now we are at a multibyte character. Set the following - ;; variables: - ;; - ;; CH1 -- first character code - ;; CH2 -- second character code (of two-byte characters) - ;; if any - (if (or (eq charset 'chinese-big5-1) - (eq charset 'chinese-big5-2)) - ;; Emacs uses two special character sets for Big5 - ;; characters. We must decode the current character to - ;; get the real Big5 character code. - (progn - (setq ch (encode-big5-char ch)) - (if (consp ch) - ;; XEmacs - (setq ch1 (car ch) - ch2 (cdr ch)) - ;; Emacs - (setq ch1 (lsh ch -8) - ch2 (logand ch 255))) - ;; 128 will be later added again. - (setq ch1 (- ch1 128)) - (setq ch2 (- ch2 128))) - ;; For all other character sets, split-char does the right - ;; thing. Note that CH2 can be zero in case it is a - ;; single-byte character set. - (let ((l (split-char ch))) - (setq ch1 (nth 1 l) - ch2 (or (nth 2 l) 0)))) - - ;; FORMAT-SPEC tells how to encode this character. - (setq format-spec (cdr (assq charset cjk-format-spec-table))) - (if (null format-spec) - ;; Unsupported character set. Do nothing. - nil - ;; Ok, it is supported. If this character set is a CJK - ;; character set (i.e., it is in CJK-ENC-TABLE), we need a - ;; special header at the beginning of the output file. - ;; This information is stored in the ENC list. - (let ((tag (cdr (assq charset cjk-enc-table)))) - (if tag - (or (memq tag enc) - (setq enc (cons tag enc))))) - - ;; Load all features which are required to handle this - ;; character set. - (let ((tail (assq charset required-features))) - ;; We remove all occurrences of TAIL in the feature list - ;; to avoid loading packages multiple times. - (setq required-features (delete tail required-features) - tail (cdr tail)) - (while tail - (require (car tail)) - (setq tail (cdr tail)))) - - (cond - ;; If FORMAT-SPEC has the form (SYMBOL ARG1 ARG2 ...), - ;; SYMBOL indicates how to process the following - ;; characters. - ((and (consp format-spec) (symbolp (car format-spec))) - (cond - ((eq (car format-spec) 'thai) - ;; FORMAT-SPEC has this form: - ;; (thai START-STRING END-STRING - ;; BASE-CHAR-FORMAT COMBINING-CHAR-FORMAT - ;; EOL-STRING) - (let ((base-format (nth 3 format-spec)) - (combining-format (nth 4 format-spec)) - pos - start - end - str - len - (i 0)) - ;; First, insert the code for starting Thai. - (if (not (eq prev-charset charset)) - (insert (nth 1 format-spec))) - ;; Analyze the maximum run of Thai characters in - ;; TEMP-BUF and insert `|' at all word boundaries. - (set-buffer temp-buf) - (setq start (point)) - ;; "\\ct+" searches for characters which have the - ;; category `t', i.e. are Thai characters. - (re-search-forward "\\ct+" nil t) - (setq end (point-marker)) - (goto-char start) - (thai-break-words "|" end) - ;; Extract this run. - (setq str (buffer-substring start end) - len (length str)) - (goto-char end) - (set-marker end nil) - ;; Insert characters in STR one by one while - ;; converting `|' to `cjk-word-break' and formatting - ;; Thai characters according to FORMAT-SPEC. - (set-buffer work-buf) - (while (< i len) - (setq ch (aref str i) - i (1+ i)) - (if (= ch ?|) - (insert cjk-word-break) - (let* ((split (split-char ch)) - (category-set (char-category-set ch))) - ;; We now analyze the linguistic category - ;; assigned to the current character and take - ;; the appropriate format. Then we add 128 - ;; for producing TIS-620 output. - (insert (format - (if (or (aref category-set ?2) - (aref category-set ?3) - (aref category-set ?4)) - combining-format - base-format) - (+ (nth 1 split) 128)))))) - ;; It depends on the following characters what to do - ;; next. If we have tabs and spaces followed by a - ;; Thai character, nothing will be done. If we have - ;; a newline character additionally, we insert a - ;; special command which usually expands to - ;; `\ignorespaces' (which will suppress all - ;; whitespace characters). In all other cases, we - ;; close the Thai block. - ;; - ;; Reason for this algorithm is the fact that in the - ;; Thai language a space isn't used to separate - ;; words but to structure a sentence. A normal line - ;; break shall not automatically cause the insertion - ;; of a space. The user has rather to explicitly - ;; type one or more space characters in the middle - ;; of a line to indicate that he or she really wants - ;; a space -- note that usually a Thai space is - ;; wider than a Roman space resp. can be stretched - ;; more. - (set-buffer temp-buf) - (if (looking-at "[ \t]+\\ct") - (setq str "") - (if (looking-at "[ \t]*\n[ \t]*\\ct") - (setq str (nth 5 format-spec)) - (setq str (nth 2 format-spec)))) - ;; To compensate the forward-char at the end of loop. - (forward-char -1) - (set-buffer work-buf) - (insert str))))) - - ;; We may have to insert the car part of the cons and/or - ;; space controlling commands (cjk-space/cjk-nospace) - ;; depending on the current context. - ;; - ;; Note that this logic sometimes fails. In the example - ;; below, cjk-encode will insert \CJKspace in the comment - ;; instead of right after the comment. Since cjk-encode - ;; should be a low-level function we can't assume that - ;; `%' is always the TeX comment character. Only TeX - ;; itself can reliably detect the current comment - ;; character. - ;; - ;; Chinese Text - ;; % Korean comment - ;; Korean Text - ;; - ;; Two solutions: Either switch between Korean and other - ;; languages only outside of a comment, or manually insert - ;; \CJKspace and \CJKnospace commands as needed. - ((consp format-spec) - (if (eq charset 'korean-ksc5601) - (or (eq space-state cjk-space) - (insert (setq space-state cjk-space))) - (or (eq space-state cjk-nospace) - (insert (setq space-state cjk-nospace)))) - - ;; Now insert the the header and character(s) - ;; according to CJK-FORMAT-SPEC-TABLE. The CJK - ;; package needs the characters in GR notation, so - ;; we add 0x80. - (if (not (eq prev-charset charset)) - (insert (car format-spec))) - (insert (format (cdr format-spec) - (+ ch1 128) (+ ch2 128)))) - - ;; Since Emacs provides the character sets in GL - ;; notation, we simply subtract 0x20 to get the proper - ;; index. - ((vectorp format-spec) - (insert (format "\177%s\177" - (aref format-spec (- ch1 32))))) - - ;; Otherwise, FORMAT-SPEC is just a formatting - ;; string. - (t - (insert (format format-spec ch1 ch2))))) - - (setq prev-charset charset)) - - ;; We have finished the analysis of the character set. Print - ;; some progress information if we have done another 1000 - ;; characters. - (set-buffer temp-buf) - (if (> (- (point) last-pos) 1000) - (progn - (setq last-pos (point)) - (message "Converting: %2d%%" - (/ (* 100 (point)) (point-max))))) - - ;; Advance to the next character and loop. - (forward-char 1)) - - ;; The remaining task is to insert an appropriate header at the - ;; very beginning of the output file. If ENC isn't empty, we need - ;; the extra LaTeX commands to load CJK package and to output all - ;; collected CJK encodings. - (set-buffer work-buf) - (goto-char (point-min)) - (if enc - (progn - (insert "\\def\\CJKhook{") - (while enc - (insert (format "\\CJKenc{%s}" (car enc))) - (setq enc (cdr enc))) - (insert "}") - (insert "\\ifx\\CJKpreproc\\undefined") - (insert "\\def\\CJKpreproc{cjk-enc}") - (insert "\\RequirePackage[global]{CJK}") - (insert "\\AtBeginDocument{\\begin{CJK}{}{}\\CJKspace}") - (insert "\\AtEndDocument{\\end{CJK}}") - (insert "\\else\\CJKhook\\fi ")) - (insert "\\ifx\\CJKpreproc\\undefined") - (insert "\\def\\CJKpreproc{cjk-enc}") - (insert "\\RequirePackage{MULEenc}") - (insert "\\fi "))))) - - -(defun cjk-get-name (filename) - "Replace the extension of the file name with `.cjk'. -If the extension of FILENAME is `.bib', `-cjk.bib' will be appended -to the file name without extension." - - (concat (file-name-sans-extension filename) - (if (string-equal (file-name-extension filename) "bib") - "-cjk.bib" - ".cjk"))) - - -(defun cjk-write-file () - "Save current buffer and .cjk in cjk-coding. -Files of the form .bib are saved as -cjk.bib. - -If no file is associated with the buffer, you are asked to specify a -file name." - - (interactive) - (save-buffer) - (let* ((bufname (buffer-file-name)) - (newbufname (cjk-get-name bufname))) - (message "Saving %s and %s" bufname newbufname) - (let ((coding-system-for-write 'cjk-coding)) - (write-region (point-min) (point-max) newbufname)))) - - -(defun cjk-file-write-file (filename &optional load) - "Save FILENAME as .cjk in cjk-coding. -With prefix arg (noninteractively: 2nd arg LOAD), load FILENAME into -current buffer also." - - (interactive - (let ((file buffer-file-name) - (file-name nil) - (file-dir nil)) - (and file - ;; If we are in LaTeX mode, we present the file associated - ;; with the current buffer as the default. - (eq (cdr (assq 'major-mode (buffer-local-variables))) - 'latex-mode) - (setq file-name (file-name-nondirectory file) - file-dir (file-name-directory file))) - ;; Now we build the argument list. - (list (read-file-name (if current-prefix-arg - "Load file and save it in cjk-coding: " - "Save file in cjk-coding: ") - file-dir file-name nil) - current-prefix-arg))) - - (setq filename (expand-file-name filename)) - - (let (input-buffer - (new-filename (cjk-get-name filename))) - (save-excursion - (setq input-buffer (get-buffer-create " *cjk-temp*")) - (set-buffer input-buffer) - (erase-buffer) - (cjk-set-buffer-multibyte t) - (insert-file-contents filename) - (let ((coding-system-for-write 'cjk-coding)) - (write-region (point-min) (point-max) new-filename)))) - - (if load - (find-file filename))) - - -;; To be independent from AUC TeX, we copy the TeX-in-comment function. - -(defvar cjk-tex-esc "\\" - "The TeX escape character.") - - -(defconst cjk-comment-start-skip (concat "\\(\\(^\\|[^\\]\\)\\(" - (regexp-quote cjk-tex-esc) - (regexp-quote cjk-tex-esc) - "\\)*\\)\\(%+ *\\)") - "A regexp to identify the beginning of a comment in TeX.") - - -(defun cjk-tex-in-comment () - "Return non-nil if point is in a TeX comment." - - (if (or (bolp) - (eq (preceding-char) ?\r)) - nil - (save-excursion - (let ((pos (point))) - (re-search-backward "^\\|\r" nil t) - (or (looking-at cjk-comment-start-skip) - (re-search-forward cjk-comment-start-skip pos t)))))) - - -(defun cjk-write-all-files (filename &optional load force) - "Save FILENAME and all files included in FILENAME in cjk-coding. -This function runs `cjk-file-write-file' on each file if necessary. -The inclusion commands scanned for are `\\CJKinput', `\\CJKinclude', -and `\\CJKbibliography'. - -With 1 \\[universal-argument] (noninteractively: 2nd arg LOAD), - load FILENAME into current buffer also. -With 2 \\[universal-argument]'s (noninteractively: 3rd arg FORCE), - run `cjk-file-write-file' unconditionally. -With 3 \\[universal-argument]'s, do both." - - (interactive - (let ((file buffer-file-name) - (file-name nil) - (file-dir nil)) - (and file - ;; If we are in LaTeX mode, we present the file associated - ;; with the current buffer as the default. - (eq (cdr (assq 'major-mode (buffer-local-variables))) - 'latex-mode) - (setq file-name (file-name-nondirectory file) - file-dir (file-name-directory file))) - ;; Now we build the argument list. - (setq load (member current-prefix-arg '((4) (64)))) - (setq force (member current-prefix-arg '((16) (64)))) - (list - (read-file-name (if load - "Load file and save it in cjk-coding: " - "Save file in cjk-coding: ") - file-dir file-name nil) - load - force))) - - (let (input-buffer - (dir (file-name-directory filename)) - (tex-include-regexp "\\\\CJKinclude *{\\(.*\\)}") - (tex-input-regexp "\\\\CJKinput *{\\(.*\\)}") - (bib-regexp "\\\\CJKbibliography *{\\(.*\\)}") - (result '()) - (newresult '())) - (save-excursion - ;; First, load the file associated with FILENAME into INPUT-BUFFER - (setq input-buffer (get-buffer-create " *cjk-temp*")) - (set-buffer input-buffer) - (erase-buffer) - (cjk-set-buffer-multibyte t) - (insert-file-contents filename) - (goto-char (point-min)) - - ;; Then, search `\CJKinput', `\CJKinclude', and `\CJKbibliography' and - ;; append the found filenames to the RESULT list. - (while (re-search-forward tex-include-regexp nil t) - ;; We assume that the include file name is well behaved and - ;; doesn't contain a comment character. - (let ((match (match-string 1))) - (if (not (cjk-tex-in-comment)) - (setq result (cons (concat match ".tex") result))))) - (while (re-search-forward tex-input-regexp nil t) - (let ((match (match-string 1))) - (if (not (cjk-tex-in-comment)) - (if (string-equal (file-name-sans-extension match) match) - (setq result (cons (concat match ".tex") result)) - (setq result (cons match result)))))) - (while (re-search-forward bib-regexp nil t) - (let ((match (match-string 1))) - (if (not (cjk-tex-in-comment)) - (setq result (cons (concat match ".bib") result)))))) - - ;; Add directory to each element. - (dolist (elt result) - (setq newresult (cons (concat dir elt) newresult))) - - ;; Add the master file itself to the list. - (setq newresult (cons filename newresult)) - - ;; Process file by file. - (dolist (source newresult) - (if (not (file-readable-p source)) - (message "Can't operate on %s" source) - (if (or (file-newer-than-file-p source (cjk-get-name source)) - force) - (cjk-file-write-file source))))) - - (if load - (find-file filename))) - - -(defun batch-cjk-write-file () - "Run `cjk-file-write-file' on the remaining files if necessary. -Use this from the command line, with `--batch' (or `-batch'); it won't -work in an interactive Emacs. For example, invoke - - \"emacs -batch -l cjk-enc -f batch-cjk-write-file *.tex\" - -Note that if you specify a directory name, all files in this directory -are processed." - - (do-batch-cjk-write-file)) - - -(defun batch-force-cjk-write-file () - "Run `cjk-file-write-file' on the remaining files unconditionally. -Use this from the command line, with `--batch' (or `-batch'); it won't -work in an interactive Emacs. For example, invoke - - \"emacs -b -l cjk-enc -f batch-force-cjk-write-file *.tex\" - -Note that if you specify a directory name, all files in this directory -are processed. - -This function is useful for Makefiles to let the make program do the -file time management." - - (do-batch-cjk-write-file t)) - - -(defun do-batch-cjk-write-file (&optional force) - "Run `cjk-file-write-file' on remaining arguments. -If optional argument FORCE is non-nil, run it unconditionally." - - (defvar command-line-args-left) ; Avoid `free variable' warning. - - (if (not noninteractive) - (error "`batch-write-cjk-file' is to be used only with --batch")) - - (while command-line-args-left - (let ((source (car command-line-args-left)) - dest) - (if (file-directory-p (expand-file-name source)) - ;; Handle all files in directory. - (let ((files (directory-files source))) - (while files - (if (and (not (auto-save-file-name-p (car files))) - ;; Replace the directory name saved in `source' - ;; with a file name. - (setq source - (expand-file-name (car files) source)) - (setq dest (cjk-get-name source)) - (not (file-directory-p source)) - (or (file-newer-than-file-p source dest) - force)) - (cjk-file-write-file source)) - (setq files (cdr files)))) - ;; Otherwise, process a single file. - (if (not (file-readable-p source)) - (message "Can't operate on %s" source) - (if (or (file-newer-than-file-p source (cjk-get-name source)) - force) - (cjk-file-write-file source))))) - - (setq command-line-args-left (cdr command-line-args-left))) - - (message "Done") - (kill-emacs 0)) - -;;; EOF diff --git a/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/thai-word.el b/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/thai-word.el deleted file mode 100644 index 956cf27b06..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/lisp/emacs/thai-word.el +++ /dev/null @@ -1,11052 +0,0 @@ -;;; thai-word.el -- find Thai word boundaries - -;; Copyright (C) 2000, 2001, 2002, 2003, 2004 -;; Electrotechnical Laboratory, JAPAN. - -;; Author: Kenichi HANDA - -;; Keywords: thai, word break, emacs - -;; 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, 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 GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -;; The used Thai word list has been taken from IBM's ICU4J project -;; (file `thai6.ucs', version 1.4, converted to TIS encoding, with -;; removal of three incorrect entries) to which the following license -;; applies: -;; -;; COPYRIGHT AND PERMISSION NOTICE -;; -;; -;; Copyright (c) 1995-2001 International Business Machines -;; Corporation and others -;; -;; All rights reserved. -;; -;; -;; Permission is hereby granted, free of charge, to any person -;; obtaining a copy of this software and associated documentation -;; files (the "Software"), to deal in the Software without -;; restriction, including without limitation the rights to use, -;; copy, modify, merge, publish, distribute, and/or sell copies of -;; the Software, and to permit persons to whom the Software is -;; furnished to do so, provided that the above copyright notice(s) -;; and this permission notice appear in all copies of the Software -;; and that both the above copyright notice(s) and this permission -;; notice appear in supporting documentation. -;; -;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;; NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE -;; COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE -;; FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -;; OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -;; PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -;; PERFORMANCE OF THIS SOFTWARE. -;; -;; Except as contained in this notice, the name of a copyright -;; holder shall not be used in advertising or otherwise to promote -;; the sale, use or other dealings in this Software without prior -;; written authorization of the copyright holder. - - -;; This file implements an algorithm to find Thai word breaks using a -;; dictionary. It is based on the C program `cttex' written by -;; Vuthichai Ampornaramveth . - - -;; Table of Thai words. It is a nested alist (see `nested-alist-p'), -;; which means that you can easily index the list character by -;; character. - -(defconst thai-word-table nil) - - -;; Set up `thai-word-table'. - -(let - ((l - '("¡¡" - "¡¡Å" - "¡¡Ø¸Àѳ±ì" - "¡§" - "¡§¡ÒÃ" - "¡§ÊØÅ" - "¡§àµê¡" - "¡®" - "¡®ËÁÒÂ" - "¡°Ô¹" - "¡´" - "¡µÑ­ªÅÕ" - "¡µÑ­­ØµÒ" - "¡µÑ­­Ù" - "¡µÒ¸Ô¡ÒÃ" - "¡µÒÀÔ¹ÔËÒÃ" - "¡µÔ¡Ò" - "¡µàÇ·ÔµÒ" - "¡µàÇ·Õ" - "¡¶Ò" - "¡·Á" - "¡·ÅÕ" - "¡¹" - "¡¹¡" - "¡¹ÔÉ°Ò" - "¡º" - "¡º¯" - "¡º´Ò¹" - "¡º·Ù" - "¡ºÒÅ" - "¡ºÔ¹·Ãì" - "¡ºÔÅ" - "¡ºÕè" - "¡ÁÅ" - "¡Ã" - "¡Ã¡®" - "¡Ã¡®Ò¤Á" - "¡Ã¡¯" - "¡Ã§" - "¡Ã³±ì" - "¡Ã³Õ" - "¡Ã³Õ¡Ԩ" - "¡Ã³ÕÂì" - "¡Ã´" - "¡Ã¹" - "¡Ãº" - "¡ÃºÙÃ" - "¡ÃÁ" - "¡ÃÁ·èÒ" - "¡ÃÁ¸ÃÃÁì" - "¡ÃÃ" - "¡Ãêԧ" - "¡Ãó" - "¡ÃóԡÒÃì" - "¡ÃþØÁ" - "¡ÃÃÁ" - "¡ÃÃÁ¡Ã" - "¡ÃÃÁ¡ÒÃ" - "¡ÃÃÁªÇÒµ" - "¡ÃÃÁÒª¹" - "¡ÃÃÁÒªÕ¾" - "¡ÃÃÁÒ¸Ô¡ÒÃ" - "¡ÃÃà¨Õ¡" - "¡ÃÃàªÕ§" - "¡ÃÃá·Ã¡" - "¡ÃÃ⪡" - "¡ÃÃä¡Ã" - "¡ÃÇ´" - "¡ÃǺ" - "¡ÃÇÂ" - "¡ÃÍ" - "¡ÃÍ¡" - "¡ÃÍ¡á¡Ã¡" - "¡Ãͧ" - "¡Ãͧ¡ÃÍÂ" - "¡ÃÍ´" - "¡Ãͺ" - "¡ÃÍÁ" - "¡ÃÐ" - "¡ÃЧ¡¡ÃÐà§Ôè¹" - "¡ÃЧèͧ¡ÃÐá§è§" - "¡ÃЧè͹¡ÃÐá§è¹" - "¡ÃШ¡" - "¡ÃШ͡" - "¡ÃШͧÍá§" - "¡ÃШѧ" - "¡ÃШѺ" - "¡ÃШҴ" - "¡ÃШҺ" - "¡ÃШÒÂ" - "¡ÃШԴ" - "¡ÃШԺ" - "¡ÃШÔÃÔ´" - "¡ÃШء" - "¡ÃШغ¡ÃШԺ" - "¡ÃШØÂ" - "¡ÃШØ맡ÃШÔë§" - "¡ÃШØëÁ¡ÃШÔëÁ" - "¡ÃШÙë¡ÃШÕë" - "¡ÃШèÒ§" - "¡ÃШé͹" - "¡ÃЩ͡" - "¡ÃЩѺ¡ÃÐ੧" - "¡ÃЩٴ" - "¡ÃЩè͹" - "¡ÃЪ͹" - "¡ÃЪѺ" - "¡ÃЪÑé¹" - "¡ÃЪҡ" - "¡ÃЪØ" - "¡ÃЫԡ" - "¡ÃЫԺ" - "¡ÃЮØÁ¾Õ" - "¡Ãд¡" - "¡Ãдͧ" - "¡Ãд͹" - "¡Ãдѧ§Ò" - "¡Ãдҡ" - "¡ÃдҧÅÒ§" - "¡Ãдҹ" - "¡ÃдÒÉ" - "¡Ãдԡ" - "¡ÃдÔè§" - "¡ÃдÕè" - "¡Ãд׺" - "¡ÃдØÁ" - "¡Ãд١" - "¡Ãдé§" - "¡ÃдéÒ§" - "¡Ãеԡ" - "¡ÃеԺ" - "¡ÃеÔê´" - "¡Ãе×ÍÃ×ÍÃé¹" - "¡Ãеء" - "¡ÃеØ駡ÃеÔé§" - "¡ÃеØé¹" - "¡Ãеèͧ¡ÃÐáµè§" - "¡ÃеèÒÂ" - "¡ÃеéÇÁ¡ÃÐàµÕéÂÁ" - "¡Ãеêͺ" - "¡ÃжԹ" - "¡Ãз§" - "¡Ãзº" - "¡ÃзÃǧ" - "¡ÃзÐ" - "¡ÃзÑè§" - "¡Ãзԧ" - "¡Ãз׺" - "¡Ãзا" - "¡ÃзÙé" - "¡ÃзèÍÁ" - "¡Ãзé͹" - "¡ÃзéÍÁ¡ÃÐá·éÁ" - "¡ÃйÑé¹" - "¡Ãкǹ" - "¡ÃкÇÂ" - "¡Ãк͡" - "¡Ãкͧ" - "¡ÃкÐ" - "¡ÃкÔ" - "¡ÃкÕè" - "¡Ãк×Í" - "¡Ãкا" - "¡ÃлÃÕé¡ÃÐà»ÃèÒ" - "¡ÃлÑéÇ¡ÃÐà»ÕéÂ" - "¡ÃлèÓ" - "¡ÃлéÍ¡ÃÐá»é" - "¡Ãлëͧ" - "¡ÃмÅÕ¡ÃмÅÒÁ" - "¡Ãмա" - "¡ÃоÕé" - "¡Ãо×Í" - "¡ÃоØé§" - "¡ÃпѴ¡ÃÐà¿Õ´" - "¡ÃпÙÁ¡ÃпÒÂ" - "¡ÃÐÁÍÁ¡ÃÐáÁÁ" - "¡ÃÐÁѧ" - "¡ÃÐÂÒ˧ѹ" - "¡ÃÐÂÖ¡¡ÃÐÂ×Í" - "¡ÃÐÂè͹" - "¡ÃÐÃÍ¡" - "¡ÃÐÅÍÁ" - "¡ÃÐÅÑÁ¾Ã" - "¡ÃÐÇÔ¹" - "¡ÃÐÇÕ¡ÃÐÇÒ´" - "¡ÃÐÉÑÂ" - "¡ÃÐÉÒ»³ì" - "¡ÃÐÊͺ" - "¡ÃÐÊѧ" - "¡ÃÐÊѹ" - "¡ÃÐÊÒ" - "¡ÃÐÊ×Í" - "¡ÃÐÊا¡ÃÐÊÔ§" - "¡ÃÐÊع" - "¡ÃÐ˹¡" - "¡ÃÐ˹Һ" - "¡ÃÐ˹èÓ" - "¡ÃÐËÁÔº" - "¡ÃÐËÁèÍÁ" - "¡ÃÐËÂÔèÁ" - "¡ÃÐËÒÂ" - "¡ÃÐËÖÁ" - "¡ÃÐËÖèÁ" - "¡ÃÐÍͺ" - "¡ÃÐÍÑ¡" - "¡ÃÐÍÑ¡¡ÃÐÍèǹ" - "¡ÃÐà§éÒ¡ÃЧʹ" - "¡ÃÐà¨Ò" - "¡ÃÐà¨Ô§" - "¡ÃÐà¨Ô´¡ÃÐà¨Ô§" - "¡ÃÐà¨Õêº" - "¡ÃÐàªéÒ" - "¡ÃÐà«Í" - "¡ÃÐà«Ô§" - "¡ÃÐà«ç¹" - "¡ÃÐà«éÒ" - "¡ÃÐà´Ô´" - "¡ÃÐà´Õ´" - "¡ÃÐà´×Í¡" - "¡ÃÐà´×èͧ" - "¡ÃÐà´ç¹" - "¡ÃÐà´éÒ" - "¡ÃÐ൧" - "¡ÃÐàµÒÐ" - "¡ÃÐàµ×éͧ" - "¡ÃÐàµç¹" - "¡ÃÐà¶Ôº" - "¡ÃÐà·ÕÂÁ" - "¡ÃÐà·×͹" - "¡ÃÐູ" - "¡ÃÐàºÕ´" - "¡ÃÐàº×éͧ" - "¡ÃÐà»ÒÐ" - "¡ÃÐà»ëÒ" - "¡ÃÐà¾ÒÐ" - "¡ÃÐà¾×èÍÁ" - "¡ÃÐàÂéÍ¡ÃÐáËÂè§" - "¡ÃÐàÃÕ¹" - "¡ÃÐàÊÕ¹" - "¡ÃÐàÊÕÂÃ" - "¡ÃÐàÊ繡ÃÐÊÒÂ" - "¡ÃÐàÊèÒ" - "¡ÃÐàËÁç´¡ÃÐáËÁè" - "¡ÃÐá¨Ð" - "¡ÃÐá«Ð" - "¡ÃÐá´Ð" - "¡ÃÐá´èÇ" - "¡ÃÐáµ" - "¡ÃÐá·¡" - "¡ÃÐáÊ" - "¡ÃÐáÍÁ" - "¡ÃÐ⨹" - "¡ÃÐâ¨Á" - "¡ÃÐâ©¡¡ÃÐà©¡" - "¡ÃÐâ´¡" - "¡ÃÐâ´¡¡ÃÐà´¡" - "¡ÃÐâ´§" - "¡ÃÐâ´´" - "¡ÃÐⶹ" - "¡ÃÐâºÁ" - "¡ÃÐâ»Ã§" - "¡ÃÐâËé" - "¡ÃÑ¡" - "¡Ãѧ" - "¡Ãѹ" - "¡ÃѺ" - "¡ÃÑÁ" - "¡ÃÒ¡" - "¡ÃÒ§" - "¡ÃÒ´" - "¡ÃÒ¹" - "¡ÃÒº" - "¡ÃÒ¿" - "¡ÃÒ¿¿Ô¡" - "¡ÃÒ¿Ô¡" - "¡ÃÒÁ" - "¡ÃÒÂ" - "¡ÃÒÇ" - "¡ÃÓ" - "¡ÃÔ¡" - "¡ÃÔ§¡ÃÔÇ" - "¡ÃÔª" - "¡ÃÔº" - "¡ÃÔÁ" - "¡ÃÔÂÒ" - "¡ÃÔÇ" - "¡ÃÔè§" - "¡ÃÔèÁ" - "¡ÃÔéÇ" - "¡ÃÔê¡" - "¡ÃÔê§" - "¡ÃÕ" - "¡ÃÕ¡" - "¡ÃÕ±Ò" - "¡ÃÕ´" - "¡ÃÕ¸Ò" - "¡ÃÕê´" - "¡ÃØ" - "¡ÃØ¡" - "¡Ãا" - "¡Ãا෾" - "¡ÃسÒ" - "¡ÃسҸԤس" - "¡Ãع" - "¡Ãغ" - "¡ÃØÂ" - "¡ÃØè¹" - "¡ÃØèÁ" - "¡ÃØéÁ¡ÃÔèÁ" - "¡ÃØê»" - "¡ÃÙ" - "¡ÃÙ´" - "¡ÃçÍ¡¡ÃëÍÂ" - "¡Ãè͹" - "¡ÃèÍÂ" - "¡ÃèÒ§" - "¡ÃèÒÂ" - "¡ÃèÓ" - "¡ÃéÇÁ" - "¡ÃéÍ" - "¡ÃéÒ¹" - "¡ÃéÒÇ" - "¡ÄɮաÒ" - "¡ÄɳÒ" - "¡Å" - "¡Å´" - "¡Åº" - "¡ÅÁ" - "¡ÅÂØ·¸ì" - "¡Åǧ" - "¡ÅÍ¡" - "¡Åͧ" - "¡Å͹" - "¡ÅÍÂ" - "¡ÅÑ¡" - "¡ÅÑ´" - "¡ÅѺ" - "¡ÅÑÇ" - "¡ÅÑè¹" - "¡ÅÑé¹" - "¡ÅÑéÇ" - "¡ÅÒ¡" - "¡ÅÒ§" - "¡ÅÒ´" - "¡ÅÒÂ" - "¡ÅÒâËÁ" - "¡ÅÔè§" - "¡ÅÔè¹" - "¡ÅÔé§" - "¡ÅÔéÁ" - "¡ÅÕ" - "¡ÅÕº" - "¡ÅÕè" - "¡ÅÖ§" - "¡Å×¹" - "¡ÅØèÁ" - "¡ÅØéÁ" - "¡ÅÙâ¤Ê" - "¡ÅàÁç´" - "¡Åè¹" - "¡Åèͧ" - "¡Åè͹" - "¡ÅèÍÁ" - "¡ÅèÒÇ" - "¡ÅèÓ" - "¡ÅéÇÂ" - "¡ÅéÇÂäÁé" - "¡ÅéÍ" - "¡Åéͧ" - "¡Åé͹" - "¡ÅéÍÁá¡ÅéÁ" - "¡ÅéÒ" - "¡ÅéÒÁ" - "¡ÅéÓ" - "¡Ç´" - "¡Ç¹" - "¡ÇÁ" - "¡ÇÂ" - "¡Ç¨Ñêº" - "¡Ç¨Õê" - "¡ÇÑ¡" - "¡ÇÑ´" - "¡ÇÒ§" - "¡ÇÒ§µØé§" - "¡ÇÒ´" - "¡ÇÒÇà¤Ã×Í" - "¡ÇÕ" - "¡ÇèÒ" - "¡ÇéÒ§" - "¡ÇéÒ¹" - "¡ÇêÒ¹" - "¡ÉѵÃÔÂì" - "¡ÉÑÂ" - "¡ÉÒ»³ì" - "¡ÊÔ" - "¡ÊÔ¡Ã" - "¡ÊÔ¡ÃÃÁ" - "¡ÊÔ³" - "¡Í" - "¡Í¡" - "¡Í§" - "¡Í«" - "¡Í´" - "¡Íº" - "¡Í»Ã" - "¡ÍÂ" - "¡ÍÃÔÅÅÒ" - "¡ÍÅì¿" - "¡ÍàÍÕêÂÐ" - "¡Ð" - "¡ÐªÖ衡ЪÑè¡" - "¡Ð«Ç¡" - "¡Ð´Õè" - "¡ÐµéÓ" - "¡ÐµêÒ¡" - "¡Ð·¡Ã¡" - "¡Ð·Ñ´ÃÑ´" - "¡Ð·Ñ¹Ëѹ" - "¡Ð·Ô" - "¡Ð·×Í" - "¡ÐºÑ§ÅÁ" - "¡ÐºÔé§" - "¡Ð»ÃÔ´¡Ð»ÃÍÂ" - "¡Ð»Ç¡¡Ðà»Õ¡" - "¡Ð»Ð" - "¡Ð»Ô" - "¡Ð¾§" - "¡Ð¾ÃÔº" - "¡Ð¾Åèͧ¡Ðá¾Åè§" - "¡Ð¾éÍ" - "¡ÐÃѵ" - "¡ÐÃØ觡ÐÃÔè§" - "¡ÐÅÇÂ" - "¡ÐÅÍ" - "¡ÐÅлѧËÒ" - "¡ÐÅÐÁѧ" - "¡ÐÅÐáÁ" - "¡ÐÅÒ" - "¡ÐÅÒÊÕ" - "¡ÐÅÔéÁ¡ÐàËÅÕèÂ" - "¡ÐÅè͹" - "¡ÐÅèÍÁ¡ÐáÅèÁ" - "¡ÐÅèÍ¡ÐËÅÔº" - "¡ÐÊéÒËÍÂ" - "¡Ð˹ا¡Ð˹ԧ" - "¡Ð˹çͧ¡Ðá˹ç§" - "¡ÐËÃÍ´" - "¡ÐËÃÕè" - "¡ÐËÃçÍÁ¡ÐáËÃçÁ" - "¡ÐËÃèͧ" - "¡ÐËÅÕè" - "¡ÐËÅØ¡¡ÐËÅÔ¡" - "¡ÐËÅèÓ" - "¡Ðà´¡" - "¡Ð൧" - "¡Ðà·Â" - "¡Ðà·ÒÐ" - "¡Ðà»Ô꺡лêÒº" - "¡Ðà¼Å¡" - "¡ÐàÃÕè¡ÐÃÒ´" - "¡ÐàÅÔ´" - "¡ÐàÅèÍ¡ÐÅèÒ" - "¡ÐàËÃÕè§" - "¡ÐàËÅÒÐà»ÒÐ" - "¡Ðáªè" - "¡Ðⵧ¡Ð൧" - "¡Ðâµé§âËè§" - "¡Ðâµê¡" - "¡Ðâ»Ã§" - "¡Ðâ»âÅ" - "¡Ðâ¼Å¡¡Ðà¼Å¡" - "¡ÐâËÅ¡" - "¡Ñ¡" - "¡Ñ¡¢ÌÐ" - "¡Ñ§" - "¡Ñ§¡éÒ" - "¡Ñ§¢Ò" - "¡Ñ§©Ô¹" - "¡Ñ§¿Ù" - "¡Ñ§ÇÅ" - "¡Ñ§ÇÒ¹" - "¡Ñ§Ê´ÒÅ" - "¡Ñ§Ëѹ" - "¡Ñ§äÊ" - "¡Ñ­ªÒ" - "¡Ñ­­Ò" - "¡Ñ³±ì" - "¡Ñ´" - "¡Ñ¹" - "¡Ñ¹´ÒÃ" - "¡Ñ¹µì" - "¡Ñ¹ÂÒ¹" - "¡Ñ¹Âì" - "¡Ñº" - "¡Ñ»" - "¡Ñ»µÑ¹" - "¡ÑÁ»¹Ò·" - "¡ÑÁ»ÃÐâ´" - "¡ÑÁ¾ÙªÒ" - "¡ÑÁÁѹµÀÒ¾ÃѧÊÕ" - "¡ÑÁÁѹµÃѧÊÕ" - "¡Ñź¡" - "¡ÑÅ»¾Ä¡Éì" - "¡ÑŻѧËÒ" - "¡ÑÅ»ÒÇÊÒ¹" - "¡ÑÅ»ì" - "¡ÑÅÂÒ" - "¡ÑÅÂÒ³" - "¡ÑÅÂÒ³ÁÔµÃ" - "¡ÑÅÂÒ³Õ" - "¡ÑÅâª" - "¡Ñè¹" - "¡Ñé§" - "¡Ñé¹" - "¡Ñé¹ËÂÑè¹" - "¡Ñê¡" - "¡Ò" - "¡Ò¡" - "¡Ò¡Õ" - "¡Ò§" - "¡Ò§à¡§" - "¡Ò§à¢¹" - "¡Ò«ÐÅͧ" - "¡Ò­¨¹ºØÃÕ" - "¡Ò­¨¹Ò" - "¡Ò´" - "¡Ò¹" - "¡Ò¹´Ò" - "¡Ò¹¾ÅÙ" - "¡Òº" - "¡Ò½Ò¡" - "¡Ò¾Âì" - "¡ÒÁ" - "¡ÒÁÒÃÁ³ì" - "¡ÒÂ" - "¡Ò¡ÃÃÁ" - "¡ÒÂÀÒ¾" - "¡ÒÂÇÔÀÒ¤" - "¡ÒÂÊÔ·¸Ôì" - "¡ÒÂҾ¾" - "¡ÒÃ" - "¡Òóì" - "¡ÒúÙÃ" - "¡ÒÃÐà¡´" - "¡ÒÃѳÂì" - "¡ÒÃѹµì" - "¡ÒÃØ­" - "¡ÒÃسÂì" - "¡ÒÃàÇ¡" - "¡ÒÃì" - "¡ÒÃì´" - "¡ÒÃìµÙ¹" - "¡ÒÅ" - "¡ÒÅ¡Ô³Õ" - "¡ÒÅÕ" - "¡ÒÅà·ÈÐ" - "¡ÒÇ" - "¡ÒÈ" - "¡ÒÊ" - "¡ÒÊÃ" - "¡ÒÊÔâ¹" - "¡ÒËŧ" - "¡ÒÌ" - "¡ÒàËÇèÒ" - "¡Òá¿" - "¡ÒáÅç¡«Õ" - "¡Ó" - "¡Ó¡ÇÁ" - "¡Ó¡Ñ´" - "¡Ó¡Ñº" - "¡Ó¨Ã" - "¡Ó¨Ñ´" - "¡Ó¨ÒÂ" - "¡ÓªÑº" - "¡Ó«Òº" - "¡Ó´Ñ´" - "¡Ó¸Ã" - "¡Ó¹Ñ¹" - "¡Ó¹ÑÅ" - "¡ÓºÑ§" - "¡Ó»Ñè¹" - "¡Ó¾ÃéÒ" - "¡Ó¾×´" - "¡ÓÁжѹ" - "¡ÓÁÐÅÍ" - "¡ÓÁÐËÂÕè" - "¡ÓÂÒ¹" - "¡ÓÂÓ" - "¡ÓÃÒº" - "¡ÓÅѧ" - "¡ÓÊÃÇÅ" - "¡Ó˹´" - "¡Ó˹Ѵ" - "¡Óà´Ò" - "¡Óà¹Ô´" - "¡ÓàÃÔº" - "¡Óà˹ç¨" - "¡Óᾧ" - "¡Óá˧" - "¡ÓäÃ" - "¡ÓäÅ" - "¡Ô¡" - "¡Ô¡Ð" - "¡Ô¨" - "¡Ô¨¡ÃÃÁ" - "¡Ô¨¡ÒÃ" - "¡Ô¨¨ÐÅѡɳÐ" - "¡Ô¨¨Ò" - "¡ÔµµÔ" - "¡ÔµµÔ¤Ø³" - "¡ÔµµÔÁÈÑ¡´Ôì" - "¡ÔµµÔÈѾ·ì" - "¡Ô¹" - "¡Ô¹¹Ã" - "¡Ô¹ÃÕ" - "¡ÔÃÔ³Õ" - "¡ÔÃÔÂÒ" - "¡ÔàŹ" - "¡ÔàÅÊ" - "¡ÔâÁâ¹" - "¡Ôâµչ" - "¡ÔâÅ" - "¡ÔâÅ¡ÃÑÁ" - "¡ÔâÅÅÔµÃ" - "¡ÔâÅàÁµÃ" - "¡ÔâÅàÎÔõ«ì" - "¡Ôè§" - "¡ÔèÇ" - "¡Ô駡×Í" - "¡Ô駡èÒ" - "¡Ôê¡" - "¡Ôêº" - "¡ÔëÇ" - "¡Õ¯ÇÔ·ÂÒ" - "¡Õ´" - "¡ÕµÒÃì" - "¡Õº" - "¡ÕÌÒ" - "¡Õè" - "¡Õé" - "¡Õë" - "¡Ö¡" - "¡Ö¡¡éͧ" - "¡Öè§" - "¡Öë¹" - "¡Ø" - "¡Ø¡" - "¡Ø¡¡Ñ¡" - "¡Ø­ªÃ" - "¡Ø­á¨" - "¡Ø®ØÁ¾Õ" - "¡Ø¯°Ñ§" - "¡Ø¯Ô" - "¡Ø³±Å" - "¡Ø´" - "¡Ø´Ñ§" - "¡Ø´Ñè¹" - "¡Ø¹" - "¡Ø¹«×Í" - "¡Ø¹àªÕ§" - "¡Øº" - "¡ØÁ" - "¡ØÁÀÒ" - "¡ØÁÀì" - "¡ØÁÒÃ" - "¡ØÁÒÃÒ" - "¡ØÁÒÃÕ" - "¡ØÂ" - "¡ØªèÒÂ" - "¡ØÂàΧ" - "¡ØÅ" - "¡ØŸԴÒ" - "¡ØźصÃ" - "¡ØÅʵÃÕ" - "¡ØÅÒ" - "¡ØÅÕ" - "¡ØÅաبÍ" - "¡ØÈÅ" - "¡ØÈâźÒÂ" - "¡ØËÅÒº" - "¡ØèÁ" - "¡Øé§" - "¡Øê¡" - "¡Øê¹" - "¡ØêÂ" - "¡ØëÂ" - "¡Ù" - "¡Ù³±ì" - "¡Ù´" - "¡Ùº" - "¡Ùè" - "¡Ùé" - "¡àÌÇÃÒ¡" - "¡ç" - "¡è§" - "¡è¹" - "¡èÍ" - "¡èͧ" - "¡è͹" - "¡èÒÂ" - "¡èÓ" - "¡é§â¤é§" - "¡é¹" - "¡éÁ" - "¡éÍ" - "¡éͧ" - "¡é͹" - "¡éÍÁ" - "¡éÍÂ" - "¡éÍÃèÍ¡é͵ԡ" - "¡éÒ§" - "¡éÒ¹" - "¡éÒÁ" - "¡éÒÇ" - "¡éÓ" - "¡éÓ¡Öè§" - "¡éÓà¡Ô¹" - "¡ê¡" - "¡ê§" - "¡êÍ¡" - "¡êͺ»Õé" - "¡êÍ»»Õé" - "¡êÒ«" - "¡êÒ´" - "¡ë§" - "¡ëÇÂàµÕëÂÇ" - "¡ëÍÂ" - "¡ëÒ" - "¢§¨×êÍ" - "¢¨Ã" - "¢¨Ñ´" - "¢¨ÒÂ" - "¢¨Õ" - "¢¨ØÂ" - "¢³Ð" - "¢´" - "¢¹" - "¢¹§" - "¢¹´" - "¢¹¹" - "¢¹º" - "¢¹Á" - "¢¹Áͺ" - "¢¹Ñ´" - "¢¹Ñ¹" - "¢¹Ò¡" - "¢¹Ò§" - "¢¹Ò´" - "¢¹Ò¹" - "¢¹Òº" - "¢¹ÒÂ" - "¢¹ÔÉ°Ò" - "¢¹Ø¹" - "¢º" - "¢º¶" - "¢ºÇ¹" - "¢Á" - "¢ÁÇ´" - "¢Áͧ" - "¢ÁÍÂ" - "¢Áѧ" - "¢ÁѺ" - "¢ÁÒ" - "¢ÁÔº" - "¢ÁÔé¹" - "¢ÁÕ¢Áѹ" - "¢ÁÖ§" - "¢ÁØ¡¢ÁÍÁ" - "¢ÁØ¡¢ÁÑÇ" - "¢Áغ" - "¢Áغ¢ÁÔº" - "¢ÁèÍÁ" - "¢ÁéÓ" - "¢ÂÍ¡" - "¢Âͧ" - "¢ÂÐ" - "¢ÂÑ¡" - "¢Âѹ" - "¢ÂѺ" - "¢ÂÑé¹" - "¢ÂÒ´" - "¢ÂÒº" - "¢ÂÒÂ" - "¢ÂÓ" - "¢ÂÔ¡" - "¢ÂÔº" - "¢ÂÔèÁ" - "¢ÂÕé" - "¢ÂØ¡¢ÂÔ¡" - "¢ÂØ¡¢ÂØÂ" - "¢Âغ" - "¢Âغ¢ÂÔº" - "¢ÂØÁ" - "¢ÂØÂ" - "¢ÂØéÁ" - "¢ÂèÁ" - "¢Âè͹" - "¢Âé͹" - "¢ÂéÓ" - "¢ÃÁ" - "¢Ãäì" - "¢ÃÑÇ" - "¢ÃÔº" - "¢ÃÖÁ" - "¢ÃØ¢ÃÐ" - "¢Åѧ" - "¢ÅѺ" - "¢ÅÒ" - "¢ÅÒ´" - "¢ÅÔº" - "¢ÅØ¡" - "¢ÅØ¡¢ÅÑ¡" - "¢ÅØ¡¢ÅÔ¡" - "¢Åغ" - "¢ÅØÁ" - "¢ÅØèÂ" - "¢Ç§" - "¢Ç´" - "¢Ç¹¢ÇÒÂ" - "¢Çº" - "¢ÇÂ" - "¢ÇÑ¡ä¢Çè" - "¢ÇÑ­" - "¢ÇÑ´" - "¢ÇѺ" - "¢ÇѺà¢ÇÕÂÇ" - "¢ÇÑé¹" - "¢ÇÒ" - "¢ÇÒ¡" - "¢ÇÒ§" - "¢ÇÒ´" - "¢ÇÒ¹" - "¢ÇÒ¢ǹ" - "¢ÇÔ´" - "¢ÇéÒ§" - "¢Í" - "¢Í¡" - "¢Í§" - "¢Í´" - "¢Í¹" - "¢Íº" - "¢Íº¤Ø³" - "¢Íºã¨" - "¢ÍÁ" - "¢ÐÁÍÁ¢ÐáÁÁ" - "¢ÐÁÑ¡à¢Áé¹" - "¢ÐÁØ¡¢ÐÁÍÁ" - "¢ÐÂÔ¡" - "¢ÐÂØ¡" - "¢ÐàÂéÍá¢Âè§" - "¢ÐáÂÐ" - "¢Ñ§" - "¢Ñ³±Ê¡Ã" - "¢Ñ³±ÊÕÁÒ" - "¢Ñ´" - "¢ÑµµÔÂÁÒ¹Ð" - "¢Ñ¹" - "¢Ñ¹ªÐà¹ÒÐ" - "¢Ñ¹µÔ" - "¢Ñ¹·Õ" - "¢Ñ¹¸ì" - "¢Ñ¹ËÁÒ¡" - "¢Ñ¹âµ¡" - "¢Ñº" - "¢ÑÂ" - "¢Ñé¹" - "¢ÑéÇ" - "¢Ò" - "¢Ò¡" - "¢Ò¡êÇÂ" - "¢Ò§" - "¢Ò´" - "¢Ò¹" - "¢Òº" - "¢ÒÁ" - "¢ÒÂ" - "¢ÒÅ" - "¢ÒÇ" - "¢Ó" - "¢Ô¡" - "¢Ô§" - "¢ÔÁ" - "¢Ôè§" - "¢Õ´" - "¢Õ»¹ÒÇظ" - "¢Õè" - "¢Õé" - "¢ÕéàËÃè" - "¢Ö§" - "¢Öé§" - "¢Öé¹" - "¢Ö鹩èÒÂ" - "¢×¹" - "¢×è¹" - "¢×èÍ" - "¢Ø¡" - "¢Ø´" - "¢Ø¹" - "¢Ø¹·Í§" - "¢Ø¹á¼¹" - "¢ØÁ" - "¢ØÂ" - "¢Øè¹" - "¢Ù´" - "¢Ùè" - "¢âÁÂ" - "¢èÁ" - "¢èǹ" - "¢èÍ" - "¢è͹" - "¢èÍÂ" - "¢èÒ" - "¢èÒ§" - "¢èÒÂ" - "¢èÒÇ" - "¢èÒÇÊÒÃ" - "¢é¹" - "¢éÍ" - "¢éͧ" - "¢é͹" - "¢éÍÁÙÅ" - "¢éÍÂ" - "¢éÒ" - "¢éÒ§" - "¢éÒ¾à¨éÒ" - "¢éÒÁ" - "¢éÒÇ" - "¢éÒÇÊÒÃ" - "¢éÒÇàÁèÒ" - "¢éÒÇâ¾´" - "¢éÒÈÖ¡" - "¢éÒËÅǧ" - "¤¤¹ÑÁ¾Ã" - "¤¤¹Ò§¤ì" - "¤¤¹Ò¹µì" - "¤§" - "¤§¤Ò" - "¤ªÃÒª" - "¤ªÊÒÃ" - "¤ªÒªÒµÔ" - "¤ªÒªÕ¾" - "¤ªÒ¸ÒÃ" - "¤ªÒÀóì" - "¤³¹Ò" - "¤³º´Õ" - "¤³Ð" - "¤³Ò¨ÒÃÂì" - "¤³Ò¸Ô¡ÒÃ" - "¤³Ò¸Ô»äµÂ" - "¤³Ò¹Ñº" - "¤³Ô¡Ò" - "¤³Ôµ" - "¤³ÔµÈÒʵÃì" - "¤´" - "¤´Õ" - "¤µÔ" - "¤µÔ¸ÃÃÁ" - "¤µÔ¾¨¹ì" - "¤·Ò" - "¤¹" - "¤¹¸Ãþì" - "¤¹â·" - "¤º" - "¤Á" - "¤Á¹Ò¡ÒÃ" - "¤Á¹Ò¤Á" - "¤Ã¡" - "¤Ãº" - "¤ÃêԵ" - "¤ÃÃÀ" - "¤ÃÃÀì" - "¤ÃÃÅͧ" - "¤ÃÃâŧ" - "¤ÃÃäÅ" - "¤ÃÇ­" - "¤ÃÇÑ¡" - "¤ÃÇÕ" - "¤ÃËÒ" - "¤ÃÍ¡" - "¤Ãͧ" - "¤Ãͧá¤Ã§" - "¤Ãͺ" - "¤Ãͺ¤ÃÑÇ" - "¤ÃÐ" - "¤ÃÑ´à¤Ãè§" - "¤Ãѹ" - "¤ÃѺ" - "¤ÃÑÇ" - "¤ÃÑè§" - "¤ÃÑè¹" - "¤ÃÑé§" - "¤ÃÑé¹" - "¤ÃÒ" - "¤ÃÒ¡" - "¤ÃÒ§" - "¤ÃÒ­" - "¤ÃÒ´" - "¤ÃÒº" - "¤ÃÒÁ" - "¤ÃÒÇ" - "¤ÃÒÊ" - "¤ÃÓ" - "¤ÃÔʵ¡ÒÅ" - "¤ÃÔʵѧ" - "¤ÃÔʵì" - "¤ÃÔʵìÁÒÊ" - "¤ÃÔÊàµÕ¹" - "¤ÃÕº" - "¤ÃÕÁ" - "¤ÃÖ" - "¤ÃÖ¡¤Ã×é¹" - "¤ÃÖ¡â¤ÃÁ" - "¤ÃÖ¹" - "¤ÃÖÁ" - "¤ÃÖè§" - "¤ÃÖéÁ" - "¤Ã×´" - "¤Ã×¹" - "¤Ã×Í" - "¤Ã×é¹" - "¤Ã×鹤ÃÖ¡" - "¤ÃØ" - "¤Ãر" - "¤ÃØÁà¤Ã×Í" - "¤ÃØÂ" - "¤ÃØè¹" - "¤ÃÙ" - "¤ÃÙ´" - "¤ÃÙè" - "¤Ãè§" - "¤ÃèÍÁ" - "¤ÃèÒ" - "¤ÃèÒÇ" - "¤ÃèÓ" - "¤ÃéÒ¹" - "¤ÃéÒÁ" - "¤ÄË" - "¤ÄËÑʶì" - "¤ÄËÒʹì" - "¤ÅÍ" - "¤ÅÍ¡" - "¤Åͧ" - "¤ÅÍ´" - "¤Å͹" - "¤ÅÍÃÕ¹" - "¤ÅÍâÿÍÃìÁ" - "¤ÅÍâÿÕÅÅì" - "¤ÅÐ" - "¤ÅÑ¡" - "¤Åѧ" - "¤Åѵªì" - "¤ÅѺ" - "¤ÅÑè¡" - "¤ÅÑè§" - "¤ÅÒ" - "¤ÅÒ§á¤Å§" - "¤ÅÒ´" - "¤ÅÒ¹" - "¤ÅÒÂ" - "¤ÅÒÊ" - "¤ÅÒÊÊÔ¤" - "¤ÅÓ" - "¤ÅÔ¹Ô¡" - "¤ÅÔé¡" - "¤ÅÕ" - "¤ÅÕ¹Ô¤" - "¤ÅÕè" - "¤ÅÖ§" - "¤Å×è¹" - "¤Å×è¹àËÕ¹" - "¤Å×è¹äÊé" - "¤ÅØ¡" - "¤ÅØÁ" - "¤ÅØèÁ" - "¤ÅØé§" - "¤ÅØéÁ" - "¤Åèͧ" - "¤Åèͧá¤ÅèÇ" - "¤ÅèÓ" - "¤Åéͧ" - "¤ÅéÍÂ" - "¤ÅéÒÂ" - "¤ÅéÓ" - "¤Ç§" - "¤Çº" - "¤ÇÃ" - "¤ÇÑ¡" - "¤Çѹ" - "¤ÇÑè¹" - "¤ÇÒ¡" - "¤ÇÒ­" - "¤ÇÒ¹" - "¤ÇÒÁ" - "¤ÇÒÂ" - "¤ÇÔ¹Ô¹" - "¤ÇÕ¹" - "¤ÇèÓ" - "¤ÇéÒ" - "¤ÇéÒ§" - "¤ÇéÒ¹" - "¤Ë¡ÃÃÁ" - "¤Ë¡ÃÃÁÈÒʵÃì" - "¤Ëº´Õ" - "¤Ë»µÒ¹Õ" - "¤Í" - "¤Í¡" - "¤Í´" - "¤Í¹" - "¤Í¹¡ÃÕµ" - "¤Í¹¿Ô¡" - "¤Í¹à´¹à«ÍÃì" - "¤Í¹àÊÔÃìµ" - "¤Í¹àÊÔÃì·" - "¤Í¹áǹµì" - "¤ÍÁ" - "¤ÍÁ¾ÔÇàµÍÃì" - "¤ÍÁÁÒ¹â´" - "¤ÍÁÁÔǹÔʵì" - "¤ÍÁᾤ" - "¤ÍÁâ¾à¹¹·ì" - "¤ÍÂ" - "¤ÍÂÅì" - "¤ÍÃÑ»ªÑè¹" - "¤ÍÃì«Ô¡Ò" - "¤ÍÃì´" - "¤ÍÃì»ÍàêÑè¹" - "¤ÍÅÑÁ¹ì" - "¤ÍʵÒÃÔ¡Ò" - "¤ÍफÍ´ì" - "¤ÍàÅÊàµÍÃÍÅ" - "¤Ð" - "¤Ð¹Í§" - "¤Ð¹Ö§" - "¤Ð¹éÒ" - "¤ÐÁÓ" - "¤ÐÂÑ鹤ÐÂÍ" - "¤Ðà¹" - "¤ÐàÂÍ" - "¤Ðá¹¹" - "¤Ñ¡" - "¤Ñ¤¹ÑÁ¾Ã" - "¤Ñ¤¹Ò§¤ì" - "¤Ñ¤¹Ò¹µì" - "¤Ñ³±ÊÙµÃ" - "¤Ñ´" - "¤Ñ·ÅÕÂÒ" - "¤Ñ¹" - "¤Ñ¹©ÒÂ" - "¤Ñ¹·Ã§" - "¤Ñº" - "¤ÑÁÀÕÃÀÒ¾" - "¤ÑÁÀÕÃì" - "¤Ñè¡" - "¤Ñè§" - "¤Ñè¹" - "¤ÑèÇ" - "¤Ñé¹" - "¤Ò" - "¤Ò§" - "¤Ò§¤¡" - "¤Ò´" - "¤Ò¶Ò" - "¤Ò·ÍÅÔ¡" - "¤Ò¹" - "¤Òº" - "¤ÒÁ" - "¤ÒÁÇÒÊÕ" - "¤ÒÂ" - "¤ÒÃÁ" - "¤ÒÃÇÐ" - "¤ÒÃÒÇÒ¹" - "¤ÒÃÒàµé" - "¤ÒÃÒâÍà¡Ð" - "¤ÒÃì" - "¤ÒÃìºÍ¹" - "¤ÒÃìºÍ¹Á͹͡䫴ì" - "¤ÒÃìºÍ¹ä´ÍÍ¡ä«´ì" - "¤ÒÃìºÍÅÔ¡" - "¤ÒÃìºÍ๵" - "¤ÒÃìºÙàÃàµÍÃì" - "¤ÒÃìÅ" - "¤ÒÃìâºäÎà´Ãµ" - "¤ÒÇ" - "¤ÒÇÕ" - "¤Òà¸Âì" - "¤Òà¿è" - "¤Ó" - "¤Ó¹Ç³" - "¤Ó¹Ñº" - "¤Ó¹Ö§" - "¤Óù" - "¤Óú" - "¤ÓÃÒÁ" - "¤Óá˧" - "¤Óãµé" - "¤Ô¡" - "¤Ô§" - "¤Ô´" - "¤ÔÁËѹµì" - "¤ÔÇ" - "¤ÔéÇ" - "¤Õµ" - "¤Õ¹ÂÒ" - "¤Õº" - "¤ÕÁ" - "¤ÕÂì" - "¤ÕÂìºÍÃì´" - "¤ÕÃÕ" - "¤Õè" - "¤Ö¡" - "¤Ö¡¤Ñ¡" - "¤Öè¡" - "¤×¹" - "¤×º" - "¤×Í" - "¤Ø" - "¤Ø¡" - "¤Ø¡¡Õé" - "¤Ø³" - "¤Ø³¸ÃÃÁ" - "¤Ø³ÀÒ¾" - "¤Ø³ÇزÔ" - "¤Ø³ÈѾ·ì" - "¤Ø³ÊÁºÑµÔ" - "¤Ø³Ò¡Ã" - "¤Ø³Ù»¡ÒÃ" - "¤Ø´" - "¤Ø´·ÐÃÒ´" - "¤ØÁ" - "¤ØÂ" - "¤ØÃØ" - "¤Øâ³»¡ÒÃ" - "¤ØèÁ" - "¤Øé§" - "¤Øé¹" - "¤ØéÁ" - "¤ØéÂ" - "¤Ù" - "¤Ù³" - "¤Ù¹" - "¤Ù»Í§" - "¤ÙËÒ" - "¤Ùè" - "¤Ùé" - "¤à¹¨Ã" - "¤çÍ¡à·Å" - "¤è͹" - "¤èÍÁ" - "¤èÍÂ" - "¤èÐ" - "¤èÒ" - "¤èÒ§" - "¤èÒÂ" - "¤èÓ" - "¤é¹" - "¤é͹" - "¤éÍÁ" - "¤éÒ" - "¤éÒ§" - "¤éÒ§¤ÒÇ" - "¤éÒ§àµÔè§" - "¤éÒ¹" - "¤éÓ" - "¦ÃÒÇÒÊ" - "¦Òµ" - "¦Òµ¡Ã" - "¦Òµ¡ÃÃÁ" - "¦èÒ" - "¦éͧ" - "§¡" - "§§" - "§§§ÇÂ" - "§´" - "§º" - "§Á" - "§Ç§" - "§Ç´" - "§Ç§§" - "§Í" - "§Í¡" - "§Í¡á§¡" - "§Í´" - "§Í´á§´" - "§Í¹" - "§Í¹Ë§èÍ" - "§Íº" - "§ÍÁ" - "§ÍÂ" - "§Íá§" - "§Ð" - "§Ñ¡" - "§Ñ´" - "§Ñ¹" - "§Ñº" - "§ÑÇ" - "§ÑÇà§ÕÂ" - "§Ñè¡" - "§Ñè§" - "§ÑèÇ" - "§Ò" - "§Ò¹" - "§Òº" - "§ÒÁ" - "§ÒÂ" - "§Ó" - "§ÔéÇ" - "§Õº" - "§Ö¡" - "§ÖÁ" - "§ÖÁ§Ó" - "§Ø´" - "§Ø¹§§" - "§Øº" - "§Øº§Ôº" - "§ØÂ" - "§Ø蹧èÒ¹" - "§ØèÁ§èÒÁ" - "§ØéÁ" - "§Ù" - "§ÙÊÇÑ´" - "§èǧ" - "§èǹ" - "§èͧ" - "§è͹" - "§èÍÂ" - "§èÒ" - "§èÒ¹" - "§èÒÁ" - "§èÒÂ" - "§èÓ" - "§éǹ" - "§éÍ" - "§éÍÁ" - "§éÒ§" - "§éÒÇ" - "§éÓ" - "¨¡" - "¨§" - "¨§¡Å¹Õ" - "¨§ÍÒ§" - "¨´" - "¨µØ" - "¨µØç¤ì" - "¨µØþԸ" - "¨µØÊ´ÁÀì" - "¨¹" - "¨º" - "¨Á" - "¨ÁÙ¡" - "¨Ã" - "¨Ã¨Ñ´" - "¨Ã´" - "¨ÃÃÂÒ" - "¨ÃÃâŧ" - "¨ÃÅÕ" - "¨ÃÇ´" - "¨ÃÐà¢é" - "¨ÃÑÅ" - "¨ÃÑÊ" - "¨ÃÒ¨Ã" - "¨ÃÔ§" - "¨ÃÔµ" - "¨ÃÔ¸ÃÃÁ" - "¨ÃÔÂÈÒʵÃì" - "¨ÃÔÂÈÖ¡ÉÒ" - "¨ÃÔÂÒ" - "¨Ãا" - "¨ÃÙ­" - "¨Å" - "¨Å¹¾ÅÈÒʵÃì" - "¨Å¹ÈÒʵÃì" - "¨ÅÒ¨Å" - "¨Ç¡" - "¨Ç§" - "¨Ç¹" - "¨Çº" - "¨ÇÑ¡" - "¨Í" - "¨Í¡" - "¨Í§" - "¨Í§Ëͧ" - "¨Í´" - "¨Í¹" - "¨Íº" - "¨ÍÁ" - "¨ÍÃìá´¹" - "¨Íá¨" - "¨Ð" - "¨Ð¡ÅÐ" - "¨Ð¡ÅÒÁ" - "¨ÐÅÐËÇÑè¹" - "¨ÐÅÐàÁç´" - "¨Ðà¢é" - "¨Ñ¡" - "¨Ñ¡¢Ø" - "¨Ñ¡¨Ñè¹" - "¨Ñ¡Ã" - "¨Ñ¡Ã¾ÃôÔ" - "¨Ñ¡ÃÀ¾" - "¨Ñ¡ÃÂÒ¹" - "¨Ñ¡ÃÇÃôÔ" - "¨Ñ¡ÃÇÒÅ" - "¨Ñ¡ÃÕ" - "¨Ñ¡ÉØ" - "¨Ñ¡áËÅè¹" - "¨Ñ§" - "¨Ñ§¡Íº" - "¨Ñ§¡éÒ" - "¨Ñ§§Ñ§" - "¨Ñ§ËÇÐ" - "¨Ñ§ËÇÑ´" - "¨Ñ§Ëѹ" - "¨Ñ§äÃ" - "¨Ñ­äÃ" - "¨Ñ³±ÒÅ" - "¨Ñ³±ì" - "¨Ñ´" - "¨Ñ´¡ÒÃ" - "¨ÑµÇÒ" - "¨ÑµØÃÑÊ" - "¨Ñ¹" - "¨Ñ¹·¹ì" - "¨Ñ¹·ºØÃÕ" - "¨Ñ¹·Ã" - "¨Ñ¹·Ã¤µÔ" - "¨Ñ¹·Ã¤ÃÒÊ" - "¨Ñ¹·ÃØ»ÃÒ¤Ò" - "¨Ñ¹·Ãì" - "¨Ñº" - "¨Ñº¡Ñ§" - "¨Ñº©èÒÂ" - "¨Ñè¹" - "¨ÑèÇ" - "¨Ñé¡" - "¨ÑꡨÕé" - "¨Ñê¡à´ÕÂÁ" - "¨ÑêÇÐ" - "¨Ò¡" - "¨Ò§" - "¨Ò´" - "¨ÒµØç¤Êѹ¹ÔºÒµ" - "¨Ò¹" - "¨Òº" - "¨ÒºÑÅ" - "¨ÒºÑÅÂì" - "¨ÒÁ" - "¨ÒÁ¨ØÃÕ" - "¨ÒÁÃ" - "¨ÒÁÃÕ" - "¨ÒÃ" - "¨ÒÃкÕ" - "¨ÒÃÐä¹" - "¨ÒÃÔ¡" - "¨ÒÃÕ" - "¨ÒÃÕµ" - "¨ÒÃÖ¡" - "¨ÒÇ" - "¨ÒÇÒ" - "¨ÒàÁ¡Ò" - "¨Ó" - "¨Ó¡Ñ´" - "¨Ó¹§" - "¨Ó¹¹" - "¨Ó¹ÃèÒ" - "¨Ó¹Ãèì" - "¨Ó¹Ç¹" - "¨Ó¹Í§" - "¨Ó¹Ó" - "¨Ó»Ò" - "¨Ó»Õ" - "¨Ó¾Ç¡" - "¨ÓÃÑÊ" - "¨ÓÃÙ­" - "¨ÓÅͧ" - "¨Ó˹èÒÂ" - "¨ÓÍÇ´" - "¨Óà¾ÒÐ" - "¨ÓàÃÔ­" - "¨ÓàÃÕ§" - "¨ÓàÅÂ" - "¨Óṡ" - "¨Ô¡" - "¨Ô§â¨é" - "¨Ôµ" - "¨ÔµÃ" - "¨ÔµÃ¡Ã" - "¨ÔµÃ¡ÃÃÁ" - "¨ÔµÃÅ´Ò" - "¨ÔµÇÔ·ÂÒ" - "¨ÔµàǪ" - "¨Ôµá¾·Âì" - "¨Ô¹´Ò" - "¨Ô¹µ¡ÇÕ" - "¨Ô¹µ¹Ò" - "¨Ô¹µ¹Ò¡ÒÃ" - "¨Ô¹µÀÒ¾" - "¨Ôº" - "¨Ô»Ò¶Ð" - "¨ÔèÁ" - "¨Ô駨¡" - "¨Ô駨͡" - "¨Ôé§ËÃÕ´" - "¨Ôé§àËŹ" - "¨ÔéÁ" - "¨ÔëÇ" - "¨Õ¹" - "¨Õ¹áÊ" - "¨Õº" - "¨ÕÇÃ" - "¨Õè" - "¨Õé" - "¨Õê" - "¨Õê´" - "¨Õë" - "¨Ö§" - "¨Öè§" - "¨Öé§" - "¨×´" - "¨Ø" - "¨Ø¡" - "¨Ø´" - "¨ØµÔ" - "¨Ø¹" - "¨Øº" - "¨Øº¨Ôº" - "¨ØÁ¾¯" - "¨ØÁ¾Ôµ" - "¨ØŨÍÁ" - "¨ØŪվ" - "¨ØŪÕÇѹ" - "¨ØŪÕÇÔ¹" - "¨ØÅ·ÃÃȹì" - "¨ØÅÀÒ¤" - "¨ØÅÇÃä" - "¨ØÅÈÑ¡ÃÒª" - "¨ØÅÊÒÃ" - "¨ØÅÔ¹·ÃÕÂì" - "¨ØÌÒ" - "¨ØÌÒŧ¡Ã³ì" - "¨Øè§" - "¨Øè¹" - "¨ØèÁ" - "¨Øé¹" - "¨Ø鹨Ùê" - "¨ØéÁ" - "¨ØéÂ" - "¨Øê¡¡ÃÙê" - "¨Øêº" - "¨Øêºá¨§" - "¨Ø맨Ôë§" - "¨ØëÁ¨ÔëÁ" - "¨Ù" - "¨Ù§" - "¨Ùº" - "¨Ùè" - "¨Ùé" - "¨Ùê´" - "¨Ùë" - "¨àÃ" - "¨èÍ" - "¨èÍÁ" - "¨èÒ" - "¨èÒ§" - "¨èÒÂ" - "¨é¹" - "¨éǧ" - "¨éÍ" - "¨éÍ¡" - "¨éÍ¡á¨é¡" - "¨éͧ" - "¨é͹" - "¨éÍÂ" - "¨éÐ" - "¨éÒ" - "¨éÒ§" - "¨éÒ¹" - "¨éÒÅÐËÇÑè¹" - "¨éÒÇ" - "¨éÓ" - "¨éÓ¨Õé" - "¨éÓÁèÓ" - "¨êÍ¡" - "¨êÐ" - "¨ëÍ" - "¨ëͧ" - "¨ëÍÂ" - "¨ëÐ" - "¨ëÒ" - "©¡" - "©¡Ãèì" - "©¡ÉѵÃÔÂì" - "©¡Ò¨" - "©¡ÒÁÒ¾¨Ã" - "©§¹" - "©§ÒÂ" - "©¹Ç¹" - "©¹Ñ§" - "©¹Ò¡" - "©¹Ó" - "©ºÑ§" - "©ºÑº" - "©Á" - "©ÁÇ¡" - "©Áѧ" - "©ÁÒ" - "©ÁÓ" - "©Å" - "©ÅÇÂ" - "©Åͧ" - "©ÅÍÁ" - "©ÅÑ¡" - "©ÅÒ¡" - "©ÅÒ´" - "©ÅÒÁ" - "©ÅÒÂ" - "©ÅÔÇ" - "©ÅØ" - "©ÅØ¡©ÅÇÂ" - "©ÅÙ" - "©ÇÂ" - "©ÇÑ´à©ÇÕ¹" - "©ÇÒ§" - "©ÇÕ" - "©È¡" - "©Í¡" - "©Í´" - "©ÍàÅÒÐ" - "©Ð" - "©Ð©Ò¹" - "©Ð¹Ñé¹" - "©Ð¹Õé" - "©ÐÍé͹" - "©ÑµÃ" - "©Ñ¹" - "©Ñ¹·Åѡɳì" - "©Ñ¹·Ð" - "©Ñ¹·Ò" - "©Ñ¹·Ò¹ØÁѵÔ" - "©Ñ¹·ì" - "©Ñº" - "©Ò¡" - "©Ò§" - "©Ò´" - "©Ò¹" - "©Òº" - "©ÒÂ" - "©ÒÂÒ" - "©ÒÇ" - "©Ó©Ò" - "©Ô¹" - "©Ôº" - "©ÔÁ¾ÅÕ" - "©ÔÇ" - "©Ôè§" - "©Õ¡" - "©Õ´" - "©Õè" - "©Ø" - "©Ø¡" - "©Ø¡à©Ô¹" - "©Ø´" - "©Ø¹" - "©ØÂ" - "©Ù´" - "©Ùè" - "©èͧ" - "©èÍÂ" - "©èÒ" - "©èÒ§" - "©èÓ" - "©éÍ" - "ª¡" - "ª§" - "ª§â¤" - "ª®Ò" - "ª´" - "ª¹" - "ª¹¡" - "ª¹¹Õ" - "ª¹Á¾ÃÃÉÒ" - "ª¹Áì" - "ª¹Ç¹" - "ª¹Ð" - "ª¹Ñ¡" - "ª¹Ô´" - "ªºÒ" - "ªÁ" - "ªÁ´ªÁéÍÂ" - "ªÁ¾Ù" - "ªÁ¾Ù¹·" - "ªÁ¾Ù¹Ø·" - "ªÁ¾Ùè" - "ªÁÃÁ" - "ªÁÒ" - "ªÁéÍÂ" - "ªÁéÒÂ" - "ªÂ" - "ªÃ" - "ªÃÐ" - "ªÃÑÇ" - "ªÃÒ" - "ªÅ" - "ªÅ¸ÒÃ" - "ªÅ¸Õ" - "ªÅ¹Ò" - "ªÅ»Ãзҹ" - "ªÅÒÅÑÂ" - "ªÅÒÈÑÂ" - "ªÇ" - "ªÇ´" - "ªÇ¹" - "ªÇÃ" - "ªÇÅÔµ" - "ªÇÒ" - "ªÇÒÅ" - "ªÍ¡" - "ªÍ¡ªéÓ" - "ªÍ§" - "ªÍ¹" - "ªÍº" - "ªÍ»»Ôé§" - "ªÍÁ" - "ªÍÅì¡" - "ªÍ×éÍ" - "ªÍØèÁ" - "ªÍèÓ" - "ªÐ" - "ªÐ§Ñ¡" - "ªÐ§Ñ´" - "ªÐ§ØéÁ" - "ªÐ§è͹" - "ªÐ§éÓ" - "ªÐµÒ" - "ªÐ¹Õ" - "ªÐÁ´" - "ªÐÁÑ´" - "ªÐÃÍÂ" - "ªÐÅÍ" - "ªÐÅÍÁ" - "ªÐÅÙ´" - "ªÐÅèÒ" - "ªÐà§éÍ" - "ªÐà¹ÒÐ" - "ªÐá§é" - "ªÐáŧ" - "ªÐ⧡" - "ªÐâ´" - "ªÑ¡" - "ªÑ§" - "ªÑªÇÒÅ" - "ªÑ¯" - "ªÑ´" - "ªÑ¹" - "ªÑ¹¹ÐµØ" - "ªÑ¹ÉÒ" - "ªÑ¹ÊÙµÃ" - "ªÑÂ" - "ªÑ¾ġÉì" - "ªÑÂÀÙÁÔ" - "ªÑè§" - "ªÑèÇ" - "ªÑèÇâÁ§" - "ªÑé¹" - "ªÑéÇ" - "ªÒ" - "ªÒ­" - "ªÒ´" - "ªÒ´¡" - "ªÒµÃÕ" - "ªÒµÐ" - "ªÒµÔ" - "ªÒ¹" - "ªÒ¹Ø" - "ªÒÁ" - "ªÒÂ" - "ªÒÂÒ" - "ªÒÅÒ" - "ªÒÇ" - "ªÒÇàÅ" - "ªÓ" - "ªÓ¹Ñ­" - "ªÓ¹Ò­" - "ªÓ¹Ô" - "ªÓÃÐ" - "ªÓÃØ´" - "ªÓÃèÇÂ" - "ªÓà¹Õ¹" - "ªÓà¹ÕÂÃ" - "ªÓàÃÒ" - "ªÓàÅ×ͧ" - "ªÓáËÅÐ" - "ªÔ" - "ªÔ¤Òâ¡" - "ªÔ§" - "ªÔ§ªéÒ" - "ªÔ´" - "ªÔ¹" - "ªÔ»" - "ªÔ¾" - "ªÔÁ" - "ªÔÁỹ«Õ" - "ªÔÇËÒ" - "ªÔè§" - "ªÔé¹" - "ªÕ" - "ªÕ»Ð¢ÒÇ" - "ªÕ¾" - "ªÕ¾ÔµÑ¡ÉÑÂ" - "ªÕÇ»ÃÐÇѵÔ" - "ªÕÇÇÔ·ÂÒ" - "ªÕÇÒµÁì" - "ªÕÇÒÅÑÂ" - "ªÕÇÔµ" - "ªÕÇԵѡÉÑÂ" - "ªÕÇÔ¹" - "ªÕÇÕ" - "ªÕÇà¤ÁÕ" - "ªÕé" - "ª×´" - "ª×è¹" - "ª×è¹Á×è¹" - "ª×èÍ" - "ª×é¹" - "ª×éÍ" - "ªØ¡" - "ªØ´" - "ªØ¹" - "ªØº" - "ªØÁ" - "ªØÁ¹ØÁ" - "ªØÁ¾Ã" - "ªØÅÁع" - "ªØÅÕ" - "ªØèÁ" - "ªØèÂ" - "ªØé§" - "ªÙ" - "ªÙé" - "ªâÂ" - "ªâÅ·Ã" - "ªâÅÁ" - "ªäÁ" - "ªçÍ¡â¡àŵ" - "ªçÍ¡â¡áŵ" - "ªèǧ" - "ªèÇÂ" - "ªèÍ" - "ªèͧ" - "ªè͹" - "ªèÒ§" - "ªèÓ" - "ªèӪͧ" - "ªéͧ" - "ªé͹" - "ªéÍÂ" - "ªéÒ" - "ªéÒ§" - "ªéÓ" - "«¡" - "«´" - "«¹" - "«º" - "«Á" - "«Ç´à«" - "«Ç¹" - "«ÇÂ" - "«Í" - "«Í¡" - "«Í§" - "«Í¹" - "«Í¿µìáÇÃì" - "«Í¿·ì" - "«Í¿·ìáÇÃì" - "«ÍÁ«èÍ" - "«ÍÂ" - "«ÍÊ" - "«Ñ¡" - "«Ñ§" - "«Ñ´" - "«Ñ¹" - "«Ñ¹µÒ¤ÅÍÊ" - "«Ñº" - "«Ñ¾¾ÍÃìµ" - "«ÑÅ¿Ò" - "«Ò" - "«Ò¡" - "«Ò¡ØÃÐ" - "«Ò§" - "«Ò¹" - "«Òº«Öé§" - "«Òº«èÒ¹" - "«ÒÁÙäÃ" - "«ÒÅÒà»Ò" - "«ÒÇ" - "«ÒÇ´ì" - "«Ô" - "«Ô¡" - "«Ô¡ÒÃì" - "«Ô¡á«ç¡" - "«Ô¹áÊ" - "«Ôº" - "«Ô»" - "«Ô¿ÔÅÔÊ" - "«ÔÅԤ͹" - "«ÔÇ" - "«Ôè¹" - "«Õ" - "«Õ¡" - "«Õ´" - "«Õ´Õ" - "«Õ¹Í¹" - "«ÕÃÍ¡«ì" - "«Õà¡ÁÊì" - "«ÕàÁ¹µì" - "«ÕàÃÕÂ" - "«Õè" - "«Õé" - "«Ö§" - "«ÖÁ" - "«Öè§" - "«Öé§" - "«×èÍ" - "«×éÍ" - "«Ø¡" - "«Ø§" - "«Ø¹" - "«Øº" - "«Ø»" - "«ØÂ" - "«ØèÁ" - "«ØèÁ«èÒÁ" - "«ØéÁ" - "«ÙªÔ" - "«Ù´«Ò´" - "«Ù´Ò¹" - "«Ùº" - "«Ùà»ÍÃìÁÒà¡çµ" - "«Ùâ¤ÃÊ" - "«Ùè" - "«è¡" - "«èͧ" - "«è͹" - "«èÍÁ" - "«èÒ" - "«èÒ¹" - "«èÒËÃÔèÁ" - "«é¹" - "«éͧ" - "«é͹" - "«éÍÁ" - "«éÒÂ" - "«éÓ" - "¬Ò¹" - "¬Ò»¹¡Ô¨" - "¬Ò»¹Ê¶Ò¹" - "­Ç¹" - "­ÑµµÔ" - "­Ò³" - "­ÒµÔ" - "­Õè»Øè¹" - "°Ò¹" - "°Ò¹Ð" - "°Ò¹Ñ¹´Ã" - "°Ò»¹Ò" - "´¡" - "´§" - "´¹µÃÕ" - "´¹â´è" - "´Á" - "´Ãê¹Õ" - "´ÃÒ¿µì" - "´Ãس" - "´ÃسÕ" - "´Å" - "´Ç§" - "´Ç´" - "´ÇÅ" - "´Í¡" - "´Í¡àºÕéÂ" - "´Í¡äÁé" - "´Í§" - "´Í´" - "´Í¹" - "´ÍÁ" - "´ÍÂ" - "´ÍÅÅÒÃì" - "´ÍÊ" - "´Ð" - "´Ñ¡" - "´Ñ¡´Ò¹" - "´Ñ¡á´é" - "´Ñ§" - "´Ñª¹Õ" - "´Ñ´" - "´Ñµ«ì" - "´Ñ¹" - "´Ñº" - "´ÑºàºÔéÅ" - "´ÑÁ¾ì" - "´ÑÊ¡Ã" - "´Ñè§" - "´Ñé§" - "´Ñé¹" - "´Ò" - "´Ò¡" - "´Ò´" - "´ÒµéÒ" - "´Ò¹" - "´Òº" - "´ÒºÊ" - "´ÒÁ" - "´ÒÁ¾ì" - "´ÒÂ" - "´ÒóÕ" - "´ÒôÒÉ" - "´ÒÃÒ" - "´ÒÃì" - "´ÒÅ" - "´ÒÅÑ´" - "´ÒÇ" - "´ÒÇ´Ö§Êì" - "´ÒǹìâËÅ´" - "´ÒÇ⨹Êì" - "´ÒÉ" - "´ÒÉ´Ò" - "´Ó" - "´Óç" - "´ÓÃÑÊ" - "´ÓÃÔ" - "´ÓÄɳÒ" - "´Óà¡Ô§" - "´Óà¹Ô¹" - "´Óᤧ" - "´Ô" - "´Ô¡" - "´Ô¨ÔµÍÅ" - "´Ô©Ñ¹" - "´Ô¶Õ" - "´Ô¹" - "´Ôº" - "´ÔÃѨ©Ò¹" - "´ÔÅ¡" - "´ÔÇÔªÑè¹" - "´ÔʹÕÂì" - "´ÔÊࡵ" - "´Ôè§" - "´ÔèÇ" - "´Ôé¹" - "´ÔéÇ" - "´Õ" - "´Õ¡ÃÕ" - "´Õ´" - "´Õ´Õ·Õ" - "´ÕºØ¡" - "´ÕÇÕ´Õ" - "´Õà«Å" - "´Õà»ÃʪÑè¹" - "´Õ䫹ì" - "´Õä«à¹ÍÃì" - "´Ö¡" - "´Ö¡´ÓºÃþì" - "´Ö§" - "´Ö§ÊÐ" - "´Öè§" - "´ÖèÁ" - "´×Í" - "´×è¹" - "´×èÁ" - "´×éÍ" - "´Ø" - "´Ø¡" - "´Ø¨" - "´Ø´" - "´Ø¹" - "´Øº" - "´ØÁ" - "´Øç¤ì" - "´ØÃÔÂÒ§¤ÈÒʵÃì" - "´ØÃÔÂÒ§¤ÈÔÅ»ì" - "´ØÃÔÂÒ§¤ì" - "´ØÅ" - "´ØžԹԨ" - "´ØÅÀÒ¤" - "´ØžԹԨ" - "´ØÅÂÀÒ¾" - "´ØÉ®Õ" - "´ØɳÕ" - "´ØÉÔµ" - "´ØÊÔµ" - "´ØàËÇèÒ" - "´ØèÁ" - "´ØèÂ" - "´Øé§" - "´Ø駴Ôé§" - "´Øé¹" - "´Ù" - "´Ù¡Ã" - "´Ù´" - "´ÙÃÒ" - "´èǹ" - "´è͹" - "´èÍÁ" - "´èÒ" - "´èÒ§" - "´èÒ¹" - "´èÒÇ" - "´èÓ" - "´é§" - "´é¹" - "´éǧ" - "´éǹ" - "´éÇÂ" - "´éÍÁ" - "´éÍÂ" - "´éÒ¹" - "´éÒÁ" - "´éÒÂ" - "´éÒÇ" - "´éÓ" - "µ¡" - "µ¡Å§" - "µ§" - "µ§©Ô¹" - "µ§Ô´" - "µ´" - "µ¶Ò¤µ" - "µ¹" - "µº" - "µºÐ" - "µÁ" - "µÃ§" - "µÃÁ" - "µÃÁµÃÍÁ" - "µÃáÇÔ·ÂÒ" - "µÃáÈÒʵÃì" - "µÃáÐ" - "µÃǨ" - "µÃǹ" - "µÃÍ¡" - "µÃͧ" - "µÃÍÁµÃÁ" - "µÃÍÁã¨" - "µÃÐ" - "µÃСÙÅ" - "µÃÐ˧èÒ¹" - "µÃÐ˹¡" - "µÃÐ˹ѡ" - "µÃÐ˹Õè" - "µÃÐàǹ" - "µÃѧ" - "µÃѺ" - "µÃÑÂ" - "µÃÑÊ" - "µÃÒ" - "µÃÒ¡µÃÓ" - "µÃÒº" - "µÃÒÊѧ" - "µÃÓ" - "µÃÔ" - "µÃÕ" - "µÃÕÂÑÁ»ÇÒÂ" - "µÃÕ⡳" - "µÃÖ¡" - "µÃÖ§" - "µÃØ" - "µÃØÉ" - "µÃÙ" - "µÃÙè" - "µÄ³" - "µÅ¡" - "µÅº" - "µÅÍ´" - "µÅѺ" - "µÅÒ´" - "µÅÔè§" - "µÇ§" - "µÇÑ´" - "µÇÒ´" - "µÍ" - "µÍ¡" - "µÍ§" - "µÍ´" - "µÍ¹" - "µÍº" - "µÍÁ" - "µÍÃì" - "µÍÃì»Ôâ´" - "µÍáÂ" - "µÍáËÅ" - "µÐ" - "µÐ¡Ãѹ" - "µÐ¡ÃØ´" - "µÐ¡ÃØÁ" - "µÐ¡ÃéÍ" - "µÐ¡ÃéÒ" - "µÐ¡ÅÐ" - "µÐ¡ÅÒÁ" - "µÐ¡Í¹" - "µÐ¡Ñ§" - "µÐ¡ÑèÇ" - "µÐ¡Ø¡µÐ¡Ñ¡" - "µÐ¢Í" - "µÐ¢Òº" - "µÐ¢Ô´µÐ¢Ç§" - "µÐ¤ÃÔÇ" - "µÐ¤Ãغ" - "µÐ¤Í¡" - "µÐ¹ÍÂ" - "µÐºÍ§" - "µÐºÍÂ" - "µÐºÑ¹" - "µÐ»ØèÁµÐ»èÓ" - "µÐ¾Òº" - "µÐ¾Ö´" - "µÐ¾Ö´µÐ¾×Í" - "µÐ¾Øè¹" - "µÐÅÕµÐÅÒ¹" - "µÐÅÖ§" - "µÐÅا" - "µÐÅØÁºÍ¹" - "µÐÅØÁ¾Ø¡" - "µÐÅèÍÁ" - "µÐÇѹ" - "µÐËÅÔÇ" - "µÐà¡Õ¡µÐ¡ÒÂ" - "µÐà¡Õ§" - "µÐà¡Õº" - "µÐà¢çº" - "µÐà¤Õ¹" - "µÐà¦è" - "µÐàºç§" - "µÐà¾Ô´" - "µÐà¾Ôè¹" - "µÐà¾Õ¹" - "µÐàÀÒ" - "µÐàŧ" - "µÐá¡Ã§" - "µÐᤧ" - "µÐầ" - "µÐâ¡" - "µÐâ¡¡" - "µÐ⡹" - "µÐâ¡é" - "µÐ⢧" - "µÐâºÁ" - "µÐ⾡" - "µÐâ˧¡" - "µÐä¡Ã" - "µÐä¤Ãè" - "µÐä¤Ãé" - "µÐäº" - "µÐäÅ" - "µÑ¡" - "µÑ¡ÉÑÂ" - "µÑ§" - "µÑ§©èÒÂ" - "µÑ§à¡" - "µÑ§àÁ" - "µÑ§âÍë" - "µÑ³ËÒ" - "µÑ´" - "µÑ´ÊÔ¹" - "µÑ¹" - "µÑ¹Ë§" - "µÑº" - "µÑÇ" - "µÑè§" - "µÑé§" - "µÑé§áµè" - "µÑéÇâ¼" - "µÑê¡áµ¹" - "µÑëÇ" - "µÒ" - "µÒ¡" - "µÒ´" - "µÒ¹" - "µÒ¹Õ" - "µÒº" - "µÒÁ" - "µÒÂ" - "µÒÅ" - "µÒŻѵÃ" - "µÓ" - "µÓ¹Ò¹" - "µÓºÅ" - "µÓÃǨ" - "µÓÃѺ" - "µÓÃÒ" - "µÓÅÖ§" - "µÓ˹ѡ" - "µÓ˹Ô" - "µÓáÂ" - "µÓá˹è§" - "µÔ" - "µÔ¡ÒËÃѧ" - "µÔ§" - "µÔ³" - "µÔ´" - "µÔÃѨ©Ò¹" - "µÔÅ¡" - "µÔè§" - "µÔéÇ" - "µÔê¡" - "µÔë§" - "µÕ" - "µÕ¹" - "µÕº" - "µÕè" - "µÕë" - "µÖ" - "µÖ¡" - "µÖ§" - "µÖ´µ×ëÍ" - "µÖé¡" - "µÖ页Ñé¡" - "µÖê´µ×ëÍ" - "µ×´" - "µ×ÍÎǹ" - "µ×è¹" - "µ×é¹" - "µ×éÍ" - "µ×êÍ" - "µ×ëÍ" - "µØ" - "µØ¡µÔ¡" - "µØ§" - "µØ¹" - "µØ¹Ò˧ѹ" - "µØº" - "µØáÕ" - "µØÅÒ" - "µØÅÒ¡ÒÃ" - "µØÅÒ¤Á" - "µØËÃÑ´µØàËÃè" - "µØè¹" - "µØèÁ" - "µØèÂ" - "µØ駡èÒ" - "µØ駵Ôé§" - "µØéº" - "µØéÁ" - "µØéÂ" - "µØê" - "µØê¡" - "µØ꡵Ò" - "µØê¡á¡" - "µØê´" - "µØêµêÐ" - "µØ꺻èͧ" - "µØêÂ" - "µØë¹" - "µØëÁ" - "µØëµØèÂ" - "µÙ" - "µÙ¡" - "µÙ´" - "µÙº" - "µÙÁ" - "µÙè" - "µÙé" - "µèǹ" - "µèÍ" - "µèͧáµè§" - "µèÍÁ" - "µèÍÂ" - "µèÒ§" - "µèÓ" - "µé¹" - "µéÁ" - "µéÇÁàµÕéÂÁ" - "µéÍ" - "µéͧ" - "µéͧàµ" - "µé͹" - "µéÍÂ" - "µé͵Ôè§" - "µé͵ÕÇÔ´" - "µéÒ¹" - "µêÍ¡" - "µêÍ¡µëÍÂ" - "µë§" - "µëÍÁ" - "¶¡" - "¶´" - "¶¹¹" - "¶¹ÍÁ" - "¶¹Ñ´" - "¶¹Ñ´¶¹Õè" - "¶¹ÔÁ" - "¶Á" - "¶ÁÖ§·Ö§" - "¶Å¡" - "¶Å¹" - "¶ÅÍ¡" - "¶Åѹ" - "¶ÅÒ" - "¶ÅÒ¡" - "¶ÅÓ" - "¶ÅÕ¶ÅÓ" - "¶ÅÖ§µÒ" - "¶Åا" - "¶Åع" - "¶ÅèÁ" - "¶ÇÑÅÂì" - "¶ÇÒÂ" - "¶ÇÔÅ" - "¶Í¡" - "¶Í§" - "¶Í´" - "¶Í¹" - "¶ÍÂ" - "¶Ð" - "¶Ñ¡" - "¶Ñ§" - "¶Ñ´" - "¶Ñ¹" - "¶ÑÇ" - "¶ÑèÇ" - "¶Ò" - "¶Ò¡" - "¶Ò§" - "¶Ò´" - "¶Ò¹" - "¶ÒÁ" - "¶ÒÇÃ" - "¶Ôè¹" - "¶Õº" - "¶Õè" - "¶Ö¡" - "¶Ö§" - "¶×Í" - "¶Ø§" - "¶Ø¹" - "¶ØÂ" - "¶Ù" - "¶Ù¡" - "¶èÁ" - "¶èǧ" - "¶èÍ" - "¶èͧ" - "¶èÍÁ" - "¶èÍÂ" - "¶èÒ§" - "¶èÒ¹" - "¶èÒÂ" - "¶éǹ" - "¶éÇÂ" - "¶éÍÂ" - "¶éÒ" - "¶éÓ" - "·¡" - "·¡ÅéÒ" - "·´" - "·¹" - "·¹µì" - "·¹ÒÂ" - "·¹â·è" - "·º" - "·º·Ç¹" - "·ºÇ§" - "·ÁÔÌ" - "·ÂÍÂ" - "·Ã¡ÃÃÁ" - "·Ã§" - "·Ãª¹" - "·ÃªÒµÔ" - "·Ã¾ÔÉ" - "·Ã¾Õ" - "·ÃÁÒ¹" - "·ÃÂÈ" - "·ÃÂؤ" - "·Ãû" - "·ÃÃȹÐ" - "·ÃÃÒª" - "·ÃÅѡɳì" - "·Ãǧ" - "·ÃÇ´·Ã§" - "·ÃË´" - "·ÃѾÂÒ¡Ã" - "·ÃѾÂì" - "·ÃѾÂìÊÔ¹" - "·ÃÑÁà»çµ" - "·ÃÒ¹«ÔÊàµÍÃì" - "·ÃÒº" - "·ÃÒÁ" - "·ÃÒÂ" - "·ÃØ´" - "·ÄÉ®Õ" - "·ÅÒÂ" - "·Ç§" - "·Ç´" - "·Ç¹" - "·ÇÂ" - "·ÇÒ·È" - "·ÇÒÂ" - "·ÇÒÃ" - "·ÇÔ" - "·ÇÕ" - "·ÇÕ¸ÒÀÔàÉ¡" - "·ÇÕ»" - "·ÇèÒ" - "·È" - "·È¹ÔÂÁ" - "·ËÒÃ" - "·Í" - "·Í¡" - "·Í§" - "·Í§¡ÇÒÇ" - "·Í§ËÅÒ§" - "·Í´" - "·Í¹" - "·Í¹«ÔÅ" - "·Í¿¿Õè" - "·ÍÂ" - "·ÍÅì¤" - "·Ð¹§" - "·Ð¹Ò¹" - "·Ð¹Ø" - "·ÐÁÑ´·ÐáÁ§" - "·ÐÁÖ¹" - "·ÐÁ×è¹" - "·ÐÂÒ¹" - "·ÐÅǧ" - "·ÐÅÑ¡" - "·ÐÅÒÂ" - "·ÐÅÖè§" - "·ÐÅØ" - "·ÐÇÒÂ" - "·ÐàºÕ¹" - "·ÐàÂÍ·ÐÂÒ¹" - "·ÐàÅ" - "·ÐàÅÒÐ" - "·ÐàÅèÍ·ÐÅèÒ" - "·ÐàÅé¹" - "·ÐáÁè§" - "·Ñ¡" - "·Ñ¡¢Ô­" - "·Ñ¡¢Ô³Ò" - "·Ñ¡¢Ô³ÒÇѯ" - "·Ñ¡¢ì" - "·Ñ¡ÉÐ" - "·Ñ¡ÉÔ³" - "·Ñ¡ÉÔ³Ò" - "·Ñ¡ÉÔ³ÒÇÃõ" - "·Ñ¡ÉÔâ³·¡" - "·Ñ§Ê൹" - "·Ñ³±¡ÃÃÁ" - "·Ñ³±¦Òµ" - "·Ñ³±Ê¶Ò¹" - "·Ñ³±ì" - "·Ñ´" - "·Ñ¹" - "·Ñ¹µá¾·Âì" - "·Ñ¹µì" - "·Ñ¹·Õ" - "·Ñº" - "·ÑºÊÁÔ§¤ÅÒ" - "·Ñ¾" - "·Ñ¾¾Õ" - "·Ñȹ¤µÔ" - "·ÑȹÇÔÊÑÂ" - "·ÑȹÈÖ¡ÉÒ" - "·ÑȹÐ" - "·ÑȹÒ" - "·ÑȹҨÃ" - "·ÑȹÕÂÀÒ¾" - "·ÑȹÕÂì" - "·Ñȹٻ¡Ã³ì" - "·Ñȹì" - "·ÑÈä¹Â" - "·Ñè§" - "·ÑèÇ" - "·Ñé§" - "·Ò" - "·Ò¡" - "·Ò§" - "·Ò¹" - "·Òº" - "·ÒÁ" - "·ÒÂ" - "·ÒÂÒ´" - "·ÒÂÒ·" - "·Òá" - "·ÒÃÔ¡Ò" - "·ÒÃس" - "·ÒÃì«Ò¹" - "·ÒÊ" - "·Ó" - "·Ó¹º" - "·Ó¹Í§" - "·Ó¹ÒÂ" - "·Ó¹Ø" - "·ÓÅÒÂ" - "·Óà¹Ò" - "·Óà¹Õº" - "·ÓàÅ" - "·ÓäÁ" - "·Ô¤ÑÁ¾Ã" - "·Ô¦ÑÁ¾Ã" - "·Ô§à¨ÍÃì" - "·Ô°Ô" - "·Ô´" - "·Ô¾Â¨Ñ¡ÉØ" - "·Ô¾Â­Ò³" - "·Ô¾ÂÃÊ" - "·Ô¾Â๵Ã" - "·Ô¾Âì" - "·Ô¾Ò¡Ã" - "·ÔÁ" - "·ÔÇ" - "·Ôǧ¤µ" - "·ÔÇ·Ñȹì" - "·ÔÇÒ" - "·ÔÈ" - "·ÔÈÒ" - "·ÔÈҹطÔÈ" - "·Ôີ" - "·ÔèÁ" - "·Ôé§" - "·Õ" - "·Õ¦ªÒµÔ" - "·ÕÁ" - "·Õà͹·Õ" - "·Õè" - "·Õè´Ô¹" - "·Ö¡" - "·Ö¹·Ö¡" - "·Öº" - "·ÖÁ" - "·Öè§" - "·ÖèÁ" - "·Öé§" - "·×èÍ" - "·Ø" - "·Ø¡" - "·Ø¡¢ÅÒÀ" - "·Ø¡¢ÒÃÁ³ì" - "·Ø¡¢àÇ·¹Ò" - "·Ø¡¢ì" - "·Ø¡Ã¡ÔÃÔÂÒ" - "·Ø¤µÔ" - "·Ø¨ÃÔµ" - "·Ø´" - "·Ø¹" - "·Øº" - "·Ø¾¾Å" - "·Ø¾ÀÔ¡¢ÀÑÂ" - "·ØÂ" - "·Øáѹ´ÒÃ" - "·Øê¹" - "·ØêҵÔ" - "·Øù·ØÃÒÂ" - "·ØþÅ" - "·ØÅÑ¡·ØàÅ" - "·ØÈÕÅ" - "·ØàÃÈ" - "·ØàÃÕ¹" - "·ØàÅÒ" - "·Øè§" - "·Øè¹" - "·ØèÁ" - "·Øé§" - "·ØéÁ" - "·ØéÂ" - "·Ù" - "·Ùµ" - "·ÙµÒ¹Ø·Ùµ" - "·Ù¹" - "·Ùº" - "·ÙÁ" - "·ÙÅ" - "·Ùè" - "·Ùé" - "·á¡ÅéÇ" - "·á§" - "·âÁ¹" - "·èǧ·Ó¹Í§" - "·èǧ·Õ" - "·èǧ·èÒ" - "·èÇÁ" - "·èÍ" - "·èͧ" - "·è͹" - "·èÍÁ" - "·èÒ" - "·èÒ¹" - "·èÒÁ¡ÅÒ§" - "·é¹" - "·éǧ" - "·éǹ" - "·éÇÁ" - "·éÍ" - "·éͧ" - "·éÒ" - "·éÒÂ" - "·éÒÇ" - "¸§" - "¸¹" - "¸¹ºÑµÃ" - "¸¹ºØÃÕ" - "¸¹ÊÁºÑµÔ" - "¸¹ÊÒÃ" - "¸¹Ò¤ÒÃ" - "¸¹Ò³ÑµÔ" - "¸¹ÒÃÑ¡Éì" - "¸¹Ù" - "¸Á" - "¸Ã" - "¸Ã³Õ" - "¸ÃÃÁ" - "¸ÃÃÁ¡ÒÂ" - "¸ÃÃÁªÒµÔ" - "¸ÃÃÁ´Ò" - "¸ÃÃÁÈÒʵÃì" - "¸ÃÃÁÐ" - "¸ÃÃÁиÑÁâÁ" - "¸ÃÃÁÒ·ÔµÂì" - "¸ÃÃÁÒ¸ÃÃÁ" - "¸ÃÃÁÒ¸Ô»äµÂ" - "¸ÃÃÁÒ¸ÔÉ°Ò¹" - "¸ÃÃÁÒ¹ØÊÒ¹" - "¸ÃÃÁÒÀÔÁØ¢" - "¸ÃÃÁÒÀÔÊÁÑÂ" - "¸ÃÃÁÒµ¹Ð" - "¸ÃÃÁÒÃÁ³ì" - "¸ÃÃÁÒʹì" - "¸ÃÃÁÔ¡" - "¸ÃÒ¸Ã" - "¸ÃÒ¸ÒÃ" - "¸ÃÒ¸Ôº´Õ" - "¸ÃÒ¸Ô»" - "¸Ñ­" - "¸Ñ­­ÒËÒÃ" - "¸Ñ­¾×ª" - "¸Ñ¹ÇÒ¤Á" - "¸ÑÁÁÐ" - "¸ÒµØ" - "¸Ò¹Õ" - "¸ÒÃ" - "¸ÒÃÒ" - "¸ÓÁç¤ì" - "¸Óç" - "¸Ô´Ò" - "¸Ôີ" - "¸Ø´§¤ì" - "¸ØáÃÃÁ" - "¸ØáÒÃ" - "¸ØáԨ" - "¸ØÃÐ" - "¸ØÅÕ" - "¸ØÇ´ÒÃÒ" - "¸ØÇÀÒ¤" - "¸ØÇÁ³±Å" - "¸Ù»" - "¹¡" - "¹¤Ã" - "¹¤ÃÃÒªÊÕÁÒ" - "¹¤ÃÔ¹·Ãì" - "¹¤àÃÈ" - "¹§¤ÃÒ­" - "¹§¹Øª" - "¹§¾Ð§Ò" - "¹§¾ÒÅ" - "¹§ÃÒÁ" - "¹§Åѡɳì" - "¹§àÂÒÇì" - "¹·Õ" - "¹¹·ºØÃÕ" - "¹¹·ÃÕ" - "¹¹·ÅÕ" - "¹º" - "¹¾" - "¹¾»®Å" - "¹¾È¡" - "¹¾ÈÙÅ" - "¹ÀÒ" - "¹ÀÒÅÑÂ" - "¹Á" - "¹ÁÑÊ¡ÒÃ" - "¹Ã¡" - "¹ÃÊÔ§Ëì" - "¹ÃÕàǪ" - "¹ÃÕá¾·Âì" - "¹Ä¤ËÔµ" - "¹Ä¹Ò·" - "¹ÄÁÅ" - "¹ÄÁÔµ" - "¹ÅÒ¯" - "¹ÅÔ¹Õ" - "¹Ç´" - "¹Ç¹ÔÂÒÂ" - "¹ÇÁ" - "¹ÇÂ" - "¹ÇÅ" - "¹ÇÅÅÍÍ" - "¹ÇÅÅÐÍͧ" - "¹Í" - "¹Í¡" - "¹Í§" - "¹Íµ" - "¹Í¹" - "¹Íº" - "¹ÍÂ" - "¹ÍÃìàÇÂì" - "¹Ð" - "¹Ñ¡" - "¹Ñ¡¢Ñµ" - "¹Ñ¡ÈÖ¡ÉÒ" - "¹Ñ¡ÉѵÃ" - "¹Ñ¡àÃÕ¹" - "¹Ñ§¤ÑÅ" - "¹Ñ´" - "¹Ñ´´Ò" - "¹Ñµ¶Øì" - "¹Ñ¹·¹Ò¡ÒÃ" - "¹Ñº" - "¹ÑÂ" - "¹Ñ¹ì" - "¹ÑÇ" - "¹Ñè§" - "¹Ñè¹" - "¹Ñé¹" - "¹Ò" - "¹Ò¡" - "¹Ò¤" - "¹Ò¤Ã" - "¹Ò¤ÃÒª" - "¹Ò¤Õ" - "¹Ò§" - "¹Ò§ÊÒÇ" - "¹Ò§áÍè¹" - "¹Ò«Ò" - "¹Ò¯" - "¹Ò´" - "¹Ò¶" - "¹Ò·" - "¹Ò·Õ" - "¹Ò¹" - "¹Ò¹Ñ»¡ÒÃ" - "¹Ò¹Ò" - "¹Òº" - "¹ÒÀÕ" - "¹ÒÁ" - "¹ÒÁ¡Ã" - "¹ÒÁÊ¡ØÅ" - "¹ÒÁҹءÃÁ" - "¹ÒÁÒÀÔä¸Â" - "¹ÒÂ" - "¹Ò¡" - "¹ÒÃÒ³ì" - "¹ÒÃÕ" - "¹ÒÇÒ" - "¹ÒÇÔ¡" - "¹ÒÇÔ¹" - "¹ÒÇÕ" - "¹ÒÊÔ¡" - "¹ÒÌÔ¡Ò" - "¹ÒÌÔà¡" - "¹Òâ¹" - "¹Ó" - "¹Ô" - "¹Ô¡Ã" - "¹Ô¡ÃÍ´ì" - "¹Ô¡ÒÂ" - "¹Ô¡à¡ÔÅ" - "¹Ô¤Á" - "¹Ô¤Ã¹¶ì" - "¹Ô¤ËÔµ" - "¹Ô¨" - "¹Ô´" - "¹ÔµÂÊÒÃ" - "¹ÔµÂì" - "¹ÔµÔ" - "¹Ô·ÃÃÈ" - "¹Ô·ÃÒ" - "¹Ô·Ñȹì" - "¹Ô·Ò¹" - "¹Ô¹·Ò" - "¹ÔºÒµ" - "¹Ô¾¹¸ì" - "¹Ô¾¾Ò¹" - "¹ÔÁ¹µì" - "¹ÔÁÁÒ¹" - "¹ÔÁÁҹôÕ" - "¹ÔÁÔµ" - "¹ÔÂÁ" - "¹ÔÂÒÁ" - "¹ÔÂÒÂ" - "¹Ô÷ء¢ì" - "¹ÔùÒÁ" - "¹ÔÃÀÑÂ" - "¹ÔÃÁÅ" - "¹ÔÃÁÔµ" - "¹ÔÃѹ´Ã" - "¹ÔÃÒÈ" - "¹ÔÃâ·É" - "¹ÔÅ" - "¹ÔÅغÅ" - "¹ÔÇ¡Ô¹Õ" - "¹ÔǤÅÔÍÔ¡" - "¹ÔÇ«ÕᏴì" - "¹ÔǵÃ͹" - "¹ÔÇÂÍÃì¤" - "¹ÔÇóì" - "¹ÔÇѵ" - "¹ÔÇѵ¹ì" - "¹ÔÇÒµ" - "¹ÔÇÒÊ" - "¹ÔÇà¤ÅÕÂÃì" - "¹ÔÇà¤ÅÕÂÊ" - "¹ÔÊÑÂ" - "¹ÔÊÔµ" - "¹Ôà·È" - "¹ÔàÇÈ" - "¹ÔàÇȹì" - "¹Ô⤵Թ" - "¹Ôâø" - "¹ÔâźÅ" - "¹Ôè§" - "¹ÔèÁ" - "¹ÔèÇ" - "¹ÔéÇ" - "¹Õ" - "¹ÕÍ͹" - "¹ÕâÍ´ÔàÁÕÂÁ" - "¹Õè" - "¹Õé" - "¹Ö¡" - "¹Öè§" - "¹Ø§" - "¹Øª" - "¹Øè§" - "¹Øè¹" - "¹ØèÁ" - "¹ØéÂ" - "¹Ù¹" - "¹Ùè¹" - "¹Ùé¹" - "¹àÃÈÇÃ" - "¹âºÒÂ" - "¹âôÁ" - "¹èÇÁ" - "¹èͧ" - "¹èÒ" - "¹èÒ¹" - "¹éͧ" - "¹éÍÁ" - "¹éÍÂ" - "¹éÍÂ˹èÒ" - "¹éÍÂâ˹è§" - "¹éÒ" - "¹éÒÇ" - "¹éÓ" - "¹éÓÁѹ" - "¹éÓà§Ô¹" - "º¡" - "º¡¾Ãèͧ" - "º§" - "º§¡ª" - "º´" - "º´Ô¹·Ãà´ªÒ" - "º´Ô¹·Ãì" - "º´Õ" - "º·" - "º¹" - "º¾ÔµÃ" - "º¾Ô¸" - "ºÃÁ" - "ºÃÁѵ¶ì" - "ºÃÃ" - "ºÃè§" - "ºÃè¶Ã³ì" - "ºÃèº" - "ºÃèǺ" - "ºÃèØ" - "ºÃó" - "ºÃóҡÒÃ" - "ºÃóҤÁ" - "ºÃóҸԡÒÃ" - "ºÃóҹءÃÁ" - "ºÃóÒÃÑ¡ÉÈÒʵÃì" - "ºÃóÒÃÑ¡Éì" - "ºÃôÒ" - "ºÃ÷Á" - "ºÃ÷Ѵ" - "ºÃ÷ء" - "ºÃþ" - "ºÃþªÒ" - "ºÃþªÔµ" - "ºÃþµ" - "ºÃþºØÃØÉ" - "ºÃç" - "ºÃç¡ì" - "ºÃÃÂÒ¡ÒÈ" - "ºÃÃÂÒÂ" - "ºÃÃÅÑÂ" - "ºÃÃÅØ" - "ºÃÃÉÑ·" - "ºÃÃËÒÃ" - "ºÃÃà¨Ô´" - "ºÃÃà·Ò" - "ºÃÃàŧ" - "ºÃÃâÅÁ" - "ºÃÑè¹´Õ" - "ºÃÒÇà«ÍÃì" - "ºÃÔ" - "ºÃÔ¡ÃÃÁ" - "ºÃÔ¡ÒÃ" - "ºÃÔ¢ÒÃ" - "ºÃÔ¤³Ëì" - "ºÃÔ¨Ò¤" - "ºÃÔ¨Òá" - "ºÃÔ¨ÒÃÔ¡Ò" - "ºÃÔºÒÅ" - "ºÃÔºÙóì" - "ºÃԾѵÃ" - "ºÃÔ¾ÒÃ" - "ºÃÔÀѳ±ì" - "ºÃÔÀÒÉ" - "ºÃÔÃÑ¡Éì" - "ºÃÔÃÒª" - "ºÃÔÇÒÃ" - "ºÃÔÉÑ·" - "ºÃÔÊØ·¸Ôì" - "ºÃÔËÒÃ" - "ºÃÔà©·" - "ºÃÔ൹" - "ºÃÔàdz" - "ºÃÔâÀ¤" - "ºÅçÍ¡" - "ºÇ¡" - "ºÇ§" - "ºÇª" - "ºÇ¹" - "ºÇº" - "ºÇÁ" - "ºÇÃ" - "ºÍ" - "ºÍ¡" - "ºÍ´" - "ºÍ´Õé" - "ºÍ¹" - "ºÍº" - "ºÍÃì¡" - "ºÍÃì´" - "ºÍÃìà¹ÕÂÇ" - "ºÍÅ" - "ºÍÅÅÙ¹" - "ºÐËÁÕè" - "ºÑ¡" - "ºÑ¤àµÃÕ" - "ºÑ§" - "ºÑ§¡ÐâÅ" - "ºÑ§¤Á" - "ºÑ§¤Å" - "ºÑ§¤Ñº" - "ºÑ§ÊØ¡ØÅ" - "ºÑ§ÍÃ" - "ºÑ§ÍÒ¨" - "ºÑ§à¡Ô´" - "ºÑ§àËÕ¹" - "ºÑ§àÍÔ­" - "ºÑ­ªÃ" - "ºÑ­ªÒ" - "ºÑ­ªÕ" - "ºÑ­­ÑµÔ" - "ºÑ³±Ôµ" - "ºÑ³±ÔµÂì" - "ºÑ³±Ø" - "ºÑ³±ÙÃ" - "ºÑ³³ÒÊ" - "ºÑ³ÃÊ" - "ºÑ³ÃÊÕ" - "ºÑ³à±ÒСì" - "ºÑ³à±ÒÐÇì" - "ºÑ´" - "ºÑ´¡ÃÕ" - "ºÑ´«º" - "ºÑ´ÊÕ" - "ºÑµÃ" - "ºÑ¹" - "ºÑ¹´ÒÅ" - "ºÑ¹·Ö¡" - "ºÑ¹ÂкѹÂѧ" - "ºÑ¹Å×Í" - "ºÑ¹à·Ô§" - "ºÑ¹ä´" - "ºÑ»¼ÒÊÐ" - "ºÑ¾" - "ºÑÅ¡ÒàÃÕÂ" - "ºÑÅÅѧ¡ì" - "ºÑÅÅÙ¹" - "ºÑÇ" - "ºÑÊ" - "ºÑè¹" - "ºÑé§" - "ºÑé¹" - "ºÑê¡" - "ºÒ" - "ºÒ¡" - "ºÒ§" - "ºÒ´" - "ºÒ´·ÐÂÑ¡" - "ºÒ´ÒÅ" - "ºÒµ" - "ºÒµÃ" - "ºÒ·" - "ºÒ·º§ÊØì" - "ºÒ·ËÅǧ" - "ºÒ·Ò¸Ö¡" - "ºÒ·Ø¡Ò" - "ºÒ¹" - "ºÒ¹ª×è¹" - "ºÒ¹ºØÃÕ" - "ºÒ¹ÕÂÐ" - "ºÒ¹àªéÒ" - "ºÒ¹àÂç¹" - "ºÒ»" - "ºÒÂ" - "ºÒÃÁÕ" - "ºÒÃÍÁÔàµÍÃì" - "ºÒÃì" - "ºÒÃìàÃÅ" - "ºÒÅ" - "ºÒÅÕ" - "ºÒÈ" - "ºÒÈ¡ì" - "ºÒÊࡵºÍÅ" - "ºÒËÅÕ" - "ºÓ¹Ò­" - "ºÓºÑ´" - "ºÓÃÒº" - "ºÓÃÒÈ" - "ºÓÃا" - "ºÓÃÙ" - "ºÓà¾ç­" - "ºÓàÃÍ" - "ºÓà˹ç¨" - "ºÔ" - "ºÔ°" - "ºÔ³±ºÒµ" - "ºÔ´" - "ºÔ´¾ÅÔéÇ" - "ºÔ´Ã" - "ºÔ´Ò" - "ºÔµ" - "ºÔ¹" - "ºÔÅ" - "ºÔÅàÅÕ´" - "ºÔè¹" - "ºÕ±Ò" - "ºÕ¹" - "ºÕº" - "ºÕé" - "ºÖ¡" - "ºÖ¡ºÖ¹" - "ºÖ§" - "ºÖè§" - "ºÖé§" - "ºØ" - "ºØ¡" - "ºØ¡ÃØ¡" - "ºØ¡É¡" - "ºØ¤¤Å" - "ºØ¤ÅÒ¡Ã" - "ºØ¤ÅÒ¸ÔÉ°Ò¹" - "ºØ¤ÅÔ¡" - "ºØ¤ÅÔ¡ÀÒ¾" - "ºØ­" - "ºØ­­Ò¹ØÀÒ¾" - "ºØ­­ÒÀÔ¹ÔËÒÃ" - "ºØ³±ÃÔ¡" - "ºØ³Âì" - "ºØµÃ" - "ºØµÃÒ" - "ºØµÃÕ" - "ºØº" - "ºØ»¼ªÒµÔ" - "ºØ¾¡ÃÃÁ" - "ºØ¾¡ÒÃÕ" - "ºØ¾¡Ô¨" - "ºØ¾ªÒµÔ" - "ºØ¾·Ñ¡ÉÔ³" - "ºØ¾¹ÔÁÔµ" - "ºØ¾º·" - "ºØ¾¾Ò¨ÒÃÂì" - "ºØ¾à¾Êѹ¹ÔÇÒÊ" - "ºØ¿à¿èµì" - "ºØþ·ÔÈ" - "ºØþº·" - "ºØþҨÒÃÂì" - "ºØÃÒ³" - "ºØÃÔÁ·ÔÈ" - "ºØÃÔÁ¾ÃÃÉÒ" - "ºØÃÔÁÊÔ·¸Ô" - "ºØÃÕ" - "ºØÃØÉ" - "ºØÉ¡Ã" - "ºØɺ§" - "ºØɺÒ" - "ºØÉÂÁÒÊ" - "ºØÉÃÒ¤ÑÁ" - "ºØ˧ѹ" - "ºØ˧Ò" - "ºØËç" - "ºØËÃÕè" - "ºØËÅѹ" - "ºØâ÷Ñè§" - "ºØèÁºèÒÁ" - "ºØé§" - "ºØéÂ" - "ºØëÁ" - "ºÙªÒ" - "ºÙªÒÂÑ­" - "ºÙ´" - "ºÙµ" - "ºÙóÀÒ¾" - "ºÙóÐ" - "ºÙþÒ" - "ºÙþҨÒÃÂì" - "ºÙé" - "ºÙê" - "ºè" - "ºè§" - "ºè¹" - "ºèÁ" - "ºèǧ" - "ºèÍ" - "ºèͧ" - "ºè͹" - "ºèÍÂ" - "ºèÒ" - "ºèÒ§" - "ºèÒÂ" - "ºèÒÇ" - "ºéǹ" - "ºéͧ" - "ºéͧáºêÇ" - "ºéÍÁ" - "ºéÒ" - "ºéÒ§" - "ºéÒ¹" - "ºéÒÃÐËèÓ" - "ºê§àºê§" - "ºêÇÂ" - "ºêͧ" - "ºêÐ" - "ºëÍÁ" - "ºëÍÂ" - "ºëÓ" - "»¡" - "»¡¤Ãͧ" - "»¡µÔ" - "»¡Ã³ì" - "»¡ÒÃ" - "»¡Ô³¡Ð" - "»¯Ñ¡" - "»¯Ô¡Ã³ì" - "»¯Ô¡ÃÃÁ" - "»¯Ô¡ÔÃÔÂÒ" - "»¯Ô¡ÙÅ" - "»¯Ô¤Á" - "»¯ÔªÕǹÐ" - "»¯Ô­­Ò" - "»¯Ô­Ò³" - "»¯Ô·Ô¹" - "»¯Ôº¶" - "»¯ÔºÑµÔ" - "»¯Ô»·Ò" - "»¯Ô»Ñ¡Éì" - "»¯Ô¾Ñ·¸ì" - "»¯Ô¾Ò¡Âì" - "»¯ÔÀÒ¤" - "»¯ÔÀÒ³" - "»¯ÔÁÒ" - "»¯ÔÁÒ¡Ã" - "»¯ÔÂØ·¸ì" - "»¯ÔÃÙ»" - "»¯ÔÇѵÔ" - "»¯ÔÇÒµ" - "»¯ÔÇÒ·" - "»¯Ôʹ¸Ô" - "»¯ÔÊѧ¢Ã³ì" - "»¯ÔÊѹ¶ÒÃ" - "»¯ÔÊÑÁ¾Ñ¹¸ì" - "»¯ÔàǸ" - "»¯Ôàʸ" - "»¯ÔâÅÁ" - "»°¾Õ" - "»°Á" - "»°Á·Ñȹì" - "»°Á¹Ôà·È" - "»°Á¾ÂÒºÒÅ" - "»°ÁÄ¡Éì" - "»°ÁÇÑÂ" - "»°Áà·È¹Ò" - "»³µ" - "»³Ô¸Ò¹" - "»´" - "»¶¾Õ" - "»·Ò¹Ø¡ÃÁ" - "»·ØÁ" - "»·ØÁ¸Ò¹Õ" - "»¹" - "»¹Ñ´´Ò" - "»¹à»" - "»º" - "»Á" - "»Ã¡" - "»Ã¡µÔ" - "»Ã§" - "»Ã¹" - "»Ã¹¹ÔºÑµÔ" - "»Ã¹ÑÂ" - "»Ãº" - "»Ã»Ñ¡Éì" - "»ÃÁѵ¶ì" - "»ÃÁÒ¨ÒÃÂì" - "»ÃÁÒ³Ù" - "»ÃÁÒÀÔàÉ¡" - "»ÃÁÒÀÔä¸Â" - "»ÃÇ´" - "»Ãǹá»Ã" - "»ÃÇÒ·Õ" - "»ÃÊÔµ" - "»Ãͧ´Í§" - "»ÃÍ´" - "»ÃÍ·" - "»ÃÍÂ" - "»ÃÐ" - "»ÃСº" - "»ÃСǴ" - "»ÃСͺ" - "»ÃСѹ" - "»ÃСѺ" - "»ÃСÒÂ" - "»ÃСÒÃ" - "»ÃСÒÈ" - "»ÃСÒȹÕºѵÃ" - "»ÃСÒÈÔµ" - "»ÃСԴ" - "»ÃФº" - "»ÃФº»ÃÐ˧Á" - "»ÃФͧ" - "»ÃФÓ" - "»ÃШº" - "»ÃШǺ" - "»ÃШѡÉì" - "»ÃШѭ" - "»ÃШѹ" - "»ÃШҤ" - "»ÃШҹ" - "»ÃШÓ" - "»ÃШÔÁ" - "»ÃШØ" - "»ÃШëÍ»ÃÐá¨ë" - "»ÃЪ´" - "»ÃЪÇÃ" - "»ÃЪѹ" - "»ÃЪÒ" - "»ÃЪҪ¹" - "»ÃЪҸԻѵÂì" - "»ÃЪҸԻäµÂ" - "»ÃЪÒÀÔºÒÅ" - "»ÃЪԴ" - "»ÃЪØÁ" - "»Ãгµ" - "»ÃгÁ" - "»ÃгÒÁ" - "»ÃгԸҹ" - "»ÃгԸÔ" - "»Ãгյ" - "»Ãд¹" - "»Ãдǹ" - "»Ãд͹" - "»Ãдѡ»ÃÐà´Ô´" - "»Ãдѧ" - "»ÃдѺ" - "»ÃдÒ" - "»Ãдһ" - "»ÃдÒÉ" - "»ÃдԴ»ÃдÍÂ" - "»ÃдԷԹ" - "»ÃдÔÉ°Ò¹" - "»ÃдÔÉ°ì" - "»Ãдا" - "»Ãдب" - "»ÃдÙè" - "»ÃеÙ" - "»ÃжÁ" - "»Ãзǹ" - "»ÃзѡÉì" - "»Ãзѧ" - "»ÃзѴ" - "»ÃзѺ" - "»Ãзҹ" - "»ÃзԹ" - "»ÃзÔè¹" - "»Ãзջ" - "»Ãзع" - "»ÃзØÉ" - "»ÃзØÉÃéÒÂ" - "»Ãзéǧ" - "»Ãиҹ" - "»ÃиҹҸԺ´Õ" - "»ÃйÁ" - "»ÃйÍÁ" - "»ÃйջÃйÍÁ" - "»ÃлÃÒÂ" - "»ÃлÒ" - "»ÃоĵÔ" - "»ÃоĸÔì" - "»Ãоѷ¸ì" - "»Ãоѹ¸ì" - "»Ãоҵ" - "»ÃоÒÊ" - "»ÃоÒÌ" - "»ÃоԳ" - "»Ãоط¸ì" - "»ÃÐÀÑÊÊÃ" - "»ÃÐÀÒ" - "»ÃÐÀÒ¤ÒÃ" - "»ÃÐÀÒ¾" - "»ÃÐÀÒÊ" - "»ÃÐÁ§" - "»ÃÐÁÇ­" - "»ÃÐÁÇÅ" - "»ÃÐÁÒ³" - "»ÃÐÁÒ·" - "»ÃÐÁØ¢" - "»ÃÐÁØ·" - "»ÃÐÁÙÅ" - "»ÃÐÂØ¡µì" - "»ÃÐÂØ·¸ì" - "»ÃÐÂÙÃ" - "»ÃÐÅÁ¾ì" - "»ÃÐÅͧ" - "»ÃÐÅÑÂ" - "»ÃÐÅÒµ" - "»ÃÐÇÃõ" - "»ÃÐÇÃõ¹ì" - "»ÃÐÇѵÔ" - "»ÃÐÇѵԡÒóì" - "»ÃÐÇѵÔÈÒʵÃì" - "»ÃÐÇÒµ" - "»ÃÐÇÒÅ" - "»ÃÐÇÒÊ" - "»ÃÐÇÔ§" - "»ÃÐÇÔª" - "»ÃÐÇÔµÃ" - "»ÃÐÇÕ³" - "»ÃÐÈÁ" - "»ÃÐÈÒʹì" - "»ÃÐÊ¡" - "»ÃÐʧ¤ì" - "»ÃÐʺ" - "»ÃÐʺ¡Òóì" - "»ÃÐʾ" - "»ÃÐÊÒ" - "»ÃÐÊÒ·" - "»ÃÐÊÒ¹" - "»ÃÐÊÔ·¸Ô¼Å" - "»ÃÐÊÔ·¸ÔÀÒ¾" - "»ÃÐÊÔ·¸Ôì" - "»ÃÐÊÙµÔ" - "»ÃÐËÁèÒ" - "»ÃÐËÂÑ´" - "»ÃÐËÅÒ´" - "»ÃÐËÅèÓ" - "»ÃÐËÒÃ" - "»ÃÐÎÒÁ" - "»ÃÐह" - "»ÃÐਡ" - "»ÃÐà¨Ô´»ÃÐà¨éÍ" - "»ÃÐà¨Õ´" - "»ÃÐà´" - "»ÃÐà´ÔÁ" - "»ÃÐà´Õ§" - "»ÃÐà´ÕëÂÇ" - "»ÃÐà´ÕëÂÇ»ÃдëÒÇ" - "»ÃÐà´ç¹" - "»ÃÐà·È" - "»ÃÐà·ÈÃÒª" - "»ÃÐà·Èä·Â" - "»ÃÐà·×ͧ" - "»ÃÐླÕ" - "»ÃÐàÀ·" - "»ÃÐàÁÔ¹" - "»ÃÐàdzÕ" - "»ÃÐàÇÈ" - "»ÃÐàÇȹì" - "»ÃÐàÊÃÔ°" - "»ÃÐá¡¡" - "»ÃÐá¨" - "»ÃÐâ¤Á" - "»ÃÐâ¤" - "»ÃÐ⪹ì" - "»ÃÐâÅÁ" - "»ÃÑ¡" - "»Ãѧ" - "»ÃѪ­Ò" - "»ÃѵÂصºÑ¹" - "»ÃѵÂغѹ" - "»Ãѹ" - "»ÃѺ" - "»ÃÑÁ»ÃÒ" - "»ÃÑȹÕ" - "»ÃÑÈÇì" - "»ÃÒ¡¯" - "»ÃÒ¡ÃÁ" - "»ÃÒ¡ÒÃ" - "»ÃÒ¤ÀÒÃ" - "»ÃÒ§" - "»ÃÒ§¤ì" - "»ÃÒ¨Õ¹" - "»ÃÒª­Ò" - "»ÃÒª­ì" - "»ÃÒªÑÂ" - "»ÃÒªÔµ" - "»ÃÒ³" - "»ÃÒ³Õ" - "»ÃÒ´" - "»ÃÒ¹Õ" - "»ÃÒº" - "»ÃÒº´ÒÀÔàÉ¡" - "»ÃÒ»µì" - "»ÃÒÀ¾" - "»ÃÒÁ" - "»ÃÒÁÒÊ" - "»ÃÒÂ" - "»ÃÒö¹Ò" - "»ÃÒÃÀ" - "»ÃÒÃÁÀì" - "»ÃÒÈ" - "»ÃÒÈÃÑÂ" - "»ÃÒÈÒÃ" - "»ÃÒɳÕ" - "»ÃÒÉÒ³" - "»ÃÒÊÒ·" - "»ÃÒâÁª" - "»ÃÒâÁ·Âì" - "»ÃÓ" - "»ÃÔ" - "»ÃÔ¡" - "»ÃÔ¤³Ëì" - "»ÃÔ¨Ò¤" - "»ÃÔ¨ÒÃÔ¡Ò" - "»ÃÔ«ÖÁ" - "»ÃÔ­­Ò" - "»ÃÔ³ÒÁ" - "»ÃÔ³Ò¡" - "»ÃÔµ" - "»ÃÔµµÐ" - "»ÃÔµÃ" - "»ÃÔ·ÃÃȹì" - "»ÃÔ·Ñȹì" - "»ÃÔ¹" - "»ÃÔ¹Êì" - "»ÃÔ¹Ô¾¾Ò¹" - "»ÃÔº" - "»ÃÔÁ³±Å" - "»ÃÔÁÑ·" - "»ÃÔÁÒ³" - "»ÃÔÁÒµÃ" - "»ÃÔÂѵÔ" - "»ÃÔÂÒÂ" - "»ÃÔÇÃõ" - "»ÃÔÇÒÊ" - "»ÃÔȹÒ" - "»ÃÔà©·" - "»ÃÔèÁ" - "»ÃÕªÒ" - "»ÃÕ´Ò" - "»ÃÕ´Ôì" - "»ÃÕÂÒ" - "»ÃÕè" - "»ÃÕê´" - "»ÃÖ¡ÉÒ" - "»Ã×Í" - "»Ã×ëÍ" - "»ÃØ" - "»Ãا" - "»ÃÙ´" - "»ÃÙê´»ÃêÒ´" - "»ÃÙê¿" - "»ÃàÁ¹·Ãì" - "»ÃâÅ¡" - "»ÃèÒ" - "»ÃëÍ" - "»Ä¨©Ò" - "»Äɮҧ¤ì" - "»Å¡" - "»Å§" - "»Å´" - "»ÅÇ¡" - "»ÅÍ¡" - "»ÅÍ´" - "»ÅÍ´ÀÑÂ" - "»Åͺ" - "»ÅÍÁ" - "»ÅÐ" - "»ÅÑ¡" - "»ÅÑ´" - "»ÅÑè§" - "»ÅÑê¡" - "»ÅÑê¡ÍÔ¹" - "»ÅÒ" - "»ÅÒµ" - "»ÅÒº" - "»ÅÒÂ" - "»ÅÒÇÒÌ" - "»ÅÒʹҡÒÃ" - "»ÅÒÊàµÍÃì" - "»ÅÔ§" - "»ÅÔ´" - "»ÅÔÇ" - "»ÅÔ⾸" - "»ÅÔèÁ" - "»ÅÔé¹" - "»ÅÕ" - "»ÅÕ¡" - "»Å×éÁ" - "»ÅØ¡" - "»ÅÙ¡" - "»Åè§" - "»Åèͧ" - "»ÅèÍÂ" - "»Åé¹" - "»Åéͧ" - "»Åé͹" - "»ÅéÓ" - "»Ç¡à»Õ¡" - "»Ç§" - "»Ç´" - "»ÇÒóÒ" - "»ÈØ" - "»Í" - "»Í¡" - "»Í§" - "»Í´" - "»Í¹" - "»Í¹´ì" - "»Íº" - "»ÍÂ" - "»ÍÃì" - "»ÍÃìµØà¡Ê" - "»Ð" - "»Ð¡¹" - "»Ð¡ÒÃѧ" - "»Ð¢ÒÇ" - "»Ð·Ð" - "»Ð·Ø" - "»Ð˧Ѻ" - "»ÐàËÅÒÐ" - "»ÐáÅèÁ" - "»Ðâŧ" - "»Ñ¡" - "»Ñ¡¡Ôè§" - "»Ñ¡ÉÒ" - "»Ñ¡ÉÒÇÊÒ¹" - "»Ñ¡ÉÔ³" - "»Ñ¡ÉÔ¹" - "»Ñ¡ÉÕ" - "»Ñ¡Éì" - "»Ñ¡à»éÒ" - "»Ñ§" - "»Ñ§ÊØ¡ØÅ" - "»Ñ¨¨Ñ¹µ¤ÒÁ" - "»Ñ¨¨Ñ¹µª¹º·" - "»Ñ¨¨Ñ¹µ»ÃÐà·È" - "»Ñ¨¨Ñ¹µì" - "»Ñ¨¨ÑÂ" - "»Ñ¨¨ÒÁÔµÃ" - "»Ñ¨¨ØºÑ¹" - "»Ñ¨¨ØÊÁÑÂ" - "»Ñ¨©Ò" - "»Ñ¨©ÔÁ" - "»Ñ¨à¨¡" - "»Ñ­¨ÇѤ¤ÕÂì" - "»Ñ­­Ò" - "»Ñ­ËÒ" - "»Ñ´" - "»ÑµµÒ¹Õ" - "»ÑµµÒàÇÕÂ" - "»Ñ·Áì" - "»Ñ¹" - "»Ñº" - "»Ñ»¼ÒÊÐ" - "»ÑÊÊÒÇÐ" - "»ÑÊÊÒÊÐ" - "»Ñè¹" - "»Ñé¹" - "»Ñêº" - "»ÑêÁ" - "»Ñë§" - "»Ò" - "»Ò¡" - "»Ò¡¡Ò" - "»Ò¡Õʶҹ" - "»Ò§" - "»Ò¯ÔËÒÃÔÂì" - "»Ò°¡" - "»Ò°¡¶Ò" - "»Ò³ÒµÔºÒµ" - "»Ò´" - "»ÒµÔâÁ¡¢ì" - "»Ò·Ñ§¡Ò" - "»Ò·èͧâ¡ë" - "»Ò¹" - "»Ò»ÑÇ" - "»ÒÁ" - "»ÒÂÒÊ" - "»ÒÃÒªÔ¡" - "»ÒÃԩѵÃ" - "»ÒÃÔªÒµ" - "»ÒÃÕÊ" - "»ÒÃìࡵì" - "»ÒÅÕ" - "»ÒÅìÁ" - "»ÒÇ" - "»Ò˹ѹ" - "»ÒËÕè" - "»ÒâÁ¡¢ì" - "»Ó" - "»Ô¡¹Ô¡" - "»Ô§»Í§" - "»Ô®¡" - "»Ô´" - "»ÔµÒ" - "»ÔµÔ" - "»ÔµØ" - "»ÔµØ¦Òµ" - "»ÔµØÀÙÁÔ" - "»ÔµØÅÒ" - "»ÔÂÁÔµÃ" - "»ÔÂÐ" - "»ÔÈÒ¨" - "»ÔâµÃàÅÕÂÁ" - "»ÔâÂÃÊ" - "»Ôè¹" - "»Ôè¹âµ" - "»ÔèÁ" - "»Ôé§" - "»ÔéÁ" - "»ÔëÇ" - "»Õ" - "»Õ¡" - "»Õ¹" - "»Õº" - "»ÕÁÐâÇé" - "»ÕÈÒ¨" - "»Õè" - "»Õé" - "»Õê´" - "»Õêº" - "»Õë" - "»Ö¡" - "»Ö§" - "»Öè§" - "»Öé´" - "»Öë§" - "»×¹" - "»×é¹" - "»×ëÍ" - "»Ø" - "»Ø¡" - "»Ø¨©Ò" - "»Ø´" - "»Ø¶Øª¹" - "»Øº" - "»ØÂ" - "»ØâÃËÔµ" - "»ØèÁ" - "»Ø駡Õë" - "»ØéÁ" - "»Øê" - "»Øêº" - "»ØëÁ" - "»ØëÂ" - "»Ù" - "»Ùª¹Õºؤ¤Å" - "»Ùª¹ÕÂÇѵ¶Ø" - "»Ù´" - "»Ù¹" - "»ÙÁ" - "»Ùè" - "»ÙéÂÕé»ÙéÂÓ" - "»àdzÕ" - "»è¹" - "»èǧ" - "»èǹ" - "»èÇÂ" - "»èͧ" - "»èÒ" - "»èÒ¹" - "»èÒÂ" - "»èÒÇ" - "»éǹ" - "»éǹà»Õé¹" - "»éÍ" - "»éͧ" - "»éͧ¡Ñ¹" - "»é͹" - "»éÍÁ" - "»éÍÂ" - "»éÍá»é" - "»éÒ" - "»éÒ§" - "»éÒ¹" - "»éÒº" - "»éÒÂ" - "»éÓ" - "»êÍ¡¡Õé" - "»êÒº" - "»ëÍ" - "»ëÍÁ" - "»ëÒ" - "¼¡" - "¼¡Ò" - "¼¡ÒÂ" - "¼§" - "¼§¡" - "¼§Ð" - "¼§Ò´" - "¼¨§" - "¼¨­" - "¼´" - "¼´Ø§" - "¼¹Ç¡" - "¼¹Çª" - "¼¹Ñ§" - "¼¹Ö¡" - "¼Á" - "¼Áºêͺ" - "¼Âͧ" - "¼ÃØÊÇÒ·" - "¼Å" - "¼ÅÐ" - "¼ÅÑ¡" - "¼ÅÑ´" - "¼ÅÑÇÐ" - "¼ÅÒ­" - "¼ÅÒ¹ÔʧÊì" - "¼ÅÒ¼Å" - "¼ÅÒËÒÃ" - "¼ÅÔ" - "¼ÅÔµ" - "¼ÅÔµÀѳ±ì" - "¼ÅÕ¼ÅÒÁ" - "¼ÅÖ¡" - "¼ÅÖè§" - "¼ÅØ" - "¼Åا" - "¼ÅØ´" - "¼Åع" - "¼Åغ" - "¼ÅØÂ" - "¼ÅÙ" - "¼ÅçÍÂ" - "¼Ç¹" - "¼ÇÂ" - "¼ÇÒ" - "¼ÊÁ" - "¼ÊÒ¹" - "¼ÊÒÂ" - "¼Í¡" - "¼Í§" - "¼Í´" - "¼Íº" - "¼ÍÁ" - "¼ÍÇ´" - "¼ÍÙ¹" - "¼Ð" - "¼Ñ¡" - "¼Ñ§" - "¼Ñ´" - "¼Ñ¹" - "¼Ñ¹¼Ç¹" - "¼Ñº" - "¼ÑÇ" - "¼ÑÇÐ" - "¼Ò" - "¼Ò¡" - "¼Ò§" - "¼Ò³Ôµ" - "¼Ò´" - "¼ÒÂ" - "¼Ô" - "¼Ô§" - "¼Ô´" - "¼Ô¹" - "¼ÔÇ" - "¼Õ" - "¼Ö§" - "¼Öè§" - "¼Öé§" - "¼×¹" - "¼×è¹" - "¼Ø" - "¼Ø´" - "¼Ø¼§" - "¼Ù¡" - "¼Ùé" - "¼çÍÂ" - "¼èͧ" - "¼è͹" - "¼èÍÂ" - "¼èÒ" - "¼èÒ¹" - "¼èÒ¼ÍÁ" - "¼èÒÇ" - "¼éÒ" - "½¹" - "½ÃÑè§" - "½ÃÑè§àÈÊ" - "½ÍÂ" - "½Ñ¡" - "½Ñ§" - "½Ñ´" - "½Ñ¹" - "½Ñè§" - "½Ò" - "½Ò¡" - "½Ò§" - "½Ò´" - "½Ò¹" - "½ÒÂ" - "½Ôè¹" - "½Õ" - "½Ö¡" - "½×´" - "½×¹" - "½Øè¹" - "½Ù§" - "½èÍ" - "½èÒ" - "½èÒÂ" - "½éÒ" - "½éÒÂ" - "¾¡" - "¾§" - "¾§ÈÒÇ´ÒÃ" - "¾§Èì" - "¾¨¹Ò" - "¾¨¹Ò¹Ø¡ÃÁ" - "¾¨¹Òö" - "¾¨¹ÕÂì" - "¾¨¹ì" - "¾¨ÁÒ¹" - "¾¨Õ" - "¾­Ò" - "¾­ÒÅÍ" - "¾³Ôª" - "¾³ÔªÂì" - "¾´" - "¾¸Ù" - "¾¹Á" - "¾¹Ñ¡" - "¾¹Ñ¡§Ò¹" - "¾¹Ñ§" - "¾¹Ñ¹" - "¾¹ÑÊ" - "¾¹Ò" - "¾¹Ò´Ã" - "¾¹ÒÃÒÁ" - "¾¹ÒÅÑÂ" - "¾¹Ô´Ò" - "¾º" - "¾ÁèÒ" - "¾Â¹µì" - "¾ÂÈ" - "¾ÂÑ¡" - "¾ÂÑ¡¾àÂÔ´" - "¾ÂѤ¦Ò" - "¾ÂѤ¦Ô¹" - "¾ÂѤ¦Õ" - "¾ÂѤ¦ì" - "¾ÂÑ­ª¹Ð" - "¾Âѵ" - "¾ÂѺ" - "¾Âҡóì" - "¾ÂÒ§¤ì" - "¾ÂÒ¸Ô" - "¾ÂÒ¹" - "¾ÂÒºÒ·" - "¾ÂÒºÒÅ" - "¾ÂÒÂÒÁ" - "¾ÂØ" - "¾Âا" - "¾ÂØËÂÒµÃÒ" - "¾ÂØËÐ" - "¾ÂØËàʹÒ" - "¾Ã" - "¾Ãµ" - "¾ÃÁ" - "¾ÃÃ" - "¾Ãä" - "¾Ãäì" - "¾Ãó" - "¾Ãó¹Ò" - "¾ÃÃÉ" - "¾ÃÃÉÒ" - "¾ÃÇ´" - "¾Ãǹ" - "¾ÃËÁ" - "¾ÃËÁ¨ÃÃÂì" - "¾ÃËÁ¨ÒÃÔ³Õ" - "¾ÃËÁ¨ÒÃÕ" - "¾ÃÍ´" - "¾ÃÐ" - "¾ÃÐÃÒªÇѧ" - "¾ÃÐͧ¤ì" - "¾ÃÐà¨éÒÍÂÙèËÑÇ" - "¾ÃÑ¡¾ÃéÍÁ" - "¾ÃÑ´" - "¾ÃÑè§" - "¾ÃÑè¹" - "¾ÃÒ¡" - "¾ÃÒ§" - "¾ÃÒ´" - "¾ÃÒ¹" - "¾ÃÒÂ" - "¾ÃÒÇ" - "¾ÃÒËÁ³ì" - "¾ÃÓ" - "¾ÃÔ¡" - "¾ÃÔ¹àµÍÃì" - "¾ÃÔº" - "¾ÃÔé§" - "¾ÃÔéÁ" - "¾ÃÕàÁÕÂÁ" - "¾ÃÕàÁÕÂÃì" - "¾ÃÖ§" - "¾ÃÖ¹" - "¾ÃÖº" - "¾Ã×´" - "¾ÃØ" - "¾ÃØ¡" - "¾Ãع" - "¾ÃØè§" - "¾ÃÙ" - "¾ÃÙ´" - "¾Ãèͧ" - "¾ÃèÍÁ¾ÃéÍ" - "¾ÃèÍÂ" - "¾ÃèÒ" - "¾ÃèÒ§" - "¾ÃèÓ" - "¾Ãéͧ" - "¾ÃéÍÁ" - "¾ÃéÍÁ¾ÃÑ¡" - "¾ÃéÍÂ" - "¾ÃéÒ" - "¾ÃéÓ" - "¾Ä¡ÉªÒµÔ" - "¾Ä¡É·Å" - "¾Ä¡ÉÃÒª" - "¾Ä¡ÉÈÒʵÃì" - "¾Ä¡ÉÒ" - "¾Ä¡Éà·Ç´Ò" - "¾Ä¡Éì" - "¾Ä²" - "¾Ä²Ò" - "¾Ä²Ò¨ÒÃÂì" - "¾Ä²Ô" - "¾Äµ" - "¾ÄµÔ" - "¾ÄµÔ¡ÃÃÁ" - "¾ÄµÔ¡Òóì" - "¾ÄµÔ¹ÑÂ" - "¾Ä·¸Ôì" - "¾Ä·¸ì" - "¾Ä¹µì" - "¾Ä¹·ì" - "¾ÄȨÔ" - "¾ÄȨԡÒ¹" - "¾ÄÉÀ" - "¾ÄÉÀÒ¤Á" - "¾ÄËÑÊ" - "¾ÄËÑʺ´Õ" - "¾Å" - "¾Å¡ÒÃ" - "¾Å¤ÇÒÁ" - "¾Åº" - "¾Åǧ" - "¾ÅÇѵ" - "¾ÅÈÖ¡ÉÒ" - "¾Åͧ" - "¾ÅÍ´" - "¾ÅÍÁá¾ÅÁ" - "¾ÅÍÂ" - "¾ÅÐ" - "¾Åѧ" - "¾Åѧ§Ò¹" - "¾ÅÑ´" - "¾Åѹ" - "¾ÅѺ" - "¾ÅѺ¾ÅÒ" - "¾ÅѺ¾ÅÖ§" - "¾ÅÑè¡" - "¾ÅÑè§" - "¾ÅÑèÇ" - "¾ÅÑé§" - "¾ÅÒ¡Ã" - "¾ÅÒ§" - "¾ÅÒ´" - "¾ÅÒ¸Ô¡ÒÃ" - "¾ÅÒ¹ÒÁÑÂ" - "¾ÅÒÁ" - "¾ÅÒÂ" - "¾ÅÒʵԡ" - "¾ÅÒÊÁÒ" - "¾ÅÒË¡" - "¾ÅÔ¡" - "¾ÅÔéÇ" - "¾ÅÕ" - "¾ÅØ" - "¾ÅØ¡" - "¾ÅØè¡" - "¾ÅØè§" - "¾ÅØéÂ" - "¾ÅÙ" - "¾ÅàÁ×ͧ" - "¾ÅàÃ×͹" - "¾ÅâÅ¡" - "¾ÅèÍÂ" - "¾ÅèÒ" - "¾ÅèÒ¹" - "¾ÅèÒÁ" - "¾ÅéÓ" - "¾Ç¡" - "¾Ç§" - "¾Ç¹" - "¾ÇÂ" - "¾Ê¡" - "¾ÊظÒ" - "¾ËÅ" - "¾ËÅâ¸Թ" - "¾ËØ" - "¾ËÙ" - "¾ËÙ¾¨¹ì" - "¾ËÙÊÙµ" - "¾Í" - "¾Í¡" - "¾Í§" - "¾Í·ÑÅ" - "¾ÍÃìµ" - "¾Ð" - "¾Ð¾Ô§" - "¾ÐÂÙ¹" - "¾ÐÃا¾ÐÃѧ" - "¾Ðǧ" - "¾ÐÇÑ¡¾Ðǹ" - "¾ÐÇéÒ¾ÐÇѧ" - "¾Ðͧ" - "¾ÐÍ×´¾ÐÍÁ" - "¾Ðà¹Õ§" - "¾Ðà¹éҾйÍ" - "¾ÐàÂÔº" - "¾ÐàÂÔº¾ÐÂÒº" - "¾Ðṧ" - "¾ÐâÅé" - "¾Ñ¡" - "¾Ñ¡µÃì" - "¾Ñ§" - "¾Ñ§§Ò" - "¾Ñ§¼×´" - "¾Ñ§¾ÇÂ" - "¾Ñ§¾Í¹" - "¾Ñ§¾Òº" - "¾Ñ§à¾Â" - "¾ÑªÃ" - "¾Ñ²¹Ð" - "¾Ñ²¹Ò" - "¾Ñ´" - "¾ÑµÃ" - "¾Ñ·¸ÊÕÁÒ" - "¾Ñ·ÂÒ" - "¾Ñ·Åا" - "¾Ñ¹" - "¾Ñ¹·Ò§" - "¾Ñ¹¸¡Ã³Õ" - "¾Ñ¹¸·Ô¾Âì" - "¾Ñ¹¸¹Ò¡ÒÃ" - "¾Ñ¹¸ºÑµÃ" - "¾Ñ¹¸ÁÔµÃ" - "¾Ñ¹¸Ð" - "¾Ñ¹¸Ø" - "¾Ñ¹¸Øì" - "¾Ñ¹¸ì" - "¾Ñº" - "¾ÑÅÅÀ" - "¾ÑÅÇѹ" - "¾ÑÇ" - "¾ÑÇÐ" - "¾ÑÈ´Õ" - "¾ÑÊ´Ø" - "¾ÑʵÃì" - "¾Ñʶҹ" - "¾Ò" - "¾Ò¡" - "¾Ò¡Âì" - "¾Ò§" - "¾Ò³" - "¾Ò³Ôª" - "¾Ò³ÔªÂì" - "¾Ò³Õ" - "¾Ò³Õ¹Õ" - "¾Ò´" - "¾Òµ" - "¾Ò·" - "¾Ò·Âì" - "¾Ò¸" - "¾Ò¸Ò" - "¾Ò¹" - "¾Ò¹Ã" - "¾ÒÁ" - "¾ÒÂ" - "¾ÒÂѾ" - "¾ÒÂØ" - "¾Òó" - "¾ÒÃÒ" - "¾ÒÃÒ¿Ô¹" - "¾ÒÃì" - "¾ÒÅ" - "¾ÒÅÕ" - "¾ÒÊ" - "¾ÒʹÒ" - "¾Òʹì" - "¾ÒÊØ¡ÃÕ" - "¾ÒÊàÇÔÃì´" - "¾Ò˹Ð" - "¾ÒËÐ" - "¾ÒËÒ" - "¾ÒËØ" - "¾ÒËØÃÑ´" - "¾ÒÌËÐ" - "¾Òà¹Å" - "¾ÒàËô" - "¾ÒàËÕÂÃ" - "¾ÒâÅ" - "¾Ó" - "¾Ó¹Ñ¡" - "¾Ô¡Å" - "¾Ô¡Ñ´" - "¾Ô¡ÑµÔ" - "¾Ô¡ÒÃ" - "¾Ô¡ØÅ" - "¾Ô¦Òµ" - "¾Ô¦à¹È" - "¾Ô§" - "¾Ô¨ÒóÒ" - "¾Ô¨Òóì" - "¾Ô¨ÔµÃ" - "¾ÔªÑÂ" - "¾ÔªÒ¹" - "¾ÔªÔµ" - "¾Ô««èÒ" - "¾Ô³" - "¾Ô¶Õ¾Ô¶Ñ¹" - "¾Ô·ÂÒ" - "¾Ô·Ñ¡Éì" - "¾Ô¸Ò¹" - "¾Ô¸Õ" - "¾Ô¹·Ø" - "¾Ô¹Íº¾Ôà·Ò" - "¾Ô¹ÑÂ" - "¾Ô¹ÒÈ" - "¾Ô¹Ô¨" - "¾Ô¹Ôµ" - "¾Ô¹ÔÈ" - "¾ÔºÑµÔ" - "¾ÔºÙÅ" - "¾Ô¾Áì" - "¾Ô¾Ñ¡¾Ô¾èǹ" - "¾Ô¾Ñ²¹ì" - "¾Ô¾Ò¡ÉÒ" - "¾Ô¾Ò¡Éì" - "¾Ô¾Ò·" - "¾Ô¾Ô¸" - "¾Ô¾Ô¸Àѳ±Ê¶Ò¹" - "¾Ô¾Ô¸Àѳ±ì" - "¾ÔÀ¾" - "¾ÔÁ¾ì" - "¾ÔÁÅ" - "¾ÔÁÒ¹" - "¾ÔÁØ¢" - "¾ÔÁàʹ" - "¾ÔÃÍ´" - "¾ÔÃÒº" - "¾ÔÃÒÅÑÂ" - "¾ÔÃÕé¾ÔäÃ" - "¾ÔÃس" - "¾ÔÃظ" - "¾ÔÅÒ»" - "¾ÔÅÒÊ" - "¾ÔÅÖ¡" - "¾ÔÅÖ¡¡Ö¡¡×Í" - "¾ÔÅÖ¡¾ÔÅÑè¹" - "¾ÔÈ" - "¾ÔÈǧ" - "¾ÔÈÇÒÊ" - "¾ÔÈÒÅ" - "¾ÔÈØ·¸Ôì" - "¾ÔÈØ·¸ì" - "¾ÔÉ" - "¾ÔɳØâÅ¡" - "¾ÔÉʧ" - "¾ÔÊ´ÒÃ" - "¾ÔÊÁÑÂ" - "¾ÔÊÑÂ" - "¾ÔÊÔ°" - "¾ÔÊØ·¸Ôì" - "¾ÔÊÙ¨¹ì" - "¾ÔËÒÃ" - "¾ÔÌÒÃ" - "¾Ôà¤ÃÒÐËì" - "¾ÔàÈÉ" - "¾Ô⡾Ôࡹ" - "¾Ôâ¤" - "¾Ôâø" - "¾ÔäÃ" - "¾ÔäÅ" - "¾Õ" - "¾Õª¤³Ôµ" - "¾Õ«Õ" - "¾ÕÃÐÁÔ´" - "¾Õè" - "¾Õé" - "¾Ö§" - "¾ÖÁ" - "¾ÖÁ¾Ó" - "¾Öè§" - "¾Öèº" - "¾×ª" - "¾×´" - "¾×é¹" - "¾×é¹·Õè" - "¾Ø" - "¾Ø¡" - "¾Ø§" - "¾Ø²" - "¾Ø²Ô" - "¾Ø´" - "¾Ø·¸" - "¾Ø·¸Ð" - "¾Ø·¸ÒÇÒÊ" - "¾Ø·¸Ô" - "¾Ø·ÃÒ" - "¾Ø·â¸è" - "¾Ø¸" - "¾Øè§" - "¾ØèÁ" - "¾ØéÂ" - "¾Ù" - "¾Ù´" - "¾Ù¹" - "¾Ùè" - "¾Ùé¹" - "¾à¹¨Ã" - "¾è¹" - "¾èǧ" - "¾èÍ" - "¾èÒ§" - "¾èÒ¹" - "¾èÒÂ" - "¾èÒËì" - "¾é¹" - "¾éÍ" - "¾éͧ" - "¾éÍÁ" - "¿¡" - "¿ÃÍ´ì" - "¿ÃÕ" - "¿ÅÍàù«ì" - "¿ÅÙÍÍÃÕ¹" - "¿Í¡" - "¿Í§" - "¿Í´" - "¿Í¹" - "¿Í¹µì" - "¿ÍÃìÁ" - "¿ÍÃìÁÒÅ´Õäδì" - "¿ÍÃìÁÒÅÔ¹" - "¿ÍÃìáÁµ" - "¿ÍÊ«ÔÅ" - "¿ÍÊ¿ÍÃÑÊ" - "¿ÍÊ࿵" - "¿Ñ¡" - "¿Ñ§" - "¿Ñ§¡ìªÑ¹" - "¿Ñ§¡ìªÑè¹" - "¿Ñ´" - "¿Ñ¹" - "¿Ñè¹" - "¿Ñé¹" - "¿Ò¡" - "¿Ò§" - "¿Ò´" - "¿Ò·ÍÁ" - "¿Ò¹" - "¿ÒÂ" - "¿ÒÃìÁ" - "¿ÒÊ«Ôʵì" - "¿Ô¡" - "¿Ô´" - "¿Ô¹áŹ´ì" - "¿Ôº" - "¿ÔÅ´ì" - "¿ÔÅÔ»»Ô¹Êì" - "¿ÔÅìÁ" - "¿ÔÇÊì" - "¿ÔÊÔ¡Êì" - "¿Õ¿èÒ" - "¿Õè" - "¿Õé" - "¿×¹" - "¿×Á" - "¿×é¹" - "¿Ø" - "¿Øµ" - "¿ØµºÍÅ" - "¿Ø¹" - "¿Øº" - "¿Ø¿Ð" - "¿ØÅÊá¡ê»" - "¿Øèº" - "¿ØèÁà¿×ÍÂ" - "¿Øé§" - "¿Ù" - "¿Ù¡" - "¿Ù¨Ô" - "¿Ù´" - "¿ÙÁ" - "¿ÙÁ¿ÒÂ" - "¿Ùè" - "¿èÍ" - "¿èͧ" - "¿è͹" - "¿èÒ§" - "¿èÒÁ" - "¿éÍ" - "¿éͧ" - "¿é͹" - "¿éÒ" - "À¤¹Õ" - "À¾" - "ÀÁÃ" - "ÀÂѹµÃÒÂ" - "Àõ" - "ÀÃÃ" - "ÀÃÃÂÒ" - "ÀÃÒ´Ã" - "ÀÃÔÂÒ" - "ÀǵѳËÒ" - "ÀÇѧ¤ì" - "ÀÑ¡´Õ" - "ÀÑ¡ÉÒ" - "ÀÑ¡ÉÒËÒÃ" - "Àѳ±ì" - "ÀѵµÒ¤ÒÃ" - "ÀѵµÒËÒÃ" - "ÀÑ·Ã" - "ÀѾ" - "ÀÑÂ" - "ÀÑÊ´Ò" - "ÀÑʵÃÒ" - "ÀÒ¤" - "ÀÒ¤Õ" - "ÀÒª¹Ð" - "ÀÒ³Ø" - "ÀÒ¾" - "ÀҾ¹µÃì" - "ÀÒÂ" - "ÀÒÃ" - "ÀÒáԨ" - "ÀÒôÕ" - "ÀÒõ" - "ÀÒÃÐ" - "ÀÒÃÒ" - "ÀÒÃâç" - "ÀÒǹÒ" - "ÀÒÇÐ" - "ÀÒÉ" - "ÀÒÉ¡" - "ÀÒɳì" - "ÀÒÉÒ" - "ÀÒÉÔµ" - "ÀÒÉÕ" - "ÀÒÊ¡Ã" - "ÀÒʹì" - "ÀÒÊÇÃ" - "ÀÔ¡¢Ò" - "ÀÔ¡¢Ò¨ÒÃ" - "ÀÔ¡¢Ø" - "ÀÔ¡¢Ø¹Õ" - "ÀÔ¡ÉÒ" - "ÀÔ¡ÉØ" - "ÀÔ¡ÉسÕ" - "ÀÔ§¤ÒÃ" - "ÀÔ­â­" - "ÀÔ¹·¹Ò¡ÒÃ" - "ÀÔ¹·ì" - "ÀÔÃÁÂì" - "Àت" - "Àت§¤ì" - "ÀØÁÃÒ" - "ÀØÁÃÔ¹" - "ÀØÁÃÕ" - "ÀÙ" - "ÀÙµ" - "ÀÙµÔ" - "ÀÙÁÔ" - "ÀÙÁÔ»ÃÐà·È" - "ÀÙÁÔÀÒ¤" - "ÀÙÁÔÅÓà¹Ò" - "ÀÙÁÔÈÒʵÃì" - "ÀÙÁÕ" - "ÀÙÃÔ" - "ÀÙÃÕ" - "ÀÙÇ´Å" - "ÀÙǹҶ" - "ÀÙÇ๵Ã" - "ÀÙÇä¹Â" - "ÀÙÉÒ" - "ÀÙÉÔµ" - "ÀÙà¡çµ" - "ÀÙè" - "Á¡" - "Á¡Ã" - "Á¡ÃÒ¤Á" - "Á¡Ø®" - "Á¡ØÅ" - "Á§¡Ø®" - "Á§¤Å" - "Á³±¡" - "Á³±»" - "Á³±Å" - "Á³Õ" - "Á³à±ÕÂÃ" - "Á´" - "ÁµÔ" - "Á¸Ø" - "Á¹" - "Á¹µÃÕ" - "Á¹µÃì" - "Á¹µì" - "Á¹ÊÔ¡ÒÃ" - "Á¹ÑÊ" - "Á¹ÑÊÇÕ" - "Á¹ÔÅÒ" - "Á¹ØɪҵÔ" - "Á¹ØɸÃÃÁ" - "Á¹ØÉÂÈÒʵÃì" - "Á¹ØÉÂÊÑÁ¾Ñ¹¸ì" - "Á¹ØÉÂà·¾" - "Á¹ØÉÂâÅ¡" - "Á¹ØÉÂì" - "Á¹à·ÕÂÃ" - "ÁÂØÃÒ" - "ÁÂØÃÕ" - "ÁÂØàÃÈ" - "ÁÂÙÃ" - "ÁÃ" - "Ááµ" - "ÁóÐ" - "Áóì" - "Áô¡" - "ÁÃä" - "ÁÃä¹Ò¡" - "ÁÃäÒ" - "ÁÃÃÂÒ" - "ÁÃÃÂÒ·" - "ÁÃÊØÁ" - "ÁĤ" - "ÁĵÂÙ" - "ÁÅ" - "ÁÅ·Ô¹" - "ÁÅÒÂ" - "ÁÅÒÂÙ" - "ÁÅéÒ§" - "Áǹ" - "ÁÇÂ" - "ÁÇÅ" - "ÁË¡ÃÃÁ" - "ÁËó¾" - "ÁËÃó¾" - "ÁËÃʾ" - "ÁËѹµâ·É" - "ÁËѹµì" - "ÁËÑȨÃÃÂì" - "ÁËÒ" - "ÁËÒª¹" - "ÁËÒ´àÅç¡" - "ÁËÒ´ä·Â" - "ÁËÒµÁÐ" - "ÁËÒÂÒ¹" - "ÁËÒÃÒª" - "ÁËÒÇÔ·ÂÒÅÑÂ" - "ÁËÒÈÒÅ" - "ÁËÒÊÁØ·Ã" - "ÁËÒËÔ§¤Øì" - "ÁËÔ§Êì" - "ÁËÔ´Å" - "ÁËÔÁÒ" - "ÁËÖÁÒ" - "ÁÍ" - "Áͧ" - "Áͧâ¡ÅÍ´ì" - "ÁÍ­" - "ÁÍ´" - "Á͹ÔàµÍÃì" - "Áͺ" - "ÁÍÁ" - "ÁÍÁáÁÁ" - "ÁÍÃͤâ¤" - "ÁÍÃì¿Õ¹" - "ÁÍÅâ·Ê" - "ÁÍÊâ¤Çì" - "ÁÍàµÍÃì" - "ÁÐ" - "ÁСÃÙ´" - "ÁС͡" - "ÁСÐâùÕ" - "ÁТÇÔ´" - "ÁТÒÁ" - "ÁТèǧ" - "ÁФèÒ" - "ÁЧÑèÇ" - "ÁЧØÁÁЧÒËÃÒ" - "ÁЫҧ" - "Áдѹ" - "ÁекÐ" - "ÁеÖè§" - "ÁеÙÁ" - "Áеéͧ" - "ÁйÒÇ" - "ÁлÃÒ§" - "ÁоÃéÒÇ" - "ÁоÅѺ" - "Áоٴ" - "ÁÐÁèǧ" - "ÁÐÂÁ" - "ÁÐÃÐ" - "ÁÐÃ×¹" - "ÁÐÅСÍ" - "ÁÐÅÔ" - "ÁÐËÐËÁÑ´" - "ÁÐÎÍ¡¡Ò¹Õ" - "ÁÐà¡Å×Í" - "ÁÐà¢×Í" - "ÁÐà´×èÍ" - "ÁÐà¿×ͧ" - "ÁÐàÃç§" - "ÁÐàÊç§" - "ÁÐáÁ" - "ÁÐâç" - "ÁÐä¿" - "ÁÑ¡" - "ÁÑ¡¡ÐÊѹ" - "ÁѤ¤Øà·È¡ì" - "ÁѤ¹Ò¡" - "ÁѦÇÒ¹" - "Áѧ¡Ã" - "Áѧ¤Ø´" - "Áѧ¤èÒ" - "ÁѨ¨Ø" - "ÁѨ©Ò" - "ÁѪ¬ÔÁÂÒÁ" - "ÁѪ¬ÔÁÇÑÂ" - "ÁѪ¬ÔÁÒ" - "Áѳ±¹ÈÔÅ»ì" - "Áѳ±¹Ò" - "ÁÑ´" - "ÁѵÊÂÒ" - "ÁÑ·¹Ð" - "ÁÑ·¹ÕÂÐ" - "ÁÑ·ÂÐ" - "ÁѸ°ҹ" - "ÁѸÂÁ" - "ÁѸÂÑʶì" - "Áѹ" - "ÁѺ" - "ÁÑÁÁÕè" - "ÁÑÂ" - "ÁÑŵÔ" - "ÁÑÅÅÔ¡Ò" - "ÁÑÇ" - "ÁÑÈÂÒ" - "ÁÑʵÒÃì´" - "ÁÑÊÁÑè¹" - "ÁÑÊÂÔ´" - "ÁÑÊÅÔ¹" - "ÁÑè§" - "ÁÑè¹" - "ÁÑèÇ" - "ÁÒ" - "ÁÒ¡" - "ÁÒ¡¡ÇèÒ" - "ÁÒ¦ºÙªÒ" - "ÁÒ¦Ð" - "ÁÒ³¾" - "ÁÒ³ÇÔ¡Ò" - "ÁÒ´" - "ÁÒµÃ" - "ÁҵáÒÃ" - "Áҵðҹ" - "ÁÒµÃÒ" - "ÁÒµØ" - "ÁÒµØÅÒ" - "ÁÒ¹" - "ÁÒ¹¾" - "ÁÒ¹Ð" - "ÁÒ¹Ôµ" - "ÁÒ¹Õ" - "ÁÒ¹ØÉ" - "ÁÒ¹ØÉÂÇÔ·ÂÒ" - "ÁÒºµÒ¾Ø´" - "ÁÒÂ" - "ÁÒÂÒ" - "ÁÒÂÒÇÕ" - "ÁÒÃ" - "ÁÒä" - "ÁÒôÃ" - "ÁÒôÒ" - "ÁÒÃÂÒ" - "ÁÒÃÂÒ·" - "ÁÒÃÈÃÕ" - "ÁÒÃص" - "ÁÒÅÑÂ" - "ÁÒÅÒàÃÕÂ" - "ÁÒÅÕ" - "ÁÒÈ" - "ÁÒÊ" - "ÁÒÊàµÍÃì" - "ÁÒàÅà«ÕÂ" - "ÁÒâ¤Ã" - "ÁÒ⹪­ì" - "ÁÓàÅ×ͧ" - "ÁÔ" - "ÁÔ¤ÊÑ­­Õ" - "ÁÔ¨©Ò" - "ÁÔ´" - "ÁÔµÃ" - "ÁÔµÔ" - "ÁԶعÒ¹" - "ÁÔÂѹÁèÒ" - "ÁÔÅÅÔ¡ÃÑÁ" - "ÁÔÅÅÔºÒÃì" - "ÁÔÅÅÔÅÔµÃ" - "ÁÔÅÅÔàÁµÃ" - "ÁÔÅÒµ" - "ÁÔÇÊÔ¤" - "ÁÔÊ" - "ÁÔÊ«Ò" - "ÁÔÊàµÍÃì" - "ÁÔàµÍÃì" - "ÁÔè§" - "ÁÔéÁ" - "ÁÕ" - "ÁÕ´" - "ÁÕ¹" - "ÁÕ¹Ò¤Á" - "ÁÕà·¹" - "ÁÕè" - "ÁÕèÊÑéÇ" - "ÁÖ§" - "ÁÖ¹" - "Á×´" - "Á×¹" - "Á×Í" - "Á×è¹" - "Á×éÍ" - "ÁØ" - "ÁØ¡" - "ÁØ¡´Ò" - "ÁØ¡´ÒËÒÃ" - "ÁØ¢" - "Áا" - "ÁبÅÔ¹·ì" - "ÁØ´" - "Áص¡Ô´" - "ÁØ·ÔµÒ" - "ÁØ·Ø" - "ÁعԹ·Ãì" - "ÁعÕ" - "Áغ" - "ÁغÁÔº" - "ÁØÁ" - "ÁØÊÅÔÁ" - "ÁØÊÒ" - "ÁØè§" - "ÁØè¹" - "ÁØèÂ" - "ÁØé§" - "ÁÙ¡" - "ÁÙµÃ" - "ÁÙ¹" - "ÁÙÁÁÒÁ" - "ÁÙÅ" - "ÁÙŤèÒ" - "ÁÙÅ°Ò¹" - "ÁÙŹԸÔ" - "ÁÙà«Í" - "ÁÙè·Ùè" - "ÁÙèÅÕè" - "ÁàËÈÇÃ" - "ÁàËÊÕ" - "ÁàËÒÌÒÃ" - "Áâ¹" - "Áâ¹ÃÒËì" - "Áâ¹ÊÒàÃè" - "ÁâËÃʾ" - "ÁâËÃз֡" - "ÁâËÃÕ" - "ÁâËÌÒÃ" - "Áèǧ" - "Áèǹ" - "Áè͵éÍ" - "ÁèÍÂ" - "ÁèÍÎèÍÁ" - "ÁèÒ¹" - "ÁèÒÂ" - "Áéǹ" - "ÁéÇÂ" - "ÁéÒ" - "ÁéÒ¹" - "ÁéÒÁ" - "¡" - "¡Âèͧ" - "§" - "§âÂè" - "µÔ" - "¶ҡÃÃÁ" - "¹µÃì" - "¹µì" - "ÂÁ" - "ÂÁ¡" - "ÂÃç" - "ÂÅ" - "Âǧ" - "ÂÇ´" - "Âǹ" - "ÂǺ" - "ÂÈ" - "ÂÍ" - "ÂÍ¡" - "Âͧ" - "ÂÍ´" - "Â͹" - "Âͺ" - "ÂÍÁ" - "ÂÐ" - "ÂÑ¡" - "ÂÑ¡¢Ô¹Õ" - "ÂÑ¡¢ì" - "ÂÑ¡ÂÍ¡" - "ÂÑ¡ÉÔ³Õ" - "ÂÑ¡ÉÕ" - "ÂÑ¡Éì" - "Âѧ" - "ÂÑ´" - "ÂÑ´àÂÕ´" - "Âѹ" - "ÂѹµÃ¡ÃÃÁ" - "ÂѹµÃì" - "Âѹµì" - "ÂѺ" - "ÂÑè§Â×¹" - "ÂÑè¹" - "ÂÑèÇ" - "ÂÑé§" - "ÂÑéÇ" - "ÂÑéÇàÂÕéÂ" - "ÂÒ" - "ÂÒ¡" - "ÂÒ§" - "ÂÒ¨¡" - "ÂÒ´" - "ÂÒ´Ò" - "ÂÒµÃ" - "ÂÒµÃÒ" - "ÂÒ¹" - "ÂÒ¹Õ" - "ÂÒº" - "ÂÒºéÒ" - "ÂÒÁ" - "ÂÒÂ" - "ÂÒÇ" - "ÂÓ" - "ÂÔ¡" - "ÂÔ§" - "ÂÔ¹" - "ÂÔº" - "ÂÔ»«ÑÁ" - "ÂÔ»«Õ" - "ÂÔÁ¹Òʵԡ" - "ÂÔÇ" - "ÂÔËÇÒ" - "ÂÔè§" - "ÂÔéÁ" - "ÂÕ" - "ÂÕ¹" - "ÂÕÃÒ¿" - "ÂÕè" - "ÂÕèÊ¡" - "ÂÕèʧ" - "ÂÕèÊØè¹" - "ÂÕèÊèÒ¹" - "ÂÕèËÃÐ" - "ÂÕèËÃèÒ" - "ÂÕèËéÍ" - "ÂÖ¡Â×Í" - "ÂÖ´" - "Â×´" - "Â×¹" - "Â×Á" - "Â×è¹" - "Â×éÍ" - "ÂØ" - "ÂØ¡µì" - "Âؤ" - "ÂؤÅ" - "Âا" - "ÂØ´" - "ÂصÔ" - "ÂصԸÃÃÁ" - "ÂØ·¸" - "ÂØ·¸¡ÒÃ" - "ÂØ·¸¹Ò" - "ÂØ·¸ì" - "Âط⸻¡Ã³ì" - "Âغ" - "Âؾ´Õ" - "Âؾ§" - "ÂؾÃÒª" - "ÂؾàÂÒÇì" - "ÂؾàÃÈ" - "ÂØÃÂÒµÃ" - "ÂØǪ¹" - "ÂØâû" - "ÂØè§" - "ÂØèÁÂèÒÁ" - "ÂØèÂ" - "ÂØé§" - "ÂØéÂ" - "ÂÙ§" - "ÂÙ¹Ô¡«ì" - "ÂÙÃÂÒµÃ" - "ÂÙÃÔ¡" - "ÂÙÊà«ÍÃì" - "ÂÙàùÑÊ" - "ÂÙàÃà¹ÕÂÁ" - "ÂÙâ¡ÊÅÒàÇÕÂ" - "ÂÙâ´" - "ÂÙâÃ" - "ÂÙè" - "ÂâÊ" - "Âè¹" - "ÂèÍ" - "Âèͧ" - "ÂèÍÁ" - "ÂèÍÂ" - "ÂèÐ" - "ÂèÒ" - "ÂèÒ§" - "ÂèÒ¹" - "ÂèÒÁ" - "ÂèÓ" - "ÂéÇÂ" - "Âé͹" - "ÂéÍÁ" - "ÂéÍÂ" - "ÂéÒÂ" - "ÂéÓ" - "á" - "ç" - "ç¤Çѵ¶Ø" - "ç¤ì" - "è¹Ò" - "èԵ" - "èàè" - "èàÅ¢" - "ó" - "óѰ" - "ô" - "ôÕ" - "õÐ" - "õÔ" - "ö" - "öàÁÅì" - "ù" - "ú" - "þ" - "þÕ" - "ÃÁ" - "ÃÁ³Õ" - "ÃÁ³ÕÂì" - "ÃÁÂì" - "ÃÂÒ§¤ì" - "ÃÇ¡" - "Ãǧ" - "ÃÇ´" - "Ãǹ" - "ÃǹàÃ" - "ÃǺ" - "ÃÇÁ" - "ÃÇÂ" - "ÃÇÔ" - "ÃÇÕ" - "ÃȹÒ" - "ÃÊ" - "ÃʹÒ" - "ÃÊÒ¹àÇ·" - "ÃÊÔ¡" - "ÃËÑÊ" - "ÃËÔµ" - "ÃÍ" - "ÃÍ¡" - "Ãͧ" - "Ãͧà§ç§" - "ÃÍ´" - "Ã͹" - "Ãͺ" - "Ãͺ¤Íº" - "ÃÍÁ" - "ÃÍÂ" - "ÃÐ" - "ÃСÓ" - "ÃФ¹" - "ÃФÒÂ" - "ÃЦѧ" - "ÃЧÁ" - "ÃЧѺ" - "ÃдÁ" - "ÃдѺ" - "ÃдÙ" - "Ãз´" - "ÃзÁ" - "ÃзÇÂ" - "Ãз֡" - "ÃйҴ" - "ÃйҺ" - "ÃйÒÇ" - "Ãкº" - "ÃкÁ" - "Ãкͺ" - "ÃкѺ" - "Ãкҭ" - "ÃкҴ" - "ÃкÒÂ" - "ÃкÓ" - "ÃкÔÅ" - "Ãк×Í" - "ÃкØ" - "ÃÐÂÐ" - "ÃÐÂѺ" - "ÃÐÂÓ" - "ÃÐÂÔº" - "ÃÐÂéÒ" - "ÃÐÃÔ¡" - "ÃÐÅÍ¡" - "ÃÐÅÖ¡" - "ÃÐÇѧ" - "ÃÐÇÒ§" - "ÃÐËÇèÒ§" - "ÃÐËØÂ" - "ÃÐÍÒ" - "ÃÐÍØ" - "ÃÐ๹" - "ÃÐà¹ÃйҴ" - "ÃÐà¹Õ´" - "ÃÐàºÔ´" - "ÃÐàºÕ§" - "ÃÐàºÕ¹" - "ÃÐàºÕº" - "ÃÐàºç§" - "ÃÐàÁÕÂÃ" - "ÃÐàËÂ" - "ÃÐàËÔ´" - "ÃÐàËç¨" - "ÃÐá¤Ð" - "ÃÐá§é" - "ÃÐṧ" - "ÃÐáǧ" - "ÃÑ¡" - "ÃÑ¡¢ì" - "ÃÑ¡ºÕé" - "ÃÑ¡ÉÒ" - "ÃÑ¡Éì" - "ÃÑ¡áÃé" - "Ãѧ" - "ÃѧÊÔµ" - "ÃѧÊÕ" - "Ãѧá¡" - "Ãѧá¤" - "ÃѨ©Ò" - "ÃѪ" - "ÃѪ®ÒÀÔàÉ¡" - "ÃѪ´ÒÀÔàÉ¡" - "ÃѪ¹Õ" - "ÃÑ­¨Ç¹" - "ÃÑ°" - "ÃÑ°ºÒÅ" - "ÃÑ°ºØÃØÉ" - "ÃÑ°»ÃÐÈÒʹÈÒʵÃì" - "ÃÑ°»ÃÐËÒÃ" - "ÃÑ°Á¹µÃÕ" - "ÃÑ°ÇÔÊÒË¡Ô¨" - "ÃÑ°ÈÒʵÃì" - "ÃÑ°ÊÀÒ" - "ÃÑ´" - "Ãѵ" - "ÃѵµÔ" - "Ãѵ¹" - "Ãѵ¹µÃÑÂ" - "Ãѵ¹ºÑÅÅѧ¡ì" - "Ãѵ¹Ð" - "Ãѵ¹Ò" - "Ãѵ¹â¡ÊÔ¹·Ãì" - "Ãѵ¹ì" - "ÃѶÂÒ" - "Ãѹ" - "Ãѹ·´" - "ÃѺ" - "ÃѺÃͧ" - "ÃÑÁÀÒ" - "ÃÑÁÁÕè" - "ÃÑÇ" - "ÃÑÈÁÔÁѵ" - "ÃÑÈÁÔÁÒ¹" - "ÃÑÈÁÕ" - "ÃÑɮҡÃ" - "ÃÑÊà«ÕÂ" - "ÃÑèÇ" - "ÃÑé§" - "ÃÑé¹" - "ÃÑéÇ" - "ÃÒ" - "ÃÒ¡" - "ÃÒ¡ÉÊ" - "ÃÒ¤Ð" - "ÃÒ¤Ò" - "ÃÒ¤Ô¹" - "ÃÒ¤Õ" - "ÃÒ§" - "ÃÒ§ªÒ§" - "ÃÒ§ÇÑÅ" - "ÃÒª" - "ÃÒª¡ÒÃ" - "ÃÒª¹Ô¡ØÅ" - "ÃÒªºÑ³±ÔµÂʶҹ" - "ÃÒªÂì" - "ÃҪǧÈì" - "ÃÒªÇâç¡ÒÃ" - "ÃÒªÊÕÁÒ" - "ÃÒªÊÕËì" - "ÃҪѹÂì" - "ÃÒªÒ" - "ÃÒªÒ¸ÔÃÒª" - "ÃÒªÒÀÔàÉ¡" - "ÃÒªÒÇ´Õ" - "ÃÒªÔ¹Ô¡ØÅ" - "ÃÒªÔ¹Õ" - "ÃÒªÔ¹Ù»¶ÑÁÀì" - "ÃÒªÙ»¶ÑÁÀì" - "ÃÒªÙ»âÀ¤" - "ÃÒ­" - "ÃÒ´" - "ÃÒµ" - "ÃÒµÃ" - "ÃÒµÃÕ" - "ÃÒ¹" - "ÃÒº" - "ÃÒ¾³ÒÊÙÃ" - "ÃÒÁ" - "ÃÒÁ¤Óá˧" - "ÃÒÁÊÙÃ" - "ÃÒÁÑ­" - "ÃÒÁÒ" - "ÃÒÁÒ¸Ôº´Õ" - "ÃÒÁà¡ÕÂõÔì" - "ÃÒÂ" - "ÃÒ¡ÒÃ" - "ÃÒ§ҹ" - "ÃÒÇ" - "ÃÒÇÕ" - "ÃÒÈÕ" - "ÃÒÉ®Ã" - "ÃÒÉ®Ãì" - "ÃÒËÙ" - "ÃÒહ·Ãì" - "ÃÒ⪺ÒÂ" - "ÃÒâªÇÒ·" - "ÃÓ" - "ÃÓ¤Ò­" - "ÃӨǹ" - "ÃӾѹ" - "ÃÓ¾Ö§" - "ÃÓÁйÒ" - "ÃÓÅÖ¡" - "ÃÓà¾Â" - "ÃÔ" - "ÃÔ¡" - "ÃÔ´Êմǧ" - "ÃÔ¹" - "ÃÔº" - "ÃÔººÔé¹" - "ÃÔÁ" - "ÃÔÉÂÒ" - "ÃÔé¹" - "ÃÔéÇ" - "ÃÕ" - "ÃÕ¨ÔÊ·ÃÕ" - "ÃÕ´" - "ÃÕµ" - "ÃÕº" - "ÃÕÁ" - "ÃÕÇÔÇ" - "ÃÕàÊÔÃìª" - "ÃÕàÊÔÃì«" - "ÃÕâÁµ" - "ÃÕè" - "ÃÕé" - "ÃÖ§" - "ÃÖé§" - "Ã×è¹" - "Ã×éÍ" - "ÃØ" - "ÃØ¡" - "ÃØ¡¢¡Ð" - "ÃØ¡¢ªÒµÔ" - "ÃØ¡¢ÁÙÅ" - "ÃØ¡¢à·Ç´Ò" - "ÃØ¡¢ì" - "ÃاÃѧ" - "ÃبÔ" - "ÃبÕ" - "ÃØ´" - "Ãص" - "ÃØ·¸ì" - "ÃØ·Ã" - "Ãع" - "Ãعáç" - "ÃغÃÙè" - "ÃØÁ" - "ÃØɯì" - "ÃØÊâ«" - "ÃØè§" - "ÃØè¹" - "ÃØèÁ" - "ÃØèÁÃèÒÁ" - "ÃØèÂ" - "ÃØé§" - "ÃÙ" - "ÃÙ´" - "ÃÙ»" - "ÃÙÁÒà¹ÕÂ" - "ÃÙÊà«ÕÂ" - "ÃÙàÁà¹ÕÂ" - "ÃÙàÅçµµì" - "ÃÙè" - "ÃÙé" - "ÃÙé¨Ñ¡" - "ÃâË" - "Ãè¹" - "ÃèÁ" - "Ãèǧ" - "Ãèǹ" - "ÃèÇÁ" - "ÃèÍ" - "Ãèͧ" - "Ãè͹" - "ÃèÍÂ" - "ÃèÒ" - "ÃèÒ§" - "ÃèÒ¹" - "ÃèÒÂ" - "ÃèÓ" - "ÃèÓÃÇÂ" - "Ãé¹" - "Ãéͧ" - "Ãé͹" - "ÃéÍÂ" - "ÃéÒ" - "ÃéÒ§" - "ÃéÒ¹" - "ÃéÒÂ" - "ÃéÒÇ" - "Ä¡Éì" - "ĪÒ" - "ĪØ" - "ij" - "Ä´Õ" - "Ä´Ù" - "ĵ" - "Ä·¸Ò" - "Ä·¸Ôì" - "Ä·ÑÂ" - "ÄÉÀ" - "ÄÉÕ" - "Äå" - "ŧ" - "Å´" - "Å´Ò" - "Å´ÒÇÑÅÂì" - "Ź" - "ź" - "žºØÃÕ" - "ÅÁ" - "ÅŹÒ" - "ÅÅÒ¯" - "ÅÅÔµ" - "ÅÇ¡" - "Åǧ" - "ÅÇ´" - "ÅǹÅÒÁ" - "ÅǹÐ" - "ÅÇÐ" - "ÅËØ" - "ÅÍ¡" - "ÅÍ¡ÒÃÔ·ÖÁ" - "Åͧ" - "Åͧ¡Í§" - "Åͧ¨Ô¨Ù´" - "ÅÍ´" - "Å͵àµÍÃÕè" - "Å͹" - "Å͹´Í¹" - "Åͺ" - "ÅÍÁ" - "ÅÍÂ" - "ÅÍÍ" - "ÅÐ" - "ÅФÃ" - "ÅеԨٴ" - "ÅеԹ" - "ÅкѴ" - "ÅÐÁÑè§" - "ÅÐÁع" - "ÅÐÁèÍÁ" - "ÅÐÁéÒÂ" - "ÅÐÅÇÂ" - "ÅÐËÁÒ´" - "ÅÐËÒ¹" - "ÅÐËØè§" - "ÅÐÍͧ" - "ÅÐÍÒÂ" - "ÅÐàÁÍ" - "ÅÐàÁÒÐ" - "ÅÐàÁÔ´" - "ÅÐàÁÕ´" - "ÅÐàŧ" - "ÅÐàÅÔ§" - "ÅÐàÅÕ´" - "ÅÐàǧ" - "ÅÐàËÕèÂ" - "ÅÐàÍÕ´" - "ÅÐáÇ¡" - "ÅÐâÁº" - "ÅÐâÇé" - "ÅÐäÁ" - "ÅÑ¡" - "ÅÑ¡¢³Ð" - "ÅѡɳÐ" - "ÅÑ¡ÉÁÕ" - "ÅѤ¤Ð" - "ÅѤ¹Ò" - "ÅѤ¹ì" - "Åѧ" - "ÅѧàÅ" - "ÅѪªÒ" - "ÅѪªÕ" - "ÅÑ­¨¡Ã" - "ÅÑ­¨¹ì" - "ÅÑ­©" - "ÅÑ­©¡Ã" - "ÅÑ­©¹ì" - "ÅÑ´" - "ÅÑ´Ò" - "ÅÑ·¸Ô" - "ÅÑ·¸ì" - "Åѹ" - "ÅѺ" - "ÅѾ¸ì" - "ÅÑÂ" - "ÅÑè¹" - "ÅÑè¹·Á" - "ÅÒ" - "ÅÒ¡" - "ÅÒ§" - "ÅÒ­" - "ÅÒ´" - "ÅÒ¹" - "ÅÒº" - "ÅÒ»" - "ÅÒÀ" - "ÅÒÁ" - "ÅÒÁ¡" - "ÅÒÂ" - "ÅÒÂÊ×Í" - "ÅÒŹÐ" - "ÅÒÅÊ" - "ÅÒÇ" - "ÅÒÇ¡" - "ÅÒÇѳÂì" - "ÅÒÇÒ" - "ÅÒʹÐ" - "ÅÓ" - "ÅӴǹ" - "ÅӴѺ" - "ÅÓºÒ¡" - "ÅӾǹ" - "ÅӾͧ" - "ÅӾѧ" - "ÅÓÀآѹ" - "ÅÓÂͧ" - "ÅÓà¤ç­" - "ÅÓà¨Õ¡" - "ÅÓà¹Ò" - "ÅÓà¾Ò" - "ÅÓàÅÔ¡" - "ÅÓàÅÕ§" - "ÅÓ⾧" - "ÅÓäÂ" - "ÅÔ" - "ÅÔ¡ä¹µì" - "ÅÔ¢ÊÔ·¸Ôì" - "ÅÔ¢Ôµ" - "ÅÔ§" - "ÅÔ§¡ì" - "ÅÔ§¤ì" - "ÅÔ´" - "ÅÔµ" - "ÅÔµÁÑÊ" - "ÅÔµÃ" - "ÅÔ¹Ô¹" - "ÅÔº" - "ÅÔ»´Ò" - "ÅÔ»µì" - "ÅԻʵԡ" - "ÅÔ»Ô" - "ÅÔ¿µì" - "ÅÔÅÔµ" - "ÅÔÇ" - "ÅÔʧ" - "ÅÔà¡" - "ÅÔàºÕÂ" - "ÅÔàÇÍÃì¾ÙÅ" - "ÅÔèÁ" - "ÅÔèÇ" - "ÅÔé¹" - "ÅÔ鹨Õè" - "ÅÔéÁ" - "ÅÕ" - "ÅÕ¡" - "Åչء«ì" - "ÅÕº" - "ÅÕÅÒ" - "ÅÕÅÒÈ" - "ÅÕè" - "ÅÕé" - "ÅÖ¡" - "ÅÖ§¤ì" - "Å×´" - "Å׺" - "Å×Á" - "Å×Í" - "Å×è¹" - "Å×èÍ" - "Å×é¹" - "Å×éÍ" - "ÅØ" - "ÅØ¡" - "Åا" - "ÅØÂ" - "ÅØè¹" - "ÅØèÁ" - "ÅØèÂ" - "ÅØé§" - "ÅØéÂ" - "ÅÙ¡" - "ÅÙ¡¤éÒ" - "ÅÙ¡ºÒÈ¡ì" - "ÅÙº" - "ÅÙè" - "Åç͡ࡵ" - "Åè¹" - "ÅèÁ" - "Åèǧ" - "ÅèÇÁ" - "ÅèÍ" - "Åèͧ" - "Åè͹" - "ÅèÍÂ" - "ÅèÍáÅè" - "ÅèÐ" - "ÅèÒ" - "ÅèÒ§" - "ÅèÒ¹" - "ÅèÒÁ" - "ÅèÓ" - "Åé§àÅé§" - "Åé¹" - "ÅéÁ" - "Åéǧ" - "Åéǹ" - "ÅéÍ" - "ÅéÍÁ" - "ÅéÒ" - "ÅéÒ§" - "ÅéÒµéÒ" - "ÅéÒ¹" - "ÅéÓ" - "Ç¡" - "Ç¡Ð" - "ǧ" - "ǧ¡µ" - "ǧ¡ì" - "ǧ¨Ã" - "ǧȡÃ" - "ǧÈÒ" - "ǧÈì" - "Ǩ¹Ð" - "ǨÐ" - "ǨÕ" - "ǪÐ" - "ǪÔÃÐ" - "ǪÔÃÒÇظ" - "dzºÑµÃ" - "dz¾Ñ¹¸¹ì" - "dzÐ" - "dzԪ" - "dzԪªÒ" - "dzԪÂÒ" - "dzԪÂì" - "dzԾ¡" - "Ç´Õ" - "ǵÐ" - "Ç·Ð" - "Ç·Ñ­­ØµÒ" - "ǸءÒ" - "ǸÙ" - "ǹ" - "ǹÑÊ" - "ǹÒ" - "ǹҹµì" - "ǹԴÒ" - "ǹԾ¡" - "ÇÂÑÊÂì" - "Çç¤ì" - "ÇóÐ" - "ÇÃÁËÒÇÔËÒÃ" - "ÇÃä" - "ÇÃäÂì" - "ÇÃê" - "ÇÃêÂì" - "ÇÃó¡ÃÃÁ" - "ÇÃó¤´Õ" - "ÇÃó¹Ò" - "ÇÃó¾ÄµÔ" - "ÇÃóÂØ¡µì" - "ÇÃóÂص" - "ÇÃóÈÔÅ»ì" - "ÇÃóÐ" - "ÇÃó֡" - "ÇÃø¡" - "ÇÃø¹Ð" - "ÇÃÃÉ" - "ÇÃÃÉÒ" - "ÇÃÇÔËÒÃ" - "ÇÃÑ­­Ù" - "ÇÃÒ§¤¹Ò" - "ÇÃÒËÐ" - "ÇÃÒËì" - "ÇÃس" - "ÇÅÑ­ª¹ì" - "ÇÅÑÂ" - "ÇÅÒË¡" - "ÇÅÕ" - "ÇÈÐ" - "ÇÊÊÐ" - "ÇÊÊÕ" - "ÇÊÐ" - "ÇÊѹµ´ÔÅ¡" - "ÇÊѹµì" - "ÇÊÒ" - "ÇÊÕ" - "ÇÊØ" - "ÇÊظÒ" - "ÇÊع¸ÃÒ" - "ÇÊØÁ´Õ" - "ÇËÐ" - "ÇËÒ" - "ÇÍ" - "ÇÍ¡" - "ÇÍ¡áÇ¡" - "ÇÍ´" - "Ç͹" - "ÇÍÃìáù·ì" - "ÇÍÅÅìʵÃÕ·" - "ÇÍÅàÅÂì" - "ÇÍÅàÅÂìºÍÅ" - "ÇÍáÇ" - "ÇÐ" - "ÇÑ¡" - "ÇÑ¡¡Ð" - "ÇѤ" - "ÇѤ¤ÕÂì" - "ÇѤ¤Ø" - "ÇѤ«Õ¹" - "Çѧ" - "Çѧ¡ì" - "Çѧàǧ" - "ÇѨ¹Ð" - "ÇѪ" - "ÇѪ¬ì" - "ÇѪÃÐ" - "ÇѪÃÔ¹·Ãì" - "ÇѪÃÕ" - "Çѯ¨Ñ¡Ã" - "Çѯ¯Ô" - "ÇѯʧÊÒÃ" - "ÇѲ¡Ð" - "ÇѲ¡Õ" - "ÇѲ¹¸ÃÃÁ" - "ÇѲ¹Ð" - "ÇѲ¹Ò" - "Çѳ" - "Çѳ¯ì" - "Çѳ¹Ò" - "ÇÑ´" - "Çѵ" - "ÇѵµÒ" - "Çѵµì" - "Çѵ¶Ø" - "Çѵ¶ì" - "Çѵ¹Ð" - "ÇѵÃ" - "ÇѵÔ" - "Çѹ" - "Çѹ·¹Ò" - "Çѹ·¹ÕÂì" - "Çѹ·ÂËѵ¶ì" - "Çѹ·ÂÒÇظ" - "Çѹ·Ò" - "ÇѺ" - "ÇÑ»»Ð" - "ÇÑÁÁÔ¡" - "ÇÑÂ" - "ÇÑÅÂì" - "ÇÑÅÅÀ" - "ÇÑÅÅÕ" - "ÇÑÇ" - "ÇÑÊ´Ø" - "ÇÑÊÊÐ" - "ÇÑÊÊÒ¹Ð" - "ÇÑÊâÊ·¡" - "ÇÒ" - "ÇÒ¡" - "ÇÒ¡ÂÊÑÁ¾Ñ¹¸ì" - "ÇÒ¡ÂÐ" - "ÇÒ§" - "ÇÒ¨¡" - "ÇÒ¨Ò" - "ÇÒ³Ôª" - "ÇÒ³ÔªÂì" - "ÇÒ³Õ" - "ÇÒ´" - "ÇÒµÀÑÂ" - "ÇÒµÐ" - "ÇÒ·" - "ÇÒ·¡" - "Çҷ¡Ã" - "ÇÒ·Âì" - "ÇÒ·Ôµ" - "ÇÒ·Ô¹" - "ÇÒ·Õ" - "ÇÒ¹" - "ÇÒ¹Ã" - "ÇÒ¹ÃÔ¹·Ãì" - "ÇÒº" - "ÇÒ»Ð" - "ÇÒ»ÔµÐ" - "ÇÒ»Õ" - "ÇÒÁ" - "ÇÒÁÐ" - "ÇÒÂ" - "ÇÒ·Ùà¤" - "ÇÒÂÊÐ" - "ÇÒÃ" - "ÇÒÃÊÒÃ" - "ÇÒÃÔ" - "ÇÒÃÕ" - "ÇÒÃس" - "ÇÒÃسÕ" - "ÇÒÅ" - "ÇÒÅìÇ" - "ÇÒÇ" - "ÇÒʹÐ" - "ÇÒʹÒ" - "ÇÒʾ" - "ÇÒËÐ" - "ÇÒËÔ¹Õ" - "ÇÒÌ" - "ÇÔ¡ÃÁ" - "Çԡĵ" - "Çԡĵ¡Òóì" - "ÇԡĵÔ" - "ÇÔ¡Å" - "ÇÔ¡ÊÔµ" - "ÇÔ¡Ñ»" - "ÇÔ¡ÒÅ" - "ÇÔ¤ËÐ" - "ÇÔ§" - "ÇÔ§Ç͹" - "ÇÔ¨Âص" - "ÇԨóÐ" - "ÇÔ¨Å" - "ÇԨѡ¢³ì" - "ÇԨѡɳì" - "ÇÔ¨ÑÂ" - "ÇÔ¨ÒÃ" - "ÇÔ¨Òó­Ò³" - "ÇÔ¨Òóì" - "ÇÔ¨Ô" - "ÇÔ¨Ô¡Ô¨©Ò" - "ÇÔ¨Ôµ" - "ÇÔ¨ÔµÃ" - "ÇÔ¨Ô¹" - "ÇԨس" - "ÇÔ¨Øó" - "ÇÔªªÒ" - "ÇÔªªØ" - "ÇÔªªØÅ´Ò" - "ÇÔª­Ð" - "ÇÔª¹Õ" - "ÇÔªÒ" - "ÇÔªÒ¹¹Ð" - "ÇÔªÔµ" - "ÇÔ­­ÑµÔ" - "ÇÔ­­Ò³" - "ÇÔ­­Ù" - "ÇÔ±ÙÃÂì" - "ÇÔ´" - "ÇÔ´ÕâÍ" - "ÇÔµ¡" - "ÇÔµ¶ÒÃ" - "ÇÔµÒÁÔ¹" - "ÇÔ¶Õ" - "ÇԷ°ҹÐ" - "ÇÔ·ÂÒ" - "ÇÔ·ÂÒÅÑÂ" - "ÇÔ·ÂØ" - "ÇÔ·Âص" - "ÇÔ·ÇÑÊ" - "ÇÔ·Òóì" - "ÇÔ·ÒŹì" - "ÇÔ·Ôµ" - "ÇÔ·Ù" - "ÇÔ·ÙÃ" - "ÇÔ¸" - "ÇÔ¸ÇÒ" - "ÇÔ¸Ò" - "ÇÔ¸Ò¹" - "ÇÔ¸Õ" - "ÇÔ¸Ù»¹Ð" - "ÇԹѹµÙ" - "ÇÔ¹ÑÂ" - "ÇÔ¹Ò·Õ" - "ÇÔ¹ÒÈ" - "ÇÔ¹Ô¨" - "ÇÔ¹Ô¨©ÑÂ" - "ÇÔ¹Ôµ" - "ÇÔ¹ÔºÒµ" - "ÇÔ¹Ô»ÒµÔ¡" - "ÇÔ¹â´ÇÊì" - "ÇÔ¹â´Çì" - "ÇԺѵÔ" - "ÇÔºÒ¡" - "ÇÔºØÅ" - "ÇÔºØÅÂì" - "ÇÔºÙÅ" - "ÇÔºÙÅÂì" - "ÇÔ»¡ÒÃ" - "ÇÔ»¯ÔÊÒÃ" - "ÇÔ»ÃСÒÃ" - "ÇÔ»ÃеÔÊÒÃ" - "ÇÔ»ÃÐÅÒ»" - "ÇÔ»ÃÐÇÒÊ" - "ÇÔ»ÃÔµ" - "ÇÔ»ÅÒ»" - "ÇÔ»ÅÒÊ" - "ÇÔ»ÇÒÊ" - "ÇԻѡÉì" - "ÇÔ»ÑÊÊ¡" - "ÇÔ»ÑÊʹÒ" - "ÇÔ»â¤" - "ÇÔ¾Ò¡Éì" - "ÇÔ¾Ô¸·ÑȹÒ" - "ÇÔÀǵѳËÒ" - "ÇÔÀѧ¤ì" - "ÇÔÀѪ" - "ÇÔÀѵµÔ" - "ÇÔÀÒ" - "ÇÔÀÒÇ´Õ" - "ÇÔÁѵÔ" - "ÇÔÁص" - "ÇÔÁصµÔ" - "ÇÔõÐ" - "ÇÔÃÁ³Ð" - "ÇÔÃÃø¹ì" - "ÇÔÃÇÐ" - "ÇÔÃѪ" - "ÇÔÃѵ" - "ÇÔÃѵÔ" - "ÇÔÃÔÂÀÒ¾" - "ÇÔÃÔÂÐ" - "ÇÔÃظ" - "ÇÔÃØÌË¡" - "ÇÔÃØÌËì" - "ÇÔÅѹ´Ò" - "ÇÔÅÒ´" - "ÇÔÅÒ»" - "ÇÔÅÒÇѳÂì" - "ÇÔÅÒÈ" - "ÇÔÅÒÊ" - "ÇÔÅÒÊÔ¹Õ" - "ÇÔÇ" - "ÇÔÇóì" - "ÇÔÇÃÐ" - "ÇÔÇѯ" - "ÇÔÇѲ¹Ò¡ÒÃ" - "ÇÔÇѲ¹ì" - "ÇÔÇÒ·" - "ÇÔÇÒËÁ§¤Å" - "ÇÔÇÒËÐ" - "ÇÔÇÒËì" - "ÇÔÇÔ¨" - "ÇÔÇÔµ" - "ÇÔÇÔ¸" - "ÇÔÈÃص" - "ÇÔÈÇ¡Ã" - "ÇÔÈÇ¡ÃÃÁ" - "ÇÔÈÑÅÂì" - "ÇÔÈÒ¢Ð" - "ÇÔÈÒ¢Ò" - "ÇÔÈÒ§¤ì" - "ÇÔÈÒÅ" - "ÇÔÈÔÉ°ì" - "ÇÔÈØ·¸Ôì" - "ÇÔÈØ·¸ì" - "ÇÔɳØ" - "ÇÔɸÃ" - "ÇÔÉÑ¡µì" - "ÇÔÉÑÂ" - "ÇÔÉÒ³" - "ÇÔÉØÇѵ" - "ÇÔÊ¡Õé" - "ÇÔÊÃê¹ÕÂì" - "ÇÔÊĵ" - "ÇÔÊÊØ¡ÃÃÁ" - "ÇÔÊѪ¹Ò" - "ÇÔÊÑ­­Õ" - "ÇÔÊÑÂ" - "ÇÔÊÒ¢ºÙªÒ" - "ÇÔÊÒ¢Ð" - "ÇÔÊÒÁÑ­" - "ÇÔÊÒÊÐ" - "ÇÔÊÒË¡Ô¨" - "ÇÔÊÔ°" - "ÇÔÊا¤ÒÁÊÕÁÒ" - "ÇÔÊØ·¸Ôì" - "ÇÔÊØ·¸ì" - "ÇÔÊÙµÃ" - "ÇÔˤ" - "ÇÔ˧¤ì" - "ÇÔËÅÑè¹" - "ÇÔËÒÂÊÐ" - "ÇÔËÒÃ" - "ÇÔËÔ§ÊÐ" - "ÇÔËÔ§ÊÒ" - "ÇÔÌѧ¤ì" - "ÇÔÌÒÃ" - "ÇÔÌÒÃì" - "ÇÔà¤ÃÒÐËì" - "ÇÔàªÕÂÃ" - "ÇÔà·ÇÉ" - "ÇÔà·È" - "ÇÔà·âȺÒÂ" - "ÇÔ๵" - "ÇÔà¹" - "ÇÔàù·Ãì" - "ÇÔàÅ»" - "ÇÔàÇ¡" - "ÇÔàÈÉ" - "ÇÔàÈɳì" - "ÇÔàÊ·" - "ÇÔàËÊÒ" - "ÇÔâ¹·¡" - "ÇÔâÁ¡¢ì" - "ÇÔâ¤" - "ÇÔâè" - "ÇÔâè¹ì" - "ÇÔâò" - "ÇÔâø" - "ÇÔâø¹ì" - "ÇÔâŨ¹Ð" - "ÇÔäÅ" - "ÇÔè§" - "ÇÔè§à»ÕéÂÇ" - "ÇÔè¹" - "ÇÕ" - "ÇÕ¨Ô" - "ÇÕª¹Õ" - "ÇÕ«èÒ" - "ÇÕ³Ò" - "ÇÕáÃÃÁ" - "ÇÕê¹" - "ÇÕúØÃØÉ" - "ÇÕÃʵÃÕ" - "ÇÕèÇѹ" - "ÇÕèáÇÇ" - "ÇÕé´" - "ÇØ°Ô" - "Çز" - "ÇزÔ" - "ÇØ´" - "Çغ" - "ÇØè¹" - "ÇØé§" - "ÇØé¹" - "ÇØéÂ" - "ÇÙ´ÇÒ´" - "ÇÙ¸Ù" - "ÇÙº" - "ÇÙèÇÒÁ" - "ÇÙé" - "Ç๨Ã" - "Çâ¹·ÂÒ¹" - "ÇâÃ" - "ÇâáÒÊ" - "ÇâôÁ" - "Çèͧ" - "Çè͹" - "ÇèÒ" - "ÇèÒ§" - "ÇèÒ¹" - "ÇèÒÂ" - "ÇèÒÇ" - "ÇéÒ" - "ÇéÒ§" - "ÇéÒÂ" - "È¡" - "ȵ" - "ȵÇÃÃÉ" - "Ⱦ" - "ÈÃ" - "ÈÃÑ·¸Ò" - "ÈÃÑÂ" - "ÈÃÕ" - "ÈÃÕÇÔäÅÄ·¸Ôì" - "ÈÃÕÉÐà¡É" - "Èħ¤ÒÃ" - "ÈÈÔ" - "ÈÍ" - "ÈÍ¡" - "ÈÑ¡´Ò" - "ÈÑ¡´Ô¹Ò" - "ÈÑ¡´Ôì" - "ÈÑ¡ÂÀÒ¾" - "ÈÑ¡ÂÐ" - "ÈÑ¡Âì" - "ÈÑ¡ÃÒª" - "ÈѵÃÙ" - "ÈѾ·ì" - "ÈÑÅ¡ÃÃÁ" - "ÈÑÅÂÈÒʵÃì" - "ÈÑÅÂá¾·Âì" - "ÈÑÅÂì" - "Èҡ¾ط¸" - "ÈÒ¡ÂÁعÕ" - "ÈÒ¡ÂÐ" - "ÈÒµÃÒ¨ÒÃÂì" - "ÈÒ¹µÔ" - "ÈÒ¹µì" - "ÈÒ÷" - "ÈÒ÷ÙÅ" - "ÈÒÅ" - "ÈÒÅÒ" - "ÈÒÊ¡" - "ÈÒÊ´Ò" - "ÈÒʵÃÒ" - "ÈÒʵÃÒ¨ÒÃÂì" - "ÈÒʵÃì" - "ÈÒʹ¨Ñ¡Ã" - "ÈÒʹÒ" - "ÈÒʹٻ¶ÑÁÀ¡" - "ÈÒʹì" - "ÈÔ¢ÃÔ¹" - "ÈÔÃÔÃÒª" - "ÈÔÅ»¡Ã" - "ÈÔÅ»¡ÃÃÁ" - "ÈÔÅ»¡ÒÃ" - "ÈÔÅ»¡Ô¨" - "ÈÔÅ»ÇÔ·ÂÒ" - "ÈÔÅ»ÈÒʵÃì" - "ÈÔÅ»Ð" - "ÈÔŻҡÃ" - "ÈÔŻԹ" - "ÈÔÅ»Õ" - "ÈÔÅ»ì" - "ÈÔÅÒ" - "ÈÔÇÅÖ§¤ì" - "ÈÔÇÐ" - "ÈÔÇàÇ·" - "ÈÔÇâÁ¡¢ì" - "ÈÔÉÂì" - "ÈÔâÃÃÒº" - "ÈÕÃÉÐ" - "ÈÕÅ" - "ÈÖ¡" - "ÈÖ¡ÉÒ" - "ÈÖ¡ÉÒ¸Ô¡ÒÃ" - "ÈÖ¡ÉÒ¹Ôà·È¡ì" - "ÈØ¡Ãì" - "ÈØÀ¡Ã" - "ÈØÀ¹ÔÁÔµ" - "ÈØÀÁÑÊ´Ø" - "ÈØÀÁÒµÃÒ" - "ÈØÀÁÒÊ" - "ÈØÀÍÑ¡ÉÃ" - "ÈØÀÒ§¤ì" - "ÈØÀà¤ÃÒÐËì" - "ÈØÅ¡Ò¡Ã" - "ÈØÅ¡ÒÃÑ¡Éì" - "ÈØÅÕ" - "ÈÙ·Ã" - "ÈÙ¹Âì" - "Ê¡" - "Ê¡¹¸ì" - "Ê¡»Ã¡" - "Ê¡Å" - "Ê¡ÇÒ·Õ" - "ʡ͵Ᏼì" - "Ê¡Ñ´" - "Ê¡Ò" - "Ê¡ÒÇ" - "Ê¡Õ" - "ʡس" - "ʡسÒ" - "ʡسÕ" - "ʡعµì" - "Ê¡ØÅ" - "Ê¡ç͵Ᏼì" - "ʧ" - "ʧ¡ÃÒ¹µì" - "ʧ¡Ò" - "ʧ¢ÅÒ" - "ʧ¤ÃÒÁ" - "ʧ¦ì" - "ʧº" - "ʧǹ" - "ʧÊÑÂ" - "ʧÊÒÃ" - "ʧÊÒÃÇѯ" - "ʧѴ" - "ʧà¤ÃÒÐËì" - "ʧèÒ" - "ʳ±ì" - "Ê´" - "Ê´ÁÀì" - "ʴѺ" - "Ê´Ø´Õ" - "ʵÃÕ" - "ʵ͡" - "ʵѿ¿ì" - "ʵҧ¤ì" - "ʵÒÃì·" - "ʵÔ" - "ʵÔê¡à¡ÍÃì" - "ʵÙ" - "ʵêÍ¡" - "ʶÅ" - "ʶҹ" - "ʶҹ¡Òóì" - "ʶҹÐ" - "ʶҹÕ" - "ʶҺѹ" - "ʶһ¹Ò" - "ʶһ¹Ô¡" - "ʶһѵ¡ÃÃÁ" - "ʶҾÃ" - "ʶÒÇÃ" - "ʶԵ" - "ʶԵÂ" - "ʶԵÂÈÒʵÃì" - "ʶԵÂì" - "ʶԵÔ" - "ʶØÅ" - "ʶٻ" - "ʷ;" - "ʹ" - "ʹ·¹Ò" - "ʹ¸ÂÒ" - "ʹ¸Ô" - "ʹ¹ÃÒ¤Ò" - "ʹÁ" - "ʹͧ" - "ʹѺ" - "ʹѺʹع" - "ʹÑè¹" - "ʹҹ" - "ʹÒÁ" - "ʹԷ" - "ʹÔÁ" - "ʹء" - "ʹØè¹" - "ʹà·È" - "ʹà·èËì" - "ʹã¨" - "ʺ" - "ʺ§" - "ʺ¶" - "ʺÒÂ" - "ʺÙè" - "Ê»ÃÔ§" - "Ê»ÒÂ" - "Ê»ÒࡵµÕ" - "Ê»ÔÃÔµ" - "ÊÀÒ" - "ÊÀÒ¾" - "ÊÀҾѲ¹ì" - "ÊÀÒÇÐ" - "ÊÁ" - "ÊÁ¡ÒÃ" - "ÊÁ¤ÇÃ" - "ÊÁ­Ò" - "ÊÁ³ÈÑ¡´Ôì" - "ÊÁ³Ð" - "ÊÁ´ØÅ" - "ÊÁ¶Ð" - "ÊÁ¹Ò¤Ø³" - "ÊÁºÑµÔ" - "ÊÁºÙóҭÒÊÔ·¸ÔÃÒªÂì" - "ÊÁºÙóì" - "ÊÁ»ÃдÕ" - "ÊÁ»Ä´Õ" - "ÊÁÀ¾" - "ÊÁÀÒÃ" - "ÊÁÁµ" - "ÊÁÁµÔ" - "ÊÁÁÒµÃ" - "ÊÁÁصÔ" - "ÊÁÃ" - "ÊÁÃö" - "ÊÁÃö¹Ð" - "ÊÁÃÊ" - "ÊÁÍ" - "ÊÁͧ" - "ÊÁѤÃ" - "ÊÁѪªÒ" - "ÊÁѹ" - "ÊÁÑÂ" - "ÊÁÒ" - "ÊÁÒ¤Á" - "ÊÁÒ¨ÒÃ" - "ÊÁÒªÔ¡" - "ÊÁÒ¸Ô" - "ÊÁÒ¹" - "ÊÁҺѵÔ" - "ÊÁÒÊ" - "ÊÁÔ§" - "ÊÁÔµ" - "ÊÁÕ" - "ÊÁد°Ò¹" - "ÊÁØ´" - "ÊÁØ·Ã" - "ÊÁØ·ÑÂ" - "ÊÁع" - "ÊÁعä¾Ã" - "ÊÁØËì" - "ÊÁà´ç¨" - "ÊÁྪ" - "ÊÁàÊÃç¨" - "ÊÁ⾸Ô" - "ÊÁâÀ¤" - "ÊÁâÀª" - "ÊÁèÓàÊÁÍ" - "Ê´" - "ʺ" - "ÊÂÁÀÙ" - "ÊÂͧ" - "ÊÂÒÁ" - "ÊÂÒÂ" - "ÊÂÔÇ" - "ÊÂØÁ¾Ã" - "ÊÂØÁÀÙ" - "Êç" - "ÊóÐ" - "ÊóҤÁ¹ì" - "ÊõÐ" - "ÊÃÃ" - "ÊÃäì" - "ÊÃþ" - "ÊÃþҡÃ" - "ÊÃþҧ¤ì" - "ÊÃÃྪ­" - "ÊÃÃàÊÃÔ­" - "ÊÃǧ" - "ÊÃÇÁ" - "ÊÃÇÅ" - "ÊÃÐ" - "ÊÃÒ­" - "ÊÃÕáԨ" - "ÊÃÕøҵØ" - "ÊÃÕÃÇÔ·ÂÒ" - "ÊÃÕÃÈÒʵÃì" - "ÊÃÕÃÐ" - "ÊÃØ»" - "ÊÃè§" - "ÊÃèÒ§" - "ÊÃéÍÂ" - "ÊÃéÒ§" - "ÊÃéÒÇàÊÕÂÇ" - "Êĵ" - "ÊÄɯì" - "ÊÅ" - "ÊÅ´" - "Êź" - "ÊÅǹ" - "ÊÅÇÂ" - "ÊÅÍ´" - "ÊÅ͹" - "ÊÅÍÂ" - "ÊÅÐ" - "ÊÅÑ¡" - "ÊÅÑ¡àµé" - "ÊÅÑ´" - "ÊÅÑ´ä´" - "ÊÅѺ" - "ÊÅÑÁ" - "ÊÅÑÇ" - "ÊÅÒ" - "ÊÅÒ¡" - "ÊÅÒ´" - "ÊÅҵѹ" - "ÊÅÒº" - "ÊÅÒÂ" - "ÊÅÔ´" - "ÊÅÔÅ" - "ÊÅÖ¡" - "ÊÅÖ§" - "ÊÅص" - "ÊÅغ" - "ÊÅØÁ¾Ã" - "ÊÅç͵" - "ÊÅéÒ§" - "ÊÇ¡" - "ÊÇ´" - "Êǹ" - "ÊǹÐ" - "ÊǹҡÒÃ" - "ÊǺ" - "ÊÇÁ" - "ÊÇÂ" - "ÊÇÃ" - "ÊÇÃäµ" - "ÊÇÃäÒÅÑÂ" - "ÊÇÃäì" - "ÊÇÃÃÂÒ" - "ÊÇÍ»" - "ÊÇÐ" - "ÊÇÑÊ´Ô¡ÒÃ" - "ÊÇÑÊ´ÔÀÒ¾" - "ÊÇÑÊ´Ôì" - "ÊÇÑÊ´Õ" - "ÊÇÑʵԡÐ" - "ÊÇÒ" - "ÊÇÒ§" - "ÊÇÒ´" - "ÊÇÒ·" - "ÊÇÒÁÔ" - "ÊÇÒÁÕ" - "ÊÇÒÂ" - "ÊÇÒÊ´Ôì" - "ÊÇÒËÐ" - "ÊÇÔ§" - "ÊÇÔµªì" - "ÊÇÔµ«ì" - "ÊÇÔÊà«ÍÃìᏴì" - "ÊÇÕà´¹" - "ÊÇèÒ§" - "ÊÇèÒ¹" - "ÊÇéÒ¹" - "ÊÊÒÃ" - "Êˡóì" - "ÊË¡ÒÃ" - "Ê˨Ã" - "Ê˪ҵÔ" - "ÊË»ÃЪҪҵÔ" - "Ê˾ѹ¸ÃÑ°" - "Ê˾ѹ¸ì" - "ÊËÀÒ¾" - "ÊËÃÑ°" - "ÊËÇÔÃÔÂÒ" - "ÊËÈÖ¡ÉÒ" - "ÊËѪ" - "ÊËÑÁº´Õ" - "ÊËÑʹѹì" - "ÊËÑÊÇÃÃÉ" - "ÊËÑÊÊÐ" - "ÊËÑÊÊÒ" - "ÊËÒÂ" - "ÊÍ" - "Êͧ" - "ÊÍ´" - "Ê͹" - "Êͺ" - "Ê;ÅÍ" - "ÊÍÂ" - "ÊÐ" - "ÊС´" - "ÊСԴ" - "ÊФÃÒ­" - "ÊдÁ" - "Êдǡ" - "ÊдÔé§" - "Êд֧" - "Êд×Í" - "Êдش" - "ÊдØé§" - "ÊеÍ" - "ÊеÖ" - "Êе×Í" - "Êзé͹" - "ÊзéÒ¹" - "Êкѡ" - "ÊкѴ" - "ÊкѴÊкÔé§" - "ÊкÑé¹" - "ÊкéÒ" - "ÊоÃÑ¡" - "ÊоÃÑè§" - "ÊоѴ" - "ÊоÑé¹" - "Êоҹ" - "ÊоÒÂ" - "ÊÐÃеÐ" - "ÊÐÃÐá˹è" - "ÊÐÅÖÁÊÐÅ×Í" - "ÊÐÇÕé´ÊÐÇéÒ´" - "ÊÐÊÁ" - "ÊÐÊÒ§" - "ÊÐÍÒ§" - "ÊÐÍÒ´" - "ÊÐÍÔ´ÊÐàÍÕ¹" - "ÊÐÍÔé§" - "ÊÐÍÖ¡" - "ÊÐÍ×é¹" - "ÊÐÍéÒ¹" - "ÊÐà¡ç´" - "ÊÐà´ç´" - "ÊÐà·Ôé¹" - "ÊÐà·×͹" - "ÊÐà·×é͹" - "ÊÐà¾ÃèÒ" - "ÊÐàÍÍÐ" - "ÊÐ⾡" - "ÊÐâÍ´ÊÐͧ" - "ÊÐãÀé" - "ÊÑ¡" - "ÊÑ¡¢Õ" - "ÊÑ¡ÇÒ" - "ÊÑ¡ËÅÒ´" - "ÊÑ¢ÂÐ" - "Êѧ¡Á·ÃѾÂì" - "Êѧ¡Ã" - "Êѧ¡Ã³Õ" - "Êѧ¡ÐµÑ§" - "Êѧ¡ÐÊÕ" - "Êѧ¡Ñ´" - "Êѧ¡Ñ»»Ð" - "Êѧ¡Ò" - "Êѧ¡ÒÈ" - "Êѧ¢ÂÒ" - "Êѧ¢ÒÃ" - "Êѧ¢ì" - "Êѧ¤­ÒµÔ" - "Êѧ¤Á" - "Êѧ¤Ñ§" - "Êѧ¤Ò¹Ò" - "Êѧ¤Ò¹ÒÂ" - "Êѧ¤Õµ" - "Êѧ¤ì" - "Êѧ¦¡ÃÃÁ" - "Êѧ¦¹Ò¡" - "Êѧ¦Á³±Å" - "Êѧ¦Á¹µÃÕ" - "Êѧ¦ÃÒª" - "Êѧ¦ÊÀÒ" - "Êѧ¦Ò¯Ô" - "Êѧ¦ÒÇÒÊ" - "ÊѧÇÃ" - "ÊѧÇѸÂÒÂ" - "ÊѧÇÒÅ" - "ÊѧÇÒÊ" - "ÊѧʴÁÀì" - "ÊѧÊÃäì" - "ÊѧÊÒÃÇѯ" - "ÊѧËÃ" - "ÊѧËóì" - "ÊѧËÒÃ" - "ÊѧËÒÃÔÁ·ÃѾÂì" - "ÊѧËÔµ" - "Êѧࡵ" - "Êѧࢻ" - "Êѧà¤ÃÒÐËì" - "ÊѧàǤÐ" - "ÊѧàǪ" - "ÊѧàÇÂ" - "ÊѧàÇÕ¹" - "Êѧâ¤" - "Êѧ⪹ì" - "ÊѨ" - "ÊѨ¡ÔÃÔÂÒ" - "ÊѨ¨Ð" - "ÊѨ­Ò³" - "ÊѨ¹ÔÂÁ" - "ÊѨ¾¨¹ì" - "ÊѪ¬Ø" - "ÊÑ­¨Ã" - "ÊÑ­¨ÒÃ" - "ÊÑ­ªÒµ­Ò³" - "ÊÑ­ªÒµÔ" - "ÊÑ­¬Ò" - "ÊÑ­­Ò" - "ÊÑ­­Ò³" - "ÊÑ­­Õ" - "ÊÑ­»ÃСÒÈ" - "ÊÑ­Åѡɳì" - "Êѭਵ¹Ò" - "Êѳ°Ò¹" - "Êѳ±ì" - "ÊѳËì" - "ÊÑ´" - "Êѵ" - "ÊѵµÐ" - "ÊѵºÃó" - "ÊѵÂҺѹ" - "ÊѵÂì" - "ÊѵǺÒÅ" - "ÊѵÇÇÔ·ÂÒ" - "ÊѵÇÒ" - "ÊѵÇÒÃ" - "ÊѵÇá¾·Âì" - "ÊѵÇâÅ¡" - "ÊѵÇì" - "ÊÑ·¸ÃÃÁ" - "ÊÑ·¸Ò" - "ÊÑ·ÈÒʵÃì" - "Êѹ" - "Êѹ´Ò¹" - "Êѹ´Ò»" - "ÊѹµÐ»Ò»Ò" - "ÊѹµÔ" - "Êѹµì" - "Êѹ¶ÇäÁµÃÕ" - "Êѹ¶Ñµ" - "Êѹ¶ÒÃ" - "Êѹ·¹Ð" - "Êѹ·¹Ò¡ÒÃ" - "Êѹ·Ð" - "Êѹ·Ñ´" - "Êѹ¸Ò¹" - "Êѹ¹ÔºÒµ" - "Êѹ¹ÔÇÒÊ" - "Êѹ¹ÔÉ°Ò¹" - "Êѹ¹ÔàÇÊ" - "Êѹʡĵ" - "Êѹâ´É" - "ÊѺ" - "ÊѺ»ÅѺ" - "ÊѺ»Ðô" - "ÊÑ»¤Ñº" - "ÊÑ»´¹" - "ÊÑ»´ÒËì" - "ÊÑ»·¹" - "ÊÑ»ÃÐÂØ·¸ì" - "Êѻ˧¡" - "ÊÑ»àËÃèÍ" - "ÊѾ" - "ÊѾ¾Ð" - "ÊѾ¾Ñ­­Ù" - "ÊѾÂÍ¡" - "ÊѾà¾àËÃÐ" - "ÊÑÁºÙóì" - "ÊÑÁ»ªÑ­­Ð" - "ÊÑÁ»·Ò" - "ÊÑÁ»·Ò¹" - "ÊÑÁ»Âص" - "ÊÑÁ»ÃÐÊÔ·¸Ôì" - "ÊÑÁ»ÃÐËÒÃ" - "ÊÑÁ»ÃÒÂÀ¾" - "ÊÑÁ»ÃÒÂÔ¡À¾" - "ÊÑÁ»â¤" - "ÊÑÁ¼ÑÊ" - "ÊÑÁ¾Ñ·¸ì" - "ÊÑÁ¾Ñ¹¸¹ì" - "ÊÑÁ¾Ñ¹¸ÀÒ¾" - "ÊÑÁ¾Ñ¹¸ÁÔµÃ" - "ÊÑÁ¾Ñ¹¸äÁµÃÕ" - "ÊÑÁ¾Ñ¹¸ì" - "ÊÑÁ¾Ò¸Ð" - "ÊÑÁ¾Ø·¸Ð" - "ÊÑÁÀÒÃÐ" - "ÊÑÁÀÒɳì" - "ÊÑÁÁ¹Ò" - "ÊÑÁÁÒ" - "ÊÑÁÁÒªÕ¾" - "ÊÑÁÄ·¸Ôì" - "ÊÑÁ⾸Ô" - "ÊÑÁâÁ·¹Õ¡¶Ò" - "ÊÑÊ´Õ" - "ÊÑÊÊÐ" - "ÊÑè§" - "ÊÑè¹" - "ÊÑé¹" - "ÊÒ" - "ÊÒ¡" - "ÊÒ¡Ãèì" - "ÊÒ¡Å" - "ÊÒ¢Ò" - "ÊÒ¤Ã" - "ÊÒ¤Ù" - "ÊÒ¤àÃÊ" - "ÊÒ§" - "ÊÒ´" - "ÊÒ·Ã" - "ÊÒ·ÔÊ" - "ÊÒ¸¡" - "ÊÒ¸ÂÒÂ" - "ÊÒ¸ÒóÀÑÂ" - "ÊÒ¸ÒóÃÑ°" - "ÊÒ¸ÒóÊØ¢" - "ÊÒ¸ÒóÐ" - "ÊÒ¸Òóٻ¡ÒÃ" - "ÊÒ¸ÒóٻâÀ¤" - "ÊÒ¸Ôµ" - "ÊÒ¸Ø" - "ÊÒ¹" - "ÊÒ¹ØÈÔÉÂì" - "ÊÒº" - "ÊÒºÊÙ­" - "ÊÒºÒ¹" - "ÊÒ»" - "ÊÒÁ" - "ÊÒÁѤ¤Õ" - "ÊÒÁÑ­" - "ÊÒÁÒ¹Âì" - "ÊÒÁÒö" - "ÊÒÁÔµ" - "ÊÒÁÔÀÑ¡´Ôì" - "ÊÒÁÕ" - "ÊÒÁà³Ã" - "ÊÒÂ" - "ÊÒªÙ" - "ÊÒÂÂÙ" - "ÊÒÂѳËì" - "ÊÒÃ" - "ÊÒä´Õ" - "ÊÒöÕ" - "ÊÒ÷" - "ÊÒùÔà·È" - "ÊÒúº" - "ÊÒúÃó" - "ÊÒúѭ" - "ÊÒúѺ" - "ÊÒúҭ" - "ÊÒþѴ" - "ÊÒþѹ" - "ÊÒþҧ¤ì" - "ÊÒÃÀÒ¾" - "ÊÒÃÀÕ" - "ÊÒÃÇѵÃ" - "ÊÒÃÐ" - "ÊÒÃÐá¹" - "ÊÒÃÑ·¸ì" - "ÊÒÃÑÁÀì" - "ÊÒÃÒ³Õ¡Ã" - "ÊÒÃҹءÃÁ" - "ÊÒÃÕÃÔ¡¸ÒµØ" - "ÊÒÅÐǹ" - "ÊÒÅÔ¡Ò" - "ÊÒÅÔ¹Õ" - "ÊÒÅÕ" - "ÊÒÅÕè" - "ÊÒÇ" - "ÊÒÇ¡" - "ÊÒÇÔ¡Ò" - "ÊÒÇÔµÃ" - "ÊÒÇÔµÃÕ" - "ÊÒʹì" - "ÊÒÊì¹" - "ÊÒËÃèÒÂ" - "ÊÒËÑÊ" - "ÊÒà¡" - "ÊÒà˵Ø" - "ÊÒáËá" - "ÊÒâ·" - "ÊÒâê" - "ÊÒä¶Â" - "ÊÓ" - "ÊӤѭ" - "ÊӷѺ" - "Êӹǹ" - "Êӹѡ" - "ÊÓ¹Ö¡" - "ÊӺѴÊӹǹ" - "ÊÓ»ÐËÅѧ" - "ÊÓ»Ñé¹" - "ÊÓÁÐËÒ" - "ÊÓÁÐàÅà·àÁÒ" - "ÊÓÁÐ⹤ÃÑÇ" - "ÊÓÃǨ" - "ÊÓÃÇÁ" - "ÊÓÃÇÂ" - "ÊÓÃÇÅ" - "ÊÓÃÍ¡" - "ÊÓÃͧ" - "ÊÓÃѺ" - "ÊÓÃÒ¡" - "ÊÓÃÒ­" - "ÊÓÃÔ´" - "ÊÓÅÑ¡" - "ÊÓÅÒ¹" - "ÊÓÅÕ" - "ÊÓÊè͹" - "ÊÓËÃѺ" - "ÊÓËÒ" - "ÊÓÍÍÂ" - "ÊÓÍÒ§" - "ÊÓà¹Ò" - "ÊÓà¹Õ§" - "ÊÓàÀÒ" - "ÊÓàÃÔ§" - "ÊÓàÃç¨" - "ÊÓà˹Õ¡" - "ÊÓàËÃè" - "ÊÓá´§" - "ÊÓáŧ" - "ÊÓâç" - "ÊÔ" - "ÊÔ¡¢Ò" - "ÊÔ¢Ã" - "ÊÔ¤ÒÅ" - "ÊÔ§" - "ÊÔ§¢Ã" - "ÊÔ§¤ÒÃ" - "ÊÔ§¤ÒÅ" - "ÊÔ§¤â»Ãì" - "ÊÔ§¤ì" - "ÊÔ§ÊÒÃÒÊѵÇì" - "Êԧ˹ҷ" - "Êԧ˺ѭªÃ" - "ÊÔ§ËÃÒª" - "ÊÔ§ËÅ" - "ÊÔ§ËÒ¤Á" - "ÊÔ§ËÒʹì" - "ÊÔ§Ëì" - "ÊÔ§âµ" - "ÊÔ­¨¹ì" - "ÊÔµ" - "ÊÔ¶ÔÅ" - "ÊÔ·¸" - "ÊÔ·¸Ò" - "ÊÔ·¸Òö" - "ÊÔ·¸Ô" - "ÊÔ·¸Ôì" - "ÊÔ¹" - "ÊÔ¹¤éÒ" - "ÊÔ¹¸Ø" - "ÊÔ¹Õ" - "ÊÔ¹à¸ÒÇì" - "ÊÔº" - "ÊÔÁ¾ÅÕ" - "ÊÔÃÔ" - "ÊÔÃÔ¡ÔµÔì" - "ÊÔÅÒ" - "ÊÔÇ" - "ÊÔà¹Ë¡" - "ÊÔà¹ËÒ" - "ÊÔà¹èËÒ" - "ÊÔè§" - "ÊÔèÇ" - "ÊÔé¹" - "ÊÕ" - "ÊÕ¡Ò" - "ÊÕ´Í" - "ÊÕè" - "ÊÖ¡" - "Ê׺" - "Ê×èÍ" - "ÊØ" - "ÊØ¡" - "ÊØ¡¢ì" - "ÊØ¡Ã" - "ÊØ¡ÕéÂÒ¡Õé" - "ÊØ¢" - "ÊØ¢Ð" - "ÊØ¢Ò" - "ÊØ¢ÒÀÔºÒÅ" - "ÊØ¢ÒÃÁ³ì" - "ÊØ¢ÒÇ´Õ" - "ÊØ¢Õ" - "ÊØ¢ØÁ" - "ÊØ¢ØÁÒÅ" - "Êؤµ" - "ÊؤµÔ" - "Êؤ¹¸ÃÊ" - "Êؤ¹¸ì" - "Êؤѹ¸ì" - "Êا¡Ò¡Ã" - "ÊاÊÔ§" - "ÊبÃÔµ" - "Êب˹Õè" - "ÊبÔ" - "Êت¹" - "ÊتҴÒ" - "ÊØ­" - "ÊØ­­Ò¡ÒÈ" - "Êس" - "ÊسÔÊÒ" - "ÊØ´" - "ÊØ´Ò" - "Êص" - "ÊصµÐ" - "ÊصÔ" - "ÊØ·¸ÒÇÒÊ" - "ÊØ·¸Ô" - "ÊØ·¸ì" - "ÊØ·Ñȹì" - "ÊظÒ" - "ÊظÕ" - "Êع·Ã" - "Êع·ÃÕ" - "Êع·ÃÕÂÀÒ¾" - "Êع·ÃÕÂÈÒʵÃì" - "ÊعѢ" - "Êعѹ·ì" - "ÊغÃó" - "ÊغԹ" - "ÊؾÃó" - "ÊØÀѤ" - "ÊØÀÒ¾" - "ÊØÀÒÉÔµ" - "ÊØÁ" - "ÊØÁ·ØÁ" - "ÊØÁ¹" - "ÊØÁ¹Ò" - "ÊØÁÒÅÕ" - "ÊØÃÊÕ˹ҷ" - "ÊØÃѵÔ" - "ÊØÃÑÊÇ´Õ" - "ÊØÃÒ" - "ÊØÃÒ§¤¹Ò" - "ÊØÃÒ§¤¹Ò§¤ì" - "ÊØÃÒÃÑ¡Éì" - "ÊØÃÒÅÑÂ" - "ÊØÃÒÉ®Ãì" - "ÊØÃÔ¹·Ãì" - "ÊØÃÔ¡ÒÃ" - "ÊØÃÔ¡ÒÅ" - "ÊØÃÔ¤µÔ" - "ÊØÃÔ¤ÃÒÊ" - "ÊØÃÔ§" - "ÊØÃÔ¹" - "ÊØÃÔÂÁ³±Å" - "ÊØÃÔÂÐ" - "ÊØÃÔÂѹ" - "ÊØÃÔÂÒ" - "ÊØÃÔÂØ»ÃÒ¤Ò" - "ÊØÃÔÂà¤ÃÒÐËì" - "ÊØÃÔ๷Ãì" - "ÊØÃÔàÂÈ" - "ÊØÃÔâÂ" - "ÊØÃÕÂì" - "ÊØÃØèÂÊØÃèÒÂ" - "ÊØÃàÊÕ§" - "ÊØŵèÒ¹" - "ÊØÇÀÒ¾" - "ÊØÇÃó" - "ÊØÇÒ¹" - "ÊØÇÔ·Âì" - "ÊØÇÔ¹ÑÂ" - "ÊØÇÔÁÅ" - "ÊØÊÒ¹" - "ÊØ˹ѵ" - "ÊØËÃèÒÂ" - "ÊØàÁ¸" - "ÊØàÁÃØ" - "ÊØàËÃèÒ" - "ÊØàÍ«" - "ÊØèÁ" - "ÊØéÁ" - "ÊÙ" - "ÊÙ§" - "ÊÙ¨Ô" - "ÊÙ­" - "ÊÙ´" - "ÊÙµ" - "ÊÙµÃ" - "ÊÙµÔ" - "ÊÙµÔ¡ÃÃÁ" - "ÊٵԺѵÃ" - "ÊÙµÔÈÒʵÃì" - "ÊÙµÔá¾·Âì" - "ÊÙ·" - "ÊÙº" - "ÊÙÊÕ" - "ÊÙè" - "ÊÙé" - "Êࡵ" - "ÊàµÍÃÔâÍ" - "Êàµç¡" - "Êà¹èËì" - "Ê໡" - "Ê໡µÃÑÁ" - "Ê໹" - "Êà»Ã´ªÕµ" - "Ê᡹" - "Êáŧ" - "ÊâÁÊÃ" - "Êâê" - "ÊäµÅì" - "Êäº" - "ÊäÅ´ì" - "Êè§" - "Êèǹ" - "ÊèÇÂ" - "ÊèÍ" - "Êèͧ" - "Êè͹" - "ÊèÒ" - "ÊèÒ¹" - "ÊèÒÂ" - "ÊèÒËÃÕè" - "ÊèÒàËÅéÒ" - "ÊèÓ" - "Êé¹" - "ÊéÁ" - "ÊéÁ»èÍÂ" - "Êéǧ" - "ÊéÇÁ" - "ÊéÇÂ" - "Êéͧ" - "ÊéÍÁ" - "Ë¡" - "˧" - "˧Êì" - "˧Í" - "˧͡" - "˧ʹ" - "˧͹" - "˧ÍÂ" - "˧ѡ" - "˧Ѻ" - "˧ÒÂ" - "˧Ó" - "˧ԡ" - "˧ԧ" - "˧ÔÁ" - "˧֡" - "˧ا˧ԧ" - "˧ش˧Դ" - "˧غ" - "˧ØèÂ" - "˧èÍÁ" - "˧èÒ§" - "˧èÒÇ" - "Ë­Ô§" - "Ë­Ôº" - "Ë­éÒ" - "Ë´" - "Ë·ÑÂ" - "˹" - "˹ǡ" - "˹Ǵ" - "˹Í" - "˹͡" - "˹ͧ" - "˹͹" - "˹ѡ" - "˹ѧ" - "˹ѧÊ×Í" - "˹Ѻ" - "˹Ñè¹" - "˹Ò" - "˹Ҵ" - "˹ҹ" - "˹ÒÁ" - "˹ÒÇ" - "˹Ó" - "˹ÓàÅÕéº" - "˹Õ" - "˹պ" - "˹Õé" - "˹ֺ" - "˹Öè§" - "˹״" - "˹Ø" - "˹ع" - "˹غ" - "˹ØèÁ" - "˹ØèÂ" - "˹Ù" - "˹çÍÂá¹è" - "˹èǧ" - "˹èÇÂ" - "˹èÇ¡Ե" - "˹èÍ" - "˹èÍÂ" - "˹èÒ" - "˹èÒ§" - "˹èÒÂ" - "˹éÒ" - "˹éÒ·Õè" - "ËÁ¡" - "ËÁ´" - "ËÁÇ¡" - "ËÁÇ´" - "ËÁÍ" - "ËÁÍ¡" - "ËÁͧ" - "ËÁ͹" - "ËÁͺ" - "ËÁÍÂ" - "ËÁÑ¡" - "ËÁÑ´" - "ËÁѹ" - "ËÁѺ" - "ËÁÑè¹" - "ËÁÑé¹" - "ËÁÒ" - "ËÁÒ¡" - "ËÁÒ¡ÎÍÊ" - "ËÁÒ§" - "ËÁÒ´" - "ËÁÒÂ" - "ËÁÔè¹" - "ËÁÕ" - "ËÁÕè" - "ËÁÖ¡" - "ËÁ×è¹" - "ËÁØ´" - "ËÁع" - "ËÁغ" - "ËÁغËÁÔº" - "ËÁØèÂ" - "ËÁÙ" - "ËÁÙè" - "ËÁè¹" - "ËÁèͧ" - "ËÁè͹" - "ËÁèÍÁ" - "ËÁèÒ" - "ËÁèÓ" - "ËÁéÍ" - "ËÁéÒÂ" - "Ë¡" - "Ë´" - "ËÂÇ¡" - "ËÂǺ" - "ËÂÍ¡" - "ËÂÍ¡àÍÔ¹" - "ËÂͧ" - "ËÂÍ´" - "ËÂÍÁáËÂÁ" - "ËÂÍÂ" - "ËÂÑ¡" - "ËÂѧ" - "ËÂÑ´" - "ËÂѹ" - "ËÂѺ" - "ËÂÑè§" - "ËÂÒ¡äÂè" - "ËÂÒ´" - "ËÂÒº" - "ËÂÒÁ" - "ËÂÒÇ" - "ËÂÓà»" - "ËÂÔ¡" - "ËÂÔº" - "ËÂÔÁ" - "ËÂÔè§" - "ËÂÕ" - "ËÂØ¡ËÂÔ¡" - "ËÂØ´" - "ËÂغ" - "ËÂØÁËÂÔÁ" - "ËÂØè¹" - "ËÂÙ¡ÂÒ" - "ËÂçͧáËÂç§" - "ËÂè§" - "ËÂèͧ" - "ËÂè͹" - "ËÂèÍÁ" - "ËÂèÍÂ" - "ËÂèÒ" - "ËôÕ" - "ËÃÃÉÒ" - "ËÃÍ" - "ËÃÍ¡" - "ËÃÍÂ" - "ËÃÒ" - "ËÃÔ" - "ËÃÔè§" - "ËÃÕ´" - "ËÃÕè" - "ËÃ×Í" - "ËÃغ" - "ËÃغÃÙè" - "ËÃغËÃÙè" - "ËÃØèÁ" - "ËÃÙ" - "ËÃçÍÁáËÃçÁ" - "ËÄ·ÑÂ" - "ËÄËÃÃÉì" - "ËÄâË´" - "ËÅ" - "Ëŧ" - "ËÅ´" - "ËŹ" - "Ëź" - "ËÅǧ" - "ËÅÇÁ" - "ËÅÍ" - "ËÅÍ¡" - "ËÅÍ´" - "ËÅ͹" - "ËÅÍÁ" - "ËÅÐ" - "ËÅÑ¡" - "ËÅѧ" - "ËÅÑ´" - "ËÅѺ" - "ËÅÑÇ" - "ËÅÑè§" - "ËÅÑè¹" - "ËÅÒ" - "ËÅÒ¡" - "ËÅÒ¹" - "ËÅÒº" - "ËÅÒÁ" - "ËÅÒÂ" - "ËÅÒÇ" - "ËÅÔ¡" - "ËÅÔÁ" - "ËÅÔÇ" - "ËÅÔèÇ" - "ËÅÕ" - "ËÅÕ¡" - "ËÅÕÎ×éÍ" - "ËÅ׺" - "ËÅØ¡ËÅÔ¡" - "ËÅØ´" - "ËÅع" - "ËÅغ" - "ËÅØÁ" - "ËÅÙè" - "ËÅè¹" - "ËÅèÁ" - "ËÅèÍ" - "ËÅè͹" - "ËÅèÐ" - "ËÅéÒ" - "Ëǧ" - "ËÇ´" - "Ëǹ" - "ËÇÂ" - "ËÇÍ" - "ËÇÍ´" - "ËÇÐ" - "ËÇѧ" - "ËÇÑ´" - "ËÇÑÇ" - "ËÇÑÇÃèÍ" - "ËÇÑè¹" - "ËÇÒ" - "ËÇÒ´" - "ËÇÒ¹" - "ËÇÒÁ" - "ËÇÒÂ" - "ËÇÓ" - "ËÇÔ´" - "ËÇÔÇ" - "ËÇÕ" - "ËÇÕ´" - "ËÇÕè" - "ËÇ×Í" - "ËÇØ´ËÇÔ´" - "ËÇØÁ" - "ËÇÙ´" - "ËÇçÍÂ" - "ËÇèÒ" - "ËÇèÒ§" - "ËÇèÒ¹" - "ËÇéÒ" - "ËÍ" - "ËÍ¡" - "Ëͧ" - "Ë͹" - "Ëͺ" - "ËÍÁ" - "ËÍÂ" - "ËÐáá" - "ËÑ¡" - "ËÑ´" - "Ëѵ¶¡ÃÃÁ" - "Ëѵ¶¡ÒÃ" - "Ëѵ¶¡Ô¨" - "Ëѵ¶ºÒÊ" - "Ëѵ¶ÈÔÅ»ì" - "Ëѵ¶ÈÖ¡ÉÒ" - "Ëѵ¶Õ" - "Ëѵ¶ì" - "Ëѹ" - "ËѺ" - "ËÑÇ" - "ËÑǺء" - "ËÑÇ˹éÒ" - "ËÑÇàÃÒÐ" - "ËÑÊ" - "ËÑè¹" - "ËÑé¹" - "ËÒ" - "ËÒ¡" - "ËÒ§" - "ËÒ­" - "ËÒ´" - "ËÒ¹" - "ËÒº" - "ËÒÁ" - "ËÒÂ" - "ËÒ¹Ð" - "ËÒÃ" - "ËÒÃ×Í" - "ËÒÇ" - "ËÓ" - "ËÔ§ÊÒ" - "ËÔ§ËéÍÂ" - "ËÔ´" - "ËÔ¹" - "ËÔÁÐ" - "ËÔÁÒÅÑÂ" - "ËÔÃÑ­" - "ËÔÃÔ" - "ËÔÇ" - "ËÔè§ËéÍÂ" - "ËÔé§" - "ËÔéÇ" - "ËÕ¹ÂÒ¹" - "ËÕº" - "ËÖ" - "ËÖ§" - "ËÖè§" - "Ë×´" - "Ë×¹" - "Ë×Í" - "Ë×è¹" - "Ë×éÍ" - "Ëا" - "Ëع" - "Ëغ" - "ËØÂÎÒ" - "ËØè¹" - "ËØé¹" - "ËØéÁ" - "ËÙ" - "ËÙ¡" - "ËÙ´" - "ËÙè" - "Ëâ´Á" - "ËèÁ" - "Ëèǧ" - "ËèÇÂ" - "ËèÍ" - "Ëè͹" - "ËèÒ" - "ËèÒ§" - "ËèÒ¹" - "ËèÒÁ" - "Ëéǧ" - "Ëéǹ" - "ËéÇÂ" - "ËéÍ" - "Ëéͧ" - "ËéÍÁ" - "ËéÍÂ" - "ËéÒ" - "ËéÒ§" - "ËéÒÁ" - "ËéÒÇ" - "ËéÓ" - "Í¡" - "Í¡µÑ­­ØµÒ" - "Í¡µÑ­­Ù" - "Í¡¹ÔÉ°ì" - "͡óÕÂì" - "Í¡ÃÃÁ¡ÃÔÂÒ" - "Í¡ØÈÅ" - "ͤµÔ" - "ͤҸ" - "ͧ¡ì" - "ͧ¤ªÒµÔ" - "ͧ¤Á¹µÃÕ" - "ͧ¤ÁÃÃÉ" - "ͧ¤ÃÑ¡Éì" - "ͧ¤ÇÔ·ÂÒ" - "ͧ¤Ò¾Â¾" - "ͧ¤ØÅ" - "ͧ¤ØÅÕ" - "ͧ¤ì" - "ͧ¤ì¡Ã" - "ͧ¤ì¡ÒÃ" - "ͧÈÒ" - "ͧÍÒ¨" - "ͧØè¹" - "ͨÅÒ" - "ͨԵµÔ" - "ͨԹµÒ" - "ͨԹäµÂ" - "ͨÔÃÐ" - "ͪ" - "ͪÒ" - "ͪԹ" - "ͪԹÕ" - "ͪÔÃ" - "ͯÇÕ" - "ͳÔ" - "ͳØ" - "ͳÙ" - "Í´" - "Í´Ô¶Õ" - "Í´ÔÈÃ" - "Í´ÔÈÇÃ" - "Í´ÔÈÑÂ" - "Í´Ôà·¾" - "Í´Ôàá" - "Í´Õµ" - "Í´ØÅ" - "Í´ØÅÂ" - "Í´ØÅÂì" - "͵Ԫҵ" - "͵ÔÁÒ¹Ð" - "͵ÔÃÒª" - "͵ÔÊÒÃ" - "͵Ôàá" - "Í·Ô¹¹Ò·Ò¹" - "͸ÃÃÁ" - "͸ԡÁÒÊ" - "͸ԡóì" - "͸ԡÇÒÃ" - "͸ԡÊØ÷Թ" - "͸ԡÒÃ" - "͸ԤÁ" - "͸ԯ°Ò¹" - "͸Ժ´Õ" - "͸ԺÒÂ" - "͸Ի" - "͸ԻäµÂ" - "͸ÔÃÒª" - "͸ÔÉ°Ò¹" - "͸֡" - "͹§¤³Ð" - "͹§¤àÅ¢Ò" - "͹§¤ì" - "͹§àÅ¢" - "͹¸¡ÒÃ" - "͹ѵµÒ" - "͹ѹµì" - "͹Ҥµ" - "͹ҤÒÁÕ" - "͹ҨÒÃ" - "͹Ҷ" - "͹ҶÒ" - "͹ҷÃ" - "͹ҸԻäµÂ" - "͹ÒÁÑÂ" - "͹Òê¹" - "͹ÒøÃÃÁ" - "͹ÒÃÂÐ" - "͹ÒÅÑÂ" - "͹Ԩ" - "͹Ԩ¨Ñ§" - "͹Ԩ¨Ò" - "͹ԯ°ÒÃÁÂì" - "͹ÔÂÁ" - "͹Öè§" - "͹Ø" - "͹ءÃ" - "͹ءÃÁ" - "͹ءÃÃÁ¡ÒÃ" - "͹ءҪҴ" - "͹ءÒÃ" - "͹ءÙÅ" - "͹بÃ" - "͹ت¹" - "͹تÒ" - "͹تҵ" - "͹تԵ" - "͹حҵ" - "͹حÒâµµØÅÒ¡ÒÃ" - "͹طԹ" - "͹غ·" - "͹غÒÅ" - "͹ػÃÔ­­Ò" - "͹ؾ§Èì" - "͹ؾѹ¸ì" - "͹ØÀÃÃÂÒ" - "͹ØÀÃÔÂÒ" - "͹ØÀÒ¤" - "͹ØÁѵÔ" - "͹ØÁÒµÃÒ" - "͹ØÁÒ¹" - "͹ØÁÙÅ" - "͹ØÃѡɹÔÂÁ" - "͹ØÃÑ¡Éì" - "͹ØÃÒª" - "͹ØÃÙ»" - "͹ØǧÈì" - "͹ØÇѵ" - "͹ØÈÒÊ¡" - "͹ØÈÒʵÃÒ¨ÒÃÂì" - "͹ØÈÒʹì" - "͹ØÈÔɯì" - "͹ØʵÔ" - "͹Øʹ¸Ô" - "͹ØÊÃ" - "͹ØÊóì" - "͹ØÊÑ­­Ò" - "͹ØÊÑÂ" - "͹ØÊÒÇÃÕÂì" - "͹ØÊÒʹÕ" - "͹Øà¤ÃÒÐËì" - "͹Øà¶ÃÐ" - "͹ØâÁ·¹Ò" - "͹Øâ¤" - "͹ØâÅÁ" - "ͺ" - "ͺÒÂ" - "ͺÒÂÀÙÁÔ" - "ͺÒÂÁØ¢" - "Í»Á§¤Å" - ";¾" - ";ÒÃìµàÁ¹µì" - "ÍÀÑÂ" - "ÍÀÔª¹" - "ÍÀÔªÒµ" - "ÍÀÔ­­Ò" - "ÍÀÔ¸ÃÃÁ" - "ÍÀÔ¸Ò¹" - "ÍÀԹѹ·ì" - "ÍÀÔ¹ÑÂ" - "ÍÀÔ¹ÔËÒÃ" - "ÍÀÔºÒÅ" - "ÍÀÔ»ÃѪ­Ò" - "ÍÀÔ»ÃÒÂ" - "ÍÀÔÁËÒÍÓ¹Ò¨" - "ÍÀÔÁÒ¹Ð" - "ÍÀÔÁØ¢" - "ÍÀÔôÕ" - "ÍÀÔÃÁÂì" - "ÍÀÔÃÑ¡Éì" - "ÍÀÔÅÑ¡¢ÔµÊÁÑÂ" - "ÍÀÔÇѹ·ì" - "ÍÀÔÇÒ·¹ì" - "ÍÀÔÊÁÑÂ" - "ÍÀÔÊÁÒ¨ÒÃ" - "ÍÀÔÊÁ⾸Ô" - "ÍÀÔÊÑÁ⾸Ô" - "ÍÀÔÊÔ·¸Ôì" - "ÍÀÔàÅ»¹ì" - "ÍÀÔàÉ¡" - "ÍÀÔä¸Â" - "ÍÁ" - "ÍÁµÐ" - "ÍÁ¹ØÉÂì" - "ÍÁÃ" - "ÍÁÃÒ" - "ÍÁÃÒÇ´Õ" - "ÍÁÃÔ¹·Ãì" - "ÍÁĵ" - "ÍÁĵÂÙ" - "ÍÁÔµÃ" - "ÍÁàÃÈ" - "ÍÂÒ¡" - "ÍÂظÂÒ" - "ÍÂÙè" - "ÍÂèÒ" - "ÍÂèÒ§" - "ÍÃ" - "ÍêÃ" - "ÍÃó¾" - "ÍÃö" - "ÍÃöҸԺÒÂ" - "ÍÃËÐ" - "ÍÃËѧ" - "ÍÃËѹµì" - "ÍÃÑ­" - "ÍÃÔ" - "ÍÃÔºؤ¤Å" - "ÍÃÔÂÐ" - "ÍÃÔÊâµàµÔÅ" - "ÍÃس" - "ÍÃØâ³·ÑÂ" - "ÍÃä·" - "ÍÃèÍÂ" - "ÍÃèÒÁ" - "Íŧ¡µ" - "Íŧ¡Ã³ì" - "Íŧ¡ÒÃ" - "ÍÅǹ" - "ÍÅËÁèÒ¹" - "ÍÅѧ¡ÒÃ" - "ÍÅѪªÕ" - "ÍÅÖ觩Öè§" - "ÍÅàǧ" - "ÍÅèͧ©èͧ" - "ÍÅèÒ§©èÒ§" - "ÍÇ¡ÒÈ" - "ÍÇ´" - "ÍǵÒÃ" - "Íǹ" - "ÍǺ" - "ÍÇÁ§¤Å" - "ÍÇÂ" - "ÍÇÅ" - "ÍÇÊÒ¹" - "ÍÇËÒÃ" - "ÍÇÑÂÇÐ" - "ÍÇÔªªÒ" - "Íʧä¢Â" - "Íʹպҵ" - "ÍÊÁ¡ÒÃ" - "ÍÊÁÁÒµÃ" - "ÍÊþÔÉ" - "ÍÊѧËÒÃÔÁ·ÃѾÂì" - "ÍÊÑ­­Õ" - "ÍÊÑ­á´ËÇÒ" - "ÍÊѵÂì" - "ÍÊÕµÔ" - "ÍÊبÔ" - "ÍÊعպҵ" - "ÍÊØáÒÂ" - "ÍÊØÃÕ" - "ÍÊÙÃ" - "ÍËѧ¡ÒÃ" - "ÍËÔ§ÊÒ" - "ÍËÔÇÒµ¡âä" - "ÍÍ" - "ÍÍ¡" - "ÍÍ¡«Ôਹ" - "ÍÍ¡«Ôപѹ" - "ÍÍ¡­Ò" - "ÍÍ¡ä«´ì" - "ÍÍ´" - "ÍÍ´ÔâÍ" - "Í͹ªÍÃì" - "Í͹«Í¹" - "Í͹«ì" - "Í͹äŹì" - "ÍÍ»ªÑ¹" - "ÍÍ»à¨ç¡µì" - "ÍÍ¿" - "ÍÍ¿ªÍÃì" - "ÍÍ¿¿ÔÈ" - "ÍÍÁ" - "ÍÍÃÒà¤ÔÅ" - "ÍÍÃì᡹" - "ÍÍÊ" - "ÍÍÊàµÃàÅÕÂ" - "ÍФÃéÒÇ" - "ÍдÃÕ¹ÒÅÔ¹" - "ÍеÍÁ" - "ÍÐÃéÒÍÃèÒÁ" - "ÍÐÅØèÁÍÅèÇÂ" - "ÍÐÅØéÁÍÅèÇÂ" - "ÍÐÅÙÁÔà¹ÕÂÁ" - "ÍÐà¤×éÍ" - "ÍÐà«·ÔÅÕ¹" - "ÍÐäÃ" - "ÍÐäËÅè" - "ÍÑ¡" - "ÍÑ¡¢" - "ÍÑ¡¢ÃÇÔ¸Õ" - "ÍÑ¡¢ÃÇԺѵÔ" - "ÍÑ¡¢ÃÊÁÑÂ" - "ÍÑ¡¢ÃÐ" - "ÍÑ¡ÉÃ" - "ÍÑ¡ÉÐ" - "ÍÑ¡àʺ" - "ÍÑ¡â¢" - "ÍѤ¤Ð" - "ÍѤ¤Õ" - "ÍѤ¹Õ" - "ÍѤêÒÂÒ" - "ÍѤÃÁàËÊÕ" - "ÍѤÃÃÒª·Ùµ" - "Íѧ" - "Íѧ¡ÄÉ" - "Íѧ¡ÐÅا" - "Íѧ¤³Ò" - "Íѧ¤ÒÃ" - "Íѧ¤ÒÊ" - "ÍѧʵÃÍÁ" - "ÍѧʹÒ" - "ÍѨ¡ÅѺ" - "ÍѨ¨Ñ¹µì" - "ÍѨ¨ÑÂ" - "ÍѨ¨Ô" - "ÍѨ©ÃÒ" - "ÍѨ©ÃÔºؤ¤Å" - "ÍѨ©ÃÔÂÐ" - "ÍѨ¹Ò" - "ÍѪ¬Ò" - "ÍѪ¬ÒÊÑÂ" - "ÍÑ­ª¹Ð" - "ÍÑ­ªÅÕ" - "ÍÑ­ªÑ¹" - "ÍÑ­»ÃСÒÈ" - "ÍÑ­Á³Õ" - "ÍÑ­ÁÑ­­Ð" - "ÍÑ­ÃÙ»" - "ÍÑ­àªÔ­" - "Íѯ" - "Íѯ°Ð" - "ÍÑ°" - "ÍÑ°ÌÊ" - "ÍÑ°Ô" - "ÍѲ¨Ñ¹·Ãì" - "ÍѲÀÒ¤" - "ÍѲÁ³±Å" - "ÍѲÁÒÊ" - "ÍѲÃѵµÔ" - "Íѳ±ªÐ" - "Íѳ±Ð" - "Íѳ±Ò¡ÒÃ" - "ÍÑ´" - "Íѵ¤Ñ´" - "ÍѵªÕÇ»ÃÐÇѵÔ" - "ÍѵµÐ" - "ÍѵµÒ" - "ÍѵµÒ¸Ô»äµÂ" - "Íѵ¹ÑÂ" - "ÍѵÀÒ¾" - "ÍѵÃÒ" - "ÍѵÇÔ¹ÔºÒµ¡ÃÃÁ" - "Íѵâ¹ÁѵÔ" - "ÍѸÂÒÈÑÂ" - "Íѹ" - "Íѹ´Ñº" - "ÍѹµÃ¸Ò¹" - "ÍѹµÃÒÂ" - "Íѹ¸¡ÒÃ" - "Íѹ¸¾ÒÅ" - "Íѹà´ÍÃì" - "ÍѺ" - "ÍÑ»ÀÒ¤Âì" - "ÍÑ»Á§¤Å" - "ÍÑ»ÂÈ" - "ÍÑ»ÃÐÁÒ³" - "ÍÑ»ÃÒªÑÂ" - "ÍÑ»ÃÕÂì" - "ÍÑ»Åѡɳì" - "ÍÑ»ÊÃ" - "ÍÑ»à»ËÔ" - "ÍѾà¡Ã´" - "ÍѾവ" - "ÍѾഷ" - "ÍÑ¿" - "ÍÑÁ¾Ã" - "ÍÑÁ¾Ä¡Éì" - "ÍÑÁ¾Ò" - "ÍÑÁ¾Òµ" - "ÍÑÁ¾Øª" - "ÍÑÁÊàµÍÃì´ÑÁ" - "ÍÑ¡Ò" - "ÍÑ¡ÒÃ" - "ÍÑÂÂÔ¡Ò" - "ÍÑŨÕàÃÕÂ" - "ÍÑźÑéÁ" - "ÍÑźÒà¹ÕÂ" - "ÍÑÅàºà¹ÕÂ" - "ÍÑȨÃÃÂì" - "ÍÑÈÇÔ¹" - "ÍÑÈÇÔ¹Õ" - "ÍÑÈà¨ÃÕÂì" - "ÍÑÉ®ÒÂØ·" - "ÍÑÉ®ÒÇظ" - "ÍÑÊ´§" - "ÍÑÊ´§¤µ" - "ÍÑÊ´Ã" - "ÍÑʹÕ" - "ÍÑÊÊÐ" - "ÍÑÊÊÒÊÐ" - "ÍÑÊÊØ" - "ÍÑé¡" - "ÍÑé§ÂÕè" - "ÍÑé§âÅè" - "ÍÑé¹" - "ÍÑê¡" - "ÍÑë¹" - "ÍÒ" - "ÍÒ¡Ã" - "ÍÒ¡Ñ»¡ÔÃÔÂÒ" - "ÍÒ¡ÒÃ" - "ÍÒ¡ÒÈ" - "ÍÒ¡ÙÅ" - "ÍÒ¡éÒ" - "ÍÒ¢ÂÒ¹" - "ÍÒ¤Á" - "ÍҤѹµØ¡Ð" - "ÍÒ¤ÒÃ" - "ÍÒ¤à¹Âì" - "ÍÒ¦Òµ" - "ÍÒ§¢¹Ò§" - "ÍÒ¨" - "ÍÒ¨Á" - "ÍÒ¨ÃÔÂÇѵÃ" - "ÍÒ¨Ò´" - "ÍÒ¨ÒÃÂì" - "ÍÒ¨Ô³" - "ÍÒª­Ò" - "ÍÒªÒ" - "ÍÒªÒä¹Â" - "ÍÒªÕ¾" - "ÍÒªÕÇÈÖ¡ÉÒ" - "ÍÒªÕÇÐ" - "ÍÒ­Ò" - "ÍҳѵÔ" - "ÍÒ³Ò" - "ÍÒ´" - "ÍÒ´ÙÃ" - "ÍÒµÁÀÒ¾" - "ÍÒµÁÒ" - "ÍÒ¶Ãþ³ì" - "ÍÒ¶Ãþì" - "ÍÒ·Ã" - "ÍÒ·Ô" - "ÍÒ·ÔµÂì" - "ÍÒ¹" - "ÍÒ¹ÔʧÊì" - "ÍÒ¹ØÀÒ¾" - "ÍÒº" - "ÍҺѵÔ" - "ÍÒ¾Ò¸" - "ÍÒ¿¡Ò¹Ôʶҹ" - "ÍÒ¿ÃÔ¡Ò" - "ÍÒÀóì" - "ÍÒÀѾ" - "ÍÒÀÒ" - "ÍÒÁÔÊ" - "ÍÒÂ" - "ÍÒµ¹Ð" - "ÍÒÂÑ´" - "ÍÒÂØ" - "ÍÒÂØÃÈÒʵÃì" - "ÍÒÂØÃàǪ" - "ÍÒÂØÃá¾·Âì" - "ÍÒúԤ" - "ÍÒÃÁ³ì" - "ÍÒê¹" - "ÍÒêҵÔ" - "ÍÒøÃÃÁ" - "ÍÒûÃÐà·È" - "ÍÒÃÂÐ" - "ÍÒÃÂѹ" - "ÍÒÃÑ¡¢Ò" - "ÍÒÃÑ¡Éì" - "ÍÒÃÑÁÀ¡¶Ò" - "ÍÒÃÑÁÀº·" - "ÍÒÃÒ¸¹Ò" - "ÍÒÃÒÁ" - "ÍÒÃÒÁÔ¡" - "ÍÒÃÒàºÕÂ" - "ÍÒÃÕ" - "ÍÒÃ줵ԡ" - "ÍÒÃìૹÍÅ" - "ÍÒÅ»¹Ð" - "ÍÒÅÐÇÒ´" - "ÍÒÅѡɳì" - "ÍÒÅÑÂ" - "ÍÒÅÑÇ" - "ÍÒÇ" - "ÍÒÇóì" - "ÍÒÇÒÊ" - "ÍÒÇÒËÐ" - "ÍÒÇظ" - "ÍÒÇØâÊ" - "ÍÒÇì" - "ÍÒÈÃÁ" - "ÍÒÈÑÂ" - "ÍÒÈÔÃÇÒ·" - "ÍÒʹÐ" - "ÍÒʹì" - "ÍÒÊÑ­" - "ÍÒÊÒ" - "ÍÒÊÒÌ˺٪Ò" - "ÍÒÊÙÃ" - "ÍÒËÃѺ" - "ÍÒËÒÃ" - "ÍÒà¨Õ¹" - "ÍÒà«ÕÂ" - "ÍÒàÃàºÕÂ" - "ÍÒàǤ" - "ÍÒàÇÈ" - "ÍÒàÈÕÂÃÇÒ·" - "ÍÓ" - "ÍÓ¹ÇÂ" - "ÍÓ¹Ò¨" - "ÍӾйÓ" - "ÍӾѹ" - "ÍÓÁĵ" - "ÍÓÁËÔµ" - "ÍÓÁÒµÂì" - "ÍÓÅÒ" - "ÍÓàÀÍ" - "ÍÓä¾" - "ÍÔ§" - "ÍÔ§¤ì" - "ÍÔ§¤ìà¨çµ" - "ÍÔ¨©Ò" - "Íԩѹ" - "ÍÔ¯°ÒÃÁ³ì" - "ÍÔ°" - "ÍÔ´" - "ÍÔµ¶Õ" - "ÍÔµÒÅÕ" - "ÍÔµÒàÅÕ¹" - "ÍÔ·¸Ô" - "ÍÔ¹" - "ÍÔ¹«ÙÅÔ¹" - "ÍÔ¹·¹ÔÅ" - "ÍÔ¹·¼ÅÑÁ" - "ÍÔ¹·Ã¸¹Ù" - "ÍÔ¹·ÃǧÈì" - "ÍÔ¹·ÃÇÔàªÕÂÃ" - "ÍÔ¹·ÃÒ" - "ÍÔ¹·ÃÒà¹çµ" - "ÍÔ¹·ÃÕ" - "ÍÔ¹·ÃÕÂÊѧÇÃ" - "ÍÔ¹·ÃÕÂì" - "ÍÔ¹·Ãì" - "ÍÔ¹¾Øµ" - "ÍÔ¹¿ÃÒàô" - "ÍÔ¹¿ÍÃìÁÔ¡" - "ÍԹѧ" - "ÍÔ¹à´ÕÂ" - "ÍÔ¹à´Õ¹ᴧ" - "ÍÔ¹àµÍÃì" - "ÍÔ¹àµÍÃìà¹çµ" - "ÍÔ¹àµÍÃìà¿«" - "ÍÔ¹à·Å" - "ÍÔ¹à·ÍÃì๵" - "ÍÔ¹à·ÍÃìà¹çµ" - "ÍÔ¹à·ÍÃìà¿«" - "ÍԹⴹÔà«ÕÂ" - "ÍԹⴹÕà«ÕÂ" - "ÍÔ¹â´à«ÕÂ" - "ÍÔÁ¾ÍÃìµ" - "ÍÔÁàÁ¨" - "ÍÔÂÔ»µì" - "ÍÔÃÔÂÒº¶" - "ÍÔÈÇÃ" - "ÍÔɯÕ" - "ÍÔɯì" - "ÍÔÊ" - "ÍÔʵÃÕ" - "ÍÔÊÃÀÒ¾" - "ÍÔÊÃÐ" - "ÍÔÊÃÒàÍÅ" - "ÍÔÊÃÔÂÂÈ" - "ÍÔÊÃÔÂÐ" - "ÍÔÊÃÔÂÒÀóì" - "ÍÔÊÊÒ" - "ÍÔÊÔ" - "ÍÔÊÕ" - "ÍÔËÁèÒÁ" - "ÍÔËÃèÒ¹" - "ÍÔËÅÑ¡ÍÔàËÅ×èÍ" - "ÍÔàÅ硵Ã͹" - "ÍÔàÅç¡·Ã͹ԡÊì" - "ÍÔàÅç¡â·¹" - "ÍÔèÁ" - "ÍÕ" - "ÍÕ¡" - "ÍÕ¡Ò" - "ÍÕ¡éÍ" - "ÍÕ¤ÍÁàÁÔÃì«" - "ÍչاµØ§¹Ñ§" - "ÍÕÁÙ" - "ÍÕÂÔ»µì" - "ÍÕÅØè©ØÂá©¡" - "ÍÕÅØéÁ" - "ÍÕÊÒ¹" - "ÍÕÊØ¡ÍÕãÊ" - "ÍÕËÃͺ" - "ÍÕËÅÑ¡ÍÔàËÅ×èÍ" - "ÍÕËÅÕ" - "ÍÕàµéÍ" - "ÍÕà·ÍÃì" - "ÍÕàÁÅì" - "ÍÕàËÅÐà¢Ð¢Ð" - "ÍÕâËÅ¡â¢Å¡à¢Å¡" - "ÍÕê´" - "ÍÕë" - "ÍÖ" - "ÍÖ¡" - "ÍÖ¡·Ö¡" - "ÍÖ¡ÍÑ¡" - "ÍÖ§" - "ÍÖ§ÁÕè" - "ÍÖ§ÍÅ" - "ÍÖ´" - "ÍÖè§" - "ÍÖé§" - "ÍÖé´·Öè´" - "ÍÖê¡" - "Í×´" - "Í×Í" - "Í×è¹" - "Í×é¹" - "Í×éÍ" - "ÍØ" - "ÍØ¡" - "ÍØ¡¡ÒºÒµ" - "ÍØ¡Äɯì" - "Íب¨ÒÃÐ" - "ÍبҴ" - "ÍبÒÃÁÃä" - "Íب੷" - "ÍتØ" - "Íد°Ò¡ÒÃ" - "ÍسËÀÙÁÔ" - "ÍسËÐ" - "ÍسËÒ¡ÒÃ" - "ÍسËÔÊ" - "ÍسÒ" - "ÍØ´" - "ÍØ´Á" - "ÍØ´Ã" - "Íش˹ع" - "Íص¾Ô´" - "ÍصôԵ¶ì" - "ÍصÃÔ" - "ÍصÅØ´" - "ÍصÊÒË¡ÃÃÁ" - "ÍصÊÒËÐ" - "ÍصÊèÒËì" - "ÍصØ" - "ÍØ·¡" - "ÍØ·¸Ã³ì" - "ÍØ·¸Ñ¨" - "ÍØ·ÂÒ¹" - "ÍØ·Ã" - "ÍØ·ÅØÁ" - "ÍطѪ" - "ÍØ·ÑÂ" - "ÍØ·Ò¹" - "ÍØ·ÒÃ" - "ÍØ·ÒËóì" - "ÍØ·ÔÈ" - "ÍØ·ØÁ¾Ã" - "ÍظѨ" - "Íغ" - "ÍغÅ" - "ÍغÍÔº" - "ÍغÐ" - "ÍغѵÔ" - "Íغҷ" - "ÍغҷÇì" - "ÍغÒÂ" - "ÍغÒÊ¡" - "ÍغÒÊÔ¡Ò" - "ÍغêÐ" - "ÍØ»" - "ÍØ»¡Ã³ì" - "ÍØ»¡ÃÁ" - "ÍØ»¡ÒÃÐ" - "ÍØ»¡ÒÃÕ" - "ÍØ»¶ÑÁÀ¡" - "ÍØ»¶ÑÁÀì" - "ÍØ»·Ò¹" - "ÍØ»·Ùµ" - "ÍØ»¹ÑÂ" - "ÍØ»¹Ò¡" - "ÍØ»¹ÔÊÑÂ" - "ÍØ»ÁÒ" - "ÍØ»ÁÒ¹" - "ÍØ»ÃÒª" - "Íػʧ¤ì" - "ÍØ»ÊÁº·" - "ÍØ»ÊÃä" - "ÍØ»ÊÑÁ»·Ò" - "ÍػѪ¬ÒÂÐ" - "ÍػѪ¬ÒÂì" - "Íػѯ°Ò¡" - "Íػѯ°Ò¹Ð" - "ÍػѷÇѹµÃÒÂ" - "ÍػѷÇà˵Ø" - "Íػҷҹ" - "ÍØ»âÀ¤" - "ÍØ»â¤" - "ÍØ»âÅ¡¹ì" - "ÍØ»äÁÂ" - "ÍØÂ" - "ÍØÃÐ" - "ÍØÃѧÍصѧ" - "ÍØÃÒ" - "ÍØÃØ" - "ÍØÃاÍصѧ" - "ÍØɳÕÂì" - "ÍØÉÒ" - "ÍØÊÒ" - "ÍØÊØ" - "ÍØມ¢Ò" - "ÍØàËÁè" - "ÍØáÇé" - "ÍØâ¦É" - "ÍØâºÊ¶" - "ÍØâÁ§¤ì" - "ÍØäÃ" - "ÍØè¹" - "ÍØèÂ" - "ÍØé§" - "ÍØéÁ" - "ÍØéÂ" - "ÍØêÂ" - "ÍÙ" - "ÍÙ°" - "ÍÙ´" - "ÍÙÁ" - "ÍÙÃØ" - "ÍÙè" - "ÍÙé" - "ÍÙéÍÕé" - "ÍÙëÍÕë" - "Íà¨Å¡" - "Íà¨ÅÐ" - "Í๡" - "Í๡¤Ø³" - "Í๨͹Ҷ" - "Íà»ËÔ" - "ÍàÁ" - "ÍàÁÃԡѹ" - "ÍàÁÃÔ¡Ò" - "ÍàǨÕ" - "Íá´»àµÍÃì" - "Íâ¦ÉÐ" - "Íâ³·ÑÂ" - "Í⹪Ò" - "Íâ¹´Òµ" - "ÍâÅËÐ" - "ÍâÈ¡" - "ÍâËÊÔ" - "Íèͧ" - "Íè͹" - "ÍèÍÂ" - "ÍèÒ" - "ÍèÒ§" - "ÍèÒ¹" - "ÍèÒÇ" - "ÍèÓ" - "Íé¹" - "ÍéÇ¡" - "Íéǹ" - "ÍéÍ" - "Íé͹" - "Íé͹áÍé¹" - "ÍéÍÁ" - "ÍéÍÂ" - "ÍéÍÂÊéÍÂ" - "ÍéÍÂÍÔè§" - "ÍéÒ" - "ÍéÒ§" - "ÍéÒÂ" - "ÍéÒÇ" - "ÍéÓÍÖé§" - "ÍêÍ´" - "ÍêÐ" - "ÍëÍ" - "Íëͧ" - "ÍëÍÂ" - "Ρà¡Õé¹" - "Îǧ«ØéÂ" - "Îǹ" - "ÎǺ" - "ÎÍ¡¡Õé" - "ÎÍ´" - "Î͹â¹ÅÙÅÙ" - "ÎÍÃìâÁ¹" - "ÎÍÅѹ´Ò" - "ÎÍÅᏴì" - "ÎÐ" - "ÎÑ¡" - "Îѧ¡ÒÃÕ" - "ÎÑè¹" - "ÎÑéÇ" - "ÎÒ" - "ÎÒÁ" - "ÎÒÃì´´Ôʤì" - "ÎÒÃì´áÇÃì" - "ÎÒàÃçÁ" - "ÎÒâÅÇÕ¹" - "ÎÔµ" - "ÎÔ¹´Ù" - "ÎÔ»â»â»àµÁÑÊ" - "ÎÔÊ·ÕàÃÕÂ" - "ÎÕàÅÕÂÁ" - "ÎÕâÃè" - "ÎÖ" - "ÎÖ¡" - "ÎÖ´" - "ÎÖ´ÎÑ´" - "ÎÖÁ" - "ÎÖÂ" - "ÎÖèÁ" - "Î×´ÎÒ´" - "Î×Í" - "Î×èÍ" - "Î×éÍ" - "Îغ" - "ÎØÂàÅÎØÂ" - "ÎÙ¡" - "ÎÙÁ" - "ÎÙé" - "ÎèÍ" - "Îèͧ¡§" - "Îèͧàµé" - "ÎéÍ" - "ÎéÒ" - "à¡" - "à¡¡ÁÐàËá" - "ࡨÔÍÒ¨ÒÃÂì" - "ࡳ±ì" - "à¡´" - "ࡵØ" - "ࡹ" - "à¡Á" - "à¡ÁÊì" - "à¡Â" - "à¡Ã§" - "à¡Ã´" - "à¡ÃÍÐ" - "à¡ÃÒÐ" - "à¡ÃÔ¡" - "à¡ÃÔè¹" - "à¡ÃÕ¡" - "à¡ÃÕ§" - "à¡ÃÕ¹" - "à¡ÃÕº" - "à¡ÃÕÂÁ" - "à¡ÃÕÂÇ" - "à¡ÃÕéÂÇ" - "à¡Ãç§" - "à¡Ãç´" - "à¡ÃèÍ" - "à¡Å" - "à¡ÅÍ" - "à¡ÅÒ" - "à¡ÅÕ§" - "à¡ÅÕ´" - "à¡ÅÕÂÇ" - "à¡ÅÕèÂ" - "à¡ÅÕéÂ" - "à¡ÅÕé§" - "à¡Å×Í" - "à¡Å×Í¡" - "à¡Å×è͹" - "à¡Å×éÍ" - "à¡Å×é͹" - "à¡Åç´" - "à¡ÅéÒ" - "à¡ÇÕ¹" - "à¡È" - "à¡ÈÒ" - "à¡ÈÔ¹Õ" - "à¡ÉµÃ" - "à¡ÉµÃ¡Ã" - "à¡ÉµÃ¡ÃÃÁ" - "à¡ÉÁ" - "à¡ÉÕ³" - "à¡ÉÕ¹" - "à¡ÊÃ" - "à¡Í" - "à¡ÍÃì" - "à¡ÍÔªÒ" - "à¡Ð" - "à¡Ð¡Ð" - "à¡Ò" - "à¡Òµì" - "à¡Ò·Ñ³±ì" - "à¡ÒÅÑ´" - "à¡ÒËÅÕ" - "à¡ÒÐ" - "à¡ÒàËÅÒ" - "à¡Ô§" - "à¡Ô´" - "à¡Ô¹" - "à¡ÕÂ" - "à¡Õ§" - "à¡Õ¨" - "à¡Õ´" - "à¡Õ¹" - "à¡ÕÂõÔ" - "à¡ÕÂõԤس" - "à¡ÕÂõԹÔÂÁ" - "à¡ÕÂõԻÃÐÇѵÔ" - "à¡ÕÂõÔÀÙÁÔ" - "à¡ÕÂõÔÂÈ" - "à¡ÕÂõÔÈÑ¡´Ôì" - "à¡ÕÂõÔì" - "à¡ÕÂÃì" - "à¡ÕèÂ" - "à¡Õè§" - "à¡ÕèÂÇ" - "à¡ÕéÂÁÍÕë" - "à¡ÕéÂÁä©è" - "à¡ÕéÂÇ" - "à¡ÕêÂÇ" - "à¡ÕêÂÐ" - "à¡×Í¡" - "à¡×ͺ" - "à¡×éÍ" - "à¡àÃ" - "à¡ç§" - "à¡ç¨" - "à¡çº" - "à¡è§" - "à¡è§¡Ò¨" - "à¡è¹" - "à¡èÒ" - "à¡é" - "à¡é§" - "à¡é§¡éÒ§" - "à¡éÍ" - "à¡éÒ" - "à¡éÒÍÕé" - "à¡ê" - "à¡ê¡" - "à¡ê¡ÎÇÂ" - "à¡ë" - "à¡ë§" - "à¡ëÒ" - "à¢" - "ࢡ" - "ࢵ" - "ࢹ" - "ࢹ§" - "ࢹÂ" - "ࢹç´" - "ࢺ稢ºÇ¹" - "ࢺçµ" - "à¢ÁÃ" - "à¢ÁÒ" - "à¢Á×ͺ" - "à¢Áç§" - "à¢Áç´á¢Áè" - "à¢Áè¹" - "à¢ÁèÒ" - "à¢Áé¹" - "à¢Â" - "à¢Â¡" - "à¢ÂÔº" - "à¢Â×é͹" - "à¢Âè§" - "à¢ÂèÒ" - "à¢ÂéÍá¢Âè§" - "à¢ÃÍÐ" - "à¢Å§" - "à¢ÅÍÐ" - "à¢ÅÐ" - "à¢ÅÒ" - "à¢ÅÒÐ" - "à¢Ç" - "à¢ÉÁ" - "à¢ÌÐ" - "à¢Ð¢Ð" - "à¢Ò" - "à¢Ô¹" - "à¢Õ§" - "à¢Õ´" - "à¢Õ¹" - "à¢ÕÂÁ" - "à¢ÕÂÇ" - "à¢ÕèÂ" - "à¢ÕéÂÇ" - "à¢×Í" - "à¢×èͧ" - "à¢×è͹" - "à¢ç­" - "à¢ç´" - "à¢ç¹" - "à¢çÁ" - "à¢è§" - "à¢è¹" - "à¢èÒ" - "à¢éÁ" - "à¢éÒ" - "हÂÒ" - "à¤ÁÕ" - "à¤Â" - "à¤Ã§" - "à¤Ã´Ôµ" - "à¤ÃÒ" - "à¤ÃÒÐËì" - "à¤ÃÕ´" - "à¤Ã×Í" - "à¤Ã×èͧ" - "à¤Ã×èͧ¾ÔÁ¾ì" - "à¤Ãè§" - "à¤Ã觤ÃÑ´" - "à¤ÅÔºà¤ÅÔéÁ" - "à¤ÅÔéÁ" - "à¤ÅÕÂ" - "à¤Å×ͺ" - "à¤Å×è͹" - "à¤Åç´" - "à¤Åé¹" - "à¤ÅéÒ" - "à¤Çé§" - "à¤Ë" - "à¤ËÐ" - "à¤ËÒ" - "à¤ÍÃìà¹Å" - "à¤ÍÐ" - "à¤Ò¹ìàµÍÃì" - "à¤Òþ" - "à¤ÒÐ" - "à¤Õ§" - "à¤Õ´" - "à¤Õ¹" - "à¤ÕÂÇ" - "à¤ÕèÂÁ" - "à¤ÕèÂÇ" - "à¤ÕéÂÇ" - "à¤×ͧ" - "à¤àºÔÅ" - "à¤çÁ" - "à¤é¡" - "à¤é¹" - "à¤éÒ" - "à¤éà¡é" - "à¦Õè¹" - "ৡ" - "à§Â" - "à§ÍÐ" - "à§ÍЧÐ" - "à§Ò" - "à§ÒÐ" - "à§Ô¹" - "à§Õº" - "à§Õè§" - "à§Õè¹" - "à§ÕèÂËÙ" - "à§ÕéÂÇ" - "à§×Í¡" - "à§×Í´" - "à§×ͺ" - "à§×èͧ" - "à§×è͹" - "à§×è͹ä¢" - "à§×éÍ" - "à§×éÍÁ" - "à§èÒ" - "à§éÒ" - "à¨" - "਴ÕÂʶҹ" - "਴ÕÂì" - "ਵ" - "ਵ¤µÔ" - "ਵ¨Ó¹§" - "ਵ¹Ò" - "ਵ¹ÒÃÁ³ì" - "ਵÀÙµ" - "ਵÊÔ¡" - "ਹ" - "à¨ÁÊì" - "à¨Ã¨Ò" - "à¨ÃÔ­" - "à¨ÃÔ´" - "à¨Çç´" - "à¨É®Ò" - "à¨Í" - "à¨ÍÃì" - "à¨ÍÐ" - "à¨ÒÐ" - "à¨Ô´" - "à¨ÔÁ" - "à¨Ôè§" - "à¨Ôè¹" - "à¨Õ´" - "à¨Õ¹" - "à¨ÕÂÁ" - "à¨ÕÂÃÐä¹" - "à¨ÕÂÇ" - "à¨Õêº" - "à¨ÕêÂÇ" - "à¨ÕêÂǨêÒÇ" - "à¨Õë¹" - "à¨ÕëÂÁà¨ÕéÂÁ" - "à¨×Í" - "à¨×è͹" - "à¨×éÍÂ" - "à¨ç´" - "à¨çº" - "à¨èÍ" - "à¨èÒ" - "à¨éÒ" - "à¨éÒªÙé" - "à¨ê" - "à¨ê¡" - "à¨ê§" - "à¨êµ" - "à¨êÒ" - "à¨ëÍ" - "à©" - "à©¡" - "à©´" - "੾ÒÐ" - "à©Â" - "à©ÂàÁÂ" - "à©ÅÂ" - "à©ÅÒ" - "à©ÅÔÁ" - "à©ÅÕ§" - "à©ÅÕÂÇ" - "à©ÅÕèÂ" - "à©ÇÕ§" - "à©ÇÕ¹" - "à©ÍÐá©Ð" - "à©Ò" - "à©Ò¡êÇÂ" - "à©ÒÐ" - "à©Ô´" - "à©Ôº" - "à©Õ§" - "à©Õ´" - "à©Õº" - "à©ÕÂÇ" - "à©ÕèÂÇ" - "à©×͹" - "à©×èÍÂ" - "à©â¡" - "à©è§" - "હ" - "àªÂ" - "àªÅ" - "àªÅÂ" - "àªÉ°Ò" - "àªÍ" - "àªÍÃì" - "àªÒǹì" - "àªÒÇì" - "àªÔ§" - "àªÔ­" - "àªÔ´" - "àªÔéµ" - "àªÕ§" - "àªÕ§ãËÁè" - "àªÕº" - "àªÕÂÃì" - "àªÕÂÇ" - "àªÕè¹" - "àªÕèÂÇ" - "àª×Í¡" - "àª×Í´" - "àª×͹" - "àª×èÍ" - "àª×èͧ" - "àª×èÍÁ" - "àª×éÍ" - "àªç¤" - "àªç´" - "àªè¹" - "àªèÒ" - "àªé§" - "àªéÒ" - "à«" - "૵" - "ૹ" - "ૹµÔ¡ÃÑÁ" - "ૹµÔÅÔµÃ" - "ૹµÔà¡Ã´" - "ૹµÔàÁµÃ" - "ૹµì" - "ૻѡµÃСÃéÍ" - "à«¿" - "à«ÃØèÁ" - "à«ÅÅÙÅÍ´ì" - "à«ÅÅÙâÅÊ" - "à«ÅÅì" - "à«ÅÊì" - "à«Åà«ÕÂÊ" - "à«Í" - "à«ÍÃì" - "à«ÍÃìÇÔÊ" - "à«ÍÐ" - "à«Ò" - "à«ÒÐ" - "à«Ô§" - "à«ÔÃì¿àÇÍÃì" - "à«Ôé§" - "à«Õ¹" - "à«ÕÂÁ«Õ" - "à«ÕÂÇ" - "à«Õè§äÎé" - "à«×èͧ" - "à«ç¡àÁ¹µì" - "à«ç§" - "à«ç¹" - "à«ç¹àµÍÃì" - "à«è§" - "à«è¹" - "à«èÍ" - "à«é§" - "à«éÒ«Õé" - "à¬Í" - "à¬ÍàÍÁ" - "à²èÒ" - "à³Ã" - "à´¡«ìâ·ÃÊ" - "à´¤Ò¡ÃÑÁ" - "à´¤ÒÅÔµÃ" - "à´¤ÒàÁµÃ" - "à´ª" - "à´ªÐ" - "à´«Ô¡ÃÑÁ" - "à´«ÔÅÔµÃ" - "à´«ÔàÁµÃ" - "à´¹" - "à´¹ÁÒÃì¡" - "à´¹ÁÒÃì¤" - "à´ºÔµ" - "à´ÃѨ©Ò¹" - "à´ÅÅì" - "à´ÇÔ´" - "à´Ê¡ì·Í»" - "à´ÍÐ" - "à´Ò" - "à´ÒÐ" - "à´Ô¹" - "à´ÔÁ" - "à´ÕÂ" - "à´Õ§" - "à´Õ´" - "à´ÕÂÃ" - "à´ÕÂôÒÉ" - "à´ÕÂöÕÂì" - "à´ÕÂÃѨ©Ò¹" - "à´ÕÂÇ" - "à´ÕÂÐ" - "à´ÕèÂÇ" - "à´ÕéÂ" - "à´ÕëÂÇ" - "à´×Í´" - "à´×͹" - "à´×ÍÂ" - "à´âª" - "à´ç¡" - "à´ç¨" - "à´ç´" - "à´è" - "à´è¹" - "à´èÒ" - "à´é§" - "à´éÒ" - "à´ëÍ" - "à´ëÍ´ëÒ" - "àµÂ" - "àµÃÕÂ" - "àµÃÕ´" - "àµÃÕÂÁ" - "àµÃç´" - "àµÃè" - "àµÅÔ´" - "àµÇç´" - "àµÍÃì" - "àµÍÃì¡Õ" - "àµÍÐ" - "àµÐ" - "àµÒ" - "àµÒÐáµÐ" - "àµÔº" - "àµÔÁ" - "àµÔè§" - "àµÕ§" - "àµÕ¹" - "àµÕº" - "àµÕèÂ" - "àµÕèÂÇ" - "àµÕéÂ" - "àµÕëÂÁ" - "àµ×͹" - "àµ×éÍ" - "àµç§" - "àµç¹·ì" - "àµçÁ" - "àµè§" - "àµèÍ" - "àµèÒ" - "àµé¹" - "àµéÒ" - "àµéÒ·Ö§" - "àµéÒÊèǹ" - "àµéÒËÙé" - "àµéÒÎÇÂ" - "àµéÒà¨ÕéÂÇ" - "àµéÒàÊÕº" - "àµê¡" - "àµêÐ" - "àµëÒ" - "ඡԧ" - "ඹ" - "à¶Ã" - "à¶ÃÐ" - "à¶ÃÒ¹Øà¶ÃÐ" - "à¶ÅÔ§" - "à¶Å×Í¡¶Å¹" - "à¶Åä¶Å" - "à¶ÍÐ" - "à¶Ò" - "à¶ÒÇÑÅÂì" - "à¶ÒÐ" - "à¶Ô¡" - "à¶Ô´" - "à¶Ô´à·Ô§" - "à¶Ô¹" - "à¶Õ§" - "à¶×Í" - "à¶×Í¡" - "à¶×è͹" - "à¶èÍ" - "à¶éÒ" - "à·" - "à·¤¹Ô¤" - "à·¤â¹âÅÂÕ" - "à·¹¹ÔÊ" - "à·»" - "à·¾" - "à·¾´Ò" - "à·¾¸Ô´Ò" - "à·¾¹Á" - "෾´Ò" - "à·¾Âà¨éÒ" - "à·¾ÒÃÑ¡Éì" - "à·¾Õ" - "à·¾à¨éÒ" - "à·Á»ØÃÐ" - "à·Ã´à´ÍÃì" - "à·Ã¹à¹ÍÃì" - "à·Ç´Ò" - "à·Ç·Ñ³±ì" - "à·Ç·Ùµ" - "à·Ç¸ÃÃÁ" - "à·Ç¸Ô´Ò" - "à·Ç¹ÔÂÁ" - "à·ÇÃÙ»" - "à·ÇÉ" - "à·Çʶҹ" - "à·ÇÑ­" - "à·Çѹ" - "à·ÇÒÅÑÂ" - "à·ÇÕ" - "à·ÇâÅ¡" - "à·È" - "à·È¡ÒÅ" - "à·È¹Ò" - "à·È¹ì" - "à·ÈºÒÅ" - "à·ÈÁ¹µÃÕ" - "à·ÈÒÀÔºÒÅ" - "à·Êµì" - "à·ËÇѵ¶Ø" - "à·Ëì" - "à·Í­" - "à·ÍÁ" - "à·ÍÃìâÁÁÔàµÍÃì" - "à·ÍзÐ" - "à·Ò" - "à·Ô´" - "à·Ô¹" - "à·Ôº" - "à·Ôè§" - "à·ÔéÁ" - "à·Õ¹" - "à·Õº" - "à·ÕÂÁ" - "à·ÕÂÇ" - "à·Õè§" - "à·ÕèÂÇ" - "à·×Í¡" - "à·àºÔÅ" - "à·àŤÍÁ" - "à·àÇÈÃì" - "à·àÇÈÇÃì" - "à·â¾" - "à·ç¨" - "à·è" - "à·èÍ" - "à·èÒ" - "à·é§àµé§" - "à·éÍ" - "à·éÒ" - "ู" - "ูÊì" - "à¸Í" - "๤ä·" - "๵" - "๵Ã" - "๵Êऻ" - "๵Ô" - "๺ÔÇÅÒ" - "๻¨Ù¹" - "๻ÒÅ" - "à¹Â" - "à¹Ã¤Ø³" - "à¹ÃÁÔµ" - "à¹Ãà·È" - "à¹Ò" - "à¹Ô¹" - "à¹Ôº" - "à¹Ôè¹" - "à¹ÕÂ" - "à¹Õ¹" - "à¹ÕÂÁ" - "à¹×ͧ" - "à¹×ÍÂ" - "à¹×èͧ" - "à¹×éÍ" - "à¹çµ" - "à¹çµàÇÔÃì¡" - "à¹çµàÇÔÃì¤" - "à¹èÒ" - "à¹é¹" - "à¹éÍ" - "àº" - "຤͹" - "ວ¡ÍÅ" - "ອ¨" - "ອ¨¡" - "ອ¨¡ÑÅÂÒ³Õ" - "ອ¨¡ÒÁ¤Ø³" - "ອ¨¸ÃÃÁ" - "ອ¨ºÃþµ" - "ອ¨ÁÒÈ" - "ອ¨Ã§¤ì" - "ອ¨Ò" - "ອ¨Ò§¤»ÃдÔÉ°ì" - "ອ¨Ò§¤ì" - "ອ¨à¾Ê" - "ີéÒ" - "ູ" - "ູ«Ô¹" - "ູ«ì" - "àºÃ¡" - "àºÃì¡" - "àºÅàÂÕèÂÁ" - "àºÈ" - "àºÊ" - "àºÊºÍÅ" - "àºÍÃì" - "àºÍÃìÅÔ¹" - "àºÍÐ" - "àºÍкÐ" - "àºÐ" - "àºÒ" - "àºÒÐ" - "àºÒÐáÊ" - "àºÔ¡" - "àºÔÃì¡" - "àºÔè§" - "àºÕ´" - "àºÕ¹" - "àºÕÂÃì" - "àºÕè§" - "àºÕéÂ" - "àºÕéÂÇ" - "àº×Í" - "àº×͹" - "àº×èÍ" - "àº×éÍ" - "àº×éͧ" - "àºç´" - "àºç´àµÅç´" - "àºç´àÊÃç¨" - "àºè§" - "àºé" - "àºéÍ" - "àºéÍàÃÔèÁ" - "àºéÍàÃèÍ" - "àºéÒ" - "໡" - "à»Ãµ" - "à»ÃÁ" - "à»ÃÂ" - "à»ÃÍ" - "à»ÃÍÐ" - "à»ÃÒÐ" - "à»ÃÕ§" - "à»ÃÕ­" - "à»ÃÕº" - "à»ÃÕÂÇ" - "à»ÃÕÂÐ" - "à»ÃÕé§" - "à»ÃÕéÂÇ" - "à»ÃÕêÂÐ" - "à»Ã×èͧ" - "à»Ã×éÍÂ" - "à»Å" - "à»ÅÇ" - "à»ÅÒÐ" - "à»ÅÕè¹" - "à»ÅÕèÂÇ" - "à»ÅÕéÂ" - "à»Å×Í¡" - "à»Å×ͧ" - "à»Å×ÍÂ" - "à»Å×éͧ" - "à»Åè§" - "à»ÅèÒ" - "à»Í" - "à»ÍÃì" - "à»ÍÃìà«ç¹µì" - "à»Ð" - "à»Ò" - "à»ÒÐ" - "à»Òà»Ò" - "à»Ô¡" - "à»Ô§" - "à»Ô´" - "à»Ôº" - "à»Ôè¹" - "à»Ôêº" - "à»ÕÂ" - "à»Õ¡" - "à»ÕèÂÁ" - "à»ÕéÂÇ" - "à»Õê¡" - "à»ÕêÂÐ" - "à»×Í¡" - "à»×èÍÂ" - "à»×é͹" - "à»ç´" - "à»ç¹" - "à»ç¹µé¹" - "à»è§" - "à»èÒ" - "à»é" - "à»é§" - "à»éÒ" - "à»ê¡" - "à»ë" - "à»ë§" - "à»ëÍ" - "à»ëÍàËÅÍ" - "à»ëÒ" - "à»ëÒÎ×éÍ" - "à¼" - "༧" - "༪ԭ" - "༴ÔÁ" - "༴Õ§" - "༴ç¨" - "à¼Â" - "à¼ÂÍ" - "à¼ÅÍ" - "à¼ÅÍä¼Å" - "à¼ÅÐ" - "à¼ÅÒÐ" - "à¼Åè" - "à¼ÍÔ­" - "à¼ÍàÃÍ" - "à¼Ð" - "à¼Ò" - "à¼ÒÐ" - "à¼Ô¹" - "à¼×Í¡" - "à¼×Í´" - "à¼×èÍ" - "à¼ç´" - "à¼è¹" - "à¼èÒ" - "à¼éÒ" - "à½×Í" - "à½×Í¡" - "à½×è͹" - "à½éÒ" - "à¾" - "ྨ" - "ྪ¬¦Òµ" - "ྪÃ" - "ྪÃÒÂظ" - "ྴҹ" - "ྷ¹Ò" - "ྷÒÂ" - "ྷغÒÂ" - "ྐྵ¡ÇÔ¹" - "ྐྵÕ´" - "ྐྵà·ÕÂÁ" - "à¾Ã§" - "à¾ÃÒ" - "à¾ÃÒÐ" - "à¾ÃÔ´" - "à¾ÃÔÈ" - "à¾ÃÕ¡" - "à¾ÃÕ§" - "à¾ÃÕº" - "à¾ÃÕÂÇ" - "à¾Ã×èÍ" - "à¾Å" - "à¾Å§" - "à¾ÅÒ" - "à¾ÅÒÐ" - "à¾ÅÔ§" - "à¾ÅÔ´à¾ÅÔ¹" - "à¾ÅÔ¹" - "à¾ÅÕÂ" - "à¾ÅÕè§" - "à¾ÅÕéÂ" - "à¾È" - "à¾ÒÐ" - "à¾Ô¡" - "à¾Ô§" - "à¾Ôè§" - "à¾ÔèÁ" - "à¾Õ§" - "à¾Õº" - "à¾ÕÂÃ" - "à¾ÕéÂ" - "à¾Õé§" - "à¾Õé¹" - "à¾×èÍ" - "à¾×è͹" - "à¾ç§" - "à¾ç¨" - "à¾ç­" - "à¾ç´·ÙÅ" - "à¾è§" - "à¾è¹¾èÒ¹" - "à¾èÍ" - "à¾éÍ" - "à¿´" - "à¿Í" - "à¿ÍÃì" - "à¿ÍÃì¹Ôà¨ÍÃì" - "à¿ÍÃìàÁÕÂÁ" - "à¿ÍÐ" - "à¿Ð" - "à¿Ô¹" - "à¿ÕéÂÁ" - "à¿ÕéÂÇ" - "à¿×Í" - "à¿×ͧ" - "à¿×͹" - "à¿×ÍÂ" - "à¿×èͧ" - "à¿×éÍ" - "à¿×éͧ" - "à¿×éÍÂ" - "à¿ç´" - "à¿é¹" - "à¿éÍ" - "àÀµÃÒ" - "àÀ·" - "àÀ·ØºÒÂ" - "àÀÃÕ" - "àÀÊѪ" - "àÁ" - "àÁ¡Ð" - "àÁ¡ÐàÎÔõ«ì" - "àÁ¢ÅÒ" - "àÁ¦" - "àÁ¦Ò" - "àÁ¦Ô¹·Ãì" - "àÁ¦Õ" - "àÁµµÒ" - "àÁµÃ" - "àÁµÃÔ¡" - "àÁ¶Ø¹" - "àÁ·¹Õ" - "àÁ·Ô¹Õ" - "àÁ¸Ò" - "àÁ¸Õ" - "àÁ¹·ÍÅ" - "àÁ¹ºÍÃì´" - "àÁ¹Ù" - "àÁÁâÁÃÕ" - "àÁÃÑÂ" - "àÁÃØ" - "àÁÅ×ͧ" - "àÁÅ×èÍÂ" - "àÁÅ×éÍÂ" - "àÁÅç´" - "àÁÅì" - "àÁÉ" - "àÁÉÒ¹" - "àÁÐ" - "àÁÒ" - "àÁÒÅÕ" - "àÁÒÊì" - "àÁÒÌÕ" - "àÁÒÐ" - "àÁÔ¹" - "àÁÕÂ" - "àÁÕ§" - "àÁÕè§" - "àÁÕé¹" - "àÁ×Í¡" - "àÁ×ͧ" - "àÁ×èÍ" - "àÁ×èÍÂ" - "àÁâÁÃÕ" - "àÁç¡«Ôâ¡" - "àÁç´" - "àÁè¹" - "àÁèÒ" - "àÁéÁ" - "àÁéÒÊì" - "àÂ" - "à§" - "à«Ù" - "à¹" - "àÂÍ" - "àÂÍÃÁѹ" - "àÂÍÃÁѹ¹Õ" - "àÂÍÃÁѹÕ" - "àÂÍÐ" - "àÂÒ" - "àÂÒǪ¹" - "àÂÒǾÒ" - "àÂÒǾҹ" - "àÂÒÇÁÒÅÂì" - "àÂÒÇÂÍ´" - "àÂÒÇÃÒª" - "àÂÒÇÅѡɳì" - "àÂÒÇàÃÈ" - "àÂÒÇì" - "àÂÒÐ" - "àÂÔ¹" - "àÂÔº" - "àÂÔè¹" - "àÂÔè¹àÂéÍ" - "àÂÔéÁ" - "àÂÕÂ" - "àÂÕ¹" - "àÂÕº" - "àÂÕÂÇ" - "àÂÕè§" - "àÂÕèÂÁ" - "àÂÕèÂÇ" - "àÂ×Í¡" - "àÂ×͹" - "àÂ×èÍ" - "àÂ×éÍ" - "àÂ×éͧ" - "àÂ×é͹" - "àÂç¹" - "àÂçº" - "àÂè¹" - "àÂèÍ" - "àÂé" - "àÂéÂ" - "àÂéÒ" - "àâ" - "àâÒ" - "àâҤ³Ôµ" - "àóÙ" - "àô͹" - "àôÒÃì" - "àÃÃǹ" - "àÃÇ´Õ" - "àÃÍ" - "àÃÒ" - "àÃÒÐ" - "àÃÔ§" - "àÃÔ´" - "àÃÔÁ" - "àÃÔèÁ" - "àÃÔéÁ" - "àÃÕ¡" - "àÃÕ§" - "àÃÕ´" - "àÃÕ¹" - "àÃÕº" - "àÃÕÂÁ" - "àÃÕÂÇ" - "àÃÕèÂ" - "àÃÕèÂÁ" - "àÃÕèÂÇ" - "àÃÕéÂÇá" - "àÃ×Í" - "àÃ×Í¡" - "àÃ×ͧ" - "àÃ×Í´" - "àÃ×͹" - "àÃ×èÍ" - "àÃ×èͧ" - "àÃ×èÍÂ" - "àÃ×éÍ" - "àÃ×é͹" - "àÃäÃ" - "àÃçÇ" - "àÃè" - "àÃè§" - "àÃèÍ" - "àÃèÒ" - "àÃé¹" - "àÃéÒ" - "àÅ¢" - "àÅ¢Ò" - "àÅ¢Ò¸Ô¡ÒÃ" - "àŢҹءÒÃ" - "àÅ´Õé" - "àŵ" - "àŹ" - "àŹÊì" - "àźҹ͹" - "àÅÂ" - "àÅÇ" - "àÅÈ" - "àÅËÅѧ" - "àÅÍ" - "àÅÍÐ" - "àÅÍÐà·ÍÐ" - "àÅÐ" - "àÅÐà·Ð" - "àÅÒ" - "àÅÒÐ" - "àÅÔ¡" - "àÅÔ¡ÅÑè¡" - "àÅÔ¹àÅèÍ" - "àÅÔÈ" - "àÅÔé§" - "àÅÕÂ" - "àÅÕ§" - "àÅÕ¹" - "àÅÕº" - "àÅÕÂÁ" - "àÅÕÂÇ" - "àÅÕè§" - "àÅÕè¹" - "àÅÕèÂÁ" - "àÅÕé§" - "àÅÕéÂÇ" - "àÅ×Í¡" - "àÅ×Í´" - "àÅ×͹" - "àÅ×èͧ" - "àÅ×è͹" - "àÅ×èÍÁ" - "àÅ×èÍÁãÊ" - "àÅ×èÍÂ" - "àÅ×éÍÂ" - "àÅà«ÍÃì" - "àÅà¾" - "àÅç¡" - "àÅç§" - "àÅç´" - "àÅç¹" - "àÅçº" - "àÅçÁ" - "àÅè¹" - "àÅèÁ" - "àÅèËì" - "àÅèÍ" - "àÅèÒ" - "àÅé§" - "àÅéÒ" - "àǤ" - "àǤԹ" - "àǤÕ" - "àǨ" - "àǪ" - "àǪ¡ÃÃÁ" - "àÇ°¹ì" - "àdzÐ" - "àdzÔ" - "àdzԡ" - "àdzØ" - "àǵ¹ì" - "àǵÃ" - "àǵÒÅ" - "àÇ·" - "àÇ·¹Ò" - "àÇ·Âì" - "àÇ·Ò§¤ÈÒʵÃì" - "àÇ·Ò§¤ì" - "àÇ·Ò¹µÐ" - "àÇ·Ò¹µì" - "àÇ·Ô" - "àÇ·Õ" - "àǸÐ" - "àǹ" - "àǹÔÊ" - "àǹäµÂ" - "àǺ䫵ì" - "àÇÁºÅÕÂì" - "àÇÁÐ" - "àÇÁѵ" - "àÇÁÒµÔ¡" - "àÇÃ" - "àÇÃÁ³Õ" - "àÇÃѳ" - "àÇÃѳ³ÔÂÐ" - "àÇÃÕ" - "àÇÅÊì" - "àÇÅÒ" - "àÇÈÁì" - "àÇÈÂÒ" - "àÇÈÂì" - "àÇʵì" - "àÇʹì" - "àÇÊÀÙ" - "àÇÊÁÐ" - "àÇÊÁì" - "àÇÊÇѳ" - "àÇÊÊÐ" - "àÇÊÊѹ´Ã" - "àÇÊÊØ¡ÃÃÁ" - "àÇÊÊØÇѳ" - "àÇÊÒÃѪ" - "àÇÊÔ" - "àÇÊÔÂÒ" - "àÇ˹" - "àÇËÐ" - "àÇËѧ¤ì" - "àÇËÑ»µÔ" - "àÇËÒ" - "àÇËÒÂÊ" - "àÇËÒÊ" - "àÇÌØ" - "àÇÍ" - "àÇÍÃì" - "àÇÍÃìªÑ¹" - "àÇÔ¡" - "àÇÔÃì¡Ê൪ѹ" - "àÇÔÃì´" - "àÇÔé§" - "àÇÕ§" - "àÇÕ´¹ÒÁ" - "àÇÕ¹" - "àÇâè¹ì" - "àÇä¹Â" - "àÇçº" - "àÇç»" - "àÇèÍ" - "àÇé" - "àÇé¹" - "àÇéÂ" - "àÇéÒ" - "àÈÃÉ°¡Ô¨" - "àÈÃÉ°ÈÒʵÃì" - "àÈÃÉ°Ò¹Ð" - "àÈÃÉ°Õ" - "àÈÃÉ°ì" - "àÈÃéÒ" - "àÈǵ" - "àÈÉ" - "àÈÕÂÃ" - "àÊ" - "àÊ¡" - "àʧÕèÂÁ" - "àʩǹ" - "àÊ´" - "àÊ´ç¨" - "àʶÕÂÃ" - "àʶÕÂÃÀÒ¾" - "àʹ" - "àʹ§" - "àʹËÒ" - "àʹÍ" - "àʹÐ" - "àʹÒ" - "àʹҸԡÒÃ" - "àʹҺ´Õ" - "àʹÒʹÐ" - "àʹÒÐ" - "àʹÕ´" - "àʹÕÂì" - "àʹè§" - "àʹèËÒ" - "àʹèËì" - "àʹèÒ" - "àʺÂ" - "àʺÕ§" - "àʾ" - "àʾÂì" - "àÊÀÒ" - "àÊÁËÐ" - "àÊÁÍ" - "àÊÁÒ" - "àÊÁÕ¹" - "àÊÁ×͹" - "àÊÁç´" - "àÊÂ" - "àÊÃÔ´" - "àÊÃÔ¿" - "àÊÃÔÁ" - "àÊÃÕ" - "àÊÃç¨" - "àÊÅ´" - "àÊÅÒ" - "àÊÅÕè§" - "àÊÅ×Í¡ÊŹ" - "àÊÇ¡" - "àÊÇ¡ÒÁÒµÂì" - "àÊǹÐ" - "àÊǹÒ" - "àÊÇÂ" - "àÊÇÕ¹" - "àÊÒ" - "àÊÒÃÀÂì" - "àÊÒÃì" - "àÊÒǤ¹¸ì" - "àÊÒdzԵ" - "àÊÒǹÒ" - "àÊÒǹÕÂì" - "àÊÒÇÀÒ" - "àÊÒÇÀÒ¤Âì" - "àÊÒÇÀÒ¾" - "àÊÒÇÃÊ" - "àÊÒÇÅѡɳì" - "àÊÒÐ" - "àÊÔÃì¿" - "àÊÕÂ" - "àÊÕ§" - "àÊÕ´" - "àÊÕº" - "àÊÕÂÁ" - "àÊÕÂÇ" - "àÊÕèÂ" - "àÊÕè§" - "àÊÕèÂÇ" - "àÊÕé¹" - "àÊÕéÂÁ" - "àÊÕéÂÇ" - "àÊ×Í" - "àÊ×Í¡" - "àÊ×èÍ" - "àÊ×èÍÁ" - "àÊ×éÍ" - "àÊà¾Å" - "àÊâ·" - "àÊâÅ" - "àÊç§à¤Ãç§" - "àÊé§" - "àÊé¹" - "àÊéÒ" - "àË" - "à˧" - "à˧Ò" - "à˧×Í¡" - "à˧×èÍ" - "à˧è§" - "à˵Ø" - "à˵ءÒóì" - "à˹ÍÐ" - "à˹ÍÐ˹Ð" - "à˹ÒÐ" - "à˹Õ§" - "à˹ÕÂÁ" - "à˹ÕÂÇ" - "à˹ÕèÂÇ" - "à˹×Í" - "à˹×èÍÂ" - "à˹ç´" - "à˹çº" - "à˹è§" - "à˹èÍ" - "à˹éÒ" - "àËÁ" - "àËÁÇ´Õ" - "àËÁѹµì" - "àËÁÒ" - "àËÁÒÐ" - "àËÁÕÂÇ" - "àËÁÕèÂÇ" - "àËÁ×ͧ" - "àËÁ×Í´" - "àËÁ×͹" - "àËÁç¹" - "àËÁè" - "àËÁè§" - "àËÁèÍ" - "àËÂ" - "à˧" - "àËÂÒÐ" - "àËÂÔ§" - "àËÂÕ´" - "àËÂÕº" - "àËÂÕèÂÇ" - "àËÂ×Í¡" - "àËÂ×èÍ" - "àËÂéÒ" - "àËÃÑ­­Ô¡" - "àËÃÒ" - "àËÃÕ­" - "àËŹ" - "àËÅÇ" - "àËÅÍ" - "àËÅÒ" - "àËÅÒÐáËÅÐ" - "àËÅÔ§" - "àËÅÕ¹" - "àËÅÕÂÇ" - "àËÅÕèÂÁ" - "àËÅ×Í" - "àËÅ×Í¡" - "àËÅ×ͧ" - "àËÅ×ͺ" - "àËÅ×èÍÁ" - "àËÅç¡" - "àËÅè" - "àËÅèÒ" - "àËÅéÒ" - "àËÇ" - "àËǧ" - "àËÇÂ" - "àËÇÍÐ" - "àËÇÍÐËÇÐ" - "àËÇÕè§" - "àËÇè" - "àËÍÐ" - "àËÒ" - "àËÒÐ" - "àËÔ¹" - "àËÔÁ" - "àËÕ¹" - "àËÕèÂÇ" - "àËÕéÂ" - "àËÕé¹" - "àËÕéÂÁ" - "àË×Í´" - "àË×èÍ" - "àËç¨" - "àËç´" - "àËç¹" - "àËçº" - "àËè" - "àËèÍ" - "àËèÒ" - "àÍ" - "àÍ¡" - "àÍ¡©Ñ¹·ì" - "àÍ¡ª¹" - "àÍ¡«àÃÂì" - "àÍ¡«â»" - "àÍ¡À¾" - "àÍ¡ÀÒ¾" - "àÍ¡ÁÑÂ" - "àÍ¡Ãö»ÃÐâ¤" - "àÍ¡ÃÒª" - "àÍ¡Åѡɳì" - "àÍ¡ÊÒÃ" - "à͡ѤµÒ" - "àÍ¡Ò¸Ô»äµÂ" - "à͡ࢹ¡" - "àÍ¡à·È" - "àͧ" - "àͪ¾Õ" - "àÍ´Êì" - "àÍ´ÔàµÍÃì" - "à͵·Ñ¤¤Ð" - "àÍ·ÕàÍçÁ" - "à͹" - "à͹·ÃÒ¹«ì" - "à͹ä«Áì" - "àÍ»Êѹ" - "àÍÁ" - "àÍÂ" - "àÍÃÒÇѳ" - "àÍÃç´ÍÃèÍÂ" - "àÍÇ" - "àÍÇѧ" - "àÍÊ" - "àÍÌ¡" - "àÍÌÒ" - "àÍÍ" - "àÍÐÍÐ" - "àÍÐã¨" - "àÍÒ" - "àÍÒ·ì¾Øµ" - "àÍÒÌÒÃ" - "àÍÔ¡" - "àÍÔº" - "àÍÔé¹" - "àÍÕ§" - "àÍÕ´" - "àÍÕ¹" - "àÍÕè¹" - "àÍÕèÂÁ" - "àÍÕèÂÇ" - "àÍÕé§" - "àÍÕéÂÁà¿ÕéÂÁ" - "àÍÕéÂÇ" - "àÍÕê´" - "àÍÕêÂÁ" - "àÍÕêÂÁ¨Øê¹" - "àÍ×͹" - "àÍ×ÍÁ" - "àÍ×èÍÂ" - "àÍ×éÍ" - "àÍ×éͧ" - "àÍ×é͹" - "àÍ×éÍÁ" - "àÍ×éÍÂ" - "àÍà¤ÍÃì" - "àÍàªÕÂ" - "àÍàªÕè¹à¡ÁÊì" - "àÍà«ÕÂ" - "àÍàÂè¹µì" - "àÍẤ" - "àÍç¡«ì" - "àÍç¡«ì¾ÅÍàÃÍÃì" - "àÍç¡«ìà¾ÃÊ" - "àÍç§" - "àÍç´" - "àÍç´µÐâÃ" - "àÍç´ÍÖ§" - "àÍç¹" - "àÍç¹´Ù" - "àÍç¹àµÍÃìà·¹" - "àÍèÂ" - "àÍèÍ" - "àÍé" - "àÍé¡Ò" - "àÍéÍÃÐàËÂ" - "àÍéÍàÎÍ" - "àÍê¡" - "àÍêÂ" - "àÍêÐ" - "àÍë" - "àÍë§" - "àÍëÂ" - "àÎ" - "àΧ" - "àÎÂ" - "àÎÅԤͻàµÍÃì" - "àÎÔõ«ì" - "àÎÕÂ" - "àÎÕé¹" - "àÎÕéº" - "àÎÕéÂÇ" - "àÎ×Í¡" - "àÎ×͹" - "àÎâÃÍÕ¹" - "àÎâÅ" - "àÎéÂ" - "àÎéÇ" - "àÎéÍ" - "á¡" - "ᡧ" - "᡹" - "á¡Á" - "á¡ÁÁÒ" - "á¡Ã¡" - "á¡Ã¹Ôµ" - "á¡ÃÐ" - "á¡Ã俵ì" - "á¡Ãç¹" - "á¡Ãè§" - "á¡ÃèÇ" - "á¡Å" - "á¡Åº" - "á¡ÅÅ͹" - "á¡ÅÐ" - "á¡ÅàÅÕÂÁ" - "á¡Åé§" - "á¡ÅéÁ" - "á¡ÅéÇ" - "á¡Ç" - "á¡Çè§" - "á¡Çè¹" - "á¡Ð" - "á¡â´ÅÔà¹ÕÂÁ" - "á¡è" - "á¡è§" - "á¡è§áÂè§" - "á¡è¹" - "á¡é" - "á¡é§" - "á¡éÁ" - "á¡éÇ" - "á¡ê§" - "á¡ê»" - "á¡êÊ" - "á¢" - "ᢡ" - "ᢹ" - "ᢹ§" - "á¢Á" - "á¢Áçº" - "á¢ÁèÇ" - "á¢Â§" - "á¢Âç¡" - "á¢Âè§" - "á¢Ç¡" - "á¢Ç§" - "á¢Ç¹" - "á¢ÇÐ" - "á¢ç§" - "á¢è§" - "á¢è§¢Ñ¹" - "á¢é§" - "á¢é¹" - "á¤" - "ᤪàªÕÂÃì" - "ᤪàÁÕÂÃì" - "ᤵµÒÅͤ" - "᤹" - "᤺" - "᤻«ÙÅ" - "á¤Á" - "á¤Ã§" - "á¤ÃÐ" - "á¤Ãè" - "á¤Ãì" - "á¤Å¤ÙÅÑÊ" - "á¤Å§" - "á¤Å¹" - "á¤ÅÍÃÕ" - "á¤ÅÔ¿ÍÃìà¹ÕÂ" - "á¤Åà«ÕÂÁ" - "á¤ÅèǤÅèͧ" - "á¤ÅéÇ" - "á¤Ç" - "á¤Ç¡" - "á¤Çé¹" - "á¤Ð" - "á¤è" - "á¤è¹" - "á¤é¹" - "á§" - "á§Ð" - "á§è" - "á§è§" - "á§è¹" - "á§éÁ" - "á¨" - "ᨡ" - "ᨧ" - "á¨Ç" - "á¨Ð" - "á¨èÁ" - "á¨èÇ" - "á¨é" - "á¨é§" - "á¨é¹" - "á¨éÇ" - "á¨ê´" - "á¨ë" - "á¨ëÇ" - "á¨ëÇáËÇÇ" - "á©" - "á©¡" - "ᩧ" - "á©Åº" - "á©ÅÐ" - "á©ÅéÁ" - "á©Ð" - "á©è" - "á©è§" - "áª" - "áªÁ»ì" - "áªÁà»­" - "áªÃì" - "áªÅèÁ" - "áªè" - "áªè§" - "áªèÁ" - "᫧" - "á«´" - "᫹´ìÇÔª" - "᫺" - "á«Á" - "á«ÂÔ´" - "á«Ç" - "á«Ð" - "á«è" - "á«èÇ" - "á´" - "á´¡" - "á´§" - "á´´" - "á´¹" - "á´Ð" - "á´ç¡" - "á´è" - "á´è¹" - "á´èÇ" - "ᵡ" - "ᵧ" - "ᵧ¡ÇÒ" - "ᵧàÁ" - "ᵧâÁ" - "áµ´" - "áµ¹" - "áµÃ" - "áµÐ" - "áµè" - "áµè§" - "áµé" - "áµé¨ÔëÇ" - "áµéÁ" - "áµê´áµë" - "á¶" - "ᶡ" - "ᶺ" - "á¶Á" - "á¶Å§" - "á¶Ç" - "á·§" - "á·¹" - "á·¹·ÒÅÑÁ" - "á·º" - "á·Ã¡" - "á·Ã¡àµÍÃì" - "á·Ð" - "á·ç¡«Õè" - "á·ç§¡ì¹éÓ" - "á·è§" - "á·è¹" - "á·é" - "á·é§" - "Ṻ" - "á¹Á" - "á¹Ç" - "á¹Ð" - "á¹è" - "á¹è§" - "á¹è¹" - "á¹èÇ" - "á¹èÐ" - "áº" - "ạ" - "Ấ·ÕàÃÕÂ" - "ầ¡ì" - "ầ¤ì" - "ẴÁÔ¹µÑ¹" - "ẵàµÍÃÕè" - "ẹ" - "ẹâ¨" - "Ẻ" - "áºÐ" - "áºàÃÕÂÁ" - "áºçº" - "áºè§" - "á»" - "ừԿԤ" - "á»´" - "Ỻ" - "á»Ã" - "á»Ã¡" - "á»Ã§" - "á»Ã»Ãǹ" - "á»ÃÐ" - "á»Ãè§" - "á»Ãé¹" - "á»Ãê´" - "á»Ãë" - "á»Å" - "á»Å¡" - "á»Å§" - "á»Å¹" - "á»Åº" - "á»Åé" - "á»Ð" - "á»é§" - "á»é¹" - "á»éÇ" - "á»ê´" - "á»êº" - "á»êÐ" - "á»êЫÐ" - "á»ë§" - "á»ëÇ" - "ἡ" - "ἧ" - "á¼´" - "á¼¹" - "á¼¹¡" - "á¼Å" - "á¼Å§" - "á¼ÅÐ" - "á¼Åçº" - "á¼ÅçÇ" - "á¼è" - "á¼è¹" - "á¼èÇ" - "á¼éÇ" - "ὡ" - "ὧ" - "á½´" - "á¾" - "ᾧ" - "ᾧ¾ÇÂ" - "á¾·ÂÈÒʵÃì" - "á¾·ÂÊÀÒ" - "á¾·ÂÒ" - "á¾·Âì" - "á¾¹" - "á¾¹¡" - "á¾¹§àªÔ­" - "á¾Ã" - "á¾Ã¡" - "á¾ÃÇ" - "á¾Ãè" - "á¾Ãè§" - "á¾ÃéÇ" - "á¾Å§" - "á¾Åµ¿ÍÃìÁ" - "á¾Å·Ô¹ÑÁ" - "á¾ÅÁ" - "á¾ÈÂÒ" - "á¾ÈÂì" - "á¾Ð" - "á¾ç¡" - "á¾ç¤à¡¨" - "á¾è§" - "á¾è¹" - "á¾é" - "á¾éÇ" - "á¿¡«ì" - "ῧ" - "ῪÑè¹" - "Ό" - "Ό«Õ" - "Ὼ" - "á¿Ãì" - "á¿Å¡«ì" - "á¿Åµ" - "á¿Ð" - "á¿éÁ" - "áÁ¡" - "áÁ¡¹Õà«ÕÂÁ" - "áÁ¤â¤Ã" - "áÁ§" - "áÁ§¡Ò¹ÕÊ" - "áÁ¹" - "áÁ¹¨ÙàÃÕÂ" - "áÁŧ" - "áÁÇ" - "áÁÐ" - "áÁè" - "áÁè¹" - "áÁèÎèͧÊ͹" - "áÁé" - "áÁé¹" - "áÁéÇ" - "á¡" - "á§" - "áº" - "áÂÁ" - "áÂÐ" - "áÂáÊ" - "áÂçº" - "áÂè" - "áÂè§" - "áÂé" - "áÂé§" - "áÂéÁ" - "áÃ" - "áá" - "áç" - "áô" - "áÃÁ" - "áÃÐ" - "áÃç¡à¡µ" - "áÃè" - "áÃè§" - "áÃé§" - "áÃé¹á¤é¹" - "áÃéÇ" - "áÅ" - "áÅ¡" - "áŧ" - "áŹ" - "Ᏼ" - "Ᏼì" - "áź" - "áÅÐ" - "áÅç¡â·Ê" - "áÅè" - "áÅè§" - "áÅè¹" - "áÅé" - "áÅé§" - "áÅéÇ" - "áǧ" - "áÇ´" - "áǺ" - "áÇÁ" - "áÇÇ" - "áÇÐ" - "áÇè¹" - "áÇèÇ" - "áÇé" - "áÇé§" - "áÊ" - "áÊ¡" - "áʧ" - "áÊ´" - "áÊ´§" - "áʵÁ»ì" - "áʹ" - "áʹÂÒ¡Ã" - "áʹÂÒ¹ØÀÒ¾" - "áʺ" - "áÊÁ" - "áÊ¡" - "áʧ" - "áÊÂÐ" - "áÊÃé§" - "áÊŧ" - "áÊǧ" - "áÊÐ" - "áÊè" - "áÊé" - "áÊéÁéÒ" - "áË" - "áË¡" - "á˧" - "á˧¹" - "á˧á¡ë" - "á˧è" - "á˧è§" - "á˹" - "á˹§" - "á˹º" - "á˹Á" - "á˺" - "áËÁ" - "áËÁÐ" - "áËÁè" - "áËÁèÁ" - "áËÂ" - "á˧" - "áËÂÁ" - "áËÂÐ" - "áËÂè" - "áËÂè§" - "áËÅ" - "áËÅ¡" - "áËŹ" - "áËÅÁ" - "áËÅÐ" - "áËÅè" - "áËÅè§" - "áËÇ" - "áËÇ¡" - "áËǹ" - "áËÇÐ" - "áËÇè§" - "áËÐ" - "áËè" - "áËè§" - "áËé" - "áËé§" - "áËéÇ" - "áÍ" - "áÍ¡" - "áÍ´" - "áÍ´ÇÒ¹«ì" - "áÍ´à´ÃÊ" - "á͹" - "á͹´ì" - "á͹µÒÃ졵ԡ" - "á͹µÔºÍ´Õ" - "á͹µÔਹ" - "á͹µÕé" - "áͺ" - "á;¾ÅÔपѹ" - "á;à¾Åçµ" - "áÍ¿ÃÔ¡Ò" - "áÍÁÁÔàµÍÃì" - "áÍÁá»Ãì" - "áÍÁâÁà¹ÕÂ" - "áÍÃèÁ" - "áÍÃì" - "áÍÅ" - "áÍÅ¡ÍÎÍÅì" - "áÍÅ¿Ò" - "áÍÊ¿Ñŵì" - "áÍÊä¾ÃÔ¹" - "áÍÍÑ´" - "áÍâ¹´" - "áÍè§" - "áÍè¹" - "áÍèÇ" - "áÍé" - "áÍé§áÁé§" - "áÍé´" - "áÍéÁ" - "áÍꤪÑè¹" - "áÍê´" - "áÍë" - "áÎ" - "áι´ìºÍÅ" - "áÎÁ" - "áÎÁàºÍÃìà¡ÍÃì" - "áÎÐ" - "áÎè" - "áÎè¡Öê¹" - "â¡" - "â¡¡" - "⡧" - "⡧¡Ò§" - "⡯Ô" - "⡴ѧ" - "⡹" - "â¡ÁÅ" - "â¡ÁØ·" - "â¡Â" - "â¡Ã¡" - "â¡Ã§" - "â¡Ã¸" - "â¡Ã¸Ò" - "â¡Ãè§" - "â¡Ãë¹" - "â¡Å´ì" - "â¡Å¹" - "â¡ÅÒËÅ" - "â¡ÈÅ" - "â¡Ê¹" - "â¡ÊÔ¹·Ãì" - "â¡ÊÕÂì" - "â¡ÊØÁ" - "â¡Ë¡" - "â¡àÁ¹" - "â¡â¡é" - "â¡âÃâ¡âÊ" - "â¡äÊÂ" - "â¡è§" - "â¡é" - "â¡é§â¤é§" - "â¡ë" - "â¡ë¹" - "â¢" - "⢡" - "⢧" - "⢴" - "⢹" - "⢹§" - "â¢Á" - "â¢Á§" - "â¢Á´" - "â¢Â¡" - "â¢Â§" - "â¢Âè§" - "â¢Å¡" - "â¢Å§" - "â¢è§" - "â¤" - "⤡" - "⤨Ã" - "⤵Ã" - "⤹" - "⤹Á" - "⤺Íŵì" - "â¤Á" - "â¤ÁèÒ" - "â¤Ã¡" - "â¤Ã§" - "â¤Ã§¡ÒÃ" - "â¤ÃÁ" - "â¤ÃÒª" - "â¤ÃàÁÕÂÁ" - "â¤ÃâÁâ«Á" - "â¤Ãè§" - "â¤Å" - "â¤Å§" - "â¤Å§à¤Å§" - "â¤Å¹" - "â¤Å¹¹Ôè§" - "â¤ÅÍÁàºÕÂ" - "â¤ÇµÒ" - "â¤à¤¹" - "â¤è§" - "â¤è¹" - "â¤é§" - "â¤éª" - "â¤é´" - "â¦É¡" - "â¦É³Ò" - "â¦ÉÐ" - "â¦ÉÔµ" - "â§" - "⧡" - "⧧" - "⧧১" - "⧹" - "â§à§" - "â§è" - "â§è§" - "â§è§à§è§" - "â§é§" - "â¨" - "⨡" - "⨧" - "⨧â¤Ãè§" - "⨷" - "⨷¡ì" - "⨷Âì" - "⨹" - "â¨Á" - "â¨Ã" - "â¨Ã¡ÃÃÁ" - "â¨É" - "â¨É¨Ñ¹" - "â¨è§¤ÃÖèÁ" - "â¨è§á¨é§" - "â¨ê¡" - "â¨ë§¤ÃÖèÁ" - "â©" - "⩧੧" - "â©´" - "⩹´" - "⩺" - "â©Á" - "â©Å¡" - "â©è" - "â©è§©èÒ§" - "⪡" - "⪡ع" - "⪤" - "⪴¡" - "⪴֡" - "⪵Ô" - "⪹" - "âªÂ" - "âªÇì" - "â«" - "â«¡" - "â«´Ò" - "â«Á" - "â«ÃÁ" - "â«ÅÒ" - "â«ÅÙªÑè¹" - "â«à´ÕÂÁ" - "â«àÇÕµ" - "â«è" - "â´" - "â´¡à´¡" - "â´´" - "â´¹" - "ⴹѷ" - "â´Á" - "â´ÁÔâ¹" - "â´Â" - "â´è" - "â´è§" - "â´ê»" - "âµ" - "ⵡ" - "ⵧ൧" - "âµ¹" - "âµ¹´" - "âµÁÃ" - "âµÃ¡" - "âµà¡ÕÂÇ" - "âµè§" - "âµé" - "âµé§" - "âµéâ¼" - "âµê´" - "âµêÐ" - "âµêÐÍÔËÁèÒÁ" - "â¶" - "⶧" - "ⶺ" - "â¶Á" - "â·" - "â·¡à·¡" - "â·§" - "ⷧ෧" - "â·¹" - "â·Á¹ÑÊ" - "â·Ã" - "â·Ã¤Á¹Ò¤Á" - "â·Ã·ÃÃȹì" - "â·Ã·Ñȹì" - "â·Ã¾ÔÁ¾ì" - "â·ÃÀÒ¾" - "â·ÃÁ" - "â·ÃÈѾ·ì" - "â·ÃàÅ¢" - "â·É" - "â·É·Ñ³±ì" - "â·ÉÒ¹Øâ·É" - "â·ÉÒÃÁ³ì" - "â·ÊÐ" - "â·ÊÒ¤µÔ" - "â·âÊ" - "â·è" - "â¸è" - "â¹" - "â¹¹" - "â¹ÃÒ" - "â¹ÃÕ" - "â¹è¹" - "â¹éµ" - "â¹éµºØê¡" - "â¹éµÊì" - "â¹é¹" - "â¹éÁ" - "âº" - "⺡" - "⺡¢Ã³Õ" - "⺡Õé" - "⺵" - "⺵Ñë¹" - "⺹ÑÊ" - "âºÂ" - "âºÃÁÕ¹" - "âºÃ͹" - "âºÃÒ³" - "âºÅÔàÇÕÂ" - "âºÇìÅÔè§" - "âºÊ¶ì" - "âºêàºê" - "âºë" - "â»" - "⻡" - "⻧" - "⻧ÅÒ§" - "⻹" - "â»Ã" - "â»Ã§" - "â»Ã´" - "â»ÃµÍ¹" - "â»ÃµÕ¹" - "â»ÃµØà¡Ê" - "â»ÃÂ" - "â»Ãà«Êà«ÍÃì" - "â»ÃàµÊáµ¹µì" - "â»Ãá¡ÃÁ" - "â»Ãá¡ÃÁàÁÍÃì" - "â»ÃâÁªÑ¹" - "â»ÃâÁµ" - "â»Ãè§" - "â»Ãì" - "â»ÅÔâÍ" - "â»Åè§" - "â»Ê¡ÒÃì´" - "â»ÊàµÍÃì" - "â»Ð" - "â»áŹ´ì" - "â»âÅ" - "â»è§" - "â»è§¢èÒÁ" - "â»é" - "â»é§" - "â»ê" - "â»ê¡" - "â»ê¡à¡ÍÃì" - "â»êÂà«Õ¹" - "â»êÐ" - "â¼" - "⼧" - "â¼¹" - "â¼Â" - "â¼Å¡à¼Å¡" - "â¼Å¹" - "â¼ÅÐ" - "â¼Åè" - "â¼Ð" - "â¾" - "⾡" - "⾧" - "⾧¾Ò§" - "⾫ԵÃ͹" - "⾸ԭҳ" - "⾸ԺÑÅÅѧ¡ì" - "⾸ÔÊÁÀÒÃ" - "⾸ÔÊѵÇì" - "⾸Ôì" - "â¾¹" - "â¾¹·Ð¹Ò" - "â¾Â" - "â¾Â¡êǹ" - "â¾ÂÁ" - "â¾Ã¡" - "â¾Ã§" - "â¾Ãд¡" - "â¾ÃⵤÍÅ" - "â¾Å§" - "â¾Å¹" - "â¾ÅÐ" - "â¾Åè§" - "â¾Åé§" - "â¾Åéà¾Åé" - "â¾Ê¾" - "â¾á·Êà«ÕÂÁ" - "â¾é¹" - "â¿¡ÑÊ" - "⿹" - "â¿Åìà´ÍÃì" - "âÀ¤" - "âÀ¤Ô¹" - "âÀ¤Õ" - "âÀª¹Ð" - "âÀª¹Ò" - "âÀª¹Ò¡Ã" - "âÀª¹Ò¡ÒÃ" - "âÀª¹ÒËÒÃ" - "âÀª¹ì" - "âÁ" - "âÁ¡" - "âÁ¡¢ì" - "âÁ¦¡ÃÃÁ" - "âÁ¦ÊÑ­­Ò" - "âÁ¦Ð" - "âÁ¦Õ¡ÃÃÁ" - "âÁ¦ÕÂÐ" - "âÁ§" - "âÁ§¤ÃØèÁ" - "âÁ´ÙÅ" - "âÁ·¹Ò" - "âÁÅÔº´Õ¹ÑÁ" - "âÁÅÕ" - "âÁËÐ" - "âÁËѹ¸ì" - "âÁËÒ¤µÔ" - "âÁà´Å" - "âÁà´çÁ" - "âÁàÁ" - "âÁàÁ¹µì" - "âÁàÅ¡ØÅ" - "âÁàÊ¡" - "âÁàÊÊ" - "âÁâ¹" - "âÁâË" - "âÁä¹Â" - "âÁè" - "âÁè§" - "âÁé" - "âÂ" - "â¡" - "⡵Ãì" - "â¤Ð" - "â¤Õ" - "â§" - "⪹ì" - "â¸Ò" - "â¸Թ" - "â¹" - "â¹Õ" - "âÂÁ" - "âÂàÂ" - "âÂâÊ" - "âÂè§" - "âÂè§âÂè" - "âÂé" - "âÃ" - "âä" - "âä¨ÔµàÀ·" - "âäÒ" - "âäҾҸ" - "âç" - "âç¤ÑÅ" - "âçàÃÕ¹" - "âçáÃÁ" - "âè" - "âè¹ì" - "âõÕ" - "âø" - "âøÃ" - "âÃÁ" - "âÃÁѹ" - "âÃÁÒà¹ÕÂ" - "âÃÂ" - "âÃÉ" - "âÃËÔµ" - "âÃà¹ÕÂÇ" - "âÃè" - "âÅ¡" - "âÅ¡ÇÔ·Ù" - "âšѹµÃì" - "âÅ¡Ò" - "âÅ¡Ò¸Ôº´Õ" - "âÅ¡Ò¸ÔäµÂ" - "âÅ¡ÒÁÔÊ" - "âÅ¡ÒÇÔ¹ÒÈ" - "âÅ¡ÔÂÐ" - "âÅ¡ÕÂÇѵÃ" - "âÅ¡ÕÂì" - "âšصøÃÃÁ" - "âšصÃÐ" - "âŧ" - "âŨ¹Ð" - "âųÐ" - "âÅ´" - "âŵÑÊ" - "âŹ" - "âÅÀ" - "âÅÁ" - "âÅÁÒ" - "âÅËÐ" - "âÅËѪ" - "âÅËÔµ" - "âÅÐ" - "âÅàÅ" - "âÅè" - "âÅè§" - "âÅé" - "âÅé¹" - "âÇ" - "âÇÂ" - "âÇÂÇÒÂ" - "âÇËÒÃ" - "âÇè" - "âÇè§" - "âÇéÂ" - "âÇéàÇé" - "âÈ¡" - "âÈ¡Ò" - "âÈ¡Ò´ÙÃ" - "âÈ¡ÒÅÑÂ" - "âÈ¡Õ" - "âÊ" - "âʡѹµì" - "âʳ" - "âʳ±ì" - "âÊ´" - "âÊ´Ò" - "âʴҺѹ" - "âʵ" - "âÊ·¡" - "âÊ·Ã" - "âʸ¡" - "âʸ¹Ð" - "âʹ" - "âÊÀ³" - "âÊÀÒ" - "âÊÀÔ³Õ" - "âÊÀÕ" - "âÊÁ" - "âÊÁ¹ÑÊ" - "âÊÁÁ" - "âÊÁÂì" - "âÊè" - "âÊÃè§" - "âÊÇÃó" - "âÊËØéÂ" - "âÊÌÊ" - "âÊàÀ³Õ" - "âÊâ¤Ã¡" - "â˧" - "âË´" - "â˹" - "â˹¡" - "â˹è§" - "âËÁ" - "âËÁ´" - "âËÁè§" - "âËÂ" - "âË¡àË¡" - "â˧" - "âËÂè§" - "âËÃ" - "âËçàËç" - "âËÃоÒ" - "âËÃÒ" - "âËÃÒ¨ÒÃÂì" - "âËÃÒÈÒʵÃì" - "âËÅ" - "âËŧâ¨é§" - "âËŹ" - "âËÅè" - "âËÇ" - "âËÇ¡àËÇ¡" - "âËǧ" - "âËÇ´" - "âËǵ" - "âËÇè" - "âËè" - "âÍ" - "âÍ¡" - "âÍ¡ÒÊ" - "âÍ¡Ô¹ÒÇÒ" - "âͧ¡ÒÃ" - "âͧ⢴§" - "âͪÐ" - "âͪÒ" - "âÍ´" - "â͵µÑ»»Ð" - "â͹" - "âͺ" - "âÍÀÒ" - "âÍÀÒÊ" - "âÍÁ" - "âÍÂ" - "âÍÃÊ" - "âÍÅоèÍ" - "âÍÅÔÁ»Ô¡" - "âÍÇÒ·" - "âÍÉ°ÀÑÂ" - "âÍÉ°ì" - "âÍʶ" - "âÍËѧ" - "âÍËìÁ" - "âÍÌÒÃ" - "âÍÌÒÃÔ¡" - "âÍÌÒÃÖ¡" - "âÍ໡" - "âÍàÅÕé§" - "âÍàÇÍÃì" - "âÍàÍ«ÔÊ" - "âÍàÍÊ" - "âÍ⫹" - "âÍè" - "âÍè§" - "âÍèÍèÒ" - "âÍé" - "âÍé¡" - "âÍéàÍé" - "âÍéâÅÁ" - "âÍéâÎ" - "âÍê¡" - "âÍêÂ" - "âÍë" - "âÎ" - "âΡ" - "âÎÁ" - "âÎÅìÁ" - "âÎʵì" - "âÎÊàµÊ" - "âÎàµçÅ" - "ã¡Åé" - "ã¤Ã" - "ã¤Ãè" - "ã¨" - "ãªè" - "ãªé" - "ã´" - "ãµé" - "ã¹" - "ã¹ËÅǧ" - "ãº" - "ãºé" - "ã½è" - "ãÂ" - "ãÊ" - "ãÊè" - "ãË­è" - "ãËÁè" - "ãËé" - "ä¡" - "ä¡Ã" - "ä¡ÃÅÒÊ" - "ä¡ÃÈÃ" - "ä¡ÃÊÃ" - "ä¡Å" - "ä¡Åè" - "ä¡Ç" - "ä¡è" - "ä¡ê´ì" - "ä¡ë" - "ä¢" - "ä¢Çè" - "ä¢Çé" - "ä¢Ê×Í" - "ä¢è" - "ä¢è´Ñ¹" - "ä¢èÁØ¡" - "ä¢é" - "ä¤" - "ä¤Ãé" - "ä¤Å" - "ä¤ÅàÍç¹µì" - "ä¤Åá͹µì" - "ä¤Åé" - "ä¤é" - "ä§" - "ä¨" - "䩹" - "ä©äÅ" - "äª" - "äªÂ" - "äªâÂ" - "ä«" - "䫵ì" - "䫹ì" - "䫺ÕàÃÕÂ" - "ä«»ÃÑÊ" - "ä«ÂÒä¹´ì" - "ä«Ãé" - "ä«à¡ÔÅ" - "ä«àºÍÃì" - "ä«àù" - "ä«â¤Å¹" - "ä«âÅ" - "ä«é" - "ä´" - "ä´¹ÒâÁ" - "ä´¹ÒäÁµì" - "ä´ÃàÇÍÃì" - "ä´Ãì¿" - "ä´ÍÐÅçÍ¡" - "ä´ÍÐÅçÍ¡ºçÍ¡«ì" - "ä´ÍÒÃÕè" - "ä´àá·ÍÃÕ" - "ä´â¹àÊÒÃì" - "ä´é" - "äµ" - "äµÃ" - "äµÃÁÒÊ" - "äµÃèµÃͧ" - "äµè" - "äµé" - "äµé¡ë§" - "äµé½Øè¹" - "äµéËÇѹ" - "äµë" - "ä¶" - "ä¶Å" - "ä¶è" - "ä¶é" - "ä·" - "ä·¡Í" - "ä·¿Í´ì" - "ä·Â" - "ä·ÂÃÑ°" - "ä·Ã" - "ä·ÃÍ´ì" - "ä·à·à¹ÕÂÁ" - "ä·é" - "ä¹" - "ä¹µì¤ÅѺ" - "ä¹Å͹" - "ä¹Åì" - "ä¹âµÃਹ" - "亵ì" - "äºÍÍÊ" - "äºàºÔÅ" - "ä»" - "ä»ÂÒÅ" - "ä»ÃɳÕºÃó" - "ä»ÃɳÕºѵÃ" - "ä»ÃɳÕÂÀѳ±ì" - "ä»ÃɳÕÂÇѵ¶Ø" - "ä»ÃɳÕÂÒ¡Ã" - "ä»ÃɳÕÂì" - "ä»Åè" - "ä»è" - "ä»ë" - "ä¼" - "ä¼·" - "ä¼è" - "ä½" - "ä¾" - "侨ԵÃ" - "ä¾±ÙÃÂì" - "侺ÙÅÂì" - "ä¾Ã" - "ä¾Ã¨ÔµÃ" - "ä¾Ã±ÙÃÂì" - "ä¾ÃѪ" - "ä¾ÃÔ¹" - "ä¾ÃÕ" - "ä¾Ãè" - "ä¾ÅÔ¹" - "ä¾Åè" - "ä¾ÈÒÅ" - "ä¾àÃÒÐ" - "ä¾âè¹ì" - "ä¾è" - "ä¾è»êÍ¡" - "ä¿" - "ä¿Åì" - "ä¿á¹¹«ì" - "äÁ¤Ã͹" - "äÁµÃÕ" - "äÁÂÃÒº" - "äÁÅì" - "äÁâ¤Ã" - "äÁâ¤Ã«Í¿·ì" - "äÁâ¤ÃàÇ¿" - "äÁâ¤Ã⿹" - "äÁè" - "äÁé" - "äÂ" - "äÂè" - "äÃ" - "äÃè" - "äÃé" - "äÅÂ" - "äÅૹÊì" - "äÅè" - "äÅèàÅÕèÂ" - "äÅé" - "äÇ" - "äÇ¡Ù³°ì" - "äDZÙÃÂì" - "äÇ·Âì" - "äǹì" - "äǾ¨¹ì" - "äÇÂҡóì" - "äÇÂÒÇѨ¡Ã" - "äÇÂÒÇѨÁÑÂ" - "äÇÃÑÊ" - "äÇâÍÅÔ¹" - "äÇé" - "äÈÅ" - "äÊ" - "äÊÂ" - "äÊÂÒ" - "äÊÃé" - "äÊÇ" - "äÊé" - "äË" - "ä˹" - "äËÁ" - "äËÁé" - "äËÃè" - "äËÅ" - "äËÅè" - "äËÇ" - "äËÇé" - "äËËÅÓ" - "äËè" - "äËé" - "äÍ" - "äͤ͹" - "äÍ·Õ" - "äͺÕàÍçÁ" - "äÍÂÃÒ" - "äÍÂàÃÈ" - "äÍÃÒÇѳ" - "äÍÃìᏴì" - "äÍÈ¡ÃÕÁ" - "äÍÈÇÃÃÂì" - "äÍÈÙÃÂì" - "äÍÍ͹" - "äÍâ«â·»" - "äÍâÍ´Õ¹" - "äÍé" - "äδÃÒ" - "äÎâ¡ÃÁÔàµÍÃì" - "äÎâ´Ã¤ÒÃìºÍ¹" - "äÎâÅ" - ))) - (setq thai-word-table (list 'thai-words)) - (while l - (set-nested-alist (car l) 1 thai-word-table) - (setq l (cdr l)))) - - -(defun thai-update-word-table (file &optional append) - "Update Thai word table by replacing the current word list with -FILE. If called with a prefix argument, FILE is appended instead to -the current word list." - (interactive "FThai word table file: \nP") - (let ((buf (generate-new-buffer "*thai-work*")) - (coding-system-for-read 'thai-tis620) - (table (if append thai-word-table (list 'thai-words)))) - (unwind-protect - (save-excursion - (set-buffer buf) - (insert-file-contents file) - (goto-char (point-min)) - (while (re-search-forward "\\ct+" nil t) - (set-nested-alist (match-string 0) 1 table))) - (kill-buffer buf)) - (setq thai-word-table table))) - - -;; Two special Thai characters regarded as suffix of words. - -(defconst thai-MaiYaMok (make-char 'thai-tis620 ?\xE6)) -(defconst thai-PaiYanNoi (make-char 'thai-tis620 ?\xCF)) - - -;; Find Thai words starting at POS and return a list of positions of -;; the Thai word ends. It doesn't move point. LIMIT limits the -;; maximum position. IGNORE is a list of positions to ignore. It is -;; assumed that all following characters to LIMIT are Thai. If the -;; following char is not Thai (i.e., POS is equal to LIMIT), return t. -;; -;; Note that the longest word position comes first. - -(defun thai-find-word-ends (pos limit &optional ignore) - (if (>= pos limit) - t - (let* ((char (char-after pos)) - (this (cdr (assq char (cdr thai-word-table)))) - category-set - positions) - ;; Look up the following character sequence in `thai-word-table' - ;; character by character. - (while this - (setq pos (1+ pos) - char (char-after pos) - category-set (char-category-set char)) - ;; If the current sequence is recorded in `thai-word-table' - ;; (i.e. (car THIS) is 1) and the following Thai character is - ;; not an upper-vowel, lower-vowel, or tone-mark, we have - ;; found a possible word ending position. - (if (and (eq (car this) 1) - (not (or (aref category-set ?2) - (aref category-set ?3) - (aref category-set ?4)))) - (progn - ;; Skip possible Thai suffices. - (while (or (eq char thai-MaiYaMok) (eq char thai-PaiYanNoi)) - (setq pos (1+ pos) - char (char-after pos))) - ;; Skip character positions in IGNORE list. - (or (memq pos ignore) - (setq positions (cons pos positions))))) - ;; Set up next loop. - (setq this (and (< pos limit) (cdr (assq char this))))) - positions))) - - -;; Move point forward to the end of Thai word which follows point and -;; update VEC. VEC is a vector of three elements used to cache word -;; end positions. The Nth element, if non-nil, is a list of end -;; points of the Nth word, or t indicating that there is no Thai -;; character. LIMIT limits the point movement. - -(defun thai-forward-word-update-info (vec limit) - (let ((pos (point)) - v0 v1 v2 v3 - second-best - tried - positions) - (if - ;; If four succeeding Thai words are found, throw t, otherwise - ;; throw nil. - (catch 'tag - ;; Start with first vector element. - (setq v0 (aref vec 0)) - (unless v0 - ;; Update VEC if V0 is empty. - (setq v0 (thai-find-word-ends pos limit)) - (aset vec 0 v0) - (aset vec 1 nil)) - ;; In case we haven't found any wordbreaks resp. point has - ;; reached LIMIT, exit the catch body. - (if (symbolp v0) ; i.e. nil or t? - (throw 'tag nil)) - ;; OK, V0 holds possible word ends for the current position. - ;; We save V0 for later reference. - (setq tried v0) - (setq v1 (aref vec 1)) - ;; Now we try all end word positions to find the next word. - (while v0 - (setq pos (car v0)) - (unless v1 - ;; Update VEC if V1 is empty, ignoring positions already - ;; found -- for Thai, we need the longest match, so if - ;; we have - ;; - ;; start(long-word) = start(short-word1) - ;; end(short-word1) = start(short-word2) - ;; end(short-word2) = end(long-word) - ;; - ;; only long-word is used. - (setq v1 (thai-find-word-ends pos limit tried)) - (aset vec 1 v1) - (aset vec 2 nil)) - ;; If point has reached LIMIT, exit the catch body. - (if (eq v1 t) - (throw 'tag t)) - ;; Save SECOND-BEST, if this hasn't been done already. - ;; The `second best' solution is the end position of the - ;; longest first word followed by the longest second word. - (or second-best - (not v1) - (setq second-best (cons v0 v1))) - ;; Update the already tried end word positions. - (setq tried (append tried v1)) - ;; Now repeat the whole process to find a third word. - (when v1 - (setq v2 (aref vec 2)) - (while v1 - (setq pos (car v1)) - (unless v2 - (setq v2 (thai-find-word-ends pos limit tried)) - (aset vec 2 v2)) - (if (eq v2 t) - (throw 'tag t)) - (setq tried (append tried v2)) - ;; And the same for a fourth word. - (while v2 - (setq pos (car v2)) - (setq v3 (thai-find-word-ends pos limit tried)) - (if v3 - (throw 'tag t)) - (setq v2 (cdr v2))) - (setq v1 (cdr v1)))) - (setq v0 (cdr v0))) - ;; No success. - nil) - (progn - ;; We found four succeeding Thai words (or LIMIT has been - ;; reached). Move to the end of the first word. - (goto-char (car v0)) - ;; Update VEC for the next function call. If no larger word - ;; positions have been found, set the corresponding vector - ;; element to nil. - (if (and (consp v1) (< (car v1) (car (aref vec 1)))) - (aset vec 0 nil) - (aset vec 0 v1) - (if (and (consp v2) (< (car v2) (car (aref vec 2)))) - (aset vec 1 nil) - (aset vec 1 v2) - (aset vec 2 v3)))) ; exit function successfully - - ;; We didn't find four consecutive words. If we have found a - ;; `second best' solution and the length of those two words is - ;; longer than the longest word we can see at the current point, - ;; adopt the second best solution. This decision is based on - ;; heuristic tests. - (if (and second-best - (< (car (aref vec 0)) (car (cdr second-best)))) - (progn - (goto-char (car (car second-best))) - (aset vec 0 (cdr second-best))) - ;; We finally failed to find a word break. For Thai, the best - ;; solution is to extend the first longest word so that the - ;; end point starts a second word. - (setq pos (or (car (aref vec 0)) pos)) - (while (and (< pos limit) - (not (setq positions (thai-find-word-ends pos limit)))) - (setq pos (1+ pos))) - (goto-char pos) - (aset vec 0 positions)) - (aset vec 1 nil) - nil))) - - -;; Return a list of Thai word boundary positions after the current -;; point. LIMIT, if non-nil, limits the region to check. - -(defun thai-find-word-boundaries (&optional limit) - (or limit - (setq limit (point-max))) - (save-excursion - (let ((vec (make-vector 3 nil)) - (boundaries nil) - this-limit) - ;; Loop over all (consecutive) Thai regions by using the - ;; character property `t' until LIMIT is reached. - (while (and (< (point) limit) - (re-search-forward "\\ct+" nil t)) - (setq this-limit (point)) - (goto-char (match-beginning 0)) - (fillarray vec nil) - ;; Check the first word, initializing VEC. - (thai-forward-word-update-info vec this-limit) - ;; Then loop over the remaining words in the current Thai - ;; region, collecting the boundaries. - (while (< (point) this-limit) - (setq boundaries (cons (point) boundaries)) - (thai-forward-word-update-info vec this-limit))) - boundaries))) - - -(defun thai-break-words (separator &optional limit) - "Break Thai words by inserting a separator string at word boundaries." - (interactive "sSeparator: ") - (save-excursion - (let ((boundaries (thai-find-word-boundaries limit))) - (while boundaries - (goto-char (car boundaries)) - (insert separator) - (setq boundaries (cdr boundaries)))))) - - -(defun thai-forward-word (count) - "Move point forward COUNT words considering Thai word boundaries. -If COUNT is negative, move point backward (- COUNT) words." - (interactive "p") - (if (> count 0) - (while (> count 0) - (skip-syntax-forward "^w") - (if (looking-at "\\ct+") - ;; We have reached a Thai region, so we must do something - ;; special instead of using forward-word. - (let ((start (point)) - (limit (match-end 0)) - boundaries - tail) - ;; If thai-forward-word has been called within a Thai - ;; region, we must go back until the Thai region starts - ;; to do the contextual analysis for finding word - ;; breaks. - (while (aref (char-category-set (preceding-char)) ?t) - (forward-char -1)) - ;; OK, we ask for the list of word boundaries in - ;; reversed order. - (setq boundaries (nreverse (thai-find-word-boundaries limit))) - ;; Now we search for the next boundary after START. - (while (and boundaries (<= (car boundaries) start)) - (setq boundaries (cdr boundaries))) - ;; Adjust loop for next while loop. - (setq count (1- count)) - ;; Now we skip Thai words until the BOUNDARIES list is - ;; empty or count-1 words have been passed. - (if (not boundaries) - (goto-char limit) - (while (and (> count 0) - boundaries) - (setq boundaries (cdr boundaries) - count (1- count))) - ;; If BOUNDARIES is empty, the word counter is not - ;; zero yet (remember that we have decreased COUNT by - ;; one), so we go to LIMIT. Otherwise go to next - ;; boundary. - (if boundaries - (goto-char (car boundaries)) - (goto-char limit)))) - ;; No Thai region. - (forward-word 1) - (setq count (1- count)))) - ;; The symmetrical action for negative values. - (if (< count 0) - (while (< count 0) - (skip-syntax-backward "^w") - (if (aref (char-category-set (preceding-char)) ?t) - (let ((start (point)) - (limit (if (looking-at "\\ct+") (match-end 0) - (point))) - boundaries) - (forward-char -1) - (while (aref (char-category-set (preceding-char)) ?t) - (forward-char -1)) - (setq boundaries (thai-find-word-boundaries limit)) - (while (and boundaries (>= (car boundaries) start)) - (setq boundaries (cdr boundaries))) - (setq count (1+ count)) - (if boundaries - (progn - (while (and (< count 0) boundaries) - (setq boundaries (cdr boundaries) - count (1+ count))) - (if boundaries - (goto-char (car boundaries)))))) - (forward-word -1) - (setq count (1+ count))))))) - - -(defun thai-backward-word (count) - "Move point backward COUNT words considering Thai word boundaries. -If COUNT is negative, move point forward (- COUNT) words." - (interactive "p") - (thai-forward-word (- count))) - - -(provide 'thai-word) - - -;; Local Variables: -;; coding: tis-620 -;; End: - -;; end of thai-word.el diff --git a/language/chinese/CJK/cjk-4.8.4/utils/lisp/mule-2.3/cjk-enc.el b/language/chinese/CJK/cjk-4.8.4/utils/lisp/mule-2.3/cjk-enc.el deleted file mode 100644 index d93d53e5ca..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/lisp/mule-2.3/cjk-enc.el +++ /dev/null @@ -1,625 +0,0 @@ -;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package - -;; Copyright (C) 1996, 1998 Electrotechnical Laboratory, JAPAN. - -;; Author: Kenichi HANDA -;; Werner LEMBERG - -;; Keywords: CJK package, LaTeX2e, mule - -;; 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, 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 GNU Emacs; see the file COPYING. If not, write to -;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -;; -;; CJK Version 4.8.4 (18-Apr-2015) -;; - -;;; Code - -;; The following tables map from Mule's internal encoding to LaTeX2e -;; macros. Note that not all macros defined here really do exist. See -;; MULEenc.sty and cjk-enc.txt for further details. -;; -;; The active TeX character 0x80 is defined as a multiplex command which -;; executes its first argument. To make the macro expansion robust -;; against \uppercase and \lowercase, numbers are used as parameters which -;; index the various commands. -;; -;; 0xFF will be used as a parameter delimiting character. - -(defconst cjk-latin-1 - [;0xa0 - "99\177" "1\177" "2\177" "3\177" - "4\177" "5\177" "6\177" "7\177" - "8\177\\ " "9\177" "10\177" "11\177" - "12\177" "0\177-{}" "14\177" "15\177\\ " - - ; 0xb0 - "16\177" "17\177" "18\177" "19\177" - "20\177\\ " "21\177" "22\177" "23\177" - "24\177\\ " "25\177" "26\177" "27\177" - "28\177" "29\177" "30\177" "31\177" - - ; 0xc0 - "32\177A" "20\177A" "33\177A" "34\177A" - "8\177A" "0\177\\AA" "0\177\\AE" "24\177C" - "32\177E" "20\177E" "33\177E" "8\177E" - "32\177I" "20\177I" "33\177I" "8\177I" - - ; 0xd0 - "0\177\\DJ" "34\177N" "32\177O" "20\177O" - "33\177O" "34\177O" "8\177O" "38\177" - "0\177\\O" "32\177U" "20\177U" "33\177U" - "8\177U" "20\177Y" "0\177\\TH" "0\177\\ss" - - ; 0xe0 - "32\177a" "20\177a" "33\177a" "34\177a" - "8\177a" "0\177\\aa" "0\177\\ae" "24\177c" - "32\177e" "20\177e" "33\177e" "8\177e" - "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" - - ; 0xf0 - "0\177\\dj" "34\177n" "32\177o" "20\177o" - "33\177o" "34\177o" "8\177o" "45\177" - "0\177\\o" "32\177u" "20\177u" "33\177u" - "8\177u" "20\177y" "0\177\\th" "8\177y" - ]) - -(defconst cjk-latin-2 - [; 0xa0 - "99\177" "48\177A" "49\177\\ " "0\177\\L" - "4\177" "51\177L" "20\177S" "7\177" - "8\177\\ " "51\177S" "24\177S" "51\177T" - "20\177Z" "0\177-{}" "51\177Z" "52\177Z" - - ; 0xb0 - "16\177" "48\177a" "48\177\\ " "0\177\\l" - "20\177\\ " "51\177l" "20\177s" "51\177\\ " - "24\177\\ " "51\177s" "24\177s" "51\177t" - "20\177z" "55\177\\ " "51\177z" "52\177z" - - ; 0xc0 - "20\177R" "20\177A" "33\177A" "49\177A" - "8\177A" "20\177L" "20\177C" "24\177C" - "51\177C" "20\177E" "48\177E" "8\177E" - "51\177E" "20\177I" "33\177I" "51\177D" - - ; 0xd0 - "0\177\\DJ" "20\177N" "51\177N" "20\177O" - "33\177O" "55\177O" "8\177O" "38\177" - "51\177R" "53\177U" "20\177U" "55\177U" - "8\177U" "20\177Y" "24\177T" "0\177\\ss" - - ; 0xe0 - "20\177r" "20\177a" "33\177a" "49\177a" - "8\177a" "20\177l" "20\177c" "24\177c" - "51\177c" "20\177e" "48\177e" "8\177e" - "51\177e" "20\177\\i" "33\177\\i" "51\177d" - - ; 0xf0 - "0\177\\dj" "20\177n" "51\177n" "20\177o" - "33\177o" "55\177o" "8\177o" "45\177" - "51\177r" "53\177u" "20\177u" "55\177u" - "8\177u" "20\177y" "24\177t" "52\177\\ " - ]) - -(defconst cjk-latin-3 - [; 0xa0 - "99\177" "0\177\\TEXTMALTESEH" "49\177\\ " "3\177" - "4\177" "" "33\177H" "7\177" - "8\177\\ " "52\177I" "24\177S" "49\177G" - "33\177J" "0\177-{}" "" "52\177Z" - - ; 0xb0 - "16\177" "0\177\\textmalteseh" "18\177" "19\177" - "20\177\\ " "21\177" "33\177h" "23\177" - "24\177\\ " "0\177\\i" "24\177s" "49\177g" - "33\177\\j" "29\177" "" "52\177z" - - ; 0xc0 - "32\177A" "20\177A" "33\177A" "" - "8\177A" "52\177C" "33\177C" "24\177C" - "32\177E" "20\177E" "33\177E" "8\177E" - "32\177I" "20\177I" "33\177I" "8\177I" - - ; 0xd0 - "" "34\177N" "32\177O" "20\177O" - "33\177O" "52\177G" "8\177O" "38\177" - "33\177G" "32\177U" "20\177U" "33\177U" - "8\177U" "49\177U" "33\177S" "0\177\\ss" - - ; 0xe0 - "32\177a" "20\177a" "33\177a" "" - "8\177a" "52\177c" "33\177c" "24\177c" - "32\177e" "20\177e" "33\177e" "8\177e" - "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" - - ; 0xf0 - "" "34\177n" "32\177o" "20\177o" - "33\177o" "52\177g" "8\177o" "45\177" - "33\177g" "32\177u" "20\177u" "33\177u" - "8\177u" "49\177u" "33\177s" "52\177\\ " - ]) - -(defconst cjk-latin-4 - [; 0xa0 - "99\177" "48\177A" "59\177" "24\177R" - "4\177" "34\177I" "24\177L" "7\177" - "8\177\\ " "51\177S" "15\177E" "24\177G" - "0\177\\TEXTTSTROKE" "0\177-{}" "51\177Z" "15\177\\ " - - ; 0xb0 - "16\177" "48\177a" "48\177\\ " "24\177r" - "20\177\\ " "34\177\\i" "24\177l" "51\177\\ " - "24\177\\ " "51\177s" "15\177e" "24\177g" - "0\177\\texttstroke" "0\177\\NG" "51\177z" "0\177\\ng" - - ; 0xc0 - "15\177A" "20\177A" "33\177A" "34\177A" - "8\177A" "0\177\\AA" "0\177\\AE" "48\177I" - "51\177C" "20\177E" "48\177E" "8\177E" - "52\177E" "20\177I" "33\177I" "15\177I" - - ; 0xd0 - "0\177\\DJ" "24\177N" "15\177O" "24\177K" - "33\177O" "34\177O" "8\177O" "38\177" - "0\177\\O" "48\177U" "20\177U" "33\177U" - "8\177U" "34\177U" "15\177U" "0\177\\ss" - - ; 0xe0 - "15\177a" "20\177a" "33\177a" "34\177a" - "8\177a" "0\177\\aa" "0\177\\ae" "48\177i" - "51\177c" "20\177e" "48\177e" "8\177e" - "52\177e" "20\177\\i" "33\177\\i" "15\177\\i" - - ; 0xf0 - "0\177\\dj" "24\177n" "15\177o" "24\177k" - "33\177o" "34\177o" "8\177o" "45\177" - "0\177\\o" "48\177u" "20\177u" "33\177u" - "8\177u" "34\177u" "15\177u" "52\177\\ " - ]) - -(defconst cjk-latin-5 ; ISO 8859-9 - [; 0xa0 - "99\177" "1\177" "2\177" "3\177" - "4\177" "5\177" "6\177" "7\177" - "8\177\\ " "9\177" "10\177" "11\177" - "12\177" "0\177-{}" "14\177" "15\177\\ " - - ; 0xb0 - "16\177" "17\177" "18\177" "19\177" - "20\177\\ " "21\177" "22\177" "23\177" - "24\177\\ " "25\177" "26\177" "27\177" - "28\177" "29\177" "30\177" "31\177" - - ; 0xc0 - "32\177A" "20\177A" "33\177A" "34\177A" - "8\177A" "0\177\\AA" "0\177\\AE" "24\177C" - "32\177E" "20\177E" "33\177E" "8\177E" - "32\177I" "20\177I" "33\177I" "8\177I" - - ; 0xd0 - "49\177G" "34\177N" "32\177O" "20\177O" - "33\177O" "34\177O" "8\177O" "38\177" - "0\177\\O" "32\177U" "20\177U" "33\177U" - "8\177U" "52\177I" "24\177S" "0\177\\ss" - - ; 0xe0 - "32\177a" "20\177a" "33\177a" "34\177a" - "8\177a" "0\177\\aa" "0\177\\ae" "24\177c" - "32\177e" "20\177e" "33\177e" "8\177e" - "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" - - ; 0xf0 - "49\177g" "34\177n" "32\177o" "20\177o" - "33\177o" "34\177o" "8\177o" "45\177" - "0\177\\o" "32\177u" "20\177u" "33\177u" - "8\177u" "0\177\\i" "24\177s" "8\177y" - ]) - -(defconst cjk-latin-jisx ; JIS X 0201 lower half - [; 0xa0 - "" "0\177!" "37\177" "0\177\\#" - "39\177" "0\177\\%" "0\177\\&" "40\177" - "0\177(" "0\177)" "0\177*" "0\177+" - "0\177," "0\177-" "0\177." "0\177/" - - ; 0xb0 - "0\1770" "0\1771" "0\1772" "0\1773" - "0\1774" "0\1775" "0\1776" "0\1777" - "0\1778" "0\1779" "0\177:" "0\177;" - "41\177" "0\177=" "42\177" "0\177?" - - ; 0xc0 - "36\177" "0\177A" "0\177B" "0\177C" - "0\177D" "0\177E" "0\177F" "0\177G" - "0\177H" "0\177I" "0\177J" "0\177K" - "0\177L" "0\177M" "0\177N" "0\177O" - - ; 0xd0 - "0\177P" "0\177Q" "0\177R" "0\177S" - "0\177T" "0\177U" "0\177V" "0\177W" - "0\177X" "0\177Y" "0\177Z" "0\177[" - "5\177" "0\177]" "43\177" "44\177" - - ; 0xe0 - "46\177" "0\177a" "0\177b" "0\177c" - "0\177d" "0\177e" "0\177f" "0\177g" - "0\177h" "0\177i" "0\177j" "0\177k" - "0\177l" "0\177m" "0\177n" "0\177o" - - ; 0xf0 - "0\177p" "0\177q" "0\177r" "0\177s" - "0\177t" "0\177u" "0\177v" "0\177w" - "0\177x" "0\177y" "0\177z" "47\177" - "50\177" "54\177" "56\177" "" - ]) - -(defconst cjk-cyrillic ; ISO 8859-5 - [; 0xa0 - "99\177" "0\177\\CYRYO" "0\177\\CYRDJE" "20\177\\CYRG" - "0\177\\CYRIE" "0\177\\CYRDZE" "0\177\\CYRII" "0\177\\CYRYI" - "0\177\\CYRJE" "0\177\\CYRLJE" "0\177\\CYRNJE" "0\177\\CYRTSHE" - "20\177\\CYRK" "0\177-{}" "0\177\\CYRUSHRT" "0\177\\CYRDZHE" - - ; 0xb0 - "0\177\\CYRA" "0\177\\CYRB" "0\177\\CYRV" "0\177\\CYRG" - "0\177\\CYRD" "0\177\\CYRE" "0\177\\CYRZH" "0\177\\CYRZ" - "0\177\\CYRI" "0\177\\CYRISHRT" "0\177\\CYRK" "0\177\\CYRL" - "0\177\\CYRM" "0\177\\CYRN" "0\177\\CYRO" "0\177\\CYRP" - - ; 0xc0 - "0\177\\CYRR" "0\177\\CYRS" "0\177\\CYRT" "0\177\\CYRU" - "0\177\\CYRF" "0\177\\CYRH" "0\177\\CYRC" "0\177\\CYRCH" - "0\177\\CYRSH" "0\177\\CYRSHCH" "0\177\\CYRHRDSN" "0\177\\CYRERY" - "0\177\\CYRSFTSN" "0\177\\CYREREV" "0\177\\CYRYU" "0\177\\CYRYA" - - ; 0xd0 - "0\177\\cyra" "0\177\\cyrb" "0\177\\cyrv" "0\177\\cyrg" - "0\177\\cyrd" "0\177\\cyre" "0\177\\cyrzh" "0\177\\cyrz" - "0\177\\cyri" "0\177\\cyrishrt" "0\177\\cyrk" "0\177\\cyrl" - "0\177\\cyrm" "0\177\\cyrn" "0\177\\cyro" "0\177\\cyrp" - - ; 0xe0 - "0\177\\cyrr" "0\177\\cyrs" "0\177\\cyrt" "0\177\\cyru" - "0\177\\cyrf" "0\177\\cyrh" "0\177\\cyrc" "0\177\\cyrch" - "0\177\\cyrsh" "0\177\\cyrshch" "0\177\\cyrhrdsn" "0\177\\cyrery" - "0\177\\cyrsftsn" "0\177\\cyrerev" "0\177\\cyryu" "0\177\\cyrya" - - ; 0xf0 - "35\177" "0\177\\cyryo" "0\177\\cyrdje" "20\177\\cyrg" - "0\177\\cyrie" "0\177\\cyrdze" "0\177\\cyrii" "0\177\\cyryi" - "0\177\\cyrje" "0\177\\cyrlje" "0\177\\cyrnje" "0\177\\cyrtshe" - "20\177\\cyrk" "7\177" "0\177\\cyrushrt" "0\177\\cyrdzhe" - ]) - -(defconst cjk-greek ; ISO 8859-7 - [;0xa0 - "99\177" "0\177<{}" "0\177>{}" "3\177" - "" "" "6\177" "7\177" - "8\177\\ " "9\177" "" "0\177((" - "12\177" "0\177-{}" "" "0\177---" - - ; 0xb0 - "16\177" "17\177" "18\177" "19\177" - "0\177'{}" "0\177\"'{}" "0\177'A" "0\177;" - "0\177'E" "0\177'H" "0\177'I" "0\177))" - "0\177'O" "29\177" "0\177'U" "0\177'W" - - ; 0xc0 - "0\177\"'i" "0\177A" "0\177B" "0\177G" - "0\177D" "0\177E" "0\177Z" "0\177H" - "0\177J" "0\177I" "0\177K" "0\177L" - "0\177M" "0\177N" "0\177X" "0\177O" - - ; 0xd0 - "0\177P" "0\177R" "" "0\177S" - "0\177T" "0\177U" "0\177F" "0\177Q" - "0\177Y" "0\177W" "0\177\"I" "0\177\"U" - "0\177'a" "0\177'e" "0\177'h" "0\177'i" - - ; 0xe0 - "0\177\"'u" "0\177a" "0\177b" "0\177g" - "0\177d" "0\177e" "0\177z" "0\177h" - "0\177j" "0\177i" "0\177k" "0\177l" - "0\177m" "0\177n" "0\177x" "0\177o" - - ; 0xf0 - "0\177p" "0\177r" "0\177c" "0\177s" - "0\177t" "0\177u" "0\177f" "0\177q" - "0\177y" "0\177w" "0\177\"i" "0\177\"u" - "0\177'o" "0\177'u" "0\177'w" "" - ]) - -(defconst cjk-viscii-lower - [; 0xA0 - "" "20\177\\abreve" "32\177\\abreve" "71\177\\abreve" - "20\177\\acircumflex" "32\177\\acircumflex" "73\177\\acircumflex" "71\177\\acircumflex" - "34\177e" "71\177e" "20\177\\ecircumflex" "32\177\\ecircumflex" - "73\177\\ecircumflex" "34\177\\ecircumflex" "71\177\\ecircumflex" "20\177\\ocircumflex" - - ; 0xB0 - "32\177\\ocircumflex" "73\177\\ocircumflex" "34\177\\ocircumflex" "" - "" "71\177\\ocircumflex" "32\177\\ohorn" "73\177\\ohorn" - "71\177i" "" "" "" - "" "0\177\\ohorn" "20\177\\ohorn" "" - - ; 0xC0 - "" "" "" "" - "" "" "73\177\\abreve" "34\177\\abreve" - "" "" "" "" - "" "" "" "32\177y" - - ; 0xD0 - "" "20\177\\uhorn" "" "" - "" "71\177a" "73\177y" "32\177\\uhorn" - "73\177\\uhorn" "" "" "34\177y" - "71\177y" "" "34\177\\ohorn" "0\177\\uhorn" - - ; 0xE0 - "32\177a" "20\177a" "0\177\\acircumflex" "34\177a" - "73\177a" "0\177\\abreve" "34\177\\uhorn" "34\177\\acircumflex" - "32\177e" "20\177e" "0\177\\ecircumflex" "73\177e" - "32\177i" "20\177i" "34\177i" "73\177i" - - ; 0xF0 - "0\177\\dj" "71\177\\uhorn" "32\177o" "20\177o" - "0\177\\ocircumflex" "34\177o" "73\177o" "71\177o" - "71\177u" "32\177u" "20\177u" "34\177u" - "73\177u" "20\177y" "71\177\\ohorn" "" - ]) - -(defconst cjk-viscii-upper - [; 0xA0 - "" "20\177\\ABREVE" "32\177\\ABREVE" "71\177\\ABREVE" - "20\177\\ACIRCUMFLEX" "32\177\\ACIRCUMFLEX" "73\177\\ACIRCUMFLEX" "71\177\\ACIRCUMFLEX" - "34\177E" "71\177E" "20\177\\ECIRCUMFLEX" "32\177\\ECIRCUMFLEX" - "73\177\\ECIRCUMFLEX" "34\177\\ECIRCUMFLEX" "71\177\\ECIRCUMFLEX" "20\177\\OCIRCUMFLEX" - - ; 0xB0 - "32\177\\OCIRCUMFLEX" "73\177\\OCIRCUMFLEX" "34\177\\OCIRCUMFLEX" "" - "" "71\177\\OCIRCUMFLEX" "32\177\\OHORN" "73\177\\OHORN" - "71\177I" "" "" "" - "" "0\177\\OHORN" "20\177\\OHORN" "" - - ; 0xC0 - "" "" "" "" - "" "" "73\177\\ABREVE" "34\177\\ABREVE" - "" "" "" "" - "" "" "" "32\177Y" - - ; 0xD0 - "" "20\177\\UHORN" "" "" - "" "71\177A" "73\177Y" "32\177\\UHORN" - "73\177\\UHORN" "" "" "34\177Y" - "71\177Y" "" "34\177\\OHORN" "0\177\\UHORN" - - ; 0xE0 - "32\177A" "20\177A" "0\177\\ACIRCUMFLEX" "34\177A" - "73\177A" "0\177\\ABREVE" "34\177\\UHORN" "34\177\\ACIRCUMFLEX" - "32\177E" "20\177E" "0\177\\ECIRCUMFLEX" "73\177E" - "32\177I" "20\177I" "34\177I" "73\177I" - - ; 0xF0 - "0\177\\DJ" "71\177\\UHORN" "32\177O" "20\177O" - "0\177\\OCIRCUMFLEX" "34\177O" "73\177O" "71\177O" - "71\177U" "32\177U" "20\177U" "34\177U" - "73\177U" "20\177Y" "71\177\\OHORN" "" - ]) - - -;; The following encodings will be selected (if they occur in the input -;; buffer) at the very beginning of the output buffer to load the -;; corresponding CJK macros. -(defconst cjk-enc-table - (let ((vec (make-vector 256 nil))) - (aset vec lc-cn "GB") - (aset vec lc-kana "SJIS") - (aset vec lc-jp "JIS") - (aset vec lc-jp2 "JIS2") - (aset vec lc-kr "KS") - (aset vec lc-big5-1 "Bg5") - (aset vec lc-big5-2 "Bg5") - (aset vec lc-cns1 "CNS1") - (aset vec lc-cns2 "CNS2") - (aset vec lc-cns3 "CNS3") - (aset vec lc-cns4 "CNS4") - (aset vec lc-cns5 "CNS5") - (aset vec lc-cns6 "CNS6") - (aset vec lc-cns7 "CNS7") - vec)) - -(defconst cjk-space "\17764\177\177") -(defconst cjk-nospace "\17765\177\177") - -;; here we have the format specification table which defines what to do -;; for each encoding. -(defconst cjk-format-spec-table - (let ((vec (make-vector 256 nil))) - ;; Element is a vector VEC. Each character is formatted as: - ;; (format "\177%s\177" (aref VEC (- char-code 160))) - (aset vec lc-ltn1 cjk-latin-1) - (aset vec lc-ltn2 cjk-latin-2) - (aset vec lc-ltn3 cjk-latin-3) - (aset vec lc-ltn4 cjk-latin-4) - (aset vec lc-ltn5 cjk-latin-5) - (aset vec lc-roman cjk-latin-jisx) - ;; T2A encoding is used for Cyrillic letters. You must explicitly - ;; switch between T2 and T1/OT1 encoding. - (aset vec lc-crl cjk-cyrillic) - ;; LGR encoding (resp. its ligatures) is used for Greek letters. You - ;; must explicitly switch between LGR and T1/OT1 encoding (using - ;; e.g. Babel's `greek' option). - (aset vec lc-grk cjk-greek) - ;; for Vietnamese a Vietnamese TeX-font has to be used which contains - ;; ASCII characters too! You must explicitly switch between Vietnamese - ;; T5 and T1/OT1 encoding. - (aset vec lc-vn-1 cjk-viscii-lower) - (aset vec lc-vn-2 cjk-viscii-upper) - - ;; Element is a cons of header HEAD and formatter FORMAT. HEAD is - ;; printed first, then each character is formatted as: - ;; (format FORMAT char-code-1 char-code-2) - (aset vec lc-kana '("\17770\177\177" . "\177%c\177\177")) - (aset vec lc-jp '("\17766\177\177" . "\177%c\177%d\177")) - (aset vec lc-cn '("\17767\177\177" . "\177%c\177%d\177")) - (aset vec lc-big5-1 '("\17768\177\177" . "\177%c\177%d\177")) - (aset vec lc-big5-2 '("\17768\177\177" . "\177%c\177%d\177")) - (aset vec lc-kr '("\17769\177\177" . "\177%c\177%d\177")) - - ;; Element is a formatter string FORMAT. Each character is - ;; formatted as: - ;; (format FORMAT char-code-1 char-code-2) - (aset vec lc-jp2 "\17772\177JIS2\177\177%d\177%d\177") - (aset vec lc-cns1 "\17772\177CNS1\177\177%d\177%d\177") - (aset vec lc-cns2 "\17772\177CNS2\177\177%d\177%d\177") - (aset vec lc-cns3 "\17772\177CNS3\177\177%d\177%d\177") - (aset vec lc-cns4 "\17772\177CNS4\177\177%d\177%d\177") - (aset vec lc-cns5 "\17772\177CNS5\177\177%d\177%d\177") - (aset vec lc-cns6 "\17772\177CNS6\177\177%d\177%d\177") - (aset vec lc-cns7 "\17772\177CNS7\177\177%d\177%d\177") - vec)) - - -(make-coding-system - '*cjk-coding* 0 ?c - "Coding-system for LaTeX2e CJK Package" 1) - - -(put '*cjk-coding* 'pre-write-conversion 'cjk-encode) - - -(defun cjk-encode (from to) - (save-excursion - (save-restriction - (narrow-to-region from to) - (let ((mc-flag t) - (re-multibyte-char "[\177-\237][\240-\177]+") - (enc (make-vector 256 nil)) - (space-state nil) - (require-cjk-execute nil) - prev-lc lc ch ch1 ch2 format-spec) - (goto-char (point-min)) - (if (null (let (mc-flag) (re-search-forward re-multibyte-char nil t))) - ;; No multilingual text. Nothing to do. - nil - (goto-char (match-beginning 0)) - (setq prev-lc lc-ascii) - (while (not (eobp)) - ;; Now we are at a multibyte character. - ;; Set the following variables: - ;; LC -- leading char - ;; CH1 -- first char code - ;; CH2 -- second char code (of two byte chars) - (setq ch (following-char)) - (delete-char 1) - (setq lc (char-component ch 0)) - (if (or (= lc lc-big5-1) (= lc lc-big5-2)) - ;; Mule has special encoding for Big5 characters. We - ;; must decode them to the normal Big5 codes. - (let ((vec (g2b ch))) - (setq ch1 (aref vec 0) ch2 (aref vec 1))) - (setq ch1 (char-component ch 1) - ch2 (char-component ch 2))) - - ;; FORMAT-SPEC tells how to encode this character. - (setq format-spec (aref cjk-format-spec-table lc)) - (if (null format-spec) - ;; Unsupported character set. - nil - ;; Ok, it is supported. If this character set is one of - ;; CJK, we need a special header at the beginning of the - ;; file. - (if (aset enc lc (aref cjk-enc-table lc)) - (setq require-cjk-execute t)) - - (cond ((consp format-spec) - ;; We may have to insert the car part of the cons - ;; and/or space controlling commands - ;; (cjk-space/cjk-nospace) depending on the current - ;; context. - (if (= lc lc-kr) - (or (eq space-state cjk-space) - (insert (setq space-state cjk-space))) - (or (eq space-state cjk-nospace) - (insert (setq space-state cjk-nospace)))) - (if (/= prev-lc lc) - (insert (car format-spec))) - (insert (format (cdr format-spec) ch1 ch2))) - - ((vectorp format-spec) - (insert (format "\177%s\177" - (aref format-spec (- ch1 160))))) - (t ; FORMAT-SPEC is just a formatting string. - (insert (format format-spec ch1 ch2))))) - - ;; Prepare the next loop. - (setq prev-lc lc) - ;; Skip spaces, etc. - (skip-chars-forward " \t\n") - ;; If there are any ASCII chars, skip them also, but set - ;; PREV-LC to LC-ASCII. - (if (and (< (following-char) 128) - (let (mc-flag) - (re-search-forward re-multibyte-char nil 'move))) - (progn - (goto-char (match-beginning 0)) - (setq prev-lc lc-ascii)))) - - ;; Now, insert an appropriate header at the head of the file. - (goto-char (point-min)) - (if require-cjk-execute - (let ((i 128)) - (insert "\\def\\CJKhook{") - (while (< i 256) - (if (aref enc i) - (insert (format "\\CJKenc{%s}" (aref enc i)))) - (setq i (1+ i))) - (insert "}") - (insert "\\ifx\\CJKpreproc\\undefined") - (insert "\\def\\CJKpreproc{cjk-enc}") - (insert "\\RequirePackage[global]{CJK}") - (insert "\\AtBeginDocument{\\begin{CJK}{}{}\\CJKspace}") - (insert "\\AtEndDocument{\\end{CJK}}") - (insert "\\else\\CJKhook\\fi ")) - (insert "\\ifx\\CJKpreproc\\undefined") - (insert "\\def\\CJKpreproc{cjk-enc}") - (insert "\\RequirePackage{MULEenc}") - (insert "\\fi "))))))) - - -(defun cjk-write-file () - "Save current buffer and .cjk in *cjk-coding*. -Files of the form .bib are saved as -cjk.bib" - - (interactive) - (let ((bufname (buffer-file-name)) - body - extension - newbufname) - (save-buffer) - (string-match "\\(.*\\)\\(\\.[^/]*$\\)" bufname) - (setq body (match-string 1 bufname) - extension (match-string 2 bufname)) - (setq newbufname - (concat body - (if (string-equal extension ".bib") - "-cjk.bib" - ".cjk"))) - (message "Saving %s and %s" bufname newbufname) - (let ((set-file-coding-system *cjk-coding*)) - (write-region (point-min) (point-max) newbufname)))) - - -;;; EOF diff --git a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.c b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.c deleted file mode 100644 index a728991c73..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.c +++ /dev/null @@ -1,480 +0,0 @@ -/* - - This is the file pinyin.c of the CJK macro package ver. 4.8.4 - (18-Apr-2015). - - Use this file to generate a hyphenation input file for patgen. - - Usage: - - pinyin > pinyin.dic - - */ - -/* - Copyright (C) 1994-2015 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 - */ - -#include - - -/* A list of all Chinese syllables. We use latin-1 encoding for the - `umlaut u' character. */ - -char *py[] = -{ - "a", - "ai", - "an", - "ang", - "ao", - "ba", - "bai", - "ban", - "bang", - "bao", - "bei", - "ben", - "beng", - "bi", - "bian", - "biao", - "bie", - "bin", - "bing", - "bo", - "bu", - "ca", - "cai", - "can", - "cang", - "cao", - "ce", - "cen", - "ceng", - "cha", - "chai", - "chan", - "chang", - "chao", - "che", - "chen", - "cheng", - "chi", - "chong", - "chou", - "chu", - "chuai", - "chuan", - "chuang", - "chui", - "chun", - "chuo", - "ci", - "cong", - "cou", - "cu", - "cuan", - "cui", - "cun", - "cuo", - "da", - "dai", - "dan", - "dang", - "dao", - "de", - "dei", - "deng", - "di", - "dian", - "diao", - "die", - "ding", - "diu", - "dong", - "dou", - "du", - "duan", - "dui", - "dun", - "duo", - "e", - "ei", - "en", - "eng", - "er", - "fa", - "fan", - "fang", - "fei", - "fen", - "feng", - "fiao", - "fo", - "fou", - "fu", - "ga", - "gai", - "gan", - "gang", - "gao", - "ge", - "gei", - "gen", - "geng", - "gong", - "gou", - "gu", - "gua", - "guai", - "guan", - "guang", - "gui", - "gun", - "guo", - "ha", - "hai", - "han", - "hang", - "hao", - "he", - "hei", - "hen", - "heng", - "hong", - "hou", - "hu", - "hua", - "huai", - "huan", - "huang", - "hui", - "hun", - "huo", - "ji", - "jia", - "jian", - "jiang", - "jiao", - "jie", - "jin", - "jing", - "jiong", - "jiu", - "ju", - "juan", - "jue", - "jun", - "ka", - "kai", - "kan", - "kang", - "kao", - "ke", - "kei", - "ken", - "keng", - "kong", - "kou", - "ku", - "kua", - "kuai", - "kuan", - "kuang", - "kui", - "kun", - "kuo", - "la", - "lai", - "lan", - "lang", - "lao", - "le", - "lei", - "leng", - "li", - "lia", - "lian", - "liang", - "liao", - "lie", - "lin", - "ling", - "liu", - "long", - "lou", - "lu", - "luan", - "lun", - "luo", - "lü", - "lüe", - "ma", - "mai", - "man", - "mang", - "mao", - "me", - "mei", - "men", - "meng", - "mi", - "mian", - "miao", - "mie", - "min", - "ming", - "miu", - "mo", - "mou", - "mu", - "na", - "nai", - "nan", - "nang", - "nao", - "ne", - "nei", - "nen", - "neng", - "ni", - "nian", - "niang", - "niao", - "nie", - "nin", - "ning", - "niu", - "nong", - "nou", - "nu", - "nuan", - "nuo", - "nü", - "nüe", - "o", - "ou", - "pa", - "pai", - "pan", - "pang", - "pao", - "pei", - "pen", - "peng", - "pi", - "pian", - "piao", - "pie", - "pin", - "ping", - "po", - "pou", - "pu", - "qi", - "qia", - "qian", - "qiang", - "qiao", - "qie", - "qin", - "qing", - "qiong", - "qiu", - "qu", - "quan", - "que", - "qun", - "ran", - "rang", - "rao", - "re", - "ren", - "reng", - "ri", - "rong", - "rou", - "ru", - "ruan", - "rui", - "run", - "ruo", - "sa", - "sai", - "san", - "sang", - "sao", - "se", - "sen", - "seng", - "sha", - "shai", - "shan", - "shang", - "shao", - "she", - "shei", - "shen", - "sheng", - "shi", - "shou", - "shu", - "shua", - "shuai", - "shuan", - "shuang", - "shui", - "shun", - "shuo", - "si", - "song", - "sou", - "su", - "suan", - "sui", - "sun", - "suo", - "ta", - "tai", - "tan", - "tang", - "tao", - "te", - "tei", - "teng", - "ti", - "tian", - "tiao", - "tie", - "ting", - "tong", - "tou", - "tu", - "tuan", - "tui", - "tun", - "tuo", - "wa", - "wai", - "wan", - "wang", - "wei", - "wen", - "weng", - "wo", - "wu", - "xi", - "xia", - "xian", - "xiang", - "xiao", - "xie", - "xin", - "xing", - "xiong", - "xiu", - "xu", - "xuan", - "xue", - "xun", - "ya", - "yan", - "yang", - "yao", - "ye", - "yi", - "yin", - "ying", - "yo", - "yong", - "you", - "yu", - "yuan", - "yue", - "yun", - "za", - "zai", - "zan", - "zang", - "zao", - "ze", - "zei", - "zen", - "zeng", - "zha", - "zhai", - "zhan", - "zhang", - "zhao", - "zhe", - "zhei", - "zhen", - "zheng", - "zhi", - "zhong", - "zhou", - "zhu", - "zhua", - "zhuai", - "zhuan", - "zhuang", - "zhui", - "zhun", - "zhuo", - "zi", - "zong", - "zou", - "zu", - "zuan", - "zui", - "zun", - "zuo" -}; - - -int main(void) -{ - int i, j, off; - size_t size = sizeof (py) / sizeof (char*); - char s[20]; - - /* Now we loop through all possible syllable combinations. */ - - for (i = 0; i < size; i++) - for (j = 0; j < size; j++) - { - /* The seldom used `%n' construct yields the number of processed - characters so far. */ - - sprintf(s, "%s%n%s", py[i], &off, py[j]); - - /* We check the first character of the second syllable. If it is - a vowel, a quote will be inserted. Example: Tian'anmen. */ - - if (s[off] == 'a' || s[off] == 'e' || s[off] == 'o') - printf("%s'-%s\n", py[i], py[j]); - - /* No special case. */ - - else - printf("%s-%s\n", py[i], py[j]); - } - - return 0; -} diff --git a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.ldf b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.ldf deleted file mode 100644 index 9fbe8e4fa9..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.ldf +++ /dev/null @@ -1,62 +0,0 @@ -% This is the file pinyin.ldf of the CJK package -% for hyphenating Chinese pinyin syllables. -% -% 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.4 (18-Apr-2015) - -% Copyright (C) 1994-2015 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.4 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/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.tr b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.tr deleted file mode 100644 index 8002b91033..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pinyin.tr +++ /dev/null @@ -1,52 +0,0 @@ - 1 1 -%% This is the file pinyin.tr of the CJK package -%% defining the letters used for generating pinyin hyphenation patterns -%% with patgen. -% -%% created by Werner Lemberg -%% -%% Version 4.8.4 (18-Apr-2015) -%% -%% Copyright (C) 1994-2015 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 - a A - b B - c C - d D - e E - f F - g G - h H - i I - j J - k K - l L - m M - n N - o O - p P - q Q - r R - s S - t T - u U - ü Ü - w W - x X - y Y - z Z - ' diff --git a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pyhyph.tex b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pyhyph.tex deleted file mode 100644 index f118f42001..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pyhyph.tex +++ /dev/null @@ -1,236 +0,0 @@ -% 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, -% the quote character "'" is used in its standard sense (resolving syllabic -% ambiguities). -% -% created by Werner Lemberg -% -% Version 4.8.4 (18-Apr-2015) - -% Copyright (C) 1994-2015 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 - -\message{Hyphenation patterns for unaccented pinyin syllables (CJK 4.8.4)} - -\begingroup - -\catcode"0FC = 11 % umlaut u -\catcode"027 = 11 % quote (') -\lccode"0FC = "0FC -\lccode"027 = "027 - -\patterns{ -a1b -a1c -a1d -a1f -a1g -a1h -a1j -a1k -a1l -a1m -a1p -a1q -a1r -a1s -a1t -a1w -a1x -a1y -a1z -e1b -e1c -e1d -e1f -e1g -e1h -e1j -e1k -e1l -e1m -e1p -e1q -e1s -e1t -e1w -e1x -e1y -e1z -1ga -g1b -g1c -g1d -1ge -g1f -g1g -g1h -g1j -g1k -g1l -g1m -g1n -1go -g1p -g1q -g1r -g1s -g1t -1gu -g1w -g1x -g1y -g1z -i1b -i1c -i1d -i1f -i1g -i1h -i1j -i1k -i1l -i1m -i1p -i1q -i1r -i1s -i1t -i1w -i1x -i1y -i1z -1na -n1b -n1c -n1d -1ne -n1f -n1h -1ni -n1j -n1k -n1l -n1m -n1n -1no -n1p -n1q -n1r -n1s -n1t -1nu -1n^^fc -n1w -n1x -n1y -n1z -o1b -o1c -o1d -o1f -o1g -o1h -o1j -o1k -o1l -o1m -o1p -o1q -o1r -o1s -o1t -o1w -o1x -o1y -o1z -1ra -r1b -r1c -r1d -1re -r1f -r1g -r1h -1ri -r1j -r1k -r1l -r1m -r1n -1ro -r1p -r1q -r1r -r1s -r1t -1ru -r1w -r1x -r1y -r1z -u1b -u1c -u1d -u1f -u1g -u1h -u1j -u1k -u1l -u1m -u1p -u1q -u1r -u1s -u1t -u1w -u1x -u1y -u1z -^^fc1b -^^fc1c -^^fc1d -^^fc1f -^^fc1g -^^fc1h -^^fc1j -^^fc1k -^^fc1l -^^fc1m -^^fc1n -^^fc1p -^^fc1q -^^fc1r -^^fc1s -^^fc1t -^^fc1w -^^fc1x -^^fc1y -^^fc1z -'1a -'1e -'1o -} -\endgroup - -\lefthyphenmin 1 -\righthyphenmin 1 - -\endinput diff --git a/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pytest.tex b/language/chinese/CJK/cjk-4.8.4/utils/pyhyphen/pytest.tex deleted file mode 100644 index adf37d3c32..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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.4 (18-Apr-2015) -% -%% -%% 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/language/chinese/CJK/cjk-4.8.4/utils/subfonts/clonevf.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/clonevf.pl deleted file mode 100644 index ab345b00cb..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/clonevf.pl +++ /dev/null @@ -1,122 +0,0 @@ -#! /usr/bin/perl -w -# -# This script clones a virtual font from a TFM file. -# -# As prerequisites, it needs the programs `tftopl' and `vptovf', which must -# be in the path. -# -# Call the script as -# -# perl clonevf.pl tfm-name vf-name -# -# Example: -# -# perl clonevf.pl bsmiuv bsmilpv - -# Copyright (C) 1994-2015 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 - -use strict; - -my $prog = $0; -$prog =~ s@.*/@@; - -if ($#ARGV != 1) { - die("usage: $prog tfm-name vf-name\n"); -} - -my $tfmname = $ARGV[0]; -my $vfname = $ARGV[1]; - - -# Create PL file. - -print("Processing metrics file \`$tfmname.tfm'...\n"); - -my $arg = "tftopl $tfmname.tfm > $tfmname.pl"; -system($arg) == 0 -|| die("$prog: calling \`$arg' failed: $?\n"); - - -# Create VPL file. - -print("Writing virtual property list file \`$vfname.vpl'...\n"); - -open(PL, "$tfmname.pl") -|| die("$prog: can't open \`$tfmname.pl': $!\n"); - -open(VPL, ">", "$vfname.vpl") -|| die("$prog: can't open \`$vfname.vpl': $!\n"); - -print(VPL "(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n"); -print(VPL "(FAMILY TEX-\U$vfname\E)\n"); - -my $have_mapfont = 0; -while () { - next if /^\(FAMILY/; - next if /^\(CHECKSUM/; - - if (/^\(CHARACTER (.*)/) { - if (!$have_mapfont) { - print(VPL "(MAPFONT D 0\n"); - print(VPL " (FONTNAME $tfmname)\n"); - print(VPL " )\n"); - $have_mapfont = 1; - } - - my $char = $1; - - print(VPL $_); - - $_ = ; - if (/CHARWD/) { - print(VPL $_); - $_ = ; - } - if (/CHARHT/) { - print(VPL $_); - $_ = ; - } - if (/CHARDP/) { - print(VPL $_); - $_ = ; - } - - print(VPL " (MAP\n"); - print(VPL " (SELECTFONT D 0)\n"); - print(VPL " (SETCHAR $char)\n"); - print(VPL " )\n"); - } - - print(VPL $_); -} - -close(PL); -close(VPL); - -print("Processing \`$vfname.vpl'\n"); -$arg = "vptovf $vfname.vpl"; -system($arg) == 0 -|| die("$prog: calling \`$arg' failed: $?\n"); - -print("Removing \`$tfmname.pl'...\n"); -unlink("$tfmname.pl"); -print("Removing \`$vfname.vpl'...\n"); -unlink("$vfname.vpl"); - - -# eof diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/hlatex2agl.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/hlatex2agl.pl deleted file mode 100644 index 22ca69446a..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/hlatex2agl.pl +++ /dev/null @@ -1,477 +0,0 @@ -#! /usr/bin/perl -w -# -# This script adds AGL compliant glyph names to fonts from the HLaTeX -# package version 0.97 or newer. Note that only glyphs actually used in the -# (virtual) HLaTeX subfonts get new names; additionally, the used glyph -# shapes in the HLaTeX fonts aren't always correct -- consider this script -# as an auxiliary means, not a definitive solution. At least the Hangul and -# Hanja shapes are correct. -# -# As prerequisites, it needs the programs `t1asm' and `t1disasm' (from the -# t1utils package) and `vftovp' which must be in the path. The subfont -# definition file `UKS-HLaTeX.sfd' (from the ttf2pk package) and the file -# -# http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt -# -# are necessary also. -# -# Call the script as -# -# perl hlatex2agl.pl virtual-namestem real-namestem sfd-file -# -# `virtual-namestem' specifies the name stem of the virtual subfonts -# directly used by LaTeX; both the VF and TFM files are needed. -# `real-namestem' gives the name stem of the real subfonts used by the -# virtual fonts; TFM, AFM, and PFB files are needed. -# -# Example: -# -# perl hlatex2agl.pl wmj umj UKS-HLaTeX.sfd - -# Copyright (C) 1994-2015 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 - -use strict; - -my $prog = $0; -$prog =~ s@.*/@@; - -if ($#ARGV != 2) { - die("usage: $prog virtual-namestem real-namestem sfd-file\n"); -} - -my $virtnamestem = $ARGV[0]; -my $realnamestem = $ARGV[1]; -my $sfdfile = $ARGV[2]; - - -# Read UKS-HLaTeX.sfd. - -my @sfd; -my @virtsubfonts; - -read_sfdfile($sfdfile, \@sfd, \@virtsubfonts); - - -# Read AGL file. - -my %agl; - -read_aglfile("aglfn13.txt", \%agl); - - -# Read VF files. - -my %vpl; -my %subfonts; - -for my $suffix (@virtsubfonts) { - read_vffile("$virtnamestem$suffix.vf", $suffix, \%vpl, \%subfonts); -} - - -# Decompose all Hangul syllables. - -my @hangul; - -decompose_hangul(\@hangul); - - -# Build glyph names. - -my %names; - -build_glyphnames(\%names); - - -# Process AFM files. - -foreach my $suffix (sort (keys %subfonts)) { - process_afmfile("$realnamestem$suffix.afm", $suffix); -} - - -# Process PFB files. - -foreach my $suffix (sort (keys %subfonts)) { - process_pfbfile("$realnamestem$suffix.pfb", $suffix); -} - - -# Read an SFD file. -# -# $1: Name of the SFD file. -# $2: Reference to the target array, mapping from Unicode to the subfont. -# The format of the array values is the concatenation of the subfont -# suffix, a space, and the index. -# $3: Reference to a target array which holds the subfont suffixes. - -sub read_sfdfile { - my ($sfdfile, $sfdarray, $subarray) = @_; - - print("Reading subfont definition file \`$sfdfile'...\n"); - - open(SFD, $sfdfile) - || die("$prog: can't open \`$sfdfile': $!\n"); - - my $line; - my $continuation = 0; - while () { - chop; - - next if /^\s*$/; - next if /^#/; - - if ($continuation) { - $line .= $_; - } - else { - $line = $_; - } - $continuation = 0; - - if ($line =~ s/\\$//) { - $continuation = 1; - next; - } - - $_ = $line; - my @field = split(" "); - - my $suffix = $field[0]; - push(@{$subarray}, $suffix); - - shift(@field); - my $index = 0; - - while (@field) { - if ($field[0] =~ /(.*):$/) { - $index = $1; - } - elsif ($field[0] =~ /(.*)_(.*)/) { - my $start = $1; - my $end = $2; - $start = oct($start) if ($start =~ /^0/); - $end = oct($end) if ($end =~ /^0/); - foreach my $i ($start .. $end) { - $sfdarray->[$i] = "$suffix $index"; - $index++; - } - } - else { - my $value = $field[0]; - $value = oct($value) if ($value =~ /^0/); - $sfdarray->[$value] = "$suffix $index"; - $index++; - } - shift(@field); - } - } - close(SFD); -} - - -# Read an AGL file. -# -# $1: Name of the AGL file. -# $2: Reference to the target hash file, mapping from the Unicode value -# to the glyph name. - -sub read_aglfile { - my ($aglfile, $aglhash) = @_; - - print("Reading Adobe Glyph List file \`$aglfile'...\n"); - - open(AGL, $aglfile) - || die("$prog: can't open \`$aglfile': $!\n"); - - while () { - chop; - - next if /^\s*$/; - next if /^#/; - - my @field = split(";"); - $aglhash->{hex($field[0])} = $field[1]; - } - close(AGL); -} - - -# Read a VF file. -# -# $1: Name of the VF file. -# $2: Subfont suffix. -# $3: Reference to a target hash, mapping from the virtual subfont to the -# real subfonts. The format of the key is the concatenation of the -# subfont suffix, a space, and the index. The format of the hash value -# is ` [, [,...]]'. -# $4: Reference to a target hash, collecting the suffixes of the real -# subfonts. - -sub read_vffile { - my ($vffile, $vfsuffix, $vplhash, $subfonthash) = @_; - my $vplfile = "$vffile.vpl"; - - print("Creating virtual property list file \`$vplfile'...\n"); - my $arg = "vftovp -charcode-format=octal $vffile > $vplfile"; - system("$arg") == 0 - || die("$prog: calling \`$arg' failed: $?"); - - print("Reading \`$vplfile'...\n"); - open(VPL, $vplfile) - || die("$prog: can't open \`$vplfile': $!\n"); - - my @subfonts; - my $subindex; - my $index; - my $currfont; - my $map = ""; - - while () { - if (/\(MAPFONT D ([0-9]+)/) { - $subindex = $1; - } - elsif (/\(FONTNAME $realnamestem(.*?)\)/) { - $subfonts[$subindex] = $1; - if (!defined ($subfonthash->{$1})) { - $subfonthash->{$1} = 1; - } - } - elsif (/\(CHARACTER O ([0-7]+)/) { - # Save data from previous CHARACTER block. - $vplhash->{"$vfsuffix $index"} = $map if ($map); - - # Reset variables. - $index = oct($1); - $currfont = 0; - $map = ""; - } - elsif (/\(SELECTFONT D ([0-9]+)\)/) { - $currfont = $1; - } - elsif (/\(SETCHAR O ([0-7]+)\)/) { - $map .= "," if ($map); - $map .= "$subfonts[$currfont] " . oct($1); - } - } - - # Save data from last CHARACTER block. - $vplhash->{"$vfsuffix $index"} = $map if ($map); - - close(VPL); - unlink($vplfile); -} - - -# Decompose all Unicode Hangul syllables into Jamo elements. -# -# $1: The target array, mapping from Unicode value to a list of Jamos (in -# Unicode), separated by commata. -# -# This follows the algorithm given in the Unicode standard. - -sub decompose_hangul { - my ($hangularray) = @_; - - my $s_base = 0xAC00; - my $l_base = 0x1100; - my $v_base = 0x1161; - my $t_base = 0x11A7; - - my $s_count = 11172; - my $l_count = 19; - my $v_count = 21; - my $t_count = 28; - - my $n_count = $v_count * $t_count; - - for my $s ($s_base .. ($s_base + $s_count - 1)) { - my $s_index = $s - $s_base; - - my $l = $l_base + int($s_index / $n_count); - my $v = $v_base + int(($s_index % $n_count) / $t_count); - my $t = $t_base + $s_index % $t_count; - - my $jamos = "$l,$v"; - $jamos .= ",$t" if ($t != $t_base); - $hangularray->[$s] = $jamos; - } -} - - -# Build glyph names. -# -# $1: The target hash which maps from real subfonts to glyph names. Keys -# are of the form ` ', hash values are AGL compliant -# glyph names. Glyph variants get a trailing suffix of the form `.N', -# where is is a running number starting with 1. Example: `uni1100.24'. - -sub build_glyphnames { - my ($nameshash) = @_; - - my @entries; - - foreach my $unicode (0 .. 0xFFFF) { - next if !defined ($sfd[$unicode]); - - my $virtdata = $sfd[$unicode]; - - # We assume that only Hangul syllables are composed of more than - # a single element. - if (defined ($hangul[$unicode])) { - my @unijamos = split(",", $hangul[$unicode]); - my @jamos = split(",", $vpl{$virtdata}); - - foreach my $i (0 .. $#jamos) { - if (!defined ($nameshash->{$jamos[$i]})) { - if (defined ($entries[$unijamos[$i]])) { - $nameshash->{$jamos[$i]} = sprintf("uni%04X.%d", - $unijamos[$i], - $entries[$unijamos[$i]]); - $entries[$unijamos[$i]] += 1; - } - else { - $nameshash->{$jamos[$i]} = sprintf("uni%04X", $unijamos[$i]); - $entries[$unijamos[$i]] = 1; - } - } - } - } - else { - if (defined ($agl{$unicode})) { - $nameshash->{$vpl{$virtdata}} = $agl{$unicode}; - } - else { - $nameshash->{$vpl{$virtdata}} = sprintf("uni%04X", $unicode); - } - } - } -} - - -# Process AFM file. -# -# $1: Name of the AFM file to process. The file is first saved, then all -# glyph names are replaced for which an AGL compliant glyph name is -# known. -# $2: The suffix. - -sub process_afmfile { - my ($afmfile, $sub) = @_; - - print("Processing \`$afmfile'...\n"); - - if (!-f $afmfile) { - die("$prog: \`$afmfile' doesn't exist\n"); - } - - rename($afmfile, "$afmfile.old"); - - open(INFILE, "$afmfile.old") - || die("$prog: can't open \`$afmfile.old': $!\n"); - open(OUTFILE, ">", "$afmfile") - || die("$prog: can't open \`$afmfile': $!\n"); - - while () { - # Replace the `kxx' entries. - if (/ N k(.*?) ;/) { - my $index = hex($1); - if (defined ($names{"$sub $index"})) { - s/ N .*? ;/ N $names{"$sub $index"} ;/; - } - } - - # Update version number. - s/001\.000/001.001/; - s/Altsys\ Fontographer\ 4\.1\ 1\/10\/95$/001.001/; - - print(OUTFILE $_); - - # Add comment. - if (/^Comment\ UniqueID/ || /^Comment\ Generated/) { - print(OUTFILE "Comment AGL compliant glyph names added " - . "by script $prog 2005-Jul-27.\n"); - } - } - - close(INFILE); - close(OUTFILE); -} - - -# Process PFB file. -# -# $1: Name of the PFB file to process. The file is first saved, then all -# glyph names are replaced for which an AGL compliant glyph name is -# known. -# $2: The suffix. - -sub process_pfbfile { - my ($pfbfile, $sub) = @_; - my $arg; - - print("Processing \`$pfbfile'...\n"); - - if (!-f $pfbfile) { - die("$prog: \`$pfbfile' doesn't exist\n"); - } - - rename($pfbfile, "$pfbfile.old"); - - $arg = "t1disasm < $pfbfile.old > $pfbfile.disasm.old"; - system("$arg") == 0 - || die("$prog: calling \`$arg' failed: $?"); - - open(INFILE, "$pfbfile.disasm.old") - || die("$prog: can't open \`$pfbfile.disasm.old': $!\n"); - open(OUTFILE, ">", "$pfbfile.disasm") - || die("$prog: can't open \`$pfbfile.disasm': $!\n"); - - while () { - # Replace the `kxx' entries. - if (m@/k(.*?) @) { - my $index = hex($1); - if (defined ($names{"$sub $index"})) { - s@/k.*? @/$names{"$sub $index"} @; - } - } - - # Update version number. - s/001\.000/001.001/; - - print(OUTFILE $_); - - # Add comment. - if (/^%%CreationDate/) { - print(OUTFILE "% AGL compliant glyph names added " - . "by script $prog 2005-Jul-27.\n"); - } - } - - close(INFILE); - close(OUTFILE); - - $arg = "t1asm < $pfbfile.disasm > $pfbfile"; - system("$arg") == 0 - || die("$prog: calling \`$arg' failed: $?"); - - unlink("$pfbfile.disasm.old", "$pfbfile.disasm"); -} - - -# eof diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/makefdx.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/makefdx.pl deleted file mode 100644 index bed1c4b857..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/makefdx.pl +++ /dev/null @@ -1,340 +0,0 @@ -#! /usr/bin/perl -w -# -# This script creates proper entries for an FDX file as used by the CJK -# package for LaTeX. -# -# As a prerequisite, it needs the file -# -# http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt -# -# which must be located in the current directory. -# -# Call the script as -# -# perl [-u] makefdx.pl vertref-afm-file sfd-file encoding font-name -# -# `vertref-afm-file' is an AFM file as produced by the script `vertref.pe'. -# The subfont definition file `sfd-file' gives the subfont scheme to get the -# proper entries in the FDX file. `encoding' and `font-name' are TeX font -# parameters as used by the CJK package; the scripts uses the concatenation -# of those two values as the name of the FDX file (with suffix `.fdx'). -# -# The switch `-u' makes the script add a macro to the FDX file (which is -# used by the CJKutf8.sty) to provide a proper /ToUnicode cmap to pdftex. -# -# Note that the created FDX file has to be completed manually. -# -# Examples: -# -# perl makefdx.pl bsmiuvr.afm UBig5.sfd c00 bsmi -# -# The result of this call is the file `c00bsmi.fdx' (you get some warnings -# because not all glyphs contained in bsmiuvr.afm can be accessed with Big5 -# encoding). -# -# perl makefdx.pl -u bsmiuvr.afm Unicode.sfd c70 bsmi -# -# The result of this call is the file `c70bsmi.fdx'. -# -# A collection of useful subfont definition files for CJK fonts can be found -# in the ttf2pk package. - -# Copyright (C) 1994-2015 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 - -use strict; - -my $prog = $0; -$prog =~ s@.*/@@; - -my $is_unicode = 0; -if ($ARGV[0] eq "-u") { - $is_unicode = 1; - shift @ARGV; -} - -if ($#ARGV != 3) { - die("usage: $prog [-u] vertref-afm-file sfd-file encoding font-name\n"); -} - -my $vertrefafmfile = $ARGV[0]; -my $sfdfile = $ARGV[1]; -my $encoding = $ARGV[2]; -my $fontname = $ARGV[3]; - -my $fdxfile = $encoding . $fontname . ".fdx"; - -# Read AGL file. - -my %agl; - -read_aglfile("aglfn13.txt", \%agl); - - -# Read AFM file. - -my @vertref; - -read_afmfile($vertrefafmfile, \@vertref); - - -# Read subfont definition file. - -my @sfd; - -read_sfdfile($sfdfile, \@sfd); - - -# Write FDX file. - -print("Writing extended font definition file \`$fdxfile'...\n"); - -open(FDX, ">", $fdxfile) -|| die("$prog: can't open \`$fdxfile': $!\n"); -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.4 (18-Apr-2015). - -\\def\\fileversion{4.8.4} -\\def\\filedate{2015/04/18} -\\ProvidesFile{$fdxfile}[\\filedate\\space\\fileversion] - -\\CJKvdef{fullheight}{1em} -\\CJKvdef{height}{.88em} -\\CJKvdef{offset}{.6em} - -% Uncomment if necessary. -%\\CJKvdef{norotate}{} -"); - -my @unicodes; -my $mapping_count = 0; - -foreach my $index (0 .. $#vertref) { - my $glyphnameref = $vertref[$index]; - my $unicode; - - if (defined ($agl{$glyphnameref})) { - $unicode = $agl{$glyphnameref}; - } - elsif ($glyphnameref =~ /^uni([0-9A-F]{4})$/) { - $unicode = hex($1); - } - elsif ($glyphnameref =~ /^u([0-9A-F]{4,6})$/) { - $unicode = hex($1); - } - else { - $unicode = -1; - } - if ($unicode == -1 - || ($unicode >= 0xD800 && $unicode <= 0xDFFF) - || $unicode > 0x10FFFF) { - print(STDERR "Can't map glyph name \`$glyphnameref' to Unicode.\n"); - $unicodes[$index] = -1; - next; - } - $unicodes[$index] = $unicode; - - my $sfdentry; - - if (defined ($sfd[$unicode])) { - $sfdentry = $sfd[$unicode]; - } - else { - $unicodes[$index] = -1; - printf(STDERR "\`%s' (U+%04X) not in subfont encoding\n", - $glyphnameref, $unicode); - next; - } - - $mapping_count++; - - print("\\CJKvdef{m/n/$sfdentry}"); - print("{\\def\\CJK\@plane{v}\\selectfont\\CJKsymbol{$index}}\n"); - print("\\CJKvlet{bx/n/$sfdentry}"); - print("{m/n/$sfdentry}\n"); -} - -if ($is_unicode) { - print(" -\\gdef\\CJK\@cmap\@${fontname}v{ - \\expandafter\\ifx\\csname CJK\@CMap\@${fontname}v\\endcsname \\relax - \\immediate\\pdfobj stream { - /CIDInit\\space/ProcSet\\space findresource\\space begin\\space - 12\\space dict\\space begin\\space - begincmap\\space - /CIDSystemInfo\\space <<\\space - /Registry\\space (TeX)\\space - /Ordering\\space (${fontname}v)\\space - /Supplement\\space 0\\space >>\\space def\\space - /CMapName\\space /TeX-${fontname}v-0\\space def\\space - 1\\space begincodespacerange\\space - <00>\\space \\space - endcodespacerange\\space - $mapping_count\\space beginbfchar\\space -"); - - foreach my $index (0 .. $#vertref) { - if ($unicodes[$index] != -1) { - printf(" <%02X>\\space <%04X>\\space\n", - $index, $unicodes[$index]); - } - } - - print(" endbfchar\\space - endcmap\\space - CMapName\\space currentdict\\space /CMap\\space defineresource\\space - pop\\space - end\\space - end\\space} - \\expandafter\\xdef\\csname CJK\@CMap\@${fontname}v\\endcsname{ - \\the\\pdflastobj} - \\fi - \\pdffontattr\\font\@name{ - /ToUnicode\\space\\csname CJK\@CMap\@${fontname}v\\endcsname\\space 0\\space R} -} - -\\endinput -"); -} - - -# Read an AGL file. -# -# $1: Name of the AGL file. -# $2: Reference to the target hash file, mapping from the glyph name -# to the Unicode value. - -sub read_aglfile { - my ($aglfile, $aglhash) = @_; - - print("Reading Adobe Glyph List file \`$aglfile'...\n"); - - open(AGL, $aglfile) - || die("$prog: can't open \`$aglfile': $!\n"); - - while () { - chop; - - next if /^\s*$/; - next if /^#/; - - my @field = split(";"); - $aglhash->{$field[1]} = hex($field[0]); - } - close(AGL); -} - - -# Read an SFD file. -# -# $1: Name of the SFD file. -# $2: Reference to the target array file, mapping from the character code -# to the subfont index. The format of an array value is the -# concatenation of the subfont suffix, a slash, and the index. - -sub read_sfdfile { - my ($sfdfile, $sfdarray) = @_; - - print("Reading subfont definition file \`$sfdfile'...\n"); - - open(SFD, $sfdfile) - || die("$prog: can't open \`$sfdfile': $!\n"); - - my $line; - my $continuation = 0; - while () { - chop; - - next if /^\s*$/; - next if /^#/; - - if ($continuation) { - $line .= $_; - } - else { - $line = $_; - } - $continuation = 0; - - if ($line =~ s/\\$//) { - $continuation = 1; - next; - } - - $_ = $line; - my @field = split(" "); - - my $suffix = $field[0]; - - shift(@field); - my $index = 0; - - while (@field) { - if ($field[0] =~ /(.*):$/) { - $index = $1; - } - elsif ($field[0] =~ /(.*)_(.*)/) { - my $start = $1; - my $end = $2; - $start = oct($start) if ($start =~ /^0/); - $end = oct($end) if ($end =~ /^0/); - foreach my $i ($start .. $end) { - $sfdarray->[$i] = "$suffix/$index"; - $index++; - } - } - else { - my $value = $field[0]; - $value = oct($value) if ($value =~ /^0/); - $sfdarray->[$value] = "$suffix/$index"; - $index++; - } - shift(@field); - } - } - close(SFD); -} - - -# Read an AFM file. -# -# $1: Name of the AFM file. -# $2: Reference to array which maps glyph indices to glyph names. - -sub read_afmfile { - my ($afmfile, $maparray) = @_; - - print("Reading metrics file \`$afmfile'\n"); - - open(AFM, $afmfile) - || die("$prog: can't open \`$afmfile': $!\n"); - - while () { - if (/^C \d+ ;/) { - / N (.*?) ;/; - push (@$maparray, $1); - } - } - close(AFM); -} - - -# eof diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/sfd2uni.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/sfd2uni.pl deleted file mode 100644 index a82a3cb10f..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/sfd2uni.pl +++ /dev/null @@ -1,348 +0,0 @@ -#! /usr/bin/perl -w -# -# This script creates virtual subfonts in Unicode encoding for a font -# encoding given by a subfont definition file (which must use Unicode -# code points). -# -# As prerequisites it needs the programs `tftopl' and `vptovf' which must be -# in the path. -# -# Call the script as -# -# perl sfd2uni.pl sfd-file namestem uni-namestem codingscheme -# -# `sfd-file' is the subfont definition file, `namestem' is the name stem -# of the subfonts defined in `sfd-file', and `uni-namestem' holds the prefix -# for the Unicode subfonts. `codingscheme' (converted to uppercase) is used -# for the CODINGSCHEME parameter in the resulting TFM files. -# -# `sfd2uni.pl' reads all TFM files from the font family with name stem -# `namestem'. -# -# Example: -# -# perl sfd2uni.pl UKS-HLaTeX.sfd wmj uwmj HLATEX -# -# A collection of useful subfont definition files for CJK fonts can be found -# in the ttf2pk package. - -# Copyright (C) 1994-2015 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 - -use strict; - -my $prog = $0; -$prog =~ s@.*/@@; - -if ($#ARGV != 3) { - die("usage: $prog sfd-file namestem uni-namestem codingscheme\n"); -} - -my $sfdfile = $ARGV[0]; -my $namestem = $ARGV[1]; -my $uninamestem = $ARGV[2]; -my $codingscheme = $ARGV[3]; - - -# Read subfont definition file. - -my %sfd; -my @subfonts; - -read_sfdfile($sfdfile, \%sfd, \@subfonts); - - -# Read TFM files. - -my @unicmetrics; - -foreach my $sub (@subfonts) { - my $tfmname = "$namestem$sub.tfm"; - - read_tfmfile($tfmname, \@unicmetrics, \%sfd, $sub); -} - - -# Read FONTDIMEN block. - -my $fontdimen = read_fontdimen("$namestem$subfonts[0].tfm"); - - -# Write VPL files. - -my $index = 0; -foreach my $i (0 .. 255) { - my @entries; - - foreach my $j (0 .. 255) { - if (defined ($unicmetrics[$index])) { - push(@entries, "$j $unicmetrics[$index]"); - } - $index++; - } - - if ($#entries >= 0) { - write_vplfile($uninamestem . sprintf("%02x.vpl", $i), \@entries); - } -} - - -# Generate VF and TFM files, then remove the VPL files. - -my @vplfiles = glob("$uninamestem*.vpl"); -foreach my $vplfile (@vplfiles) { - print("Processing \`$vplfile'...\n"); - my $arg = "vptovf $vplfile"; - system($arg) == 0 - || die("$prog: calling \`$arg' failed: $?");; - print("Removing \`$vplfile'...\n"); - unlink($vplfile); -} - - -# Read an SFD file. -# -# $1: Name of the SFD file. -# $2: Reference to the target hash file, mapping from the subfont index to -# the character code. The format of the key value is the concatenation -# of the subfont suffix, a space, and the index. -# $3: Reference to a target array which holds the subfont suffixes. - -sub read_sfdfile { - my ($sfdfile, $sfdhash, $sfdarray) = @_; - - print("Reading subfont definition file \`$sfdfile'...\n"); - - open(SFD, $sfdfile) - || die("$prog: can't open \`$sfdfile': $!\n"); - - my $line; - my $continuation = 0; - while () { - chop; - - next if /^\s*$/; - next if /^#/; - - if ($continuation) { - $line .= $_; - } - else { - $line = $_; - } - $continuation = 0; - - if ($line =~ s/\\$//) { - $continuation = 1; - next; - } - - $_ = $line; - my @field = split(" "); - - my $suffix = $field[0]; - push(@{$sfdarray}, $suffix); - - shift(@field); - my $index = 0; - - while (@field) { - if ($field[0] =~ /(.*):$/) { - $index = $1; - } - elsif ($field[0] =~ /(.*)_(.*)/) { - my $start = $1; - my $end = $2; - $start = oct($start) if ($start =~ /^0/); - $end = oct($end) if ($end =~ /^0/); - foreach my $i ($start .. $end) { - $sfdhash->{"$suffix $index"} = $i; - $index++; - } - } - else { - my $value = $field[0]; - $value = oct($value) if ($value =~ /^0/); - $sfdhash->{"$suffix $index"} = $value; - $index++; - } - shift(@field); - } - } - close(SFD); -} - - -# Read TFM file. -# -# $1: Name of the TFM file. -# $2: Reference to the target array holding metric information in the form -# ` '. -# $3: Reference to a hash created by `read_sfdfile'. -# $4: Subfont suffix. - -sub read_tfmfile { - my ($tfmfile, $unicarray, $sfdhash, $sub) = @_; - - print("Processing metrics file \`$tfmfile'...\n"); - my $arg = "tftopl $tfmfile > $tfmfile.pl"; - system($arg) == 0 - || die("$prog: calling \`$arg' failed: $?\n"); - - print("Reading property list file \`$tfmfile.pl'...\n"); - open(PL, "$tfmfile.pl") - || die("$prog: can't open \`$tfmfile.pl': $!\n"); - - while () { - my $index; - if (/^\(CHARACTER O (\d+)/) { - $index = oct($1); - } - elsif (/^\(CHARACTER C (.)/) { - $index = ord($1); - } - else { - next; - } - - my $wd = "0"; - my $ht = "0"; - my $dp = "0"; - - $_ = ; - if (/\(CHARWD R (.*)\)/) { - $wd = "$1"; - $_ = ; - } - if (/\(CHARHT R (.*)\)/) { - $ht = "$1"; - $_ = ; - } - if (/\(CHARDP R (.*)\)/) { - $dp = "$1"; - } - - if (defined ($sfdhash->{"$sub $index"})) { - $unicarray->[$sfdhash->{"$sub $index"}] = "$sub $index $wd $ht $dp"; - } - } - close(PL); - print("Removing \`$tfmfile.pl'...\n"); - unlink("$tfmfile.pl"); -} - - -# Read FONTDIMEN block of a TFM file. -# -# $1: Name of the TFM file. -# -# Return the block as a string. - -sub read_fontdimen { - my ($tfmfile) = @_; - - print("Processing metrics file \`$tfmfile'...\n"); - my $arg = "tftopl $tfmfile > $tfmfile.pl"; - system($arg) == 0 - || die("$prog: calling \`$arg' failed: $?\n"); - - print("Reading property list file \`$tfmfile.pl'...\n"); - open(PL, "$tfmfile.pl") - || die("$prog: can't open \`$tfmfile.pl': $!\n"); - - my $s = ""; - my $have_fontdimen = 0; - - while () { - if (/^\(FONTDIMEN/) { - $have_fontdimen = 1; - } - - if ($have_fontdimen) { - $s .= $_; - - last if (/^ \)/); - } - } - - close(PL); - print("Removing \`$tfmfile.pl'...\n"); - unlink("$tfmfile.pl"); - - return $s; -} - - -# Write VPL file. -# -# $1: Name of the VPL file. -# $2: Reference to list which holds the font entries. An entry has the -# form ` '. - -sub write_vplfile { - my ($vplfile, $metricsarray) = @_; - - my %subfonts; - my $subcount = 0; - - foreach my $entry (@{$metricsarray}) { - my @field = split(" ", $entry); - my $subfont = $field[1]; - if (!defined ($subfonts{$subfont})) { - $subfonts{$subfont} = $subcount; - $subcount++; - } - } - - print("Writing virtual property list file \`$vplfile'...\n"); - - open(VPL, ">", $vplfile) - || die("$prog: can't open \`$vplfile': $!\n"); - my $oldfh = select(VPL); - - print("(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n"); - print("(FAMILY TEX-\U$uninamestem\E)\n"); - print("(CODINGSCHEME \U$codingscheme\E)\n"); - print $fontdimen; - - foreach my $subfont - (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) { - print("(MAPFONT D $subfonts{$subfont}\n"); - print(" (FONTNAME $namestem$subfont)\n"); - print(" )\n"); - } - - foreach my $entry (@{$metricsarray}) { - my ($index, $subnumber, $subindex, $wd, $ht, $dp) = split(" ", $entry); - - print("(CHARACTER D $index\n"); - print(" (CHARWD R $wd)\n"); - print(" (CHARHT R $ht)\n"); - print(" (CHARDP R $dp)\n"); - print(" (MAP\n"); - print(" (SELECTFONT D $subfonts{$subnumber})\n"); - print(" (SETCHAR D $subindex)\n"); - print(" )\n"); - print(" )\n"); - } - - close(VPL); - select($oldfh); -} - - -# eof diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/subfonts.pe b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/subfonts.pe deleted file mode 100644 index feb9d3a56c..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/subfonts.pe +++ /dev/null @@ -1,95 +0,0 @@ -# Generate CJK subfonts from master font. -# The fonts are created in the current directory. -# -# $1: The master font (e.g., `bsmi00lp.ttf'). -# $2: The name stem for the subfonts (e.g., `bsmilp'). -# $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-2015 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 - -if (Strtol($version) < 20071105) - Print("Can't use FontForge version before 2007-11-05. Aborting."); - Quit(1); -endif; - -if ($argc != 4) - Print("usage: [fontforge -script] ", $0, " master-font name-stem SFD-file"); - Quit(1); -endif; - -Print("Loading ", $1, "..."); -Open($1); - -if ($cidfontname != "") - CIDFlatten(); -endif; - -Reencode("ucs4"); - -copyright = $copyright \ - + Chr(10) + Chr(10) \ - + "Subfont version " \ - + Strftime("%F", 1, "C") \ - + "."; -SetFontNames("", "", "", "", copyright, ""); - -Print("Ensure third order curves..."); -SetFontOrder(3); - -Print("Scaling to PostScript units..."); -ScaleToEm(900, 100); - -num_chars = CharCnt(); -count = 0; -delta = 100; - -while (count + delta < num_chars) - Print(count, "/", num_chars - 1, ":"); - Select(count, count + delta); - - Print(" Add extrema..."); - AddExtrema(); - - Print(" Simplifying outlines..."); - Simplify(0, 2); - - count += delta; -endloop; - -Print(count, "/", num_chars - 1, ":"); -Select(count, num_chars - 1); - -Print(" Add extrema..."); -AddExtrema(); - -Print(" Simplifying outlines..."); -Simplify(0, 2); - -SelectAll(); - -# generate AFM and TFM files, no PS hints, and rounded PS coordinates -Print("Generating subfonts..."); -Generate($2 + "%s.pfb", "", \ - 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000, \ - -1, $3); - -Quit(0); diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/uni2sfd.pl b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/uni2sfd.pl deleted file mode 100644 index d28796c874..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/uni2sfd.pl +++ /dev/null @@ -1,312 +0,0 @@ -#! /usr/bin/perl -w -# -# This script creates virtual subfonts in a font encoding given by a subfont -# definition file, based on Unicode subfonts. -# -# As prerequisites, it needs the programs `tftopl' and `vptovf' which must -# be in the path. -# -# Call the script as -# -# perl uni2sfd.pl uni-namestem sfd-file namestem codingscheme -# -# `uni-namestem' is the namestem of the Unicode subfonts; `uni2sfd.pl' -# appends the Unicode suffixes and reads the corresponding TFM files. -# `sfd-file' is the subfont definition file which maps Unicode input -# characters to the target subfont scheme using `namestem' as the namestem. -# `codingscheme' gives the value for the CODINGSCHEME parameter in the -# VF files (always converted to uppercase). -# -# Example: -# -# perl uni2sfd.pl bsmiu UBig5.sfd bsmilp cjkbig5 -# -# A collection of useful subfont definition files for CJK fonts can be found -# in the ttf2pk package. - -# Copyright (C) 1994-2015 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 - -use strict; - -my $prog = $0; -$prog =~ s@.*/@@; - -if ($#ARGV != 3) { - die("usage: $prog uni-namestem sfd-file namestem codingscheme\n"); -} - -my $uninamestem = $ARGV[0]; -my $sfdfile = $ARGV[1]; -my $namestem = $ARGV[2]; -my $codingscheme = $ARGV[3]; - - -# Read subfont definition file. - -my %sfd; -my @subfonts; - -read_sfdfile($sfdfile, \%sfd, \@subfonts); - - -# Read TFM files. - -my @unimetrics; - -foreach my $sub (0 .. 0xFF) { - my $suffix = sprintf("%02x", $sub); - my $tfmname = "$uninamestem$suffix.tfm"; - - if (-f $tfmname) { - read_tfmfile($tfmname, \@unimetrics, $suffix); - } -} - - -# Write VPL files. - -foreach my $sub (@subfonts) { - my @entries; - - foreach my $i (0 .. 255) { - if (defined ($sfd{"$sub $i"})) { - my $index = $sfd{"$sub $i"}; - if (defined ($unimetrics[$index])) { - push(@entries, "$i $index $unimetrics[$index]"); - } - } - } - - if ($#entries >= 0) { - write_vplfile("$namestem$sub.vpl", \@entries); - } -} - - -# Generate VF and TFM files, then remove the VPL files. - -my @vplfiles = glob("$namestem*.vpl"); -foreach my $vplfile (@vplfiles) { - print("Processing \`$vplfile'...\n"); - my $arg = "vptovf $vplfile"; - system($arg) == 0 - || die("$prog: calling \`$arg' failed: $?\n"); - print("Removing \`$vplfile'...\n"); - unlink($vplfile); -} - - -# Read an SFD file. -# -# $1: Name of the SFD file. -# $2: Reference to the target hash file, mapping from the character code -# to the subfont index. The format of the key value is the -# concatenation of the subfont suffix, a space, and the index. -# $3: Reference to a target array which holds the subfont suffixes. - -sub read_sfdfile { - my ($sfdfile, $sfdhash, $sfdarray) = @_; - - print("Reading subfont definition file \`$sfdfile'...\n"); - - open(SFD, $sfdfile) - || die("$prog: can't open \`$sfdfile': $!\n"); - - my $line; - my $continuation = 0; - while () { - chop; - - next if /^\s*$/; - next if /^#/; - - if ($continuation) { - $line .= $_; - } - else { - $line = $_; - } - $continuation = 0; - - if ($line =~ s/\\$//) { - $continuation = 1; - next; - } - - $_ = $line; - my @field = split(" "); - - my $suffix = $field[0]; - push(@{$sfdarray}, $suffix); - - shift(@field); - my $index = 0; - - while (@field) { - if ($field[0] =~ /(.*):$/) { - $index = $1; - } - elsif ($field[0] =~ /(.*)_(.*)/) { - my $start = $1; - my $end = $2; - $start = oct($start) if ($start =~ /^0/); - $end = oct($end) if ($end =~ /^0/); - foreach my $i ($start .. $end) { - $sfdhash->{"$suffix $index"} = $i; - $index++; - } - } - else { - my $value = $field[0]; - $value = oct($value) if ($value =~ /^0/); - $sfdhash->{"$suffix $index"} = $value; - $index++; - } - shift(@field); - } - } - close(SFD); -} - - -# Read TFM file. -# -# $1: Name of the TFM file. -# $2: Reference to the target array holding metric information in the form -# ` '. -# $3: Subfont suffix. - -sub read_tfmfile { - my ($tfmfile, $unicarray, $suffix) = @_; - - print("Processing metrics file \`$tfmfile'...\n"); - my $arg = "tftopl $tfmfile > $tfmfile.pl"; - system($arg) == 0 - || die("$prog: calling \`$arg' failed: $?\n"); - - print("Reading property list file \`$tfmfile.pl'...\n"); - open(PL, "$tfmfile.pl") - || die("$prog: can't open \`$tfmfile.pl': $!\n"); - - while () { - my $idx; - if (/^\(CHARACTER O (\d+)/) { - $idx = oct($1); - } - elsif (/^\(CHARACTER C (.)/) { - $idx = ord($1); - } - else { - next; - } - $idx += hex($suffix) * 256; - - my $wd = "0"; - my $ht = "0"; - my $dp = "0"; - - $_ = ; - if (/\(CHARWD R (.*)\)/) { - $wd = "$1"; - $_ = ; - } - if (/\(CHARHT R (.*)\)/) { - $ht = "$1"; - $_ = ; - } - if (/\(CHARDP R (.*)\)/) { - $dp = "$1"; - } - - $unicarray->[$idx] = "$wd $ht $dp"; - } - close(PL); - print("Removing \`$tfmfile.pl'...\n"); - unlink("$tfmfile.pl"); -} - - -# Write VPL file. -# -# $1: Name of the VPL file. -# $2: Reference to list which holds the font entries. An entry has the -# form ` '. - -sub write_vplfile { - my ($vplfile, $glypharray) = @_; - - my %subfonts; - my $subcount = 0; - - foreach my $entry (@{$glypharray}) { - my @field = split(" ", $entry); - my $subfont = int($field[1] / 256); - if (!defined ($subfonts{$subfont})) { - $subfonts{$subfont} = $subcount; - $subcount++; - } - } - - print("Writing virtual property list file \`$vplfile'...\n"); - - open(VPL, ">", $vplfile) - || die("$prog: can't open \`$vplfile': $!\n"); - my $oldfh = select(VPL); - - print("(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n"); - print("(FAMILY TEX-\U$namestem\E)\n"); - print("(CODINGSCHEME \U$codingscheme\E)\n"); - print("(FONTDIMEN\n"); - print(" (SPACE R 0.5)\n"); - print(" (XHEIGHT R 0.4)\n"); - print(" (QUAD R 1)\n"); - print(" )\n"); - - foreach my $subfont - (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) { - print("(MAPFONT D $subfonts{$subfont}\n"); - print(" (FONTNAME $uninamestem" . sprintf("%02x", $subfont) . ")\n"); - print(" )\n"); - } - - foreach my $entry (@{$glypharray}) { - my @field = split(" ", $entry); - my $index = $field[0]; - my $subnumber = $subfonts{int($field[1] / 256)}; - my $subindex = $field[1] % 256; - my $width = $field[2]; - my $height = $field[3]; - my $depth = $field[4]; - - print("(CHARACTER D $index\n"); - print(" (CHARWD R $width)\n"); - print(" (CHARHT R $height)\n"); - print(" (CHARDP R $depth)\n"); - print(" (MAP\n"); - print(" (SELECTFONT D $subnumber)\n"); - print(" (SETCHAR D $subindex)\n"); - print(" )\n"); - print(" )\n"); - } - - close(VPL); - select($oldfh); -} - - -# eof diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertical.pe b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertical.pe deleted file mode 100644 index a10faef088..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertical.pe +++ /dev/null @@ -1,108 +0,0 @@ -# Generate a font which contains vertical glyph representations. -# The font is created in the current directory. -# -# $1: The master font (e.g., `bsmi00lp.ttf'). -# $2: The name of the vertical font (e.g., `bsmilpv'). - -# Copyright (C) 1994-2007 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 - -if (Strtol($version) < 20071105) - Print("Can't use FontForge version before 2007-11-05. Aborting."; - Quit(1); -endif; - -if ($argc != 3) - Print("usage: [fontforge -script] ", $0, " master-font vertical-fontname"); - Quit(1); -endif; - -Print("Loading ", $1, "..."); -Open($1); - -fontname = $2; -fullname = $fullname + " vertical"; -copyright = $copyright \ - + Chr(10) + Chr(10) \ - + "Vertical glyph representations version " \ - + Strftime("%F", 1, "C") \ - + "."; -SetFontNames(fontname, "", fullname, "", copyright, ""); - -SelectAll(); -ApplySubstitution("*", "*", "vert"); - -if (!$fontchanged) - Print("No vertical glyph representation forms found."); - Quit(1); -endif; - -SelectChanged(); - -SelectInvert(); -DetachAndRemoveGlyphs(); - -Print("Ensure third order curves..."); -SetFontOrder(3); - -Print("Scaling to PostScript units..."); -ScaleToEm(900, 100); - -num_chars = CharCnt(); -count = 0; -delta = 100; - -while (count + delta < num_chars) - Print(count, "/", num_chars - 1, ":"); - Select(count, count + delta); - - Print(" Add extrema..."); - AddExtrema(); - - Print(" Simplifying outlines..."); - Simplify(0, 2); - - count += delta; -endloop; - -Print(count, "/", num_chars - 1, ":"); -Select(count, num_chars - 1); - -Print(" Add extrema..."); -AddExtrema(); - -Print(" Simplifying outlines..."); -Simplify(0, 2); - -SelectAll(); -foreach - unicode = GlyphInfo("Unicode"); - if (unicode > 0) - SetUnicodeValue(unicode); - name = GlyphInfo("Name"); - SetGlyphName(name + ".vert", 0); - endif -endloop; - -Reencode("original"); - -# generate AFM and TFM files, no PS hints, and rounded PS coordinates -Print("Generating font..."); -Generate($2 + ".pfb", "", \ - 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000); - -Quit(0); diff --git a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertref.pe b/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertref.pe deleted file mode 100644 index 63533f9473..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/subfonts/vertref.pe +++ /dev/null @@ -1,121 +0,0 @@ -# Generate a font with glyphs which have vertical glyph representations (but -# don't include the vertical glyph representations itself). This is used by -# the perl script `makefdx.pl' to create an FDX file as used by the CJK -# package for LaTeX. -# -# The font is created in the current directory. -# -# $1: The master font (e.g., `bsmi00lp.ttf'). -# $2: The name of the target font (e.g., `bsmilpvr'). - -# Copyright (C) 1994-2007 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 - -if (Strtol($version) < 20071105) - Print("Can't use FontForge version before 2007-11-05. Aborting."; - Quit(1); -endif; - -if ($argc != 3) - Print("usage: [fontforge -script] ", $0, " master-font fontname"); - Quit(1); -endif; - -Print("Loading ", $1, "..."); -Open($1); - -fontname = $2; -fullname = $fullname + " vertical reference"; -copyright = $copyright \ - + Chr(10) + Chr(10) \ - + "Vertical glyph reference font version " \ - + Strftime("%F", 1, "C") \ - + "."; -SetFontNames(fontname, "", fullname, "", copyright, ""); - -lookups = GetLookups("GSUB"); - -i = 0; -result = -1; -while (i < SizeOf(lookups)) - if (Strstr(lookups[i], "'vert'") >= 0) - result = i; - endif; - i++; -endloop; - -if (result == -1) - Print("This font doesn't contain a GSUB table with a `vert' feature."); - Quit(1); -endif; - -subtables = GetLookupSubtables(lookups[result]); - -i = 0; -result = -1; -while (i < SizeOf(subtables)) - if (Strstr(subtables[i], "'vert'") >= 0) - result = i; - endif; - i++; -endloop; - -SelectByPosSub(subtables[result], 1); - -SelectInvert(); -DetachAndRemoveGlyphs(); - -Print("Ensure third order curves..."); -SetFontOrder(3); - -Print("Scaling to PostScript units..."); -ScaleToEm(900, 100); - -num_chars = CharCnt(); -count = 0; -delta = 100; - -while (count + delta < num_chars) - Print(count, "/", num_chars - 1, ":"); - Select(count, count + delta); - - Print(" Add extrema..."); - AddExtrema(); - - Print(" Simplifying outlines..."); - Simplify(0, 2); - - count += delta; -endloop; - -Print(count, "/", num_chars - 1, ":"); -Select(count, num_chars - 1); - -Print(" Add extrema..."); -AddExtrema(); - -Print(" Simplifying outlines..."); -Simplify(0, 2); - -Reencode("original"); - -# generate AFM and TFM files, no PS hints, and rounded PS coordinates -Print("Generating font..."); -Generate($2 + ".pfb", "", \ - 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000); - -Quit(0); diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90 b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90 deleted file mode 100644 index 69e0d59326..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/garuda-c90/config.garuda-c90 +++ /dev/null @@ -1 +0,0 @@ -p +garuda-c90.map diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90 b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90 deleted file mode 100644 index 655dace2ba..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/dvips/norasi-c90/config.norasi-c90 +++ /dev/null @@ -1 +0,0 @@ -p +norasi-c90.map diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc deleted file mode 100644 index 03fc48b9fa..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc +++ /dev/null @@ -1,334 +0,0 @@ -%!PS-Adobe-3.0 Resource-Encoding -% @psencodingfile{ -% author = "See file c90.etx", -% version = "See file c90.etx", -% date = "generated 2005/07/04", -% filename = "c90.enc", -% email = "See file c90.etx", -% codetable = "ISO/ASCII", -% checksum = "", -% abstract = "This is a postscript encoding file, automatically generated by fontinst from c90.etx." -% } - -% Copyright (C) 1994-2015 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 - -% Created by: tex garuda -% Created using: \etxtoenc{c90}{c90} - -% This file should be installed somewhere that your DVI -% to postscript driver looks for files. It is needed for -% reencoding some font you have transformed. - -% After installing this file, you should add the following -% line (minus %) to your finstmsc.rc file: -% \declarepsencoding{c90}{C90Encoding}{\download{c90.enc}} - -%%BeginResource: encoding C90Encoding -/C90Encoding [ -% 0 -/Gamma -/Delta -/Theta -/Lambda -/Xi -/Pi -/Sigma -/Upsilon -% 8 -/Phi -/Psi -/Omega -/endash -/emdash -/quotesingle -/exclamdown -/questiondown -% 16 -/dotlessi -/quotedblleft -/grave -/acute -/caron -/breve -/macron -/ring -% 24 -/cedilla -/germandbls -/ae -/oe -/oslash -/AE -/OE -/Oslash -% 32 -/.notdef -/exclam -/quotedblright -/numbersign -/dollar -/percent -/ampersand -/quoteright -% 40 -/parenleft -/parenright -/asterisk -/plus -/comma -/hyphen -/period -/slash -% 48 -/zero -/one -/two -/three -/four -/five -/six -/seven -% 56 -/eight -/nine -/colon -/semicolon -/less -/equal -/greater -/question -% 64 -/at -/A -/B -/C -/D -/E -/F -/G -% 72 -/H -/I -/J -/K -/L -/M -/N -/O -% 80 -/P -/Q -/R -/S -/T -/U -/V -/W -% 88 -/X -/Y -/Z -/bracketleft -/backslash -/bracketright -/circumflex -/underscore -% 96 -/quoteleft -/a -/b -/c -/d -/e -/f -/g -% 104 -/h -/i -/j -/k -/l -/m -/n -/o -% 112 -/p -/q -/r -/s -/t -/u -/v -/w -% 120 -/x -/y -/z -/braceleft -/bar -/braceright -/tilde -/dieresis -% 128 -/uni0E38 -/uni0E39 -/uni0E3A -/uni0E48.low_left -/uni0E49.low_left -/uni0E4A.low_left -/uni0E4B.low_left -/uni0E4C.low_left -% 136 -/uni0E48.low -/uni0E49.low -/uni0E4A.low -/uni0E4B.low -/uni0E4C.low -/.notdef -/.notdef -/uni0E4D.left -% 144 -/uni0E0D.descless -/.notdef -/uni0E31.left -/uni0E47.left -/uni0E34.left -/uni0E35.left -/uni0E36.left -/uni0E37.left -% 152 -/uni0E48.left -/uni0E49.left -/uni0E4A.left -/uni0E4B.left -/uni0E4C.left -/.notdef -/.notdef -/uni0E10.descless -% 160 -/.notdef -/uni0E01 -/uni0E02 -/uni0E03 -/uni0E04 -/uni0E05 -/uni0E06 -/uni0E07 -% 168 -/uni0E08 -/uni0E09 -/uni0E0A -/uni0E0B -/uni0E0C -/uni0E0D -/uni0E0E -/uni0E0F -% 176 -/uni0E10 -/uni0E11 -/uni0E12 -/uni0E13 -/uni0E14 -/uni0E15 -/uni0E16 -/uni0E17 -% 184 -/uni0E18 -/uni0E19 -/uni0E1A -/uni0E1B -/uni0E1C -/uni0E1D -/uni0E1E -/uni0E1F -% 192 -/uni0E20 -/uni0E21 -/uni0E22 -/uni0E23 -/uni0E24 -/uni0E25 -/uni0E26 -/uni0E27 -% 200 -/uni0E28 -/uni0E29 -/uni0E2A -/uni0E2B -/uni0E2C -/uni0E2D -/uni0E2E -/uni0E2F -% 208 -/uni0E30 -/uni0E31 -/uni0E32 -/uni0E33 -/uni0E34 -/uni0E35 -/uni0E36 -/uni0E37 -% 216 -/uni0E38 -/uni0E39 -/uni0E3A -/.notdef -/.notdef -/.notdef -/.notdef -/uni0E3F -% 224 -/uni0E40 -/uni0E41 -/uni0E42 -/uni0E43 -/uni0E44 -/uni0E45 -/uni0E46 -/uni0E47 -% 232 -/uni0E48 -/uni0E49 -/uni0E4A -/uni0E4B -/uni0E4C -/uni0E4D -/uni0E4E -/uni0E4F -% 240 -/uni0E50 -/uni0E51 -/uni0E52 -/uni0E53 -/uni0E54 -/uni0E55 -/uni0E56 -/uni0E57 -% 248 -/uni0E58 -/uni0E59 -/uni0E5A -/uni0E5B -/uni0E38.low -/uni0E39.low -/uni0E3A.low -/.notdef -] def -%%EndResource - -% End of file c90.enc. diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map deleted file mode 100644 index 0c1af91bfe..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/texmf/fonts/map/dvips/garuda-c90/garuda-c90.map +++ /dev/null @@ -1,4 +0,0 @@ -fgdr8z Garuda " C90Encoding ReEncodeFont " -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-c90.fontinst ==== - - Some explanations. - - - The control files also create 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-c90.fontinst - - If you get warnings about missing glyphs which are critical (this - is, if they affect 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-c90.map' (the lines are split for readability only): - - fgdr8z Garuda \ - " C90Encoding ReEncodeFont " (e.g. `config.garuda-c90') - with the following line in it: - - p + - - Example: - - p +garuda-c90.map - - Then you can use the `-P' command line option of dvips to include - the reencoded font. Example: - - dvips -P garuda-c90 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-c90/ - config.garuda -> TEXMF/dvips/garuda-c90/ - - fgdr8z.tfm -> TEXMF/fonts/tfm/public/garuda-c90/ - ... - - 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/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.etx b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.etx deleted file mode 100644 index 56cb88c757..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.etx +++ /dev/null @@ -1,2346 +0,0 @@ -% c90.etx - -% Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.mtx b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.mtx deleted file mode 100644 index baccdefa08..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/c90.mtx +++ /dev/null @@ -1,42 +0,0 @@ -% c90.mtx - -% Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/config.dbtt-old b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/config.dbtt-old deleted file mode 100644 index 5ce1be96b2..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/config.dbtt-old +++ /dev/null @@ -1 +0,0 @@ -p +dbtt-old.map diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx deleted file mode 100644 index c89777a2fb..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx +++ /dev/null @@ -1,46 +0,0 @@ -% dbtt-old-alias.etx - -% Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx deleted file mode 100644 index 4dbb7382e2..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx +++ /dev/null @@ -1,36 +0,0 @@ -% dbtt-old-alias.mtx - -% Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex deleted file mode 100644 index 558a1306cd..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex +++ /dev/null @@ -1,139 +0,0 @@ -% dbtt-old-alias.tex - -% Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst deleted file mode 100644 index 794284d1e0..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst +++ /dev/null @@ -1,78 +0,0 @@ -% dbtt-old.fontinst - -% Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.map b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/dbtt-old/dbtt-old.map deleted file mode 100644 index c48f73fe71..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/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-c90.fontinst diff --git a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/norasi-c90.fontinst b/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/norasi-c90.fontinst deleted file mode 100644 index 433c89a9ab..0000000000 --- a/language/chinese/CJK/cjk-4.8.4/utils/thaifont/tools/norasi-c90.fontinst +++ /dev/null @@ -1,85 +0,0 @@ -% norasi-c90.fontinst - -% Copyright (C) 1994-2015 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-c90.fontinst -- cgit v1.2.3