diff options
418 files changed, 80623 insertions, 13 deletions
diff --git a/Master/texmf-dist/doc/latex/cjk/ChangeLog b/Master/texmf-dist/doc/latex/cjk/ChangeLog new file mode 100644 index 00000000000..3906abeadac --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/ChangeLog @@ -0,0 +1,1972 @@ +2008-05-22 Werner LEMBERG <wl@gnu.org> + + Version 4.8.0 released + ====================== + + Set version to 4.8.0. + + * doc/history.txt, doc/INSTALL, doc/TeXLive.txt, README: Updated. + + Update headers in all text files. + + * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to + current versions. + + * utils/hbf2gf/configure: Regenerated with autoconf 2.62. + +2008-05-18 Werner LEMBERG <wl@gnu.org> + + * Makefile (DISTDIRS): We are now using git, not CVS. + +2008-05-18 Werner LEMBERG <wl@gnu.org> + + * doc/history.txt: Mention xCJK.sty. + +2008-05-17 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty (\CJK@UnicodeEnc): New macro (so that xCJK.sty + can overwrite it). + * texinput/CJKnumb.sty: Use it. + + * texinput/xCJK.sty: Simplify -- unicode mappings to other encodings + are no longer supported (since it hasn't worked for Big5 or GBK + anyway). + + (\xCJK@xUTF): Removed. + (\CJKsymbol): Simplified. + (\toutf@XXX): Removed. + (\xCJK@CJKenc, \CJKenc): Removed. + (\CJK@envStart): Produce error if encoding is not `UTF8'. + Simplified. + (\xCJK@setenc, \CJK@xpmC, \xCJK@enc@UTF8, \xCJK@xUTF8@hook): + Removed. + (\CJK@xUTF8@hook, \CJK@UnicodeEnc): New macros. + (\xCJK@@char): Removed. + (\CJK@XXpdf): Simplified. + (\CJK@@XXpdf): Removed. + + Add support for non-BMP Unicode. + + (\CJK@nameppppdef): New macro. + (\xCJK@char): Redefined. + (\xCJK@@char, \xCJK@@@char): New macros. + (\CJK@XXp, \CJK@XXXp): Redefined. + (\CJK@XXXXp): New macro. + + xdvipdfmx automatically handles UTF-8 encoded bookmarks. + + (\xCJK@four, \xCJK@@@char, <\if@filesw>): Removed. + + (\special): Use \utfout. + +2008-05-12 Danai SAE-HAN <danai.sae-han@edpnet.be> + + * utils/hbf2gf/hbf2gf.1: Replace some `-' with `\-'. + +2008-03-10 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/hbf2gf.1: s|-|\-| where appropriate. + +2008-03-09 Werner LEMBERG <wl@gnu.org> + + * Makefile (XELATEX): Call xelatex twice. + (manpages): Increase font size to 11pt for DVI and PDF output. + +2008-03-09 Werner LEMBERG <wl@gnu.org> + + Add support for EUC-JP with DNP font encoding. + + * texinput/CJK.enc (\CJK@@@EUC-JPdnp@hook, \CJK@EUC-JPdnp@enc): New + macros. + + * texinput/JIS/EUC-JPdnp.enc: New file. + + * texinput/JIS/EUC-JP.chr (\CJK@shiftchar): Define \CJK@plane as + empty. + + * doc/history.txt, MANIFEST: Updated. + +2008-03-09 Werner LEMBERG <wl@gnu.org> + + Make \CJK@bold work with C49 encoding too. The idea is to handle + the font as a CJK font but with \CJK@plane set to empty. + + * texinput/SJIS/SJIS.chr, texinput/SJIS/SJIdnp.chr (\CJK@sjischar): + Define \CJK@plane as empty. + + * texinput/SJIS/c49song.fd: Use `CJK' size function. + + * doc/history.txt: Updated. + +2008-03-03 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKutf8.sty, texinput/xCJK.sty, + texinput/mule/MULEenc.sty: Use \ProvidesPackage, not \ProvidesFile. + +2008-03-03 Werner LEMBERG <wl@gnu.org> + + Better control for \baselinestretch with CJKvert.sty. + + * texinput/CJKvert.sty (usebaselinestretch): New option. + (\CJKbaselinestretch): New macro. + + * doc/history.txt, doc/vertical.txt: Document it. + +2008-02-11 Werner LEMBERG <wl@gnu.org> + + * doc/xCJK.txt: New file. + * MANIFEST: Updated. + +2008-02-11 Werner LEMBERG <wl@gnu.org> + + * doc/fonts.txt: Document installation of cyberbit.ttf. + +2008-02-05 Werner LEMBERG <wl@gnu.org> + + Add SUN Wen-Chang's xCJK bundle. + + * examples/xCJK.tex, texinput/UTF8/xUTF8.chr, + texinput/UTF8/xUTF8.enc, texinput/xCJK.sty, texinput/xpmC.chr, + texinput/xpmC.enc: New files. + + * MANIFEST: Updated. + + * Makefile (XELATEX): New macro. + (xCJK): New target. + (CJK2DVI, LATE2DVI): Simplify. + +2008-01-15 Gernot Hassenpflug <aikishugyo@gmail.com> + + * contrib/wadalab/c70goth.fdx, contrib/wadalab/c70min.fdx, + contrib/wadalab/c70maru.fdx: Rotate more glyphs for vertical + typesetting. + Shift small kana for vertical typesetting. + Other minor improvements. + +2007-12-27 Werner LEMBERG <wl@gnu.org> + + * utils/subfonts/vertical.pe, utils/subfonts/vertref.pe: Abort if no + vertical glyph representation forms are available. + +2006-12-05 Werner LEMBERG <wl@gnu.org> + + Make pinyin syllables work with \MakeUppercase and \MakeLowercase. + + * pinyin.sty: Almost completely rewrite macro logic to replace e.g. + `\py@@@a' with `\py@ a' so that the argument gets handled by + \MakeUppercase. + +2006-12-04 Werner LEMBERG <wl@gnu.org> + + Make pinyin syllables work with hyperref bookmarks. + + * pinyin.sty: Use \AtBeginDocument hook to add missing characters to + PU encoding needed for pinyin syllables. + Use \AtBeginDocument hook to set up some replacement macros for + bookmarks. + (\py@hr@macron, \py@hr@v): New replacement macros for + bookmarks. + +2007-11-23 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.enc: Add punctuation tables for GBK encoding. + +2007-11-06 Werner LEMBERG <wl@gnu.org> + + * utils/subfonts/subfonts.pe, utils/subfonts/vertical.pe, + utils/subfonts/vertref.pe: Put current time stamp into copyright + string. + Need FontForge 20071105 or newer. + +2007-11-02 SUN Wenchang <sunwch@hotmail.com> + + * texinput/CJKfntef.sty (\CJK@preUnderdot): Use \cdot (in math mode). + (\CJKxout): Use `/' in math mode. + (\CJKunderdotbasesep, \CJKunderdotsep): Adjusted. + +2007-10-26 Werner LEMBERG <wl@gnu.org> + + * utils/subfonts/vertical.pe: Use glyph names of the horizontal + representation glyphs with an appended `.vert'. This makes dvipdfmx + automatically create a correct /ToUnicode CMap. + +2007-10-25 Werner LEMBERG <wl@gnu.org> + + Provide final fix for patch 2007-10-04. + + * utils/subfonts/makefdx.pl: Provide flag `-u' to produce a CMap + macro in the FDX file. + Don't specify FDX file directly on the command line but give family + name and encoding separately which are then concatenated to give the + FDX name (we need the family name separately). + Add code to produce a macro which provides a /ToUnicode CMap entry + as needed by pdfTeX. + Fix loop to not omit last glyph. + + * texinput/UTF8/c70bsmi.fdx, texinput/UTF8/c70bkai.fdx: Regenerated. + These now provide the macros \CJK@cmap@bsmiv and \CJK@cmap@bkaiv, + respectively. + + * texinput/CJKutf8.sty (\pickup@font): Call `\CJK@cmap@...' if it + exists. + +2007-10-04 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKutf8.sty (\pickup@font): Disable generation of + ToUnicode cmap for `v' subfont (which holds vertical representation + glyphs). This is a temporary hack; the right solution is to modify + makefdx.pl so that it creates a ToUnicode macro for the specific + font; \CJK@addcmap should be then modified to use this macro instead + of autogenerating a cmap. + + Problem reported by Edward G.J. Lee. + +2007-09-10 Werner LEMBERG <wl@gnu.org> + + * utils/subfonts/vertical.pe, utils.subfonts/vertref.pe: Adapt to + FontForge version 2007-Sep-10 and newer. + +2007-07-26 Gernot Hassenpflug <gernot@nict.go.jp> + + * contrib/wadalab/c70goth.fdx, contrib/wadalab/c70min.fdx, + contrib/wadalab/c70maru.fdx: New files to support vertical writing + with Unicode encoded Wadalab fonts. + +2007-07-07 Werner LEMBERG <wl@gnu.org> + + * texinput/pinyin.sty (\ding): Rename to... + (\py@ding): This to make \ding work actually. + +2007-05-04 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKvert.sty (\CJKsymbol): Honour \CJKhdef{offset}{...}. + * doc/fdxfiles.txt, doc/history.txt: Document it. + +2007-04-08 Werner LEMBERG <wl@gnu.org> + + * utils/pyhyphen/pyhyph.tex: Replace latin-1 characters with + ^^xx sequences. Suggested by David Kastrup. + + * doc/cjk-enc.txt: Document special space handling for Emacs quail + input methods. + +2006-11-06 Werner LEMBERG <wl@gnu.org> + + * texinput/pinyin.sty (\py@macron, \py@@@v): Support T5 encoding. + * doc/history.txt: Document it. + +2006-10-31 Werner LEMBERG <wl@gnu.org> + + * doc/CJK.txt, doc/CJKutf8.txt: Mention Byte Order Mark in UTF-8. + +2006-10-19 Werner LEMBERG <wl@gnu.org> + + * doc/TeXLive.txt, MANIFEST: Minor fixes. + + * Makefile (DVI2PDF): Add argument for paper format. + (CONVERT, MULE, LATEX): Add optional argument for paper format; + default to `letter'. + (manpages, cweb): Use letter paper format. + (READMEb5): Use A4 paper. + + * examples/README: Minor fix. + +2006-10-17 Werner LEMBERG <wl@gnu.org> + + Version 4.7.0 released + ====================== + + Set version to 4.7.0. + + * doc/history.txt, doc/INSTALL, doc/TeXLive.txt, README: Updated. + + Update headers in all text files. + +2006-10-09 Werner LEMBERG <wl@gnu.org> + + * Makefile (abs-distdir): Fix assignment. + (distdoc): Remove generated C files. + + * utils/hbf2gf/hbf2gf.1: s/`/\(oq/ and s/'/\(cq/ where appropriate. + +2006-10-06 Werner LEMBERG <wl@gnu.org> + + * doc/CJKutf8.txt, doc/history.txt: Minor additions. + * MANIFEST: Sorted and updated. + +2006-10-05 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKutf8.sty (\CJK@surr): Use \expandafter to make + \uppercase work actually. + + * texinput/CJK.sty (\CJK@makeActive, \CJK@makeInactive): Handle 0x80 + also (which is needed for UTF8). + +2006-10-05 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKutf8.sty (\CJK@surr): New function. + (\CJK@addcmap): Use \CJK@surr so that values > U+FFFF are correctly + represented as surrogates. + +2006-09-30 Werner LEMBERG <wl@gnu.org> + + In CJKutf8.sty, add ToUnicode cmaps for pdfTeX. Note, however, that + it currently fails with virtual fonts: pdftex 3.141592-1.30.4-2.2 + can't resolve them to the used base fonts. + + * texinput/CJKutf8.sty: Require ifpdf package. + (\pickup@font) [\ifpdf]: Redefine, adding a call to CJK@addcmap. + (\CJK@addcmap) [\ifpdf]: New function. + + * doc/history.txt: Updated. + +2006-09-16 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty (\CJK@ifundefined): New macro. + Update all affected files where possible to use it instead of + \@ifundefined. This fixes a bug reported by Danai which made + \chapter work in the `scrartcl' article class (instead of + reporting an error) after using a CJK caption file. + + * *.cap, *.cpx: Don't redefine \thepart but use its previous + definition for \partformat. This fixes a bug reported by Danai + which produced bad TOC entries. + + * doc/history.txt: Updated. + +2006-09-12 Werner LEMBERG <wl@gnu.org> + + * texinput/UTF8/ko-Hanj.cpx: Renamed to... + * texinput/UTF8/ko-Hani.cpx: This to use the correct ISO 15924 + script tag. + + * doc/history.txt, doc/CJK.txt: Updated. + +2006-09-08 Werner LEMBERG <wl@gnu.org> + + Add caption files for UTF8 encoding. + + * texinput/UTF8/{ja,ko-Hang,ko-Hang2,ko-Hanj,zh-Hans,zh-Hant}.cap: + New files. + + * doc/history.txt, doc/CJK.txt: Mention them. + +2006-08-31 Werner LEMBERG <wl@gnu.org> + + Reimplement the \CJKbold mechanism to call the last argument of + \DeclareFontShape each time the font is selected only if a CJK size + function has been used. This fixes shape declarations like the ones + in the fourier package which rely on being called only once. + + * texinput/CJK.sty (\CJK@curr@fontshape): New macro. + (\CJK@empty, \CJK@fixed, \CJK@sub, \CJK@DNPgen, \CJK@DNP): Define a + macro where the name is the argument of \CJK@curr@fontshape. + (\selectfont): Execute macro where the name is the argument of + \CJK@curr@fontshape only if it exists. + + * doc/history.txt, doc/CJK.txt: Mention it. + +2006-08-29 Danai SAE-HAN <danai.sae-han@skynet.be> + + * utils/subfonts/hlatex2agl.pl: Make it accept a third parameter + which specifies the used SFD file. + (process_afmfile, process_pfbfile): Add minor tweaks to handle fonts + generated with other tools than FontForge. + +2006-08-29 Werner LEMBERG <wl@gnu.org> + + * utils/Bg5conv/bg5conv.w, utils/extconv/extconv.w, + utils/hbf2gf/hbf2gf.w, utils/CEFconv/cefconv.w, + utils/CEFconv/cef5conv.w, utils/CEFconv/cefsconv.w, + utils/SJISconv/sjisconv.w: s/@/@@/ in email address. + + * utils/Bg5conv/bg5conv.c, utils/extconv/extconv.c, + utils/hbf2gf/hbf2gf.c, utils/CEFconv/cefconv.c, + utils/CEFconv/cef5conv.c, utils/CEFconv/cefsconv.c, + utils/SJISconv/sjisconv.c: Removed. These files are now generated + by the Makefile. + + * Makefile (version): Set to 4.7.0. + (CJK2DVI, LATEX2DVI): Add `texlive' subdirectory + (distsrc): Build .c from .w files. + +2006-08-28 Werner LEMBERG <wl@gnu.org> + + * texinput/*: Add various replacement files for TeXLive. + +2006-08-17 Werner LEMBERG <wl@gnu.org> + + * doc/CJK.txt: Mention problem with fourier.sty. + +2006-08-01 Werner LEMBERG <wl@gnu.org> + + * doc/cjk-enc.txt: Mention problems with UTF-8. + +2006-07-30 Werner LEMBERG <wl@gnu.org> + + * contrib/wadalab/DNP.txt: Fix patch for wftodm.c. + +2006-04-25 Danai SAE-HAN <danai.sae-han@skynet.be> + + * <many files>: Add GPL. + * MANIFEST: New file. + +2006-03-25 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKutf8.sty (\pdfstringdefPreHook): Don't overwrite but + prepend to this macro. + +2006-03-23 Werner LEMBERG <wl@gnu.org> + + * utils/subfonts/hlatex2agl.pl: New script (which has been used + to create the Korean fonts in TeXLive 2005). + + + * texinput/CJKutf8.sty: Add support for Unicode bookmarks. + (\CJK@UnicodeFourBytesFirst, \CJK@UnicodeFourBytesSecond, + \CJK@UnicodeFourBytesThird, \CJK@UnicodeThreeBytesFirst, + \CJK@UnicodeThreeBytesSecond, \CJK@UnicodeTwoBytesFirst, + \CJK@UnicodeLast): New macros to convert UTF-8 into UTF-16BE. + (\CJK@XXpdf, \CJK@XXXpdf, \CJK@XXXXpdf): Replacements for the + \CJK@XX, \CJK@XXX, and \CJK@XXXX macros, respectively. + (\pdfstringdefPreHook): Activate them. + +2006-03-22 Werner LEMBERG <wl@gnu.org> + + * texinput/KS/HLaTeX/c63sh.fd, texinput/KS/HLaTeX/c64sh.fd, + texinput/KS/HLaTeX/c65sh.fd: Fix font declaration. Bug reported by + Danai SAE-HAN <danai.sae-han@skynet.be>. + +2006-02-20 Werner LEMBERG <wl@gnu.org> + + * texinput/UTF8/UTF8.bdg: Bugfix: Handle 0x80 also. + + * doc/history.txt: Mention it. + +2006-02-09 Werner LEMBERG <wl@gnu.org> + + Support complete Unicode range (up to U+10FFFF). + + * texinput/UTF8/UTF8.bdg: Handle leading characters 0xF0-0xF4. + + * texinput/UTF8/UTF8.enc: Ditto. + + * texinput/UTF8/UTF8.chr (\CJK@altxchar): New macro for four-byte + Unicode values. + + * texinput/CJK.enc (\CJK@unicodexError): New error macro. + + * texinput/CJK.sty (\CJK@numbxToHex): New auxiliary macro to convert + a number to a four-digit hex number string. + (\Unicode): Accept values greater than U+FFFF. + + * doc/command.txt, doc/CJK.txt: Document extended \Unicode (and + \CJKchar) command. + * doc/history.txt: Updated. + +2006-01-23 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.enc (\CJK@HK@enc): Load `HK' encoding, not `Bg5'. + Use \def, not \@namedef. + + * doc/CJK.txt: Mention `HKtext' environment. + +2006-01-22 Werner LEMBERG <wl@gnu.org> + + Add new encoding `HK' (C05) for Hong Kong's HKSCS-2004. + + * texinput/Bg5/HK.enc, texinput/Bg5/c05song.fd: New files. + * texinput/CJK.enc: Add support for `HK' (C05). + * texinput/CJKnumb.sty: Handle `HK'. + + * doc/CJK.txt: Bg5+ *cannot* be used for HKSCS. Fix this. + * doc/history.txt: Document `HK' encoding. + +2006-01-19 Werner LEMBERG <wl@gnu.org> + + * doc/CJK.txt: Mention usage of Bg5+ for HKSCS-2001/HKSCS-2004. + +2006-01-04 Werner LEMBERG <wl@gnu.org> + + * texinput/pinyin.sty (\PYding): New \let. + (\PYactivate, \PYdeacticate): Handle \ding (from pifont.sty). + + * doc/pinyin.tex: Document possible problems with pifont.sty. + + * doc/history.txt: Updated. + +2005-12-27 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/cfg/csso12.cfg: Fix typo. + +2005-10-31 Danai SAE-HAN <danai.sae-han@skynet.be> + + * utils/subfonts/makefdx.pl: Provide header for output. + Add \CJKvlet lines. + +2005-08-19 Werner LEMBERG <wl@gnu.org> + + * doc/TeXLive.txt: New file, describing the relationship between + CJK files and TeXLive packages. + +2005-08-18 Werner LEMBERG <wl@gnu.org> + + * texinput/mule/MULEenc.sty: Define \CJK@verbatim correctly if not + already defined. Reported by Andre Dierker. + + * doc/pdf/*: Move to... + * doc/pdfhowto/*: This. + +2005-08-11 Werner LEMBERG <wl@gnu.org> + + Version 4.6.0 released + ====================== + + Set version to 4.6.0. + + * doc/history.txt, doc/INSTALL, Makefile (version): Updated. + + Update headers in all text files. + +2005-08-10 Werner LEMBERG <wl@gnu.org> + + * doc/CEF.txt, doc/CJK.txt, doc/CJKutf8.txt, doc/INSTALL, + doc/TDS.txt, doc/cjk-enc.txt, doc/commands.txt, doc/dvidrv.txt, + doc/fonts.txt, doc/hbf2gf.txt, doc/history.2_5, doc/history.txt, + doc/pinyin.txt, doc/pyhyphen.txt, doc/ruby.txt, doc/thaifont.txt, + doc/vertical.txt: Updated and revised. + +2005-08-05 Werner LEMBERG <wl@gnu.org> + + * COPYING: Updated to new FSF address. + +2005-08-05 Werner LEMBERG <wl@gnu.org> + + After email exchange with Ross Paterson, the old (too restrictive) + license of the hbf module has been changed to the three-clause BSD + license -- Ross no longer maintains and distributes this code. + + * utils/hbf2gf/hbf.c: Change license to BSD. + (strdup) [WIN32]: Define. Change taken from teTeX distribution. + + * utils/hbf2gf/hbf.h: Change license to BSD. + + * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to + current versions. + + * utils/hbf2gf/configure: Regenerated with autoconf 2.59b. + +2005-08-04 Werner LEMBERG <wl@gnu.org> + + Update files to compile with the forthcoming TeXLive 2005. + + * doc/README: Updated, extended. + + * examples/muletest.tex: Updated to new VnTeX (for Vietnamese). + Use type1ec.sty. + Suppress hyphenation. + + * examples/CJKbabel.tex: Don't use t5.sty but `vietnam' option of + babel. + Use type1ec.sty. + + * examples/CJKmixed.tex: Define and use `TChinese' environment. + Call \CJKhorz at the beginning of document. + + * examples/CJKutf8.tex: Don't use cyberbit but the new Unicode + (virtual) fonts of gbsn, bsmi, and mj. + + * texinput/Bg5/c00bsmi.fdx: Updated to new bsmi vertical glyph font. + + * texinput/Bg5/c00bkai.fdx: New file. + + * texinput/UTF8/c70bkai.fd, texinput/UTF8/c70bkai.fdx, + texinput/UTF8/c70bsmi.fd, texinput/UTF8/c70bsmi.fdx, + texinput/UTF8/c60gbsn.fd, texinput/UTF8/c70gkai.fd, + texinput/UTF8/c70mj.fd: New files. + + * utils/pyhyphen/pytest.tex: Usae type1ec.sty. + + * Makefile: Add rules for new example and documentation files. + (version): Set top 4.5.3. + (CJK2DVI, LATEX2DVI): Add `utils/pyhyphen' to TEXINPUTS variable. + (DVI2PS): Replace it with... + (DVI2PDF): New variable. + Update all callers. + (MULE): Add path to `cjk-enc.el' while calling emacs. + (DISTTARGETS): Add new example and documentation files. + (predistdoc): Don't create `ps' but `pdf' subdirectories. + (manpages): Add `-ww' option to groff. + Don't create `ps' but `pdf' files. + (cweb): Don't create `ps' but `pdf' file. + +2005-08-04 Werner LEMBERG <wl@gnu.org> + + * doc/*.doc, doc/japanese/*.doc, doc/chinese/*.doc, + contrib/wadalab/DNP.doc: Renamed to ... + * doc/*.txt, doc/japanese/*.txt, doc/chinese/*.txt, + contrib/wadalab/DNP.txt: This. + + Update all references. + +2005-08-03 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKvert.sty (\CJKvert, \CJKhorz): Make commands act + completely local. + * doc/history.txt: Mention it. + + * doc/pdf/HOWTO.txt: Mention new $SFDFONTS variable from TDS 1.1. + +2005-08-02 Werner LEMBERG <wl@gnu.org> + + Update of HLaTeX support to version 1.0.1. + + * texinput/KS/HLaTeX/c63mg.fd, texinput/KS/HLaTeX/c63mgt.fd, + texinput/KS/HLaTeX/c63mmj.fd, texinput/KS/HLaTeX/c63mnv.fd, + texinput/KS/HLaTeX/c63msr.fd, texinput/KS/HLaTeX/c63ol.fd, + texinput/KS/HLaTeX/c63pbm.fd, texinput/KS/HLaTeX/c63pgr.fd, + texinput/KS/HLaTeX/c63pgs.fd, texinput/KS/HLaTeX/c63pgt.fd, + texinput/KS/HLaTeX/c63pmg.fd, texinput/KS/HLaTeX/c63pmgt.fd, + texinput/KS/HLaTeX/c63pmj.fd, texinput/KS/HLaTeX/c63pmmj.fd, + texinput/KS/HLaTeX/c63pmnv.fd, texinput/KS/HLaTeX/c63pmsr.fd, + texinput/KS/HLaTeX/c63pol.fd, texinput/KS/HLaTeX/c63ppg.fd, + texinput/KS/HLaTeX/c63ppn.fd, texinput/KS/HLaTeX/c63psm.fd, + texinput/KS/HLaTeX/c63ptt.fd, texinput/KS/HLaTeX/c63pyt.fd, + texinput/KS/HLaTeX/c63sm.fd, texinput/KS/HLaTeX/c63tt.fd, + texinput/KS/HLaTeX/c64mg.fd, texinput/KS/HLaTeX/c64mgt.fd, + texinput/KS/HLaTeX/c64mmj.fd, texinput/KS/HLaTeX/c64mnv.fd, + texinput/KS/HLaTeX/c64msr.fd, texinput/KS/HLaTeX/c64ol.fd, + texinput/KS/HLaTeX/c64pbm.fd, texinput/KS/HLaTeX/c64pgr.fd, + texinput/KS/HLaTeX/c64pgs.fd, texinput/KS/HLaTeX/c64pgt.fd, + texinput/KS/HLaTeX/c64pmg.fd, texinput/KS/HLaTeX/c64pmgt.fd, + texinput/KS/HLaTeX/c64pmj.fd, texinput/KS/HLaTeX/c64pmmj.fd, + texinput/KS/HLaTeX/c64pmnv.fd, texinput/KS/HLaTeX/c64pmsr.fd, + texinput/KS/HLaTeX/c64pol.fd, texinput/KS/HLaTeX/c64ppg.fd, + texinput/KS/HLaTeX/c64ppn.fd, texinput/KS/HLaTeX/c64psm.fd, + texinput/KS/HLaTeX/c64ptt.fd, texinput/KS/HLaTeX/c64pyt.fd, + texinput/KS/HLaTeX/c64sm.fd, texinput/KS/HLaTeX/c64tt.fd, + texinput/KS/HLaTeX/c65mg.fd, texinput/KS/HLaTeX/c65mgt.fd, + texinput/KS/HLaTeX/c65mmj.fd, texinput/KS/HLaTeX/c65mnv.fd, + texinput/KS/HLaTeX/c65msr.fd, texinput/KS/HLaTeX/c65ol.fd, + texinput/KS/HLaTeX/c65pbm.fd, texinput/KS/HLaTeX/c65pgr.fd, + texinput/KS/HLaTeX/c65pgs.fd, texinput/KS/HLaTeX/c65pgt.fd, + texinput/KS/HLaTeX/c65pmg.fd, texinput/KS/HLaTeX/c65pmgt.fd, + texinput/KS/HLaTeX/c65pmj.fd, texinput/KS/HLaTeX/c65pmmj.fd, + texinput/KS/HLaTeX/c65pmnv.fd, texinput/KS/HLaTeX/c65pmsr.fd, + texinput/KS/HLaTeX/c65pol.fd, texinput/KS/HLaTeX/c65ppg.fd, + texinput/KS/HLaTeX/c65ppn.fd, texinput/KS/HLaTeX/c65psm.fd, + texinput/KS/HLaTeX/c65ptt.fd, texinput/KS/HLaTeX/c65pyt.fd, + texinput/KS/HLaTeX/c65sm.fd, texinput/KS/HLaTeX/c65tt.fd: Removed. + + * texinput/KS/HLaTeX/c63dn.fd, texinput/KS/HLaTeX/c63jgt.fd, + texinput/KS/HLaTeX/c63jmj.fd, texinput/KS/HLaTeX/c63jnv.fd, + texinput/KS/HLaTeX/c63jsr.fd, texinput/KS/HLaTeX/c63pga.fd, + texinput/KS/HLaTeX/c63ph.fd, texinput/KS/HLaTeX/c63sh.fd, + texinput/KS/HLaTeX/c63tz.fd, texinput/KS/HLaTeX/c63vd.fd, + texinput/KS/HLaTeX/c64dn.fd, texinput/KS/HLaTeX/c64jgt.fd, + texinput/KS/HLaTeX/c64jmj.fd, texinput/KS/HLaTeX/c64jnv.fd, + texinput/KS/HLaTeX/c64jsr.fd, texinput/KS/HLaTeX/c64pga.fd, + texinput/KS/HLaTeX/c64ph.fd, texinput/KS/HLaTeX/c64sh.fd, + texinput/KS/HLaTeX/c64tz.fd, texinput/KS/HLaTeX/c64vd.fd, + texinput/KS/HLaTeX/c65dn.fd, texinput/KS/HLaTeX/c65jgt.fd, + texinput/KS/HLaTeX/c65jmj.fd, texinput/KS/HLaTeX/c65jnv.fd, + texinput/KS/HLaTeX/c65jsr.fd, texinput/KS/HLaTeX/c65pga.fd, + texinput/KS/HLaTeX/c65ph.fd, texinput/KS/HLaTeX/c65sh.fd, + texinput/KS/HLaTeX/c65tz.fd, texinput/KS/HLaTeX/c65vd.fd: New files. + + * texinput/KS/HLaTeX/c63bm.fd, texinput/KS/HLaTeX/c63gr.fd, + texinput/KS/HLaTeX/c63gs.fd, texinput/KS/HLaTeX/c63gt.fd, + texinput/KS/HLaTeX/c63mj.fd, texinput/KS/HLaTeX/c63pg.fd, + texinput/KS/HLaTeX/c63pn.fd, texinput/KS/HLaTeX/c63yt.fd, + texinput/KS/HLaTeX/c64bm.fd, texinput/KS/HLaTeX/c64gr.fd, + texinput/KS/HLaTeX/c64gs.fd, texinput/KS/HLaTeX/c64gt.fd, + texinput/KS/HLaTeX/c64mj.fd, texinput/KS/HLaTeX/c64pg.fd, + texinput/KS/HLaTeX/c64pn.fd, texinput/KS/HLaTeX/c64yt.fd, + texinput/KS/HLaTeX/c65bm.fd, texinput/KS/HLaTeX/c65gr.fd, + texinput/KS/HLaTeX/c65gs.fd, texinput/KS/HLaTeX/c65gt.fd, + texinput/KS/HLaTeX/c65mj.fd, texinput/KS/HLaTeX/c65pg.fd, + texinput/KS/HLaTeX/c65pn.fd, texinput/KS/HLaTeX/c65yt.fd: Updated. + + * texinput/KS/HLaTeX/pshan.sty: No longer needed. Make it empty for + backwards compatibility. + + * texinput/CJK.enc (\CJK@KSHL@enc): Updated. + + * doc/history.txt, doc/CJK.doc: Updated. + +2005-08-01 Werner LEMBERG <wl@gnu.org> + + * utils/subfont/uni2sfd.pl (read_tfmfile): Fix reading CHARWD, + CHARHT, and CHARDP. + +2005-07-31 Werner LEMBERG <wl@gnu.org> + + * utils/subfont/sfd2uni.pl: New script to produce Unicode virtual + subfonts from encoding specific subfonts. + +2005-07-29 Werner LEMBERG <wl@gnu.org> + + * contrib/wadalab/DNP.sfd: Fix typo. Found by Shunsaku Hirata. + * contrib/wadalab/fixwada2.pl: Since Wadalab fonts have already + been uploaded to CTAN, and the bug in DNP.sfd makes it necessary to + regenerate the fonts, and to update the version number and creation + date. + +2005-07-18 Werner LEMBERG <wl@gnu.org> + + * utils/subfonts/makefdx.pl, utils/subfonts/uni2sfd.pl: Fix typos. + + * utils/subfonts/clonevf.pl: New script to produce a VF clone of + a TFM file. + +2005-07-18 Werner LEMBERG <wl@gnu.org> + + * utils/subfonts/makefdx.pl: New script to create FDX entries. + +2005-07-17 Werner LEMBERG <wl@gnu.org> + + * utils/subfonts/subfonts.pe, utils/subfonts/uni2sfd.pl, + utils/subfonts/vertical.pe, utils/vertref.pe: New perl and FontForge + scripts for creating and handling subfonts. + +2005-07-12 Werner LEMBERG <wl@gnu.org> + + * contrib/wadalab/fixwada2.pl, contrib/wadalab/makeuniwada.pl: New + scripts which fix glyph names and create virtual Unicode fonts for + the Wadalab font families. + + * contrib/wadalab/DNP.sfd: A subfont definition file used by + `fixwada2.pl' and `makeuniwada.pl'. + + * contrib/wadalab/c70goth.fd, contrib/wadalab/c70maru.fd, + contrib/wadalab/c70min.fd: New font definition files for Wadalab + fonts in Unicode encoding. + + * contrib/wadalab/DNP.doc: Completely revised and updated. + +2005-07-07 Werner LEMBERG <wl@gnu.org> + + * doc/history.txt: Updated. + +2005-07-05 Werner LEMBERG <wl@gnu.org> + + * utils/thaifont/tools/c90.etx: Fix some typos. + +2005-07-04 Werner LEMBERG <wl@gnu.org> + + Update Thai support: + + . Use fontinst. We no longer need virtual fonts. + . Replace support for dbtt (which has an uncertain license) with + garuda. + . Update to TDS 1.1. + + * utils/thaifont/texmf/dvips/base/dbtt.enc: Removed. + * utils/thaifont/texmf/dvips/config/config.dbtt: Removed. + * utils/thaifont/texmf/dvips/config/dbtt.map: Removed. + * utils/thaifont/texmf/fonts/tfm/public/dbtt/*: Removed. + * utils/thaifont/texmf/fonts/vf/public/dbtt/*: Removed. + + * utils/thaifont/texmf/dvips/base/norasi.enc: Removed. + * utils/thaifont/texmf/dvips/config/config.norasi: Move to... + * utils/thaifont/texmf/dvips/norasi/config.norasi: Here. + * utils/thaifont/texmf/dvips/config/norasi.map: Moved to... + * utils/thai/font/texmf/fonts/map/dvips/norasi/norasi.map: Here. + Updated. + * utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr9z, + utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb9z, + utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbo9z, + utils/thaifont/texmf/fonts/tfm/public/norasi/ftno9z: Removed. + * utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr8z, + utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb8z, + utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbo8z, + utils/thaifont/texmf/fonts/tfm/public/norasi/ftno8z: Updated. + * utils/thaifont/texmf/fonts/vf/public/norasi/*: Removed. + + * utils/thaifont/texmf/dvips/garuda/config.garuda: New file. + * utils/thaifont/texmf/fonts/map/dvips/garuda/garuda.map: New file. + * utils/thaifont/texmf/fonts/tfm/public/garuda/fgdr8z, + utils/thaifont/texmf/fonts/tfm/public/garuda/fgdb8z, + utils/thaifont/texmf/fonts/tfm/public/garuda/fgdbo8z, + utils/thaifont/texmf/fonts/tfm/public/garuda/fgdo8z: New files. + + * utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc: New file, + generated by fontinst. + + * utils/thaifont/tools/c90.etx: New file. + * utils/thaifont/tools/c90.mtx: New file. + * utils/thaifont/tools/garuda.fontinst: New file. + * utils/thaifont/tools/norasi.fontinst: New file. + * utils/thaifont/tools/INSTALL: New file. + * utils/thaifont/tools/dbtt-old/*: New files. + * utils/thaifont/tools/README: Removed. + * utils/thaifont/tools/thai-dummy.afm: Removed. + * utils/thaifont/tools/thai.enc: Removed. + * utils/thaifont/tools/thailigs.vpl: Removed. + + * texinput/thai/c90cmss.fd, texinput/thai/c90cmtt.fd, + texinput/thai/c90nrsr.fd: Updated. + * texinput/thai/c90dbss.fd: Removed. + * texinput/thai/c90gar.fd: New file. + +2005-06-27 Werner LEMBERG <wl@gnu.org> + + Remove the `rotate' keyword for vertical typesetting and introduce + the opposite, `norotate'. + + * texinput/Bg5/c00bsmir.fdx, texinput/Bg5/c00kair.fdx: New files. + + * doc/fdxfiles.doc, doc/vertical.doc, texinput/Bg5/c00bsmi.fdx, + texinput/GB/c10gbsn.fdx, texinput/CJKvert.sty: Updated. + +2005-06-25 Werner LEMBERG <wl@gnu.org> + + * examples/CJKmixed.tex: New example file to demonstrate how to + use CJK scripts vertically and horizontally at the same time. + +2005-06-24 Werner LEMBERG <wl@gnu.org> + + * doc/vertical.doc: Mention that you need an `.fdx' file if you + want to use rotated glyphs for vertical typesetting. + +2005-05-23 Werner LEMBERG <wl@gnu.org> + + * doc/CJK.doc: Improve documentation of `encapsulated' option. + Suggested by Brian Murphy. + +2005-04-26 Werner LEMBERG <wl@gnu.org> + + * texinput/UTF8/UTF8.chr (\CJK@punctchar): Wrap code after \usefont + into three groups to make it work with CJKulem.sty. + + * texinput/CJKutf8.sty, examples/CJKutf8.tex, doc/CJKutf8.doc: New + files. + + * doc/history.txt: Updated. + +2005-04-22 Werner LEMBERG <wl@gnu.org> + + * utils/lisp/emacs/cjk-enc.el (cjk-viscii-lower, cjk-viscii-upper), + utils/lisp/mule-2.3/cjk-enc.el (cjk-viscii-lower, cjk-viscii-upper): + Update to next vntex version which no longer uses dblaccnt.sty. + +2005-03-27 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty (\CJKspace): Don't use \relax but \@empty. + +2005-03-02 Werner LEMBERG <wl@gnu.org> + + * doc/CJK.doc: Mention `CJKbookmarks' option of hyperref package. + +2005-02-23 Werner LEMBERG <wl@gnu.org> + + * README: Updated. No public CVS access possible currently. + +2004-07-26 Werner LEMBERG <wl@gnu.org> + + * utils/lisp/emacs/thai-word.el (thai-word-table): Use Thai word + list from IBM's ICU4J project; it is slightly larger and uses an + X license. + +2004-07-25 Werner LEMBERG <wl@gnu.org> + + * utils/lisp/emacs-20.3/*: Moved to... + * utils/lisp/emacs/*: This. + + * utils/thaifont/tools/thai.enc: Minor updates. Will be replaced + with a fontinst solution soon. + +2004-06-08 Werner LEMBERG <wl@gnu.org> + + * doc/reftex.doc: New file. + * doc/history.txt: Updated. + +2004-06-07 Werner LEMBERG <wl@gnu.org> + + * utils/lisp/emacs-20.3/cjk-enc.el (cjk-write-all-files): Handle + case where files are in other directories. Bug reported by Hartwig + Crailsheim. + + * doc/cjk-enc.doc, doc/history.txt: Updated. + +2004-06-04 Werner LEMBERG <wl@gnu.org> + + * contrib/wadalab/c42goth.fdx, contrib/wadalab/c42maru.fdx, + contrib/wadalab/c42min.fdx: Don't rotate the Hiragana-Katagana + prolongation mark. + + * doc/vertical.doc: Updated. + Move text describing .fdx files to... + * doc/fdxfiles.doc: New file. + + * texinput/CJK.sty: Minor spelling improvements. + +2004-06-03 Werner LEMBERG <wl@gnu.org> + + * contrib/wadalab/DNP.doc: Improve patch for wftodm.c. + +2004-04-29 Werner LEMBERG <wl@gnu.org + Wenchang Sun <sunwch@hotmail.com> + + Add a style file for various CJK font effects. + + * texinput/CJKfntef.sty, examples/CJKfntef.tex: New files. + * doc/CJK.doc, doc/history.txt: Document it. + +2004-03-13 Werner LEMBERG <wl@gnu.org> + + * texinput/*.enc: Replace \relax with \@empty in the \CJK@namegdef + assignments to assure that we only have expansion at this macro + level. + + * doc/history.txt: Updated. + +2004-02-08 Werner LEMBERG <wl@gnu.org> + + Bug fix: Umlaut u with diacritic appears bold. + + * texinput/pinyin.sty (\py@@@v): Apply kerning at correct place. + +2004-02-07 Werner LEMBERG <wl@gnu.org> + + Bug fix: Umlaut u with macron above was broken. + + * texinput/pinyin.sty (\py@macron): Add second argument to + initialize \dimen@. Update all callers. + +2004-02-06 Werner LEMBERG <wl@gnu.org> + + Bug fix: Use user-defined \CJKglue value. + + * texinput/CJKulem.sty (\CJK@skip): New skip register. + (\UL@CJKglue): Use it. + (\UL@hook): Initialize \CJK@skip. + Move assignments of \LA@CJKglue, \LA@Thaiglue, and \LA@Thaibreak + to here. + +2004-02-05 Wenchang Sun <sunwch@hotmail.com> + + Bug fix: Disable line breaks before a post-punctuation CJK glyph + when \uline, \uwave, etc., are used. + + * texinput/CJK.sty (\CJKnobreakglue): New macro. + (\Unicode): Use it. + + * texinput/CJKulem.sty (\UL@CJKnobreakglue): New macro. + + * texinput/standard.chr, texinput/extended.chr, texinput/pmC.chr, + texinput/Bg5/bg5.chr, texinput/JIS/EUC-JP.chr, + texinput/SJIS/SJIS.chr, texinput/SJIS/SJISdnp.chr, + texinput/UTF8/UTF8.chr, texinput/CNS/EUC-TW.chr (\CJK@char, + \CJK@charx, \CJK@punctchar, \CJK@punctcharx): Use \CJKnobreakglue. + +2004-02-02 Hin-Tak Leung <htl10@users.sourceforge.net> + + * doc/pdf/*: New directory tree documenting usage of CJK for + improved PDF output. + * doc/history.txt: Document it. + +2004-01-29 Wenchang Sun <sunwch@hotmail.com> + + * texinput/CJK.sty (\CJKpunctsymbol): New \let to \CJKsymbol. + + * texinput/standard.chr, texinput/extended.chr, texinput/pmC.chr, + texinput/Bg5/bg5.chr, texinput/JIS/EUC-JP.chr, texinput/KS/KS.chr, + texinput/SJIS/SJIS.chr, texinput/SJIS/SJISdnp.chr, + texinput/UTF8/UTF8.chr, texinput/CNS/EUC-TW.chr (\CJK@punctchar, + \CJK@punctcharx): Replace \CJKsymbol with \CJKpunctsymbol. + +2003-10-12 Werner LEMBERG <wl@gnu.org> + + A first step to allow modification of horizontal character widths + which is needed for CJK fonts which don't have punctuation glyphs + centered within the CJK square. The same mechanism will work with + vertical glyphs also; since a common interface will differ from the + current implementation, *.fdv files are renamed to *.fdx. Note that + special character width handling of punctuation characters is still + missing. + + * texinput/CJK.sty (\CJK@load@fdx): New function, used as a hook + for \try@load@fontshape. It defines the macros \CJKhdef, \CJKhlet, + \CJKvdef, and \CJKvlet. The writing direction is appended to the + character macros -- this also fixes a bug for vertical writing + support with Big5 encoding (some characters disappeared in the + output without any warning due to character macro name clashes with + the subfont macro names). + (\CJK@direction): New macro to select the writing direction. + (\ifCJK@vertical@): Moved to CJKvert.sty. + + * texinput/CJKvert.sty (\ifCJK@vertical@): Moved from CJK.sty. + (\CJKvert, \CJKhorz): Set \CJK@direction. + (\CJKsymbol): Updated to use writing direction. + (\CJK@load@fdv): Removed. + + * texinput/*.chr: Simplified since \ifCJK@vertical@ is no longer + needed. + + * texinput/*.fdv, contrib/wadalab/*.fdv: Renamed to... + * texinput/*.fdx, contrib/wadalab/*.fdx: This. + +2003-10-25 Werner LEMBERG <wl@gnu.org> + + * texinput/mule/MULEenc.sty: Fix positions of \texordfeminine and + \textordmasculine. + +2003-09-20 Werner LEMBERG <wl@gnu.org> + + With the help of Paul Eggert <eggert@twinsum.com> and Edward G.J. + Lee <edt1023@ms17.hinet.net>, the conversion scripts now accept + parameters. + + * utils/Bg5conv/bg5{pdf,}latex, + utils/CEFconv/{cef5{pdf,}latex,cef{pdf,}latex,cefs{pdf,}latex}, + utils/SJISconv/sjis{pdf,}latex, + utils/extconv/{bg5+{pdf,}latex,gbk{pdf,}latex}: Rewritten to accept + arguments. + * doc/history.txt: Updated. + +2003-09-16 Werner LEMBERG <wl@gnu.org> + + * utils/Bg5conv/bg5pdflatex, + utils/CEFconv/{cef5pdflatex,cefpdflatex,cefspdflatex}, + utils/SJISconv/sjispdflatex, + utils/extconv/{bg5+pdflatex,gbkpdflatex}: New scripts to call + pdflatex. + * doc/history.txt: Updated. + +2003-07-06 Werner LEMBERG <wl@gnu.org> + + * texinput/mule/MULEenc.sty: Add some \@gobble macros in commands + defined with \mule@def. + Change definition of Thai EOL macro to make it really work. + (\mule@ignorespaces, \Thaispace, \Thainospace): New macros. + + * doc/cjk-enc.doc, doc/history.txt: Document \Thaispace and + \Thainospace. + +2003-03-30 Werner LEMBERG <wl@gnu.org> + + * doc/CJK.doc: Add item how to handle \bibliography which has + author names containing CJK characters. + + * utils/hbf2gf/hbf2gf.1: Minor workarounds for current grohtml bugs. + +2003-03-28 Werner LEMBERG <wl@gnu.org> + + Version 4.5.2 released + ====================== + + Update version numbers and time stamps in all non-binary files. + +2003-03-19 Werner LEMBERG <wl@gnu.org> + + Add improved support for pseudo-vertical typesetting. Based on + ideas by Robert Fendt <robert.fendt@epost.de>. + + * texinput/CJK.sty (\ifCJK@vertical@): New if. + + * texinput/CJKvert.sty: Require `graphicx' package. + (\CJKvert, \CJKhorz, \CJKvdef, \CJKvlet, \CJKsymbolsimple): New + commands. + (\CJKsymbol): Add support for vertical parameters (`rotate', + `offset', `fullheight, `height') in the new *.fdv files. + (\CJK@load@fdv): New command to be appended to LaTeX's + \try@load@fontshape. + + * texinput/*/*.chr: Replace calls to \CJKsymbol with an extended + version which, if \CJKvert is active, checks the existence of a + macro + + \<encoding>/<family>/<series>/<shape>/<plane>/<code> + + This macro is then called if it exists, instead of calling + \CJKsymbol. For halfwidth katakana, the macro is called + + \<encoding>/<family>/<series>/<shape>/<code> + + For HLaTeX, the macro is called + + \<encoding>/<family>/<series>/<shape>/<first byte>/<second byte> + + For UTF8, only characters in the range 0x800-0xFFFF get the new + code. + + <code>, <first byte>, and <second byte> are decimal numbers. + + * contrib/wadalab/c42{goth,maru,min}.fdv, + contrib/wadalab/c52{maru,min}.fdv, texinput/Bg5/c00bsmi.fdv, + texinput/GB/c10gbsn.fdv: New files containing information for + vertical typesetting. + + * examples/Big5vert.tex: Use font shape `bsmi'. + + * doc/history.txt, doc/chinese/README, contrib/wadalab/DNP.doc, + doc/vertical.doc, examples/README, README: Updated. + + * Makefile (DVI2PS): Load bsmilp.map and gbsnlp.map. + (cweb): Fix typo (cms->cmz). + + * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to + current versions. + + * utils/extconv/extconv.w: Remove duplicated lines. + Fix incorrect use of \@. + * utils/extconv/extconv.c: Regenerated. + +2003-03-18 Werner LEMBERG <wl@gnu.org> + + * texinput/pinyin.sty (\rua): New syllable. While only dialect, it + actually is used... + +2003-03-12 Werner LEMBERG <wl@gnu.org> + + * texinput/pinyin.sty (\den, \chua): Add missing syllables (found by + Jean-Luc Koning <Jean-Luc.Koning@esisar.inpg.fr>). + +2003-03-07 Werner LEMBERG <wl@gnu.org> + + * texinput/pinyin.sty (\py@hy): Assure horizontal mode. + +2003-02-10 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty (\CJKchar): Make \CJKchar accept 7bit input for + character definitions other than standard.chr. + * doc/history.txt: Updated. + +2003-02-06 Werner LEMBERG <wl@gnu.org> + + Horizontal hints in Wadalab fonts weren't shifted vertically, + causing inferior results at small sizes. + + * contrib/wadalab/makefont: Rewritten using awk. + * contrib/wadalab/fixwada: New. + * contrib/wadalab/DNP.doc, doc/history.txt: Updated. + * doc/INSTALL: Minor fixes. Mention wadalab.doc and pfaedit. + +2003-01-31 Werner LEMBERG <wl@gnu.org> + + Add two commands \CJKhwkatakana and \CJKnohwkatakana to control + whether C49 encoding is used or whether SJIS half-width katakana are + mapped to full-width glyphs instead. + + * texinput/CJK.sty (\CJKhwkatakana, \CJK@nohwkatakana): New commands. + (\ifCJK@hwkatakana@): New if-macro. + + * texinput/SJIS/SJIS.chr, texinput/SJIS/SJISdnp.chr (\CJK@sjischar): + Add second and third parameter to call \CJK@XXX conditionally. + * texinput/SJIS/SJIS.enc (\CJK@SJISEncoding): Fill second and + third parameters for half-width katakana. + * texinput/SJIS/SJISdnp.enc (\CJK@SJISdnpEncoding): Ditto. + * doc/commands.doc, doc/CJK.doc, doc/history.txt: Updated. + + * examples/README: New file. + +2002-07-29 Werner LEMBERG <wl@gnu.org> + + * texinput/CNS/EUC-TW.chr (\CJK@shiftchar): Pass correct parameters + to \CJKchar. + +2002-06-19 Werner LEMBERG <wl@gnu.org> + + Version 4.5.1 released + ====================== + + Update version numbers and time stamps in all non-binary files. + +2002-06-17 Werner LEMBERG <wl@gnu.org> + + Preparation of release 4.5.1. + + * README: Updated. + * texinput/CJK.sty, doc/CJK.doc: Require LaTeX 2001/06/01 to have + support for \textkra, \texttstroke, and \textTstroke. + Other minor documentation updates. + * doc/*: Updated. + +2002-06-16 Werner LEMBERG <wl@gnu.org> + + * doc/chinese/READMEgb.tex: Use `gbsn' font. + * Makefile (CJK2DVI): Remove *.toc also. + (LATEX2DVI): Take two arguments. + (LATEX): Ditto. + (DISTTARGETS): Add READMEb5 and pytest. + (READMEgb, pytest): New rules + (GB...): Updated. + (predistdoc): Create README file. + (distdoc): Depend also on `cweb'. + (cweb): New target. + +2002-06-14 Edward Lee <edt1023@ms17.hinet.net> + + * texinput/Bg5/c00bsmi.fd, texinput/Bg5/c00bsmir.fd: Fix typo. + +2002-06-13 Werner LEMBERG <wl@gnu.org> + + * Makefile: New file, used for creating the tarballs. + * README: Updated. + * texinput/GB/c10gbsn.fd, texinput/Bg5/c00bsmi.fd, + texinput/Bg5/c00bsmir.fd: New files for fonts from the TeXLive CD. + * doc/chinese/READMEb5.tex, examples/*: Changed to use the fonts + provided by the TeXLive CD. + +2002-06-12 Werner LEMBERG <wl@gnu.org> + + * texinput/JISdnp.enc (\CJK@JISdnpEncoding): Fix position of closing + brace. + +2002-06-07 Werner LEMBERG <wl@gnu.org> + + * texinput/thai/c90enc.def: New file, contributed by Dominique + Unruh <dominique@unruh.de>. + * texinput/thai/thaicjk.ldf: Use it. + * doc/history.txt: Updated. + +2002-05-16 Werner LEMBERG <wl@gnu.org> + + * doc/cjk-enc.doc: Document behaviour for master files without CJK + characters. + * doc/CJK.doc: Explain usage of `~' for BibTeX. + +2002-05-10 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKnumb.sty (\CJKnullspace): New macro to control the + additional space inserted before and after a circle used as a + CJK zero digit. + * doc/history.txt: Updated. + +2002-05-09 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKnumb.sty (\CJK@traditionalNumbers, + \CJK@simplifiedNumbers): New macros. + Use them for GB, GBK, Bg5, Bg5+ hooks. + +2002-05-01 Werner LEMBERG <wl@gnu.org> + + * doc/commands.doc: Minor fix. + + * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to + current versions. + * utils/hbf2gf/configure.in: Renamed to... + * utils/hbf2gf/configure.ac: This. + Updated to autoconf 2.53. + * utils/hbf2gf/configure: Regenerated with autoconf 2.53. + * utils/hbf2gf/README: Text improved. + * utils/hbf2gf/hbf2gf.1: Minor typographical fixes. + +2002-04-30 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty (\CJK@errxx, \CJKindent): New macros. + * texinput/CJK.enc (\CJK@spaceChar): Define it for all encodings. + It is used by \CJKindent. + (\CJK@KSHL@enc): Add \CJK@min and \CJK@max. + * texinput/SJIS/SJISdnp.enc (\CJK@SJISdnpEncoding), + texinput/JIS/JISdnp.enc (\CJK@JISdnpEncoding), + texinput/KS/HLaTeX/KSHL.enc (\CJK@KSHLEncoding): Use \CJK@errxx + for unused slots. + + * doc/history.txt, doc/commands.doc: Document \CJKindent. + + * utils/CEFconv/cef5conv.w, utils/CEFconv/cefconv.w: Fix + documentation errors. + * utils/CEFconv/cef5conv.c, utils/CEFconv/cefconv.c: Regenerated. + +2002-04-29 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty (\pickup@font): Add comment character. + +2002-04-28 Werner LEMBERG <wl@gnu.org> + + Preparation of release 4.5.0. + + * README: Updated. + +2002-04-27 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty (\CJKsymbol, \CJKsymbols): Simplified. + (\Unicode, \CJKenc): Fix error text. + +2001-10-08 Mike Fabian <mfabian@suse.de> + + * contrib/wadalab/c42goth.fd: Use `dgj' for normal series and add + `\CJKbold' for bold series. + +2001-07-31 Werner LEMBERG <wl@gnu.org> + + * doc/CJK.doc: Note use of \cleardoublepage if problems occur with + two-column printing. + +2001-07-27 Fabrice Popineau <Fabrice.Popineau@supelec.fr> + + * utils/cjklatex/cjklatex.c: New file. + +2001-06-27 Werner LEMBERG <wl@gnu.org> + + * doc/CJK.doc: Add info how to use a CJK environment in the + preamble. + * doc/cjk-enc.doc: Simplify usage of AUC TeX. + Modify definition of `TeX-run-CJK-LaTeX' to handle directories + properly. + +2001-06-15 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.enc (\CJK@disableMakeUppercase): Define it as \relax + if in preprocessed mode. + +2001-06-14 HANDA Ken'ichi <handa@etl.go.jp> + + * utils/lisp/emacs-20.3/cjk-enc.el (cjk-set-buffer-multibyte): + Use backquote operator to make cjk-enc.elc work correctly. + +2001-06-08 Werner LEMBERG <wl@gnu.org> + + The next LaTeX release will use \textkra, \texttstroke, and + \textTstroke for the missing latin-4 characters. + + * texinput/mule/MULEenc.sty: Use \textkra. Add \TEXTTSTROKE. + * utils/lisp/emacs-20.3/cjk-enc.el, utils/lisp/mule-2.3/cjk-enc.el: + Use \texttstroke and \TEXTTSTROKE. + +2001-05-26 Werner LEMBERG <wl@gnu.org> + + * texinputs/CJK.sty: Restore EOL character before loading `CJK.cfg'. + +2001-05-18 Werner LEMBERG <wl@gnu.org> + + * contrib/wadalab/DNP.doc: Document installation for pdfTeX. + * contrib/wadalab/makefont: Updated to normalize font matrix of + PS fonts. + +2001-04-24 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to + latest version from gnu.org. + +2001-04-21 Werner LEMBERG <wl@gnu.org> + + * examples/muletest.tex: Remove Thai support so that this file can + really be run with Mule 2.3. + Update comment. + * example/CJKbabel.tex, example/rubytest.tex: Update comment. + + * utils/lisp/emacs-20.3/cjk-enc.el (cjk-format-spec-table): Fix + Thai. + * texinput/mule/MULEenc.sty (\mule@char): Don't use delimiter. + * texinput/SJIS/sjisdnp.enc: Update this file also to the changes + introduced 2001-03-15. + +2001-04-17 Werner LEMBERG <wl@gnu.org> + + * examples/*.tex: Added local variables for Emacs to specify + encoding. + * doc/history.txt: Emphasize the need of local variables for the + encoding if `cjk-enc.el' is used. + +2001-04-02 Werner LEMBERG <wl@gnu.org> + + * utils/lisp/emacs-20.3/cjk-enc.el: Fix documentation to follow + Elisp documentation conventions. + +2001-04-01 Werner LEMBERG <wl@gnu.org> + + Make UTF8 encoding work in TOC. + + * texinput/CJK.sty (\CJK@namedef): New macro. + * texinput/UTF8/UTF8.bdg: Use it. + +2001-03-28 Werner LEMBERG <wl@gnu.org> + + * texinput/mule/MULEenc.sty: Use \textnumero instead of \CYRNo + (found by Vladimir Volovich). + +2001-03-18 Werner LEMBERG <wl@gnu.org> + + * utils/lisp/cjkspace.el, INSTALL: Fix documentation. + +2001-03-15 Werner LEMBERG <wl@gnu.org> + + A major change: Preprocessed and non-preprocessed mode can be used + simultaneously! For example, you can now use include a file encoded + in UTF-8 in another file encoded in Big5. + + To achieve this, ^^7f will always start a command in preprocessed + mode, even for CJK macros. + + * texinput/CJK.sty: Require MULEenc.sty. + Remove ^^7f handling. + Remove preprocessed versions of \CJK@XX, \CJK@XXX, and \CJK@XXXX. + (\CJKcaption): Always include .cpx files. + + * texinput/CJK.enc (\CJK@disableMakeUppercase): New macro. + (\CJK@shiftError): New macro. + (\CJK@unicodeError): New macro. + (\CJK@makeEnvironment): Don't handle \MakeUppercase. + (\CJK@*@enc): Always use `true' branch in \CJKpreproc conditionals. + + * texinput/mule/MULEenc.sty (\mule@@@arg, \mule@def): Use \string. + (\mule@@def): New function to set up macros for leading bytes in the + range ^^81-^^fe. + * texinput/extended.enc (\CJK@extendedEncoding), + texinput/Bg5/Bg5.enc (\CJK@Bg5Encoding), texinput/SJIS/SJIS.enc + (\CJK@SJISEncoding): Use \CJK@disableMakeUppercase. + * texinput/pmCbig.enc (\CJK@pmCbigEncoding), texinput/pmCsmall.enc + (\CJK@pmCsmallEncoding), texinput/standard.enc + (\CJK@standardEncoding): Add \relax. + * texinput/CNS/EUC-TW.enc (\CJK@EUC-TWEncoding), + texinput/JIS/EUC-JP.enc (\CJK@EUC-JPEncoding): Use \CJK@shiftError + for single shifts. Add \relax for all other macros. + * texinput/UTF8/UTF8.enc (\CJK@UTF8Encoding): Use \CJK@unicodeError + for three-byte sequences. Add \relax for all other macros. + + * texinput/*/*.cpx: Updated to new preprocessing scheme. + + * utils/*conv/*conv.w: Updated to new preprocessing scheme. + * utils/*conv/*conv.c: Regenerated. + + * utils/lisp/emacs-20.3/cjk-enc.el (cjk-format-spec-table): Updated + to new preprocessing scheme. + (cjk-encode): Fix file header insertion strings. + * utils/lisp/mule-2.3/cjk-enc.el (cjk-enc-table): Updated to new + preprocessing scheme. + (cjk-encode): Fix file header insertion strings. + + * doc/*: Updated and revised. + +2001-03-13 Werner LEMBERG <wl@gnu.org> + + Implement \CJKinput. + + * mule/MULEenc.sty (\CJKinput): New macro. + (\CJKinclude): Fix error message. + + * utils/lisp/emacs-20.3/cjk-enc.el (cjk-write-all-files): Update + docstring. + (tex-input-regexp): New test for \CJKinput. + (do-batch-cjk-write-file): Fix typo. + + * texinput/thai/thaicjk.ldf: Fix typo. + +2001-02-21 Werner LEMBERG <wl@gnu.org> + + * doc/INSTALL: Minor improvements. + +2001-02-13 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/config.{guess,sub}: Updated (from ftp.gnu.org). + +2000-12-17 Werner LEMBERG <wl@gnu.org> + + * utils/SJISconv/sjisconv.w: Fix typo ff -> 7f. + * utils/CEFconv/cef5conv.w, utils/CEFconv/cefconv.w: Ditto. + + * utils/*conv/*conv.w: \XXXpreproc will now contain the version of + the conversion program. + * utils/*conv/*conv.c: Updated. + + * doc/history.txt: Updated. + + * all files: Version number changed to 4.4.0. + +2000-12-03 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/configure.in: Fix kpathsea checking message. + * utils/hbf2gf/configure: Updated. + +2000-12-02 Werner LEMBERG <wl@gnu.org> + + * doc/cjk-enc.doc: Clarify usage of cjk-coding. + * doc/INSTALL: Add hints how to use kpsewhich to check + configuration. + +2000-12-01 Werner LEMBERG <wl@gnu.org> + + * doc/INSTALL: Fix documentation of --with-kpathsea-include. + * doc/cjk-enc.doc: Fix typo. + +2000-09-21 Werner LEMBERG <wl@gnu.org> + + * texinput/{CJK.sty, CJKulem.sty, pinyin.sty, ruby.sty}: Replacing + some \ifdim with \ifnum. + +2000-09-20 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKulem.sty: Fixed two nasty bugs (spotted by Sim Ing + <sim@ubs-aptsocap.org>): No underlining for \CJKglue and no \CJKglue + before and after \uline. + +2000-08-28 Werner LEMBERG <wl@gnu.org> + + * utils/thaifont/texmf/dvips/config/config.{norasi,dbtt}: New files. + * doc/thaifont.doc: Added info about PS font configuration. + +2000-08-24 Werner LEMBERG <wl@gnu.org> + + * utils/lisp/emacs-20.3/thai-word.el (thai-update-word-table): Add + documentation string. + +2000-08-24 HANDA Ken'ichi <handa@etl.go.jp> + + * utils/lisp/emacs-20.3/thai-word.el (thai-update-word-table): New + function. + (thai-find-word-ends): Fix loop. + +2000-08-23 Werner LEMBERG <wl@gnu.org> + + * texinput/thai/thaicjk.ldf: Remove warning about nonexistent + hyphenation patterns. + +2000-08-20 Werner LEMBERG <wl@gnu.org> + + Another big sigh. Wrong glyph names for Norasi's Thai digits. + Additionally, all ligature rules no longer use `>' to make kerning + possible. + + * utils/thaifont/texmf/dvips/base/norasi.enc: Fixed. + * utils/thaifont/tools/{thai.enc,thailigs.vpl}: Updated. + * utils/thaifont/texmf/fonts/{tfm,vf}/public/{dbtt,norasi}/*: + Regenerated. + +2000-08-19 Werner LEMBERG <wl@gnu.org> + + * examples/thai.tex: New file. + * doc/history.txt: Updated. + + * examples/CJKbabel.tex: Doc fixes. + +2000-08-17 Werner LEMBERG <wl@gnu.org> + + * doc/cjk-enc.el, doc/thaifont.doc: Give better URL for thailatex + package. + +2000-08-15 Werner LEMBERG <wl@gnu.org> + + Sigh, another forgotten Thai ligature rule. + + * utils/thaifont/tools/{thai.enc,thailigs.vpl}: Updated. + * utils/thaifont/texmf/fonts/{tfm,vf}/public/{dbtt,norasi}/*: + Regenerated. + +2000-08-15 Werner LEMBERG <wl@gnu.org> + + * texinput/thai/c90{cmr,cmss.cmtt}.fd: Make font substitution + silent. + + * utils/thaifont/texmf/dvips/base/norasi.enc: Fixing typo. + * utils/thaifont/texmf/fonts/{tfm,vf}/public/norasi/*: Updated. + +2000-08-13 Werner LEMBERG <wl@gnu.org> + + Improved support for Thai. + + * doc/thaifont.doc: New file. + + * utils/thaifont/*: Metrics and support files for Thai fonts. + + * texinput/thai/c90{nrsr,dbss}.fd: New font definition files for + dbtt and norasi font families. + * texinput/thai/c90{cmr,cmss,cmtt}.fd: Font alias files. + * texinput/thai/thaicjk.ldf: New file for thai support in Babel. + * texinput/thai/thai.sty: Removed. + + * utils/lisp/emacs20.3/cjk-enc.el: Redesigned Thai support by + HANDA Ken'ichi <handa@etl.go.jp>. + Will now run under XEmacs also (with help of Martin Buchholz + <martin@xemacs.org>). No Thai support yet due to limitations in + current XEmacs version (21.2). + (cjk-write-all-files): New optional argument to force the processing + of all files. + (do-batch-cjk-write-file): New function. + (batch-cjk-write-file): Use do-batch-cjk-write-file. + (batch-force-cjk-write-file): New function. Uses + do-batch-cjk-write-file also. + * utils/lisp/mule-2.3/cjk-enc.el: Rename write-cjk-file to + cjk-write-file for consistency. + * utils/lisp/emacs20.3/thai-word.el: New file written by HANDA + Ken'ichi for Thai word breaking support. Replaces thaiconv. + * utils/thaiconv: Removed. + + * utils/lisp/emacs20/cjk-enc.el: Removed. No longer supported. + + * texinput/mule/MULEenc.sty: Adapted to new cjk-enc.el version. + Make it robust for CJKulem.sty. + + * examples/CJKbabel.tex: Use CJKulem.sty and thaicjk module for + Babel. + * examples/muletest.tex: Remove \if... \fi clause for Thai. + + * doc/history.txt, doc/INSTALL: Updated. + +2000-08-12 Werner LEMBERG <wl@gnu.org> + + * texinput/CJKulem.sty: New file which provides CJK support for + ulem.sty. + * doc/history.txt, doc/CJK.doc: Updated. + +2000-08-09 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/configure.in: Replaced --with-kpathsea-dir with + --with-kpathsea-lib and --with-kpathsea-include. + * utils/hbf2gf/configure, doc/history.txt, doc/INSTALL, + doc/hbf2gf.doc: Updated. + + * texinput/CJK.sty, texinput/mule/MULEenc.sty: New command + \CJKverbatim which disables \Thaiglue and \CJKglue in verbatim + environments if the `verbatim' package is loaded. + * doc/history.txt, doc/CJK.doc, doc/commands.doc: Updated. + +2000-07-30 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to + latest version from ftp.gnu.org. + +2000-07-27 Werner LEMBERG <wl@gnu.org> + + * utils/thaiconv/thaiconv.c: Improve comment. + + * *.fd: Set \hyphenchar to -1 for all CJK fonts. + +2000-06-23 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/config.guess, utils/hbf2gf/config.sub: Updated to + latest version from ftp.gnu.org. + + * texinput/CJK.enc: Removed redefinition of C42 and C49. + +2000-05-03 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty: Specifying an optional argument to the `CJK' + size function will no longer produce a warning message for each + subfont. + + * contrib/wadalab/*.fd, doc/CJK.doc, doc/fonts.doc: Wadalab PS fonts + now use `CJK' size functions instead of `DNP' ones. + + * doc/history.txt: Updated. + +2000-05-02 Werner LEMBERG <wl@gnu.org> + + * texinput/*/*.cpx: Replace incorrect 0xFF with 0x7F. + +2000-04-18 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty, texinput/pinyin.sty, texinput/ruby.sty: + Balancing the small kern control values, e.g. using + `\kern -1sp\kern 1sp' instead of `\kern 1sp' only. + + Replacing kern value of 3sp with 5sp to avoid clash with ulem.sty. + +2000-04-01 Werner LEMBERG <wl@gnu.org> + + Version 4.3.0 released + ====================== + + This version exists on the Tex Live CD 5 only; a lot of files have + been adapted to the special needs of the CD's texmf tree -- these + changes are not in the CVS tree. + +2000-03-15 Werner LEMBERG <wl@gnu.org> + + * contrib/wadalab/wadalab.map: Renamed from Wadalab.map + * contrib/wadalab/DNP.doc: Updated accordingly. + + * utils/hbf2gf/cfg/*: Updated -- if possible, the foundry is used + as the target directory instead of the encoding, e.g. + `tfm/ntu/b5ka12'. + +2000-03-14 Werner LEMBERG <wl@gnu.org> + + * texinput/SJIS/SJISdnp.{chr,enc}: New files to support SJIS + encoding with DNP fontencoding. + * texinput/CJK.enc: Add SJISdnp. + Add forgotten punctuation pattern macro to KSHL encoding. + * doc/history.txt, doc/CJK.doc, doc/command.doc: Update. + +2000-03-13 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty: Fixing definition of ^^7f to do nothing if + written to the TOC file. + +2000-03-12 Werner LEMBERG <wl@gnu.org> + + * texinput/KS/HLaTeX/pshan.sty: Fix typo. + + Call \mj to activate default family correctly. + + * contrib/wadalab/makefont: Add echo commands. + * contrib/wadalab/DNP.doc: Updated. Add info about gsftopk. + +2000-03-03 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/README: New file. + * utils/hbf2gf/hbf2gf.1, doc/hbf2gf.doc: Small improvements. + + * README: Removed `romaji environment' from TODO section. According + to HANDA Ken'ichi <handa@etl.go.jp> it is impossible to provide + hyphenation patterns for transcribed Japanese without semantic + analysis. + +2000-03-02 Werner LEMBERG <wl@gnu.org> + + * README, doc/INSTALL: Slight improvements. + + * utils/hbf2gf/Makefile.in, utils/hbf2gf/configure.in: Fix incorrect + test for NO_STRDUP. Thanks to <Andries.Brouwer@cwi.nl>. + +2000-02-06 Werner LEMBERG <wl@gnu.org> + + * texinput/CJK.sty, texinput/mule/MULEenc.sty, + utils/lisp/*/cjk-enc.el, utils/*conv/*conv.[cw], history.txt, + CJK.doc, cjk-enc.doc: Use 0x7F both as the multiplex character and + as a delimiter -- apparently no package uses this character... + This solves all problems with \uppercase and \lowercase. + + * utils/hbf2gf/cfg/j2so12.cfg: Added `min_char' parameter to get + correct offsets (thanks to Martin Minich + <minich5@kepler.fmph.uniba.sk> for finding this bug). + +2000-01-26 Werner LEMBERG <wl@gnu.org> + + * doc/cjk-enc.doc, doc/history.txt, examples/CJKbabel.tex, + examples/muletest.tex, texinput/mule/MULEenc.sty, + utils/lisp/*/cjk-enc.el: Change X5 to T5. + +2000-01-20 Werner LEMBERG <wl@gnu.org> + + * examples/muletest.tex: Greek added; updated to X5 encoding. + * examples/CJKbabel.tex: Greek added; updated to X5 encoding. + + * texinput/mule/MULEenc.sty: Use \AtBeginDocument for \mule@<accent> + definitions. + +2000-01-14 Werner LEMBERG <wl@gnu.org> + + * doc/cjk-enc.doc: Added info about file variables to specify + document encoding. + +2000-01-03 Ching-Mo CHANG <chingmo@mail.onweb.com.tw> + + * utils/lisp/emacs-20.3/cjk-enc.el (cjk-write-all-files): Always + returned nul for include and bib file names due to incorrect + pattern matching. + +1999-12-18 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/configure.in: Removed `-pedantic' flag which causes + problems with newer gcc versions. + +1999-11-19 Werner LEMBERG <wl@gnu.org> + + * examples/muletest.tex, examples/CJKbabel.tex: Fixing a typo. + +1999-11-07 Werner LEMBERG <wl@gnu.org> + + * doc/CEF.doc: Minor fixes. + + * doc/CJK.doc: Updated; minor fixes. + +1999-11-06 Werner LEMBERG <wl@gnu.org> + + * doc/cjk-enc.doc, doc/commands.doc, doc/fonts.doc: Minor fixes. + + * doc/vertical.doc, doc/history.txt: Updated. + +1999-11-05 Werner LEMBERG <wl@gnu.org> + + * texinput/mule/MULEenc.sty: Added \CJKinclude{<file>} and + \CJKbibliography{<file>}. These functions act identically to + \include resp. \bibliography but load <file>.cjk + resp. <file>-cjk.bib. + + * utils/lisp/emacs-20.3/cjk-enc.el: Using `cjk' throughout as the + prefix to variable and function names. This causes a renaming of + virtually all functions. Some other local variables were renamed + also for consistency. + + Changing ET5 to X5 encoding for Vietnamese. + + (decompose-char): Removed. Not needed at all. + + (cjk-tex-in-comment): New function. Similar to AUC TeX's + TeX-in-comment function; has been added to be independent from AUC + TeX. + + (cjk-write-all-files): New function. It checks for \CJKinclude + and \CJKbibliography commands in the master file and converts the + referenced files accordingly if necessary. Intended as a hook to + AUC TeX to make multiple files work as expected. + +1999-11-02 Werner LEMBERG <wl@gnu.org> + + * doc/cjk-enc.doc: Small improvement in explanation of usage with + AUC TeX. + +1999-10-24 Werner LEMBERG <wl@gnu.org> + + * utils/lisp/emacs-20.3/cjk-enc.el (get-cjk-name): New function. + + (file-write-cjk-file, batch-write-cjk-file): New functions which + do the same as write-cjk-file but operate on a given file (resp. a + suite of files and directories given on the command line). + + (write-cjk-file): Will now properly ask for a file name if the + current buffer is not visiting a file. + + * doc/cjk-enc.doc: Expanded TeX-translate-location-hook to cover + CJK BibTeX input files also. + + TeX-run-CJK-LaTeX now checks whether it must call write-cjk-file + at all (emacs > 20.3 only). + +1999-10-07 Werner LEMBERG <wl@gnu.org> + + * texinput/mule/MULEenc.sty: Removed \textendash wrapper macro. + + * utils/lisp/{emacs-20.3,emacs-20,mule-2.3}/cjk-enc.el: Added + iso-8859-9 (Greek) support (mapped to LGR encoding as used in the + Babel package). + + Fixed character `SOFT-HYPHEN' in iso-8859-x encodings (using `\-' + instead of \textendash). + + * README, doc/cjk-enc.doc, doc/history.txt: Updated. + + * doc/CJK.doc: Fixed a typo. + + * texinput/CJK.enc, texinput/CJK.sty, texinput/*/{*.cap,*.cpx}: + Replaced `\ifx\foo \undefined' with `\@ifundefined{}{}' to fix the + case that a not-defined macro has been tested with \@ifundefined + before. In this case, it is no longer undefined but identical to + \relax. + + * texinput/pmC.chr: Fixed punctuation macros for pmC. + +1999-10-02 Werner LEMBERG <wl@gnu.org> + + * texinput/pinyin.sty: The method with appending `\-' to all + syllables fails (stupid I am :-), so here a solution which really + works. It uses a small kern (4sp, similar to the ruby and CJK + packages) to tell the following pinyin syllable that a + discretionary has to be inserted. + +1999-10-01 Werner LEMBERG <wl@gnu.org> + + * texinput/mule/MULEenc.sty: \lccode and \uccode of ^^ff must not + be modified, otherwise hyphenation patterns containing \ss will + fail (which happens e.g. in German). + +1999-09-28 Werner LEMBERG <wl@gnu.org> + + * doc/history.txt: Updated. + + * utils/pyhyphen/pyhyph.tex, utils/pyhyphen/pytest.tex, + utils/pyhyphen/pinyin.ldf, doc/pyhpyhen.doc: Hyphenation patterns + for unaccented pinyin syllables to be used with the Babel package. + + * utils/pyhyphen/pinyin.c, utils/pyhpyhen/pinyin.tr: Utility files + for creating pinyin hyphenation patterns. + +1999-09-27 Werner LEMBERG <wl@gnu.org> + + * doc/history.txt: Updated. + +1999-09-21 Werner LEMBERG <wl@gnu.org> + + * texinput/pinyin.sty: Adding hyphenation points at the end of all + syllables. + +1999-09-18 Werner LEMBERG <wl@gnu.org> + + * texinput/pinyin.sty: Making accent commands like \py@a robust. + + Added option `useCMmacron' (for LaTeX only) to use a macron accent + from the CM fonts in case the used font doesn't have it + (e.g. some versions of virtual files for Palatino). + +1999-08-26 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/hbf2gf.1: Added some documentation how to find out + the expanded value of a kpathsea variable (like $MISCFONT). + +1999-08-07 Werner LEMBERG <wl@gnu.org> + + * utils/thaiconv/thaiconv.c (adj): Fixed invalid array index in + case of marks without base characters. + +1999-07-07 Werner LEMBERG <wl@gnu.org> + + * texinput/Bg5/Bg5.chr, + texinput/extended.chr: Fixed a typo \CJK@temp->\CJK@gtemp + +1999-06-30 Werner LEMBERG <wl@gnu.org> + + * utils/lisp/emacs-20/cjk-enc.el, + utils/lisp/emacs-20.3/cjk-enc.el, + utils/lisp/mule-2.3: Fixed code for 0x80 multiplex character. + +1999-06-22 Werner LEMBERG <wl@gnu.org> + + * doc/TDS.doc: Completely revised. + +1999-06-10 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/configure.in: Removed `-ansi' flag which can cause + problems with the kpathsea library (which is not compiled with + -ansi). + +1999-06-07 Werner LEMBERG <wl@gnu.org> + + * utils/hbf2gf/hbf2gf.1: Added documentation about MiKTeX. + + * utils/hbf2gf/hbf2gf.w: Added support for MiKTeX file search + library. + + * texinput/CEF/*.fd: Removed -- these files were erroneously + included into the CVS repository. + +1999-06-04 Werner LEMBERG <wl@gnu.org> + + * *.fd files: minor documentation addition regarding font + encoding. + + * all files: Changed date/version to 4.3.0. + +1999-06-02 Werner LEMBERG <wl@gnu.org> + + * README: Added info about http and ftp home sites and how to + access the CVS repository. + +1999-06-01 Werner LEMBERG <wl@gnu.org> + + * README: Added info about CVS mailing list. + +1999-05-29 Werner LEMBERG <wl@gnu.org> + + * README: Added mailing list. + + * doc/INSTALL: Small correction. + + * README: Small additions. + +;; Local Variables: +;; coding: utf-8 +;; End: + + Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Werner Lemberg <wl@gnu.org> + + This file is part of the CJK package for using Asian logographs + (Chinese/Japanese/Korean) with LaTeX2e. + + 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, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. diff --git a/Master/texmf-dist/doc/latex/cjk/MANIFEST b/Master/texmf-dist/doc/latex/cjk/MANIFEST new file mode 100644 index 00000000000..9a4922cc63e --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/MANIFEST @@ -0,0 +1,453 @@ +Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> + +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 license applies to all files of the CJK package, unless otherwise +stipulated in the source file. + + +The CJK package contains the following files: + + ChangeLog + MANIFEST + Makefile + README + contrib/wadalab/DNP.sfd + contrib/wadalab/DNP.txt + contrib/wadalab/c42goth.fd + contrib/wadalab/c42goth.fdx + contrib/wadalab/c42maru.fd + contrib/wadalab/c42maru.fdx + contrib/wadalab/c42min.fd + contrib/wadalab/c42min.fdx + contrib/wadalab/c52maru.fd + contrib/wadalab/c52maru.fdx + contrib/wadalab/c52min.fd + contrib/wadalab/c52min.fdx + contrib/wadalab/c70goth.fd + contrib/wadalab/c70goth.fdx + contrib/wadalab/c70maru.fd + contrib/wadalab/c70maru.fdx + contrib/wadalab/c70min.fd + contrib/wadalab/c70min.fdx + contrib/wadalab/fixwada + contrib/wadalab/fixwada2.pl + contrib/wadalab/makefont + contrib/wadalab/makeuniwada.pl + contrib/wadalab/wadalab.map + doc/CEF.txt + doc/CJK.txt + doc/CJKutf8.txt + doc/COPYING + doc/INSTALL + doc/TDS.txt + doc/TeXLive.txt + doc/chinese/README + doc/chinese/READMEb5.tex + doc/chinese/READMEgb.tex + doc/chinese/emTeXb5.txt + doc/chinese/teTeXb5.txt + doc/cjk-enc.txt + doc/commands.txt + doc/dvidrv.txt + doc/fdxfiles.txt + doc/fonts.txt + doc/hbf2gf.txt + doc/history.2_5 + doc/history.txt + doc/japanese/README + doc/japanese/ascii.txt + doc/japanese/japanese.jis + doc/japanese/japanese.txt + doc/japanese/jp-fonts.txt + doc/japanese/jp-tex.txt + doc/japanese/preview.txt + doc/japanese/shibuaki.txt + doc/pdfhowto/HOWTO.txt + doc/pdfhowto/examples/bkai.map + doc/pdfhowto/examples/cid-x.map + doc/pdfhowto/examples/cwtb.map + doc/pdfhowto/examples/dvipdfmx.cfg + doc/pdfhowto/examples/gen-map.pl + doc/pdfhowto/examples/map.list + doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd + doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd + doc/pdfhowto/examples/texinput/GB/c10tmpl.fd + doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd + doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd + doc/pdfhowto/examples/updmap.my + doc/pdfhowto/examples/wcl.sfd + doc/pinyin.txt + doc/pyhyphen.txt + doc/reftex.txt + doc/ruby.txt + doc/thaifont.txt + doc/vertical.txt + doc/xCJK.txt + examples/Big5.tex + examples/Big5vert.tex + examples/CEF_test.tex + examples/CJKbabel.tex + examples/CJKfntef.tex + examples/CJKmixed.tex + examples/CJKutf8.tex + examples/GB.tex + examples/JIS.tex + examples/KS.tex + examples/README + examples/SJIS.tex + examples/UTF8.tex + examples/muletest.tex + examples/py_test.tex + examples/rubytest.tex + examples/thai.tex + examples/xCJK.tex + texinput/Bg5/Bg5.cap + texinput/Bg5/Bg5.chr + texinput/Bg5/Bg5.cpx + texinput/Bg5/Bg5.enc + texinput/Bg5/HK.enc + texinput/Bg5/c00bkai.fdx + texinput/Bg5/c00bsmi.fd + texinput/Bg5/c00bsmi.fdx + texinput/Bg5/c00bsmir.fd + texinput/Bg5/c00bsmir.fdx + texinput/Bg5/c00cns.fd + texinput/Bg5/c00fs.fd + texinput/Bg5/c00kai.fd + texinput/Bg5/c00kair.fd + texinput/Bg5/c00kair.fdx + texinput/Bg5/c00song.fd + texinput/Bg5/c01song.fd + texinput/Bg5/c05song.fd + texinput/Bg5/c09song.fd + texinput/CEF/c80song.fd + texinput/CEF/c81song.fd + texinput/CJK.enc + texinput/CJK.sty + texinput/CJKfntef.sty + texinput/CJKnumb.sty + texinput/CJKulem.sty + texinput/CJKutf8.sty + texinput/CJKvert.sty + texinput/CNS/EUC-TW.bdg + texinput/CNS/EUC-TW.chr + texinput/CNS/EUC-TW.enc + texinput/CNS/c31song.fd + texinput/CNS/c32song.fd + texinput/CNS/c33song.fd + texinput/CNS/c34song.fd + texinput/CNS/c35song.fd + texinput/CNS/c36song.fd + texinput/CNS/c37song.fd + texinput/GB/GB.cap + texinput/GB/GB.cpx + texinput/GB/c10fs.fd + texinput/GB/c10gbsn.fd + texinput/GB/c10gbsn.fdx + texinput/GB/c10song.fd + texinput/GB/c11song.fd + texinput/GB/c19song.fd + texinput/GB/c20song.fd + texinput/GB/c21song.fd + texinput/JIS/EUC-JP.bdg + texinput/JIS/EUC-JP.chr + texinput/JIS/EUC-JP.enc + texinput/JIS/EUC-JPdnp.enc + texinput/JIS/JIS.cap + texinput/JIS/JIS.cpx + texinput/JIS/JISdnp.enc + texinput/JIS/c40song.fd + texinput/JIS/c41song.fd + texinput/JIS/c42song.fd + texinput/JIS/c43song.fd + texinput/JIS/c50song.fd + texinput/KS/HLaTeX/HLaTeX.chr + texinput/KS/HLaTeX/KSHL.enc + texinput/KS/HLaTeX/c63bm.fd + texinput/KS/HLaTeX/c63dn.fd + texinput/KS/HLaTeX/c63gr.fd + texinput/KS/HLaTeX/c63gs.fd + texinput/KS/HLaTeX/c63gt.fd + texinput/KS/HLaTeX/c63jgt.fd + texinput/KS/HLaTeX/c63jmj.fd + texinput/KS/HLaTeX/c63jnv.fd + texinput/KS/HLaTeX/c63jsr.fd + texinput/KS/HLaTeX/c63mj.fd + texinput/KS/HLaTeX/c63pg.fd + texinput/KS/HLaTeX/c63pga.fd + texinput/KS/HLaTeX/c63ph.fd + texinput/KS/HLaTeX/c63pn.fd + texinput/KS/HLaTeX/c63sh.fd + texinput/KS/HLaTeX/c63tz.fd + texinput/KS/HLaTeX/c63vd.fd + texinput/KS/HLaTeX/c63yt.fd + texinput/KS/HLaTeX/c64bm.fd + texinput/KS/HLaTeX/c64dn.fd + texinput/KS/HLaTeX/c64gr.fd + texinput/KS/HLaTeX/c64gs.fd + texinput/KS/HLaTeX/c64gt.fd + texinput/KS/HLaTeX/c64jgt.fd + texinput/KS/HLaTeX/c64jmj.fd + texinput/KS/HLaTeX/c64jnv.fd + texinput/KS/HLaTeX/c64jsr.fd + texinput/KS/HLaTeX/c64mj.fd + texinput/KS/HLaTeX/c64pg.fd + texinput/KS/HLaTeX/c64pga.fd + texinput/KS/HLaTeX/c64ph.fd + texinput/KS/HLaTeX/c64pn.fd + texinput/KS/HLaTeX/c64sh.fd + texinput/KS/HLaTeX/c64tz.fd + texinput/KS/HLaTeX/c64vd.fd + texinput/KS/HLaTeX/c64yt.fd + texinput/KS/HLaTeX/c65bm.fd + texinput/KS/HLaTeX/c65dn.fd + texinput/KS/HLaTeX/c65gr.fd + texinput/KS/HLaTeX/c65gs.fd + texinput/KS/HLaTeX/c65gt.fd + texinput/KS/HLaTeX/c65jgt.fd + texinput/KS/HLaTeX/c65jmj.fd + texinput/KS/HLaTeX/c65jnv.fd + texinput/KS/HLaTeX/c65jsr.fd + texinput/KS/HLaTeX/c65mj.fd + texinput/KS/HLaTeX/c65pg.fd + texinput/KS/HLaTeX/c65pga.fd + texinput/KS/HLaTeX/c65ph.fd + texinput/KS/HLaTeX/c65pn.fd + texinput/KS/HLaTeX/c65sh.fd + texinput/KS/HLaTeX/c65tz.fd + texinput/KS/HLaTeX/c65vd.fd + texinput/KS/HLaTeX/c65yt.fd + texinput/KS/HLaTeX/pshan.sty + texinput/KS/KS.chr + texinput/KS/KS.enc + texinput/KS/c60dr.fd + texinput/KS/c60gr.fd + texinput/KS/c60gs.fd + texinput/KS/c60gt.fd + texinput/KS/c60hgt.fd + texinput/KS/c60hmj.fd + texinput/KS/c60hol.fd + texinput/KS/c60hpg.fd + texinput/KS/c60mj.fd + texinput/KS/c61dr.fd + texinput/KS/c61gr.fd + texinput/KS/c61gs.fd + texinput/KS/c61gt.fd + texinput/KS/c61hgt.fd + texinput/KS/c61hmj.fd + texinput/KS/c61hol.fd + texinput/KS/c61hpg.fd + texinput/KS/c61mj.fd + texinput/KS/c62song.fd + texinput/KS/hangul.cap + texinput/KS/hangul.cpx + texinput/KS/hangul2.cap + texinput/KS/hangul2.cpx + texinput/KS/hanja.cap + texinput/KS/hanja.cpx + texinput/SJIS/SJIS.bdg + texinput/SJIS/SJIS.cap + texinput/SJIS/SJIS.chr + texinput/SJIS/SJIS.cpx + texinput/SJIS/SJIS.enc + texinput/SJIS/SJISdnp.chr + texinput/SJIS/SJISdnp.enc + texinput/SJIS/c49song.fd + texinput/UTF8/UTF8.bdg + texinput/UTF8/UTF8.chr + texinput/UTF8/UTF8.enc + texinput/UTF8/c70bkai.fd + texinput/UTF8/c70bkai.fdx + texinput/UTF8/c70bsmi.fd + texinput/UTF8/c70bsmi.fdx + texinput/UTF8/c70gbsn.fd + texinput/UTF8/c70gkai.fd + texinput/UTF8/c70mj.fd + texinput/UTF8/c70song.fd + texinput/UTF8/ja.cpx + texinput/UTF8/ko-Hang2.cpx + texinput/UTF8/ko-Hang.cpx + texinput/UTF8/ko-Hani.cpx + texinput/UTF8/xUTF8.chr + texinput/UTF8/xUTF8.enc + texinput/UTF8/zh-Hans.cpx + texinput/UTF8/zh-Hant.cpx + texinput/extended.chr + texinput/extended.enc + texinput/mule/MULEenc.sty + texinput/pinyin.sty + texinput/pmC.chr + texinput/pmCbig.enc + texinput/pmCsmall.enc + texinput/ruby.sty + texinput/standard.bdg + texinput/standard.chr + texinput/standard.enc + texinput/thai/c90cmr.fd + texinput/thai/c90cmss.fd + texinput/thai/c90cmtt.fd + texinput/thai/c90enc.def + texinput/thai/c90gar.fd + texinput/thai/c90nrsr.fd + texinput/thai/thaicjk.ldf + texinput/xCJK.sty + texinput/xpmC.chr + texinput/xpmC.enc + texlive/README + texlive/c63mj.fd + texlive/c64mj.fd + texlive/c65mj.fd + utils/Bg5conv/bg5conv.1 + utils/Bg5conv/bg5conv.c + utils/Bg5conv/bg5conv.w + utils/Bg5conv/bg5latex + utils/Bg5conv/bg5latex.bat + utils/Bg5conv/bg5latex.cmd + utils/Bg5conv/bg5pdflatex + utils/CEFconv/cef5conv.1 + utils/CEFconv/cef5conv.c + utils/CEFconv/cef5conv.w + utils/CEFconv/cef5latex + utils/CEFconv/cef5ltx.bat + utils/CEFconv/cef5ltx.cmd + utils/CEFconv/cef5pdflatex + utils/CEFconv/cefconv.1 + utils/CEFconv/cefconv.c + utils/CEFconv/cefconv.w + utils/CEFconv/ceflatex + utils/CEFconv/ceflatex.bat + utils/CEFconv/ceflatex.cmd + utils/CEFconv/cefpdflatex + utils/CEFconv/cefsconv.1 + utils/CEFconv/cefsconv.c + utils/CEFconv/cefsconv.w + utils/CEFconv/cefslatex + utils/CEFconv/cefsltx.bat + utils/CEFconv/cefsltx.cmd + utils/CEFconv/cefspdflatex + utils/SJISconv/sjisconv.1 + utils/SJISconv/sjisconv.c + utils/SJISconv/sjisconv.w + utils/SJISconv/sjislatex + utils/SJISconv/sjisltx.bat + utils/SJISconv/sjisltx.cmd + utils/SJISconv/sjispdflatex + utils/cjklatex/cjklatex.c + utils/extconv/bg5+latex + utils/extconv/bg5+pdflatex + utils/extconv/bg5pltx.bat + utils/extconv/bg5pltx.cmd + utils/extconv/extconv.1 + utils/extconv/extconv.c + utils/extconv/extconv.w + utils/extconv/gbklatex + utils/extconv/gbklatex.bat + utils/extconv/gbklatex.cmd + utils/extconv/gbkpdflatex + utils/f_name.bat + utils/hbf2gf/Makefile.gnu + utils/hbf2gf/Makefile.in + utils/hbf2gf/README + utils/hbf2gf/c-auto.h + utils/hbf2gf/cfg/README + utils/hbf2gf/cfg/b5ka12.cfg + utils/hbf2gf/cfg/b5kr12.cfg + utils/hbf2gf/cfg/b5so12.cfg + utils/hbf2gf/cfg/c1so12.cfg + utils/hbf2gf/cfg/c2so12.cfg + utils/hbf2gf/cfg/c3so12.cfg + utils/hbf2gf/cfg/c4so12.cfg + utils/hbf2gf/cfg/c5so12.cfg + utils/hbf2gf/cfg/c6so12.cfg + utils/hbf2gf/cfg/c7so12.cfg + utils/hbf2gf/cfg/csso12.cfg + utils/hbf2gf/cfg/gsfs14.cfg + utils/hbf2gf/cfg/j2so12.cfg + utils/hbf2gf/cfg/jsso12.cfg + utils/hbf2gf/cfg/ksso17.cfg + utils/hbf2gf/config.guess + utils/hbf2gf/config.sub + utils/hbf2gf/configure + utils/hbf2gf/configure.ac + utils/hbf2gf/dvidrv.btm + utils/hbf2gf/emdir.c + utils/hbf2gf/emdir.h + utils/hbf2gf/emtexdir.c + utils/hbf2gf/emtexdir.h + utils/hbf2gf/hbf.c + utils/hbf2gf/hbf.h + utils/hbf2gf/hbf2gf.1 + utils/hbf2gf/hbf2gf.c + utils/hbf2gf/hbf2gf.def + utils/hbf2gf/hbf2gf.w + utils/hbf2gf/install-sh + utils/hbf2gf/mkinstalldirs + utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff + utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff + utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff + utils/hbf2gf/scripts/web2c-6.1/README + utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff + utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff + utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff + utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff + utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff + utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff + utils/lisp/cjkspace.el + utils/lisp/cjktilde.el + utils/lisp/emacs/cjk-enc.el + utils/lisp/emacs/thai-word.el + utils/lisp/mule-2.3/cjk-enc.el + utils/pyhyphen/pinyin.c + utils/pyhyphen/pinyin.ldf + utils/pyhyphen/pinyin.tr + utils/pyhyphen/pyhyph.tex + utils/pyhyphen/pytest.tex + utils/subfonts/clonevf.pl + utils/subfonts/hlatex2agl.pl + utils/subfonts/makefdx.pl + utils/subfonts/sfd2uni.pl + utils/subfonts/subfonts.pe + utils/subfonts/uni2sfd.pl + utils/subfonts/vertical.pe + utils/subfonts/vertref.pe + utils/thaifont/texmf/dvips/garuda/config.garuda + utils/thaifont/texmf/dvips/norasi/config.norasi + utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc + utils/thaifont/texmf/fonts/map/dvips/garuda/garuda.map + utils/thaifont/texmf/fonts/map/dvips/norasi/norasi.map + utils/thaifont/texmf/fonts/tfm/public/garuda/fgdb8z.tfm + utils/thaifont/texmf/fonts/tfm/public/garuda/fgdbo8z.tfm + utils/thaifont/texmf/fonts/tfm/public/garuda/fgdo8z.tfm + utils/thaifont/texmf/fonts/tfm/public/garuda/fgdr8z.tfm + utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb8z.tfm + utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbi8z.tfm + utils/thaifont/texmf/fonts/tfm/public/norasi/ftni8z.tfm + utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr8z.tfm + utils/thaifont/tools/INSTALL + utils/thaifont/tools/c90.etx + utils/thaifont/tools/c90.mtx + utils/thaifont/tools/dbtt-old/config.dbtt-old + utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx + utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx + utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex + utils/thaifont/tools/dbtt-old/dbtt-old.fontinst + utils/thaifont/tools/dbtt-old/dbtt-old.map + utils/thaifont/tools/garuda.fontinst + utils/thaifont/tools/norasi.fontinst + + +---End of MANIFEST--- diff --git a/Master/texmf-dist/doc/latex/cjk/Makefile b/Master/texmf-dist/doc/latex/cjk/Makefile new file mode 100644 index 00000000000..2be48884ca8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/Makefile @@ -0,0 +1,226 @@ +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# 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 + +# You need GNU make to run this Makefile. +# +# Some issues: +# +# o This Makefile is intended to build the distribution tarballs only, +# not to compile binaries. +# +# o Binaries of the CJK utility programs (and the standard tex stuff, +# including dvipdfmx) must work. +# +# o GNU extensions of various utility programs are used. +# +# o emacs 22 and the `cweave' program from the `c2cweb' package, +# renamed to `cweavex', are needed. +# +# o The TeXLive version of some font definition files are used (in the +# `texlive' subdirectory). + +version=4.8.0 + +distdir=cjk-$(version) +abs-distdir=$(shell pwd)/$(distdir) + +DISTDIRS=$(shell find . -type d | grep -v .git | grep -v $(distdir)) + +# expected: subdirs `dvi' and `cjk' +CJK2DVI=\ + (cd dvi; \ + TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \ + texi2dvi -l latex ../cjk/$@.cjk; \ + rm -f $@.aux $@.log $@.toc) + +# LATEX2DVI srcdir targetdir +# expected: targetdir/dvi +LATEX2DVI=\ + cp $(1)/$@.tex $(2)/dvi; \ + (cd $(2)/dvi; \ + TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \ + texi2dvi -l latex $@.tex; \ + rm -f $@.tex $@.aux $@.log $@.toc) + +# DVI2PDF paper-format +# expected: subdir `pdf' and `dvi' +DVI2PDF=\ + dvipdfmx -v -p $(1) -o pdf/$@.pdf dvi/$@.dvi + + +# CONVERT converter srcdir targetdir [paper-format] +CONVERT=\ + cd $(distdir); \ + $(1) < $(2)/$@.tex > $(3)/cjk/$@.cjk; \ + cd $(3); \ + $(CJK2DVI); \ + $(if $(4),$(call DVI2PDF,$(4)),$(call DVI2PDF,letter)) + +# MULE srcdir targetdir [paper-format] +MULE=\ + cd $(distdir); \ + emacs --batch \ + --load utils/lisp/emacs/cjk-enc.el \ + --funcall batch-cjk-write-file \ + $(1)/$@.tex; \ + mv $(1)/$@.cjk $(2)/cjk; \ + cd $(2); \ + $(CJK2DVI); \ + $(if $(3),$(call DVI2PDF,$(3)),$(call DVI2PDF,letter)) + +# LATEX srcdir targetdir [paper-format] +LATEX=\ + cd $(distdir); \ + $(call LATEX2DVI,$(1),$(2)); \ + cd $(2); \ + $(if $(3),$(call DVI2PDF,$(3)),$(call DVI2PDF,letter)) + +# XELATEX srcdir targetdir +XELATEX=\ + cd $(distdir); \ + cp $(1)/$@.tex $(2)/pdf; \ + (cd $(2)/pdf; \ + TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \ + xelatex $@.tex; \ + TEXINPUTS=$(abs-distdir)/{texlive,texinput//,contrib/wadalab,utils/pyhyphen}: \ + xelatex $@.tex; \ + rm -f $@.tex $@.aux $@.log $@.toc $@.out $@.ovt) + + +DISTTARGETS=\ + READMEb5 \ + READMEgb \ + Big5 \ + Big5vert \ + CEF_test \ + CJKbabel \ + CJKfntef \ + CJKutf8 \ + CJKmixed \ + xCJK \ + GB \ + JIS \ + KS \ + SJIS \ + UTF8 \ + muletest \ + pytest \ + py_test \ + rubytest \ + thai \ + c90 + + +all: + @echo + @echo " Say \`make dist' to build the tarballs." + @echo + + +READMEb5: + $(call CONVERT,bg5conv,doc/chinese,doc,a4) +READMEgb: + $(call LATEX,doc/chinese,doc) +Big5 Big5vert: + $(call CONVERT,bg5conv,examples,examples) +CEF_test: + $(call CONVERT,cefconv,examples,examples) +SJIS: + $(call CONVERT,sjisconv,examples,examples) +CJKbabel muletest rubytest thai: + $(call MULE,examples,examples) +GB JIS KS UTF8 py_test CJKfntef CJKutf8 CJKmixed: + $(call LATEX,examples,examples) +xCJK: + $(call XELATEX,examples,examples) +pytest: + $(call LATEX,utils/pyhyphen,examples) +c90: + (cd $(abs-distdir)/utils/thaifont/tools; \ + ln -s c90.etx c90.tex) + $(call LATEX,utils/thaifont/tools,doc) + + +dist: distsrc predistdoc distdoc + +distsrc: + -rm -rf $(distdir) + rm -f $(distdir).tar.gz + rm -f $(distdir)-doc.tar.gz + mkdir $(distdir) + srcdir=`pwd`; \ + for d in $(DISTDIRS); do \ + mkdir -p $(distdir)/$$d; \ + (cd $(distdir)/$$d; \ + f=`find $$srcdir/$$d -maxdepth 1 -type f`; \ + test -z "$$f" || ln -s $$f . || true); \ + done + for f in `find $(abs-distdir)/utils -name '*.w'`; do \ + ctangle $$f - `echo $$f | sed s/w$$/c/`; \ + done + tar cfh - $(distdir) | gzip -c > $(distdir).tar.gz + +predistdoc: + mkdir -p $(distdir)/doc/{cjk,dvi,pdf} + mkdir -p $(distdir)/examples/{cjk,dvi,pdf} + mkdir -p $(distdir)/doc/man/{dvi,html,pdf,txt} + echo "This directory contains files which are \`preprocessed' with" \ + > $(distdir)/doc/cjk/README + echo "cjk-enc.el, bg5conv, etc." \ + >> $(distdir)/doc/cjk/README + echo \ + >> $(distdir)/doc/cjk/README + echo "You can feed them directly into LaTeX." \ + >> $(distdir)/doc/cjk/README + +distdoc: $(DISTTARGETS) manpages cweb + for f in `find $(distdir) -type l`; do \ + rm $$f; \ + done + for f in `find $(distdir) -name '*.c'`; do \ + rm $$f; \ + done + -for d in `find $(distdir) -depth -type d`; do \ + rmdir --ignore-fail-on-non-empty $$d; \ + done + tar cfh - $(distdir) | gzip -c > $(distdir)-doc.tar.gz + rm -rf $(distdir) + +manpages: + for f in `find utils -type f -name '*.1'`; do \ + groff -ww -Tdvi -dpaper=letter -P-pletter -mec -man -rS11 $$f > \ + $(abs-distdir)/doc/man/dvi/`basename $$f .1`.dvi; \ + groff -ww -Tps -dpaper=letter -P-pletter -man -rS11 $$f | \ + ps2pdf - $(abs-distdir)/doc/man/pdf/`basename $$f .1`.pdf; \ + groff -ww -Tlatin1 -man -P-bcu $$f > \ + $(abs-distdir)/doc/man/txt/`basename $$f .1`.txt; \ + groff -ww -Thtml -man $$f > \ + $(abs-distdir)/doc/man/html/`basename $$f .1`.html; \ + done + +cweb: + for f in `find utils -type f -name '*.w'`; do \ + cp $$f $(abs-distdir)/doc/dvi; \ + (cd $(abs-distdir)/doc/dvi; \ + F=`basename $$f .w`; \ + cweavex +a $$F.w; \ + tex $$F; \ + rm -rf $$F.idx $$F.log $$F.scn $$F.tex $$F.toc $$F.w; \ + dvipdfmx -v -p letter -o ../pdf/$$F.pdf $$F); \ + done + +# EOF diff --git a/Master/texmf-dist/doc/latex/cjk/README b/Master/texmf-dist/doc/latex/cjk/README new file mode 100644 index 00000000000..e75e3eab857 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/README @@ -0,0 +1,39 @@ +Welcome to CJK version 4.8.0 (22-May-2008), a LaTeX2e macro package which +enables the use of CJK scripts (Chinese/Japanese/Korean) in various +encodings, written by Werner Lemberg <wl@gnu.org>. + +A mailing list exists at cjk@ffii.org; bugs should be sent to +cjk-bug@ffii.org. To subscribe one of the lists, send a mail with the +subject `subscribe' (without the quotes) to <list>-request@ffii.org, e.g., +cjk-request@ffii.org. + +If you are interested in the process of development you may observe + + http://git.savannah.gnu.org/gitweb/?p=cjk.git;a=summary + +to see the commitments to the git repository of the CJK package, and which +also provides snapshots. + +The home site of the CJK package is + + http://cjk.ffii.org + +Additionally, the latest non-development version can be found on all CTAN +hosts and its mirrors in the directory <CTAN>/language/chinese. + + +The package comes in two parts: + + CJK-4.8.0.tar.gz: The source files. Needed for all platforms. + CJK-4.8.0-doc.tar.gz: Preformatted documentation files: DVI, PS, + output from cjk-enc.el, etc. + +Note that on CTAN and its mirrors, the `src' archive is unpacked; you must +thus get all files and subdirectories from language/chinese/CJK/. + + +Here a small to-do-list: + + READMEs in Korean. + + More support for Omega. diff --git a/Master/texmf-dist/doc/latex/cjk/doc/CEF.txt b/Master/texmf-dist/doc/latex/cjk/doc/CEF.txt new file mode 100644 index 00000000000..012e91d17b6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/CEF.txt @@ -0,0 +1,86 @@ +This is the file CEF.txt of the CJK macro package ver. 4.8.0 (22-May-2008). + +The Chinese Encoding Framework (CEF) +------------------------------------ + +Christian Wittern (http://www.kanji.zinbun.kyoto-u.ac.jp/~wittern/), +developed CEF, the Chinese Encoding Framework. It is a method to embed CJK +characters in seldom used encodings (which usually no editor provides) in +ordinary text (which may be of any encoding). This is done by using SGML +(Standardized Generalized Markup Language) macros of the form + + &xx-yyzz; + +To input these characters Wittern wrote KanjiBase for Windows, essentially a +character data base search engine written in Visual Basic. This application +is rather obsolete today. + + +`xx' in the SGML macro can have the following values: + + C0 Big 5 encoded characters + C1 characters from CNS plane 1 + ... + C7 characters from CNS plane 7 + CX characters from a reserved encoding defined by IRIZ + CY private encoding + U Unicode characters + +`yy' and `zz' are the first and second byte in hexadecimal notation. +For C0-C7, CX, and CY the 7bit notation must be used (GL). + +Examples: + + &C0-A4CD; + &C4-275F; + &U-DCFF; + + +TeX can't process these macros directly. They must be converted with one of +the following preprocessors: + + cefconv standard converter (also for use with cjk-enc.el) + cef5conv also converts Big 5 characters to preprocessed form + cefsconv also converts SJIS characters to preprocessed form + +ceflatex.bat is a simple batch file for DOS to show how to use the converter +(cef5ltx.bat and cefsltx.bat are its siblings---for Unix, the scripts are +called ceflatex, cef5latex, and cefslatex, respectively). + +Say + + ceflatex mytext[.tex] + +to get mytext.tex processed. All CEF macros must be inside of a CJK (or +CJK*) environment. + +To input CEF characters without preprocessing you can use the \CJKchar +macro. Here an example: + + \CJKchar[CNS4]{"27}{"5F} + +Note: The OS/2 script files ceflatex.cmd, etc., need REXX which you probably + have to install first. + + +Availability +------------ + +The file + + http://iriz.hanazono.ac.jp/pdf/eb4/x-level_kanjibase_codes.pdf + +contains a list of X level CJK characters defined by IRIZ. It isn't very +useful because the document is a just a scan of some pages of the magazine +`The Electronic Bodhidharma', published by the International Research +Institute for Zen Buddhism (IRIZ) at the Hanazono University in Kyoto, Japan +(iriz.hanazono.ac.jp). Note that this institute still publishes many +Buddhist documents using CEF (there it is called `KanjiBase'). + +More data about CEF and KanjiBase can be found at Christian Wittern's old +home page + + http://www.chibs.edu.tw/~chris/gwdg/home.htm + + +---End of CEF.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/CJK.txt b/Master/texmf-dist/doc/latex/cjk/doc/CJK.txt new file mode 100644 index 00000000000..d77a8725b89 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/CJK.txt @@ -0,0 +1,1238 @@ + +This is the LaTeX2e style package CJK Version 4.8.0 (22-May-2008) +================================================================= + +It is freely distributable under the GNU Public License. + + + ************************************************** + * * + * You need LaTeX 2e version 2001/06/01 or newer! * + * * + ************************************************** + + +Usage +----- + +Use CJK.sty as a package, e.g., + + \documentclass{article} + \usepackage[<option>]{CJK} . + +See section `Caveats' below for the available options. Normally, you don't +need them. + +Two new environments, + + \begin{CJK}[<fontencoding>]{<encoding>}{<family>} + ... + \end{CJK} + +and + + \begin{CJK*}[<fontencoding>]{<encoding>}{<family>} + ... + \end{CJK*} + +are defined. The parameters have the following meaning: + + <encoding> These character sets and encodings are currently + implemented in CJK.enc: + + Bg5 (For traditional Chinese. Mainly used in Taiwan. + Character set: Big 5. + Encoding: Big 5 without UDA2 and UDA3.) + Bg5+ (For traditional Chinese. Obsolete. + Character set: Big 5+. + Encoding: GBK.) + + HK (For traditional Chinese. Used in Hong Kong. + Character set: Big 5 + HKSCS-2004. + Encoding: Full Big 5.) + + GB (For simplified Chinese. Mainly used in + PR China. Also called `EUC-CN'. + Character set: GB 2312-1980. + Encoding: EUC.) + GBt (For traditional Chinese. Rarely used in + PR China. + Character set: GB/T 12345-1990. + Encoding: EUC.) + GBK (For Chinese. An extension of GB 2312. + Character set: GBK. + Encoding: GBK.) + + JIS (For Japanese. + Character set: JIS X 0208:1997. + Encoding: EUC.) + JIS2 (Japanese supplementary character set, + Character set: JIS X 0212-1990. + Encoding: EUC.) + SJIS (For Japanese. Used mainly on PCs. Also known + as `MS Kanji'. + Character sets: + 1-byte characters from JIS X 0201-1997 + (half-width katakana), + 2-byte characters from JIS X 0208:1997. + Encoding: SJIS.) + + KS (For Korean. Also called `EUC-KR'. + Character set: KS X 1001:1992 = KS C 5601-1992. + Encoding: EUC.) + + UTF8 (Unicode Transformation format 8, also called + `UTF-2' or `FSS-UTF'. + Character set: Unicode. + Encoding: UTF-8.) + + CNS1 (Chinese National Standard Plane 1, + Character set: CNS 11643-1992 plane 1. + Encoding: EUC.) + CNS2 + ... + CNS7 (Character set: CNS 11643-1992 plane 2 - 7. + Encoding: EUC.) + + CEFX (reserved CEF character set for IRIZ. + Encoding: EUC.) + CEFY (private CEF character set. + Encoding: EUC.) + + Note: The value `HK' can be also used for complete Big 5 + support which needs user-defined areas 2 and 3 + (UDA2 and UDA3), located in the ranges + 0x8E40-0xA0FE and 0x8140-0x8DFE, respectively. + + For details on HKSCS-2004 see + + http://www.info.gov.hk/digital21/eng + /hkscs/download/e_sect3_2004.pdf + + + These encodings (except Big 5, Big 5+, HK, GBK, SJIS, and + UTF-8) are simplified EUC (Extended Unix Code) character + sets without single shifts. The used character set slot + G1 stands for two-byte encodings with byte values taken + from the GR (Graphic Right) character range 0xA1-0xFE + (as defined in ISO 2022). + + Note that CNS1 and CNS2 contain almost the same + characters in the same order as Big 5 (but in EUC). + + For CEF and CNS character sets see CEF.txt also. + + Big 5+ and GBK have exactly the same encoding layout + (but their origins differ). + + Additionally, the following encodings *with* single + shifts are implemented, using some of the above defined + character sets: + + EUC-JP (for Japanese. + Character sets: + Half-width katakana (from JIS X 0201-1997), + JIS X 0208:1997, + JIS X 0212-1992.) + + EUC-TW (for traditional Chinese. + Character sets: + CNS 11643-1992 planes 1-7.) + + EUC-JP, EUC-TW, and UTF-8 encodings can't be used in + preprocessed mode (see below) because it makes no sense. + (To be more precise, UTF-8 sequences with more than two + bytes can't be used.) + + + If you use this parameter it is the same as you would + have used \CJKenc: Writing e.g., + + \begin{CJK}{Bg5}{...} + ... + + is identical to + + \begin{CJK}{}{...} + \CJKenc{Bg5} + ... + + Note: A `character set' is an ordered collection of + glyphs. The order of the glyphs is just for + defining purposes and for reference. + + An `encoding' is an ordering scheme to access a + character set. LaTeX 2e also uses the term `input + encoding'. + + A character set can have many encodings + (cf. JIS X 0208 -> EUC, SJIS). + + An encoding can be used for many character sets + (cf. EUC -> KS X 1001, GB 2312, etc.). + + Sometimes, the character set has the same name + as the encoding (Big 5, Big 5+, GBK). + + For more details I suggest to read the document + cjk.inf from Ken Lunde; it is available from + + ftp://ftp.ora.com/pub/examples/cjkvinfo/ + doc/cjk.inf + + A really thorough reference is his latest book + `CJKV Information Processing' (O'Reilly). + + Throughout this CJK documentation, `encoding' + refers to the valid encoding/character set + combinations defined just above. + + <fontencoding> These font encodings are currently defined: `' (empty; + the default), `pmC' (available for Bg5, GB, GBt, JIS, + and KS), `dnp' (for JIS and SJIS), `wn' (for JIS), and + `HL' (for KS). + + `Font encoding' means the order of characters in the + subfonts itselves. A change of the font encoding neither + alters the meaning of a CJK character nor changes the + character code in the selected encoding. + + The font encoding `pmC' is defined for compatibility + with the pmC package (which is obsolete). It is not + encouraged to use this font encoding because of wasting + subfonts. If possible, convert your original CJK bitmap + fonts with hbf2gf (see hbf2gf.txt) or other tools to CJK + encodings. + + `dnp' implements the character order of the Dai Nippon + Printing fonts and is only available for JIS and SJIS + encoding. `wn' (only available for JIS) is the font + encoding for watanabe jfonts. There exists a linking + package which maps the watanabe jfonts onto the dnp + naming scheme (thus you can use the real dnp fonts for + printing and the mapped jfonts for previewing). See the + documentation files in the `japanese' subdirectory for + further details. + + `HL' allows the use of the new HLaTeX fonts (starting + with version 1.0); note that the definition of fonts is + rather different compared to HLaTeX. See the section + `Korean input' below for a detailed description. + + You can change the font encoding per encoding with the + command \CJKfontenc; the first parameter is the + encoding, the second the font encoding. + + <family> It is impossible to know in advance what fonts are + available at your site; look at the example FD (font + definition) files how to create or modify appropriate FD + files suiting your needs. See fonts.txt also for further + hints. + + If this parameter is empty, the default value given in + CJK.enc is selected: `song' for all encodings except KS + (which defaults to `mj'). If you use this parameter it + is the same as you would have used \CJKfamily; all + encodings then use this family: + + \begin{CJK}{...}{song} + ... + + is identical to + + \begin{CJK}{...}{} + \CJKfamily{song} + ... + + You can change the families per encoding (and font + encoding) with the command \CJKencfamily; the first + parameter is the encoding, the second the family, the + optional argument is the font encoding. This overrides + the default value. + + Note that \CJKfamily or a non-empty `family' parameter + of the CJK environment overrides any \CJKencfamily + commands. Say `\CJKfamily{}' to enable \CJKencfamily + again. + + + The CJK* environment swallows unprotected spaces and newlines after a + CJK character (the usual habit for Chinese and Japanese text), whereas + CJK does not (for European and Korean text). You can switch between + these two `modes' with \CJKspace (CJK* -> CJK) and \CJKnospace (CJK -> + CJK*). + + If you use cjk-enc.el, you don't need to specify a CJK environment. This + is done automatically. See cjk-enc.txt for details. + + +This is a typical example: + + \begin{CJK*}{GB}{kai} + ... + Chinese simplified text in GB encoding + ... + \end{CJK*} + + +How it works +------------ + +Asian logographs can't be represented completely with one byte per +character. (At least) two bytes are needed, and the most common encoding +schemes (UTF-8, GB, Big 5, JIS, KS, etc.) have a certain range for the first +byte (usually 0xA1-0xFE or a part of it) which signals that this and the +next byte represent an Asian logograph. This means almost all plain ASCII +characters (characters between 0x00 and 0x7E) are left undisturbed, and the +remaining character codes (0x80-0xFF) are assigned to a CJK encoding, +creating a multiple-byte encoding with 1-byte and 2-byte characters (and +even 3-byte and 4-byte characters for UTF-8). + +The character 0x7F is reserved also for the CJK package. See the section +`Preprocessors' below. + +Encodings like EUC-TW access additional character sets using escape +characters (0x8E and 0x8F) which signals that the next character comes +from another character set (which is `shifted' to the GR range); up to +four bytes are needed for a single character. Example: + + 0x8E 0xA3 0xB7 0xCE + + 0x8E is a single shift escape character; 0xA3 selects CNS plane 3, and + 0xB7CE is the character code (in GR representation) in this plane. + +CJK.sty makes the character codes 0x7F and 0x81-0xFE active inside of the +CJK environment and assigns macros to the active characters which then +select the proper font and character. The real mechanism is a bit more +complex to assure robustness (it was borrowed and modified from LaTeX 2e's +inputenc.sty) and correct handling of punctuation characters. + +* emTeX users: you must activate 8bit input and output while creating the +* LaTeX2e format file! Do this by using the switches -o and -8 (additional +* to the iniTeX switch -i). +* +* Example: +* +* tex386 -i -o -8 latex.ltx + + +Some internals +-------------- + +Internally three levels (bindings, encodings, character macro sets) are +defined: + + active characters + | + +--------------> bindings (standard, SJIS, UTF8) + | + active character macros + | + +--------------> encodings (GB, Big 5, ...) + + | font encodings (none, dnp, wn, pmC, HL) + | + subfont selecting macros + | + +--------------> character macro sets (standard, Big 5, ...) + | + character selecting macros + +User-selectable are only the encoding and the font encoding (as explained +above); the other levels are selected by the CJK package. + +These levels correspond to the following internal macros: + + \CJK@xxxxBinding (`xxxx.bdg' files): + Possible values for `xxxx' are: standard, SJIS, UTF8, EUC-JP, and + EUC-TW. + + \CJK@xxxxEncoding (`xxxx.enc' files): + Possible values for `xxxx' are: standard, extended, Bg5, SJIS, KS, UTF8, + pmCsmall, pmCbig, JISdnp, SJISdnp, KSHL, EUC-JP, and EUC-TW. + + \CJK@xxxxChr (`xxxx.chr' files): + Possible values for `xxxx' are: standard, Bg5, KS, SJIS, UTF8, pmC, + HLaTeX, EUC-JP, and EUC-TW. + +In preprocessed mode (see below), no bindings are used. + + +And now a more detailed description of the various encodings. Please note +that you should never access these macros directly. + + \CJK@standardEncoding is used for EUC encodings with the first and second + byte in the range 0xA1-0xFE (GB, GBt, JIS, JIS2, CNS, CEF). + + \CJK@extendedEncoding is used for Big 5+ and GBK encodings. The first byte + is in the range 0x81-0xFE, the second byte in the range 0x40-0xFE (with a + gap at 0x7F). + + \CJK@Bg5Encoding is used for Big 5 encoding with the first byte in the + range 0xA1-0xFE and the second byte in the range 0x40-0xFE (with a gap + from 0x7F-0xA0). + + \CJK@SJISEncoding is used for SJIS encoding; one-byte characters are in + the range 0xA1-0xDF, two-byte characters have the first byte in the ranges + 0x81-0x9F and 0xE0-0xEF, the second byte runs from 0x40 to 0xFC except + 0x7F. Since SJIS only squeezes the JIS X 0208 character set into a new + scheme without changing the ordering, fonts produced by hbf2gf or ttf2pk + look the same for EUC and SJIS encoding except one-byte SJIS characters. + For more details see below the section `SJIS encoding'. + + \CJK@KSEncoding is used for the KS X 1001 character set in EUC encoding. + Two sets of subfonts are defined, one for Hangul syllables and elements, + and a second for Hanja. For more details see below the section `Korean + input'. + + \CJK@UTF8Encoding is used for Unicode in UTF-8 encoding. The first byte is + in the range 0xC0-0xDF for two-byte values, 0xE0-0xEF for three-byte + values, and 0xF0-0xF4 for four-byte values. The other byte(s) are in the + range 0x80-0xBF. Note that CJK expects two hexadecimal digits as a running + number in the font name (as defined in UTF8.enc) instead of two decimal + digits for subfonts covering characters up to U+FFFF. Subfonts for Unicode + values greater than 0xFFFF use four hexadecimal digits in the font name. + Select the option `unicode yes' in the hbf2gf config file if you use + hbf2gf to transform bitmap fonts in HBF format to PK fonts as used by + CJK.sty . Three commands (\CJKCJKchar, \CJKhangulchar, and \CJKlatinchar) + control the handling of intercharacter glue: \CJKCJKchar (the default) + selects CJK style (using \CJKglue), \CJKhangulchar selects hangul style + (using \CJKtolerance), and \CJKlatinchar selects none of them. This + encoding does not work in preprocessed mode. + + \CJK@pmCsmallEncoding and \CJK@pmCbigEncoding can be activated with + \pmCsmall (this is the default) and \pmCbig inside the CJK environment. + Note that the original pmC fonts have two character sizes per font (the + bigger ones with an offset of -128); Bg5pmC encoded fonts cannot contain + big characters. The names of the fonts in the FD files reflect the + modifications added by Marc Leisher <mleisher@nmsu.edu> to the original + poor man's Chinese (pmC) package written by Thomas Ridgeway + <ridgeway@blackbox.hacc.washington.edu>. + + \CJK@JISdnpEncoding is the JIS X 0208 character set in EUC encoding with + dnp fonts. The main difference (besides the offsets) is the composition of + real font names; a dnp font name consists of name stem + subfont name + + designsize: an example is dmjkata10. Note that the wadalab PS fonts omit + the designsize part in the font names, thus it is sufficient (and even + better) to use the `CJK' size functions in FD files instead of the `DNP' + ones. \CJK@JISwnEncoding is similar to JISdnp encoding but uses Watanabe + jfonts; \CJK@SJISdnpEncoding maps SJIS onto dnp encoded fonts. + + \CJK@KSHLEncoding finally uses the new fonts of the HLaTeX package for + Korean; three internal encodings are necessary to represent it. See the + next section for details. + + \CJK@EUC-TWEncoding and \CJK@EUC-JPEncoding are quite similar to + \CJK@standardEncoding but implement single shift access additionally. They + can't be used in preprocessed mode. + + +Korean input +------------ + +There is already a package which handles Hangul and Hanja (but no other +CJK character sets): HLaTeX. + +To use KS encoding, say + + \begin{CJK}{KS}{} + ... + \end{CJK} . + +These font switches are available inside the environment: + + hangul fonts from former hlatex (in the han font packages): + + * \mj MyoungJo (default) + \gt Gothic + \gs BootGulssi + \gr Graphic + \dr Dinaru + + hangul fonts from former jhtex (in the han1 font packages): + + * \hgt Hangul Gothic + * \hmj Hangul MyoungJo (MunHwaBu fonts) + * \hpg Hangul Pilgi + \hol Hangul Outline (MyoungJo) + + +If a font is marked with a star, real bold series are available. All other +bold fonts are defined using poor man's boldface (see below the section +`Poor man's boldface'). + +See the file INSTALL how to get these fonts. Both `han' and `han1' packages +contain bitmap fonts only (in PK format). + +Note that the font switches are abbreviations for \CJKencfamily and not for +\CJKfamily. + + +For characters with the first byte in the ranges 0xA1-0xAF (except 0xA4) and +0xC9-0xFD (graphic characters, hanja, archaic hangul, etc.) fonts with the +encoding C60 are used. C61 is assigned to hangul fonts (for hangul elements +with the first byte 0xA4 and hangul characters in the range 0xB0-0xC8). This +enables the use of many hangul fonts and perhaps only one or two different +hanja fonts. If you want to use C60 encoding for hangul characters also say +\CJKhanja. The opposite command is \CJKhangul (of course this works only if +you have hangul characters in the C60 font). + +Archaic hangul elements (KS X 1001 0xA4D5-0xA4FE) and the character +KS X 1001 0xA4D4 are only accessible if \CJKhanja is active. + +You should convert your KS X 1001 hanja fonts using hbf2gf (or ttf2pk) as +described above. + + +To use HLaTeX fonts, say + + \begin{CJK}[HL]{KS}{} + ... + \end{CJK} . + +All HLaTeX fonts are PS fonts; these font switches are available inside the +environment (as defined in HLaTeX 1.0; this differs from older versions): + + \bm Bom + * \dn Dinaru + * \gr Graphic + + \gs Gungseo + + * \gt Gothic + \jgt Jamo Gothic + \jmj Jamo Myoungjo + \jnv Jamo Novel + \jsr Jamo Sora + + * \mj Myoungjo + * \pg Pilgi + \pga Pilgia + \ph Pen Heulim + \pn Pen + + \sh Shinmun Myoungjo + + \tz Typewriter + \vd Vada + \yt Yetgul + +If a font is marked with an asterisk, real bold series are available. All +other fonts are defined using poor man's boldface (see below). Only fonts +marked with a plus sign are available for hanja too; the other font families +are mapped to these six hanja families. For backwards compatibility, \ol and +\sm are defined also; both are now equivalent to \mj. + +UN Koaung-Hi <koaunghi@kornet.net>, the author of HLaTeX, defines three +groups of fonts: hangul, hanja, and symbols. The CJK package needs three +internal encodings (C63 for hanja, C64 for symbols, and C65 for hangul) to +represent the font encoding scheme of HLaTeX. + +HLaTeX options: + +The option `hardbold' has been integrated into the FD files---I consider the +fact whether you have bold series available or not as a fundamental local +font setup decision which should be coded into the FD files and not into the +document. As a consequence you have to change your FD files to emulate the +`softbold' option with CJK's poor man's boldface. Example: + + \DeclareFontShape{C63}{gt}{bx}{n}{<-> CJK * wgtb}{} + +should be changed to + + \DeclareFontShape{C63}{gt}{bx}{n}{<-> CJKb * wgt}{\CJKbold} . + +and similar font definitions too. + +[Well, it is not really necessary to modify the FD files to emulate the + `softbold' option: just insert the appropriate \DeclareFontShape and/or + \DeclareFontFamily commands in the preamble of your document.] + +Finally a warning: Please bear in mind that CJK does not emulate the +behaviour of HLaTeX, it only supports its fonts. + + +Big 5 encoding +-------------- + +See below the section `Preprocessors' for the preferred input method using +bg5conv. + +The characters `\', `{', and `}' are used as second bytes in the Big 5 +encoding. This collides with TeX. If you write Big 5 text mixed with other +encodings (and you don't want/can't use Mule, Emacs or bg5conv), you should +use the Bg5text environment which changes the category codes of these +characters. The command prefix is now the forward slash `/', and the +grouping characters are `(' and `)', respectively. + +An example: + + \begin{CJK}{Bg5}{song} + \begin{Bg5text} + ... + /begin(center) + ... + /end(center) + ... + /end(Bg5text) + \end{CJK} + +To get the `/', `(', and `)' characters, write `//', `/(', and `/)' inside +the Bg5text environment. + +This environment is ugly, and some commands like \newcommand don't work in +it. Starting with CJK version 3.0 it is also possible to use different +encodings in preprocessed mode, thus this environment is almost obsolete. + +Instead of using the Bg5text environment you can protect the offending +second bytes with a backslash, i.e., `\{', `\}', `\\' (using a non-Chinese +editor). This doesn't increase the readability of the Chinese text, but for +short texts it is perhaps more comfortable. Alas, it doesn't work in page +header commands because the macros `\{', etc., are not expanded. + +Be careful not to use any commands inside the Bg5text environment which +write something into an external file (commands like \chapter, etc.). + +If it is not possible to avoid Big 5 character codes with `\', `{', or `}' +outside of the Bg5text environment (e.g., having Big 5 text in a \chapter or +\section command), you can replace them with the \CJKchar macro manually: + + \section{This is a problematic Big 5 character: \CJKchar{169}{92}} + +The parameters are the first and second byte of the Big 5 character code. +You can also use hexadecimal or octal notation. See commands.txt for a full +description of \CJKchar. + +An environment `HKtext' similar to `Bg5text' is defined for the `HK' +encoding; the same restrictions as explained above hold. + + +SJIS encoding +------------- + +See below the section `Preprocessors' for the preferred input method using +sjisconv. + +Shift-JIS encoding is widely used on PCs for Japanese. A special feature is +the simultaneous use of one-byte and two-byte encoded characters which arose +because of backwards compatibility. The two-byte encoded character set is +completely identical to the JIS X 0208 character set, even the ordering is +the same. Thus there is no need for special two-byte SJIS FD files; the font +definition files for JIS X 0208 are used. + +The situation is different for one-byte SJIS characters, the so called +`half-width' Katakana (encoding C49) from JIS X 0201. Usually you should use +full-width Katakana fonts too to get a typographically correct output. The +exception is a typewriter font which should really have only the half width +of normal Kanji or Katakana to represent screen snapshots or similar things. +The use of C49 encoding can be controlled with the \CJKhwkatakana and +\CJKnohwkatakana macros (see commands.txt for more information). + +Fonts in C49 encoding scheme must have the character glyphs at the code +points 0xA1-0xDF. + +An environment `SJIStext' similar to `Bg5text' is defined; the same +restrictions as explained in the previous section hold. + + +Big 5+ and GBK encodings +------------------------ + +See below the section `Preprocessors' for the preferred input method using +extconv. + +These relatively new encodings are used in some older MS Windows versions in +Taiwan (Big 5+) and Mainland China (GBK). Both encodings implement the whole +CJK character repertory of Unicode in the Basic Multilingual Plane +(U+4E00-U+9FFF, approx. 21000 characters) and a few other characters but +still try to be backwards compatible. All code points of Big 5 are identical +to the code points in Big 5+, and the same holds for GB 2312-1980 and GBK. +Note that the default CJK font encodings for Big 5+ and Big 5 are *not* +compatible. The same is true for GBK and GB2312. + +Two new environments, `Bg5+text' and `GBKtext' similar to `Bg5text' are +defined also; the same restrictions as above hold. + + +CJK captions +------------ + +To use the supplied caption files you need the koma-script package. The main +reason why I choose these style files instead of the standard classes is the +fact that the author of koma-script is willing to support CJK. On the other +hand, the philosophy of the LaTeX 2e maintainers is not to add new features +to the standard classes. + +The koma-script style files are maintained by Markus Kohm +(Markus.Kohm@gmx.de); they are available at the CTAN hosts. + + +If you say \CJKcaption{<caption>} inside of a CJK environment, the file +<caption>.cpx is loaded (.cpx is a preprocessed version of .cap) + +Example: + + \documentclass{scrartcl}% this is a KOMA-script class + \usepackage{CJK} + + \begin{document} + \begin{CJK*}{GB}{kai} + \CJKcaption{GB}% loading GB.cpx + + \chapter{blablabla}% is formatted in Chinese + + ... + + \end{CJK*} + \end{document} + + +Note that for Korean three caption files are available: hanja.cap for +captions using hanja (this corresponds to HLaTeX's `hanja' option) and +two caption files (hangul.cap and hangul2.cap) using hangul. + +For GBK encoding use the GB.cap file. Similarly, use Big5.cap for Big 5+ +encoding. + +In case you want to edit a CAP file, you must create its corresponding +CPX file too. After editing, preprocess the file with + + bg5conv < xxx.cap > xxx.cpx + +(for caption files in SJIS encoding use sjisconv instead), then change +the file name identification strings in the CPX file accordingly. + +In UTF-8 encoding, the following caption files are available. + + ja Japanese + ko-Hang Korean using Hangul + ko-Hang2 another version using Hangul + ko-Hani Korean using Hanja + zh-Hans Chinese simplified + zh-Hant Chinese traditional + +Since those files are identical to its encoding-specific counterparts, +only CPX versions are provided. + + +Underlining and other font effects +---------------------------------- + +Full support for Donald Arseneau's ulem.sty package (beginning with version +2000-05-26) is available by using CJKulem.sty (which loads ulem.sty +automatically). No changes to ulem's interface. + +Even more font effects specific to CJK scripts can be found in CJKfntef.sty; +usage examples can be found in the file CJKfntef.tex . + +A word of caution: Don't use \CJKfamily{...} or similar commands within the +argument to \uline and friends. + + +Poor man's boldface +------------------- + +Most CJK fonts available in the public domain do not have bold series. To +emulate boldface by printing the character three times with slight +horizontal offsets some special features are used: + + CJK uses \CJKsymbol internally instead of \symbol to access CJK + characters (after the correct font has been selected). This macro + honours the \ifCJK@bold@ flag; if set it emulates boldface. The default + value of the horizontal offset is 0.015em; to change it you should + redefine \CJKboldshift, the macro which holds this shift. + + \ifCJK@bold@ can be set and unset globally with the commands \CJKbold + and \CJKnormal. These commands are intended to be used with + \DeclareFontShape as follows: + + \DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{} + \DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold} + + It should be never necessary to use \CJKnormal since \selectfont has + been modified to always reset \ifCJK@bold@ and to call the + loading-settings (i.e., the sixth parameter) of \DeclareFontShape if + a CJK size function is in use. + + Additionally, new size functions (CJKb, sCJKb, CJKfixedb, sCJKfixedb, + and others; see fonts.txt for details) have been introduced which are + completely identical to its counterparts without the final `b'. The only + reason to use them is, as shown in the above example, to make the fifth + parameter of \DeclareFontShape for bold series different from the one + for medium series (LaTeX 2e uses this parameter as a macro name to + execute loading-settings, thus they must not be equal). + + +Embedding non-CJK words into CJK text +------------------------------------- + +To enable line breaking you should separate non-CJK words and CJK characters +with horizontal space. But the ordinary space dimensions inserted by TeX +based on the current non-CJK font often looks bad because the surrounding +CJK characters are printed almost side by side (the non-stretched value of +\CJKglue is 0pt). Especially in extreme cases which happen in underfull +\hbox commands the default space distorts the CJK text too much. + +If you say \CJKtilde, the active `~' character doesn't produce an +unbreakable space; instead, the following definition is used: + + \def~{\hspace{0.25em plus 0.125em minus 0.08em}} . + +This defines a space which has a normal width of a quarter (CJK) space. See +the file japanese/shibuaki.txt for some further details. + +Here an example: + + ThisIsChineseText~test~ThisIsChineseText + + ^^^^^^ + +Simply use tilde characters instead of spaces at the border between CJK and +non-CJK characters. + +In BibTeX entries, you have to use `{~}' instead of `~'. + +The original definition of `~' is available as \nbs (non-breakable space, a +shorthand for the LaTeX command \nobreakspace). To return to the standard +`~' macro definition say \standardtilde. + +Note that the opposite is not true: To embed CJK words into non-CJK text an +ordinary space is optimal. + +If you use Mule or Emacs 20 please consider the use of cjktilde.el in +utils/lisp. This small package defines a minor mode (cjk-tilde-mode) which +exchanges the space key with the tilde key. It is convenient to bind this +mode to a key, e.g., C-insert. + +For AUC TeX you can also use cjkspace.el which is similar (but not +identical) to cjktilde.el . + + +Preprocessors +------------- + +Using the `XXXtext' environments like `Bg5text' is a mess. Thus three +preprocessors are provided to overcome the restrictions of the XXXtext +environments: bg5conv and sjisconv Big 5 and SJIS encoding, and extconv for +GBK and Big 5+ encoding characters. Compile them with + + cc -O -s -o bg5conv bg5conv.c + cc -O -s -o sjisconv sjisconv.c + cc -O -s -o extconv extconv.c + +and move the binaries to a location in your path, e.g., /usr/local/bin in +a Unix system. [`cc' is the C compiler.] + +See the batch files bg5latex[.bat], etc., for examples how to use them. + +Each Big 5, Big 5+, or GBK character (and each two-byte encoded SJIS +character) `XY' is converted into the form `^^7fX^^7fZZZ^^7f'; ZZZ is the +decimal equivalent of Y, and ^^7f is a character with the hex value 0x7F. +The use of bg5conv/sjisconv/extconv is completely transparent; no changes to +your documents are necessary. + +It is possible to mix preprocessed and non-preprocessed data; simply use +\CJKenc to change the encoding; you can use \CJKinput and \CJKinclude to +load preprocessed data (see commands.txt for a detailed description). + +If you use traditional Chinese characters within Mule or Emacs 20, it is not +necessary to call bg5conv after the use of *cjk-coding* output encoding (but +it is necessary if you write out the file in Big 5 encoding). + +Note 1: The OS/2 script files bg5latex.cmd, etc., need REXX which you + probably have to install first. + +Note 2: With extconv, you can also preprocess encodings like GB or SJIS. + This has the advantage that such data is robust against any changes + of the uc/lccodes in the range 0xA1-0xFE. Only three encodings can't + be preprocessed: UTF8, EUC-TW, and EUC-JP. + + +Customization +------------- + +In case you want to add encodings, font encodings, and related things, or if +you must change or customize some CJK settings, you should use a +configuration file called `CJK.cfg' which is loaded (if it exists) by +CJK.sty just before the final \endinput command. + + +Caveats +------- + + o You can of course use CJK environments inside of a CJK environment, + but it is possible that you must increase the so called `save size' + of TeX (with emTeX you can adjust this with -ms=...; web2c users + can control it with the `save_size' parameter in texmf.cnf). + + The CJK package has optional arguments which control the scope of + CJK environments: + + lowercase If you want to use \lowercase with encodings + inside CJK environments. You need less save size + using the `encapsulated' option if `lowercase' + is not set. You must use bg5conv (sjisconv) or + cjk-enc.el to use Big 5 (SJIS) characters with + this option. + + Use this with caution! All \lccode values in the + range 0x80-0xFF are set to zero, thus disabling + TeX's hyphenation mechanism for words which + contain characters of this range in the *input + encoding* (e.g., Latin-1 encoded words with + accents). This is due to an unfortunate mangling + of the input and output encoding mechanism in + TeX itself. + + global \lccode (if `lowercase' set), \uccode, \catcode + and the activation of the characters 0x81-0xFE + are globally modified (\lccode and \uccode reset + to 0). This is the most economical mode + concerning save size, but you can't have CJK + environments inside of CJK environments or other + environments which manipulate the character + range 0x81-0xFE. + + All CJK font selection commands are globally too! + + Packages which change some of the above values + only once (e.g., in the preamble) also don't + work after the first use of a CJK environment. + + cjk-enc.el automatically selects this option. + + local \lccode (if `lowercase' set) and \uccode + together with bindings are modified globally. + This is the default. You can stack CJK + environments. + + active If activated, bindings are local additionally. + You need this option if you want to mix + preprocessed text with non-preprocessed text in + nested CJK environments. This can happen if you + merge texts in various encodings. + + encapsulated If you want to access e.g., T1 fonts directly + (i.e., without the macros defined in t1enc.def) + or if you want to use a non-CJK LaTeX 2e input + encoding outside of the CJK environment (e.g., + `latin1' for Western European, `latin2' for + Eastern European), you must use this option. + This also ensures that \uppercase and \lowercase + (together with \MakeUppercase and + \MakeLowercase) work correctly. All values + mentioned above are local, so you can stack + environments. This option probably causes an + overflow of the save size. + + Note: All macro packages which access T1 fonts + with the macros defined in t1enc.def work in CJK + environments! E.g., the command `"s' of + german.sty works with \MakeUppercase too. + + + Say + + \usepackage[<option>]{CJK} + + to activate <option>. + + o There is another way to overcome the problem of stacked + environments. CJK implements four CJK attribute switches: \CJKenc, + \CJKfontenc, \CJKencfamily, and \CJKfamily; see commands.txt for a + detailed description. If you need two different encodings/families + at the same output line, you must use these macros. + + An example for \CJKfamily: + + \begin{CJK}{GB}{song} + ... Text in GB song ... \CJKenc{GBt} + ... Text in GBt song ... \CJKfamily{kai} + ... Text in GBt kai ... + \end{CJK} + + An example for \CJKencfamily: + + \CJKencfamily{Bg5}{fs}% fangsong + \CJKencfamily{GB}{kai} + + \begin{CJK*}{}{} + \CJKenc{Bg5} ... Text in Big 5 fangsong ... + \CJKenc{GB} ... Text in GB kai ... + \end{CJK*} + + Contrary to \begin{CJK}{...}{...} it is not necessary to start a new + line in your TeX document file after \CJKenc. + + o A similar command to \CJKchar is \Unicode{<byte1>}{<byte2>} to + access Unicode characters (real Unicode values, not UTF-8 encoded + Unicode) directly; the parameters are the first (high) and second + (low) byte of the Unicode. \Unicode works only in UTF-8 encoding; in + all other encodings you must use \CJKchar[UTF8]{<byte1>}{<byte2>} + instead. + + For Unicode characters greater than U+FFFF, put the first two bytes + into the first argument, and the third byte into the second + argument. Examples are \Unicode{"25E}{"9A} and + \CJKchar[UTF8]{"25E}{"9A} to represent U+25E9A. + + o CJK disables \MakeUppercase (preserving the command as + \CJKuppercase) if you select Big 5 or SJIS encoding without using + bg5conv or sjisconv. This usually affects the headers of the LaTeX + 2e standard classes only. + + o Because CJK.sty and MULEenc.sty insert glue between CJK (and Thai) + characters, it is possible to get unwanted line breaks in verbatim + environments if lines are too long. To avoid this, use the command + \CJKverbatim in combination with the `verbatim' package. It installs + a hook which disables \CJKglue and \Thaiglue in verbatim + environments. + + +Possible errors +--------------- + + o If you write Chinese (or Japanese) text, don't forget to suppress + the linefeed character with a trailing `%' in the CJK environment, + otherwise you get unwanted spaces in the output. On the other side, + say `\ ' or something similar inside the CJK* environment to get a + space after a CJK character. + + o To suppress a line break before a CJK character, say \CJKkern. This + command prevents the insertion of \CJKglue before the CJK character. + + You may wonder about the strange name: a small kern (2 sp) between + two CJK characters signals that the first one is a punctuation + character. + + o If you get the error message: `\CJK... undefined' or other `... + undefined ...' messages and you can't find an error, try inserting + \newpage, \clearpage, or \cleardoublepage (the latter for two-column + printing) before saying \end{CJK} or \end{CJK*}. This can happen if + LaTeX 2e writes headers, footers, or index entries (both \index and + \printindex) of a page containing CJK characters after closing the + CJK environment. + + In case of footnotes with CJK characters which are split across + pages, you have to close the CJK environment on the page on which + the particular footnote ends (probably preceded by a \newpage + command). + + o A similar message to the one mentioned in the last item can be + caused by using the \EveryShipout command from everyshi.sty; here + the reason is exactly the opposite, namely the possible use of a + non-CJK font within an implicit CJK environment. For example, if + you have + + \EveryShipout{ + \fontfamily{phv}% + \selectfont + ... + } + + it can happen that LaTeX tries to use family `phv' for a `CXX' + encoding. The solution is to specify the encoding in \EveryShipout + also: + + \EveryShipout{ + \fontfamily{phv}% + \fontencoding{T1}% + \selectfont + ... + } + + o Some file editors insert a Byte Order Mark (BOM, U+FEFF) even if + they emit UTF-8. This sequence consists of the three bytes 0xEF + 0xBB 0xBF, always to be found at the very beginning of a file, + and which should be ignored. + + Unfortunately, there is no way to handle them automatically in the + CJK package so that they don't produce output or warnings (or even + error messages) -- it would be necessary to add a hack to the LaTeX + kernel itself. With other words, these three bytes must be removed + before LaTeX is called. + + o If you get overfull \hbox'es caused by CJK characters, try to + increase \CJKglue. It defines the glue between CJK characters; the + default definition is + + \newcommand{\CJKglue}{\hskip 0pt plus 0.08\baselineskip} . + + \CJKglue is inserted by CJK.sty between CJK characters (except + punctuation characters as defined in the punctuation tables; see + CJK.enc for the lists). You should separate non-CJK text from CJK + characters with spaces to enable hyphenation, or you write + \CJKtilde and then use `~' instead of spaces to embed non-CJK text + into CJK characters. + + o If you get overfull \hbox'es caused by Hangul syllables, try to + increase \CJKtolerance. The default definition is + + \newcommand{\CJKtolerance}{400} . + + Alternatively, try to increase \emergencystretch (which is a TeX + primitive), setting it to a reasonable value. + + o It is not possible to start a new encoding inside of a verbatim + environment which has not been loaded before (CJK.sty emits an + \input ... command which causes the encoding file to be printed + verbatim instead of being executed). In this case, write a proper + \CJKenc{...} command before opening the verbatim environment. + + Example: + + \CJKenc{JIS} % this loads standard.enc and standard.chr + + \begin{verbatim} + ... + first time JIS characters appear + ... + \end{verbatim} + + + cjk-enc.el does this automatically for you. + + o If you get an error message which looks like this: + + + ! Undefined control sequence. + try@size@range ...extract@rangefontinfo font@info + <-*>@nil <@nnil + + + then you are using an unknown family for a CJK encoding. + + Reason: If you declare an NFSS font encoding in the standard way the + corresponding FD file for the default font is loaded. For the CJK + package this would be almost 30 files which is inacceptable. To + avoid this overhead NFSS is faked with some rudimentary definitions + just enough to pass the NFSS tests. Of course this has a + disadvantage: An unknown CJK family causes the above error instead + of switching to the fallback family usually defined with + \DeclareFontSubstitution. Nevertheless, replacing an undefined + series or shape works correctly. + + The CJK package's default family value is `song' for all encodings + except KS; to avoid the error just described in cases you start an + environment with an empty family parameter the files `XXXsong.fd' + for all encodings `XXX' (except for KS) are already provided. + + o It is neither possible to use a CJK character in a \cite command of + standard LaTeX, nor is it possible to use the `alpha' citation + style. This is a limitation of LaTeX and not of the CJK package. + + o Sometimes it is necessary to define or redefine a command or + environment globally in the preamble, using CJK characters. Example: + + \newtheorem{Them}{some Chinese characters}[section] + + This won't work directly because of the Chinese characters, + producing an error. The next idea is to use a CJK environment in the + preamble: + + \begin{CJK}{...}{...} + \newtheorem{Them}{some Chinese characters}}[section] + \end{CJK} + + Don't be surprised that this also fails! Most commands like + \newtheorem expand to \def which define a macro locally only; + consequently, the just defined command is undefined again after + leaving the CJK environment. + + The correct solution is to use a globally defined macro: + + \begin{CJK}{...}{...} + \gdef\ChineseTheorem{some Chinese characters} + \end{CJK} + + \newtheorem{Them}{\ChineseTheorem}[section] + + o The \makelabels command of letter.sty needs special treatment if you + have an address with CJK characters because it uses the + \AtEndDocument hook to write out its data. Since \AtEndDocument is + called by \end{document} after all environments have been closed + already, a CJK environment must be explicitly inserted into the AUX + file. Example: + + \documentclass{letter} + + \usepackage{CJK} + + \makeatletter + \AtBeginDocument{% + \if@filesw + \immediate\write\@mainaux{\string\begin{CJK*}{...}{...}}% + \fi} + \makelabels + \AtEndDocument{% + \if@filesw + \immediate\write\@mainaux{\string\end{CJK*}}% + \fi} + \makeatother + + + \begin{CJK*}{...}{...} + \address{An address\\ + with some CJK characters} + \signature{...} + \end{CJK*} + + + \begin{document} + + \begin{CJK*}{...}{...} + + \begin{letter}{Another address\\ + with some CJK characters} + \opening{...} + + Your letter text + + \closing{...} + \end{letter} + + \end{CJK*} + + \end{document} + + o A similar solution is needed if you use \bibliography and your + bibliographic database contains author names with CJK characters. + + \makeatletter + \AtBeginDocument{% + \if@filesw + \immediate\write\@mainaux{\string\begin{CJK*}{...}{...}}% + \immediate\write\@mainaux{\string\makeatletter}% + \fi} + \AtEndDocument{% + \if@filesw + \immediate\write\@mainaux{\string\end{CJK*}}% + \fi} + \makeatother + + o If you get strange error messages while using the hyperref package, + add the `CJKbookmarks' option: + + \usepackage[CJKbookmarks]{hyperref} + + o Some versions of fourier.sty cause the following error message: + + ! Undefined control sequence. + \<->futr8t ->\SetFourierSpace + + A simple solution is to insert the line + + \providecommand{\SetFourierSpace}{} + + right before loading fourier.sty . + + +Author +------ + +Werner Lemberg <wl@gnu.org> + +Kleine Beurhausstr. 1 +D-44137 Dortmund +Germany + +Tel. +49 231 165290 + +Please report any errors or suggestions to cjk-bug@ffii.org. + + +---End of CJK.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/CJKutf8.txt b/Master/texmf-dist/doc/latex/cjk/doc/CJKutf8.txt new file mode 100644 index 00000000000..7cae09f4655 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/CJKutf8.txt @@ -0,0 +1,40 @@ +This is the file CJKutf8.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +CJKutf8.sty +----------- + +This package merges base LaTeX's and CJK's UTF-8 support. If a Unicode +character (within a CJK environment) corresponds to a glyph from the +selected LaTeX font encoding, use it, otherwise it is taken from the +selected CJK unicode font. + +Usage: + + \usepackage[<font encoding>]{CJKutf8} + + The <font encoding> value is directly passed to the `fontenc' package. + Besides `fontenc', CJKutf8.sty also loads the CJK package with the + `encapsulated' option so that you can use UTF-8 outside of the CJK + environment also. + + Note that only font encodings with a corresponding DFU file actually + have Unicode definitions (for example, `t1enc.dfu'). + + Only use UTF-8 encoding for the CJK environment! Other encodings + don't give an error but might replace some CJK characters with glyphs + from the selected LaTeX encoding. + +If pdftex is used, ToUnicode cmaps are automatically generated (for C70 +encoding); use it in combination with Vladimir Volovich's `cmap' package. + +If CJKutf8.sty is used together with the `unicode' option of the hyperref +package, pdftex automatically produces correct Unicode bookmarks. + +Both ToUnicode cmaps and Unicode bookmarks support characters greater than +U+FFFF. + +Please read section `Possible errors' in CJK.txt regarding the Byte Order +Mark (BOM) -- this should always be removed. + +---End of CJKutf8.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/COPYING b/Master/texmf-dist/doc/latex/cjk/doc/COPYING new file mode 100644 index 00000000000..b2fe7b6af35 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Master/texmf-dist/doc/latex/cjk/doc/INSTALL b/Master/texmf-dist/doc/latex/cjk/doc/INSTALL new file mode 100644 index 00000000000..27521d044ee --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/INSTALL @@ -0,0 +1,686 @@ +This is the file INSTALL of the CJK macro package ver. 4.8.0 (22-May-2008). + +Installation Guide +================== + +It is probably a good idea to get a packaged version of CJK---be warned that +installing CJK is *not* trivial. + +The easiest solution is to use the TeX Live CD which is distributed among +members of TeX user groups worldwide. It comes with a ready-to-run CJK setup +together with basic CJK fonts (in outline format if freely available) for +almost all encodings. To get a recent snapshot, try the SVN archive. See + + http://www.tug.org/texlive/svn/ + +for more details. + +. Using web sites like http://rpmseek.com you can find and download CJK + packages for most GNU/Linux distributions like SuSE or Debian. + +. For FreeBSD try this: + + http://www.freebsd.org/ports/chinese.html + +. MikTeX also provides packages for CJK. + + +Here a check list for the impatient (experienced) user which tries to show +whether you've done all steps to install the CJK package and fonts. It is +assumed that you want to install both ttf2pk and hbf2gf. + +Detailed explanations can be found below. + + +--- begin checklist --------------------------------------------------------- + +. Have you installed a LaTeX 2e version newer or equal to 2001/06/01? The + version of LaTeX is given in each log file produced by LaTeX. For using + CJKutf8.sty you even need version 2003/12/01. + +. Have you removed an older version of CJK? If not, do it now but don't + forget to save your FD and other files which you have changed! Don't + forget also to remove the ttf2pk and hbf2gf binaries. + +. Can the texinput tree of the CJK package be found by your TeX + implementation? Have you activated subdirectory searching? + +. Have you downloaded the needed font packages (either ps, hbf or ttf)? See + also contrib/wadalab/DNP.txt for the Japanese Wadalab fonts. Have you + moved the TFM files into your TFM-tree (or updated TFMINPUTS accordingly)? + Ditto for VF files if needed. + +. Have you installed ttf2pk and ttf2tfm from the FreeType 1 package (only + needed for TrueType fonts)? Note that FreeType 2 won't work. + +. Have you run ttf2tfm to create the proper TFM files from your TrueType + fonts? This won't be done automatically via mktextfm or MakeTeXTFM! + +. Have you updated the ttfonts.map file for ttf2pk? Have you updated the + various hbf2gf config files? Have you copied them to the right places? + Don't forget to install ttf2pk's SFD and other data files which define the + various CJK subfonts and encodings. + +. Have you modified and installed the script files for automatic font + generation (not necessary for teTeX 1.0 or newer)? + +. If you want Thai support, have you followed the instructions given in + thaifont.txt? + + +web2c/teTeX users: + +. Do you have a C compiler and a make program available for compilation? GNU + gcc and GNU make are recommended. + +. Have you updated special.map? + +. Have you used the options --with-kpathsea-include=... and + --with-kpathsea-lib=... while calling the configure script of hbf2gf + (or ttf2pk)? Otherwise no file searching library is used which yields + surprising results... Note: Don't use `/usr/include/kpathsea', for + example, but `/usr/include' as an argument to --with-kpathsea-include. + +. To check whether kpathsea correctly finds HBF files and configuration + files for hbf2gf, say: + + kpsewhich -progname=hbf2gf -format='misc fonts' <your_font>.hbf + kpsewhich -progname=hbf2gf -format='other text files' <your_file>.cfg + + The same for TrueType fonts and the ttf2pk config file: + + kpsewhich -progname=ttf2pk <your_font>.ttf + kpsewhich -progname=ttf2pk -format='other text files' ttfonts.map + + [Recent kpathsea versions (like 3.5.5) which come with the new teTeX or + TeXLive distributions have a new variable `TEXFONTMAPS' for map files; + you should use this test + + kpsewhich -progname=ttf2pk -format=map ttfonts.map + + instead of the last one.] + +. Have you compiled the various *conv utility programs (like bg5conv)? Have + you installed them together with the caller scripts (like bg5latex) in + your path? FOR BIG 5 ENCODING YOU SHOULD ALWAYS USE bg5latex or + bg5pdflatex (except if you use cjk-enc.el). FOR SJIS ENCODING YOU SHOULD + ALWAYS USE sjislatex or sjispdflatex. + +. Have you updated and controlled the texmf.cnf configuration file or set + the various environment variables? (TEXINPUTS, TFMFONTS, PKFONTS, + MISCFONTS, TTFONTS, probably TTF2PKINPUTS, TTF2TFMINPUTS, HBF2GFINPUTS) + +. ttf2pk and hbf2gf should be in the same directory where your TeX binaries + like `texconfig' or `gftopk' are (or you must set TEXMFCNF and probably + TEXMF in the environment). Soft links won't work! + +. Finally, have you run texhash (or mktexlsr) after finishing all other + things? + + +emTeX users: + +. Have you created a LaTeX format file which allows plain 8bit input and + output without using any TeX Code Page (tcp)? + +. Have you installed 4DOS (4OS2 or Take Command) for running the file + dvidrv.btm? + +. Have you configured dvidrv.btm? + +. Have you installed the various *conv utility programs (like bg5conv)? + together with the caller scripts (like bg5latex.bat)? FOR BIG 5 ENCODING + YOU SHOULD ALWAYS USE bg5latex.bat . FOR SJIS ENCODING YOU SHOULD ALWAYS + USE sjisltx.bat . + +. Have you created and installed TFM files for fonts not in a CJK font + package? + +. Check whether you have updated all needed environment variables (TEXINPUT, + TEXTFM, TTFONTS, TTFCFG, HBFONTS, HBFCFG) and your dvidrv configuration + file or files (+font-files, +virtual-fonts). + + +In case of errors, verify the list step by step. Detailed information for +each step can be found in the documentation files of CJK. Under web2c or +teTeX, you can set the KPATHSEA_DEBUG environment variable to -1, then all +debugging info is shown and sent to stderr; it is *highly* recommended that +you read the kpathsea.info files. Under emTeX, read the various +documentation files, especially dvidrv.doc and tex.doc, and check the log +file of your dvi driver. + +For hbf2gf, read hbf2gf.txt and its manual page (hbf2gf.1 or a formatted +version of it). Similarly, more info on ttf2tfm and ttf2pk can be found in +ttf2pk.doc and the manual pages ttf2pk.1 and ttf2tfm.1 (or a formatted +version). + +--- end checklist ----------------------------------------------------------- + + + +Unix (web2c and teTeX) +---------------------- + +. If you can become root, rename the `texinput' directory tree of CJK into + `CJK' or something else and add it to your (local) web2c texinput tree + (for example, /usr/local/share/texmf.local/tex/latex/CJK). + +. If you can't become root, modify the TEXINPUTS environment variable + instead so that it includes the CJK directory; use a command similar to + + setenv TEXINPUTS :<your CJK directory>// + + to let TeX search the standard directories and your CJK tree, e.g., + + setenv TEXINPUTS :/home/joe_user/CJK/4_3.0/texinput// + + (Note the leading double colon to append a path, and the double slash to + activate subdirectory searching---for details see the kpathsea info + files.) + + [Recent teTeX and TeXLive versions automatically search a TEXMF tree in + your home directory called `texmf'.] + + See contrib/wadalab/DNP.txt for the Japanese Wadalab fonts. + +. Edit the FD files of the encodings you want to use to specify the fonts + you have. An explanation of the additional size commands CJK provides can + be found in fonts.txt . + + Note: Most FD example files from the CJK package are set up for PS fonts + from the TeXLive distribution. + + If you use the CJK font packages (see below) no changes are needed. + +. [In case you plan to use only outline fonts (PFB, TTF) you can omit the + installation of hbf2gf and HBF fonts.] + + If necessary, create TFM (and PK) files from CJK bitmaps with hbf2gf + (found in utils/hbf2gf). This program comes with a configure script; say + `./configure --help' in the utils/hbf2gf directory for configuration + options. You need a compiled kpathsea library and its header files; in + most cases you say + + ./configure --prefix=/usr/local/TeX \ + --with-kpathsea-include=<INCLUDEDIR> \ + --with-kpathsea-lib=<LIBDIR> + make + make install + + for a normal compilation and installation. Replace `/usr/local/TeX' with a + path to your TeX distribution, and <DIR> with the directory one level + higher than the library and the include files themselves. Example: + libkpathsea.a is in /usr/local/TeX/lib/i686-linux, kpathsea.h is in + /usr/local/TeX/include/kpathsea; then <LIBDIR> should be + `/usr/local/TeX/TeX/lib/i686-linux', and <INCLUDEDIR> should be + `/usr/local/TeX/include' (and not `/usr/local/TeX/include/kpathsea). + + See hbf2gf.txt, the man page (hbf2gf.1), and the documentation of the + source file (hbf2gf.dvi) for further details. Usually it is sufficient to + let hbf2gf create a complete set of TFM files; PK fonts are then created + on demand. + + Older kpathsea versions need a patched MakeTeXPK or mktexpk script; you + should apply the proper patch(es) from utils/hbf2gf/scripts. No changes to + the script files are necessary for teTeX 1.0 and newer. + + The CJK font packages already contain TFM (and VF) files arranged for the + (new) TDS directory structure; add it directly to your TEXMF tree. + +. Free Chinese TrueType fonts (for both simplified and traditional Chinese) + with a license similar to the GPL can be found on + + ftp://ftp.gnu.org/gnu/nongnu + + and its mirrors worldwide. You might also search websites of companies + offering WWW browser; they often come with CJK language packs which + contain CJK TrueType fonts. + + Please note that many CJK TrueType fonts only have a Unicode mapping + table. You should use the SFD files from the ttf2pk package starting with + the letter `U' (e.g., UKS.sfd) which maps Unicode fonts to language + specific encoded subfonts as needed by the CJK package. + + The ttf2pk package found in the contrib/ttf2pk directory of + + ftp://ftp.freetype.org/pub/ + freetype/unstable/freetype1-contrib-current.tar.gz + + contains the two programs ttf2tfm and ttf2pk for converting TrueType fonts + into TFM and PK fonts, respectively. By the way, this package is not + restricted to CJK TrueType fonts; it works with other TrueType fonts too. + Read the manual pages and the documentation for further information. For + compilation you also need the FreeType 1 package: + + ftp://ftp.freetype.org/pub/freetype/unstable/freetype-current.tar.gz + +. The font editor `fontforge' (available from http://fontforge.sf.net) is + capable of generating Type 1 subfonts as needed by CJK from other formats + like TTF, OTF or CID (using the subfont definition files from ttf2pk). + Such subfonts should be usable by virtually all platforms. + + (Funnnily, fontforge uses the `.sfd' extension also for saving font files + it creates.) + + Although fontforge needs the X Window System, it can be compiled without a + graphical interface, using a scripting language to control font + conversion. The directory `utils/subfonts' of the CJK package contains + useful scripts for manipulating subfonts. + +. It is recommended to add all CJK fonts which are converted to the PK font + format (either with hbf2gf or ttf2pk) to the file special.map: Assuming + that your PK fonts should be generated in + + $TEXMF/fonts/pk/modeless/gb2312/gsfs14/ + + the proper entries would be + + gsfs1401 gb2312 gsfs14 + gsfs1402 gs2312 gsfs14 + ... + +. Compile the small preprocessors in the utils subdirectories with + + cc -O -s -o bg5conv bg5conv.c + cc -O -s -o sjisconv sjisconv.c + cc -O -s -o cefconv cefconv.c + cc -O -s -o cef5conv cef5conv.c + cc -O -s -o cefsconv cefsconv.c + cc -O -s -o extconv extconv.c + + and move them into TeX's bin directory (together with the shell scripts) + or modify the PATH environment variable appropriately. (`cc' can be any C + compiler.) + + The script files `...latex' make the use of these programs transparent. + +. Move the man pages into your man1 directory tree. + +. If you want to use Mule, emacs, or XEmacs together with the CJK package, + you should install cjk-enc.el (in utils/lisp). See cjk-enc.txt for + documentation. Choose the correct cjk-enc.el version---note that the Mule + version has limited capabilities compared to the Emacs version. + + Move cjk-enc.el to a place which is searched by Mule (e.g., + /usr/local/lib/mule/site-lisp) and put the following line into your emacs + file: + + (load-library "cjk-enc") + + The default directory for emacs is /usr/local/share/emacs/site-lisp. + + Note that you don't need cjk-enc.el in case you are editing UTF-8 encoded + files only. + +. If you mainly write Chinese or Japanese with Emacs or Mule, consider the + use of cjktilde.el (in utils/lisp). This file contains a minor mode which + exchanges the tilde key with the space key. See the documentation of + \CJKtilde in CJK.txt for the reasons to use `~' in most cases instead of + a space character. + + To install, move cjktilde.el to a place which is searched by Emacs or Mule + (e.g., /usr/local/share/emacs/site-lisp) and put the following line into + your .emacs file: + + (load-library "cjktilde") + + To toggle the CJK tilde mode say + + M-x cjk-tilde-mode + + You can then assign cjk-tilde-mode to a key, e.g., shift-insert. + +. If you use AUCTeX you can try cjkspace.el instead of cjktilde.el; it works + in a similar (but not identical) way and is special to LaTeX buffers. Move + the file to the local lisp directory and put the following lines into your + .emacs file: + + (autoload 'CJK-insert-space "cjkspace" + "Insert tildes appropriately in CJK document." t) + (defun my-LaTeX-mode-hook () + "My personal key definitions for LaTeX mode." + (define-key LaTeX-mode-map " " 'CJK-insert-space)) + (add-hook 'LaTeX-mode-hook 'my-LaTeX-mode-hook) + + Please read the documentation in the file cjkspace.el . + +. For Thai support please follow the instructions given in `thaifont.txt'. + + +DOS and OS/2 (emTeX) +-------------------- + +web2c has been ported to MS-DOS. If you use this (which I recommend), follow +the instructions above. + +. Note that some Unix specific shell scripts and other files have names + longer than 8 characters. You don't need them. Some of the TeX input files + have lower and uppercase characters in its filenames, but none of the + filenames collide under DOS. + +. Move the `texinput' directory tree to a place where TeX scans for input + files (and rename it to `cjk' or something else). Note that its + subdirectories are specific to encoding schemes. emTeX allows for + recursively scanned search paths, thus retaining the directory tree is + possible. + + Example: + + CJK files: c:\emtex\texinput\cjk\... + environment: set emtexdir=c:\emtex + set texinput=%emtexdir%\texinput!! + + See contrib/wadalab/DNP.txt for the Japanese Wadalab fonts. + +. [In case you plan to use only outline fonts (PFB, TTF) you can omit + this step.] + + Compile hbf2gf. You need GNU make and either the emx (DOS and OS/2) or + the djgpp (DOS and Windows) compiler. + + Say `make -f Makefile.gnu' to see the possible options; more info can be + found in hbf2gf.txt . + +. Compile the utility programs. + + cc -O -s -o bg5conv bg5conv.c + cc -O -s -o sjisconv sjisconv.c + cc -O -s -o cefconv cefconv.c + cc -O -s -o cef5conv cef5conv.c + cc -O -s -o cefsconv cefsconv.c + cc -O -s -o extconv extconv.c + +. Move the various BAT files (for DOS) and/or the CMD REXX scripts (for + OS/2) into a directory in the path (e.g., c:\emtex\bin). + +. Edit the FD files of your encoding(s) to specify the fonts you have. An + explanation of the additional size commands CJK provides can be found in + fonts.txt . + + Note: Most FD example files from the CJK package are set up for PS fonts + from the TeXLive distribution. + + If you use the CJK font packages (see below) no changes are needed. + +. [In case you plan to use only outline fonts (PFB, TTF) you can omit this + step.] + + If necessary, create TFM (and PK) files from CJK bitmaps with hbf2gf + (found in utils\hbf2gf). See hbf2gf.txt and the documentation of the + source file (hbf2gf.dvi) for explanation. Usually it is sufficient to let + hbf2gf create a complete set of TFM files; PK fonts are then created on + demand (this is done with the dvidrv.btm shell script of the CJK package). + + You need 4DOS or 4OS/2 (these are shareware replacements for command.com) + to run dvidrv.btm. + + dvidrv.btm should also work with Take Command/16, Take Command/32, or Take + Command for OS/2. + + The CJK font packages already contain TFM (and VF) files (arranged for the + (new) TDS directory structure; unpack the font packages in the root + directory with + + gzip -d CJK_font_archive.tgz + tar xvf CJK_font_archive.tar + + Rearrange the directory structure as suggested below (to make the file + search mechanism of emTeX faster) and modify the appropriate environment + variables to include the additional directories. The same holds for the + CJK bitmap fonts, its HBF header files and the hbf2gf configuration files. + + [Note: Binaries for the gzip and tar archive programs can be found on CTAN + in the `utils' subdirectory.] + + Example: + + jfs56.tar.gz (should be ftp'ed as jfs56.tgz if you work under DOS + since two dots are not allowed) + + suggested final directory structure (after unpacking and rearranging): + + c:\texmf\fonts\tfm\gsfs1401.tfm ... + c:\texmf\hbf2gf\gsfs14.cfg + c:\texmf\fonts\hbf\gb2312\jfs56\jfs56.a ... + [ c:\texmf\fonts\pk\modeless\XXXdpi\gsfs1401.pk ... ] + + Add these lines to the end of autoexec.bat: + + set texmfdir=c:\texmf + set cjkpk=%texmfdir%\fonts\pk + set textfm=%textfm%;%texmfdir%\fonts\tfm + + Under OS/2, add similar lines (but with expanded pathnames) to the end + of config.sys: + + set texmfdir=c:\texmf + set cjkpk=c:\texmf\fonts\pk + set textfm=<your old textfm path>;c:\texmf\fonts\tfm + + Changes in gsfs14.cfg: + + pk_directory $texmfdir\fonts\pk\modeless\432dpi\ + tfm_directory $texmfdir\fonts\tfm\ + + Changes in dvidrv.btm: + + set pkdir=%texmfdir%\fonts\pk + set ttfcfg=%texmfdir%\ttf2pk + set hbfcfg=%texmfdir%\hbf2gf + + set pre_dpi= + set post_dpi=dpi + + Changes in a dvi driver configuration file (.cnf) for emTeX: + + +font-files:{<your old pk path>,$texmfdir:fonts\modeless}\@Rrdpi\@f.pk + +. Free Chinese TrueType fonts (for both simplified and traditiional Chinese) + with a license similar to the GPL can be found on + ftp://ftp.gnu.org/gnu/nongnu and its mirrors worldwide. You might also + search websites of companies offering WWW browser; they often come with + CJK language packs which contain CJK TrueType fonts. + + Please note that many CJK TrueType fonts only have a Unicode mapping + table. You should use the SFD files from the ttf2pk package starting with + the letter `U' (e.g., UKS.sfd) which maps Unicode fonts to language + specific encoded subfonts as needed by the CJK package. + + The ttf2pk package can be found in the contrib/ttf2pk directory of + + ftp://ftp.freetype.org/ + freetype/unstable/freetype1-contrib-current.tar.gz + + contains the two programs ttf2tfm and ttf2pk for converting TrueType fonts + into TFM and PK fonts, respectively. By the way, this package is not + restricted to CJK TrueType fonts; it works with other TrueType fonts too. + Read the manual pages and the documentation for further information. For + compilation you also need the FreeType 1 package: + + ftp://ftp.freetype.org/pub/freetype/unstable/freetype-current.tar.gz + +. The font editor `fontforge' (available from http://fontforge.sf.net) is + capable to generate Type 1 subfonts as needed by CJK from other formats + like TTF, OTF or CID (using the subfont definition files from ttf2pk). + Such subfonts should be usable by virtually all platforms. + + (Funnnily, fontforge uses the `.sfd' extension also for saving font files + it creates.) + + Although fontforge needs the X Window System, it can be compiled without a + graphical interface, using a scripting language to control font + conversion. The directory `utils/subfonts' of the CJK package contains + useful scripts for manipulating subfonts. + +. You find the some standard Hangul PK fonts for 300dpi (cx) and 600dpi + (ljfour) resolution in the following archives: + + han.300.tar.gz + han1.300.tar.gz + han.600.tar.gz + han1.600.tar.gz + han.tfmvf.tar.gz + han1.tfmvf.tar.gz + + It is necessary to rearrange not only the directory structure but the + names of the dpi directories too: The TeX directory standards specifies + `dpiXXX', but emTeX provides by default `XXXdpi'. + + The final locations of the packages' files should be + + c:\texmf\fonts\tfm\ + c:\texmf\fonts\vf\ + c:\texmf\fonts\pk\{cx,ljfour}\XXXdpi\ + + Additionally to the above example you should add this to the end of + autoexec.bat: + + set cjkvf=%texmfdir%\fonts\vf + + or config.sys for OS/2: + + set cjkvf=c:\texmf\fonts\vf + + Assuming that you use the 300dpi Hangul PK fonts (for a cx printer) you + should do the following changes in your dvi driver configuration file + (suffix `.cnf') for emTeX (still continuing the above example): + + +font-files:{<your old pk path>,$texmfdir:fonts\{modeless,cx}}\@Rrdpi\@f.pk + +virtual-fonts:{<your old vf path>,$texmfdir:fonts}\@f.vf + +. For Thai support please follow the instructions given in `thaifont.txt'. + + +Other systems +------------- + +Recent versions of CJK have only been tested with web2c; nevertheless, it +should run on other systems too: + + The font editor `fontforge' (available from http://fontforge.sf.net) is + capable to generate Type 1 subfonts as needed by CJK from other formats + like TTF, OTF or CID (using the subfont definition files from ttf2pk). + Such subfonts should be usable by virtually all platforms. + + (Funnnily, fontforge uses the `.sfd' extension also for saving font files + it creates.) + + Although fontforge needs the X Window System, it can be compiled without a + graphical interface, using a scripting language to control font + conversion. The directory `utils/subfonts' of the CJK package contains + useful scripts for manipulating subfonts. + + If no outline fonts are available and you have to use HBF fonts, try to + compile hbf2gf. Since it is written in ANSI C it should be fairly portable + (if patches are needed please send them to the author; most likely you + have to modify the file operating routines). If this fails it is necessary + to build the various PK fonts on a different machine. It has been reported + that older GNU compilers on the NeXT have difficulties with `%i' + formatting parameters in the HBF API (hbf.c): replace all occurrences of + `%i' with `%d'. + + If there exists an equivalent to mktexpk (or dvidrv.btm), try to modify it + similar to CJK's changes so that CJK fonts can be created on the fly. If + this fails you can only use precompiled sets of CJK fonts (this is, using + PK fonts generated on another platform). + + The rest should be rather trivial for the experienced user; again, please + write the author if you have successfully installed the package and send a + report how to install. + + +How to get CJK and related software +----------------------------------- + +. You find CJK and software related to TeX at the CTAN hosts (Comprehensive + TeX Archive Network). These completely identical ftp servers (concerning + TeX software) are + + ftp.dante.de DANTE (Deutsche Anwendervereinigung fuer TeX) + Hamburg (Germany) + ftp.tex.ac.uk Cambridge University + Cambridge (England) + ctan.tug.org TUG (TeX Users Group) + Massachusetts (USA) + + You should use the nearest one, or even better, a local mirror of a CTAN + host: The file `CTAN.sites' on CTAN contains a list. + + On CTAN, the CJK package itself is unpacked. To receive the complete + package, go to the parent directory of CJK and say + + get CJK.zip + + or + + get CJK.tar.gz + + whatever is appropriate for your system. + + The CJK directory and all its subdirectories are sent to you in compressed + form. Be aware that not all mirrors of CTAN sites support compression of + directories. + +. The documentation bundle of the CJK package is not unpackaged; download it + as + + get cjk-4.8.0-doc.tar.gz + + or + + get cjk-4.8.0-doc.tar.gz cjkdoc.tgz + + whatever is appropriate for your system. It contains precompiled versions + (in DVI, PDF, text format) of all documentation and example files. + +. PostScript font packages with subfonts which can be directly used by the + CJK package are already available on CTAN: + + traditional Chinese: + fonts/arphic/bkai00mp-<version>.tar.gz + fonts/arphic/bsmi00lp-<version>.tar.gz + + simplified Chinese: + fonts/arphic/gbsn00lp-<version>.tar.gz + fonts/arphic/gkai00mp-<version>.tar.gz + + Japanese: + fonts/wadalab/gothic-0-13-<version>.tar.gz + fonts/wadalab/maru-0-8-<version>.tar.gz + fonts/wadalab/maru-1-8-<version>.tar.gz + fonts/wadalab/mincho-0-12-<version>.tar.gz + fonts/wadalab/mincho-0-8-<version>.tar.gz + fonts/wadalab/mincho-1-8-<version>.tar.gz + + Korean: + fonts/korean/HLaTeX/uhc-bom.tar.gz + fonts/korean/HLaTeX/uhc-dinaru.tar.gz + fonts/korean/HLaTeX/uhc-fonts.tar.gz + fonts/korean/HLaTeX/uhc-gothic.tar.gz + fonts/korean/HLaTeX/uhc-graphic.tar.gz + fonts/korean/HLaTeX/uhc-gungseo.tar.gz + fonts/korean/HLaTeX/uhc-jamo.tar.gz + fonts/korean/HLaTeX/uhc-myoungjo.tar.gz + fonts/korean/HLaTeX/uhc-pen.tar.gz + fonts/korean/HLaTeX/uhc-pilgi.tar.gz + fonts/korean/HLaTeX/uhc-pilgia.tar.gz + fonts/korean/HLaTeX/uhc-shinmun.tar.gz + fonts/korean/HLaTeX/uhc-taza.tar.gz + fonts/korean/HLaTeX/uhc-vada.tar.gz + fonts/korean/HLaTeX/uhc-yetgul.tar.gz + + You should consult the documentation and the font samplers of those + packages (if available) for more informations. + +. Mule 2.3 can be downloaded from this Japanese host: + + ftp://ftp.m17n.org/pub/mule/mule-2.3.tar.gz + + [Note: You need Mule 2.3 only for right-to-left scripts like Arabic or + Hebrew which aren't yet supported in emacs. Otherwise, I strongly + recommend to get FSF emacs 22 or newer, or XEmacs 21.1 or newer which is + available from ftp.gnu.org (USA) and ftp.xemacs.org, respectively, and + its many mirrors.] + + +---End of INSTALL--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/TDS.txt b/Master/texmf-dist/doc/latex/cjk/doc/TDS.txt new file mode 100644 index 00000000000..d50d879453c --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/TDS.txt @@ -0,0 +1,172 @@ +This is the file TDS.txt of the CJK macro package ver. 4.8.0 (22-May-2008). + +The TeX Directory Structure (TDS) +--------------------------------- + +A working group of the American TeX Users Group (TUG) has developed the TDS +standard (available from the CTAN hosts in tex-archive/tds). That document +describes a default directory structure where and how to store the many +different files needed for a complete TeX system. + +The following describes the recommended default directories used in the CJK +package for its files; $TEXMF stands for the place where the texmf directory +resides (a possibly better place for distributions based on web2c is +$TEXMFLOCAL; see texmf.cnf of your TeX package for details): + +We follow TDS 1.1 and the setup of TeXLive 2005; this corresponds to +kpathsea 3.5.5. Some of the variables don't exist in older kpathsea +implementations---please read the man page of ttf2tfm for more information +on the old locations. + + +CJK TeX files (you should move the whole `texinput' tree of the CJK package + to this place): + + $TEXMF/tex/latex/CJK/<CJK subdirs>/<CJK TeX files> + + example: + /usr/local/web2c-7.0/texmf/tex/latex/CJK/Bg5/Bg5.cap + + affected variable: $TEXINPUTS + + +TrueType fonts: + + $TEXMF/fonts/truetype/<supplier>/<truetype font> + + example: + /usr/local/teTeX/texmf/fonts/truetype/arphic/gbsn00lp.ttf + + affected variable: $TTFONTS + + You should append proper entries for all subfonts to special.map to make + web2c's name parsing algorithm happy (otherwise it can happen that the + created PK and TFM files are placed into rather strangely named + directories). + + Example lines to append for the above font: + + gbsnlp01 arphic gbsnlp + gbsnlp02 arphic gbsnlp + ... + + +HBF fonts: + + $TEXMF/fonts/misc/hbf/<supplier>/<hbf name stem>/<hbf files> + + [If no supplier is given, you should use `public' instead.] + + example: + /usr/local/share/texmf/fonts/misc/hbf/public/kanji48/kanji48.{bin,hbf} + + affected variable: $MISCFONTS + + You should append proper entries for all subfonts to special.map to make + web2c's name parsing algorithm happy (otherwise it can happen that the + created PK and TFM files are placed into rather strangely named + directories). + + Example lines to append for the above font: + + kanji4801 public kanji48 + kanji4802 public kanji48 + ... + + +ttf2pk configuration and replacement files (ttf2pk.cfg and *.rpl): + + $TEXMF/ttf2pk + + example: + /usr/local/texmf/ttf2pk/ttf2pk.cfg + + affected variable: $TTF2PKINPUTS + + +ttf2pk map files (*.map): + + $TEXMF/fonts/map/ttf2pk + + example: + /usr/local/texmf/fonts/map/ttf2pk/config/ttfonts.map + + affected variable: $TEXFONTMAPS + + +ttf2pk encoding files (*.enc): + + $TEXMF/fonts/enc/ttf2pk + + example: + /usr/local/texmf.local/fonts/enc/ttf2pk/base/T1-WGL4.enc + + affected variable: $ENCFONTS + + [Note that this location is normally found by ttf2tfm also since the + `ttf2pk' path component doesn't appear explicitly in web2c's $ENCFONTS + value. Instead, it starts subdirectory searching one level higher.] + + +ttf2pk subfont definition files (*.sfd): + + $TEXMF/fonts/sfd + + example: + /home/sx0005/texmf/fonts/sfd/Bg5.sfd + + affected variable: $SFDFONTS + + +hbf2gf configuration files: + + $TEXMF/hbf2gf/<config files> + + example: + /dos/texmf/hbf2gf/gsfs14.cfg + + affected variable: $HBF2GFINPUTS + + +TFM files (<supplier> and <name stem> as specified in special.map): + + $TEXMF/fonts/tfm/<supplier>/<name stem>/<tfm file> + + example: + /usr/local/teTeX/texmf/fonts/tfm/arphic/gbsnlp/gbsnlp23.tfm + + affected variable: $TFMFONTS + + +PK files (<supplier> and <name stem> as specified in special.map) + + $TEXMF/fonts/pk/modeless/<supplier>/<name stem>/<pk file> + + example: + /usr/local/share/texmf/fonts/pk/modeless/uw/uwcxmf/uwcxmf23.3252pk + + affected variable: $PKFONTS + +[There are further possibilities how to store PK files: + + 1. instead of <name>.<dpi>pk you can use dpi<dpi>/<name>.pk + + example: + /texmf/fonts/pk/modeless/public/b5ka12/dpi600/b5ka1217.pk + + 2. teTeX additionally allows you to omit either <supplier> or <name stem> + or both (for PK, TFM, and MF files) + + example: + /texmf/fonts/pk/modeless/b5ka12/dpi600/b5ka1217.pk + + + The first option is necessary on operating systems like DOS which only + allow 8.3 filenames. The second option enables you to use the `!' feature + of the emTeX subdirectory searching algorithm (only one level) instead of + `!!' (search all subdirectory levels) together with its template mechanism + to make emTeX much faster in finding PK files. Now teTeX and emTeX could + share one common texmf tree.] + + +---End of TDS.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/TeXLive.txt b/Master/texmf-dist/doc/latex/cjk/doc/TeXLive.txt new file mode 100644 index 00000000000..571f57c7cd2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/TeXLive.txt @@ -0,0 +1,549 @@ +This file shows which files of the `CJK-4.8.0' and `CJK-4.8.0-doc' packages +are stored in which TeXLive bundles (if at all). The format of the entries +is + + <filename> <TeXLive package>[,<TeXLive package>] <remark> + + +CJK-4.8.0 +--------- + +ChangeLog CJK +contrib/wadalab/c42goth.fd CJK +contrib/wadalab/c42goth.fdx CJK +contrib/wadalab/c42maru.fd CJK +contrib/wadalab/c42maru.fdx CJK +contrib/wadalab/c42min.fd CJK +contrib/wadalab/c42min.fdx CJK +contrib/wadalab/c52maru.fd CJK +contrib/wadalab/c52maru.fdx CJK +contrib/wadalab/c52min.fd CJK +contrib/wadalab/c52min.fdx CJK +contrib/wadalab/c70goth.fd CJK +contrib/wadalab/c70goth.fdx CJK +contrib/wadalab/c70maru.fd CJK +contrib/wadalab/c70maru.fdx CJK +contrib/wadalab/c70min.fd CJK +contrib/wadalab/c70min.fdx CJK +contrib/wadalab/DNP.sfd bin-cjkutils +contrib/wadalab/DNP.txt CJK +contrib/wadalab/fixwada CJK +contrib/wadalab/fixwada2.pl CJK +contrib/wadalab/makefont CJK +contrib/wadalab/makeuniwada.pl CJK +contrib/wadalab/wadalab.map CJK (1) +doc/CEF.txt CJK +doc/chinese/emTeXb5.txt CJK +doc/chinese/README CJK +doc/chinese/READMEb5.tex CJK +doc/chinese/READMEgb.tex CJK +doc/chinese/teTeXb5.txt CJK +doc/cjk-enc.txt CJK +doc/CJK.txt CJK +doc/CJKutf8.txt CJK +doc/commands.txt CJK +doc/COPYING CJK +doc/dvidrv.txt CJK +doc/fdxfiles.txt CJK +doc/fonts.txt CJK +doc/hbf2gf.txt bin-cjkutils +doc/history.2_5 CJK +doc/history.txt CJK +doc/INSTALL CJK +doc/japanese/ascii.txt CJK +doc/japanese/japanese.jis CJK +doc/japanese/japanese.txt CJK +doc/japanese/jp-fonts.txt CJK +doc/japanese/jp-tex.txt CJK +doc/japanese/preview.txt CJK +doc/japanese/README CJK +doc/japanese/shibuaki.txt CJK +doc/pdfhowto/examples/bkai.map CJK +doc/pdfhowto/examples/cid-x.map CJK +doc/pdfhowto/examples/cwtb.map CJK +doc/pdfhowto/examples/dvipdfmx.cfg CJK +doc/pdfhowto/examples/gen-map.pl CJK +doc/pdfhowto/examples/map.list CJK +doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd CJK +doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd CJK +doc/pdfhowto/examples/texinput/GB/c10tmpl.fd CJK +doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd CJK +doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd CJK +doc/pdfhowto/examples/updmap.my CJK +doc/pdfhowto/examples/wcl.sfd CJK +doc/pdfhowto/HOWTO.txt CJK +doc/pinyin.txt CJK +doc/pyhyphen.txt CJK +doc/reftex.txt CJK +doc/ruby.txt CJK +doc/TDS.txt CJK +doc/TeXLive.txt CJK +doc/thaifont.txt CJK +doc/vertical.txt CJK +doc/xCJK.txt CJK +examples/Big5.tex CJK +examples/Big5vert.tex CJK +examples/CEF_test.tex CJK +examples/CJKbabel.tex CJK +examples/CJKfntef.tex CJK +examples/CJKmixed.tex CJK +examples/CJKutf8.tex CJK +examples/GB.tex CJK +examples/JIS.tex CJK +examples/KS.tex CJK +examples/muletest.tex CJK +examples/py_test.tex CJK +examples/README CJK +examples/rubytest.tex CJK +examples/SJIS.tex CJK +examples/thai.tex CJK +examples/UTF8.tex CJK +examples/xCJK.pdf CJK + +Makefile --- +MANIFEST CJK +README CJK +texinput/Bg5/Bg5.cap CJK +texinput/Bg5/Bg5.chr CJK +texinput/Bg5/Bg5.cpx CJK +texinput/Bg5/Bg5.enc CJK +texinput/Bg5/c00bkai.fdx CJK +texinput/Bg5/c00bsmi.fd CJK +texinput/Bg5/c00bsmi.fdx CJK +texinput/Bg5/c00bsmir.fd CJK +texinput/Bg5/c00bsmir.fdx CJK +texinput/Bg5/c00cns.fd CJK +texinput/Bg5/c00fs.fd CJK +texinput/Bg5/c00kai.fd CJK +texinput/Bg5/c00kair.fd CJK +texinput/Bg5/c00kair.fdx CJK +texinput/Bg5/c00song.fd CJK +texinput/Bg5/c01song.fd CJK +texinput/Bg5/c05song.fd CJK +texinput/Bg5/c09song.fd CJK +texinput/Bg5/HK.enc CJK +texinput/CEF/c80song.fd CJK +texinput/CEF/c81song.fd CJK +texinput/CJK.enc CJK +texinput/CJKfntef.sty CJK +texinput/CJKnumb.sty CJK +texinput/CJK.sty CJK +texinput/CJKulem.sty CJK +texinput/CJKutf8.sty CJK +texinput/CJKvert.sty CJK +texinput/CNS/c31song.fd CJK +texinput/CNS/c32song.fd CJK +texinput/CNS/c33song.fd CJK +texinput/CNS/c34song.fd CJK +texinput/CNS/c35song.fd CJK +texinput/CNS/c36song.fd CJK +texinput/CNS/c37song.fd CJK +texinput/CNS/EUC-TW.bdg CJK +texinput/CNS/EUC-TW.chr CJK +texinput/CNS/EUC-TW.enc CJK +texinput/extended.chr CJK +texinput/extended.enc CJK +texinput/GB/c10fs.fd CJK +texinput/GB/c10gbsn.fd CJK +texinput/GB/c10gbsn.fdx CJK +texinput/GB/c10song.fd CJK +texinput/GB/c11song.fd CJK +texinput/GB/c19song.fd CJK +texinput/GB/c20song.fd CJK +texinput/GB/c21song.fd CJK +texinput/GB/GB.cap CJK +texinput/GB/GB.cpx CJK +texinput/JIS/c40song.fd CJK +texinput/JIS/c41song.fd CJK +texinput/JIS/c42song.fd CJK +texinput/JIS/c43song.fd CJK +texinput/JIS/c50song.fd CJK +texinput/JIS/EUC-JP.bdg CJK +texinput/JIS/EUC-JP.chr CJK +texinput/JIS/EUC-JP.enc CJK +texinput/JIS/EUC-JPdnp.enc CJK +texinput/JIS/JIS.cap CJK +texinput/JIS/JIS.cpx CJK +texinput/JIS/JISdnp.enc CJK +texinput/KS/c60dr.fd CJK +texinput/KS/c60gr.fd CJK +texinput/KS/c60gs.fd CJK +texinput/KS/c60gt.fd CJK +texinput/KS/c60hgt.fd CJK +texinput/KS/c60hmj.fd CJK +texinput/KS/c60hol.fd CJK +texinput/KS/c60hpg.fd CJK +texinput/KS/c60mj.fd CJK +texinput/KS/c61dr.fd CJK +texinput/KS/c61gr.fd CJK +texinput/KS/c61gs.fd CJK +texinput/KS/c61gt.fd CJK +texinput/KS/c61hgt.fd CJK +texinput/KS/c61hmj.fd CJK +texinput/KS/c61hol.fd CJK +texinput/KS/c61hpg.fd CJK +texinput/KS/c61mj.fd CJK +texinput/KS/c62song.fd CJK +texinput/KS/hangul2.cap CJK +texinput/KS/hangul2.cpx CJK +texinput/KS/hangul.cap CJK +texinput/KS/hangul.cpx CJK +texinput/KS/hanja.cap CJK +texinput/KS/hanja.cpx CJK +texinput/KS/HLaTeX/c63bm.fd CJK +texinput/KS/HLaTeX/c63dn.fd CJK +texinput/KS/HLaTeX/c63gr.fd CJK +texinput/KS/HLaTeX/c63gs.fd CJK +texinput/KS/HLaTeX/c63gt.fd CJK +texinput/KS/HLaTeX/c63jgt.fd CJK +texinput/KS/HLaTeX/c63jmj.fd CJK +texinput/KS/HLaTeX/c63jnv.fd CJK +texinput/KS/HLaTeX/c63jsr.fd CJK +texinput/KS/HLaTeX/c63mj.fd CJK (2) +texinput/KS/HLaTeX/c63pga.fd CJK +texinput/KS/HLaTeX/c63pg.fd CJK +texinput/KS/HLaTeX/c63ph.fd CJK +texinput/KS/HLaTeX/c63pn.fd CJK +texinput/KS/HLaTeX/c63sh.fd CJK +texinput/KS/HLaTeX/c63tz.fd CJK +texinput/KS/HLaTeX/c63vd.fd CJK +texinput/KS/HLaTeX/c63yt.fd CJK +texinput/KS/HLaTeX/c64bm.fd CJK +texinput/KS/HLaTeX/c64dn.fd CJK +texinput/KS/HLaTeX/c64gr.fd CJK +texinput/KS/HLaTeX/c64gs.fd CJK +texinput/KS/HLaTeX/c64gt.fd CJK +texinput/KS/HLaTeX/c64jgt.fd CJK +texinput/KS/HLaTeX/c64jmj.fd CJK +texinput/KS/HLaTeX/c64jnv.fd CJK +texinput/KS/HLaTeX/c64jsr.fd CJK +texinput/KS/HLaTeX/c64mj.fd CJK (2) +texinput/KS/HLaTeX/c64pga.fd CJK +texinput/KS/HLaTeX/c64pg.fd CJK +texinput/KS/HLaTeX/c64ph.fd CJK +texinput/KS/HLaTeX/c64pn.fd CJK +texinput/KS/HLaTeX/c64sh.fd CJK +texinput/KS/HLaTeX/c64tz.fd CJK +texinput/KS/HLaTeX/c64vd.fd CJK +texinput/KS/HLaTeX/c64yt.fd CJK +texinput/KS/HLaTeX/c65bm.fd CJK +texinput/KS/HLaTeX/c65dn.fd CJK +texinput/KS/HLaTeX/c65gr.fd CJK +texinput/KS/HLaTeX/c65gs.fd CJK +texinput/KS/HLaTeX/c65gt.fd CJK +texinput/KS/HLaTeX/c65jgt.fd CJK +texinput/KS/HLaTeX/c65jmj.fd CJK +texinput/KS/HLaTeX/c65jnv.fd CJK +texinput/KS/HLaTeX/c65jsr.fd CJK +texinput/KS/HLaTeX/c65mj.fd CJK (2) +texinput/KS/HLaTeX/c65pga.fd CJK +texinput/KS/HLaTeX/c65pg.fd CJK +texinput/KS/HLaTeX/c65ph.fd CJK +texinput/KS/HLaTeX/c65pn.fd CJK +texinput/KS/HLaTeX/c65sh.fd CJK +texinput/KS/HLaTeX/c65tz.fd CJK +texinput/KS/HLaTeX/c65vd.fd CJK +texinput/KS/HLaTeX/c65yt.fd CJK +texinput/KS/HLaTeX/HLaTeX.chr CJK +texinput/KS/HLaTeX/KSHL.enc CJK +texinput/KS/HLaTeX/pshan.sty CJK +texinput/KS/KS.chr CJK +texinput/KS/KS.enc CJK +texinput/mule/MULEenc.sty CJK +texinput/pinyin.sty CJK +texinput/pmCbig.enc CJK +texinput/pmC.chr CJK +texinput/pmCsmall.enc CJK +texinput/ruby.sty CJK +texinput/SJIS/c49song.fd CJK +texinput/SJIS/SJIS.bdg CJK +texinput/SJIS/SJIS.cap CJK +texinput/SJIS/SJIS.chr CJK +texinput/SJIS/SJIS.cpx CJK +texinput/SJIS/SJISdnp.chr CJK +texinput/SJIS/SJISdnp.enc CJK +texinput/SJIS/SJIS.enc CJK +texinput/standard.bdg CJK +texinput/standard.chr CJK +texinput/standard.enc CJK +texinput/thai/c90cmr.fd CJK +texinput/thai/c90cmss.fd CJK +texinput/thai/c90cmtt.fd CJK +texinput/thai/c90enc.def CJK +texinput/thai/c90gar.fd CJK +texinput/thai/c90nrsr.fd CJK +texinput/thai/thaicjk.ldf CJK +texinput/UTF8/c70bkai.fd CJK +texinput/UTF8/c70bkai.fdx CJK +texinput/UTF8/c70bsmi.fd CJK +texinput/UTF8/c70bsmi.fdx CJK +texinput/UTF8/c70gbsn.fd CJK +texinput/UTF8/c70gkai.fd CJK +texinput/UTF8/c70mj.fd CJK +texinput/UTF8/c70song.fd CJK +texinput/UTF8/ja.cpx CJK +texinput/UTF8/ko-Hang2.cpx CJK +texinput/UTF8/ko-Hang.cpx CJK +texinput/UTF8/ko-Hani.cpx CJK +texinput/UTF8/UTF8.bdg CJK +texinput/UTF8/UTF8.chr CJK +texinput/UTF8/UTF8.enc CJK +texinput/UTF8/xUTF8.chr CJK +texinput/UTF8/xUTF8.enc CJK +texinput/UTF8/zh-Hans.cpx CJK +texinput/UTF8/zh-Hant.cpx CJK +texinput/xCJK.sty CJK +texinput/xpmC.chr CJK +texinput/xpmC.enc CJK +utils/Bg5conv/bg5conv.1 bin-cjkutils +utils/Bg5conv/bg5conv.c source.development +utils/Bg5conv/bg5conv.w --- +utils/Bg5conv/bg5latex source.development,bin-cjkutils +utils/Bg5conv/bg5latex.bat source.development +utils/Bg5conv/bg5latex.cmd --- +utils/Bg5conv/bg5pdflatex source.development,bin-cjkutils +utils/CEFconv/cef5conv.1 bin-cjkutils +utils/CEFconv/cef5conv.c source.development +utils/CEFconv/cef5conv.w --- +utils/CEFconv/cef5latex source.development,bin-cjkutils +utils/CEFconv/cef5ltx.bat source.development +utils/CEFconv/cef5ltx.cmd --- +utils/CEFconv/cef5pdflatex source.development,bin-cjkutils +utils/CEFconv/cefconv.1 bin-cjkutils +utils/CEFconv/cefconv.c source.development +utils/CEFconv/cefconv.w --- +utils/CEFconv/ceflatex source.development,bin-cjkutils +utils/CEFconv/ceflatex.bat source.development +utils/CEFconv/ceflatex.cmd --- +utils/CEFconv/cefpdflatex source.development,bin-cjkutils +utils/CEFconv/cefsconv.1 bin-cjkutils +utils/CEFconv/cefsconv.c source.development +utils/CEFconv/cefsconv.w --- +utils/CEFconv/cefslatex source.development,bin-cjkutils +utils/CEFconv/cefsltx.bat source.development +utils/CEFconv/cefsltx.cmd --- +utils/CEFconv/cefspdflatex source.development,bin-cjkutils +utils/cjklatex/cjklatex.c source.development +utils/extconv/bg5+latex source.development,bin-cjkutils +utils/extconv/bg5+pdflatex source.development,bin-cjkutils +utils/extconv/bg5pltx.bat source.development +utils/extconv/bg5pltx.cmd --- +utils/extconv/extconv.1 bin-cjkutils +utils/extconv/extconv.c source.development +utils/extconv/extconv.w --- +utils/extconv/gbklatex source.development,bin-cjkutils (4) +utils/extconv/gbklatex.bat source.development +utils/extconv/gbklatex.cmd --- +utils/extconv/gbkpdflatex source.development,bin-cjkutils (5) +utils/f_name.bat source.development +utils/hbf2gf/c-auto.h source.development +utils/hbf2gf/cfg/b5ka12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/b5kr12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/b5so12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/c1so12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/c2so12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/c3so12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/c4so12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/c5so12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/c6so12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/c7so12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/csso12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/gsfs14.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/j2so12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/jsso12.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/ksso17.cfg source.development,bin-cjkutils +utils/hbf2gf/cfg/README source.development,bin-cjkutils +utils/hbf2gf/config.guess --- (3) +utils/hbf2gf/config.sub --- (3) +utils/hbf2gf/configure --- (3) +utils/hbf2gf/configure.ac source.development +utils/hbf2gf/dvidrv.btm --- +utils/hbf2gf/emdir.c source.development +utils/hbf2gf/emdir.h source.development +utils/hbf2gf/emtexdir.c source.development +utils/hbf2gf/emtexdir.h source.development +utils/hbf2gf/hbf2gf.1 source.development,bin-cjkutils +utils/hbf2gf/hbf2gf.c source.development +utils/hbf2gf/hbf2gf.def source.development +utils/hbf2gf/hbf2gf.w source.development +utils/hbf2gf/hbf.c source.development +utils/hbf2gf/hbf.h source.development +utils/hbf2gf/install-sh source.development +utils/hbf2gf/Makefile.gnu --- +utils/hbf2gf/Makefile.in --- (3) +utils/hbf2gf/mkinstalldirs source.development +utils/hbf2gf/README --- +utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff --- +utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff --- +utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff --- +utils/hbf2gf/scripts/web2c-6.1/README --- +utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff --- +utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff --- +utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff --- +utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff --- +utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff --- +utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff --- +utils/lisp/cjkspace.el CJK +utils/lisp/cjktilde.el CJK +utils/lisp/emacs/cjk-enc.el CJK +utils/lisp/emacs/thai-word.el CJK +utils/lisp/mule-2.3/cjk-enc.el CJK +utils/pyhyphen/pinyin.c CJK +utils/pyhyphen/pinyin.ldf CJK +utils/pyhyphen/pinyin.tr CJK +utils/pyhyphen/pyhyph.tex hyphen-pinyin +utils/pyhyphen/pytest.tex CJK +utils/SJISconv/sjisconv.1 bin-cjkutils +utils/SJISconv/sjisconv.c source.development +utils/SJISconv/sjisconv.w --- +utils/SJISconv/sjislatex source.development,bin-cjkutils +utils/SJISconv/sjisltx.bat source.development +utils/SJISconv/sjisltx.cmd --- +utils/SJISconv/sjispdflatex source.development,bin-cjkutils +utils/subfonts/clonevf.pl CJK +utils/subfonts/hlatex2agl.pl CJK +utils/subfonts/makefdx.pl CJK +utils/subfonts/sfd2uni.pl CJK +utils/subfonts/subfonts.pe CJK +utils/subfonts/uni2sfd.pl CJK +utils/subfonts/vertical.pe CJK +utils/subfonts/vertref.pe CJK +utils/thaifont/texmf/dvips/garuda/config.garuda garuda +utils/thaifont/texmf/dvips/norasi/config.norasi norasi +utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc c90enc +utils/thaifont/texmf/fonts/map/dvips/garuda/garuda.map garuda +utils/thaifont/texmf/fonts/map/dvips/norasi/norasi.map norasi +utils/thaifont/texmf/fonts/tfm/public/garuda/fgdb8z.tfm garuda +utils/thaifont/texmf/fonts/tfm/public/garuda/fgdbo8z.tfm garuda +utils/thaifont/texmf/fonts/tfm/public/garuda/fgdo8z.tfm garuda +utils/thaifont/texmf/fonts/tfm/public/garuda/fgdr8z.tfm garuda +utils/thaifont/texmf/fonts/tfm/public/norasi/ftnb8z.tfm norasi +utils/thaifont/texmf/fonts/tfm/public/norasi/ftnbi8z.tfm norasi +utils/thaifont/texmf/fonts/tfm/public/norasi/ftni8z.tfm norasi +utils/thaifont/texmf/fonts/tfm/public/norasi/ftnr8z.tfm norasi +utils/thaifont/tools/c90.etx CJK +utils/thaifont/tools/c90.mtx CJK +utils/thaifont/tools/dbtt-old/config.dbtt-old CJK +utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx CJK +utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx CJK +utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex CJK +utils/thaifont/tools/dbtt-old/dbtt-old.fontinst CJK +utils/thaifont/tools/dbtt-old/dbtt-old.map CJK +utils/thaifont/tools/garuda.fontinst CJK +utils/thaifont/tools/INSTALL CJK +utils/thaifont/tools/norasi.fontinst CJK + + +CJK-4.8.0-doc +------------- + +doc/cjk/README CJK +doc/cjk/READMEb5.cjk CJK +doc/dvi/bg5conv.dvi --- +doc/dvi/c90.dvi --- +doc/dvi/cef5conv.dvi --- +doc/dvi/cefconv.dvi --- +doc/dvi/cefsconv.dvi --- +doc/dvi/extconv.dvi --- +doc/dvi/hbf2gf.dvi --- +doc/dvi/READMEb5.dvi --- +doc/dvi/READMEgb.dvi --- +doc/dvi/sjisconv.dvi --- +doc/man/dvi/bg5conv.dvi --- +doc/man/dvi/cef5conv.dvi --- +doc/man/dvi/cefconv.dvi --- +doc/man/dvi/cefsconv.dvi --- +doc/man/dvi/extconv.dvi --- +doc/man/dvi/hbf2gf.dvi --- +doc/man/dvi/sjisconv.dvi --- +doc/man/html/bg5conv.html --- +doc/man/html/cef5conv.html --- +doc/man/html/cefconv.html --- +doc/man/html/cefsconv.html --- +doc/man/html/extconv.html --- +doc/man/html/hbf2gf.html --- +doc/man/html/sjisconv.html --- +doc/man/pdf/bg5conv.pdf bin-cjkutils +doc/man/pdf/cef5conv.pdf bin-cjkutils +doc/man/pdf/cefconv.pdf bin-cjkutils +doc/man/pdf/cefsconv.pdf bin-cjkutils +doc/man/pdf/extconv.pdf bin-cjkutils +doc/man/pdf/hbf2gf.pdf bin-cjkutils +doc/man/pdf/sjisconv.pdf bin-cjkutils +doc/man/txt/bg5conv.txt --- +doc/man/txt/cef5conv.txt --- +doc/man/txt/cefconv.txt --- +doc/man/txt/cefsconv.txt --- +doc/man/txt/extconv.txt --- +doc/man/txt/hbf2gf.txt --- +doc/man/txt/sjisconv.txt --- +doc/pdf/bg5conv.pdf bin-cjkutils +doc/pdf/c90.pdf CJK +doc/pdf/cef5conv.pdf bin-cjkutils +doc/pdf/cefconv.pdf bin-cjkutils +doc/pdf/cefsconv.pdf bin-cjkutils +doc/pdf/extconv.pdf bin-cjkutils +doc/pdf/hbf2gf.pdf bin-cjkutils +doc/pdf/READMEb5.pdf CJK +doc/pdf/READMEgb.pdf CJK +doc/pdf/sjisconv.pdf bin-cjkutils +examples/cjk/Big5.cjk CJK +examples/cjk/Big5vert.cjk CJK +examples/cjk/CEF_test.cjk CJK +examples/cjk/CJKbabel.cjk CJK +examples/cjk/muletest.cjk CJK +examples/cjk/rubytest.cjk CJK +examples/cjk/SJIS.cjk CJK +examples/cjk/thai.cjk CJK +examples/dvi/Big5.dvi --- +examples/dvi/Big5vert.dvi --- +examples/dvi/CEF_test.dvi --- +examples/dvi/CJKbabel.dvi --- +examples/dvi/CJKfntef.dvi --- +examples/dvi/CJKmixed.dvi --- +examples/dvi/CJKutf8.dvi --- +examples/dvi/GB.dvi --- +examples/dvi/JIS.dvi --- +examples/dvi/KS.dvi --- +examples/dvi/muletest.dvi --- +examples/dvi/py_test.dvi --- +examples/dvi/pytest.dvi --- +examples/dvi/rubytest.dvi --- +examples/dvi/SJIS.dvi --- +examples/dvi/thai.dvi --- +examples/dvi/UTF8.dvi --- +examples/pdf/Big5.pdf CJK +examples/pdf/Big5vert.pdf CJK +examples/pdf/CEF_test.pdf CJK +examples/pdf/CJKbabel.pdf CJK +examples/pdf/CJKfntef.pdf CJK +examples/pdf/CJKmixed.pdf CJK +examples/pdf/CJKutf8.pdf CJK +examples/pdf/GB.pdf CJK +examples/pdf/JIS.pdf CJK +examples/pdf/KS.pdf CJK +examples/pdf/muletest.pdf CJK +examples/pdf/py_test.pdf CJK +examples/pdf/pytest.pdf CJK +examples/pdf/rubytest.pdf CJK +examples/pdf/SJIS.pdf CJK +examples/pdf/thai.pdf CJK +examples/pdf/UTF8.pdf CJK +examples/pdf/xCJK.pdf CJK + +---- + +(1) This file is located in the `texmf-dist/source' tree. A modified + version (with less fonts) is part of the `wadalab' package. + +(2) These files appear twice; the first version without real bold fonts + is in the texmf-dist/tex/latex tree, while the original files are + in the texmf-dist/source tree. + +(3) This file might be different in the TeXLive distribution. + +(4) Symlink to bg5+latex. + +(5) Symlink to bg5+pdflatex. + +---End of TeXLive.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/README b/Master/texmf-dist/doc/latex/cjk/doc/chinese/README new file mode 100644 index 00000000000..90f621fd408 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/README @@ -0,0 +1,7 @@ +The file emTeXb5.txt describes version 4.1.0 . + +The file teTeXb5.txt describes version 4.2.0 . + +The file READMEb5.tex describes version 4.1.0 . + +The file READMEgb.tex describes version 4.1.3 . diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEb5.tex b/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEb5.tex new file mode 100644 index 00000000000..b54be13306a --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEb5.tex @@ -0,0 +1,1150 @@ +%%% The file READMEb5.tex . This file is part of LaTeX2e CJK package. +%%% +%%% Note that this document is a very first version. Therefore, lots +%%% of installation steps and issues are still left blank. Please be +%%% patient and wait for the next new release. I'm sorry for any +%%% inconveniences. I also deeply expect that everyone who is +%%% interested in this topic gives me suggestions and corrections in +%%% any respects. Thanks in advance. +%%% +%%% Revision 1.5 1996/11/22 10:49:00 d791013 +%%% * modify some context presentations. +%%% +%%% Revision 1.4 1996/10/23 03:59:40 d791013 +%%% Revision control by CVS. +%%% +%%% Revision 1.3 1996/07/27 11:19:20 d791013 +%%% 1. In compliance with CJK version 4.0.0 +%%% 2. Fill up some unfinished sections in previous versions of this +%%% file. +%%% 3. Add more usages for MULE and AUCTeX. +%%% + +\documentclass[12pt,a4paper]{article} +\usepackage{array,CJK} +\RequirePackage{shortvrb} +\MakeShortVerb{\|} + +% enlarge text width and height (for saving number of pages) +\addtolength{\textwidth}{1in} +\addtolength{\oddsidemargin}{-.5in} +\addtolength{\textheight}{1in} +\addtolength{\topmargin}{-.5in} + +\begin{document} +\begin{CJK*}{Bg5}{bsmi} +\CJKtilde + +% local commands +\newcommand{\ntutocjk}{~\textsf{ntu2cjk}~} +\newcommand{\ttftopk}{~\textsf{ttf2pk}~} +\newcommand{\hookstroke}{\raisebox{2pt}{\scriptsize $\surd$}} +\newcommand{\crossmark}{$\times$} +\newcommand{\bigfive}{~\textrm{Big-5}~ฝX} +\renewcommand{\figurename}{นฯ~} +\renewcommand{\tablename}{ชํ~} + +%% end of header + +\title{\bigfiveคคคๅจtฒฮคUชบ~CJK \LaTeXe~ฑฦชฉจtฒฮ\\ + (For CJK version 4.1.0)} +\author{ + ง๕งgฆt\thanks{The author of the \textsf{ntu2cjk} package. + \textsf{E-mail:} d791013@ce.ntu.edu.tw}\ (Chun-Yu Lee) \and + Werner Lemberg\thanks{The author of the \LaTeXe\ CJK package. + \textsf{E-mail:} wl@gnu.org}} +\date{20 Nov. 1996} +\maketitle + +\tableofcontents + +\section{ยฒคถ} +\label{sec:introduction} + +ฅปคๅฅDญnฐwน๏คบฎeฅH\bigfiveฌฐฅDชบคคคๅคๅฅ๓ก]ทํตMฅ็ฅiฅ]งtฅ~คๅคฮนฯงฮตฅก^กA +ฑจฯฅฮ~\LaTeXe~คฮ~CJK~จtฒฮถiฆๆฑฦชฉฆCฆLกAจไฉาปชบฐ๒ฅปญnจDปPฆwธหจBฦJตฅกA +ฐตค@ยฒญnชบคถฒะกCจไฝdณ๒ม๖คฃฏเฒ[ป\ญnฝsฆnค@ฝgก]ฉฮค@ฅปก^นฯคๅจรญZชบคๅณนฉาป +คงฅDรDกAฆค]จฌฐ๗ภณฅIค@ฏ๋ฉสชบคๅฅ๓\footnote{ฅปคๅฑNท|ฆbค้ซแบCบCฆaญืฅฟปPธษ + ฅRฌร๖ฅDรDกAฅHฅ[ฑjจไตฒบcคฮคบฎeกCฆPฎษค]ดมซลชชฬฏเดฃจัฤ_ถQชบทNจฃกAฅHฌฐ + คUค@ฆธฅXชฉคงฐัฆากC}กC + +ฅปคๅชบคบฎeฅHฐtฆX~CJK 4.x.x~จtฒฮชบณ]ฉwฌฐฅDกCญืง๏ฅปคๅคงฆPฎษกACJK~ชบชฉฅป +ฌO~4.1.0กC + +\subsection{พ\ลชซค} +\label{sec:reading-guides} + +คUญฑฌOยฒณๆชบพ\ลชซคกG +\begin{itemize} +\item ฅฝTฉwงAฑฆwธหชบ~CJK~ชฉฅปฌOง_ฌOฅปคๅฉาดyญzชบกAญYคฃฆPกAฝะจ๚ฑoปPฅป + คๅฌฎeชบ~CJK~ชฉฅปกAฉฮจ๚ฑoณฬทsชบ~CJK~ชฉฅปกAจรพ\ลชจไฉาฅ]งtชบฅปคๅฅ๓ภษฎืกC +\item ญYฆ]ชฉฅปคงคฃฆPกAฑzฅ็ฅiฅH~CJK~คๅฅ๓คคชบ~INSTALL~ฌฐฅDกAฆ๕ฅHฆrซฌฆwธห + จtฒฮก]\textsf{ntu2cjk}~ฉฮ~\textsf{ttf2pk}ก^คคฌร๖ชบปกฉ๚คๅฅ๓กAฆAยsฤ + ฅปคๅคบฎeง@ฌฐฐัส๗ฉสฝ่กAพAทํฆaฆwธหพใญำคคคๅฑฦชฉจtฒฮกC +\item ญYฑzดฟธgฆwธหนL~CJKกAฑzฅiชฝฑตฐัฆาฒฤ~\ref{sec:steps}~ธ`กงฆwธหจBฦJกจกC +\item ญYฆbฑzชบจtฒฮคคกAฉ|ฅผฆwธหฆณคคคๅ~TFMกBPKกBฉฮ~PFB~ตฅภษฎืกAฅiฐัฆาฒฤ~ + \ref{sec:install-fonts}~ธ`กงฆrซฌฆwธหกจกC +\item ญYฑzฤฑฑoคWญzชบฆwธหจBฦJคฃฐ๗จใล้กAฝะฐัฆาฒฤ~\ref{sec:my-settings}~ + ธ`กงงฺชบจาคlกจกC +\item ญYทQชพนDฆpฆ๓จ๚ฑoฌร๖ภษฎืกAฝะฐัฆาชฟ~\ref{sec:getting-files}กงภษ + ฎืจ๚ฑoกจกC +\item ญYทQน๏ฅปคๅฉาจฯฅฮคงฆrตฆณฉาบรดbกAฝะฐัฆาชฟ~\ref{sec:terms}กงฆWต + ธัฤภกจกC +\end{itemize} + +ช`ทNกGฅปคๅคบฎeฆbฆrซฌชบฆwธหค่ญฑกAน๏ฉ๓\ttftopkชบคถฒะธ๛คึ\footnote{ฆ]ฅปคๅ + ชบฅDญnง@ชฬฅuฆณจฯฅฮ\ntutocjkจำฆwธหฆrซฌกAน๏ค@จว\ttftopkทsชบง๏ลคwคฃผ๔ฑxกC} +ลชชฬฅiฆ~CJK~ชบคๅฅ๓ฎMฅ๓คคฆณร๖คคคๅชบปกฉ๚ภษ~|NTeXb5.doc|~ก]ปPฅปภษฎืธmฉ๓ฆP +ค@ฅุฟคคก^ฑoจ์ธิฒำชบธัปกกC + +ฅtฅ~ฅปคๅฆbน๏ฉ๓~em\TeX~ภ๔นาคUชบฆwธหธัปกกAค]ฅuฌOยฝฤถฆ~CJK~คๅฅ๓คคชบ~ +|INSTALL|~ณoญำภษกAฅปคๅง@ชฬจรฅผน๊ง@นLกC + +\subsection{ถiค@จBชบธ๊ฐTจำทฝ} +\label{sec:further-information} + +\begin{itemize} +\item คๅฤm~\cite{latex2nd}~ฌฐฐ๒ฅปคโฅUกC +\item คๅฤm~\cite{latex-companion:1993}~ฅiฌฐถiถฅคโฅUกC +\item ฐัฆา~Newsgroup |comp.text.tex|~ชบ~FAQกC +\item ฆณร๖~\TeX/\LaTeX~ฑ`ฐชบฐรDกAฅiฐัส๗คๅฤm~\cite{tex-faq:1.9c}ก]ชฉฅป + ตyยยก^กC +\end{itemize} + +\section{จtฒฮปจD} +\label{sec:requirements} + +\subsection{ตwล้ภ๔นา} +\label{sec:hardware-requirements} + +\TeX/\LaTeX~จtฒฮฅุซeดXฅGตดคjณกคภชบง@ท~จtฒฮฌาฆณคไดฉกCฆb~RAM~ชบปจDคWซh +ต๘ฑฝsฑฦภษฎืชบคjคpกAคpซhผฦคQธUฆ์คธกAคjซhผฦฆสธUฆ์คธกCม๖ตM~\TeX/\LaTeX~ +จtฒฮฆb~286~ฅHซeชบพ๗พนดNฏเถ]ก]จSฐOฟ๙ชบธก^กAฆณฬฆnมูฌOฆณ~8MB~ฅHคWชบฐOพะ +ล้กAฅHภณฅIคคคๅฆrคงฉาปกCฆฉ๓ตwบะชลถกกAฆbคคคๅฆrซฌชบจฯฅฮปคUกAณฬฆnฏเฆณ~ +150MB~ชบชลถกก]\TeX~จtฒฮฌ๙~30MBกA8~บุ~NTU~ฅฏuฆrซฌคฮจไยเดซฆrซฌกAPS~คฮ~ +PK~ฆrซฌตฅกAฌ๙~80MBก^กC + +\subsection{ณnล้ปจD} +\label{sec:software-requirement} + +\begin{itemize} +\item น๏~\LaTeX~จtฒฮฆณทงฌAชบป{รัปPน๏ฆนจtฒฮจใฐ๒ฅปพง@ชบฏเคOกCณฬฆnงAฆณคๅ + ฤm~\cite{latex2nd,latex-companion:1993}~ณoจโฅปฎัฆbคโรไกC +\item \LaTeXe~ชบฐ๕ฆๆภ๔นากCฅ]ฌA~\TeX/\LaTeX~ชบฌร๖ภ๔นากC +\item \LaTeXe\ CJK~จtฒฮกC +\item ญYทQฆwธห~PS~ฆrซฌ\footnotemark\addtocounter{footnote}{-1}กAฑzปญn + \begin{enumerate} + \item \textsf{ntu2cjk}~จtฒฮกC + \item NTU TrueType~ฆrซฌกC + \item gcc~ฝsฤถพนคฮฌร๖ภ๔นากBGNU makeกC + \item GhostScript(3.12~ฅHคWชบชฉฅป)กC + \item |afm2tfm|กC + \item ธัภฃมYต{ฆกกG |arj|กB|gzip|กB|tar|กC + \item ญYทQฑq~PS~ฆrซฌซุฅ฿~PK~ฆrซฌกAซhป~|ps2pk|~ฉฮ~|gsftopk|กC + \end{enumerate} +\item ญYฑฆwธห~PK~ฆrซฌ\footnote{ดNคคคๅคๅฅ๓ชบฑฦชฉกBนwฤคฮฆCฆLฉาปชบฆrซฌ + ฆำจฅกAฅiฅHณๆฟWฅuฆsฆbฆณ~PK~ฆrซฌฉฮ~PS~ฆrซฌกFฆดNค่ซKฉสปPฅiฤโฉสฆำจฅกA + ตงชฬซุฤณกAฅHฐสบAชบค่ฆกฒฃฅอ~PK~ฆrซฌจรซOฆณงนพใก]ฉฮฑ`ฅฮคฮฐสบAก^ชบ~PS~ + ฆrซฌกAฌOธ๛จฮชบฒีฆXกC}กAฐัฆาฒฤ~\ref{sec:install-pk-fonts}~ธ`คงดyญzกC +\item ฟ้ฅXกG|dvips|กB|dvi2xx|กBคฮจไฅL~dvi~ฎๆฆกชบยเดซต{ฆกปPจไคUดๅชบยเดซ + ต{ฆกกC +\end{itemize} + + +\section{ฆwธหจBฦJ} +\label{sec:steps} + +ฅปธ`ฑNฅDญnชบฆwธหฌyต{กAฑ๘ฆCฆpคUกAฆUถตคคธิฒำชบฆwธหซคกAฑNฆbฅHซแชบฆUธ`คค +ฤฤญzกG +\begin{enumerate} +\item ญYฌO~\TeX/\LaTeX~จtฒฮคvฆwธหฆnกAฝะธ๕คUค@จBกCง_ซhฎฺพฺฆคvจฯฅฮชบง@ + ท~จtฒฮกAจMฉwภณจฯฅฮฆ๓บุ~\TeX~จtฒฮกAจรฐัฆาจtฒฮปจDก]ฒฤ~ + \ref{sec:requirements}~ธ`ก^กBภษฎืจ๚ฑoก]ชฟ~\ref{sec:getting-files}ก^ + คฮจไฅLฉ๓ชฟคคฆUธ`คงธ๊ฎฦกAจ๚ฑoฌร๖ภษฎืกAจรซ๖ฉาจ๚ฑoธ๊ฎฦคคชบซฅฆwธหกC + ญYจ๚ฑoชบจtฒฮจSฆณ~\LaTeXe~จtฒฮกAฉฮฌOฑzทQง๓ทsฆธ๛ช๑ชบชฉฅปกAซhฅiฅtฅ~ฆ~ + CTAN~จ๚ฑoกAฆbคwฆwธหฆnชบ~\TeX~ภ๔นาคคฌ[คW~\LaTeXeกC +\item ฝTฉw~\LaTeXe~คvฆwธหงดทํกCฅiฅHค@~\LaTeXe~ฎๆฆกฅBคบฎeฌฐญ^คๅชบภษฎื + ก]ฆp~|sample.|\linebreak[1]|tex|ก^กAฑqฐ๕ฆๆ~|latex|~ฝsฤถกAฅH~|xdvi|~ + ฉฮ~|dviscr|กB|dvisvga|~ตฅตฅก^นwต๘กBจ์~|dvips|~ฉฮ~|dvilj|~ยเฆจฆLชํฎๆ + ฆกก]PostScript~ฉฮ~PCL~ตฅฎๆฆกก^จรฆLฅXกAฅHงPย_ฌOง_ฆwธหฅฟฝTกC +\item ฆwธห~CJK~คคคๅ~\LaTeXe~จtฒฮก]ฐัฆาฒฤ~\ref{sec:install-CJK}~ธ`ก^กC +\item ฟ๏พฆwธห~PK~ฉฮ~PS~ฆrซฌฉฮคGชฬฌาฆwธหก]ฐัฆาฒฤ~ + \ref{sec:install-pk-fonts}~ธ`ฉฮฒฤ~\ref{sec:install-ps-fonts}~ธ`ก^กC +\item ฅH~CJK~จtฒฮคคฉาดฃจัคงคคคๅ~\LaTeXe~ภษกA|READMEb5.tex|กAฐตด๚ธีก]ฐั + ฆาฒฤ~\ref{sec:my-settings}~ธ`ก^กC +\item ญYฆณฐรDกAฝะฐัฆาฒฤ~\ref{sec:trouble-shooting}~ธ`กงฐรDธัจMกจกC +\end{enumerate} + + +\section{ฆwธห~CJK~คคคๅ~\LaTeXe~จtฒฮ} +\label{sec:install-CJK} + +ฝะฐwน๏ฑzฉาจฯฅฮง@ท~จtฒฮกAฐัฆาคUญฑน๏ภณชบคpธ`กC + +\subsection{ฆb~UNIX~จtฒฮคU~(web2c)} +\label{sec:install-under-unix} + +\begin{enumerate} +\item งไญำพAทํชบฅุฟฑNจ๚ฆ^ชบ~CJK~ภฃมYภษธัถ}กCจาฆpฑzฑNจไธัถ}ฆ~ + |/tmp/CJK|กC +\item ฆpชGฑzฏเฅHจtฒฮบฒzชฬชบจญฅ๗ก]rootก^ฆwธหกAซhฅiฑNธัภฃซแชบ~CJK~ฅุฟ + คค~|texinput|~ฅุฟคUชบฉาฆณภษฎืก]ซOซ๙ญ์ฅุฟตฒบcก^ฒพฆ~\TeX~จtฒฮฏเงไจ์ + ชบฆaค่ก]ณqฑ`ฌO~ + |${TEXMF}/|\linebreak[1]|tex/|\linebreak[1]|latex/|\ldotsกA + |${TEXMF}|~ฌO~web2c~ชบ~homeกAค@ฏ๋ฌฐ~ + |/usr/|\linebreak[1]|local/|\linebreak[1]|lib/|\linebreak[1]|texmf|ก^กA + จรฑNฆนฅุฟฆWง๏ฆจ~CJK~ฉฮพAทํชบฆWบูกCฆpชGฑzคฃฌOจฯฅฮธ๛ทsชฉชบ~\TeX~ก]นณ~ + web2cกAณoจว~\TeX~จtฒฮกAดฃจัคFปผฐjทjดMคlฅุฟภษฎืชบฏเคOก^กAซhฑN~ + |texinput|~ฅุฟคUชบฉาฆณภษฎืฒพฆ~\TeX~จtฒฮฏเงไจ์ชบฆaค่กCจาฆpกG + \begin{verbatim} + $ cd /usr/local/lib/texmf/tex/latex + $ mv CJK CJK.old + $ cd /tmp/CJK + $ cd 4_1.0 + $ mv texinput /usr/local/lib/texmf/tex/latex/CJK + \end{verbatim} + ฆpชGฑzคฃฏเฅH~root~ชบลvญญฆwธหกAฝะฅHรฆฉ๓คUญฑชบซฅOตyง@ญืง๏ก]ฆpชGจฯฅฮ~ + |csh|ก^กAจรซุฤณฑNคงฅ[คJ~|.login|ก]ฅฮฉ๓~|/bin/csh|ก^ฉฮ~|.profile|ก]ฅฮ + ฉ๓~|/bin/sh|ก^คคกAจฯฑo~\TeX~ฏเทjดMจ์~CJK~ฅุฟกG + \begin{verbatim} + setenv TEXINPUTS: งAชบ CJK ฅุฟฆW// + \end{verbatim} + ช`ทNกAญYฑzฉาจฯฅฮชบ~\TeX~จtฒฮคฃคไดฉฆhผhคlฅุฟทjดMกAซhฑNฝTคมชบฅุฟฆWบู + ธsกAฅ[คJฆ~|TEXINPUTS|~ชบภ๔นาลผฦคคกFฉฮชฬฑN~|texinput|~ฅุฟคUคฮ~ + |Bg5|~ฅุฟคUชบฉาฆณภษฎืฒพฆฌYญำฅุฟคคกAจรต๘ฆนฅุฟฌฐ~CJK~ฅุฟกC + + จาฆpก]ฅH~|sh|~ซฅOฌฐจาก^กG + \begin{verbatim} + ก]ฐฒณ]ฑzทQฑN CJK ชบ texinput ฅุฟฒพฆ ~/CJK/texinputก^ + # cd ~/CJK ก]ฆ CJK คlฅุฟก^ + # mv texinput texinput.old ก]ฆpชGฑzฆณยยชบ texinput ฅุฟกAฅณฦฅ๗ก^ + # cd /tmp/CJK ก]ฆธัถ} CJK ชบฆaค่ก^ + # cd 4_1.0 ก]ฆฅุซeชบชฉฅปคUก^ + # mv texinput ~/CJK ก]ฑN texinput คlฅุฟฒพฆ ~/CJKก^ + # TEXINPUTS=":~/CJK/texinput//" ก]ฉwธqภ๔นาลผฦก^ + # export TEXINPUTS ก]ณ]ฌฐณqฅฮชบภ๔นาลผฦก^ + \end{verbatim} +\item ฐัฆาฒฤ~\ref{sec:install-fonts}~ธ`ฆrซฌฆwธหกAฑN~|.tfm|~ภษกAPK~ฆrซฌ + ฉฮ~PS~ฆrซฌฆwธหฆพAทํชบฅุฟคUกC +\item ฐัฆาฒฤ~\ref{sec:install-.fd}~ธ`ฆwธห~|.fd|~ภษกAฉฮฐัฆา~|fonts.txt|กA + จรฎฺพฺฆrซฌฆwธหชบตฒชGกAณ]ฉwฌร๖ชบ~|.fd|~ภษกCฅHฅปคๅฐwน๏ชบ\bigfiveคคคๅฆำ + จฅกAฅฒถทญืง๏~|c00kai.fd|ก]ฆpชGฑzฑNทขฎัฆrฑฺณ]ฌฐ~|kai|ก^กB|c00fs.fd| + ก]ฆpชGฑzจฯฅฮฅ้งบฆrฑฺจรฉwฌฐ~|fs|ก^กKตฅฌร๖ภษฎืก]ฅ็ฅiฐัฆา\ttftopkฉฮ + \ntutocjkฉาดฃจัชบฝdจาก^กC +\item ฆbธัถ}ชบ~CJK~ฅุฟคคกAถiคJ~\texttt{utils/Bg5conv}~ฅุฟคคกAฝsฤถ~ + |bg5conv.c|กAฆpกG + \begin{verbatim} + gcc -O -s -o bg5conv bg5conv.c + \end{verbatim} + ฑNฒฃฅอชบฐ๕ฆๆภษ~|bg5conv|~ณsฆP~|bg5latex|~ณoญำภษกAฒพฆ~\TeX~จtฒฮคคฉ๑ + ธmฐ๕ฆๆภษชบฅุฟคคก]ฆpชGลvญญจฌฐ๗ก^กCฉฮธmฉ๓ญำคHชบฅุฟคคกAจรฝTฉwฆนฅุฟฆs + ฆbฉ๓ภ๔นาลผฦ~|PATH|~คคก]ฉฮฆb~|PATH|~คคผWฅ[ค@ฐ๕ฆๆธ๔ฎ|กAซุฤณฑNฆนธ๔ฎ|ชบ + ณ]ฉwฅ[จ์~login~ชบฑาฉlภษคคก^กC + + จาฆpกG + \begin{verbatim} + # cd /tmp/CJK/4_1.0 + # cd utils/Bg5conv + # gcc -O -s -o bg5conv bg5conv.c + # mv bg5conv bg5latex ~/bin + # export PATH=$PATH:~/bin + \end{verbatim} + ช`ทNกAฆpชGฑzฆณยยชบ~|bg5conv|~ฐ๕ฆๆภษกAฝะฐศฅฒง๓ทsกAฆ]~4.0~ฅHคWชบชฉฅปปP + ธ๛ฆญชบชฉฅปคฃฆPก]ฅH~``|^^FF|''~ฌฐคภฌษฆrคธฆำคฃฌO~``|.|''ก^กC + +\item ถiคJคlฅุฟ~|doc/chinese|~คคกAด๚ธีฑzชบณ]ฉwกG + \begin{verbatim} + # cd /tmp/CJK/4_1.0 + # cd doc/chinese + # bg5latex READMEb5.tex + \end{verbatim} + ฌฌOง_ฏเถถงQงนฆจฝsรถกC +\end{enumerate} + +\subsection{ฆb~DOS~ฉฮ~OS/2~จtฒฮคU} +\label{sec:install-under-dos} + +\begin{enumerate} +\item งไญำพAทํชบฅุฟฑNจ๚ฆ^ชบ~CJK~ภฃมYภษธัถ}กC +\item ฑN~CJK~จtฒฮคค~|texinput|~ฅุฟคUชบฉาฆณภษฎืก]ซOซ๙ญ์ฅุฟตฒบcก^ฒพฆ~ + \TeX~จtฒฮฏเงไจ์ชบฆaค่กAจรฑNฆนฅุฟฆWง๏ฆจ~|CJK|~ฉฮพAทํชบฆWบูกCฆpชGฑzคฃ + ฌOจฯฅฮธ๛ทsชฉชบ~\TeXก]นณ~em\TeXกAณoจว~\TeX~จtฒฮกAดฃจัคFปผฐjทjดMคlฅุฟ + ภษฎืชบฏเคOก^กAซhฑN~|texinput|~ฅุฟคUปPคฮฑzญnจฯฅฮชบคบฝXฅุฟก]Bg5ก^คU + ชบฉาฆณภษฎืฒพฆ~\TeX~ฏเงไจ์ชบฆaค่กC + + ฅH~em\TeX~จtฒฮฌฐจากAฑN~CJK~ชบ~|texinput|~คคชบภษฎืฒพฆ~ + |c:\emtex\|\linebreak[1]|texinput\|\linebreak[1]|CJK\|\ldotsกAจรฅH + คUญฑชบซฅOตyง@ญืง๏กAฅHจฯฑo~\TeX~ฏเทjดMจ์~CJK~ฅุฟกG + \begin{verbatim} + set emtexdir=c:\emtex + set texinput=%emtexdir%\texinput!! + \end{verbatim} +\item ฆb~CJK~จtฒฮคคชบ~|utils\|\linebreak[1]|Bg5conv|~ฅุฟคคกAฑN~ + |bg5conv.|\linebreak[0]|exe|~ณsฆP~|bg5latex.|\linebreak[0]|bat|~ฒพฆ~ + \TeX~ชบฐ๕ฆๆธ๔ฎ|~(|PATH|)~คคชบฌYญำฅุฟก]ฉฮผWฅ[ค@ฐ๕ฆๆธ๔ฎ|ก^กC +\item ฐัฆา~\ref{sec:install-fonts}~ฆwธหฆrซฌค@ธ`กAฑN~|.tfm|~ภษกAPK~ฆrซฌ + ฉฮ~PS~ฆrซฌฆwธหฆพAทํชบฅุฟคUกC +\item ฐัฆา~\ref{sec:install-.fd}~ฆwธห~|.fd|~ภษค@ธ`กAฎฺพฺฆrซฌฆwธหชบตฒชGกA + ณ]ฉwฌร๖ชบ~|.fd|~ภษกCก]ฅiฐัฆา\ttftopkฉฮ\ntutocjkฉาดฃจัชบฝdจาก^กC +\end{enumerate} + + +\section{ฆrซฌฆwธห} +\label{sec:install-fonts} + +ฅปคๅถศฅHฅั~True Type~ฆrซฌฒฃฅอชบ~PK~ฆrซฌฉฮ~PS~ฆrซฌฌฐปกฉ๚กCฆrซฌคงจ๚ฑoฐั +ฆาชฟ~\ref{sec:getting-files}~คงปกฉ๚กC + +PK~ฆrซฌก]ฉฮ~PS~ฆrซฌก^ณฬฆnฆwธหฆbทํงAญnคษฏล~\TeX/\LaTeX~จtฒฮฎษคฃท|ผvลTชบ +ฆ์ธm\footnote{จฦน๊คWกAณฬฆnฑNจบจวฅฟฑ`ฆwธห~\TeX/\LaTeX~จtฒฮฅHซแกAงAฅฒป + รBฅ~ญืง๏ฉฮฆwธหชบภษฎืคฮต{ฆกกAณฃฉ๑ฆbฅtฅ~ธ๛จpฆณชบฅุฟคคกAตMซแฆAฅH~link~ + ชบค่ฆกธmฉ๑ฉ๓ญ์ฅปภณณBชบฆ์ธmกCฆb~DOS~คUกAฆrซฌภษฅHฅ[ฆbภ๔นาลผฦชบธ๔ฎ|คค + ฌฐฅDกAจไฅฆชบซhฅHฝฦปsชบค่ฆกจ๚ฅN~linkกC}กAฆ]ฌฐค@ฅนฆนรฆrซฌฒฃฅอซแกAงYฅi +ช๘ฎษดมชบจฯฅฮกFฅtฅ~กAฆpชGจCฆธญnคษฏล~CJK~จtฒฮฉฮ~\TeX/\LaTeX~จtฒฮฎษกAค]ฅi +ฉ๑ค฿คjมxชบคUคโกC + +\subsection{PK~ฆrซฌ} +\label{sec:install-pk-fonts} + +\subsubsection{ฆฐสฒฃฅอ~PK~ฆrซฌ} +[ฉ|ฅผงนฆจกAฝะฐัฆา\ttftopkฉฮ\ntutocjkชบฆwธหปกฉ๚] + +\subsubsection{นwฅฒฃฅอ~PK~ฆrซฌ} +[ฉ|ฅผงนฆจกAฝะฐัฆา\ttftopkชบฆwธหปกฉ๚] + +\subsubsection{ฅั~PS~ฆrซฌฒฃฅอ~PK~ฆrซฌ} +ฐัฆา~\ref{sec:install-ps-fonts} PS~ฆrซฌค@ธ`กC + +\subsection{PS~ฆrซฌ} +\label{sec:install-ps-fonts} + +ฆนณBฉาซชบ~PS~ฆrซฌฌฐคคคๅ~PostScript Type 1~ฆrซฌกAฆpชGฆAฅ[คWค@ญำฉฮคGญำ +ชบ~PS~ฆrซฌก]ฅHณoจวคคคๅ~Type 1~ฆrซฌฌฐฐ๒ฉณฉาบcฆจชบฆrซฌก^กAฅiฒีฆจ~ +PostScript Type 0~ชบฆrซฌกCฆ~\TeX~จtฒฮฅุซeคดตLชkจ๚ฅฮ~Type 0~ชบฆrกAฉาฅH +ฅปคๅค]คฃท|ดฃคฮกCฅtฅ~ชฝฑตจ๚ฅฮ~TTF~ฆrซฌฆbฅผจำค]ฅiฏเน๊ฒ{กAจาฆp~ +Ghostscript~ฆbทsชบชฉฅปคคก]4.01ก^คwฏเจฯฅฮ~TTF~ฆrซฌกC + +ฅHฆwธหทขฎั~PS~ฆrซฌฌฐจากAยฒญzจไฌyต{ฆpคUก]ธิฒำฝะฐัฆา\ntutocjkคคชบ~ +|README|~ภษก^กG +\begin{enumerate} +\item จCฆธฐwน๏ค@ญำฆrฑฺก]font familyกAฆpทขฎัก^ฒฃฅอ~|.tfm|~คฮ~|.pfb|~ภษ + ฎืกC +\item ญืง๏ฆrฑฺฌร๖ชบ~makefile~ภษกAฆpญืง๏~|kai.mak|~ชบคบฎeก]ฅHคUฅHทขฎั + ฌฐจาก^กC +\item ญYฑzจฯฅฮ~UNIX~จtฒฮกAฟ้คJคUญฑชบซฅO + \begin{verbatim} + make unix FONTMAK=kai.mak + \end{verbatim} + ญYฑzฆb~DOS~คUกAฝะคUกG + \begin{verbatim} + make dos FONTMAK=kai.mak + \end{verbatim} + ญYค@คมถถงQกAภณฆณ~55~ญำชบ~|.pfb|~ภษฎืฉM~55~ญำก]ฉฮ~110~ญำกAฆpชG~ + |EXTENDED_FONT|~ฌOณ]~|YES|ก^|.tfm|~ภษฎืกAฅB~TFM~ภษฎืชบคjคpกAจCญำฌ๙ฌฐ~ + 1.2kB~ฅชฅkกC +\item คU~|make install-fonts|~ฆนซฅOกAฅiฑNฉาฆณฒฃฅอชบฆrซฌฆwธหฆฑzณ]ฉwฆb~ + |kai.mak|~ภษฎืคคฉาซฉwชบฅุฟคคกCฑzฅiฏเค]ปญnฅH~|make install-maps|~ + ณoญำซฅOฆwธห~|Fontmap|~คฮ~|psfonts.map|~ตฅกC +\item ฎฺพฺฅHคWฉาฉwธqฆrซฌฌร๖ชบฆWบูกAฑzฅฒถทญืง๏~|c00kai.fd|~จรฒพฆ~ + \TeX~งไฑoจ์ชบฅุฟกCฉฮชฬญืง๏~|c00kai.fdx|กAฆpชG~|EXTENDED_FONT|~ฌOณ] + ฌฐ~|YES|กAฒพฆพAทํฅุฟซแกAฅฒถทฑNจไฆWบูง๏ฌฐ~|c00kai.fd|กC +\end{enumerate} + +\subsubsection{ฅั~PS~ฆrซฌฒฃฅอ~PK~ฆrซฌ} + +ฅั~PS~ฆrซฌฒฃฅอ~PK~ฆrซฌกAณqฑ`ฑzปญnยว~|gsftopk|~ฉฮ~|ps2pk|~จำงนฆจกC + +ฆpชGฅH~|gsftopk|~ฒฃฅอ~PK~ฆrกAมูปญn~|gs|ก]Ghostscriptก^ชบปฒงUกAฆ]ฆนฆb +ฑzฎืธหฆn~PS~ฆrซฌซแกAฐOฆํญnฑNฆrซฌฉาฆbชบฅุฟฆWกAฅ[จ์~|GS_LIB|~ณoญำภ๔นาล +ผฦคคกAฉฮชฬฑNฅั\ntutocjkฉาฒฃฅอ~|.pfb|~ภษกAฅH~symbolic link~ชบค่ฆกกAฅณก~ +link~จ์~|gs|~ฉาฉwธqชบฆrซฌฅุฟคคกC + +ฆpชGฅฮ~|ps2pk|กAฑzปญn~AFM~ภษก]ฆb\ntutocjkปsณy~|.pfb|~ภษฎืชบนLต{คคกAท| +ฒฃฅอ~AFM~ภษก^กCณฬฆnจ๚ฑoณฬทsชบชฉฅปกAฅHซOตฆbลชจ๚~PS~ฆrซฌปP~AFM~ภษฎษกAคฃ +ญPฒฃฅอฐรDกC + +ฆbฑzฉาจฯฅฮชบ~\TeX/\LaTeX~จtฒฮคคกAคjทงณฃฆณ~|MakeTeXPK|~ณoญำภษกAฅฆชบฅ\ฅฮ +งYฌOฆbจtฒฮตoฒ{ฌYญำ~PK~ฆrซฌคฃฆsฆbฎษกAฆฐสฒฃฅอคงกCฆำฆนภษฆฅGคฃปฏSงOชบรB +ฅ~ณ]ฉwกAณฃฆณฆฐสฅั~PS~ภษฒฃฅอ~PK~ฆrซฌชบฅ\ฏเกCทํตMซeดฃฌOณoจว~PS~ฆrซฌฅฒถท +ฅXฒ{ฆb~|psfonta.map|~คคกA|MakeTeXPK|~ฅฮฆนภษคคชบฆrซฌงPย_ฅฟญnฒฃฅอฆrฌOง_ +ฌฐ~PS~ฆrซฌก]จไน๊ณoปญnต๘ฑzฉาฆwธหชบฌร๖จtฒฮฆำฉwก^กC + +%\section{คฃฆPนqธฃฅญปOคUคงช`ทNจฦถต} +%\label{sec:platforms} + +%\subsection{DOS} +%\label{sec:platform-dos} + +%\subsection{UNIX} +%\label{sec:platform-unix} + +\subsection{ฆwธห~\texttt{.fd}~ภษ} +\label{sec:install-.fd} + +ทํงAญnชบฆrซฌก]TFM~ภษฎืกBPK~ฆrซฌกBฉฮ~PS~ฆrซฌก^ซ๖ทำคWญzดXธ`ค่ฆกฆwธหงดทํ +ซแกAฑzค]ถทญnพAทํฆaณ]ฉwฌร๖ชบ~|.fd|~ภษกCฅปธ`ฑNยฒญzคงกC + +\LaTeXe~ชบ~\textsf{NFSS}~ณWฎๆคคกAญnดyญzค@บุฆrซฌฅ]งtฆณคUฆCฐัผฦกG +\begin{enumerate} +\item EncodingกGฝsฝXค่ฆกกAฆp~|T1|กB|OT1|กB|DC|~ตฅกC|U|~ชํฅ~unknownกC + CJK~จtฒฮชบฝsฝXค่ฆกก]ฐัฆา~|fonts.txt|ก^ค@ฌฐคๅฅ๓คถญฑฉาฅฮกAฆp~|Bg5|กB + |GB|กB|Bg5pmC|~ตฅกAค@ฌฐ~\textsf{NFSS}~ฉาจฯฅฮกAฆp~|C00|กB~|C10|กB + |C01|~ตฅกCฆนณBกAงYฉwธqฆb~|.fd|~ภษคคชบฝsฝXค่ฆกปจฯฅฮซแชฬกCฅHง^คHฉาจฯ + ฅฮชบ\bigfiveฌฐจากA~|C00|~ฌOฅฒปฉwธqชบกC +\item FamilyกGฆrฑฺกAฆp~|cm|กB|cmss|กB|cmtt|~ตฅกACJK~จtฒฮฆbฆwธห\bigfiveชบ + ฆrซฌปฆฆๆฉwธqกAฆปฒลฆX~\textsf{NFSS}~ชบณWฉwกAงYฉwธqฆrฑฺชบฆrผฦคฃฅi + ถWนLคญญำฆrฅภกCฑzฅiฐัฆาฅ]งtฆbธัถ}ภษฎืคคชบฝdจากAฆp~|c00kai.fd|กCCJK~จt + ฒฮฅHทขฎักBฉ๚ล้กBดะฎัตฅชํฅฆrฑฺกCง^คHฅiฅฮ~|kai|กB|song|กB|ming|กB|fs|กB + |black|กB|round|~ตฅตฅชํฅ\bigfiveชบฆrฑฺกC +\item SeriesกGฆrจtฆCก]พ๎ฆVชบคุคoก^กAฆp~|m| (medium)กB|b| (bold)กB|bx| + (extended bold)~ตฅกACJK~ชuฅฮฆนณWฎๆกC +\item ShapeกGฆrงฮชฌกAฆp~|n|กB|sl|กB|ol|กB|it|~ตฅกCCJK~ชuฅฮคงกC +\item SizeกGฆrคjคpก]ยIผฦก^กAฆp~|10|กB|12|~ตฅ +\item |\baselineskip|กGฌพFจโฆๆชบฐ๒ทวฝuถกถZกAคjณกคภฑกชpฅฮคฃจ์ฆนฐัผฦกC +\end{enumerate} + +ฎฺพฺฅHคWชบฑิญzกAฅHคUยฒณๆคถฒะธำภษชบตฒบcปPปyชkกAฅH~|c00kai.fd|ก]ฆb~ +\texttt{texinput/Bg5}~ฅุฟคUก^ภษฅ]งtคTญำฅDญnชบซฅOกG +\begin{enumerate} +\item |\ProvidesFile{c00kai.fd}{|{\em release-info}|}|กGปกฉ๚ฅปภษฆWจรมื + งKญซฝฦธคJกC +\item |\DeclareFontFamily{C00}{kai}{}|กGปกฉ๚ฆนภษฅH~|C00|~ชบฝsฝXฅBดyญz~ + |kai|~ฆrฑฺกCจไคค~|C00|~ฌO~\textsf{NFSS} encodingกC +\item |\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka}{}|กGฆนฉRฅOชบ + ฒฤคญญำฐัผฦธ๛ฝฦย๘กAฅiฐัฆา~|fonts.txt|~ชบปกฉ๚กCจไคค~|*|~ธนฅkชบฐัผฦงYฌO + ค@ฒีฆrซฌภษฆWชบฆrญบกACJK~จtฒฮท|ฆbงภบฅ[คWคGฆ์ผฦฆrกAฆจฌฐฆrซฌฆWบู + ก]sub-font nameก^กAคฃฝืฌO~|.tfm|~ภษกB|.pfb|~ภษฉฮ~|pk|~ภษฌาปปPฆนฆWค@ + ญPกC|CJK|~ซhฌOฆrซฌคjคpจ็ผฦก]size functionก^กACJK~จtฒฮฉwธqคFผฦญำฆนร + จ็ผฦกAฆpกG + \begin{verbatim} + CJK ฌทํฉ๓ `' (empty) ทNซจฯฅฮฆrชบคjคpปP latex ฝsฤถชบค@ญPกC + sCJK ฌทํฉ๓ `s' ฆPคWกAฆจ๚ฆrฆณป~ฎษคฃฤตงiก]silentก^กC + CJKfixed ฌทํฉ๓ `fixed' ญYปจDชบฆrคjคpฆbฉwธqชบฝdณ๒คบกAค@ซ฿ + จฯฅฮซฉwชบฆrกC + sCJKfixed ฌทํฉ๓ `sfixed' ฆPคWกAฆ keep silentกC + CJKsub ฌทํฉ๓ `sub' ฅHฅtค@รฆrซฌดภฅNกC + CJKssub ฌทํฉ๓ `ssub' ฆPคWกAฆ keep silentกC + \end{verbatim} + ฆpฆนฅiฅHซค่ซKชบฆPฎษจฯฅฮยIฐ}ฆrคฮฆVถqฆrกC +\end{enumerate} + +ณฬยฒณๆชบฆwธหค่ฆกดNฌOกAฆpชGงAฌOฅฮ\ttftopkจำฒฃฅอฆrซฌกAซhฑNจไฉาดฃจัชบ~ +|c00?????.fd|~ฝฦปsจ์~\texttt{texinput/Bg5}~คUกFญYฌOฅH\ntutocjkฌฐฅDกAฅ็ +ฆPฒzฌฐคงกFฅHฆนรฑภกC + +\subsection{ฟ้ฅXคคคๅ~\LaTeX~คๅฅ๓ปPฆrซฌชบร๖ซY} +\label{sec:portability} + +ฆนณBฉาซชบฟ้ฅXฅ]ฌAฑqฟรน๕กBภษฎืคฮฏศฑiตฅกCชํ~\ref{tab:soft-vs-fonts}~ฌO +ฅปคๅฉาดฃคฮชบค@จวณnฅXณnล้ปPจไฉาจฯฅฮฆrซฌถกชบร๖ซYก]ฐฃคFฏSงOปกฉ๚ฅ~กAณnล้คง +ชฉฅปคjญPฌาฌฐฅปคๅผถผgฎษณฬช๑ชบชฉฅปก^กCฅัฆนชํฅiชพกAPK~ฆrฆbนwต๘ฎษฌOคฃฅiฉฮ +ฏสชบกAฆำ~PS~ฆrฆbฆCฆLฅ]งtฆณ~PostScript~ภษฎืก]|.eps|กB|.ps|~ตฅก^ชบคๅฅ๓ฎษ +ฅ็ฅฒปฅฮจ์กC +\begin{table}[htbp] + \begin{center} + \leavevmode + + \begin{tabular}{|>{\ttfamily}c|c|c|c|} \hline + ฟ้ฅXณnล้ & ฅ\ฏเ & CJK PK~ฆrซฌ + & CJK PS~ฆrซฌ \\ \hline + xdvi & นwต๘ & \hookstroke + & \crossmark \\ + & & + & ก]ฏเฆณค@ญำนwณ]ฆrก^ \\ \hline + dvisvga & นwต๘ & \hookstroke + & \crossmark \\ \hline + dvips & ฟ้ฅXฆภษฎืฉฮฆLชํพ๗ & \hookstroke + & \hookstroke \\ + ก]5.60~ชฉฅปฅHคUก^ & & + & ก]ฆฌฐฅณกธคJก^ \\ \hline + dvihp & ฟ้ฅXฆภษฎืฉฮฆLชํพ๗ & \hookstroke + & \crossmark \\ \hline + gs & นwต๘คฮฟ้ฅX & \crossmark + & \hookstroke \\ \hline + \end{tabular} + + \caption{~\TeX~ฌร๖ณnล้ปPจฯฅฮ~CJK~ฆrซฌถกคงร๖ซYกC} + \label{tab:soft-vs-fonts} + \end{center} +\end{table} + +ญnฒฃปsค@ฝgนฯคๅจรญZชบคๅณนกAคืจไฌOคคคๅคๅณนกAฆrฑฺก]font familyก^ปPจไคุคo +คjคpก]font sizeก^ชบลคฦฌOคฃฅiฉฮฏสชบกCน๏ฟ้ฅXฎษฅฒถทชบ~PK~ปP~PS~ฆrซฌฆำจฅกA +ญYฆbฆนชฌชpคUค๑ธ๛คGชฬชบฎtงOกAฆLชํชบค่ซKฉสค]ฅiปกฌOฆUฆณคdฌ๎กFญYฆbบฯบะชลถก +ชบจฯฅฮคWกAฅiฏเดNฆณฉาฎtฒงกCฆ]ฌฐฆPค@ฆrฑฺฆคฃฆPคjคpชบฆrกAPK~ฆrซฌฅฒปจCบุ +จฯฅฮจ์ชบคุคoฌาธคJฆจไฟ้ฅXภษคคกAฆำ~PS~ฆrซฌฅuปค@ฆธกC + +ฅุซeกAคๅณนคคฉาฆณจฯฅฮจ์ชบ~PFB~ฆrซฌกAญYญnฒฃฅอคบงtฆกชบ~PS~ภษฎื +ก]self-contained Postscript outputก^กA|dvips|~ท|ฅณกธคJฆจไฟ้ฅXคคกCฆำ +คUค@ฆธฅXชฉชบ~|dvips|~ต{ฆกคคกAฑNฅiฏเฐwน๏จไฟ้ฅXภษคคชบฆนถตฏสยIฆณฉาง๏ถiกF +ทNงYทsชบชฉฅปฅuท|ธคJฆbคๅณนคคฆณจฯฅฮจ์ชบฆrจไฆb~|.pfb|~ภษคคฉาน๏ภณคงฉwธqชบ +ณกคภกCก]ฆbตงชฬด๚ธี~|dvips| 5.60~ชฉฎษกAผศฎษตLชkฆจฅ\ฆaจฯฅฮคคคๅ~CJK PS~ฆr +ซฌกAคฃนLฌซHงึคFกCก^ + +ฅุซeผศฎษฅiฅฮ~|fontload|~ณoญำณnล้กAนFฆจณoญำฅ\ฏเกC + + +\section{งฺชบจาคl} +\label{sec:my-settings} + +ฅุซeงฺจฯฅฮชบฌO~Linux~ง@ท~จtฒฮกA\TeX/\LaTeX~ซhจฯฅฮ~te\TeX~ภ๔นากAฌร๖ชบ +ฅุฟฆpคUกG +\begin{itemize} +\item |/usr/local/lib/texmf| ฆsฉ๑~\TeX/\LaTeX~จtฒฮกC +\item |/usr/local/lib/ghostscript| ฆsฉ๑~GhostscriptกC +\item |/usr/local/lib/ntuttf| ฆsฉ๑~NTU TrueType~ฆrซฌคฮฅั\ntutocjkฉาฒฃ + ฅอชบฌร๖ฆrซฌกC +\item |~/CJK/4_1.0| ฆsฉ๑ธัถ}ชบ~CJK~จtฒฮกC +\end{itemize} + +งฺฅHฅฟฑ`ชบฆwธหต{งวกAฑN~te\TeX~ฆwธหฆb~|/usr/local/lib/texmf|กFคงซแฑN~ +CJK~ฆbงฺชบ~|$HOME/CJK|~คUธัถ}กACJK~ณnล้คคฉาฆณชบภษฎืซKฒฃฅอฆb~|CJK|~คlฅุ +ฟคค\footnote{คงฉาฅHฑN~CJK ฆwธหฆbฆคvญำคHชบฅุฟคUกAฌOฆ]ฌฐ~CJK~ฑ`ง๓ทsกA + คฃค่ซKฑ`ฝะจtฒฮบฒzชฬภWภWง๏ลณ]ฉwกCฆAฅ[คWฌฐคFฆคvภษฎืฌyณqฉสชบฆาผ{กAฆณ + ฆคvค@ฅ๗~CJK~ชบณ]ฉwกAญำคHป{ฌฐกAฆคvชบ~CJK~คๅฅ๓ค~ท|ฆณธ๛ฐชต{ซืชบฒพดำฉสกC + ญYงAคSฌOจtฒฮคคญtณd~CJK~ณnล้ชบคHกAฌฦฉฮฌOพใญำ~\TeX/\LaTeX~ชบบ๛ล@ชฬกAฆb + ฆคvจpคHชบฅุฟคUบฒzจรฉwดมง๓ทs~CJKกAฌOญำคฃฟ๙ชบค่ฆก}กAจาฆpกG +\begin{verbatim} + % cd + % gunzip CJK-4.1.0.src.tar.gz | tar xvf - +\end{verbatim} +จรฐตฅHคUชบณBฒzกG +\begin{enumerate} +\item ฆb~|~/CJK|~คUซุฅ฿ค@ฒลธนฆกชบภษฎืณsตฒก]symbolic linkก^กAฆWฌฐ~ + |texinput|~ฅBณsตฒฆฅุซe~CJK~ชฉฅปฆWคUชบ~|texinput| กA + \begin{verbatim} + % cd ~/CJK + % rm -f texinput + % ln -s 4_1.0/texinput texinput + \end{verbatim} +\item ฝsฤถค@ญำทsชบ~|bg5conv|~ฐ๕ฆๆภษกC + \begin{verbatim} + % cd ~/CJK/4_1.0/utils/Bg5conv + % gcc -O -o bg5conv bg5conv.c + % mv bg5conv bg5latex ~/bin + \end{verbatim} + ญYคฃฅuฌOฆwธหตนฆคvฅฮกAซhฅiฅH~|root|~ชบจญฅ๗~|cp|~ฆ~|/usr/local/bin|~ + ฅุฟคUกC +\item ฆbงฺชบ~|$HOME|~ฅุฟคU~|.cshrc|~ภษคคก]ฆ]ฌฐงฺฅฮชบฌO~tcshก^กAผWฅ[ค@ + ฆๆ + \begin{verbatim} + setenv TEXINPUTS ":~/CJK/texinput//" + \end{verbatim} +\item ฒฃฅอ~|.tfm|~ภษคฮ~|.pfb|~ฆrซฌกCฆbฆนงฺซ๖ทำ\ntutocjkคคกAค@ค@~ + ``make''~ฅXฌน๏ชบ~|.pfb|~ฆrซฌกAฆ@~8~ฒีกAจCฒี~55~ญำ~ |.tfm|~คฮ~|.pfb|~ + ภษกCงฺฑNณoจวภษฎืฒพฆ~ + \texttt{/usr/local/lib/\linebreak[1]ntuttf/\linebreak[1]type1/}~คฮ~ + \texttt{/usr/local/lib/ntuttf/afm/}~ฌร๖ฉ๓จไฆrฑฺชบฅุฟคUกCจรฑN + ~|config.CJK|~คฮ~|CJK.map|~ฒพฆ~|$TEXMF/dvips|~คUกC +\item ณ]ฉw~|.fd|~ภษกCฆ]ฌฐงฺจฯฅฮชบฌOฅH~PS~ฆrซฌฌฐฅDชบ~PFBก]ฅั\ntutocjkฒฃ + ฅอก^คฮฅัจไฒฃฅอชบ~PK~ฆrซฌก]ฅั~|gsftopk|~ฒฃฅอก^กAฉาฅHงฺชฝฑตฑฤฅฮ + \ntutocjkฉาดฃจัชบ~|c00|*|.fd|~ภษกAจSฆณง@ฅ๔ฆ๓ง๓ง๏ก]ฆ]ฌฐงฺฆณณdฅ๔จฯฅฆปP + งฺชบคuง@ภ๔นาค@ญP :-ก^กCงฺฑNจไฒพฆ~|~/CJK/texinput/Bg5/|~ฅุฟคUกC +\end{enumerate} + +\subsection{ซุฅ฿คๅฝZ} +\label{sec:creating-tex} + +คคคๅ~CJK \TeX~คๅฝZปPค@ฏ๋~\TeX~คๅฝZชบคฃฆPฅDญnฆbฉ๓กG +\begin{itemize} +\item ฆbฉาฟื~\LaTeX~คๅฅ๓ชบ~preambleก]|\documentclass|~ฆ~ + |\begin{document}|ก^ฐฯฐ์คคกAฅฒถทฆณ~|\usepackage{CJK}|~ณoญำฉRฅOกAงYฅฒ + ถทธคJ~|CJK.sty|กC +\item คคคๅฆrฅฒถทฆb~|CJK|~ฉฮ~|CJK*|~ชบคคคๅภ๔นาคคกCงYกG + \begin{verbatim} + \begin{CJK*}{}{} + คคคๅฌqธจกBณนธ`กBนฯงฮกBชํฎๆกBฐัฆาคๅฤmกBกKตฅ + ... + \newpage + \end{CJK*} + \end{verbatim} +\item ญnลดซฆrซฌฅiฅฮ~|\CJKfamily|~ฉRฅOกAฆp~|\CJKfamily{fs}|~ฑNฅHคUชบฆr + ซฌง๏ฆจฅ้งบฆrก]ทํตM~|fs|~ณoญำฆrงฮฆWบูฅฒถทฉwธqฆb~|c00fs.fd|~คคก^กC +\end{itemize} + +งฺชบฅฮชkณฃฌOฅHค@ญำคคคๅภ๔นาฅ]ฆํฉาฆณชบคๅณนคบฎeกAฆpนฯ~ +\ref{fig:my-example}~ฉาฅกC + +\newsavebox{\myex} +\begin{lrbox}{\myex} + \begin{minipage}{.9\textwidth} + \footnotesize + \begin{verbatim} + \documentclass[12pt]{article} + \usepackage{CJK} + + \begin{document} + \begin{CJK*}{Bg5}{fs} + \CJKtilde + + \section{ฒฤค@ธ`} + \label{sec:section-1} + ฐัฆานฯ~\ref{fig:apply-pk-and-ps-fonts}กC + + \begin{figure}[htbp] + \begin{center} + \leavevmode + \includegraphics{pkpsapps.eps} + \caption{|pk|~ฆrซฌปP~|.pfb|~ฆrซฌชบภณฅฮน๏ภณนฯ} + \label{fig:apply-pk-and-ps-fonts} + \end{center} + \end{figure} + + \bibliographystyle{plain} + \bibliography{mybib} + + \newpage %จฯฆณฅฟฝTชบคคคๅฟ้ฅXกC + \end{CJK*} + \end{document} + \end{verbatim} + \end{minipage} +\end{lrbox} + +\begin{figure}[htbp] + \begin{center} + \leavevmode + \fbox{\usebox{\myex}} + \caption{งฺชบ~CJK~คๅฅ๓ฝdจากC} + \label{fig:my-example} + \end{center} +\end{figure} + +\subsection{ฅH~\LaTeXe\ CJK~ฝsฑฦชฉญฑ} +\label{sec:clatexing} + +ดNฆPค@ฏ๋ชบ~\LaTeX~ภษค@ผหกAฆฅH~|bg5latex|~จ๚ฅN~|latex|กAฆpกG +\begin{verbatim} + % bg5latex mylatex.tex + ฉฮชฬ + % bg5latex mylatex +\end{verbatim} + +\subsection{นwฤ} +\label{sec:preview} + +คjณกคภฑกชpคUงฺฅH~|xdvi|~นwฤ~|.dvi|~ภษก]ฆb~Emacs~ฉฮ~Mule~คคญYจฯฅฮ~ +AUC\TeX~ณoฎMณnล้กAง๓ฏเลใฅXจไฌ๐ฅXชบฆaค่กAคืจไฌOฅuนwฤคๅณนคคชบค@ถ๔ฐฯฐ์กA +ภHฎษฅiภหต๘ธำฐฯฐ์ชบฑฦชฉฑกงฮก^กC + +ฅtฅ~กAงฺค]ท|ต๘ฑกชpฅฮคฃฆPชบนwต๘ต{ฆกกCค๑ฆpฆb~Linux~ชบ~virtual terminal +mode~งฺฅH~|dvisvga|~นwต๘กCฆbฏสฅF~|pk|~ฆrซฌฉฮจSฆณ~|xdvi|~ชบคึผฦฑกงฮคUกA +งฺค]ฅฮ~|ghostview|~นwต๘ธgฅั~|dvips|~ฒฃฅอชบ~|.ps|~ภษฎืกC + +\subsection{ฆCฆL} +\label{sec:printing} + +ฒฃฅอคฮฆCฆL~|PostScript|~ภษฎืฌOงฺณฬฑ`ฅฮชบค่ฆกกAฆ]ฌฐฆbงฺชบคๅณนคคกAนฯงฮฌOคฃ +ฅiคึชบธ๊ฎฦกAฆำฅฆญฬดXฅGณฃฌO~|.eps|~ชบฎๆฆกก]ฅั~|xfig|กBAutoCADกB|GnuPlot|กB +|xv|กBกKตฅฉาฒฃฅอก^กCฉาฒฃฅอชบ~|.ps|~ภษกAฉฮชฬฌOฅั~PostScript~ฆLชํพ๗กAฅ็ฉฮ +ชฬณzนL~ Ghostscript~ชบยเดซกAฆำฟ้ฅXจ์~Laserjet~ฉฮ~Deskjet~ฌฦฉฮจ์ยIฐ}ฆกฆL +ชํพ๗ฅhกC + +ค@ฏ๋ฆำจฅกAฅH~|dvips cjk-doc|~ท|ฒฃฅอฅiฆCฆLชบฟ้ฅXกAฆAฅH~|lpr cjk-doc.ps|~ +ชบฆLชํซฅOฆCฆLงYฅiกCฆฑzญYคฃฤ@ฒฃฅอคคคๅ~PK~ฆrซฌกAฅBฑzคฃฌOจฯฅฮ~PostScript~ +ฆLชํพ๗กAคSฅฮ\ntutocjkฆwธห~PS~ฆrซฌกAค]ฐwน๏~ Ghostscript~ชบณ]ฉwฆwธหฆnณoจว +ฆrซฌกAฆำฅBฑzชบฆLชํมอฐสต{ฆกฏเฅH~|gs|~ฌฐฅDก]LinuxจtฒฮคWฆhผฦณฃฅHฆนค่ฆกณ]ฉwก^กA +ซhงAฅiฅHชฝฑตฅH~|lpr|~ณoญำฉRฅOฆCฆL~ |.ps|~ภษก]ฌฦฆฌO~|.dvi|~ภษก^กCฆpกG +\begin{verbatim} + % dvips -P CJK cjk-doc + % lpr cjk-doc.ps +\end{verbatim} + +ฅH~|dvihp|~ฒฃฅอฆCฆLภษค]ฌOค่ฆกคงค@กAจไฟ้ฅXฎๆฆกฌฐ~PCLกAฉฮฌO~HP~ฆLชํพ๗ชบฎๆ +ฆกกCฆฆ]ตLชkณBฒzคๅณนคคฅ]งtชบ~PostScript~ภษฎืกAฉาฅHงฺจรคฃฑ`ฅฮกC + +ทํญnฒฃฅอฅiฤโชบฆCฆLภษฎืฎๆฆกก]self-contained PostScript fileก^กAงฺท|ฅHฒฃฅอ~ +Post\-Script~ก]|.ps|ก^ชบฎๆฆกฌฐฅDกCฆrซฌจำทฝคงค@ฌOฅันwต๘ซแฆฐสฒฃฅอชบ~PK~ +ฆrซฌง@ฌฐ~ |dvips|~ชบฟ้คJฆrซฌกCฆนค่ฆกฅiฅHคUฆCฉRฅOงนฆจกG +\begin{verbatim} + % dvips cjk_doc -o cjk-doc-contains-pk-fonts.ps +\end{verbatim} +ฆนฎษ~|psfonts.map|~คคปคฃงt\ntutocjkฉาฒฃฅอชบคคคๅฆrซฌก]CJK 4.0 ฅHคWชบชฉฅป +คคฉางtชบ\ntutocjkกAนwณ]ฌฐฆนฑกงฮก^กA|dvips|~ค~ท|จ๚ฅฮคคคๅ~PK~ฆrกAฉฮฆpชGคค +คๅ~PK~ฆrซฌคฃฆsฆbชบธกAท|ฆฐสฒฃฅอคงกCฆbจฯฅฮ~|xdvi|~ฉฮฌร๖ณnล้นwต๘ฎษกAฆ]ฅH~ +PK~ฆrซฌฌฐฅDกAฆbฆrซฌงไคฃจ์ชบฑกชpคUกAฅ็ท|ฆฐสฒฃฅอคงกC + +ฅtฅ~ซhฌOฅO~|dvips|~จ๚ฅฮคคคๅ~PS~ฆrกAฆbซ๖ทำ\ntutocjkคคปกฉ๚ฆwธหซแกAฉาฆณชบคค +คๅ~PS~ฆrชบน๏ภณภษท|ฆsฆbฉ๓~|CJK.map|~ภษคคกCญYญnฅHฆนค่ฆกฒฃฅอฅiฤโฆกชบ~|.ps|~ +ภษกAฅฒถทถiค@จBฆaฅH~|gs|~ฉฮ~|fontload|~ตฅรฆชบณnล้กAฑN~PS~ฆrซฌธคJจ์ฟ้ฅX +ชบภษฎืคคกCญYฅH~|fontload|~ฆำจฅกAฆb~UNIX~จtฒฮคUกAฅiฅHคUญฑชบซฅOนFฆจกG +\begin{verbatim} + % dvips -P CJK -o cjk-doc-no-ps-fonts-contained.ps cjk_doc.dvi + % fload cjk-doc-no-ps-fonts-contained.ps > cjk-doc-contains-ps-fonts.ps + % lpr cjk-doc-contains-ps-fonts.ps +\end{verbatim} +ฆนฎษ~|cjk-doc-contains-ps-fonts.ps|~ฉฮ~|cjk-doc-contains-ps-fonts.ps|~ดN +ฌOงนพใชบ~PS~ภษฎืคFกAค]ดNฌOปกกAฑzฅiฅHฅแจ์ฅ๔ฆ๓ค@ฅxคไดฉฆณฆCฆL~PostScript~ภษ +ฎืชบฆLชํพ๗ฉฮต{ฆกคFกC + +ฅHคWดNฌOงฺญำคHน๏~CJK~คคคๅ~\LaTeX~จtฒฮชบณ]ฉwกAฆณคHฤ@ทNดฃจัฆคvชบฆwธหธgล็ถกS + + +\section{ฐรDธัจM} +\label{sec:trouble-shooting} + +ฆbจฯฅฮนwฤต{ฆกชบฎษญิกAฅiฏเท|นJจ์ชบฐรDปPจไธัจMชบค่ฆกฆpคUกG +\begin{itemize} +\item PK~ฆrซฌงไคฃจ์กC +\item คฃท|ฆฐสฒฃฅอ~PK~ฆrซฌกC +\end{itemize} + +[ณ\ฆhฐรDปPจไธัจMค่ฆกฉ|ฅผพใฒzฏวคJ] + + +%\section{จไฅL} +%\label{sec:misc} + + +\section{ทPมย} +\label{sec:acknowledgements} + +\begin{itemize} +\item ฆณณoป๒ฆhคHกAฐ^ฤmณ\ฆhค฿คOกAงนฆจณ\ฆhค่ซKฅBคบฎeยืดIชบต{ฆกกC +\item ฆณง๓ฆhชบจฯฅฮชฬกAจฯฅฮณoจวต{ฆกกAจฯฅLญฬง๓คWผhผำกC +\item ณoบุฏSงOชบฌคฌผvลTกAฅอฅอคฃฎงฆaด`ภ๔ตกAค~ดฃคษคFงฺญฬชบฅอฌกผhญฑกC +\end{itemize} + + +%\section{ฅปคๅง@ชฬ} +%\label{sec:the-author} + +%ง๕งgฆt (Chun-Yu Lee) +%d791013@ce.ntu.edu.tw ฉฮ \\ +%chunylee@ms1.hinet.net + + +%\bibliography{READMEb5} +%\bibliographystyle{plain} + + +\begin{thebibliography}{1} + +\bibitem{latex-companion:1993} +Michel Goossens, Frank Mittelbach, and Alexander Samarin. +\newblock {\em The \LaTeX Companion}. +\newblock Addison Wesley, 1993. + +\bibitem{tex-faq:1.9c} +Bobby Bodenheimer. +\newblock The new \TeX\ FAQ --- your 100 questions answered: + Version 1.9c, date 1994/12/06. +\newblock 1994. + +\bibitem{latex2nd} +Leslie Lamport. +\newblock {\em \LaTeX\ --- A Document Preparation System --- User's + Guide and Reference Manual}. +\newblock Addison Wesley, 2 edition, 1994. + +\end{thebibliography} + + +\appendix +\section{ฆWตธัฤภ} +\label{sec:terms} + +คUฆCฆWตฌฐฅปคๅคคฉาจฯฅฮกAจรงฝญญฉ๓คUฆCทNซไกG + +\begin{description} +\item[PK~ฆrซฌ:] PK fontsกCค@บุภฃมYนLชบยIฐ}ฆrซฌฎๆฆกกCผsชxจฯฅฮฆb~ + TeX/\LaTeX~ปญnฟ้ฅXยIฐ}ฆrชบฆaค่กCฆpนwต๘ฉฮฆCฆLฟ้ฅXกCฆbฆนฐพซคคคๅ~CJK + PK~ฆrซฌกC +\item[PS~ฆrซฌ:] PostScript Type 1 fontsกCPostScript~ฆrฆณผฦบุซฌฆกกAฅปคๅ + ทNซ~Type 1~ฆrซฌกCจไฆณจโบุฎๆฆกกGPFA (Printer Font Ascii)~คฮ~PFB + (Printer Font Binary)กCฆbฆนฐพซคคคๅ~CJK PS~ฆrซฌกC +\item[ฅDพ๗กBคuง@ฏธ:] A host computer, work station, etcกCชxซฌYปOดฃจั + ธ๊ทฝฉฮชAฐศชบนqธฃกCฆp~FTP~ฏธกC +\item[CTAN:] Comprehensive \TeX\ Archive NetworkกCฅปคๅซฆฌถฐดXฅGฉาฆณฆณ + ร๖~TeX/\LaTeX~จtฒฮคฮคๅฅ๓ชบ~FTP~ฏธกCฅุซeคwชพชบ~CTAN~ธิฆCฉ๓ชฟ~ + \ref{sec:ctan-mirrors}กC +\item[IFCSS:] The CCIC (Chinese Community Information Center) of IFCSS + (Independent Federation of Chinese Students and Scholars)กCชฟ~ + \ref{sec:ifcss-mirrors}~คคฌOดXญำฆณฆWชบ~ifcss~ฏธกC +\item[AFM~ภษฎื:] Adobe Font MetricsกCฆsฆณฝsฝXคฮฆrฝdณ๒ตฅธ๊ฎฦกC +\item[TFM~ภษฎื:] \TeX\ Font MetricsกC +\item[|.fd|~ภษฎื:] ฆrซฌดyญzภษ~(font description files)กCฐOฟฌร๖ฉ๓ฌYค@ + บุคบฝXกC +\item[GS~ฉฮ~GhostScript:] ฑ`ฅฮชบ~PostScript~ปyจฅธัฤถพนก]interpreterก^ + คงค@กC +\item[|afm2tfm|:] ฑN~AFM~ภษฎืฎๆฆกยเดซฆจ~TFM~ภษฎืฎๆฆกชบต{ฆกกC +\item[ค@ฒีฆrซฌภษ:] ฆpชGฌOจฯฅฮภฃมYนLชบฆrซฌกAงYคฃฌOจฯฅฮ~pmC~ถ}ภYชบฆrฑฺกA + ฆ@ฆณ~55~ญำคlฆrซฌภษกCจาฆpกG|b5ka01.pfb|กB|b5ka02.pfb|กBกKกB + |b5ka55.pfb|กC +\item[\textsf{NFSS}:] New Font Selection SchemeกCฅั~Frank Mittelbach~ + ฉM~Rainer Sch\"opf~ฉาดฃฅXชบฆrซฌฟ๏พจtฒฮกC +\end{description} + +\section{ภษฎืจ๚ฑo} +\label{sec:getting-files} + +\begin{description} +\item[\LaTeXe~ฐ๕ฆๆภ๔นากG] ค@ฏ๋ฌาฆณฆจฎMชบจtฒฮจัจฯฅฮชฬยฒณๆฆwธหกAฆpฆb~DOS~ + คUชบ~em\TeXกFฆb~Linux~คUฆณ~N\TeXกB~te\TeX~ตฅกFUNIX~คWซhฆp~web2c~ชบชฉ + ฅปตฅกCณoจวณฃดฒฆb~CTAN~ชบฅุฟคUกCฤดฆp~em\TeX~ฆb~ + |systems/|\linebreak[1]|msdos/|\linebreak[1]|emtex|~คคกFN\TeX~ฆbกSกSกF + web2c~ชบชฉฅปฆbกSกSกC\LaTeXe~จtฒฮฅปจญซhฆb~CTANกG + |macros/|\linebreak[1]|latex/|\linebreak[1]|base|~คUกC +\item[\LaTeXe~CJK~จtฒฮกG] CTAN: |language/chinese/CJK|~ฉฮ~IFCSS host: + |tex/|\linebreak[1]|CJK.X_X.|\linebreak[1]|tar.gz|กC +\item[NTU TrueType~ฆrซฌกG] IFCSS host: |fonts/big5/ms-win|กCฑNทขฎักBฉ๚ + ล้กBฅ้งบล้ตฅณกคภก]ฉฮฅณกก^ชบ~ARJ~ภษจ๚ฆ^ซแกAฐัฆาปPณoจวฆrซฌฆbฆPค@ฅุฟ + ชบปกฉ๚ภษก]ฉฮฐัฆาชฆb\ntutocjkคคชบ~|README|~ภษก^กAฑNจไมูญ์ฆจญำงO~TTF~ + ฆrซฌกC +\item[\textsf{ntu2cjk, ttf2pk}:] ฆrซฌฒฃฅอต{ฆกกCฅฆฅ]งtฆb~กง\LaTeXe\ CJK~ + จtฒฮกจคคกC +\item[GhostScript:] CTAN: + |support/|\linebreak[1]|ghostscript/|\linebreak[1]|aladdin|~ฉฮ~ + |support/|\linebreak[1]|ghostscript/|\linebreak[1]|gnu|กC +\item[|dvips|:] CTAN host: UNIX~ชฉฆb~|dviware/dvips|กFDOS~ชฉฆb~ + |systems/msdos/|\linebreak[1]|dviware/|\linebreak[1]|dvips/|% + \linebreak[1]|dvips558.pc|กC +\item[|afm2tfm|:] ฅ]งtฆb~dvips~จtฒฮคคกC +\item[|ps2pk|:] CTAN: |fonts/utilities/ps2pk|กAฉฮฅ]งtฆbค@ฏ๋ฎMธหชบ~ + \TeX/\LaTeX~จtฒฮคคกC +\item[|gsftopk|:] CTAN: |fonts/utilities/gsftopk|กAฉฮฅ]งtฆbค@ฏ๋ฎMธหชบ~ + \TeX/\LaTeX~จtฒฮคคกC +\item[|dvi2|xx:] ฆp~|dvilj|กB|dvidm|กBกKกCฆb~CTAN: |dviware|~ฅุฟคUกC +\item[AUC\TeX:] CTAN: |support/auctex|~ฅุฟคคชบ~ + |auctex.tar.gz|\linebreak[1]ก]~unix~ก^ฉฮ~|auctex.zip|~ก]dosก^กC +\item[|fontload|:] CTAN: |fonts/utilities/fontload|กC +\item[Mule~ชบคคคๅฟ้คJชkกG] IFCSS: |mule/lisp/quail-b5|กC +\end{description} + + +\section{จไฅLฌร๖ชบณnล้ปPคuจใ} +\label{sec:other-stuffs} + +\subsection{ฆb~Linux~จtฒฮคWชบ\bigfiveคคคๅจtฒฮคฮผาภภฒืบพ๗ต{ฆก} +\label{sec:chinese-systems} + +\begin{itemize} +\item chdrv +\item yact +\item CXterm +\item xcin +\end{itemize} + +\subsection{คคคๅฝsฟ่\ -- Mule} +\label{sec:mule} + +จฯฅฮ~Mule~ฌฐฝsฟ่คคคๅ~\LaTeX~คๅฅ๓ชบคuจใชบจฯฅฮชฬกAฅiฑNคUญฑชบณ]ฉwฅ[ฆ~ +|$HOME/|\linebreak[1]|.emacs|~ภษคคกG +\begin{verbatim} + ;;; Chinese Big-5 environment + (set-primary-environment 'chinese) + (set-default-file-coding-system '*big5*) + (setq display-coding-system '*big5*) + (setq keyboard-coding-system '*big5*) + ;; input methods + (add-hook 'quail-package-alist '("tsangchi-b5" "quail/tsangchi-b5")) + (add-hook 'quail-package-alist '("quick-b5" "quail/quick-b5")) + ; the default input method + (setq-default quail-current-package + (assoc "tsangchi-b5" quail-package-alist)) +\end{verbatim} + +คมดซคคญ^คๅฟ้คJฅiซ๖~|C-]|กAญnฟ๏พจไฅLชบฟ้คJชkฅiซ๖~|M-s|ก]|Alt-s|ก^กC + +ณ]ฉwฟ้คJชkฎษฅiฟ๏พฆคvฒ฿บDชบกCฆb~IFCSS Mule~ชบฅุฟคคก]ฐัฆาฒฤ~ +\ref{sec:getting-files}~ธ`ก^ฆณค@จวคคคๅฟ้คJชkกAจไคคฅ]ฌAฆณกG +\begin{center} + \begin{tabular}{ll}\hline + ภษฎื & น๏ภณคงฟ้คJชk \\\hline + cns-b5-input.tar.gz & คบงt~|tsangchi-b5.el|ก]ญพeก^คฮ \\ + & |quick-b5.el|ก]ยฒฉ๖ก^ตฅฟ้คJชk \\ + zozy.el.gz & นsณช`ญต \\ + cj.el.gz & ญพe \\ + simplex.el.gz & ยฒฉ๖ \\ + punct-b5.el.gz & ผะยIฒลธน \\ + qj-b5.el.gz & ฅงฮ \\ + etzy.el.gz & ญสคัช`ญต \\ + boshiamy.el.gz & ๅFฝผฆฬ \\ + array30.el.gz & ฆๆฆC~30 \\\hline + \end{tabular} +\end{center} + +ฅHคWฌฐธ๛ฑ`จฃชบฟ้คJชkกCธำฅุฟคคฅ็ฅ]งtคUฆCฟ้คJชkกG +\begin{center} + \begin{tabular}{ll} \hline + ภษฎื & น๏ภณคงฟ้คJชk \\\hline + 4corner.el.gz & ฅ|จคธนฝX \\ + ctlaub.el.gz & ผBฟฒปฆกธfญต \\ + ecdict.el.gz & ญ^บ~รใจๅ \\ + hs.el.gz & ตุถH \\ + hsu.el.gz & ณ\ค๓ช`ญต \\ + py-b5.el.gz & บ~ปyซ๗ญต \\ + roman.el.gz & รนฐจซ๗ญต \\\hline + \end{tabular} +\end{center} + + +มไฆnชบ~\LaTeX~คๅฅ๓ภษกAฅiฐ๕ฆๆ~|bg5latex|~ฝsฤถกCฅ็ฅiงQฅฮ~|cjk-enc.el|~ณoญำ~ +Emacs Lisp~ภษกAฑNคๅฅ๓ฅฆๆยเดซฆจ~|.cjk|~ภษกAฆAฅH~|latex|~ถiฆๆฝsฤถกCง@ชkฌO +ฆb~|~/.emacs|~ภษฎืคคฅ[คJคUฆCผฦฆๆก]จไคคจ็ผฦ~ |write-cjk-file|~ฝะฐัฆา~ +|cjk-enc.txt|~ก^กG +\begin{verbatim} + (load-library "cjk-enc") + + (defun write-cjk-file () + "Save current buffer and <buffername>.cjk in *cjk-coding*" + (interactive) + (setq coding file-coding-system) + (setq bufname (buffer-file-name)) + (string-match "\\(.*\\)\\.[^/]*$" bufname) + (setq body (substring bufname 0 (match-end 1))) + (setq newbufname (concat body ".cjk")) + (message "Saving %s and %s" bufname newbufname) + (write-file newbufname *cjk-coding*) + (write-file bufname coding)) +\end{verbatim} +คงซแซKฅiฆbจCฆธญnฐ๕ฆๆ~|latex|~ซeกAฅฮ~|M-x write-cjk-file|~ฉRฅOฅฆsภษกA +ตMซแฆAฅH~|latex|~ฝsรถฅDภษฆWปPฑzชบคๅฅ๓ฅDภษฆWค@ผหกAฆฉตฆ๙ภษฆWฌฐ~|.cjk|~ +ชบภษฎืกC + +\subsection{\TeX/\LaTeX~ชบฆnภฐคโ\ -- AUC\TeX} +\label{sec:auctex} + +ยฒฉ๖ซคกG +\begin{enumerate} +\item ทำฒฤ~\ref{sec:mule}~ธ`ชบค่ฆกฑN~Mule~ณ]ฉwงดทํกC +\item ซ๖ทำ~AUC\TeX~ชบฆwธหซฅฆwธหกCฉฮซ๖ทำ~AUC\TeX~ชบ~default~ค่ฆกฆwธหกC + คUฆCผฦถตฅiฐตฅiคฃฐตกC +\item ซุฅ฿ค@ญำ~|bg5latex-batch|~ภษกAคภงOฆpคUกG + \begin{verbatim} + #! /bin/sh + f=`echo $1 | sed -e 's|\(.*\)\.[^/]*$|\1|'` + bg5conv < $1 > $f.cjk + latex \\nonstopmode\\input{$f.cjk} + \end{verbatim} +\item \label{CJK-C-cC-c}ฆb~|.emacs|~คคฅ[คJกG + \begin{verbatim} + (setq TeX-command-list + (append TeX-command-list + '(("CLaTeX" "bg5latex-batch %s " TeX-run-LaTeX nil t) + ("CLaTeX Interactive" "bg5latex %s " TeX-run-interactive nil t) + ("CPrint" "fload %f | lpr" TeX-run-command t nil) + ))) + \end{verbatim} + ซhฅiฆbฐ๕ฆๆ~|C-c C-c|~ฉฮ~|C-c C-r|~ฎษกAฆbญnฟ้คJ~|LaTeX|~ชบฎษพ๗กAฟ้คJ~ + |CLaTeX|กC +\item ฆb~|.emacs|~คคฅ[คJคUฆCผฦฆๆกAฅHซKฑzชบคๅฅ๓ฆbฑฦชฉฎษก]ฅคๅซhฐ๕ฆๆ + ~|C-c C-c CLaTeX|~กAฐฯฐ์ฅฮ~|C-c C-r CLaTeX|ก^กAญYฆณฟ๙ป~ฅiฅฮ~|C-c `|~ + ฌdล็ฟ๙ป~ฉาฆbกAจรฅiง๓ฅฟคงกC + \begin{verbatim} + (add-hook 'TeX-translate-location-hook + '(lambda () + (if (string-match "\\(.*\\)\.cjk$" file) + (setq file + (concat + (substring file + (match-beginning 1) + (match-end 1)) + ".tex"))))) + \end{verbatim} +\item ฉฮชฬฑzฆาผ{ฅฮ~|cjk-enc.el|กAซhฆb~|.emacs|~คคฅ[คJคUฆCผฦฆๆกG + \begin{verbatim} + (defun TeX-run-CJK-LaTeX (name command file) + "Create a process for NAME using COMMAND to format + FILE with CJK/LaTeX." + (write-cjk-file) + (TeX-run-LaTeX name command file)) + + (if (not (assoc "CJKLaTeX" TeX-command-list)) + (setq TeX-command-list + (append TeX-command-list + '(("CJKLaTeX" "%l '\\nonstopmode\\input{%s.cjk}'" + TeX-run-CJK-LaTeX nil t) + )))) + \end{verbatim} + ฅuญnฑNคWญzจฯฅฮ~|CLaTeX|~ชบฎษพ๗กAง๏ฆจจฯฅฮ~|CJKLaTeX|~งYฅiกCฌdฟ๙ฆPผหฅฮ + ~|C-c `|~กC + + ฆญnช`ทNกAจฯฅฮ~|CJKLaTeX|~ฎษกAคๅฅ๓คคฝะคฃญnจฯฅฮ~|\usepackage{CJK}|~ฉฮ + รฆชบฉRฅOกC +\end{enumerate} + +ช`ทNกAคWญzจBฦJฅuพAฅฮณๆค@~CJK \LaTeXe~คๅฅ๓กC + +% Not ready yet... +%ฆpชGฆbฑzชบคๅฅ๓คคฆณฅฮจ์~|\include|~ณoญำฉRฅOกAฆำฑzคดทQฅฮจ์~AUC\TeX~ชบฅ\ฏเกA +%ฅiง@ฆpคUชบฅุฟฆwฑฦกG + +% ./ ==> ฅปผhฅุฟกAญ์ฉlคๅฅ๓คงฉ๑ธmฅุฟกC +% ../ ==> คWผhฅุฟกAธmฉ๑ฅั~latex~ซeฅั~bg5conv~ยเดซนLชบ~|.cjk|~ภษก]ฆ]ฆน +% ญYฆbฆนคWผhฅุฟคคฆณญ์ฉlคๅฅ๓กAซhปฏSงOช`ทNกAคฃญnจฯฅฮปPฅปผhฅุฟคคฆPฆWชบ +% คๅฅ๓ก^กCฅtฅ~ฅ]งtค@~|Makefile|~ก]ฐัฆานฯ~ +% \ref{fig:makefile-for-multifile-latexing}~คงจาคlก^กAจไคบฎeฅDญnฌฐฆbจC +% ฆธ~latex~ซeกAง๓ทs~|.cjk|~ภษกC + +% \begin{verbatim} +% #! /bin/sh +% make bg5conv +% cd CJK +% latex \\nonstopmode\\input{$1} +% \end{verbatim} + + +% \begin{lrbox}{\myex} +% \begin{minipage}{.9\textwidth} +% \footnotesize +%\begin{verbatim} +%TEXs = abstract.tex archi.tex codebase.tex conclude.tex details.tex \ +% dsgnbase.tex engtool.tex examples.tex introd.tex kb_lsp.tex \ +% pjfinal.tex prg_gi.tex prg_s2c.tex related.tex represnt.tex \ +% sscdcb.tex sscddb.tex sscdgi.tex sta2con.tex title_pg.tex +%MISC = Makefile LaTeXsrc +%RCSs = $(wildcard $(SRCDIR)/*,v) + +%SRCDIR = CJK + +%.PHONY: check_srcdir bg5conv default + +%.DEFAULT: .tex .sty .bib .dvi .ps .lj .toc .lof .lot + +%default: +% @echo "There are the following targets:" +% @echo " bg5conv : Big5 CJK LaTeX file converted to LaTeX file." + +%bg5conv: check_srcdir $(TEXs) + +%check_srcdir: +% @if [ -f LaTeXsrc ]; then \ +% echo "Don't make at the LaTex source directory!"; \ +% echo "Copy the Makefile to upper directory and make there."; \ +% echo "e.g., cp Makefile ..; cd ..; make"; \ +% exit 1; \ +% fi +% @if [ ! -d $(SRCDIR) ]; then \ +% echo "$(SRCDIR) not found!"; \ +% exit 1; \ +% fi + +%$(TEXs): %.tex : $(SRCDIR)/%.tex +% bg5conv < $< > $@ +%\end{verbatim} +% \end{minipage} +% \end{lrbox} + +% \begin{figure}[htbp] +% \begin{center} +% \leavevmode +% \framebox[.9\texwidth]{\myex} +% \caption{ภณฅIฆhญซ~CJK~คๅฅ๓ภษชบ~Makefile~ฝdจากC} +% \label{fig:makefile-for-multifile-latexing} +% \end{center} +% \end{figure} + + + +\section{CTANฆbฆUฆaชบภษฎืฐฯ} +\label{sec:ctan-mirrors} +(ฅปธ`บKฆ~CTAN host~คWชบ~README.mirrors) + +ฌฐด๎คึบ๔ธ๔คWชบญtฒกAซุฤณฉาฆณจฯฅฮ~CTAN~ธ๊ทฝชบบ๔คอกAฏเจฯฅฮทํฆaชบฉฮณฬช๑ชบ~ +CTAN hostกC + +ฅุซeคwชพฝฦปsณกคภ~CTAN~ภษฎืชบ~FTP~ฏธ: +\begin{verbatim} + ftp.fcu.edu.tw (Taiwan) /pub2/tex + gate.sinica.edu.tw (Taiwan) /TeX + ftp.adfa.oz.au (Australia) /pub/tex/ctan + ftp.germany.eu.net (Deutschland) /pub/packages/TeX + ftp.uu.net (Virginia, USA) /pub/text-processing/TeX + nic.switch.ch (Switzerland) /mirror/tex + sunsite.dsi.unimi.it (Italia) /pub/TeX + sunsite.snu.ac.kr (Korea) /shortcut/CTAN +\end{verbatim} + +ฅุซeคwชพฝฦปsฅณก~CTAN~ภษฎืชบ~FTP~ฏธ: +\begin{verbatim} + dongpo.math.ncu.edu.tw (Taiwan) /tex-archive + ftp.ccu.edu.tw (Taiwan) /pub/tex + cis.utovrm.it (Italia) /TeX + ctan.unsw.edu.au (NSW, Australia) /tex-archive + ftp.center.osaka-u.ac.jp (Japan) /CTAN + ftp.cdrom.com (West coast, USA) /pub/tex/ctan + ftp.comp.hkbu.edu.hk (Hong Kong) /pub/TeX/CTAN + ftp.cs.rmit.edu.au (Australia) /tex-archive + ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive + ftp.cstug.cz (The Czech Republic) /pub/tex/CTAN + ftp.duke.edu (North Carolina, USA) /tex-archive + ftp.ee.up.ac.za (South Africa) /tex-archive + ftp.funet.fi (Finland) /pub/TeX/CTAN + ftp.gwdg.de (Deutschland) /pub/dante + ftp.jussieu.fr (France) /pub4/TeX/CTAN + ftp.loria.fr (France) /pub/unix/tex/ctan + ftp.mpi-sb.mpg.de (Deutschland) /pub/tex/mirror/ftp.dante.de + ftp.nada.kth.se (Sweden) /pub/tex/ctan-mirror + ftp.rge.com (New York, USA) /pub/tex + ftp.riken.go.jp (Japan) /pub/tex-archive + ftp.tu-chemnitz.de (Deutschland) /pub/tex + ftp.uni-augsburg.de (Deutschland) /tex-archive + ftp.uni-bielefeld.de (Deutschland) /pub/tex + ftp.unina.it (Italia) /pub/TeX + ftp.uni-stuttgart.de (Deutschland) /tex-archive (/pub/tex) + ftp.univie.ac.at (\"Osterreich) /packages/tex + ftp.u-aizu.ac.jp (Japan) /pub/tex/CTAN + ftpserver.nus.sg (Singapore) /pub/zi/TeX + kadri.ut.ee (Estonia) /pub/tex + src.doc.ic.ac.uk (England) /packages/tex/uk-tex + sunsite.icm.edu.pl (Poland) /pub/CTAN + sunsite.queensu.ca (Canada) /pub/tex-archive + sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX + wuarchive.wustl.edu (Missouri, USA) /packages/TeX +\end{verbatim} + +จโญำฅDญnชบ~CTAN~ฅDพ๗: +\begin{verbatim} + ftp.dante.de (Deutschland) + -- anonymous ftp + /tex-archive (/pub/tex /pub/archive) + -- gopher on node gopher.dante.de + -- e-mail via ftpmail@dante.de + -- World Wide Web access on www.dante.de + -- Administrator: <ftpmaint@dante.de> + + ftp.tex.ac.uk (England) + -- anonymous ftp + /tex-archive (/pub/tex /pub/archive) + -- gopher on node gopher.tex.ac.uk + -- NFS mountable from + nfs.tex.ac.uk:/public/ctan/tex-archive + -- World Wide Web access on www.tex.ac.uk + -- Administrator: <ctan-uk@tex.ac.uk> +\end{verbatim} + + +\section{IFCSS~ฆbฆUฆaชบ~FTP~ฏธ} +\label{sec:ifcss-mirrors} + +ฅDญnชบ~IFCSS~ฏธกG \verb|ftp.ifcss.org:/pub/software| + +จไฅLชบ~FTP~ฏธ: +\begin{verbatim} +Taiwan: ftp.edu.tw:/Chinese/ifcss/software [full] + ftp.ntu.edu.tw:/Chinese/ifcss/software [full] + iiiafs.iii.org.tw:/Chinese/ifcss/software [full] +CHINA, + Beijing: info.bta.net.cn:/pub/software [partial] + Guangdong: + info.gz.gdpta.net.cn:/pub/mirror/chnsoftware [partial] + Shanghai: info.sta.net.cn:/pub/software [partial] +HONG KONG,: ftp.cuhk.hk:/pub/chinese/ifcss/software [full] +SINGAPORE,: ftp.technet.sg:/pub/chinese [full] +USA, + California: cnd.org:/pub/software [full] + New Mexico: phaiakon.nmsu.edu:/pub/software [full] +\end{verbatim} + +%% start of trailer +\newpage +\end{CJK*} + +\end{document} + +%% Local Variables: +%% TeX-header-end: "%+ *[Ee]nd[ -]*[oO]f[ -]*[hH]eader" +%% TeX-trailer-start: "%+ *[Ss]tart[ -]*[oO]f[ -]*[tT]railer" +%% TeX-command-default: "CLaTeX" +%% TeX-master: t +%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEgb.tex b/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEgb.tex new file mode 100644 index 00000000000..3081e2896b0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/READMEgb.tex @@ -0,0 +1,92 @@ +% This is the file READMEgb.tex of the CJK package +% for installing the CJK package for LaTeX 2e (in GB encoding). +% +% written by Fude Yao <yao@everest.micro.umass.edu} +% Version 4.1.3 (20-Jun-1997) + +\documentclass[12pt]{report} + +\usepackage{CJK} + +\begin{document} + +\begin{CJK*}{GB}{gbsn} +\CJKtilde + +\chapter*{CJK~ฐฒืฐหตร๗ส้} + +กกกกฑพฮฤสว~Werner Lemberg~ตฤ~CJK~ตฤฐฒืฐหตร๗ส้. ิฺดหฝ๖พอื๗ี฿สนำรตฤ +~Alpha-Linux~ฦฝฬจฝ๘ะะฬึย, ฒขืลึุำฺ~teTeX-0.4p16~ีโาปฐๆฑพตฤ~\TeX + +\begin{enumerate} +\item + ำร~ftp~ฤไร๛ดๆศกทฝสฝป๑ตร~CJKฃฎภศ็: \\ + ftp ftp.tex.ac.uk (or ftp.dante.de) \\ + anonymous \\ + yao@everest.micro.umass.edu \\ + bin \\ + cd tex-archive/language/chinese \\ + get CJK.tar.gz CJK-4.1.3.src.tar.gz (ฐดฃบหไศปฟดฒปตฝ~CJK.tar.gz, + ตซฑพรม๎ศิำะะงฃฌฒฮฟด~CJK-4.1.3.src/README) \\ + bye +\item + ฝซันห๕ฮฤผฝโันฃบ\\ + gzip -d CJK-4.1.3.src.tar.gz \\ + tar xvf CJK-4.1.3.src.tar \\ + cd CJK/4$_{-}$1.3 +\item + ฝซ~doc/teTeX~ภ๏ตฤศซฒฟฒนถกฮฤผ~*.diff~าฦึม~\$TEXDIR/bin/alpha-linux \\ + ำร~patch~รม๎ะฒนฃฌฑศศ็: patch $<$ MakeTeXPK.diff \\ + (ฦไึะ~special.map.diff~ำฆาฦึม~\$TEXMF/fontname~ะฒน) \\ + ืขาโะฒนสวท๑ศซฒฟณษนฆ \\ + (ืขฃบ\$TEXDIR=/usr/lib/texmf; \$TEXMF=/usr/lib/texmf/texmf) +\item + ฝซ~CJK~ึะศซฒฟฮฤผาฦึม~\$TEXMF/tex/latex/CJK (ฑฃม๔ธรฝแนน) +\item + ฝซ~utils/ttf2pk~ตฤศซฒฟฮฤผาฦึม~\$TEXMF/ttf2pkฃบ \\ + cd \$TEXMF/ttf2pk/src \\ + make all OS=unix \\ + ฝซ~utils/hbf2gf~ตฤศซฒฟฮฤผาฦึม~\$TEXMF/hbf2gfฃบ \\ + cd \$/TEXMF/hbf2gf \\ + make all OS=unix +\item + cd utils/Bg5conv (CEFconv, SJISconv) \\ + compile *conv.c, ฑศศ็ฃบ~gcc cefconv.c -o cefconv \\ + ฝซห๙ตรตฤถฝ๘ึฦฮฤผมฌอฌ~*latex~าปฦ๐าฦึม~\$TEXDIR/bin/alpha-linux +\item + ฝซศซฒฟฟษึดะะฮฤผาฦตฝ~\$TEXDIR/bin/alpha-linux~ึะฃฌป๒ฝจมขมชฯตฃฌฑศศ็ \\ + ln -s \$TEXMF/ttf2pk/ttf2pk \$TEXDIR/bin/alpha-linux +\item + ผ์ฒ้~\$TEXDIR/texmf.cnf~ึะ~\$HBF2GFDIR~ำ๋~\$TTF2PKDIR \\ + สวท๑ีศท +\item + ฐฒืฐ~CJK~ืึฟโ, truetype~ป๒~hbf~ธ๑สฝตฤน๚ฑ๊ฃฌด๓ฮๅฃฌศีฮฤฃฌณฏฯสฮฤ \\ + ิฺ~ftp.tex.ac.uk/tex-archive/fonts/CJK~ภ๏ำะธ๗ึึืึฟโฃฌำรฤไร๛ดๆศกทฝสฝ + ศกปุฃฌืขาโสนำรถฝ๘ึฦทฝสฝ +\item + ฝโันฮฤผ \\ + ฝซืึฟโทลิฺ~\$TEXMF/fonts/hbf(truetype)/chinese(japanese, korean) \\ + ศ็น๛สว~hbf~ืึฟโฃฌฝซ~*.cfg~าฦึม~\$TEXMF/hbf2gfฃป \\ + ศ็น๛สว~truetype~ืึฟโฃฌผ์ฒ้\$TEXMF/ttf2pk/ttf2pk.cfg~ึะสวท๑ำะธรืึฟโร๛ + ืึ +\item + สิั้ั๙ฑพฮฤผฃฌผ์ฒ้ษ่ึรสวท๑อ๊ี๛ฃฌฑศศ็~GB.texฃบ \\ + GB.tex~ึะำรตฝสฒรดืึฟโฃบ$\backslash$begin\{CJK*\}\{GB\}\{so\} \\ + \$TEXMF/tex/latex/CJK~ึะำะ~c10so.fd~ืึฟโย๐ฃฟหษๆผฐฤฤะฉร๛ืึฃฟ \\ + \$TEXMF/fontname/special.map~ึะสวท๑ำะธรืึฟโตฤร๛ืึฃฟ \\ + \$TEXDIR/texmf.cnf~ึะ~\$HBF2GFDIR~ำ๋~\$TTF2PKDIR~ีศทย๐ฃฟ \\ + ศ็น๛สว~hbf~ืึฟโฃฌ\$TEXMF/hbf2gf~ึะำะธรืึฟโตฤ~cfg~ฮฤผย๐ฃฟ \\ + ผ์ฒ้~cfg~ฮฤผตฤยทพถร๛สวสวท๑ีศทฃฟ \\ + ศ็น๛สว~truetype~ืึฟโฃฌ\$TEXMF/ttf2p/ttf2pk.cfg~ึะำะธรืึฟโร๛ืึย๐ฃฟ \\ + ยทพถร๛ีศทย๐ฃฟ +\item + ิหะะ~texhash (รฟดฮธฤถฏึฎบ๓ฃฌถผาชิหะะ~texhash) +\item + latex examples/GB.tex, ฟดสวท๑ีณฃฃฎิฺ~doc/~ืำฤฟยผึะำะบถเฐ๏ึ๚ฮฤผฃฌ + ำฆืะฯธิฤถม +\end{enumerate} + +\end{CJK*} +\end{document} + +\EOF diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/emTeXb5.txt b/Master/texmf-dist/doc/latex/cjk/doc/chinese/emTeXb5.txt new file mode 100644 index 00000000000..b37c80aff36 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/emTeXb5.txt @@ -0,0 +1,357 @@ +From c300711@ms5.hinet.net Fri Feb 07 02:13:02 1997 +Newsgroups: tw.bbs.comp.tex +Subject: emtex+cjk410(ttf2pk) on Msdos ฆwธหฌ๖. +From: KUO Yi-Liang <c300711@ms5.hinet.net> +Date: Thu, 06 Feb 1997 18:13:02 GMT + +ฅปคๅฅHemtex\doc\english\quick.engฌฐฐ๒ยฆ: +ธีนฯฆwธหemtex+cjk4.1.0(ttf2pk) on MSDOS +-------- +ภษฎื +-------- +ญบฅฆb mirror CTAN ชบ ftpฏธ +จาฆp dongpo.math.ncu.edu.tw: /tex-archive/systems/msdos/emtex/คUง์ +*.zipภษ, +-rw-rw-r-- 1 mattes server 160090 Aug 7 1995 bibtex4b.zip +-rw-rw-r-- 1 mattes server 1148514 Apr 10 16:22 dvid16f1.zip +-rw-rw-r-- 1 mattes server 824290 Apr 10 16:22 dvid16f2.zip +-rw-rw-r-- 1 mattes server 94959 Aug 7 1995 dvisp10b.zip +-rw-rw-r-- 1 mattes server 180206 May 24 14:17 emxrsx.zip +-rw-rw-r-- 1 mattes server 127810 Sep 2 13:24 first.zip +-rw-rw-r-- 1 mattes server 651946 Jun 26 1995 fontams.zip +-rw-rw-r-- 1 mattes server 411129 Jun 26 1995 fontcm.zip +-rw-rw-r-- 1 mattes server 1031835 Sep 2 13:24 fontdc.zip +-rw-rw-r-- 1 mattes server 7080 Jun 26 1995 fontemsy.zip +-rw-rw-r-- 1 mattes server 47495 Jun 26 1995 fontltx.zip +-rw-rw-r-- 1 mattes server 110991 May 4 21:05 german.zip +-rw-rw-r-- 1 mattes server 930861 Jun 21 14:59 l2base.zip +-rw-rw-r-- 1 mattes server 409888 Jun 21 14:59 l2input.zip +-rw-rw-r-- 1 mattes server 87336 Jun 26 1995 l2kurz.zip +-rw-rw-r-- 1 mattes server 209194 Jun 21 14:59 l2tools.zip +-rw-rw-r-- 1 mattes server 347068 Jun 26 1995 latex209.zip +-rw-rw-r-- 1 mattes server 81115 Jun 26 1995 lkurz.zip +-rw-rw-r-- 1 mattes server 83493 Jun 26 1995 makeindx.zip +-rw-rw-r-- 1 mattes server 990552 Jun 21 14:59 mf4b.zip +-rw-rw-r-- 1 mattes server 166052 Sep 19 1995 mfjob12c.zip +-rw-rw-r-- 1 mattes server 227054 Jun 26 1995 mfware.zip +-rw-rw-r-- 1 mattes server 39887 Jun 26 1995 pictex.zip +-rw-rw-r-- 1 mattes server 113473 Jun 26 1995 pkedit.zip +-rw-rw-r-- 1 mattes server 38705 Jun 26 1995 srcmkidx.zip +-rw-rw-r-- 1 mattes server 88251 Jun 26 1995 srctcad.zip +-rw-rw-r-- 1 mattes server 1173697 Jun 21 14:59 tex4b.zip +-rw-rw-r-- 1 mattes server 131010 Jun 26 1995 texcad.zip +-rw-rw-r-- 1 mattes server 260671 Sep 11 1995 texware.zip +-rw-rw-r-- 1 mattes server 236301 Jun 26 1995 unz512.exe +-rw-rw-r-- 1 mattes server 236134 Jun 26 1995 unz512x3.exe +-rw-rw-r-- 1 mattes server 124738 Aug 23 1995 web.zip +คฃนLฅiฅHฅง์ณoดXญำ(ฅHฆwธหLaTeX2eจำปก) + first.zip......ค@จวปกฉ๚ภษ + emxrsx.zip.....รฆdos extenderชบชFฆ่(ฏยฤญำคHฒqด๚) + mfjob12c.zip...ฑN.mf(ญ^คๅฆrซฌชบsourceภษ)ยเดซฆจ.pkฉาปญnชบธ๊ฎฦ + dvid16f1.zip...ฆUฆกชบdvi driver-partI + dvid16f2.zip...ฆUฆกชบdvi driver-partII + tex4b.zip......texชบฅDฐ๕ฆๆภษ + mf4b.zip.......ณo...งฺค]คฃชพนD, sorry + fontcm.zip.....cmจtฆCชบฆrซฌภษ.mf + fontltx.zip....latexฉาปชบฆrซฌภษ.mf + l2input.zip....latexฉาปชบtexinputภษ + l2tools.zip....รBฅ~ชบtexinputภษ + +ธษฅRค@ยI:pkunzipณoญำธัภฃต{ฆกจSฆณชบคHภณธำคฃฆhงa,ฆpชGจSฆณชบธฅhง์ญำunzipฆ^จำ! +-rw-rw-r-- 1 mattes server 236301 Jun 26 1995 unz512.exe +-rw-rw-r-- 1 mattes server 236134 Jun 26 1995 unz512x3.exe +ฆADOS ดฃฅฒลธนคU(ณoฌOquick.eng ฉาญz,ญำคHงฺจSธีนL) + unz512x3 unzip386.exe + ren unzip386.exe unzip.exe + +มูฆณฌงAฅฮจบฅxprinter +ดNง์จบค@ญำฆrซฌภษ(คฃง์ค]ฅiฅH,ญำคHงฺดNฌOฆคvซุณyฐ_จำชบ) + bj_base.fli Base fonts for the Canon BubbleJet (360 DPI) + dj_base.fli Base fonts for the HP DeskJet (300 DPI) + fax_base.fli Base fonts for Fax (204x196 DPI) + fx_base.fli Base fonts for 9-pin printers (240x216 DPI) + ito_base.fli Base fonts for the C.ITOH 8510A (160x144 DPI) + ljh_base.fli Base fonts for the HP LaserJet 4 (600 DPI) + lj_base.fli Base fonts for the HP LaserJet (300 DPI) + p6h_base.fli Base fonts for 24-pin printers (360 DPI) + p6l_base.fli Base fonts for 24-pin printers (180 DPI) + p6m_base.fli Base fonts for 24-pin printers (360x180 DPI) + qj_base.fli Base fonts for the HP QuietJet (192 DPI) + sty_base.fli Base fonts for the EPSON Stylus 800 (360 DPI) + +ฆAถiจ์./dvips(ฉฮ../dviware/dvips/dvips558.pc) คUง์ +-rw-rw-r-- 1 ftpmaint server 27831 Nov 6 1995 dvips.doc +-rw-rw-r-- 1 ftpmaint server 182491 Nov 6 1995 dvipsfnt.zip +-rw-rw-r-- 1 ftpmaint server 421777 Nov 6 1995 dvipsini.zip +-rw-rw-r-- 1 ftpmaint server 173767 Nov 6 1995 dvipssrc.zip +..sourceภษ,ภณธำคฃฅฮง์ +----------- +ช์จBณ]ฉw +----------- +ฅHญำคHงฺฆwธหฆbD:บะฌฐจา,ฆำฉาฆณชบ.zipภษย\ฆbd:\emtex.zip\คU + d: + cd d:\ + pkunzip -d +d:\emtex.zip\*.zip......ฆpฆนท|จฬภฃมYซeญ์ญqฅุฟฆ์ธmธัภฃย\ฆn + +จรทำquick.engคคซุฤณฑNd:\emtex\binปPd:\emx\binฅ[คJpathคค +จรฉ๓ c:\autoexec.bat คค ฅ[คJ: + set emtexdir=d:\emtex + set dvidrvfonts=d:\texfonts + set mfjobopt=/3 + set tmp=c:\temp + +ฆbc:\config.sysคค files=xxจไคคxxปคjฉ๓20 +มูฆณฑNconfig.sysคค`BREAK=ON'จบฆๆงRฑผ +ตMซแญซถ}พ๗จฯ autoexec.bat ณ]ฉwทsชบpath + +ธษฅRค@ยI:ญำคHงฺจรซDฆpคWฉาญz,ฆำฌOฑNemtex\bin\set_tex.bat ฅ[ฅHยXฅR, + ฑNคWญฑชบpath,emtexdir,dvidrvfont,mfjobopt,tmp,...ณoจวภ๔นาลผฦ + ฅณฃฅ[ฆbset_tex.batคF,คฯฅฟตyซแมูฆณฅtฅ~ค@จวภ๔นาลผฦญnณ]. +------------------------- +ซุณypkฆrซฌ +------------------------- +ฅHคUฑqinstall.engคค ธ`ฟ + ฆpชGงAฉMงฺค@ผหจSฆณง์คWญฑxxx_base.fliชบธ,ฝะงAธ๒งฺณoผหง@ + จ์\emtex\mfjob\modes.mfj คค + ฑN 'def target=[............]'ง๏ฆจงAฉ๑ธm.pkชบtexfontsฅุฟ + จาฆp งฺชบ def target=[d:\texfonts]; + ฐฒณ]คwธgฑNfontcm.zip ปP fontltx.zip ฎiถ}ซแ, + ซhฆbdos ดฃฅฒลธนคUฐ๕ฆๆ + mfjob base m=MODE + fli_base PREFIX RES c:\texfonts +where MODE, PREFIX, and RES depend on the font set: + +MODE | PREFIX | RES | Font library | Description +-----+--------+-----+--------------+------------------------- +bj | bj | 360 | bj_base.fli | Canon BubbleJet (360 DPI) +dj | dj | 300 | dj_base.fli | HP DeskJet (300 DPI) +FAX | fax | 204 | fax_base.fli | Fax (204x196 DPI) +fx | fx | 240 | fx_base.fli | 9-pin printers (240x216 DPI) +ito | ito | 160 | ito_base.fli | C.ITOH 8510A (160x144 DPI) +lj | lj | 300 | lj_base.fli | HP LaserJet (300 DPI) +ljh | ljh | 600 | ljh_base.fli | HP LaserJet 4 (600 DPI) +lqh | p6h | 360 | p6h_base.fli | 24-pin printers (360 DPI) +lql | p6l | 180 | p6l_base.fli | 24-pin printers (180 DPI) +lqm | p6m | 360 | p6m_base.fli | 24-pin printers (360x180 DPI) +qj | qj | 192 | qj_base.fli | HP QuietJet (192 DPI) +sty | sty | 360 | sty_base.fli | EPSON Stylus 800 (360 DPI) + +To let MFjob call mf386, use the /3 option. It is recommended to set +this option in the MFJOBOPT environment variable: + + set mfjobopt=/3 + + จาฆpงฺฅฮชบ epson stylus 200 ซh + mfjob base m=sty + fli_base sty 360 d:\texfonts.........(คUญฑชบณoฆๆงฺจSฆณง@นL:() + +ตMซแ ฆp ธ`ฟฆ quick.eng ชบ ค๙ฌq,step by step +--------------------------------------------------------------------- +6. Creating format files +--------------------------------------------------------------------- + +Type the following commands to create format files: + + cd \emtex\btexfmts + makefmt 386 plain US <--- if you need PLAIN TeX + makefmt 386 latex2e US 8bit -b \emtex\bin\latex2e <---ฒฃฅอค@ญำ +latex2e.bat + +--------------------------------------------------------------------- +7. Creating base files +--------------------------------------------------------------------- + +Type the following commands to create the PLAIN base file: + + cd \emtex\bmfbases + makebas 386 plain + +--------------------------------------------------------------------- +8. Testing the installation +--------------------------------------------------------------------- + +Type the following commands to typeset a sample document: + + md \test + cd \test + latex2e sample2e <----ด๚ธีemtex\bin\latex2e.batฅiคฃฅiฅHฐส?? + +8.1. Viewing the sample output under DOS +---------------------------------------- + +Type + + v @XX sample2e +---->ฅHงฺชบepson stylus 200 ฌฐจา,ซhฌOมไคJ "v @sty sample2e" +.....ตMซแค@ฐ}ฎDญ๙ผMฐีชบฐTฎง,คjญPคWฌOปกฅฆฏสคFจวฆrซฌ,ญnคฃญnฒ{กyง@กz? + +The following message will be displayed: + + Warning 1209: do you want to call MFjob to generate 1 missing +font now? + Type Y, N, or ?: + +Reply `y'. If you have not installed fonts, computing the fonts for +the sample will take a while. + +When the page shows up (white background), you can scale the output +by +typing `-'. To quit, type `q'. + +ฆ^ตช'y'คงซแภณธำฅiฅHฌจ์คF something output on screen +ฅiฅHzoom in/zoom out ฅฮ '+' / '-' +---------------------------------------------------- +ร๖ฉ๓CJK 410ง์ภษ-----ฅฮฅHณ]ฉwttf2pkชบณกฅ๗,คฃงtntu2cjk +---------------------------------------------------- +ฅarchie งไ CJK-4.1.0.bin.tar.gz + จรง์ฆ^จำ CJK-4.1.0.rest.tar.gz + CJK-4.1.0.src.tar.gz--------? +ธษฅRค@ยI:งฺฌOฑqคUญฑณoญำฆaค่,ฑNพใญำพ๐ชฌคlฅุฟftpฆ^จำชบ,ฅฮmodemญC,ฆnฒึ:( + dongpo.math.ncu.edu.tw:/tex-archive/language/chinese/CJK/4_1.0 + ม๖ตMฌจ์CJK/4_1.0/readmeคคฉาผgตฆณCJK-4.1.0.src.tar.gzณoญำภษฎื + ฆฌOซoarchieคฃจ์:( +ธษฅRคGยI:จฯฅฮฆbmsdosคUจฯฅฮcjkปญn4dos/ndos,ฆpชGจSฆณฝะฆฆๆณ]ชk. + จไคค4dos/ndos ฌOฉRฅOธัฤถพน,จ๚ฅNmsdosชบcommand.comฅฮชบ +------------------------ +ธัถ} +------------------------ + ธัถ}ชบต{งวคjญPคWฌO: + gzip386 -d xxx.tgz (ฉฮxxx.gz) ฑoจ์ xxx.tar(ฉฮxxx.) + tar -xvf xxx.tar (ฉฮ xxx.) + (ps:gzip386 ธัภฃฎษ,ท|ฑNญ์ฅชบภษฎืป\จ์(rename?); + ....ปParj,pkunzipคฃคำค@ผห;ฆpชGฉศพง@ฟ๙ป~,ฅcopyค@ฅ๗ฐ_จำ) + ตMซแฑNคTญำcjk-4.1.0.bin.tar.gz ฎiถ} + ลฆจค@ญำพ๐ชฌคlฅุฟcjk/4_1.0/.................? +ธษฅRค@ยI: + ณoจวภษฎืฌO.tar.gz,ธัถ}ฅฆญฬปญndos ชฉชบgzipปPtar + งฺฌOฆbฅๆคjฅXชบถณฦ[CDค๙คWงหจ์ชบ,คฃญnฐงฺบ๔ธ๔คWจบธฬฆณ,sorry! +--------------------------------- +ญซทsภษฎืคภฐtฆ์ธm +-------------------------------- +ฅHคUฌOงฺชบฐtธm,ฅuฌOฅiฅHฐ๕ฆๆ,จรซDณฬจฮณ]ฉw +bin/คU ฉาฆณชบexe,bat,btmทhจ์emtex/bin/ +จาฆp +BG5CONV.EXE +BG5LATEX.BAT +F_NAME.BAT +INSTFONT.BTM +MAKETEXP.BTM +MAKETTFP.BTM +TTF2PK.EXE +util/f_name.bat ค]ทhจ์emtex/bin +texinput พใญำคlฅุฟ ทhจ์emtex/texinput/คU จรง๏ฆWฌฐemtex/texinput/cjk +texinputs/bg5 พใญำคlฅุฟ ทhจ์emtex/texinput/bg5 +---------------- +ญืง๏ค@จวภษฎืณ]ฉw +---------------- +--------------------------------------- +emtex/texinput/bg5/ttf2pk/ttf2pk.cfgคค: + ntukai: -e Big5 $TEXMF/fonts/truetype/chinese/ntu_kai.ttf + ------ -------- ----------------------------------------- + ^ ^ ^ + | | |__งAฅฮชบ.ttfภษฆW(งtฅณกธ๔ฎ|) + | | คฃญnบ$texmf,ชฝฑตc:\cwin31\system\....ttf + | |__ฝsฝXซฌบA? + |__ฆrงฮฆWบู,ณฬฆnคฃญnถWนLคปญำฆr + +ฅ[คJผฦฆๆร๖ฉ๓งAชบฆrงฮภษชบฑิญz,ฅHฅฏuฆrฎwฌฐจา: +avkv: -e Big5 c:/cwin\cttf/avkv.ttf +avbkv: -e Big5 c:/cwin/cttf/avbkv.ttf +avmv: -e Big5 c:/cwin/cttf/avmmv.ttf +avbmv: -e Big5 c:/cwin/cttf/avbmv.ttf +------------------------------------------- + +emtex/texinput/bg5/c00kai.fd: + \DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * avkv}{} + ^^^^ + \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * avbkv}{\CJKbold} +ฉฮฌO งAปญnฉ๚ล้คฮฒสฉ๚ล้ดN: ^^^^^ +emtex/texinput/bg5/c00ming.fd + \DeclareFontShape{C00}{ming}{m}{n}{<-> CJK * avmv}{} + ^^^^ + \DeclareFontShape{C00}{ming}{bx}{n}{<-> CJKb * avbmv}{\CJKbold} + ^^^^^ +ฝbธน^^^^ณBฑNปPttf2pk.cfgฉาฅ[คJชบจบดXฆๆฌน๏ภณ,ฅHซKงไจ์น๊ปฺชบTrueTypeFont +-------------------------------------------- + +emtex/data/dvipsชบคlฅุฟคUฅ[คJงAฉาปชบ.cfg + + ฅHงฺชบepson stylus 200ฌฐจาซKฌOค@ญำsty.cfg + ฉ๓ฌOจฬพฺdj.cfg จรฐัฆา../sty.cnf ปP ../dj.cnf + ฆคvูTฅXค@ญำsty.cfg,(ภณธำคฃบโร๘ค~น๏) + จไคค ฆณค@ฆๆญ์ฅฆbdj.cfgคคฌO + P $(DVIDRVFONTS)\pixel.dj\%ddpi\%f.%p; + ง๏ฆจ + P +$(DVIDRVFONTS)\pixel.sty\%ddpi\%f.%p;$(DVIDRVFONTS)\pixel.cjk\%ddpi\% +f.%p + + ฅฆชบทNซไคjทงฌOท|ฆbd:\texfont\pixel.sty\???dpi\*.pk + ปPd:\texfont\pixel.cjk\???dpi\*.pk งไฉาปชบpkฆrซฌภษ + + จรฉ๓autoexec.bat ฉฮฌO emtex\bin\set_tex.batคค + ณ]ฉw SET PRINTER=STY จฯ dvips16 คฮ dvips32 ฐัฆาจฯฅฮ + ณ]ฉw SET DVIPS_STDERR จฯdvips ฑN stderr ญซทsพษฆVฟ้ฅX + ณ]ฉw SET MAKETEXPK=MAKETEXP %%N %%D %%B %%M จฯdvipsฏเcall +MakeTexPK? + SET EMXOPT=-P .........ตนemxฅฮชบ, I don't know + SET GS_LIB=.............ณ]ฉwงAชบghostscriptฉาฆb + SET DVIDRVGRAPH=.........ณ]ฉw......I don't know +----------- +BTMภษชบญืง๏ +----------- +.btmฌOซ4dos/ndosฑMฅฮชบงๅฆธภษ. + +ฆbฆนฅัฉ๓ญ์ฅCJK410ชบpackageตนฉwคงbtmภษคฃฆXฉ๓งฺฅุซeจฯฅฮคคคง4dos/ndos, + ฉ๓ฌOชแคFฆnคjชบคOฎ๐"งVคO"ชบถรง๏ค@ณq,ฑzคjทงคโฎ๐คฃท|นณงฺจบป๒มV, +----------------- +Instfont ฆwธหฆrซฌ +----------------- +มไคJ Instfont xxx -e enc res [res2] +จไคคxxx ฆrซฌฆWบูฆpntukai,avkv,avbkv,... + -e enc ฆp -e BIg5 + res ฆp 360 +งฺชบepson stylus 200ซhฌOมไคJ: + instfont avkv -e Big5 360 +ตMซแท|ซุฆn55ญำฆrงฮ +-------- +ด๚ธี +-------- +ฆb"ญ์ฅ"ชบcjk/4_1.0/example/คUฆณญำbig5.tex + ฅiฅHมไคJ + bg5latex big5.tex + ฑNbig5.tex ฝsฤถฆจ big5.dvi,ตMซแมไคJ + dvips16 big5 + ท|ลใฅค@จวฐTฎง,ปกฌOฏสคFค@จวฆrซฌ(.pkภษ?), + ญnฒ{ฆbซุณy,คงซแ"ภณธำ"ดNฅiฅHฑoจ์big5.ps,ฅiฅHฅฮGhostScriptจำฌ + ค]ฅiฅH v @xx big5 ฑqฟรน๕คWฌจ์outputs +ฅtฅ~ฆbcjk/4_1.0/doc/chinese/big5/คUฆณค@ญำreadmeb5.texค]ฅiฅHฅฮจำด๚ธี + ฆฌOญnฅฆwธหl2tools.zip: + ฅpkunzip -d l2tools.zip ฑNท|งโภษฎืธัฆb +emtex\dist....\tool\.........คU + ฆAธ๕จ์emtex\dist..\tool\...คU มไคJ: + latex2e xxxx.ins(ดNฌOจบญำฐ฿ค@ชบ.ins) + งนฆจซแดNงโคตคัฆbณoฅุฟคUทsฒฃฅอชบภษฅทhจ์emtex\texinput\latex2e\ + ฆpชGงAชบซขบwชลถกคฃฐ๗,ฒ{ฆbภณธำดNฅiฅHงโemtex\dist..\tool\...ฅฌๅคF + ฆwธหฆnคFคงซแดNฅiฅH + bg5latex readme.tex + ม๖ตMมูฌOฒฃฅอซฆhฤตงiฐTฎง,ฅiฌOมูฅiฅHฒฃฅอreadmeb5.dvi + คงซแมูฌOฅฮdvips16 ฉฮ dvips32 ฒฃฅอ readmeb5.ps + ปP v @xx readmeb5 ฌฟ้ฅX +--------- +ซแต๙ +--------- +ค@กBงฺฆbฆwธหCJKชบฎษญิ,นJจ์ค@จวณยทะ,ฅiฏเฌO4dos/ndosชบชฉฅปฆณฉาฎtฒง, + ฆณจวฅ\ฏเคฮจ็ผฦจรฅผดฃจั,ฉาฅHน๏ญ์ฅตนฉwคงbtmภษฆณฆhณBญืง๏,คฃคฮณฦธ? + ฆpฑzคฃฉฏค]พDนJรฆณยทะ,จบดN......!-R +คGกBงฺชบdvips16 ฆbณBฒzreadmeb5.dviฎษฅXฒ{ฐOพะล้คฃจฌชบฐTธน, + ฆำdvips32คSตLชkฆฐสฉIฅsMakeTexPk จำฒฃฅอfonts.btm, + ฉาฅHฅuฆnฆคvฐสคโผgคFค@ญำfontss.btm จำคภชR%dvips_stderr%ชบฟ้ฅXภษ, + ฆAฉIฅsMakeTexPK จำฒฃฅอfonts.btm,ฆhฆนค@ม|:( +คTกBณoคๅฅ๓จรซDค@รไฆwธหค@รไผถผg,ฆำฌOจฦซแฆAฆๆพใฒz,ฅiฏเฆณจวถตฅุฆณฉาฒจบ|, + ซฆณฅiฏเตLชkทำต STEP by STEP +ชบถiฆๆ,ฆำฅBงฺฒฤค@ฆธผgณoบุช๘ฝgชบpost(?) + ฆpฆณคฃทํคงณBฝะซฅฟ!-R, + Thank you! + diff --git a/Master/texmf-dist/doc/latex/cjk/doc/chinese/teTeXb5.txt b/Master/texmf-dist/doc/latex/cjk/doc/chinese/teTeXb5.txt new file mode 100644 index 00000000000..ee28bc35646 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/chinese/teTeXb5.txt @@ -0,0 +1,327 @@ + +ฅปคๅดฃจัค@ญำยฒณๆชบฝdจากAปกฉ๚ฆpฆ๓ฑN CJK-4_2.0 ฆwธหฆb tetex-0.9, kpathsea-3.2 +ชบภ๔นาคUกCฅัฉ๓ฆ 4_2.0 ชฉฅHซแกA CJK ฑNคฃฆAฅ]งt ttf2pk ตฅคuจใต{ฆกกAฆำ ttf2pk +ค]คwฒพจ์ FreeType package คงคคกCฆ]ฆนญYทQญnจฯฅฮ TTF ฆrซฌจำยเดซฆจ CJK ชบฆrซฌ +ชบธกAมูญnฅtฅ~ง์ FreeType package ฆ^จำฆwธหกCฅปคๅธีนฯฑNพใญำจBฦJฐตค@ญำพใฒzกA +ฅHค่ซKคjฎaฐัฆากC + +(PS. ทPมย CJK ชบง@ชฬ Werner LEMBERG <wl@gnu.org> น๏ฅปคๅฉาฐตชบ comment :-)) + + +A. ฉาปชบ package: +=================== + +1. CJK-4_2.0: + ftp://ftp1.sinica.edu.tw/pub2/tex/languages/chinese/CJK + +2. FreeType: + ftp://ftp.freetype.org/pub/freetype/devel/freetype-current.tar.gz + ftp://apollo.ce.ntu.edu.tw/pub/freetype + + +B. ฆwธหธ๔ฎ|: +============= + +ฅัฉ๓งฺชบ tetex-0.9 ฌOภHต Debian Linux 2.0 distribution ฆำจำชบกAจไฉาฆb +ชบฅDธ๔ฎ|ฌO /usr, ฆำฒ{ฆbญnฅ[ธห CJK ชบคไดฉกAงฺฅดบโฑN CJK ปP ttf2pk ชบณกคภ +พจฅiฏเฆaฆwธหฆb /usr/local คงคUกAฅHซKปP Debian ฉาชชบ distribution ฆณฉา +ฐฯฎๆกCฆ]ฆนกAงฺซKงโฉาปชบฆwธหธ๔ฎ|ฆwฑฦฆpคU: + + ฐ๕ฆๆภษ: BINLOCAL=/usr/local/bin + CJK ปP ttf2pk ชบฌร๖ณ]ฉwภษ: TEXMFLOCAL=/usr/local/lib/texmf + +ฆPฎษงฺญฬมูปญnฐtฆX (ญืง๏) TEXMFCNF=/etc/texmf/texmf.cnf คคชบฌร๖ณ]ฉwจำ +ฆwธหภษฎื, จฯฑo latex ปP ttf2pk ฆbนBง@นLต{คคฏเงไจ์ฉาฆณฉาปชบภษฎืกC + +PS. 1. $TEXMFCNF ฌO tetex ชบฆUบุธ๔ฎ|ณ]ฉwภษกAภษฆWฌฐ texmf.cnf, ฆฅฆชบฆ์ + ธmฅiฏเจฬคฃฆPชบ distribution ฆำฆณคฃฆP: ฅiฏเฆb /etc/ คUกAค]ฅiฏเฆb + /etc/texmf/ คUกC + + 2. $TEXMFLOCAL ชบญศฌOจฬ $TEXMFCNF ชบณ]ฉwฆำฉwกAฝะฆฆๆฐัฆาฑzจtฒฮคคชบ + ณ]ฉwกC + + 3. ฆbงฺชบจtฒฮคคกA $TEXMFCNF คคฆณค@ฆๆฌOณoผหชบ: + + TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN} + + จไทNธqฌOกAคZฌOจฯฅฮ $TEXMF ฐตฌฐธ๔ฎ|ถ}ภYชฬกAซhจtฒฮฆbทjดMฎษท|ฆฐสดM + งไ $HOMETEXMF, $TEXMFLOCAL, $TEXMFMAIN ตฅฅุฟฉณคUชบธ๔ฎ|กCจไคค: + + HOMETEXMF = $HOME/texmf % จฯฅฮชฬฆคvชบ tex ฅุฟฆ์ธm + TEXMFMAIN = /usr/lib/texmf % tetex ฅDฅุฟ + + 4. latex/xdvi/dvips/ttf2pk ตฅต{ฆกฆbนBง@ชบนLต{คคกAฉาฒฃฅอชบ tfm ปP pk ฆr + ซฌภษกAท|ฉ๑จ์ $VARTEXFONTS ฉณคUกCฎฺพฺ $TEXMFCNF ชบนwณ]กAจไญศฌฐ + + VARTEXFONTS = /var/spool/texmf + + 5. ร๖ฉ๓ฌร๖ชบฆrซฌธ๔ฎ|ฆWบูกAฅiฅHฐัฆา CJK-4_2.0..../doc/TDS.txt ชบซุฤณกC + + +C. ฆwธหจBฦJ: +============= + +1. TTF ฆrซฌงฺฅฮ moe_kai.ttf, ฉ๑ฆb $TEXMFLOCAL/fonts/truetype คUกC + (PS. $TEXMFCNF คคชบนwณ]ฌฐ: TTFONTS = .:$TEXMF/fonts/truetype//) + +2. ฑN CJK-4_2.0/.../texinput/ พใญำซจ์ $TEXMFLOCAL/tex/CJKกC + (PS. $TEXMFCNF คคชบนwณ]ฌฐ: + TEXINPUTS.latex2e = .:$TEXMF/tex/{latex,generic,latex209,}// + TEXINPUTS.latex = .:$TEXMF/tex/{latex,generic,latex209,}//) + +3. ญืง๏ /usr/lib/texmf/tex/latex/CJK/Bg5/c00kai.fd, จบฌOฉwธq CJK kai + ฉาฅฮชบฆrซฌกAฆbฆนงฺญฬฑNจฯฅฮ moe_kai ชบฆrซฌกCฝะฑN + +\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka12}{} +\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * b5ka12}{\CJKbold} + + ง๏ฆจ + +\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * moekai}{} +\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * moekai}{\CJKbold} + + ฅัฉ๓ฅุซeชบ FreeType - ttf2pk ฉ|คฃคไดฉฑNคคคๅฆrยเ 90 ซืกAฌGฆbฆนงฺญฬ + คฃฅhญืง๏ c00kair.fd ภษกC + + (PS. ฝะช`ทNกAฆbฆนฉาจฯฅฮชบฆrซฌฆWฝะพจถqคฃญnฆณ "_" ฆrคธกAฅHงKณyฆจฐรD) + +4. ญืง๏ $TEXMFMAIN/fontnames/special.map, ฅ[คJ + +moekai big5 moekai + + จไธqทNฌOกA CJK ฉาปชบ .tfm, .pk ตฅฆrซฌฑNท|ฉ๑ฆb: + + moekai*.tfm ===> $VARTEXFONTS/tfm/big5/moekai/ + moekai*pk ===> $VARTEXFONTS/pk/big5/moekai/ + + ฉณคUกC + +5. Compile ค@คU CJK-4_2.0/utils/Bg5conv/bg5conv.c, จรฑNฅฆฉ๑จ์ $BINLOCAL + คUกCฆPฎษค]ฑN bg5latex ค]ฉ๑นLฅhกC + +6. ฆwธห FreeType lib กCฝะจ์ FreeType ชบฅุฟคUกAฐ๕ฆๆ: + + ./configure --prefix=/usr/local --with-locale-dir=/usr/share/locale + make + make install + +7. ฆwธห ttf2pk กCฝะจ์ freetype/contrib/ttf2pk ฉณคUกAฐ๕ฆๆ: + + ./configure --prefix=/usr/local --with-kpathsea-dir=/usr + make + make install + + ฆbฆนฆ]ฌฐงฺชบจtฒฮคคฆณ kpathsea lib, ฌOฉ๑ฆb /usr ฉณคUกAฆ]ฆนงฺฐตคFณoผหชบ + ชบณ]ฉwกCญYฑzชบจtฒฮคคจSฆณ kpathsea lib, ซhคฃญnณ] --with-kpathsea-dirกC + ซุฤณฑzจฯฅฮ kpathsea lib, ฆ]ฌฐณoผหชบธ ttf2pk package ฅiฅHซงนพใฆaปP + tetex จtฒฮพใฆXฆbค@ฐ_กC + + (PS. ฝะช`ทNกAฎฺพฺ Werner LEMBERG ชบ comment, ณoผหชบฐตชkฅiฏเฆbฌYจว + ฑกชpคUท|ฅขฎฤกCณฬค@ฏ๋ชบฐตชkกAฌOฑN ttf2pk ชบฐ๕ฆๆภษฆwธหฆbปPจไฅL + tetex ชบฐ๕ฆๆภษฌฆPชบฅุฟคUกAฆbคWญzชบจาคlงYฌฐ /usr/bin กCฆPฎษกA + ฆb configure ฎษ --prefix ค]ภณธำณ]ฌฐ /usr ค~น๏กCญYฑzตoฒ{ฅฮคWญz + ชบค่ฆกตLชk work ฎษกAฝะฑzธีตฑN ttf2pk ฆwธหฆbปP tetex ชบฐ๕ฆๆภษ + ฆwธหฆbค@ฐ_กCฐฃฆนคงฅ~กAจฯฅฮ symbolic link ฑN /usr/local/bin/ttf2pk + link จ์ /usr/bin/ttf2pk ฅiฏเค]จSฅฮ) + +8. ฒ{ฆbงฺฑN ttf2pk ชบฌร๖ธ๊ฎฦภษฉ๑จ์ $TEXMFLOCAL/ttf2pk คU: + + mkdir $TEXMFLOCAL/ttf2pk + cp freetype/contrib/ttf2pk/data/* $TEXMFLOCAL/ttf2pk + ln -s $TEXMFLOCAL/ttf2pk $TEXMFLOCAL/ttf2tfm + + ตMซแญืง๏ $TEXMFCNF, ฅ[คJฅHคUจโฆๆ: + + TTF2PKINPUTS = $TEXMF/ttf2pk/ + TTF2TFMINPUTS = $TEXMF/ttf2pk/ + + ฅHฉ๚ฝTซฉw ttf2tfm ฅHคฮ ttf2pk ฉาปชบณ]ฉwปPธ๊ฎฦภษชบฆ์ธm) + +9. ฐตฅXฉาฆณชบ tfm ฆrซฌ (ฅปซฅOชบธิฒำทNธqฝะจฃ man ttf2tfm): + + ttf2tfm moe_kai -P 3 -E 4 moekai@Big5@ + + ฆbต{ฆกฐ๕ฆๆฒืคFท|ฆLฅXณoค@ฆๆ: + +moekai@Big5@ moe_kai Pid=3 Eid=4 + + ฝะฑNณoค@ฆๆผgจ์ $TEXMFLOCAL/ttf2pk/ttfonts.map ภษคคกCttf2pk งYจฯฅฮฆนธ๊ + ฎฦจำฒฃฅอฉาปชบ pk ฆrซฌภษกC + + ตMซแกAฆAฑNฒฃฅอฅXจำชบ .tfm ฆrซฌฅณกฒพจ์ $VARTEXFONTS/tfm/big5/moekai + ฉณคUกC + +10. ถ]ค@คU texconfig rebuild ls-R data base. ญYฑzชบจtฒฮจSฆณณoญำซฅOกAซh + ถ]ค@คU mktexlsr <path_name>. ฝะช`ทNกAจCฆธฑzญซทsฐตฅX tfm ฆrซฌกAฉฮผWฅ[กB + งRฐฃ tetex ฉณคUชบภษฎืฎษกAฑzณฃฅฒถทฐตณoค@จBกAฅHง๓ทs ls-R data base ชบคบ + ฎeกCจฯฅฮ texconfig ฎษท|ฅXฒ{ค@ญำฟ๏ณๆกAฑzฅiฅHฟ๏จ๚ "rebuild ls-R database" + งYฅiกCญYฑzจฯฅฮ mktexlsr, ซhญnซฉ๚ธ๔ฎ|กAฆp + + mktexlsr /var/spool/texmf + mktexlsr /usr/local/lib/texmf + +11. Patch tetex-0.9 ชบ mktexpk scriptกCจไ diff ภษฌOฆb + freetype/contrib/ttf2pk/scripts/web2c-7.2/ ฉณคUกCฆpฆน latex จtฒฮ + ฆbปญnฎษกAดNท|ฉIฅs ttf2pk จำฒฃฅอฉาปชบ pk ฆrซฌกC + + (PS. ญYฑzฉาฅฮชบฌOณฬทsชบ teTeX 0.9-beta ชบธกAจไ mktexpk คwฅ]งtคFฅHคW + ชบ patch, ฉาฅHฑzคฃฅฒฐตณoค@จBกCณฬทsชบ teTeX 0.9-beta ฅiฅHฆbณo๙ุ + งไจ์: + + ftp://ftp.rrzn.uni-hannover.de/pub/local/misc/teTeX-beta/) + +12. งนฆจ! ฑzฅiฅHธีธีฝsฤถ CJK_4_2.0/doc/chinese/READMEb5.tex, ฌฆณจS + ฆณจไฅLฐรDกC + + + +C. LaTeX/CJK ชบคuง@ญ์ฒz (for tetex-0.9, CJK-4_2.0): +==================================================== + +ฅHคUฌฐดNงฺฉาชพชบ LaTeX ฝsฤถคๅณนชบจBฦJปPฅุซe CJK ชบคuง@ญ์ฒzตyทLปกฉ๚ค@คUกA +ฅHภฐงUลชคFธัฅHคWณ]ฉwชบทNธqกC + +ญบฅกAทํ TeX/LaTeX ฆbลชคJค@ญำ .tex ภษกAจรธีนฯฆaฐตฅXค@ญำ .dvi ภษฎษกAฅฆฅฒถท +ญnฅฮจ์ .tfm ชบฆrซฌกC .tfm ชบฆrซฌภษฅuฐOฟคFธำบุฆrซฌณฬฐ๒ฅปชบธ๊ฐTกAฅฆฌฦฆปP +ฆrซฌชบน๊ปฺคjคpตLร๖กAฅฆฏยบ้ฅuฅฮจำฐตฑฦชฉฅฮชบกCTeX/LaTeX นwณ]ชฌชpคUณฃท|จ์ +$TEXMFDIR/fonts/tfm/ ฉณคUงไ .tfm ฆrซฌ (ฆUฆ์ฅiฅHฌฌ /etc/texmf/texmf.cnf +ชบณ]ฉw) กAฆ]ฆนกAฐฒณ]ฆb tfm/ คUมูฆณซฆhฅุฟกAฆp + + ..../tfm/big5/moekai/ + ..../tfm/big5/moesung/ + ..../tfm/ams/ + ........... + +ตฅตฅกAซhณoจวคlฅุฟฉณคUฉาฆณชบ .tfm ฆrซฌภษณฃท|ณQทjดMจ์กCฆำ $TEXMFDIR ซhฅNชํ +คFงAจtฒฮคค TeX ชบฅDฅุฟกCธUค@งไคฃจ์ฆrซฌกAฅฆท|ฉIฅs mktextfm จำฒฃฅอฆrซฌกAฉา +ฒฃฅอฅXจำชบฆrซฌดNฅแจ์ $TEXMFDIR/fonts/tfm/.... คUกC + +mktextfm ฌOค@ญำ shell script กAฅฆฆbคuง@ฎษญบฅท|ฅคภชRฉาปฒฃฅอชบฆrซฌบุรปP +ภณฆbชบธ๔ฎ|ฆWกAจรฆAฆธภหฌdธำฆrซฌฌOง_ฆsฆbกAฆpชGฏuคฃฆsฆbกAซhฅฆท|ฉIฅsฆrซฌฒฃฅอ +ต{ฆก mf จำงโฆrซฌฐตฅXจำกC + +ตMฆำกAคฃบฌOฐตคฐป๒ผหชบฆrซฌกAณฃค@ฉwญnฆณค@ญำจัฐัฆาชบฆrซฌกuผหชOกvค~ฆๆกAฆb TeX +จtฒฮคคกAนwณ]ชบฆrซฌผหชฉฌฐ MetaFont, ณoฌOจtฒฮณฬฐ๒ฅปชบฆrซฌผหชฉกCทํตMกAงฺญฬฅi +ฅHฅ[คJจไฅLชบฆrซฌฐตฌฐผหชฉกAฆำณoจวฅ[คJชบฆrซฌดNฐOฟฆbค@ญำฅs special.map ชบภษ +คคกAฆนภษฆณคTญำฤๆฆ์ฆpคU: + +% Font source typeface +% +A public hieroglyph +Aa public hieroglyph +B public hieroglyph +C public hieroglyph +D public hieroglyph +DeadSea public hebrew + +จไคคฒฤค@ฤๆฌOฆrซฌฆWบูกAฒฤคGฤๆฉMฒฤคTฤๆฌOฆrซฌรงOกCTeX/LaTeX งYฎฺพฺ special.map +ชบคบฎeกAฆb $TEXMF/fonts/tfm คUดMงไฉาปชบ .tfm ฆrซฌกCนwณ]ฑกชpคUกAฅฆดNฅH +ฆrซฌรงOฆWบูฐตฌฐธำฆrซฌชบฆsฆbธ๔ฎ|กAจาฆpทํปญn DeadSea*.tfm ฎษกAจไฆsฆbชบธ๔ฆๆงY +ฌฐ $TEXMF/fonts/tfm/public/hebrew/ กCญYธ๔ฎ|คฃฆsฆbฉฮฆrซฌคฃฆsฆbกAซhต๘ปญn +ฒฃฅอธำธ๔ฎ|กAจรฉIฅs mktextfm จำฒฃฅอฆrซฌภษกA mktextfm ซhท|ถiค@จBฉIฅs mf ต{ฆกจำ +คuง@กC + +ทํ .dvi ภษฅXจำซแกAงฺญฬฅiฅHฅฮ xdvi จำฐตนwต๘กAณoฎษญิดNปญn .pk ชบฆrซฌกAฆนฌฐ +ยIฐ}ฆrซฌกAดNปPน๊ปฺฉาปชบฆrซฌคjคpฆณร๖กCฆPผหชบกA xdvi ท|ฅจ์ +$TEXMF/fonts/pk/..../ ฌฌธำฆrซฌฌOง_คwฆsฆbกAงไคฃจ์ฅฆดNท|ฅhฉIฅs +mktexpk จำฐตฅXฆrซฌกCmktexpk ชบคuง@พ๗จ๎ปP mktextfm งนฅค@ผหกAฉาฅHดNคฃฆAญซยะกC +ทํตMกAงฺญฬค]ฅiฅHฅฮ dvips จำฒฃฅอ PostScript ชบคๅฅ๓ภษกAฆbณo๙ุฆPผหญnจฯฅฮ .pk +ชบฆrซฌกAค]ฌOฅฮ mktexpk จำฐตกC + +ดNฅHคWชบปกฉ๚กAงฺญฬฅiฅHชพนDกAญYญnฅฮ CJK จำฒฃฅอคคคๅคๅฅ๓กAซhปญnจใณฦฅHคUฑ๘ฅ๓: + +1. ฅฮจำฉwธqคคคๅคๅฅ๓ฎๆฆกชบ texinput style ภษกC + +2. คคคๅฆrซฌ .tfm ฅHคฮ .pk กC + +จไคคฒฤค@ญำฑ๘ฅ๓ซฎeฉ๖กAค]ดNฌOงฺฆbคWค@ธ`ชบกuฆwธหจBฦJกvคคชบฒฤคGจBฉาดฃจ์ชบกCฐฃ +ฆนคงฅ~กAงฺญฬมูปญnค@ญำ bg5conv ชบต{ฆกกAฅฆญtณdลชคJคคคๅ .tex ญ์ฉlภษกAธgฝsฝX +ซแยเฆจ .cjk ฝsฟ้ฅXกAตMซแค~ฅๆตน latex ถiฆๆฒฃฅอ .dvi ภษชบฐสง@กC + +ค๑ธ๛ณยทะชบฌOฆrซฌชบณกคภกCดN .tfm ฆrซฌฆำจฅกAฆbนLฅhฆwธห CJK ฎษกAงฺญฬฅiฏเคฃท| +นwฅฑNฉาฆณปญnชบ .tfm นwฅฐตฅXจำกAฆำฌOฑฤฅฮฝuคWฒฃฅอชบค่ฆกกAณoฎษงฺญฬปญnญื +ง๏ mktextfm, ฅHซKฆbปญnฎษฉIฅs ttf2pk คงรชบต{ฆกฆ TTF ฆrซฌฐตฅX .tfm ฆrซฌกC +ฆฒ{ฆbงฺญฬจฯฅฮทsชฉชบ ttf2pk package, จไ ttf2tfm ต{ฆกฅiฅHซฎeฉ๖ฆaฑNฉาฆณชบ +.tfm ฆrซฌฒฃฅอฅXจำกAจรนwฅฆwธหจ์ฅฟฝTชบฅุฟคคกAฆpฆนงฺญฬดNคฃปญnฅhญืง๏ mktextfm +คFกCฆำณoดNฌOคWค@ธ`กuฆwธหจBฦJกvคคชบฒฤ 9 จBฉาฐตชบคuง@กAจไฉRฅOชบทNธqฌฐ: + + ttf2tfm <TTF filename> -P <platform ID> -E <encoding ID> <TFM filename> + +จไคค <TTF filename> ภษฆWฎๆฆกฌฐ <name>XX.tfm, <name> ฌOฆrซฌฆWบูกA XX ฌOค@ญำ +ผฦฆrกAฅNชํคFธำฆrซฌ encoding ชบงวธนกAจาฆp: moekai03.tfm กCน๏ฉ๓ค@ฎMงนพใชบ +ฆrซฌกAจไงวธนฅฒถทจฌฅHฅ]งtฉาฆณชบคคคๅฆrกAฅH Big5 ฝXฌฐจากAจไงนพใชบงวธนฌOฑq 01 +จ์ 58, ค]ดNฌOฅฒถทฒฃฅอ 58 ญำฆrซฌภษกCฆbทsชฉชบ ttf2tfm คคกAฑzคฃปญnฉIฅs ttf2tfm +58 ฆธกAช`ทNจ์ฆbฆwธหจBฦJคคกA <TFM filename> ณoค@ญำฐัผฦฌO + + moekai@Big5@ + +จไคค moekai งYฌฐ <name>, ฆำ @Big5@ ฌOซงวธนชบณกคภกAฆbณo๙ุฌOฅฮค@ญำ +Big5.sfd ณoญำภษจำฅNดภ (ต{ฆกท|ฆฐสฅ[คJ .sfd ณoญำชภษฆW) กAช`ทNจ์ฆbกuฆwธห +จBฦJกvคคชบฒฤ 8 จBงฺญฬคwฑNณoญำภษฎืซจ์คFพAทํฆ์ธmกAฆำธำภษดNฐOฟคF Big5 ฝXฆr +ซฌฉาฆณงวธนตฅฌร๖ธ๊ฐTกA ttf2tfm ฅiฅHชฝฑตฐัฆาณoญำภษชบคบฎeฑNฉาฆณชบฆrซฌฅณก +ฐตฅXจำกC + +ฆb ttf2tfm คuง@งนฆจคงซแกAฅฆท|ฆLฅXค@ฆๆฐTฎง (จฃกuฆwธหจBฦJกvฒฤ 9 จB)กAณoค@ +ฆๆฌOตน ttf2pk ฐัฆาฅฮชบกAฅฒถทผgคJ ttf2pk ฑMฤชบณ]ฉwภษ ttfonts.map คคกCณฬ +ซแกAงฺญฬฆAฑNฉาฆณชบ .tfm ฆrซฌฒพฆพAทํฅุฟกAงYงนฆจคF .tfm ฆrซฌชบณกคภกC + +น๏ฉ๓ .pk ฆrซฌกAฅัฉ๓ณo๙ุมูฒoฏAคFคฃฆPชบฆrซฌคjคpฆณคฃฆPชบภษกAงฺญฬตLชkนwฅชพ +นDปญnจบจวคjคpชบฆrซฌกAฆ]ฆนฆbฆนงฺญฬฑฤฅฮคFฝuคWฒฃฅอชบค่ฆกกAปญnฎษค~ฒฃฅอ pk +ฆrซฌกCฉ๓ฌOกAงฺญฬฅฒถทญืง๏ mktexpkกAฆbปญnคคคๅฆrซฌฎษฉIฅs ttf2pk ฆ TTF ฆr +ซฌฑNฉาปชบฆrซฌฐตฅXจำ (จฃกuฆwธหจBฦJกvฒฤ 11 จB)กC + +pk ฆrซฌภษฆWชบฎๆฆกฆpคU: + + <name>XX.<SSSS>pk + +จไคค <name> ฌOฆrซฌฆWกA XX ฌO encoding งวธนกA <SSSS> งYฌฐธำฆrซฌชบคjคp (dpi)กC + +มูฆณค@ยIกAฅัฉ๓ทsชฉชบ ttf2pk คwฏเจฯฅฮ kpathsea lib จำทjดMฅฆฉาปชบภษฎืกAฅ] +ฌAฆrซฌภษฅHคฮณ]ฉwภษกAฆำณ]ฉwภษชบณกคภงฺญฬดNฅฒถทฑNฅฆชบฆ์ธmผgฆb +/etc/texmf/texmf.cnf คคกAจรฅBญnถ] mktexlsr ฉฮ texconfig ซแ (จฃกuฆwธหจBฦJกv +ชบฒฤ 8 จBปPฒฤ 10 จB)กAฆpฆน kpathsea lib ค~ฏเงไจ์ณ]ฉwภษชบฆ์ธmกC + + +บ๎คWฉาญzกAฅHคUงฺดyญzค@คUพใญำ LaTeX/CJK ชบ compile นLต{กAฐตฌฐม`ตฒกC + + +1. ฐ๕ฆๆ bg5latex, ณoฌOค@ญำ script, ฅฆฉIฅs bg5conv ลชคJ .tex ญ์ฉlภษกAจรยเ + ฆจฝsฝXซแชบ .cjk ภษกC + +2. bg5latex ฑตตฉIฅs latex, ลชคJ .cjk ภษกAฆbงPฉwฅฆปญn CJK package ฎษกA + ฆp: + + \usepackage{CJK} + \begin{CJK*}{Bg5}{kai} + + ซKลชคJค@จtฆCชบ CJK texinput style ภษกAจรธ๒พฺ Bg5, kai, ลชจ๚ + .../Bg5/c00kai.fd ณoญำฆrซฌฉwธqภษกC + +3. ฎฺพฺ c00kai.fd ภษชบฉwธqกA latex ชพนDคคคๅชบณกคภปญn moe_kai ฆrซฌกCฉ๓ฌOกA + ฆbฒฃฅอ .dvi ภษชบนLต{คคกAฅฆฎฺพฺ special.map ภษชบคบฎeกAฆbพAทํชบธ๔ฎ|คคดMงไ + ฉาปชบ .tfm ภษกAญYงไคฃจ์ซhฉIฅs mktextfm จำฒฃฅอฅฆกCฅัฉ๓จฦฅงฺญฬคwฆwธหฆn + ฉาฆณชบ .tfm ฆrซฌกAฆ]ฆนณoค@จBคฃปญnฉIฅs mktextfm งYฅiงนฆจกC + +4. .dvi ภษฅXจำซแกAฐฒณ]งฺญฬญnฅฮ dvips จำฒฃฅอ .ps ภษกAซh dvips ฆbตoฒ{ปญn + moekai ฆrซฌฎษกAท|ธ๒พฺ special.map ชบคบฎeกAจ์พAทํชบธ๔ฎ|ฅhดMงไ moekai*pk + ภษกC + +5. ญYงไคฃจ์กAซhฅฆท|ฉIฅs mktexpk จำฒฃฅอฆrซฌภษกCญืง๏นLชบ mktexpk ฆbตoฒ{ฉาป + ฒฃฅอชบฆrซฌฌO moekai ฎษกAซKท|ฉIฅs ttf2pk จำคuง@กC + +6. ttf2pk ญบฅณzนL kpathsea lib, ยวฅั /etc/texmf/texmf.cnf คคชบณ]ฉwงไจ์จไ + ณ]ฉwภษ ttfonts.map ชบฆ์ธmกAลชคJณ]ฉwภษซแกAฎฺพฺ moekai จบค@ฆๆกAฅฆชพนDคF: + + a. ฉาปญnชบฆrซฌผหชฉฌฐ $TEXMFLOCAL/fonts/truetype/moe_kai.ttf กC + + b. ธำฆrซฌชบ encoding งวธนธ๊ฎฦฆsฉ๑ฆbปP ttfonts.map ฌฆPฅุฟคUชบ Big5.sfd + ภษคคกC + + c. จไฅLฆp Platform ID ปP Encoding ID ชบธ๊ฐTกC + + ttf2pk งYงQฅฮณoจวธ๊ฐTกAฑNฉาปชบ moekai*pk ภษฐตฅXจำกAจรฅๆฅั mktexpk ฑNธำ + ภษฉ๑จ์ฅฟฝTชบธ๔ฎ|คUกAฅHณฦค้ซแญซฝฦงQฅฮกC + +7. งนฆจกC + + diff --git a/Master/texmf-dist/doc/latex/cjk/doc/cjk-enc.txt b/Master/texmf-dist/doc/latex/cjk/doc/cjk-enc.txt new file mode 100644 index 00000000000..72868474c47 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/cjk-enc.txt @@ -0,0 +1,438 @@ +This is the file cjk-enc.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +cjk-enc.el +---------- + +Mule, the multilingual Emacs, is one of the most powerful editors available +for Unix systems like Linux. It is capable to edit and display texts which +are, among other scripts, written in various CJK languages; as an example +you can have traditional and simplified Chinese at the same time. Mule is +distributed under the GNU Public License; it is now integrated into the +source code emacs 20. + +The CJK package enables LaTeX to do the same (with some restrictions, see +below), but the interface is different. Mule uses additional bits internally +to store the encoding of a character, whereas the CJK package needs \CJKenc +macros to select encodings. + +Now enters cjk-enc.el . This small output filter for Mule (written in Lisp) +converts text as entered in Mule into a form TeX can understand. Double-byte +encodings which can be processed by CJK are usually converted into EUC form +preceded by \CJKenc{...} macros, single-byte encodings (Latin-1, etc.) into +equivalent LaTeX 2e macros (e.g., Latin-1 character 0xC4 (umlaut A) into +\"A). Some of these macros are undefined by default in standard LaTeX 2e +because CM or EC fonts have no characters for it. Vietnamese, Cyrillic +scripts, Modern Greek, and Thai are also supported (see below). + +cjk-enc.el comes in two versions. + + . An old version for Mule 2.3 with limited capabilities since it is no + longer supported (but updated if necessary). + + . A new version with enhanced commands which works with emacs versions + >= 20.3 and xemacs versions >= 21.1 (the latter without Thai support). + +Support for emacs versions < 20.3 has been dropped. Please upgrade. In the +following, `Mule' is used for all emacs flavours. + + +Installation +------------ + +To load cjk-enc.el into Mule, put the following line into your .emacs file: + + (load-library "cjk-enc") + +this assumes that cjk-enc.el is in a directory searched by Mule. A good +place for it is the site-lisp subdirectory (e.g., +/usr/local/share/emacs/site-lisp). + +After loading, a new (output) encoding scheme is defined: `*cjk-coding*'. +[This is called `cjk-coding' under emacs 20---Please note further that the + prefix for Mule commands has changed to `C-x RET' for emacs 20 instead of + `C-x C-k'.] + +Note: `*cjk-coding*' (`cjk-coding') can't be used to save documents! It + is intended only to create the *.cjk file which is then directly + processed by LaTeX. + + +Usage (LaTeX 2e part) +--------------------- + +A sample of a multilingual document (muletest.{tex,cjk,dvi,pdf}) can be +found in the examples subdirectory (only the TEX file is in the src package +of CJK, the other files are in the doc package). + +European languages based on the Latin script: + + Simply write your documents! Characters like `u umlaut' or `c hacek' are + converted into LaTeX 2e macros. You don't need to write "u or something + else (nevertheless it's possible). It is recommended to use LaTeX 2e's + T1 font encoding scheme to have a) most of the European diacritics + available and b) correct hyphenation for accented characters. + + The lower half of JIS X 0201 is treated similarly. + + Note that the default CM fonts of LaTeX are OT1 encoded. You should + rather use the EC fonts which are based on T1 (or virtual T1 fonts + mapped onto OT1). + + For correct hyphenation you still have to change languages, thus a + system like Babel should be used additionally. + +CJK languages: + + Don't start a CJK (or CJK*) environment! cjk-enc.el does this + automatically for you at the `\begin{document}' command. It also inserts + \CJKspace and \CJKnospace commands (\CJKspace for Korean, \CJKnospace + for all other CJK scripts; but see the section `Problems' below also). + + In CJK.enc the default font family for all encodings is `song' (except + for Korean Hangul where it is `mj'). Two commands are available to + change the CJK font encoding and family in combination with cjk-enc.el + (see CJK.txt and commands.txt for a detailed description): + + \CJKencfamily[<fontencoding>]{<encoding>}{<family>} + Change family for a certain encoding (and fontencoding). + + \CJKfontenc{<encoding>}{<fontencoding>} + Change fontencoding for a certain encoding. + + The second command is primarily for users who use Japanese DNP fonts + (see the Japanese documentation subdirectory for further details) or + Korean HLaTeX fonts. + + For the upper half of JIS X 0201 encoding, the katakana range of the + SJIS encoding of the CJK package is used. + +Vietnamese: + + Vietnamese uses accented characters not contained in EC or CM fonts. To + assure proper kerning you must explicitly activate T5 font encoding + (this can't be done automatically) to access a Vietnamese font. + + The VnTeX bundle contains Vietnamese fonts and support files; it also + defines T5 encoding. It is available from http://vntex.sf.net. + (Note that the now obsolete vncmr package is no longer supported.) + +Russian and other languages using the cyrillic script: + + Cyrillic LaTeX encodings (T2A, T2B, T2C, and X2) are now supported + within the LaTeX 2e distribution (starting with version 1998/12/01). + Cyrillic fonts and auxiliary files supporting these encodings are + available at CTAN from fonts/cyrillic and macros/latex/contrib/t2); most + TeX distributions already come with Cyrillic fonts installed. + + The current implemention needs a lot of temporary disk space for + Cyrillic scripts (e.g., a 100 kByte document written only with Cyrillic + letters has an intermediate output file of about 800 kByte). On the + other hand, it is still possible to recognize the Cyrillic characters + name macros in the log file in case of error messages---if I used the + shortest possible representation, only numbers would be visible, and the + size of the intermediate output file would still have 500 kByte... + + You must explicitly activate one of the T2* (or X2) encodings for + Cyrillic. Russian needs T2A. + +Greek: + + You must use the LGR encoding and fonts as defined in the Babel package: + ISO-8859-7 characters are mapped back to ASCII characters which are then + displayed as Greek characters, using the ligature mechanism extensively. + +Thai: + + It is implemented only in the emacs 20.3 version of cjk-enc.el. Instead + of using an external program, Ken'ichi Handa has written thai-word.el + which implements the word-breaking algorithm in Lisp, based on the the + C-TTeX package version 1.15 written by Vuthichai Ampornaramveth + <vuthi@ctrl.titech.ac.jp>. `thai.sty' is still very rudimentary---any + improvements are welcome. + + The used encoding is C90 (this is the only case where you have to + specify a `C' encoding directly, either by using the `thaicjk' language + for Babel or by saying `\DeclareFontEncoding{C90}{}{}' in the preamble); + the default fonts specified in c90gar.fd and c90nrsr.fd are taken from + the thailatex package, which can be found at + + http://linux.thai.net/plone/TLWG/thailatex + + You should use version 0.3.5.1 or newer. Note that this package is not + compatible with CJK; neither its metric files nor its LaTeX support + files should be used. Please read the file thaifont.txt for details how + to install the fonts. + + Whitespace between Thai characters are always respected; newlines + together with trailing and leading whitespace are not by default. Use + \Thaispace to make trailing and leading whitespace respected also (the + opposite command is \Thainospace). Note that the space width of the Thai + font (which is usually larger than for a Roman font) is used for + whitespace between Thai words: + + Thai Thai + Thai + + is approximately translated to + + {\thaifont Thai Thai\nospaces + Thai} + + (if \Thainospace is active), whereas + + Thai\ Thai\ + Thai + + is approximately translated to + + {\thaifont Thai}{\romanfont\ }{\thaifont Thai}{\romanfont\ } + {\thaifont Thai} + + To improve appearance, \Thaiglue (which is defined in MULEenc.sty) is + used as intercharacter glue; this value can be modified similarly to + \CJKglue. + + +Usage (Mule part) +----------------- + +Simply load your document into Mule and call cjk-write-file (which is +defined in cjk-enc.el) to create a preprocessed file. For most files this +file's name is formed by replacing the extension with `.cjk'. However, +BibTeX files are given the extension `-cjk.bib' because the BibTeX program +requires `.bib' as the extension. This also avoids conflicts with the CJK +file produced by a LaTeX file by the same name. Because of this you should +use the command \CJKbibliography{foo} in your LaTeX source file (which +finally expands to foo-cjk.bib). A similar macro is \CJKinclude{bar} which +expands to `bar.cjk' instead of bar.tex. Finally, you can say +\CJKinput{foo.bar} to input file `foo.bar'; if the file name has no +extension, `cjk' is appended: \CJKinput{foo} loads `foo.cjk'. + +cjk-write-file is the only user function provided by cjk-enc.el for +Mule 2.3. + +If you want to process a file which includes some other files, use the +function cjk-write-all-files in combination with \CJKinclude, \CJKinput, and +\CJKbibliography. If used interactively, you have to supply a file name +which is then scanned for occurrences of \CJKinclude, \CJKinput, and +\CJKbibliography; all files found plus the master file are converted. + +Example: + + `a.tex' contains: + + \CJKenc{Bg5} + Chinese text + + `b.tex' contains: + + \CJKenc{JIS} + Japanese text + + `c.tex' contains: + + \CJKenc{UTF8} + Some Unicode text + + `master.tex' can now include the files as follows: + + Some Korean text + + \CJKinput{a} + \input{b} + \input{c} + + Calling cjk-write-all-files automatically converts `master.tex' and + `a.tex'. + +The functions batch-cjk-write-file and batch-force-write-file are intended +to be used in Makefiles; please read the function documentation for more +details. + +It is recommended that you assign cjk-write-file or cjk-write-all-files to a +key (e.g., with global-set-key) in your `.emacs' configuration file. + + +Unicode encoding +................ + +Note that the forthcoming Emacs 22 has no native Unicode support. Instead, +Unicode encoded date is mapped onto the internal character sets of Emacs; +this process heavily depends on the selected (Emacs) language environment. +For example, if you select `Chinese-BIG5', Emacs first tries to map Unicode +characters to Big 5. If that fails, it tries the GB 2312 character set, then +KS X 1001, and so on. To get typographically satisfying output you would +need identical font shapes for different CJK encodings, a very unlikely +situation. + +For this reason it is strongly recommended to *not* use data files encoded +in UTF-8 with cjk-enc.el. Instead, UTF-8 should be directly handled by a CJK +environment (i.e., `\begin{CJK}{UTF8}{...}'). + + +Usage with AUC TeX +------------------ + +Append the data between >>> and <<< to your .emacs file to have special CJK +support within AUC TeX: + + +>>> + + (defun TeX-run-CJK-LaTeX (name command file) + "Create a process for NAME using COMMAND to format FILE with CJK/LaTeX." + +; use next code line for Mule instead of the (balanced) expression +; containing `cjk-write-all-files' +; -- no multifile document support! +; (cjk-write-file) + + (cjk-write-all-files (concat (TeX-master-directory) + (file-name-nondirectory file) + ".tex")) + (TeX-run-LaTeX name command file)) + + ;; replace the error source file `*.cjk' with `*.tex' (and `*-cjk.bib' + ;; with `*.bib'), then C-c ` can be used as usual. + + (add-hook 'TeX-translate-location-hook + '(lambda () + (if (string-match "\\(.*\\)\.cjk$" file) + (setq file + (concat + (substring file + (match-beginning 1) + (match-end 1)) + ".tex")) + (if (string-match "\\(.*\\)-cjk\.bib$" file) + (setq file + (concat + (substring file + (match-beginning 1) + (match-end 1)) + ".bib")))))) + + (require 'tex) + (add-to-list 'TeX-command-list + '("CJKLaTeX" "%l '\\nonstopmode\\input{%s.cjk}'" TeX-run-CJK-LaTeX nil t)) + +<<< + + +To process a CJK document with AUC TeX use C-c C-c on your LaTeX source file +and select CJKLaTeX as the formatting command. It also works with multiple +files; only modified files are converted (again). + +Note that only the master file is processed with cjk-enc and scanned for +\CJKinclude and \CJKinput! + +If you mainly write text in Japanese or Chinese, consider the use of +cjkspace.el or cjktilde.el for inserting a tilde character (which has been +redefined to a shibuaki space) if you hit the space key. Please read the +documentation in the two files for differences. cjkspace.el works with +AUC TeX only, cjktilde.el works in every mode. + +In case you use an Emacs input method (quail) for your Asian language +(contrary to an external input method provided by the operating system), you +can add `rules' with the following code added to your .emacs file; the +special space handling is then active only when the corresponding input +method is active too. + + (add-hook 'quail-activate-hook + (function + (lambda () + (if (equal (quail-name) "chinese-py-punct-b5") + (progn + (quail-defrule " " "~") + (quail-defrule " " " ")))))) + +Replace `chinese-py-punct-b5' with your favourite input encoding. In case +you use more than one input method, repeat the above lisp code for each +method. + + +Technical notes +--------------- + +cjk-enc.el loads MULEenc.sty or CJK.sty in the first output line which +contains all needed definitions for LaTeX 2e. + +To assure working in verbatim environments, \CJKenc and the LaTeX 2e macros +are not output directly. The active character 0x7F is used to output +\CJKenc, \CJKspace, Latin characters, etc. + +CNS 1-CNS 7 and JIS2 encoded characters are output as \CJKchar macros. The +reason for this choice is the infrequency of CNS and JIS2 characters in +normal text. Since \CJKchar does not select a new binding this macro is +executed faster for single CNS and JIS2 characters. + + +Problems and Tips +----------------- + +. cjk-enc.el starts a CJK environment only if it finds at least one CJK + character in the master file; this character can appear in a comment also. + Example: + + % some Chinese text in this comment + \CJKinput{a} + \CJKbibliography{b} + +. If you need some CJK processing in the preamble you must start a CJK + environment there manually because cjk-enc.el uses the \AtBeginDocument + hook for its commands. This interferes with the \CJKspace/\CJKnospace + insertion mechanism of cjk-enc.el because the Lisp code always assumes a + single, global CJK environment. A similar problem exists if you start a + new language in a comment. To overcome this, simply insert a \CJKspace or + \CJKnospace command (whatever appropriate) right after the + `\begin{document}' macro to synchronize again with cjk-enc.el . + + Example: + + \documentclass{article} + + \begin{CJK*}{}{} + some Japanese macro stuff + \end{CJK*} + + \begin{document} + \CJKnospace + more Japanese text + ... + +. Another consequence of the \CJKspace/\CJKnospace insertion mechanism of + cjk-enc.el is that in cases like + + Latin_text Chinese_text\ Latin_text + + you can't omit the final `\ ' after the Chinese phrase---only for Korean + words it is not necessary to use a (protected) space. + +. Usually, Emacs can automatically recognize the encoding of a given file + (e.g., using a language environment or setting `file-coding-system-alist'; + please read the chapter `Recognizing Coding Systems' in the emacs info + files for further details). But sometimes this fails (e.g., to find out + whether a text is in latin-1 or in, say, latin-3 is impossible), and you + have to use a file variable to define the encoding. + + Here an example how to specify `Big 5' encoding for a TeX input file (the + following lines are to be inserted at the very end): + + % Local Variables: + % coding: big5 + % End: + + If AUCTeX already has created local variables like `TeX-master', simply + add the line `coding: big5' and you are done. + +. Another useful local variable for AUCTeX is `TeX-command-default': + + % Local Variables: + % TeX-command-default: "CJKLaTeX" + % End: + + selects `CJKLaTeX' as the default command if you type `C-c C-c'. + + +---End of cjk-enc.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/commands.txt b/Master/texmf-dist/doc/latex/cjk/doc/commands.txt new file mode 100644 index 00000000000..b2482555e71 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/commands.txt @@ -0,0 +1,388 @@ +This is the file commands.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +Here is a list of all commands of CJK. + + +\begin{CJK}[<fontencoding>]{<encoding>}{<family>} +... +\end{CJK} + + This starts a CJK environment. + + Possible values for <encoding> are: + `Bg5', `Bg5+', `GB', `GBt', `GBK', `JIS', `SJIS', `KS', `UTF8', + `EUC-TW', `EUC-JP'. + + [`CNS1'-`CNS7', `CEFX', `CEFY' are also possible but make no + sense. These are used with CEF and Mule. The same holds for + `JIS2'.] + + Possible values for <fontencoding> are: + `' (empty, the default), `pmC' (for Bg5, GB, GBt, JIS, KS), + `dnp' (for JIS and SJIS), `wn' (for JIS), `HL' (for KS). + + Possible values for <family> are defined in the FD files which must + be configured for the available fonts. If empty, the default value + (`mj' for KS encoding, `song' for the rest) is used. + + Families can be changed with \CJKencfamily on a per-encoding base + and with \CJKfamily for all encodings. \CJKfamily overrides + \CJKencfamily; to have \CJKencfamily active you must assure that the + `family' parameter of the CJK environment is empty or that + \CJKfamily is defined as empty (inside the environment). + + Font encodings can be changed on a per-encoding base with + \CJKfontenc; \CJKenc always uses the specified font encoding. + + The hook \CJKhook is called on initializing the environment (used + by cjk-enc.el and VTeX, for example). + + Newlines and spaces after a CJK character are retained. If you want + to suppress a newline, finish the line with `%'. + + See also \CJKspace and \CJKnospace. + + +\begin{CJK*}[<fontencoding>]{<encoding>}{<family>} +... +\end{CJK*} + + The same as the CJK environment except that newlines and spaces + after a CJK character are swallowed. If you want a space after a CJK + character you must protect it (e.g., use `\ '). + + See also \CJKspace and \CJKnospace. + + +Text containing CJK characters should start with a fresh line (in the source +file, not in the output) after activating a CJK environment because TeX has +already read in the characters of the current line as non-active characters. + +You can stack CJK environments (i.e., saying \begin{CJK}...\end{CJK} again +inside of a CJK environment) if you have not set the `global' package +option, but it is possible that TeX's `save size' overflows. Use \CJKenc, +\CJKfontenc, \CJKfamily, and \CJKencfamily instead. See CJK.txt for CJK +package options which modify the scope of the CJK environment. + +To have different encodings/families on the same input line you must use +\CJKenc, \CJKfontenc, \CJKfamily, and/or \CJKencfamily. + +If you use cjk-enc.el, you should NOT open a CJK (or CJK*) environment! It +is done automatically. See cjk-enc.txt for details. + + +============================================================================== + + +The following commands are defined (or make sense) only inside of a CJK or +CJK* environment (except \CJKbold, \CJKnormal, \CJKencfamily, \CJKfontenc, +\CJKverbatim, \CJKhangul, \CJKhanja, \CJKhwkatakana, \CJKnohwkatakana, +\CJKaddEncHook, \CJKtolerance, \CJKboldshift). + + +\CJKcaption{<caption>} Load <caption>.cpx, a language/encoding specific + caption file. You need the SCRIPT style files of the + koma-script package to fully use them (see CJK.txt + for details). + + <caption>.cpx is a preprocessed version of + <caption>.cap. + + Example: + + \begin{CJK*}{Bg5}{song} + \CJKcaption{Bg5} + ... + \end{CJK*} + + +\CJKchar[<enc>]{<byte1>}{<byte2>} + Insert a CJK character literally. <byte1> and + <byte2> are the first and second byte of the CJK + character (in the selected encoding), the optional + parameter selects the encoding. You can use decimal, + hexadecimal, or octal notation. <byte1> and <byte2> + can be both in 7bit or 8bit (GL or GR) + representation. + + To select Unicode characters you must specify `UTF8' + encoding (but enter real Unicode values). If the + Unicode value is greater than U+FFFF, put the first + two bytes into the first argument, and the third byte + into the second one. + + + Examples: + + \CJKchar[Bg5]{217}{223} + \CJKchar[CNS1]{"57}{"4C} + \CJKchar[UTF8]{"02D9}{"04F} + + +\CJKenc{<encoding>} Change encoding. Contrary to \begin{CJK}{...}{...} + it is not necessary to start a new line after + \CJKenc. This command always uses the font encoding + selected with \CJKfontenc. + + \CJKenc acts globally if the `global' option is set. + + See fonts.txt for a mapping table between CJK + encoding names and the names of the FD files + finally used. + + Use the macro \CJKaddEncHook to add commands which + should be executed when a certain encoding is + selected. + + +\CJKfamily{<family>} Change family for all encodings. This command + overrides \CJKencfamily; to reactivate \CJKencfamily + say `\CJKfamily{}'. + + \CJKfamily acts globally if the `global' option is + set. + + +\CJKencfamily[<fontencoding>]{<encoding>}{<family>} + Change family for a certain encoding (and + font encoding). Can be overridden with \CJKfamily. + + The possible values of <family> are defined in the + encoding specific FD files. + + This command makes sense outside of a CJK + environment; it acts globally if the `global' option + is set. + + +\CJKfontenc{<encoding>}{<fontencoding>} + Change font encoding for a certain encoding. If you + select an encoding with \CJKenc, the font encoding + specified with \CJKfontenc for this encoding is + chosen. + + This command makes sense outside of a CJK + environment; it acts globally if the `global' option + is set. + + Example: + + \CJKencfamily{GBt}{hei} + \CJKfontenc{JIS}{dnp} + + \begin{CJK*}{Bg5}{fs} % this is equal to + % \begin{CJK*}{}{} + % \CJKenc{Bg5} + % \CJKfamily{fs} + + ... Text in Bg5 fangsong ... % c00fs.fd used + \CJKenc{GB} ... Text in GB fangsong ... % c10fs.fd used + \CJKfamily{kai} ... Text in GB kai ... % c10kai.fd used + \CJKenc{JIS} ... Text in JISdnp kai ... % c42kai.fd used + \CJKfamily{}% + \CJKenc{GBt} ... Text in GBt hei ... % c20hei.fd used + \end{CJK*} + + +\CJKindent The `classical' indentation for CJK documents is + exactly two ideographic spaces. \CJKindent sets + the paragraph indentation to this value, using + \parindent and the currently active CJK font. + + +\CJKkern To prevent a line break before a CJK character, say + \CJKkern. This command suppresses the insertion of + \CJKglue before the CJK character. + + +\CJKglue If you get overfull \hbox'es caused by CJK + characters, try to increase \CJKglue. The default + definition is + + \newcommand{\CJKglue}{\hskip 0pt plus 0.08\baselineskip} . + + \CJKglue is inserted by CJK between Chinese + characters (punctuation characters as defined in the + punctuation tables use an unbreakable glue; see + CJK.enc). You should separate non-Chinese text from + CJK characters with spaces to enable hyphenation. Or + you can say \CJKtilde. + + +\CJKtilde This command changes the definition of the active + `~' character from an unbreakable space to + + \def~{\hspace{0.25em plus 0.125em minus 0.08em}} . + + +\nbs The original meaning of `~' is preserved within \nbs, + a shorthand for the LaTeX command \nobreakspace. +\standardtilde To return to the original definition of `~' use this + command. + + +\CJKspace +\CJKnospace Switch from CJK to CJK* `mode' (\CJKnospace) or + vice versa (\CJKspace). + + +\CJKverbatim If the `verbatim' package is loaded it is possible + to improve the output automatically, namely, to + avoid breaking of overfull lines in a verbatim + environment. This command installs a hook to + suppress insertion of glue between CJK and Thai + glyphs. + + +\CJKhanja +\CJKhangul \CJKhanja deactivates the use of C61 font encoding + for hangul characters: All fonts used have C60 font + encoding. \CJKhangul is the opposite command. The + default is C61 for hangul. + + Archaic hangul elements (KS 0xA4D5-0xA4FE) and the + character KS 0xA4D4 are only accessible if \CJKhanja + is active. + + Both commands act globally if the `global' option is + set. + + These commands make sense outside of a CJK + environment. + + +\CJKhwkatakana +\CJKnohwkatakana \CJKnohwkatakana deactivates the use of the C49 + font encoding and maps half-width katakana + characters to full-width glyphs instead. + \CJKhwkatakana (the default) is the opposite + command. + + Both commands act globally if the `global' option is + set; they have only effect for SJIS input encoding. + + These commands make sense outside of a CJK + environment. + + +\CJKtolerance If you get overfull \hbox'es caused by KS + characters, try to increase \CJKtolerance. The + default definition is + + \newcommand{\CJKtolerance}{400} . + + Increasing \emergencystretch may help also. + + This command makes sense outside of a CJK + environment. + + +\CJKuppercase If Big 5, SJIS, Bg5+, or GBK characters are used + non-preprocessed, the LaTeX command \MakeUppercase + is disabled (otherwise wrong CJK characters would be + selected). In the unlikely case that you really need + \MakeUppercase, use \CJKuppercase instead. + + This restriction does not exist for preprocessed CJK + files, i.e., files processed with Bg5conv, SJISconv, + CEF5conv, CEFSconv, extconv, or cjk-enc.el, thus + \CJKuppercase is not defined in these cases. + + \CJKuppercase acts globally if the `global' option + is set. + + +\begin{Bg5text} +... +/end(Bg5text) + +\begin{SJIStext} +... +/end(SJIStext) Enable the use of Big 5/SJIS encoded characters + which contain `\', `{', and `}' as second bytes. See + CJK.txt for a complete discussion. You need these + environments only in rare cases where + bg5conv/sjisconv or cjk-enc.el can't be used. + +\begin{Bg5+text} +... +/end(Bg5+text) + +\begin{GBKtext} +... +/end(GBKtext) Enable the use of Big 5+/GBK encoded characters + which contain `\', `{', and `}' as second bytes. See + CJK.txt for a complete discussion. You need these + environments only in rare cases where extconv can't + be used. + + +\Unicode{<byte1>}{<byte2>} +\Unicode{<byte1><byte2>}{<byte3>} + Insert a Unicode character literally. <byte1>, + <byte2>, and <byte3> are the first, second, and + third byte of the Unicode character. You can use + decimal, hexadecimal, or octal notation. This + command can only be used within UTF 8 encoding. In + all other encodings you must say + \CJKchar[UTF8]{<byte1>}{<byte2>} or + \CJKchar[UTF8]{<byte1><byte2>}{<byte3>} instead. + + + Examples: + + \Unicode{"23}{"45} + \Unicode{"25E}{"9A} + +\CJKCJKchar +\CJKhangulchar +\CJKlatinchar These commands control the handling of + intercharacter glue. Only defined for UTF8 encoding. + \CJKCJKchar selects CJK style (using \CJKglue), + \CJKhangulchar selects hangul style (using + \CJKtolerance) and \CJKlatinchar uses none. Default + is \CJKCJKchar. + + Only 3-byte UTF-8 encoded characters (i.e., Unicode + characters in the range 0x800-0xFFFF) are affected; + two-byte encoded characters is handled as ordinary + characters (i.e., as if \CJKlatinchar were set). + + +\CJKbold +\CJKnormal These commands set and unset the \ifCJK@bold@ flag. + If set, boldface is emulated. + + Both commands are intended to appear in + \DeclareFontShape commands only (usually in FD + files); see fonts.txt for further details. + + +\CJKsymbol The CJK package uses this command instead of \symbol + to print a CJK character; it honours the + \ifCJK@bold@ flag: if set, boldface is emulated by + printing the character three times with slight + horizontal offsets. There should be hardly a reason + to ever use this command explicitly. +\CJKsymbols A similar command specific to HLaTeX font support. + It takes two characters which are then mapped to the + final glyph using TeX's ligature mechanism. + + +\CJKboldshift The horizontal shift used for imitating bold fonts. + Redefine this macro if the default value of 0.015em + is not satisfying. + + These commands make sense outside of a CJK + environment. + + +\CJKaddEncHook{<encoding>}{<body>} + This macro is primarily intended for packages. Use + it to append the code in <body> to a hook for + <encoding> which is executed each time <encoding> is + selected. For an example see CJKnumb.sty . + + +---End of commands.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/dvidrv.txt b/Master/texmf-dist/doc/latex/cjk/doc/dvidrv.txt new file mode 100644 index 00000000000..d655b3a1a53 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/dvidrv.txt @@ -0,0 +1,56 @@ +Using dvidrv.btm [emTeX for DOS and OS/2] +------------------------------------------- + +This batch file does the same as mktexpk does; it is a replacement for +dvidrv.exe of emTeX which can handle ttf2pk, hbf2gf, and ps2pk additionally +(the ps2pk part is untested yet; it uses ps2pkmfj of the 4allTeX +distribution and was basically copied from a similar script, also part of +4allTeX). + +First of all, create and install a set of TFM files as described in the +INSTALL file. + +Then configure the following variables in dvidrv.btm: + + ps2pk ... set it to `yes' if you want to use this program + ttf2pk ... ditto + hbf2gf ... ditto + + pkdir ... the place where PK files created by ps2pk, ttf2pk, + or hbf2gf should go to. dvidrv.btm adds + `\modeless\XXXdpi' or `\modeless\dpiXXX' to this + string (depending on the variables `pre_dpi' and + `post_dpi') + + ttfonts ... where the TrueType fonts files reside + ttfcfg ... where the auxiliary data files of ttf2pk reside + + hbfonts ... where the HBF files reside + hbfcfg ... the place where the hbf2gf configuration files are + +The last four variables in the above list support trailing `!' and `!!' for +recursive directory searching (see the file dvidrv.doc of the emTeX package +for details). + +Alternatively, you can set these variables in the environment; please note +that no spaces are allowed before and after the equal sign, e.g., + + set foo=bar + +is OK, but + + set foo = bar + +fails. + +Rename dvidrv.exe to dvidrv.ori or something similar and copy dvidrv.btm to +a directory in the path. + +Don't forget to update the DVIDRVFONTS and TEXTFM environment variables if +necessary. + +Under OS/2 dvips calls mfjob or hbf2gf itself; under DOS it creates a batch +file which must be called afterwards. + + +--- end of dvidrv.txt --- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/fdxfiles.txt b/Master/texmf-dist/doc/latex/cjk/doc/fdxfiles.txt new file mode 100644 index 00000000000..0a74096d597 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/fdxfiles.txt @@ -0,0 +1,111 @@ +This is the file fdxfiles.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + + +Extended font definition files +============================== + +The CJK package modifies LaTeX's font loading mechanism to input an extended +font definition file (with suffix `.fdx') immediately after a normal font +definition file (with suffix `.fd') has been loaded. A `.fdx' file is +optional. Here a list of useful commands---note that neither whitespace nor +linebreaks produce output while macros are defined in such files, which is +quite convenient. + +Immediately after selecting the proper subfont for a given input character, +the CJK package tests whether a macro + + \<encoding>/<family>/<series>/<shape>/<plane>/<code>/<direction> + +is defined. If it exists, it is executed instead of calling \CJKsymbol. + +For halfwidth katakana, the macro is called + + \<encoding>/<family>/<series>/<shape>/<code>/<direction> + +For fonts from HLaTeX the macro is called + + \<encoding>/<family>/<series>/<shape>/<byte1>/<byte2>/<direction> + +For UTF-8, only characters in the range 0x800-0x10FFFF execute the test for +this macro. + +<code>, <byte1> and <byte2> are decimal numbers; <direction> is either `v' +or `h'. + +The following commands are intended for `.fdx' files: + +o For vertical writing, \CJKvdef should be used to (globally) define the + macros described above. It always prepends `<encoding>/<family>/'. + Example from c00bsmi.fdx: + + \CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}} + + This defines macro `\C00/bsmi/m/n/01/1/v': If glyph 1 in subfont `01' + (`bsmilp01' in this example) should be typeset, it is replaced with + glyph 4 from subfont `v' (`bsmilpv'). + + \CJKhdef is the equivalent for horizontal writing. + +o Another macro is \CJKvlet, performing a global \let. Example (again + from c00bsmi.fdx): + + \CJKvlet{bx/n/01/1}{m/n/01/1} + + This makes `\C00/bsmi/bx/n/01/1/v' the same as `\C00/bsmi/m/n/01/1/v'. + + \CJKhlet is the equivalent for horizontal writing. + +CJKvert.sty provides additional macros: + +o Glyphs which shouldn't be rotated are available with \CJKsymbolsimple. + Here an example from c10gbsn.fdx: + + \CJKvdef{m/n/01/17}{\CJKsymbolsimple{17}} + + If glyph 17 in subfont `01' (`gbsnlp01') is requested, it is replaced + with itself but unrotated. + +o Some correction parameters are available to position glyphs of a given + font (i.e., all subfonts) while \CJKvert is active. + + \CJKvdef{norotate}{} + + The default of CJKvert.sty is to rotate all glyphs using the graphicx + package. If `norotate' is present in a `.fdx' file, glyphs accessed + with \CJKsymbol are not rotated. `fullheight', `height' and `offset' + are used only if `norotate' is not set. + + \CJKvdef{fullheight}{<dimension>} + + If defined, it sets the full height (height plus depth) of all CJK + glyphs accessed with \CJKsymbol to <dimension>. In most cases this + value is 1em. + + \CJKvdef{height}{<dimension>} + + If defined, it defines the height of all CJK glyphs accessed with + \CJKsymbol. Consequently, the depth is set to `fullheight - height'. + For example, the AFM file for `bsmilp01' gives 879 PS units for the + `Ascender' value. Since 1em is 1000 PS units, a proper value for + the `height' parameter is 0.88em. + + \CJKvdef{offset}{<dimension>} + + If defined, shift the (rotated) glyphs accessed with \CJKsymbol + vertically by <dimension>. + + \CJKvdef{simpleoffset}{<dimension>} + + If defined, shift all glyphs accessed with \CJKsymbolsimple vertically + by <dimension>. + +o The `offset' parameter is available to position glyphs of a given + font (i.e., all subfonts) while \CJKhorz is active. + + \CJKhdef{offset}{<dimension>} + + If defined (and \CJKhorz being active), shift the glyphs accessed + with \CJKsymbol vertically by <dimension>. + +---End of fdxfiles.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/fonts.txt b/Master/texmf-dist/doc/latex/cjk/doc/fonts.txt new file mode 100644 index 00000000000..425866ffe69 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/fonts.txt @@ -0,0 +1,311 @@ +This is the file fonts.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +The fonts +--------- + +This file describes how to set up CJK fonts inside of LaTeX 2e. For a +description how to install TrueType or bitmap fonts please refer to the +INSTALL file. + + +CJK.sty uses NFSS (New Font Selection Scheme, part of LaTeX 2e) which has +some advantages over the font selection offered with pmC (for plain TeX and +LaTeX 2.09): + + o TeX fonts are loaded only on demand. This is especially useful with + Asian logographs. If you have e.g., three Chinese characters in your + text, pmC must load the whole Chinese font (about 85 TeX subfonts), + whereas LaTeX 2e loads only three subfonts normally. + + o As long as the limit of 256 TeX fonts is not exceeded, you can use + as many CJK fonts as you like (e.g., simplified and traditional + Chinese characters together with Japanese fonts in different sizes) + ---pmC is limited to two sizes and can only have two CJK fonts at + the same time. + + In the web2c TeX package (for Unix) you find a patch which allows + the use of more than 256 TeX fonts (up to about 1000; this is a + standard feature of web2c 7.2 and newer versions). + + Omega can use up to approx. 65000 fonts. + + o You need not care about the right size of CJK fonts in footnotes, + etc. They obey the NFSS (except encoding). + + Of course you must have access to CJK fonts. + + . Use pdftex and dvipdfmx which can handle TrueType fonts directly. + It is very easy to set up dvipdfmx for handling CJK subfonts; with + pdftex this is more complicated. See the file doc/pdf/HOWTO.txt + for more information. + + . Use fontforge to convert TrueType fonts to PS subfonts. Such + subfonts work with virtually all dvi drivers. The directory + utils/subfonts contain some scripts which help in the conversion + process. + + . Use hbf2gf for HBF pixel fonts to convert them to TFM and PK + fonts. + + . Use ttf2pk (and ttf2tfm) to convert TrueType fonts to TFM and PK + fonts. + +If you chose one font per active character as with the pmC macros, you would +waste character space (256 characters per font are possible starting with +TeX 3). Therefore CJK.sty expects the whole CJK font split in TeX subfonts +with 256 characters each. + +An example: + + GuoBiao-encoded simplified characters in song style at 12pt: + ^ ^ ^^ ^^ + + first byte second byte TeX subfont offset + ----------------------------------------------- + 0xA1 0xA1-0xFE gsso1201 0 + 0xA2 0xA1-0xFE gsso1201 94 + 0xA3 0xA1-0xE4 gsso1201 188 + 0xA3 0xE5-0xFE gsso1202 0 + 0xA4 0xA1-0xFE gsso1202 26 + 0xA5 0xA1-0xFE gsso1202 120 + . + . + . + 0xFE 0xA1-0xFE gsso1235 38 + + +To convert bitmap fonts to PK files with hbf2gf, you must get the +appropriate HBF (Hanzi Bitmap Font) header files or create if you can't find +the right one; these HBF files document CJK fonts completely. + +The HBF specification can be found here: + + http://www.ibiblio.org/pub/packages/ccic/software/info/HBF-1.1/ + +Various bitmap fonts together with HBF header files are collected here: + + http://www.ibiblio.org/pub/packages/ccic/software/fonts/ + + +The font definition files +------------------------- + +CJK fonts can be installed as easy as normal TeX fonts! (Well, probably this +is the first time you have to install a font for TeX---I strongly recommend +that you process and read the `fntguide' documentation which is part of the +LaTeX 2e base package. There you can also find a description of size +commands.) + +CJK.sty defines six new size commands: + + `CJK' corresponds to `' (empty) + `sCJK' corresponds to `s' + `CJKfixed' corresponds to `fixed' + `sCJKfixed' corresponds to `sfixed' + `CJKsub' corresponds to `sub' + `CJKssub' corresponds to `ssub' . + +For dnp fonts (i.e., real dnp fonts and Watanabe dnp fonts) and Watanabe +jfonts (which both use the same font encoding scheme) two additional +commands are provided: + + `DNP' corresponds to `' (empty) + `DNPgen' corresponds tp `gen' . + +Note that PS Wadalab fonts don't use these size functions (but are still in +DNP font order). + +For poor-man's boldface these size commands have been defined: + + `CJKb', `sCJKb', `CJKfixedb', `sCJKfixedb', `DNPb', `DNPgenb' . + +They are completely identical to its counterparts without the final `b'. The +only reason to use them is to make the fifth parameter of \DeclareFontShape +for bold series different from the one for medium series (LaTeX2e uses this +parameter as a macro name to execute loading-settings, thus they must not be +equal). + +The difference between the size functions just introduced and the original +commands defined by LaTeX 2e is that a CJK size function defines a class of +fonts: if you say as an example + + \DeclareFontShape{C00}{song}{m}{n}{<6> <7> <8> sCJKfixed * b5so07}{} , + +LaTeX 2e searches for fonts named b5so0701 - b5so0755 if the font size is 6, +7, or 8 pt; with other words, the CJK size functions append two digits to +the font name to select the proper subfonts. These digits are defined in the +`\CJK@...Encoding' macros; the macro \CJK@plane holds the current value (in +pmC compatibility mode and for UTF8 encoding, \CJK@plane holds hexadecimal +numbers; see JISdnp.enc for the dnp subfont names which are again +different). + +Here a more detailed example: + + \DeclareFontFamily{C10}{fs}{} + + \DeclareFontShape{C10}{fs}{m}{n}{<-> CJK * gsfs14}{} + \DeclareFontShape{C10}{fs}{bx}{n}{<-> CJKb * gsfs14}{\CJKbold} + +This defines a GB encoded font (LaTeX font encoding `C10') which has +fangsong shape (fs) in medium series (m) and emulated bold extended (bx) +series. The names of the subfonts are gsfs1401 - gsfs1432; all sizes are +available. (This is actually a font definition for a bitmap font which +corresponds to a size of 14pt if the printer resolution were 300 dpi; hbf2gf +magnifies it to any desired size.) + +The corresponding CJK environment would be + + \begin{CJK*}{GB}{fs} + ... + \end{CJK*} . + +To be consistent with the CJK package it is recommended that for each font +shape `m' and `bx' series are defined (some PS font styles from PSNFSS +define `b' instead of `bx'; in this case you should add a font substitution +entry in the FD file). The default CJK FD files define a `song' shape for +each encoding except for KS so that + + \begin{CJK*}{your-encoding}{} + ... + \end{CJK*} + +works (note the empty last parameter). See below for an additional reason. + +Here a table of the CJK (font) encodings and the corresponding NFSS font +encodings. + + Chinese: Bg5 C00 + Bg5pmC C01 + Bg5+ C09 + + GB C10 + GBpmC C11 + GBK C19 + + GBt C20 + GBtpmC C21 + + CNS1-7 C31-37 + + Japanese: JIS C40 + JISpmC C41 + JISdnp C42 + JISwn C43 + + JIS2 C50 + JIS2dnp C52 + + SJIS -> kana C49 (additionally) + + Korean: KS -> hanja C60 + -> hangul C61 + KSpmC C62 + KSHL -> hangulHL C63 + -> symbolHL C64 + -> hanjaHL C65 + + Unicode: UTF8 C70 + + CEF: CEFX C80 + CEFY C81 + + [Thai: C90] + + +Some remarks: + + o An NFSS font encoding for the CJK package consists of the letter `C' + followed by two digits; the first represents the CJK (input) + encoding, the second the CJK font encoding. Some CJK encodings need + more than one NFSS encoding to fully represent all characters. + + Note: Since LaTeX version 1996/12/01, the name of an FD file + consists only of lowercase letters, e.g., c00fs.fd. + + o You can't use the NFSS encodings (as defined above) directly! You + should always use the CJK interface (the exception is Thai; please + read cjk-enc.txt and thaifont.txt for details). + + o According to the NFSS rules the family name must not be longer than + five characters. In early versions of CJK the family `fangsong' was + used. This is no longer allowed and has been replaced with `fs'. + + This restriction is mainly for ancient operating systems like MS-DOS + which are limited to 8.3 filenames; today, there is no reason any + more to artificially shorten the family name. + + o If you declare an NFSS font encoding in the standard way the + corresponding FD file for the default font is loaded. Since a font + encoding can be defined only in the preamble, all CJK font encodings + must be registered before the document starts even if you use only + one or two encodings. For the CJK package this would cause the + loading of almost 30 font definition files (see the table above) + which is inacceptable. + + To avoid this overhead NFSS is faked with some rudimentary + definitions just enough to pass the NFSS tests of LaTeX 2e. Of + course this has a disadvantage: an unknown CJK family causes an + error instead of switching to the fallback family usually defined + with \DeclareFontSubstitution. Nevertheless, replacing an undefined + series or shape works correctly. + + +Setting up cyberbit.ttf for UTF-8 encoding +------------------------------------------ + +Note 1: I strongly discourage the use of this font, especially for CJKV + scripts. The main reason is that correct glyph shapes depend on the + language; this means that a glyph representation form for a given + Unicode value looks differently in Japanese, Korean, and Chinese (a + famous example is character U+9038). Cyberbit doesn't provide such + different glyph shapes. + +Note 2: The following describes a setup for dvipdfmx only. Furthermore, it + assumes a recent TeXLive installation. + + +1. Copy cyberbit.ttf to your local TeXLive tree; a proper location is + + <TeXLive>/texmf-local/fonts/truetype/cyberbit/ + + (on e.g. Windows) or + + ~/texmf/fonts/truetype/cyberbit/ + + (on e.g. GNU/Linux) or something similar. <TeXLive> indicates the root + directory of TeXLive's texmf tree, for example C:\TeXLive2007 or + /usr/local/texlive2007. + +2. In the file <TeXLive>/texmf/fonts/map/dvipdfm/dvipdfmx/cid-x.map there is + already an entry for cyberbit.ttf. Remove the comment character in front + of the line. + +3. Change to an empty directory and create TFM files with the following call + on the command line: + + ttf2tfm cyberbit.ttf -q cyberb@Unicode@ + +4. Move all resulting TFM files to + + <TeXLive>/texmf-local/fonts/bitstrea/cyberb/ + + or + + ~/texmf/fonts/bitstrea/cyberb + + or something similar. + +5. Say + + mktexlsr + + on the command line to regenerate TeXLive's file name database. + + +That's it. Within the CJK package, the font can be activated with + + \begin{CJK}{UTF8}{song} + + +---End of fonts.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/hbf2gf.txt b/Master/texmf-dist/doc/latex/cjk/doc/hbf2gf.txt new file mode 100644 index 00000000000..b802c824545 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/hbf2gf.txt @@ -0,0 +1,384 @@ +This is the file hbf2gf.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +Using hbf2gf +------------- + +hbf2gf converts CJK bitmaps with an HBF header file into GF files. + +Additional documentation can be found in the man page utils/hbf2gf/hbf2gf.1 +(pre-formatted versions of this document can be found in the `cjk-doc' +bundle of CJK). + + +Syntax: + + hbf2gf [-q] configuration_file[.cfg] + hbf2gf [options] subfont_name x_resolution [y_scale | y_resolution] + hbf2gf -t [-q] font_name + hbf2gf --version | --help + +Options: + -q make hbf2gf quiet + -p don't create a PL file + -g don't create a GF file + -n use no resolution in extension (only `.gf') + -t test for font_name (returns 0 on success) + + +Keywords in the configuration file must start a line, the appropriate values +being on the same line separated with one or more blanks or tabs. +Environment variables names start with `$'; to get a dollar sign you must +type `$$'. + +The expansion of environment variables in hbf2gf itself (without the help of +the kpathsea library) 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. Don't use it +except for the `pk_directory' and `tfm_directory' parameters! + +Here is an example configuration file gsfs14.cfg (please refer to hbf2gf.1 +and hbf2gf.dvi for a description of the keywords) to be run under OS/2: + +hbf_header jfs56.hbf +mag_x 1 +design_size 14.4 + +y_offset -13 +comment jianti fansongti 56x56 pixel font scaled and adapted to 14.4pt + +nmb_files -1 +tfm_files yes + +output_name gsfs14 + +checksum 123456789 + +dpi_x 300 + +coding codingscheme GB 2312-80 encoded TeX text + +pk_directory $HBF_TARGET\pixel.lj\432dpi\ +tfm_directory $HBF_TARGET\tfm\ + +rm_command del +cp_command copy +long_extension off +job_extension .cmd + + +Installation of a complete set of subfonts +------------------------------------------ + +Here are the results of a sample run of the above configuration file +(assuming that the environment variable %HBF_TARGET% points to d:\china): + + input files: jfs56.a - jfs56.e, jfs56.hbf + + program call: hbf2gf gsfs14.cfg + + intermediate files: gsfs14.cmd, gsfs1401.gf - gsfs1432.gf, gsfs14.pl + + batch file call: gsfs14.cmd + + output files: d:\china\pixel.lj\432dpi\gsfs1401.pk - gsfs1432.pk, + d:\china\tfm\gsfs1401.tfm - gsfs1432.tfm + + +[gsfs: GuoBiao simple encoded FanSong style + ^ ^ ^ ^ +It's hard to overcome the DOS restriction of 8 characters in a file name if +you need two characters as a running number...] + + +Using MakeTeXPK or mktexpk +-------------------------- + +***************************************************************************** +* * +* For teTeX >=1.0 and web2c >= 7.3.1, no patches are necessary for either * +* mktexpk or mktextfm. * +* * +***************************************************************************** + +The simpler way to create PK fonts is to apply the patches in the +utils/hbf2gf/scripts directory. In case you can't become root make sure that +the patched file is found in the path *before* the original MakeTeXPK (or +mktexpk) script. + +First of all, move the HBF files together with the bitmap font files to its +final destination which has to be added to the variables $MISCFONTS +(kpathsea version >= 3.3), or $T1FONTS (kpathsea > 2.6), or $DVIPSHEADERS +(kpathsea <= 2.6), which can be either modified in texmf.cnf or set in the +environment (please read the kpathsea info files how to do that). Now do the +same with all `.cfg' files; the corresponding configuration variable is +$HBF2GFINPUTS (kpathsea >= 3.2) or $TEXCONFIG (kpathsea < 3.2). + +Then, create a set of TFM files for the specified CJK bitmap font. This +should be done with the hbf2gf configuration parameters `tfm_files yes' and +`pk_files no' (to be modified in the `.cfg' files; see hbf2gf.dvi for a +detailed description of all needed keywords). After calling the produced +shell script the TFM files are installed. Note that if you change any hbf2gf +parameters which alter the appearance of the font (the metrics, to be more +exact) you must repeat this step so that TFM and PK files fit together. + +The previous step can be omitted in case you patch MakeTeXTFM or mktextfm +too so that TFM files can be created on-the-fly. + +Please note further that in case you write a new hbf2gf configuration file, +the name of that file must be the name stem of the CJK subfont (as defined +in the appropriate FD file and the hbf2gf configuration file) plus `.cfg': + + Example: + + searched: gsfs1021.pk + configuration file: gsfs10.cfg + +The final step for web2c 6.x or teTeX 0.4 is to edit texmf.cnf (the kpathsea +configuration file, usually in /usr/local/lib/texmf/web2c) and change the +two variables + + $PKFONTS.xdvi + $PKFONTS + +by appending + + :$pkdir/hbf2gf + +to define an own `mode' for hbf2gf, similar to the modes `cx', `ljfour', +etc. The TeX Directory Structure (TDS) standard suggests `modeless' for this +name which is already defined in teTeX 1.0 and web2c 7.x. + +Example: + + PKFONTS.xdvi=.:$pkdir/$MAKETEX_MODE:$pkdir/gsftopk: + $pkdir/ps2pk:$pkdir/hbf2gf + PKFONTS=.:$TEXMF/fonts//pk/$MAKETEX_MODE:$pkdir/hbf2gf + +The line break above is given for convenience only and should not appear +in the texmf.cnf file (no space before and after the `:'). + +[If you cannot become root, copy texmf.cnf into your home directory and do +the modifications there; make sure that your personal config file is found +in the search path first since web2c uses the first definition of each +variable encountered.] + +If you use hbf2gf with two parameters (as in MakeTeXPK), only one GF file +and one PL file is produced, and no batch file is created; the `pk_files' +parameter is ignored. You can control with the switches -g and -p whether a +GF or PL file is created at all. + + +Using dvidrv.btm [emTeX for DOS and OS/2] +------------------------------------------- + +This batch file does the same as MakeTeXPK and mktexpk; it is a replacement +for dvidrv.exe of emTeX which can handle ttf2pk, hbf2gf, and ps2pk +additionally (the ps2pk part is untested yet; it uses ps2pkmfj of the +4allTeX distribution and was basically copied from a similar script, also +part of 4allTeX). + +First of all, create and install a set of TFM files as described in the +previous section. + +Then configure the following variables in dvidrv.btm: + + ps2pk ... set it to `yes' if you want to use this program + ttf2pk ... ditto + hbf2gf ... ditto + + pkdir ... the place where PK files created by ps2pk, ttf2pk, + or hbf2gf should go to. dvidrv.btm adds + `\modeless\XXXdpi' resp. `\modeless\dpiXXX' to this + string (depending on the variables `pre_dpi' and + `post_dpi') + + ttfonts ... where the TrueType fonts files reside + ttfcfg ... where the auxiliary data files of ttf2pk reside + + hbfonts ... where the HBF files reside + hbfcfg ... the place where the hbf2gf configuration files are + +The last four variables in the above list support trailing `!' and `!!' for +recursive directory searching (see the dvidrv.doc of the emTeX package for +details). + +Alternatively, you can set these variables in the environment; please note +that no spaces are allowed before and after the equal sign, e.g., + + set foo=bar + +is OK, but + + set foo = bar + +fails. + +Rename dvidrv.exe to dvidrv.ori or something similar and copy dvidrv.btm to +a directory in the path. + +Don't forget to update the DVIDRVFONTS and TEXTFM environment variables if +necessary. + +Under OS/2 dvips calls mfjob or hbf2gf itself; under DOS it creates a batch +file which must be called afterwards. + + +Adjusting the font parameters +----------------------------- + +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 for the desired target size. If you omit `x_offset' +and `y_offset' in the CFG file, the third and fourth parameter of +`HBF_BITMAP_BOUNDING_BOX' is used (except for rotated glyphs), scaled to +design size (to say it with other words: x_offset and y_offset 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; the +parameter names are a bit misleading) 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 is then magnified to +a certain target size while still using the font parameters (i.e., TFM file) +of the design size. + +In the sample, you have a 56x56 bitmap font which is scaled to 14.4pt having +a resolution of 300 dpi; here we compute the theoretical scaling value to +reach the design size (14.4pt): + + 1 pt are 300 / 72.27 = 4.1511 pixel; + 14.4 pt are 4.1511 x 14.4 = 59.78 pixel; + thus the theoretical magnification value is 59.78 / 56 = 1.0675 . + +But especially for small sizes, this may be not the best value if the font +should harmonize with, say, Knuth's Computer Modern fonts. I recommend to to +compute, say, five PK fonts, then check the CJK font with different TeX +fonts to see whether the offsets and/or the magnification 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 30pt (nevertheless there is an +arbitrary compile-time constant MAX_CHAR_SIZE which limits the maximal +character size; default is 1023 pixels). + +Testing has shown that in the above example a magnification value of 1 is +better than 1.07; additionally if you use this font at 14.4pt you get the +original bitmap without any distortions introduced by scaling. + +If you have found optimal offsets, you can produce many different +magnifications of the CJK font using the same set of TFM files in analogy to +ordinary TeX fonts; as a simplification, we assume that PK files with a +resolution of XXXdpi and a design size of 10pt have the extension `.XXXpk' +(respectively come into a `XXXdpi' subdirectory)---this is the reason why in +the above example for the 14.4pt design size with 300dpi a `432dpi' target +directory has been used. Now we can use the following formula: + + your_target_size + needed_dpi = your_horizontal_resolution * ---------------- + 10.0 + +Example: Assuming that your printer has a resolution of 300 x 400dpi, +and you want 14.4pt: + + 14.4 + 300 * ---- = 432 + 10.0 + +The vertical scaling value is 400 / 300 = 1.3333. Use these values now to +call hbf2gf in METAFONT--like mode: + + hbf2gf hbf2gf.cfg 432 1.3333 + +Assuming you have created a complete set of hanja fonts (ksmj10) for 10pt +design size, the proper entry in c60mj.fd would be + + \DeclareFontShape{C60}{mj}{m}{n}{<5><6><7><8><9><10> + <10.95><12><14.4> + <17.28><20.74><24.88> CJK * ksmj10}{} + +If you use the (modified) mktexpk to create PK fonts on demand it is +sufficient to write + + \DeclareFontShape{C60}{mj}{m}{n}{<-> CJK * ksmj10}{} + +if one CJK bitmap font should cover the whole size range. + + +Compiling hbf2gf +---------------- + +You need an ANSI C compiler. + +Under Unix-like systems say + + ./configure --prefix=/usr/local/TeX \ + --with-kpathsea-include=<INCLUDEDIR> \ + --with-kpathsea-lib=<LIBDIR> + make + make install + +for a normal compilation and installation. Replace `/usr/local/TeX' with a +path to your TeX distribution. + +[Note 1: + Try to find `libkpathsea.*' on your system. Use this directory as the + argument for --with-kpathsea-lib. Then try to find `kpathsea/tex-file.h' + and use the parent directory of kpathsea as the argument for + --with-kpathsea-include. This should work in most cases. If you can't find + the library, you probably have a web2c package with statically linked + binaries. This means that you have to get the web2c sources from CTAN, + configure it with something like + + ./configure --prefix=/usr/local/TeX --datadir=/usr/local/TeX \ + --enable-shared --disable-static + + according to your setup; then change to the kpathsea directory and say + `make' and `make install' (Do the latter with caution not to overwrite + original binaries like kpsewhich). + + It even works with the source tree from the TeX Live CD! You just have + to add a proper --srcdir option to the configure script. + + Note 2: + It seems that c-auto.h created during the kpathsea library compiling + process won't be installed for some older web2c versions. You should add + it manually, i.e., copy <web2c source tree>/kpathsea/c-auto.h to the + location where the other kpathsea header files have been installed. + + Note 3: + As a last resort or for testing purposes, you can even compile hbf2gf + without any search library; a simple call to fopen() is used instead.] + + + +Use Makefile.gnu for emx + GNU make and say + + make -f Makefile.gnu + +to get a help screen with the possible options. + +[Note: It should work with djgpp too, but I haven't tested this.] + + +If necessary, `touch' hbf2gf.c (in case you don't have ctangle) to made the +time stamp of the file more recent; otherwise, the `make' program complains. + +Under some older SunOS versions, gcc (without the GNU C-library) has +problems; if possible, install the GNU C-library. Otherwise you get a bunch +of warning messages about missing prototypes which can be ignored. The only +missing function is strtoul(). If your system has gdb or some other GNU +utils, you are almost done. Search for the libiberty.a library (usually in +/usr/local/lib), copy it into the hbf2gf subdir and link it with the other +modules: + + LDFLAGS=-liberty ./configure ... + +If you don't have libiberty, replace strtoul() with strtol() in the hbf2gf.w +(or hbf2gf.c) file. + +It was reported that on the NeXT an older version of gcc has difficulties to +process the '%i' printf parameter correctly; simply replace all occurrences +with '%d' (most notably in hbf.c). + + +---End of hbf2gf.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/history.2_5 b/Master/texmf-dist/doc/latex/cjk/doc/history.2_5 new file mode 100644 index 00000000000..377dff02ea1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/history.2_5 @@ -0,0 +1,202 @@ +This file is part of the CJK package Ver. 4.8.0 (22-May-2008). + +The history of the beta versions of the never released version 2.5 . +-------------------------------------------------------------------- + +Changes beta 1 -> beta 2: + hbf2gf: faster (search_min_max() removed) + feof() seems to be broken under Amiga gcc 2.6.3; replaced with + == EOF, etc. + some small bug fixes and typos + default value of target_size is now design_size (and not 10 pt) + +Changes beta 2 -> beta 3: + ttf2pk: ttfdir must now be defined only once (in MakeTeXPK/maketexp.btm) + ttf2pkl instead of ttf2pk at some places erroneously used + an updated (and modified) version of MakeTeXPK is used + Makefile under Unix erroneously used FS=MSDOS + +Changes beta 3 -> beta 4: + ttf2pk: MakeTeXPK couldn't create DC fonts correctly. + MakeTeXPK couldn't use already created .pk fonts in some cases; + you must now change the PKFONTS and PKFONTS.xdvi variable in + the kpathsearch configuration file (texmf.cnf) to add + `:$pkdir/ttf2pk' + ttf2pk.doc added + InstallFont added + hbf2gf: all float types changed to double. This makes life easier under + Amiga + pinyin.sty added + \CJKcaption command added + some caption files added. Works with the koma-script style files + included here (see below). Most of them are not complete now + wrong punctuation character offsets in Bg5.chr corrected + koma-script style files added. Note: this is only temporary until the + next official release of the koma-script package + +Changes beta 4 -> beta 5: + \CJK@enc replaced with specific encodings where possible + SJIS encoding scheme added (SJIS.enc, SJISconv.tex, etc.). Doesn't + currently work with CEF.sty + new commands \CJKCJK, \CJKhangul, and \CJKlatin for UTF8 encoding +* handling of intercharacter glue enhanced. Now there is no \CJKglue +* before and after a block of CJK characters. Note that this is a +* visually incompatible change to the previous versions of CJK! +* (see the command \CJKtilde also) + koma-script package removed (you should use the latest official release + now); caption files updated + mule2cjk added + \CJKtilde and \standardtilde added + MakeTeXPK hard linked into utils/hbf2gf + +Changes beta 5 -> beta 6: + gmulatex script added + \CJKhangul erroneously defined twice: \CJKCJK renamed into \CJKCJKchar, + \CJKhangul (in UTF 8 environment) into \CJKhangulchar, \CJKlatin into + \CJKlatinchar + the `global' option didn't work correctly; many \CJK@global's added + new command \CJKencshape to specify shapes on a per encoding base + \CJKchar didn't work in preprocessed mode + hbf2gf: new keyword `pk_files' (yes/no) + new calling mode for use with MakeTeXPK: + hbf2gf configuration_file [subfont_number resolution] + hbf2gf.cfg renamed to b5so12.cfg (MakeTeXPK needs this name) + some .cfg files added + other small changes + MakeTeXPK: taken from contrib/ttf2pk and enhanced to create CJK .pk + files on demand from bitmap files + name of the mode subdir changed from `(.../pk/)ttf2pk' to + `(.../pk/)CJK'. + maketexp.btm: similar changes as for MakeTeXPK; hard linked into + utils/hbf2gf + makettfp.btm: hard linked into utils/hbf2gf + latin-3 and latin-4 added to mule2cjk + +Changes beta 6 -> beta 7: + according to the newest LaTeX2e release, \MakeUppercase is disabled + instead of \uppercase in some cases. + a severe bug disabled Korean encoding + the encoding switching mechanism was broken; again many \CJK@global's + added + some commands which should be active only in certain encodings redefined + to work with the `global' option (Bg5text environment, \mj, etc.) + to use the Japanese DNP fonts, an encoding `JISdnp' and two size + functions (`DNP' and `DNPgen') are added +* a new unifying fontencoding scheme has been introduced: +* max. 4 characters encoding + max. 3 characters fontencoding +* examples: +* JISdnp, JISpmC, etc. +* this change causes many files to be renamed (e.g., +* Uhanja.fd->Uhanj.fd); there is also a bunch of new/redefined functions +* to support this: +* \CJKenc +* \CJKfontenc +* \CJKshape +* \CJKencshape +* CJK and CJK* environment +* SOME OF THE ABOVE CHANGES ARE NOT COMPATIBLE WITH PREVIOUS VERSIONS! + CJK characters in verbatim environments are now treated correctly + by mule2cjk. Latin-encodings still don't work there + hbf2gf: the collection of configuration files has been harmonized in + size + +changes beta 7 -> 3.0: + the protection mechanism has been completely rewritten. Encoding changes + now work in sectioning commands too. + + the pseudo-\if's has been replaced with real if's to avoid problems with + nested \if...\else...\fi constructions. + + CNS directory renamed to CEF. + + CEF macros CX, CY and U implemented. Font definition files for CX and CY + encodings added. + + CEF now works with SJIS encoding too. CEFSconv added. + + CNS.sty removed. Has been integrated into CJK.sty . + + there are now three internally used active characters: + ^^80, ^^A0: used by mule2cjk + ^^ff : used by CEFconv and mule2cjk. + we need those characters for verbatim environments. + + a new internal level introduced: + we now have + + active characters + | + +--------------> bindings (normal, preprocessed) <- new + | + active character macros + | + +--------------> encodings (GB, Bg 5, ...) + + | font encodings (none, dnp, pmC) + | + subfont selecting macros + | + +--------------> character macro sets (standard, Big 5, ...) + | + character selecting macros + + all encodings except UTF 8 now work in preprocessed mode too. + + some additional checks whether a loading of a certain binding/encoding/ + character set is neccessary. + + a new style option has been added: `active'. If activated, bindings are + local. Default is still `local' (with global bindings). You need this + option if you want to mix preprocessed text with non-preprocessed text + in nested CJK environments. This can happen if you merge texts in + various encodings. + + the offset for the roma subfont of dnp font encoding was incorrect. + + watanabe (a PD replacement of dnp fonts) font encoding for JIS added. + + \CJKchar has now an optional parameter to select the encoding. You can + also use this command with Unicode encoding; additionally you can + enter characters with or without the 8th bit set (GL or GR form) + except for SJIS, Bg5 and UTF8 encoding. + + two new size functions: `CJKsub' and `CJKssub'. They are similar to + `sub' and `ssub' except that the font substitution warnings appear + only once per CJK fontset. All .fd files updated. + + MULEenc.sty added. Is loaded automatically after a file has been + processed with mule2cjk. + + Latin encodings now work in verbatim environments also. + + switch -g from mule2cjk has been removed. It was never necessary since + `"' and `\"' in german.sty select the same macro. + + mule2cjk now inserts LaTeX2e macros (\textexclamdown, \textcent, etc.) + analogously to the latin[12].def files of the LaTeX2e distribution + (where applicable) for Latin encoded characters. + + the batch file muclatex processes mule encoded files which contain + CEF macros. + + Stephen Simpson <simpson@math.psu.edu> contributed a Bg 5 .fd file for + NTU TT fonts (ntu2cjk and ttf2pk). + + pinyin.sty didn't work in tabbing environments; the syllable \me was + missing; the syllables \Na and \na were wrongly defined (Michael E. + Deisher <deisher@enws261.eas.asu.edu>). + + pinyin.sty now accepts DC fonts too. + + all .bat and .cmd files now have LF/CR pairs as newlines. + + .bat and .cmd batch files added for all equivalent script files in the + utils directory. It might be useful to replace the TeX-coded + preprocessors with this filters since they are faster. + + all .bat and .cmd files call f_name.bat (f_name.cmd) to replace the + extension (usually .tex) with .cjk . + + hbf2gf always used 300dpi resolution if used in mf-like mode (Zhang + Zhengyou <ZhengYou.Zhang@sophia.inria.fr>). + +---End of history.2_5--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/history.txt b/Master/texmf-dist/doc/latex/cjk/doc/history.txt new file mode 100644 index 00000000000..93ce694ce57 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/history.txt @@ -0,0 +1,1459 @@ +This file is part of the CJK package Ver. 4.2.0 (13-Dec-1998). + + +History of the CJK package +========================== + + +Version 1.0: first release. +01-June-1994 + + +Version 1.1: new: +20-Aug-1994 \CJK@char(x) simplified. + + CJK.txt updated. + + diff.txt added. + + +Version 2.0: new: +15-Sep-1994 support for Hangul: + virtual fonts / tfm files for Hangul standard fonts. + + changed: + font selection: modified .fd-files needed: + structure of .fd-files much more simplified. + + +Version 2.1: new: +28-Sep-1994 optional parameters to CJK size functions added. + + sCJK size function added. + + CJK* environment added: spaces after CJK characters are + swallowed. + + Utility programs hbf2hbf and hbf2cjk added. + + changed: + new Big 5 encoded fonts needed (more compressed)---saves + about 13 TeX subfonts per Big 5 encoded font. + + modified example .fd-files . + + errors: + Bg5text environment to pmC-Bg5 environment added. + + pmC emulation now uses compatible font names, i.e., + wcb5a1, wcb5a2, etc. + + +Version 2.2: new: +18-Oct-1994 CJK now supports hangul and hanja together. Two different + sets of subfonts are used as defined in Uhangul.fd and + Uhanja.fd . + + CJK punctuation characters (fullwidth comma, colon, + semicolon, etc.) don't start a line. CJK opening + braces, etc., don't end a line. + + \uppercase and \lowercase is now disabled if Big 5 + encoding is active. + + \lccode's is only reset if the new `lowercase' option is + set. This function is so seldom used that I decided to + separate it from setting \uccode's. You need less save + size if `encapsulated' is used without `lowercase'. + + C source of hbf2cjk replaced with CWEB source. + .dvi files of hbf2hbf and hbf2cjk added. + C source files of hbf2hbf and hbf2cjk produced by + CTANGLE added. + + \CJKtolerance added - this command for Hangul syllables + is the pendant to \CJKglue. + + changed: + hangul environment renamed to KS. + + modified example .fd-files. + + new Hangul .vf and .tfm files. + + definition of \CJKglue changed. + + HBF API now supports HBF 1.1 (CHARS optional). + + fine-tuning to hbf2cjk added + (Sam Chiu <ccc11@cus.cam.ac.uk>). + + errors: + CJK* didn't work in sectioning commands + (Wu Guangxi <wuxi@unixg.ubc.ca>). + + +Version 2.21: errors: +25-Oct-1994 CJK* didn't suppress spaces +(only CJK.sty) (Sam Chiu <ccc11@cus.cam.ac.uk>) + + +Version 2.3: new: +15-Nov-1994 JIS coding scheme/environment added. + + pmC-KS and pmC-JIS environments added. + + CNS coding scheme added. + + hbf2gf added. + This program merges bmf2gf, hbf2cjk, and hbf2hbf; it + is about 10 times faster than hbf2cjk. + Consequently, hbf2cjk and hbf2hbf were removed. + + changed: + only \uppercase disabled (see error). + + \CJK@char, etc., simplified. + + errors: + verbatim environments didn't work in Big 5 encoding + (Lee Chun-Yu <d791013@ce.ntu.edu.tw>). + + +Version 2.4: new: +03-Jan-1995 UTF 8 (Unicode) scheme added. + + option `unicode' to hbf2gf added: if `on', a two-digit + hexadecimal number is used as a running number + starting with the value of the first byte of the first + code range. + + Bg5conv.tex added: this is a small preprocessor which + converts Big 5 encoded characters `XY' into the form + `XZZZ.' . Now you can use Big 5 encoding without the + annoying Bg5text environment. + Auxiliary files: Bg5pp.enc, pmCsmpp.enc, and + bg5latex.bat . + + changed: + new versions of emx.exe, emx.dll (ver. 0.9a) and rsx.exe + (rel. 5) + + errors: + hbf2gf sometimes drew one pixel too much + (You Rey-Jer <you@gi4.bauingenieure.uni-stuttgart.de>). + + pmC encodings didn't work + (Zhang Zhengyou <Zhengyou.Zhang@sophia.inria.fr>). + + \CJK@charToHex and \CJK@numbToHex could erroneously change + page counter (Li Yu-Ray <r82111@ew.ee.ntu.edu.tw>). + + +Version 2.5: never released; 7 beta versions published. See file + history.2_5. + + +Version 3.0 there are too many changes to be described here in full +10-Oct-1995 detail. Please reread the various documentation files and + check the file history.2_5 too. + + new: + two contributed packages: ntu2cjk and ttf2pk. + + SJIS coding scheme added. + +* a new unifying fontencoding scheme has been introduced: +* max. 4 characters encoding + max. 3 characters +* fontencoding +* +* examples: +* JISdnp, JISpmC, etc. +* +* this change causes many files to be renamed (e.g., +* Uhanja.fd->Uhanj.fd); there is also a bunch of new/ +* redefined functions to support this: +* \CJKenc +* \CJKfontenc +* \CJKshape +* \CJKencshape +* CJK and CJK* environment +* +* SOME OF THE ABOVE CHANGES ARE NOT COMPATIBLE WITH +* PREVIOUS VERSIONS! + + two fontencodings added: `dnp' for DNP fonts and `wn' + for Watanabe fonts. + + four new size functions: `CJKsub', `CJKssub', `DNP', and + `DNPgen'. + + \CJKchar has now an optional parameter to select the + encoding. You can also use this command with Unicode + encoding; additionally you can enter characters with + or without the 8th bit set (GL or GR form) except for + SJIS, Bg5 and UTF8 encoding. + + a new internal level introduced: + we now have + + active characters + | + +--------------> bindings (normal, + | preprocessed) <- new + | + active character macros + | + +--------------> encodings (GB, Bg 5, ...) + + | font encodings (none, dnp, + | pmC) + | + subfont selecting macros + | + +--------------> character macro sets + | (standard, Big 5, ...) + | + character selecting macros + + a new style option has been added: `active'. If + activated, bindings are local. Default is still + `local' (with global bindings). You need this option + if you want to mix preprocessed text with + non-preprocessed text in nested CJK environments. This + can happen if you merge texts in various encodings. + + options `dos' and `dosdebug' to makefiles added for + compiling with djgpp. + + new keywords `design_size', `target_size', `tfm_files', + and `pk_files' added to hbf2gf. If `tfm_files' + (`pk_files') is `no', creation of .tfm-files + (.pk-files) is suppressed. + + new calling mode for hbf2gf for use with MakeTeXPK: + hbf2gf configuration_file [subfont_number resolution] + + a modified MakeTeXPK (and maketexp.btm) added to process + Chinese TrueType fonts (with ttf2pk) and CJK bitmap + fonts (with hbf2gf). + + pinyin.sty for writing pinyin syllables with tones. + + \CJKtilde and \standardtilde for embedding ordinary words + in CJK text. + + new command \CJKcaption to load a caption file. + + new commands \CJKCJKchar, \CJKhangulchar and + \CJKlatinchar added to specify character handling + (glue, discretionary). Only for UTF8 encoding needed. + Default is \CJKCJKchar. + + various caption files (.cap) added to be used in + conjunction with the KOMA-script document classes. + + MULE to CJK converter added. + + changed: + the protection scheme has been completely rewritten. + Encoding changes now work in sectioning commands too. + + reorganization of source tree. + + all occurrences of utf8 changed to UTF8 including + filenames. + + all occurrences of GBs changed to GB including filenames. + +* handling of intercharacter glue enhanced. Now there is +* no \CJKglue before and after a block of CJK +* characters. Note that this is a visually incompatible +* change to the previous versions of CJK! (See the +* command \CJKtilde also.) + + the definition of the CEF encoding has changed; it uses + now HTML-macros to identify CNS codes. Various + preprocessors has been added to handle these macros. + + CNS.sty removed. Has been integrated into CJK.sty . + + if only one of the keywords `dpi_x' or `dpi_y' is given + in the hbf2gf config file the other printer resolution + is set equal to the given one. + + the key values `on' and `off' in the hbf2gf config file + are replaced with `yes' and `no'. + + errors: + if two Big 5 environments were stacked, the Bg5text + environment was defined twice causing an error + (Yang Jinn S. <v30yjs@v0sun11.ccl.itri.org.tw>). + + \CJK@punctEnc was undefined in pmC-Bg5 environment + (Yang Jinn S. <v30yjs@v0sun11.ccl.itri.org.tw>). + + pmC-Bg5 encoding did not work in preprocessed mode + (Yang Jinn S. <v30yjs@v0sun11.ccl.itri.org.tw>). + + Bg5conv.tex and CEFconv.tex/CEF5conv.tex fail under the + web2c-TeX implementation because \write commands don't + output 8bit characters. C programs which do the same + were added. + + wrong \CJK@min and \CJK@max values for some encodings. + + some punctuation characters with Big 5 encoding had wrong + offsets (Li Yu-Ray <r82111@ew.ee.ntu.edu.tw>). + + `global' option didn't work correctly. + + \CJKchar didn't work in preprocessed mode + (Rob Lahaye <lahaye@amolf.amolf.nl>). + + all .bat and .cmd files call f_name.bat (f_name.cmd) to + replace the extension (usually .tex) with .cjk . + + +Version 3.0.1 new: +20-Nov-1995 hbf2gf config files for CNS added. + + changed: + .vf and .tfm files for Hangul have been removed; they + are now part of the Hangul font packages. + + CNS font definition files modified. + + `~', if \CJKtilde has been executed, now suppresses + spaces afterwards. + + (hopefully) better installation documentation. + + ttf2pk: improved scripts. + + the font directories (for web2c) in the various + script/config files have been standardized: + + the source bitmap fonts and its HBF header files are + now assumed to be in + +/usr/local/lib/font/{china,japan,korea,...}/font_name/ + + the hbf2gf configuration files in + +/usr/local/lib/hbf2gf/ + + the TeX font files in + +/usr/local/lib/texmf/fonts/{chinese,japanese,korean,...}/font_name/pk/CJK/ +/usr/local/lib/texmf/fonts/{chinese,japanese,korean,...}/font_name/{tfm,vf}/ + + the NTU TrueType fonts in + +/usr/local/lib/font/china/truetype . + + + errors: + standard.chr redefined the altchar macros erroneously + (Patrick Tuttle <n8442161@toad.lake.cs.wwu.edu>). + + MULEenc.sty failed with german.sty in sectioning + commands. + + mule2cjk didn't work with CNS planes 3-7. + + +Version 3.1.0: new: +20-Feb-1996 MakeTeXPK now supports DC (and TC) 1.2 fonts. + + JIS supplement character set (JIS X 0212-1990) + implemented. + + hbf2gf config file j2so12.cfg (for a JIS X 0212 font) + added. + + New parameter for hbf2gf: slant. Note that slanted + fonts are not common for CJK languages and should + be used only in special situations. + + Documentation about Japanese TeX systems and how to + handle Japanese with CJK contributed by TANAKA + Shinichiro <tanaka3@ifos.se.fujitsu.co.jp>. + + An introduction into the CJK package in Chinese + contributed by Lee Chun-Yu <d791013@ce.ntu.edu.tw>. + Consequently the outdated README.bg5 together with + bg5_test.tex has been removed. + + ntu2cjk version 1.3 . + + CEF example added. + + changed: + MULEenc.sty, mule2cjk: + \textcdot dropped; replaced with \textperiodcentered. + + MULEenc.sty: + definition of \textregistered dropped since it is + defined for all encodings in the latest LaTeX2e + release. + + CJK.sty: + \nbs is now defined as a shorthand for \nobreakspace. + + \space's added to font size functions analogously to + the latest LaTeX release. + + mule2cjk: + \nbs replaced with \nobreakspace. + + maketexp.btm: + small enhancements. + + f_name.bat: + slightly modified to make it run under 4DOS too. + + hbf2gf: + hbf.c updated to latest hbf version (17-Oct-1995). + errors: + maketexp.btm: + the ttfdir environment variable in the created + fonts.btm file was not set. + + Oh, oh, font creation with hbf2gf also didn't work... + + at one place two `%%' used instead of one. + + UJISwn.fd should now search for the right fonts. + + *.cap: + erroneously contained \@undefined instead of + \undefined. + + JIS.cap: + completely broken (sigh). Unbalanced \if... statements + caused unrecoverable errors. + + +Version 3.1.1: new: +20-Jun-1996 \CJKspace switches (inside of a CJK or CJK* environment) + from CJK* to CJK mode. + \CJKnospace switches from CJK to CJK* mode. + + support for Vietnamese with Mule. You need the vncmr-2.1 + package for fonts and LaTeX2e support. + + Latin 5 (ISO 8859-9) for Mule implemented. + + changed: + mule2cjk removed and replaced with cjk-enc.el which + defines a new output encoding scheme for Mule + (*cjk-coding*). See cjk-enc.doc for details. + + new protection scheme and changed macro definitions in + MULEenc.sty enables kerning for non-CJK languages. This + also makes most of the CJK macros significantly smaller. + + f_name.bat replaced with the latest version. + + some documentation improvements. + + \CJKhanja and \CJKhangul now also make sense outside of + KS encoding (useful in connection with mule2cjk). + + errors: + f_name.cmd doesn't work. All *.cmd removed. I have first + to learn REXX to write such batch files for OS/2. + + ttf2pk failed if the PK package size of a character was + 1024 (the same error is also in the pbm2pk program). + + hbf2gf didn't initialize mag_x/mag_y and dpi_x/dpi_y + correctly (Zhang Zhengyou + <Zhengyou.Zhang@sophia.inria.fr>). + + after closing a CJK environment not all characters above + 0x80 had been made non-active (a typo). + + pinyin.sty did not preserve the \a macro (used in + tabbing environments). + + single byte characters didn't work in SJIS encoding (a + typo). + + `:' and `.' do not work as parameter delimiters if these + characters are active (Daniel Flipo <?@?>). Now ^^ff + is used; the old macro ^^ff is now ^^a0; ^^a0 has + become ^^80. The old ^^80 macro has been removed since + the new version of mule2cjk always use the `global' + option of CJK which allows the use of (the new) ^^80 + instead. + + \CJKenc{SJIS} didn't work (Thomas Piekenbrock + <piekenbro@msmzid.frankfurt.hoechst-ag.d400.de>). + + SJISconv.tex didn't run (a senseless line called the + nonexistent macro \CJK@other) (Thomas Piekenbrock + <piekenbro@msmzid.frankfurt.hoechst-ag.d400.de>). + + JIS.cap didn't work (a typo). + + SJIS.cap didn't work either (forgot to edit). + + +Version 4.0.0: new: +20-Sep-1996 I did the final step. All CJK encodings now have all + NFSS attributes, namely family, series, and shape + (represented by \CJK@family, \CJK@series, and + \CJK@shape). \CJK@family is set by entering a CJK + environment in the same way as it was done in former + versions of this package. \CJK@series and \CJK@shape + are (usually) controlled by the standard NFSS commands + (e.g., \slshape, \textbf, etc.). + + To achieve this it was necessary to define (NFSS) + font encodings for the CJK package. All CJK font + encodings map to NFSS font encodings which start with + the letter `C', followed by two digits. Here is a + table: + + Chinese: Bg5 C00 + Bg5pmC C01 + + GB C10 + GBpmC C11 + + GBt C20 + GBtpmC C21 + + CNS1-7 C31-37 + + Japanese: JIS C40 + JISpmC C41 + JISdnp C42 + JISwn C43 + + JIS2 C50 + + SJIS -> kana C49 + (additionally) + + Korean: KS -> hanja C60 + -> hangul C61 + KSpmC C62 + KSHL -> hanjaHL C63 + -> hangulHL C64 + -> HLsymbolJ C65 + -> HLsymbolK C66 + + Unicode: UTF8 C70 + + CEF: CEFX C80 + CEFY C81 + + The first digit corresponds to a CJK (input) encoding + like Bg5 or JIS, the second digit represents either a + CJK font encoding or internal encodings necessary to + cover the selected CJK encoding. + + One consequence of this step is that you have to adapt + all .fd files to the new scheme. Look at the example + font definition files of the CJK package how to do it. + + You can't use e.g., `C01' directly! Use the CJK + interface (in this example \CJKfontenc[pmC]{Bg5}). + + Another consequence is that you are now limited to + five characters for the family name since it is part + of the .fd name (together with the NFSS font + encoding): e.g., `fangsong' is not longer allowed. I've + renamed this to `fs'. + + the new font encoding scheme of the HLaTeX package is + supported. You can select it with \CJKfontenc[HL]{KS} + or \begin{CJK}[HL]{KS}{...} . This is _not_ an + emulation of HLaTeX! See CJK.doc for details. + + poor-man's bold font has been introduced. To do this all + occurrences of \symbol has been replaced with the new + command \CJKsymbol which honours the \ifCJK@bold@ + flag. If set, a character is printed three times with + a small horizontal shift. You can modify this flag + with \CJKnormal and \CJKbold. These commands are + intended for use with \DeclareFontShape: + + \DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{} + \DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold} + + Additionally four size functions (CJKb, sCJKb, + CJKfixedb, sCJKfixedb) has been introduced which are + completely identical to its counterparts without the + final `b'. The only reason to use them is, as shown in + the above example, to make the fifth parameter of + \DeclareFontShape for bold series different from the + one for medium series (LaTeX2e uses this parameter as + a macro name to execute loading-settings, thus they + must not be equal). Redefine \CJKboldshift if the + default shift value of 0.015em is not optimal for the + specific font. + + support for ruby (= furigana) added. See rubi.doc for + details. + + ttf2pk: + TTF specific error handling enabled. + + Big 5 encoded TTF in format 4 can now be handled. + + hbf2gf: you can now use environment variables ($FOO or + ${FOO}) in the configuration file. Use $$ to get a + dollar sign. + + man pages added. + + more examples added. + + REXX scripts bg5latex.cmd, etc. (for OS/2) added + (contributed by Wonkoo Kim <wkim+@pitt.edu>). + + teTeX.doc added. + + changed: +* The CJK distribution has been divided into three +* packages: +* src The sources. Needed for all platforms +* bin Binaries compiled with emx for DOS and OS/2. +* rest Preformatted documentation (.dvi, .ps, +* output from cjk-enc.el) +* +* ALL FONT DEFINITION FILES HAVE BEEN CHANGED AND RENAMED! +* + \CJKshape and \CJKencshape renamed to \CJKfamily and + \CJKencfamily respectively. For backward compatibility + you can still use the old names. Nevertheless, they + now modify the font family parameter and no longer the + font shape parameter. + + all *conv.tex and its batch files removed. + + all converter programs now do not change the number of + lines in the output file. +* +* the UN*X converter batch files now replace the extension +* with .cjk instead of appending it. E.g. +* test.tex -> test.cjk (instead of test.tex.cjk) +* + f_name.bat provides a new environment variable %fu% + for a Unix-like path (using `/' instead of `\'). Now + you can run bg5latex.bat and the other DOS batch files + having a file name with a path as an argument. Please + replace all these batch files with the new ones. + + starting with this version ttf2pk is a direct part of + the CJK package. I maintain it. As a consequence the + ttf2pk directory tree has been moved into the utils + subdirectory. + + MakeTeXPK, MakeTTFPK: environment variable ttfdir and + hbf2gfdir renamed to TTFDIR and HBF2GFDIR + respectively. + + hbf2gf: sample configuration files now contain TDS + compliant directories. + + ttf2pk: + -c option removed which never worked. + + some redundant code removed. + + heavily reformatted. + + errors: +* PLEASE RECREATE ALL .TFM AND .PK FILES PRODUCED BY +* TTF2PK! +* Reason: the width values were resolution dependent. +* You should use the InstallFont script or instfont.btm +* for this job since the very bug in ttf2pk has not yet +* been fixed. Additionally you must install the new +* MakeTTFPK script. + + ttf2pk: + endchar didn't work correctly. + + punctuation characters in KS were not handled correctly. + + \CJKchar failed sometimes (Jinn S. Yang + <v30yjs@v0sun11.ccl.itri.org.tw>). + + Big 5/SJIS characters failed in headers, etc., if used + without preprocessor (Jinn S. Yang + <v30yjs@v0sun11.ccl.itri.org.tw>). + + +Version 4.0.1: appeared as a diff only---a typo in utils/ttf2pk/findex.c +26-Sep-1996 + + +Version 4.1.0: new: +20-Nov-1996 ttf2pk: + a new parameter -e has been introduced for selecting + the font encoding; possible values are `Big5' (the + default), `EUC' for extended Unix codes (JIS, GB, KS, + etc.), `SJIS', and `X'. The last value treats the TTF + file as SJIS encoded but expects start_char in JIS + encoding (routines are in coding.{c,h}). + + a new parameter -r has been introduced for rotating + the glyphs 90 degrees counter-clockwise if its value + is non-zero. See ttf2pk.1 for details. + + Some preliminary support for composite glyphs has been + included. Since hinting instructions are not supported + yet this is only of some academic interest. You can + watch the funny results with the mingli system font of + the traditional Chinese Windows 3.1 . + + Support for different horizontal and vertical + resolutions has been added. Now you have one more + parameter to call ttf2pk: + + ttf2pk pkname tfmname xres yscale startch nmbch ... + + Currently you have to change yscale by hand in + MakeTTFPK (or makettfp.btm). [yres = xres * scale] + + The source code has been prepared for pretty-printing + with c2cweb. Say `make documentation OS=<SYSTEM>' to + produce it (of course after installing the c2cweb + package). You find precomputed .dvi files in the + `rest' part of the CJK package. + + HSIEH Tung-Han <thhsieh@twclx.phys.ntu.edu.tw> + contributed NTeXb5.doc for installing the CJK package + under NTeX. + + hbf2gf: + if called in METAFONT-like mode, one additional + parameter has been added to allow printers with + different horizontal and vertical resolutions: + + hbf2gf config_file subfont_nmb x_resolution y_scale + + (y_resolution = x_resolution * y_scale; y_scale must + be a real number > 0; currently you must change y_scale + by hand in MakeTeXPK/maketexp.btm) + + hbf2gf now produces a .pl file even if in + METAFONT-like mode. + + a new config file option `rotation' rotates the glyphs + 90 degrees counter-clockwise if set to `yes'. + + vertical presentation forms of Big5 punctuation + characters added to punctuation tables in CJK.enc . + + CJKvert.sty for vertical typesetting added. This is an + experimental feature! Please read vertical.doc for + further details. + +* MakeTeXPK and friends: +* it's no longer necessary to rename TTF files to avoid +* underline characters. A configuration file is now used +* (ttf2pk.cfg) which resides in $TTF2PKDIR (usually +* $TEXMF/ttf2pk) to describe the various TTF files. +* Please rename e.g., ntukai.ttf back to ntu_kai.ttf . +* The environment variable $TTFDIR has become obsolete. + + The teTeX variants of the scripts can now produce tfm + files on demand---it's sufficient to simply install + the source files of a new font. + + changed: +* rubi.sty has been renamed to ruby.sty; the same is +* true for all commands in it: \ruby, \rubyoverlap, etc. + + new version (1.5) of ntu2cjk. + + hbf2gf: + the option `target_size' has been removed. It is + ignored now. + + under DOS and OS/2 both `\' and `/' are now recognized + as a path separator. + + ttf2pk: + the -s parameter (to select a design size) has been + removed. The program now always assume a design size + of 10pt. + + the parameter end_char has been replaced with + nmb_of_char (max. 256). + + begin_char can now be either decimal, hexadecimal + (prefix `0x'), or octal (prefix `0'). + + x_offset and y_offset behave now similar to hbf2gf + (and most people would expect it that way): a positive + x (y) value shifts right (up); default is zero for + both parameters using the default placement as given + in the TTF file. The values are no longer integers but + real numbers and should be multiples of design size. + + horz_esc and vert_esc are now real numbers too and + should be multiples of design size. + + you no longer need to use -W, -H, and -D for getting + resolution independent .tfm files. ttf2pk now + correctly uses the values of the TTF file. + +* PLEASE RECREATE ALL .TFM (AND .PK) FILES! Sorry for +* this inconvenience. I hope it is the last time. Due to +* some optimizations the .pk files are about 5% smaller +* now. + + The TTF part of the source code has been transformed + into a library (ttflib); the makefile has been + rewritten with a new syntax. Say `make' for details. + + utils/ttf2pk/README.b5 and INSTALL.bg5 removed. They + were out of date. + + modified MakeTTFPK/MakeTeXPK/InstallFont and + makettfp.btm/maketexp.btm/instfont.btm scripts. + + +Version 4.1.1: appeared as a diff only. +02-Dec-1996 + new: + cjktilde.el: + this file contains a minor mode (`cjk-tilde-mode') for + emacs to exchange the ` ' key with the `~' key. See + the documentation of \CJKtilde for details. + + changed: + directory cjk-enc renamed to lisp. + + errors: + the fullwidth double colon in GB encoding was missing in + the punctuation tables. + + +Version 4.1.2: new: +20-Feb-1997 ntu2cjk ver. 1.6 now supports the Jackson font (a Big 5 + encoded PostScript font). + + cjkspace.el: similar to cjktilde.el for cooperation with + AUCTeX. + + support files for NDOS contributed by KUO Yi-Liang + <c300711@ms5.hinet.net> . + + emTeX support documentation also contributed by + KUO Yi-Liang <c300711@ms5.hinet.net> . + + changed: + ttf2pk/src/Makefile: uses -C switch of GNU make now for + entering subdirectories. + + adaptation to LaTeX release 1996/12/01: + all .fd files now start with e.g., c00 instead of C00 + (nevertheless, the encoding is still called `C00'). + + all executables are now finished with exit() to avoid + additional security holes. + + Bg5rot.tex renamed to Bg5vert.tex . + + errors: + MakeTTFPK: + some sed programs can't understand the `\w' special + character (indicating a word constituent character); + has been replaced with `.'. + + it was not possible to open a CJK environment with + SJIS encoding a second time (Thomas Piekenbrock + <piekenbro@smzid.frankfurt.hoechst-ag.d400.de>). + + the same problem existed with UTF 8 encoding; + additionally the macros failed for protected + arguments. + + cjktilde.el: + if you assigned the minor mode to a key, the status + line was not updated. + + ttf2pk: + problems with empty glyphs fixed. + + problems with invalid index tables now lead to a + warning instead of a fatal error. + + +Version 4.1.3: new: +20-Jun-1997 hbf2gf can now create virtual Omega (.ofm) files. + + ttf2pk (and its scripts) now supports Unicode encoded + fonts. + + cjk-enc.el for emacs 20. + + Russian support (in T2 encoding) for Mule/emacs 20. + Please contact me for fonts, hyphenation patterns, and + macro packages. + + JIS X 0201 support for Mule/emacs 20. + + experimental support for Thai (only emacs 20). This is + basically C-TTeX version 1.51 adapted to CJK. Anybody + who is interested in this stuff (and has some + knowledge on Thai contrary to me :-) please contact + me so I can improve it. Please read cjk-enc.doc for + more details. + + ntu2cjk version 1.8: + now supports partial downloading of NTU fonts with + dvips. + + installation checklist added to INSTALL. + + installation instructions written in Chinese GB + contributed by YAO Fude <yao@everest.micro.umass.edu>. + + UTF8.tex example added. + + changed: + MULEenc.sty: + \hbar and \HBAR replaced with \textmalteseh and + \textmalteseH respectively according to the LaTeX2e + release June 1997. + + further simplifications. + + external CJK font packages, script and documentation + files updated to TDS standard. + + c70song.fd: + now uses cyberbit.ttf as default font. + + errors: + make*.btm scripts now really work :-) (thanks to + <rshuang@ms11.hinet.net>). + + c00cns.fd was incorrectly stored as c00CNS.fd . + + MULEenc.sty: + expansion macro improved (the old version prevented + kerning if used with e.g., \MakeUppercase). + + hbf2gf: + support for Unicode encoded HBF files was totally + broken. + + always used non-rotated x and y input sizes. + + the HBF interface now uses only one file handle per + opened font---previously it used one file handle per + HBF_CODE_RANGE line (Mark Leisher + <mleisher@crl.nmsu.edu>). + + ttf2pk: + can now handle fonts like avkv.ttf which have a + non-standard way to handle the end of the glyph index. + + a nasty allocation bug removed due to missing modulo + 65536 operations (thanks to YANG Ching-Hsiang + <jsyang@vlsi.ccl.itri.org.tw>). + + +Version 4.2.0: new: +13-Dec-1998 pinyin.sty: + support for EC fonts: the macron bar has been lowered + considerably. + + kerning in pinyin syllables is now identical to + unaccented syllables. + + teTeXb5.doc: + How to set up CJK with teTeX 0.9 (in Chinese). + Contributed by HSIEH Tung-Han + <thhsieh@twcpro.phys.ntu.edu.tw>. + + CJKnumb.sty: + new package for converting a number into a CJK + representation. It provides just one command, + \CJKnumber. + + CJK.sty: + new command \CJKaddEncHook for adding code which is + executed each time a certain encoding is selected. + + contrib/wadalab: + how to use Wadalab Japanese PostScript fonts with CJK. + Contributed by LEUNG Hin-Tak <htl10@cus.cam.ac.uk>. + + CJK.enc: + added C52 encoding (JIS2 in dnp font encoding). + + changed: + MULEenc.sty, cjk-enc.el: + updated to latest LaTeX 2e changes (1997/12/01 and + 1998/06/01): + \DH, \dh renamed to \DJ, \dj; LaTeX2e now provides + \textdegree, \textordfeminine, and \textordmasculine. + + updated to latest T2 changes: \CYRUKRI, \CYRUKRE and + its lowercase forms are renamed to \CYRII and \CYRIE + respectively. + + there is now a version of cjk-enc.el for emacs 20.3 + too. + + muletest.tex: + new translations; Russian now standard. + + thaiconv: + updated to include cttex 1.15 changes. + + a revised TDS structure for storing CJK fonts and + configuration files (see TDS.doc for details). + + compile.doc has been removed. + + NTeXb5.doc has been removed. + + ttf2pk.doc has been removed (it is now in the ttf2pk-old + package). + + the whole ttf2pk subdirectory has been removed. Get the + new ttf2pk program of the FreeType project (available + from ftp.freetype.org in the directory + pub/freetype/devel as the package + freetype-current.tar.gz)---the new ttf2pk can work + with composite fonts too and supports hinting. The old + ttf2pk is still available as ttf2pk-old.tar.gz . + + the whole ntu2cjk subdirectory has been removed. Get the + new ttf2pfb program of the FreeType project (see just + above for the location). ntu2cjk is still available as + ntu2cjk.tar.gz . + + the whole NDOS subdirectory has been removed because it + is completely out of date. + + CJK.sty: + caption files for preprocessed mode have now the + extension `.cpx' to simplify editing of cap files. + +* hbf2gf: +* completely redesigned to make calls in scripts for +* creating PK fonts easier. Please refer to hbf2gf.1 +* or hbf2gf.dvi for details. +* +* maketexp.btm, etc.: +* replaced with dvidrv.btm, a replacement for emTeX's +* dvidrv.exe; it is documented in dvidrv.doc . + + fonts from HLaTeX >= 0.97 are now supported. As a + consequence, support for older HLaTeX versions has + been withdrawn. The internal encoding C66 no longer + exists. + + cjk-enc.el: + function write-cjk-file added (thanks to David Fox + <fox@cat.nyu.edu>). + + errors: + pinyin.sty: + \O wasn't handled specially. + + CJK.sty now coexists with ArabTeX. + + possible save size overflow fixed (\CJK@temp was + assigned locally and globally at the same time). + + +Version 4.3.0: An intermediate version containing most features of 4.5.0 +04-Apr-2000 published on the TeX Live 5 CD. It has never been officially + released. + + +Version 4.4.0: An intermediate version containing most features of 4.5.0 +17-Apr-2001 published on the TeX Live 6 CD. It has never been officially + released. + +Version 4.5.0: An intermediate version containing most features of 4.5.1 +01-May-2002 published on the TeX Live 7 CD. It has never been officially + released. + +Version 4.5.1: new: +17-Jun-2002 CJKulem.sty: + Full underlining support using the latest version of + ulem.sty. + + Bg5+ and GBK charsets and encodings added (together with + `Bg5+text' and `GBKtext' environments). The encodings + are C09 and C19, respectively. + + `bg5+latex' and `gbklatex' scripts added (together + with its DOS and OS/2 pendants); both call the new + converter `extconv'. + + EUC-JP and EUC-TW encodings (*with* single shifts) added. + + SJIS encoding with DNP fontencoding. + + A configuration file `CJK.cfg' is read by CJK.sty just + before the \endinput command. + + CJKnumb.sty: + Added the macro \CJKdigits to CJKnumb.sty for printing + a (integer) number with CJK digits. + + Added macro \CJKnullspace to control the amount of + space inserted before and after a circle character + used for CJK digit zero. + + Added the macro \CJKindent to CJK.sty which sets the + paragraph indentation to two ideographic spaces. + + Added a test file `CJKbabel.tex' for testing CJK, + emacs 20, and the babel package. + + Thai support for Babel added. + + Added a test file `thai.tex' for testing Thai. + + cjk-enc.el: + Now works with XEmacs also (except for Thai). + + Support for ISO-8859-7 (Greek) added. + +* Support for multifile documents added. As a +* consequence, it is now necessary to specify the +* encoding of all files with local variables for Emacs +* (see the comments at the end of the files in the +* `examples' directory how to do that; the `coding: ...' +* line must exist. + + The translation tex->cjk is now executed only if the + source file is more recent than the corresponding + output file (it is still possible to force translation + though). + + Hyphenation patterns for unaccented pinyin syllables + (together with support for the Babel package) in + utils/pyhyphen. Documentation is in doc/pyhyphen.doc. + + pinyin.sty: + Added option `useCMmacron' (for LaTeX only) to use + a macron accent from the CM fonts in case the current + font doesn't have it (e.g., some versions of virtual + files for Palatino). + + Compound syllables can now be hyphenated. + + MULEenc.sty: + Added \CJKinclude{<file>}, \CJKinput{<file>}, and + \CJKbibliography{<file>} macros which behave similar + to \include, \input, and \bibliography but include + (input) <file>.cjk and <file>-cjk.bib instead. + + CJK.sty/MULEenc.sty: + The command \CJKverbatim suppresses insertion of glue + between CJK and Thai characters in verbatim + environments if the `verbatim' package is used. This + is useful if you have overlong lines. + + changed: + Thai support has been redesigned. The external program + `thaiconv' has been replaced by a Lisp file called + thai-word.el; ligatures in virtual Thai fonts are now + used to select the proper glyph representation forms. + See thaifont.doc and cjk-enc.doc for details. + + CNS stuff moved into a `CNS' directory. + +* CJK.sty/MULEenc.sty, +* cefconv, cef5conv, cefsconv, bg5conv, sjisconv, +* cjk-enc.el: +* The character slot 0xA0 is no longer used for +* \CJKchar; instead, the multiplex character 0x7F +* interface now handles this also. Additionally, +* character 0x7F (instead of 0xFF) is used as delimiting +* character. 0x7F is used for all CJK characters also in +* preprocessed mode---as a consequence, preprocessed and +* non-preprocessed data can be used simultaneously. +* +* You *must* update the *conv programs (if you use +* them). \CJKpreproc and \CNSpreproc now contain the +* current version string so you can check whether really +* the new versions are called. + + cjk-enc.el: + ET5 encoding for Vietnamese replaced with T5 encoding. + + The version for emacs 20 has been removed. Please + upgrade your emacs to 20.7 or newer. + + contrib/wadalab: + Use CJK font size functions instead of DNP ones. + + hbf2gf: + The configure option --with-kpathsea-dir has been + replaced with --with-kpathsea-include and + --with-kpathsea-lib to support web2c installations + with multiple architectures. + + errors: + cjk-enc.el: + The formatting parameter `%i' has been replaced with + `%d'. + + pmC.chr: + Missing \ifCJK@ added. + + Punctuation macros fixed. + + Bg5.chr: + Fixed a typo \CJK@temp -> \CJK@gtemp. + + hbf2gf: + Now works correctly with very large pixel sizes. + + Punctuation with half-width katakana in SJIS encoding + improved. + + A bug fixed which prevented the usage of caption files + together with hyperref. + + KS encoding with HLaTeX fontencoding now supports + punctuation also. + + Specifying a font size factor (like `CJK * [1.5]') in + FD files no longer produces a warning message for + all subfonts. + +Version 4.5.2: new: +28-Mar-2003 The new macro \CJKnohwkatakana prevents the use of the + C49 encoding for half-width katakana; instead, the + characters are mapped to full-width glyphs. The + opposite command is \CJKhwkatakana (the default). + + Improved support for pseudo-vertical typesetting. + + . CJKvert.sty provides new commands \CJKvert (the + default) and \CJKhorz to toggle pseudo-vertical + typesetting. + + . After loading CJKvert.sty, LaTeX reads file + `<foo>.fdv' (if it exists) immediately after reading + `<foo>.fd'. Such a file contains additional + information how to typeset a font vertically. Most + importantly, outline fonts can be configured so that + they are rotated with the graphicx package, making + it work with both dvips and pdfTeX. See + `vertical.doc' for more information. + + errors: + \CJKchar sometimes didn't accept 7bit representations. + + pinyin.sty: + Added missing syllables \chua, \den, \rua. + Make it work properly in tables. + + contrib/wadalab: + Older versions of the `makefont' script produce bad + hints for all Wadalab fonts. Either use the new + version to regenerate all fonts or use the new script + `fixwada' to correct fonts created with an old version + of `makefont'. + + EUC-TW.chr: Make it really work. + +Version 4.6.0: new: +11-Aug-2005 CJKutf8.sty merges basic LaTeX's and CJK's UTF-8 support. + See CJKutf8.doc for details. + + The two new macros \Thaispace and \Thainospace can be + used to control the EOL behaviour in Thai text blocks + if processed with cjk-enc.el. + + There are now scripts (for Unix) to call pdflatex + instead of latex: bg5pdflatex, sjispdflatex, etc.; + all scripts now pass parameters to latex (the program). + + New documentation files giving hints how to set up the + CJK package for optimal PDF output. + + New documentation file `reftex.doc' describing + customization for RefTeX (which is part of Emacs). + + CJKfntef.sty provides more font effects specific to + CJK scripts. See the example file CJKfntef.tex for + typical usage. + +* All .fdv-files have been renamed to use the suffix +* `.fdx' since they are no longer restricted to vertical +* writing direction. See the new file `fdxfiles.doc' +* for more information. + + changed: + All plain text documentation files now have the suffix + `.txt'. + +* Thai support has been improved. +* +* . Internally, the font creation process now uses +* fontinst to create the TFM files. As a consequence, +* virtual fonts are no longer necessary. +* +* . Due to an uncertain license, the `dbtt' font family +* has been replaced with `garuda', taken from +* thailatex version 0.3.5.1 which you can find at +* +* http://linux.thai.net/plone/TLWG/thailatex +* +* . The directory tree below `utils/thaifont' has been +* updated to reflect TDS 1.1, as supported by the +* forthcoming TeXLive 2005 and teTeX 3.0. +* +* Please replace all files related to Thai fonts in your +* TEXMF tree with the new fonts and font support files. + +* HLaTeX support has been updated to handle fonts from +* version 1.0.1---there are no longer MF source files, +* only PS fonts. Support for non-uhc fonts have been +* removed; you should upgrade to the latest HLaTeX font +* archives from CTAN. Please consult CJK.doc, section +* `Korean input', for the (slightly) changed font names of +* HLaTeX support. + + errors: + Some characters in Big 5 encoding disappeared without + a warning if pseudo-vertical writing was active. + + pinyin.sty: + Umlaut u with diacritic appeared bold. + + Umlaut u with macron above was broken. + + CJKulem.sty: + User-defined \CJKglue value was ignored. + + Line breaks before a post-punctuation CJK glyph + weren't disabled when \uline and friends were used. + + MULEenc.sty: + \textordfeminine and \textordmasculine were exchanged + if used with cjk-enc.el. + + contrib/wadalab/*.fdx: + Handle Hiragana-Katagana prolongation mark correctly. + + cjk-enc.el: + Multifile support was partially broken. + + CJKvert.sty: + Both \CJKvert and \CJKhorz had both local and global + effects. Now they are completely local. + + +Version 4.7.0: +17-Oct-2006 + new: + A new encoding `HK' (C05) is available for Hong Kong's + HKSCS-2004, used in combination with Big 5. + +* `UTF8' encoding now supports full Unicode (up to +* U+10FFFF). Subfont planes for ranges greater than U+FFFF +* consist of four hexadecimal digits (for example +* `foo025e' which covers U+25E00-U+25EFF). The \Unicode +* command (and \CJKchar) has been extended to accept +* Unicode values greater than U+FFFF. + + CJKutf8.sty: + Support Unicode encoded bookmarks if the hyperref + package is used. + + Automatically generate ToUnicode cmaps for pdftex + (tested with pdftex version 3.141592-1.30.4-2.2; it + currently doesn't work with virtual fonts). + + Caption files in UTF-8 encoding have been added; the + files are identical to the encoding-specific versions. + + ja Japanese + ko-Hang Korean using Hangul + ko-Hang2 another version using Hangul + ko-Hani Korean using Hanja + zh-Hans Chinese simplified + zh-Hant Chinese traditional + + errors: + UTF-8 input character 0x80 was handled only partially. + + pinyin.sty: + The package didn't preserve `\ding' which is defined + in pifont.sty, causing problems with older versions of + the hyperref package and its `hpdftex' driver option. + + CJK.sty: + Make it work with font definition files (like the ones + from the fourier package) which expect that the + loading-settings are called only once. + + The use of caption files within the `scrartcl' class + made \chapter a defined command (instead of reporting + an error). + + With the koma-script classes, all CJK caption files + except for Korean produced bad looking TOC entries for + \part. + + +Version 4.8.0: +22-May-2008 + new: + Support for EUC-JP with DNP font encoding has been + added. + + Support for XeLaTeX has been contributed by SUN + Wen-Chang <sunwch@hotmail.com> (in file `xCJK.sty'). + Note that this is just a rudimentary emulation layer; + most users are probably better off using XeLaTeX's + Unicode and font support directly. See `xCJK.txt' for + more details. + + pinyin.sty: + Added support for T5 encoding. + + CJKvert.sty: + Added command \CJKbaselinestretch to adjust the + baseline stretch used in vertical typesetting. + Previously, the value 1.3 was hardcoded. + + Added package option `usebaselinestretch' to use + the \baselinestretch value set before loading + CJKvert.sty; \CJKbaselinestretch then becomes a + factor to adjust it. + + Add support for \CJKhdef{offset}{...} in .fdx-files. + For example, to vertically shift all glyphs of the + `bsmi' font shape in Big 5 encoding (for horizontal + writing), put + + \CJKhdef{offset}{-.07em} + + into c00bsmi.fdx and add + + \usepackage{CJKvert} + \CJKhorz + + to your preamble. + + errors: + \CJK@bold didn't work properly for C49 (half-width + katakana) encoding. Now C49 is handled as a CJK + encoding, this is, you should use the various size + functions (`CJK', `CJKb', etc.). + +---End of history.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/README b/Master/texmf-dist/doc/latex/cjk/doc/japanese/README new file mode 100644 index 00000000000..ab5101887af --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/README @@ -0,0 +1,18 @@ +* The documentation files in this directory describe version 3.1.0; mule2cjk +* no longer exists---please read cjk-enc.txt for the new interaction between +* Mule and CJK. Until now I couldn't reach the author again. + +In this directory you find a suite of small documentation files which deal +with CJK and other Japanese features/systems in relation to TeX. They were +contributed by TANAKA Shinichiro <tanaka3@ifos.se.fujitsu.co.jp>. + +japanese.jis is the Japanese version of japanese.txt . Note that this file +and the file shibuaki.txt contain Japanese characters in JUNET encoding. + +Please send any comments and suggestions to the author of these doc files. +Questions related to non-CJK topics should be asked in the fj.comp.text +news group since the author only uses CJK. + + +Documentation how to use Wadalab fonts can be found in the contrib/wadalab +directory. diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/ascii.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/ascii.txt new file mode 100644 index 00000000000..41815cca5a7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/ascii.txt @@ -0,0 +1,58 @@ +ASCII Co. was founded by Mr. Nishi Kazuhiko, Mr. Tsukamoto, and Mr. Gunji. +This company works in the software and publishing field. So ASCII was +interested in the TeX system. They developed "ASCII Nihongo TeX" in +cooperation with a group of the Keio University in 1987. ASCII Nihongo TeX +is freeware. ASCII Co. implemented this system on MS-DOS in 1989 and sold +it. ASCII Co. added the capability of vertical typesetting to Nihongo TeX--- +this is called the p version or pTeX (publishing TeX). + +ASCII translated some important books into the Japanese language. These +books are of course typesetted with Nihongo TeX. + + "The TeX book", "The Metafont book" Knuth. + + "LaTeX: A Document Preparation System" Lamport. + +Many articles about TeX appear in the "UNIX magazine" published monthly by +ASCII. + + +Some features of Nihongo TeX: + + 1. The dvi file format is different from the original TeX's dvi file + format. (NTT-JTeX's dvi file format is the same as original one. So we + can use NTT-JTeX's dviware for the CJK package.) + + 2. Nihongo TeX is not only capable of using TeX Font Metric files (tfm), + but can also use Japanese Font Metric files (jfm). The jfm file format + is defined as an extension of the tfm file format for Nihongo TeX. One + jfm file has about 7000 kanji character metrics and kerning + informations to cover entire JIS fonts (and thus avoiding subfonts). + [See shibuaki.txt for some details about space handling between + Japanese and ASCII characters.] + + 3. Characters can be printed vertically. + + +In 1992 Tsukamoto and Gunji retired from ASCII Co. and founded Impress Co., +and some engineers specialized on TeX moved from ASCII to Impress. + +Impress Co. works in same field as ASCII Co., namely software and +publishing. In 1994 Impress made and sold "TeX for Windows" based on an +older version of ASCII Nihongo TeX (a modified TeX version 2.99). This +system runs on Windows 3.1, Windows 95 or Windows NT and has been sold to +many PC users. Literature is also available for "TeX for Windows". + +A major drawback of this system is that it is not yet based on TeX 3 and +thus cannot fully support LaTeX2e or multilingual issues. + + +In November 1995 ASCII announced the latest version of Nihongo TeX (pTeX +2.1.1) which is based on TeX 3.1415; this package also contains a format +file of LaTeX2e <1995/06/01>. + +At the time of this writing (1996/02/09) ASCII Nihongo TeX's version is pTeX +2.1.4 . + + +Version 1.0 Beta2 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.jis b/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.jis new file mode 100644 index 00000000000..69e034c6d13 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.jis @@ -0,0 +1,642 @@ +This is the file japanese.jis of the CJK macro package ver. 4.1.0 +(20-Nov-1996). + +(Font metric $B$,(B $BF|K\8l(B PS $B%U%)%s%HFbB"$N(B PostScript $B%W%j%s%?!<$H6&MQ$7(B +$B$F;H$&;v$,2DG=$J(B) DNP $B%U%)%s%H$H!"EOJU%U%)%s%H$N;H$$J}$K$D$$$F$^$H$a$F(B +$B$"$j$^$9!#(B + +hbf2gf $B$H6&$K;H$&(B kanji48 font $B$N;H$$J}$OB>$N(B CJK bitmap files $B$HF1$8(B +$B$G$9!#>\:Y$O(B hbf2gf.txt $B$K=q$+$l$F$$$^$9!#(B + + +kanji48 font +------------ + +$B$3$N(B font $B$O$I$3$K$"$j$^$9$+!)(B) + +Host ftp.tex.ac.uk + Location: /pub/archive/fonts/CJK + FILE -rw-rw-r-- 1 ctan TeX 742459 Dec 1 00:01 kanji48.tar.gz +Host ftp.dante.de + Location: /tex-archive/fonts/CJK + FILE -rw-rw-r-- 1 Mr.Ftp server 742459 Dec 1 00:01 kanji48.tar.gz + +$B$^$?$O!"$"$J$?$N%5%$%H$N6a$/$N(B CTAN $B$N%_%i!<$r$7$F$$$k%5%$%H$K$"$j$^$9!#(B + + +$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B) + +$B0J2<$N$h$&$K(B CJK.sty $B$GF|K\8l$NJ8>O$r=q$$$F$/$@$5$$(B: + +with latex: + + \documentclass[a4paper]{article} + \topmargin=-3.5cm + \textheight=26cm + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}{JIS}{song} + + ..... + < "$BF|K\8l$NJ8>O(B" > + ..... + + \end{CJK*} + \end{document} + + +with mulatex: + + \documentclass[a4paper]{article} + .... + \usepackage[global]{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}{}{} + + ..... + < "$BF|K\8l$NJ8>O(B" > + ..... + + \end{CJK*} + \end{document} + + +CJK $B%Q%C%1!<%8$O(B CJK $B$H(B CJK* $B$H$$$$D$N4D6-$rDs6!$7$^$9!#(BCJK* $B$N4D6-(B +$B$O(B CJK $BJ8;z(B($BF|K\8l!"4Z9q8l!"Cf9q8l(B)$B$N8e$m$N6uGr$r05=L$7$^$9!#(BCJK $B$N4D(B +$B6-$O05=L$7$^$;$s!#(B + +$BF|K\8l$7$+=q$+$J$$$N$G$"$l$P!"(BCJK* $B$N4D6-$r;H$&$Y$-$G$7$g$&!#$I$&$7$F(B +$B$b(B(CJK* $B4D6-$NCf$G(B) CJK $BJ8;z$N8e$K6uGr$,I,MW$J>l9g$K$O(B `\ ' $B$d(B `{}' $B$J(B +$B$I$N$h$&$J(B TeX $B%3%^%s%I$r;H$o$J$1$l$P$J$j$^$;$s!#(B + +$B$^$?!"F|K\8l0J30$N8@8l$NCf$G$bF|K\8l$r=q$/$3$H$,$G$-$k$h$&$K!"(Bmulatex +$B$r;H$&$J$i!"(B + + \usepackage[global]{CJK} + +$B$H@k8@$9$k;v$r6/$/?d>)$7$^$9!#>\:Y$O(B mule2cjk.doc $B$r8+$F2<$5$$!#(B + + +DNP $B%U%)%s%H(B +------------ + +DNP fonts $B$H$O$J$s$G$9$+!)(B) + +DNP $B$H$OF|K\$NBg<j0u:~2q<R$G$"$kBgF|K\0u:~$N$3$H$G$9!#(BDNP $B%U%)%s%H$OBg(B +$BF|K\0u:~$K$h$C$F:n$i$l$?>&MQ%U%)%s%H$G$9!#<+J,$N%5%$%H$K$9$G$K(B DNP $B%U%)(B +$B%s%H$,%$%s%9%H!<%k$5$l$F$$$k$J$i!"$=$l$r$D$+$&$Y$-$G$7$g$&!#(BDNP $B%U%)%s(B +$B%H$r%(%_%e%l!<%H$9$k$?$a$KEOJU%U%)%s%H$r%+%9%?%^%$%:$7$?EOJU(B DNP $B%U%)(B +$B%s%H$O(B freeware $B$H$7$F;HMQ$9$k$3$H$,$G$-$^$9!#(BDNP $B%U%)%s%H$r%(%_%e%l!<(B +$B%H$9$kJ}K!$O%7%s%\%j%C%/%j%s%/$G$9!#(B + +$B$3$N(B font $B$O$I$3$K$"$j$^$9$+!)(B ) + + watanabe-dnp (pk files) + ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/300 + jb10-300pk.tar.gz jb10-622pk.tar.gz jm10-329pk.tar.gz + jm10-746pk.tar.gz jb10-329pk.tar.gz jb10-746pk.tar.gz + jm10-360pk.tar.gz jm8-300pk.tar.gz jb10-360pk.tar.gz + jb8-300pk.tar.gz jm10-432pk.tar.gz jm9-300pk.tar.gz + jb10-432pk.tar.gz jb9-300pk.tar.gz jm10-518pk.tar.gz + jb10-518pk.tar.gz jm10-300pk.tar.gz jm10-622pk.tar.gz + tfm files + ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm-dnp.tar.gz + ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm.tar.gz + tools for symbolic link + ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/fake.tar.gz + +$B$I$&$d$C$F%;%C%H%"%C%W$9$k$N$G$7$g$&$+!)(B) + + $B$"$J$?$N(B font $B%G%#%l%/%H%j$r(B $fonts $B$H2>Dj$7$^$9!#(B + (e.g. /usr/local/lib/tex/fonts/japan) + $B$5$i$K!">e5-$N%U%!%$%k$NCV$+$l$F$$$k%G%#%l%/%H%j$r(B $src $B$H2>Dj(B + $B$7$^$9!#(B + (e.g. /usr/local/src) + + ftp server $B$+$i(B get $B$7$?%U%!%$%k$rE83+$7$^$9!#(B + + % cd $src + % gunzip -c fake.tar.gz | tar xvf - + % gunzip -c jd....pk.tar.gz | tar xvf - + % gunzip -c jm....pk.tar.gz | tar xvf - + % gunzip -c tfm.tar.gz | tar xvf - + + $B%G%#%l%/%H%j$N:n@.!#(B + + % cd $fonts + % mkdir $fonts/watanabe-dnp + % mkdir $fonts/watanabe-dnp/jd300 + % mkdir $fonts/watanabe-dnp/tfm + + $B%U%!%$%k$r(B copy $B$7$^$9!#(B + + % cd $fonts/watanabe-dnp + % cp $src/fake/* . + % cp $src/tfm/* tfm + % cp $src/*pk/*pk jd300 + + $BA4$F$NEOJU%U%)%s%H$r:n@.$7$^$9!#(B + + % make mk-300ex + + $B%7%s%\%j%C%/%j%s%/$rD%$j$^$9!#(B + + % mkdir $fonts/dnp + % cd $fonts/dnp + % cp $fonts/watanabe-dnp/LNFAKE . + + $B<!$K(B dnp $B%G%#%l%/%H%j$N(B `LNFAKE' $B$rJT=8$7$^$9!#(B`wdir' $B$NItJ,$r(B + $B$"$J$?$,EOJU(B DNP $B%U%)%s%H$r%$%s%9%H!<%k$7$?%G%#%l%/%H%j$K%;%C%H(B + $B$7$^$9!#(B + + wdir=../watanabe-dnp/jd300/ + + $B$=$N8e!"0J2<$r<B9T$7$F2<$5$$!#(B + + % LNFAKE jm dm + % LNFAKE jb dg + + + $B%$%s%9%H!<%k8e$N%G%#%l%/%H%j!<%D%j!<$O0J2<$N$h$&$K$J$j$^$9(B: + + $fonts/ +- watanabe-dnp/ +-jd300/ (all pk files) + | | + | +-tfm/ + | | + | +-Makefile, FAKEDNP, FAKETFM, fake.c ... + | + +- dnp/ + + $fonts/watanabe-dnp/jd300 $B$H(B $fonts/dnp $B$@$1$,I,MW$J$N$G!"(B + $fonts/watanabe-dnp/tfm/ $B$dI,MW$NL5$$%U%!%$%k$O:o=|$7$F9=$$$^$;$s!#(B + + tfm $B$r%$%s%9%H!<%k$7$F$"$k%G%#%l%/%H%j$K0\$C$F!"0J2<$r<B9T$7$F$/$@(B + $B$5$$!#(B + + + % gunzip -c tfm-dnp.tar.gz | tar xvf - + + $B$=$l$+$i!"(Btfm-dnp $B$N%U%k%Q%9$r4D6-JQ?t(B TEXFONTS $B$KDI2C$7$F2<$5$$!#(B + + +$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B) + +DNP $B%U%)%s%H$G(B CJK.sty $B$r;H$&Nc$G$9!#(B + +with latex: + + \documentclass[a4paper]{article} + \topmargin=-3.5cm + \textheight=26cm + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}[dnp]{JIS}{song} + + < "$BF|K\8l$NJ8>O(B" > + + \end{CJK*} + \end{document} + + +with mulatex: + + \documentclass[a4paper]{article} + .... + \usepackage[global]{CJK} + \usepackage{indentfirst} + + \CJKfontenc{JIS}{dnp} + + \begin{document} + \begin{CJK*}{}{} + + < "$BF|K\8l$NJ8>O(B" > + + \end{CJK*} + \end{document} + + +[$B$J$<!"(Bmulatex $B$H6&$K(B `\begin{CJK*}[dnp]{}{}' $B$H=q$$$F$O$$$1$J$$(B +$B$+$K$D$$$F$O!"(Bmule2cjk.doc $B$rFI$s$G2<$5$$(B] + + +$BEOJU(B $B%U%)%s%H(B +------------- + +$B%*%j%8%J%k$NEOJU%U%)%s%H$b$^$?!"(BCJK $B$N4D6-$G;H$&;v$,=PMh$^$9!#(B + +$B$3$N(B font $B$O$I$3$K$"$j$^$9$+!)(B) + + watanabe-jfonts (pk files) + ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/300 + b250.lzh b274.lzh b300.lzh b329.lzh b360.lzh + b432.lzh b518.lzh b622.lzh b746.lzh m250.lzh + m274.lzh m300.lzh m329.lzh m360.lzh m432.lzh + m518.lzh m622.lzh m746.lzh + + ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/400 + + tfm files + ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/tfmfiles.lzh + + +$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B) + +$BEOJU%U%)%s%H$+$i(B CJK $B$r;H$&Nc$r0J2<$K<($7$^$9!#(B + +with latex: + + \documentclass[a4paper]{article} + \topmargin=-3.5cm + \textheight=26cm + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}[wn]{JIS}{song} + + < "$BF|K\8l$NJ8>O(B" > + + \end{CJK*} + \end{document} + + +with mulatex: + + \documentclass[a4paper]{article} + .... + \usepackage[global]{CJK} + \usepackage{indentfirst} + + \CJKfontenc{JIS}{wn} + + \begin{document} + \begin{CJK*}{}{} + + < "$BF|K\8l$NJ8>O(B" > + + \end{CJK*} + \end{document} + + +compilation and coding-system +----------------------------- + +$B$b$7!"(Blatex $B%U%!%$%k$r(B latex $B%3%^%s%I$r;H$C$F%3%s%Q%$%k$9$k$J$i!"%U%!(B +$B%$%k$rF|K\8l(B EUC $B$GJ]B8$7$J$1$l$P$J$j$^$;$s!"$=$7$F(B + + latex yourfile + +$B$H$7$F(B latex $B%U%!%$%k$r=hM}$7$F2<$5$$!#(B + +[$B%U%!%$%k$r(B SJIS $B$GJ]B8$9$k;v=PMh$^$9!#$=$N;~$O(B CJK $B$N4D6-$K$*$1$k%(%s(B +$B%3!<%G%#%s%0%Q%i%a!<%?$r(B JIS $B$NBe$o$j$K(B SJIS $B$K$7$J$1$l$P$J$j$^$;$s!#(B +SJIS$B$N4D6-$G$b(B JIS $B$N%U%)%s%H$r;H$$$^$9!#(B] + +$B$b$7(B latex $B%U%!%$%k$r(B mulatex $B%3%^%s%I$r;H$C$F%3%s%Q%$%k$9$k$J$i!"(B +latex file $B$rJ]B8$9$k;~$K(B coding $B%7%9%F%`$K4X$7$F$$$/$D$+$NA*Br;h$r;}(B +$B$D;v$,=PMh$^$9!#(BCJK $B%Q%C%1!<%8$K%G%U%)%k%H$GIU$$$FMh$k(B mulatex $B$r;H$&(B +$B$J$i(B latex file $B$r(B Mule $B$N(B internal code$B$GJ]B8$7$F!"(B + + mulatex yourfile + +$B$H$7$F(B latex $B%U%!%$%k$r=hM}$7$F2<$5$$!#(B + +[mulatex $B$O(B CJK $B%Q%C%1!<%8$N(B utils/mule2cjk $B$H$$$&%G%#%l%/%H%j$KCV$+(B +$B$l$F$$$^$9!#(Bmule2cjk.doc $B$r;2>H$7$F2<$5$$!#(B] + +$B$7$+$7!"(BMule $B$N(B internal code $B$,I8=`$N%3!<%I7O$G$J$$$H$+!"(BMule $B0J30$G(B +$BFI$a$J$$$H$+!">-MhJQ$o$C$F$7$^$&$+$b$7$l$J$$$H$$$&M}M3$G!"(Blatex file +$B$r(B Mule $B$N(B internal code $B$GJ]B8$7$?$/$J$$>l9g$O!"(Blatex file $B$r!"(B +ISO2022 $B%(%s%3!<%G%#%s%0$r4p$K$7$?(B *junet* $B$GJ]B8$9$k$+!"(BX window +system $B$G(B Compound Text Encoding $B$H$7$F;H$o$l$F$$$k(B *ctext* $B$GJ]B8$9$k(B +$B$3$H$,$G$-$^$9!#0J2<$N$&$A$N0l$D$N(B mulatex shell script $B$GCV$-49$($F2<(B +$B$5$$!#(B + + : mulatex for *junet* + + % cat mulatex + #!/bin/sh + # mulatex : LaTeX2e for Mule's *junet* encoding + # + fname=`echo $1 | sed 's/\.[^\.]*$//g'` + coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk + st=$? + if [ $st -ne 0 ] ; then + exit $st + fi + latex $fname.cjk + st=$? + if [ -f $fname.cjk ] ; then + /bin/rm -f $fname.cjk + fi + exit $st + % + + : mulatex for *ctext* + + % cat mulatex + #!/bin/sh + # mulatex : LaTeX2e for Mule's *ctext* encoding + # + fname=`echo $1 | sed 's/\.[^\.]*$//g'` + coco '*ctext*' '*internal*' < $1 | mule2cjk > $fname.cjk + st=$? + if [ $st -ne 0 ] ; then + exit $st + fi + latex $fname.cjk + st=$? + if [ -f $fname.cjk ] ; then + /bin/rm -f $fname.cjk + fi + exit $st + % + +auctex $BL5$7$G(B mule $B$r;H$&>l9g$O!"0J2<$N(B Lisp code $B$r=i4|2=%U%!%$%k(B +`.emacs' $B$KIU$12C$($F2<$5$$!#(B + + : `.emacs' for *junet* + + (add-hook 'LaTeX-mode-hook + (function (lambda () + (set-file-coding-system *junet*) + ))) + + : `.emacs' for *ctext* + + (add-hook 'LaTeX-mode-hook + (function (lambda () + (set-file-coding-system *ctext*) + ))) + +`coco' $B$O(B Mule $B$N(B package $B$K4^$^$l$F$$$k%W%m%0%i%`$G$9!#(B + + +auctex +------ + +auctex $B$O(B TeX $B$H(B LaTeX $B%f!<%6!<$N$?$a$N(B elisp $B%Q%C%1!<%8$G$9!#(BCJK $B$N4D(B +$B6-$r(B auctex $B$KE}9g$9$k$N$O4JC1$G$9!#;H$$J}$O!"(Bdvi $B%U%!%$%k$r%3%s%Q%$%k(B +$B$9$k$?$a$N%?%$%W%;%C%H%3%^%s%I$,(B latex $B$G$O$J$/(B mulatex $B$G$"$kE@$r=|$1(B +$B$P!"I8=`$N(B LaTeX $B$HA4$/F1$8$G$9!#0J2<$N%3!<%I$r$"$J$?$N(B `.emacs' $B$+(B +($B$b$72DG=$J$i(B tex-site.el $B$K(B)$BDI2C$7$F2<$5$$!#(B + + : `.emacs' for auctex users + + (add-hook 'LaTeX-mode-hook + (function (lambda () + (set-file-coding-system *junet*) + (nconc + TeX-command-list + (list + (list "MuLaTeX" "aucmulatex %t" 'TeX-run-LaTeX nil t) + ) + ) + (setq TeX-command-default "MuLaTeX") + ))) + + + : mulatex for auctex users + + % cat aucmulatex + #!/bin/sh + # aucmulatex : LaTeX2e in auctex mode for Mule's *junet* encoding + # + fname=`echo $1 | sed 's/\.[^\.]*$//g'` + coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk + st=$? + if [ $st -ne 0 ] ; then + exit $st + fi + latex \\nonstopmode\\input{$fname.cjk} + st=$? + if [ -f $fname.cjk ] ; then + /bin/rm -f $fname.cjk + fi + exit $st + % + + $B$3$NNc$O!"(B*junet* $B$K$D$$$F$N$_=q$+$l$F$$$^$9$,!"$b$A$m$sB>$N%3!<%I(B + $B7O$G$bF1MM$K;H$($^$9!#(B + + +auctex (yet another usage) +---------------------------- + +Shell $B%9%/%j%W%H$r;H$C$?(B mulatex $B$NJQ$o$j$K(B $BD>@\(B elisp $B$r=q$/;v$b$G$-(B +$B$^$9!#(BLaTeX $B%U%!%$%k$,(B *junet* $B$d(B *ctext*, *euc-japan* $B$H$$$C$?%3!<%I(B +$B7O$G=q$+$l$F$$$?$H$7$F$b!"(BMule $B$O<+F0E*$K$=$l$i$N%3!<%I$rH=JL$9$k$G$7$g(B +$B$&!#0J2<$N%3!<%I$r$"$J$?$N(B `.emacs' $B$+(B($B$b$72DG=$J$i(B tex-site.el $B$K(B)$BDI(B +$B2C$7$F2<$5$$!#(B + + : `.emacs' for auctex user (for Mule 2.3 based on emacs 19.28) + + (add-hook 'LaTeX-mode-hook + (function (lambda () + (nconc + TeX-command-list + (list + (list "MuLaTeX" "latex '\\nonstopmode\\input{%c}'" + 'TeX-run-MuLaTeX nil t) + ) + ) + (nconc + TeX-expand-list + (list + (list "%c" 'file "cjk") + )) + (setq TeX-command-default "MuLaTeX") + ))) + + (define-program-coding-system nil "mule2cjk" *internal*) + + (defvar TeX-LaTeX-CJK-tmpfile nil) + + (defun TeX-MuLaTeX-sentinel (process name) + (prog1 + (TeX-LaTeX-sentinel process name) + (delete-file TeX-LaTeX-CJK-tmpfile))) + + ; customized from TeX-run-LaTeX + (defun TeX-run-MuLaTeX (name command file) + "Run mule2cjk and latex on current TeX buffer." + + (let ((TeX-LaTeX-CJK-tmpbuffer (generate-new-buffer-name "cjk"))) + (setq TeX-LaTeX-CJK-tmpfile (concat file ".cjk")) + (generate-new-buffer TeX-LaTeX-CJK-tmpbuffer) + (call-process-region + (point-min) (point-max) "mule2cjk" nil TeX-LaTeX-CJK-tmpbuffer nil) + (set-buffer TeX-LaTeX-CJK-tmpbuffer) + (write-region (point-min) (point-max) + TeX-LaTeX-CJK-tmpfile nil nil *internal*) + + (let ((process (TeX-run-format name command file))) + (setq TeX-sentinel-function 'TeX-MuLaTeX-sentinel) + (if TeX-process-asynchronous + process + (TeX-synchronous-sentinel name file process))) + (kill-buffer TeX-LaTeX-CJK-tmpbuffer))) + + +indentfirst.sty +--------------- + +$BF|K\8lJ8>O$NCJMn$N%$%s%G%s%H$N$D$1J}$O%*%j%8%J%k$N(B latex $B$N%$%s%G%s%H$N(B +$BIU$1J}$H0[$C$F$$$^$9!#$3$NLdBj$r2r7h$9$k$?$a$K!"(B`indentfirst.sty' $B$H$$(B +$B$&!">o$K:G=i$NCJMn$G%$%s%G%s%H$9$k$?$a$N%9%?%$%k%U%!%$%k$,(B LaTeX2e $B$N(B +official tool $B$NCf$K$"$j$^$9!#(B + +indentfirst.sty $B$O$I$3$K$"$j$^$9$+!)(B) + +Host ftp.dante.de + + Location: /tex-archive/macros/latex/packages/tools + FILE rw-rw-r-- 1492 Dec 14 17:46 indentfirst.dtx + +$B$^$?$O!"$"$J$?$N%5%$%H$N6a$/$N(B CTAN $B$N%_%i!<$r$7$F$$$k%5%$%H$K$"$j$^$9!#(B + +/pub/TeX/CTAN/macros/latex/packages/tools $B$K$"$kA4$F$N%U%!%$%k$r(B get +$B$7$F$=$3$K4^$^$l$k(B readme.txt $B$rFI$s$G$+$i%$%s%9%H!<%k$7$?J}$,$$$$$G(B +$B$7$g$&!#$=$NCf$K$ONc$($P(B tabular $B$d(B verbatim $B$H$$$C$?Hs>o$KM-MQ$J%9%?(B +$B%$%k%U%!%$%k$,4^$^$l$F$$$^$9!#(B + +\maketitle +---------- + +$BF|K\8l$N%?%$%H%k$r=q$-$?$$;~$O!"(B\maketitle $B%3%^%s%I$O(B CJK $B$N4D6-$NFbB&(B +$B$K$J$/$F$O$$$1$^$;$s!#$J$<$J$i!"F|K\8l$N%?%$%H%k$O(B CJK $BJ8;z$r4^$`$+$i(B +$B$G$9!#(B + +$BNc(B) + + \documentclass[a4paper]{article} + .... + \usepackage[global]{CJK} + \usepackage{indentfirst} + + \begin{CJK*}{}{} + \title{ < "$BF|K\8l$NJ8>O(B" > } + \author{ < "$BF|K\8l$NJ8>O(B" > } + \end{CJK*} + + \begin{document} + \begin{CJK*}{}{} + + \maketitle + ..... + < "$BF|K\8l$NJ8>O(B" > + ..... + + \end{CJK*} + \end{document} + + +JIS.cap +------- + +CJK $B$G$OF|K\8l(B caption $B$r;H$&$3$H$b$G$-$^$9!#$=$N$?$a$K$O!"(B($BI8=`$N(B +class $B$rCV$-49$($F$7$^$&(B) koma-script $B%Q%C%1!<%8$,I,MW$G$9!#(B($B>\$7$/$O(B +CJK.txt $B$N(B captions $B$r;2>H$7$F$/$@$5$$!#(B) + +[CJK 4.1.0 $B$h$jA0$N%P!<%8%g%s$G$O$3$N5!G=$OF|K\8l$K4X$7$F$&$^$/F0:n$7(B + $B$^$;$s!#(B] + + +Koma-script $B$O$I$3$K$"$j$^$9$+!)(B) + +Host ftp.dante.de + + Location: /tex-archive/macros/latex/contrib/supported + DIRECTORY rwxr-xr-x 1024 Jan 23 12:20 koma-script + +$B$^$?$O!"$"$J$?$N%5%$%H$N6a$/$N(B CTAN $B$N%_%i!<$r$7$F$$$k%5%$%H$K$"$j$^$9!#(B + +$B$I$&$d$C$F(B CJK $B$+$i;H$&$N$G$9$+!)(B) + +CJK JIS $B4D6-$NCf$G0J2<$N%3%^%s%I$r=q$/;v$K$h$C$F(B + + \CJKcaption{JIS} + +$BF|K\8l(B caption $B$rM-8z$K$9$k;v$,$G$-$^$9!#(B + + CJK.sty $B$H(B Koma-script $B$GF|K\8l(B caption $B$r;H$&$?$a$K$O(B, $B0J2<$NNc$r(B + $B$NMM$K$7$F$/$@$5$$!#(B + + % srcartcl is a stylefile of Koma-script + \documentclass{scrartcl} + \topmargin=-3.5cm + \textheight=26cm + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}[dnp]{JIS}{song} + \CJKcaption{JIS} + + < "$BF|K\8l$NJ8>O(B " > + + % $BF|K\8l(B Caption + \refname{< "$BF|K\8l$NJ8>O(B " >} + + \end{CJK*} + \end{document} + + +\newpage +-------- + +CJK $B$N%3%^%s%I$,L$Dj5A$G$"$k$H$$$&%(%i!<$K=P$/$o$9>l9g$K$O!"(BCJK $B4D6-$,(B +$B=*N;$9$kD>A0$G$=$N%Z!<%8$r(B($B%a%b%j$+$i%U%!%$%k$X(B)$B=q$-=P$9I,MW$,$"$j$^$9!#(B +$B$J$<$J$i!"(BLaTeX $B$O(B CJK $B4D6-$r=*N;8e$K(B(CJK $B%3%^%s%I$r4^$`(B)$B%X%C%@$r(B($B%U%!(B +$B%$%k$X(B)$B=q$-9~$`$3$H$,$"$k$+$i$G$9!#(B($B>\$7$/$O(B CJK.txt $B$N(B Possible +errors $B$r;2>H$7$F$/$@$5$$!#(B) + + +$BNc(B) + + \documentclass[a4paper]{article} + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}{JIS}{song} + + < "$BF|K\8l$NJ8>O(B" > + ..... + \newpage + \end{CJK*} + \end{document} + + +$BF|K\8l(B Postscript $B%W%j%s%?!<(B +---------------------------- + +$B<+J,$N%5%$%H$K(B /Ryumin-Light $B$H(B /GothicBBB-Medium $B$r<BAu$7$F$$$k$+!"$b(B +$B$7$/$O%(%_%e%l!<%H$G$-$kF|K\8l(B PS $B%U%)%s%H$rFbB"$7$F$$$k(B PostScript $B%W(B +$B%j%s%?!<$,$"$l$P!"(BDNP $B%U%)%s%H%a%H%j%C%/$r;}$D(B dnp-tfm (DNP fonts $B;2>H(B) +$B$K$h$C$F:n$i$l$?(B dvi $B%U%!%$%k$r4JC1$K0u:~$9$k;v$,$G$-$^$9!#(Bdvi2ps $B$OF|(B +$BK\8l(B PostScript $B%W%j%s%?$N%I%i%$%P!<%=%U%H$G$9!#$^$?F1MM$K(B DNP $B%U%)%s%H(B +$B$HF1$8%a%H%j%C%/$r;}$DEOJU(B DNP $B%U%)%s%H$r(B preview $B$K;H$&$3$H$b$G$-$^$9!#(B + +dvi2ps $B$O$I$3$K$"$j$^$9$+!)(B) + +Host ftp.math.s.chiba-u.ac.jp + + Location: /tex + FILE rw-r--r-- 112970 Dec 1 1994 dvi2ps-1.91j.tar.gz + + +------------------ +Version 1.0 Beta7 (1996/02/03) + Tanaka Shinichiro Email: tanaka3@ifos.se.fujitsu.co.jp + + + +---End of japanese.jis--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.txt new file mode 100644 index 00000000000..e637fdb0d75 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/japanese.txt @@ -0,0 +1,637 @@ +This is the file japanese.txt of the CJK macro package ver. 4.1.0 +(20-Nov-1996). + +It concentrates on the use of DNP fonts (their font metrics can be used +in conjunction with PS printers which have their own builtin Japanese fonts) +and watanabe jfonts. + +The use of the kanji48 bitmap font together with hbf2gf is similar to all +other CJK bitmap files and is documented in detail in the file hbf2gf.txt . + + +kanji48 font +------------ + +Where is the font ? ) + +Host ftp.tex.ac.uk + Location: /pub/archive/fonts/CJK + FILE -rw-rw-r-- 1 ctan TeX 742459 Dec 1 00:01 kanji48.tar.gz +Host ftp.dante.de + Location: /tex-archive/fonts/CJK + FILE -rw-rw-r-- 1 Mr.Ftp server 742459 Dec 1 00:01 kanji48.tar.gz + +or your nearest CTAN mirror ftp sites. + + +How to use it in CJK ? ) + +Use CJK.sty with Japanese as follows: + +with latex: + + \documentclass[a4paper]{article} + \topmargin=-3.5cm + \textheight=26cm + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}{JIS}{song} + + ..... + < Japanese text > + ..... + + \end{CJK*} + \end{document} + + +with mulatex: + + \documentclass[a4paper]{article} + .... + \usepackage[global]{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}{}{} + + ..... + < Japanese text > + ..... + + \end{CJK*} + \end{document} + + +The package CJK offers two environments: CJK and CJK*. CJK* suppresses +spaces followed by a CJK character, whereas CJK doesn't. + +If you write only Japanese, you should use the CJK* environment. If you +really need a space directly followed by a JIS character, you must then use +TeX commands like `\ ', `{} ', etc. + +It is highly recommended to declare + + \usepackage[global]{CJK} + +if you use mulatex to be able to write Japanese inside of other +environments. See mule2cjk.doc for details. + + +DNP fonts +--------- + +What are DNP fonts ? ) + +DNP stands for "Dai Nippon Printing" (a big printing company in Japan). DNP +fonts are commercial fonts made by this company; if real DNP fonts have been +already installed at your site, you should use them. But watanabe-dnp fonts, +which are customized from watanabe-jfonts to emulate DNP fonts, are +freeware. The method of emulation is symbolic name linking. + + +Where are the fonts ? ) + + watanabe-dnp (pk files) + ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/300 + jb10-300pk.tar.gz jb10-622pk.tar.gz jm10-329pk.tar.gz + jm10-746pk.tar.gz jb10-329pk.tar.gz jb10-746pk.tar.gz + jm10-360pk.tar.gz jm8-300pk.tar.gz jb10-360pk.tar.gz + jb8-300pk.tar.gz jm10-432pk.tar.gz jm9-300pk.tar.gz + jb10-432pk.tar.gz jb9-300pk.tar.gz jm10-518pk.tar.gz + jb10-518pk.tar.gz jm10-300pk.tar.gz jm10-622pk.tar.gz + tfm files + ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm-dnp.tar.gz + ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/tfm.tar.gz + tools for symbolic link + ftp.math.s.chiba-u.ac.jp://tex/watanabe-dnp/fake.tar.gz + +How to set them up ? ) + + Suppose your fonts directory is $fonts , + (e.g. /usr/local/lib/tex/fonts/japan) + and your source directory in which the above files are put is $src. + (e.g. /usr/local/src) + + You should now expand all fonts that you've downloaded from the ftp + server. + + % cd $src + % gunzip -c fake.tar.gz | tar xvf - + % gunzip -c jd....pk.tar.gz | tar xvf - + % gunzip -c jm....pk.tar.gz | tar xvf - + % gunzip -c tfm.tar.gz | tar xvf - + + Make directories. + + % cd $fonts + % mkdir $fonts/watanabe-dnp + % mkdir $fonts/watanabe-dnp/jd300 + % mkdir $fonts/watanabe-dnp/tfm + + Copy files. + + % cd $fonts/watanabe-dnp + % cp $src/fake/* . + % cp $src/tfm/* tfm + % cp $src/*pk/*pk jd300 + + Make all watanabe-dnp fonts. + + % make mk-300ex + + Make symbolic links. + + % mkdir $fonts/dnp + % cd $fonts/dnp + % cp $fonts/watanabe-dnp/LNFAKE . + + Next, edit the file `LNFAKE' in the dnp directory. Make sure that + `wdir' is set to the directory where you have installed watanabe-dnp + fonts: + + wdir=../watanabe-dnp/jd300/ + + Then execute, + + % LNFAKE jm dm + % LNFAKE jb dg + + + The directory tree after the installation will look like this: + + $fonts/ +- watanabe-dnp/ +-jd300/ (all pk files) + | | + | +-tfm/ + | | + | +-Makefile, FAKEDNP, FAKETFM, fake.c ... + | + +- dnp/ + + You will need only the directories $fonts/watanabe-dnp/jd300 and + $fonts/dnp. You can remove $fonts/watanabe-dnp/tfm/ together with the + other now unnecessary files. + + Moving to your tfm directory, execute + + % gunzip -c tfm-dnp.tar.gz | tar xvf - + + Then add tfm-dnp (with the full path) to the TEXFONTS environment + variable. + + +How to use them in CJK ? ) + +See the following examples how to use CJK.sty with DNP fonts. + +with latex: + + \documentclass[a4paper]{article} + \topmargin=-3.5cm + \textheight=26cm + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}[dnp]{JIS}{song} + + <Japanese text> + + \end{CJK*} + \end{document} + + +with mulatex: + + \documentclass[a4paper]{article} + .... + \usepackage[global]{CJK} + \usepackage{indentfirst} + + \CJKfontenc{JIS}{dnp} + + \begin{document} + \begin{CJK*}{}{} + + <Japanese text> + + \end{CJK*} + \end{document} + + +[Read the file mule2cjk.doc for an explanation why you can't say + `\begin{CJK*}[dnp]{}{}' with mulatex.] + + +watanabe jfonts +--------------- +You can also use the original watanabe jfonts in a CJK environment. + +Where are the fonts ? ) + + watanabe-jfonts (pk files) + ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/300 + b250.lzh b274.lzh b300.lzh b329.lzh b360.lzh + b432.lzh b518.lzh b622.lzh b746.lzh m250.lzh + m274.lzh m300.lzh m329.lzh m360.lzh m432.lzh + m518.lzh m622.lzh m746.lzh + + ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/400 + + tfm files + ftp.iij.ad.jp://pub/TeX/fonts/watanabe-jfonts/tfmfiles.lzh + + +How to use them in CJK ? ) + +See the following examples how to use CJK.sty with watanabe jfonts. + +with latex: + + \documentclass[a4paper]{article} + \topmargin=-3.5cm + \textheight=26cm + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}[wn]{JIS}{song} + + <Japanese text> + + \end{CJK*} + \end{document} + + +with mulatex: + + \documentclass[a4paper]{article} + .... + \usepackage[global]{CJK} + \usepackage{indentfirst} + + \CJKfontenc{JIS}{wn} + + \begin{document} + \begin{CJK*}{}{} + + <Japanese text> + + \end{CJK*} + \end{document} + + +compilation and coding-system +----------------------------- + +If you use `latex' to compile latex files, you must save these files in +Japanese EUC and say + + latex yourfile + +to process these files. + +[You can also save the file in SJIS encoding; then you must use `SJIS' + instead of `JIS' as the encoding parameter in the CJK environment. Note + that SJIS uses the JIS fonts.] + +If you use `mulatex' to compile latex files, there are several possibilities +in which coding-system you can save your latex files. If you use the +original mulatex script file that comes with the CJK package, you must save +these files in Mule's internal code and say + + mulatex yourfile + +to process these files. + +[mulatex is in utils/mule2cjk in CJK package directory. ref: mule2cjk.doc] + +But if you do not like the idea of saving latex files in Mule's internal +encoding (this coding-system is not a standard coding-system, can not be +read without Mule and will be changed in the future), you can save them in +*junet*, which is based on ISO-2022 encoding, or in *ctext*, which is used +in the X window system as Compound Text Encoding. Then replace the mulatex +shell script with one of the following examples. + + + : mulatex for *junet* + + % cat mulatex + #!/bin/sh + # mulatex : LaTeX2e for Mule's *junet* encoding + # + fname=`echo $1 | sed 's/\.[^\.]*$//g'` + coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk + st=$? + if [ $st -ne 0 ] ; then + exit $st + fi + latex $fname.cjk + st=$? + if [ -f $fname.cjk ] ; then + /bin/rm -f $fname.cjk + fi + exit $st + % + + : mulatex for *ctext* + + % cat mulatex + #!/bin/sh + # mulatex : LaTeX2e for Mule's *ctext* encoding + # + fname=`echo $1 | sed 's/\.[^\.]*$//g'` + coco '*ctext*' '*internal*' < $1 | mule2cjk > $fname.cjk + st=$? + if [ $st -ne 0 ] ; then + exit $st + fi + latex $fname.cjk + st=$? + if [ -f $fname.cjk ] ; then + /bin/rm -f $fname.cjk + fi + exit $st + % + +If you use Mule (without auctex), add one of the following pieces of +Lisp code to your .emacs initialization file. + + : `.emacs' for *junet* + + (add-hook 'LaTeX-mode-hook + (function (lambda () + (set-file-coding-system *junet*) + ))) + + : `.emacs' for *ctext* + + (add-hook 'LaTeX-mode-hook + (function (lambda () + (set-file-coding-system *ctext*) + ))) + +The program `coco' is included in the Mule package. + + +auctex +------ + +auctex is an elisp package for TeX and LaTeX users. It is easy to integrate +the CJK environment into auctex; the usage is very similar to ordinary LaTeX +with the exception that the typesetting command to compile a .dvi file is +not `latex' but `mulatex'. + +Add the following code to your .emacs file (or, if possible, to +tex-site.el). + + : `.emacs' for auctex users + + (add-hook 'LaTeX-mode-hook + (function (lambda () + (set-file-coding-system *junet*) + (nconc + TeX-command-list + (list + (list "MuLaTeX" "aucmulatex %t" 'TeX-run-LaTeX nil t) + ) + ) + (setq TeX-command-default "MuLaTeX") + ))) + + + : mulatex for auctex users + + % cat aucmulatex + #!/bin/sh + # aucmulatex : LaTeX2e in auctex mode for Mule's *junet* encoding + # + fname=`echo $1 | sed 's/\.[^\.]*$//g'` + coco '*junet*' '*internal*' < $1 | mule2cjk > $fname.cjk + st=$? + if [ $st -ne 0 ] ; then + exit $st + fi + latex \\nonstopmode\\input{$fname.cjk} + st=$? + if [ -f $fname.cjk ] ; then + /bin/rm -f $fname.cjk + fi + exit $st + % + + This example describes only the usage for *junet*. Of course, you can use + other coding systems too. + + +auctex (yet another usage) +---------------------------- + +You can directly write elisp code instead of using a mulatex shell script +(not for the faint-hearted :-). If TeX files are written in *junet*, *ctext*, +*euc-japan* ... encoding, Mule will understand the input files automatically. +Add the following code to your .emacs file (or, if possible, to tex-site.el). + + : `.emacs' for auctex user (for Mule 2.3 based on emacs 19.28) + + (add-hook 'LaTeX-mode-hook + (function (lambda () + (nconc + TeX-command-list + (list + (list "MuLaTeX" "latex '\\nonstopmode\\input{%c}'" + 'TeX-run-MuLaTeX nil t) + ) + ) + (nconc + TeX-expand-list + (list + (list "%c" 'file "cjk") + )) + (setq TeX-command-default "MuLaTeX") + ))) + + (define-program-coding-system nil "mule2cjk" *internal*) + + (defvar TeX-LaTeX-CJK-tmpfile nil) + + (defun TeX-MuLaTeX-sentinel (process name) + (prog1 + (TeX-LaTeX-sentinel process name) + (delete-file TeX-LaTeX-CJK-tmpfile))) + + ; customized from TeX-run-LaTeX + (defun TeX-run-MuLaTeX (name command file) + "Run mule2cjk and latex on current TeX buffer." + + (let ((TeX-LaTeX-CJK-tmpbuffer (generate-new-buffer-name "cjk"))) + (setq TeX-LaTeX-CJK-tmpfile (concat file ".cjk")) + (generate-new-buffer TeX-LaTeX-CJK-tmpbuffer) + (call-process-region + (point-min) (point-max) "mule2cjk" nil TeX-LaTeX-CJK-tmpbuffer nil) + (set-buffer TeX-LaTeX-CJK-tmpbuffer) + (write-region (point-min) (point-max) + TeX-LaTeX-CJK-tmpfile nil nil *internal*) + + (let ((process (TeX-run-format name command file))) + (setq TeX-sentinel-function 'TeX-MuLaTeX-sentinel) + (if TeX-process-asynchronous + process + (TeX-synchronous-sentinel name file process))) + (kill-buffer TeX-LaTeX-CJK-tmpbuffer))) + + +indentfirst.sty +--------------- + +Japanese style of indenting paragraphs is different from the original latex. +There is a style file called `indentfirst.sty' in the official LaTeX2e +`tools' package which always indents the first paragraph. + +Where is indentfirst.sty ? ) + +Host ftp.dante.de + + Location: /tex-archive/macros/latex/packages/tools + FILE rw-rw-r-- 1492 Dec 14 17:46 indentfirst.dtx + +or your nearest CTAN mirror ftp sites. + +You should get all files in /pub/TeX/CTAN/macros/latex/packages/tools, read +the readme.txt file and install them. There are many, many useful styles in it. +(e.g. tabular or verbatim etc.) + + +\maketitle +---------- + +When you write Japanese titles, make sure that the \maketitle command +is inside of a CJK environment because it contains CJK characters. + +example ) + + \documentclass[a4paper]{article} + .... + \usepackage[global]{CJK} + \usepackage{indentfirst} + + \begin{CJK*}{}{} + \title{ < Japanese Text > } + \author{ < Japanese Text > } + \end{CJK*} + + \begin{document} + \begin{CJK*}{}{} + + \maketitle + ..... + < Japanese Text > + ..... + + \end{CJK*} + \end{document} + + + +JIS.cap +------- + +CJK provides Japanese captions. You need the koma-script package (which is a +replacement of the standard classes) to use the caption files. (ref: `CJK +captions' in CJK.txt) + +[This feature does not work for Japanese in CJK versions prior to 4.1.0] + + +Where is Koma-script ? ) + +Host ftp.dante.de + + Location: /tex-archive/macros/latex/contrib/supported + DIRECTORY rwxr-xr-x 1024 Jan 23 12:20 koma-script + +or your nearest CTAN mirror ftp sites. + +How to use it in CJK ? ) + +Inside of your CJK JIS environment, put + + \CJKcaption{JIS} + +to activate Japanese captions. + + To use CJK.sty and Koma-script for Japanese captions, see the + example below. + + % srcartcl is a stylefile of Koma-script + \documentclass{scrartcl} + \topmargin=-3.5cm + \textheight=26cm + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}[dnp]{JIS}{song} + \CJKcaption{JIS} + + <Japanese text> + + % Japanese Caption + \refname{<Japanese text>} + + \end{CJK*} + \end{document} + + +\newpage +-------- + +If you encounter an undefined CJK command (just before leaving the CJK +environment), it is necessary to flush out the page, because LaTeX sometimes +writes the headers _after_ the environment was closed. (ref: `Possible +errors' in CJK.txt) + + +example ) + + \documentclass[a4paper]{article} + \usepackage{CJK} + \usepackage{indentfirst} + + \begin{document} + \begin{CJK*}{JIS}{song} + + < Japanese text > + ..... + \newpage + \end{CJK*} + \end{document} + + +Japanese PostScript printer +--------------------------- + +If your site has a postscript printer with builtin Japanese PS fonts +that implements /Ryumin-Light and /GothicBBB-Medium, or a printer that +can emulate these fonts, you can easily use it to print out a dvi file +made from dnp-tfm (see DNP fonts). `dvi2ps' is a tool to drive printer +resident Japanese PS fonts. You can also use watanabe-dnp fonts for +previewing, as their metric files are the same. + +Where is dvi2ps ? ) + +Host ftp.math.s.chiba-u.ac.jp + + Location: /tex + FILE rw-r--r-- 112970 Dec 1 1994 dvi2ps-1.91j.tar.gz + + +------------------ +Version 1.0 Beta8 (1996/02/09) + Tanaka Shinichiro Email: tanaka3@ifos.se.fujitsu.co.jp + + + +---End of japanese.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-fonts.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-fonts.txt new file mode 100644 index 00000000000..49d2bae5190 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-fonts.txt @@ -0,0 +1,54 @@ +Data: Japanese Fonts Environment + + +Phototypesetting systems and font makers. + Syaken + Morisawa + Ryobi + +Font makers. + Dai Nippon Screen + Font Works + Ricoh ---> TrueType fonts (MS-mincho, MS-gothic; used in + Japanese MS-Windows) + (some further companies also make Japanese PS fonts, e.g. URW from + Germany) + +Printing companies. + Dai Nippon Printing (DNP) + Tokyo Syoseki Printing + Toppan Printing + (these are only the biggest companies; many further printing + companies are active in Japan) + +(Ref: `Dai' means `Big'. `Nippon' means `Japan'. `Syoseki' means `books'. + Ricoh is not only a font maker.) + + + 1. Syaken Co is the most famous and biggest company dealing with + phototypesetting systems and fonts in Japan. + + 2. Syaken does not make PostScript Fonts. Their fonts are used + only on Syaken's special phototypesetting machines which many + printing companies use. + + 3. Morisawa made Postscript Fonts in cooperation with Adobe Inc. + It is famous that their fonts have strong software copy + protection. + + 4. There are inexpensive PS fonts called `HEISEI Mincho' and + `HEISEI Gothic' made by the Nippon standard association (I + don't know the exact English name of this association). These + fonts are not so beautiful as Morisawa's PS fonts but cheaper. + + 5. In former times pure PostScript printers only had Morisawa's PS + fonts as builtin fonts. Now there are also pure PS printers + that use builtin Heisei fonts. + + 6. The dvi2ps program outputs Morisawa's font metrics. + + +This document contains no information about the relation about ASCII Nihongo +TeX and Syaken's phototypesetting machines. + +Version 1.0B4 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-tex.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-tex.txt new file mode 100644 index 00000000000..8effc418322 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/jp-tex.txt @@ -0,0 +1,50 @@ +Data: NTT-JTeX's Standard Fonts Environment. + + (La)TeX file + | + +--- dnp-tfm (DNP font metrics) + | + dvi file + | + +-----------------------+-----------------------+ + | | | + dvips-5.58 dvips-5.58 dvi2ps-1.91j + | or dvi2ps-1.91j | or dvi2ps-1.91j | + | | | + real DNP fonts watanabe-dnp fonts Japanese PostScript + (pk fonts) (pk fonts) fonts + | | | + | | | + PostScript PostScript Japanese PostScript + Printer Printer Printer + (or dot Printer (or dot Printer + with GhostScript) with GhostScript) + + 1. Real DNP fonts are commercial fonts sold by DNP. + DNP Fonts are *not* PostScript fonts but PK fonts. + + 2. Watanabe DNP fonts are freeware. That have same font metrics as + real DNP Fonts but have different font names. + + 3. DNP fonts are more beautiful than any available freeware fonts. + (The book written about NTT-JTeX is printed by DNP.) + + 4. NTT-JTeX uses DNP Font Metrics by default. + dvi2ps is standard dviware for NTT-JTeX. + + 5. The printer resident PostScript fonts have no relation to DNP + fonts. + + 6. But dvi2ps use `DNP Font Metrics' to drive printer resident + PostScript fonts. + + 7. Recently PostScript fonts are more used than DNP fonts since + Japanese PostScript printers are now inexpensive in Japan. + + +This document contains no information about TrueType and outline (vector) +fonts. + +Version 1.0B4 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp + + diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/preview.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/preview.txt new file mode 100644 index 00000000000..574eb29925b --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/preview.txt @@ -0,0 +1,39 @@ +Data: NTT-JTeX's Preview Environment. + + (La)TeX file + | + +--- dnp-tfm (DNP fonts metric) + | + dvi file + | + +-----------------------+-----------------------+ + | | | + | | | + real DNP fonts watanabe-dnp fonts Outline fonts + (pk fonts) (pk fonts) (vector fonts) + | | | + xdvi-20 xdvi-20 [ Now investigating ] + + + 1. If you use real DNP fonts or watanabe-dnp fonts for printing, + you should use them to preview dvi files too. + + 2. If you use a Japanese Postscript printer for printing, there + are different possibilities to preview dvi files. + + 1) pk fonts. + + Because dvi files are made from dnp-tfm, you can preview the + dvi files by real DNP fonts or watanabe-dnp fonts. + + Of course Japanese PS fonts are not exactly equal to DNP + fonts. + + 2) outline fonts. + + Outline fonts need less disc space than PK fonts. You can + use outline fonts (often called vector fonts) to preview + them. + + +Version 1.0B3 (1996/02/09) written by tanaka3@ifos.se.fujitsu.co.jp diff --git a/Master/texmf-dist/doc/latex/cjk/doc/japanese/shibuaki.txt b/Master/texmf-dist/doc/latex/cjk/doc/japanese/shibuaki.txt new file mode 100644 index 00000000000..ca317a82fd0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/japanese/shibuaki.txt @@ -0,0 +1,150 @@ + +Handling of space between Kanji and non-Kanji characters. + + +1. Shibuaki or Yonbuaki ($B;MJ,$"$-(B) + + + + <Japanese Text> English word <Japanese Text> + ^ ^ + This point This point + + This space is called "Shibuaki" which has a width of a quarter of a kanji + font width. It is used only between Kanji and non-Kanji characters. + (between Kanji and Kanji only stretchable glue is used; between + ASCII and ASCII ordinary space.) + + +2. Yakumono($BLsJ*(B) + + Here are the rules how and where to use Shibuaki. + +2.1 Yakumono for ASCII characters + + rules: + + 0 No shibuaki between previous kanji character and the ASCII + character, and between next kanji character and the ASCII + character. + + <Kanji character><ASCII character><Kanji Character> + + 1 Shibuaki space only between previous kanji character and the + ASCII character. + + <Kanji character> <ASCII character><Kanji Character> + ^ + shibuaki + + 2 Shibuaki space only between next kanji character and the ASCII + character. + + <Kanji character><ASCII character> <Kanji Character> + ^ + shibuaki + + 3 Shibuaki spaces between kanji characters and ASCII word. + + <Japanese Text> English word <Japanese Text> + ^ ^ + shibuaki shibuaki + + + Rule 3 is always used by all printable ASCII characters without + the following yakumono ASCII characters. + + [This is data from ASCII-Nihongo TeX.] + + % ASCII yakumono characters and the corresponding rules + ( 1 + ) 2 + [ 1 + ] 2 + ` 1 + ' 2 + ; 2 + , 2 + . 2 + +2.2 Yakumono for kanji characters + + rules: + + 0 No shibuaki space between previous ASCII character and the kanji + character, and between next ASCII character and the kanji + character. + + <ASCII character><Kanji character><ASCII character> + + 1 No shibuaki space between previous ASCII character and the kanji + character. + + <ASCII character><Kanji character> <ASCII character> + ^ + shibuaki + + 2 No shibuaki space between next ASCII character and the kanji + character. + + <ASCII character> <Kanji character><ASCII character> + ^ + shibuaki + + 3 Shibuaki spaces between kanji character and ASCII characters + + <ASCII character> <Kanji character> <ASCII character> + ^ ^ + shibuaki shibuaki + + Rule 3 is always used by all kanji characters without the following + yakumono kanji characters. + + [This is data from ASCII-Nihongo TeX.] + + % Kanji yakumono characters and the corresponding rules + $B!"(B 1 + $B!#(B 1 + $B!$(B 1 + $B!%(B 1 + $B!((B 1 + $B!)(B 1 + $B!K(B 1 + $B!J(B 2 + $B!O(B 1 + $B!N(B 2 + $B!Q(B 1 + $B!P(B 2 + $B!F(B 2 + $B!G(B 1 + $B!H(B 2 + $B!I(B 1 + $B!L(B 2 + $B!M(B 1 + $B!R(B 2 + $B!S(B 1 + $B!T(B 2 + $B!U(B 1 + $B!V(B 2 + $B!W(B 1 + $B!X(B 2 + $B!Y(B 1 + $B!Z(B 2 + $B![(B 1 + $B!=(B 0 + $B!A(B 0 + $B!D(B 0 + $B!o(B 0 + $B!k(B 1 + $B!l(B 1 + $B!m(B 1 + + + + +Reference: "Nihongo TeX technical book I" ASCII co. + $BF|K\8l(BTeX$B%F%/%K%+%k%,%$%I(B I $B%"%9%-!<=PHG6I(B + 2200 yen. + + +Version 1.0B1 written by tanaka3@ifos.se.fujitsu.co.jp diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/HOWTO.txt b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/HOWTO.txt new file mode 100644 index 00000000000..1579492ca88 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/HOWTO.txt @@ -0,0 +1,425 @@ +How to make PDF files using CJK/LaTeX with embedded TrueType fonts + +Hin-Tak Leung <htl10@users.sourceforge.net> +December 2003 + + +Introduction +------------ + +Existing CJK/LaTeX instruction for high-quality print-out tends to suggest +permanently converting TrueType fonts (which had a better availability) to +postscript sub-fonts; this document covers how to use TrueType fonts +directly, and also preparing such PDF documents. Today, the PDF output +format is slightly more popular than PostScript; also, even on US English +systems, CJK font packs are available for font substitution in Adobe Acrobat +Reader (and similar mechanisms exist for xpdf and ghostscript), which allows +the generation of PDF files containing only important textual content but no +embedded fonts. Such files are small enough to be e-mailed while preserving +formatting, provided the recipient has the font packs installed. This +document also covers the issues with no-embedded-font PDF files at the very +end as well. + +The following steps are discussed below in greater detail: + + 1. Finding the fonts. + 2. Getting and building some software: ttf2tfm, dvipdfmx. + Some other nice optional software: oto, the other freetype/freetype2 + demo tools, ttfm, ttx. + 3. Using ttf2tfm, generating *.tfm and *.enc files for each font. + 4. Putting the fonts, the *.tfm files, and the *.enc files into the right + place in your system. + 5. Configuring dvipdfmx to use the new fonts. + 6. (optional) Configuring pdflatex to use the new fonts also. + 7. Configuring CJK/LaTeX to use those fonts. + 8. Testing. + 9. Problems and tips. + +I can read both traditional and simplified Chinese, and a substantial amount +of Japanese, but there isn't any Korean-specific info here. Hopefully this +is useful enough as a starting point at least for Korean-related +experiments. + +The two most important references during this venture was the FreeBSD +(Taiwan) Chinese HOWTO (it is substantially better and more up-to-date than +the GNU/Linux one), and Edward G. J. Lee's various treatises on the net, +particularly his `mycjk' notes. Unfortunately both are available in Chinese +only, I believe. + + +1. Fonts +======== + + Chinese + ------- + + Arphic donated 4 high-quality Chinese fonts to the open-source community: + two for traditional and two for simplified Chinese, respectively. They are + shipped with Redhat 9 (which I used for most of this work) and Debian 3 + and possibly also other GNU/Linux distributions; they can be downloaded + from Arphic's home site and, probably more convenient, from + + ftp://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/ + + and its mirrors. Tip: Use `unzip -L' to convert file names to lowercase. + + Redhat 9 also ships zysong, a simplified Chinese font. This font seems to + be licensed to Redhat only since it isn't found in other GNU/Linux + distributions. It is part of the package "ttfonts-zh_CN-2.12-1.noarch.rpm", + together with the two Arphic simplified Chinese fonts, on the 3rd CD + of the Redhat 9 CD set. + + The Ministry of Education in Taiwan released a few fonts for + standardization: Currently two are available from the ministry's home page + (http://www.edu.tw/mandr/index.htm), but there are old versions with + different type faces floating around in the net. + + CwTeX (a Chinese-enabled LaTeX implementation in Taiwan) ships 5 fonts. + (http://ccms.ntu.edu.tw/~ntut019/cwtex/cwtex.html) + + Still available is the set of 8 TrueType fonts from NTU which were widely + used previously for CJK/LaTeX documents (http://input.cpatch.org/font/ntu/). + + There is also a set of 10 quite fancy and unusual fonts for traditional + Chinese, developed by Dr Hann-Tzong Wang + (http://140.135.64.77/teacher/htwang/htwang.htm). It is distributed as + one of the standard font sets for FreeBSD Taiwan. + (http://www.freebsd.org/cgi/pds.cgi?ports/chinese/wangttf). + + Japanese + -------- + + Redhat 9 and SuSE both ship the Kochi Gothic and Mincho fonts; Debian + ships Watanabe Mincho and Wadalab Gothic as part of the XTT TrueType font + server. The packages are: "ttfonts-ja-1.2-21.noarch.rpm" on the 3rd disc + of the Redhat 9 CD set, "ttf-kochi-mincho-0.2.20020727-81.noarch.rpm" and + "ttf-kochi-gothic-0.2.20030118-17.noarch.rpm" on SuSe 8.2, + "xtt-fonts" for Debian systems. + + Other source of fonts (e.g. Win2k/WinXP/Win2k3 ships a few as standard, + and also localized version of MS Office, etc.) are mostly proprietary. + + These instructions are known to work on those also, but I don't want to + go into specific details... + + +2. ttf2tfm and dvipdfmx +======================= + + The specific details about compiler switches, include paths, are for + the Redhat 9 distribution. You may have to adapt them. + + ttf2tfm + ------- + + ttf2tfm is part of ttf2pk package which is itself part of + freetype-contrib, a suite of programs depending on the FreeType 1 library. + Most GNU/Linux systems ship both FreeType 2 and FreeType 1 (that's the + case for RH9, in fact), which are *not* compatible. So I decided to build + the latest FreeType 1 static version and made freetype-contrib depend on + that to avoid using the out-dated library shipped with my system. The + mentioned packages can be downloaded from ftp.freetype.org. + + Unpack freetype-current (adapt the `/home/hleung' part to suit yourself), + then do + + cd /home/hleung/freetype-current + ./configure --enable-static --disable-shared --prefix=/home/hleung + make + + Now unpack freetype-contrib-current inside the freetype-current tree, then + do + + cd freetype-contrib-current/ttf2pk + CFLAGS=-I../../lib/ LDFLAGS=-L../../lib/.libs ./configure \ + --with-kpathsea-lib=/usr/lib --with-kpathsea-include=/usr/include + make + make install + + Important: At the end, you need to manually copy the data/*.sfd files into + ${TEXMF}/ttf2tfm and also ${TEXMF}/ttf2pk (a soft link from + ${TEXMF}/ttf2tfm to ${TEXMF}/ttf2pk will do also). + + [The recent TeX directory structure (TDS), version 1.1, comes with a new + subdirectory fonts/sfd, to be accessed with the kpathsea variable + $SFDFONTS. ttf2tfm and other programs available in the TeXLive + distribution have already been updated to use it.] + + The man pages of ttf2tfm and ttf2pk give detailed explanation of all + command line arguments. + + Tip: I find a utility called "checkinstall" quite useful. Instead of `make + install' one calls `checkinstall' which does the same as `make install' + but also integrates the data nicely into the package management system for + Redhat/Debian/Slackware; this gives cleaner upgrades and uninstalls. + + dvipdfmx + -------- + + http://project.ktug.or.kr/dvipdfmx/ + + For dvipdfmx I use + + CFLAGS='-I/usr/kerberos/include -O2 -march=i386 -mcpu=i686' ./configure + make + make install + + The include path is due to dependency on the kerberos library for PDF + encryption. Important: The 10 Wang fonts have some peculiarities; I + submitted a preliminary patch which the author has much refined and + incoporated into a new release. You need a version newer than 2003-08-11 + if you want to use this set of fonts. From the ChangLog of dvipdfmx: + + 2003-08-11 Jin-Hwan Cho <chofchof@ktug.or.kr> + * A faked font name was used for TrueType fonts without any PS + font name as suggested by Hin-Tak Leung. + + [The recent TeX directory structure (TDS), version 1.1, comes with a new + subdirectory fonts/sfd, to be accessed with the kpathsea variable + $SFDFONTS. dvipdfmx and other programs available in the TeXLive + distribution have already been updated to use it.] + + +3. Generating ttf and enc files +=============================== + + OpenType Organizer (oto) : http://sourceforge.net/projects/oto/ + True Type Font Manager (ttfm): + - part of Chinese GNU/Linux Extention http://cle.linux.org.tw/ + + You need to know what cmap (character map) the TrueType font (*.ttf or + *.ttc) contains. The utility programs oto, ftdump (two versions! -- + FreeType 1 and FreeType 2 both have this demo program, showing quite + different information), and ttfinfo (part of ttfm) can show this info, and + some other information about your font as well. Only ftdump works on + TrueType collections (*.ttc), but the other two have their strengths also + (ttfinfo gives the most straightforward info, while oto gives some details + that ftdump doesn't show). + + For detailed information on cmaps in a font you can use ttx, a tool to + assemble and disassemble OpenType fonts. It is available from + http://fonttools.sf.net. + + If there is a Unicode cmap you can use ttf2tfm's `U*.sfd' files (see the + `@...@' argument for ttf2tfm); the command line for ttf2tfm is simpler + also. Otherwise you need to specify the platform (-P) and encoding (-E) + IDs. + + Here is what works for me for the fonts I mentioned. Important: The font + stem name needs to be unique. Additionally, dvipdfmx doesn't like numbers + in the font stem name. I use a 4-letter combination. By LaTeX convention + it shouldn't be longer than 5 letters. + + ttf2tfm bkai00mp.ttf -q -w bkai@UBig5@ + ttf2tfm bsmi00lp.ttf -q -w bsmi@UBig5@ + ttf2tfm gbsn00lp.ttf -q -w gbsn@UGB@ + ttf2tfm gkai00mp.ttf -q -w gkai@UGB@ + + ttf2tfm zysong.ttf -q -w zysg@UGB@ + + ttf2tfm kai-linux.ttf -P 3 -E 4 -q -w mekl@Big5@ + ttf2tfm edustd-15.ttf -P 3 -E 4 -q -w mest@Big5@ + ttf2tfm moe_kai.ttf -P 3 -E 4 -q -w meko@Big5@ + ttf2tfm moe_sung.ttf -P 3 -E 4 -q -w meso@Big5@ + + ttf2tfm ntu_li_m.ttf -P 3 -E 4 -q -w ntli@Big5@ + ttf2tfm ntu_br.ttf -P 3 -E 4 -q -w ntbr@Big5@ + ttf2tfm ntu_fs_m.ttf -P 3 -E 4 -q -w ntfs@Big5@ + ttf2tfm ntu_kai.ttf -P 3 -E 4 -q -w ntka@Big5@ + ttf2tfm ntu_mb.ttf -P 3 -E 4 -q -w ntmb@Big5@ + ttf2tfm ntu_mm.ttf -P 3 -E 4 -q -w ntmm@Big5@ + ttf2tfm ntu_mr.ttf -P 3 -E 4 -q -w ntmr@Big5@ + ttf2tfm ntu_tw.ttf -P 3 -E 4 -q -w nttw@Big5@ + + ttf2tfm mttf.ttf -q -w cwtm@UBig5@ + ttf2tfm kttf.ttf -q -w cwtk@UBig5@ + ttf2tfm fttf.ttf -q -w cwtf@UBig5@ + ttf2tfm bbttf.ttf -q -w cwtb@UBig5@ + ttf2tfm rttf.ttf -q -w cwtr@UBig5@ + + ttf2tfm kochi-gothic.ttf -w kcgt@UJIS@ + ttf2tfm kochi-mincho.ttf -w kcmc@UJIS@ + + ttf2tfm wadalab-gothic.ttf -P 3 -E 2 -w wdgt@SJIS@ + ttf2tfm watanabe-mincho.ttf -P 3 -E 2 -w wnmc@SJIS@ + + The Wang's font set has some unusual properties, and need either + a new version of freetype 1 (after 2003-10 from CVS), or a slightly + modified "Big5.sfd", called "wcl.sfd" here: + + ttf2tfm wcl-01.ttf -P 3 -E 4 -q -w wclj@wcl@ + ttf2tfm wcl-02.ttf -P 3 -E 4 -q -w wclk@wcl@ + ttf2tfm wcl-03.ttf -P 3 -E 4 -q -w wcll@wcl@ + ttf2tfm wcl-04.ttf -P 3 -E 4 -q -w wclm@wcl@ + ttf2tfm wcl-05.ttf -P 3 -E 4 -q -w wcln@wcl@ + ttf2tfm wcl-06.ttf -P 3 -E 4 -q -w wclp@wcl@ + ttf2tfm wcl-07.ttf -P 3 -E 4 -q -w wclq@wcl@ + ttf2tfm wcl-08.ttf -P 3 -E 4 -q -w wclr@wcl@ + ttf2tfm wcl-09.ttf -P 3 -E 4 -q -w wcls@wcl@ + ttf2tfm wcl-10.ttf -P 3 -E 4 -q -w wclt@wcl@ + + As an example, here is what I do for a well-known proprietary simplified + Chinese font which has only a cmap for simplified Chinese: + + ttf2tfm gkai00m.ttf -P 3 -E 3 -q -w gkaim@EUC@ + + Here an example for a TrueType collection: + + ttf2tfm dcai5.ttc -q -w dcaiq@UJIS@ + + +4. Putting the files where they should be +========================================= + + This is somewhat related to how kpathsea works and how latex (the program) + find its files. It is possible to set individual environment variables for + each of these items, but it is easier to set one: $TEXMF to a list of + locations, with a tree parallel to the system tree. Then do the following: + + . Put the *.tfm files into a subdirectory of ${TEXMF}/fonts/tfm. + . Put the *.enc files into a subdirectory of ${TEXMF}/dvips. + . Put the *.ttf (or *.ttc) files into a subdirectory of + ${TEXMF}/fonts/truetype. + . Put the *.sfd files into ${TEXMF}/ttf2tfm or a subdirectory of it. + Don't forget to either copy them into ${TEXMF}/ttf2pk also or to set up + a link from ${TEXMF}/ttf2pk to ${TEXMF}/ttf2tfm. + + Reason: dvipdfmx searches SFD files (which it needs for reassembling) + under ${TEXMF}/ttf2pk although we don't use ttf2pk anywhere. ttf2tfm + looks for them under its own name, of course. + + [The recent TeX directory structure (TDS), version 1.1, comes with a new + subdirectory fonts/sfd, to be accessed with the kpathsea variable + $SFDFONTS. dvipdfmx and other programs available in the TeXLive + distribution have already been updated to use it.] + + Important: Run texhash (mktexlsr) to rebuild the kpathsea database, + otherwise files won't be found. You have been warned! + + +5., 6. Configuring dvipdfmx and (optionally) pdflatex +===================================================== + + cid-x.map, dvipdfmx.cfg, *.map + + See for example, my own "cid-x.map" for the main font config file of + dvipdfmx -- all my own customization is at the very end after the line + "Hin-Tak Leung's custom setup below:". For each font xxxx, one needs + to add a line "f xxxx.map" into "dvipdfmx.cfg", and a fontmap + file "xxxx.map" into the dvipdfmx config directory -- + ${TEXMF}/dvipdfm/config/ on my system (the missing + "x" is not a typo, as dvipdfmx originally derived from dvipdfm). + I have included cwbt.map, for one of the CwTeX fonts, as an example, + and my dvipdfmx.cfg as well. + + Because I have a fair number of fonts I like to add, I wrote a little + perl script "gen-map.pl", which generates all the *.map files plus + a file called "map.list" which I can simply append to dvipdfmx.cfg, + from an internal table at the very top of the script. + + pdflatex needs the same fontmap files for each new font - copy them into + ${TEXMF}/dvips/config/. Modify the updmap script which is used for + updating both pdflatex.cfg and dvips.cfg, and run the updmap script. + On teTeX 1.0.x, one needs to add to the "extra_modules=" entry the + *.map files for each font. My modified updmap is included as an + example "updmap.my", found as "/usr/share/texmf/dvips/config/updmap" on + a RH 9 system. On teTeX 2.0.x, updmap has a separate config file + updmap.cfg located in ${TEXMF}/web2c/. + + +7. Configuring CJK/LaTeX +======================== + + Copy the whole `texinput' directory of the CJK package into a directory + which is in your $TEXINPUTS path. Also create some new *.fd files there. + My "c00cwtb.fd" is included as an example; again, since I have quite + a few font files, I have created some template fd files as c*tmpl.fd, + and duplicating and change every "tmpl" string to "cwtb" inside + as needed like this: + cp c00tmpl.fd c00cxtb.fd + perl -pi -e "s/tmpl/cwtb/;" c00cwtb.fd + + If you use Big5 or Shift-JIS encoding, compile the bg5conv and + sjisconv utilities; under Unix-like systems you can use the bg5pdflatex + and sjispdflatex scripts to access them conveniently. + + +8. Testing +========== + + Just pick the relevant files in the CJK/examples directory and change the + font name to match. Either call pdflatex or call latex followed by + dvipdfmx. In general, I found that dvipdfmx generates much smaller files + (1/3 to 1/2 size). + + +9. Problems +=========== + + a. files can't be found + + This is the most frequent problem. Setting the environment variable + KPATHSEA_DEBUG to -1 activates full debugging; you can then check + how latex/dvipdfmx/pdflatex tries to find those files. See the + kpathsea info pages for more details on debugging output. + + For latex (the program) you only need the new custom-made *.fd files, + the files from CJK/texinput, and the tfm files. The *.fd files could be + broken -- check their contents. latex (the program) neither needs the + *.enc files nor the font files themselves. + + If latex (the program) works, but dvipdfmx doesn't, then your dvipdfmx + configuration probably needs some tuning. Alternatively, the map files + or the font files are not found, etc. Note that dvipdfmx neither needs + the tfm files, nor the CJK/LaTeX input files, but it does need the + enc files. + + pdflatex does everything in one step, so everything needs to be in the + right place. + + b. Acrobat on GNU/Linux doesn't print PDF files generated with dvipdfmx + + The problem is probably caused by ghostscript version 7.x which chokes + on the intermediate postscript file under some command options. + Upgrading to ghostscript 8.x should fix this printfilter problem. It is + *strongly* recommended to use ghostscript 8.11 or newer due to severe + problems with earlier versions. + + c. no-font-embedded PDF files + + This is quite simple to do with dvipdfmx: Just put an extra `!' + (exclamation mark) in the dvipdfmx configuration file in front of the + font which shouldn't be embedded. + + A problem can arise if the PDF reader is not able to find a proper + substitution font if the font specified in the document isn't available. + I did some investigation and had a long discussion with the author of + dvipdfmx about this. Basically, it seems that win32 Acrobat Reader 6.x + will substitute any missing fonts with fonts from the Adobe CJK font + packs or from the system. Acrobat reader 5.x for GNU/Linux will only do + so -- and only with fonts from the CJK packs, not from the X server -- + if the font name is one of the well-known ones for that region: + SimHei, SimSun (found on most MS Windows boxes), and some fonts of Arphic + and Dynafont which are very popular in the far east. Otherwise, + it aborts with an error message. + + Besides the proprietary fonts mentioned in the last paragraph, only + Wang's fonts can be configured currently to be not embedded so that + acroread on GNU/Linux accepts them. I have spent much time looking + into this issue and apparently Acroread on GNU/Linux seems to do + font substitutions by looking at the capital letters in the font name. + Due to the missing PS name of the Wang's fonts (and our dvipdfmx + work-around on 2003-08-11 using the file name -- happened to be all + lowercase -- as the missing font name), they work by luck. + + Both xpdf and ghostscript will substitute any missing fonts with a + specific font per language, if suitably configured. On Redhat 9, the + heavily adapted ghostscript will substitute automatically if some named + fonts from the CD are installed (without any extra effort); for xpdf it + is an extra few lines of configuration in ${HOME}/.xpdfrc to tell it + what font to use from the X server for substituting a missing font for a + particular language. So ghostscript works out of the box for a full RH + installation, whereas xpdf doesn't, but xpdf is more configurable and + the setting of what fall-back font to use can differ per user. + +--- end --- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/bkai.map b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/bkai.map new file mode 100644 index 00000000000..71d205d501f --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/bkai.map @@ -0,0 +1,55 @@ +bkai01 bkai01 <bkai01.enc <bkai00mp.ttf +bkai02 bkai02 <bkai02.enc <bkai00mp.ttf +bkai03 bkai03 <bkai03.enc <bkai00mp.ttf +bkai04 bkai04 <bkai04.enc <bkai00mp.ttf +bkai05 bkai05 <bkai05.enc <bkai00mp.ttf +bkai06 bkai06 <bkai06.enc <bkai00mp.ttf +bkai07 bkai07 <bkai07.enc <bkai00mp.ttf +bkai08 bkai08 <bkai08.enc <bkai00mp.ttf +bkai09 bkai09 <bkai09.enc <bkai00mp.ttf +bkai10 bkai10 <bkai10.enc <bkai00mp.ttf +bkai11 bkai11 <bkai11.enc <bkai00mp.ttf +bkai12 bkai12 <bkai12.enc <bkai00mp.ttf +bkai13 bkai13 <bkai13.enc <bkai00mp.ttf +bkai14 bkai14 <bkai14.enc <bkai00mp.ttf +bkai15 bkai15 <bkai15.enc <bkai00mp.ttf +bkai16 bkai16 <bkai16.enc <bkai00mp.ttf +bkai17 bkai17 <bkai17.enc <bkai00mp.ttf +bkai18 bkai18 <bkai18.enc <bkai00mp.ttf +bkai19 bkai19 <bkai19.enc <bkai00mp.ttf +bkai20 bkai20 <bkai20.enc <bkai00mp.ttf +bkai21 bkai21 <bkai21.enc <bkai00mp.ttf +bkai22 bkai22 <bkai22.enc <bkai00mp.ttf +bkai23 bkai23 <bkai23.enc <bkai00mp.ttf +bkai24 bkai24 <bkai24.enc <bkai00mp.ttf +bkai25 bkai25 <bkai25.enc <bkai00mp.ttf +bkai26 bkai26 <bkai26.enc <bkai00mp.ttf +bkai27 bkai27 <bkai27.enc <bkai00mp.ttf +bkai28 bkai28 <bkai28.enc <bkai00mp.ttf +bkai29 bkai29 <bkai29.enc <bkai00mp.ttf +bkai30 bkai30 <bkai30.enc <bkai00mp.ttf +bkai31 bkai31 <bkai31.enc <bkai00mp.ttf +bkai32 bkai32 <bkai32.enc <bkai00mp.ttf +bkai33 bkai33 <bkai33.enc <bkai00mp.ttf +bkai34 bkai34 <bkai34.enc <bkai00mp.ttf +bkai35 bkai35 <bkai35.enc <bkai00mp.ttf +bkai36 bkai36 <bkai36.enc <bkai00mp.ttf +bkai37 bkai37 <bkai37.enc <bkai00mp.ttf +bkai38 bkai38 <bkai38.enc <bkai00mp.ttf +bkai39 bkai39 <bkai39.enc <bkai00mp.ttf +bkai40 bkai40 <bkai40.enc <bkai00mp.ttf +bkai41 bkai41 <bkai41.enc <bkai00mp.ttf +bkai42 bkai42 <bkai42.enc <bkai00mp.ttf +bkai43 bkai43 <bkai43.enc <bkai00mp.ttf +bkai44 bkai44 <bkai44.enc <bkai00mp.ttf +bkai45 bkai45 <bkai45.enc <bkai00mp.ttf +bkai46 bkai46 <bkai46.enc <bkai00mp.ttf +bkai47 bkai47 <bkai47.enc <bkai00mp.ttf +bkai48 bkai48 <bkai48.enc <bkai00mp.ttf +bkai49 bkai49 <bkai49.enc <bkai00mp.ttf +bkai50 bkai50 <bkai50.enc <bkai00mp.ttf +bkai51 bkai51 <bkai51.enc <bkai00mp.ttf +bkai52 bkai52 <bkai52.enc <bkai00mp.ttf +bkai53 bkai53 <bkai53.enc <bkai00mp.ttf +bkai54 bkai54 <bkai54.enc <bkai00mp.ttf +bkai55 bkai55 <bkai55.enc <bkai00mp.ttf diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cid-x.map b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cid-x.map new file mode 100644 index 00000000000..595d421b813 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cid-x.map @@ -0,0 +1,364 @@ +%% FONTMAP: CID-keyed font mapping file for dvipdfmx +%% ================================================= +%% +%% Last modified: April 2, 2002 +%% +%% +%% SYNOPSIS +%% -------- +%% +%% TFMNAME[@SFDNAME@] ENCNAME [:INDEX:][!]FONTNAME[,VARIANT] [OPTIONS] +%% +%% +%% DESCRIPTION +%% ----------- +%% +%% 1) TFMNAME[@SFDNAME@] +%% +%% TFM name is specified in the field `TFMNAME' without extension (.tfm), +%% and the subfont definition name in the field `SFDNAME' without +%% extension (.sfd). For example, jbtm@UKS@ specifies the TFM names, +%% jbtm01 - jbtm35, used in the CJK package. +%% +%% 2) ENCNAME +%% +%% CMap resource name is specified in the field `ENCNAME'. It is used in +%% dvipdfmx to convert double-byte character codes to CID numbers. +%% For more details, see `doc/README'. +%% +%% 3) [:INDEX:][!]FONTNAME[,VARIANT] +%% +%% Font name is specified in the field `FONTNAME' with or without +%% extension. The field `INDEX' is used for TrueType collections (.ttc) +%% to specify the font index number. In the case of ordinary TrueType +%% fonts (.ttf) the field should be `0'. The character `!' enables the +%% no-embedding option. The stylistic variants (Bold, Italic, BoldItalic) +%% are specified in the filed `VARIANT'. See examples below. +%% +%% 4) [OPTIONS] +%% +%% All options available in the original dvipdfm are also valid here. +%% However, the slant option [-s number] is ignored for vertical mode, +%% and the remap option [-r] is always ignored since it doesn't make +%% sense for CID-keyed fonts. +%% +%% +%% ** IMPORTANT ** +%% +%% There is no default CMap, and the keyword `none' in the `ENCNAME' field is +%% not allowed for CID-keyed font. Valid CMap name should be recorded in the +%% `ENCNAME' field. Otherwise, the font will not be treated as a CID-keyed font. +%% +%% The format of the font mapping file is not compatible with the jpatch patch +%% which expects keyword `none' or `default' in the `ENCNAME' field. +%% +%% Be sure that all CMaps used in the font mapping file are under the directory +%% `${TEXMF}/dvipdfm/CMap', and all subfont definition files under the +%% directory `${TEXMF}/dvipdfm/base'. CMap file name should coincide with CMap +%% name. +%% +%% +%% EXAMPLES +%% -------- +%% +%% 1) Pre-defined CIDFonts +%% +%% Minimal font information required by PDF viewers are available from +%% dvipdfmx built-in data. The built-in data does not contain any glyph +%% data required to render actual shape of each characters. Hence, PDF +%% viewers must substitute those fonts with suitable one available from +%% the system. The reproducibility and the correctness of document layout +%% opened on the remote system is not always guaranteed, however, it seems +%% not to cause any problems in general if you does not use special +%% characters in your document. Please use those fonts if you are sure that +%% all peoples that receives your documents have usable fonts installed on +%% their system. It greatly reduces size of resulting PDF documents because +%% no glyph data are embedded. +%% +%% Here is the list of pre-defined CIDFonts in dvipdfmx. +%% +%% --------------------------------------------------------- +%% Language Acrobat pre-defined CIDFonts +%% --------------------------------------------------------- +%% Chinese/Simplified STSong-Light +%% Chinese/Traditional MHei-Medium, MSung-Light +%% Japanese HeiseiMin-W3, HeiseiKakuGo-W5 +%% Korean HYGoThic-Medium, HYSMyeongJo-Medium +%% --------------------------------------------------------- + +%rml H HeiseiMin-W3 +%gbm H HeiseiKakuGo-W5 +%rmlv V HeiseiMin-W3 +%gbmv V HeiseiKakuGo-W5 + +%% ** PostScript "standard" fonts (Japanese) are also pre-defined. +%% +%% Ryumin-Light, GothicBBB-Medium (Adobe-Japan1-2) + +rml H Ryumin-Light +gbm H GothicBBB-Medium +rmlv V Ryumin-Light +gbmv V GothicBBB-Medium + +%% Note. If you apply vertical version (WMode 1) of CMaps to horizontal +%% fonts (e.g., rml), dvipdfmx does horizontal positioning while PDF +%% viewers apply vertical positioning for that font. +%% +%% Note. On some Mac platforms, Ryumin-Light and GothicBBB-Medium are not +%% handled properly by Adobe products. Especially, if you have those fonts +%% in the OCF format, you may want to avoid them. +%% +%% +%% 2) OpenType CIDFonts (CIDFontType0) +%% +%% Postscript CID-keyed fonts are supported only in the CFF OpenType format +%% with Type 2 charstrings. +%% +%% o Kozuka-Mincho sold by Adobe: + +kml H KozMinPro-Regular.otf + +%% o CFF/OpenType version of Kochi CIDFont: + +kochi-min H Kochi-Mincho.otf +kochi-got H Kochi-Gothic.otf + +%% The suffix `.otf' is optional. Please use suffix `.otf' if needed. +%% +%% +%% 3) TrueType CIDFonts (CIDFontType2) +%% +%% TrueType (.ttf) and TrueType collection (.ttc) are supported. +%% +%% o Japanese MS-Windows fonts + +msmin H :0:msmincho +msgot H :0:msgothic + +%% MS-Mincho with proportional latin and kana: + +msminp H :1:msmincho + +%% o Kochi is TrueType (not a collection): + +kmin H :0:kochi-mincho +kgot H :0:kochi-gothic + +%% o Korean MS-Windows fonts with stylistic variants (no-embedding) + +%jbtm@UKS@ UniKS-UCS2-H :0:!batang.ttc +%jbtmo@UKS@ UniKS-UCS2-H :0:!batang.ttc,Italic +%jbtb@UKS@ UniKS-UCS2-H :0:!batang.ttc,Bold +%jbtbo@UKS@ UniKS-UCS2-H :0:!batang.ttc,BoldItalic + +%% o Baekmuk fonts (used with HLaTeX package) + +%bbtm@KS-HLaTeX@ KSCms-UHC-H :0:batang.ttf +%bbtmo@UKS-HLaTeX@ UniKS-UCS2-H :0:batang.ttf -s .167 + + +%% Font Licensing Issue +%% -------------------- +%% +%% If you try to use the following font, + +hgskai H :0:hgrsksj + +%% you will see the following message: +%% +%% ** Embedding disabled due to licensing restriction ** +%% +%% As this message indicates, font embedding is disabled because embedding +%% is not allowed for this font. Also, please note that any documents that +%% contains font with `Preview & Print' embedding licensing can be opened +%% only for the purpose of previewing and/or printing. When fonts with this +%% type of license are encountered, you will see the following message: +%% +%% ** NOTICE: This document contains `Preview & Print' only licensed font ** +%% +%% In this case, you cannot distribute resulting PDF document if you are not +%% absolutely sure that you are not violating license you acquired. +%% +%% +%% Other Encodings +%% --------------- +%% +%% Only 16-bit encodings are supported. The DVI format specification allows +%% 24-bit and 32-bit (signed) long character codes, though. +%% +%% 1) JIS C 6226 (JIS78) character set with NEC extensions, ISO-2022-JP encoding: + +rmlx Ext-H Ryumin-Light + +%% or Shift-JIS encoding: + +rmlsjx Ext-RKSJ-H Ryumin-Light + +%% 2) Hojo-Kanji (JIS X 0212-1990): Adobe-Japan2 character collection + +hjmin Hojo-H :0:msmincho +hjminv Hojo-V :0:msmincho + +%% You need ToUnicode CMap for the Adobe-Japan2 character collection. +%% If you cannot find it, copy and paste from the "ToUnicode Mapping File +%% Tutorial" (Adobe Technical Note #5411). Please change the CMap name and +%% the ordering string from `Adobe-Japan2-000' to `Adobe-Japan2-UCS2' and +%% from `Adobe_Japan2_000' to `Adobe_Japan2_UCS2', respectively. You must +%% save it as Adobe-Japan2-UCS2. +%% +%% 3) Unicode encodings, Omega requires them. (not fully tested.) +%% +%% o Chinese + +ombkai UniCNS-UCS2-H :0:bkai00mp +ombsmi UniCNS-UCS2-H :0:bsmi00lp +omgkai UniGB-UCS2-H :0:gkai00mp +omgbsn UniGB-UCS2-H :0:gbsn00lp + +%% o Japanese + +omrml UniJIS-UCS2-H Ryumin-Light + +%% o Korean + +omgtm UniKS-UCS2-H HYGoThic-Medium +omubt UniKS-UCS2-H :0:batang + +%% 4) UTF8 encodings with CJK package +%% +%% It is possible to use several languages in a document with CJK package +%% via the UTF8 encoding. + +cyberb@Unicode@ Identity-H :0:cyberbit.ttf + +%% Bitstream Cyberbit font is available at: +%% +%% http://ftp.netscape.com/pub/communicator/extras/fonts/windows/ReadMe.htm +%% +%% +%% Custom CMap and Specialized Font +%% -------------------------------- +%% +%% All TrueType font should have TrueType cmap (character codes to +%% glyph indices mapping) table with platform ID 3, and encoding ID +%% 1. If you are using CMap `Dummy-H' having, say, registry string +%% `My' and ordering string `Ordering' to map character codes used in +%% the DVI file to CIDs, you must also have CMap resource named +%% `My-Ordering-UCS2' (for encoding ID 1) which defines mapping from +%% CID to character code used in the TrueType font: +%% +%% myfont Dummy-H :0:myfont.ttf +%% +%% Some font that have 511 glyphs (one for .notdef), split into two +%% single-byte fonts for use with `plain' TeX, tied up to a single +%% CID-keyed font: +%% +%% math1 Math-Symbol1 :0:msymbol.ttf +%% math2 Math-Symbol2 :0:msymbol.ttf +%% +%% Arabic as CID-Keyed font: +%% +%% omarb UniArab-UCS2 :0:arabuni.ttf +%% +%% At present, accessing glyphs via glyph indices directly is not supported. +%% It will be supported if someone need it. +%% +%% Please make your CMap resource file as simple as possible. The built-in +%% CMap parser will fail if the structure of CMap file is too complicated. +%% +%% +%% TODO +%% ---- +%% +%% o Supports TrueType UCS4 cmap table +%% +%% o Supports TrueType Symbol cmap table (under consideration) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Hin-Tak Leung's custom setup below: % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +cwtb@UBig5@ UniCNS-UCS2-H :0:bbttf.ttf +cwtf@UBig5@ UniCNS-UCS2-H :0:fttf.ttf +cwtk@UBig5@ UniCNS-UCS2-H :0:kttf.ttf +cwtm@UBig5@ UniCNS-UCS2-H :0:mttf.ttf +cwtr@UBig5@ UniCNS-UCS2-H :0:rttf.ttf +% +mekl@Big5@ ETen-B5-H :0:kai-linux.ttf +mest@Big5@ ETen-B5-H :0:edustd-15.ttf +mesx@Big5@ ETen-B5-H :0:edustds1.ttf +mesy@Big5@ ETen-B5-H :0:edustds2.ttf +meko@Big5@ ETen-B5-H :0:moe_kai.ttf +meso@Big5@ ETen-B5-H :0:moe_sung.ttf +% +bkai@UBig5@ UniCNS-UCS2-H :0:bkai00mp.ttf +bsmi@UBig5@ UniCNS-UCS2-H :0:bsmi00lp.ttf +% +gbsn@UGB@ UniGB-UCS2-H :0:gbsn00lp.ttf +gkai@UGB@ UniGB-UCS2-H :0:gkai00mp.ttf +% +ntbr@Big5@ ETen-B5-H :0:ntu_br.ttf +ntfs@Big5@ ETen-B5-H :0:ntu_fs_m.ttf +ntka@Big5@ ETen-B5-H :0:ntu_kai.ttf +ntli@Big5@ ETen-B5-H :0:ntu_li_m.ttf +ntmb@Big5@ ETen-B5-H :0:ntu_mb.ttf +ntmm@Big5@ ETen-B5-H :0:ntu_mm.ttf +ntmr@Big5@ ETen-B5-H :0:ntu_mr.ttf +nttw@Big5@ ETen-B5-H :0:ntu_tw.ttf +% +wclj@Big5@ ETen-B5-H :0:wcl-01.ttf +wclk@Big5@ ETen-B5-H :0:wcl-02.ttf +wcll@Big5@ ETen-B5-H :0:wcl-03.ttf +wclm@Big5@ ETen-B5-H :0:wcl-04.ttf +wcln@Big5@ ETen-B5-H :0:wcl-05.ttf +wclp@Big5@ ETen-B5-H :0:wcl-06.ttf +wclq@Big5@ ETen-B5-H :0:wcl-07.ttf +wclr@Big5@ ETen-B5-H :0:wcl-08.ttf +wcls@Big5@ ETen-B5-H :0:wcl-09.ttf +wclt@Big5@ ETen-B5-H :0:wcl-10.ttf +% +zysg@UGB@ UniGB-UCS2-H :0:zysong.ttf +% +wnmc@SJIS@ Ext-RKSJ-H :0:watanabe-mincho.ttf +wdgt@SJIS@ Ext-RKSJ-H :0:wadalab-gothic.ttf +% +kcgt@UJIS@ UniJIS-UCS2-H :0:kochi-gothic.ttf +kcmc@UJIS@ UniJIS-UCS2-H :0:kochi-mincho.ttf +% +ykah@Big5@ ETen-B5-H :0:yka00hp.ttf +gtrl@Big5@ ETen-B5-H :0:gtr00lp.ttf +gtrm@Big5@ ETen-B5-H :0:gtr00mp.ttf +leim@Big5@ ETen-B5-H :0:lei00mp.ttf +heim@Big5@ ETen-B5-H :0:hei01mp.ttf +sunm@Big5@ ETen-B5-H :0:sun00mp.ttf +% +gbsnl@EUC@ GB-EUC-H :0:gbsn00l.ttf +ggtrl@EUC@ GB-EUC-H :0:ggtr00l.ttf +gkaim@EUC@ GB-EUC-H :0:gkai00m.ttf +gleim@EUC@ GB-EUC-H :0:glei00m.ttf +gsinm@EUC@ GB-EUC-H :0:gsin00m.ttf +tgtrl@EUC@ GB-EUC-H :0:tgtr00l.ttf +tkaim@EUC@ GB-EUC-H :0:tkai00m.ttf +tleim@EUC@ GB-EUC-H :0:tlei00m.ttf +tooru@EUC@ GB-EUC-H :0:toor00u.ttf +tovru@EUC@ GB-EUC-H :0:tovr00u.ttf +tsinm@EUC@ GB-EUC-H :0:tsin00m.ttf +% +dcaiq@UJIS@ UniJIS-UCS2-H :0:dcai5.ttc +dcailq@UJIS@ UniJIS-UCS2-H :0:dcail5.ttc +dcaisq@UJIS@ UniJIS-UCS2-H :0:dcais5.ttc +dccryq@UJIS@ UniJIS-UCS2-H :0:dccry5.ttc +dchgmq@UJIS@ UniJIS-UCS2-H :0:dchgm5.ttc +dchleiq@UJIS@ UniJIS-UCS2-H :0:dchlei5.ttc +dcinlq@UJIS@ UniJIS-UCS2-H :0:dcinl5.ttc +dckgmc@UJIS@ UniJIS-UCS2-H :0:dckgmc.ttc +dclkaiq@UJIS@ UniJIS-UCS2-H :0:dclkai5.ttc +dcysmr@UJIS@ UniJIS-UCS2-H :0:dcysm7.ttc +dfcrdp@UJIS@ UniJIS-UCS2-H :0:dfcrd3.ttc +dffrsp@UJIS@ UniJIS-UCS2-H :0:dffrs3.ttc +dfgskr@UJIS@ UniJIS-UCS2-H :0:dfgsk7.ttc +dfkaie@UJIS@ UniJIS-UCS2-H :0:dfkaie.ttc +dfkbtp@UJIS@ UniJIS-UCS2-H :0:dfkbt3.ttc +dfoyjq@UJIS@ UniJIS-UCS2-H :0:dfoyj5.ttc +dfryss@UJIS@ UniJIS-UCS2-H :0:dfrys9.ttc +dfshtq@UJIS@ UniJIS-UCS2-H :0:dfsht5.ttc +dfshtr@UJIS@ UniJIS-UCS2-H :0:dfsht7.ttc +dfskair@UJIS@ UniJIS-UCS2-H :0:dfskai7.ttc diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cwtb.map b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cwtb.map new file mode 100644 index 00000000000..964c65c84a1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/cwtb.map @@ -0,0 +1,55 @@ +cwtb01 cwtb01 <cwtb01.enc <bbttf.ttf +cwtb02 cwtb02 <cwtb02.enc <bbttf.ttf +cwtb03 cwtb03 <cwtb03.enc <bbttf.ttf +cwtb04 cwtb04 <cwtb04.enc <bbttf.ttf +cwtb05 cwtb05 <cwtb05.enc <bbttf.ttf +cwtb06 cwtb06 <cwtb06.enc <bbttf.ttf +cwtb07 cwtb07 <cwtb07.enc <bbttf.ttf +cwtb08 cwtb08 <cwtb08.enc <bbttf.ttf +cwtb09 cwtb09 <cwtb09.enc <bbttf.ttf +cwtb10 cwtb10 <cwtb10.enc <bbttf.ttf +cwtb11 cwtb11 <cwtb11.enc <bbttf.ttf +cwtb12 cwtb12 <cwtb12.enc <bbttf.ttf +cwtb13 cwtb13 <cwtb13.enc <bbttf.ttf +cwtb14 cwtb14 <cwtb14.enc <bbttf.ttf +cwtb15 cwtb15 <cwtb15.enc <bbttf.ttf +cwtb16 cwtb16 <cwtb16.enc <bbttf.ttf +cwtb17 cwtb17 <cwtb17.enc <bbttf.ttf +cwtb18 cwtb18 <cwtb18.enc <bbttf.ttf +cwtb19 cwtb19 <cwtb19.enc <bbttf.ttf +cwtb20 cwtb20 <cwtb20.enc <bbttf.ttf +cwtb21 cwtb21 <cwtb21.enc <bbttf.ttf +cwtb22 cwtb22 <cwtb22.enc <bbttf.ttf +cwtb23 cwtb23 <cwtb23.enc <bbttf.ttf +cwtb24 cwtb24 <cwtb24.enc <bbttf.ttf +cwtb25 cwtb25 <cwtb25.enc <bbttf.ttf +cwtb26 cwtb26 <cwtb26.enc <bbttf.ttf +cwtb27 cwtb27 <cwtb27.enc <bbttf.ttf +cwtb28 cwtb28 <cwtb28.enc <bbttf.ttf +cwtb29 cwtb29 <cwtb29.enc <bbttf.ttf +cwtb30 cwtb30 <cwtb30.enc <bbttf.ttf +cwtb31 cwtb31 <cwtb31.enc <bbttf.ttf +cwtb32 cwtb32 <cwtb32.enc <bbttf.ttf +cwtb33 cwtb33 <cwtb33.enc <bbttf.ttf +cwtb34 cwtb34 <cwtb34.enc <bbttf.ttf +cwtb35 cwtb35 <cwtb35.enc <bbttf.ttf +cwtb36 cwtb36 <cwtb36.enc <bbttf.ttf +cwtb37 cwtb37 <cwtb37.enc <bbttf.ttf +cwtb38 cwtb38 <cwtb38.enc <bbttf.ttf +cwtb39 cwtb39 <cwtb39.enc <bbttf.ttf +cwtb40 cwtb40 <cwtb40.enc <bbttf.ttf +cwtb41 cwtb41 <cwtb41.enc <bbttf.ttf +cwtb42 cwtb42 <cwtb42.enc <bbttf.ttf +cwtb43 cwtb43 <cwtb43.enc <bbttf.ttf +cwtb44 cwtb44 <cwtb44.enc <bbttf.ttf +cwtb45 cwtb45 <cwtb45.enc <bbttf.ttf +cwtb46 cwtb46 <cwtb46.enc <bbttf.ttf +cwtb47 cwtb47 <cwtb47.enc <bbttf.ttf +cwtb48 cwtb48 <cwtb48.enc <bbttf.ttf +cwtb49 cwtb49 <cwtb49.enc <bbttf.ttf +cwtb50 cwtb50 <cwtb50.enc <bbttf.ttf +cwtb51 cwtb51 <cwtb51.enc <bbttf.ttf +cwtb52 cwtb52 <cwtb52.enc <bbttf.ttf +cwtb53 cwtb53 <cwtb53.enc <bbttf.ttf +cwtb54 cwtb54 <cwtb54.enc <bbttf.ttf +cwtb55 cwtb55 <cwtb55.enc <bbttf.ttf diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/dvipdfmx.cfg b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/dvipdfmx.cfg new file mode 100644 index 00000000000..eb65cdcf479 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/dvipdfmx.cfg @@ -0,0 +1,164 @@ +% original config -- Made by MAW on 8/31/99 +% Distiller template examples. Uncomment +% the appropriate one, or (preferably) create your own. +% Put %i in the command line where the input file name should go. +% Put %o in the command line where the output file name should go. +% (dvipdfm must be able to supply the output file name to your +% command line) +% Put %b in the line somewhere if you want to specify the +% "base" name of the input file, e.g., "foo" instead of "foo.eps" +% +% Note that it's probably a good idea to fully qualify +% the paths so you can be sure what you are running + +% The following line works with Frank Siegert's pstill +% D "/usr/local/bin/pstill -c -o %o %i" + +% The following line works with GhostScript +% UNIX/Linux (borrowed from W32TeX by Akira Kakuto) +D "gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dAutoFilterColorImages=false -dGrayImageFilter=/FlateEncode -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o %i -c quit" +% Win32 (borrowed from W32TeX by Akira Kakuto) +% D "gswin32c -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dAutoFilterColorImages=false -dGrayImageFilter=/FlateEncode -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o %i -c quit" +% The following line works on compressed or uncompressed postscript with GhostScript +% UNIX/Linux (borrowed from W32TeX by Akira Kakuto) +% D "zcat -f %i | gs -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dUseFlateCompression=true -sOutputFile=%o - -c quit" +% Win32 (borrowed from W32TeX by Akira Kakuto) +% D "gzcat -f %i | gswin32c -q -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dUseFlateCompression=true -sOutputFile=%o - -c quit" + +% The following line works with Adobe Acrobat Distiller +% D "/usr/local/bin/distill -quiet -pairs %i %o" + +% Set default paper size here +p a4 + +% The "g" option specifies the amount to "grow" annotations by +% Many TeX macro pages set the annotation bounding box equal +% to the TeX box that encloses the material. That's not always +% what you want +g 1 + +% PDF version stamp to use in output file and max version of files +% allowed to be included (3 for 1.3, 4 for 1.4) +V 3 + +% Key bits for PDF encryption (40 - 128) +K 40 + +% Permission flag for PDF encryption: Revision will be 3 if the key size +% is greater than 40 bits. +% +% 0x0004 (Revision 2) Print the document. +% (Revision 3) Print the document (possibly not at the highest quality +% level, depending on whether bit 12[0x0800] is also set). +% 0x0008 Modify the contents of the document by operations other than those +% controlled by bits 6[0x0020], 9[0x0100], and 11[0x0400]. +% 0x0010 (Revision 2) Copy or otherwise extract text and graphics from the +% document, including extracting text and graphics (in support of +% accessibility to disabled users or for other purposes). +% (Revision 3) Copy or otherwise extract text and grphics from the +% document by operations other than that controlled by bit 10[0x0200]. +% 0x0020 Add or modify text annotations, fill in interactive form fields, +% and, if bit 4[0x0008] is also set, create or modify interactive +% form fields (including signature fields). +% +% (Revision 3 only) +% 0x0100 Fill in existing interactive form fields (including signature +% fields), even if bit 6 is clear. +% 0x0200 Extract text and graphics (in support of accessibility to disabled +% users or for other purposes). +% 0x0400 Assemble the document (insert, rotate, or delete pages and create +% bookmarks or thumbnail images), even if bit 4 is clear. +% 0x0800 Print the document to a representation from which a faithful digital +% copy of the PDF content could be generated. When this bit is clear +% (and bit 3 is set), printing is limited to a low-level representation +% of the appearance, possibly of degraded quality. +P 0x003C + +% Font map files +% +f cmr.map +f psbase14.map +% Most distributions now use these names +f lw35urw.map +% Some use these names +% f lw35urwa.map +f cid-x.map +% Added by Hin-Tak Leung below this point: +f cwtb.map +f cwtf.map +f cwtk.map +f cwtm.map +f cwtr.map +f mekl.map +f mest.map +f mesx.map +f mesy.map +f meko.map +f meso.map +f bkai.map +f bsmi.map +f gbsn.map +f gkai.map +f ntbr.map +f ntfs.map +f ntka.map +f ntli.map +f ntmb.map +f ntmm.map +f ntmr.map +f nttw.map +f wclj.map +f wclk.map +f wcll.map +f wclm.map +f wcln.map +f wclp.map +f wclq.map +f wclr.map +f wcls.map +f wclt.map +f zysg.map +f wnmc.map +f wdgt.map +f kcgt.map +f kcmc.map +f acrj.map +f acrg.map +f acrb.map +f ykah.map +f gtrl.map +f gtrm.map +f leim.map +f heim.map +f sunm.map +f gbsnl.map +f ggtrl.map +f gkaim.map +f gleim.map +f gsinm.map +f tgtrl.map +f tkaim.map +f tleim.map +f tooru.map +f tovru.map +f tsinm.map +f dcaiq.map +f dcailq.map +f dcaisq.map +f dccryq.map +f dchgmq.map +f dchleiq.map +f dcinlq.map +f dckgmc.map +f dclkaiq.map +f dcysmr.map +f dfcrdp.map +f dffrsp.map +f dfgskr.map +f dfkaie.map +f dfkbtp.map +f dfoyjq.map +f dfryss.map +f dfshtq.map +f dfshtr.map +f dfskair.map diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/gen-map.pl b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/gen-map.pl new file mode 100644 index 00000000000..737304da361 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/gen-map.pl @@ -0,0 +1,120 @@ +#!/usr/bin/perl -w + +@font_list = +( + "cwtb", "bbttf.ttf", 55, + "cwtf", "fttf.ttf", 55, + "cwtk", "kttf.ttf", 55, + "cwtm", "mttf.ttf", 55, + "cwtr", "rttf.ttf", 55, +# + "mekl", "kai-linux.ttf", 58, + "mest", "edustd-15.ttf", 55, + "mesx", "edustds1.ttf", 55, + "mesy", "edustds2.ttf", 55, + "meko", "moe_kai.ttf", 58, + "meso", "moe_sung.ttf", 58, +# + "bkai", "bkai00mp.ttf", 55, + "bsmi", "bsmi00lp.ttf", 55, +# + "gbsn", "gbsn00lp.ttf", 32, + "gkai", "gkai00mp.ttf", 32, +# + "ntbr", "ntu_br.ttf", 58, + "ntfs", "ntu_fs_m.ttf", 58, + "ntka", "ntu_kai.ttf", 58, + "ntli", "ntu_li_m.ttf", 58, + "ntmb", "ntu_mb.ttf", 58, + "ntmm", "ntu_mm.ttf", 58, + "ntmr", "ntu_mr.ttf", 58, + "nttw", "ntu_tw.ttf", 58, +# + "wclj", "wcl-01.ttf", 55, + "wclk", "wcl-02.ttf", 55, + "wcll", "wcl-03.ttf", 55, + "wclm", "wcl-04.ttf", 55, + "wcln", "wcl-05.ttf", 55, + "wclp", "wcl-06.ttf", 55, + "wclq", "wcl-07.ttf", 55, + "wclr", "wcl-08.ttf", 55, + "wcls", "wcl-09.ttf", 55, + "wclt", "wcl-10.ttf", 55, +# + "zysg", "zysong.ttf", 32, +# + "wnmc", "watanabe-mincho.ttf", 35, + "wdgt", "wadalab-gothic.ttf", 35, +# + "kcgt", "kochi-gothic.ttf", 31, + "kcmc", "kochi-mincho.ttf", 31, +# + "acrj", "kochi-mincho.ttf", 31, + "acrg", "gbsn00lp.ttf", 32, + "acrb", "bsmi00lp.ttf", 55, +# +"ykah", "yka00hp.ttf", 57, +"gtrl", "gtr00lp.ttf", 57, +"gtrm", "gtr00mp.ttf", 57, +"leim", "lei00mp.ttf", 57, +"heim", "hei01mp.ttf", 57, +"sunm", "sun00mp.ttf", 57, +# +"gbsnl", "gbsn00l.ttf",32, +"ggtrl", "ggtr00l.ttf",32, +"gkaim", "gkai00m.ttf",32, +"gleim", "glei00m.ttf",32, +"gsinm", "gsin00m.ttf",32, +"tgtrl", "tgtr00l.ttf",32, +"tkaim", "tkai00m.ttf",32, +"tleim", "tlei00m,ttf",32, +"tooru", "toor00u.ttf",32, +"tovru", "tovr00u.ttf",32, +"tsinm", "tsin00m.ttf",32, +# +"dcaiq", "dcai5.ttc", 31, +"dcailq", "dcail5.ttc", 31, +"dcaisq", "dcais5.ttc", 31, +"dccryq", "dccry5.ttc", 31, +"dchgmq", "dchgm5.ttc", 31, +"dchleiq", "dchlei5.ttc", 31, +"dcinlq", "dcinl5.ttc", 31, +"dckgmc", "dckgmc.ttc", 31, +"dclkaiq", "dclkai5.ttc", 31, +"dcysmr", "dcysm7.ttc", 31, +"dfcrdp", "dfcrd3.ttc", 31, +"dffrsp", "dffrs3.ttc", 31, +"dfgskr", "dfgsk7.ttc", 31, +"dfkaie", "dfkaie.ttc", 31, +"dfkbtp", "dfkbt3.ttc", 31, +"dfoyjq", "dfoyj5.ttc", 31, +"dfryss", "dfrys9.ttc", 31, +"dfshtq", "dfsht5.ttc", 31, +"dfshtr", "dfsht7.ttc", 31, +"dfskair", "dfskai7.ttc", 31, +# +); + +open(LISTFILE, "> map.list"); + +$list_length = (scalar @font_list ) /3 ; +for ($i = 0; $i < $list_length ; $i++) +{ + $stem = shift @font_list; + $font = shift @font_list; + $entries = shift @font_list; + print LISTFILE "f ", $stem, ".map\n"; + open(MAPFILE, "> ${stem}.map"); + + for ($j=1; $j<= $entries ; $j++) + { + $j_pad = sprintf "%2.2d", $j; + print MAPFILE + $stem, $j_pad, " ", $stem, $j_pad, " <", + $stem, $j_pad, ".enc <", + $font, "\n"; + } + close(MAPFILE); +} +close(LISTFILE); + diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/map.list b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/map.list new file mode 100644 index 00000000000..ae1fcd4ad12 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/map.list @@ -0,0 +1,78 @@ +f cwtb.map +f cwtf.map +f cwtk.map +f cwtm.map +f cwtr.map +f mekl.map +f mest.map +f mesx.map +f mesy.map +f meko.map +f meso.map +f bkai.map +f bsmi.map +f gbsn.map +f gkai.map +f ntbr.map +f ntfs.map +f ntka.map +f ntli.map +f ntmb.map +f ntmm.map +f ntmr.map +f nttw.map +f wclj.map +f wclk.map +f wcll.map +f wclm.map +f wcln.map +f wclp.map +f wclq.map +f wclr.map +f wcls.map +f wclt.map +f zysg.map +f wnmc.map +f wdgt.map +f kcgt.map +f kcmc.map +f acrj.map +f acrg.map +f acrb.map +f ykah.map +f gtrl.map +f gtrm.map +f leim.map +f heim.map +f sunm.map +f gbsnl.map +f ggtrl.map +f gkaim.map +f gleim.map +f gsinm.map +f tgtrl.map +f tkaim.map +f tleim.map +f tooru.map +f tovru.map +f tsinm.map +f dcaiq.map +f dcailq.map +f dcaisq.map +f dccryq.map +f dchgmq.map +f dchleiq.map +f dcinlq.map +f dckgmc.map +f dclkaiq.map +f dcysmr.map +f dfcrdp.map +f dffrsp.map +f dfgskr.map +f dfkaie.map +f dfkbtp.map +f dfoyjq.map +f dfryss.map +f dfshtq.map +f dfshtr.map +f dfskair.map diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd new file mode 100644 index 00000000000..2f7ec98edd3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00cwtb.fd @@ -0,0 +1,11 @@ +% This is the file c00cwtb.fd of the CJK package +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00cwtb.fd}[\filedate\space\fileversion] + +\DeclareFontFamily{C00}{cwtb}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C00}{cwtb}{m}{n}{<-> CJK * cwtb}{} +\DeclareFontShape{C00}{cwtb}{bx}{n}{<-> CJKb * cwtb}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd new file mode 100644 index 00000000000..aaa7a6044fa --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/Bg5/c00tmpl.fd @@ -0,0 +1,11 @@ +% This is the file c00tmpl.fd of the CJK package +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00tmpl.fd}[\filedate\space\fileversion] + +\DeclareFontFamily{C00}{tmpl}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C00}{tmpl}{m}{n}{<-> CJK * tmpl}{} +\DeclareFontShape{C00}{tmpl}{bx}{n}{<-> CJKb * tmpl}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd new file mode 100644 index 00000000000..b0aaa99ff01 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/GB/c10tmpl.fd @@ -0,0 +1,10 @@ +% This is the file c10tmpl.fd of the CJK package +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c10tmpl.fd}[\filedate\space\fileversion] +\DeclareFontFamily{C10}{tmpl}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C10}{tmpl}{m}{n}{<-> CJK * tmpl}{} +\DeclareFontShape{C10}{tmpl}{bx}{n}{<-> CJKb * tmpl}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd new file mode 100644 index 00000000000..23754ff2e4b --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/JIS/c40tmpl.fd @@ -0,0 +1,10 @@ +% This is the file c40tmpl.fd of the CJK package +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c40tmpl.fd}[\filedate\space\fileversion] + +\DeclareFontFamily{C40}{tmpl}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C40}{tmpl}{m}{n}{<-> CJK * tmpl}{} +\DeclareFontShape{C40}{tmpl}{bx}{n}{<-> CJKb * tmpl}{\CJKbold} +\endinput diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd new file mode 100644 index 00000000000..3e90a446768 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/texinput/SJIS/c49tmpl.fd @@ -0,0 +1,10 @@ +% This is the file c49song.fd of the CJK package +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c49song.fd}[\filedate\space\fileversion] + +\DeclareFontFamily{C49}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C49}{song}{m}{n}{<-> CJK * tmpl}{} +\DeclareFontShape{C49}{song}{bx}{n}{<-> CJKb * tmpl}{\CJKbold} +\endinput diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/updmap.my b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/updmap.my new file mode 100644 index 00000000000..a020e035ee5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/updmap.my @@ -0,0 +1,161 @@ +#!/bin/sh +# Thomas Esser, 1998, 1999. Public domain. + +########################################################################### +# updmap: create psfonts.map, ps2pk.map and pdftex.map from smaller +# "modules". To recreate the map files, just run the command: +# ./updmap +########################################################################### + +########################################################################### +# Configuration section: +########################################################################### + +# Add any extra modules here. See the definition of common_modules below +# for an example of the correct syntax. If you just want to use the type1 +# version for the computer modern fonts by default in dvips (instead of +# the metafont based bitmap fonts), just change the definition of +# type1_default that is given below. +# +# An alternative to adding map files here is to edit the files +# config/dvips/config.ps +# pdftex/config/pdftex.cfg +# in a local texmf tree. +extra_modules=" +cwtb.map +cwtf.map +cwtk.map +cwtm.map +cwtr.map +mekl.map +mest.map +mesx.map +mesy.map +meko.map +meso.map +bkai.map +bsmi.map +gbsn.map +gkai.map +ntbr.map +ntfs.map +ntka.map +ntli.map +ntmb.map +ntmm.map +ntmr.map +nttw.map +wclj.map +wclk.map +wcll.map +wclm.map +wcln.map +wclp.map +wclq.map +wclr.map +wcls.map +wclt.map +zysg.map +wnmc.map +wdgt.map +kcgt.map +kcmc.map +acrj.map +acrg.map +acrb.map +" + +########################################################################### +# Set up the standard Laserwriter fonts: +# urw-kb: these are included in teTeX's texmf tree +# urw-urw: these are included in ghostscript 4.0 and later. Adjust the +# search paths for type1 and afm files in texmf.cnf if you set +# this +# adobe-kb: use this if you have the original Adobe fonts. Install the +# type1 and afm files with Berry names. +########################################################################### + +lw35=urw-kb # URW fonts (download type1 files using Berry names) +# lw35=urw-urw # URW fonts (download type1 files using URW names) +# lw35=adobe-kb # Adobe fonts (download type1 files using Berry names) + +########################################################################### +# Set to true to use postscript type1 versions for fonts with existing +# metafont versions. +########################################################################### + +type1_default=false +# type1_default=true + +########################################################################### +# Add common map files here: +########################################################################### +common_modules=" + charter.map context.map lucidabr.map marvosym.map mathpi.map + mathpple-ext.map mt-plus.map mt-yy.map omega.map utopia.map + xypic.map txr4.map pxr4.map pazo.map $extra_modules +" + +########################################################################### +# End of configuration section. +########################################################################### + +########################################################################### +# Type1 fonts with Metafont equivalents. When not generating resolution +# independent postscript or pdf, we prefer the Metafont variants for these. +########################################################################### +mf_modules=" + bsr.map bsr-interpolated.map cmcyr.map cs.map hoekwater.map pl.map +" + +########################################################################### +# These are used by dvips: +########################################################################### +lw35_modules=" + *-adobe-bi.map + $common_modules +" + +########################################################################### +# Add CM + AMS fonst if configured: +########################################################################### +if test "x$type1_default" = xtrue; then + lw35_modules="$lw35_modules $mf_modules" +fi + +########################################################################### +# ps2pk has no "built in" fonts and needs to download everything: +########################################################################### +ps2pk_modules=" + *-$lw35.map +" + +########################################################################### +# pdftex has the acrobat fonts (subset of the lw35 fonts) built in, but +# needs to download fonts for ExtendFont / SlantFont: +########################################################################### +pdftex_modules=" + $mf_modules + + *ar-ext-$lw35.map + *ar-std-adobe-bi.map + *lw35extra-$lw35.map + mtsupp-ext-$lw35.map + mtsupp-std-adobe-bi.map + + $common_modules +" + +# Create psfonts.map ps2pk.map and pdftex.map: +for file in psfonts.map ps2pk.map pdftex.map; do +cat >$file <<eof +% $file: maintained by the script updmap in \$TEXMFMAIN/dvips/config. +% The preferred way to add things to this file is to put the extra lines +% into a separate file and add that filename to the updmap script. Then, +% run the updmap script to recreate this file. +eof +done + +cat $lw35_modules | grep -v '^%' | grep . | sort | uniq >> psfonts.map +cat $ps2pk_modules | grep -v '^%' | grep . | sort | uniq >> ps2pk.map +cat $pdftex_modules | grep -v '^%' | grep . | sort | uniq >> pdftex.map diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/wcl.sfd b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/wcl.sfd new file mode 100644 index 00000000000..594a36acbad --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pdfhowto/examples/wcl.sfd @@ -0,0 +1,62 @@ +# Big5.sfd +# +# subfont numbers for Big 5 encoding and its corresponding code ranges +# to be used with the CJK package for LaTeX. + +01 0xA140_0xA17E 0xA1A1_0xA1FE 0xA240_0xA27E 0xA2A1_0xA2C4 +02 0xA2C5_0xA2FE 0xA340_0xA37E 0xA3A1_0xA3FE 0xA440_0xA468 +03 0xA469_0xA47E 0xA4A1_0xA4FE 0xA540_0xA57E 0xA5A1_0xA5ED +04 0xA5EE_0xA5FE 0xA640_0xA67E 0xA6A1_0xA6FE 0xA740_0xA77E 0xA7A1_0xA7B3 +05 0xA7B4_0xA7FE 0xA840_0xA87E 0xA8A1_0xA8FE 0xA940_0xA957 +06 0xA958_0xA97E 0xA9A1_0xA9FE 0xAA40_0xAA7E 0xAAA1_0xAADC +07 0xAADD_0xAAFE 0xAB40_0xAB7E 0xABA1_0xABFE 0xAC40_0xAC7E 0xACA1_0xACA2 +08 0xACA3_0xACFE 0xAD40_0xAD7E 0xADA1_0xADFE 0xAE40_0xAE46 +09 0xAE47_0xAE7E 0xAEA1_0xAEFE 0xAF40_0xAF7E 0xAFA1_0xAFCB +10 0xAFCC_0xAFFE 0xB040_0xB07E 0xB0A1_0xB0FE 0xB140_0xB16F +11 0xB170_0xB17E 0xB1A1_0xB1FE 0xB240_0xB27E 0xB2A1_0xB2F4 +12 0xB2F5_0xB2FE 0xB340_0xB37E 0xB3A1_0xB3FE 0xB440_0xB47E 0xB4A1_0xB4BA +13 0xB4BB_0xB4FE 0xB540_0xB57E 0xB5A1_0xB5FE 0xB640_0xB65E +14 0xB65F_0xB67E 0xB6A1_0xB6FE 0xB740_0xB77E 0xB7A1_0xB7E3 +15 0xB7E4_0xB7FE 0xB840_0xB87E 0xB8A1_0xB8FE 0xB940_0xB97E 0xB9A1_0xB9A9 +16 0xB9AA_0xB9FE 0xBA40_0xBA7E 0xBAA1_0xBAFE 0xBB40_0xBB4D +17 0xBB4E_0xBB7E 0xBBA1_0xBBFE 0xBC40_0xBC7E 0xBCA1_0xBCD2 +18 0xBCD3_0xBCFE 0xBD40_0xBD7E 0xBDA1_0xBDFE 0xBE40_0xBE76 +19 0xBE77_0xBE7E 0xBEA1_0xBEFE 0xBF40_0xBF7E 0xBFA1_0xBFFB +20 0xBFFC_0xBFFE 0xC040_0xC07E 0xC0A1_0xC0FE 0xC140_0xC17E 0xC1A1_0xC1C1 +21 0xC1C2_0xC1FE 0xC240_0xC27E 0xC2A1_0xC2FE 0xC340_0xC365 +22 0xC366_0xC37E 0xC3A1_0xC3FE 0xC440_0xC47E 0xC4A1_0xC4EA +23 0xC4EB_0xC4FE 0xC540_0xC57E 0xC5A1_0xC5FE 0xC640_0xC67E 0xC6A1_0xC6B0 +24 0xC6B1_0xC6FE 0xC740_0xC77E 0xC7A1_0xC7FE 0xC840_0xC854 +25 0xC855_0xC87E 0xC8A1_0xC8FE 0xC940_0xC97E 0xC9A1_0xC9D9 +26 0xC9DA_0xC9FE 0xCA40_0xCA7E 0xCAA1_0xCAFE 0xCB40_0xCB7D +27 0xCB7E 0xCBA1_0xCBFE 0xCC40_0xCC7E 0xCCA1_0xCCFE 0xCD40_0xCD43 +28 0xCD44_0xCD7E 0xCDA1_0xCDFE 0xCE40_0xCE7E 0xCEA1_0xCEC8 +29 0xCEC9_0xCEFE 0xCF40_0xCF7E 0xCFA1_0xCFFE 0xD040_0xD06C +30 0xD06D_0xD07E 0xD0A1_0xD0FE 0xD140_0xD17E 0xD1A1_0xD1F1 +31 0xD1F2_0xD1FE 0xD240_0xD27E 0xD2A1_0xD2FE 0xD340_0xD37E 0xD3A1_0xD3B7 +32 0xD3B8_0xD3FE 0xD440_0xD47E 0xD4A1_0xD4FE 0xD540_0xD55B +33 0xD55C_0xD57E 0xD5A1_0xD5FE 0xD640_0xD67E 0xD6A1_0xD6E0 +34 0xD6E1_0xD6FE 0xD740_0xD77E 0xD7A1_0xD7FE 0xD840_0xD87E 0xD8A1_0xD8A6 +35 0xD8A7_0xD8FE 0xD940_0xD97E 0xD9A1_0xD9FE 0xDA40_0xDA4A +36 0xDA4B_0xDA7E 0xDAA1_0xDAFE 0xDB40_0xDB7E 0xDBA1_0xDBCF +37 0xDBD0_0xDBFE 0xDC40_0xDC7E 0xDCA1_0xDCFE 0xDD40_0xDD73 +38 0xDD74_0xDD7E 0xDDA1_0xDDFE 0xDE40_0xDE7E 0xDEA1_0xDEF8 +39 0xDEF9_0xDEFE 0xDF40_0xDF7E 0xDFA1_0xDFFE 0xE040_0xE07E 0xE0A1_0xE0BE +40 0xE0BF_0xE0FE 0xE140_0xE17E 0xE1A1_0xE1FE 0xE240_0xE262 +41 0xE263_0xE27E 0xE2A1_0xE2FE 0xE340_0xE37E 0xE3A1_0xE3E7 +42 0xE3E8_0xE3FE 0xE440_0xE47E 0xE4A1_0xE4FE 0xE540_0xE57E 0xE5A1_0xE5AD +43 0xE5AE_0xE5FE 0xE640_0xE67E 0xE6A1_0xE6FE 0xE740_0xE751 +44 0xE752_0xE77E 0xE7A1_0xE7FE 0xE840_0xE87E 0xE8A1_0xE8D6 +45 0xE8D7_0xE8FE 0xE940_0xE97E 0xE9A1_0xE9FE 0xEA40_0xEA7A +46 0xEA7B_0xEA7E 0xEAA1_0xEAFE 0xEB40_0xEB7E 0xEBA1_0xEBFE 0xEC40 +47 0xEC41_0xEC7E 0xECA1_0xECFE 0xED40_0xED7E 0xEDA1_0xEDC5 +48 0xEDC6_0xEDFE 0xEE40_0xEE7E 0xEEA1_0xEEFE 0xEF40_0xEF69 +49 0xEF6A_0xEF7E 0xEFA1_0xEFFE 0xF040_0xF07E 0xF0A1_0xF0EE +50 0xF0EF_0xF0FE 0xF140_0xF17E 0xF1A1_0xF1FE 0xF240_0xF27E 0xF2A1_0xF2B4 +51 0xF2B5_0xF2FE 0xF340_0xF37E 0xF3A1_0xF3FE 0xF440_0xF458 +52 0xF459_0xF47E 0xF4A1_0xF4FE 0xF540_0xF57E 0xF5A1_0xF5DD +53 0xF5DE_0xF5FE 0xF640_0xF67E 0xF6A1_0xF6FE 0xF740_0xF77E 0xF7A1_0xF7A3 +54 0xF7A4_0xF7FE 0xF840_0xF87E 0xF8A1_0xF8FE 0xF940_0xF947 +55 0xF948_0xF97E 0xF9A1_0xF9FE 0xFA40_0xFA65 + +# eof diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pinyin.txt b/Master/texmf-dist/doc/latex/cjk/doc/pinyin.txt new file mode 100644 index 00000000000..86b8fc1fd91 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pinyin.txt @@ -0,0 +1,62 @@ +This is the file pinyin.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +pinyin.sty +---------- + +This style file (which can be also used under plain TeX) enables the input +of pinyin syllables with tones. + +Say + + \usepackage{pinyin} + +to load all pinyin macros under LaTeX2e; say `\input pinyin.sty' under plain +TeX. + +An example explains best how to input pinyin: + + \Wo3 \hen3 \xi3\huan1 \chi1 \Zhong1\guo2 \cai4. + +Note there is no fifth tone marker in pinyin (Zhuyinfuhao uses a dot to +indicate the fifth tone; on the other hand no marker is used for the first +tone). Nevertheless you can say e.g., \ne5 to get the syllable `ne' without a +tone. + + +There are some special cases: + + o use `v' instead of `u umlaut' in pinyin syllables (these are \lv, + \lve, \nv, \nve and its uppercase forms). Example: + + \nv3'\er2 daughter + + The appearance of u umlaut with additional tone markers has been + tested with the standard cm, ec, and PostScript fonts. + + o use \Long and \LONG instead of \long and \Long (which you would + expect): \long is a very important internal TeX command. Many + packages would fail if we redefined \long. + + +Problems: + + The following macros are redefined if you load pinyin.sty: + + \a, \chi, \cong, \ding, \ge, \hang, \le, \min, \mu, \ne, \ni, \nu, + \o, \O, \pi, \Pi, \Re, \tan, \xi, \Xi. + + They are available as \PY... (\PYchi, \PYcong, etc.). + + If this is not enough, you can say \PYdeactivate to restore the original + definitions (and reactivate these syllables with \PYactivate). + + In case you use the hyperref package earlier than version 6.75a + (2006-Feb-12) together with the `hpdftex' driver you should load + pinyin.sty *after* hyperref.sty (contrary to what the hyperref manual + says). Reason is that \ding is defined in pifont.sty which is + automatically loaded by hpdftex.def -- the latest hyperref version no + longer uses pifont.sty . + + +---End of pinyin.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/pyhyphen.txt b/Master/texmf-dist/doc/latex/cjk/doc/pyhyphen.txt new file mode 100644 index 00000000000..c18f6d71210 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/pyhyphen.txt @@ -0,0 +1,107 @@ +This is the file pyhyphen.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +Hyphenation patterns for unaccented pinyin syllables +---------------------------------------------------- + +Sometimes it makes sense to use unaccented pinyin syllables for common names +and phrases which are repeated frequently; sometimes you are in an +environment which doesn't allow accented pinyin syllables at all. For such +cases it is desirable to have correct hyphenation, avoiding manually added +hints using e.g., `\-' between the syllables. + +Fortunately, due to the limited numbers of Chinese pinyin syllables (407 for +Mandarin), it is easy to create hyphenation patterns. The logical +consequence is to add a new `language' to the Babel package, and exactly +this can be found in the directory utils/pyhyphen. + + +Installation +------------ + +This is fairly straightforward. Move the Babel language definition file +pinyin.ldf file to a place found by TeX. If you e.g., maintain a local TEXMF +tree, a good place would be $TEXMFLOCAL/tex/generic/babel/pinyin.ldf. +Similarly, move the pinyin hyphenation pattern file pyhyph.tex into your +(local) TEXMF tree: The analogous place would be +$TEXMFLOCAL/tex/generic/hyphen/pyhyph.tex. + +Now run texconfig (or a similar tool) to add pyhyph.tex to the used +hyphenation patterns. In the usual case you have to add a line saying + + pinyin pyhyph.tex + +to the hyphenation configuration file language.dat. Finally, build a new +format file (usually the command `initex latex.ltx'); in most cases this +happens automatically. + +Using Babel ensures that it works both with LaTeX and Plain TeX. + + +Usage +----- + +Do something like this: + + \documentclass[...]{...} + + \usepackage[T1]{fontenc} + \usepackage[pinyin,german,english]{babel} + ... + + \begin{document} + ... + \foreignlanguage{pinyin}{some pinyin syllables} + ... + \end{document} + + +Note 1: pinyin.ldf is intentionally very minimal. Don't expect that e.g., + \chapter yields a pinyin version of the Chinese word for `chapter'. + It might be useful to define a shorthand macro like the following: + + \newcommand{\py}[1]{\foreignlanguage{pinyin}{#1}} + + Now you can simply say + + \py{Beijing} + +Note 2: The hyphenation patterns use `umlaut u' with code position 0xFC + (this is latin-1 and T1 encoding). You can also use OT1 encoding, + but then the patterns containing `umlaut u' won't work. + Additionally, the quote character `'' is used as a letter which is + needed to resolve ambiguities like this: + + Xi'an <-> Xian + + If a syllable not at the beginning of a word starts with a vowel + (i.e., `a', `e', or `o'), you must precede it with a quote + character. Example: + + Tian'anmen + + The hyphenation patterns correctly treat it as Tian'-an-men. + + The shorthand `"u' (as used in German) is available to input + `umlaut u'. + +Note 3: Most Babel language support files define a `<language>.sty' file + also. This is not true for pinyin! pinyin.sty is used for accented + pinyin syllables which don't need a special hyphenation support. + (pinyin.sty works with Plain TeX also.) + + +Technical details +----------------- + +The dictionary used to construct the hyphenation patterns has been created +with the small C program `pinyin.c' which simply combines all existing +Chinese syllable pairs, inserting quote characters where needed. Then, +`patgen' has been run on the dictionary; `pinyin.tr' defines the used +character set. + +Due to the regularity of the word combinations, only two-letter patterns of +the first level are needed to find all possible breaks without a single +error or omission. + +---End of pyhyphen.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/reftex.txt b/Master/texmf-dist/doc/latex/cjk/doc/reftex.txt new file mode 100644 index 00000000000..99901bbc14c --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/reftex.txt @@ -0,0 +1,34 @@ +This is the file reftex.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +RefTeX +------ + +To make RefTeX aware of \CJKinput and \CJKbibliography, add the following +two lines to your .emacs file: + + (add-to-list 'reftex-include-file-commands "CJKinclude") + (add-to-list 'reftex-bibliography-commands "CJKbibliography") + +These two variables have been added to RefTeX in July 2002. + +Older versions (like 4.16) which don't have them must be patched directly. +In reftex.el: + +1097c1097 +< (include-re (concat wbol "\\\\\\(include\\|input\\)[{ \t]+\\([^} \t\n\r]+\\)")) +--- +> (include-re (concat wbol "\\\\\\(include\\|input\\|CJKinput\\)[{ \t]+\\([^} \t\n\r]+\\)")) + +In reftex-parse.el: + +333c333 +< "\\(\\`\\|[\n\r]\\)[ \t]*\\\\\\(no\\)?bibliography{[ \t]*\\([^}]+\\)" nil t) +--- +> "\\(\\`\\|[\n\r]\\)[ \t]*\\\\\\(no\\|CJK\\)?bibliography{[ \t]*\\([^}]+\\)" nil t) + +Changes for even older RefTeX versions (before Aug 1999 which only have +reftex.el) are virtually the same. + + +---End of reftex.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/ruby.txt b/Master/texmf-dist/doc/latex/cjk/doc/ruby.txt new file mode 100644 index 00000000000..fc1b30cd36c --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/ruby.txt @@ -0,0 +1,139 @@ +This is the file ruby.txt of the CJK macro package ver. 4.8.0 (22-May-2008). + +What is ruby? +------------- + +To cite Martin Duerst (mduerst@w3.org) who wrote a proposal for ruby in HTML +documents: + + + Ruby are small characters used for annotations of a text, at the right + side for vertical text, and atop for horizontal text, to indicate the + reading (pronounciation) of ideographic characters. [...] + + The name `ruby' is the name of the 5.5 point type size in British + terminology; this was the size most used for ruby. [...] + + Ruby are in most cases set at half the size of the main letters, + resulting in a possible two ruby characters per main character, and + taking up half of the width of the main characters. However, at least up + to five ruby characters per main character are possible (an example is + `u-ke-ta-ma-wa-...'), and so various solutions, from leaving white space + in the main text to having the ruby overlap the next characters of the + main text, are possible (the later is possible in Japanese especially + because in many cases, the characters around an ideograph with ruby are + syllabic, and therefore the assignment of ruby to main characters poses + no problems for the reader). [...] + + Ruby are particularly frequent in Japanese, because of the way CJK + ideographs are used in Japanese. Ideographs can have many different + readings (pronounciations) because different readings were taken over + from different regions of China and at different times when the + characters where adopted in Japan. Also, these characters are used to + write indigenous Japanese words, and many readings may be possible + because the ideograph might cover many different concepts distinguished + in the Japanese language. [...] The main use of ruby today is in + magazines of all levels, and of course in educational material. Ruby are + also used in educational material in China and Taiwan. + + In Japan, the term `furigana' is also used instead of `ruby'. `Furigana' + is composed of the verb `furu' (to attach, sprinkle, ...) and `gana' + (either hiragana or katakana, one of the two Japanese syllabaries usually + used for ruby). + + + +Usage +----- + +Here a typical example: + + + \documentclass{article} + + \usepackage{CJK} + \usepackage[overlap, CJK]{ruby} + + + \begin{document} + + \begin{CJK*}{JIS}{song} + + ....Japanese text.....\ruby{base character(s)}{ruby}.... + + \end{CJK*} + + \end{document} + + +The following options can be selected: + + `overlap' and `nooverlap', as described above. \rubyoverlap and + \rubynooverlap are the corresponding commands to modify the overlap flag. + `overlap' is the default. + + `CJK' and `latin'. The corresponding commands are \rubyCJK and \rubylatin. + Use these commands similar to \CJKnospace and \CJKspace to suppress or not + suppress spaces after a \ruby macro and to get/avoid insertion of glue. + `CJK' is the default. + +The command \rubysize defines the factor between the size of the base +character and the ruby. Its default value is 0.4 . Usually you get some +error messages about size substitution (the reason is that LaTeX 2e always +defines a default error font) which can be safely ignored if you use ttf2pk +or hbf2gf since these programs compute fonts for (almost) any font size. In +the unlikely case that you need latin fonts as ruby it may be necessary to +adapt your FD definition files if the particular font supports non-standard +sizes (e.g., EC, Sauter, PS) and you really want exactly that size. + +The command \rubysep defines the separation between the base character and +the ruby. Its default value is -0.5ex. + +To avoid lines sticking together the value of \lineskiplimit has been set +to 1pt. It may be necessary to increase this value for larger font sizes. + +Note that all \ruby... commands are local, i.e., they obey groups. + + +Implementation specific details +------------------------------- + +There are a number of possibilities how ruby can interact with other CJK +characters. + + o The ruby has a smaller width than its base character: + + The behaviour is identical to an ordinary CJK character. + + o The ruby has a greater width than its base character: + + + Overlapping ruby: + + . If the previous or next character is a CJK character + (ordinary or punctuation), insert unbreakable glue between. + + . If the previous or next character is a ruby, handle both + ruby as non-overlapping and insert unbreakable glue between. + + . A ruby at the beginning of a paragraph is treated as if the + nonoverlap option had been set. To force an overlapping ruby + you have to start the paragraph with a \leavevmode command. + + + Non-overlapping ruby: + + . If the previous or next character is a CJK character + (ordinary or punctuation), insert unbreakable glue between. + +If `latin' is active, no glue at all is inserted. + + +Technical details +----------------- + +ruby.sty introduces a third variation of a small kern (3sp) to inform the +next CJK or ruby macro that the previous character was an overlapping ruby +with the ruby's width greater than its base character. The global variable +\ruby@width then contains this width. + + +---End of ruby.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/thaifont.txt b/Master/texmf-dist/doc/latex/cjk/doc/thaifont.txt new file mode 100644 index 00000000000..08df1befd8e --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/thaifont.txt @@ -0,0 +1,129 @@ +This is the file thaifont.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +Thai font support in the CJK package +------------------------------------ + +Version 4.8.0 of the CJK package has improved support for Thai. This file +describes how to install and use the fonts. Please refer to cjk-enc.txt how +to set up cjk-enc.el (which automatically loads thai-word.el for finding +word breaks). + +The directory structure in utils/thaifont/texmf already reflects the +directory structure of a standard TEXMF tree, version 1.1. Example: + + utils/thaifont/texmf/fonts/enc/dvips/thai/c90.enc -> + /usr/local/share/texmf/fonts/enc/dvips/thai/c90.enc + +To create TFM files for other Thai fonts, use the utility files in the +`thaifont/tools' directory. Details how to do that can be found in +`thaifonts/tools/INSTALL'. The file thaifont/tools/c90.etx gives the +theoretical background on the used font encoding and ligature mechanism; +a pre-formatted version can be found in CJK's doc bundle. + + +Installation +------------ + +. It is assumed that you have already installed the main parts of the CJK + package (as described in the doc/INSTALL file). + +. Get the latest thailatex package from + + http://linux.thai.net/plne/TLWG/thailatex + + and install the Type 1 font families `garuda' and `norasi'. You should use + thailatex version 0.3.5.1 or newer. Recommended locations are + + TEXMF/fonts/type1/public/{garuda,norasi}/ . + + Fot historical reasons, you must remove the underscore from the font names + to stay within the 8.3 filename limit imposed by some operating systems. + Additionally, you should append the letter `n' to the normal shape's font. + + Examples: + + garuda.pfb -> TEXMF/fonts/type1/public/garuda/garudan.pfb + norasi_bi.pfb -> TEXMF/fonts/type1/public/norasi/norasibi.pfb + + Note that the TeX metric files of thailatex bundle are incompatible with + CJK's Thai implementation. Nevertheless, it is possible to use both at the + same time if desired. This is the very reason that the Babel language + support file of the CJK package is called `thaicjk.ldf', not `thai.ldf'. + +. Install all files from utils/thaifont/texmf in your TEXMF tree. This + should be straightforward. + +. Font definition files for Thai are in CJK's texinput/thai directory. To + simplify font handling with LaTeX, `gar' and `nrsr' are aliased to `cmr', + `cmss', and `cmtt'. If you want to use other fonts, you have to adapt + c90cmr.fd, c90cmss.fd, and c90cmtt.fd accordingly. + +. There are two possibilities how to make the Thai PostScript fonts known to + the various DVI drivers (and pdftex). The recommended way is to include + the files `garuda.map' and `norasi.map' in the `updmap.cfg' configuration + script by adding the following two lines: + + Map garuda.map + Map norasi.map + + Older versions of updmap which don't have updmap.cfg must be patched + directly by adding the map files to the `extra_modules' variable: + + extra_modules=" + dbtt.map + norasi.map + " + + After executing updmap, the fonts are known to all programs which uses the + map files. + + For dvips, you can also use the `config.norasi' and `config.garuda' files + on the command line: + + dvips -P norasi ... + + This method doesn't work with pdfTeX (which doesn't understand the `-P' + option). + +. Run mktexlsr or a similar program to update the TEXMF file database. + + +Usage +----- + +Thai support has been fully integrated into the Babel system. For example, +to have Thai as a secondary language and US English as the primary language, +say + + \documentclass{...} + + ... + \usepackage[thaicjk,USenglish]{babel} + ... + + + \begin{document} + + ... + \begin{otherlanguage}{thaicjk} + Thai text + \end{otherlanguage} + + ... + +`thaicjk' changes the baseline stretch to 1.2, activates \frenchspacing, and +modifies the \today command to use the proper Thai values and names. + +The just sketched outline works without cjk-enc also (but no word breaks are +inserted automatically); you must then insert + + \addto\extrasthaicjk{\fontencoding{C90}\selectfont} + +in the preamble of your document to make Babel switch to Thai font encoding +on entering the `thaicjk' language environment. + +For use of cjk-enc.el please read `cjk-enc.txt'. + + +---End of thaifont.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/vertical.txt b/Master/texmf-dist/doc/latex/cjk/doc/vertical.txt new file mode 100644 index 00000000000..1766d3c29ba --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/vertical.txt @@ -0,0 +1,120 @@ +This is the file vertical.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + + +Vertical typesetting +==================== + +TeX itself can't support vertical typesetting. Nevertheless, it is possible +to emulate it by rotating glyphs by 90 degrees. + +The CJK package supports two different approaches: + +o Provide fonts which already contain rotated glyphs. In this case, the + only difference to normal typesetting is the emulation of bold + characters by printing a character three times with slight vertical + offsets instead of horizontal ones. Both hbf2gf and ttf2pk can produce + rotated bitmap fonts. The major disadvantage is that it doesn't work + well for outline fonts since there is no portable way to implement + rotation on the font level which works for both PostScript and PDF + output. + + You need a `.fdx' file for this option which at least contains + `\CJKvdef{norotate}{}'. + +o Use the graphicx package to rotate glyphs. A disadvantage is that + processing of a document is much slower and that documents tend to be + much larger in size. On the other hand, PDF and PostScript output can be + produced from identical sources since graphicx hides the implementation + differences. + + This works even without a `.fdx' file in case CJK's default rotation + parameters are fine. + + +CJKvert.sty +----------- + +Loading CJKvert.sty activates vertical support. The two commands to be used +in documents are \CJKvert and \CJKhorz which do the obvious. \CJKvert is +the default. The two commands act locally, not globally. + +Use macro \CJKbaselinestretch to adjust the baseline stretch during vertical +typesetting. The default value is `1.3'. + +Package option `usebaselinestretch' saves the \baselinestretch value set +before loading CJKvert.sty. If this option is active, then + + new \baselinestretch = \CJKbaselinestretch * \baselinestretch + +after issuing \CJKvert. Otherwise, it is simply + + new \baselinestretch = \CJKbaselinestretch + +Similarly, \CJKhorz restores the old \baselinestretch value if +`usebaselinestretch' is active; without the option, \baselinestretch is set +to `1'. + + +Problems with vertical typesetting +---------------------------------- + +Some glyphs can't be used directly for vertical typesetting; a simple +rotation by 90 degrees would produce ugly results for various reasons: + +o Many punctuation characters have special vertical representation forms. + Some fonts contain proper vertical glyphs, but many don't. In the latter + case it is necessary to provide alternative methods to improve the + optical appearance. + +o Non-rotated (latin) text within rotated (CJK) text is aligned + differently as if text is written horizontally. Rotated glyphs thus must + be slightly shifted. + +o Some fonts contain CJK glyphs without quadratic bounding boxes but only + monospaced advance widths. It is then necessary to provide glyph + dimensions to assure monospaced advance heights after rotation. + +See the documentation file `fdxfiles.txt' for details on setting up +extended font definition files which can handle those items. + + +Fonts with vertical representation forms +---------------------------------------- + +OpenType fonts intended for vertical typesetting normally contain a GSUB +feature called `vert' which provides a mapping to vertical instead of +horizontal representation forms. ttf2tfm automatically takes care of it (see +below), but if such fonts have been converted to sets of Type 1 subfonts +this feature is lost. + +A solution to this problem is to collect all vertical representation glyphs +in a special Type 1 subfont. See the scripts vertical.pe, vertref.pe (for +FontForge), and makefdx.pl (for Perl) in the directory utils/subfonts which +do that. + +At the moment of this writing, only the fonts bsmi00lp.ttf and bkai00mp.ttf +for traditional Chinese have been transformed to Type 1 subfonts together +with a font with vertical representation glyphs (bsmilpv.pfb and +bkaimpv.pfb). They are part of the corresponding CJK font bundles found on +CTAN. See the file INSTALL for more information. + + +Rotated fonts +------------- + +o To install a rotated font to be handled by hbf2gf, simply proceed as + usual, with one difference: You have to add a line + + rotation yes + + to the hbf2gf configuration file of this font. x_offset and y_offset + values must be adjusted too. Look at the example configuration file + b5kr12.cfg for details---as you can see, the name of the non-rotated + font (b5ka12) has been changed to `b5kr12'. + +o With ttf2tfm, use the `-x' switch to activate rotation. For details + please refer to the man pages of ttf2tfm and ttf2pk. + + +---End of vertical.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/doc/xCJK.txt b/Master/texmf-dist/doc/latex/cjk/doc/xCJK.txt new file mode 100644 index 00000000000..60e2811644f --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/doc/xCJK.txt @@ -0,0 +1,73 @@ +This is the file xCJK.txt of the CJK macro package ver. 4.8.0 +(22-May-2008). + +xCJK.sty +-------- + +This file provides support for the CJK package with XeLaTeX: + + . Use the CJK package to deal with CJK characters, especially for + spaces and punctuation, while the font selection is left to XeLaTeX. + + . Specify different default fonts for CJK and other characters, + respectively. + +Usage: + + \documentclass{...} + ... + \usepackage[<options>]{xCJK} + ... + \begin{document} + ... + \begin{CJK*}{UTF8}{...} + ... + \end{CJK*} + ... + \end{document} + + Available values for <options> are + + boldfont simulate bold fonts for CJK characters + italicfont simulate italic fonts for CJK characters + + To make `italicfont' work you need XeTeX version 0.997 or newer. + + +xCJK.sty provides three basic macros for font selection: + + \setCJKmainfont[<font features>]{<font name>} + Set a default font for CJK characters. + + \setCJKfamilyfont{<family name>}[<font features>]{<font name>} + Declare a CJK family and select a font for it. Switching font families + can be done as usual with \CJKfamily. + + \setCJKmonofont[<font features>]{<font name>} + Declare a CJK font to be used in verbatim environments. + +Note that \setCJKmainfont takes precedence over \setmainfont (which is +defined in the standard `fontspec' package for XeLaTeX). + +For a full description of the parameters <font features> and <font name> +please read the documentation of the `fontspec' package; an example input +file is examples/xCJK.tex . + + +Remarks: + + . To make the xCJK package work the following two commands must be called: + + \XeTeXinputencoding "bytes" + \XeTeXdefaultencoding "bytes" + + xCJK.sty automatically does this (using the \AtBeginDocument hook) but + other packages might override it. + + . <font name> must be in English. + + . If you use the `verbatim' package you should call \CJKverbatim to make + the verbatim environment select the CJK font as specified with + \setCJKmonofont automatically (\CJKverbatim redefines \verbatim@font). + +---End of xCJK.txt--- diff --git a/Master/texmf-dist/doc/latex/cjk/examples/Big5.tex b/Master/texmf-dist/doc/latex/cjk/examples/Big5.tex new file mode 100644 index 00000000000..8a7ba74401d --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/Big5.tex @@ -0,0 +1,35 @@ +% This is the file Big5.tex of the CJK package +% for testing Chinese (in Big 5 encoding). +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) +% +% +% process this file with bg5latex + +\documentclass[12pt]{article} + +\usepackage{CJK} + + +\begin{document} + +\begin{CJK*}{Bg5}{bsmi} +\CJKtilde + +\noindent ฅปฑ`ฐฐตชถฐ~(FAQ list)~ฌOฑqค@จวธgฑ`ณQฐจ์ชบฐรDคฮจไพAทํชบธั +ตชคคกAฅHค่ซKชบงฮฆกบKญnฆำฅXชบกCธ๒คWค@ชฉคฃฆPชบฌOกAจไฝsฑฦตฒบcคwนฉณง๏ลกC +\textbf{ฆณร๖ทsตฒบcชบฒำธ`กAฅiฐัฆากuฆpฆ๓พ\ลชฅปฐตชถฐคฮคFธัจไฝsฑฦตฒบcกvธำ +ถตคคชบปกฉ๚กC} + +\end{CJK*} + +\end{document} + +%%% Local Variables: +%%% coding: big5 +%%% mode: latex +%%% TeX-master: t +%%% TeX-command-default: "CJKLaTeX" +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/Big5vert.tex b/Master/texmf-dist/doc/latex/cjk/examples/Big5vert.tex new file mode 100644 index 00000000000..3f4b58b2412 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/Big5vert.tex @@ -0,0 +1,35 @@ +% This is the file Big5vert.tex of the CJK package +% for testing vertical typesetting (in Big 5 encoding). +% +% process this file with bg5latex +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\documentclass[12pt]{article} + +\usepackage{CJK} +\usepackage{CJKvert} + + +\begin{document} + +\begin{CJK*}{Bg5}{bsmi} +\CJKtilde + +\noindent ฅปฑ`ฐฐตชถฐ~(FAQ list)~ฌOฑqค@จวธgฑ`ณQฐจ์ชบฐรDคฮจไพAทํชบธั +ตชคคกAฅHค่ซKชบงฮฆกบKญnฆำฅXชบกCธ๒คWค@ชฉคฃฆPชบฌOกAจไฝsฑฦตฒบcคwนฉณง๏ลกC +\textbf{ฆณร๖ทsตฒบcชบฒำธ`กAฅiฐัฆากuฆpฆ๓พ\ลชฅปฐตชถฐคฮคFธัจไฝsฑฦตฒบcกvธำ +ถตคคชบปกฉ๚กC} + +\end{CJK*} + +\end{document} + +%%% Local Variables: +%%% coding: big5 +%%% mode: latex +%%% TeX-master: t +%%% TeX-command-default: "CJKLaTeX" +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CEF_test.tex b/Master/texmf-dist/doc/latex/cjk/examples/CEF_test.tex new file mode 100644 index 00000000000..682b72920a0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/CEF_test.tex @@ -0,0 +1,41 @@ +% This is the file CEF_test.tex of the CJK package +% for testing CEF encoded text with LaTeX2e +% +% Version 4.8.0 (22-May-2008) +% +% process this text with ceflatex + +\documentclass[12pt]{article} + +\usepackage[global]{CJK} +\usepackage{MULEenc} + + +\begin{document} + +\begin{CJK}{}{} + +\verb|\CJKchar[CNS1]{"5A}{"5A}| \CJKchar[CNS1]{"5A}{"5A} +\quad \verb|&C1-|\verb|5A5A;| &C1-5A5A; + +\verb|\CJKchar[CNS2]{"5A}{"5A}| \CJKchar[CNS2]{"5A}{"5A} +\quad \verb|&C2-|\verb|5A5A;| &C2-5A5A; + +\verb|\CJKchar[CNS3]{"5A}{"5A}| \CJKchar[CNS3]{"5A}{"5A} +\quad \verb|&C3-|\verb|5A5A;| &C3-5A5A; + +\verb|\CJKchar[CNS4]{"5A}{"5A}| \CJKchar[CNS4]{"5A}{"5A} +\quad \verb|&C4-|\verb|5A5A;| &C4-5A5A; + +\verb|\CJKchar[CNS5]{"5A}{"5A}| \CJKchar[CNS5]{"5A}{"5A} +\quad \verb|&C5-|\verb|5A5A;| &C5-5A5A; + +\verb|\CJKchar[CNS6]{"5A}{"5A}| \CJKchar[CNS6]{"5A}{"5A} +\quad \verb|&C6-|\verb|5A5A;| &C6-5A5A; + +\verb|\CJKchar[CNS7]{"5A}{"5A}| \CJKchar[CNS7]{"5A}{"5A} +\quad \verb|&C7-|\verb|5A5A;| &C7-5A5A; + +\end{CJK} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CJKbabel.tex b/Master/texmf-dist/doc/latex/cjk/examples/CJKbabel.tex new file mode 100644 index 00000000000..45aed068f88 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/CJKbabel.tex @@ -0,0 +1,135 @@ +% This is the file CJKbabel.tex of the CJK package +% for testing text written with Emacs 20 and Babel (starting +% with version 3.6). +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% You need Emacs 20 to process this file! + +% You should load this file into Emacs (C-x C-f) and call +% `cjk-write-file' (M-x cjk-write-file). Then run LaTeX on the file +% `CJKbabel.cjk'. +% +% `cjk-write-file' will be available after loading cjk-enc.el into +% Emacs 20 with the commands load-file or load-library. +% +% Vietnamese support for Babel comes with the VnTeX package. +% +% Read cjk-enc.txt for more details. + +\documentclass[12pt]{article} + +\usepackage{inputenc} % load it without argument + % to avoid Babel warnings + +\usepackage[10pt]{type1ec} % use only 10pt fonts +\usepackage[T1]{fontenc} + +\usepackage[german, + russian, % T2A font encoding + thaicjk, % C90 font encoding + greek, % LGR font encoding + vietnam, % T5 font encoding + USenglish]{babel} + +\usepackage[overlap, CJK]{ruby} +\usepackage{CJKulem} + +\usepackage{pshan} % Korean Wansong PS fonts + +\CJKencfamily{Bg5}{bsmi} +\CJKencfamily{GB}{gbsn} +\CJKencfamily[dnp]{JIS}{min} + +\CJKfontenc{KS}{HL} +\CJKfontenc{JIS}{dnp} + +\renewcommand{\rubysep}{-0.2ex} + + +\begin{document} + +\parskip 3ex +\parindent 0pt + +ภฬ FAQ ภบ ภฺมึ นบนตวดย ม๚นฎฐ๚ ฑืฟก ด๋วั ด๋ดไภป ฐฃดธํทแวั พ็ฝฤภธทฮ +ธ๐พฦ ฟซพ๎มณฝภดฯดู. \uline{ภฬ FAQ ภว ฑธมถดย ม๖ณญ ฦวฟก บ๑วฯฟฉ ศนฑโภ๛ภธทฮ + บฏฐๆตวพ๚ฝภดฯดู.} \textbf{ป๓ผผวั ฐอภบ ``ภฬ FAQ ภป พ๎ถปฐิ ภะภป + ฐอภฮฐก'' ถ๓ดย ด๋ธ๑ภป ยมถวฯฝรฑโ นูถ๘ดฯดู.} + +\begin{otherlanguage}{german} + Dieses FAQ wurde erstellt, um hไufig gestellte Fragen und ihre + Antworten in einer gefไlligen Form zusammenzufassen. \uline{Die + Struktur dieses FAQ wurde drastisch geไndert seit der letzten + Version.} \textbf{Fr Details siehe den Abschnitt "`Wie lese ich + dieses FAQ"'.} +\end{otherlanguage} + +\CJKtilde + +ฑพณฃฮสฮสด๐ผฏ~(FAQ list)~สวดำาปะฉพญณฃฑปฮสตฝตฤฮสฬโผฐฦไสสตฑตฤฝโด๐ึะฃฌาิทฝ +ฑใตฤะฮสฝีชาชถ๘ณ๖ตฤกฃ\uline{ธ๚ษฯาปฐๆฒปอฌตฤสวฃฌฦไฑเลลฝแนนาัณนตืธฤฑไกฃ} +\textbf{ำะนุะยฝแนนตฤฯธฝฺฃฌฟษฒฮฟผกธศ็บฮิฤถมฑพฮสด๐ผฏผฐมหฝโฦไฑเลลฝแนนกนธร + ฯ๎ึะตฤหตร๗กฃ} + +จผงปรปรรฑฤ๖~(FAQ list)~ณำผธฆขญ้ว๏ผงฟธปรฎฐฐปรู๏งฐฎจัหวถฐศูรฑฆไกขง้งส +ฑ๎ฐฌฑชฃส๓ตำชีง๙ฐกค\uline{ศ๚ฆนฆขฐ๋ฆใฉาฐณำกขฎจะพผ๋รนหญฆูสๆฏถฌาษกค} +\textbf{ชตรฦผรนหญฐพูว่กขจฌปทชิกึฉ๒ช๕ัๆ๕จปรรฑฤ๖งฐฆจศูฎจะพผ๋รนหญกืศ + ฤ๛ฆไฐอชฏกค} + +This FAQ list was made to summarize some frequently asked questions +and their answers in a convenient form. \uline{The structure of this + FAQ list has drastically changed since the last version.} +\textbf{For details of the new structure, see the entry of `How to + read this FAQ and its structure'.} + +คณคฮ~FAQ~ฅ๊ฅนฅศคฯกขค่คฏคขค๋ผมฬไคศคฝคฮล๚ค๒ฝธคแกขฬ๒คหฮฉคฤค่คฆคหคทคฟคโคฮ +ควคนกฃ\uline{คณคฮ~FAQ~ฅ๊ฅนฅศคฮนฝยคคฯกขฐสมฐคฮคโคฮคศศๆคูคฦย็ษคหสันนคตค์ + คฦคคคคนกฃ}\textbf{\ruby{ฟท}{คขคฟค้}คทคคนฝยคคหดุคทคฦคฯกขกึคณคฮ~FAQ~ + คฮฦษค฿สคศคฝคฮนฝยคกืคฮนเฬค๒\ruby{ปฒ}{คตค๓}\ruby{พศ}{คทค็คฆ}คทคฦฒผคต + คคกฃ} + +\begin{otherlanguage}{vietnam} +Phขฅn ``Nhขๆng cขโu hข๖i vขเ giขไi ข๐ขแp thข฿ขถng gขฃp'' (viขชt tขกt tขื tiขชng Anh +lขเ FAQ) ข๐ข฿ขc nข๊u ra ขท ข๐ขโy nhขขm mข๘c ข๐ขํch thu thขงp nhขๆng cขโu hข๖i thข฿ขถng +gขฃp trong thข๑c tขช vขเ nhขๆng lขถi giขไi ข๐ขแp thขํch hขp nhขคt cขa nข๓. +\uline{Tขื lขฅn ขคn bขไn cuขฏi cข๙ng ข๐ขชn nay, ข๐ขใ cข๓ nhขๆng sข๑ thay ข๐ขฑi khขแ + lขพn trong cขคu trข๚c cขa FAQ.} \textbf{ฃ๐ขฌ hiขฌu rข๕ hขฝn bขีn nข๊n xem lขีi + chข฿ขฝng ``Lขเm sao tข๔i cข๓ thขฌ ข๐ข๗c ข๐uขc FAQ''.} +\end{otherlanguage} + +\begin{otherlanguage}{russian} + อโโ แ฿ุแฺ ั๋ แแโะาี ิ๏ แใุเาะุ๏ ีฺโเ๋ๅ ็ะแโ + ืะิะาะี๋ๅ า฿เแา (FAQ), าีแโี แ โาีโะุ ะ ุๅ, า ใิัู + ไเี. \uline{มโเใฺโใเะ ํโำ FAQ ฺะเิุะ์ ุืีุะแ์ ฿ + แเะาีุ๎ แ ฿แีิ\-ีู าีเแุีู.} \textbf{ฒ เะืิีี `บะฺ ็ุโะโ์ + ํโโ FAQ ุ ีำ แโเใฺโใเะ' ั๊๏แี๋ ิีโะุ ํโู าู แโเใฺโใเ๋.} +\end{otherlanguage} + +\begin{otherlanguage}{thaicjk} +
ร
า
ย
ก
า
ร FAQ ฅนฅีฅ้
สฅรฅ้
า
งฅขฅึฅ้
น
เฅพฅืฅ่
อ
สฅรฅุ
ป
ค
ำ
ถ
า
มฅทฅีฅ่
ถ
า
มฅกฅั
นฅบฅ่
อ
ย
คฅรฅัฅ้
ง
แ
ล
ะ
ค
ำ
ต
อ
บ
ค
ำ
ถ
า
ม
ใ
นฅรฅู
ป
แ
บ
บฅทฅี
ส
ะ
ด
ว
ก. + \uline{
โ
ค
ร
ง
สฅรฅ้
า
ง
ข
อ
ง
ร
า
ย
ก
า
ร FAQ ฅนฅีฅ้
เ
ปฅลฅีฅ่
ย
น
ไ
ป
ม
า
กฅตฅัฅ้
ง
แฅตฅ่ฅรฅุฅ่
นฅทฅีฅ่
แฅลฅ้
ว.} + \textbf{ฅดฅู
ร
า
ย
ล
ะ
เฅอฅี
ย
ด
ส
ำ
หฅรฅั
บ
โ
ค
ร
ง
สฅรฅ้
า
ง
ใ
หฅมฅ่
ไฅดฅ้
จ
า
กฅชฅ่
ว
ง ``
โ
ค
ร
ง
สฅรฅ้
า
ง
แ
ล
ะฅวฅิฅธฅี
ก
า
รฅอฅ่
า
น + FAQ.''} +\end{otherlanguage} + +\begin{otherlanguage}{greek} + ว ๋฿๓๔แ แ๕๔ ำิล (๓๕๗ํ ๔้่ๅ์ํ๙ํ ๅ๑๙๔๓ๅ๙ํ) ๗ๅ้ ๓แํ ๓๊๏๐ ํแ + ๓๕์๐ๅ๑้๋โๅ้ ๓ๅ ๅ๗๑็๓๔็ ์๏๑๖ ๊๐๏้ๅ๒ ๓็์แํ๔้๊๒ ๅ๑๙๔๓ๅ้๒ ๊แ้ ๔้๒ + แ๐แํ๔๓ๅ้๒ ๔๏๕๒. \uline{ว ๏๑ใํ๙๓็ แ๕๔๒ ๔็๒ ๋฿๓๔แ๒ ๋๋แ๎ๅ + ๓็์แํ๔้๊ แ๐ ๔็ํ ๔ๅ๋ๅ๕๔แ฿แ ๊ไ๏๓ ๔็๒ ๊แ้ ์ๅ๔.} \textbf{ร้แ + ๋ๅ๐๔๏์๑ๅ้ๅ๒ ๐ํ๙ ๓๔็ ํแ ๏๑ใํ๙๓็, โ๋๐ๅ ๔๏ ๋์์แ <<ะ๒ ํแ + ไ้แโ๓ๅ๔ๅ แ๕๔ ๔็ํ ำิล ๊แ้ ๐๒ ๅ฿ํแ้ ๏๑ใแํ๙์ํ็>>.} +\end{otherlanguage} + +\end{document} + + +%%% Local Variables: +%%% coding: emacs-mule +%%% mode: latex +%%% TeX-master: t +%%% TeX-command-default: "CJKLaTeX" +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CJKfntef.tex b/Master/texmf-dist/doc/latex/cjk/examples/CJKfntef.tex new file mode 100644 index 00000000000..54e0e42c6cc --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/CJKfntef.tex @@ -0,0 +1,61 @@ +% This is the file CJKfntef.tex of the CJK package +% for testing CJKfntef.sty. +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\documentclass[12pt]{article} + +\usepackage{color} +\usepackage{CJK} +\usepackage{CJKfntef} + +\textwidth 100mm +\pagestyle{empty} + + +\begin{document} + +\baselineskip 24pt +\parindent 24pt + +\begin{CJK*}{GB}{gbsn} + +\begin{CJKfilltwosides}{40mm} +มฝถหทึษขถิฦ๋\\ +ทึษขถิฦ๋ \\ +\CJKunderdot{บบ ืึ ฟษผำตใ} +\end{CJKfilltwosides} + +\vspace{0.3cm} + +\CJKunderdot{บบืึผำตใฃฌ \CJKunderline{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\CJKunderline*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\CJKunderdot{บบืึผำตใฃฌ \CJKunderwave{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\CJKunderwave*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\CJKunderdot{บบืึผำตใฃฌ \CJKunderdblline{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\CJKunderdblline*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\CJKunderdot{บบืึผำตใฃฌ \CJKsout{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\CJKsout*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\CJKunderdot{บบืึผำตใฃฌ \CJKxout{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\CJKxout*{บบืึผำตใฃฌ \CJKunderdot{ฟษอฌสฑผำฯยปฎฯ฿ผำฯยปฎฃฌฯ฿, ืิถฏปปะะ,}} + +\end{CJK*} + +\end{document} + +%%% Local Variables: +%%% coding: euc-china +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CJKmixed.tex b/Master/texmf-dist/doc/latex/cjk/examples/CJKmixed.tex new file mode 100644 index 00000000000..89119584f4f --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/CJKmixed.tex @@ -0,0 +1,81 @@ +% This is the file CJKmixed.tex of the CJK package +% for testing CJK text written vertically. +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) +% +% Vietnamese support for Babel comes with the VnTeX package. + +\documentclass[12pt]{article} + +\usepackage{CJKutf8} +\usepackage{CJKvert} +\usepackage{CJKulem} + +\usepackage{inputenc} % load it without argument + % to avoid Babel warnings + +\usepackage[vietnam, % T5 font encoding + USenglish]{babel} + +\newenvironment{TChinese}{% + \CJKfamily{bsmi}% + \CJKtilde + \CJKnospace}{} + + +\begin{document} + +\begin{CJK}{UTF8}{} + +\CJKhorz + +This is a test how CJK scripts can be typeset horizontally and +vertically at the same time. It is not too difficult to achieve, +nevertheless it is not trivial. Most importantly, you need a +\texttt{.fdx} file which corresponds to your CJK font, and which +defines how to set up the font for vertical typesetting. + +\begin{center} + \rotatebox[origin=c]{-90}{% + \begin{minipage}[c]{8cm} + \CJKvert + \begin{TChinese} + ๆฌๅธธๅๅ็ญ้~(FAQ list)~ๆฏๅพไธไบ็ถๅธธ่ขซๅๅฐ็ๅ้กๅๅ
ถ้ฉ็ถ็่งฃ็ญ + ไธญ๏ผไปฅๆนไพฟ็ๅฝขๅผๆ่ฆ่ๅบ็ใ\uline{่ทไธไธ็ไธๅ็ๆฏ๏ผๅ
ถ็ทจๆ็ตๆง + ๅทฒๅพนๅบๆน่ฎใ} \textbf{ๆ้ๆฐ็ตๆง็็ดฐ็ฏ๏ผๅฏๅ่ใๅฆไฝ้ฑ่ฎๆฌๅ + ็ญ้ๅไบ่งฃๅ
ถ็ทจๆ็ตๆงใ่ฉฒ้
ไธญ็่ชชๆใ} + \end{TChinese} + \end{minipage}% + }% + \hspace{0.5cm}% + \begin{minipage}[c]{8cm} + \begin{otherlanguage}{vietnam} + Phแบงn ``Nhแปฏng cรขu hแปi vร giแบฃi ฤรกp thฦฐแปng gแบทp'' (viแบฟt tแบฏt tแปซ tiแบฟng + Anh lร FAQ) ฤฦฐแปฃc nรชu ra แป ฤรขy nhแบฑm mแปฅc ฤรญch thu thแบญp nhแปฏng cรขu + hแปi thฦฐแปng gแบทp trong thแปฑc tแบฟ vร nhแปฏng lแปi giแบฃi ฤรกp thรญch hแปฃp + nhแบฅt cแปงa nรณ. \uline{Tแปซ lแบงn แบฅn bแบฃn cuแปi cรนng ฤแบฟn nay, ฤรฃ cรณ + nhแปฏng sแปฑ thay ฤแปi khรก lแปn trong cแบฅu trรบc cแปงa FAQ.} \textbf{ฤแป + hiแปu rรต hฦกn bแบกn nรชn xem lแบกi chฦฐฦกng ``Lร m sao tรดi cรณ thแป ฤแปc + ฤuแปฃc FAQ''.} + \end{otherlanguage} + \end{minipage} +\end{center} + +\begin{TChinese} + ๆฌๅธธๅๅ็ญ้~(FAQ list)~ๆฏๅพไธไบ็ถๅธธ่ขซๅๅฐ็ๅ้กๅๅ
ถ้ฉ็ถ็่งฃ็ญไธญ๏ผไปฅ + ๆนไพฟ็ๅฝขๅผๆ่ฆ่ๅบ็ใ\uline{่ทไธไธ็ไธๅ็ๆฏ๏ผๅ
ถ็ทจๆ็ตๆงๅทฒๅพนๅบๆน่ฎใ} + \textbf{ๆ้ๆฐ็ตๆง็็ดฐ็ฏ๏ผๅฏๅ่ใๅฆไฝ้ฑ่ฎๆฌๅ็ญ้ๅไบ่งฃๅ
ถ็ทจๆ็ตๆงใ + ่ฉฒ้
ไธญ็่ชชๆใ} +\end{TChinese} + +\end{CJK} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% coding: utf-8 +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/CJKutf8.tex b/Master/texmf-dist/doc/latex/cjk/examples/CJKutf8.tex new file mode 100644 index 00000000000..9acb30becaf --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/CJKutf8.tex @@ -0,0 +1,117 @@ +% This is the file CJKutf8.tex of the CJK package +% for testing the CJKutf8 style file. +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Vietnamese support for Babel comes with the VnTeX package. +% +% Read CJKutf8.txt for more details. + +\documentclass[12pt]{article} + +\usepackage[10pt]{type1ec} % use only 10pt fonts +\usepackage[T1]{fontenc} + +\usepackage{CJKutf8} +\usepackage[german, russian, vietnam, USenglish]{babel} + +\usepackage[overlap, CJK]{ruby} +\usepackage{CJKulem} + +\renewcommand{\rubysep}{-0.2ex} + +\newenvironment{SChinese}{% + \CJKfamily{gbsn}% + \CJKtilde + \CJKnospace}{} +\newenvironment{TChinese}{% + \CJKfamily{bsmi}% + \CJKtilde + \CJKnospace}{} +\newenvironment{Japanese}{% + \CJKfamily{min}% + \CJKtilde + \CJKnospace}{} +\newenvironment{Korean}{% + \CJKfamily{mj}}{} + + +\begin{document} + +\parskip 3ex +\parindent 0pt + +\begin{CJK}{UTF8}{} + +\begin{Korean} + ์ด FAQ ์ ์์ฃผ ๋ฐ๋ณต๋๋ ์ง๋ฌธ๊ณผ ๊ทธ์ ๋ํ ๋๋ต์ ๊ฐ๋จ๋ช
๋ฃํ ์์์ผ๋ก + ๋ชจ์ ์ฎ์ด์ก์ต๋๋ค. \uline{์ด FAQ ์ ๊ตฌ์กฐ๋ ์ง๋ ํ์ ๋นํ์ฌ + ํ๊ธฐ์ ์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.} \textbf{์์ธํ ๊ฒ์ ``์ด FAQ ์ ์ด๋ป๊ฒ + ์ฝ์ ๊ฒ์ธ๊ฐ'' ๋ผ๋ ๋๋ชฉ์ ์ฐธ์กฐํ์๊ธฐ ๋ฐ๋๋๋ค.} +\end{Korean} + +\begin{otherlanguage}{german} + Dieses FAQ wurde erstellt, um hรคufig gestellte Fragen und ihre + Antworten in einer gefรคlligen Form zusammenzufassen. \uline{Die + Struktur dieses FAQ wurde drastisch geรคndert seit der letzten + Version.} \textbf{Fรผr Details siehe den Abschnitt "`Wie lese ich + dieses FAQ"'.} +\end{otherlanguage} + +\begin{SChinese} + ๆฌๅธธ้ฎ้ฎ็ญ้~(FAQ list)~ๆฏไปไธไบ็ปๅธธ่ขซ้ฎๅฐ็้ฎ้ขๅๅ
ถ้ๅฝ็่งฃ็ญไธญ๏ผไปฅ + ๆนไพฟ็ๅฝขๅผๆ่ฆ่ๅบ็ใ\uline{่ทไธไธ็ไธๅ็ๆฏ๏ผๅ
ถ็ผๆ็ปๆๅทฒๅฝปๅบๆนๅใ} + \textbf{ๆๅ
ณๆฐ็ปๆ็็ป่๏ผๅฏๅ่ใๅฆไฝ้
่ฏปๆฌ้ฎ็ญ้ๅไบ่งฃๅ
ถ็ผๆ็ปๆใ + ่ฏฅ้กนไธญ็่ฏดๆใ} +\end{SChinese} + +\begin{TChinese} + ๆฌๅธธๅๅ็ญ้~(FAQ list)~ๆฏๅพไธไบ็ถๅธธ่ขซๅๅฐ็ๅ้กๅๅ
ถ้ฉ็ถ็่งฃ็ญไธญ๏ผไปฅ + ๆนไพฟ็ๅฝขๅผๆ่ฆ่ๅบ็ใ\uline{่ทไธไธ็ไธๅ็ๆฏ๏ผๅ
ถ็ทจๆ็ตๆงๅทฒๅพนๅบๆน่ฎใ} + \textbf{ๆ้ๆฐ็ตๆง็็ดฐ็ฏ๏ผๅฏๅ่ใๅฆไฝ้ฑ่ฎๆฌๅ็ญ้ๅไบ่งฃๅ
ถ็ทจๆ็ตๆงใ + ่ฉฒ้
ไธญ็่ชชๆใ} +\end{TChinese} + +This FAQ list was made to summarize some frequently asked questions +and their answers in a convenient form. \uline{The structure of this + FAQ list has drastically changed since the last version.} +\textbf{For details of the new structure, see the entry of `How to + read this FAQ and its structure'.} + +\begin{Japanese} + ใใฎ~FAQ~ใชในใใฏใใใใใ่ณชๅใจใใฎ็ญใ้ใใๅฝนใซ็ซใคใใใซใใใใฎ + ใงใใ\uline{ใใฎ~FAQ~ใชในใใฎๆง้ ใฏใไปฅๅใฎใใฎใจๆฏในใฆๅคงๅน
ใซๅคๆดใ + ใใฆใใพใใ}\textbf{\ruby{ๆฐ}{ใใใ}ใใๆง้ ใซ้ขใใฆใฏใใใ + ใฎ~FAQ~ ใฎ่ชญใฟๆนใจใใฎๆง้ ใใฎ้
็ฎใ\ruby{ๅ}{ใใ}\ruby{็
ง}{ใใ + ใ}ใใฆไธใใใ} +\end{Japanese} + +\begin{otherlanguage}{vietnam} + Phแบงn ``Nhแปฏng cรขu hแปi vร giแบฃi ฤรกp thฦฐแปng gแบทp'' (viแบฟt tแบฏt tแปซ tiแบฟng Anh + lร FAQ) ฤฦฐแปฃc nรชu ra แป ฤรขy nhแบฑm mแปฅc ฤรญch thu thแบญp nhแปฏng cรขu hแปi + thฦฐแปng gแบทp trong thแปฑc tแบฟ vร nhแปฏng lแปi giแบฃi ฤรกp thรญch hแปฃp nhแบฅt cแปงa + nรณ. \uline{Tแปซ lแบงn แบฅn bแบฃn cuแปi cรนng ฤแบฟn nay, ฤรฃ cรณ nhแปฏng sแปฑ thay ฤแปi + khรก lแปn trong cแบฅu trรบc cแปงa FAQ.} \textbf{ฤแป hiแปu rรต hฦกn bแบกn nรชn + xem lแบกi chฦฐฦกng ``Lร m sao tรดi cรณ thแป ฤแปc ฤuแปฃc FAQ''.} +\end{otherlanguage} + +\begin{otherlanguage}{russian} + ะญัะพั ัะฟะธัะพะบ ะฑัะป ัะพััะฐะฒะปะตะฝ ะดะปั ััะผะผะธัะพะฒะฐะฝะธั ะฝะตะบะพัะพััั
ัะฐััะพ + ะทะฐะดะฐะฒะฐะตะผัั
ะฒะพะฟัะพัะพะฒ (FAQ), ะฒะผะตััะต ั ะพัะฒะตัะฐะผะธ ะฝะฐ ะฝะธั
, ะฒ ัะดะพะฑะฝะพะน + ัะพัะผะต. \uline{ะกัััะบัััะฐ ััะพะณะพ FAQ ะบะฐัะดะธะฝะฐะปัะฝะพ ะธะทะผะตะฝะธะปะฐัั ะฟะพ + ััะฐะฒะฝะตะฝะธั ั ะฟะพัะปะตะด\-ะฝะตะน ะฒะตััะธะตะน.} \textbf{ะ ัะฐะทะดะตะปะต `ะะฐะบ ัะธัะฐัั + ััะพั FAQ ะธ ะตะณะพ ััััะบัััะฐ' ะพะฑัััะฝะตะฝั ะดะตัะฐะปะธ ััะพะน ะฝะพะฒะพะน ััััะบัััั.} +\end{otherlanguage} + +\end{CJK} + +\end{document} + + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/GB.tex b/Master/texmf-dist/doc/latex/cjk/examples/GB.tex new file mode 100644 index 00000000000..28a7672fd8d --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/GB.tex @@ -0,0 +1,31 @@ +% This is the file GB.tex of the CJK package +% for testing Chinese (in GB encoding). +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\documentclass[12pt]{article} + +\usepackage{CJK} + + +\begin{document} + +\begin{CJK*}{GB}{gbsn} +\CJKtilde + +\noindent ฑพณฃฮสฮสด๐ผฏ~(FAQ list)~สวดำาปะฉพญณฃฑปฮสตฝตฤฮสฬโผฐฦไสสตฑตฤฝโ +ด๐ึะฃฌาิทฝฑใตฤะฮสฝีชาชถ๘ณ๖ตฤกฃธ๚ษฯาปฐๆฒปอฌตฤสวฃฌฦไฑเลลฝแนนาัณนตืธฤฑไกฃ +\textbf{ำะนุะยฝแนนตฤฯธฝฺฃฌฟษฒฮฟผกธศ็บฮิฤถมฑพฮสด๐ผฏผฐมหฝโฦไฑเลลฝแนนกนธร +ฯ๎ึะตฤหตร๗กฃ} + +\end{CJK*} + +\end{document} + +%%% Local Variables: +%%% coding: euc-china +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/JIS.tex b/Master/texmf-dist/doc/latex/cjk/examples/JIS.tex new file mode 100644 index 00000000000..d29dbb59ed1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/JIS.tex @@ -0,0 +1,35 @@ +% This is the file JIS.tex of the CJK package +% for testing Japanese (in JIS encoding). +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\documentclass[12pt]{article} + +\usepackage{CJK} +\usepackage[CJK, overlap]{ruby} + +\renewcommand{\rubysep}{-0.2ex} + + +\begin{document} + +\begin{CJK*}[dnp]{JIS}{min} +\CJKtilde + +\noindent คณคฮ~FAQ~ฅ๊ฅนฅศคฯกขค่คฏคขค๋ผมฬไคศคฝคฮล๚ค๒ฝธคแกขฬ๒คหฮฉคฤค่คฆ +คหคทคฟคโคฮควคนกฃคณคฮ~FAQ~ฅ๊ฅนฅศคฮนฝยคคฯกขฐสมฐคฮคโคฮคศศๆคูคฦย็ษคหสันน +คตค์คฦคคคคนกฃ\textbf{\ruby{ฟท}{คขคฟค้}คทคคนฝยคคหดุคทคฦคฯกขกึคณคฮ~FAQ~ +คฮฦษค฿สคศคฝคฮนฝยคกืคฮนเฬค๒\ruby{ปฒ}{คตค๓}\ruby{พศ}{คทค็คฆ}คทคฦฒผคต +คคกฃ} + +\end{CJK*} + +\end{document} + +%%% Local Variables: +%%% coding: euc-japan +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/KS.tex b/Master/texmf-dist/doc/latex/cjk/examples/KS.tex new file mode 100644 index 00000000000..4a644a03dc0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/KS.tex @@ -0,0 +1,31 @@ +% This is the file KS.tex of the CJK package +% for testing Korean (in KS encoding). +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\documentclass[12pt]{article} + +\usepackage{CJK} +\usepackage{pshan} + + +\begin{document} + +\begin{CJK}[HL]{KS}{} + +\noindent ภฬ FAQ ภบ ภฺมึ นบนตวดย ม๚นฎฐ๚ ฑืฟก ด๋วั ด๋ดไภป ฐฃดธํทแวั +พ็ฝฤภธทฮ ธ๐พฦ ฟซพ๎มณฝภดฯดู. ภฬ FAQ ภว ฑธมถดย ม๖ณญ ฦวฟก บ๑วฯฟฉ +ศนฑโภ๛ภธทฮ บฏฐๆตวพ๚ฝภดฯดู. \textbf{ป๓ผผวั ฐอภบ ``ภฬ FAQ ภป พ๎ถปฐิ +ภะภป ฐอภฮฐก'' ถ๓ดย ด๋ธ๑ภป ยมถวฯฝรฑโ นูถ๘ดฯดู.} + +\end{CJK} + +\end{document} + +%%% Local Variables: +%%% coding: euc-korea +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/README b/Master/texmf-dist/doc/latex/cjk/examples/README new file mode 100644 index 00000000000..38e932a325b --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/README @@ -0,0 +1,66 @@ +Please note that the used fonts in the example files are set up for the +TeXLive distribution. Here a listing of some files and the used CJK fonts. + + + example file font definition file(s) TeX font names font file name(s) + --------------------------------------------------------------------------- + + Big5.tex c00bsmi.fd bsmilp01, bsmiu00.pfb, + bsmilp02, bsmiu02.pfb, + ... (4) ... + + Big5vert.tex c00bsmi.fd (1) bsmilp01, bsmiu00.pfb, + bsmilp02, bsmiu02.pfb, + ..., ..., + bsmilpv (4) bsmiuv.pfb + + CEF_test.tex c31song.fd, c1so1201, cns40-1.hbf, + ..., c1so1202, ..., + c37song.fd ..., cns40-7.hbf (5) + c2so1201, + c2so1202, + ... + + CJKutf8.txt c70bsmi.fd, bsmiu00,... bsmiu00.pfb,... + c70gbsn.fd, gbsnu00,... gbsnu00.pfb,... + c70min.fd, (2) udmj00,... (4) dmjsy.pfb,... + c70mj.fd uwmj00,... (4,6) umj00.pfb,... (7) + + GB.tex c10gbsn.fd gbsnlp01, gbsnlp01.pfb, + gbsnlp02, gbsnlp02.pfb, + ... (4) ... + + JIS.tex + SJIS.tex c42min.fd (2) dmjsy, dmjsy.pfb, + dmjroma, dmjroma.pfb, + dmjhira, dmjhira.pfb, + ... ... + + KS.tex c63mj.fd wmj0, umj00.pfb, + wmj1, umj01.pfb, + ... (4) ... (7) + + UTF8.tex c70song.fd (3) cyberb00, cyberbit.ttf + cyberb01, + ... + + +(1) The glyphs are rotated using the graphicx package. + +(2) Font definition files for the Wadalab fonts are in the directory + `contrib/wadalab'. + +(3) For licensing reasons, TeXLive doesn't contain cyberbit.ttf and + corresponding TeX subfont metric files, thus you can't process UTF8.tex + without installing this font (or another Unicode font) manually. + +(4) These are virtual fonts. + +(5) These are bitmap fonts. + +(6) Virtual Unicode fonts for Korean (from HLaTeX) are currently only + available in the TeXLive distribution. + +(7) Korean PS fonts (from HLaTeX) with glyph names compliant to the Adobe + Glyph List (AGL) are currently only available in the TeXLive + distribution. diff --git a/Master/texmf-dist/doc/latex/cjk/examples/SJIS.tex b/Master/texmf-dist/doc/latex/cjk/examples/SJIS.tex new file mode 100644 index 00000000000..f01e028c525 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/SJIS.tex @@ -0,0 +1,39 @@ +% This is the file SJIS.tex of the CJK package +% for testing Japanese (in SJIS encoding). +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) +% +% +% process this file with sjislatex + +\documentclass[12pt]{article} + +\usepackage{CJK} +\usepackage[CJK, overlap]{ruby} + +\renewcommand{\rubysep}{-0.3ex} + + +\begin{document} + +\begin{CJK*}[dnp]{SJIS}{min} +\CJKtilde + +\noindent ฑฬ~FAQ~XgอAๆญ ้ฟโฦปฬ๐W฿A๐ษงยๆค +ษตฝเฬลทBฑฬ~FAQ~Xgฬ\ขอAศOฬเฬฦไืฤๅษฯX +ณ๊ฤขทB\textbf{\ruby{V}{ ฝ็}ตข\ขษึตฤอAuฑฬ~FAQ~ +ฬว๛ฦปฬ\ขvฬฺ๐\ruby{Q}{ณ๑}\ruby{ฦ}{ตๅค}ตฤบณ +ขB} + +\end{CJK*} + +\end{document} + +%%% Local Variables: +%%% coding: sjis +%%% mode: latex +%%% TeX-master: t +%%% TeX-command-default: "CJKLaTeX" +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/UTF8.tex b/Master/texmf-dist/doc/latex/cjk/examples/UTF8.tex new file mode 100644 index 00000000000..c2247323bcd --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/UTF8.tex @@ -0,0 +1,38 @@ +% This is the file UTF8.tex of the CJK package +% for testing UTF 8 encoding. +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\documentclass[12pt]{article} + +\usepackage{CJK} +\usepackage[T1]{fontenc} + +% we want the Unicode font for normal text also +\DeclareFontFamily{T1}{song}{} +\DeclareFontShape{T1}{song}{m}{n}{<-> cyberb00}{} +\renewcommand\rmdefault{song} + + +\begin{document} + +\begin{CJK}{UTF8}{song} + +\noindent Hello World! + +\noindent ฮฮฑฮปฮทฮผฮญฯฮฑ ฮบฯฯฮผฮต + +\CJKnospace +\noindent ใใใซใกใฏ ไธ็ + +\end{CJK} + +\end{document} + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/muletest.tex b/Master/texmf-dist/doc/latex/cjk/examples/muletest.tex new file mode 100644 index 00000000000..008355b1fbb --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/muletest.tex @@ -0,0 +1,149 @@ +% This is the file muletest.tex of the CJK package +% for testing text written with Mule and Emacs 20. +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% You need Emacs 20 (or Mule 2.3) to process this file! + +% You should load this file into Mule with `*internal*' encoding scheme +% (C-u C-x C-f) and call `cjk-write-file' (M-x cjk-write-file). +% Then run LaTeX on the file `muletest.cjk'. +% +% Under Emacs 20 type `C-x C-f muletest.tex' to load this file. +% +% `cjk-write-file' will be available after loading cjk-enc.el into Mule +% (Emacs 20) with the commands load-file or load-library. +% +% If you don't have german.sty, comment out the `\usepackage{german}' +% line. +% +% The T5 encoding is part of the VnTeX package (available at CTAN) which +% contains Vietnamese fonts and other support files for both TeX and +% LaTeX. +% +% Read cjk-enc.txt for more details. + +\documentclass[12pt]{article} + +\usepackage{inputenc} % load it without argument + % to avoid Babel warnings + +\usepackage[10pt]{type1ec} % use only 10pt fonts + +\usepackage{german} +\usepackage[T5,T2A,LGR,OT1]{fontenc} % T2A is Cyrillic, + % LGR is Greek + % T5 is Vietnamese + +\usepackage[overlap, CJK]{ruby} +\usepackage{pshan} % Korean Wansong PS fonts + +\CJKencfamily{Bg5}{bsmi} +\CJKencfamily{GB}{gbsn} +\CJKencfamily[dnp]{JIS}{min} + +\CJKfontenc{KS}{HL} +\CJKfontenc{JIS}{dnp} + +\renewcommand{\rubysep}{-0.2ex} + +\begin{document} + +% suppress hyphenation completely since we don't use Babel and thus +% don't know which \language corresponds to which hyphenation pattern +\lefthyphenmin 65 +\raggedright + +\noindent ภฬ FAQ ภบ ภฺมึ นบนตวดย ม๚นฎฐ๚ ฑืฟก ด๋วั ด๋ดไภป ฐฃดธํทแวั +พ็ฝฤภธทฮ ธ๐พฦ ฟซพ๎มณฝภดฯดู. ภฬ FAQ ภว ฑธมถดย ม๖ณญ ฦวฟก บ๑วฯฟฉ +ศนฑโภ๛ภธทฮ บฏฐๆตวพ๚ฝภดฯดู. \textbf{ป๓ผผวั ฐอภบ ``ภฬ FAQ ภป พ๎ถปฐิ + ภะภป ฐอภฮฐก'' ถ๓ดย ด๋ธ๑ภป ยมถวฯฝรฑโ นูถ๘ดฯดู.} + +\vspace{0.5cm} + +\noindent Dieses FAQ wurde erstellt, um hไufig gestellte Fragen und +ihre Antworten in einer gefไlligen Form zusammenzufassen. Die +Struktur dieses FAQ wurde drastisch geไndert seit der letzten Version. +\textbf{Fr Details siehe den Abschnitt "`Wie lese ich dieses FAQ"'.} + +\vspace{0.5cm} + +\CJKtilde + +\noindent ฑพณฃฮสฮสด๐ผฏ~(FAQ list)~สวดำาปะฉพญณฃฑปฮสตฝตฤฮสฬโผฐฦไสสตฑตฤฝโ +ด๐ึะฃฌาิทฝฑใตฤะฮสฝีชาชถ๘ณ๖ตฤกฃธ๚ษฯาปฐๆฒปอฌตฤสวฃฌฦไฑเลลฝแนนาัณนตืธฤฑไกฃ +\textbf{ำะนุะยฝแนนตฤฯธฝฺฃฌฟษฒฮฟผกธศ็บฮิฤถมฑพฮสด๐ผฏผฐมหฝโฦไฑเลลฝแนนกนธร + ฯ๎ึะตฤหตร๗กฃ} + +\vspace{0.5cm} + +\noindent จผงปรปรรฑฤ๖~(FAQ list)~ณำผธฆขญ้ว๏ผงฟธปรฎฐฐปรู๏งฐฎจัหวถฐศู +รฑฆไกขง้งสฑ๎ฐฌฑชฃส๓ตำชีง๙ฐกคศ๚ฆนฆขฐ๋ฆใฉาฐณำกขฎจะพผ๋รนหญฆูสๆฏถฌาษกค +\textbf{ชตรฦผรนหญฐพูว่กขจฌปทชิกึฉ๒ช๕ัๆ๕จปรรฑฤ๖งฐฆจศูฎจะพผ๋รนหญกืศ + ฤ๛ฆไฐอชฏกค} + +\vspace{0.5cm} + +\noindent This FAQ list was made to summarize some frequently asked +questions and their answers in a convenient form. The structure of +this FAQ list has drastically changed since the last version. +\textbf{For details of the new structure, see the entry of `How to + read this FAQ and its structure'.} + +\vspace{0.5cm} + +\noindent คณคฮ~FAQ~ฅ๊ฅนฅศคฯกขค่คฏคขค๋ผมฬไคศคฝคฮล๚ค๒ฝธคแกขฬ๒คหฮฉคฤค่คฆ +คหคทคฟคโคฮควคนกฃคณคฮ~FAQ~ฅ๊ฅนฅศคฮนฝยคคฯกขฐสมฐคฮคโคฮคศศๆคูคฦย็ษคหสันน +คตค์คฦคคคคนกฃ\textbf{\ruby{ฟท}{คขคฟค้}คทคคนฝยคคหดุคทคฦคฯกขกึคณคฮ~FAQ~ + คฮฦษค฿สคศคฝคฮนฝยคกืคฮนเฬค๒\ruby{ปฒ}{คตค๓}\ruby{พศ}{คทค็คฆ}คทคฦฒผคต + คคกฃ} + +\vspace{0.5cm} + +\bgroup +\fontencoding{T5}\selectfont + +\noindent Phขฅn ``Nhขๆng cขโu hข๖i vขเ giขไi ข๐ขแp thข฿ขถng gขฃp'' (viขชt tขกt tขื +tiขชng Anh lขเ FAQ) ข๐ข฿ขc nข๊u ra ขท ข๐ขโy nhขขm mข๘c ข๐ขํch thu thขงp nhขๆng cขโu +hข๖i thข฿ขถng gขฃp trong thข๑c tขช vขเ nhขๆng lขถi giขไi ข๐ขแp thขํch hขp nhขคt cขa +nข๓. Tขื lขฅn ขคn bขไn cuขฏi cข๙ng ข๐ขชn nay, ข๐ขใ cข๓ nhขๆng sข๑ thay ข๐ขฑi khขแ lขพn +trong cขคu trข๚c cขa FAQ. \textbf{ฃ๐ขฌ hiขฌu rข๕ hขฝn bขีn nข๊n xem lขีi chข฿ขฝng + ``Lขเm sao tข๔i cข๓ thขฌ ข๐ข๗c ข๐uขc FAQ''.} +\egroup + +\vspace{0.5cm} + +\bgroup +\fontencoding{T2A}\selectfont + +\noindent อโโ แ฿ุแฺ ั๋ แแโะาี ิ๏ แใุเาะุ๏ ีฺโเ๋ๅ ็ะแโ +ืะิะาะี๋ๅ า฿เแา (FAQ), าีแโี แ โาีโะุ ะ ุๅ, า ใิัู ไเี. +มโเใฺโใเะ ํโำ FAQ ฺะเิุะ์ ุืีุะแ์ ฿ แเะาีุ๎ แ ฿แีิีู +าีเแุีู. \textbf{ฒ เะืิีี `บะฺ ็ุโะโ์ ํโโ FAQ ุ ีำ แโเใฺโใเะ' + ั๊๏แี๋ ิีโะุ ํโู าู แโเใฺโใเ๋.} +\egroup + +\vspace{0.5cm} + +\bgroup +\fontencoding{LGR}\selectfont + +\noindent ว ๋฿๓๔แ แ๕๔ ำิล (๓๕๗ํ ๔้่ๅ์ํ๙ํ ๅ๑๙๔๓ๅ๙ํ) ๗ๅ้ ๓แํ ๓๊๏๐ +ํแ ๓๕์๐ๅ๑้๋โๅ้ ๓ๅ ๅ๗๑็๓๔็ ์๏๑๖ ๊๐๏้ๅ๒ ๓็์แํ๔้๊๒ ๅ๑๙๔๓ๅ้๒ ๊แ้ ๔้๒ +แ๐แํ๔๓ๅ้๒ ๔๏๕๒. ว ๏๑ใํ๙๓็ แ๕๔๒ ๔็๒ ๋฿๓๔แ๒ ๋๋แ๎ๅ ๓็์แํ๔้๊ แ๐ ๔็ํ +๔ๅ๋ๅ๕๔แ฿แ ๊ไ๏๓ ๔็๒ ๊แ้ ์ๅ๔. \textbf{ร้แ ๋ๅ๐๔๏์๑ๅ้ๅ๒ ๐ํ๙ ๓๔็ ํแ + ๏๑ใํ๙๓็, โ๋๐ๅ ๔๏ ๋์์แ <<ะ๒ ํแ ไ้แโ๓ๅ๔ๅ แ๕๔ ๔็ํ ำิล ๊แ้ ๐๒ + ๅ฿ํแ้ ๏๑ใแํ๙์ํ็>>.} +\egroup + +\end{document} + + +%%% Local Variables: +%%% coding: emacs-mule +%%% mode: latex +%%% TeX-master: t +%%% TeX-command-default: "CJKLaTeX" +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/py_test.tex b/Master/texmf-dist/doc/latex/cjk/examples/py_test.tex new file mode 100644 index 00000000000..6bd2a966549 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/py_test.tex @@ -0,0 +1,43 @@ +% This is the file py_test.tex of the CJK package +% for testing pinyin syllables with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\documentclass{article} + +\usepackage{pinyin} + + +\begin{document} + +\Huge + +{\Wo3 \hen3 \xi3\huan1 \lv3\xing2.} + +{\slshape + \Wo3 \hen3 \xi3\huan1 \lv3\xing2.} + +{\itshape + \Wo3 \hen3 \xi3\huan1 \lv3\xing2.} + +{\bfseries + \Wo3 \hen3 \xi3\huan1 \lv3\xing2.} + +{\sffamily + \Wo3 \hen3 \xi3\huan1 \lv3\xing2.} + +{\ttfamily + \Wo3 \hen3 \xi3\huan1 \lv3\xing2.} + +{\bfseries\sffamily + \Wo3 \hen3 \xi3\huan1 \lv3\xing2.} + +\PYdeactivate +$\Xi, \xi, \Re$ +\PYactivate + +\Zhen1de \bu2 \cuo4 ne! + +\end{document} diff --git a/Master/texmf-dist/doc/latex/cjk/examples/rubytest.tex b/Master/texmf-dist/doc/latex/cjk/examples/rubytest.tex new file mode 100644 index 00000000000..30eee7a4ae2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/rubytest.tex @@ -0,0 +1,56 @@ +% This is the file rubytest.tex of the CJK package +% for testing ruby with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% You need Emacs 20 (or Mule 2.3) to process this file! + +% You should load this file into Mule with `*internal*' encoding scheme +% (C-u C-x C-f) and call `cjk-write-file' (M-x cjk-write-file). +% Then run LaTeX on the created file `rubytest.cjk'. +% +% Under Emacs 20 type `C-x C-f rubytest.tex' to load this file. +% +% `cjk-write-file' will be available after loading cjk-enc.el into Mule +% (Emacs 20) with the commands load-file or load-library. + +\documentclass[12pt]{article} + +\usepackage[overlap, CJK]{ruby} +\usepackage{pinyin} + +\CJKencfamily{Bg5}{bsmi} +\CJKencfamily[dnp]{JIS}{min} + +\CJKfontenc{JIS}{dnp} + +\renewcommand{\rubysep}{-0.3ex} + + +\begin{document} + +{ +\rubylatin +\renewcommand{\rubysize}{1} + +\ruby{\wo3}{ฌฝ} \ruby{\hen3}{ณก} \ruby{\xi3}{ภฦ}\ruby{\huan1}{ไ} +\ruby{\chi1}{ฉ} \ruby{\Zhong1}{ฆไ}\ruby{\guo2}{ปะ} +\ruby{\cai4}{รํ}\ruby{.}{กค} +} + +\Large + +\ruby{ฒึ}{คฯคส}\ruby{ฑเ}{คพคฮ}\ruby{ย็}{คภคค}\ruby{ณุ}{คฌคฏ} + +\ruby{ณค}{คฆค฿}คศ\ruby{ธะ}{ค฿คบคฆค฿}คุนิคฏกฃ + +\end{document} + +%%% Local Variables: +%%% coding: emacs-mule +%%% mode: latex +%%% TeX-master: t +%%% TeX-command-default: "CJKLaTeX" +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/thai.tex b/Master/texmf-dist/doc/latex/cjk/examples/thai.tex new file mode 100644 index 00000000000..278aa0021c1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/thai.tex @@ -0,0 +1,37 @@ +% This is the file thai.tex of the CJK package +% for testing Thai (in TIS-620 encoding). +% +% written by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% This file should be processed with cjk-enc.el to get +% +% . proper word breaks +% . font switching between Thai and non-Thai +% . intercharacter glue +% +% Please read cjk-enc.txt for usage instructions. + + +\documentclass[12pt]{article} + +\usepackage[thaicjk]{babel} + + +\begin{document} + +รายการ FAQ นี้สร้างขึ้นเพื่อสรุปคำถามที่ถามกันบ่อยครั้งและคำตอบคำถามในรูปแบบทีสะดวก. +โครงสร้างของรายการ FAQ นี้เปลี่ยนไปมากตั้งแต่รุ่นที่แล้ว. +\textbf{ดูรายละเอียดสำหรับโครงสร้างใหม่ได้จากช่วง ``โครงสร้างและวิธีการอ่าน + FAQ.''} + +\end{document} + + +%%% Local Variables: +%%% coding: thai-tis620 +%%% mode: latex +%%% TeX-master: t +%%% TeX-command-default: "CJKLaTeX" +%%% End: diff --git a/Master/texmf-dist/doc/latex/cjk/examples/xCJK.tex b/Master/texmf-dist/doc/latex/cjk/examples/xCJK.tex new file mode 100644 index 00000000000..5a0165e5268 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cjk/examples/xCJK.tex @@ -0,0 +1,127 @@ +% This is the file xCJK.tex of the CJK package +% for testing the xCJK style file. +% +% written by SUN Wenchang <sunwch@hotmail.com> +% +% Version 4.8.0 (22-May-2008) + +% Read xCJK.txt for more details. + +\documentclass[12pt]{article} +\usepackage[bookmarks=true, + bookmarksopen=true, + dvipdfm]{hyperref} + +\usepackage[CJK, overlap]{ruby} +\usepackage[boldfont]{xCJK} +\usepackage{CJKulem} + +\setmainfont{Times New Roman} + + +% You can specify a different default font for CJK characters. +\setCJKmainfont{Bitstream Cyberbit} + +% You can also specify a font for a certain CJK family. +\setCJKfamilyfont{SimpChinese}[BoldFont={SimHei}, + ItalicFont={FZKaiTi}]{SimSun} +\setCJKfamilyfont{TChinese}{FZMingTiB} +\setCJKfamilyfont{Japanese}{MS Gothic} +\setCJKfamilyfont{Korean}{Batang} + +\renewcommand{\rubysep}{-0.3ex} + + +\begin{document} + +\begin{CJK*}{UTF8}{song} + + +Samples for using the font specified with \verb|\setCJKmainfont|. + +\section{ๆฌๅธธ้ฎ้ฎ็ญ้} + +ๆฌๅธธ้ฎ้ฎ็ญ้~(FAQ list)~ๆฏไปไธไบ็ปๅธธ่ขซ้ฎๅฐ็้ฎ้ขๅๅ
ถ้ๅฝ็่งฃ็ญไธญ๏ผไปฅๆน +ไพฟ็ๅฝขๅผๆ่ฆ่ๅบ็ใ\uline{่ทไธไธ็ไธๅ็ๆฏ๏ผๅ
ถ็ผๆ็ปๆๅทฒๅฝปๅบๆนๅใ} +\textbf{ๆๅ
ณๆฐ็ปๆ็็ป่๏ผๅฏๅ่ใๅฆไฝ้
่ฏปๆฌ้ฎ็ญ้ๅไบ่งฃๅ
ถ็ผๆ็ปๆใ่ฏฅ + ้กนไธญ็่ฏดๆใ} + + +\section{ๆฌๅธธๅๅ็ญ้} + +ๆฌๅธธๅๅ็ญ้~(FAQ list)~ๆฏๅพไธไบ็ถๅธธ่ขซๅๅฐ็ๅ้กๅๅ
ถ้ฉ็ถ็่งฃ็ญไธญ๏ผไปฅๆน +ไพฟ็ๅฝขๅผๆ่ฆ่ๅบ็ใ\uline{่ทไธไธ็ไธๅ็ๆฏ๏ผๅ
ถ็ทจๆ็ตๆงๅทฒๅพนๅบๆน่ฎใ} +\textbf{ๆ้ๆฐ็ตๆง็็ดฐ็ฏ๏ผๅฏๅ่ใๅฆไฝ้ฑ่ฎๆฌๅ็ญ้ๅไบ่งฃๅ
ถ็ทจๆ็ตๆงใ่ฉฒ + ้
ไธญ็่ชชๆใ} + + +\section{ใใฎ} + +ใใฎ~FAQ~ใชในใใฏใใใใใ่ณชๅใจใใฎ็ญใ้ใใๅฝนใซ็ซใคใใใซใใใใฎใง +ใใ\uline{ใใฎ~FAQ~ใชในใใฎๆง้ ใฏใไปฅๅใฎใใฎใจๆฏในใฆๅคงๅน
ใซๅคๆดใใใฆ + ใใพใใ}\textbf{\ruby{ๆฐ}{ใใใ}ใใๆง้ ใซ้ขใใฆใฏใใใใฎ~FAQ~ ใฎ + ่ชญใฟๆนใจใใฎๆง้ ใใฎ้
็ฎใ\ruby{ๅ}{ใใ}\ruby{็
ง}{ใใใ}ใใฆไธใใใ} + + +\CJKspace +\section{์ด} + +์ด FAQ ์ ์์ฃผ ๋ฐ๋ณต๋๋ ์ง๋ฌธ๊ณผ ๊ทธ์ ๋ํ ๋๋ต์ ๊ฐ๋จ๋ช
๋ฃํ ์์์ผ๋ก +๋ชจ์ ์ฎ์ด์ก์ต๋๋ค. \uline{์ด FAQ ์ ๊ตฌ์กฐ๋ ์ง๋ ํ์ ๋นํ์ฌ ํ๊ธฐ์ ์ผ๋ก + ๋ณ๊ฒฝ๋์์ต๋๋ค.} \textbf{์์ธํ ๊ฒ์ โ์ด FAQ ์ ์ด๋ป๊ฒ ์ฝ์ + ๊ฒ์ธ๊ฐโ ๋ผ๋ ๋๋ชฉ์ ์ฐธ์กฐํ์๊ธฐ ๋ฐ๋๋๋ค.} + + +\newpage + + +Samples for using fonts specified with \verb|\setCJKfamilyfont|. + +\CJKnospace +\CJKfamily{SimpChinese} +\section{ๆฌๅธธ้ฎ้ฎ็ญ้} + +ๆฌๅธธ้ฎ้ฎ็ญ้~(FAQ list)~ๆฏไปไธไบ็ปๅธธ่ขซ้ฎๅฐ็้ฎ้ขๅๅ
ถ้ๅฝ็่งฃ็ญไธญ๏ผไปฅๆน +ไพฟ็ๅฝขๅผๆ่ฆ่ๅบ็ใ\uline{่ทไธไธ็ไธๅ็ๆฏ๏ผๅ
ถ็ผๆ็ปๆๅทฒๅฝปๅบๆนๅใ} +\textbf{ๆๅ
ณๆฐ็ปๆ็็ป่๏ผๅฏๅ่ใๅฆไฝ้
่ฏปๆฌ้ฎ็ญ้ๅไบ่งฃๅ
ถ็ผๆ็ปๆใ่ฏฅ + ้กนไธญ็่ฏดๆใ}\textit{ๆฌๅธธ้ฎ้ฎ็ญ้~(FAQ list)~ๆฏไปไธไบ็ปๅธธ่ขซ้ฎๅฐ็้ฎ้ข + ๅๅ
ถ้ๅฝ็่งฃ็ญไธญ๏ผไปฅๆนไพฟ็ๅฝขๅผๆ่ฆ่ๅบ็ใ} + + +\CJKfamily{TChinese} +\section{ๆฌๅธธๅๅ็ญ้} + +ๆฌๅธธๅๅ็ญ้~(FAQ list)~ๆฏๅพไธไบ็ถๅธธ่ขซๅๅฐ็ๅ้กๅๅ
ถ้ฉ็ถ็่งฃ็ญไธญ๏ผไปฅๆน +ไพฟ็ๅฝขๅผๆ่ฆ่ๅบ็ใ\uline{่ทไธไธ็ไธๅ็ๆฏ๏ผๅ
ถ็ทจๆ็ตๆงๅทฒๅพนๅบๆน่ฎใ} +\textbf{ๆ้ๆฐ็ตๆง็็ดฐ็ฏ๏ผๅฏๅ่ใๅฆไฝ้ฑ่ฎๆฌๅ็ญ้ๅไบ่งฃๅ
ถ็ทจๆ็ตๆงใ่ฉฒ + ้
ไธญ็่ชชๆใ} + + +\CJKfamily{Japanese} +\section{ใใฎ} + +ใใฎ~FAQ~ใชในใใฏใใใใใ่ณชๅใจใใฎ็ญใ้ใใๅฝนใซ็ซใคใใใซใใใใฎใง +ใใ\uline{ใใฎ~FAQ~ใชในใใฎๆง้ ใฏใไปฅๅใฎใใฎใจๆฏในใฆๅคงๅน
ใซๅคๆดใใใฆ + ใใพใใ}\textbf{\ruby{ๆฐ}{ใใใ}ใใๆง้ ใซ้ขใใฆใฏใใใใฎ~FAQ~ ใฎ + ่ชญใฟๆนใจใใฎๆง้ ใใฎ้
็ฎใ\ruby{ๅ}{ใใ}\ruby{็
ง}{ใใใ}ใใฆไธใใใ} + + +\CJKspace +\CJKfamily{Korean} +\section{์ด} + +์ด FAQ ์ ์์ฃผ ๋ฐ๋ณต๋๋ ์ง๋ฌธ๊ณผ ๊ทธ์ ๋ํ ๋๋ต์ ๊ฐ๋จ๋ช
๋ฃํ ์์์ผ๋ก +๋ชจ์ ์ฎ์ด์ก์ต๋๋ค. \uline{์ด FAQ ์ ๊ตฌ์กฐ๋ ์ง๋ ํ์ ๋นํ์ฌ ํ๊ธฐ์ ์ผ๋ก + ๋ณ๊ฒฝ๋์์ต๋๋ค.} \textbf{์์ธํ ๊ฒ์ โ์ด FAQ ์ ์ด๋ป๊ฒ ์ฝ์ + ๊ฒ์ธ๊ฐโ ๋ผ๋ ๋๋ชฉ์ ์ฐธ์กฐํ์๊ธฐ ๋ฐ๋๋๋ค.} + +\end{CJK*} + +\end{document} + + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd new file mode 100644 index 00000000000..cd279422656 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.sfd @@ -0,0 +1,42 @@ +# DNP.sfd +# +# subfont numbers for JIS character set in DNP font encoding to be used +# with the CJK package for LaTeX. + +sy 1: 0xA1A1_0xA1FE 101: 0xA2A1_0xA2FE +roma 33: 0xA3A1_0xA3FE +hira 1: 0xA4A1_0xA4FE +kata 1: 0xA5A1_0xA5FE +greek 1: 0xA6A1_0xA6FE +russian 1: 0xA7A1_0xA7FE +keisen 1: 0xA8A1_0xA8FE + +ka 0xB0A1_0xB0FE 0xB1A1_0xB1FE 0xB2A1_0xB2E4 +kb 0xB2E5_0xB2FE 0xB3A1_0xB3FE 0xB4A1_0xB4FE 0xB5A1_0xB5CA +kc 0xB5CB_0xB5FE 0xB6A1_0xB6FE 0xB7A1_0xB7FE 0xB8A1_0xB8B0 +kd 0xB8B1_0xB8FE 0xB9A1_0xB9FE 0xBAA1_0xBAF4 +ke 0xBAF5_0xBAFE 0xBBA1_0xBBFE 0xBCA1_0xBCFE 0xBDA1_0xBDDA +kf 0xBDDB_0xBDFE 0xBEA1_0xBEFE 0xBFA1_0xBFFE 0xC0A1_0xC0C0 +kg 0xC0C1_0xC0FE 0xC1A1_0xC1FE 0xC2A1_0xC2FE 0xC3A1_0xC3A6 +kh 0xC3A7_0xC3FE 0xC4A1_0xC4FE 0xC5A1_0xC5EA +ki 0xC5EB_0xC5FE 0xC6A1_0xC6FE 0xC7A1_0xC7FE 0xC8A1_0xC8D0 +kj 0xC8D1_0xC8FE 0xC9A1_0xC9FE 0xCAA1_0xCAFE 0xCBA1_0xCBB6 +kk 0xCBB7_0xCBFE 0xCCA1_0xCCFE 0xCDA1_0xCDFA +kl 0xCDFB_0xCDFE 0xCEA1_0xCEFE 0xCFA1_0xCFFE + +km 0xD0A1_0xD0FE 0xD1A1_0xD1FE 0xD2A1_0xD2E4 +kn 0xD2E5_0xD2FE 0xD3A1_0xD3FE 0xD4A1_0xD4FE 0xD5A1_0xD5CA +ko 0xD5CB_0xD5FE 0xD6A1_0xD6FE 0xD7A1_0xD7FE 0xD8A1_0xD8B0 +kp 0xD8B1_0xD8FE 0xD9A1_0xD9FE 0xDAA1_0xDAF4 +kq 0xDAF5_0xDAFE 0xDBA1_0xDBFE 0xDCA1_0xDCFE 0xDDA1_0xDDDA +kr 0xDDDB_0xDDFE 0xDEA1_0xDEFE 0xDFA1_0xDFFE 0xE0A1_0xE0C0 +ks 0xE0C1_0xE0FE 0xE1A1_0xE1FE 0xE2A1_0xE2FE 0xE3A1_0xE3A6 +kt 0xE3A7_0xE3FE 0xE4A1_0xE4FE 0xE5A1_0xE5EA +ku 0xE5EB_0xE5FE 0xE6A1_0xE6FE 0xE7A1_0xE7FE 0xE8A1_0xE8D0 +kv 0xE8D1_0xE8FE 0xE9A1_0xE9FE 0xEAA1_0xEAFE 0xEBA1_0xEBB6 +kw 0xEBB7_0xEBFE 0xECA1_0xECFE 0xEDA1_0xEDFA +kx 0xEDFB_0xEDFE 0xEEA1_0xEEFE 0xEFA1_0xEFFE 0xF0A1_0xF0E0 +ky 0xF0E1_0xF0FE 0xF1A1_0xF1FE 0xF2A1_0xF2FE 0xF3A1_0xF3C6 +kz 0xF3C7_0xF3FE 0xF4A1_0xF4FE + +# eof diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt new file mode 100644 index 00000000000..e9db5585d4b --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/DNP.txt @@ -0,0 +1,384 @@ +This file describes how to set up the CJK package with Wadalab postscript +fonts for Japanese under Unix-like operating systems using distributions +based on web2c (teTeX, TeXLive, etc.). + +The printer does not need to have resident Japanese fonts. + + +By Hin-Tak Leung <htl10@users.sourceforge.net>, September 1997. + +Revised November 1998. + +Last revised by Werner Lemberg, July 2006. + +=================== + + +Summary steps +------------- + + 1. Download the CJK package and install it. + + 2. Download and install the Wadalab font bundles for the CJK package from + CTAN. + + 3a. Update `<TEXMF>/dvips/psfont.map', or update your `~/.dvipsrc' file. + Use the updmap script if possible. + + 3b. Alternatively, create a `config.wadalab' file. + + 3c. For pdfTeX, update `pdftex.map' (normally handled already by the updmap + script). Omit this step for recent teTeX and TeXLive versions. + + 3d. For dvipdfmx (and dvipdfm), update `dvipdfm.map' (normally handled + already by the updmap script). Omit this step for recent teTeX and + TeXLive versions. + + 4. Run mktexlsr. + + 5. Test it! + + +Details of each step +-------------------- + +1. The following files are essential and must be in your $TEXINPUTS path. + + CJK/texinput/: + CJK.enc CJK.sty CJKnumb.sty + CJKulem.sty ruby.sty standard.bdg + standard.chr standard.enc + + CJK/texinput/JIS/: + JIS.cap JIS.cpx JISdnp.enc + c42song.fd EUC-JP.bdg EUC-JP.chr + EUC-JP.enc + + CJK/texinput/UTF8/: + UTF8.bdg UTF8.chr UTF8.enc + c70song.fd + + [Even if you don't use `c42song.fd' and `c70song.fd' these two files + should be here to avoid a strange LaTeX error message if a font shape is + missing.] + + [The EUC-JP files support real EUC-JP with single shift to access + JIS X 0212.] + + And one or more of the following files: + + file name Description + ------------------------------------------------------------------------ + c42goth.fd Gothic JIS X 0208 (level 1,2 kanji), DNP font encoding + c42maru.fd Maru + c42min.fd Mincho + + c52maru.fd Maru JIS X 0212 (level 3 kanji), DNP font encoding + c52min.fd Mincho + + c70goth.fd Gothic JIS X 0208, Unicode font encoding + + c70maru.fd Maru JIS X 0208 + 0212, Unicode font encoding + c70min.fd Mincho + + And finally, `wadalab.map'. + + Also keep `CJK/examples/JIS.tex' for testing. The rest of the CJK files + are not essential for this setup. Usage is documented in + `CJK/examples/JIS.tex' but reading `CJK/doc/CJK.txt' and + `CJK/doc/ruby.txt' is recommended. + + For pseudo vertical typesetting you need the `*.fdx' files accompaning + the above `*.fd' files, together with the `CJKvert.sty' file. + + For using Unicode as the input encoding you should use `CJKutf8.sty'. + +2. The CJK sub font packages of the Wadalab fonts can be found on CTAN in + the directory `fonts/wadalab'. The real TeX font names consist of the + concatenation of the family name with the subfont suffix. Examples: + `dgjkeisen', `mrjkj', `umcj5d'. + + file name TeX font family + DNP Unicode + --------------------------------------------- + gothic-0-13.tar.gz dgj udgj + maru-0-8.tar.gz mrj umrj + maru-1-8.tar.gz mr2j + mincho-0-12.tar.gz dmj udmj [*] + mincho-0-8.tar.gz mcj umcj + mincho-1-8.tar.gz mc2j + + [*] The `udmj' family uses mc2j for glyphs Level 3 Kanji. It doesn't + really fit (mc2j is too thin), but it is still better than having + no Level 3 Kanji at all. + + Installation should be straightforward since the directories in the + font bundles already follow the TDS standard. + +3a. Append `wadalab.map' to `<TEXMF>/dvips/config/psfont.map; or, for + non-root users, create a `~/.dvipsrc' file containing this single line: + +========================================================================= +p +/my-home/where_I_want_it/wadalab.map +========================================================================= + + (or add this line to your `~/.dvipsrc' if it already exists) and set + $DVIPSFONTS to the location of the `*.pfb' files. + + teTeX and TeXLive users should do the following instead of the above: + + a) Copy `wadalab.map' into the `<TEXMF>/fonts/map/dvips/wadalab' + directory. If you are non-root, create a private TEXMF tree in your + home directory, and copy the file to a similar location in your + private tree. + + Users of older versions of teTeX and TeXLive should use the + directory `<TEXMF>/dvips/config' instead. + + b) Add the following line to <TEXMF>/web2c/updmap.cfg: + +========================================================================= +Map wadalab.map +========================================================================= + + and call the updmap script to regenerate all program specific map + files. If you are non-root, copy `updmap.cfg' from the main TEXMF + tree to a similar location in your private tree and modify it there. + + Users of older version of teTeX and TeXLive should add `wadalab.map' + to the `extra_modules' variable directly in the updmap script. + +3b. Another solution is to just copy wadalab.map to the location in + step 3a. After creating a file `config.wadalab', containing a single line + +========================================================================= +p +wadalab.map +========================================================================= + + you can use the `-P wadalab' switch while calling dvips. + + The preferred location of `config.wadalab' is `<TEXMF>/dvips/wadalab' for + recent teTeX and TeXLive versions, and `<TEXMF>/dvips/config' otherwise. + +3c. [This step is optional and should be omitted for recent teTeX and + TeXLive versions.] + + Append `wadalab.map' to `<TEXMF>/dvips/config/pdftex.map' so that pdfTeX + can use the Wadalab fonts. The updmap script does this automatically. + +3d. [This step is optional and should be omitted for recent teTeX and + TeXLive versions.] + + Append `wadalab.map' to <TEXMF>/dvipdfm/config/dvipdfm.map so that + dvipdfmx (and dvipdfm) can use the Wadalab fonts. The updmap script does + this automatically. + + +4. Run mktexlsr to make your TeX system actually find your font data files. + + +5. Edit CJK/examples/JIS.tex and replace `\begin{CJK*}{JIS}{song}' by + `\begin{CJK*}[dnp]{JIS}{xxx}'; `xxx' can be `min' (for mincho), `goth' + (for gothic), or `maru'. To see the mincho-0-8 font (which is in `light' + series), insert + + \fontseries{l} + \selectfont + + in the CJK environment. All fonts use the poor-man's bold mechanism of + the CJK package. + + Then do the sequence + + latex JIS.tex + dvips JIS.dvi -j -o JIS.ps + + or + + dvips JIS.dvi -j -P wadalab -o JIS.ps + + if you haven't modified `psfonts.map'. The `-j' switch activates partial + font downloading (which usually is the default). + + At this stage running ghostview on `JIS.ps' should display it on screen. + Send `JIS.ps' to a postscript printer or run ghostscript for + non-postscript printers as you wish; and there you have your first + printed Japanese document. Enjoy! + + Note: The level 3 Kanji fonts are generated in a DNP-like encoding also. + A single level 3 Kanji character can be most easily input with + + \CJKchar[JIS2]{<first-byte>}{<second-byte>} , + + provided that you have said + + \CJKfontenc{JIS2}{dnp} + \CJKencfamily{JIS2}{xxx} + + in the preamble of your document to activate dnp font encoding for + the JIS2 encoding in font shape `xxx' (which can be either `maru' + or `min'). + + In case you use Emacs or Mule together with cjk-enc.el (of the CJK + package), JIS X 0212 characters can be displayed directly; they + will be automatically converted into appropriate CJK macros. + + +How the Wadalab fonts have been created +--------------------------------------- + +This section contains a description of the conversion process which +transforms the raw Wadalab PS files into subfonts usable by the CJK package. + +1. The Wadalab PS files are available from the original host + + ftp://ftp.ipl.t.u-tokyo.ac.jp/Font/ + + Alternative locations are CTAN hosts like ftp.dante.de or ftp.tug.org and + its mirrors: + + ftp://ftp.dante.de/pub/tex/support/ghostscript/3rdparty + /fonts/kanji/Font + + Obtain the following files (if you download the files from CTAN, the + final extension is `.gz' instead of `.Z'): + + wadalab-sym.7.tar.Z (symbols + Greek letters, necessary) + + wadalab-mincho-0-12.8.tar.Z (JIS X 0208 level 1,2 kanji) + wadalab-gothic-0-13.5.tar.Z + wadalab-mincho-0-8.4.tar.Z + wadalab-maru-0-8.4.tar.Z + + wadalab-maru-1-8.tar.Z (JIS X 0212 level 3 kanji) + wadalab-mincho-1-8.tar.Z + + tools/wftodm.c (conversion program, c.f. step 2) + + Unpack the font archives in a temporary directory; you should get + subdirectories called `wadalab-sym', `wadalab-mincho-0-12', etc. + + Note: DO NOT read the misleading `readme.ghostscript' document which + accompanies the fonts. + + +2. Patch `wftodm.c' with the following to enable partial font downloading. + You can simply say + + patch < DNP.txt + + to do that. + +========================================================================= +--- wftodm-orig2.c Tue Sep 23 22:45:32 1997 ++++ wftodm.c Sun Jul 30 08:56:43 2006 +@@ -1,6 +1,8 @@ + #include <stdio.h> ++#include <string.h> ++#include <stdlib.h> + #include <sys/types.h> +-#include <sys/time.h> ++#include <time.h> + char *charstrs[34][256]; + int charlens[34][256]; + char *version_str="001.001"; +@@ -157,6 +159,7 @@ + output_afm(i); + } + } ++return 0; + } + output_afm(file) + { +@@ -209,14 +212,13 @@ + fprintf(ofp,"/UnderlineThickness 0 def\n"); + fprintf(ofp,"end readonly def\n"); + fprintf(ofp,"/FontName /%s def\n",fontname); +- fprintf(ofp,"/DmEncoding [\n"); ++ fprintf(ofp,"/Encoding 256 array\n"); ++ fprintf(ofp,"0 1 255 {1 index exch /.notdef put} for\n"); + for(i=0;i<16;i++){ + for(j=0;j<16;j++) +- fprintf(ofp," /c%02X",i*16+j); +- putc('\n',ofp); ++ fprintf(ofp,"dup %d /c%02X put\n",i*16+j,i*16+j); + } +- fprintf(ofp,"] readonly def\n"); +- fprintf(ofp,"/Encoding DmEncoding def\n"); ++ fprintf(ofp,"readonly def\n"); + fprintf(ofp,"/PaintType 0 def\n"); + fprintf(ofp,"/FontType 1 def\n"); + fprintf(ofp,"/FontMatrix [.001 0 0 .001 0 -0.16] readonly def\n"); +========================================================================= + + After compilation with + + cc -O -o wftodm wftodm.c + + use it as follows: + + wftodm -FontBase dg wadalab-sym/jis*.ps wadalab-gothic-0-13/goth-*.ps + wftodm -FontBase dm wadalab-sym/jis*.ps wadalab-mincho-0-12/min-*.ps + wftodm -FontBase mc wadalab-sym/jis*.ps wadalab-mincho-0-8/min-*.ps + wftodm -FontBase mr wadalab-sym/jis*.ps wadalab-maru-0-8/maru-*.ps + wftodm -FontBase mc2 wadalab-mincho-1-8/min*.ps + wftodm -FontBase mr2 wadalab-maru-1-8/maru*.ps + + [Note: The order of the PS files on the command line doesn't matter.] + + You should then get a whole set of {dg,dm,mc,mr}j[*].{afm,pfa} files in + your current directory, with [*]={greek,keisen,roma,russian,sy} coming + from sym-dir, and [*]={hira,kata,ka-kz} from the Kanji fonts. + {mc2,mr2}j[*].{afm,pfa} with [*]={ka-kw} are JIS X 0212 level 3 Kanji + font files. + + Note: `wftodm.c' has been updated in Oct 97; previous versions will fail. + + +3. Run the `makefont' script. It first normalizes the font matrix (to make + the subfonts work with pdfTeX), then it calls afm2tfm on each of the afm + files, and run t1disasm/t1asm (which are part of the t1utils package) on + each of the PFA files to convert them to PFB files which are much + smaller. + + +4. Run the `fixwada2.pl' script to correct the glyph names. This needs the + perl program and the files `DNP.sfd' (from the CJK package), + `JIS0208.TXT', and `JIS0212.TXT' (from ftp.unicode.org, in the `OBSOLETE' + directory). + + perl fixwada2.pl dgj jis0208 + perl fixwada2.pl mrj jis0208 + perl fixwada2.pl mr2j jis0212 + perl fixwada2.pl dmj jis0208 + perl fixwada2.pl mcj jis0208 + perl fixwada2.pl mc2j jis0212 + + +5. Run the `makeuniwada.pl' script -- it needs the same auxiliary files + as `fixwada2.pl' -- to create virtual fonts for Unicode input encoding. + + perl makeuniwada.pl dgj udgj + perl makeuniwada.pl mrj mr2j umrj + perl makeuniwada.pl dmj mc2j udmj + perl makeuniwada.pl mcj mc2j umcj + + +Thanks +------ + + Werner Lemberg <wl@gnu.org> for creating CJK and comments to this help + document. + +and + + Joshua Redstone <redstone@cs.washington.edu> for contribution to non-root + setups. + +Also check out the following variables: $TEXFORMATS, $TEXINPUTS, $TEXFONTS, +$DVIPSFONTS. + + +Please send any suggestions or comments to LEUNG Hin-Tak <htl10@cam.ac.uk>. + +--- end of DNP.txt --- diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada new file mode 100644 index 00000000000..17b2475f302 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada @@ -0,0 +1,81 @@ +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# 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 script fixes the Wadalab fonts which have been created with the +# `makefont' script of the CJK package version 4.5.1 or earlier. +# +# It converts all PFB files in the current directory. + + +for i in *.pfb; do + echo $i + mv $i $i.old + cat $i.old | \ + t1disasm | \ + awk ' + { + sub(/001\.001/, "001.002") + + if (/%%Creation/) { + print "%%CreationDate: 2003-Feb-07" + next + } + + if (/0 -160 rmoveto/ && last_is_hsbw) { + last_is_hsbw = 0 + next + } + + if (/hsbw/) { + last_is_hsbw = 1 + waiting_for_Xmoveto = 1 + } + else + last_is_hsbw = 0 + + if (waiting_for_Xmoveto) { + if (/rmoveto/) { + printf "\t%d %d rmoveto\n", $1, $2 - 160 + waiting_for_Xmoveto = 0 + next + } + else if (/vmoveto/) { + printf "\t%d vmoveto\n", $1 - 160 + waiting_for_Xmoveto = 0 + next + } + else if (/hmoveto/) { + printf "\t%d %d rmoveto\n", $1, -160 + waiting_for_Xmoveto = 0 + next + } + } + + if (/moveto/) + print "\tclosepath" + + if (/hstem/) { + printf "\t%d %d hstem\n", $1 - 160, $2 + next + } + + print + } + ' | \ + t1asm > $i + rm $i.old +done diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl new file mode 100644 index 00000000000..94989805c6f --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/fixwada2.pl @@ -0,0 +1,242 @@ +#! /usr/bin/perl -w +# +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# 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 script fixes the Wadalab fonts which have been created with the +# `makefont' script version 1.0 (from CJK 4.8.0), or which have been updated +# with the `fixwada' script. +# +# . Make all glyph names compliant to the Adobe Glyph List (AGL) to +# get proper ToUnicode mappings in PDF documents. +# +# . Fix the encoding vector in the PFBs to contain only glyphs which +# actually have an outline. +# +# . Update the version number and creation date. +# +# . Fix a typo in the original fonts (`UniqueId' -> `UniqueID'). +# +# The files `JIS0208.TXT' and `JIS0212.TXT' from the `OBSOLETE' directory in +# the `MAPPINGS' tree on ftp.unicode.org are necessary for running this +# script. It also reads the file `DNP.sfd' which gives the relationship +# between JIS X 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font +# encoding. Finally, the programs `t1asm' and `t1disasm' must be available +# (and in the path). +# +# Call the script as +# +# perl fixwada2.pl wadalab_namestem [JIS0208|JIS0212] +# +# Example: +# +# perl fixwada2.pl dmj JIS0208 +# +# `fixwada2' reads all PFB and AFM files from the given wadalab font +# family and replaces them with new versions. + +use strict; + +my $prog = $0; +$prog =~ s@.*/@@; + +if ($#ARGV != 1) { + die("usage: $prog wadalab_namestem [JIS0208|JIS0212]\n"); +} + +my $namestem = $ARGV[0]; +my $encoding = $ARGV[1]; +my $encfile; +my $doshift; + + +if ("\U$encoding" eq "JIS0208") { + $encfile = "JIS0208.TXT"; + $doshift = 1; +} +elsif ("\U$encoding" eq "JIS0212") { + $encfile = "JIS0212.TXT"; + $doshift = 0; +} +else { + die("$prog: unknown encoding\n"); +} + + +# Read `DNP.sfd'. + +my %sfd; +my @subfonts; + +print("Reading \`DNP.sfd'...\n"); + +open(DNP, "DNP.sfd") +|| die("$prog: can't open \`DNP.sfd': $!\n"); + +# This loop doesn't handle the complete syntax of SFD files yet. +while (<DNP>) { + chop; + my @field = split(" "); + next if ($#field < 0); + next if ($field[0] =~ /^#/); + + my $suffix = $field[0]; + push(@subfonts, $suffix); + + shift(@field); + my $index = 0; + + while (@field) { + if ($field[0] =~ /(.*):$/) { + $index = $1; + } + elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) { + foreach my $i (hex($1) .. hex($2)) { + $sfd{$suffix . "c" . sprintf("%02X", $index)} = $i; + $index++; + } + } + shift(@field); + } +} + + +# Read encoding file. + +print("Reading \`$encfile'...\n"); + +my %jisx; + +open(JISX, $encfile) +|| die("$prog: can't open \`$encfile': $!\n"); + +while (<JISX>) { + chop; + my @field = split(" "); + next if ($#field < 0); + next if ($field[0] =~ /^#/); + + if ($doshift) { + shift(@field); + } + + my $unicode = $field[1]; + $unicode =~ s/0x//; + my $value = hex($field[0]) + 0x8080; + $jisx{$value} = $unicode; +} + + +# Process AFM files. + +foreach my $afm (@subfonts) { + my $filename = "$namestem$afm.afm"; + print("Processing \`$filename'...\n"); + + if (!-f $filename) { + print("$prog: \`$filename' doesn't exist\n"); + next; + } + + rename($filename, "$filename.old"); + + open(INFILE, "$filename.old") + || die("$prog: can't open \`$filename.old': $!\n"); + open(OUTFILE, ">", "$filename") + || die("$prog: can't open \`$filename': $!\n"); + + while (<INFILE>) { + # Replace the `cXX' entries with correct `uniXXXX' glyph names. + s/ N (.*?) ;/ N uni$jisx{$sfd{$afm . $1}} ;/; + + # Update version number. + s/001\.001/001.004/; + + print(OUTFILE $_); + } + + close(INFILE); + close(OUTFILE); + + unlink("$filename.old"); +} + + +# Process PFB files. + +foreach my $pfb (@subfonts) { + my $arg; + my $filename = "$namestem$pfb.pfb"; + print("Processing \`$filename'...\n"); + + if (!-f $filename) { + print("$prog: \`$filename' doesn't exist\n"); + next; + } + + rename($filename, "$filename.old"); + + $arg = "t1disasm < $filename.old > $filename.disasm.old"; + system("$arg") == 0 + || die("$prog: calling \`$arg' failed: $?"); + + open(INFILE, "$filename.disasm.old") + || die("$prog: can't open \`$filename.disasm.old': $!\n"); + open(OUTFILE, ">", "$filename.disasm") + || die("$prog: can't open \`$filename.disasm': $!\n"); + + while (<INFILE>) { + # Replace the `cXX' entries with correct `uniXXXX' glyph names + # (or `.notdef' if there isn't one). + if (m@/(c.*?) @) { + my $replacement; + if (defined ($sfd{$pfb . $1}) + && defined ($jisx{$sfd{$pfb . $1}})) { + $replacement = "uni$jisx{$sfd{$pfb . $1}}"; + } + else { + $replacement = ".notdef"; + } + s@/(c.*?) @/$replacement @; + } + + # Fix a typo in original fonts. + s/UniqueId/UniqueID/; + + # Update version number. + s/001\.002/001.004/; + + # Update creation date. + s/2003-Feb-07/2005-Jul-29/; + + print(OUTFILE $_); + } + + close(INFILE); + close(OUTFILE); + + $arg = "t1asm < $filename.disasm > $filename"; + system("$arg") == 0 + || die("$prog: calling \`$arg' failed: $?"); + + unlink("$filename.disasm.old", "$filename.disasm"); + unlink("$filename.old"); +} + +print("Done.\n"); + +# eof diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makefont b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makefont new file mode 100644 index 00000000000..deb9310a326 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makefont @@ -0,0 +1,108 @@ +#!/bin/sh +# +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# 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 + +# Version 1.0 +# +# This script transforms Wadalab PFA and AFM files created by the +# wftodm program into PFB and TFM files. All files in the current +# directory and its subdirectories are converted. +# +# Additionally, it normalizes the font matrix so that the subfonts work +# with pdfTeX; for convenience, it also inserts `closepath' commands to +# end subpaths in glyphs. +# +# Note that an older version of this script (without a version number) has +# some flaws; you should either regenerate all Wadalab subfonts or use the +# `fixwada' script to fix PFB fonts which have already been created with +# this older version. +# +# The programs t1asm, t1disasm, and afm2tfm must be in the path. + +for f in `find . -name '*.pfa' -print`; do + echo processing $f + name=`basename $f .pfa` + t1disasm < $name.pfa > $name.old + + cat $name.old | \ + awk ' + { + sub(/001\.001/, "001.002") + sub(/\[.001 0 0 .001 0 -0.16\]/, "[.001 0 0 .001 0 0]") + sub(/\[0 0 1000 1000\]/, "[0 -160 1000 840]") + + if (/%%Creation/) { + print "%%CreationDate: 2003-Feb-07" + next + } + + if (/hsbw/) + waiting_for_Xmoveto = 1 + + if (waiting_for_Xmoveto) { + if (/rmoveto/) { + printf "\t%d %d rmoveto\n", $1, $2 - 160 + waiting_for_Xmoveto = 0 + next + } + if (/vmoveto/) { + printf "\t%d vmoveto\n", $1 - 160 + waiting_for_Xmoveto = 0 + next + } + if (/hmoveto/) { + printf "\t%d %d rmoveto\n", $1, -160 + waiting_for_Xmoveto = 0 + next + } + } + + if (/moveto/) + print "\tclosepath" + + if (/hstem/) { + printf "\t%d %d hstem\n", $1 - 160, $2 + next + } + + print + } + ' > $name.asm + rm $name.old + + t1asm < $name.asm > $name.pfb + rm $name.asm +done + +for f in `find . -name '*.afm' -print`; do + echo processing $f + name=`basename $f .afm` + mv $name.afm $name.old + + cat $name.old | \ + sed -e " + s/FontBBox 0 0 1000 1000/FontBBox 0 -160 1000 840/ + s/B 0 0 1000 1000/B 0 -160 1000 840/ + " > $name.afm + + rm $name.old + + afm2tfm $name.afm &> /dev/null +done + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makeuniwada.pl b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makeuniwada.pl new file mode 100644 index 00000000000..cbf4ca6d306 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/makeuniwada.pl @@ -0,0 +1,333 @@ +#! /usr/bin/perl -w +# +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# 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 script creates virtual subfonts in Unicode encoding for Wadalab +# subfonts. It can merge a JIS X 0208 and JIS X 0212 family into a single +# set of Unicode subfonts. +# +# As prerequisites, it needs the files `JIS0208.TXT' and `JIS0212.TXT' from +# the `OBSOLETE' directory in the `MAPPINGS' tree on ftp.unicode.org. It +# also needs the file `DNP.sfd' which gives the relationship between JIS X +# 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font encoding. +# The program `vptovf' must be available (and in the path). +# +# Call the script as +# +# perl makeuniwada.pl namestem1 [namestem2] uni_namestem +# +# `namestem1' is the font in JIS X 0208 encoding. The optional `namestem2' +# argument is the font in JIS X 0212, and `uni_namestem' holds the prefix +# for the Unicode subfonts. `makeuniwada.pl' reads all AFM files from the +# given wadalab font families. +# +# Example: +# +# perl makeuniwada.pl dmj mc2j udmj +# +# This call mixes the mincho-0-12 (dmj) with mincho-1-8 (mc2j) families. + +use strict; + +my $prog = $0; +$prog =~ s@.*/@@; + +if ($#ARGV < 1 || $#ARGV > 2) { + die("usage: $prog namestem1 [namestem2] uni_namestem\n"); +} + +my $namestem1; +my $namestem2; +my $two_encodings = 0; +my @args = @ARGV; + +$namestem1 = $ARGV[0]; +if ($#ARGV == 2) { + $namestem2 = $ARGV[1]; + $two_encodings = 1; + shift; +} +my $uninamestem = $ARGV[1]; + + +# Read `DNP.sfd'. + +my %sfd; +my @subfonts; + +read_sfdfile("DNP.sfd", \%sfd, \@subfonts); + + +# Read encoding files. +# +# The files `JIS0208.TXT' and `JIS0212.TXT' are from the `OBSOLETE' +# directory in the `MAPPINGS' tree on ftp.unicode.org. + +my %jisx0208; +my %jisx0212; + +read_encfile("JIS0208.TXT", \%jisx0208, 1); +if ($two_encodings) { + read_encfile("JIS0212.TXT", \%jisx0212, 0); +} + + +# Read AFM files. + +my @unicode; + +foreach my $sub (@subfonts) { + my $afmname = "$namestem1$sub.afm"; + + if (-f $afmname) { + read_afmfile($afmname, \@unicode, \%sfd, \%jisx0208, $sub); + } +} +if ($two_encodings) { + foreach my $sub (@subfonts) { + my $afmname = "$namestem2$sub.afm"; + + if (-f $afmname) { + read_afmfile($afmname, \@unicode, \%sfd, \%jisx0212, $sub); + } + } +} + + +# Write VPL files. + +my $index = 0; +foreach my $i (0 .. 255) { + my @entries; + + foreach my $j (0 .. 255) { + if (defined ($unicode[$index])) { + push(@entries, "$j $unicode[$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 hash key 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"); + + # This loop doesn't handle the complete syntax of SFD files yet. + while (<SFD>) { + chop; + my @field = split(" "); + next if ($#field < 0); + next if ($field[0] =~ /^#/); + + my $suffix = $field[0]; + push(@{$sfdarray}, $suffix); + + shift(@field); + my $index = 0; + + while (@field) { + if ($field[0] =~ /(.*):$/) { + $index = $1; + } + elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) { + foreach my $i (hex($1) .. hex($2)) { + $sfdhash->{"$suffix $index"} = $i; + $index++; + } + } + shift(@field); + } + } + close(SFD); +} + + +# Read encoding file. +# +# $1: Name of the encoding file. +# $2: Reference to the target hash file, mapping from the charset +# to Unicode. +# $3: Set to 1 if the needed mapping data is not in field 1 and 2, but in +# field 2 and 3. + +sub read_encfile { + my ($encfile, $enchash, $doshift) = @_; + + print("Reading encoding file \`$encfile'...\n"); + + open(ENC, $encfile) + || die("$prog: can't open \`$encfile': $!\n"); + + while (<ENC>) { + chop; + my @field = split(" "); + next if ($#field < 0); + next if ($field[0] =~ /^#/); + + if ($doshift) { + shift(@field); + } + + my $unicode = $field[1]; + $unicode =~ s/0x//; + my $value = hex($field[0]) + 0x8080; + $enchash->{$value} = hex($unicode); + } + close(ENC); +} + + +# Read AFM file. +# +# $1: Name of the AFM file. +# $2: Reference to the target array which maps from Unicode to the string +# "<subfont name> <subfont index> <width> <height> <depth>". +# $3: Reference to the SFD hash (as extracted by `read_sfdfile'). +# $4: Reference to the encoding hash (as extracted by `read_encfile'). +# $5: Suffix. + +sub read_afmfile { + my ($afmfile, $unicarray, $sfdhash, $enchash, $suffix) = @_; + + print("Reading metric file \`$afmfile'...\n"); + + open(AFM, $afmfile) + || die("$prog: can't open \`$afmfile': $!\n"); + + $afmfile =~ s/\.[^.]*$//; + while (<AFM>) { + if (/^C (\d+) ;/) { + my $key = "$suffix $1"; + my $value = $sfdhash->{$key}; + my $unicvalue = $enchash->{$value}; + my $s = "$afmfile $1"; + + # Add advance width. + / WX (.*?) ;/; + $s .= " $1"; + + # Add glyph height and depth. + / B .*? (.*?) .*? (.*?) ;/; + $s .= " $1 $2"; + + $unicarray->[$unicvalue] = $s; + } + } + close(AFM); +} + + +# Write VPL file. +# +# $1: Name of the VPL file. +# $2: Reference to list which holds the font entries. An entry has the +# form `<idx> <subfont> <subfont_idx> <adv_width> <height> <depth>'. + +sub write_vplfile { + my ($vplfile, $glypharray) = @_; + + my %subfonts; + my $subcount = 0; + + foreach my $entry (@{$glypharray}) { + 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(" ", @args) . "')\n"); + print("(FAMILY TEX-\U$uninamestem\E)\n"); + print("(CODINGSCHEME DNPUNICODE)\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 $subfont)\n"); + print(" )\n"); + } + + foreach my $entry (@{$glypharray}) { + my @field = split(" ", $entry); + my $index = $field[0]; + my $subnumber = $subfonts{$field[1]}; + my $subindex = $field[2]; + my $adv_width = $field[3] / 1000.0; + my $depth = $field[4] / -1000.0; + my $height = $field[5] / 1000.0; + + print("(CHARACTER D $index\n"); + print(" (CHARWD R $adv_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/Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.map b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.map new file mode 100644 index 00000000000..dd008d525fa --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/contrib/wadalab/wadalab.map @@ -0,0 +1,187 @@ + +% Wadalab Japanese fonts + +dgjgreek dgjgreek <dgjgreek.pfb +dgjhira dgjhira <dgjhira.pfb +dgjkata dgjkata <dgjkata.pfb +dgjkeisen dgjkeisen <dgjkeisen.pfb +dgjroma dgjroma <dgjroma.pfb +dgjrussian dgjrussian <dgjrussian.pfb +dgjsy dgjsy <dgjsy.pfb +dgjka dgjka <dgjka.pfb +dgjkb dgjkb <dgjkb.pfb +dgjkc dgjkc <dgjkc.pfb +dgjkd dgjkd <dgjkd.pfb +dgjke dgjke <dgjke.pfb +dgjkf dgjkf <dgjkf.pfb +dgjkg dgjkg <dgjkg.pfb +dgjkh dgjkh <dgjkh.pfb +dgjki dgjki <dgjki.pfb +dgjkj dgjkj <dgjkj.pfb +dgjkk dgjkk <dgjkk.pfb +dgjkl dgjkl <dgjkl.pfb +dgjkm dgjkm <dgjkm.pfb +dgjkn dgjkn <dgjkn.pfb +dgjko dgjko <dgjko.pfb +dgjkp dgjkp <dgjkp.pfb +dgjkq dgjkq <dgjkq.pfb +dgjkr dgjkr <dgjkr.pfb +dgjks dgjks <dgjks.pfb +dgjkt dgjkt <dgjkt.pfb +dgjku dgjku <dgjku.pfb +dgjkv dgjkv <dgjkv.pfb +dgjkw dgjkw <dgjkw.pfb +dgjkx dgjkx <dgjkx.pfb +dgjky dgjky <dgjky.pfb +dgjkz dgjkz <dgjkz.pfb + +dmjgreek dmjgreek <dmjgreek.pfb +dmjhira dmjhira <dmjhira.pfb +dmjkata dmjkata <dmjkata.pfb +dmjkeisen dmjkeisen <dmjkeisen.pfb +dmjroma dmjroma <dmjroma.pfb +dmjrussian dmjrussian <dmjrussian.pfb +dmjsy dmjsy <dmjsy.pfb +dmjka dmjka <dmjka.pfb +dmjkb dmjkb <dmjkb.pfb +dmjkc dmjkc <dmjkc.pfb +dmjkd dmjkd <dmjkd.pfb +dmjke dmjke <dmjke.pfb +dmjkf dmjkf <dmjkf.pfb +dmjkg dmjkg <dmjkg.pfb +dmjkh dmjkh <dmjkh.pfb +dmjki dmjki <dmjki.pfb +dmjkj dmjkj <dmjkj.pfb +dmjkk dmjkk <dmjkk.pfb +dmjkl dmjkl <dmjkl.pfb +dmjkm dmjkm <dmjkm.pfb +dmjkn dmjkn <dmjkn.pfb +dmjko dmjko <dmjko.pfb +dmjkp dmjkp <dmjkp.pfb +dmjkq dmjkq <dmjkq.pfb +dmjkr dmjkr <dmjkr.pfb +dmjks dmjks <dmjks.pfb +dmjkt dmjkt <dmjkt.pfb +dmjku dmjku <dmjku.pfb +dmjkv dmjkv <dmjkv.pfb +dmjkw dmjkw <dmjkw.pfb +dmjkx dmjkx <dmjkx.pfb +dmjky dmjky <dmjky.pfb +dmjkz dmjkz <dmjkz.pfb + +mcjgreek mcjgreek <mcjgreek.pfb +mcjhira mcjhira <mcjhira.pfb +mcjkata mcjkata <mcjkata.pfb +mcjkeisen mcjkeisen <mcjkeisen.pfb +mcjroma mcjroma <mcjroma.pfb +mcjrussian mcjrussian <mcjrussian.pfb +mcjsy mcjsy <mcjsy.pfb +mcjka mcjka <mcjka.pfb +mcjkb mcjkb <mcjkb.pfb +mcjkc mcjkc <mcjkc.pfb +mcjkd mcjkd <mcjkd.pfb +mcjke mcjke <mcjke.pfb +mcjkf mcjkf <mcjkf.pfb +mcjkg mcjkg <mcjkg.pfb +mcjkh mcjkh <mcjkh.pfb +mcjki mcjki <mcjki.pfb +mcjkj mcjkj <mcjkj.pfb +mcjkk mcjkk <mcjkk.pfb +mcjkl mcjkl <mcjkl.pfb +mcjkm mcjkm <mcjkm.pfb +mcjkn mcjkn <mcjkn.pfb +mcjko mcjko <mcjko.pfb +mcjkp mcjkp <mcjkp.pfb +mcjkq mcjkq <mcjkq.pfb +mcjkr mcjkr <mcjkr.pfb +mcjks mcjks <mcjks.pfb +mcjkt mcjkt <mcjkt.pfb +mcjku mcjku <mcjku.pfb +mcjkv mcjkv <mcjkv.pfb +mcjkw mcjkw <mcjkw.pfb +mcjkx mcjkx <mcjkx.pfb +mcjky mcjky <mcjky.pfb +mcjkz mcjkz <mcjkz.pfb + +mrjgreek mrjgreek <mrjgreek.pfb +mrjhira mrjhira <mrjhira.pfb +mrjkata mrjkata <mrjkata.pfb +mrjkeisen mrjkeisen <mrjkeisen.pfb +mrjroma mrjroma <mrjroma.pfb +mrjrussian mrjrussian <mrjrussian.pfb +mrjsy mrjsy <mrjsy.pfb +mrjka mrjka <mrjka.pfb +mrjkb mrjkb <mrjkb.pfb +mrjkc mrjkc <mrjkc.pfb +mrjkd mrjkd <mrjkd.pfb +mrjke mrjke <mrjke.pfb +mrjkf mrjkf <mrjkf.pfb +mrjkg mrjkg <mrjkg.pfb +mrjkh mrjkh <mrjkh.pfb +mrjki mrjki <mrjki.pfb +mrjkj mrjkj <mrjkj.pfb +mrjkk mrjkk <mrjkk.pfb +mrjkl mrjkl <mrjkl.pfb +mrjkm mrjkm <mrjkm.pfb +mrjkn mrjkn <mrjkn.pfb +mrjko mrjko <mrjko.pfb +mrjkp mrjkp <mrjkp.pfb +mrjkq mrjkq <mrjkq.pfb +mrjkr mrjkr <mrjkr.pfb +mrjks mrjks <mrjks.pfb +mrjkt mrjkt <mrjkt.pfb +mrjku mrjku <mrjku.pfb +mrjkv mrjkv <mrjkv.pfb +mrjkw mrjkw <mrjkw.pfb +mrjkx mrjkx <mrjkx.pfb +mrjky mrjky <mrjky.pfb +mrjkz mrjkz <mrjkz.pfb + +mc2jka mc2jka <mc2jka.pfb +mc2jkb mc2jkb <mc2jkb.pfb +mc2jkc mc2jkc <mc2jkc.pfb +mc2jkd mc2jkd <mc2jkd.pfb +mc2jke mc2jke <mc2jke.pfb +mc2jkf mc2jkf <mc2jkf.pfb +mc2jkg mc2jkg <mc2jkg.pfb +mc2jkh mc2jkh <mc2jkh.pfb +mc2jki mc2jki <mc2jki.pfb +mc2jkj mc2jkj <mc2jkj.pfb +mc2jkk mc2jkk <mc2jkk.pfb +mc2jkl mc2jkl <mc2jkl.pfb +mc2jkm mc2jkm <mc2jkm.pfb +mc2jkn mc2jkn <mc2jkn.pfb +mc2jko mc2jko <mc2jko.pfb +mc2jkp mc2jkp <mc2jkp.pfb +mc2jkq mc2jkq <mc2jkq.pfb +mc2jkr mc2jkr <mc2jkr.pfb +mc2jks mc2jks <mc2jks.pfb +mc2jkt mc2jkt <mc2jkt.pfb +mc2jku mc2jku <mc2jku.pfb +mc2jkv mc2jkv <mc2jkv.pfb +mc2jkw mc2jkw <mc2jkw.pfb + +mr2jka mr2jka <mr2jka.pfb +mr2jkb mr2jkb <mr2jkb.pfb +mr2jkc mr2jkc <mr2jkc.pfb +mr2jkd mr2jkd <mr2jkd.pfb +mr2jke mr2jke <mr2jke.pfb +mr2jkf mr2jkf <mr2jkf.pfb +mr2jkg mr2jkg <mr2jkg.pfb +mr2jkh mr2jkh <mr2jkh.pfb +mr2jki mr2jki <mr2jki.pfb +mr2jkj mr2jkj <mr2jkj.pfb +mr2jkk mr2jkk <mr2jkk.pfb +mr2jkl mr2jkl <mr2jkl.pfb +mr2jkm mr2jkm <mr2jkm.pfb +mr2jkn mr2jkn <mr2jkn.pfb +mr2jko mr2jko <mr2jko.pfb +mr2jkp mr2jkp <mr2jkp.pfb +mr2jkq mr2jkq <mr2jkq.pfb +mr2jkr mr2jkr <mr2jkr.pfb +mr2jks mr2jks <mr2jks.pfb +mr2jkt mr2jkt <mr2jkt.pfb +mr2jku mr2jku <mr2jku.pfb +mr2jkv mr2jkv <mr2jkv.pfb +mr2jkw mr2jkw <mr2jkw.pfb + diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1 b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1 new file mode 100644 index 00000000000..90af2cd08e5 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.1 @@ -0,0 +1,110 @@ +.\" man page for bg5conv +.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +.\" +.\" 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 22-May-2008 "CJK Version 4.8.0" +. +.\" ==== +.\" ==== 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 <wl@gnu.org> diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c new file mode 100644 index 00000000000..595292ea3b6 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.c @@ -0,0 +1,36 @@ +#define banner \ +"bg5conv (CJK ver. 4.8.0)" \ + +/*2:*/ +#line 94 "/home/wl/git/cjk/cjk-4.8.0/utils/Bg5conv/bg5conv.w" + +#include <stdio.h> +#include <stdlib.h> + + +int main(argc,argv) +int argc; +char*argv[]; + +{int ch; + +fprintf(stdout,"\\def\\CJKpreproc{%s}",banner); + +ch= fgetc(stdin); + +while(!feof(stdin)) +{if(ch>=0xA1&&ch<=0xFE) +{fprintf(stdout,"\177%c\177",ch); + +ch= fgetc(stdin); +if(!feof(stdin)) +fprintf(stdout,"%d\177",ch); +} +else +fputc(ch,stdout); + +ch= fgetc(stdin); +} +exit(EXIT_SUCCESS); +return 0; +}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w new file mode 100644 index 00000000000..c3c60970622 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5conv.w @@ -0,0 +1,124 @@ +% This is the cweb file bg5conv.w of the CJK Package Ver. 4.8.0 22-May-2008 + +% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org> +% +% 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.0)} + +\def\topofcontents{ + \null\vfill + \centerline{\titlefont The {\ttitlefont bg5conv} program} + \vskip 20pt + \centerline{(CJK Version 4.8.0)} + \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.0)" + +@c +#include <stdio.h> +#include <stdlib.h>@# + + +int main(argc, argv) + int argc; + char *argv[]; + + {int ch; + + fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@# + + ch = fgetc(stdin);@# + + while(!feof(stdin)) + {if(ch >= 0xA1 && ch <= 0xFE) + {fprintf(stdout, "\177%c\177", ch);@# + + ch = fgetc(stdin); + if(!feof(stdin)) + fprintf(stdout, "%d\177", ch); + } + else + fputc(ch, stdout);@# + + ch = fgetc(stdin); + } + exit(EXIT_SUCCESS); + return 0; /* never reached */ + } diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex new file mode 100644 index 00000000000..30195776a87 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] latex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +bg5conv < "$tex" > "$aux" && eval latex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.bat b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.bat new file mode 100755 index 00000000000..91e7dfd8575 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.bat @@ -0,0 +1,3 @@ +call f_name %1
+bg5conv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd new file mode 100644 index 00000000000..de695fcb554 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5latex.cmd @@ -0,0 +1,44 @@ +/*----------------------------------------------------------------------*\ + bg5latex.cmd + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu> + + 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/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex new file mode 100644 index 00000000000..ae165527569 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/Bg5conv/bg5pdflatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] pdflatex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +bg5conv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1 b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1 new file mode 100644 index 00000000000..5d9b7f5d8c4 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.1 @@ -0,0 +1,127 @@ +.\" man page for cef5conv +.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +.\" +.\" 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 22-May-2008 "CJK Version 4.8.0" +. +.\" ==== +.\" ==== 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 <cwittern@conline.central.de> +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 <wl@gnu.org> diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c new file mode 100644 index 00000000000..b62eb30443b --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.c @@ -0,0 +1,138 @@ +#define banner \ +"cef5conv (CJK ver. 4.8.0)" \ + +/*2:*/ +#line 108 "/home/wl/git/cjk/cjk-4.8.0/utils/CEFconv/cef5conv.w" + +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> + + +int main(argc,argv) +int argc; +char*argv[]; + +{int ch,i; +unsigned char in[16]; +unsigned char out[32]; +unsigned char*inp,*outp; + +fprintf(stdout,"\\def\\CNSpreproc{%s}",banner); + +ch= fgetc(stdin); + +while(!feof(stdin)) +{if(ch>=0xA1&&ch<=0xFE) +{fprintf(stdout,"\177%c\177",ch); + +ch= fgetc(stdin); +if(!feof(stdin)) +fprintf(stdout,"%d\177",ch); +} +else if(ch=='&') + +{inp= in; +outp= out; +*inp= ch; +*(++inp)= fgetc(stdin); + +if(*inp=='C'&&!feof(stdin)) +{*(++inp)= fgetc(stdin); +if(*inp=='0'&&!feof(stdin)) +{*(outp++)= 'B'; +*(outp++)= 'g'; +*(outp++)= '5'; +} +else if(*inp>='1'&&*inp<='7'&&!feof(stdin)) +{*(outp++)= 'C'; +*(outp++)= 'N'; +*(outp++)= 'S'; +*(outp++)= *inp; +} +else if((*inp=='X'||*inp=='Y')&&!feof(stdin)) +{*(outp++)= 'C'; +*(outp++)= 'E'; +*(outp++)= 'F'; +*(outp++)= *inp; +} +else +goto no_macro; +} +else if(*inp=='U'&&!feof(stdin)) +{*(outp++)= 'U'; +*(outp++)= 'T'; +*(outp++)= 'F'; +*(outp++)= '8'; +} +else +goto no_macro; + +*(++inp)= fgetc(stdin); +if(*inp!='-'||feof(stdin)) +goto no_macro; + +*(outp++)= '\177'; +*(outp++)= '\"'; +*(outp++)= '0'; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(outp++)= '\177'; +*(outp++)= '\177'; +*(outp++)= '\"'; +*(outp++)= '0'; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(outp++)= '\177'; +*outp= '\0'; + +*(++inp)= fgetc(stdin); +if(*inp!=';'||feof(stdin)) +goto no_macro; + +outp= out; +fprintf(stdout,"\17772\177"); +while(*outp) +fputc(*(outp++),stdout); + +ch= fgetc(stdin); +continue; + +no_macro: +ch= *inp; +i= inp-in; +inp= in; +while(i--) +fputc(*(inp++),stdout); +continue; +} +else +fputc(ch,stdout); + +ch= fgetc(stdin); +} +exit(EXIT_SUCCESS); +return 0; +}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w new file mode 100644 index 00000000000..3877e4c19fb --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5conv.w @@ -0,0 +1,240 @@ +% This is the cweb file cef5conv.w of the CJK Package Ver. 4.8.0 22-May-2008 + +% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org> +% +% 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.0)} + +\def\topofcontents{ + \null\vfill + \centerline{\titlefont The {\ttitlefont cef5conv} program} + \vskip 20pt + \centerline{(CJK Version 4.8.0)} + \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.0)" + +@c +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h>@# + + +int main(argc, argv) + int argc; + char *argv[]; + + {int ch, i; + unsigned char in[16]; + unsigned char out[32]; + unsigned char *inp, *outp; + + fprintf(stdout, "\\def\\CNSpreproc{%s}", banner);@# + + ch = fgetc(stdin);@# + + while(!feof(stdin)) + {if(ch >= 0xA1 && ch <= 0xFE) + {fprintf(stdout, "\177%c\177", ch);@# + + ch = fgetc(stdin); + if(!feof(stdin)) + fprintf(stdout, "%d\177", ch); + } + else if(ch == '&') + /* 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++) = '\"'; + *(outp++) = '0';@# + + *(++inp) = fgetc(stdin); + if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin)) + *(outp++) = toupper(*inp); + else + goto no_macro;@# + + *(++inp) = fgetc(stdin); + if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin)) + *(outp++) = toupper(*inp); + else + goto no_macro;@# + + *(outp++) = '\177'; + *(outp++) = '\177'; + *(outp++) = '\"'; + *(outp++) = '0';@# + + *(++inp) = fgetc(stdin); + if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin)) + *(outp++) = toupper(*inp); + else + goto no_macro;@# + + *(++inp) = fgetc(stdin); + if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin)) + *(outp++) = toupper(*inp); + else + goto no_macro;@# + + *(outp++) = '\177'; + *outp = '\0';@# + + *(++inp) = fgetc(stdin); + if(*inp != ';' || feof(stdin)) + goto no_macro;@# + + outp = out; + fprintf(stdout, "\17772\177"); + while(*outp) + fputc(*(outp++), stdout);@# + + ch = fgetc(stdin); + continue;@# + +no_macro: + ch = *inp; + i = inp - in; + inp = in; + while(i--) + fputc(*(inp++), stdout); + continue; + } + else + fputc(ch, stdout);@# + + ch = fgetc(stdin); + } + exit(EXIT_SUCCESS); + return 0; /* never reached */ + } diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex new file mode 100644 index 00000000000..5e609181030 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5latex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] latex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +cef5conv < "$tex" > "$aux" && eval latex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.bat b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.bat new file mode 100755 index 00000000000..187485301f9 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.bat @@ -0,0 +1,3 @@ +call f_name %1
+cef5conv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd new file mode 100644 index 00000000000..325de4b6d89 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5ltx.cmd @@ -0,0 +1,46 @@ +/*----------------------------------------------------------------------*\ + cef5ltx.cmd + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu> + + 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/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex new file mode 100644 index 00000000000..cd1118cd7c3 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cef5pdflatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] pdflatex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +cef5conv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1 b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1 new file mode 100644 index 00000000000..fcadd795f35 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.1 @@ -0,0 +1,117 @@ +.\" man page for cefconv +.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +.\" +.\" 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 22-May-2008 "CJK Version 4.8.0" +. +.\" ==== +.\" ==== 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 <cwittern@conline.central.de> +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 <wl@gnu.org> diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c new file mode 100644 index 00000000000..562c6775922 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.c @@ -0,0 +1,130 @@ +#define banner \ +"cefconv (CJK ver. 4.8.0)" \ + +/*2:*/ +#line 100 "/home/wl/git/cjk/cjk-4.8.0/utils/CEFconv/cefconv.w" + +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> + + +int main(argc,argv) +int argc; +char*argv[]; + +{int ch,i; +unsigned char in[16]; +unsigned char out[32]; +unsigned char*inp,*outp; + +fprintf(stdout,"\\def\\CNSpreproc{%s}",banner); + +ch= fgetc(stdin); + +while(!feof(stdin)) +{if(ch=='&') +{inp= in; +outp= out; +*inp= ch; +*(++inp)= fgetc(stdin); + +if(*inp=='C'&&!feof(stdin)) +{*(++inp)= fgetc(stdin); +if(*inp=='0'&&!feof(stdin)) +{*(outp++)= 'B'; +*(outp++)= 'g'; +*(outp++)= '5'; +} +else if(*inp>='1'&&*inp<='7'&&!feof(stdin)) +{*(outp++)= 'C'; +*(outp++)= 'N'; +*(outp++)= 'S'; +*(outp++)= *inp; +} +else if((*inp=='X'||*inp=='Y')&&!feof(stdin)) +{*(outp++)= 'C'; +*(outp++)= 'E'; +*(outp++)= 'F'; +*(outp++)= *inp; +} +else +goto no_macro; +} +else if(*inp=='U'&&!feof(stdin)) +{*(outp++)= 'U'; +*(outp++)= 'T'; +*(outp++)= 'F'; +*(outp++)= '8'; +} +else +goto no_macro; + +*(++inp)= fgetc(stdin); +if(*inp!='-'||feof(stdin)) +goto no_macro; + +*(outp++)= '\177'; +*(outp++)= '\177'; +*(outp++)= '\"'; +*(outp++)= '0'; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(outp++)= '\177'; +*(outp++)= '\"'; +*(outp++)= '0'; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(outp++)= '\177'; +*outp= '\0'; + +*(++inp)= fgetc(stdin); +if(*inp!=';'||feof(stdin)) +goto no_macro; + +outp= out; +fprintf(stdout,"\17772\177"); +while(*outp) +fputc(*(outp++),stdout); + +ch= fgetc(stdin); +continue; + +no_macro: +ch= *inp; +i= inp-in; +inp= in; +while(i--) +fputc(*(inp++),stdout); +continue; +} +else +fputc(ch,stdout); + +ch= fgetc(stdin); +} +exit(EXIT_SUCCESS); +return 0; +}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w new file mode 100644 index 00000000000..b376926e978 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefconv.w @@ -0,0 +1,224 @@ +% This is the cweb file cefconv.w of the CJK Package Ver. 4.8.0 22-May-2008 + +% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org> +% +% 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.0)} + +\def\topofcontents{ + \null\vfill + \centerline{\titlefont The {\ttitlefont cefconv} program} + \vskip 20pt + \centerline{(CJK Version 4.8.0)} + \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 ffXX\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.0)" + +@c +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h>@# + + +int main(argc, argv) + int argc; + char *argv[]; + + {int ch, i; + unsigned char in[16]; + unsigned char out[32]; + unsigned char *inp, *outp; + + fprintf(stdout, "\\def\\CNSpreproc{%s}", banner);@# + + ch = fgetc(stdin);@# + + while(!feof(stdin)) + {if(ch == '&') /* 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/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex new file mode 100644 index 00000000000..1b110c613c6 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] latex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +cefconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.bat b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.bat new file mode 100755 index 00000000000..ba5925a6df3 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.bat @@ -0,0 +1,3 @@ +call f_name %1
+cefconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd new file mode 100644 index 00000000000..ed43ec94304 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/ceflatex.cmd @@ -0,0 +1,46 @@ +/*----------------------------------------------------------------------*\ + ceflatex.cmd + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu> + + 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/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex new file mode 100644 index 00000000000..706114a8c77 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefpdflatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] pdflatex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +cefconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1 b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1 new file mode 100644 index 00000000000..82995a98b6a --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.1 @@ -0,0 +1,127 @@ +.\" man page for cefsconv +.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +.\" +.\" 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 22-May-2008 "CJK Version 4.8.0" +. +.\" ==== +.\" ==== 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 <cwittern@conline.central.de> +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 <wl@gnu.org> diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c new file mode 100644 index 00000000000..bd738d742f4 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.c @@ -0,0 +1,138 @@ +#define banner \ +"cefsconv (CJK ver. 4.8.0)" \ + +/*2:*/ +#line 108 "/home/wl/git/cjk/cjk-4.8.0/utils/CEFconv/cefsconv.w" + +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> + + +int main(argc,argv) +int argc; +char*argv[]; + +{int ch,i; +unsigned char in[16]; +unsigned char out[32]; +unsigned char*inp,*outp; + +fprintf(stdout,"\\def\\CNSpreproc{%s}",banner); + +ch= fgetc(stdin); + +while(!feof(stdin)) +{if((ch>=0x81&&ch<=0x9F)||(ch>=0xE0&&ch<=0xEF)) +{fprintf(stdout,"\177%c\177",ch); + +ch= fgetc(stdin); +if(!feof(stdin)) +fprintf(stdout,"%d\177",ch); +} +else if(ch=='&') + +{inp= in; +outp= out; +*inp= ch; +*(++inp)= fgetc(stdin); + +if(*inp=='C'&&!feof(stdin)) +{*(++inp)= fgetc(stdin); +if(*inp=='0'&&!feof(stdin)) +{*(outp++)= 'B'; +*(outp++)= 'g'; +*(outp++)= '5'; +} +else if(*inp>='1'&&*inp<='7'&&!feof(stdin)) +{*(outp++)= 'C'; +*(outp++)= 'N'; +*(outp++)= 'S'; +*(outp++)= *inp; +} +else if((*inp=='X'||*inp=='Y')&&!feof(stdin)) +{*(outp++)= 'C'; +*(outp++)= 'E'; +*(outp++)= 'F'; +*(outp++)= *inp; +} +else +goto no_macro; +} +else if(*inp=='U'&&!feof(stdin)) +{*(outp++)= 'U'; +*(outp++)= 'T'; +*(outp++)= 'F'; +*(outp++)= '8'; +} +else +goto no_macro; + +*(++inp)= fgetc(stdin); +if(*inp!='-'||feof(stdin)) +goto no_macro; + +*(outp++)= '\177'; +*(outp++)= '\"'; +*(outp++)= '0'; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(outp++)= '\177'; +*(outp++)= '\177'; +*(outp++)= '\"'; +*(outp++)= '0'; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(++inp)= fgetc(stdin); +if(isxdigit(*inp)&&*inp<0x80&&!feof(stdin)) +*(outp++)= toupper(*inp); +else +goto no_macro; + +*(outp++)= '\177'; +*outp= '\0'; + +*(++inp)= fgetc(stdin); +if(*inp!=';'||feof(stdin)) +goto no_macro; + +outp= out; +fprintf(stdout,"\17772\177"); +while(*outp) +fputc(*(outp++),stdout); + +ch= fgetc(stdin); +continue; + +no_macro: +ch= *inp; +i= inp-in; +inp= in; +while(i--) +fputc(*(inp++),stdout); +continue; +} +else +fputc(ch,stdout); + +ch= fgetc(stdin); +} +exit(EXIT_SUCCESS); +return 0; +}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w new file mode 100644 index 00000000000..f1a5629b25e --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsconv.w @@ -0,0 +1,240 @@ +% This is the cweb file cefsconv.w of the CJK Package Ver. 4.8.0 22-May-2008 + +% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org> +% +% 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.0)} + +\def\topofcontents{ + \null\vfill + \centerline{\titlefont The {\ttitlefont cefsconv} program} + \vskip 20pt + \centerline{(CJK Version 4.8.0)} + \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. + +@d banner +"cefsconv (CJK ver. 4.8.0)" + +@c +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h>@# + + +int main(argc, argv) + int argc; + char *argv[]; + + {int ch, i; + unsigned char in[16]; + unsigned char out[32]; + unsigned char *inp, *outp; + + fprintf(stdout, "\\def\\CNSpreproc{%s}", banner);@# + + ch = fgetc(stdin);@# + + while(!feof(stdin)) + {if((ch >= 0x81 && ch <= 0x9F) || (ch >= 0xE0 && ch <= 0xEF)) + {fprintf(stdout, "\177%c\177", ch);@# + + ch = fgetc(stdin); + if(!feof(stdin)) + fprintf(stdout, "%d\177", ch); + } + else if(ch == '&') + /* 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++) = '\"'; + *(outp++) = '0';@# + + *(++inp) = fgetc(stdin); + if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin)) + *(outp++) = toupper(*inp); + else + goto no_macro;@# + + *(++inp) = fgetc(stdin); + if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin)) + *(outp++) = toupper(*inp); + else + goto no_macro;@# + + *(outp++) = '\177'; + *(outp++) = '\177'; + *(outp++) = '\"'; + *(outp++) = '0';@# + + *(++inp) = fgetc(stdin); + if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin)) + *(outp++) = toupper(*inp); + else + goto no_macro;@# + + *(++inp) = fgetc(stdin); + if(isxdigit(*inp) && *inp < 0x80 && !feof(stdin)) + *(outp++) = toupper(*inp); + else + goto no_macro;@# + + *(outp++) = '\177'; + *outp = '\0';@# + + *(++inp) = fgetc(stdin); + if(*inp != ';' || feof(stdin)) + goto no_macro;@# + + outp = out; + fprintf(stdout, "\17772\177"); + while(*outp) + fputc(*(outp++), stdout);@# + + ch = fgetc(stdin); + continue;@# + +no_macro: + ch = *inp; + i = inp - in; + inp = in; + while(i--) + fputc(*(inp++), stdout); + continue; + } + else + fputc(ch, stdout);@# + + ch = fgetc(stdin); + } + exit(EXIT_SUCCESS); + return 0; /* never reached */ + } diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex new file mode 100644 index 00000000000..db2232d98c6 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefslatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] latex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +cefsconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.bat b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.bat new file mode 100755 index 00000000000..662ef9e3af4 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.bat @@ -0,0 +1,3 @@ +call f_name %1
+cefsconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd new file mode 100644 index 00000000000..896634d414e --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefsltx.cmd @@ -0,0 +1,46 @@ +/*----------------------------------------------------------------------*\ + cefsltx.cmd + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu> + + 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/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex new file mode 100644 index 00000000000..bc99498f4af --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/CEFconv/cefspdflatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] latex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +cefsconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1 b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1 new file mode 100644 index 00000000000..b0b85d21215 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.1 @@ -0,0 +1,110 @@ +.\" man page for sjisconv +.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +.\" +.\" 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 22-May-2008 "CJK Version 4.8.0" +. +.\" ==== +.\" ==== 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 <wl@gnu.org> diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c new file mode 100644 index 00000000000..0da8aa3fe78 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.c @@ -0,0 +1,36 @@ +#define banner \ +"sjisconv (CJK ver. 4.8.0)" \ + +/*2:*/ +#line 93 "/home/wl/git/cjk/cjk-4.8.0/utils/SJISconv/sjisconv.w" + +#include <stdio.h> +#include <stdlib.h> + + +int main(argc,argv) +int argc; +char*argv[]; + +{int ch; + +fprintf(stdout,"\\def\\CJKpreproc{%s}",banner); + +ch= fgetc(stdin); + +while(!feof(stdin)) +{if((ch>=0x81&&ch<=0x9F)||(ch>=0xE0&&ch<=0xEF)) +{fprintf(stdout,"\177%c\177",ch); + +ch= fgetc(stdin); +if(!feof(stdin)) +fprintf(stdout,"%d\177",ch); +} +else +fputc(ch,stdout); + +ch= fgetc(stdin); +} +exit(EXIT_SUCCESS); +return 0; +}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w new file mode 100644 index 00000000000..d5f55a96f3c --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisconv.w @@ -0,0 +1,123 @@ +% This is the cweb file sjisconv.w of the CJK Package Ver. 4.8.0 22-May-2008 + +% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org> +% +% 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.0)} + +\def\topofcontents{ + \null\vfill + \centerline{\titlefont The {\ttitlefont sjisconv} program} + \vskip 20pt + \centerline{(CJK Version 4.8.0)} + \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. + +@d banner +"sjisconv (CJK ver. 4.8.0)" + +@c +#include <stdio.h> +#include <stdlib.h>@# + + +int main(argc, argv) + int argc; + char *argv[]; + + {int ch; + + fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@# + + ch = fgetc(stdin);@# + + while(!feof(stdin)) + {if((ch >= 0x81 && ch <= 0x9F) || (ch >= 0xE0 && ch <= 0xEF)) + {fprintf(stdout, "\177%c\177", ch);@# + + ch = fgetc(stdin); + if(!feof(stdin)) + fprintf(stdout, "%d\177", ch); + } + else + fputc(ch, stdout);@# + + ch = fgetc(stdin); + } + exit(EXIT_SUCCESS); + return 0; /* never reached */ + } diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex new file mode 100644 index 00000000000..d794a7c7f5e --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjislatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] latex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +sjisconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.bat b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.bat new file mode 100755 index 00000000000..5702c113bdf --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.bat @@ -0,0 +1,3 @@ +call f_name %1
+sjisconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd new file mode 100644 index 00000000000..6769896fbdb --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjisltx.cmd @@ -0,0 +1,44 @@ +/*----------------------------------------------------------------------*\ + sjisltx.cmd + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu> + + 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/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex new file mode 100644 index 00000000000..50daf343502 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/SJISconv/sjispdflatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] latex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +sjisconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c b/Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c new file mode 100644 index 00000000000..6750bd4f4d1 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/cjklatex/cjklatex.c @@ -0,0 +1,290 @@ +/* + 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 <Fabrice.Popineau@supelec.fr> + Date : <29/06/2001> +*/ + +/* + Copyright (C) 2001-2008 F. Popineau <Fabrice.Popineau@supelec.fr> + + 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 <stdio.h> +#include <stdlib.h> +#include <win32lib.h> + +#include <kpathsea/config.h> +#include <kpathsea/lib.h> +#include <kpathsea/getopt.h> + +static char *cjklatex_version_string = "1.0"; + +static const char *usage_str[] = { + "Usage: %s OPTIONS FILE\n", + "Calls `latex' on FILE after conversion by the filter\n", + "specified by OPTIONS.\n", + "--conv=bg5\tfor traditional Chinese, encoding Big 5,\n", + "--conv=bg5p\tfor Chinese, encoding Big 5+,\n", + "--conv=cef\tfor Chinese Encoding Framework, encoding CEF,\n", + "--conv=cef5\tidem CEF, also converts Big5 characters,\n", + "--conv=cefs\tidem CEF, also converts SJIS characters,\n", + "--conv=sjis\tfor Japanese, SJIS encoding,\n", + "--conv=gbk\tfor Chinese, encoding GBK.", + "\nAlternatively, for compatibility with the previous DOS batch files,\n", + "you can also copy this program to any of the following names:\n", + "bg5latex.exe,bg5pltx.exe,cef5ltx.exe,ceflatex.exe,cefsltx.exe,\n", + "gbklatex.exe and sjisltx.exe .\n", + "Then running one of these programs will be identical to specify\n", + "the corresponding option.\n", + "\nAdditional options:\n", + "--verbose\tbe a bit more verbose about what is happening,\n", + "--nocleanup\tdo not remove intermediate files,\n", + "--latex=engine\tuse `engine' instead of `latex' to process the file.\n", + NULL +}; + +static char *progname = NULL; + +static struct _conv_table { + char *progname; + char *processor; +} CJKtable[] = { + { "cjklatex", "" }, + { "bg5latex", "bg5conv" }, + { "bg5pltx", "extconv" }, + { "cef5ltx", "cef5conv" }, + { "ceflatex", "cefconv" }, + { "cefsltx", "cefsconv" }, + { "gbklatex", "extconv" }, + { "sjisltx", "sjisconv" } +}; + +#define PROGRAM_IS(p) FILESTRCASEEQ (p, progname) +#define ARGUMENT_IS(a) STREQ (long_options[option_index].name, a) + +static int program_number = -1; +static int opt_verbose = 0; +static int opt_nocleanup = 0; +static char *texname, *cjkname, *texengine; + +static struct option long_options [] = { + { "debug", 1, 0, 0}, + { "help", 0, 0, 0}, + { "version", 0, 0, 0}, + { "verbose", 0, 0, 0}, + { "nocleanup", 0, 0, 0}, + { "latex", 1, 0, 0}, + { "conv", 1, 0, 0}, + {0, 0, 0, 0} +}; + +BOOL sigint_handler(DWORD dwCtrlType) +{ + /* Fix me : there is a problem if a system() command is running. + We should wait for the son process to be interrupted. + Only way I can think of to do that : rewrite system() based on + spawn() with parsing of the command line and set a global pid + Next cwait(pid) in the HandlerRoutine. + */ + + /* This is not that good, but else we would need to wait for + the child processes to finish ! */ + Sleep(250); + + fprintf(stderr, "Sending Ctrl+Break!\n"); + GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, 0); + + if (! opt_nocleanup) + unlink(cjkname); + + exit(1); + + return FALSE; /* return value obligatory */ +} + +void usage() +{ + int i; + fprintf(stderr, "CJKlatex version %s\n", cjklatex_version_string); + fprintf(stderr,usage_str[0], progname ); + fputs("\n", stderr); + for(i = 1; usage_str[i]; ++i) + fputs(usage_str[i], stderr); +} + +int do_process(char *processor, char *filename) +{ + char *ext, *p; + char cmd[_MAX_PATH*3]; + DWORD dwFA; + int ret; + + if (strlen(filename) > 4 && _strnicmp(filename + strlen(filename) - 4, ".tex", 4) == 0) { + texname = xstrdup(filename); + } + else { + texname = concat(filename, ".tex"); + } + for (p = texname; p && *p; p++) + *p = (*p == '\\' ? '/' : *p); + + dwFA = GetFileAttributes(texname); + if (dwFA == 0xFFFFFFFF || (dwFA & FILE_ATTRIBUTE_DIRECTORY)) { + fprintf(stderr, "%s: %s is an invalid input file.\n", + progname, texname); + ret = 1; + } + else { + cjkname = xstrdup(texname); + ext = strrchr(cjkname, '.'); + assert(ext != NULL); + strcpy(cjkname + (ext - cjkname), ".cjk"); + + sprintf(cmd, "%s < %s > %s", processor, texname, cjkname); + if (opt_verbose) + fprintf(stderr, "%s: running command `%s'.\n", progname, cmd); + ret = system(cmd); + if (ret == 0) { + sprintf(cmd, "%s %s", texengine, cjkname); + if (opt_verbose) + fprintf(stderr, "%s: running command `%s'.\n", progname, cmd); + ret = system(cmd); + if (! opt_nocleanup) + unlink(cjkname); + } + } + + free(texname); + free(cjkname); + + return ret; +} + +void main(int argc, char *argv[]) +{ + int g; /* getopt return code */ + int i; + int option_index; + char *filename; + + if (!progname) + progname = argv[0]; + + kpse_set_program_name (progname, NULL); + progname = kpse_program_name; + + for (i = 0; i < sizeof(CJKtable)/sizeof(CJKtable[0]) && program_number < 0; i++) { + if (STREQ(progname, CJKtable[i].progname) +#if 0 + || (STREQ(progname, CJKtable[i].progname) + && STREQ(progname+strlen(CJKtable[i].progname), ".exe")) +#endif + ) { + program_number = i; + } + } + + if (program_number == -1) { + fprintf(stderr, "%s: this program has been incorrecty copied to the name %s.\n", progname, progname); + usage(); + exit(1); + } + + for(;;) { + g = getopt_long_only (argc, argv, "", long_options, &option_index); + + if (g == EOF) + break; + + if (g == '?') { + usage(); /* Unknown option. */ + exit(1); + } + + /* assert (g == 0); */ /* We have no short option names. */ + /* + FIXME : try 'mktexpk --mfmode --bdpi 600 ...' + */ + if (ARGUMENT_IS ("debug")) { + kpathsea_debug |= atoi (optarg); + } + else if (ARGUMENT_IS ("help")) { + usage(); + exit(0); + } + else if (ARGUMENT_IS ("verbose")) { + opt_verbose = 1; + } + else if (ARGUMENT_IS ("nocleanup")) { + opt_nocleanup = 1; + } + else if (ARGUMENT_IS ("latex")) { + texengine = xstrdup(optarg); + } + else if (ARGUMENT_IS ("version")) { + fprintf(stderr, "%s of %s.\n", progname, cjklatex_version_string); + exit(0); + } + else if (PROGRAM_IS("cjklatex")) { + if (ARGUMENT_IS("conv")) { + for (i = 1; i < sizeof(CJKtable)/sizeof(CJKtable[0]) && program_number <= 0; i++) { + if (STRNEQ(optarg, CJKtable[i].progname, strlen(optarg))) { + program_number = i; + } + } + } + } + } + + /* shifting options from argv[] list */ + for (i = 1; optind < argc; i++, optind++) + argv[i] = argv[optind]; + argv[i] = NULL; + + argc = i; + + if (argc < 2) { + fprintf (stderr, "%s: Missing argument(s).\nTry `%s --help' for more information.\n", progname, kpse_program_name); + exit(1); + } + + if (argc > 2) { + fprintf(stderr, "%s: Extra arguments", progname); + for (i = 2; i < argc; i++) + fprintf (stderr, " \"%s\"", argv[i]); + fprintf (stderr, "\nTry `%s --help' for more information.\n", + kpse_program_name); + exit(1); + } + + SetConsoleCtrlHandler((PHANDLER_ROUTINE)sigint_handler, TRUE); + + filename = xstrdup(argv[1]); + + assert(program_number > 0); + + if (! texengine) { + texengine = xstrdup("latex"); + } + + do_process(CJKtable[program_number].processor, filename); + + free(filename); + free(texengine); +} diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex new file mode 100644 index 00000000000..4136537872e --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+latex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] latex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +extconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex new file mode 100644 index 00000000000..e28761ef423 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5+pdflatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] pdflatex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +extconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.bat b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.bat new file mode 100755 index 00000000000..ccc6c76acd5 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.bat @@ -0,0 +1,3 @@ +call f_name %1
+extconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd new file mode 100644 index 00000000000..e41ecb44a5f --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/bg5pltx.cmd @@ -0,0 +1,44 @@ +/*----------------------------------------------------------------------*\ + bg5pltx.cmd + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu> + + 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/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1 b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1 new file mode 100644 index 00000000000..bcb5f9d92c7 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.1 @@ -0,0 +1,111 @@ +.\" man page for bg5conv +.\" +.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +.\" +.\" 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 22-May-2008 "CJK Version 4.8.0" +. +.\" ==== +.\" ==== 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 <wl@gnu.org> diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c new file mode 100644 index 00000000000..e6c3d60a17a --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.c @@ -0,0 +1,37 @@ +#define banner \ +"extconv (CJK ver. 4.8.0)" \ + +/*2:*/ +#line 94 "/home/wl/git/cjk/cjk-4.8.0/utils/extconv/extconv.w" + +#include <stdio.h> +#include <stdlib.h> + + +int main(argc,argv) +int argc; +char*argv[]; + +{int ch; + + +fprintf(stdout,"\\def\\CJKpreproc{%s}",banner); + +ch= fgetc(stdin); + +while(!feof(stdin)) +{if(ch>=0x81&&ch<=0xFE) +{fprintf(stdout,"\177%c\177",ch); + +ch= fgetc(stdin); +if(!feof(stdin)) +fprintf(stdout,"%d\177",ch); +} +else +fputc(ch,stdout); + +ch= fgetc(stdin); +} +exit(EXIT_SUCCESS); +return 0; +}/*:2*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w new file mode 100644 index 00000000000..6dd7a19ac03 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/extconv.w @@ -0,0 +1,125 @@ +% This is the cweb file extconv.w of the CJK Package Ver. 4.8.0 22-May-2008 + +% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org> +% +% 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.0)} + +\def\topofcontents{ + \null\vfill + \centerline{\titlefont The {\ttitlefont extconv} program} + \vskip 20pt + \centerline{(CJK Version 4.8.0)} + \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.0)" + +@c +#include <stdio.h> +#include <stdlib.h>@# + + +int main(argc, argv) + int argc; + char *argv[]; + + {int ch; + + + fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@# + + ch = fgetc(stdin);@# + + while(!feof(stdin)) + {if(ch >= 0x81 && ch <= 0xFE) + {fprintf(stdout, "\177%c\177", ch);@# + + ch = fgetc(stdin); + if(!feof(stdin)) + fprintf(stdout, "%d\177", ch); + } + else + fputc(ch, stdout);@# + + ch = fgetc(stdin); + } + exit(EXIT_SUCCESS); + return 0; /* never reached */ + } diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex new file mode 100644 index 00000000000..4136537872e --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] latex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +extconv < "$tex" > "$aux" && eval latex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.bat b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.bat new file mode 100755 index 00000000000..ccc6c76acd5 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.bat @@ -0,0 +1,3 @@ +call f_name %1
+extconv < %1 > %fd%%fp%%fn%.cjk
+latex %fd%%fu%%fn%.cjk
diff --git a/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd new file mode 100644 index 00000000000..cbe9776de04 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbklatex.cmd @@ -0,0 +1,44 @@ +/*----------------------------------------------------------------------*\ + gbklatex.cmd + + This file is part of the CJK macro package for LaTeX2e ver. 4.8.0 + + Copyright (C) 1994-2008 Wonkoo Kim <wkim+@pitt.edu> + + 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/Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex new file mode 100644 index 00000000000..e28761ef423 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/extconv/gbkpdflatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program in doc/COPYING; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301 USA + +n=1 +argv= + +# get last argument +while test 1 -lt $#; do + eval argv$n=\$1 + argv="$argv \"\$argv$n\"" + n=`expr $n + 1` + shift +done + +# replace extension with .cjk or append .cjk if there is no extension +tex=$1 +case $tex in +""|*.cjk) + echo >&2 "Usage: $0 [options] pdflatex-file" + exit 1;; +*) + aux=`expr "X$tex" : 'X\(.*\)\.[^/]*$' \| "X$tex" : 'X\(.*\)'`.cjk;; +esac + +extconv < "$tex" > "$aux" && eval pdflatex "$argv" "\$aux" + +# EOF diff --git a/Master/texmf-dist/source/latex/cjk/utils/f_name.bat b/Master/texmf-dist/source/latex/cjk/utils/f_name.bat new file mode 100755 index 00000000000..70e6e69ce9a --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/f_name.bat @@ -0,0 +1,205 @@ +@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/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu new file mode 100644 index 00000000000..5b42acf1604 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.gnu @@ -0,0 +1,127 @@ +# This file is part of the CJK package Version 4.8.0 (22-May-2008) + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# 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/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.in b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.in new file mode 100644 index 00000000000..ece2f79c89a --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/Makefile.in @@ -0,0 +1,127 @@ +# Makefile for hbf2gf -- wl@gnu.org + +# Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +# +# 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/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/README b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/README new file mode 100644 index 00000000000..a7de0ec1402 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/README @@ -0,0 +1,2 @@ +Additional installation documentation can be found in the files `INSTALL' +(in the top directory) and `doc/hbf2gf.txt'. diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h new file mode 100644 index 00000000000..7554af22494 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/c-auto.h @@ -0,0 +1,39 @@ +/* + * c-auto.h + * + * This file is part of the CJK package ver 4.8.0 22-May-2008 + * + */ + +/* + Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> + + 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/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README new file mode 100644 index 00000000000..689d59e7397 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/README @@ -0,0 +1,10 @@ +In this directory you find some hbf2gf configuration files for common CJK +bitmap fonts. + +No paths are specified for the HBF files -- under web2c you should add the +path for these fonts to the `MISCFONTS' variable in texmf.cnf; under emTeX +you should set the environment variable `HBFONTS'. + +The font paths used here in the config files of this directory are TDS +compliant; only the `HBF_TARGET' environment variable is used (an example +would be `set HBF_TARGET=/usr/local/TeX/texmf/fonts'). diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg new file mode 100644 index 00000000000..f5c142f0235 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5ka12.cfg @@ -0,0 +1,28 @@ + +hbf_header ntukai48.hbf +mag_x 1 +threshold 128 +comment Big 5 normal 48x48 pixel font scaled and adapted to 12pt + +design_size 12 + +x_offset 2 +y_offset -12 + +nmb_files -1 + +output_name b5ka12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme Big 5 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/ntu/b5ka12/ +tfm_directory $HBF_TARGET/tfm/ntu/b5ka12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg new file mode 100644 index 00000000000..9d9da2c1a2f --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5kr12.cfg @@ -0,0 +1,30 @@ + +hbf_header ntukai48.hbf +mag_x 1 +threshold 128 +comment Big 5 normal 48x48 pixel font rotated, scaled and adapted to 12pt + +design_size 12 + +x_offset 2 +y_offset -10 + +rotation yes + +nmb_files -1 + +output_name b5kr12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme Big 5 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/ntu/b5kr12/ +tfm_directory $HBF_TARGET/tfm/ntu/b5kr12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg new file mode 100644 index 00000000000..dc0bcd9fbf0 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/b5so12.cfg @@ -0,0 +1,31 @@ + +hbf_header et24.hbf +mag_x 2.076 +threshold 128 +comment fanti songti 24x24 pixel font magnified and adapted for 12pt + +design_size 12.0 + +x_offset 3 +y_offset -8 + +nmb_files -1 + +output_name b5so12 + +checksum 123456789 + +dpi_x 300 + +tfm_files yes +pk_files no + +coding codingscheme Big 5 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/eten/b5so12/ +tfm_directory $HBF_TARGET/tfm/eten/b5so12/ + + rm_command del + cp_command copy + long_extension no + job_extension .cmd diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg new file mode 100644 index 00000000000..de5b32b3efc --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c1so12.cfg @@ -0,0 +1,28 @@ + +hbf_header cns40-1.hbf +mag_x 1 +threshold 128 +comment CNS plane 1 song 40x40 pixel font scaled and adapted to 12pt + +design_size 12.0 + +x_offset 2 +y_offset -8 + +nmb_files -1 + +output_name c1so12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme CNS plane 1 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/cns/c1so12/ +tfm_directory $HBF_TARGET/tfm/cns/c1so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg new file mode 100644 index 00000000000..969af8fae14 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c2so12.cfg @@ -0,0 +1,28 @@ + +hbf_header cns40-2.hbf +mag_x 1 +threshold 128 +comment CNS plane 2 song 40x40 pixel font scaled and adapted to 12pt + +design_size 12.0 + +x_offset 2 +y_offset -8 + +nmb_files -1 + +output_name c2so12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme CNS plane 2 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/cns/c2so12/ +tfm_directory $HBF_TARGET/tfm/cns/c2so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg new file mode 100644 index 00000000000..0e65768ee5e --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c3so12.cfg @@ -0,0 +1,28 @@ + +hbf_header cns40-3.hbf +mag_x 1 +threshold 128 +comment CNS plane 3 song 40x40 pixel font scaled and adapted to 12pt + +design_size 12.0 + +x_offset 2 +y_offset -8 + +nmb_files -1 + +output_name c3so12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme CNS plane 3 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/cns/c3so12/ +tfm_directory $HBF_TARGET/tfm/cns/c3so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg new file mode 100644 index 00000000000..8ea3a8b270c --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c4so12.cfg @@ -0,0 +1,28 @@ + +hbf_header cns40-4.hbf +mag_x 1 +threshold 128 +comment CNS plane 4 song 40x40 pixel font scaled and adapted to 12pt + +design_size 12.0 + +x_offset 2 +y_offset -8 + +nmb_files -1 + +output_name c4so12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme CNS plane 4 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/cns/c4so12/ +tfm_directory $HBF_TARGET/tfm/cns/c4so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg new file mode 100644 index 00000000000..1b81c90a0d3 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c5so12.cfg @@ -0,0 +1,28 @@ + +hbf_header cns40-5.hbf +mag_x 1 +threshold 128 +comment CNS plane 5 song 40x40 pixel font scaled and adapted to 12pt + +design_size 12.0 + +x_offset 2 +y_offset -8 + +nmb_files -1 + +output_name c5so12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme CNS plane 5 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/cns/c5so12/ +tfm_directory $HBF_TARGET/tfm/cns/c5so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg new file mode 100644 index 00000000000..5b9c912ce53 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c6so12.cfg @@ -0,0 +1,28 @@ + +hbf_header cns40-6.hbf +mag_x 1 +threshold 128 +comment CNS plane 6 song 40x40 pixel font scaled and adapted to 12pt + +design_size 12.0 + +x_offset 2 +y_offset -8 + +nmb_files -1 + +output_name c6so12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme CNS plane 6 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/cns/c6so12/ +tfm_directory $HBF_TARGET/tfm/cns/c6so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg new file mode 100644 index 00000000000..051b2601426 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/c7so12.cfg @@ -0,0 +1,28 @@ + +hbf_header cns40-7.hbf +mag_x 1 +threshold 128 +comment CNS plane 7 song 40x40 pixel font scaled and adapted to 12pt + +design_size 12.0 + +x_offset 2 +y_offset -8 + +nmb_files -1 + +output_name c7so12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme CNS plane 7 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/cns/c7so12/ +tfm_directory $HBF_TARGET/tfm/cns/c7so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg new file mode 100644 index 00000000000..9ad91b0c574 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/csso12.cfg @@ -0,0 +1,28 @@ + +hbf_header cns40-b5.hbf +mag_x 1 +threshold 128 +comment CNS song 40x40 pixel font (Bg5 encoded) scaled and adapted to 12pt + +design_size 12.0 + +x_offset 2 +y_offset -8 + +nmb_files -1 + +output_name csso12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme Big 5 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/cns/csso12/ +tfm_directory $HBF_TARGET/tfm/cns/csso12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg new file mode 100644 index 00000000000..4b397aca464 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/gsfs14.cfg @@ -0,0 +1,27 @@ + +hbf_header jfs56.hbf +mag_x 1 +threshold 128 +comment jianti fansongti 56x56 pixel font scaled and adapted to 14.4pt + +design_size 14.4 + +y_offset -13 + +nmb_files -1 + +output_name gsfs14 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme GuoBiao encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/ccdos/gsfs14/ +tfm_directory $HBF_TARGET/tfm/ccdos/gsfs14/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg new file mode 100644 index 00000000000..7e0d70b5c0f --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/j2so12.cfg @@ -0,0 +1,30 @@ + +hbf_header jisksp40.hbf +mag_x 1.0 +threshold 128 +comment supplemental kanji normal 40x40 pixel font scaled and adapted to 12pt + +design_size 12 + +min_char 0x2121 + +x_offset 2 +y_offset -7 + +nmb_files -1 + +output_name j2so12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme JIS2 encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/jisx0212/j2so12/ +tfm_directory $HBF_TARGET/tfm/jisx0212/j2so12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg new file mode 100644 index 00000000000..9bdfc7b1e8a --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/jsso12.cfg @@ -0,0 +1,28 @@ + +hbf_header kanji48.hbf +mag_x 0.83 +threshold 128 +comment kanji normal 48x48 pixel font scaled and adapted to 12pt + +design_size 12 + +x_offset 2 +y_offset -7 + +nmb_files -1 + +output_name jsso12 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme JIS encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/jisx0208/jsso12/ +tfm_directory $HBF_TARGET/tfm/jisx0208/jsso12/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg new file mode 100644 index 00000000000..c82f7e7eee4 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/cfg/ksso17.cfg @@ -0,0 +1,27 @@ + +hbf_header hanja65.hbf +mag_x 1 +threshold 128 +comment hanja normal 65x65 pixel font scaled and adapted to 17.28pt + +design_size 17.28 + +y_offset -16 + +nmb_files -1 + +output_name ksso17 + +checksum 123456789 + +dpi_x 300 + +pk_files no +tfm_files yes + + long_extension no + +coding codingscheme KS encoded TeX text + +pk_directory $HBF_TARGET/pk/modeless/ksc5601/ksso17/ +tfm_directory $HBF_TARGET/tfm/ksc5601/ksso17/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess new file mode 100644 index 00000000000..c7607c74f1b --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.guess @@ -0,0 +1,1526 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. + +timestamp='2008-04-14' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner <per@bothner.com>. +# Please send patches to <config-patches@gnu.org>. Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to <config-patches@gnu.org>." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include <stdio.h> /* 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 <sys/systemcfg.h> + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[456]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include <stdlib.h> + #include <unistd.h> + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include <unistd.h> + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include <features.h> + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` + echo ${UNAME_MACHINE}-pc-isc$UNAME_REL + elif /bin/uname -X 2>/dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says <Richard.M.Bartel@ccMail.Census.GOV> + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes <hewes@openmarket.com>. + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c <<EOF +#ifdef _SEQUENT_ +# include <sys/types.h> +# include <sys/utsname.h> +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include <sys/param.h> + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include <sys/param.h> +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 <<EOF +$0: unable to guess system type + +This script, last modified $timestamp, has failed to recognize +the operating system you are using. It is advised that you +download the most up to date version of the config scripts from + + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +and + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +If the version you run ($0) is already up to date, please +send the following data and any information you think might be +pertinent to <config-patches@gnu.org> in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub new file mode 100644 index 00000000000..63bfff03070 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/config.sub @@ -0,0 +1,1669 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. + +timestamp='2008-04-14' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to <config-patches@gnu.org>. Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to <config-patches@gnu.org>." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure new file mode 100644 index 00000000000..8135890028e --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure @@ -0,0 +1,5741 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.62. +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +exec 7<&0 </dev/null 6>&1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="hbf.h" +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#ifdef STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# ifdef HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_INTTYPES_H +# include <inttypes.h> +#endif +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +target +target_cpu +target_vendor +target_os +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +CPP +GREP +EGREP +XX_CFLAGS +no_strdup +RM +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +LIBOBJS +LTLIBOBJS' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +with_kpathsea_include +with_kpathsea_lib +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { $as_echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { $as_echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 + { (exit 1); exit 1; }; } ;; + *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { $as_echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-kpathsea-include=DIR + location of the kpathsea include dir + --with-kpathsea-lib=DIR + location of the kpathsea lib dir + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a + nonstandard directory <lib dir> + LIBS libraries to pass to the linker, e.g. -l<library> + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if + you have headers in a nonstandard directory <include dir> + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.62 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.62. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + ac_site_file1=$CONFIG_SITE +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test -r "$ac_site_file"; then + { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ $as_echo "$as_me:$LINENO: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if test "${ac_cv_build+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +$as_echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:$LINENO: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if test "${ac_cv_host+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +$as_echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:$LINENO: checking target system type" >&5 +$as_echo_n "checking target system type... " >&6; } +if test "${ac_cv_target+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 +$as_echo "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 +$as_echo "$as_me: error: invalid value of canonical target" >&2;} + { (exit 1); exit 1; }; };; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +if test -z "$ac_file"; then + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if test "${ac_cv_objext+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdarg.h> +#include <stdio.h> +#include <sys/types.h> +#include <sys/stat.h> +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:$LINENO: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + + +# Check whether --with-kpathsea-include was given. +if test "${with_kpathsea_include+set}" = set; then + withval=$with_kpathsea_include; + if test x$withval = xyes; then + { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-include=includedir" >&5 +$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-include=includedir" >&2;} + else + if test x$withval = xno; then + { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-include=includedir" >&5 +$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-include=includedir" >&2;} + else + kpathsea_include=$withval + fi + fi + +fi + + + + +# Check whether --with-kpathsea-lib was given. +if test "${with_kpathsea_lib+set}" = set; then + withval=$with_kpathsea_lib; + if test x$withval = xyes; then + { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-lib=libdir" >&5 +$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-lib=libdir" >&2;} + else + if test x$withval = xno; then + { $as_echo "$as_me:$LINENO: WARNING: Usage is: --with-kpathsea-lib=libdir" >&5 +$as_echo "$as_me: WARNING: Usage is: --with-kpathsea-lib=libdir" >&2;} + else + kpathsea_lib=$withval + fi + fi + +fi + + + +if test -n "$kpathsea_include" -o -n "$kpathsea_lib"; then + LIBS="$LIBS -L$kpathsea_lib" + CPPFLAGS="$CPPFLAGS -I$kpathsea_include -I$srcdir" + + +{ $as_echo "$as_me:$LINENO: checking for kpse_set_program_name in -lkpathsea" >&5 +$as_echo_n "checking for kpse_set_program_name in -lkpathsea... " >&6; } +if test "${ac_cv_lib_kpathsea_kpse_set_program_name+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lkpathsea $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char kpse_set_program_name (); +int +main () +{ +return kpse_set_program_name (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_kpathsea_kpse_set_program_name=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_kpathsea_kpse_set_program_name=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_kpathsea_kpse_set_program_name" >&5 +$as_echo "$ac_cv_lib_kpathsea_kpse_set_program_name" >&6; } +if test $ac_cv_lib_kpathsea_kpse_set_program_name = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBKPATHSEA 1 +_ACEOF + + LIBS="-lkpathsea $LIBS" + +else + cat >>confdefs.h <<\_ACEOF +#define OLD_KPATHSEA 1 +_ACEOF + +fi + + + +{ $as_echo "$as_me:$LINENO: checking for kpse_init_prog in -lkpathsea" >&5 +$as_echo_n "checking for kpse_init_prog in -lkpathsea... " >&6; } +if test "${ac_cv_lib_kpathsea_kpse_init_prog+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lkpathsea $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char kpse_init_prog (); +int +main () +{ +return kpse_init_prog (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_kpathsea_kpse_init_prog=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_kpathsea_kpse_init_prog=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_kpathsea_kpse_init_prog" >&5 +$as_echo "$ac_cv_lib_kpathsea_kpse_init_prog" >&6; } +if test $ac_cv_lib_kpathsea_kpse_init_prog = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBKPATHSEA 1 +_ACEOF + + LIBS="-lkpathsea $LIBS" + +else + + { { $as_echo "$as_me:$LINENO: error: Can't find kpathsea library! Use --with-kpathsea-lib option." >&5 +$as_echo "$as_me: error: Can't find kpathsea library! Use --with-kpathsea-lib option." >&2;} + { (exit 1); exit 1; }; } +fi + + + # On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +if test "${ac_cv_header_kpathsea_kpathsea_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for kpathsea/kpathsea.h" >&5 +$as_echo_n "checking for kpathsea/kpathsea.h... " >&6; } +if test "${ac_cv_header_kpathsea_kpathsea_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_kpathsea_h" >&5 +$as_echo "$ac_cv_header_kpathsea_kpathsea_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking kpathsea/kpathsea.h usability" >&5 +$as_echo_n "checking kpathsea/kpathsea.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <kpathsea/kpathsea.h> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking kpathsea/kpathsea.h presence" >&5 +$as_echo_n "checking kpathsea/kpathsea.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <kpathsea/kpathsea.h> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/kpathsea.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: kpathsea/kpathsea.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for kpathsea/kpathsea.h" >&5 +$as_echo_n "checking for kpathsea/kpathsea.h... " >&6; } +if test "${ac_cv_header_kpathsea_kpathsea_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_kpathsea_kpathsea_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_kpathsea_h" >&5 +$as_echo "$ac_cv_header_kpathsea_kpathsea_h" >&6; } + +fi +if test $ac_cv_header_kpathsea_kpathsea_h = yes; then + : +else + cat >>confdefs.h <<\_ACEOF +#define VERY_OLD_KPATHSEA 1 +_ACEOF + +fi + + + + if test "${ac_cv_header_kpathsea_c_auto_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for kpathsea/c-auto.h" >&5 +$as_echo_n "checking for kpathsea/c-auto.h... " >&6; } +if test "${ac_cv_header_kpathsea_c_auto_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_c_auto_h" >&5 +$as_echo "$ac_cv_header_kpathsea_c_auto_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking kpathsea/c-auto.h usability" >&5 +$as_echo_n "checking kpathsea/c-auto.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <kpathsea/c-auto.h> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking kpathsea/c-auto.h presence" >&5 +$as_echo_n "checking kpathsea/c-auto.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <kpathsea/c-auto.h> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: kpathsea/c-auto.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: kpathsea/c-auto.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: kpathsea/c-auto.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: kpathsea/c-auto.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: kpathsea/c-auto.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: kpathsea/c-auto.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: kpathsea/c-auto.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: kpathsea/c-auto.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: kpathsea/c-auto.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for kpathsea/c-auto.h" >&5 +$as_echo_n "checking for kpathsea/c-auto.h... " >&6; } +if test "${ac_cv_header_kpathsea_c_auto_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_kpathsea_c_auto_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_kpathsea_c_auto_h" >&5 +$as_echo "$ac_cv_header_kpathsea_c_auto_h" >&6; } + +fi +if test $ac_cv_header_kpathsea_c_auto_h = yes; then + : +else + + { { $as_echo "$as_me:$LINENO: error: Can't find kpathsea include files! Use --with-kpathsea-include option." >&5 +$as_echo "$as_me: error: Can't find kpathsea include files! Use --with-kpathsea-include option." >&2;} + { (exit 1); exit 1; }; } +fi + + +else + CPPFLAGS="$CPPFLAGS -I$srcdir" +fi + + +if test "x$CC" = xgcc; then + XX_CFLAGS="-Wall" +else + case "$host" in + alpha-dec-osf*) + XX_CFLAGS="-std1 -O2 -g3" + ;; + *) + XX_CFLAGS= + ;; + esac +fi + + + +{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if test "${ac_cv_c_const+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset cs; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_const=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_const=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const /**/ +_ACEOF + +fi + +{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 +$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } +if test "${ac_cv_struct_tm+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <sys/types.h> +#include <time.h> + +int +main () +{ +struct tm tm; + int *p = &tm.tm_sec; + return !p; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_struct_tm=time.h +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_struct_tm=sys/time.h +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 +$as_echo "$ac_cv_struct_tm" >&6; } +if test $ac_cv_struct_tm = sys/time.h; then + +cat >>confdefs.h <<\_ACEOF +#define TM_IN_SYS_TIME 1 +_ACEOF + +fi + + + + +for ac_func in vprintf +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +{ $as_echo "$as_me:$LINENO: checking for _doprnt" >&5 +$as_echo_n "checking for _doprnt... " >&6; } +if test "${ac_cv_func__doprnt+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define _doprnt innocuous__doprnt + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char _doprnt (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef _doprnt + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char _doprnt (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub__doprnt || defined __stub____doprnt +choke me +#endif + +int +main () +{ +return _doprnt (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func__doprnt=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func__doprnt=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 +$as_echo "$ac_cv_func__doprnt" >&6; } +if test $ac_cv_func__doprnt = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DOPRNT 1 +_ACEOF + +fi + +fi +done + + + + + + +for ac_func in strdup strstr strtol strtoul +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test `eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +if test "x$ac_cv_func_strdup" = xno; then + no_strdup=-DNO_STRDUP +fi + + +# Extract the first word of "rm", so it can be a program name with args. +set dummy rm; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_RM+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$RM"; then + ac_cv_prog_RM="$RM" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RM="rm" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RM=$ac_cv_prog_RM +if test -n "$RM"; then + { $as_echo "$as_me:$LINENO: result: $RM" >&5 +$as_echo "$RM" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + +done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + +if test -z "$kpathsea_include" -a -z "$kpathsea_lib"; then + { $as_echo "$as_me:$LINENO: WARNING: + + hbf2gf will be compiled without file search library support! + For kpathsea support use the --with-kpathsea-lib and + --with-kpathsea-include options. + " >&5 +$as_echo "$as_me: WARNING: + + hbf2gf will be compiled without file search library support! + For kpathsea support use the --with-kpathsea-lib and + --with-kpathsea-include options. + " >&2;} +fi + +ac_config_files="$ac_config_files Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` + + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${CONFIG_STATUS=./config.status} +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.62. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + +Configuration files: +$config_files + +Report bugs to <bug-autoconf@gnu.org>." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.62, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2008 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { $as_echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + $as_echo "$as_me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr='
' +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then + break + elif $ac_last_try; then + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\).*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\).*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 +$as_echo "$as_me: error: could not setup config files machinery" >&2;} + { (exit 1); exit 1; }; } +_ACEOF + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + + +eval set X " :F $CONFIG_FILES " +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + ac_file_inputs="$ac_file_inputs '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; + + + + esac + +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac new file mode 100644 index 00000000000..69f791a7d41 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/configure.ac @@ -0,0 +1,131 @@ +dnl This file is part of the CJK package ver. 4.8.0 + +dnl Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> + +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. + +dnl You should have received a copy of the GNU General Public License +dnl along with this program in doc/COPYING; if not, write to the Free +dnl Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +dnl MA 02110-1301 USA + +dnl Process this file with autoconf to produce a configure script. +AC_INIT +AC_CONFIG_SRCDIR([hbf.h]) + + +dnl check host +AC_CANONICAL_TARGET([]) + + +dnl Checks for programs. +AC_PROG_CC + + +dnl Checks for header files. +AC_HEADER_STDC + +AC_ARG_WITH(kpathsea-include, + [ --with-kpathsea-include=DIR + location of the kpathsea include dir],[ + if test x$withval = xyes; then + AC_MSG_WARN(Usage is: --with-kpathsea-include=includedir) + else + if test x$withval = xno; then + AC_MSG_WARN(Usage is: --with-kpathsea-include=includedir) + else + kpathsea_include=$withval + fi + fi +]) + + +dnl Checks for libraries. +AC_ARG_WITH(kpathsea-lib, + [ --with-kpathsea-lib=DIR + location of the kpathsea lib dir],[ + if test x$withval = xyes; then + AC_MSG_WARN(Usage is: --with-kpathsea-lib=libdir) + else + if test x$withval = xno; then + AC_MSG_WARN(Usage is: --with-kpathsea-lib=libdir) + else + kpathsea_lib=$withval + fi + fi +]) + + +if test -n "$kpathsea_include" -o -n "$kpathsea_lib"; then + LIBS="$LIBS -L$kpathsea_lib" + CPPFLAGS="$CPPFLAGS -I$kpathsea_include -I$srcdir" + + dnl the function kpse_set_program_name() is available since kpathsea 3.2 + AC_CHECK_LIB(kpathsea, kpse_set_program_name, , AC_DEFINE(OLD_KPATHSEA)) + + AC_CHECK_LIB(kpathsea, kpse_init_prog, ,[ + AC_MSG_ERROR([Can't find kpathsea library! Use --with-kpathsea-lib option.])]) + + dnl the header file kpathsea.h doesn't exist in kpathsea 2.6 and before + AC_CHECK_HEADER(kpathsea/kpathsea.h, , AC_DEFINE(VERY_OLD_KPATHSEA)) + + AC_CHECK_HEADER(kpathsea/c-auto.h, ,[ + AC_MSG_ERROR([Can't find kpathsea include files! Use --with-kpathsea-include option.])]) +else + CPPFLAGS="$CPPFLAGS -I$srcdir" +fi + + +dnl Get compiler flags right. +if test "x$CC" = xgcc; then + XX_CFLAGS="-Wall" +else + case "$host" in + alpha-dec-osf*) + XX_CFLAGS="-std1 -O2 -g3" + ;; + *) + XX_CFLAGS= + ;; + esac +fi +AC_SUBST(XX_CFLAGS) + + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_STRUCT_TM + + +dnl Checks for library functions. +AC_FUNC_VPRINTF +AC_CHECK_FUNCS(strdup strstr strtol strtoul) + +dnl we need this for hbf.c +if test "x$ac_cv_func_strdup" = xno; then + no_strdup=-DNO_STRDUP +fi +AC_SUBST(no_strdup) + +AC_CHECK_PROG(RM, rm, rm) +AC_PROG_INSTALL + +if test -z "$kpathsea_include" -a -z "$kpathsea_lib"; then + AC_MSG_WARN([ + + hbf2gf will be compiled without file search library support! + For kpathsea support use the --with-kpathsea-lib and + --with-kpathsea-include options. + ]) +fi + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/dvidrv.btm b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/dvidrv.btm new file mode 100644 index 00000000000..daeba96f01c --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/dvidrv.btm @@ -0,0 +1,352 @@ +setdos /y1 +:: +:: Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +:: +:: 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 <wl@gnu.org> 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/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c new file mode 100644 index 00000000000..4e759c83eb2 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.c @@ -0,0 +1,109 @@ +/* emdir.c -- Written by Eberhard Mattes, donated to the public domain */ + +#include "emdir.h" + +#ifdef OS2 + +#undef HPS +#define INCL_DOSFILEMGR +#include <os2.h> +#include <string.h> + +#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 <dos.h> +#include <dir.h> + +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 <dos.h> + +int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer) +{ + return _dos_findfirst (path, attr, (struct find_t *)buffer) == 0; +} + + +int ll_findnext (struct ll_findbuffer *buffer) +{ + return _dos_findnext ((struct find_t *)buffer) == 0; +} + +#endif diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h new file mode 100644 index 00000000000..0606d476ab1 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emdir.h @@ -0,0 +1,25 @@ +/* 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 <dos.h> +#define ll_findbuffer find_t +#define attr attrib + +#else + +struct ll_findbuffer +{ + char reserved[21]; + unsigned char attr; + unsigned time; + unsigned date; + long size; + char name[257]; +}; + +#endif + +int ll_findfirst (const char *path, int attr, struct ll_findbuffer *buffer); +int ll_findnext (struct ll_findbuffer *buffer); diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c new file mode 100644 index 00000000000..9a35570adb3 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.c @@ -0,0 +1,405 @@ +/* emtexdir.c -- written by Eberhard Mattes, donated to the public domain */ + +#if defined (__EMX__) +#include <emx/syscalls.h> +#else +#include "emdir.h" +#endif +#if defined(DJGPP) || defined(GO32) +#include <unistd.h> +#endif +#include <stdlib.h> +#include <string.h> +#include <fcntl.h> +#include <io.h> +#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 <stdio.h> + +int main (int argc, char *argv[]) +{ + struct emtex_dir ed; + int i; + unsigned flags1, flags2; + char path[260]; + + if (argc != 6) + { + puts ("Usage: emtexdir <flags> <flags> <env> <dir> <fname>"); + return (1); + } + + flags1 = (unsigned)strtol (argv[1], NULL, 0); + flags2 = (unsigned)strtol (argv[2], NULL, 0); + + if (!emtex_dir_setup (&ed, argv[3], argv[4], flags1)) + { + fputs ("emtex_dir_setup failed\n", stderr); + return (2); + } + + printf ("Directories:\n"); + for (i = 0; i < ed.used; ++i) + printf (" %s\n", ed.list[i]); + + if (!emtex_dir_find (path, sizeof (path), &ed, argv[5], flags2)) + puts ("File not found"); + else + printf ("Path: %s\n", path); + return (0); +} + +#endif diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h new file mode 100644 index 00000000000..a9a986db05b --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/emtexdir.h @@ -0,0 +1,57 @@ +/* emtexdir.h -- written by Eberhard Mattes, donated to the public domain */ + +#if !defined (_EMTEXDIR_H) +#define _EMTEXDIR_H + +#if defined (__cplusplus) +extern "C" { +#endif + + +/* Flags for emtex_dir_setup */ + +#define EDS_ONESUBDIR 0x0001 +#define EDS_ALLSUBDIR 0x0002 +#define EDS_BANG 0x0004 + +/* Flags for emtex_dir_find */ + +#define EDF_CWD 0x0001 +#define EDF_FSLASH 0x0002 +#define EDF_TRACE 0x8000 + +/* Methods for emtex_dir_trunc */ + +#define EDT_5_PLUS_3 0 /* 5+3.3 */ +#define EDT_8 1 /* 8.3 */ + +/* Return values for emtex_dir_trunc */ + +#define EDT_UNCHANGED 0 /* Path name not changed */ +#define EDT_CHANGED 1 /* Path name truncated */ +#define EDT_TOOLONG 2 /* Path name too long */ +#define EDT_INVALID 3 /* Path name invalid */ + +struct emtex_dir +{ + char **list; + int used; + int alloc; +}; + +extern void (*emtex_dir_find_callback)(const char *name, int ok); + +int emtex_dir_setup (struct emtex_dir *ed, const char *env, const char *dir, + unsigned flags); + +int emtex_dir_find (char *path, size_t path_size, const struct emtex_dir *ed, + const char *fname, unsigned flags); + +int emtex_dir_trunc (char *dst, size_t dst_size, const char *src, + unsigned flags, int method); + +#if defined (__cplusplus) +} +#endif + +#endif /* !defined (_EMTEXDIR_H) */ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c new file mode 100644 index 00000000000..b55f7e8a401 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.c @@ -0,0 +1,1589 @@ +/* + * 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 <ross@soi.city.ac.uk> + * 17 October 1995 + * + * The following people have supplied bug fixes: + * + * Simon Chow <khsc@synoptics.com> + * Fung Fung Lee <lee@simd.stanford.edu> + * Man-Chi Pong <mcpong@cs.ust.hk> + * Steven Simpson <simpson@math.psu.edu> + * Charles Wang <charles.wang@infores.com> + * Werner Lemberg <wl@gnu.org> + * + * Ross no longer maintains this code. Please send bug reports to + * Werner Lemberg <wl@gnu.org>. + * + */ + +/* + * 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 <stddef.h> +#include <stdlib.h> +#include <stdio.h> +#include <ctype.h> +#include <string.h> +#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 <stdarg.h> + +static void +eprintf(const char *fmt, ...) +{ + if (hbfDebug) { + va_list args; + + (void)fprintf(stderr, "HBF: "); + va_start(args, fmt); + (void)vfprintf(stderr, fmt, args); + va_end(args); + (void)fprintf(stderr, "\n"); + } +} +#else /* ! __STDC__ */ +/* poor man's variable-length argument list */ +static void +eprintf(fmt, x1, x2, x3, x4, x5, x6, x7, x8, x9) + const char *fmt; + int x1, x2, x3, x4, x5, x6, x7, x8, x9; +{ + if (hbfDebug) { + (void)fprintf(stderr, "HBF: "); + (void)fprintf(stderr, fmt, x1, x2, x3, x4, x5, x6, x7, x8, x9); + (void)fprintf(stderr, "\n"); + } +} +#endif /* __STDC__ */ + +static void +clear_bbox(bbox) + HBF_BBOX *bbox; +{ + bbox->hbf_width = bbox->hbf_height = 0; + bbox->hbf_xDisplacement = bbox->hbf_yDisplacement = 0; +} + +static void +clear_record(hbf) + HBF_STRUCT *hbf; +{ + clear_bbox(&(hbf->public.hbf_bitmap_bbox)); + clear_bbox(&(hbf->public.hbf_font_bbox)); + hbf->property = NULL; + hbf->filename = NULL; + hbf->bitmap_buffer = NULL; + hbf->byte_2_range = NULL; + hbf->code_range = NULL; + hbf->bm_file = NULL; +} + +/* + * Byte-2 ranges + */ + +static void +add_b2r(last_b2r, start, finish) +reg B2_RANGE **last_b2r; + int start; + int finish; +{ +reg B2_RANGE *b2r; + + b2r = NEW(B2_RANGE); + while (*last_b2r != NULL && (*last_b2r)->b2r_start < start) + last_b2r = &((*last_b2r)->b2r_next); + b2r->b2r_next = *last_b2r; + b2r->b2r_start = start; + b2r->b2r_finish = finish; + *last_b2r = b2r; +} + +static CHAR_INDEX +b2_pos(hbf, code) + HBF_STRUCT *hbf; + HBF_CHAR code; +{ +reg B2_RANGE *b2r; +reg unsigned c; +reg CHAR_INDEX pos; + + c = SecondByte(code); + pos = 0; + for (b2r = hbf->byte_2_range; b2r != NULL; b2r = b2r->b2r_next) + if (b2r->b2r_start <= c && c <= b2r->b2r_finish) + return pos + c - b2r->b2r_start; + else + pos += b2r->b2r_finish - b2r->b2r_start + 1; + return BAD_CHAR_INDEX; +} + +static int +b2_size(b2r) +reg B2_RANGE *b2r; +{ +reg int size; + + size = 0; + for ( ; b2r != NULL; b2r = b2r->b2r_next) + size += b2r->b2r_finish - b2r->b2r_start + 1; + return size; +} + +/* map a position to a character code */ +static long +code_of(hbf, pos) + HBF_STRUCT *hbf; + long pos; +{ + long code; + int residue; +reg B2_RANGE *b2r; + + code = pos / hbf->b2_size * 256; + residue = pos % hbf->b2_size; + for (b2r = hbf->byte_2_range; b2r != NULL; b2r = b2r->b2r_next) + if (b2r->b2r_start + residue <= b2r->b2r_finish) + return code + b2r->b2r_start + residue; + else + residue -= b2r->b2r_finish - b2r->b2r_start + 1; + /* should never get here */ + return 0L; +} + +/* + * String stuff + */ + +static bool +match(lp, sp) +reg const char *lp; +reg const char *sp; +{ + while (*lp == *sp && *sp != '\0') { + lp++; + sp++; + } + return (*lp == '\0' || isspace(*lp)) && *sp == '\0'; +} + +#ifdef NO_STRDUP +char * +strdup(s) + const char *s; +{ + char *new_s; + + new_s = malloc((unsigned)strlen(s) + 1); + strcpy(new_s, s); + return new_s; +} +#endif + +/* + * Properties + */ + +static void +add_property(hbf, lp) +reg HBF_STRUCT *hbf; +reg const char *lp; +{ +reg PROPERTY *prop; + char tmp[MAXLINE]; +reg char *tp; + + prop = NEW(PROPERTY); + + tp = tmp; + while (*lp != '\0' && ! isspace(*lp)) + *tp++ = *lp++; + *tp = '\0'; + prop->prop_name = strdup(tmp); + + while (*lp != '\0' && isspace(*lp)) + lp++; + + tp = tmp; + if (*lp == QUOTE) { + lp++; + while (*lp != '\0' && ! (*lp == QUOTE && *++lp != QUOTE)) + *tp++ = *lp++; + } + else + for (;;) { + while (*lp != '\0' && ! isspace(*lp)) + *tp++ = *lp++; + while (*lp != '\0' && isspace(*lp)) + lp++; + if (*lp == '\0') + break; + *tp++ = ' '; + } + *tp = '\0'; + prop->prop_value = strdup(tmp); + + prop->prop_next = hbf->property; + hbf->property = prop; +} + +const char * +hbfProperty(hbfFile, propName) + HBF *hbfFile; + const char *propName; +{ +reg HBF_STRUCT *hbf; +reg PROPERTY *prop; + + hbf = (HBF_STRUCT *)hbfFile; + for (prop = hbf->property; prop != NULL; prop = prop->prop_next) + if (strcmp(prop->prop_name, propName) == 0) + return prop->prop_value; + return NULL; +} + +/* + * Compatability routines + */ + +const char * +HBF_GetProperty(handle, propertyName) + HBF *handle; + const char *propertyName; +{ + return hbfProperty(handle, propertyName); +} + +int +HBF_GetFontBoundingBox(handle, width, height, xDisplacement, yDisplacement) + HBF_Handle handle; + unsigned int *width; + unsigned int *height; + int *xDisplacement; + int *yDisplacement; +{ + if (width != NULL) + *width = hbfFontBBox(handle)->hbf_width; + if (height != NULL) + *height = hbfFontBBox(handle)->hbf_height; + if (xDisplacement != NULL) + *xDisplacement = hbfFontBBox(handle)->hbf_xDisplacement; + if (yDisplacement != NULL) + *yDisplacement = hbfFontBBox(handle)->hbf_yDisplacement; + return 0; +} + +int +HBF_GetBitmapBoundingBox(handle, width, height, xDisplacement, yDisplacement) + HBF_Handle handle; + unsigned int *width; + unsigned int *height; + int *xDisplacement; + int *yDisplacement; +{ + if (width != NULL) + *width = hbfBitmapBBox(handle)->hbf_width; + if (height != NULL) + *height = hbfBitmapBBox(handle)->hbf_height; + if (xDisplacement != NULL) + *xDisplacement = hbfBitmapBBox(handle)->hbf_xDisplacement; + if (yDisplacement != NULL) + *yDisplacement = hbfBitmapBBox(handle)->hbf_yDisplacement; + return 0; +} + +/* + * Prepend a directory to a relative filename. + */ +static char * +concat(dir, dirlen, stem) + const char *dir; /* not necessarily null-terminated */ + int dirlen; /* number of significant chars in dir */ + const char *stem; /* relative filename */ +{ + char *fullname; + + if (dirlen == 0) /* null: current directory */ + return strdup(stem); +#ifdef unix + fullname = malloc(dirlen + strlen(stem) + 2); + (void)sprintf(fullname, "%.*s/%s", dirlen, dir, stem); +#else +#ifdef msdos + fullname = malloc(dirlen + strlen(stem) + 2); + (void)sprintf(fullname, "%.*s\\%s", dirlen, dir, stem); +#else +#ifdef vms + if (dir[dirlen-1] == ']' && stem[0] == '[' && stem[1] == '-') { + dirlen--; + stem++; + fullname = malloc(dirlen + strlen(stem) + 2); + (void)sprintf(fullname, "%.*s.%s", dirlen, dir, stem); + } + else { + if (dir[dirlen-1] == ']' && stem[0] == '[' && stem[1] == '.') { + dirlen--; + stem++; + } + fullname = malloc(dirlen + strlen(stem) + 1); + (void)sprintf(fullname, "%.*s%s", dirlen, dir, stem); + } +#else + fullname = strdup(stem); +#endif /* vms */ +#endif /* msdos */ +#endif /* unix */ + return fullname; +} + +/* + * Bitmap files + * + * If the host operating system has a heirarchical file system and + * the bitmap file name is relative, it is relative to the directory + * containing the HBF file. + */ +static char * +expand_filename(name, hbf_name) + const char *name; + const char *hbf_name; +{ +#ifdef unix +reg char *s; +reg int size; + + size = name[0] != '/' && (s = strrchr(hbf_name, '/')) != NULL ? + s - hbf_name + 1 : 0; + s = malloc((unsigned)size + strlen(name) + 1); + (void)sprintf(s, "%.*s%s", size, hbf_name, name); + return s; +#else +#ifdef msdos +reg char *s; +reg int size; + +#ifdef __EMX__ + s = (unsigned char *)hbf_name + strlen((unsigned char *)hbf_name) - 1; + for(;;) { + if (*s == '\\' || *s == '/') + break; + if (s == hbf_name) { + s = NULL; + break; + } + s--; + } + + size = HasDrive(name) ? 0 : + (name[0] == '\\' || name[0] == '/') ? + (HasDrive(hbf_name) ? 2 : 0) : + s != NULL ? s - hbf_name + 1 : 0; +#else + size = HasDrive(name) ? 0 : + name[0] == '\\' ? (HasDrive(hbf_name) ? 2 : 0) : + (s = strrchr(hbf_name, '\\')) != NULL ? + s - hbf_name + 1 : 0; +#endif /* __EMX__ */ + s = malloc((unsigned)size + strlen(name) + 1); + (void)sprintf(s, "%.*s%s", size, hbf_name, name); + return s; +#else +#ifdef vms +reg char *s; +reg const char *copyto; +reg int size; + + if ((s = strchr(hbf_name, ']')) != NULL && RelativeFileName(name)) + return concat(hbf_name, (s - hbf_name) + 1, name); + + copyto = hbf_name; + if ((s = strstr(copyto, "::")) != NULL && strstr(name, "::") == NULL) + copyto = s+2; + if ((s = strchr(copyto, ':')) != NULL && strchr(name, ':') == NULL) + copyto = s+1; + size = copyto - hbf_name; + s = malloc((unsigned)size + strlen(name) + 1); + (void)sprintf(s, "%.*s%s", size, hbf_name, name); + return s; +#else + return strdup(name); +#endif /* vms */ +#endif /* msdos */ +#endif /* unix */ +} + +static BM_FILE * +find_file(hbf, filename) + HBF_STRUCT *hbf; + const char *filename; +{ + BM_FILE **fp; +reg BM_FILE *file; + FILE *f; + char *bmfname; +#ifdef IN_MEMORY +#ifdef unix + bool from_pipe; +#endif +#endif + + for (fp = &(hbf->bm_file); *fp != NULL; fp = &((*fp)->bmf_next)) { + bmfname = strrchr((*fp)->bmf_name, '/'); + bmfname = (bmfname) ? bmfname + 1 : (*fp)->bmf_name; + if (strcmp(bmfname, filename) == 0) + return *fp; + } + + file = NEW(BM_FILE); + if (file == NULL) { + eprintf("out of memory"); + return NULL; + } + file->bmf_name = expand_filename(filename, hbf->filename); + if (file->bmf_name == NULL) { + free((char *)file); + return NULL; + } + f = fopen(file->bmf_name, READ_BINARY); +#ifdef IN_MEMORY +#ifdef unix + from_pipe = FALSE; + if (f == NULL) { + char tmp[400]; + + sprintf(tmp, "%s.gz", file->bmf_name); + if ((f = fopen(tmp, "r")) != NULL) { + fclose(f); + sprintf(tmp, "gzcat %s.gz", file->bmf_name); + if ((f = popen(tmp, "r")) != NULL) + from_pipe = TRUE; + } + } +#endif /* unix */ +#endif /* IN_MEMORY */ + if (f == NULL) { + eprintf("can't open bitmap file '%s'", file->bmf_name); + free(file->bmf_name); + free((char *)file); + return NULL; + } +#ifdef IN_MEMORY + if (! read_bitmap_file(file, f)) { + free(file->bmf_name); + free((char *)file); + return NULL; + } +#ifdef unix + if (from_pipe) + pclose(f); + else + fclose(f); +#else /* ! unix */ + fclose(f); +#endif /* ! unix */ +#else /* ! IN_MEMORY */ + file->bmf_file = f; + fseek(f, 0L, 2); + file->bmf_size = ftell(f); +#endif /* ! IN_MEMORY */ + file->bmf_next = NULL; + *fp = file; + return file; +} + +#ifdef IN_MEMORY +#define GRAIN_SIZE 512 + +static bool +read_bitmap_file(bmf, f) + BM_FILE *bmf; + FILE *f; +{ + byte *contents, *cp; + long size; + int c; + + size = 0; + cp = contents = (byte *)malloc((unsigned)GRAIN_SIZE); + if (contents == NULL) { + eprintf("not enough space for bitmap file"); + return NULL; + } + while ((c = getc(f)) != EOF) { + if (size%GRAIN_SIZE == 0) { + contents = (byte *)realloc((char *)contents, + (unsigned)(size + GRAIN_SIZE)); + if (contents == NULL) { + eprintf("not enough space for bitmap file"); + return NULL; + } + cp = contents + size; + } + *cp++ = c; + size++; + } + bmf->bmf_size = size; + bmf->bmf_contents = (byte *)realloc((char *)contents, (unsigned)size); + return TRUE; +} +#endif /* IN_MEMORY */ + +/* + * Code ranges + */ + +/* check that a code range fits within its bitmap file */ +static bool +too_short(hbf, cp) + HBF_STRUCT *hbf; + CODE_RANGE *cp; +{ + int bm_size; + long offset, end_offset; + BM_FILE *bmf; + long start, finish; + + bm_size = FileBitmapSize(&(hbf->public), cp); + offset = cp->code_offset; + start = cp->code_start; + finish = cp->code_finish; + end_offset = offset + bm_size * + (hbf->b2_size*(long)FirstByte(finish) + + b2_pos(hbf, finish) - cp->code_pos + 1); + bmf = cp->code_bm_file; + if (end_offset <= bmf->bmf_size) + return FALSE; + /* bitmap file is too short: produce a specific error message */ + if (offset > bmf->bmf_size) + eprintf("bitmap file '%s' is shorter than offset 0x%04lx", + bmf->bmf_name, offset); + else if (offset + bm_size > bmf->bmf_size) + eprintf("bitmap file '%s' too short: no room for any bitmaps at offset 0x%04lx", + bmf->bmf_name, offset); + else + eprintf("bitmap file '%s' is too short - code range appears to be 0x%04lx-0x%04lx", + bmf->bmf_name, + start, + code_of(hbf, cp->code_pos + + (bmf->bmf_size - offset)/bm_size) - 1); + return TRUE; +} + +static const char * +skip_word(n, s) + int n; + const char *s; +{ + for ( ; n > 0; n--) { + while (*s != '\0' && ! isspace(*s)) + s++; + while (*s != '\0' && isspace(*s)) + s++; + } + return s; +} + +/* optional keywords at the end of a CODE_RANGE line */ +static void +parse_keywords(cp, s) + CODE_RANGE *cp; + const char *s; +{ + for (s = skip_word(4, s) ; *s != '\0'; s = skip_word(1, s)) { + switch (*s) { + case 's': case 'S': case 't': case 'T': + /* keyword "sideways" or "transposed" */ + cp->code_transposed = TRUE; + break; + case 'i': case 'I': + /* keyword "inverted" */ + cp->code_inverted = TRUE; + } + } +} + +static bool +add_code_range(hbf, line) + HBF_STRUCT *hbf; + const char *line; +{ + CODE_RANGE *cp; + CODE_RANGE **cpp; + long start, finish; + long offset; + char filename[MAXLINE]; + BM_FILE *bmf; + CHAR_INDEX b2pos; + + if (sscanf(line, "HBF_CODE_RANGE %li-%li %s %li", + &start, &finish, filename, &offset) != 4) { + eprintf("syntax error in HBF_CODE_RANGE"); + return FALSE; + } + /* code ranges are checked in real_open() */ + if ((bmf = find_file(hbf, filename)) == NULL) + return FALSE; + if ((cp = NEW(CODE_RANGE)) == NULL) { + eprintf("out of memory"); + return FALSE; + } + + cp->code_start = (CHAR)start; + cp->code_finish = (CHAR)finish; + cp->code_bm_file = bmf; + cp->code_offset = offset; + cp->code_transposed = cp->code_inverted = FALSE; + parse_keywords(cp, line); + /* insert it in order */ + for (cpp = &hbf->code_range; + *cpp != NULL && (*cpp)->code_finish < start; + cpp = &((*cpp)->code_next)) + ; + if (*cpp != NULL && (*cpp)->code_start <= finish) { + eprintf("code ranges overlap"); + return FALSE; + } + cp->code_next = *cpp; + *cpp = cp; + + /* set code_pos, and check range */ + if (start > finish) { + eprintf("illegal code range 0x%04lx-0x%04lx", start, finish); + return FALSE; + } + if ((b2pos = b2_pos(hbf, start)) == BAD_CHAR_INDEX) { + eprintf("illegal start code 0x%04lx", start); + return FALSE; + } + cp->code_pos = hbf->b2_size*(long)FirstByte(start) + b2pos; + if ((b2pos = b2_pos(hbf, finish)) == BAD_CHAR_INDEX) { + eprintf("illegal finish code 0x%04lx", finish); + return FALSE; + } + /* check that the bitmap file has enough bitmaps */ + return ! too_short(hbf, cp); +} + +/* + * Reading and parsing of an HBF file + */ + +/* get line, truncating to len, and trimming trailing spaces */ +static bool +get_line(buf, len, f) + char *buf; + int len; + FILE *f; +{ + int c; + char *bp; + + bp = buf; + for (;;) { + if ((c = getc(f)) == EOF) { + eprintf("unexpected end of file"); + return FALSE; + } + if (c == '\n' || c == '\r') { + /* trim trailing space */ + while (bp > buf && isspace(*(bp-1))) + bp--; + *bp = '\0'; + return TRUE; + } + if (len > 0) { + *bp++ = c; + len--; + } + } +} + +/* get next non-COMMENT line */ +static bool +get_text_line(buf, len, f) + char *buf; + int len; + FILE *f; +{ + while (get_line(buf, len, f)) + if (*buf != '\0' && ! match(buf, "COMMENT")) + return TRUE; + return FALSE; +} + +static bool +get_property(line, keyword, hbf) + const char *line; + const char *keyword; + HBF_STRUCT *hbf; +{ + if (! match(line, keyword)) { + eprintf("%s expected", keyword); + return FALSE; + } + add_property(hbf, line); + return TRUE; +} + +static bool +get_bbox(line, keyword, bbox) + const char *line; + const char *keyword; + HBF_BBOX *bbox; +{ + int w, h, xd, yd; + + if (! match(line, keyword) || + sscanf(line + strlen(keyword), "%i %i %i %i", + &w, &h, &xd, &yd) != 4) { + eprintf("%s expected", keyword); + return FALSE; + } + if (w <= 0 || h <= 0) { + eprintf("illegal %s dimensions %dx%d", keyword, w, h); + return FALSE; + } + bbox->hbf_width = w; + bbox->hbf_height = h; + bbox->hbf_xDisplacement = xd; + bbox->hbf_yDisplacement = yd; + return TRUE; +} + +/* + * HBFHeaderFile ::= + * 'HBF_START_FONT' version EOLN + * 'HBF_CODE_SCHEME' word ... EOLN + * 'FONT' fontName EOLN + * 'SIZE' ptsize xres yres EOLN + * 'HBF_BITMAP_BOUNDING_BOX' w h xd yd EOLN + * 'FONTBOUNDINGBOX' w h xd yd EOLN + * X11R5FontPropertySection + * 'CHARS' n EOLN + * HBFByte2RangeSection + * HBFCodeRangeSection + * 'HBF_END_FONT' EOLN . + * + * This implementation allows extra lines before HBF_END_FONT. + * Anything after HBF_END_FONT is ignored. + */ + +static bool +parse_file(f, hbf) + FILE *f; +reg HBF_STRUCT *hbf; +{ + char line[MAXLINE]; + int start, finish; + + if (! get_text_line(line, MAXLINE, f) || + ! get_property(line, "HBF_START_FONT", hbf)) + return FALSE; + + if (! get_text_line(line, MAXLINE, f) || + ! get_property(line, "HBF_CODE_SCHEME", hbf)) + return FALSE; + + if (! get_text_line(line, MAXLINE, f) || + ! get_property(line, "FONT", hbf)) + return FALSE; + + if (! get_text_line(line, MAXLINE, f) || + ! get_property(line, "SIZE", hbf)) + return FALSE; + + if (! get_text_line(line, MAXLINE, f) || + ! get_bbox(line, "HBF_BITMAP_BOUNDING_BOX", + &(hbf->public.hbf_bitmap_bbox))) + return FALSE; + + if (! get_text_line(line, MAXLINE, f) || + ! get_bbox(line, "FONTBOUNDINGBOX", &(hbf->public.hbf_font_bbox))) + return FALSE; + + if (! get_text_line(line, MAXLINE, f)) + return FALSE; + if (match(line, "STARTPROPERTIES")) { + for (;;) { + if (! get_text_line(line, MAXLINE, f)) + return FALSE; + if (match(line, "ENDPROPERTIES")) + break; + add_property(hbf, line); + } + if (! get_text_line(line, MAXLINE, f)) + return FALSE; + } + + if (match(line, "CHARS")) + if (! get_text_line(line, MAXLINE, f)) + return FALSE; + + if (match(line, "HBF_START_BYTE_2_RANGES")) { + for (;;) { + if (! get_text_line(line, MAXLINE, f)) + return FALSE; + if (match(line, "HBF_END_BYTE_2_RANGES")) + break; + if (sscanf(line, "HBF_BYTE_2_RANGE %i-%i", + &start, &finish) != 2) { + eprintf("HBF_BYTE_2_RANGE expected"); + return FALSE; + } + add_b2r(&(hbf->byte_2_range), start, finish); + } + if (! get_text_line(line, MAXLINE, f)) + return FALSE; + } + else + add_b2r(&(hbf->byte_2_range), 0, 0xff); + hbf->b2_size = b2_size(hbf->byte_2_range); + + if (! match(line, "HBF_START_CODE_RANGES")) { + eprintf("HBF_START_CODE_RANGES expected"); + return FALSE; + } + for (;;) { + if (! get_text_line(line, MAXLINE, f)) + return FALSE; + if (match(line, "HBF_END_CODE_RANGES")) + break; + if (! add_code_range(hbf, line)) + return FALSE; + } + + for (;;) { + if (! get_text_line(line, MAXLINE, f)) + return FALSE; + if (match(line, "HBF_END_FONT")) + break; + /* treat extra lines as properties (for private extensions) */ + add_property(hbf, line); + } + + return TRUE; +} + +static FILE * +path_open(path, filename, fullp) + const char *path; + const char *filename; + char **fullp; +{ + if (LocalFileName(filename) && path != NULL) { +#ifdef PATH_DELIMITER + int len; + char *fullname; + FILE *f; + const char *p_next; + + len = strlen(filename); + for (;;) { + p_next = strchr(path, PATH_DELIMITER); + if (p_next == NULL) + p_next = path + strlen(path); + fullname = concat(path, p_next - path, filename); + if ((f = fopen(fullname, "r")) != NULL) { + *fullp = fullname; + return f; + } + free(fullname); + if (*p_next == '\0') + break; + path = p_next + 1; + } +#endif + return NULL; + } + else { + *fullp = strdup(filename); + return fopen(*fullp, "r"); + } +} + +static bool +real_open(filename, hbf) + const char *filename; +reg HBF_STRUCT *hbf; +{ + FILE *f; + + f = path_open(getenv("HBFPATH"), filename, &(hbf->filename)); + if (f == NULL) { + eprintf("can't read file '%s'", filename); + return FALSE; + } + if (! parse_file(f, hbf)) { + fclose(f); + return FALSE; + } + fclose(f); + return TRUE; +} + +HBF * +hbfOpen(filename) + const char *filename; +{ +reg HBF_STRUCT *hbf; + + if ((hbf = NEW(HBF_STRUCT)) == NULL) { + eprintf("can't allocate HBF structure"); + return NULL; + } + clear_record(hbf); + if (real_open(filename, hbf)) + return &(hbf->public); + hbfClose(&(hbf->public)); + return NULL; +} + +int +HBF_OpenFont(filename, ptrHandleStorage) + const char *filename; + HBF **ptrHandleStorage; +{ + return (*ptrHandleStorage = hbfOpen(filename)) == NULL ? -1 : 0; +} + +/* + * Close files, free everything associated with the HBF. + */ + +int +HBF_CloseFont(hbfFile) + HBF *hbfFile; +{ +reg HBF_STRUCT *hbf; + PROPERTY *prop_ptr, *prop_next; + B2_RANGE *b2r_ptr, *b2r_next; + CODE_RANGE *code_ptr, *code_next; + BM_FILE *bmf_ptr, *bmf_next; + int status; + + status = 0; + hbf = (HBF_STRUCT *)hbfFile; + + if (hbf->filename != NULL) + free(hbf->filename); + if (hbf->bitmap_buffer != NULL) + free(hbf->bitmap_buffer); + + for (prop_ptr = hbf->property; + prop_ptr != NULL; + prop_ptr = prop_next) { + prop_next = prop_ptr->prop_next; + free(prop_ptr->prop_name); + free(prop_ptr->prop_value); + free((char *)prop_ptr); + } + + for (b2r_ptr = hbf->byte_2_range; + b2r_ptr != NULL; + b2r_ptr = b2r_next) { + b2r_next = b2r_ptr->b2r_next; + free((char *)b2r_ptr); + } + + for (code_ptr = hbf->code_range; + code_ptr != NULL; + code_ptr = code_next) { + code_next = code_ptr->code_next; + free((char *)code_ptr); + } + + for (bmf_ptr = hbf->bm_file; + bmf_ptr != NULL; + bmf_ptr = bmf_next) { + bmf_next = bmf_ptr->bmf_next; +#ifdef IN_MEMORY + free((char *)(bmf_ptr->bmf_contents)); +#else + if (bmf_ptr->bmf_file != NULL && + fclose(bmf_ptr->bmf_file) < 0) + status = -1; +#endif + free(bmf_ptr->bmf_name); + free((char *)bmf_ptr); + } + + free((char *)hbf); + + return status; +} + +void +hbfClose(hbfFile) + HBF *hbfFile; +{ + (void)HBF_CloseFont(hbfFile); +} + +/* + * Fetch a bitmap + */ + +const byte * +hbfGetBitmap(hbf, code) + HBF *hbf; + HBF_CHAR code; +{ + return get_bitmap((HBF_STRUCT *)hbf, code, (byte *)NULL); +} + +int +HBF_GetBitmap(hbf, code, buffer) + HBF *hbf; + HBF_CHAR code; + byte *buffer; +{ + return get_bitmap((HBF_STRUCT *)hbf, code, buffer) == NULL ? -1 : 0; +} + +/* + * Internal function to fetch a bitmap. + * If buffer is non-null, it must be used. + */ +static const byte * +get_bitmap(hbf, code, buffer) +reg HBF_STRUCT *hbf; + HBF_CHAR code; + byte *buffer; +{ + CHAR_INDEX pos, b2pos; +reg CODE_RANGE *cp; + BM_FILE *bmf; + int bm_size; + long offset; + + if ((b2pos = b2_pos(hbf, code)) == BAD_CHAR_INDEX) + return NULL; + pos = hbf->b2_size*FirstByte(code) + b2pos; + for (cp = hbf->code_range; cp != NULL; cp = cp->code_next) + if (cp->code_start <= code && code <= cp->code_finish) { + bmf = cp->code_bm_file; + bm_size = FileBitmapSize(&(hbf->public), cp); + offset = cp->code_offset + + (long)(pos - cp->code_pos) * bm_size; +#ifdef IN_MEMORY + if (buffer == NULL && + ! cp->code_transposed && ! cp->code_inverted) + return bmf->bmf_contents + offset; +#endif /* IN_MEMORY */ + if (buffer == NULL && + ((buffer = local_buffer(hbf)) == NULL)) + return NULL; +#ifdef IN_MEMORY + if (cp->code_transposed) + copy_transposed(&(hbf->public), + buffer, + bmf->bmf_contents + offset); + else + memcpy((char *)buffer, + (char *)(bmf->bmf_contents + offset), + bm_size); +#else /* ! IN_MEMORY */ + if (fseek(bmf->bmf_file, offset, 0) != 0) { + eprintf("seek error on code 0x%04x", code); + return NULL; + } + if (cp->code_transposed ? + ! get_transposed(&(hbf->public), bmf->bmf_file, + buffer) : + fread((char *)buffer, + bm_size, 1, bmf->bmf_file) != 1) { + eprintf("read error on code 0x%04x", code); + return NULL; + } +#endif /* IN_MEMORY */ + if (cp->code_inverted) + invert(buffer, HBF_BitmapSize(&(hbf->public))); + return buffer; + } + eprintf("code 0x%04x out of range", code); + return NULL; +} + +static byte * +local_buffer(hbf) + HBF_STRUCT *hbf; +{ + if (hbf->bitmap_buffer == NULL && + (hbf->bitmap_buffer = (byte *)malloc(HBF_BitmapSize(&(hbf->public)))) == NULL) { + eprintf("out of memory"); + return NULL; + } + return hbf->bitmap_buffer; +} + +static void +invert(buffer, length) + byte *buffer; + unsigned int length; +{ + for ( ; length > 0; length--) + *buffer++ ^= 0xff; +} + +#ifdef IN_MEMORY +static bool +copy_transposed(hbf, bitmap, source) + HBF *hbf; +reg byte *bitmap; +reg const byte *source; +{ +reg byte *pos; +reg byte *bm_end; + int x; + int width; +reg int row_size; +reg int c; +reg int imask, omask; + + width = hbfBitmapBBox(hbf)->hbf_width; + row_size = HBF_RowSize(hbf); + bm_end = bitmap + HBF_BitmapSize(hbf); + (void)memset((char *)bitmap, '\0', HBF_BitmapSize(hbf)); + for (x = 0; x < width; x++) { + pos = bitmap + x/8; + omask = Bit(x%8); + /* y = 0 */ + for (;;) { + c = *source++; + for (imask = Bit(0); imask != 0; imask >>= 1) { + /* + * At this point, + * + * imask == Bit(y%8) + * pos == bitmap + y*row_size + x/8 + * + * We examine bit y of row x of the input, + * setting bit x of row y of the output if + * required, by applying omask to *pos. + */ + if ((c & imask) != 0) + *pos |= omask; + /* if (++y > height) goto end_column */ + pos += row_size; + if (pos >= bm_end) + goto end_column; + } + } +end_column: + ; + } + return TRUE; +} +#else /* ! IN_MEMORY */ +static bool +get_transposed(hbf, f, bitmap) + HBF *hbf; + FILE *f; +reg byte *bitmap; +{ +reg byte *pos; +reg byte *bm_end; + int x; + int width; +reg int row_size; +reg int c; +reg int imask, omask; + + width = hbfBitmapBBox(hbf)->hbf_width; + row_size = HBF_RowSize(hbf); + bm_end = bitmap + HBF_BitmapSize(hbf); + (void)memset((char *)bitmap, '\0', HBF_BitmapSize(hbf)); + for (x = 0; x < width; x++) { + pos = bitmap + x/8; + omask = Bit(x%8); + /* y = 0 */ + for (;;) { + if ((c = getc(f)) == EOF) + return FALSE; + for (imask = Bit(0); imask != 0; imask >>= 1) { + /* + * At this point, + * + * imask == Bit(y%8) + * pos == bitmap + y*row_size + x/8 + * + * We examine bit y of row x of the input, + * setting bit x of row y of the output if + * required, by applying omask to *pos. + */ + if ((c & imask) != 0) + *pos |= omask; + /* if (++y > height) goto end_column */ + pos += row_size; + if (pos >= bm_end) + goto end_column; + } + } +end_column: + ; + } + return TRUE; +} +#endif /* ! IN_MEMORY */ + +/* + * Call function on each valid code in ascending order. + */ +void +hbfForEach(hbfFile, func) +reg HBF *hbfFile; +reg void (*func)_((HBF *sameHbfFile, HBF_CHAR code)); +{ + HBF_STRUCT *hbf; + CODE_RANGE *cp; +reg B2_RANGE *b2r; +reg unsigned byte1, byte2; +reg unsigned finish; + + hbf = (HBF_STRUCT *)hbfFile; + for (cp = hbf->code_range; cp != NULL; cp = cp->code_next) { + byte1 = FirstByte(cp->code_start); + byte2 = SecondByte(cp->code_start); + while (MakeCode(byte1, byte2) <= cp->code_finish) { + for (b2r = hbf->byte_2_range; + b2r != NULL; + b2r = b2r->b2r_next) { + if (byte2 < b2r->b2r_start) + byte2 = b2r->b2r_start; + finish = b2r->b2r_finish; + if (byte1 == FirstByte(cp->code_finish) && + finish > SecondByte(cp->code_finish)) + finish = SecondByte(cp->code_finish); + while (byte2 <= finish) { + (*func)(hbfFile, + MakeCode(byte1, byte2)); + byte2++; + } + } + byte1++; + byte2 = 0; + } + } +} + +const char * +hbfFileName(hbf) + HBF *hbf; +{ + return ((HBF_STRUCT *)hbf)->filename; +} + +long +hbfChars(hbfFile) + HBF *hbfFile; +{ + HBF_STRUCT *hbf; + CODE_RANGE *cp; + long num_chars; + + hbf = (HBF_STRUCT *)hbfFile; + num_chars = 0; + for (cp = hbf->code_range; cp != NULL; cp = cp->code_next) + num_chars += + hbf->b2_size*FirstByte(cp->code_finish) + + b2_pos(hbf, cp->code_finish) - + (hbf->b2_size*FirstByte(cp->code_start) + + b2_pos(hbf, cp->code_start)) + 1; + return num_chars; +} + +/* + * Functions also implemented as macros + */ + +#ifdef hbfBitmapBBox +#undef hbfBitmapBBox +#endif + +HBF_BBOX * +hbfBitmapBBox(hbf) + HBF *hbf; +{ + return &(hbf->hbf_bitmap_bbox); +} + +#ifdef hbfFontBBox +#undef hbfFontBBox +#endif + +HBF_BBOX * +hbfFontBBox(hbf) + HBF *hbf; +{ + return &(hbf->hbf_font_bbox); +} + +const void * +hbfGetByte2Range(hbfFile, b2r_pointer, startp, finishp) + HBF *hbfFile; + const void *b2r_pointer; + byte *startp; + byte *finishp; +{ + HBF_STRUCT *hbf; + B2_RANGE *b2r; + + hbf = (HBF_STRUCT *)hbfFile; + if (b2r_pointer == NULL) + b2r = hbf->byte_2_range; + else + b2r = ((B2_RANGE *)b2r_pointer)->b2r_next; + if(b2r == NULL) + return NULL; + *startp = b2r->b2r_start; + *finishp = b2r->b2r_finish; + return (void *)b2r; +} + +const void * +hbfGetCodeRange(hbfFile, code_pointer, startp, finishp) + HBF *hbfFile; + const void *code_pointer; + HBF_CHAR *startp; + HBF_CHAR *finishp; +{ + HBF_STRUCT *hbf; + CODE_RANGE *cp; + + hbf = (HBF_STRUCT *)hbfFile; + if (code_pointer == NULL) + cp = hbf->code_range; + else + cp = ((CODE_RANGE *)code_pointer)->code_next; + if(cp == NULL) + return NULL; + *startp = cp->code_start; + *finishp = cp->code_finish; + return (void *)cp; +} diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h new file mode 100644 index 00000000000..34f5940a71b --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf.h @@ -0,0 +1,215 @@ +/* + * 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@soi.city.ac.uk> + * + * Ross no longer maintains this code. Please send bug reports to + * Werner Lemberg <wl@gnu.org>. + * + */ +#ifndef _HBF_ +#define _HBF_ + +#ifndef __STDC__ +# ifndef const +# define const +# endif +#endif + +/* + * #1: a lightweight C interface. + */ + +typedef unsigned int HBF_CHAR; + +typedef struct { + unsigned short hbf_width; + unsigned short hbf_height; + short hbf_xDisplacement; + short hbf_yDisplacement; +} HBF_BBOX; + +typedef struct { + /* fields corresponding to the definition */ + HBF_BBOX hbf_bitmap_bbox; /* HBF_BITMAP_BOUNDING_BOX */ + HBF_BBOX hbf_font_bbox; /* FONTBOUNDINGBOX */ +} HBF; + +extern HBF *hbfOpen( +#ifdef __STDC__ + const char *filename +#endif + ); + +extern void hbfClose( +#ifdef __STDC__ + HBF *hbf +#endif + ); + +extern const char *hbfProperty( +#ifdef __STDC__ + HBF *hbf, + const char *propName +#endif + ); + +extern const unsigned char *hbfGetBitmap( +#ifdef __STDC__ + HBF *hbf, + HBF_CHAR code +#endif + ); + +extern void hbfForEach( +#ifdef __STDC__ + HBF *hbf, + void (*func)(HBF *sameHbf, HBF_CHAR code) +#endif + ); + +extern const char *hbfFileName( +#ifdef __STDC__ + HBF *hbf +#endif + ); + +extern long hbfChars( +#ifdef __STDC__ + HBF *hbf +#endif + ); + +extern HBF_BBOX *hbfBitmapBBox( +#ifdef __STDC__ + HBF *hbf +#endif + ); +/* but defined here as a macro */ +#define hbfBitmapBBox(hbf) (&((hbf)->hbf_bitmap_bbox)) + +extern HBF_BBOX *hbfFontBBox( +#ifdef __STDC__ + HBF *hbf +#endif + ); +/* but defined here as a macro */ +#define hbfFontBBox(hbf) (&((hbf)->hbf_font_bbox)) + +#define HBF_RowSize(hbf)\ + ((hbfBitmapBBox(hbf)->hbf_width + 7)/8) + +#define HBF_BitmapSize(hbf)\ + (HBF_RowSize(hbf) * hbfBitmapBBox(hbf)->hbf_height) + +#define HBF_GetBit(hbf,bitmap,x,y)\ + (((bitmap)[(y)*HBF_RowSize(hbf) + (x)/8]>>(7 - (x)%8))&01) + +extern int hbfDebug; /* set non-zero for error reporting */ + +extern const void *hbfGetCodeRange( +#ifdef __STDC__ + HBF *hbfFile, + const void *code_pointer, + HBF_CHAR *startp, + HBF_CHAR *finishp +#endif + ); + +extern const void *hbfGetByte2Range( +#ifdef __STDC__ + HBF *hbfFile, + const void *b2r_pointer, + unsigned char *startp, + unsigned char *finishp +#endif + ); + +/* + * #2: taken from Appendix 2 of the HBF draft. + */ + +typedef unsigned int HBF_HzCode; +typedef unsigned char HBF_Byte ; +typedef HBF_Byte * HBF_BytePtr ; +typedef HBF * HBF_Handle ; +typedef HBF_Handle * HBF_HandlePtr ; +typedef char * String ; + +extern int HBF_OpenFont( +#ifdef __STDC__ + const char * filename, + HBF_HandlePtr ptrHandleStorage +#endif +); + +extern int HBF_CloseFont( +#ifdef __STDC__ + HBF_Handle handle +#endif +); + +extern const char * HBF_GetProperty( +#ifdef __STDC__ + HBF_Handle handle, + const char * propertyName +#endif +); + +extern int HBF_GetFontBoundingBox( +#ifdef __STDC__ + HBF_Handle handle, + unsigned int *width, + unsigned int *height, + int *xDisplacement, + int *yDisplacement +#endif +); + +extern int HBF_GetBitmapBoundingBox( +#ifdef __STDC__ + HBF_Handle handle, + unsigned int *width, + unsigned int *height, + int *xDisplacement, + int *yDisplacement +#endif +); + +extern int HBF_GetBitmap( +#ifdef __STDC__ + HBF_Handle handle, + HBF_HzCode hanziCode, + HBF_BytePtr ptrBitmapBuffer +#endif +); + +#endif /* ! _HBF_ */ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1 b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1 new file mode 100644 index 00000000000..d3753164173 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.1 @@ -0,0 +1,754 @@ +.\" man page for hbf2gf +.\" +.\" Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +.\" +.\" 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 22-May-2008 "CJK Version 4.8.0" +.SH NAME +hbf2gf \- convert a CJK bitmap font into subfonts usable by TeX and Omega. +. +. +.SH SYNOPSIS +.na +.nh +.B hbf2gf +.RB [ \-q ] +.IR \%configuration-file [ .cfg ] +.br +.B hbf2gf +'in +\n(.ku +.RB [ \-q ] +.RB [ \-p ] +.RB [ \-g ] +.RB [ \-n ] +.I \%subfont-name \%x-resolution +.RI [ \%y-scale \ | \ \%y-resolution ] +.br +.in +.B hbf2gf +.B \-t +.RB [ \-q ] +.I \%subfont-name +.br +.B "hbf2gf \-\-version" +| +.B \-\-help +.ad +.hy +. +. +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\h'-0.1667m'\v'0.20v'E\v'-0.20v'\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a definition for \Delta +.if t .ds DE \(*D +.if n .ds DE Delta_ +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP\\$2 +.. +.\} +.if n \{\ +.de C +\\$1\\$2 +.. +.\} +. +.\" an addition to .TP to allow two labels for the same item +.de TQ +.br +.ns +.TP +.. +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH DESCRIPTION +CJK bitmap fonts can't be directly used with \*(TX +because the number of characters in such fonts exceeds\ 256, the limit of a +\*(TX +font. +Thus it is necessary to split these fonts into subfonts, and this is +exactly what +.B hbf2gf +does. +.PP +As the name says, +.B hbf2gf +uses CJK fonts in a certain format which is called +.B Hanzi Bitmap Font +.RB ( HBF ) +format. +It simply consists of the CJK bitmap file(s) and a text file in a format +very similar to the BDF format of the X\ Window System which describes the +bitmap font files: the encoding, the size, etc. +The produced +.C GF +files can then be converted with +.B gftopk +into standard +.C PK +files. +.PP +.B hbf2gf +can be called in three modes: +. +.PP +.in +2m +.B hbf2gf +.RB [ \-q ] +.IR configuration-file [ .cfg ] +.PP +.in +5m +This call normally creates a set of +.C GF +files, one +.C PL +file, and a batch file which must be executed after +.B hbf2gf +has finished. +This script will then call +.B gftopk +to convert all +.C GF +files into +.C PK +files, and it will call +.B pltotf +to convert the +.C PL +file into a +.C TFM +file. +Finally it will copy the +.C TFM +file so that each +.C PK +file has its +.C TFM +file (which are all identical). +.PP +.in +5m +If +.B ofm_file +is set to \(oqyes\(cq in the configuration file, +.C OFM +and +.C OVF +files will be created too. +. +.PP +.in +5m +.B \-q +makes +.B hbf2gf +quiet. +.PP +.in +2m +.na +.nh +.B hbf2gf +'in +\n(.ku +.RB [ \-q ] +.RB [ \-p ] +.RB [ \-g ] +.RB [ \-n ] +.I \%subfont-name \%x-resolution +.RI [ \%y-scale \ | \ \%y-resolution ] +.ad +.hy +.PP +.in +5m +This mode is intended for use with +.B \%mktexpk +and its derivates. +Only one +.C GF +file together with a +.C PL +file for the given subfont will be computed, taking the horizontal +resolution and a vertical scaling factor (if the value is smaller than\ 10) +resp. the vertical resolution (otherwise) from the command line, ignoring +the +.B nmb_fonts +parameter of the configuration file. +The last two characters (which are interpreted as the subfont number) are +stripped to get the name for the configuration file (which must end with +\(oq\c +.C \&.cfg \(cq). +No job file will be created. +If option +.B \-p +is set, no +.C PL +file is created. +If +.B \-g +is set, no +.C GF +file is created. +The extension can be controlled with +.BR \-n ; +if set, the extension is \(oq\c +.C \&.gf \(cq, +otherwise \(oq\c +.C \&. <\c +.IR resolution >\c +.C gf \(cq. +.B \-q +makes +.B hbf2gf +quiet. +. +.PP +.in +2m +.na +.nh +.B hbf2gf +'in +\n(.ku +.B \-t +.RB [ \-q ] +.I \%subfont-name +.ad +.hy +.PP +.in +5m +This mode is intended for use with scripts like +.BR \%mktexpk ; +it tests whether the specified subfont name leads to an +.B hbf2gf +configuration file. +It returns 0 on success and prints out the name of that configuration file +(provided the +.B \-q +switch isn't set). +This test isn't a thorough one; it only removes the last two characters +and checks whether a configuration file with that name exists. +.PP +See the next section for more details about configuration files. +.PP +Specifying the option +.B \-\-version +returns the current version of +.B hbf2gf +and the used file search library (e.g.\ \c +.BR kpathsea ). +Usage information is shown with the +.B \-\-help +parameter. +. +. +.SH "CONFIGURATION FILE" +Here a sample configuration file (\c +.C gsfs14.cfg ) +for a 56\(mu56 Chinese font in GB encoding; note that all information +about the font is in the +.C jfs56.hbf +file. +See the +.B "FILE SEARCHING" +section how HBF fonts and +.B hbf2gf +configuration files are found. +See the +.B AVAILABILITY +section where to get CJK fonts together with its +.C HBF +files: +.PP +.if t \fC +.nf + hbf_header jfs56.hbf + mag_x 1 + threshold 128 + comment jianti fansongti 56x56 pixel font + + design_size 14.4 + + y_offset \-13 + + nmb_files \-1 + + output_name gsfs14 + + checksum 123456789 + + dpi_x 300 + + pk_files no + tfm_files yes + + coding codingscheme GuoBiao encoded TeX text + + pk_directory $HBF_TARGET/pk/modeless/gb2312/gsfs14/ + tfm_directory $HBF_TARGET/tfm/gb2312/gsfs14/ +.fi +.if t \fP +.PP +A configuration file is a plain text file consisting of keywords and its +arguments. +A keyword must start a line, otherwise the whole line will be ignored. +If the word starting a line is not a keyword, the line will be ignored too. +Empty lines will also be skipped. +The search for keywords is case insensitive; in contrast, the arguments will +be taken exactly as given (except \(oqyes\(cq and \(oqno\(cq which can be written with +uppercase or lowercase letters). +Each keyword has one argument which must be separated by whitespace (blanks +or tabs) from the keyword and must be on the same line. +Each line must not be longer than 256 characters. +.PP +You can use environment variables in the configuration file. +The escape character starting an environment variable in the configuration +file is always \(oq\c +.C $ \(cq, +even for operating systems like DOS which has other conventions. +.B hbf2gf +recognizes only environment variable names which start with a letter or an +underscore, followed by alphanumeric characters or underscores. +You can surround the variable with braces to indicate where the variable +name ends, for example +.C ${FOO} . +To get a dollar sign you must write \(oq\c +.C $$ \(cq. +The expansion of environment variables in hbf2gf itself (without the help of +either kpathsea, emtexdir, or MiKTeX searching routines) is very limited; +this feature has been carried over from previous versions. +It can't expand variables set in texmf.cnf; it also can't handle more than +one directory as the variable's value. +.B Don't use it except for the \(oqpk_directory\(cq and \(oqtfm_directory\(cq +.B parameters! +.PP +This is the list of all necessary keywords: +.TP +.B hbf_header +The HBF header file name of the input font(s). +.B hbf2gf +uses the given searching mechanism (kpathsea, emtexdir, or MiKTeX) to locate +this file. +.TP +.B output_name +The name stem of the output files. +A running two digit decimal number starting with \(oq\c +.C 01 \(cq +will be appended. +For Unicode fonts see the keyword +.B unicode +below. +This value is in almost all cases identical to the name of the configuration +file. +.PP +And now all optional keywords: +.TP +.B x_offset +Increases the character width. +Will be applied on both sides; default for non-rotated glyphs is the value +given in the HBF header +.RB ( HBF_BITMAP_BOUNDING_BOX ) +scaled to +.B design_size +(in pixels). +.TP +.B y_offset +Shifts all characters up or down; default for non-rotated glyphs is the value +given in the HBF header +.RB ( HBF_BITMAP_BOUNDING_BOX ) +scaled to +.B design_size +(in pixels). +.TP +.B design_size +The design size (in points) of the font. +.B x_offset +and +.B y_offset +refer to this size. +Default is\ 10.0. +.TP +.B slant +The slant of the font (given as \*(DEx\ /\ \*(DEy). +Only values in the range 0\ \(<=\ \fBslant\fP\ \(<=\ 1 are allowed. +Default is\ 0.0. +.TP +.B rotation +If set to \(oqyes\(cq, all glyphs will be rotated 90\ degrees counter-clockwise. +The default offsets as given in the HBF header will be ignored (and set +to\ 0). +Default is \(oqno\(cq. +.TP +.B mag_x +.TQ +.B mag_y +Scaling values of the characters to reach design size. +If only one magnification is given, x and y values are assumed to be equal. +Default is \fBmag_x\fP\ =\ \fBmag_y\fP\ =\ 1.0. +.PP +.TP +.B threshold +A value between 1 and\ 254 defining a threshold for converting the internal +graymap into the output bitmap; lower values cut more pixels. +Default value is\ 128. +.PP +.TP +.B comment +A comment describing the font; default is none. +.PP +.TP +.B nmb_fonts +The number of subfonts to create. +Default value is \-1 for creating all fonts. +.TP +.B unicode +If \(oqyes\(cq, a two digit hexadecimal number will be used as a running number, +starting with the value of the first byte of the first code range. +Default is \(oqno\(cq. +.TP +.B min_char +The minimum value of the encoding. +You should set this value to get correct subfile offsets if it is not +identical to the lowest character code in the HBF file. +.PP +.TP +.B dpi_x +.TQ +.B dpi_y +The horizontal and vertical resolution (in dpi) of the printer. +If only one resolution is given, x and y values are assumed to be equal. +Default is\ 300. +.TP +.B checksum +A checksum to identify the +.C GF +files with the appropriate +.C TFM +files. +The default value of this unsigned 32bit integer is\ 0. +.TP +.B coding +A comment describing the coding scheme; default is none. +.PP +.TP +.B pk_directory +The destination directory of the +.C PK +files; default: none. +Attention! +The batch file will not check whether this directory exists. +.TP +.B tfm_directory +The destination directory of the +.C TFM +files; default: none. +Attention! +The batch file will not check whether this directory exists. +.TP +.B pk_files +Whether to create +.C PK +files or not; default is \(oqyes\(cq. +.TP +.B tfm_files +Whether to create +.C TFM +files or not; default is \(oqyes\(cq. +.TP +.B ofm_file +Whether to create an +.C OPL +file or not; default is \(oqno\(cq. +The batch file will then use +.B ovp2ovf +of the Omega distribution to convert it into an +.C OFM +and an +.C OVF +file. +The +.C OPL +file simply maps all subfonts back to a single Omega font. +.TP +.B long_extension +If \(oqyes\(cq, +.C PK +files will include the resolution in the extension (e.g. +.C gsso1201.300pk ). +This affects the batch file only (default is \(oqyes\(cq). +.TP +.B rm_command +The shell command to remove files; default: \(oqrm\(cq. +.TP +.B cp_command +The shell command to copy files; default: \(oqcp\(cq. +.TP +.B job_extension +The extension of the batch file which calls +.B gftopk +and +.B pltotf +to convert the +.C GF +and the +.C PL +files into +.C PK +and +.C TFM +files respectively; default is none. +. +. +.SH "FILE SEARCHING" +.B hbf2gf +uses either the +.BR kpathsea , +.BR emtexdir , +or +.B MiKTeX +library for searching files +.RB ( emtexdir +will work only on operating systems which have an MS-DOSish background, +i.e., MS-DOS, OS/2, Windows; +.B MiKTeX +is for Win32 systems). +. +.SS kpathsea +Please note that older versions of +.B kpathsea +(<3.2) have no special means to seach for program related files. +Additionally, versions older than 3.3 have no default path for miscellaneous +fonts, thus we use the paths for PostScript related stuff if necessary for +fonts resp. configuration files. +The actual version of kpathsea is displayed on screen if you call +.B hbf2gf +.BR \-\-version . +.PP +Here is a table of the file type and the corresponding +.B kpathsea +variables. +.PP +Version\ 3.3 and newer (this won't change again in the future!): +.PP +.in +4m +.ta 2i +.br +.C "\&.hbf MISCFONTS" +.br +.C "\&.cfg HBF2GFINPUTS" +.PP +Version\ 3.2: +.PP +.in +4m +.ta 2i +.br +.C "\&.hbf T1FONTS" +.br +.C "\&.cfg HBF2GFINPUTS" +.PP +And here the same for pre-3.2-versions of +.B kpathsea: +.PP +.in +4m +.ta 2i +.br +.C "\&.hbf T1FONTS" +.br +.C "\&.cfg TEXCONFIG" +.PP +Finally, the same for versions\ \(<=2.6: +.PP +.in +4m +.ta 2i +.br +.C "\&.hbf DVIPSHEADERS" +.br +.C "\&.cfg TEXCONFIG" +.PP +Please consult the info files of +.B kpathsea +for details on these variables. +The decision which naming scheme to use for variables will be done during +compilation. +.PP +You should set the +.C TEXMFCNF +variable to the directory where your +.C texmf.cnf +configuration file resides. +.PP +Here is the proper command to find out to which value a +.B kpathsea +variable is set (we use +.C MISCFONTS +as an example). +This is especially useful if a variable isn't set in +.C texmf.cnf +or in the environment, thus pointing to the default value which is +hard-coded into the +.B kpathsea +library. +.PP +.in +2m +.C "kpsewhich \-progname=hbf2gf \-expand\-var='$MISCFONTS'" +.PP +We select the program name also since it is possible to specify +variables which are searched only for a certain program \(en in our +example it would be +.C MISCFONTS.hbf2gf . +.PP +A similar but not identical method is to say +.PP +.in +2m +.C "kpsewhich \-progname=hbf2gf \-show\-path='misc fonts'" +.PP +[A full list of format types can be obtained by saying \(oq\c +.C "kpsewhich \-\-help" \(cq +on the command line prompt.] +This is exactly the how +.B hbf2gf +searches for files; the disadvantage is that all variables are expanded +which can cause very long strings. +. +.SS emtexdir +.PP +Here the list of suffixes and its related environment variables to be set in +.C autoexec.bat +(resp. in +.C config.sys +for OS/2): +.PP +.in +4m +.ta 2i +.br +.C "\&.hbf HBFONTS" +.br +.C "\&.cfg HBFCFG" +.PP +If one of the variables isn't set, a warning message is emitted. +The current directory will always be searched. +As usual, one exclamation mark appended to a directory path causes +subdirectories one level deep to be searched, two exclamation marks causes +all subdirectories to be searched. +Example: +.PP +.in +2m +.C HBFONTS=c:\\\\fonts\\\\hbf!!;d:\\\\myfonts\\\\hbf! +.PP +Constructions like \(oq\c +.C c:\\\\fonts!!\\\\hbf \(cq +aren't possible. +. +.SS MikTeX +.PP +Please consult the documentation files of +.B MiKTeX +for more details. +. +. +.SH LIMITATIONS +The x and y output size must not exceed +.BR MAX_CHAR_SIZE , +which is defined at compile time; its default value is 1023\ (pixel). +. +. +.SH "SEE ALSO" +.BR ttf2pk (1) +.PP +.C hbf2gf.w : +'in +\n(.ku +this is the source code written in +.B CWEB +which can be converted into a pretty-printed \*(TX +document using +.BR cweave . +The CJK package also contains a preformatted +.C hbf2gf.dvi +file. +.PP +the +.B CJK +documentation files (\c +.C hbf2gf.txt ). +.PP +the +.B Hanzi Bitmap File +.RB ( HBF ) +standard version\ 1.3; available at +.C ftp.ifcss.org +.PP +the Omega documentation available at +.C ftp.ens.fr +and the CTAN hosts and mirrors. +. +. +.SH FILES +.TP +.C *.cfg +The +.B hbf2gf +configuration scripts +.TP +.C *.hbf +HBF header files which describe fixed-width bitmap fonts. +Note that the bitmap font name(s) themselves as specified in the header files +are irrelevant for +.BR hbf2gf . +. +. +.SH AVAILABILITY +.B hbf2gf +is part of the CJK macro package for \*(LE +available at the CTAN hosts and its mirrors. +.PP +CJK fonts together with HBF header files can be found at +.C ftp.ifcss.org +and its mirrors. +. +. +.SH AUTHORS +Werner Lemberg +.C <wl@gnu.org> +.br +Ross Paterson (the HBF API) +.C <ross@soi.city.ac.uk> diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c new file mode 100644 index 00000000000..fd72d284ff3 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.c @@ -0,0 +1,2302 @@ +#define banner \ +"hbf2gf (CJK ver. 4.8.0)" \ + \ + +#define TRUE 1 +#define FALSE 0 \ + +#define STRING_LENGTH 255 \ + +#define FILE_NAME_LENGTH 1024 \ + \ + +#define VERSION \ +"\n" \ +"Copyright (C) 1996-1999 Werner Lemberg.\n" \ +"There is NO warranty. You may redistribute this software\n" \ +"under the terms of the GNU General Public License\n" \ +"and the HBF library copyright.\n" \ +"\n" \ +"For more information about these matters, see the files\n" \ +"named COPYING and hbf.c.\n" \ +"\n" \ + +#define USAGE \ +"\n" \ +"Usage: hbf2gf [-q] configuration_file[.cfg]\n" \ +" hbf2gf [options] font_name x_resolution [y_scale | y_resolution]\n" \ +" hbf2gf -t [-q] font_name\n" \ +"\n" \ +" Convert a font in HBF format to TeX's GF resp. PK format.\n" \ +"\n" \ +" -q be silent\n" \ +" -p don't produce a PL file\n" \ +" -g don't produce a GF file\n" \ +" -n use no resolution in extension (only `.gf')\n" \ +" -t test for font_name (returns 0 on success)\n" \ +" --help print this message and exit\n" \ +" --version print version number and exit\n" \ +"\n" \ + +#define GF_ID 131 +#define PRE 247 \ + +#define header " hbf2gf output " \ + +#define BOC 67 +#define BOC1 68 +#define EOC 69 \ + +#define _2_16 65536.0 +#define _2_20 1048576.0 \ + +#define XXX1 239 +#define XXX2 240 +#define XXX3 241 +#define XXX4 242 \ + +#define YYY 243 \ + +#define POST 248 \ + +#define CHAR_LOC 245 +#define CHAR_LOC0 246 \ + +#define POSTPOST 249 +#define POSTPOST_ID 223 \ + +#define BLACK 1 +#define WHITE 0 \ + +#define PIXEL_MAXVAL 255 +#define SCALE 4096 +#define HALFSCALE 2048 \ + +#define MAX_CHAR_SIZE 1023 \ + +#define PAINT_(x) (x) +#define PAINT1 64 +#define PAINT2 65 +#define PAINT3 66 \ + +#define SKIP0 70 +#define SKIP1 71 +#define SKIP2 72 +#define SKIP3 73 \ + +#define NEW_ROW_(x) ((x) +74) \ + +#define NOOP 244 \ + +#define EXTENSION_LENGTH 8 \ + +#define GFTOPK_NAME "gftopk" +#define PLTOTF_NAME "pltotf" +#define OVP2OVF_NAME "ovp2ovf" \ + +#define PRINTER_MIN_RES_X 50 +#define PRINTER_MIN_RES_Y 50 \ + +#define VALID_SUBCODE 1 \ + +/*4:*/ +#line 193 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +/*10:*/ +#line 413 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#ifdef TM_IN_SYS_TIME +#include <sys/time.h> +#endif +#include "hbf.h" + + + +/*:10*//*69:*/ +#line 2483 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#if defined(HAVE_LIBKPATHSEA) +#ifdef VERY_OLD_KPATHSEA +#include "kpathsea/proginit.h" +#include "kpathsea/progname.h" +#include "kpathsea/tex-glyph.h" +#else +#include "kpathsea/kpathsea.h" +#endif + +#elif defined(HAVE_EMTEXDIR) +#include "emtexdir.h" + +#elif defined(HAVE_MIKTEX) +#include "miktex.h" +#endif + +/*:69*/ +#line 194 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +/*11:*/ +#line 431 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_file(void); + + +/*:11*//*13:*/ +#line 493 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_pre(void); + + +/*:13*//*16:*/ +#line 581 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_data(void); + + +/*:16*//*20:*/ +#line 692 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_post(void); + + +/*:20*//*25:*/ +#line 836 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void fputl(long,FILE*); + + +/*:25*//*29:*/ +#line 999 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void make_pixel_array(void); + + +/*:29*//*36:*/ +#line 1227 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#ifdef __GNUC__ +__inline__ +#endif +void read_row(unsigned char*); + + +/*:36*//*39:*/ +#line 1279 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#ifdef __GNUC__ +__inline__ +#endif +void write_row(unsigned char*); + + +/*:39*//*41:*/ +#line 1334 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_coding(void); + + +/*:41*//*45:*/ +#line 1495 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_pl(void); + + +/*:45*//*47:*/ +#line 1592 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_ovp(void); + + +/*:47*//*50:*/ +#line 1737 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_job(void); + + +/*:50*//*54:*/ +#line 1986 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void read_config(void); + + +/*:54*//*64:*/ +#line 2317 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +int fsearch(char*); + + +/*:64*//*67:*/ +#line 2457 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void config_error(char*); + + +/*:67*//*71:*/ +#line 2517 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +char*TeX_search_version(void); + + +/*:71*//*74:*/ +#line 2552 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#ifdef HAVE_EMTEXDIR +extern int setup_list(struct emtex_dir*,char*,const char*,unsigned); +int dir_setup(struct emtex_dir*,const char*,const char*,unsigned); +char*file_find(char*,struct emtex_dir*); +#endif + + +/*:74*//*79:*/ +#line 2649 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +char*TeX_search_cfg_file(char*); +char*TeX_search_hbf_file(char*); + + +/*:79*/ +#line 195 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +/*2:*/ +#line 129 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +int nmb_files= -1; +int unicode= FALSE; + +int testing= FALSE; + +int mf_like= FALSE; +int file_number= 0; + +double x_resolution= 0.0; +double y_scale= 1.0; + +int pk_files= TRUE; +int tfm_files= TRUE; +int long_extension= TRUE; +int quiet= FALSE; + +char config_file[FILE_NAME_LENGTH+4+1]; + +char output_name[STRING_LENGTH+1]; + +FILE*config,*out; +HBF*hbf; + +#ifdef msdos +#define WRITE_BIN "wb" +#define WRITE_TXT "wt" +#define READ_BIN "rb" +#define READ_TXT "rt" +#else +#define WRITE_BIN "w" +#define WRITE_TXT "w" +#define READ_BIN "r" +#define READ_TXT "r" +#endif + +int end_of_file= FALSE; + + +/*:2*//*15:*/ +#line 540 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +long char_adr[256]; +long*char_adr_p; + +int pk_offset_x; + + +double tfm_offset_x; +int pk_offset_y; + +double tfm_offset_y; + +int input_size_x; +int input_size_y; +const char*font_encoding; +int pk_width; +int pk_output_size_x; + +double tfm_output_size_x; +int pk_output_size_y; +double tfm_output_size_y; + +double design_size= 10.0; +double target_size_x; +double target_size_y; +double magstep_x; +double magstep_y; +double slant; +int rotation; + +double mag_x; +double mag_y; + +int empty_char; +int last_char; + +int dot_count; + + + +/*:15*//*19:*/ +#line 669 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +char coding[STRING_LENGTH+1]; +char comment[STRING_LENGTH+1]; + +unsigned long checksum; + +long pk_total_min_x; +long pk_total_max_x; +long pk_total_min_y; +long pk_total_max_y; + +int dpi_x; +int dpi_y; +double ppp_x; +double ppp_y; + + +/*:19*//*27:*/ +#line 876 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +HBF_CHAR code; +const unsigned char*bitmap; + +unsigned char*bP; + +unsigned char out_char[MAX_CHAR_SIZE*MAX_CHAR_SIZE+1]; + +unsigned char*out_char_p; + +unsigned char pixelrow[MAX_CHAR_SIZE]; +unsigned char temp_pixelrow[MAX_CHAR_SIZE]; +unsigned char new_pixelrow[MAX_CHAR_SIZE+1]; + +int curr_row; + +long grayrow[MAX_CHAR_SIZE]; + +long s_mag_x,s_mag_y,s_slant; + + +/*:27*//*38:*/ +#line 1274 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +int threshold= 128; + + +/*:38*//*49:*/ +#line 1726 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +char job_extension[EXTENSION_LENGTH+1]; +char rm_command[STRING_LENGTH+1]; +char cp_command[STRING_LENGTH+1]; +char pk_directory[STRING_LENGTH+1]; +char tfm_directory[STRING_LENGTH+1]; + +int ofm_file= FALSE; + + +/*:49*//*53:*/ +#line 1981 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +char Buffer[STRING_LENGTH+1]; + + +/*:53*//*58:*/ +#line 2099 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +int offset_x; +int offset_y; + +HBF_CHAR user_min_char; +int have_min_char= FALSE; + +/*:58*//*60:*/ +#line 2256 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +HBF_CHAR min_char,max_char; + + +/*:60*//*62:*/ +#line 2283 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +char b2_codes[256]; +unsigned char min_2_byte,max_2_byte; +int nmb_2_bytes= 0; + + +/*:62*//*70:*/ +#line 2501 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#if defined(HAVE_LIBKPATHSEA) +#ifdef KPSEDLL + +extern KPSEDLL char*kpathsea_version_string; +#else +extern DllImport char*kpathsea_version_string; +#endif +#elif defined(HAVE_EMTEXDIR) +char emtex_version_string[]= "emTeXdir"; +#elif !defined(HAVE_MIKTEX) +char no_version_string[]= "no search library"; +#endif + + +/*:70*//*73:*/ +#line 2545 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#ifdef HAVE_EMTEXDIR +struct emtex_dir cfg_path,hbf_path; +#endif + + +/*:73*//*76:*/ +#line 2591 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +char name_buffer[FILE_NAME_LENGTH+1]; + + +/*:76*/ +#line 196 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + + + +int main(argc,argv) +int argc; +char*argv[]; + +{char*p; + +/*78:*/ +#line 2613 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#if defined(HAVE_LIBKPATHSEA) +#ifdef OLD_KPATHSEA +kpse_set_progname(argv[0]); +#else +kpse_set_program_name(argv[0],"hbf2gf"); +#endif + +#ifdef VERY_OLD_KPATHSEA +kpse_init_prog("HBF2GF",300,"cx",true,"cmr10"); +#else +kpse_init_prog("HBF2GF",300,"cx","cmr10"); +#endif + +#elif defined(HAVE_EMTEXDIR) +if(!dir_setup(&cfg_path,"HBFCFG",NULL,EDS_BANG)) +{fprintf(stderr, +"Couldn't setup search path for configuration files\n"); +exit(1); +} +if(!dir_setup(&hbf_path,"HBFONTS",NULL,EDS_BANG)) +{fprintf(stderr, +"Couldn't setup search path for HBF header files\n"); +exit(1); +} +#endif + + +/*:78*/ +#line 205 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + + +/*7:*/ +#line 312 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +if(argc==2) +{if(strcmp(argv[1],"--help")==0) +/*6:*/ +#line 293 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +{printf(USAGE); +exit(0); +} + + +/*:6*/ +#line 315 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +else if(strcmp(argv[1],"--version")==0) +/*5:*/ +#line 266 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +{printf("\n"); +printf(banner); +printf(" (%s)\n",TeX_search_version()); +printf(VERSION); +exit(0); +} + + +/*:5*/ +#line 317 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +} + +while(argc> 1) +{p= argv[1]; +if(p[0]!='-') +break; +if(p[1]=='p') +tfm_files= FALSE; +else if(p[1]=='g') +pk_files= FALSE; +else if(p[1]=='n') +long_extension= FALSE; +else if(p[1]=='q') +quiet= TRUE; +else if(p[1]=='t') +testing= TRUE; + +argv++; +argc--; +} + +if(testing) +{if(argc!=2) +{fprintf(stderr,"Need exactly one parameter for `-t' option.\n"); +fprintf(stderr,"Try `hbf2gf --help' for more information.\n"); +exit(1); +} +} +else if(argc<2||argc> 4) +{fprintf(stderr,"Invalid number of parameters.\n"); +fprintf(stderr,"Try `hbf2gf --help' for more information.\n"); +exit(1); +} + + +/*:7*/ +#line 207 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + + +if(!quiet) +printf("\n%s\n\n",banner); + +strncpy(config_file,argv[1],FILE_NAME_LENGTH); +config_file[FILE_NAME_LENGTH]= '\0'; + +if(argc> 2||testing) +{int l= strlen(config_file); + +if(l> 2) +config_file[l-2]= '\0'; + +else +{if(!quiet) +printf("`%s' can't be a subfont created by hbf2gf\n", +config_file); +exit(2); +} + +mf_like= TRUE; +} + +read_config(); + +if(mf_like) +/*8:*/ +#line 357 "/home/wl/git/cjk/cjk-4.8.0/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<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; +} +} + + +/*:8*/ +#line 234 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + + +/*28:*/ +#line 908 "/home/wl/git/cjk/cjk-4.8.0/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<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]) + +; + +if(code> max_char) +{fprintf(stderr,"Invalid subfile number\n"); +exit(1); +} +} + +s_mag_x= mag_x*magstep_x*SCALE; +s_mag_y= mag_y*magstep_y*SCALE; +s_slant= slant*SCALE; +} + + +/*:28*/ +#line 236 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + + +/*9:*/ +#line 392 "/home/wl/git/cjk/cjk-4.8.0/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<max_numb)&&!end_of_file;file_number++,j++) +write_file(); + +nmb_files= j; +} + + +/*:9*/ +#line 238 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + + +if(tfm_files) +write_pl(); +if(ofm_file) +write_ovp(); +if(!mf_like) +write_job(); + +hbfClose(hbf); + +exit(0); +return 0; +} + + +/*:4*//*12:*/ +#line 439 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +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(); +} + + +/*:12*//*14:*/ +#line 500 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +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); +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); +} + + +/*:14*//*17:*/ +#line 586 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_data(void) +{dot_count= 0; +char_adr_p= char_adr; + +for(last_char= 0;(last_char<256)&&!end_of_file;last_char++) +/*18:*/ +#line 611 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +{if(dot_count++%10==0) +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); +} +} +} + + +/*:18*/ +#line 592 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +} + + +/*:17*//*21:*/ +#line 697 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_post(void) +{long special_adr; +long post_adr; + +long designsize= 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; +tfm_width= (tfm_output_size_x+2*tfm_offset_x)*_2_20; + + +/*22:*/ +#line 743 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +special_adr= ftell(out); + +if(*coding) +{fputc(XXX1,out); +fputc(strlen(coding),out); +fputs(coding,out); +} + +if(*comment) +{fputc(XXX1,out); +fputc(strlen(comment),out); +fputs(comment,out); +} + + +/*:22*/ +#line 723 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +/*23:*/ +#line 772 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +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++) +{fputc(CHAR_LOC0,out); +fputc(i,out); +fputc(pk_dx,out); +fputl(tfm_width,out); +fputl(*char_adr_p++,out); +} +} +else +{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); +} +} + + +/*:23*/ +#line 724 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +/*24:*/ +#line 823 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +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); + + +/*:24*/ +#line 725 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +} + + +/*:21*//*26:*/ +#line 841 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void fputl(num,f) +long num; +FILE*f; + +{fputc(num>>24,f); +fputc(num>>16,f); +fputc(num>>8,f); +fputc(num,f); +} + + +/*:26*//*30:*/ +#line 1004 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void make_pixel_array(void) +{unsigned char*prP; +unsigned char*temp_prP; +unsigned char*new_prP; +long*grP; + +register unsigned char*xP; +register unsigned char*nxP; + +register int row,col; +int rows_read= 0; +register int need_to_read_row= 1; + +long frac_row_to_fill= SCALE; +long frac_row_left= s_mag_y; + +int no_code= FALSE; + + +prP= pixelrow; +temp_prP= temp_pixelrow; +new_prP= new_pixelrow; +grP= grayrow; +out_char_p= out_char; + +again: +if(b2_codes[code&0xFF]) +{if(pk_files) +{bitmap= hbfGetBitmap(hbf,code); +bP= (unsigned char*)bitmap; + + +if(!bitmap) +empty_char= TRUE; +else +/*31:*/ +#line 1063 "/home/wl/git/cjk/cjk-4.8.0/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<pk_output_size_y;++row) +{/*32:*/ +#line 1077 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +if(pk_output_size_y==input_size_y) + +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; +} + +/*33:*/ +#line 1104 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +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; + + +/*:33*/ +#line 1097 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +} + + +/*:32*/ +#line 1069 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +/*34:*/ +#line 1145 "/home/wl/git/cjk/cjk-4.8.0/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<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; +} +} + +/*35:*/ +#line 1203 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +if(frac_col_to_fill> 0) +{--xP; +g+= frac_col_to_fill*(*xP); +} + +if(!need_col) +{g/= SCALE; +if(g> PIXEL_MAXVAL) +g= PIXEL_MAXVAL; +*nxP= g; +} + +*(++nxP)= 0; + +write_row(new_prP); + + +/*:35*/ +#line 1198 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +} + + +/*:34*/ +#line 1071 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +} +} + + +/*:31*/ +#line 1040 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +} +} +else +no_code= TRUE; + +if((code&0xFF)==max_2_byte) +code+= 0xFF-(max_2_byte-min_2_byte); +if(code>=max_char) +{end_of_file= TRUE; +return; +} + +code++; + +if(no_code) +{no_code= FALSE; +goto again; +} +} + + +/*:30*//*37:*/ +#line 1235 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#ifdef __GNUC__ +__inline__ +#endif +void read_row(pixelrow) +unsigned char*pixelrow; + +{register int col,bitshift,offset; +register unsigned char*xP; +register unsigned char item= 0; + +if(rotation) +{bitshift= 7-(curr_row%8); +offset= (input_size_y+7)/8; +bP= (unsigned char*)bitmap+curr_row/8; +for(col= 0,xP= pixelrow;col<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++); +bitshift= 7; +} +*xP= ((item>>bitshift)&1)==1?PIXEL_MAXVAL:0; +--bitshift; +} +} +} + + +/*:37*//*40:*/ +#line 1287 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#ifdef __GNUC__ +__inline__ +#endif +void write_row(pixelrow) +unsigned char*pixelrow; + +{register int col; +register unsigned char*xP; + +for(col= 0,xP= pixelrow;col<pk_output_size_x;++col,++xP) +*(out_char_p++)= (*xP>=threshold)?1:0; + +} + + +/*:40*//*42:*/ +#line 1342 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_coding(void) +{register int count,skip; +register unsigned char paint; +register int x,y; +register unsigned char*cp; + +x= 0; +y= 0; +cp= out_char+y*pk_output_size_x+x; +count= skip= 0; +paint= WHITE; +goto start; + +while(y<pk_output_size_y) +{/*43:*/ +#line 1366 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +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; +} + + +/*:43*/ +#line 1357 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +start: +/*44:*/ +#line 1434 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +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; +} + + + +/*:44*/ +#line 1359 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +y++; +} +} + + +/*:42*//*46:*/ +#line 1500 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void write_pl(void) +{int i,pos; +char output_file[FILE_NAME_LENGTH+1]; +long t,sc; +char*s; +char tfm_header[]= "Created by hbf2gf"; + +file_number--; + +if(mf_like) +{if(unicode) +sprintf(output_file,"%s%02x.pl",output_name,file_number); +else +sprintf(output_file,"%s%02i.pl",output_name,file_number); +} +else +sprintf(output_file,"%s.pl",output_name); + +if(!(out= fopen(output_file,WRITE_TXT))) +{fprintf(stderr,"Couldn't open `%s'\n",output_file); +exit(1); +} +if(!quiet) +printf("\nWriting `%s'\n",output_file); + +fprintf(out, +"\n(FAMILY %s%d)" +"\n(CODINGSCHEME CJK-%s)", +output_name,file_number,font_encoding); + +fprintf(out, +"\n(DESIGNSIZE R %.6f)" +"\n(COMMENT DESIGNSIZE IS IN POINTS)" +"\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)" +"\n(CHECKSUM O %lo)" +"\n(FONTDIMEN" +"\n (SLANT R %.6f)" +"\n (SPACE R 0.0)" +"\n (STRETCH R 0.0)" +"\n (SHRINK R 0.0)" +"\n (XHEIGHT R 1.0)" +"\n (QUAD R 1.0)" +"\n (EXTRASPACE R 0.0)" +"\n )",design_size,checksum,slant); + +s= tfm_header; +i= strlen(s); +t= ((long)i)<<24; +sc= 16; +pos= 18; + +fprintf(out,"\n"); +while(i> 0) +{t|= ((long)(*(unsigned char*)s++))<<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); +} + + + +/*:46*//*48:*/ +#line 1597 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +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; + + +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); +} + + + +/*:48*//*51:*/ +#line 1742 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +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); +} + + + +/*:51*//*55:*/ +#line 1994 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void read_config(void) +{HBF_BBOX*boxp; +char*real_config_file; + + +/*56:*/ +#line 2046 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +{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"); +} + + +/*:56*/ +#line 2000 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + + +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 +{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); +} + +/*57:*/ +#line 2063 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +{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; + + +if(!(hbf= hbfOpen(real_hbf_header))) +exit(1); + +hbfDebug= 0; + +boxp= hbfBitmapBBox(hbf); +input_size_x= boxp->hbf_height; +input_size_y= boxp->hbf_width; +font_encoding= hbfProperty(hbf,"HBF_CODE_SCHEME"); + +if(!fsearch("output_name")) +config_error("output_name"); +else +strcpy(output_name,Buffer); +} + + +/*:57*/ +#line 2033 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +/*59:*/ +#line 2107 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +{if(fsearch("nmb_files")) +nmb_files= atoi(Buffer); +if(fsearch("unicode")) +if(Buffer[0]=='y'||Buffer[0]=='Y') +unicode= TRUE; +if(fsearch("min_char")) +{user_min_char= strtoul(Buffer,(char**)NULL,0); +have_min_char= TRUE; +} + +if(!mf_like) +{if(fsearch("pk_files")) +if(Buffer[0]=='n'||Buffer[0]=='N') +pk_files= FALSE; +if(fsearch("tfm_files")) +if(Buffer[0]=='n'||Buffer[0]=='N') +tfm_files= FALSE; +if(fsearch("ofm_file")) +if(Buffer[0]=='y'||Buffer[0]=='Y') +ofm_file= TRUE; +if(fsearch("long_extension")) +if(Buffer[0]=='n'||Buffer[0]=='N') +long_extension= FALSE; +} + +if(fsearch("slant")) +slant= atof(Buffer); +if(slant<0.0||slant> 1.0) +{fprintf(stderr,"Invalid slant\n"); +exit(1); +} +if(fsearch("rotation")) +if(Buffer[0]=='y'||Buffer[0]=='Y') +rotation= TRUE; + +if(fsearch("mag_x")) +mag_x= atof(Buffer); +if(fsearch("mag_y")) +mag_y= atof(Buffer); +if(!mag_x&&!mag_y) +{mag_x= 1.0; +mag_y= 1.0; +} +if(mag_x&&!mag_y) +mag_y= mag_x; +if(mag_y&&!mag_x) +mag_x= mag_y; +if(mag_x<=0.0) +{fprintf(stderr,"Invalid horizontal magnification\n"); +exit(1); +} +if(mag_y<=0.0) +{fprintf(stderr,"Invalid vertical magnification\n"); +exit(1); +} + +if(fsearch("dpi_x")) +dpi_x= atoi(Buffer); +if(fsearch("dpi_y")) +dpi_y= atoi(Buffer); +if(!dpi_x&&!dpi_y) +{dpi_x= 300; +dpi_y= 300; +} +if(dpi_x&&!dpi_y) +dpi_y= dpi_x; +if(dpi_y&&!dpi_x) +dpi_x= dpi_y; +if(dpi_x<=PRINTER_MIN_RES_X) +{fprintf(stderr,"Invalid horizontal printer resolution\n"); +exit(1); +} +if(dpi_y<=PRINTER_MIN_RES_Y) +{fprintf(stderr,"Invalid vertical printer resolution\n"); +exit(1); +} + +if(fsearch("design_size")) +design_size= atof(Buffer); + +if(fsearch("x_offset")) +offset_x= atoi(Buffer); +else +offset_x= rotation?0:(boxp->hbf_xDisplacement*mag_x+0.5); +if(fsearch("y_offset")) +offset_y= atoi(Buffer); +else +offset_y= rotation?0:(boxp->hbf_yDisplacement*mag_y+0.5); +if(!fsearch("comment")) +comment[0]= '\0'; +else +strcpy(comment,Buffer); + +if(fsearch("threshold")) +threshold= atoi(Buffer); +if(threshold<=0||threshold>=255) +{fprintf(stderr,"Invalid threshold\n"); +exit(1); +} + +if(!fsearch("checksum")) +checksum= 0; +else +checksum= strtoul(Buffer,(char**)NULL,0); + +if(!fsearch("coding")) +coding[0]= '\0'; +else +strcpy(coding,Buffer); + +if(!fsearch("pk_directory")) +pk_directory[0]= '\0'; +else +strcpy(pk_directory,Buffer); + +if(!fsearch("tfm_directory")) +tfm_directory[0]= '\0'; +else +strcpy(tfm_directory,Buffer); + +if(fsearch("rm_command")) +strcpy(rm_command,Buffer); +else +strcpy(rm_command,"rm"); + +if(fsearch("cp_command")) +strcpy(cp_command,Buffer); +else +strcpy(cp_command,"cp"); + +if(!fsearch("job_extension")) +job_extension[0]= '\0'; +else +{strncpy(job_extension,Buffer,EXTENSION_LENGTH); +job_extension[EXTENSION_LENGTH]= '\0'; +} +} + + +/*:59*/ +#line 2034 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + + +/*61:*/ +#line 2261 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +{const void*cp; +HBF_CHAR dummy; + +cp= hbfGetCodeRange(hbf,NULL,&min_char,&max_char); +for(;cp!=NULL;cp= hbfGetCodeRange(hbf,cp,&dummy,&max_char)) +; + +if(have_min_char) +min_char= user_min_char; +} + + +/*:61*/ +#line 2036 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +/*63:*/ +#line 2290 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +{const void*b2r; +unsigned char dummy; +int i; + +for(i= 0;i<256;i++) +b2_codes[i]= 0; + +b2r= hbfGetByte2Range(hbf,NULL,&min_2_byte,&max_2_byte); +dummy= min_2_byte; +for(;b2r!=NULL;b2r= hbfGetByte2Range(hbf,b2r,&dummy,&max_2_byte)) +{for(i= dummy;i<=max_2_byte;i++) +b2_codes[i]= VALID_SUBCODE; +} + +for(i= 0;i<256;i++) +if(b2_codes[i]==VALID_SUBCODE) +nmb_2_bytes++; +} + + +/*:63*/ +#line 2037 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + + +fclose(config); +} + + +/*:55*//*65:*/ +#line 2322 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +int fsearch(search_string) +char*search_string; + +{char*P,p; +char temp_buffer[STRING_LENGTH+1]; +char env_name[STRING_LENGTH+1]; +char*env_p; +char*env_value; +char*Buf_p; +int Ch,ch,old_ch= '\n'; +int count= STRING_LENGTH; + +rewind(config); + +do +{P= search_string; +p= tolower(*P); +Ch= fgetc(config); +ch= tolower(Ch); +while(!(ch==p&&old_ch=='\n')&&Ch!=EOF) + + +{old_ch= ch; +Ch= fgetc(config); +ch= tolower(Ch); +} + +for(;;) +{if(*(++P)=='\0') +if((Ch= fgetc(config))==' '||Ch=='\t') + +goto success; +Ch= fgetc(config); +if(tolower(Ch)!=tolower(*P)) +break; +} +} +while(Ch!=EOF); + +return 0; + +success: +P= temp_buffer; + +while((Ch= fgetc(config))==' '||Ch=='\t') + +; +while(Ch!='\n'&&--count> 0&&Ch!=EOF) +{*P++= Ch; +Ch= fgetc(config); +} +*P= '\0'; + +if(*temp_buffer) +/*66:*/ +#line 2402 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +{P= temp_buffer; +Buf_p= Buffer; +count= STRING_LENGTH-1; + +while(*P&&count> 0) +{env_p= env_name; + +if(*P=='$') +{P++; +if(*P=='$') +{*(Buf_p++)= *(P++); +count--; +continue; +} +while(*P=='{') +P++; +if(!(isalpha(*P)||*P=='_')) +{fprintf(stderr, +"Invalid environment variable name in configuration file\n"); +exit(1); +} +*(env_p++)= *(P++); +while(*P) +{if(isalnum(*P)||*P=='_') +*(env_p++)= *(P++); +else +{while(*P=='}') +P++; +*env_p= '\0'; +break; +} +} + +env_value= getenv(env_name); +if(env_value) +{while(*env_value&&count> 0) +{*(Buf_p++)= *(env_value++); +count--; +} +} +} +else +{*(Buf_p++)= *(P++); +count--; +} +} +*Buf_p= '\0'; +} + + +/*:66*/ +#line 2377 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +else +*Buffer= '\0'; + +return(*Buffer)?1:0; +} + + +/*:65*//*68:*/ +#line 2462 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +void config_error(message) +char*message; + +{fprintf(stderr,"Couldn't find `%s' entry in configuration file\n", +message); +exit(1); +} + + + +/*:68*//*72:*/ +#line 2522 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +char*TeX_search_version(void) +{ +#if defined(HAVE_LIBKPATHSEA) +return kpathsea_version_string; +#elif defined(HAVE_EMTEXDIR) +return emtex_version_string; +#elif defined(HAVE_MIKTEX) +char buf[200]; + +strcpy(buf,"MiKTeX "); +miktex_get_miktex_version_string_ex(buf+7,sizeof(buf)-7); + +return buf; +#else +return no_version_string; +#endif +} + + +/*:72*//*75:*/ +#line 2564 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#ifdef HAVE_EMTEXDIR +int dir_setup(ed,env,dir,flags) +struct emtex_dir*ed; +const char*env; +const char*dir; +unsigned flags; + +{const char*val; +char path[260]; + +ed->alloc= 0; +ed->used= 0; +ed->list= NULL; + +if(env!=NULL&&(val= getenv(env))!=NULL) +return setup_list(ed,path,val,flags); +else +fprintf(stderr, +"Environment variable `%s' not set; use current directory\n", +env); + +return TRUE; +} + + +/*:75*//*77:*/ +#line 2596 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +char*file_find(name,list) +char*name; +struct emtex_dir*list; + +{if(emtex_dir_find(name_buffer,sizeof(name_buffer),list,name,EDF_CWD)) +return name_buffer; + +return NULL; +} +#endif + + +/*:77*//*80:*/ +#line 2655 "/home/wl/git/cjk/cjk-4.8.0/utils/hbf2gf/hbf2gf.w" + +#if defined(HAVE_LIBKPATHSEA) +char*TeX_search_cfg_file(name) +char*name; + +{ +#ifdef OLD_KPATHSEA +return kpse_find_file(name,kpse_dvips_config_format,TRUE); +#else +return kpse_find_file(name,kpse_program_text_format,TRUE); +#endif +} + + +char*TeX_search_hbf_file(name) +char*name; + +{ +#ifdef VERY_OLD_KPATHSEA +return kpse_find_file(name,kpse_dvips_header_format,TRUE); +#else +#ifndef KPSEDLL +return kpse_find_file(name,kpse_type1_format,TRUE); +#else +return kpse_find_file(name,kpse_miscfonts_format,TRUE); +#endif +#endif +} + + +#elif defined(HAVE_EMTEXDIR) +char*TeX_search_cfg_file(name) +char*name; + +{return file_find(name,&cfg_path); +} + + +char*TeX_search_hbf_file(name) +char*name; + +{return file_find(name,&hbf_path); +} + + +#elif defined(HAVE_MIKTEX) +char*TeX_search_cfg_file(name) +char*name; + +{char result[_MAX_PATH]; + +if(!miktex_find_input_file("hbf2gf",*name,result)) +return 0; +return strdup(result); +} + + +char*TeX_search_hbf_file(name) +char*name; + +{char result[_MAX_PATH]; + + +if(!miktex_find_miscfont_file(*name,result)) +return 0; +return strdup(result); +} + + +#else +char*TeX_search_cfg_file(name) +char*name; + +{return name; +} + + +char*TeX_search_hbf_file(name) +char*name; + +{return name; +} +#endif + + + +/*:80*/ diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def new file mode 100644 index 00000000000..21236cd42ad --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.def @@ -0,0 +1,3 @@ +NAME HBF2GF WINDOWCOMPAT +DESCRIPTION 'hbf2gf (CJK Ver. 4.8.0)' +STACKSIZE 0x80000 diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w new file mode 100644 index 00000000000..b703caa5ebb --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/hbf2gf.w @@ -0,0 +1,2872 @@ +% This is the cweb file hbf2gf.w of the CJK package ver. 4.8.0 22-May-2008 + +% Copyright (C) 1994-2008 Werner Lemberg <wl@@gnu.org> +% +% 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.0)} + +\def\topofcontents{ + \null\vfill + \centerline{\titlefont The {\ttitlefont hbf2gf} program} + \vskip 20pt + \centerline{(CJK Version 4.8.0)} + \vfill} + +\def\botofcontents{ + \vfill + \noindent + Copyright \copyright~1996-1999 by Werner Lemberg + \bigskip\noindent + Permission is granted to make and distribute verbatim copies of this + document provided that the copyright notice and this permission notice are + preserved on all copies. + + \smallskip\noindent + Permission is granted to copy and distribute modified versions of this + document under the conditions for verbatim copying, provided that the + entire resulting derived work is distributed under the terms of a + permission notice identical to this one.} + +\pageno=\contentspagenumber \advance\pageno by 1 +\let\maybe=\iftrue +\fullpageheight=240mm +\pageheight=223mm +\pagewidth=158mm +\setpage +\frenchspacing + + +\def\msdos{\.{msdos}} +@s msdos TeX + +@s HBF int +@s HBF_CHAR int +@s HBF_BBOX int + +@s __inline__ int +@s DllImport int +@s KPSEDLL int + + +@* Introduction. +This is the \.{hbf2gf} program by Werner Lemberg +(\.{wl@@gnu.org}). + +The ``banner line'' defined here should be changed whenever \.{hbf2gf} is +modified. + +@d banner +"hbf2gf (CJK ver. 4.8.0)" + + +@ +\.{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 */@# + +@<Global variables@>= +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 +@<Include files@>@; +@<Prototypes@>@; +@<Global variables@>@;@# + + +int main(argc, argv) + int argc; /* argument count */ + char *argv[]; /* argument values */ + + {char *p; + + @<Initialize \TeX\ file searching@>@;@# + + @<Scan options@>@;@# + + 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) + @<Check other arguments@>@;@# + + @<Initialize variables@>@;@# + + @<Write files@>@;@# + + 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" + +@<Print version@>= + {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" + +@<Print help information@>= + {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. + +@<Scan options@>= + if(argc == 2) + {if(strcmp(argv[1], "--help") == 0) + @<Print help information@>@; + else if(strcmp(argv[1], "--version") == 0) + @<Print version@>@; + }@# + + 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. + +@<Check other arguments@>= + {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|. + +@<Write files@>= + {int j, max_numb; + + if(!mf_like) + {file_number = (unicode == TRUE ? (min_char >> 8) : 1); + if(nmb_files == -1) + max_numb = (unicode == TRUE ? 0x100 : 100); + else + max_numb = nmb_files; + } + else + max_numb = 1;@# + + for(j = 0; (j < max_numb) && !end_of_file; file_number++, j++) + write_file();@# + + nmb_files = j; /* the real number of output font files */ + } + + +@ +@<Include files@>= +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#ifdef TM_IN_SYS_TIME +#include <sys/time.h> +#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. + +@<Prototypes@>= +void write_file(void); + + +@ +In \mf-like mode we create font file name extensions similar to \mf\ if +the \.{-n} option isn't specified; otherwise only `\.{.gf}' will be appended. + +@c +void write_file(void) + {char output_file[FILE_NAME_LENGTH + 1]; + + + if(pk_files) + {if(mf_like) + {if(unicode) + sprintf(output_file, "%s%02x.%.0igf",@/ + output_name, file_number, + long_extension ? (int)(x_resolution + 0.5) : 0); + else + sprintf(output_file, "%s%02i.%.0igf",@/ + output_name, file_number, + long_extension ? (int)(x_resolution + 0.5) : 0); + } + else + {if(unicode) + sprintf(output_file, "%s%02x.gf", output_name, file_number); + else + sprintf(output_file, "%s%02i.gf", output_name, file_number); + } + if(!(out = fopen(output_file, WRITE_BIN))) + {fprintf(stderr, "Couldn't open `%s'\n", output_file); + exit(1); + } + if(!quiet) + printf("Writing `%s' ", output_file);@# + + write_pre(); + write_data(); + write_post(); + fclose(out);@# + + if(!quiet) + printf("\n"); + } + else + write_data(); + } + + +@ +The preamble has two bytes at the very beginning, |PRE| and |GF_ID|. |PRE| +starts the preamble, and |GF_ID| is the Generic Font Identity Byte. The next +bytes are a string in Pascal format containing a header, the date, and the +time. Strings in Pascal format start with the length of the string and have +no terminating NULL byte. + +@d GF_ID 131 +@d PRE 247@# + +@d header " hbf2gf output " + +@<Prototypes@>= +void write_pre(void); + + +@ +@s tm int + +@c +void write_pre(void) + {char out_s[40], s[20]; + time_t secs_now; + struct tm *time_now; + + + strcpy(out_s, header);@# + + secs_now = time(NULL); /* system date and time */ + time_now = localtime(&secs_now); + strftime(s, 20, "%Y.%m.%d:%H.%M", time_now); + strcat(out_s, s);@# + + fputc(PRE, out); + fputc(GF_ID, out); + fputc(strlen(out_s), out); + fputs(out_s, out); + } + + +@ +|write_data()| produces the middle part of the \.{GF} file. It first sets +|char_adr_p| equal to the address of |char_adr[]| which will contain file +offsets of the compressed characters. + +|input_size_x| and |input_size_y| reflect the original dimensions of the +bitmap font, |pk_output_size_x| and |pk_output_size_y| contain the width and +height of the output character box (in pixels), |pk_offset_x| and +|pk_offset_y| define the baseline of the font. The same names starting with +`\\{tfm\_}' instead of `\\{pk\_}' are used for \.{TFM} files (values are +multiples of design size). |mag_x| and |mag_y| hold the scaling factors +which are needed to reach |design_size|. |slant| defines the slant ($\Delta +x / \Delta y$), |target_size_x| and |target_size_y| will be the final +dimensions; |magstep_x = target_size_x / design_size| is \TeX's +\.{\\magstep}. + +The \CEE/ standard specifies that all global values will be automatically +set to~|0| if no initialization value is given. + +@<Global...@>= +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 */ + + +@ +@<Prototypes@>= +void write_data(void); + + +@ +@c +void write_data(void) + {dot_count = 0; + char_adr_p = char_adr;@# + + for(last_char = 0; (last_char < 256) && !end_of_file; last_char++) + @<Write character@>@; + } + + +@ +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 + +@<Write character@>= + {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}$ */ + +@<Global...@>= +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. + +@<Prototypes@>= +void write_post(void); + + +@ +@c +void write_post(void) + {long special_adr; + long post_adr;@# + + long designsize = design_size * _2_20; /* design size $* 2^{20}$ */@# + + int pk_dx; + long tfm_width;@# + + int i; + long temp; + + + ppp_x = dpi_x / 72.27 * magstep_x; + ppp_y = dpi_y / 72.27 * magstep_y;@# + + pk_total_min_x = pk_offset_x; + pk_total_max_x = pk_output_size_x + 2 * pk_offset_x; + pk_total_min_y = pk_offset_y; + pk_total_max_y = pk_output_size_y + pk_offset_y;@# + + pk_dx = pk_width + 2 * pk_offset_x; /* no slant */ + tfm_width = (tfm_output_size_x + 2 * tfm_offset_x) * _2_20; + /* width in multiples of design size $* 2^{20}$ */@# + + @<Special section@>@; + @<Post section@>@; + @<Postpost section@>@; + } + + +@ +\.{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 section@>= + 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 section@>= + 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 + +@<Postpost section@>= + 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. + +@<Prototypes@>= +void fputl(long, FILE *); + + +@ +@c +void fputl(num, f) + long num; + FILE *f; + + {fputc(num >> 24, f); + fputc(num >> 16, f); + fputc(num >> 8, f); + fputc(num, f); + } + + +@ +|make_pixel_array()| scales a character into the array |out_char[]| where +each \\{byte} represents one pixel, contrary to the input file where each +\\{bit} is used to store the character bitmap. |BLACK| indicates a black +pixel. + +The scaling routine was modeled after the program \.{pnmscale} of the +\.{pbmplus} package. \.{pbmplus} was designed to handle arbitrary pictures, +and bitmaps are only a special case of a graymap with values from~0 for +white up to |PIXEL_MAXVAL = 255| for black. + +If |EOF| is encountered, |end_of_file| is set and the function returns +immediately. + +@d BLACK 1 +@d WHITE 0@# + +@d PIXEL_MAXVAL 255 +@d SCALE 4096 +@d HALFSCALE 2048@# + +@d MAX_CHAR_SIZE 1023 + +@<Global...@>= +HBF_CHAR code; +const unsigned char *bitmap; + /* a proper input bitmap array will be allocated by the HBF API */ +unsigned char *bP;@# + +unsigned char out_char[MAX_CHAR_SIZE * MAX_CHAR_SIZE + 1]; + /* the output bitmap array */ +unsigned char *out_char_p;@# + +unsigned char pixelrow[MAX_CHAR_SIZE]; +unsigned char temp_pixelrow[MAX_CHAR_SIZE]; +unsigned char new_pixelrow[MAX_CHAR_SIZE + 1]; + /* we need space to append a white pixel */@# +int curr_row; /* for |read_row()| if we access the glyph rotated */ + +long grayrow[MAX_CHAR_SIZE];@# + +long s_mag_x, s_mag_y, s_slant; + + +@ +We need to initialize the |grayrow[]| array together with some other +variables. + +Two steps are necessary to compute the |code| if we are in the \mf-like +mode. Assuming that we search the code \.{0xXXYY}, we first set |code| to +the value \.{0xXXAA}, where \.{0xAA} is equal to |min_2_byte| (getting +|offset| as the number of remaining characters to reach the first character +in our given subfont), then we increment |code| (and decrement |offset|) +until |offset| equals~0. + +@<Initialize variables@>= + {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. + + +@<Prototypes@>= +void make_pixel_array(void); + + +@ +@c +void make_pixel_array(void) + {unsigned char *prP; + unsigned char *temp_prP; + unsigned char *new_prP; + long *grP;@# + + register unsigned char *xP; + register unsigned char *nxP;@# + + register int row, col; + int rows_read = 0; + register int need_to_read_row = 1;@# + + long frac_row_to_fill = SCALE; + long frac_row_left = s_mag_y;@# + + int no_code = FALSE; + + + prP = pixelrow; + temp_prP = temp_pixelrow; + new_prP = new_pixelrow; + grP = grayrow; + out_char_p = out_char; /* will be increased by |write_row()| */@# + +again: + if(b2_codes[code & 0xFF]) /* a valid second byte? */ + {if(pk_files) + {bitmap = hbfGetBitmap(hbf, code); + bP = (unsigned char *)bitmap; + /* will be increased by |read_row()| */@# + + if(!bitmap) + empty_char = TRUE; + else + @<Scale row by row@>@; + } + } + 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; + } + } + + +@ +@<Scale row by row@>= + {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) + {@<Scale Y from |pixelrow[]| into |temp_pixelrow[]|@>@; + @<Scale X from |temp_pixelrow[]| into |new_pixelrow[]| + and write it into |out_char[]|@>@; + } + } + + +@ +@<Scale Y from |pixelrow[]| into |temp_pixelrow[]|@>= + 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; + }@# + + @<Produce a temporary row@>@; + } + + +@ +Now |frac_row_left >= frac_row_to_fill|, so we can produce a row. + +@<Produce a temporary 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. + +@<Scale X from |temp_pixelrow[]| into |new_pixelrow[]| + and write it into |out_char[]|@>= + 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; + } + }@# + + @<Write out a row@>@; + } + + +@ +@<Write out a row@>= + 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). + +@<Prototypes@>= +#ifdef __GNUC__ +__inline__ +#endif +void read_row(unsigned char *); + + +@ +@c +#ifdef __GNUC__ +__inline__ +#endif +void read_row(pixelrow) + unsigned char *pixelrow; + + {register int col, bitshift, offset; + register unsigned char *xP; + register unsigned char item = 0; + + if(rotation) + {bitshift = 7 - (curr_row % 8); + offset = (input_size_y + 7) / 8; + bP = (unsigned char *)bitmap + curr_row / 8; + for(col = 0, xP = pixelrow; col < input_size_x; ++col, ++xP) + {*xP = ((*bP >> bitshift) & 1) == 1 ? PIXEL_MAXVAL : 0; + bP += offset; + } + curr_row--; + } + else + {bitshift = -1; + for(col = 0, xP = pixelrow; col < input_size_x; ++col, ++xP) + {if(bitshift == -1) + {item = *(bP++); /* increase input bitmap pointer */ + bitshift = 7; + } + *xP = ((item >> bitshift) & 1) == 1 ? PIXEL_MAXVAL : 0; + --bitshift; + } + } + } + + +@ +|write_row()| converts the graymap back into a bitmap using a simple +threshold. + +@<Global...@>= +int threshold = 128; + + +@ +@<Prototypes@>= +#ifdef __GNUC__ +__inline__ +#endif +void write_row(unsigned char *); + + +@ +@c +#ifdef __GNUC__ +__inline__ +#endif +void write_row(pixelrow) + unsigned char *pixelrow; + + {register int col; + register unsigned char *xP; + + for(col = 0, xP = pixelrow; col < pk_output_size_x; ++col, ++xP) + *(out_char_p++) = (*xP >= threshold) ? 1 : 0; + /* increase output bitmap pointer */ + } + + +@ +Now comes the most interesting routine. The pixel array will be compressed +in sequences of black and white pixels. + +|SKIP0|, |SKIP1|, and |SKIP2| indicate how many blank lines will be skipped. +|PAINT_(x)| means that the next x~pixels will have the same color, then the +color changes. |NEW_ROW_(x)| is the first black pixel in the next row. + +An example: the pixel sequence 111100011001 [new row] 000111011110 will be +output as 4 3 2 2 1 77 3 1 4 1. + +Commands with an ending~`n' in its name indicate that the next n~bytes +should be read as the counter. Example: |SKIP1|~26 means `skip the next +26~rows'. + +For further details please refer to ``\mf---the program''. + +@d PAINT_(x) (x) /* $0 \le x \le 63$ */ +@d PAINT1 64 +@d PAINT2 65 +@d PAINT3 66 /* not used */@# + +@d SKIP0 70 +@d SKIP1 71 +@d SKIP2 72 +@d SKIP3 73 /* not used */@# + +@d NEW_ROW_(x) ((x) + 74) /* $0 \le x \le 164$ */@# + +@d NOOP 244 /* not used */ + +@<Prototypes@>= +void write_coding(void); + + +@ +The |goto start| instruction causes some compilers to complain about +``Unreachable code $\ldots$'' or something similar. + +@c +void write_coding(void) + {register int count, skip; + register unsigned char paint; + register int x, y; + register unsigned char *cp; + + x = 0; + y = 0; + cp = out_char + y * pk_output_size_x + x; + count = skip = 0; + paint = WHITE; + goto start;@# + + while (y < pk_output_size_y) + {@<Search blank lines@>@; +start: + @<Process rest of line@>@; + y++; + } + }@# + + +@ +@<Search blank lines@>= + 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; + } + + +@ +@<Process rest of line@>= + 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. + +@<Prototypes@>= +void write_pl(void); + + +@ +@c +void write_pl(void) + {int i, pos; + char output_file[FILE_NAME_LENGTH + 1]; + long t, sc; + char *s; + char tfm_header[] = "Created by hbf2gf"; + + file_number--; /* for \mf-like mode */@# + + if(mf_like) + {if(unicode) + sprintf(output_file, "%s%02x.pl", output_name, file_number); + else + sprintf(output_file, "%s%02i.pl", output_name, file_number); + } + else + sprintf(output_file, "%s.pl", output_name);@# + + if(!(out = fopen(output_file, WRITE_TXT))) + {fprintf(stderr, "Couldn't open `%s'\n", output_file); + exit(1); + } + if(!quiet) + printf("\nWriting `%s'\n", output_file);@# + + fprintf(out,@/ + "\n(FAMILY %s%d)"@/ + "\n(CODINGSCHEME CJK-%s)", + output_name, file_number, font_encoding);@# + + fprintf(out,@/ + "\n(DESIGNSIZE R %.6f)"@/ + "\n(COMMENT DESIGNSIZE IS IN POINTS)"@/ + "\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"@/ + "\n(CHECKSUM O %lo)"@/ + "\n(FONTDIMEN"@/ + "\n (SLANT R %.6f)"@/ + "\n (SPACE R 0.0)"@/ + "\n (STRETCH R 0.0)"@/ + "\n (SHRINK R 0.0)"@/ + "\n (XHEIGHT R 1.0)"@/ + "\n (QUAD R 1.0)"@/ + "\n (EXTRASPACE R 0.0)"@/ + "\n )", design_size, checksum, slant);@# + + s = tfm_header; + i = strlen(s); + t = ((long)i) << 24; + sc = 16; + pos = 18;@# + + fprintf(out, "\n"); + while(i > 0) + {t |= ((long)(*(unsigned char *)s++)) << sc; + sc -= 8; + if(sc < 0) + {fprintf(out, "\n(HEADER D %d O %lo)", pos, t); + t = 0; + sc = 24; + pos++; + } + i--; + } + if(t) + fprintf(out, "\n(HEADER D %d O %lo)", pos, t); + fprintf(out, "\n");@# + + for(i = 0; i < 256; i++) + {fprintf(out,@/ + "\n(CHARACTER O %o"@/ + "\n (CHARWD R %.6f)"@/ + "\n (CHARHT R %.6f)"@/ + "\n (CHARDP R %.6f)"@/ + "\n (CHARIC R %.6f)"@/ + "\n )",@/ + i, + tfm_output_size_x + 2 * tfm_offset_x, + tfm_output_size_y + tfm_offset_y, + -tfm_offset_y, + slant * (tfm_output_size_y + tfm_offset_y)); + }@# + + fclose(out); + } + + + +@* The extended virtual font file for \Om. +The following is very similar to |write_pl()|; we simply map the glyphs +of the subfonts back to the original encoding positions. + +@<Prototypes@>= +void write_ovp(void); + + +@ +@c +void write_ovp(void) + {int c, i, nmb_subfonts, remainder, count, pos; + char output_file[FILE_NAME_LENGTH + 1]; + long t, sc; + char *s; + char ofm_header[] = "Created by hbf2gf"; + + nmb_subfonts = ((max_char - (min_char & 0xFF00)) / 256 * nmb_2_bytes) + / 256 + 1; + remainder = ((max_char - (min_char & 0xFF00)) / 256 * nmb_2_bytes) + % 256;@# + + /* correction for the last incomplete second byte range */ + for(count = 0; count < (max_char & 0xFF); count++) + if(b2_codes[count]) + remainder++; + if(remainder >= 256) + nmb_subfonts++;@# + + sprintf(output_file, "%s.ovp", output_name);@# + + if(!(out = fopen(output_file, WRITE_TXT))) + {fprintf(stderr, "Couldn't open `%s'\n", output_file); + exit(1); + } + if(!quiet) + printf("\nWriting `%s'\n", output_file);@# + + fprintf(out,@/ + "\n(VTITLE Omega virtual font created by hbf2gf)"@/ + "\n(DESIGNSIZE R %.6f)"@/ + "\n(COMMENT DESIGNSIZE IS IN POINTS)"@/ + "\n(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"@/ + "\n(CHECKSUM O %lo)"@/ + "\n(FONTDIMEN"@/ + "\n (SLANT R %.6f)"@/ + "\n (SPACE R 0.0)"@/ + "\n (STRETCH R 0.0)"@/ + "\n (SHRINK R 0.0)"@/ + "\n (XHEIGHT R 1.0)"@/ + "\n (QUAD R 1.0)"@/ + "\n (EXTRASPACE R 0.0)"@/ + "\n )", design_size, checksum, slant);@# + + s = ofm_header; + i = strlen(s); + t = ((long)i) << 24; + sc = 16; + pos = 18;@# + + fprintf(out, "\n"); + while(i > 0) + {t |= ((long)(*(unsigned char *)s++)) << sc; + sc -= 8; + if(sc < 0) + {fprintf(out, "\n(HEADER D %d O %lo)", pos, t); + t = 0; + sc = 24; + pos++; + } + i--; + } + if(t) + fprintf(out, "\n(HEADER D %d O %lo)", pos, t); + fprintf(out, "\n");@# + + for(i = 0; i < nmb_subfonts; i++) + {fprintf(out,@/ + "\n(MAPFONT D %i"@/ + "\n (FONTNAME %s%02i)"@/ + "\n (FONTCHECKSUM O %lo)"@/ + "\n (FONTAT R 1.0)"@/ + "\n (FONTDSIZE R %.6f)"@/ + "\n )", i, output_name, i + 1, checksum, design_size); + }@# + + for(c = min_char, i = 0, count = 0; c <= max_char; c++) + {if(b2_codes[c & 0xFF] == VALID_SUBCODE) + {fprintf(out,@/ + "\n(CHARACTER O %o"@/ + "\n (CHARWD R %.6f)"@/ + "\n (CHARHT R %.6f)"@/ + "\n (CHARDP R %.6f)"@/ + "\n (CHARIC R %.6f)"@/ + "\n (MAP"@/ + "\n (SELECTFONT D %i)"@/ + "\n (SETCHAR O %o)"@/ + "\n )"@/ + "\n )",@/ + c, + tfm_output_size_x + 2 * tfm_offset_x, + tfm_output_size_y + tfm_offset_y, + -tfm_offset_y, + slant * (tfm_output_size_y + tfm_offset_y), + i, + count);@# + + count++; + if(count == 256) + {count = 0; + i++; + } + } + else + continue; + }@# + + fclose(out); + } + + + +@* The job file. +This routine is the most system specific one. If your operating system needs +a different outline, make appropriate changes here. + +You have to call this batch file after \.{hbf2gf} has finished (if not in +\mf-like mode). It will transform the \.{GF} files into \.{PK} files and +delete the now unnecessary \.{GF} files, then transform the \.{PL} file into +a \.{TFM} file and copy it |nmb_files| times. The name of the job file is +|output_name|. + +@d EXTENSION_LENGTH 8 /* the maximal length of a file extension */@# + +@d GFTOPK_NAME "gftopk" +@d PLTOTF_NAME "pltotf" +@d OVP2OVF_NAME "ovp2ovf" + +@<Global...@>= +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; + + +@ +@<Prototypes@>= +void write_job(void); + + +@ +@c +void write_job(void) + {FILE *out; + int i, j; + char buffer[FILE_NAME_LENGTH + 1]; + + + strcpy(buffer, output_name); + strcat(buffer, job_extension); + if(!(out = fopen(buffer, WRITE_TXT))) + {fprintf(stderr, "Couldn't open `%s'\n", buffer); + exit(1); + } + if(!quiet) + printf("\nWriting `%s'\n", buffer);@# + + if(pk_files) + {if(unicode) + {for(i = (min_char >> 8), j = 0; j < nmb_files; i++, j++) + fprintf(out,@/ + "%s %s%02x.gf %s%s%02x.%.0ipk\n"@/ + "%s %s%02x.gf\n",@/ + GFTOPK_NAME, output_name, i,@/ + pk_directory, output_name, i, + long_extension ? (int)(dpi_x * magstep_x + 0.5) : 0,@/ + rm_command, output_name, i); + } + else + {for(i = 1; i <= nmb_files; i++) + fprintf(out,@/ + "%s %s%02i.gf %s%s%02i.%.0ipk\n"@/ + "%s %s%02i.gf\n",@/ + GFTOPK_NAME, output_name, i,@/ + pk_directory, output_name, i, + long_extension ? (int)(dpi_x * magstep_x + 0.5) : 0,@/ + rm_command, output_name, i); + } + }@# + + if(tfm_files) + {fprintf(out,@/ + "\n"@/ + "%s %s.pl %s.tfm\n"@/ + "%s %s.pl\n"@/ + "\n",@/ + PLTOTF_NAME, output_name, output_name,@/ + rm_command, output_name);@# + + if(unicode) + {for(i = (min_char >> 8), j = 0; j < nmb_files; i++, j++) + fprintf(out,@/ + "%s %s.tfm %s%s%02x.tfm\n",@/ + cp_command, output_name, + tfm_directory, output_name, i); + } + else + {for(i = 1; i <= nmb_files; i++) + fprintf(out,@/ + "%s %s.tfm %s%s%02i.tfm\n",@/ + cp_command, output_name, + tfm_directory, output_name, i); + }@# + + fprintf(out,@/ + "\n"@/ + "%s %s.tfm",@/ + rm_command, output_name); + }@# + + if(ofm_file) + {fprintf(out,@/ + "\n"@/ + "%s %s.ovp %s.ovf %s.ofm\n"@/ + "%s %s.ovp\n"@/ + "\n",@/ + OVP2OVF_NAME, output_name, output_name, output_name,@/ + rm_command, output_name); + }@# + + fclose(out); + } + + + +@* The configuration file. +Here is a list with all necessary keywords (and parameters): +\medskip +\halign{\quad\.{#}\hfil&\quad#\hfil\cr + hbf\_header & the HBF header file name of the input font(s). \cr + output\_name & the name stem of the output files. \cr + & Should be equal to the name of the configuration file + in most cases.\cr + & A running two digit decimal number starting with + \.{01} will be appended. \cr + & (For Unicode fonts see the keyword \.{unicode} + below.) \cr + } +\bigskip +And now all optional keywords: +\medskip +\halign{\quad\.{#}\hfil&\quad#\hfil\cr + x\_offset & increases the character width. \cr + & Will be applied on both sides; \cr + & default is the value given in the HBF header + (\.{HBF\_BITMAP\_BOUNDING\_BOX}) \cr + & scaled to \\{design\/}size (in pixels). \cr + y\_offset & shifts all characters up or down; \cr + & default is the value given in the HBF header + (\.{HBF\_BITMAP\_BOUNDING\_BOX}) \cr + & scaled to \\{design\/}size (in pixels). \cr + design\_size & the design size (in points) of the font. \cr + & \.{x\_offset} and \.{y\_offset} refer to this + size. \cr + & Default is |10.0| \cr + target\_size & This command is obsolete now and will be + ignored.\cr + & \cr + slant & the slant of the font (given as $\Delta x / + \Delta y$). \cr + & Only values in the range |0 <= slant <= 1| + are allowed. \cr + & Default is |0.0| \cr + rotation & if set to `yes'. the glyphs are rotated + 90~degrees counter-clockwise. \cr + & The default offsets as given in the HBF header + will be ignored (and set to~|0|). \cr + & Default is `no'. \cr + & \cr + mag\_x & \cr + mag\_y & scaling values of the characters to reach + design size. \cr + & If only one magnification is given, x and y + values are assumed to be equal. \cr + & Default is \.{mag\_x} $=$ \.{mag\_y} $=$ |1.0| + \cr + threshold & A value between |1| and |254| defining a + threshold for converting the internal \cr + & graymap into the output bitmap; lower values + cut more pixels. \cr + & Default value is |128|. \cr + & \cr + comment & a comment describing the font; \cr + & default is none. \cr + & \cr + nmb\_fonts & the number of the fonts. \cr + & Default value is~|-1| for creating all + fonts. \cr + unicode & if `yes', a two digit hexadecimal number will + be used as a running number, \cr + & starting with the value of the first byte of + the first code range. \cr + & Default is `no'. \cr + min\_char & the minimum of the encoding range. \cr + & Specify this value if it is not identical to + the lowest code value \cr + & in the HBF file (to which it defaults). \cr + & \cr + dpi\_x & \cr + dpi\_y & the horizontal and vertical resolution (in + dpi) of the printer. \cr + & If only one resolution is given, x and y + values are assumed to be equal. \cr + & Default is |300|. \cr + checksum & a checksum to identify the \.{GF} files + with the appropriate \.{TFM} files. \cr + & The default of this 32~bit unsigned integer + is |0|. \cr + coding & a comment describing the coding scheme; \cr + & default is none. \cr + & \cr + pk\_directory & the destination directory of the + \.{PK} files; \cr + & default: none. \cr + & Attention! The batch file will not check + whether this directory exists. \cr + tfm\_directory & the destination directory of the + \.{TFM} files; \cr + & default: none. \cr + & Attention! The batch file will not check + whether this directory exists. \cr + pk\_files & whether to create \.{PK} files or not; \cr + & default is `yes'. \cr + tfm\_files & whether to create \.{TFM} files or not; \cr + & default is `yes'. \cr + ofm\_file & whether to create an \.{OFM} and an + \.{OVF} file or not; \cr + & default is `no'. \cr + long\_extension & if `yes', \.{PK} files will include the + resolution in the extension \cr + & (e.g. \.{gsso1201.300pk}). \cr + & This affects the batch file only (default is + `yes'). \cr + rm\_command & this shell command removes files; \cr + & default: `rm'. \cr + cp\_command & this shell command copies files; \cr + & default: `cp'. \cr + job\_extension & the extension of the batch file which calls + \.{GFtoPK} and \.{PLtoTF} \cr + & to convert the \.{GF} and the + \.{PL} files into \.{PK} and + \.{TFM} files; \cr + & default is none. \cr + } +\bigskip + +The searching algorithm (for the keywords) of \.{hbf2gf} is case +insensitive; it makes no difference whether you write for example \.{comment} +or \.{CommenT}. The keywords must start a line (be in the first column), and +the corresponding parameters must be on the same line with the keyword and +separated by at least one space or tabulator stop. Lines starting not with a +keyword are ignored. + +Key values \\{are} case sensitive (except \.{yes} and \.{no}). + +The default system dependent values are for \UNIX/-like operating systems; +if you use for example DOS, you must write +\medskip +\halign{\quad\.{#}\hfil&\quad\.{#}\hfil\cr + long\_extension & no \cr + rm\_command & del \cr + cp\_command & copy \cr + job\_extension & .bat \cr + } +\medskip + +Both the values |pk_output_size_x| and |pk_output_size_y| must not exceed +|MAX_CHAR_SIZE|; \.{x\_offset} and \.{y\_offset} are related to the +design size (and not to the input size). + +In \mf-like mode, one \.{GF} file and one \.{PL} file will be computed +(depending on the command line options \.{-g} and \.{-p}), taking +|x_resolution| and |y_scale| from the command line. \.{nmb\_fonts} will +always be set to~|1|; no job file will be created. + + +@ +@d PRINTER_MIN_RES_X 50 +@d PRINTER_MIN_RES_Y 50 + +@<Global...@>= +char Buffer[STRING_LENGTH + 1]; + + +@ +@<Prototypes@>= +void read_config(void); + + +@ +If |config_file| isn't found in \mf-like mode we assume that the font +isn't a HBF font at all. + +@c +void read_config(void) + {HBF_BBOX *boxp; + char *real_config_file; + + + @<Handle extension@>@;@# + + 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); + } + + @<Necessary parameters@>@; + @<Optional parameters@>@;@# + + @<Get code range@>@; + @<Get sub code range@>@;@# + + fclose(config); + } + + +@ +Here we check whether we have to add an extension. + +@<Handle 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"); + } + + +@ +@<Necess...@>= + {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); + } + + +@ +@<Global...@>= +int offset_x; +int offset_y;@# + +HBF_CHAR user_min_char; +int have_min_char = FALSE; + +@ +@<Opt...@>= + {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. + +@<Global...@>= +HBF_CHAR min_char, max_char; + + +@ +@<Get code range@>= + {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 + +@<Global...@>= +char b2_codes[256]; +unsigned char min_2_byte, max_2_byte; +int nmb_2_bytes = 0; + + +@ +@<Get sub code range@>= + {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. + +@<Prototypes@>= +int fsearch(char *); + + +@ +@c +int fsearch(search_string) + char *search_string; + + {char *P, p; + char temp_buffer[STRING_LENGTH + 1]; + char env_name[STRING_LENGTH + 1]; + char *env_p; + char *env_value; + char *Buf_p; + int Ch, ch, old_ch = '\n'; + int count = STRING_LENGTH; + + rewind(config); /* we start at offset~0 */@# + + do + {P = search_string; + p = tolower(*P); + Ch = fgetc(config); + ch = tolower(Ch); + while(!(ch == p && old_ch == '\n') && Ch != EOF) + /* search first character of |search_string|; + |'\n'| must be the character before */ + {old_ch = ch; + Ch = fgetc(config); + ch = tolower(Ch); + }@# + + for(;;) + {if(*(++P) == '\0') + if((Ch = fgetc(config)) == ' ' || Ch == '\t') + /* there must be a space or a tab stop after the keyword */ + goto success; + Ch = fgetc(config); + if(tolower(Ch) != tolower(*P)) + break; + } + } + while(Ch != EOF);@# + + return 0;@# + +success: + P = temp_buffer;@# + + while((Ch = fgetc(config)) == ' ' || Ch == '\t') + /* remove leading blanks and tabs */ + ; + while(Ch != '\n' && --count > 0 && Ch != EOF) /* fill |Buffer| */ + {*P++ = Ch; + Ch = fgetc(config); + } + *P = '\0';@# + + if (*temp_buffer) + @<Check for environment variables@>@; + 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. + +@<Check for environment variables@>= + {P = temp_buffer; + Buf_p = Buffer; + count = STRING_LENGTH - 1;@# + + while(*P && count > 0) + {env_p = env_name;@# + + if(*P == '$') + {P++; + if(*P == '$') + {*(Buf_p++) = *(P++); + count--; + continue; + } + while(*P == '{') @q } @> + P++; + if(!(isalpha(*P) || *P == '_')) + {fprintf(stderr,@/ + "Invalid environment variable name in configuration file\n"); + exit(1); + } + *(env_p++) = *(P++); + while(*P) + {if(isalnum(*P) || *P == '_') + *(env_p++) = *(P++); + else + {@q { @> while(*P == '}') + P++; + *env_p = '\0'; + break; + } + }@# + + env_value = getenv(env_name); + if(env_value) /* append the environment value to |Buffer| */ + {while(*env_value && count > 0) + {*(Buf_p++) = *(env_value++); + count--; + } + } + } + else + {*(Buf_p++) = *(P++); + count--; + } + } + *Buf_p = '\0'; + } + + +@ +If an error occurs, |config_error()| will leave the program with an error +message. + +@<Prototypes@>= +void config_error(char *); + + +@ +@c +void config_error(message) + char *message; + + {fprintf(stderr, "Couldn't find `%s' entry in configuration file\n", + message); + exit(1); + } + + + +@* File searching. + +We support three searching engines: emtexdir, kpathsea, and MiKTeX (which is +a Win32 port of kpathsea). For emtexdir, define |HAVE_EMTEXDIR| while +compiling. For kpathsea, define |HAVE_LIBKPATHSEA|. If you have a version of +kpathsea older than~3.2, define |OLD_KPATHSEA| additionally. For kpathsea +older than~3.0, |VERY_OLD_KPATHSEA| must be also set. For MikTeX, define +|HAVE_MIKTEX|. If none of these macros is defined, a simple |fopen()| will +be used instead. + +@<Include files@>= +#if defined(HAVE_LIBKPATHSEA) +#ifdef VERY_OLD_KPATHSEA +#include "kpathsea/proginit.h" +#include "kpathsea/progname.h" +#include "kpathsea/tex-glyph.h" +#else +#include "kpathsea/kpathsea.h" +#endif@# + +#elif defined(HAVE_EMTEXDIR) +#include "emtexdir.h" + +#elif defined(HAVE_MIKTEX) +#include "miktex.h" +#endif + +@ +@<Global variables@>= +#if defined(HAVE_LIBKPATHSEA) +#ifdef KPSEDLL +/* this is kpathsea 3.3 and newer */ +extern KPSEDLL char *kpathsea_version_string; +#else +extern DllImport char *kpathsea_version_string; +#endif +#elif defined(HAVE_EMTEXDIR) +char emtex_version_string[] = "emTeXdir"; +#elif !defined(HAVE_MIKTEX) +char no_version_string[] = "no search library"; +#endif + + +@ +@<Prototypes@>= +char *TeX_search_version(void); + + +@ +@c +char *TeX_search_version(void) + { +#if defined(HAVE_LIBKPATHSEA) + return kpathsea_version_string; +#elif defined(HAVE_EMTEXDIR) + return emtex_version_string; +#elif defined(HAVE_MIKTEX) + char buf[200]; + + strcpy(buf, "MiKTeX "); + miktex_get_miktex_version_string_ex(buf + 7, sizeof (buf) - 7); + + return buf; +#else + return no_version_string; +#endif + } + + +@ +@s emtex_dir int + +@<Global variables@>= +#ifdef HAVE_EMTEXDIR +struct emtex_dir cfg_path, hbf_path; +#endif + + +@ +@<Prototypes@>= +#ifdef HAVE_EMTEXDIR +extern int setup_list(struct emtex_dir *, char *, const char *, unsigned); +int dir_setup(struct emtex_dir *, const char *, const char *, unsigned); +char *file_find(char *, struct emtex_dir *); +#endif + + +@ +We slightly modify |emtex_dir_setup()| (from the file \.{emtexdir.c}) to +output a warning in case the environment variable |env| isn't set properly. + +@c +#ifdef HAVE_EMTEXDIR +int dir_setup(ed, env, dir, flags) + struct emtex_dir *ed; + const char *env; + const char *dir; + unsigned flags; + + {const char *val; + char path[260]; + + ed->alloc = 0; + ed->used = 0; + ed->list = NULL;@# + + if(env != NULL && (val = getenv(env)) != NULL) + return setup_list(ed, path, val, flags); + else + fprintf(stderr, + "Environment variable `%s' not set; use current directory\n", + env);@# + + return TRUE; + } + + +@ +@<Global variables@>= +char name_buffer[FILE_NAME_LENGTH + 1]; + + +@ +@c +char *file_find(name, list) + char *name; + struct emtex_dir *list; + + {if(emtex_dir_find(name_buffer, sizeof(name_buffer), list, name, EDF_CWD)) + return name_buffer;@# + + return NULL; + } +#endif + + +@ +For emtexdir we use the environment variables \.{HBFCFG} and \.{HBFONTS} for +configuration resp.\ HBF header files. + +@<Initialize \TeX\ file searching@>= +#if defined(HAVE_LIBKPATHSEA) +#ifdef OLD_KPATHSEA + kpse_set_progname(argv[0]); +#else + kpse_set_program_name(argv[0], "hbf2gf"); +#endif@# + +#ifdef VERY_OLD_KPATHSEA + kpse_init_prog("HBF2GF", 300, "cx", true, "cmr10"); +#else + kpse_init_prog("HBF2GF", 300, "cx", "cmr10");@# +#endif@# + +#elif defined(HAVE_EMTEXDIR) + if(!dir_setup(&cfg_path, "HBFCFG", NULL, EDS_BANG)) + {fprintf(stderr, + "Couldn't setup search path for configuration files\n"); + exit(1); + } + if(!dir_setup(&hbf_path, "HBFONTS", NULL, EDS_BANG)) + {fprintf(stderr, + "Couldn't setup search path for HBF header files\n"); + exit(1); + } +#endif + + +@ +Finally, here are the searching routines. A special format in the kpathsea +library for fonts which are neither PostScript nor TrueType (\.{MISCFONTS}) +is available with version~3.3 and newer. For older versions we use the path +for PostScript fonts (\.{T1FONTS}) to find HBF files. Configuration files +are searched in the path specified within \.{TEXCONFIG} for old kpathsea +versions, and within \.{HBF2GFINPUTS} for new versions. + +@<Prototypes@>= +char *TeX_search_cfg_file(char *); +char *TeX_search_hbf_file(char *); + + +@ +@c +#if defined(HAVE_LIBKPATHSEA) +char *TeX_search_cfg_file(name) + char *name; + + { +#ifdef OLD_KPATHSEA + return kpse_find_file(name, kpse_dvips_config_format, TRUE); +#else + return kpse_find_file(name, kpse_program_text_format, TRUE); +#endif + }@# + + +char *TeX_search_hbf_file(name) + char *name; + + { +#ifdef VERY_OLD_KPATHSEA + return kpse_find_file(name, kpse_dvips_header_format, TRUE); +#else +#ifndef KPSEDLL + return kpse_find_file(name, kpse_type1_format, TRUE); +#else + return kpse_find_file(name, kpse_miscfonts_format, TRUE); +#endif +#endif + }@# + + +#elif defined(HAVE_EMTEXDIR) +char *TeX_search_cfg_file(name) + char *name; + + {return file_find(name, &cfg_path); + }@# + + +char *TeX_search_hbf_file(name) + char *name; + + {return file_find(name, &hbf_path); + }@# + + +#elif defined(HAVE_MIKTEX) +char *TeX_search_cfg_file(name) + char *name; + + {char result[_MAX_PATH]; + + if (!miktex_find_input_file("hbf2gf", *name, result)) + return 0; + return strdup(result); + }@# + + +char *TeX_search_hbf_file(name) + char *name; + + {char result[_MAX_PATH]; + + + if (!miktex_find_miscfont_file(*name, result)) + return 0; + return strdup(result); + }@# + + +#else +char *TeX_search_cfg_file(name) + char *name; + + {return name; + }@# + + +char *TeX_search_hbf_file(name) + char *name; + + {return name; + } +#endif + + + +@* An example. +This is the example configuration file \.{b5so12.cfg} (for use with DOS or +OS/2 and the emtexdir searching engine): +\bigskip +\halign{\quad\.{#}\hfil&\quad\.{#}\hfil\cr + hbf\_header & et24.hbf \cr + mag\_x & 2.076 \cr + x\_offset & 3 \cr + y\_offset & -8 \cr + comment & fanti songti 24x24 pixel font scaled and + adapted to 12 pt \cr + & \cr + design\_size & 12.0 \cr + & \cr + nmb\_fonts & -1 \cr + & \cr + output\_name & b5so12 \cr + & \cr + dpi\_x & 300 \cr + checksum & 123456789 \cr + coding & codingscheme Big 5 encoded TeX text \cr + & \cr + long\_extension & no \cr + job\_extension & .cmd \cr + rm\_command & del \cr + cp\_command & copy \cr + pk\_directory & \$HBF\_TARGET\\pk\\360dpi\\ \cr + tfm\_directory & \$HBF\_TARGET\\tfm\\ \cr + } +\bigskip +If you say e.g. +\medskip +\quad \.{set HBF\_TARGET=c:\\emtex\\texfonts} +\medskip +on your DOS prompt (or in your \.{autoexec.bat} file), then the interpolated +value of the \.{tfm\_directory} keyword is \.{c:\\emtex\\texfonts\\tfm\\}. +The HBF header file \.{et24.hbf} will be searched in the path specified by +the \.{HBFCFG} environment variable. +\bigskip +The call +\medskip +\quad \.{hbf2gf b5so12.cfg} +\medskip +creates the files +\medskip +\quad \.{b5so1201.gf}, \.{b5so1202.gf}, $\ldots$ , \.{b5so1255.gf}, +\.{b5so12.pl}, and \.{b5so12.cmd} +\bigskip +After calling +\medskip +\quad \.{b5so12.cmd} +\medskip +you will find the \.{PK} files in the +\.{c:\\emtex\\texfonts\\pk\\360dpi} directory and the \.{TFM} files in +the \.{c:\\emtex\\texfonts\\tfm} directory; all \.{GF} files and +\.{b5so12.pl} will be deleted. +\bigskip +The call +\medskip +\quad \.{hbf2gf -n b5so1220 417} +\medskip +creates two files: +\medskip +\quad \.{b5so1220.gf} and \.{b5so1220.pl} +\medskip +using the configuration file \.{b5so12.cfg}. The \.{GF} file would be +named \.{b5so1220.417gf} if the flag \.{-n} had not been used. + +\medskip + +It is possible to convert bitmap fonts to \.{PK} files almost +automatically. The HBF header file already has the entry +\.{HBF\_BITMAP\_BOUNDING\_BOX} which defines vertical and horizontal offsets +(in pixels), but these values are not in all cases optimal. If you omit +\.{x\_offset} and \.{y\_offset} in the configuration file, the third and +fourth parameter of \.{HBF\_BITMAP\_BOUNDING\_BOX} is used, scaled to design +size (to say it with other words: \.{x\_offset} and \.{y\_offset} will always +apply to the design size to be synchronous with the \.{TFM} files). + +Don't confuse scaling and magnification: Scaling here means that you choose +a (arbitrary) design size and compute scaling values (\.{mag\_x} and +\.{mag\_y}) which scales the bitmap to this particular design size at a +certain (arbitrarily chosen) resolution (\.{dpi\_x} and \.{dpi\_y}). +Magnification means that the scaled bitmap will be then magnified to a +certain target size while still using the font parameters (i.e., the +\.{TFM} file) of the design size. + +In the sample, you have a $24 \times 24$ bitmap font which will be scaled to +$12\,\hbox{pt}$ having a resolution of $300\,\hbox{dpi}$: +\medskip +\quad $1\,\hbox{pt}$ are $300 / 72.27 = 4.1511$ pixel; + +\quad $12\,\hbox{pt}$ are $4.1511 * 12 = 49.813$ pixel; + +\quad thus the theoretical scaling value is $49.813 / 24 = 2.076$. + +\medskip + +But especially for small sizes, this may not be the best value if the font +should harmonize with, say, Knuth's Computer Modern fonts. I recommend to +compute, say, 5~\.{PK} fonts, then check the CJK font with different \TeX\ +fonts to see whether the offsets and/or the scaling value is good. The +greater the design size the finer you can control the offsets---as an +example you could use a design size of $30\,\hbox{pt}$ (nevertheless there +is a compile-time constant |MAX_CHAR_SIZE| which limits the maximal +character size; default is 255~pixels). + +If you have found optimal offsets, you can produce many different +magnifications of the CJK font using the same set of \.{TFM} files +analogous to ordinary \TeX\ fonts; as a simplification, we assume that +\.{PK} files with a resolution of $300\,\hbox{dpi}$ and a design size of +$10\,\hbox{pt}$ have the extension `\.{.300pk}' (respectively come into a +`\.{300dpi}' subdirectory)---this is the reason why in the above example for +the $12\,\hbox{pt}$ design size a `\.{360dpi}' target directory has been +used. Now we can use the following formula: + + $$ \\{needed\_dpi} = \\{your\_horizontal\_resolution} * + {\\{your\_target\_size} \over 10.0} $$ + +Example: assuming that your printer has a resolution of +$300\times400\,\hbox{dpi}$, and you want $14.4\,\hbox{pt}$: + + $$ 300 * {14.4 \over 10.0} = 432 $$ + +The vertical scaling value is $400 / 300 = 1.3333$. Use these values now to +call \.{hbf2gf} in \mf-like mode: + +\quad \.{hbf2gf b5so1220 432 1.3333} + + + +@* Index. diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh new file mode 100644 index 00000000000..ebc66913e94 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/install-sh @@ -0,0 +1,250 @@ +#! /bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + true +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + else + instcmd=mkdir + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f $src -o -d $src ] + then + true + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + true + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + true + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' +' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + true + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + true + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs new file mode 100644 index 00000000000..91f6d04e17c --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/mkinstalldirs @@ -0,0 +1,32 @@ +#!/bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman <friedman@prep.ai.mit.edu> +# Created: 1993-05-16 +# Last modified: 1994-03-25 +# Public domain + +errstatus=0 + +for file in ${1+"$@"} ; do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d in ${1+"$@"} ; do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" 1>&2 + mkdir "$pathcomp" || errstatus=$? + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# mkinstalldirs ends here diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff new file mode 100644 index 00000000000..02f6250898a --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXPK.diff @@ -0,0 +1,63 @@ +--- MakeTeXPK.orig Sun Feb 23 22:12:05 1997 ++++ MakeTeXPK Tue Aug 18 08:07:40 1998 +@@ -80,18 +80,57 @@ + : ${MAKETEXDIR=$TEXMF/maketex} + export TEXMF MAKETEXDIR + ++unset cmd ++ ++# test for TTF fonts ++if test -z "$cmd"; then ++ ttf2pk -q $NAME $DPI ++ errstatus=$? ++ ++ if test $errstatus -ne 2; then ++ if test $errstatus -ne 0; then ++ echo "ttf2pk failed" >&2 ++ exit 1 ++ fi ++ MODE=ttf2pk # preferred mode for TDS would be `modeless' ++ cmd=true ++ fi ++fi ++ ++# test for HBF fonts ++if test -z "$cmd"; then ++ hbf2gf -q -p $NAME $DPI ++ errstatus=$? ++ ++ if test $errstatus -ne 2; then ++ if test $errstatus -ne 0; then ++ echo "hbf2gf failed" >&2 ++ exit 1 ++ fi ++ MODE=hbf2gf # preferred mode for TDS would be `modeless' ++ cmd=true ++ fi ++fi ++ ++unset psline ++ + # grep for the font in $PSMAPFILE, if some ps-to-pk is claimed to be supported. + # We have to figure out the name of the base font -- $NAME is probably + # something like pplr, but it's rpplr or pplr0 or pplr8r that's in psfonts.map. +-pattern="^r?$NAME"'(0|8r)?([ ]|$)' +-psline=`egrep "$pattern" $PSMAPFILE` ++if test -z "$cmd"; then ++ pattern="^r?$NAME"'(0|8r)?([ ]|$)' ++ psline=`egrep "$pattern" $PSMAPFILE` ++fi ++ + if test -n "$psline"; then + cmd="gsftopk $NAME $DPI" + MODE=gsftopk + # some installations have set up gs in such a way that creating files + # is only allowed if the parameter -DNOSAFER is used: + GS_OPTIONS=-DNOSAFER; export GS_OPTIONS +-else ++fi ++ ++if test -z "$cmd"; then + # If an explicit mode is not supplied, try to guess. You can get a + # list of extant modes from ftp.cs.umb.edu:pub/tex/modes.mf. + if test -z "$MODE" || test "$MODE" = default; then diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff new file mode 100644 index 00000000000..52cd52e1c1d --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/teTeX-0.4/MakeTeXTFM.diff @@ -0,0 +1,28 @@ +--- MakeTeXTFM.orig Mon Feb 10 22:40:31 1997 ++++ MakeTeXTFM Tue Aug 18 08:14:40 1998 +@@ -48,7 +48,24 @@ + BDPI=${MT_DEF_BDPI-600} + DPI=$BDPI + +-cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" ++unset cmd ++ ++# test for CJK bitmap font in HBF format ++hbf2gf -q $NAME $DPI ++errstatus=$? ++ ++if test $errstatus -ne 2; then ++ if test $errstatus -ne 0; then ++ echo "$progname: \`hbf2gf failed." >&2 ++ exit 1 ++ fi ++ pltotf ./$NAME.pl $TFMNAME || exit 1 ++ cmd=true ++fi ++ ++if test -z "$cmd"; then ++ cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME" ++fi + + set x `MakeTeXnames $NAME $DPI $MODE $DEST` + PKDEST=$2 diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff new file mode 100644 index 00000000000..0536dbc7a4a --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/MakeTeXPK.diff @@ -0,0 +1,75 @@ +--- MakeTeXPK.orig Sun Aug 16 08:05:07 1998 ++++ MakeTeXPK Tue Aug 18 07:53:57 1998 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# original MakeTeXPK -- make a new PK font, because one wasn't found. ++# MakeTeXPK -- make a new PK font, because one wasn't found. + # Version of 12dec94. + # + # (If you change or delete the word `original' on the previous line, +@@ -142,11 +142,52 @@ + test -d $TEMPDIR || mkdir $TEMPDIR + cd $TEMPDIR || exit 1 + ++unset cmd ++ ++# test for TTF fonts ++if test -z "$cmd"; then ++ ttf2pk -q $NAME $DPI ++ errstatus=$? ++ ++ if test $errstatus -ne 2; then ++ if test $errstatus -ne 0; then ++ echo "ttf2pk failed" >&2 ++ exit 1 ++ fi ++ test -z "$6" && DESTDIR="$DESTROOT/ttf2pk" # preferred mode for TDS ++ # would be `modeless' ++ echo "Successful call to ttf2pk" >&2 ++ cmd=ttf2pk ++ fi ++fi ++ ++# test for HBF fonts ++if test -z "$cmd"; then ++ hbf2gf -q -p $NAME $DPI ++ errstatus=$? ++ ++ if test $errstatus -ne 2; then ++ if test $errstatus -ne 0; then ++ echo "hbf2gf failed" >&2 ++ exit 1 ++ fi ++ test -z "$6" && DESTDIR="$DESTROOT/hbf2gf" # preferred mode for TDS ++ # would be `modeless' ++ echo "Successful call to hbf2gf" >&2 ++ cmd=hbf2gf ++ ++ gftopk ./$GFNAME $PKNAME || exit 1 ++ fi ++fi ++ + # grep for the font in $PSMAPFILE, if some ps-to-pk is claimed to be supported. + # We have to figure out the name of the base font -- $NAME is probably + # something like pplr, but it's rpplr or pplr0 or pplr8r that's in psfonts.map. +-pattern="^r?$NAME"'(0|8r)?([ ]|$)' +-test -n "$ps_to_pk" && egrep "$pattern" $PSMAPFILE >psline ++if test -z "$cmd"; then ++ pattern="^r?$NAME"'(0|8r)?([ ]|$)' ++ test -n "$ps_to_pk" && egrep "$pattern" $PSMAPFILE > psline ++fi ++ + if test -s psline; then + # This is a PostScript font. + MODE=$ps_to_pk +@@ -173,8 +214,9 @@ + export DVIPSHEADERS + echo "$0: Running $cmd" >&2 + $cmd >&2 || { echo "$0: $ps_to_pk failed." >&2; exit 1; } ++fi + +-else ++if test -z "$cmd"; then + # Try Metafont. + MFINPUTS="$MFINPUTS:$SAVEPWD" + export MFINPUTS diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README new file mode 100644 index 00000000000..eb12bec7a33 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-6.1/README @@ -0,0 +1 @@ +This is for web2c-6.1 with the patch for kpathsea 2.6 diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff new file mode 100644 index 00000000000..23f7cb58fed --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXPK.diff @@ -0,0 +1,67 @@ +--- MakeTeXPK.orig Sat Feb 8 15:52:00 1997 ++++ MakeTeXPK Tue Aug 18 07:58:22 1998 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# original MakeTeXPK -- make a new PK font, because one wasn't found. ++# MakeTeXPK -- make a new PK font, because one wasn't found. + # + # (If you change or delete the word `original' on the previous line, + # installation won't write this script over yours.) +@@ -44,15 +44,54 @@ + MODE=$5 + DEST=$6 + ++unset cmd ++ ++# test for TTF fonts ++if test -z "$cmd"; then ++ ttf2pk -q $NAME $DPI ++ errstatus=$? ++ ++ if test $errstatus -ne 2; then ++ if test $errstatus -ne 0; then ++ echo "ttf2pk failed" >&2 ++ exit 1 ++ fi ++ MODE=modeless ++ cmd=true ++ fi ++fi ++ ++# test for HBF fonts ++if test -z "$cmd"; then ++ hbf2gf -q -p $NAME $DPI ++ errstatus=$? ++ ++ if test $errstatus -ne 2; then ++ if test $errstatus -ne 0; then ++ echo "hbf2gf failed" >&2 ++ exit 1 ++ fi ++ MODE=modeless ++ cmd=true ++ fi ++fi ++ ++unset psline ++ + # grep for the font in $PSMAPFILE. These are base font names, such as + # rpplr (the original) or pplr0 (an interim step) or pplr8r (current). +-pattern="^r?$NAME"'(0|8r)?([ ]|$)' +-psline=`egrep "$pattern" $PSMAPFILE` ++if test -z "$cmd"; then ++ pattern="^r?$NAME"'(0|8r)?([ ]|$)' ++ psline=`egrep "$pattern" $PSMAPFILE` ++fi ++ + if test -n "$psline"; then + MODE=modeless + # ps_to_pk set in MakeTeXcommon and/or MakeTeX.site. + cmd="$ps_to_pk $NAME $DPI" +-else ++fi ++ ++if test -z "$cmd"; then + # Check that $BDPI and $MODE are consistent; if not, ignore the mode and + # hope we can correctly guess it from bdpi. (People like to specify the + # resolution on the command line, not the mode so much.) diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff new file mode 100644 index 00000000000..a67df4e14b1 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.0/MakeTeXTFM.diff @@ -0,0 +1,36 @@ +--- 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 </dev/null + test -r $TFMNAME || { echo "$0: \`$cmd' failed to make $TFMNAME."; exit 1; } diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff new file mode 100644 index 00000000000..1faf078adb3 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXPK.diff @@ -0,0 +1,72 @@ +--- MakeTeXPK.orig Fri Oct 31 09:30:54 1997 ++++ MakeTeXPK Tue Aug 18 08:01:33 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.) +@@ -57,11 +57,48 @@ + 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). +-: ${PSMAPFILE=`kpsewhich psfonts.map`} +-pattern="^$NAME"'([ ]|$)' +-psline=`egrep "$pattern" $PSMAPFILE` ++if test -z "$cmd"; then ++ : ${PSMAPFILE=`kpsewhich psfonts.map`} ++ pattern="^r?$NAME"'(0|8r)?([ ]|$)' ++ psline=`egrep "$pattern" $PSMAPFILE` ++fi ++ + if test -n "$psline"; then + MODE=modeless + # ps_to_pk is set in MakeTeX.cnf +@@ -100,7 +137,9 @@ + cmd="$ps_to_pk $NAME $DPI" + ;; + esac +-else ++fi ++ ++if test -z "$cmd"; then + # Check that $BDPI and $MODE are consistent; if not, ignore the mode and + # hope we can correctly guess it from bdpi. (People like to specify the + # resolution on the command line, not the mode so much.) diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff new file mode 100644 index 00000000000..3fd17f94539 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.1/MakeTeXTFM.diff @@ -0,0 +1,36 @@ +--- 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 </dev/null || { diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff new file mode 100644 index 00000000000..ac703fd7d39 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktexpk.diff @@ -0,0 +1,72 @@ +--- mktexpk.orig Fri Feb 20 16:23:22 1998 ++++ mktexpk Tue Aug 18 08:04:40 1998 +@@ -1,5 +1,5 @@ + #!/bin/sh +-# original mktexpk -- make a new PK font, because one wasn't found. ++# mktexpk -- 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.) +@@ -73,11 +73,48 @@ + + NAME=$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 ++ MODE=modeless ++ cmd=true ++ fi ++fi ++ ++# test for HBF fonts ++if test -z "$cmd"; then ++ hbf2gf -q -p $NAME $DPI ++ errstatus=$? ++ ++ if test $errstatus -ne 2; then ++ if test $errstatus -ne 0; then ++ echo "hbf2gf failed" >&2 ++ exit 1 ++ fi ++ MODE=modeless ++ cmd=true ++ fi ++fi ++ ++unset psline ++ + # grep for the font in $PSMAPFILE. These are base font names, such as + # rpplr (the original) or pplr0 (an interim step) or pplr8r (current). +-: ${PSMAPFILE=`kpsewhich psfonts.map`} +-pattern="^$NAME"'([ ]|$)' +-psline=`egrep "$pattern" $PSMAPFILE` ++if test -z "$cmd"; then ++ : ${PSMAPFILE=`kpsewhich psfonts.map`} ++ pattern="^r?$NAME"'(0|8r)?([ ]|$)' ++ psline=`egrep "$pattern" $PSMAPFILE` ++fi ++ + if test -n "$psline"; then + MODE=modeless + # ps_to_pk is set in mktex.opt +@@ -116,7 +153,9 @@ + cmd="$ps_to_pk $NAME $DPI" + ;; + esac +-else ++fi ++ ++if test -z "$cmd"; then + # Check that $BDPI and $MODE are consistent; if not, ignore the mode and + # hope we can correctly guess it from bdpi. (People like to specify the + # resolution on the command line, not the mode so much.) diff --git a/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff new file mode 100644 index 00000000000..b7bf872e8cc --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/hbf2gf/scripts/web2c-7.2/mktextfm.diff @@ -0,0 +1,36 @@ +--- 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 </dev/null || { diff --git a/Master/texmf-dist/source/latex/cjk/utils/lisp/cjkspace.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/cjkspace.el new file mode 100644 index 00000000000..ac99e86ec95 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/cjkspace.el @@ -0,0 +1,102 @@ +;;; cjkspace.el --- provide a tilde character if you type a space. +;;; use this file with AUCTeX. + +;; Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +;; +;; 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.0 (22-May-2008) + +;; 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/Master/texmf-dist/source/latex/cjk/utils/lisp/cjktilde.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/cjktilde.el new file mode 100644 index 00000000000..d709cbeb0e2 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/cjktilde.el @@ -0,0 +1,111 @@ +;;; cjktilde.el -- minor mode exchanging `~' and ` ' keys. + +;; Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +;; +;; 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.0 (22-May-2008) + +;; 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/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/cjk-enc.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/cjk-enc.el new file mode 100644 index 00000000000..32b7887153d --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/cjk-enc.el @@ -0,0 +1,1100 @@ +;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package + +;; Copyright (C) 1996-2000 Electrotechnical Laboratory, JAPAN. + +;; Author: Kenichi HANDA <handa@etl.go.jp> +;; Werner LEMBERG <wl@gnu.org> + +;; 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.0 (22-May-2008) +;; + +;;; 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)) + (make-coding-system + 'cjk-coding 0 ?c + "Coding-system for LaTeX2e CJK Package" + nil + '((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)) + (setq ch (following-char)) + (set-buffer work-buf) + + ;; Set CHARSET to the character set of the current character. + (setq charset (char-charset ch)) + (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 <buffername>.cjk in cjk-coding. +Files of the form <buffername>.bib are saved as <buffername>-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 <FILENAME>.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/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/thai-word.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/thai-word.el new file mode 100644 index 00000000000..956cf27b06e --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/emacs/thai-word.el @@ -0,0 +1,11052 @@ +;;; thai-word.el -- find Thai word boundaries + +;; Copyright (C) 2000, 2001, 2002, 2003, 2004 +;; Electrotechnical Laboratory, JAPAN. + +;; Author: Kenichi HANDA <handa@etl.go.jp> + +;; 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 <vuthi@nii.ac.jp>. + + +;; 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 + '("กก" + "กกล" + "กกุธภัณฑ์" + "กง" + "กงการ" + "กงสุล" + "กงเต๊ก" + "กฎ" + "กฎหมาย" + "กฐิน" + "กด" + "กตัญชลี" + "กตัญญุตา" + "กตัญญู" + "กตาธิการ" + "กตาภินิหาร" + "กติกา" + "กตเวทิตา" + "กตเวที" + "กถา" + "กทม" + "กทลี" + "กน" + "กนก" + "กนิษฐา" + "กบ" + "กบฏ" + "กบดาน" + "กบทู" + "กบาล" + "กบินทร์" + "กบิล" + "กบี่" + "กมล" + "กร" + "กรกฎ" + "กรกฎาคม" + "กรกฏ" + "กรง" + "กรณฑ์" + "กรณี" + "กรณียกิจ" + "กรณีย์" + "กรด" + "กรน" + "กรบ" + "กรบูร" + "กรม" + "กรมท่า" + "กรมธรรม์" + "กรร" + "กรรชิง" + "กรรณ" + "กรรณิการ์" + "กรรพุม" + "กรรม" + "กรรมกร" + "กรรมการ" + "กรรมชวาต" + "กรรมาชน" + "กรรมาชีพ" + "กรรมาธิการ" + "กรรเจียก" + "กรรเชียง" + "กรรแทรก" + "กรรโชก" + "กรรไกร" + "กรวด" + "กรวบ" + "กรวย" + "กรอ" + "กรอก" + "กรอกแกรก" + "กรอง" + "กรองกรอย" + "กรอด" + "กรอบ" + "กรอม" + "กระ" + "กระงกกระเงิ่น" + "กระง่องกระแง่ง" + "กระง่อนกระแง่น" + "กระจก" + "กระจอก" + "กระจองอแง" + "กระจัง" + "กระจับ" + "กระจาด" + "กระจาบ" + "กระจาย" + "กระจิด" + "กระจิบ" + "กระจิริด" + "กระจุก" + "กระจุบกระจิบ" + "กระจุย" + "กระจุ๋งกระจิ๋ง" + "กระจุ๋มกระจิ๋ม" + "กระจู๋กระจี๋" + "กระจ่าง" + "กระจ้อน" + "กระฉอก" + "กระฉับกระเฉง" + "กระฉูด" + "กระฉ่อน" + "กระชอน" + "กระชับ" + "กระชั้น" + "กระชาก" + "กระชุ" + "กระซิก" + "กระซิบ" + "กระฎุมพี" + "กระดก" + "กระดอง" + "กระดอน" + "กระดังงา" + "กระดาก" + "กระดางลาง" + "กระดาน" + "กระดาษ" + "กระดิก" + "กระดิ่ง" + "กระดี่" + "กระดืบ" + "กระดุม" + "กระดูก" + "กระด้ง" + "กระด้าง" + "กระติก" + "กระติบ" + "กระติ๊ด" + "กระตือรือร้น" + "กระตุก" + "กระตุ้งกระติ้ง" + "กระตุ้น" + "กระต่องกระแต่ง" + "กระต่าย" + "กระต้วมกระเตี้ยม" + "กระต๊อบ" + "กระถิน" + "กระทง" + "กระทบ" + "กระทรวง" + "กระทะ" + "กระทั่ง" + "กระทิง" + "กระทืบ" + "กระทุง" + "กระทู้" + "กระท่อม" + "กระท้อน" + "กระท้อมกระแท้ม" + "กระนั้น" + "กระบวน" + "กระบวย" + "กระบอก" + "กระบอง" + "กระบะ" + "กระบิ" + "กระบี่" + "กระบือ" + "กระบุง" + "กระปรี้กระเปร่า" + "กระปั้วกระเปี้ย" + "กระป่ำ" + "กระป้อกระแป้" + "กระป๋อง" + "กระผลีกระผลาม" + "กระผีก" + "กระพี้" + "กระพือ" + "กระพุ้ง" + "กระฟัดกระเฟียด" + "กระฟูมกระฟาย" + "กระมอมกระแมม" + "กระมัง" + "กระยาหงัน" + "กระยึกกระยือ" + "กระย่อน" + "กระรอก" + "กระลอม" + "กระลัมพร" + "กระวิน" + "กระวีกระวาด" + "กระษัย" + "กระษาปณ์" + "กระสอบ" + "กระสัง" + "กระสัน" + "กระสา" + "กระสือ" + "กระสุงกระสิง" + "กระสุน" + "กระหนก" + "กระหนาบ" + "กระหน่ำ" + "กระหมิบ" + "กระหม่อม" + "กระหยิ่ม" + "กระหาย" + "กระหึม" + "กระหึ่ม" + "กระออบ" + "กระอัก" + "กระอักกระอ่วน" + "กระเง้ากระงอด" + "กระเจา" + "กระเจิง" + "กระเจิดกระเจิง" + "กระเจี๊ยบ" + "กระเช้า" + "กระเซอ" + "กระเซิง" + "กระเซ็น" + "กระเซ้า" + "กระเดิด" + "กระเดียด" + "กระเดือก" + "กระเดื่อง" + "กระเด็น" + "กระเด้า" + "กระเตง" + "กระเตาะ" + "กระเตื้อง" + "กระเต็น" + "กระเถิบ" + "กระเทียม" + "กระเทือน" + "กระเบน" + "กระเบียด" + "กระเบื้อง" + "กระเปาะ" + "กระเป๋า" + "กระเพาะ" + "กระเพื่อม" + "กระเย้อกระแหย่ง" + "กระเรียน" + "กระเสียน" + "กระเสียร" + "กระเส็นกระสาย" + "กระเส่า" + "กระเหม็ดกระแหม่" + "กระแจะ" + "กระแซะ" + "กระแดะ" + "กระแด่ว" + "กระแต" + "กระแทก" + "กระแส" + "กระแอม" + "กระโจน" + "กระโจม" + "กระโฉกกระเฉก" + "กระโดก" + "กระโดกกระเดก" + "กระโดง" + "กระโดด" + "กระโถน" + "กระโบม" + "กระโปรง" + "กระโห้" + "กรัก" + "กรัง" + "กรัน" + "กรับ" + "กรัม" + "กราก" + "กราง" + "กราด" + "กราน" + "กราบ" + "กราฟ" + "กราฟฟิก" + "กราฟิก" + "กราม" + "กราย" + "กราว" + "กรำ" + "กริก" + "กริงกริว" + "กริช" + "กริบ" + "กริม" + "กริยา" + "กริว" + "กริ่ง" + "กริ่ม" + "กริ้ว" + "กริ๊ก" + "กริ๊ง" + "กรี" + "กรีก" + "กรีฑา" + "กรีด" + "กรีธา" + "กรี๊ด" + "กรุ" + "กรุก" + "กรุง" + "กรุงเทพ" + "กรุณา" + "กรุณาธิคุณ" + "กรุน" + "กรุบ" + "กรุย" + "กรุ่น" + "กรุ่ม" + "กรุ้มกริ่ม" + "กรุ๊ป" + "กรู" + "กรูด" + "กร็อกกร๋อย" + "กร่อน" + "กร่อย" + "กร่าง" + "กร่าย" + "กร่ำ" + "กร้วม" + "กร้อ" + "กร้าน" + "กร้าว" + "กฤษฎีกา" + "กฤษณา" + "กล" + "กลด" + "กลบ" + "กลม" + "กลยุทธ์" + "กลวง" + "กลอก" + "กลอง" + "กลอน" + "กลอย" + "กลัก" + "กลัด" + "กลับ" + "กลัว" + "กลั่น" + "กลั้น" + "กลั้ว" + "กลาก" + "กลาง" + "กลาด" + "กลาย" + "กลาโหม" + "กลิ่ง" + "กลิ่น" + "กลิ้ง" + "กลิ้ม" + "กลี" + "กลีบ" + "กลี่" + "กลึง" + "กลืน" + "กลุ่ม" + "กลุ้ม" + "กลูโคส" + "กลเม็ด" + "กล่น" + "กล่อง" + "กล่อน" + "กล่อม" + "กล่าว" + "กล่ำ" + "กล้วย" + "กล้วยไม้" + "กล้อ" + "กล้อง" + "กล้อน" + "กล้อมแกล้ม" + "กล้า" + "กล้าม" + "กล้ำ" + "กวด" + "กวน" + "กวม" + "กวย" + "กวยจั๊บ" + "กวยจี๊" + "กวัก" + "กวัด" + "กวาง" + "กวางตุ้ง" + "กวาด" + "กวาวเครือ" + "กวี" + "กว่า" + "กว้าง" + "กว้าน" + "กว๊าน" + "กษัตริย์" + "กษัย" + "กษาปณ์" + "กสิ" + "กสิกร" + "กสิกรรม" + "กสิณ" + "กอ" + "กอก" + "กอง" + "กอซ" + "กอด" + "กอบ" + "กอปร" + "กอย" + "กอริลลา" + "กอล์ฟ" + "กอเอี๊ยะ" + "กะ" + "กะชึ่กกะชั่ก" + "กะซวก" + "กะดี่" + "กะต้ำ" + "กะต๊าก" + "กะทกรก" + "กะทัดรัด" + "กะทันหัน" + "กะทิ" + "กะทือ" + "กะบังลม" + "กะบิ้ง" + "กะปริดกะปรอย" + "กะปวกกะเปียก" + "กะปะ" + "กะปิ" + "กะพง" + "กะพริบ" + "กะพล่องกะแพล่ง" + "กะพ้อ" + "กะรัต" + "กะรุ่งกะริ่ง" + "กะลวย" + "กะลอ" + "กะละปังหา" + "กะละมัง" + "กะละแม" + "กะลา" + "กะลาสี" + "กะลิ้มกะเหลี่ย" + "กะล่อน" + "กะล่อมกะแล่ม" + "กะล่อยกะหลิบ" + "กะส้าหอย" + "กะหนุงกะหนิง" + "กะหน็องกะแหน็ง" + "กะหรอด" + "กะหรี่" + "กะหร็อมกะแหร็ม" + "กะหร่อง" + "กะหลี่" + "กะหลุกกะหลิก" + "กะหล่ำ" + "กะเดก" + "กะเตง" + "กะเทย" + "กะเทาะ" + "กะเปิ๊บกะป๊าบ" + "กะเผลก" + "กะเรี่ยกะราด" + "กะเลิด" + "กะเล่อกะล่า" + "กะเหรี่ยง" + "กะเหลาะเปาะ" + "กะแช่" + "กะโตงกะเตง" + "กะโต้งโห่ง" + "กะโต๊ก" + "กะโปรง" + "กะโปโล" + "กะโผลกกะเผลก" + "กะโหลก" + "กัก" + "กักขฬะ" + "กัง" + "กังก้า" + "กังขา" + "กังฉิน" + "กังฟู" + "กังวล" + "กังวาน" + "กังสดาล" + "กังหัน" + "กังไส" + "กัญชา" + "กัญญา" + "กัณฑ์" + "กัด" + "กัน" + "กันดาร" + "กันต์" + "กันยายน" + "กันย์" + "กับ" + "กัป" + "กัปตัน" + "กัมปนาท" + "กัมประโด" + "กัมพูชา" + "กัมมันตภาพรังสี" + "กัมมันตรังสี" + "กัลบก" + "กัลปพฤกษ์" + "กัลปังหา" + "กัลปาวสาน" + "กัลป์" + "กัลยา" + "กัลยาณ" + "กัลยาณมิตร" + "กัลยาณี" + "กัลโช" + "กั่น" + "กั้ง" + "กั้น" + "กั้นหยั่น" + "กั๊ก" + "กา" + "กาก" + "กากี" + "กาง" + "กางเกง" + "กางเขน" + "กาซะลอง" + "กาญจนบุรี" + "กาญจนา" + "กาด" + "กาน" + "กานดา" + "กานพลู" + "กาบ" + "กาฝาก" + "กาพย์" + "กาม" + "กามารมณ์" + "กาย" + "กายกรรม" + "กายภาพ" + "กายวิภาค" + "กายสิทธิ์" + "กายาพยพ" + "การ" + "การณ์" + "การบูร" + "การะเกด" + "การัณย์" + "การันต์" + "การุญ" + "การุณย์" + "การเวก" + "การ์" + "การ์ด" + "การ์ตูน" + "กาล" + "กาลกิณี" + "กาลี" + "กาลเทศะ" + "กาว" + "กาศ" + "กาส" + "กาสร" + "กาสิโน" + "กาหลง" + "กาฬ" + "กาเหว่า" + "กาแฟ" + "กาแล็กซี" + "กำ" + "กำกวม" + "กำกัด" + "กำกับ" + "กำจร" + "กำจัด" + "กำจาย" + "กำชับ" + "กำซาบ" + "กำดัด" + "กำธร" + "กำนัน" + "กำนัล" + "กำบัง" + "กำปั่น" + "กำพร้า" + "กำพืด" + "กำมะถัน" + "กำมะลอ" + "กำมะหยี่" + "กำยาน" + "กำยำ" + "กำราบ" + "กำลัง" + "กำสรวล" + "กำหนด" + "กำหนัด" + "กำเดา" + "กำเนิด" + "กำเริบ" + "กำเหน็จ" + "กำแพง" + "กำแหง" + "กำไร" + "กำไล" + "กิก" + "กิกะ" + "กิจ" + "กิจกรรม" + "กิจการ" + "กิจจะลักษณะ" + "กิจจา" + "กิตติ" + "กิตติคุณ" + "กิตติมศักดิ์" + "กิตติศัพท์" + "กิน" + "กินนร" + "กินรี" + "กิริณี" + "กิริยา" + "กิเลน" + "กิเลส" + "กิโมโน" + "กิโยตีน" + "กิโล" + "กิโลกรัม" + "กิโลลิตร" + "กิโลเมตร" + "กิโลเฮิรตซ์" + "กิ่ง" + "กิ่ว" + "กิ้งกือ" + "กิ้งก่า" + "กิ๊ก" + "กิ๊บ" + "กิ๋ว" + "กีฏวิทยา" + "กีด" + "กีตาร์" + "กีบ" + "กีฬา" + "กี่" + "กี้" + "กี๋" + "กึก" + "กึกก้อง" + "กึ่ง" + "กึ๋น" + "กุ" + "กุก" + "กุกกัก" + "กุญชร" + "กุญแจ" + "กุฎุมพี" + "กุฏฐัง" + "กุฏิ" + "กุณฑล" + "กุด" + "กุดัง" + "กุดั่น" + "กุน" + "กุนซือ" + "กุนเชียง" + "กุบ" + "กุม" + "กุมภา" + "กุมภ์" + "กุมาร" + "กุมารา" + "กุมารี" + "กุย" + "กุยช่าย" + "กุยเฮง" + "กุล" + "กุลธิดา" + "กุลบุตร" + "กุลสตรี" + "กุลา" + "กุลี" + "กุลีกุจอ" + "กุศล" + "กุศโลบาย" + "กุหลาบ" + "กุ่ม" + "กุ้ง" + "กุ๊ก" + "กุ๊น" + "กุ๊ย" + "กุ๋ย" + "กู" + "กูณฑ์" + "กูด" + "กูบ" + "กู่" + "กู้" + "กเฬวราก" + "ก็" + "ก่ง" + "ก่น" + "ก่อ" + "ก่อง" + "ก่อน" + "ก่าย" + "ก่ำ" + "ก้งโค้ง" + "ก้น" + "ก้ม" + "ก้อ" + "ก้อง" + "ก้อน" + "ก้อม" + "ก้อย" + "ก้อร่อก้อติก" + "ก้าง" + "ก้าน" + "ก้าม" + "ก้าว" + "ก้ำ" + "ก้ำกึ่ง" + "ก้ำเกิน" + "ก๊ก" + "ก๊ง" + "ก๊อก" + "ก๊อบปี้" + "ก๊อปปี้" + "ก๊าซ" + "ก๊าด" + "ก๋ง" + "ก๋วยเตี๋ยว" + "ก๋อย" + "ก๋า" + "ขงจื๊อ" + "ขจร" + "ขจัด" + "ขจาย" + "ขจี" + "ขจุย" + "ขณะ" + "ขด" + "ขน" + "ขนง" + "ขนด" + "ขนน" + "ขนบ" + "ขนม" + "ขนมอบ" + "ขนัด" + "ขนัน" + "ขนาก" + "ขนาง" + "ขนาด" + "ขนาน" + "ขนาบ" + "ขนาย" + "ขนิษฐา" + "ขนุน" + "ขบ" + "ขบถ" + "ขบวน" + "ขม" + "ขมวด" + "ขมอง" + "ขมอย" + "ขมัง" + "ขมับ" + "ขมา" + "ขมิบ" + "ขมิ้น" + "ขมีขมัน" + "ขมึง" + "ขมุกขมอม" + "ขมุกขมัว" + "ขมุบ" + "ขมุบขมิบ" + "ขม่อม" + "ขม้ำ" + "ขยอก" + "ขยอง" + "ขยะ" + "ขยัก" + "ขยัน" + "ขยับ" + "ขยั้น" + "ขยาด" + "ขยาบ" + "ขยาย" + "ขยำ" + "ขยิก" + "ขยิบ" + "ขยิ่ม" + "ขยี้" + "ขยุกขยิก" + "ขยุกขยุย" + "ขยุบ" + "ขยุบขยิบ" + "ขยุม" + "ขยุย" + "ขยุ้ม" + "ขย่ม" + "ขย่อน" + "ขย้อน" + "ขย้ำ" + "ขรม" + "ขรรค์" + "ขรัว" + "ขริบ" + "ขรึม" + "ขรุขระ" + "ขลัง" + "ขลับ" + "ขลา" + "ขลาด" + "ขลิบ" + "ขลุก" + "ขลุกขลัก" + "ขลุกขลิก" + "ขลุบ" + "ขลุม" + "ขลุ่ย" + "ขวง" + "ขวด" + "ขวนขวาย" + "ขวบ" + "ขวย" + "ขวักไขว่" + "ขวัญ" + "ขวัด" + "ขวับ" + "ขวับเขวียว" + "ขวั้น" + "ขวา" + "ขวาก" + "ขวาง" + "ขวาด" + "ขวาน" + "ขวายขวน" + "ขวิด" + "ขว้าง" + "ขอ" + "ขอก" + "ของ" + "ขอด" + "ขอน" + "ขอบ" + "ขอบคุณ" + "ขอบใจ" + "ขอม" + "ขะมอมขะแมม" + "ขะมักเขม้น" + "ขะมุกขะมอม" + "ขะยิก" + "ขะยุก" + "ขะเย้อแขย่ง" + "ขะแยะ" + "ขัง" + "ขัณฑสกร" + "ขัณฑสีมา" + "ขัด" + "ขัตติยมานะ" + "ขัน" + "ขันชะเนาะ" + "ขันติ" + "ขันที" + "ขันธ์" + "ขันหมาก" + "ขันโตก" + "ขับ" + "ขัย" + "ขั้น" + "ขั้ว" + "ขา" + "ขาก" + "ขาก๊วย" + "ขาง" + "ขาด" + "ขาน" + "ขาบ" + "ขาม" + "ขาย" + "ขาล" + "ขาว" + "ขำ" + "ขิก" + "ขิง" + "ขิม" + "ขิ่ง" + "ขีด" + "ขีปนาวุธ" + "ขี่" + "ขี้" + "ขี้เหร่" + "ขึง" + "ขึ้ง" + "ขึ้น" + "ขึ้นฉ่าย" + "ขืน" + "ขื่น" + "ขื่อ" + "ขุก" + "ขุด" + "ขุน" + "ขุนทอง" + "ขุนแผน" + "ขุม" + "ขุย" + "ขุ่น" + "ขูด" + "ขู่" + "ขโมย" + "ข่ม" + "ข่วน" + "ข่อ" + "ข่อน" + "ข่อย" + "ข่า" + "ข่าง" + "ข่าย" + "ข่าว" + "ข่าวสาร" + "ข้น" + "ข้อ" + "ข้อง" + "ข้อน" + "ข้อมูล" + "ข้อย" + "ข้า" + "ข้าง" + "ข้าพเจ้า" + "ข้าม" + "ข้าว" + "ข้าวสาร" + "ข้าวเม่า" + "ข้าวโพด" + "ข้าศึก" + "ข้าหลวง" + "คคนัมพร" + "คคนางค์" + "คคนานต์" + "คง" + "คงคา" + "คชราช" + "คชสาร" + "คชาชาติ" + "คชาชีพ" + "คชาธาร" + "คชาภรณ์" + "คณนา" + "คณบดี" + "คณะ" + "คณาจารย์" + "คณาธิการ" + "คณาธิปไตย" + "คณานับ" + "คณิกา" + "คณิต" + "คณิตศาสตร์" + "คด" + "คดี" + "คติ" + "คติธรรม" + "คติพจน์" + "คทา" + "คน" + "คนธรรพ์" + "คนโท" + "คบ" + "คม" + "คมนาการ" + "คมนาคม" + "ครก" + "ครบ" + "ครรชิต" + "ครรภ" + "ครรภ์" + "ครรลอง" + "ครรโลง" + "ครรไล" + "ครวญ" + "ครวัก" + "ครวี" + "ครหา" + "ครอก" + "ครอง" + "ครองแครง" + "ครอบ" + "ครอบครัว" + "คระ" + "ครัดเคร่ง" + "ครัน" + "ครับ" + "ครัว" + "ครั่ง" + "ครั่น" + "ครั้ง" + "ครั้น" + "ครา" + "คราก" + "คราง" + "คราญ" + "คราด" + "คราบ" + "คราม" + "คราว" + "คราส" + "ครำ" + "คริสตกาล" + "คริสตัง" + "คริสต์" + "คริสต์มาส" + "คริสเตียน" + "ครีบ" + "ครีม" + "ครึ" + "ครึกครื้น" + "ครึกโครม" + "ครึน" + "ครึม" + "ครึ่ง" + "ครึ้ม" + "ครืด" + "ครืน" + "ครือ" + "ครื้น" + "ครื้นครึก" + "ครุ" + "ครุฑ" + "ครุมเครือ" + "ครุย" + "ครุ่น" + "ครู" + "ครูด" + "ครู่" + "คร่ง" + "คร่อม" + "คร่า" + "คร่าว" + "คร่ำ" + "คร้าน" + "คร้าม" + "คฤห" + "คฤหัสถ์" + "คฤหาสน์" + "คลอ" + "คลอก" + "คลอง" + "คลอด" + "คลอน" + "คลอรีน" + "คลอโรฟอร์ม" + "คลอโรฟีลล์" + "คละ" + "คลัก" + "คลัง" + "คลัตช์" + "คลับ" + "คลั่ก" + "คลั่ง" + "คลา" + "คลางแคลง" + "คลาด" + "คลาน" + "คลาย" + "คลาส" + "คลาสสิค" + "คลำ" + "คลินิก" + "คลิ้ก" + "คลี" + "คลีนิค" + "คลี่" + "คลึง" + "คลื่น" + "คลื่นเหียน" + "คลื่นไส้" + "คลุก" + "คลุม" + "คลุ่ม" + "คลุ้ง" + "คลุ้ม" + "คล่อง" + "คล่องแคล่ว" + "คล่ำ" + "คล้อง" + "คล้อย" + "คล้าย" + "คล้ำ" + "ควง" + "ควบ" + "ควร" + "ควัก" + "ควัน" + "ควั่น" + "ควาก" + "ควาญ" + "ควาน" + "ความ" + "ควาย" + "ควินิน" + "ควีน" + "คว่ำ" + "คว้า" + "คว้าง" + "คว้าน" + "คหกรรม" + "คหกรรมศาสตร์" + "คหบดี" + "คหปตานี" + "คอ" + "คอก" + "คอด" + "คอน" + "คอนกรีต" + "คอนฟิก" + "คอนเดนเซอร์" + "คอนเสิร์ต" + "คอนเสิร์ท" + "คอนแวนต์" + "คอม" + "คอมพิวเตอร์" + "คอมมานโด" + "คอมมิวนิสต์" + "คอมแพค" + "คอมโพเนนท์" + "คอย" + "คอยล์" + "คอรัปชั่น" + "คอร์ซิกา" + "คอร์ด" + "คอร์ปอเรชั่น" + "คอลัมน์" + "คอสตาริกา" + "คอเคซอยด์" + "คอเลสเตอรอล" + "คะ" + "คะนอง" + "คะนึง" + "คะน้า" + "คะมำ" + "คะยั้นคะยอ" + "คะเน" + "คะเยอ" + "คะแนน" + "คัก" + "คัคนัมพร" + "คัคนางค์" + "คัคนานต์" + "คัณฑสูตร" + "คัด" + "คัทลียา" + "คัน" + "คันฉาย" + "คันทรง" + "คับ" + "คัมภีรภาพ" + "คัมภีร์" + "คั่ก" + "คั่ง" + "คั่น" + "คั่ว" + "คั้น" + "คา" + "คาง" + "คางคก" + "คาด" + "คาถา" + "คาทอลิก" + "คาน" + "คาบ" + "คาม" + "คามวาสี" + "คาย" + "คารม" + "คารวะ" + "คาราวาน" + "คาราเต้" + "คาราโอเกะ" + "คาร์" + "คาร์บอน" + "คาร์บอนมอนอกไซด์" + "คาร์บอนไดออกไซด์" + "คาร์บอลิก" + "คาร์บอเนต" + "คาร์บูเรเตอร์" + "คาร์ล" + "คาร์โบไฮเดรต" + "คาว" + "คาวี" + "คาเธย์" + "คาเฟ่" + "คำ" + "คำนวณ" + "คำนับ" + "คำนึง" + "คำรน" + "คำรบ" + "คำราม" + "คำแหง" + "คำใต้" + "คิก" + "คิง" + "คิด" + "คิมหันต์" + "คิว" + "คิ้ว" + "คีต" + "คีนยา" + "คีบ" + "คีม" + "คีย์" + "คีย์บอร์ด" + "คีรี" + "คี่" + "คึก" + "คึกคัก" + "คึ่ก" + "คืน" + "คืบ" + "คือ" + "คุ" + "คุก" + "คุกกี้" + "คุณ" + "คุณธรรม" + "คุณภาพ" + "คุณวุฒิ" + "คุณศัพท์" + "คุณสมบัติ" + "คุณากร" + "คุณูปการ" + "คุด" + "คุดทะราด" + "คุม" + "คุย" + "คุรุ" + "คุโณปการ" + "คุ่ม" + "คุ้ง" + "คุ้น" + "คุ้ม" + "คุ้ย" + "คู" + "คูณ" + "คูน" + "คูปอง" + "คูหา" + "คู่" + "คู้" + "คเนจร" + "ค็อกเทล" + "ค่อน" + "ค่อม" + "ค่อย" + "ค่ะ" + "ค่า" + "ค่าง" + "ค่าย" + "ค่ำ" + "ค้น" + "ค้อน" + "ค้อม" + "ค้า" + "ค้าง" + "ค้างคาว" + "ค้างเติ่ง" + "ค้าน" + "ค้ำ" + "ฆราวาส" + "ฆาต" + "ฆาตกร" + "ฆาตกรรม" + "ฆ่า" + "ฆ้อง" + "งก" + "งง" + "งงงวย" + "งด" + "งบ" + "งม" + "งวง" + "งวด" + "งวยงง" + "งอ" + "งอก" + "งอกแงก" + "งอด" + "งอดแงด" + "งอน" + "งอนหง่อ" + "งอบ" + "งอม" + "งอย" + "งอแง" + "งะ" + "งัก" + "งัด" + "งัน" + "งับ" + "งัว" + "งัวเงีย" + "งั่ก" + "งั่ง" + "งั่ว" + "งา" + "งาน" + "งาบ" + "งาม" + "งาย" + "งำ" + "งิ้ว" + "งีบ" + "งึก" + "งึม" + "งึมงำ" + "งุด" + "งุนงง" + "งุบ" + "งุบงิบ" + "งุย" + "งุ่นง่าน" + "งุ่มง่าม" + "งุ้ม" + "งู" + "งูสวัด" + "ง่วง" + "ง่วน" + "ง่อง" + "ง่อน" + "ง่อย" + "ง่า" + "ง่าน" + "ง่าม" + "ง่าย" + "ง่ำ" + "ง้วน" + "ง้อ" + "ง้อม" + "ง้าง" + "ง้าว" + "ง้ำ" + "จก" + "จง" + "จงกลนี" + "จงอาง" + "จด" + "จตุ" + "จตุรงค์" + "จตุรพิธ" + "จตุสดมภ์" + "จน" + "จบ" + "จม" + "จมูก" + "จร" + "จรจัด" + "จรด" + "จรรยา" + "จรรโลง" + "จรลี" + "จรวด" + "จระเข้" + "จรัล" + "จรัส" + "จราจร" + "จริง" + "จริต" + "จริยธรรม" + "จริยศาสตร์" + "จริยศึกษา" + "จริยา" + "จรุง" + "จรูญ" + "จล" + "จลนพลศาสตร์" + "จลนศาสตร์" + "จลาจล" + "จวก" + "จวง" + "จวน" + "จวบ" + "จวัก" + "จอ" + "จอก" + "จอง" + "จองหอง" + "จอด" + "จอน" + "จอบ" + "จอม" + "จอร์แดน" + "จอแจ" + "จะ" + "จะกละ" + "จะกลาม" + "จะละหวั่น" + "จะละเม็ด" + "จะเข้" + "จัก" + "จักขุ" + "จักจั่น" + "จักร" + "จักรพรรดิ" + "จักรภพ" + "จักรยาน" + "จักรวรรดิ" + "จักรวาล" + "จักรี" + "จักษุ" + "จักแหล่น" + "จัง" + "จังกอบ" + "จังก้า" + "จังงัง" + "จังหวะ" + "จังหวัด" + "จังหัน" + "จังไร" + "จัญไร" + "จัณฑาล" + "จัณฑ์" + "จัด" + "จัดการ" + "จัตวา" + "จัตุรัส" + "จัน" + "จันทน์" + "จันทบุรี" + "จันทร" + "จันทรคติ" + "จันทรคราส" + "จันทรุปราคา" + "จันทร์" + "จับ" + "จับกัง" + "จับฉ่าย" + "จั่น" + "จั่ว" + "จั้ก" + "จั๊กจี้" + "จั๊กเดียม" + "จั๊วะ" + "จาก" + "จาง" + "จาด" + "จาตุรงคสันนิบาต" + "จาน" + "จาบ" + "จาบัล" + "จาบัลย์" + "จาม" + "จามจุรี" + "จามร" + "จามรี" + "จาร" + "จาระบี" + "จาระไน" + "จาริก" + "จารี" + "จารีต" + "จารึก" + "จาว" + "จาวา" + "จาเมกา" + "จำ" + "จำกัด" + "จำนง" + "จำนน" + "จำนรรจา" + "จำนรรจ์" + "จำนวน" + "จำนอง" + "จำนำ" + "จำปา" + "จำปี" + "จำพวก" + "จำรัส" + "จำรูญ" + "จำลอง" + "จำหน่าย" + "จำอวด" + "จำเพาะ" + "จำเริญ" + "จำเรียง" + "จำเลย" + "จำแนก" + "จิก" + "จิงโจ้" + "จิต" + "จิตร" + "จิตรกร" + "จิตรกรรม" + "จิตรลดา" + "จิตวิทยา" + "จิตเวช" + "จิตแพทย์" + "จินดา" + "จินตกวี" + "จินตนา" + "จินตนาการ" + "จินตภาพ" + "จิบ" + "จิปาถะ" + "จิ่ม" + "จิ้งจก" + "จิ้งจอก" + "จิ้งหรีด" + "จิ้งเหลน" + "จิ้ม" + "จิ๋ว" + "จีน" + "จีนแส" + "จีบ" + "จีวร" + "จี่" + "จี้" + "จี๊" + "จี๊ด" + "จี๋" + "จึง" + "จึ่ง" + "จึ้ง" + "จืด" + "จุ" + "จุก" + "จุด" + "จุติ" + "จุน" + "จุบ" + "จุบจิบ" + "จุมพฏ" + "จุมพิต" + "จุลจอม" + "จุลชีพ" + "จุลชีวัน" + "จุลชีวิน" + "จุลทรรศน์" + "จุลภาค" + "จุลวรรค" + "จุลศักราช" + "จุลสาร" + "จุลินทรีย์" + "จุฬา" + "จุฬาลงกรณ์" + "จุ่ง" + "จุ่น" + "จุ่ม" + "จุ้น" + "จุ้นจู๊" + "จุ้ม" + "จุ้ย" + "จุ๊กกรู๊" + "จุ๊บ" + "จุ๊บแจง" + "จุ๋งจิ๋ง" + "จุ๋มจิ๋ม" + "จู" + "จูง" + "จูบ" + "จู่" + "จู้" + "จู๊ด" + "จู๋" + "จเร" + "จ่อ" + "จ่อม" + "จ่า" + "จ่าง" + "จ่าย" + "จ้น" + "จ้วง" + "จ้อ" + "จ้อก" + "จ้อกแจ้ก" + "จ้อง" + "จ้อน" + "จ้อย" + "จ้ะ" + "จ้า" + "จ้าง" + "จ้าน" + "จ้าละหวั่น" + "จ้าว" + "จ้ำ" + "จ้ำจี้" + "จ้ำม่ำ" + "จ๊อก" + "จ๊ะ" + "จ๋อ" + "จ๋อง" + "จ๋อย" + "จ๋ะ" + "จ๋า" + "ฉก" + "ฉกรรจ์" + "ฉกษัตริย์" + "ฉกาจ" + "ฉกามาพจร" + "ฉงน" + "ฉงาย" + "ฉนวน" + "ฉนัง" + "ฉนาก" + "ฉนำ" + "ฉบัง" + "ฉบับ" + "ฉม" + "ฉมวก" + "ฉมัง" + "ฉมา" + "ฉมำ" + "ฉล" + "ฉลวย" + "ฉลอง" + "ฉลอม" + "ฉลัก" + "ฉลาก" + "ฉลาด" + "ฉลาม" + "ฉลาย" + "ฉลิว" + "ฉลุ" + "ฉลุกฉลวย" + "ฉลู" + "ฉวย" + "ฉวัดเฉวียน" + "ฉวาง" + "ฉวี" + "ฉศก" + "ฉอก" + "ฉอด" + "ฉอเลาะ" + "ฉะ" + "ฉะฉาน" + "ฉะนั้น" + "ฉะนี้" + "ฉะอ้อน" + "ฉัตร" + "ฉัน" + "ฉันทลักษณ์" + "ฉันทะ" + "ฉันทา" + "ฉันทานุมัติ" + "ฉันท์" + "ฉับ" + "ฉาก" + "ฉาง" + "ฉาด" + "ฉาน" + "ฉาบ" + "ฉาย" + "ฉายา" + "ฉาว" + "ฉำฉา" + "ฉิน" + "ฉิบ" + "ฉิมพลี" + "ฉิว" + "ฉิ่ง" + "ฉีก" + "ฉีด" + "ฉี่" + "ฉุ" + "ฉุก" + "ฉุกเฉิน" + "ฉุด" + "ฉุน" + "ฉุย" + "ฉูด" + "ฉู่" + "ฉ่อง" + "ฉ่อย" + "ฉ่า" + "ฉ่าง" + "ฉ่ำ" + "ฉ้อ" + "ชก" + "ชง" + "ชงโค" + "ชฎา" + "ชด" + "ชน" + "ชนก" + "ชนนี" + "ชนมพรรษา" + "ชนม์" + "ชนวน" + "ชนะ" + "ชนัก" + "ชนิด" + "ชบา" + "ชม" + "ชมดชม้อย" + "ชมพู" + "ชมพูนท" + "ชมพูนุท" + "ชมพู่" + "ชมรม" + "ชมา" + "ชม้อย" + "ชม้าย" + "ชย" + "ชร" + "ชระ" + "ชรัว" + "ชรา" + "ชล" + "ชลธาร" + "ชลธี" + "ชลนา" + "ชลประทาน" + "ชลาลัย" + "ชลาศัย" + "ชว" + "ชวด" + "ชวน" + "ชวร" + "ชวลิต" + "ชวา" + "ชวาล" + "ชอก" + "ชอกช้ำ" + "ชอง" + "ชอน" + "ชอบ" + "ชอปปิ้ง" + "ชอม" + "ชอล์ก" + "ชอื้อ" + "ชอุ่ม" + "ชอ่ำ" + "ชะ" + "ชะงัก" + "ชะงัด" + "ชะงุ้ม" + "ชะง่อน" + "ชะง้ำ" + "ชะตา" + "ชะนี" + "ชะมด" + "ชะมัด" + "ชะรอย" + "ชะลอ" + "ชะลอม" + "ชะลูด" + "ชะล่า" + "ชะเง้อ" + "ชะเนาะ" + "ชะแง้" + "ชะแลง" + "ชะโงก" + "ชะโด" + "ชัก" + "ชัง" + "ชัชวาล" + "ชัฏ" + "ชัด" + "ชัน" + "ชันนะตุ" + "ชันษา" + "ชันสูตร" + "ชัย" + "ชัยพฤกษ์" + "ชัยภูมิ" + "ชั่ง" + "ชั่ว" + "ชั่วโมง" + "ชั้น" + "ชั้ว" + "ชา" + "ชาญ" + "ชาด" + "ชาดก" + "ชาตรี" + "ชาตะ" + "ชาติ" + "ชาน" + "ชานุ" + "ชาม" + "ชาย" + "ชายา" + "ชาลา" + "ชาว" + "ชาวเล" + "ชำ" + "ชำนัญ" + "ชำนาญ" + "ชำนิ" + "ชำระ" + "ชำรุด" + "ชำร่วย" + "ชำเนียน" + "ชำเนียร" + "ชำเรา" + "ชำเลือง" + "ชำแหละ" + "ชิ" + "ชิคาโก" + "ชิง" + "ชิงช้า" + "ชิด" + "ชิน" + "ชิป" + "ชิพ" + "ชิม" + "ชิมแปนซี" + "ชิวหา" + "ชิ่ง" + "ชิ้น" + "ชี" + "ชีปะขาว" + "ชีพ" + "ชีพิตักษัย" + "ชีวประวัติ" + "ชีววิทยา" + "ชีวาตม์" + "ชีวาลัย" + "ชีวิต" + "ชีวิตักษัย" + "ชีวิน" + "ชีวี" + "ชีวเคมี" + "ชี้" + "ชืด" + "ชื่น" + "ชื่นมื่น" + "ชื่อ" + "ชื้น" + "ชื้อ" + "ชุก" + "ชุด" + "ชุน" + "ชุบ" + "ชุม" + "ชุมนุม" + "ชุมพร" + "ชุลมุน" + "ชุลี" + "ชุ่ม" + "ชุ่ย" + "ชุ้ง" + "ชู" + "ชู้" + "ชโย" + "ชโลทร" + "ชโลม" + "ชไม" + "ช็อกโกเลต" + "ช็อกโกแลต" + "ช่วง" + "ช่วย" + "ช่อ" + "ช่อง" + "ช่อน" + "ช่าง" + "ช่ำ" + "ช่ำชอง" + "ช้อง" + "ช้อน" + "ช้อย" + "ช้า" + "ช้าง" + "ช้ำ" + "ซก" + "ซด" + "ซน" + "ซบ" + "ซม" + "ซวดเซ" + "ซวน" + "ซวย" + "ซอ" + "ซอก" + "ซอง" + "ซอน" + "ซอฟต์แวร์" + "ซอฟท์" + "ซอฟท์แวร์" + "ซอมซ่อ" + "ซอย" + "ซอส" + "ซัก" + "ซัง" + "ซัด" + "ซัน" + "ซันตาคลอส" + "ซับ" + "ซัพพอร์ต" + "ซัลฟา" + "ซา" + "ซาก" + "ซากุระ" + "ซาง" + "ซาน" + "ซาบซึ้ง" + "ซาบซ่าน" + "ซามูไร" + "ซาลาเปา" + "ซาว" + "ซาวด์" + "ซิ" + "ซิก" + "ซิการ์" + "ซิกแซ็ก" + "ซินแส" + "ซิบ" + "ซิป" + "ซิฟิลิส" + "ซิลิคอน" + "ซิว" + "ซิ่น" + "ซี" + "ซีก" + "ซีด" + "ซีดี" + "ซีนอน" + "ซีรอกซ์" + "ซีเกมส์" + "ซีเมนต์" + "ซีเรีย" + "ซี่" + "ซี้" + "ซึง" + "ซึม" + "ซึ่ง" + "ซึ้ง" + "ซื่อ" + "ซื้อ" + "ซุก" + "ซุง" + "ซุน" + "ซุบ" + "ซุป" + "ซุย" + "ซุ่ม" + "ซุ่มซ่าม" + "ซุ้ม" + "ซูชิ" + "ซูดซาด" + "ซูดาน" + "ซูบ" + "ซูเปอร์มาเก็ต" + "ซูโครส" + "ซู่" + "ซ่ก" + "ซ่อง" + "ซ่อน" + "ซ่อม" + "ซ่า" + "ซ่าน" + "ซ่าหริ่ม" + "ซ้น" + "ซ้อง" + "ซ้อน" + "ซ้อม" + "ซ้าย" + "ซ้ำ" + "ฌาน" + "ฌาปนกิจ" + "ฌาปนสถาน" + "ญวน" + "ญัตติ" + "ญาณ" + "ญาติ" + "ญี่ปุ่น" + "ฐาน" + "ฐานะ" + "ฐานันดร" + "ฐาปนา" + "ดก" + "ดง" + "ดนตรี" + "ดนโด่" + "ดม" + "ดรรชนี" + "ดราฟต์" + "ดรุณ" + "ดรุณี" + "ดล" + "ดวง" + "ดวด" + "ดวล" + "ดอก" + "ดอกเบี้ย" + "ดอกไม้" + "ดอง" + "ดอด" + "ดอน" + "ดอม" + "ดอย" + "ดอลลาร์" + "ดอส" + "ดะ" + "ดัก" + "ดักดาน" + "ดักแด้" + "ดัง" + "ดัชนี" + "ดัด" + "ดัตซ์" + "ดัน" + "ดับ" + "ดับเบิ้ล" + "ดัมพ์" + "ดัสกร" + "ดั่ง" + "ดั้ง" + "ดั้น" + "ดา" + "ดาก" + "ดาด" + "ดาต้า" + "ดาน" + "ดาบ" + "ดาบส" + "ดาม" + "ดามพ์" + "ดาย" + "ดารณี" + "ดารดาษ" + "ดารา" + "ดาร์" + "ดาล" + "ดาลัด" + "ดาว" + "ดาวดึงส์" + "ดาวน์โหลด" + "ดาวโจนส์" + "ดาษ" + "ดาษดา" + "ดำ" + "ดำรง" + "ดำรัส" + "ดำริ" + "ดำฤษณา" + "ดำเกิง" + "ดำเนิน" + "ดำแคง" + "ดิ" + "ดิก" + "ดิจิตอล" + "ดิฉัน" + "ดิถี" + "ดิน" + "ดิบ" + "ดิรัจฉาน" + "ดิลก" + "ดิวิชั่น" + "ดิสนีย์" + "ดิสเกต" + "ดิ่ง" + "ดิ่ว" + "ดิ้น" + "ดิ้ว" + "ดี" + "ดีกรี" + "ดีด" + "ดีดีที" + "ดีบุก" + "ดีวีดี" + "ดีเซล" + "ดีเปรสชั่น" + "ดีไซน์" + "ดีไซเนอร์" + "ดึก" + "ดึกดำบรรพ์" + "ดึง" + "ดึงสะ" + "ดึ่ง" + "ดึ่ม" + "ดือ" + "ดื่น" + "ดื่ม" + "ดื้อ" + "ดุ" + "ดุก" + "ดุจ" + "ดุด" + "ดุน" + "ดุบ" + "ดุม" + "ดุรงค์" + "ดุริยางคศาสตร์" + "ดุริยางคศิลป์" + "ดุริยางค์" + "ดุล" + "ดุลพินิจ" + "ดุลภาค" + "ดุลยพินิจ" + "ดุลยภาพ" + "ดุษฎี" + "ดุษณี" + "ดุษิต" + "ดุสิต" + "ดุเหว่า" + "ดุ่ม" + "ดุ่ย" + "ดุ้ง" + "ดุ้งดิ้ง" + "ดุ้น" + "ดู" + "ดูกร" + "ดูด" + "ดูรา" + "ด่วน" + "ด่อน" + "ด่อม" + "ด่า" + "ด่าง" + "ด่าน" + "ด่าว" + "ด่ำ" + "ด้ง" + "ด้น" + "ด้วง" + "ด้วน" + "ด้วย" + "ด้อม" + "ด้อย" + "ด้าน" + "ด้าม" + "ด้าย" + "ด้าว" + "ด้ำ" + "ตก" + "ตกลง" + "ตง" + "ตงฉิน" + "ตงิด" + "ตด" + "ตถาคต" + "ตน" + "ตบ" + "ตบะ" + "ตม" + "ตรง" + "ตรม" + "ตรมตรอม" + "ตรรกวิทยา" + "ตรรกศาสตร์" + "ตรรกะ" + "ตรวจ" + "ตรวน" + "ตรอก" + "ตรอง" + "ตรอมตรม" + "ตรอมใจ" + "ตระ" + "ตระกูล" + "ตระหง่าน" + "ตระหนก" + "ตระหนัก" + "ตระหนี่" + "ตระเวน" + "ตรัง" + "ตรับ" + "ตรัย" + "ตรัส" + "ตรา" + "ตรากตรำ" + "ตราบ" + "ตราสัง" + "ตรำ" + "ตริ" + "ตรี" + "ตรียัมปวาย" + "ตรีโกณ" + "ตรึก" + "ตรึง" + "ตรุ" + "ตรุษ" + "ตรู" + "ตรู่" + "ตฤณ" + "ตลก" + "ตลบ" + "ตลอด" + "ตลับ" + "ตลาด" + "ตลิ่ง" + "ตวง" + "ตวัด" + "ตวาด" + "ตอ" + "ตอก" + "ตอง" + "ตอด" + "ตอน" + "ตอบ" + "ตอม" + "ตอร์" + "ตอร์ปิโด" + "ตอแย" + "ตอแหล" + "ตะ" + "ตะกรัน" + "ตะกรุด" + "ตะกรุม" + "ตะกร้อ" + "ตะกร้า" + "ตะกละ" + "ตะกลาม" + "ตะกอน" + "ตะกัง" + "ตะกั่ว" + "ตะกุกตะกัก" + "ตะขอ" + "ตะขาบ" + "ตะขิดตะขวง" + "ตะคริว" + "ตะครุบ" + "ตะคอก" + "ตะนอย" + "ตะบอง" + "ตะบอย" + "ตะบัน" + "ตะปุ่มตะป่ำ" + "ตะพาบ" + "ตะพึด" + "ตะพึดตะพือ" + "ตะพุ่น" + "ตะลีตะลาน" + "ตะลึง" + "ตะลุง" + "ตะลุมบอน" + "ตะลุมพุก" + "ตะล่อม" + "ตะวัน" + "ตะหลิว" + "ตะเกียกตะกาย" + "ตะเกียง" + "ตะเกียบ" + "ตะเข็บ" + "ตะเคียน" + "ตะเฆ่" + "ตะเบ็ง" + "ตะเพิด" + "ตะเพิ่น" + "ตะเพียน" + "ตะเภา" + "ตะเลง" + "ตะแกรง" + "ตะแคง" + "ตะแบง" + "ตะโก" + "ตะโกก" + "ตะโกน" + "ตะโก้" + "ตะโขง" + "ตะโบม" + "ตะโพก" + "ตะโหงก" + "ตะไกร" + "ตะไคร่" + "ตะไคร้" + "ตะไบ" + "ตะไล" + "ตัก" + "ตักษัย" + "ตัง" + "ตังฉ่าย" + "ตังเก" + "ตังเม" + "ตังโอ๋" + "ตัณหา" + "ตัด" + "ตัดสิน" + "ตัน" + "ตันหยง" + "ตับ" + "ตัว" + "ตั่ง" + "ตั้ง" + "ตั้งแต่" + "ตั้วโผ" + "ตั๊กแตน" + "ตั๋ว" + "ตา" + "ตาก" + "ตาด" + "ตาน" + "ตานี" + "ตาบ" + "ตาม" + "ตาย" + "ตาล" + "ตาลปัตร" + "ตำ" + "ตำนาน" + "ตำบล" + "ตำรวจ" + "ตำรับ" + "ตำรา" + "ตำลึง" + "ตำหนัก" + "ตำหนิ" + "ตำแย" + "ตำแหน่ง" + "ติ" + "ติกาหรัง" + "ติง" + "ติณ" + "ติด" + "ติรัจฉาน" + "ติลก" + "ติ่ง" + "ติ้ว" + "ติ๊ก" + "ติ๋ง" + "ตี" + "ตีน" + "ตีบ" + "ตี่" + "ตี๋" + "ตึ" + "ตึก" + "ตึง" + "ตึดตื๋อ" + "ตึ้ก" + "ตึ้กตั้ก" + "ตึ๊ดตื๋อ" + "ตืด" + "ตือฮวน" + "ตื่น" + "ตื้น" + "ตื้อ" + "ตื๊อ" + "ตื๋อ" + "ตุ" + "ตุกติก" + "ตุง" + "ตุน" + "ตุนาหงัน" + "ตุบ" + "ตุรกี" + "ตุลา" + "ตุลาการ" + "ตุลาคม" + "ตุหรัดตุเหร่" + "ตุ่น" + "ตุ่ม" + "ตุ่ย" + "ตุ้งก่า" + "ตุ้งติ้ง" + "ตุ้บ" + "ตุ้ม" + "ตุ้ย" + "ตุ๊" + "ตุ๊ก" + "ตุ๊กตา" + "ตุ๊กแก" + "ตุ๊ด" + "ตุ๊ต๊ะ" + "ตุ๊บป่อง" + "ตุ๊ย" + "ตุ๋น" + "ตุ๋ม" + "ตุ๋ยตุ่ย" + "ตู" + "ตูก" + "ตูด" + "ตูบ" + "ตูม" + "ตู่" + "ตู้" + "ต่วน" + "ต่อ" + "ต่องแต่ง" + "ต่อม" + "ต่อย" + "ต่าง" + "ต่ำ" + "ต้น" + "ต้ม" + "ต้วมเตี้ยม" + "ต้อ" + "ต้อง" + "ต้องเต" + "ต้อน" + "ต้อย" + "ต้อยติ่ง" + "ต้อยตีวิด" + "ต้าน" + "ต๊อก" + "ต๊อกต๋อย" + "ต๋ง" + "ต๋อม" + "ถก" + "ถด" + "ถนน" + "ถนอม" + "ถนัด" + "ถนัดถนี่" + "ถนิม" + "ถม" + "ถมึงทึง" + "ถลก" + "ถลน" + "ถลอก" + "ถลัน" + "ถลา" + "ถลาก" + "ถลำ" + "ถลีถลำ" + "ถลึงตา" + "ถลุง" + "ถลุน" + "ถล่ม" + "ถวัลย์" + "ถวาย" + "ถวิล" + "ถอก" + "ถอง" + "ถอด" + "ถอน" + "ถอย" + "ถะ" + "ถัก" + "ถัง" + "ถัด" + "ถัน" + "ถัว" + "ถั่ว" + "ถา" + "ถาก" + "ถาง" + "ถาด" + "ถาน" + "ถาม" + "ถาวร" + "ถิ่น" + "ถีบ" + "ถี่" + "ถึก" + "ถึง" + "ถือ" + "ถุง" + "ถุน" + "ถุย" + "ถู" + "ถูก" + "ถ่ม" + "ถ่วง" + "ถ่อ" + "ถ่อง" + "ถ่อม" + "ถ่อย" + "ถ่าง" + "ถ่าน" + "ถ่าย" + "ถ้วน" + "ถ้วย" + "ถ้อย" + "ถ้า" + "ถ้ำ" + "ทก" + "ทกล้า" + "ทด" + "ทน" + "ทนต์" + "ทนาย" + "ทนโท่" + "ทบ" + "ทบทวน" + "ทบวง" + "ทมิฬ" + "ทยอย" + "ทรกรรม" + "ทรง" + "ทรชน" + "ทรชาติ" + "ทรพิษ" + "ทรพี" + "ทรมาน" + "ทรยศ" + "ทรยุค" + "ทรรป" + "ทรรศนะ" + "ทรราช" + "ทรลักษณ์" + "ทรวง" + "ทรวดทรง" + "ทรหด" + "ทรัพยากร" + "ทรัพย์" + "ทรัพย์สิน" + "ทรัมเป็ต" + "ทรานซิสเตอร์" + "ทราบ" + "ทราม" + "ทราย" + "ทรุด" + "ทฤษฎี" + "ทลาย" + "ทวง" + "ทวด" + "ทวน" + "ทวย" + "ทวาทศ" + "ทวาย" + "ทวาร" + "ทวิ" + "ทวี" + "ทวีธาภิเษก" + "ทวีป" + "ทว่า" + "ทศ" + "ทศนิยม" + "ทหาร" + "ทอ" + "ทอก" + "ทอง" + "ทองกวาว" + "ทองหลาง" + "ทอด" + "ทอน" + "ทอนซิล" + "ทอฟฟี่" + "ทอย" + "ทอล์ค" + "ทะนง" + "ทะนาน" + "ทะนุ" + "ทะมัดทะแมง" + "ทะมึน" + "ทะมื่น" + "ทะยาน" + "ทะลวง" + "ทะลัก" + "ทะลาย" + "ทะลึ่ง" + "ทะลุ" + "ทะวาย" + "ทะเบียน" + "ทะเยอทะยาน" + "ทะเล" + "ทะเลาะ" + "ทะเล่อทะล่า" + "ทะเล้น" + "ทะแม่ง" + "ทัก" + "ทักขิญ" + "ทักขิณา" + "ทักขิณาวัฏ" + "ทักข์" + "ทักษะ" + "ทักษิณ" + "ทักษิณา" + "ทักษิณาวรรต" + "ทักษิโณทก" + "ทังสเตน" + "ทัณฑกรรม" + "ทัณฑฆาต" + "ทัณฑสถาน" + "ทัณฑ์" + "ทัด" + "ทัน" + "ทันตแพทย์" + "ทันต์" + "ทันที" + "ทับ" + "ทับสมิงคลา" + "ทัพ" + "ทัพพี" + "ทัศนคติ" + "ทัศนวิสัย" + "ทัศนศึกษา" + "ทัศนะ" + "ทัศนา" + "ทัศนาจร" + "ทัศนียภาพ" + "ทัศนีย์" + "ทัศนูปกรณ์" + "ทัศน์" + "ทัศไนย" + "ทั่ง" + "ทั่ว" + "ทั้ง" + "ทา" + "ทาก" + "ทาง" + "ทาน" + "ทาบ" + "ทาม" + "ทาย" + "ทายาด" + "ทายาท" + "ทารก" + "ทาริกา" + "ทารุณ" + "ทาร์ซาน" + "ทาส" + "ทำ" + "ทำนบ" + "ทำนอง" + "ทำนาย" + "ทำนุ" + "ทำลาย" + "ทำเนา" + "ทำเนียบ" + "ทำเล" + "ทำไม" + "ทิคัมพร" + "ทิฆัมพร" + "ทิงเจอร์" + "ทิฐิ" + "ทิด" + "ทิพยจักษุ" + "ทิพยญาณ" + "ทิพยรส" + "ทิพยเนตร" + "ทิพย์" + "ทิพากร" + "ทิม" + "ทิว" + "ทิวงคต" + "ทิวทัศน์" + "ทิวา" + "ทิศ" + "ทิศา" + "ทิศานุทิศ" + "ทิเบต" + "ทิ่ม" + "ทิ้ง" + "ที" + "ทีฆชาติ" + "ทีม" + "ทีเอนที" + "ที่" + "ที่ดิน" + "ทึก" + "ทึนทึก" + "ทึบ" + "ทึม" + "ทึ่ง" + "ทึ่ม" + "ทึ้ง" + "ทื่อ" + "ทุ" + "ทุก" + "ทุกขลาภ" + "ทุกขารมณ์" + "ทุกขเวทนา" + "ทุกข์" + "ทุกรกิริยา" + "ทุคติ" + "ทุจริต" + "ทุด" + "ทุน" + "ทุบ" + "ทุพพล" + "ทุพภิกขภัย" + "ทุย" + "ทุรกันดาร" + "ทุรชน" + "ทุรชาติ" + "ทุรนทุราย" + "ทุรพล" + "ทุลักทุเล" + "ทุศีล" + "ทุเรศ" + "ทุเรียน" + "ทุเลา" + "ทุ่ง" + "ทุ่น" + "ทุ่ม" + "ทุ้ง" + "ทุ้ม" + "ทุ้ย" + "ทู" + "ทูต" + "ทูตานุทูต" + "ทูน" + "ทูบ" + "ทูม" + "ทูล" + "ทู่" + "ทู้" + "ทแกล้ว" + "ทแยง" + "ทโมน" + "ท่วงทำนอง" + "ท่วงที" + "ท่วงท่า" + "ท่วม" + "ท่อ" + "ท่อง" + "ท่อน" + "ท่อม" + "ท่า" + "ท่าน" + "ท่ามกลาง" + "ท้น" + "ท้วง" + "ท้วน" + "ท้วม" + "ท้อ" + "ท้อง" + "ท้า" + "ท้าย" + "ท้าว" + "ธง" + "ธน" + "ธนบัตร" + "ธนบุรี" + "ธนสมบัติ" + "ธนสาร" + "ธนาคาร" + "ธนาณัติ" + "ธนารักษ์" + "ธนู" + "ธม" + "ธร" + "ธรณี" + "ธรรม" + "ธรรมกาย" + "ธรรมชาติ" + "ธรรมดา" + "ธรรมศาสตร์" + "ธรรมะ" + "ธรรมะธัมโม" + "ธรรมาทิตย์" + "ธรรมาธรรม" + "ธรรมาธิปไตย" + "ธรรมาธิษฐาน" + "ธรรมานุสาน" + "ธรรมาภิมุข" + "ธรรมาภิสมัย" + "ธรรมายตนะ" + "ธรรมารมณ์" + "ธรรมาสน์" + "ธรรมิก" + "ธราธร" + "ธราธาร" + "ธราธิบดี" + "ธราธิป" + "ธัญ" + "ธัญญาหาร" + "ธัญพืช" + "ธันวาคม" + "ธัมมะ" + "ธาตุ" + "ธานี" + "ธาร" + "ธารา" + "ธำมรงค์" + "ธำรง" + "ธิดา" + "ธิเบต" + "ธุดงค์" + "ธุรกรรม" + "ธุรการ" + "ธุรกิจ" + "ธุระ" + "ธุลี" + "ธุวดารา" + "ธุวภาค" + "ธุวมณฑล" + "ธูป" + "นก" + "นคร" + "นครราชสีมา" + "นครินทร์" + "นคเรศ" + "นงคราญ" + "นงนุช" + "นงพะงา" + "นงพาล" + "นงราม" + "นงลักษณ์" + "นงเยาว์" + "นที" + "นนทบุรี" + "นนทรี" + "นนทลี" + "นบ" + "นพ" + "นพปฎล" + "นพศก" + "นพศูล" + "นภา" + "นภาลัย" + "นม" + "นมัสการ" + "นรก" + "นรสิงห์" + "นรีเวช" + "นรีแพทย์" + "นฤคหิต" + "นฤนาท" + "นฤมล" + "นฤมิต" + "นลาฏ" + "นลินี" + "นวด" + "นวนิยาย" + "นวม" + "นวย" + "นวล" + "นวลลออ" + "นวลละออง" + "นอ" + "นอก" + "นอง" + "นอต" + "นอน" + "นอบ" + "นอย" + "นอร์เวย์" + "นะ" + "นัก" + "นักขัต" + "นักศึกษา" + "นักษัตร" + "นักเรียน" + "นังคัล" + "นัด" + "นัดดา" + "นัตถุ์" + "นันทนาการ" + "นับ" + "นัย" + "นัยน์" + "นัว" + "นั่ง" + "นั่น" + "นั้น" + "นา" + "นาก" + "นาค" + "นาคร" + "นาคราช" + "นาคี" + "นาง" + "นางสาว" + "นางแอ่น" + "นาซา" + "นาฏ" + "นาด" + "นาถ" + "นาท" + "นาที" + "นาน" + "นานัปการ" + "นานา" + "นาบ" + "นาภี" + "นาม" + "นามกร" + "นามสกุล" + "นามานุกรม" + "นามาภิไธย" + "นาย" + "นายก" + "นารายณ์" + "นารี" + "นาวา" + "นาวิก" + "นาวิน" + "นาวี" + "นาสิก" + "นาฬิกา" + "นาฬิเก" + "นาโน" + "นำ" + "นิ" + "นิกร" + "นิกรอยด์" + "นิกาย" + "นิกเกิล" + "นิคม" + "นิครนถ์" + "นิคหิต" + "นิจ" + "นิด" + "นิตยสาร" + "นิตย์" + "นิติ" + "นิทรรศ" + "นิทรา" + "นิทัศน์" + "นิทาน" + "นินทา" + "นิบาต" + "นิพนธ์" + "นิพพาน" + "นิมนต์" + "นิมมาน" + "นิมมานรดี" + "นิมิต" + "นิยม" + "นิยาม" + "นิยาย" + "นิรทุกข์" + "นิรนาม" + "นิรภัย" + "นิรมล" + "นิรมิต" + "นิรันดร" + "นิราศ" + "นิรโทษ" + "นิล" + "นิลุบล" + "นิวกินี" + "นิวคลิอิก" + "นิวซีแลนด์" + "นิวตรอน" + "นิวยอร์ค" + "นิวรณ์" + "นิวัต" + "นิวัตน์" + "นิวาต" + "นิวาส" + "นิวเคลียร์" + "นิวเคลียส" + "นิสัย" + "นิสิต" + "นิเทศ" + "นิเวศ" + "นิเวศน์" + "นิโคติน" + "นิโรธ" + "นิโลบล" + "นิ่ง" + "นิ่ม" + "นิ่ว" + "นิ้ว" + "นี" + "นีออน" + "นีโอดิเมียม" + "นี่" + "นี้" + "นึก" + "นึ่ง" + "นุง" + "นุช" + "นุ่ง" + "นุ่น" + "นุ่ม" + "นุ้ย" + "นูน" + "นู่น" + "นู้น" + "นเรศวร" + "นโยบาย" + "นโรดม" + "น่วม" + "น่อง" + "น่า" + "น่าน" + "น้อง" + "น้อม" + "น้อย" + "น้อยหน่า" + "น้อยโหน่ง" + "น้า" + "น้าว" + "น้ำ" + "น้ำมัน" + "น้ำเงิน" + "บก" + "บกพร่อง" + "บง" + "บงกช" + "บด" + "บดินทรเดชา" + "บดินทร์" + "บดี" + "บท" + "บน" + "บพิตร" + "บพิธ" + "บรม" + "บรมัตถ์" + "บรร" + "บรรจง" + "บรรจถรณ์" + "บรรจบ" + "บรรจวบ" + "บรรจุ" + "บรรณ" + "บรรณาการ" + "บรรณาคม" + "บรรณาธิการ" + "บรรณานุกรม" + "บรรณารักษศาสตร์" + "บรรณารักษ์" + "บรรดา" + "บรรทม" + "บรรทัด" + "บรรทุก" + "บรรพ" + "บรรพชา" + "บรรพชิต" + "บรรพต" + "บรรพบุรุษ" + "บรรยง" + "บรรยงก์" + "บรรยากาศ" + "บรรยาย" + "บรรลัย" + "บรรลุ" + "บรรษัท" + "บรรหาร" + "บรรเจิด" + "บรรเทา" + "บรรเลง" + "บรรโลม" + "บรั่นดี" + "บราวเซอร์" + "บริ" + "บริกรรม" + "บริการ" + "บริขาร" + "บริคณห์" + "บริจาค" + "บริจารก" + "บริจาริกา" + "บริบาล" + "บริบูรณ์" + "บริพัตร" + "บริพาร" + "บริภัณฑ์" + "บริภาษ" + "บริรักษ์" + "บริราช" + "บริวาร" + "บริษัท" + "บริสุทธิ์" + "บริหาร" + "บริเฉท" + "บริเตน" + "บริเวณ" + "บริโภค" + "บล็อก" + "บวก" + "บวง" + "บวช" + "บวน" + "บวบ" + "บวม" + "บวร" + "บอ" + "บอก" + "บอด" + "บอดี้" + "บอน" + "บอบ" + "บอร์ก" + "บอร์ด" + "บอร์เนียว" + "บอล" + "บอลลูน" + "บะหมี่" + "บัก" + "บัคเตรี" + "บัง" + "บังกะโล" + "บังคม" + "บังคล" + "บังคับ" + "บังสุกุล" + "บังอร" + "บังอาจ" + "บังเกิด" + "บังเหียน" + "บังเอิญ" + "บัญชร" + "บัญชา" + "บัญชี" + "บัญญัติ" + "บัณฑิต" + "บัณฑิตย์" + "บัณฑุ" + "บัณฑูร" + "บัณณาส" + "บัณรส" + "บัณรสี" + "บัณเฑาะก์" + "บัณเฑาะว์" + "บัด" + "บัดกรี" + "บัดซบ" + "บัดสี" + "บัตร" + "บัน" + "บันดาล" + "บันทึก" + "บันยะบันยัง" + "บันลือ" + "บันเทิง" + "บันได" + "บัปผาสะ" + "บัพ" + "บัลกาเรีย" + "บัลลังก์" + "บัลลูน" + "บัว" + "บัส" + "บั่น" + "บั้ง" + "บั้น" + "บั๊ก" + "บา" + "บาก" + "บาง" + "บาด" + "บาดทะยัก" + "บาดาล" + "บาต" + "บาตร" + "บาท" + "บาทบงสุ์" + "บาทหลวง" + "บาทาธึก" + "บาทุกา" + "บาน" + "บานชื่น" + "บานบุรี" + "บานียะ" + "บานเช้า" + "บานเย็น" + "บาป" + "บาย" + "บารมี" + "บารอมิเตอร์" + "บาร์" + "บาร์เรล" + "บาล" + "บาลี" + "บาศ" + "บาศก์" + "บาสเกตบอล" + "บาหลี" + "บำนาญ" + "บำบัด" + "บำราบ" + "บำราศ" + "บำรุง" + "บำรู" + "บำเพ็ญ" + "บำเรอ" + "บำเหน็จ" + "บิ" + "บิฐ" + "บิณฑบาต" + "บิด" + "บิดพลิ้ว" + "บิดร" + "บิดา" + "บิต" + "บิน" + "บิล" + "บิลเลียด" + "บิ่น" + "บีฑา" + "บีน" + "บีบ" + "บี้" + "บึก" + "บึกบึน" + "บึง" + "บึ่ง" + "บึ้ง" + "บุ" + "บุก" + "บุกรุก" + "บุกษก" + "บุคคล" + "บุคลากร" + "บุคลาธิษฐาน" + "บุคลิก" + "บุคลิกภาพ" + "บุญ" + "บุญญานุภาพ" + "บุญญาภินิหาร" + "บุณฑริก" + "บุณย์" + "บุตร" + "บุตรา" + "บุตรี" + "บุบ" + "บุปผชาติ" + "บุพกรรม" + "บุพการี" + "บุพกิจ" + "บุพชาติ" + "บุพทักษิณ" + "บุพนิมิต" + "บุพบท" + "บุพพาจารย์" + "บุพเพสันนิวาส" + "บุฟเฟ่ต์" + "บุรพทิศ" + "บุรพบท" + "บุรพาจารย์" + "บุราณ" + "บุริมทิศ" + "บุริมพรรษา" + "บุริมสิทธิ" + "บุรี" + "บุรุษ" + "บุษกร" + "บุษบง" + "บุษบา" + "บุษยมาส" + "บุษราคัม" + "บุหงัน" + "บุหงา" + "บุหรง" + "บุหรี่" + "บุหลัน" + "บุโรทั่ง" + "บุ่มบ่าม" + "บุ้ง" + "บุ้ย" + "บุ๋ม" + "บูชา" + "บูชายัญ" + "บูด" + "บูต" + "บูรณภาพ" + "บูรณะ" + "บูรพา" + "บูรพาจารย์" + "บู้" + "บู๊" + "บ่" + "บ่ง" + "บ่น" + "บ่ม" + "บ่วง" + "บ่อ" + "บ่อง" + "บ่อน" + "บ่อย" + "บ่า" + "บ่าง" + "บ่าย" + "บ่าว" + "บ้วน" + "บ้อง" + "บ้องแบ๊ว" + "บ้อม" + "บ้า" + "บ้าง" + "บ้าน" + "บ้าระห่ำ" + "บ๊งเบ๊ง" + "บ๊วย" + "บ๊อง" + "บ๊ะ" + "บ๋อม" + "บ๋อย" + "บ๋ำ" + "ปก" + "ปกครอง" + "ปกติ" + "ปกรณ์" + "ปการ" + "ปกิณกะ" + "ปฏัก" + "ปฏิกรณ์" + "ปฏิกรรม" + "ปฏิกิริยา" + "ปฏิกูล" + "ปฏิคม" + "ปฏิชีวนะ" + "ปฏิญญา" + "ปฏิญาณ" + "ปฏิทิน" + "ปฏิบถ" + "ปฏิบัติ" + "ปฏิปทา" + "ปฏิปักษ์" + "ปฏิพัทธ์" + "ปฏิพากย์" + "ปฏิภาค" + "ปฏิภาณ" + "ปฏิมา" + "ปฏิมากร" + "ปฏิยุทธ์" + "ปฏิรูป" + "ปฏิวัติ" + "ปฏิวาต" + "ปฏิวาท" + "ปฏิสนธิ" + "ปฏิสังขรณ์" + "ปฏิสันถาร" + "ปฏิสัมพันธ์" + "ปฏิเวธ" + "ปฏิเสธ" + "ปฏิโลม" + "ปฐพี" + "ปฐม" + "ปฐมทัศน์" + "ปฐมนิเทศ" + "ปฐมพยาบาล" + "ปฐมฤกษ์" + "ปฐมวัย" + "ปฐมเทศนา" + "ปณต" + "ปณิธาน" + "ปด" + "ปถพี" + "ปทานุกรม" + "ปทุม" + "ปทุมธานี" + "ปน" + "ปนัดดา" + "ปนเป" + "ปบ" + "ปม" + "ปรก" + "ปรกติ" + "ปรง" + "ปรน" + "ปรนนิบัติ" + "ปรนัย" + "ปรบ" + "ปรปักษ์" + "ปรมัตถ์" + "ปรมาจารย์" + "ปรมาณู" + "ปรมาภิเษก" + "ปรมาภิไธย" + "ปรวด" + "ปรวนแปร" + "ปรวาที" + "ปรสิต" + "ปรองดอง" + "ปรอด" + "ปรอท" + "ปรอย" + "ประ" + "ประกบ" + "ประกวด" + "ประกอบ" + "ประกัน" + "ประกับ" + "ประกาย" + "ประการ" + "ประกาศ" + "ประกาศนียบัตร" + "ประกาศิต" + "ประกิด" + "ประคบ" + "ประคบประหงม" + "ประคอง" + "ประคำ" + "ประจบ" + "ประจวบ" + "ประจักษ์" + "ประจัญ" + "ประจัน" + "ประจาค" + "ประจาน" + "ประจำ" + "ประจิม" + "ประจุ" + "ประจ๋อประแจ๋" + "ประชด" + "ประชวร" + "ประชัน" + "ประชา" + "ประชาชน" + "ประชาธิปัตย์" + "ประชาธิปไตย" + "ประชาภิบาล" + "ประชิด" + "ประชุม" + "ประณต" + "ประณม" + "ประณาม" + "ประณิธาน" + "ประณิธิ" + "ประณีต" + "ประดน" + "ประดวน" + "ประดอน" + "ประดักประเดิด" + "ประดัง" + "ประดับ" + "ประดา" + "ประดาป" + "ประดาษ" + "ประดิดประดอย" + "ประดิทิน" + "ประดิษฐาน" + "ประดิษฐ์" + "ประดุง" + "ประดุจ" + "ประดู่" + "ประตู" + "ประถม" + "ประทวน" + "ประทักษ์" + "ประทัง" + "ประทัด" + "ประทับ" + "ประทาน" + "ประทิน" + "ประทิ่น" + "ประทีป" + "ประทุน" + "ประทุษ" + "ประทุษร้าย" + "ประท้วง" + "ประธาน" + "ประธานาธิบดี" + "ประนม" + "ประนอม" + "ประนีประนอม" + "ประปราย" + "ประปา" + "ประพฤติ" + "ประพฤธิ์" + "ประพัทธ์" + "ประพันธ์" + "ประพาต" + "ประพาส" + "ประพาฬ" + "ประพิณ" + "ประพุทธ์" + "ประภัสสร" + "ประภา" + "ประภาคาร" + "ประภาพ" + "ประภาส" + "ประมง" + "ประมวญ" + "ประมวล" + "ประมาณ" + "ประมาท" + "ประมุข" + "ประมุท" + "ประมูล" + "ประยุกต์" + "ประยุทธ์" + "ประยูร" + "ประลมพ์" + "ประลอง" + "ประลัย" + "ประลาต" + "ประวรรต" + "ประวรรตน์" + "ประวัติ" + "ประวัติการณ์" + "ประวัติศาสตร์" + "ประวาต" + "ประวาล" + "ประวาส" + "ประวิง" + "ประวิช" + "ประวิตร" + "ประวีณ" + "ประศม" + "ประศาสน์" + "ประสก" + "ประสงค์" + "ประสบ" + "ประสบการณ์" + "ประสพ" + "ประสา" + "ประสาท" + "ประสาน" + "ประสิทธิผล" + "ประสิทธิภาพ" + "ประสิทธิ์" + "ประสูติ" + "ประหม่า" + "ประหยัด" + "ประหลาด" + "ประหล่ำ" + "ประหาร" + "ประฮาม" + "ประเคน" + "ประเจก" + "ประเจิดประเจ้อ" + "ประเจียด" + "ประเด" + "ประเดิม" + "ประเดียง" + "ประเดี๋ยว" + "ประเดี๋ยวประด๋าว" + "ประเด็น" + "ประเทศ" + "ประเทศราช" + "ประเทศไทย" + "ประเทือง" + "ประเพณี" + "ประเภท" + "ประเมิน" + "ประเวณี" + "ประเวศ" + "ประเวศน์" + "ประเสริฐ" + "ประแกก" + "ประแจ" + "ประโคม" + "ประโยค" + "ประโยชน์" + "ประโลม" + "ปรัก" + "ปรัง" + "ปรัชญา" + "ปรัตยุตบัน" + "ปรัตยุบัน" + "ปรัน" + "ปรับ" + "ปรัมปรา" + "ปรัศนี" + "ปรัศว์" + "ปรากฏ" + "ปรากรม" + "ปราการ" + "ปราคภาร" + "ปราง" + "ปรางค์" + "ปราจีน" + "ปราชญา" + "ปราชญ์" + "ปราชัย" + "ปราชิต" + "ปราณ" + "ปราณี" + "ปราด" + "ปรานี" + "ปราบ" + "ปราบดาภิเษก" + "ปราปต์" + "ปราภพ" + "ปราม" + "ปรามาส" + "ปราย" + "ปรารถนา" + "ปรารภ" + "ปรารมภ์" + "ปราศ" + "ปราศรัย" + "ปราศาร" + "ปราษณี" + "ปราษาณ" + "ปราสาท" + "ปราโมช" + "ปราโมทย์" + "ปรำ" + "ปริ" + "ปริก" + "ปริคณห์" + "ปริจาค" + "ปริจาริกา" + "ปริซึม" + "ปริญญา" + "ปริณาม" + "ปริณายก" + "ปริต" + "ปริตตะ" + "ปริตร" + "ปริทรรศน์" + "ปริทัศน์" + "ปริน" + "ปรินส์" + "ปรินิพพาน" + "ปริบ" + "ปริมณฑล" + "ปริมัท" + "ปริมาณ" + "ปริมาตร" + "ปริยัติ" + "ปริยาย" + "ปริวรรต" + "ปริวาส" + "ปริศนา" + "ปริเฉท" + "ปริ่ม" + "ปรีชา" + "ปรีดา" + "ปรีดิ์" + "ปรียา" + "ปรี่" + "ปรี๊ด" + "ปรึกษา" + "ปรือ" + "ปรื๋อ" + "ปรุ" + "ปรุง" + "ปรูด" + "ปรู๊ดปร๊าด" + "ปรู๊ฟ" + "ปรเมนทร์" + "ปรโลก" + "ปร่า" + "ปร๋อ" + "ปฤจฉา" + "ปฤษฎางค์" + "ปลก" + "ปลง" + "ปลด" + "ปลวก" + "ปลอก" + "ปลอด" + "ปลอดภัย" + "ปลอบ" + "ปลอม" + "ปละ" + "ปลัก" + "ปลัด" + "ปลั่ง" + "ปลั๊ก" + "ปลั๊กอิน" + "ปลา" + "ปลาต" + "ปลาบ" + "ปลาย" + "ปลาวาฬ" + "ปลาสนาการ" + "ปลาสเตอร์" + "ปลิง" + "ปลิด" + "ปลิว" + "ปลิโพธ" + "ปลิ่ม" + "ปลิ้น" + "ปลี" + "ปลีก" + "ปลื้ม" + "ปลุก" + "ปลูก" + "ปล่ง" + "ปล่อง" + "ปล่อย" + "ปล้น" + "ปล้อง" + "ปล้อน" + "ปล้ำ" + "ปวกเปียก" + "ปวง" + "ปวด" + "ปวารณา" + "ปศุ" + "ปอ" + "ปอก" + "ปอง" + "ปอด" + "ปอน" + "ปอนด์" + "ปอบ" + "ปอย" + "ปอร์" + "ปอร์ตุเกส" + "ปะ" + "ปะกน" + "ปะการัง" + "ปะขาว" + "ปะทะ" + "ปะทุ" + "ปะหงับ" + "ปะเหลาะ" + "ปะแล่ม" + "ปะโลง" + "ปัก" + "ปักกิ่ง" + "ปักษา" + "ปักษาวสาน" + "ปักษิณ" + "ปักษิน" + "ปักษี" + "ปักษ์" + "ปักเป้า" + "ปัง" + "ปังสุกุล" + "ปัจจันตคาม" + "ปัจจันตชนบท" + "ปัจจันตประเทศ" + "ปัจจันต์" + "ปัจจัย" + "ปัจจามิตร" + "ปัจจุบัน" + "ปัจจุสมัย" + "ปัจฉา" + "ปัจฉิม" + "ปัจเจก" + "ปัญจวัคคีย์" + "ปัญญา" + "ปัญหา" + "ปัด" + "ปัตตานี" + "ปัตตาเวีย" + "ปัทม์" + "ปัน" + "ปับ" + "ปัปผาสะ" + "ปัสสาวะ" + "ปัสสาสะ" + "ปั่น" + "ปั้น" + "ปั๊บ" + "ปั๊ม" + "ปั๋ง" + "ปา" + "ปาก" + "ปากกา" + "ปากีสถาน" + "ปาง" + "ปาฏิหาริย์" + "ปาฐก" + "ปาฐกถา" + "ปาณาติบาต" + "ปาด" + "ปาติโมกข์" + "ปาทังกา" + "ปาท่องโก๋" + "ปาน" + "ปาปัว" + "ปาม" + "ปายาส" + "ปาราชิก" + "ปาริฉัตร" + "ปาริชาต" + "ปารีส" + "ปาร์เกต์" + "ปาลี" + "ปาล์ม" + "ปาว" + "ปาหนัน" + "ปาหี่" + "ปาโมกข์" + "ปำ" + "ปิกนิก" + "ปิงปอง" + "ปิฎก" + "ปิด" + "ปิตา" + "ปิติ" + "ปิตุ" + "ปิตุฆาต" + "ปิตุภูมิ" + "ปิตุลา" + "ปิยมิตร" + "ปิยะ" + "ปิศาจ" + "ปิโตรเลียม" + "ปิโยรส" + "ปิ่น" + "ปิ่นโต" + "ปิ่ม" + "ปิ้ง" + "ปิ้ม" + "ปิ๋ว" + "ปี" + "ปีก" + "ปีน" + "ปีบ" + "ปีมะโว้" + "ปีศาจ" + "ปี่" + "ปี้" + "ปี๊ด" + "ปี๊บ" + "ปี๋" + "ปึก" + "ปึง" + "ปึ่ง" + "ปึ้ด" + "ปึ๋ง" + "ปืน" + "ปื้น" + "ปื๋อ" + "ปุ" + "ปุก" + "ปุจฉา" + "ปุด" + "ปุถุชน" + "ปุบ" + "ปุย" + "ปุโรหิต" + "ปุ่ม" + "ปุ้งกี๋" + "ปุ้ม" + "ปุ๊" + "ปุ๊บ" + "ปุ๋ม" + "ปุ๋ย" + "ปู" + "ปูชนียบุคคล" + "ปูชนียวัตถุ" + "ปูด" + "ปูน" + "ปูม" + "ปู่" + "ปู้ยี้ปู้ยำ" + "ปเวณี" + "ป่น" + "ป่วง" + "ป่วน" + "ป่วย" + "ป่อง" + "ป่า" + "ป่าน" + "ป่าย" + "ป่าว" + "ป้วน" + "ป้วนเปี้ยน" + "ป้อ" + "ป้อง" + "ป้องกัน" + "ป้อน" + "ป้อม" + "ป้อย" + "ป้อแป้" + "ป้า" + "ป้าง" + "ป้าน" + "ป้าบ" + "ป้าย" + "ป้ำ" + "ป๊อกกี้" + "ป๊าบ" + "ป๋อ" + "ป๋อม" + "ป๋า" + "ผก" + "ผกา" + "ผกาย" + "ผง" + "ผงก" + "ผงะ" + "ผงาด" + "ผจง" + "ผจญ" + "ผด" + "ผดุง" + "ผนวก" + "ผนวช" + "ผนัง" + "ผนึก" + "ผม" + "ผมบ๊อบ" + "ผยอง" + "ผรุสวาท" + "ผล" + "ผละ" + "ผลัก" + "ผลัด" + "ผลัวะ" + "ผลาญ" + "ผลานิสงส์" + "ผลาผล" + "ผลาหาร" + "ผลิ" + "ผลิต" + "ผลิตภัณฑ์" + "ผลีผลาม" + "ผลึก" + "ผลึ่ง" + "ผลุ" + "ผลุง" + "ผลุด" + "ผลุน" + "ผลุบ" + "ผลุย" + "ผลู" + "ผล็อย" + "ผวน" + "ผวย" + "ผวา" + "ผสม" + "ผสาน" + "ผสาย" + "ผอก" + "ผอง" + "ผอด" + "ผอบ" + "ผอม" + "ผอวด" + "ผอูน" + "ผะ" + "ผัก" + "ผัง" + "ผัด" + "ผัน" + "ผันผวน" + "ผับ" + "ผัว" + "ผัวะ" + "ผา" + "ผาก" + "ผาง" + "ผาณิต" + "ผาด" + "ผาย" + "ผิ" + "ผิง" + "ผิด" + "ผิน" + "ผิว" + "ผี" + "ผึง" + "ผึ่ง" + "ผึ้ง" + "ผืน" + "ผื่น" + "ผุ" + "ผุด" + "ผุยผง" + "ผูก" + "ผู้" + "ผ็อย" + "ผ่อง" + "ผ่อน" + "ผ่อย" + "ผ่า" + "ผ่าน" + "ผ่ายผอม" + "ผ่าว" + "ผ้า" + "ฝน" + "ฝรั่ง" + "ฝรั่งเศส" + "ฝอย" + "ฝัก" + "ฝัง" + "ฝัด" + "ฝัน" + "ฝั่ง" + "ฝา" + "ฝาก" + "ฝาง" + "ฝาด" + "ฝาน" + "ฝาย" + "ฝิ่น" + "ฝี" + "ฝึก" + "ฝืด" + "ฝืน" + "ฝุ่น" + "ฝูง" + "ฝ่อ" + "ฝ่า" + "ฝ่าย" + "ฝ้า" + "ฝ้าย" + "พก" + "พง" + "พงศาวดาร" + "พงศ์" + "พจนา" + "พจนานุกรม" + "พจนารถ" + "พจนีย์" + "พจน์" + "พจมาน" + "พจี" + "พญา" + "พญาลอ" + "พณิช" + "พณิชย์" + "พด" + "พธู" + "พนม" + "พนัก" + "พนักงาน" + "พนัง" + "พนัน" + "พนัส" + "พนา" + "พนาดร" + "พนาราม" + "พนาลัย" + "พนิดา" + "พบ" + "พม่า" + "พยนต์" + "พยศ" + "พยัก" + "พยักพเยิด" + "พยัคฆา" + "พยัคฆิน" + "พยัคฆี" + "พยัคฆ์" + "พยัญชนะ" + "พยัต" + "พยับ" + "พยากรณ์" + "พยางค์" + "พยาธิ" + "พยาน" + "พยาบาท" + "พยาบาล" + "พยายาม" + "พยุ" + "พยุง" + "พยุหยาตรา" + "พยุหะ" + "พยุหเสนา" + "พร" + "พรต" + "พรม" + "พรร" + "พรรค" + "พรรค์" + "พรรณ" + "พรรณนา" + "พรรษ" + "พรรษา" + "พรวด" + "พรวน" + "พรหม" + "พรหมจรรย์" + "พรหมจาริณี" + "พรหมจารี" + "พรอด" + "พระ" + "พระราชวัง" + "พระองค์" + "พระเจ้าอยู่หัว" + "พรักพร้อม" + "พรัด" + "พรั่ง" + "พรั่น" + "พราก" + "พราง" + "พราด" + "พราน" + "พราย" + "พราว" + "พราหมณ์" + "พรำ" + "พริก" + "พรินเตอร์" + "พริบ" + "พริ้ง" + "พริ้ม" + "พรีเมียม" + "พรีเมียร์" + "พรึง" + "พรึน" + "พรึบ" + "พรืด" + "พรุ" + "พรุก" + "พรุน" + "พรุ่ง" + "พรู" + "พรูด" + "พร่อง" + "พร่อมพร้อ" + "พร่อย" + "พร่า" + "พร่าง" + "พร่ำ" + "พร้อง" + "พร้อม" + "พร้อมพรัก" + "พร้อย" + "พร้า" + "พร้ำ" + "พฤกษชาติ" + "พฤกษทล" + "พฤกษราช" + "พฤกษศาสตร์" + "พฤกษา" + "พฤกษเทวดา" + "พฤกษ์" + "พฤฒ" + "พฤฒา" + "พฤฒาจารย์" + "พฤฒิ" + "พฤต" + "พฤติ" + "พฤติกรรม" + "พฤติการณ์" + "พฤตินัย" + "พฤทธิ์" + "พฤทธ์" + "พฤนต์" + "พฤนท์" + "พฤศจิ" + "พฤศจิกายน" + "พฤษภ" + "พฤษภาคม" + "พฤหัส" + "พฤหัสบดี" + "พล" + "พลการ" + "พลความ" + "พลบ" + "พลวง" + "พลวัต" + "พลศึกษา" + "พลอง" + "พลอด" + "พลอมแพลม" + "พลอย" + "พละ" + "พลัง" + "พลังงาน" + "พลัด" + "พลัน" + "พลับ" + "พลับพลา" + "พลับพลึง" + "พลั่ก" + "พลั่ง" + "พลั่ว" + "พลั้ง" + "พลากร" + "พลาง" + "พลาด" + "พลาธิการ" + "พลานามัย" + "พลาม" + "พลาย" + "พลาสติก" + "พลาสมา" + "พลาหก" + "พลิก" + "พลิ้ว" + "พลี" + "พลุ" + "พลุก" + "พลุ่ก" + "พลุ่ง" + "พลุ้ย" + "พลู" + "พลเมือง" + "พลเรือน" + "พลโลก" + "พล่อย" + "พล่า" + "พล่าน" + "พล่าม" + "พล้ำ" + "พวก" + "พวง" + "พวน" + "พวย" + "พสก" + "พสุธา" + "พหล" + "พหลโยธิน" + "พหุ" + "พหู" + "พหูพจน์" + "พหูสูต" + "พอ" + "พอก" + "พอง" + "พอทัล" + "พอร์ต" + "พะ" + "พะพิง" + "พะยูน" + "พะรุงพะรัง" + "พะวง" + "พะวักพะวน" + "พะว้าพะวัง" + "พะอง" + "พะอืดพะอม" + "พะเนียง" + "พะเน้าพะนอ" + "พะเยิบ" + "พะเยิบพะยาบ" + "พะแนง" + "พะโล้" + "พัก" + "พักตร์" + "พัง" + "พังงา" + "พังผืด" + "พังพวย" + "พังพอน" + "พังพาบ" + "พังเพย" + "พัชร" + "พัฒนะ" + "พัฒนา" + "พัด" + "พัตร" + "พัทธสีมา" + "พัทยา" + "พัทลุง" + "พัน" + "พันทาง" + "พันธกรณี" + "พันธทิพย์" + "พันธนาการ" + "พันธบัตร" + "พันธมิตร" + "พันธะ" + "พันธุ" + "พันธุ์" + "พันธ์" + "พับ" + "พัลลภ" + "พัลวัน" + "พัว" + "พัวะ" + "พัศดี" + "พัสดุ" + "พัสตร์" + "พัสถาน" + "พา" + "พาก" + "พากย์" + "พาง" + "พาณ" + "พาณิช" + "พาณิชย์" + "พาณี" + "พาณีนี" + "พาด" + "พาต" + "พาท" + "พาทย์" + "พาธ" + "พาธา" + "พาน" + "พานร" + "พาม" + "พาย" + "พายัพ" + "พายุ" + "พารณ" + "พารา" + "พาราฟิน" + "พาร์" + "พาล" + "พาลี" + "พาส" + "พาสนา" + "พาสน์" + "พาสุกรี" + "พาสเวิร์ด" + "พาหนะ" + "พาหะ" + "พาหา" + "พาหุ" + "พาหุรัด" + "พาฬหะ" + "พาเนล" + "พาเหรด" + "พาเหียร" + "พาโล" + "พำ" + "พำนัก" + "พิกล" + "พิกัด" + "พิกัติ" + "พิการ" + "พิกุล" + "พิฆาต" + "พิฆเนศ" + "พิง" + "พิจารณา" + "พิจารณ์" + "พิจิตร" + "พิชัย" + "พิชาน" + "พิชิต" + "พิซซ่า" + "พิณ" + "พิถีพิถัน" + "พิทยา" + "พิทักษ์" + "พิธาน" + "พิธี" + "พินทุ" + "พินอบพิเทา" + "พินัย" + "พินาศ" + "พินิจ" + "พินิต" + "พินิศ" + "พิบัติ" + "พิบูล" + "พิพม์" + "พิพักพิพ่วน" + "พิพัฒน์" + "พิพากษา" + "พิพากษ์" + "พิพาท" + "พิพิธ" + "พิพิธภัณฑสถาน" + "พิพิธภัณฑ์" + "พิภพ" + "พิมพ์" + "พิมล" + "พิมาน" + "พิมุข" + "พิมเสน" + "พิรอด" + "พิราบ" + "พิราลัย" + "พิรี้พิไร" + "พิรุณ" + "พิรุธ" + "พิลาป" + "พิลาส" + "พิลึก" + "พิลึกกึกกือ" + "พิลึกพิลั่น" + "พิศ" + "พิศวง" + "พิศวาส" + "พิศาล" + "พิศุทธิ์" + "พิศุทธ์" + "พิษ" + "พิษณุโลก" + "พิษสง" + "พิสดาร" + "พิสมัย" + "พิสัย" + "พิสิฐ" + "พิสุทธิ์" + "พิสูจน์" + "พิหาร" + "พิฬาร" + "พิเคราะห์" + "พิเศษ" + "พิโยกพิเกน" + "พิโยค" + "พิโรธ" + "พิไร" + "พิไล" + "พี" + "พีชคณิต" + "พีซี" + "พีระมิด" + "พี่" + "พี้" + "พึง" + "พึม" + "พึมพำ" + "พึ่ง" + "พึ่บ" + "พืช" + "พืด" + "พื้น" + "พื้นที่" + "พุ" + "พุก" + "พุง" + "พุฒ" + "พุฒิ" + "พุด" + "พุทธ" + "พุทธะ" + "พุทธาวาส" + "พุทธิ" + "พุทรา" + "พุทโธ่" + "พุธ" + "พุ่ง" + "พุ่ม" + "พุ้ย" + "พู" + "พูด" + "พูน" + "พู่" + "พู้น" + "พเนจร" + "พ่น" + "พ่วง" + "พ่อ" + "พ่าง" + "พ่าน" + "พ่าย" + "พ่าห์" + "พ้น" + "พ้อ" + "พ้อง" + "พ้อม" + "ฟก" + "ฟรอยด์" + "ฟรี" + "ฟลอเรนซ์" + "ฟลูออรีน" + "ฟอก" + "ฟอง" + "ฟอด" + "ฟอน" + "ฟอนต์" + "ฟอร์ม" + "ฟอร์มาลดีไฮด์" + "ฟอร์มาลิน" + "ฟอร์แมต" + "ฟอสซิล" + "ฟอสฟอรัส" + "ฟอสเฟต" + "ฟัก" + "ฟัง" + "ฟังก์ชัน" + "ฟังก์ชั่น" + "ฟัด" + "ฟัน" + "ฟั่น" + "ฟั้น" + "ฟาก" + "ฟาง" + "ฟาด" + "ฟาทอม" + "ฟาน" + "ฟาย" + "ฟาร์ม" + "ฟาสซิสต์" + "ฟิก" + "ฟิด" + "ฟินแลนด์" + "ฟิบ" + "ฟิลด์" + "ฟิลิปปินส์" + "ฟิล์ม" + "ฟิวส์" + "ฟิสิกส์" + "ฟีฟ่า" + "ฟี่" + "ฟี้" + "ฟืน" + "ฟืม" + "ฟื้น" + "ฟุ" + "ฟุต" + "ฟุตบอล" + "ฟุน" + "ฟุบ" + "ฟุฟะ" + "ฟุลสแก๊ป" + "ฟุ่บ" + "ฟุ่มเฟือย" + "ฟุ้ง" + "ฟู" + "ฟูก" + "ฟูจิ" + "ฟูด" + "ฟูม" + "ฟูมฟาย" + "ฟู่" + "ฟ่อ" + "ฟ่อง" + "ฟ่อน" + "ฟ่าง" + "ฟ่าม" + "ฟ้อ" + "ฟ้อง" + "ฟ้อน" + "ฟ้า" + "ภคนี" + "ภพ" + "ภมร" + "ภยันตราย" + "ภรต" + "ภรร" + "ภรรยา" + "ภราดร" + "ภริยา" + "ภวตัณหา" + "ภวังค์" + "ภักดี" + "ภักษา" + "ภักษาหาร" + "ภัณฑ์" + "ภัตตาคาร" + "ภัตตาหาร" + "ภัทร" + "ภัพ" + "ภัย" + "ภัสดา" + "ภัสตรา" + "ภาค" + "ภาคี" + "ภาชนะ" + "ภาณุ" + "ภาพ" + "ภาพยนตร์" + "ภาย" + "ภาร" + "ภารกิจ" + "ภารดี" + "ภารต" + "ภาระ" + "ภารา" + "ภารโรง" + "ภาวนา" + "ภาวะ" + "ภาษ" + "ภาษก" + "ภาษณ์" + "ภาษา" + "ภาษิต" + "ภาษี" + "ภาสกร" + "ภาสน์" + "ภาสวร" + "ภิกขา" + "ภิกขาจาร" + "ภิกขุ" + "ภิกขุนี" + "ภิกษา" + "ภิกษุ" + "ภิกษุณี" + "ภิงคาร" + "ภิญโญ" + "ภินทนาการ" + "ภินท์" + "ภิรมย์" + "ภุช" + "ภุชงค์" + "ภุมรา" + "ภุมริน" + "ภุมรี" + "ภู" + "ภูต" + "ภูติ" + "ภูมิ" + "ภูมิประเทศ" + "ภูมิภาค" + "ภูมิลำเนา" + "ภูมิศาสตร์" + "ภูมี" + "ภูริ" + "ภูรี" + "ภูวดล" + "ภูวนาถ" + "ภูวเนตร" + "ภูวไนย" + "ภูษา" + "ภูษิต" + "ภูเก็ต" + "ภู่" + "มก" + "มกร" + "มกราคม" + "มกุฎ" + "มกุล" + "มงกุฎ" + "มงคล" + "มณฑก" + "มณฑป" + "มณฑล" + "มณี" + "มณเฑียร" + "มด" + "มติ" + "มธุ" + "มน" + "มนตรี" + "มนตร์" + "มนต์" + "มนสิการ" + "มนัส" + "มนัสวี" + "มนิลา" + "มนุษยชาติ" + "มนุษยธรรม" + "มนุษยศาสตร์" + "มนุษยสัมพันธ์" + "มนุษยเทพ" + "มนุษยโลก" + "มนุษย์" + "มนเทียร" + "มยุรา" + "มยุรี" + "มยุเรศ" + "มยูร" + "มร" + "มรกต" + "มรณะ" + "มรณ์" + "มรดก" + "มรรค" + "มรรคนายก" + "มรรคา" + "มรรยา" + "มรรยาท" + "มรสุม" + "มฤค" + "มฤตยู" + "มล" + "มลทิน" + "มลาย" + "มลายู" + "มล้าง" + "มวน" + "มวย" + "มวล" + "มหกรรม" + "มหรณพ" + "มหรรณพ" + "มหรสพ" + "มหันตโทษ" + "มหันต์" + "มหัศจรรย์" + "มหา" + "มหาชน" + "มหาดเล็ก" + "มหาดไทย" + "มหาตมะ" + "มหายาน" + "มหาราช" + "มหาวิทยาลัย" + "มหาศาล" + "มหาสมุทร" + "มหาหิงคุ์" + "มหิงส์" + "มหิดล" + "มหิมา" + "มหึมา" + "มอ" + "มอง" + "มองโกลอยด์" + "มอญ" + "มอด" + "มอนิเตอร์" + "มอบ" + "มอม" + "มอมแมม" + "มอรอคโค" + "มอร์ฟีน" + "มอลโทส" + "มอสโคว์" + "มอเตอร์" + "มะ" + "มะกรูด" + "มะกอก" + "มะกะโรนี" + "มะขวิด" + "มะขาม" + "มะข่วง" + "มะค่า" + "มะงั่ว" + "มะงุมมะงาหรา" + "มะซาง" + "มะดัน" + "มะตะบะ" + "มะตึ่ง" + "มะตูม" + "มะต้อง" + "มะนาว" + "มะปราง" + "มะพร้าว" + "มะพลับ" + "มะพูด" + "มะม่วง" + "มะยม" + "มะระ" + "มะรืน" + "มะละกอ" + "มะลิ" + "มะหะหมัด" + "มะฮอกกานี" + "มะเกลือ" + "มะเขือ" + "มะเดื่อ" + "มะเฟือง" + "มะเร็ง" + "มะเส็ง" + "มะแม" + "มะโรง" + "มะไฟ" + "มัก" + "มักกะสัน" + "มัคคุเทศก์" + "มัคนายก" + "มัฆวาน" + "มังกร" + "มังคุด" + "มังค่า" + "มัจจุ" + "มัจฉา" + "มัชฌิมยาม" + "มัชฌิมวัย" + "มัชฌิมา" + "มัณฑนศิลป์" + "มัณฑนา" + "มัด" + "มัตสยา" + "มัทนะ" + "มัทนียะ" + "มัทยะ" + "มัธยฐาน" + "มัธยม" + "มัธยัสถ์" + "มัน" + "มับ" + "มัมมี่" + "มัย" + "มัลติ" + "มัลลิกา" + "มัว" + "มัศยา" + "มัสตาร์ด" + "มัสมั่น" + "มัสยิด" + "มัสลิน" + "มั่ง" + "มั่น" + "มั่ว" + "มา" + "มาก" + "มากกว่า" + "มาฆบูชา" + "มาฆะ" + "มาณพ" + "มาณวิกา" + "มาด" + "มาตร" + "มาตรการ" + "มาตรฐาน" + "มาตรา" + "มาตุ" + "มาตุลา" + "มาน" + "มานพ" + "มานะ" + "มานิต" + "มานี" + "มานุษ" + "มานุษยวิทยา" + "มาบตาพุด" + "มาย" + "มายา" + "มายาวี" + "มาร" + "มารค" + "มารดร" + "มารดา" + "มารยา" + "มารยาท" + "มารศรี" + "มารุต" + "มาลัย" + "มาลาเรีย" + "มาลี" + "มาศ" + "มาส" + "มาสเตอร์" + "มาเลเซีย" + "มาโคร" + "มาโนชญ์" + "มำเลือง" + "มิ" + "มิคสัญญี" + "มิจฉา" + "มิด" + "มิตร" + "มิติ" + "มิถุนายน" + "มิยันม่า" + "มิลลิกรัม" + "มิลลิบาร์" + "มิลลิลิตร" + "มิลลิเมตร" + "มิลาต" + "มิวสิค" + "มิส" + "มิสซา" + "มิสเตอร์" + "มิเตอร์" + "มิ่ง" + "มิ้ม" + "มี" + "มีด" + "มีน" + "มีนาคม" + "มีเทน" + "มี่" + "มี่สั้ว" + "มึง" + "มึน" + "มืด" + "มืน" + "มือ" + "มื่น" + "มื้อ" + "มุ" + "มุก" + "มุกดา" + "มุกดาหาร" + "มุข" + "มุง" + "มุจลินท์" + "มุด" + "มุตกิด" + "มุทิตา" + "มุทุ" + "มุนินทร์" + "มุนี" + "มุบ" + "มุบมิบ" + "มุม" + "มุสลิม" + "มุสา" + "มุ่ง" + "มุ่น" + "มุ่ย" + "มุ้ง" + "มูก" + "มูตร" + "มูน" + "มูมมาม" + "มูล" + "มูลค่า" + "มูลฐาน" + "มูลนิธิ" + "มูเซอ" + "มู่ทู่" + "มู่ลี่" + "มเหศวร" + "มเหสี" + "มเหาฬาร" + "มโน" + "มโนราห์" + "มโนสาเร่" + "มโหรสพ" + "มโหระทึก" + "มโหรี" + "มโหฬาร" + "ม่วง" + "ม่วน" + "ม่อต้อ" + "ม่อย" + "ม่อฮ่อม" + "ม่าน" + "ม่าย" + "ม้วน" + "ม้วย" + "ม้า" + "ม้าน" + "ม้าม" + "ยก" + "ยกย่อง" + "ยง" + "ยงโย่" + "ยติ" + "ยถากรรม" + "ยนตร์" + "ยนต์" + "ยม" + "ยมก" + "ยรรยง" + "ยล" + "ยวง" + "ยวด" + "ยวน" + "ยวบ" + "ยศ" + "ยอ" + "ยอก" + "ยอง" + "ยอด" + "ยอน" + "ยอบ" + "ยอม" + "ยะ" + "ยัก" + "ยักขินี" + "ยักข์" + "ยักยอก" + "ยักษิณี" + "ยักษี" + "ยักษ์" + "ยัง" + "ยัด" + "ยัดเยียด" + "ยัน" + "ยันตรกรรม" + "ยันตร์" + "ยันต์" + "ยับ" + "ยั่งยืน" + "ยั่น" + "ยั่ว" + "ยั้ง" + "ยั้ว" + "ยั้วเยี้ย" + "ยา" + "ยาก" + "ยาง" + "ยาจก" + "ยาด" + "ยาดา" + "ยาตร" + "ยาตรา" + "ยาน" + "ยานี" + "ยาบ" + "ยาบ้า" + "ยาม" + "ยาย" + "ยาว" + "ยำ" + "ยิก" + "ยิง" + "ยิน" + "ยิบ" + "ยิปซัม" + "ยิปซี" + "ยิมนาสติก" + "ยิว" + "ยิหวา" + "ยิ่ง" + "ยิ้ม" + "ยี" + "ยีน" + "ยีราฟ" + "ยี่" + "ยี่สก" + "ยี่สง" + "ยี่สุ่น" + "ยี่ส่าน" + "ยี่หระ" + "ยี่หร่า" + "ยี่ห้อ" + "ยึกยือ" + "ยึด" + "ยืด" + "ยืน" + "ยืม" + "ยื่น" + "ยื้อ" + "ยุ" + "ยุกต์" + "ยุค" + "ยุคล" + "ยุง" + "ยุด" + "ยุติ" + "ยุติธรรม" + "ยุทธ" + "ยุทธการ" + "ยุทธนา" + "ยุทธ์" + "ยุทโธปกรณ์" + "ยุบ" + "ยุพดี" + "ยุพยง" + "ยุพราช" + "ยุพเยาว์" + "ยุพเรศ" + "ยุรยาตร" + "ยุวชน" + "ยุโรป" + "ยุ่ง" + "ยุ่มย่าม" + "ยุ่ย" + "ยุ้ง" + "ยุ้ย" + "ยูง" + "ยูนิกซ์" + "ยูรยาตร" + "ยูริก" + "ยูสเซอร์" + "ยูเรนัส" + "ยูเรเนียม" + "ยูโกสลาเวีย" + "ยูโด" + "ยูโร" + "ยู่" + "ยโส" + "ย่น" + "ย่อ" + "ย่อง" + "ย่อม" + "ย่อย" + "ย่ะ" + "ย่า" + "ย่าง" + "ย่าน" + "ย่าม" + "ย่ำ" + "ย้วย" + "ย้อน" + "ย้อม" + "ย้อย" + "ย้าย" + "ย้ำ" + "รก" + "รง" + "รงควัตถุ" + "รงค์" + "รจนา" + "รจิต" + "รจเรจ" + "รจเลข" + "รณ" + "รณัฐ" + "รด" + "รดี" + "รตะ" + "รติ" + "รถ" + "รถเมล์" + "รน" + "รบ" + "รพ" + "รพี" + "รม" + "รมณี" + "รมณีย์" + "รมย์" + "รยางค์" + "รวก" + "รวง" + "รวด" + "รวน" + "รวนเร" + "รวบ" + "รวม" + "รวย" + "รวิ" + "รวี" + "รศนา" + "รส" + "รสนา" + "รสายนเวท" + "รสิก" + "รหัส" + "รหิต" + "รอ" + "รอก" + "รอง" + "รองเง็ง" + "รอด" + "รอน" + "รอบ" + "รอบคอบ" + "รอม" + "รอย" + "ระ" + "ระกำ" + "ระคน" + "ระคาย" + "ระฆัง" + "ระงม" + "ระงับ" + "ระดม" + "ระดับ" + "ระดู" + "ระทด" + "ระทม" + "ระทวย" + "ระทึก" + "ระนาด" + "ระนาบ" + "ระนาว" + "ระบบ" + "ระบม" + "ระบอบ" + "ระบับ" + "ระบาญ" + "ระบาด" + "ระบาย" + "ระบำ" + "ระบิล" + "ระบือ" + "ระบุ" + "ระยะ" + "ระยับ" + "ระยำ" + "ระยิบ" + "ระย้า" + "ระริก" + "ระลอก" + "ระลึก" + "ระวัง" + "ระวาง" + "ระหว่าง" + "ระหุย" + "ระอา" + "ระอุ" + "ระเนน" + "ระเนระนาด" + "ระเนียด" + "ระเบิด" + "ระเบียง" + "ระเบียน" + "ระเบียบ" + "ระเบ็ง" + "ระเมียร" + "ระเหย" + "ระเหิด" + "ระเห็จ" + "ระแคะ" + "ระแง้" + "ระแนง" + "ระแวง" + "รัก" + "รักข์" + "รักบี้" + "รักษา" + "รักษ์" + "รักแร้" + "รัง" + "รังสิต" + "รังสี" + "รังแก" + "รังแค" + "รัจฉา" + "รัช" + "รัชฎาภิเษก" + "รัชดาภิเษก" + "รัชนี" + "รัญจวน" + "รัฐ" + "รัฐบาล" + "รัฐบุรุษ" + "รัฐประศาสนศาสตร์" + "รัฐประหาร" + "รัฐมนตรี" + "รัฐวิสาหกิจ" + "รัฐศาสตร์" + "รัฐสภา" + "รัด" + "รัต" + "รัตติ" + "รัตน" + "รัตนตรัย" + "รัตนบัลลังก์" + "รัตนะ" + "รัตนา" + "รัตนโกสินทร์" + "รัตน์" + "รัถยา" + "รัน" + "รันทด" + "รับ" + "รับรอง" + "รัมภา" + "รัมมี่" + "รัว" + "รัศมิมัต" + "รัศมิมาน" + "รัศมี" + "รัษฎากร" + "รัสเซีย" + "รั่ว" + "รั้ง" + "รั้น" + "รั้ว" + "รา" + "ราก" + "รากษส" + "ราคะ" + "ราคา" + "ราคิน" + "ราคี" + "ราง" + "รางชาง" + "รางวัล" + "ราช" + "ราชการ" + "ราชนิกุล" + "ราชบัณฑิตยสถาน" + "ราชย์" + "ราชวงศ์" + "ราชวโรงการ" + "ราชสีมา" + "ราชสีห์" + "ราชันย์" + "ราชา" + "ราชาธิราช" + "ราชาภิเษก" + "ราชาวดี" + "ราชินิกุล" + "ราชินี" + "ราชินูปถัมภ์" + "ราชูปถัมภ์" + "ราชูปโภค" + "ราญ" + "ราด" + "ราต" + "ราตร" + "ราตรี" + "ราน" + "ราบ" + "ราพณาสูร" + "ราม" + "รามคำแหง" + "รามสูร" + "รามัญ" + "รามา" + "รามาธิบดี" + "รามเกียรติ์" + "ราย" + "รายการ" + "รายงาน" + "ราว" + "ราวี" + "ราศี" + "ราษฎร" + "ราษฎร์" + "ราหู" + "ราเชนทร์" + "ราโชบาย" + "ราโชวาท" + "รำ" + "รำคาญ" + "รำจวน" + "รำพัน" + "รำพึง" + "รำมะนา" + "รำลึก" + "รำเพย" + "ริ" + "ริก" + "ริดสีดวง" + "ริน" + "ริบ" + "ริบบิ้น" + "ริม" + "ริษยา" + "ริ้น" + "ริ้ว" + "รี" + "รีจิสทรี" + "รีด" + "รีต" + "รีบ" + "รีม" + "รีวิว" + "รีเสิร์ช" + "รีเสิร์ซ" + "รีโมต" + "รี่" + "รี้" + "รึง" + "รึ้ง" + "รื่น" + "รื้อ" + "รุ" + "รุก" + "รุกขกะ" + "รุกขชาติ" + "รุกขมูล" + "รุกขเทวดา" + "รุกข์" + "รุงรัง" + "รุจิ" + "รุจี" + "รุด" + "รุต" + "รุทธ์" + "รุทร" + "รุน" + "รุนแรง" + "รุบรู่" + "รุม" + "รุษฏ์" + "รุสโซ" + "รุ่ง" + "รุ่น" + "รุ่ม" + "รุ่มร่าม" + "รุ่ย" + "รุ้ง" + "รู" + "รูด" + "รูป" + "รูมาเนีย" + "รูสเซีย" + "รูเมเนีย" + "รูเล็ตต์" + "รู่" + "รู้" + "รู้จัก" + "รโห" + "ร่น" + "ร่ม" + "ร่วง" + "ร่วน" + "ร่วม" + "ร่อ" + "ร่อง" + "ร่อน" + "ร่อย" + "ร่า" + "ร่าง" + "ร่าน" + "ร่าย" + "ร่ำ" + "ร่ำรวย" + "ร้น" + "ร้อง" + "ร้อน" + "ร้อย" + "ร้า" + "ร้าง" + "ร้าน" + "ร้าย" + "ร้าว" + "ฤกษ์" + "ฤชา" + "ฤชุ" + "ฤณ" + "ฤดี" + "ฤดู" + "ฤต" + "ฤทธา" + "ฤทธิ์" + "ฤทัย" + "ฤษภ" + "ฤษี" + "ฤๅ" + "ลง" + "ลด" + "ลดา" + "ลดาวัลย์" + "ลน" + "ลบ" + "ลพบุรี" + "ลม" + "ลลนา" + "ลลาฏ" + "ลลิต" + "ลวก" + "ลวง" + "ลวด" + "ลวนลาม" + "ลวนะ" + "ลวะ" + "ลหุ" + "ลอก" + "ลอการิทึม" + "ลอง" + "ลองกอง" + "ลองจิจูด" + "ลอด" + "ลอตเตอรี่" + "ลอน" + "ลอนดอน" + "ลอบ" + "ลอม" + "ลอย" + "ลออ" + "ละ" + "ละคร" + "ละติจูด" + "ละติน" + "ละบัด" + "ละมั่ง" + "ละมุน" + "ละม่อม" + "ละม้าย" + "ละลวย" + "ละหมาด" + "ละหาน" + "ละหุ่ง" + "ละออง" + "ละอาย" + "ละเมอ" + "ละเมาะ" + "ละเมิด" + "ละเมียด" + "ละเลง" + "ละเลิง" + "ละเลียด" + "ละเวง" + "ละเหี่ย" + "ละเอียด" + "ละแวก" + "ละโมบ" + "ละโว้" + "ละไม" + "ลัก" + "ลักขณะ" + "ลักษณะ" + "ลักษมี" + "ลัคคะ" + "ลัคนา" + "ลัคน์" + "ลัง" + "ลังเล" + "ลัชชา" + "ลัชชี" + "ลัญจกร" + "ลัญจน์" + "ลัญฉ" + "ลัญฉกร" + "ลัญฉน์" + "ลัด" + "ลัดา" + "ลัทธิ" + "ลัทธ์" + "ลัน" + "ลับ" + "ลัพธ์" + "ลัย" + "ลั่น" + "ลั่นทม" + "ลา" + "ลาก" + "ลาง" + "ลาญ" + "ลาด" + "ลาน" + "ลาบ" + "ลาป" + "ลาภ" + "ลาม" + "ลามก" + "ลาย" + "ลายสือ" + "ลาลนะ" + "ลาลส" + "ลาว" + "ลาวก" + "ลาวัณย์" + "ลาวา" + "ลาสนะ" + "ลำ" + "ลำดวน" + "ลำดับ" + "ลำบาก" + "ลำพวน" + "ลำพอง" + "ลำพัง" + "ลำภุขัน" + "ลำยอง" + "ลำเค็ญ" + "ลำเจียก" + "ลำเนา" + "ลำเพา" + "ลำเลิก" + "ลำเลียง" + "ลำโพง" + "ลำไย" + "ลิ" + "ลิกไนต์" + "ลิขสิทธิ์" + "ลิขิต" + "ลิง" + "ลิงก์" + "ลิงค์" + "ลิด" + "ลิต" + "ลิตมัส" + "ลิตร" + "ลินิน" + "ลิบ" + "ลิปดา" + "ลิปต์" + "ลิปสติก" + "ลิปิ" + "ลิฟต์" + "ลิลิต" + "ลิว" + "ลิสง" + "ลิเก" + "ลิเบีย" + "ลิเวอร์พูล" + "ลิ่ม" + "ลิ่ว" + "ลิ้น" + "ลิ้นจี่" + "ลิ้ม" + "ลี" + "ลีก" + "ลีนุกซ์" + "ลีบ" + "ลีลา" + "ลีลาศ" + "ลี่" + "ลี้" + "ลึก" + "ลึงค์" + "ลืด" + "ลืบ" + "ลืม" + "ลือ" + "ลื่น" + "ลื่อ" + "ลื้น" + "ลื้อ" + "ลุ" + "ลุก" + "ลุง" + "ลุย" + "ลุ่น" + "ลุ่ม" + "ลุ่ย" + "ลุ้ง" + "ลุ้ย" + "ลูก" + "ลูกค้า" + "ลูกบาศก์" + "ลูบ" + "ลู่" + "ล็อกเกต" + "ล่น" + "ล่ม" + "ล่วง" + "ล่วม" + "ล่อ" + "ล่อง" + "ล่อน" + "ล่อย" + "ล่อแล่" + "ล่ะ" + "ล่า" + "ล่าง" + "ล่าน" + "ล่าม" + "ล่ำ" + "ล้งเล้ง" + "ล้น" + "ล้ม" + "ล้วง" + "ล้วน" + "ล้อ" + "ล้อม" + "ล้า" + "ล้าง" + "ล้าต้า" + "ล้าน" + "ล้ำ" + "วก" + "วกะ" + "วง" + "วงกต" + "วงก์" + "วงจร" + "วงศกร" + "วงศา" + "วงศ์" + "วจนะ" + "วจะ" + "วจี" + "วชะ" + "วชิระ" + "วชิราวุธ" + "วณบัตร" + "วณพันธน์" + "วณะ" + "วณิช" + "วณิชชา" + "วณิชยา" + "วณิชย์" + "วณิพก" + "วดี" + "วตะ" + "วทะ" + "วทัญญุตา" + "วธุกา" + "วธู" + "วน" + "วนัส" + "วนา" + "วนานต์" + "วนิดา" + "วนิพก" + "วยัสย์" + "วรงค์" + "วรณะ" + "วรมหาวิหาร" + "วรรค" + "วรรคย์" + "วรรช" + "วรรชย์" + "วรรณกรรม" + "วรรณคดี" + "วรรณนา" + "วรรณพฤติ" + "วรรณยุกต์" + "วรรณยุต" + "วรรณศิลป์" + "วรรณะ" + "วรรณึก" + "วรรธก" + "วรรธนะ" + "วรรษ" + "วรรษา" + "วรวิหาร" + "วรัญญู" + "วรางคนา" + "วราหะ" + "วราห์" + "วรุณ" + "วลัญชน์" + "วลัย" + "วลาหก" + "วลี" + "วศะ" + "วสสะ" + "วสสี" + "วสะ" + "วสันตดิลก" + "วสันต์" + "วสา" + "วสี" + "วสุ" + "วสุธา" + "วสุนธรา" + "วสุมดี" + "วหะ" + "วหา" + "วอ" + "วอก" + "วอกแวก" + "วอด" + "วอน" + "วอร์แรนท์" + "วอลล์สตรีท" + "วอลเลย์" + "วอลเลย์บอล" + "วอแว" + "วะ" + "วัก" + "วักกะ" + "วัค" + "วัคคีย์" + "วัคคุ" + "วัคซีน" + "วัง" + "วังก์" + "วังเวง" + "วัจนะ" + "วัช" + "วัชฌ์" + "วัชระ" + "วัชรินทร์" + "วัชรี" + "วัฏจักร" + "วัฏฏิ" + "วัฏสงสาร" + "วัฒกะ" + "วัฒกี" + "วัฒนธรรม" + "วัฒนะ" + "วัฒนา" + "วัณ" + "วัณฏ์" + "วัณนา" + "วัด" + "วัต" + "วัตตา" + "วัตต์" + "วัตถุ" + "วัตถ์" + "วัตนะ" + "วัตร" + "วัติ" + "วัน" + "วันทนา" + "วันทนีย์" + "วันทยหัตถ์" + "วันทยาวุธ" + "วันทา" + "วับ" + "วัปปะ" + "วัมมิก" + "วัย" + "วัลย์" + "วัลลภ" + "วัลลี" + "วัว" + "วัสดุ" + "วัสสะ" + "วัสสานะ" + "วัสโสทก" + "วา" + "วาก" + "วากยสัมพันธ์" + "วากยะ" + "วาง" + "วาจก" + "วาจา" + "วาณิช" + "วาณิชย์" + "วาณี" + "วาด" + "วาตภัย" + "วาตะ" + "วาท" + "วาทก" + "วาทยกร" + "วาทย์" + "วาทิต" + "วาทิน" + "วาที" + "วาน" + "วานร" + "วานรินทร์" + "วาบ" + "วาปะ" + "วาปิตะ" + "วาปี" + "วาม" + "วามะ" + "วาย" + "วายทูเค" + "วายสะ" + "วาร" + "วารสาร" + "วาริ" + "วารี" + "วารุณ" + "วารุณี" + "วาล" + "วาล์ว" + "วาว" + "วาสนะ" + "วาสนา" + "วาสพ" + "วาหะ" + "วาหินี" + "วาฬ" + "วิกรม" + "วิกฤต" + "วิกฤตการณ์" + "วิกฤติ" + "วิกล" + "วิกสิต" + "วิกัป" + "วิกาล" + "วิคหะ" + "วิง" + "วิงวอน" + "วิจยุต" + "วิจรณะ" + "วิจล" + "วิจักขณ์" + "วิจักษณ์" + "วิจัย" + "วิจาร" + "วิจารณญาณ" + "วิจารณ์" + "วิจิ" + "วิจิกิจฉา" + "วิจิต" + "วิจิตร" + "วิจิน" + "วิจุณ" + "วิจุรณ" + "วิชชา" + "วิชชุ" + "วิชชุลดา" + "วิชญะ" + "วิชนี" + "วิชา" + "วิชานนะ" + "วิชิต" + "วิญญัติ" + "วิญญาณ" + "วิญญู" + "วิฑูรย์" + "วิด" + "วิดีโอ" + "วิตก" + "วิตถาร" + "วิตามิน" + "วิถี" + "วิทยฐานะ" + "วิทยา" + "วิทยาลัย" + "วิทยุ" + "วิทยุต" + "วิทวัส" + "วิทารณ์" + "วิทาลน์" + "วิทิต" + "วิทู" + "วิทูร" + "วิธ" + "วิธวา" + "วิธา" + "วิธาน" + "วิธี" + "วิธูปนะ" + "วินันตู" + "วินัย" + "วินาที" + "วินาศ" + "วินิจ" + "วินิจฉัย" + "วินิต" + "วินิบาต" + "วินิปาติก" + "วินโดวส์" + "วินโดว์" + "วิบัติ" + "วิบาก" + "วิบุล" + "วิบุลย์" + "วิบูล" + "วิบูลย์" + "วิปการ" + "วิปฏิสาร" + "วิประการ" + "วิประติสาร" + "วิประลาป" + "วิประวาส" + "วิปริต" + "วิปลาป" + "วิปลาส" + "วิปวาส" + "วิปักษ์" + "วิปัสสก" + "วิปัสสนา" + "วิปโยค" + "วิพากษ์" + "วิพิธทัศนา" + "วิภวตัณหา" + "วิภังค์" + "วิภัช" + "วิภัตติ" + "วิภา" + "วิภาวดี" + "วิมัติ" + "วิมุต" + "วิมุตติ" + "วิรตะ" + "วิรมณะ" + "วิรรรธน์" + "วิรวะ" + "วิรัช" + "วิรัต" + "วิรัติ" + "วิริยภาพ" + "วิริยะ" + "วิรุธ" + "วิรุฬหก" + "วิรุฬห์" + "วิลันดา" + "วิลาด" + "วิลาป" + "วิลาวัณย์" + "วิลาศ" + "วิลาส" + "วิลาสินี" + "วิว" + "วิวรณ์" + "วิวระ" + "วิวัฏ" + "วิวัฒนาการ" + "วิวัฒน์" + "วิวาท" + "วิวาหมงคล" + "วิวาหะ" + "วิวาห์" + "วิวิจ" + "วิวิต" + "วิวิธ" + "วิศรุต" + "วิศวกร" + "วิศวกรรม" + "วิศัลย์" + "วิศาขะ" + "วิศาขา" + "วิศางค์" + "วิศาล" + "วิศิษฐ์" + "วิศุทธิ์" + "วิศุทธ์" + "วิษณุ" + "วิษธร" + "วิษักต์" + "วิษัย" + "วิษาณ" + "วิษุวัต" + "วิสกี้" + "วิสรรชนีย์" + "วิสฤต" + "วิสสุกรรม" + "วิสัชนา" + "วิสัญญี" + "วิสัย" + "วิสาขบูชา" + "วิสาขะ" + "วิสามัญ" + "วิสาสะ" + "วิสาหกิจ" + "วิสิฐ" + "วิสุงคามสีมา" + "วิสุทธิ์" + "วิสุทธ์" + "วิสูตร" + "วิหค" + "วิหงค์" + "วิหลั่น" + "วิหายสะ" + "วิหาร" + "วิหิงสะ" + "วิหิงสา" + "วิฬังค์" + "วิฬาร" + "วิฬาร์" + "วิเคราะห์" + "วิเชียร" + "วิเทวษ" + "วิเทศ" + "วิเทโศบาย" + "วิเนต" + "วิเยน" + "วิเรนทร์" + "วิเลป" + "วิเวก" + "วิเศษ" + "วิเศษณ์" + "วิเสท" + "วิเหสา" + "วิโนทก" + "วิโมกข์" + "วิโยค" + "วิโรจ" + "วิโรจน์" + "วิโรฒ" + "วิโรธ" + "วิโรธน์" + "วิโลจนะ" + "วิไล" + "วิ่ง" + "วิ่งเปี้ยว" + "วิ่น" + "วี" + "วีจิ" + "วีชนี" + "วีซ่า" + "วีณา" + "วีรกรรม" + "วีรชน" + "วีรบุรุษ" + "วีรสตรี" + "วี่วัน" + "วี่แวว" + "วี้ด" + "วุฐิ" + "วุฒ" + "วุฒิ" + "วุด" + "วุบ" + "วุ่น" + "วุ้ง" + "วุ้น" + "วุ้ย" + "วูดวาด" + "วูธู" + "วูบ" + "วู่วาม" + "วู้" + "วเนจร" + "วโนทยาน" + "วโร" + "วโรกาส" + "วโรดม" + "ว่อง" + "ว่อน" + "ว่า" + "ว่าง" + "ว่าน" + "ว่าย" + "ว่าว" + "ว้า" + "ว้าง" + "ว้าย" + "ศก" + "ศต" + "ศตวรรษ" + "ศพ" + "ศร" + "ศรัทธา" + "ศรัย" + "ศรี" + "ศรีวิไลฤทธิ์" + "ศรีษะเกษ" + "ศฤงคาร" + "ศศิ" + "ศอ" + "ศอก" + "ศักดา" + "ศักดินา" + "ศักดิ์" + "ศักยภาพ" + "ศักยะ" + "ศักย์" + "ศักราช" + "ศัตรู" + "ศัพท์" + "ศัลยกรรม" + "ศัลยศาสตร์" + "ศัลยแพทย์" + "ศัลย์" + "ศากยพุทธ" + "ศากยมุนี" + "ศากยะ" + "ศาตราจารย์" + "ศานติ" + "ศานต์" + "ศารท" + "ศารทูล" + "ศาล" + "ศาลา" + "ศาสก" + "ศาสดา" + "ศาสตรา" + "ศาสตราจารย์" + "ศาสตร์" + "ศาสนจักร" + "ศาสนา" + "ศาสนูปถัมภก" + "ศาสน์" + "ศิขริน" + "ศิริราช" + "ศิลปกร" + "ศิลปกรรม" + "ศิลปการ" + "ศิลปกิจ" + "ศิลปวิทยา" + "ศิลปศาสตร์" + "ศิลปะ" + "ศิลปากร" + "ศิลปิน" + "ศิลปี" + "ศิลป์" + "ศิลา" + "ศิวลึงค์" + "ศิวะ" + "ศิวเวท" + "ศิวโมกข์" + "ศิษย์" + "ศิโรราบ" + "ศีรษะ" + "ศีล" + "ศึก" + "ศึกษา" + "ศึกษาธิการ" + "ศึกษานิเทศก์" + "ศุกร์" + "ศุภกร" + "ศุภนิมิต" + "ศุภมัสดุ" + "ศุภมาตรา" + "ศุภมาส" + "ศุภอักษร" + "ศุภางค์" + "ศุภเคราะห์" + "ศุลกากร" + "ศุลการักษ์" + "ศุลี" + "ศูทร" + "ศูนย์" + "สก" + "สกนธ์" + "สกปรก" + "สกล" + "สกวาที" + "สกอตแลนด์" + "สกัด" + "สกา" + "สกาว" + "สกี" + "สกุณ" + "สกุณา" + "สกุณี" + "สกุนต์" + "สกุล" + "สก็อตแลนด์" + "สง" + "สงกรานต์" + "สงกา" + "สงขลา" + "สงคราม" + "สงฆ์" + "สงบ" + "สงวน" + "สงสัย" + "สงสาร" + "สงสารวัฏ" + "สงัด" + "สงเคราะห์" + "สง่า" + "สณฑ์" + "สด" + "สดมภ์" + "สดับ" + "สดุดี" + "สตรี" + "สตอก" + "สตัฟฟ์" + "สตางค์" + "สตาร์ท" + "สติ" + "สติ๊กเกอร์" + "สตู" + "สต๊อก" + "สถล" + "สถาน" + "สถานการณ์" + "สถานะ" + "สถานี" + "สถาบัน" + "สถาปนา" + "สถาปนิก" + "สถาปัตยกรรม" + "สถาพร" + "สถาวร" + "สถิต" + "สถิตย" + "สถิตยศาสตร์" + "สถิตย์" + "สถิติ" + "สถุล" + "สถูป" + "สทอพ" + "สน" + "สนทนา" + "สนธยา" + "สนธิ" + "สนนราคา" + "สนม" + "สนอง" + "สนับ" + "สนับสนุน" + "สนั่น" + "สนาน" + "สนาม" + "สนิท" + "สนิม" + "สนุก" + "สนุ่น" + "สนเทศ" + "สนเท่ห์" + "สนใจ" + "สบ" + "สบง" + "สบถ" + "สบาย" + "สบู่" + "สปริง" + "สปาย" + "สปาเกตตี" + "สปิริต" + "สภา" + "สภาพ" + "สภาพัฒน์" + "สภาวะ" + "สม" + "สมการ" + "สมควร" + "สมญา" + "สมณศักดิ์" + "สมณะ" + "สมดุล" + "สมถะ" + "สมนาคุณ" + "สมบัติ" + "สมบูรณาญาสิทธิราชย์" + "สมบูรณ์" + "สมประดี" + "สมปฤดี" + "สมภพ" + "สมภาร" + "สมมต" + "สมมติ" + "สมมาตร" + "สมมุติ" + "สมร" + "สมรรถ" + "สมรรถนะ" + "สมรส" + "สมอ" + "สมอง" + "สมัคร" + "สมัชชา" + "สมัน" + "สมัย" + "สมา" + "สมาคม" + "สมาจาร" + "สมาชิก" + "สมาธิ" + "สมาน" + "สมาบัติ" + "สมาส" + "สมิง" + "สมิต" + "สมี" + "สมุฏฐาน" + "สมุด" + "สมุทร" + "สมุทัย" + "สมุน" + "สมุนไพร" + "สมุห์" + "สมเด็จ" + "สมเพช" + "สมเสร็จ" + "สมโพธิ" + "สมโภค" + "สมโภช" + "สม่ำเสมอ" + "สยด" + "สยบ" + "สยมภู" + "สยอง" + "สยาม" + "สยาย" + "สยิว" + "สยุมพร" + "สยุมภู" + "สรง" + "สรณะ" + "สรณาคมน์" + "สรตะ" + "สรร" + "สรรค์" + "สรรพ" + "สรรพากร" + "สรรพางค์" + "สรรเพชญ" + "สรรเสริญ" + "สรวง" + "สรวม" + "สรวล" + "สระ" + "สราญ" + "สรีรกิจ" + "สรีรธาตุ" + "สรีรวิทยา" + "สรีรศาสตร์" + "สรีระ" + "สรุป" + "สร่ง" + "สร่าง" + "สร้อย" + "สร้าง" + "สร้าวเสียว" + "สฤต" + "สฤษฏ์" + "สล" + "สลด" + "สลบ" + "สลวน" + "สลวย" + "สลอด" + "สลอน" + "สลอย" + "สละ" + "สลัก" + "สลักเต้" + "สลัด" + "สลัดได" + "สลับ" + "สลัม" + "สลัว" + "สลา" + "สลาก" + "สลาด" + "สลาตัน" + "สลาบ" + "สลาย" + "สลิด" + "สลิล" + "สลึก" + "สลึง" + "สลุต" + "สลุบ" + "สลุมพร" + "สล็อต" + "สล้าง" + "สวก" + "สวด" + "สวน" + "สวนะ" + "สวนาการ" + "สวบ" + "สวม" + "สวย" + "สวร" + "สวรรคต" + "สวรรคาลัย" + "สวรรค์" + "สวรรยา" + "สวอป" + "สวะ" + "สวัสดิการ" + "สวัสดิภาพ" + "สวัสดิ์" + "สวัสดี" + "สวัสติกะ" + "สวา" + "สวาง" + "สวาด" + "สวาท" + "สวามิ" + "สวามี" + "สวาย" + "สวาสดิ์" + "สวาหะ" + "สวิง" + "สวิตช์" + "สวิตซ์" + "สวิสเซอร์แลนด์" + "สวีเดน" + "สว่าง" + "สว่าน" + "สว้าน" + "สสาร" + "สหกรณ์" + "สหการ" + "สหจร" + "สหชาติ" + "สหประชาชาติ" + "สหพันธรัฐ" + "สหพันธ์" + "สหภาพ" + "สหรัฐ" + "สหวิริยา" + "สหศึกษา" + "สหัช" + "สหัมบดี" + "สหัสนัยน์" + "สหัสวรรษ" + "สหัสสะ" + "สหัสสา" + "สหาย" + "สอ" + "สอง" + "สอด" + "สอน" + "สอบ" + "สอพลอ" + "สอย" + "สะ" + "สะกด" + "สะกิด" + "สะคราญ" + "สะดม" + "สะดวก" + "สะดิ้ง" + "สะดึง" + "สะดือ" + "สะดุด" + "สะดุ้ง" + "สะตอ" + "สะตึ" + "สะตือ" + "สะท้อน" + "สะท้าน" + "สะบัก" + "สะบัด" + "สะบัดสะบิ้ง" + "สะบั้น" + "สะบ้า" + "สะพรัก" + "สะพรั่ง" + "สะพัด" + "สะพั้น" + "สะพาน" + "สะพาย" + "สะระตะ" + "สะระแหน่" + "สะลึมสะลือ" + "สะวี้ดสะว้าด" + "สะสม" + "สะสาง" + "สะอาง" + "สะอาด" + "สะอิดสะเอียน" + "สะอิ้ง" + "สะอึก" + "สะอื้น" + "สะอ้าน" + "สะเก็ด" + "สะเด็ด" + "สะเทิ้น" + "สะเทือน" + "สะเทื้อน" + "สะเพร่า" + "สะเออะ" + "สะโพก" + "สะโอดสะอง" + "สะใภ้" + "สัก" + "สักขี" + "สักวา" + "สักหลาด" + "สัขยะ" + "สังกมทรัพย์" + "สังกร" + "สังกรณี" + "สังกะตัง" + "สังกะสี" + "สังกัด" + "สังกัปปะ" + "สังกา" + "สังกาศ" + "สังขยา" + "สังขาร" + "สังข์" + "สังคญาติ" + "สังคม" + "สังคัง" + "สังคายนา" + "สังคายนาย" + "สังคีต" + "สังค์" + "สังฆกรรม" + "สังฆนายก" + "สังฆมณฑล" + "สังฆมนตรี" + "สังฆราช" + "สังฆสภา" + "สังฆาฏิ" + "สังฆาวาส" + "สังวร" + "สังวัธยาย" + "สังวาล" + "สังวาส" + "สังสดมภ์" + "สังสรรค์" + "สังสารวัฏ" + "สังหร" + "สังหรณ์" + "สังหาร" + "สังหาริมทรัพย์" + "สังหิต" + "สังเกต" + "สังเขป" + "สังเคราะห์" + "สังเวคะ" + "สังเวช" + "สังเวย" + "สังเวียน" + "สังโยค" + "สังโยชน์" + "สัจ" + "สัจกิริยา" + "สัจจะ" + "สัจญาณ" + "สัจนิยม" + "สัจพจน์" + "สัชฌุ" + "สัญจร" + "สัญจาร" + "สัญชาตญาณ" + "สัญชาติ" + "สัญฌา" + "สัญญา" + "สัญญาณ" + "สัญญี" + "สัญประกาศ" + "สัญลักษณ์" + "สัญเจตนา" + "สัณฐาน" + "สัณฑ์" + "สัณห์" + "สัด" + "สัต" + "สัตตะ" + "สัตบรรณ" + "สัตยาบัน" + "สัตย์" + "สัตวบาล" + "สัตววิทยา" + "สัตวา" + "สัตวาร" + "สัตวแพทย์" + "สัตวโลก" + "สัตว์" + "สัทธรรม" + "สัทธา" + "สัทศาสตร์" + "สัน" + "สันดาน" + "สันดาป" + "สันตะปาปา" + "สันติ" + "สันต์" + "สันถวไมตรี" + "สันถัต" + "สันถาร" + "สันทนะ" + "สันทนาการ" + "สันทะ" + "สันทัด" + "สันธาน" + "สันนิบาต" + "สันนิวาส" + "สันนิษฐาน" + "สันนิเวส" + "สันสกฤต" + "สันโดษ" + "สับ" + "สับปลับ" + "สับปะรด" + "สัปคับ" + "สัปดน" + "สัปดาห์" + "สัปทน" + "สัประยุทธ์" + "สัปหงก" + "สัปเหร่อ" + "สัพ" + "สัพพะ" + "สัพพัญญู" + "สัพยอก" + "สัพเพเหระ" + "สัมบูรณ์" + "สัมปชัญญะ" + "สัมปทา" + "สัมปทาน" + "สัมปยุต" + "สัมประสิทธิ์" + "สัมประหาร" + "สัมปรายภพ" + "สัมปรายิกภพ" + "สัมปโยค" + "สัมผัส" + "สัมพัทธ์" + "สัมพันธน์" + "สัมพันธภาพ" + "สัมพันธมิตร" + "สัมพันธไมตรี" + "สัมพันธ์" + "สัมพาธะ" + "สัมพุทธะ" + "สัมภาระ" + "สัมภาษณ์" + "สัมมนา" + "สัมมา" + "สัมมาชีพ" + "สัมฤทธิ์" + "สัมโพธิ" + "สัมโมทนียกถา" + "สัสดี" + "สัสสะ" + "สั่ง" + "สั่น" + "สั้น" + "สา" + "สาก" + "สากรรจ์" + "สากล" + "สาขา" + "สาคร" + "สาคู" + "สาคเรส" + "สาง" + "สาด" + "สาทร" + "สาทิส" + "สาธก" + "สาธยาย" + "สาธารณภัย" + "สาธารณรัฐ" + "สาธารณสุข" + "สาธารณะ" + "สาธารณูปการ" + "สาธารณูปโภค" + "สาธิต" + "สาธุ" + "สาน" + "สานุศิษย์" + "สาบ" + "สาบสูญ" + "สาบาน" + "สาป" + "สาม" + "สามัคคี" + "สามัญ" + "สามานย์" + "สามารถ" + "สามิต" + "สามิภักดิ์" + "สามี" + "สามเณร" + "สาย" + "สายชู" + "สายยู" + "สายัณห์" + "สาร" + "สารคดี" + "สารถี" + "สารท" + "สารนิเทศ" + "สารบบ" + "สารบรรณ" + "สารบัญ" + "สารบับ" + "สารบาญ" + "สารพัด" + "สารพัน" + "สารพางค์" + "สารภาพ" + "สารภี" + "สารวัตร" + "สาระ" + "สาระแน" + "สารัทธ์" + "สารัมภ์" + "สาราณียกร" + "สารานุกรม" + "สารีริกธาตุ" + "สาละวน" + "สาลิกา" + "สาลินี" + "สาลี" + "สาลี่" + "สาว" + "สาวก" + "สาวิกา" + "สาวิตร" + "สาวิตรี" + "สาสน์" + "สาส์น" + "สาหร่าย" + "สาหัส" + "สาเก" + "สาเหตุ" + "สาแหรก" + "สาโท" + "สาโรช" + "สาไถย" + "สำ" + "สำคัญ" + "สำทับ" + "สำนวน" + "สำนัก" + "สำนึก" + "สำบัดสำนวน" + "สำปะหลัง" + "สำปั้น" + "สำมะหา" + "สำมะเลเทเมา" + "สำมะโนครัว" + "สำรวจ" + "สำรวม" + "สำรวย" + "สำรวล" + "สำรอก" + "สำรอง" + "สำรับ" + "สำราก" + "สำราญ" + "สำริด" + "สำลัก" + "สำลาน" + "สำลี" + "สำส่อน" + "สำหรับ" + "สำหา" + "สำออย" + "สำอาง" + "สำเนา" + "สำเนียง" + "สำเภา" + "สำเริง" + "สำเร็จ" + "สำเหนียก" + "สำเหร่" + "สำแดง" + "สำแลง" + "สำโรง" + "สิ" + "สิกขา" + "สิขร" + "สิคาล" + "สิง" + "สิงขร" + "สิงคาร" + "สิงคาล" + "สิงคโปร์" + "สิงค์" + "สิงสาราสัตว์" + "สิงหนาท" + "สิงหบัญชร" + "สิงหราช" + "สิงหล" + "สิงหาคม" + "สิงหาสน์" + "สิงห์" + "สิงโต" + "สิญจน์" + "สิต" + "สิถิล" + "สิทธ" + "สิทธา" + "สิทธารถ" + "สิทธิ" + "สิทธิ์" + "สิน" + "สินค้า" + "สินธุ" + "สินี" + "สินเธาว์" + "สิบ" + "สิมพลี" + "สิริ" + "สิริกิติ์" + "สิลา" + "สิว" + "สิเนหก" + "สิเนหา" + "สิเน่หา" + "สิ่ง" + "สิ่ว" + "สิ้น" + "สี" + "สีกา" + "สีดอ" + "สี่" + "สึก" + "สืบ" + "สื่อ" + "สุ" + "สุก" + "สุกข์" + "สุกร" + "สุกี้ยากี้" + "สุข" + "สุขะ" + "สุขา" + "สุขาภิบาล" + "สุขารมณ์" + "สุขาวดี" + "สุขี" + "สุขุม" + "สุขุมาล" + "สุคต" + "สุคติ" + "สุคนธรส" + "สุคนธ์" + "สุคันธ์" + "สุงกากร" + "สุงสิง" + "สุจริต" + "สุจหนี่" + "สุจิ" + "สุชน" + "สุชาดา" + "สุญ" + "สุญญากาศ" + "สุณ" + "สุณิสา" + "สุด" + "สุดา" + "สุต" + "สุตตะ" + "สุติ" + "สุทธาวาส" + "สุทธิ" + "สุทธ์" + "สุทัศน์" + "สุธา" + "สุธี" + "สุนทร" + "สุนทรี" + "สุนทรียภาพ" + "สุนทรียศาสตร์" + "สุนัข" + "สุนันท์" + "สุบรรณ" + "สุบิน" + "สุพรรณ" + "สุภัค" + "สุภาพ" + "สุภาษิต" + "สุม" + "สุมทุม" + "สุมน" + "สุมนา" + "สุมาลี" + "สุรสีหนาท" + "สุรัติ" + "สุรัสวดี" + "สุรา" + "สุรางคนา" + "สุรางคนางค์" + "สุรารักษ์" + "สุราลัย" + "สุราษฎร์" + "สุรินทร์" + "สุริยการ" + "สุริยกาล" + "สุริยคติ" + "สุริยคราส" + "สุริยง" + "สุริยน" + "สุริยมณฑล" + "สุริยะ" + "สุริยัน" + "สุริยา" + "สุริยุปราคา" + "สุริยเคราะห์" + "สุริเยนทร์" + "สุริเยศ" + "สุริโย" + "สุรีย์" + "สุรุ่ยสุร่าย" + "สุรเสียง" + "สุลต่าน" + "สุวภาพ" + "สุวรรณ" + "สุวาน" + "สุวิทย์" + "สุวินัย" + "สุวิมล" + "สุสาน" + "สุหนัต" + "สุหร่าย" + "สุเมธ" + "สุเมรุ" + "สุเหร่า" + "สุเอซ" + "สุ่ม" + "สุ้ม" + "สู" + "สูง" + "สูจิ" + "สูญ" + "สูด" + "สูต" + "สูตร" + "สูติ" + "สูติกรรม" + "สูติบัตร" + "สูติศาสตร์" + "สูติแพทย์" + "สูท" + "สูบ" + "สูสี" + "สู่" + "สู้" + "สเกต" + "สเตอริโอ" + "สเต็ก" + "สเน่ห์" + "สเปก" + "สเปกตรัม" + "สเปน" + "สเปรดชีต" + "สแกน" + "สแลง" + "สโมสร" + "สโรช" + "สไตล์" + "สไบ" + "สไลด์" + "ส่ง" + "ส่วน" + "ส่วย" + "ส่อ" + "ส่อง" + "ส่อน" + "ส่า" + "ส่าน" + "ส่าย" + "ส่าหรี่" + "ส่าเหล้า" + "ส่ำ" + "ส้น" + "ส้ม" + "ส้มป่อย" + "ส้วง" + "ส้วม" + "ส้วย" + "ส้อง" + "ส้อม" + "หก" + "หง" + "หงส์" + "หงอ" + "หงอก" + "หงอด" + "หงอน" + "หงอย" + "หงัก" + "หงับ" + "หงาย" + "หงำ" + "หงิก" + "หงิง" + "หงิม" + "หงึก" + "หงุงหงิง" + "หงุดหงิด" + "หงุบ" + "หงุ่ย" + "หง่อม" + "หง่าง" + "หง่าว" + "หญิง" + "หญิบ" + "หญ้า" + "หด" + "หทัย" + "หน" + "หนวก" + "หนวด" + "หนอ" + "หนอก" + "หนอง" + "หนอน" + "หนัก" + "หนัง" + "หนังสือ" + "หนับ" + "หนั่น" + "หนา" + "หนาด" + "หนาน" + "หนาม" + "หนาว" + "หนำ" + "หนำเลี้ยบ" + "หนี" + "หนีบ" + "หนี้" + "หนึบ" + "หนึ่ง" + "หนืด" + "หนุ" + "หนุน" + "หนุบ" + "หนุ่ม" + "หนุ่ย" + "หนู" + "หน็อยแน่" + "หน่วง" + "หน่วย" + "หน่วยกิต" + "หน่อ" + "หน่อย" + "หน่า" + "หน่าง" + "หน่าย" + "หน้า" + "หน้าที่" + "หมก" + "หมด" + "หมวก" + "หมวด" + "หมอ" + "หมอก" + "หมอง" + "หมอน" + "หมอบ" + "หมอย" + "หมัก" + "หมัด" + "หมัน" + "หมับ" + "หมั่น" + "หมั้น" + "หมา" + "หมาก" + "หมากฮอส" + "หมาง" + "หมาด" + "หมาย" + "หมิ่น" + "หมี" + "หมี่" + "หมึก" + "หมื่น" + "หมุด" + "หมุน" + "หมุบ" + "หมุบหมิบ" + "หมุ่ย" + "หมู" + "หมู่" + "หม่น" + "หม่อง" + "หม่อน" + "หม่อม" + "หม่า" + "หม่ำ" + "หม้อ" + "หม้าย" + "หยก" + "หยด" + "หยวก" + "หยวบ" + "หยอก" + "หยอกเอิน" + "หยอง" + "หยอด" + "หยอมแหยม" + "หยอย" + "หยัก" + "หยัง" + "หยัด" + "หยัน" + "หยับ" + "หยั่ง" + "หยากไย่" + "หยาด" + "หยาบ" + "หยาม" + "หยาว" + "หยำเป" + "หยิก" + "หยิบ" + "หยิม" + "หยิ่ง" + "หยี" + "หยุกหยิก" + "หยุด" + "หยุบ" + "หยุมหยิม" + "หยุ่น" + "หยูกยา" + "หย็องแหย็ง" + "หย่ง" + "หย่อง" + "หย่อน" + "หย่อม" + "หย่อย" + "หย่า" + "หรดี" + "หรรษา" + "หรอ" + "หรอก" + "หรอย" + "หรา" + "หริ" + "หริ่ง" + "หรีด" + "หรี่" + "หรือ" + "หรุบ" + "หรุบรู่" + "หรุบหรู่" + "หรุ่ม" + "หรู" + "หร็อมแหร็ม" + "หฤทัย" + "หฤหรรษ์" + "หฤโหด" + "หล" + "หลง" + "หลด" + "หลน" + "หลบ" + "หลวง" + "หลวม" + "หลอ" + "หลอก" + "หลอด" + "หลอน" + "หลอม" + "หละ" + "หลัก" + "หลัง" + "หลัด" + "หลับ" + "หลัว" + "หลั่ง" + "หลั่น" + "หลา" + "หลาก" + "หลาน" + "หลาบ" + "หลาม" + "หลาย" + "หลาว" + "หลิก" + "หลิม" + "หลิว" + "หลิ่ว" + "หลี" + "หลีก" + "หลีฮื้อ" + "หลืบ" + "หลุกหลิก" + "หลุด" + "หลุน" + "หลุบ" + "หลุม" + "หลู่" + "หล่น" + "หล่ม" + "หล่อ" + "หล่อน" + "หล่ะ" + "หล้า" + "หวง" + "หวด" + "หวน" + "หวย" + "หวอ" + "หวอด" + "หวะ" + "หวัง" + "หวัด" + "หวัว" + "หวัวร่อ" + "หวั่น" + "หวา" + "หวาด" + "หวาน" + "หวาม" + "หวาย" + "หวำ" + "หวิด" + "หวิว" + "หวี" + "หวีด" + "หวี่" + "หวือ" + "หวุดหวิด" + "หวุม" + "หวูด" + "หว็อย" + "หว่า" + "หว่าง" + "หว่าน" + "หว้า" + "หอ" + "หอก" + "หอง" + "หอน" + "หอบ" + "หอม" + "หอย" + "หะแรก" + "หัก" + "หัด" + "หัตถกรรม" + "หัตถการ" + "หัตถกิจ" + "หัตถบาส" + "หัตถศิลป์" + "หัตถศึกษา" + "หัตถี" + "หัตถ์" + "หัน" + "หับ" + "หัว" + "หัวบุก" + "หัวหน้า" + "หัวเราะ" + "หัส" + "หั่น" + "หั้น" + "หา" + "หาก" + "หาง" + "หาญ" + "หาด" + "หาน" + "หาบ" + "หาม" + "หาย" + "หายนะ" + "หาร" + "หารือ" + "หาว" + "หำ" + "หิงสา" + "หิงห้อย" + "หิด" + "หิน" + "หิมะ" + "หิมาลัย" + "หิรัญ" + "หิริ" + "หิว" + "หิ่งห้อย" + "หิ้ง" + "หิ้ว" + "หีนยาน" + "หีบ" + "หึ" + "หึง" + "หึ่ง" + "หืด" + "หืน" + "หือ" + "หื่น" + "หื้อ" + "หุง" + "หุน" + "หุบ" + "หุยฮา" + "หุ่น" + "หุ้น" + "หุ้ม" + "หู" + "หูก" + "หูด" + "หู่" + "หโยดม" + "ห่ม" + "ห่วง" + "ห่วย" + "ห่อ" + "ห่อน" + "ห่า" + "ห่าง" + "ห่าน" + "ห่าม" + "ห้วง" + "ห้วน" + "ห้วย" + "ห้อ" + "ห้อง" + "ห้อม" + "ห้อย" + "ห้า" + "ห้าง" + "ห้าม" + "ห้าว" + "ห้ำ" + "อก" + "อกตัญญุตา" + "อกตัญญู" + "อกนิษฐ์" + "อกรณีย์" + "อกรรมกริยา" + "อกุศล" + "อคติ" + "อคาธ" + "องก์" + "องคชาติ" + "องคมนตรี" + "องคมรรษ" + "องครักษ์" + "องควิทยา" + "องคาพยพ" + "องคุล" + "องคุลี" + "องค์" + "องค์กร" + "องค์การ" + "องศา" + "องอาจ" + "องุ่น" + "อจลา" + "อจิตติ" + "อจินตา" + "อจินไตย" + "อจิระ" + "อช" + "อชา" + "อชิน" + "อชินี" + "อชิร" + "อฏวี" + "อณิ" + "อณุ" + "อณู" + "อด" + "อดิถี" + "อดิศร" + "อดิศวร" + "อดิศัย" + "อดิเทพ" + "อดิเรก" + "อดีต" + "อดุล" + "อดุลย" + "อดุลย์" + "อติชาต" + "อติมานะ" + "อติราช" + "อติสาร" + "อติเรก" + "อทินนาทาน" + "อธรรม" + "อธิกมาส" + "อธิกรณ์" + "อธิกวาร" + "อธิกสุรทิน" + "อธิการ" + "อธิคม" + "อธิฏฐาน" + "อธิบดี" + "อธิบาย" + "อธิป" + "อธิปไตย" + "อธิราช" + "อธิษฐาน" + "อธึก" + "อนงคณะ" + "อนงคเลขา" + "อนงค์" + "อนงเลข" + "อนธการ" + "อนัตตา" + "อนันต์" + "อนาคต" + "อนาคามี" + "อนาจาร" + "อนาถ" + "อนาถา" + "อนาทร" + "อนาธิปไตย" + "อนามัย" + "อนารยชน" + "อนารยธรรม" + "อนารยะ" + "อนาลัย" + "อนิจ" + "อนิจจัง" + "อนิจจา" + "อนิฏฐารมย์" + "อนิยม" + "อนึ่ง" + "อนุ" + "อนุกร" + "อนุกรม" + "อนุกรรมการ" + "อนุกาชาด" + "อนุการ" + "อนุกูล" + "อนุจร" + "อนุชน" + "อนุชา" + "อนุชาต" + "อนุชิต" + "อนุญาต" + "อนุญาโตตุลาการ" + "อนุทิน" + "อนุบท" + "อนุบาล" + "อนุปริญญา" + "อนุพงศ์" + "อนุพันธ์" + "อนุภรรยา" + "อนุภริยา" + "อนุภาค" + "อนุมัติ" + "อนุมาตรา" + "อนุมาน" + "อนุมูล" + "อนุรักษนิยม" + "อนุรักษ์" + "อนุราช" + "อนุรูป" + "อนุวงศ์" + "อนุวัต" + "อนุศาสก" + "อนุศาสตราจารย์" + "อนุศาสน์" + "อนุศิษฏ์" + "อนุสติ" + "อนุสนธิ" + "อนุสร" + "อนุสรณ์" + "อนุสัญญา" + "อนุสัย" + "อนุสาวรีย์" + "อนุสาสนี" + "อนุเคราะห์" + "อนุเถระ" + "อนุโมทนา" + "อนุโยค" + "อนุโลม" + "อบ" + "อบาย" + "อบายภูมิ" + "อบายมุข" + "อปมงคล" + "อพยพ" + "อพาร์ตเมนต์" + "อภัย" + "อภิชน" + "อภิชาต" + "อภิญญา" + "อภิธรรม" + "อภิธาน" + "อภินันท์" + "อภินัย" + "อภินิหาร" + "อภิบาล" + "อภิปรัชญา" + "อภิปราย" + "อภิมหาอำนาจ" + "อภิมานะ" + "อภิมุข" + "อภิรดี" + "อภิรมย์" + "อภิรักษ์" + "อภิลักขิตสมัย" + "อภิวันท์" + "อภิวาทน์" + "อภิสมัย" + "อภิสมาจาร" + "อภิสมโพธิ" + "อภิสัมโพธิ" + "อภิสิทธิ์" + "อภิเลปน์" + "อภิเษก" + "อภิไธย" + "อม" + "อมตะ" + "อมนุษย์" + "อมร" + "อมรา" + "อมราวดี" + "อมรินทร์" + "อมฤต" + "อมฤตยู" + "อมิตร" + "อมเรศ" + "อยาก" + "อยุธยา" + "อยู่" + "อย่า" + "อย่าง" + "อร" + "อรชร" + "อรรณพ" + "อรรถ" + "อรรถาธิบาย" + "อรหะ" + "อรหัง" + "อรหันต์" + "อรัญ" + "อริ" + "อริยบุคคล" + "อริยะ" + "อริสโตเติล" + "อรุณ" + "อรุโณทัย" + "อรไท" + "อร่อย" + "อร่าม" + "อลงกต" + "อลงกรณ์" + "อลงการ" + "อลวน" + "อลหม่าน" + "อลังการ" + "อลัชชี" + "อลึ่งฉึ่ง" + "อลเวง" + "อล่องฉ่อง" + "อล่างฉ่าง" + "อวกาศ" + "อวด" + "อวตาร" + "อวน" + "อวบ" + "อวมงคล" + "อวย" + "อวล" + "อวสาน" + "อวหาร" + "อวัยวะ" + "อวิชชา" + "อสงไขย" + "อสนีบาต" + "อสมการ" + "อสมมาตร" + "อสรพิษ" + "อสังหาริมทรัพย์" + "อสัญญี" + "อสัญแดหวา" + "อสัตย์" + "อสีติ" + "อสุจิ" + "อสุนีบาต" + "อสุรกาย" + "อสุรี" + "อสูร" + "อหังการ" + "อหิงสา" + "อหิวาตกโรค" + "ออ" + "ออก" + "ออกซิเจน" + "ออกซิเดชัน" + "ออกญา" + "ออกไซด์" + "ออด" + "ออดิโอ" + "ออนชอร์" + "ออนซอน" + "ออนซ์" + "ออนไลน์" + "ออปชัน" + "ออปเจ็กต์" + "ออฟ" + "ออฟชอร์" + "ออฟฟิศ" + "ออม" + "ออราเคิล" + "ออร์แกน" + "ออส" + "ออสเตรเลีย" + "อะคร้าว" + "อะดรีนาลิน" + "อะตอม" + "อะร้าอร่าม" + "อะลุ่มอล่วย" + "อะลุ้มอล่วย" + "อะลูมิเนียม" + "อะเคื้อ" + "อะเซทิลีน" + "อะไร" + "อะไหล่" + "อัก" + "อักข" + "อักขรวิธี" + "อักขรวิบัติ" + "อักขรสมัย" + "อักขระ" + "อักษร" + "อักษะ" + "อักเสบ" + "อักโข" + "อัคคะ" + "อัคคี" + "อัคนี" + "อัครชายา" + "อัครมเหสี" + "อัครราชทูต" + "อัง" + "อังกฤษ" + "อังกะลุง" + "อังคณา" + "อังคาร" + "อังคาส" + "อังสตรอม" + "อังสนา" + "อัจกลับ" + "อัจจันต์" + "อัจจัย" + "อัจจิ" + "อัจฉรา" + "อัจฉริยบุคคล" + "อัจฉริยะ" + "อัจนา" + "อัชฌา" + "อัชฌาสัย" + "อัญชนะ" + "อัญชลี" + "อัญชัน" + "อัญประกาศ" + "อัญมณี" + "อัญมัญญะ" + "อัญรูป" + "อัญเชิญ" + "อัฏ" + "อัฏฐะ" + "อัฐ" + "อัฐฬส" + "อัฐิ" + "อัฒจันทร์" + "อัฒภาค" + "อัฒมณฑล" + "อัฒมาส" + "อัฒรัตติ" + "อัณฑชะ" + "อัณฑะ" + "อัณฑาการ" + "อัด" + "อัตคัด" + "อัตชีวประวัติ" + "อัตตะ" + "อัตตา" + "อัตตาธิปไตย" + "อัตนัย" + "อัตภาพ" + "อัตรา" + "อัตวินิบาตกรรม" + "อัตโนมัติ" + "อัธยาศัย" + "อัน" + "อันดับ" + "อันตรธาน" + "อันตราย" + "อันธการ" + "อันธพาล" + "อันเดอร์" + "อับ" + "อัปภาคย์" + "อัปมงคล" + "อัปยศ" + "อัประมาณ" + "อัปราชัย" + "อัปรีย์" + "อัปลักษณ์" + "อัปสร" + "อัปเปหิ" + "อัพเกรด" + "อัพเดต" + "อัพเดท" + "อัฟ" + "อัมพร" + "อัมพฤกษ์" + "อัมพา" + "อัมพาต" + "อัมพุช" + "อัมสเตอร์ดัม" + "อัยกา" + "อัยการ" + "อัยยิกา" + "อัลจีเรีย" + "อัลบั้ม" + "อัลบาเนีย" + "อัลเบเนีย" + "อัศจรรย์" + "อัศวิน" + "อัศวินี" + "อัศเจรีย์" + "อัษฎายุท" + "อัษฎาวุธ" + "อัสดง" + "อัสดงคต" + "อัสดร" + "อัสนี" + "อัสสะ" + "อัสสาสะ" + "อัสสุ" + "อั้ก" + "อั้งยี่" + "อั้งโล่" + "อั้น" + "อั๊ก" + "อั๋น" + "อา" + "อากร" + "อากัปกิริยา" + "อาการ" + "อากาศ" + "อากูล" + "อาก้า" + "อาขยาน" + "อาคม" + "อาคันตุกะ" + "อาคาร" + "อาคเนย์" + "อาฆาต" + "อางขนาง" + "อาจ" + "อาจม" + "อาจริยวัตร" + "อาจาด" + "อาจารย์" + "อาจิณ" + "อาชญา" + "อาชา" + "อาชาไนย" + "อาชีพ" + "อาชีวศึกษา" + "อาชีวะ" + "อาญา" + "อาณัติ" + "อาณา" + "อาด" + "อาดูร" + "อาตมภาพ" + "อาตมา" + "อาถรรพณ์" + "อาถรรพ์" + "อาทร" + "อาทิ" + "อาทิตย์" + "อาน" + "อานิสงส์" + "อานุภาพ" + "อาบ" + "อาบัติ" + "อาพาธ" + "อาฟกานิสถาน" + "อาฟริกา" + "อาภรณ์" + "อาภัพ" + "อาภา" + "อามิส" + "อาย" + "อายตนะ" + "อายัด" + "อายุ" + "อายุรศาสตร์" + "อายุรเวช" + "อายุรแพทย์" + "อารบิค" + "อารมณ์" + "อารยชน" + "อารยชาติ" + "อารยธรรม" + "อารยประเทศ" + "อารยะ" + "อารยัน" + "อารักขา" + "อารักษ์" + "อารัมภกถา" + "อารัมภบท" + "อาราธนา" + "อาราม" + "อารามิก" + "อาราเบีย" + "อารี" + "อาร์คติก" + "อาร์เซนอล" + "อาลปนะ" + "อาละวาด" + "อาลักษณ์" + "อาลัย" + "อาลัว" + "อาว" + "อาวรณ์" + "อาวาส" + "อาวาหะ" + "อาวุธ" + "อาวุโส" + "อาว์" + "อาศรม" + "อาศัย" + "อาศิรวาท" + "อาสนะ" + "อาสน์" + "อาสัญ" + "อาสา" + "อาสาฬหบูชา" + "อาสูร" + "อาหรับ" + "อาหาร" + "อาเจียน" + "อาเซีย" + "อาเรเบีย" + "อาเวค" + "อาเวศ" + "อาเศียรวาท" + "อำ" + "อำนวย" + "อำนาจ" + "อำพะนำ" + "อำพัน" + "อำมฤต" + "อำมหิต" + "อำมาตย์" + "อำลา" + "อำเภอ" + "อำไพ" + "อิง" + "อิงค์" + "อิงค์เจ็ต" + "อิจฉา" + "อิฉัน" + "อิฏฐารมณ์" + "อิฐ" + "อิด" + "อิตถี" + "อิตาลี" + "อิตาเลียน" + "อิทธิ" + "อิน" + "อินซูลิน" + "อินทนิล" + "อินทผลัม" + "อินทรธนู" + "อินทรวงศ์" + "อินทรวิเชียร" + "อินทรา" + "อินทราเน็ต" + "อินทรี" + "อินทรียสังวร" + "อินทรีย์" + "อินทร์" + "อินพุต" + "อินฟราเรด" + "อินฟอร์มิก" + "อินัง" + "อินเดีย" + "อินเดียนแดง" + "อินเตอร์" + "อินเตอร์เน็ต" + "อินเตอร์เฟซ" + "อินเทล" + "อินเทอร์เนต" + "อินเทอร์เน็ต" + "อินเทอร์เฟซ" + "อินโดนิเซีย" + "อินโดนีเซีย" + "อินโดเซีย" + "อิมพอร์ต" + "อิมเมจ" + "อิยิปต์" + "อิริยาบถ" + "อิศวร" + "อิษฏี" + "อิษฏ์" + "อิส" + "อิสตรี" + "อิสรภาพ" + "อิสระ" + "อิสราเอล" + "อิสริยยศ" + "อิสริยะ" + "อิสริยาภรณ์" + "อิสสา" + "อิสิ" + "อิสี" + "อิหม่าม" + "อิหร่าน" + "อิหลักอิเหลื่อ" + "อิเล็กตรอน" + "อิเล็กทรอนิกส์" + "อิเล็กโทน" + "อิ่ม" + "อี" + "อีก" + "อีกา" + "อีก้อ" + "อีคอมเมิร์ซ" + "อีนุงตุงนัง" + "อีมู" + "อียิปต์" + "อีลุ่ยฉุยแฉก" + "อีลุ้ม" + "อีสาน" + "อีสุกอีใส" + "อีหรอบ" + "อีหลักอิเหลื่อ" + "อีหลี" + "อีเต้อ" + "อีเทอร์" + "อีเมล์" + "อีเหละเขะขะ" + "อีโหลกโขลกเขลก" + "อี๊ด" + "อี๋" + "อึ" + "อึก" + "อึกทึก" + "อึกอัก" + "อึง" + "อึงมี่" + "อึงอล" + "อึด" + "อึ่ง" + "อึ้ง" + "อึ้ดทึ่ด" + "อึ๊ก" + "อืด" + "อือ" + "อื่น" + "อื้น" + "อื้อ" + "อุ" + "อุก" + "อุกกาบาต" + "อุกฤษฏ์" + "อุจจาระ" + "อุจาด" + "อุจารมรรค" + "อุจเฉท" + "อุชุ" + "อุฏฐาการ" + "อุณหภูมิ" + "อุณหะ" + "อุณหาการ" + "อุณหิส" + "อุณา" + "อุด" + "อุดม" + "อุดร" + "อุดหนุน" + "อุตพิด" + "อุตรดิตถ์" + "อุตริ" + "อุตลุด" + "อุตสาหกรรม" + "อุตสาหะ" + "อุตส่าห์" + "อุตุ" + "อุทก" + "อุทธรณ์" + "อุทธัจ" + "อุทยาน" + "อุทร" + "อุทลุม" + "อุทัช" + "อุทัย" + "อุทาน" + "อุทาร" + "อุทาหรณ์" + "อุทิศ" + "อุทุมพร" + "อุธัจ" + "อุบ" + "อุบล" + "อุบอิบ" + "อุบะ" + "อุบัติ" + "อุบาท" + "อุบาทว์" + "อุบาย" + "อุบาสก" + "อุบาสิกา" + "อุบ๊ะ" + "อุป" + "อุปกรณ์" + "อุปกรม" + "อุปการะ" + "อุปการี" + "อุปถัมภก" + "อุปถัมภ์" + "อุปทาน" + "อุปทูต" + "อุปนัย" + "อุปนายก" + "อุปนิสัย" + "อุปมา" + "อุปมาน" + "อุปราช" + "อุปสงค์" + "อุปสมบท" + "อุปสรรค" + "อุปสัมปทา" + "อุปัชฌายะ" + "อุปัชฌาย์" + "อุปัฏฐาก" + "อุปัฏฐานะ" + "อุปัทวันตราย" + "อุปัทวเหตุ" + "อุปาทาน" + "อุปโภค" + "อุปโยค" + "อุปโลกน์" + "อุปไมย" + "อุย" + "อุระ" + "อุรังอุตัง" + "อุรา" + "อุรุ" + "อุรุงอุตัง" + "อุษณีย์" + "อุษา" + "อุสา" + "อุสุ" + "อุเบกขา" + "อุเหม่" + "อุแว้" + "อุโฆษ" + "อุโบสถ" + "อุโมงค์" + "อุไร" + "อุ่น" + "อุ่ย" + "อุ้ง" + "อุ้ม" + "อุ้ย" + "อุ๊ย" + "อู" + "อูฐ" + "อูด" + "อูม" + "อูรุ" + "อู่" + "อู้" + "อู้อี้" + "อู๋อี๋" + "อเจลก" + "อเจละ" + "อเนก" + "อเนกคุณ" + "อเนจอนาถ" + "อเปหิ" + "อเม" + "อเมริกัน" + "อเมริกา" + "อเวจี" + "อแดปเตอร์" + "อโฆษะ" + "อโณทัย" + "อโนชา" + "อโนดาต" + "อโลหะ" + "อโศก" + "อโหสิ" + "อ่อง" + "อ่อน" + "อ่อย" + "อ่า" + "อ่าง" + "อ่าน" + "อ่าว" + "อ่ำ" + "อ้น" + "อ้วก" + "อ้วน" + "อ้อ" + "อ้อน" + "อ้อนแอ้น" + "อ้อม" + "อ้อย" + "อ้อยส้อย" + "อ้อยอิ่ง" + "อ้า" + "อ้าง" + "อ้าย" + "อ้าว" + "อ้ำอึ้ง" + "อ๊อด" + "อ๊ะ" + "อ๋อ" + "อ๋อง" + "อ๋อย" + "ฮกเกี้ยน" + "ฮวงซุ้ย" + "ฮวน" + "ฮวบ" + "ฮอกกี้" + "ฮอด" + "ฮอนโนลูลู" + "ฮอร์โมน" + "ฮอลันดา" + "ฮอลแลนด์" + "ฮะ" + "ฮัก" + "ฮังการี" + "ฮั่น" + "ฮั้ว" + "ฮา" + "ฮาม" + "ฮาร์ดดิสค์" + "ฮาร์ดแวร์" + "ฮาเร็ม" + "ฮาโลวีน" + "ฮิต" + "ฮินดู" + "ฮิปโปโปเตมัส" + "ฮิสทีเรีย" + "ฮีเลียม" + "ฮีโร่" + "ฮึ" + "ฮึก" + "ฮึด" + "ฮึดฮัด" + "ฮึม" + "ฮึย" + "ฮึ่ม" + "ฮืดฮาด" + "ฮือ" + "ฮื่อ" + "ฮื้อ" + "ฮุบ" + "ฮุยเลฮุย" + "ฮูก" + "ฮูม" + "ฮู้" + "ฮ่อ" + "ฮ่องกง" + "ฮ่องเต้" + "ฮ้อ" + "ฮ้า" + "เก" + "เกกมะเหรก" + "เกจิอาจารย์" + "เกณฑ์" + "เกด" + "เกตุ" + "เกน" + "เกม" + "เกมส์" + "เกย" + "เกรง" + "เกรด" + "เกรอะ" + "เกราะ" + "เกริก" + "เกริ่น" + "เกรียก" + "เกรียง" + "เกรียน" + "เกรียบ" + "เกรียม" + "เกรียว" + "เกรี้ยว" + "เกร็ง" + "เกร็ด" + "เกร่อ" + "เกล" + "เกลอ" + "เกลา" + "เกลียง" + "เกลียด" + "เกลียว" + "เกลี่ย" + "เกลี้ย" + "เกลี้ยง" + "เกลือ" + "เกลือก" + "เกลื่อน" + "เกลื้อ" + "เกลื้อน" + "เกล็ด" + "เกล้า" + "เกวียน" + "เกศ" + "เกศา" + "เกศินี" + "เกษตร" + "เกษตรกร" + "เกษตรกรรม" + "เกษม" + "เกษียณ" + "เกษียน" + "เกสร" + "เกอ" + "เกอร์" + "เกอิชา" + "เกะ" + "เกะกะ" + "เกา" + "เกาต์" + "เกาทัณฑ์" + "เกาลัด" + "เกาหลี" + "เกาะ" + "เกาเหลา" + "เกิง" + "เกิด" + "เกิน" + "เกีย" + "เกียง" + "เกียจ" + "เกียด" + "เกียน" + "เกียรติ" + "เกียรติคุณ" + "เกียรตินิยม" + "เกียรติประวัติ" + "เกียรติภูมิ" + "เกียรติยศ" + "เกียรติศักดิ์" + "เกียรติ์" + "เกียร์" + "เกี่ย" + "เกี่ยง" + "เกี่ยว" + "เกี้ยมอี๋" + "เกี้ยมไฉ่" + "เกี้ยว" + "เกี๊ยว" + "เกี๊ยะ" + "เกือก" + "เกือบ" + "เกื้อ" + "เกเร" + "เก็ง" + "เก็จ" + "เก็บ" + "เก่ง" + "เก่งกาจ" + "เก่น" + "เก่า" + "เก้" + "เก้ง" + "เก้งก้าง" + "เก้อ" + "เก้า" + "เก้าอี้" + "เก๊" + "เก๊ก" + "เก๊กฮวย" + "เก๋" + "เก๋ง" + "เก๋า" + "เข" + "เขก" + "เขต" + "เขน" + "เขนง" + "เขนย" + "เขน็ด" + "เขบ็จขบวน" + "เขบ็ต" + "เขมร" + "เขมา" + "เขมือบ" + "เขม็ง" + "เขม็ดแขม่" + "เขม่น" + "เขม่า" + "เขม้น" + "เขย" + "เขยก" + "เขยิบ" + "เขยื้อน" + "เขย่ง" + "เขย่า" + "เขย้อแขย่ง" + "เขรอะ" + "เขลง" + "เขลอะ" + "เขละ" + "เขลา" + "เขลาะ" + "เขว" + "เขษม" + "เขฬะ" + "เขะขะ" + "เขา" + "เขิน" + "เขียง" + "เขียด" + "เขียน" + "เขียม" + "เขียว" + "เขี่ย" + "เขี้ยว" + "เขือ" + "เขื่อง" + "เขื่อน" + "เข็ญ" + "เข็ด" + "เข็น" + "เข็ม" + "เข่ง" + "เข่น" + "เข่า" + "เข้ม" + "เข้า" + "เคนยา" + "เคมี" + "เคย" + "เครง" + "เครดิต" + "เครา" + "เคราะห์" + "เครียด" + "เครือ" + "เครื่อง" + "เครื่องพิมพ์" + "เคร่ง" + "เคร่งครัด" + "เคลิบเคลิ้ม" + "เคลิ้ม" + "เคลีย" + "เคลือบ" + "เคลื่อน" + "เคล็ด" + "เคล้น" + "เคล้า" + "เคว้ง" + "เคห" + "เคหะ" + "เคหา" + "เคอร์เนล" + "เคอะ" + "เคาน์เตอร์" + "เคารพ" + "เคาะ" + "เคียง" + "เคียด" + "เคียน" + "เคียว" + "เคี่ยม" + "เคี่ยว" + "เคี้ยว" + "เคือง" + "เคเบิล" + "เค็ม" + "เค้ก" + "เค้น" + "เค้า" + "เค้เก้" + "เฆี่ยน" + "เงก" + "เงย" + "เงอะ" + "เงอะงะ" + "เงา" + "เงาะ" + "เงิน" + "เงียบ" + "เงี่ยง" + "เงี่ยน" + "เงี่ยหู" + "เงี้ยว" + "เงือก" + "เงือด" + "เงือบ" + "เงื่อง" + "เงื่อน" + "เงื่อนไข" + "เงื้อ" + "เงื้อม" + "เง่า" + "เง้า" + "เจ" + "เจดียสถาน" + "เจดีย์" + "เจต" + "เจตคติ" + "เจตจำนง" + "เจตนา" + "เจตนารมณ์" + "เจตภูต" + "เจตสิก" + "เจน" + "เจมส์" + "เจรจา" + "เจริญ" + "เจริด" + "เจว็ด" + "เจษฎา" + "เจอ" + "เจอร์" + "เจอะ" + "เจาะ" + "เจิด" + "เจิม" + "เจิ่ง" + "เจิ่น" + "เจียด" + "เจียน" + "เจียม" + "เจียระไน" + "เจียว" + "เจี๊ยบ" + "เจี๊ยว" + "เจี๊ยวจ๊าว" + "เจี๋ยน" + "เจี๋ยมเจี้ยม" + "เจือ" + "เจื่อน" + "เจื้อย" + "เจ็ด" + "เจ็บ" + "เจ่อ" + "เจ่า" + "เจ้า" + "เจ้าชู้" + "เจ๊" + "เจ๊ก" + "เจ๊ง" + "เจ๊ต" + "เจ๊า" + "เจ๋อ" + "เฉ" + "เฉก" + "เฉด" + "เฉพาะ" + "เฉย" + "เฉยเมย" + "เฉลย" + "เฉลา" + "เฉลิม" + "เฉลียง" + "เฉลียว" + "เฉลี่ย" + "เฉวียง" + "เฉวียน" + "เฉอะแฉะ" + "เฉา" + "เฉาก๊วย" + "เฉาะ" + "เฉิด" + "เฉิบ" + "เฉียง" + "เฉียด" + "เฉียบ" + "เฉียว" + "เฉี่ยว" + "เฉือน" + "เฉื่อย" + "เฉโก" + "เฉ่ง" + "เชน" + "เชย" + "เชล" + "เชลย" + "เชษฐา" + "เชอ" + "เชอร์" + "เชาวน์" + "เชาว์" + "เชิง" + "เชิญ" + "เชิด" + "เชิ้ต" + "เชียง" + "เชียงใหม่" + "เชียบ" + "เชียร์" + "เชียว" + "เชี่ยน" + "เชี่ยว" + "เชือก" + "เชือด" + "เชือน" + "เชื่อ" + "เชื่อง" + "เชื่อม" + "เชื้อ" + "เช็ค" + "เช็ด" + "เช่น" + "เช่า" + "เช้ง" + "เช้า" + "เซ" + "เซต" + "เซน" + "เซนติกรัม" + "เซนติลิตร" + "เซนติเกรด" + "เซนติเมตร" + "เซนต์" + "เซปักตระกร้อ" + "เซฟ" + "เซรุ่ม" + "เซลลูลอยด์" + "เซลลูโลส" + "เซลล์" + "เซลส์" + "เซลเซียส" + "เซอ" + "เซอร์" + "เซอร์วิส" + "เซอะ" + "เซา" + "เซาะ" + "เซิง" + "เซิร์ฟเวอร์" + "เซิ้ง" + "เซียน" + "เซียมซี" + "เซียว" + "เซี่ยงไฮ้" + "เซื่อง" + "เซ็กเมนต์" + "เซ็ง" + "เซ็น" + "เซ็นเตอร์" + "เซ่ง" + "เซ่น" + "เซ่อ" + "เซ้ง" + "เซ้าซี้" + "เฌอ" + "เฌอเอม" + "เฒ่า" + "เณร" + "เดกซ์โทรส" + "เดคากรัม" + "เดคาลิตร" + "เดคาเมตร" + "เดช" + "เดชะ" + "เดซิกรัม" + "เดซิลิตร" + "เดซิเมตร" + "เดน" + "เดนมาร์ก" + "เดนมาร์ค" + "เดบิต" + "เดรัจฉาน" + "เดลล์" + "เดวิด" + "เดสก์ทอป" + "เดอะ" + "เดา" + "เดาะ" + "เดิน" + "เดิม" + "เดีย" + "เดียง" + "เดียด" + "เดียร" + "เดียรดาษ" + "เดียรถีย์" + "เดียรัจฉาน" + "เดียว" + "เดียะ" + "เดี่ยว" + "เดี้ย" + "เดี๋ยว" + "เดือด" + "เดือน" + "เดือย" + "เดโช" + "เด็ก" + "เด็จ" + "เด็ด" + "เด่" + "เด่น" + "เด่า" + "เด้ง" + "เด้า" + "เด๋อ" + "เด๋อด๋า" + "เตย" + "เตรีย" + "เตรียด" + "เตรียม" + "เตร็ด" + "เตร่" + "เตลิด" + "เตว็ด" + "เตอร์" + "เตอร์กี" + "เตอะ" + "เตะ" + "เตา" + "เตาะแตะ" + "เติบ" + "เติม" + "เติ่ง" + "เตียง" + "เตียน" + "เตียบ" + "เตี่ย" + "เตี่ยว" + "เตี้ย" + "เตี๋ยม" + "เตือน" + "เตื้อ" + "เต็ง" + "เต็นท์" + "เต็ม" + "เต่ง" + "เต่อ" + "เต่า" + "เต้น" + "เต้า" + "เต้าทึง" + "เต้าส่วน" + "เต้าหู้" + "เต้าฮวย" + "เต้าเจี้ยว" + "เต้าเสียบ" + "เต๊ก" + "เต๊ะ" + "เต๋า" + "เถกิง" + "เถน" + "เถร" + "เถระ" + "เถรานุเถระ" + "เถลิง" + "เถลือกถลน" + "เถลไถล" + "เถอะ" + "เถา" + "เถาวัลย์" + "เถาะ" + "เถิก" + "เถิด" + "เถิดเทิง" + "เถิน" + "เถียง" + "เถือ" + "เถือก" + "เถื่อน" + "เถ่อ" + "เถ้า" + "เท" + "เทคนิค" + "เทคโนโลยี" + "เทนนิส" + "เทป" + "เทพ" + "เทพดา" + "เทพธิดา" + "เทพนม" + "เทพยดา" + "เทพยเจ้า" + "เทพารักษ์" + "เทพี" + "เทพเจ้า" + "เทมปุระ" + "เทรดเดอร์" + "เทรนเนอร์" + "เทวดา" + "เทวทัณฑ์" + "เทวทูต" + "เทวธรรม" + "เทวธิดา" + "เทวนิยม" + "เทวรูป" + "เทวษ" + "เทวสถาน" + "เทวัญ" + "เทวัน" + "เทวาลัย" + "เทวี" + "เทวโลก" + "เทศ" + "เทศกาล" + "เทศนา" + "เทศน์" + "เทศบาล" + "เทศมนตรี" + "เทศาภิบาล" + "เทสต์" + "เทหวัตถุ" + "เทห์" + "เทอญ" + "เทอม" + "เทอร์โมมิเตอร์" + "เทอะทะ" + "เทา" + "เทิด" + "เทิน" + "เทิบ" + "เทิ่ง" + "เทิ้ม" + "เทียน" + "เทียบ" + "เทียม" + "เทียว" + "เที่ยง" + "เที่ยว" + "เทือก" + "เทเบิล" + "เทเลคอม" + "เทเวศร์" + "เทเวศวร์" + "เทโพ" + "เท็จ" + "เท่" + "เท่อ" + "เท่า" + "เท้งเต้ง" + "เท้อ" + "เท้า" + "เธน" + "เธนส์" + "เธอ" + "เนคไท" + "เนต" + "เนตร" + "เนตสเคป" + "เนติ" + "เนบิวลา" + "เนปจูน" + "เนปาล" + "เนย" + "เนรคุณ" + "เนรมิต" + "เนรเทศ" + "เนา" + "เนิน" + "เนิบ" + "เนิ่น" + "เนีย" + "เนียน" + "เนียม" + "เนือง" + "เนือย" + "เนื่อง" + "เนื้อ" + "เน็ต" + "เน็ตเวิร์ก" + "เน็ตเวิร์ค" + "เน่า" + "เน้น" + "เน้อ" + "เบ" + "เบคอน" + "เบงกอล" + "เบญจ" + "เบญจก" + "เบญจกัลยาณี" + "เบญจกามคุณ" + "เบญจธรรม" + "เบญจบรรพต" + "เบญจมาศ" + "เบญจรงค์" + "เบญจา" + "เบญจางคประดิษฐ์" + "เบญจางค์" + "เบญจเพส" + "เบต้า" + "เบน" + "เบนซิน" + "เบนซ์" + "เบรก" + "เบร์ก" + "เบลเยี่ยม" + "เบศ" + "เบส" + "เบสบอล" + "เบอร์" + "เบอร์ลิน" + "เบอะ" + "เบอะบะ" + "เบะ" + "เบา" + "เบาะ" + "เบาะแส" + "เบิก" + "เบิร์ก" + "เบิ่ง" + "เบียด" + "เบียน" + "เบียร์" + "เบี่ยง" + "เบี้ย" + "เบี้ยว" + "เบือ" + "เบือน" + "เบื่อ" + "เบื้อ" + "เบื้อง" + "เบ็ด" + "เบ็ดเตล็ด" + "เบ็ดเสร็จ" + "เบ่ง" + "เบ้" + "เบ้อ" + "เบ้อเริ่ม" + "เบ้อเร่อ" + "เบ้า" + "เปก" + "เปรต" + "เปรม" + "เปรย" + "เปรอ" + "เปรอะ" + "เปราะ" + "เปรียง" + "เปรียญ" + "เปรียบ" + "เปรียว" + "เปรียะ" + "เปรี้ยง" + "เปรี้ยว" + "เปรี๊ยะ" + "เปรื่อง" + "เปรื้อย" + "เปล" + "เปลว" + "เปลาะ" + "เปลี่ยน" + "เปลี่ยว" + "เปลี้ย" + "เปลือก" + "เปลือง" + "เปลือย" + "เปลื้อง" + "เปล่ง" + "เปล่า" + "เปอ" + "เปอร์" + "เปอร์เซ็นต์" + "เปะ" + "เปา" + "เปาะ" + "เปาเปา" + "เปิก" + "เปิง" + "เปิด" + "เปิบ" + "เปิ่น" + "เปิ๊บ" + "เปีย" + "เปียก" + "เปี่ยม" + "เปี้ยว" + "เปี๊ยก" + "เปี๊ยะ" + "เปือก" + "เปื่อย" + "เปื้อน" + "เป็ด" + "เป็น" + "เป็นต้น" + "เป่ง" + "เป่า" + "เป้" + "เป้ง" + "เป้า" + "เป๊ก" + "เป๋" + "เป๋ง" + "เป๋อ" + "เป๋อเหลอ" + "เป๋า" + "เป๋าฮื้อ" + "เผ" + "เผง" + "เผชิญ" + "เผดิม" + "เผดียง" + "เผด็จ" + "เผย" + "เผยอ" + "เผลอ" + "เผลอไผล" + "เผละ" + "เผลาะ" + "เผล่" + "เผอิญ" + "เผอเรอ" + "เผะ" + "เผา" + "เผาะ" + "เผิน" + "เผือก" + "เผือด" + "เผื่อ" + "เผ็ด" + "เผ่น" + "เผ่า" + "เผ้า" + "เฝือ" + "เฝือก" + "เฝื่อน" + "เฝ้า" + "เพ" + "เพจ" + "เพชฌฆาต" + "เพชร" + "เพชรายุธ" + "เพดาน" + "เพทนา" + "เพทาย" + "เพทุบาย" + "เพนกวิน" + "เพนียด" + "เพนเทียม" + "เพรง" + "เพรา" + "เพราะ" + "เพริด" + "เพริศ" + "เพรียก" + "เพรียง" + "เพรียบ" + "เพรียว" + "เพรื่อ" + "เพล" + "เพลง" + "เพลา" + "เพลาะ" + "เพลิง" + "เพลิดเพลิน" + "เพลิน" + "เพลีย" + "เพลี่ยง" + "เพลี้ย" + "เพศ" + "เพาะ" + "เพิก" + "เพิง" + "เพิ่ง" + "เพิ่ม" + "เพียง" + "เพียบ" + "เพียร" + "เพี้ย" + "เพี้ยง" + "เพี้ยน" + "เพื่อ" + "เพื่อน" + "เพ็ง" + "เพ็จ" + "เพ็ญ" + "เพ็ดทูล" + "เพ่ง" + "เพ่นพ่าน" + "เพ่อ" + "เพ้อ" + "เฟด" + "เฟอ" + "เฟอร์" + "เฟอร์นิเจอร์" + "เฟอร์เมียม" + "เฟอะ" + "เฟะ" + "เฟิน" + "เฟี้ยม" + "เฟี้ยว" + "เฟือ" + "เฟือง" + "เฟือน" + "เฟือย" + "เฟื่อง" + "เฟื้อ" + "เฟื้อง" + "เฟื้อย" + "เฟ็ด" + "เฟ้น" + "เฟ้อ" + "เภตรา" + "เภท" + "เภทุบาย" + "เภรี" + "เภสัช" + "เม" + "เมกะ" + "เมกะเฮิรตซ์" + "เมขลา" + "เมฆ" + "เมฆา" + "เมฆินทร์" + "เมฆี" + "เมตตา" + "เมตร" + "เมตริก" + "เมถุน" + "เมทนี" + "เมทินี" + "เมธา" + "เมธี" + "เมนทอล" + "เมนบอร์ด" + "เมนู" + "เมมโมรี" + "เมรัย" + "เมรุ" + "เมลือง" + "เมลื่อย" + "เมลื้อย" + "เมล็ด" + "เมล์" + "เมษ" + "เมษายน" + "เมะ" + "เมา" + "เมาลี" + "เมาส์" + "เมาฬี" + "เมาะ" + "เมิน" + "เมีย" + "เมียง" + "เมี่ยง" + "เมี้ยน" + "เมือก" + "เมือง" + "เมื่อ" + "เมื่อย" + "เมโมรี" + "เม็กซิโก" + "เม็ด" + "เม่น" + "เม่า" + "เม้ม" + "เม้าส์" + "เย" + "เยง" + "เยซู" + "เยน" + "เยอ" + "เยอรมัน" + "เยอรมันนี" + "เยอรมันี" + "เยอะ" + "เยา" + "เยาวชน" + "เยาวพา" + "เยาวพาน" + "เยาวมาลย์" + "เยาวยอด" + "เยาวราช" + "เยาวลักษณ์" + "เยาวเรศ" + "เยาว์" + "เยาะ" + "เยิน" + "เยิบ" + "เยิ่น" + "เยิ่นเย้อ" + "เยิ้ม" + "เยีย" + "เยียน" + "เยียบ" + "เยียว" + "เยี่ยง" + "เยี่ยม" + "เยี่ยว" + "เยือก" + "เยือน" + "เยื่อ" + "เยื้อ" + "เยื้อง" + "เยื้อน" + "เย็น" + "เย็บ" + "เย่น" + "เย่อ" + "เย้" + "เย้ย" + "เย้า" + "เรข" + "เรขา" + "เรขาคณิต" + "เรณู" + "เรดอน" + "เรดาร์" + "เรรวน" + "เรวดี" + "เรอ" + "เรา" + "เราะ" + "เริง" + "เริด" + "เริม" + "เริ่ม" + "เริ้ม" + "เรียก" + "เรียง" + "เรียด" + "เรียน" + "เรียบ" + "เรียม" + "เรียว" + "เรี่ย" + "เรี่ยม" + "เรี่ยว" + "เรี้ยวรก" + "เรือ" + "เรือก" + "เรือง" + "เรือด" + "เรือน" + "เรื่อ" + "เรื่อง" + "เรื่อย" + "เรื้อ" + "เรื้อน" + "เรไร" + "เร็ว" + "เร่" + "เร่ง" + "เร่อ" + "เร่า" + "เร้น" + "เร้า" + "เลข" + "เลขา" + "เลขาธิการ" + "เลขานุการ" + "เลดี้" + "เลต" + "เลน" + "เลนส์" + "เลบานอน" + "เลย" + "เลว" + "เลศ" + "เลหลัง" + "เลอ" + "เลอะ" + "เลอะเทอะ" + "เละ" + "เละเทะ" + "เลา" + "เลาะ" + "เลิก" + "เลิกลั่ก" + "เลินเล่อ" + "เลิศ" + "เลิ้ง" + "เลีย" + "เลียง" + "เลียน" + "เลียบ" + "เลียม" + "เลียว" + "เลี่ยง" + "เลี่ยน" + "เลี่ยม" + "เลี้ยง" + "เลี้ยว" + "เลือก" + "เลือด" + "เลือน" + "เลื่อง" + "เลื่อน" + "เลื่อม" + "เลื่อมใส" + "เลื่อย" + "เลื้อย" + "เลเซอร์" + "เลเพ" + "เล็ก" + "เล็ง" + "เล็ด" + "เล็น" + "เล็บ" + "เล็ม" + "เล่น" + "เล่ม" + "เล่ห์" + "เล่อ" + "เล่า" + "เล้ง" + "เล้า" + "เวค" + "เวคิน" + "เวคี" + "เวจ" + "เวช" + "เวชกรรม" + "เวฐน์" + "เวณะ" + "เวณิ" + "เวณิก" + "เวณุ" + "เวตน์" + "เวตร" + "เวตาล" + "เวท" + "เวทนา" + "เวทย์" + "เวทางคศาสตร์" + "เวทางค์" + "เวทานตะ" + "เวทานต์" + "เวทิ" + "เวที" + "เวธะ" + "เวน" + "เวนิส" + "เวนไตย" + "เวบไซต์" + "เวมบลีย์" + "เวมะ" + "เวมัต" + "เวมาติก" + "เวร" + "เวรมณี" + "เวรัณ" + "เวรัณณิยะ" + "เวรี" + "เวลส์" + "เวลา" + "เวศม์" + "เวศยา" + "เวศย์" + "เวสต์" + "เวสน์" + "เวสภู" + "เวสมะ" + "เวสม์" + "เวสวัณ" + "เวสสะ" + "เวสสันดร" + "เวสสุกรรม" + "เวสสุวัณ" + "เวสารัช" + "เวสิ" + "เวสิยา" + "เวหน" + "เวหะ" + "เวหังค์" + "เวหัปติ" + "เวหา" + "เวหายส" + "เวหาส" + "เวฬุ" + "เวอ" + "เวอร์" + "เวอร์ชัน" + "เวิก" + "เวิร์กสเตชัน" + "เวิร์ด" + "เวิ้ง" + "เวียง" + "เวียดนาม" + "เวียน" + "เวโรจน์" + "เวไนย" + "เว็บ" + "เว็ป" + "เว่อ" + "เว้" + "เว้น" + "เว้ย" + "เว้า" + "เศรษฐกิจ" + "เศรษฐศาสตร์" + "เศรษฐานะ" + "เศรษฐี" + "เศรษฐ์" + "เศร้า" + "เศวต" + "เศษ" + "เศียร" + "เส" + "เสก" + "เสงี่ยม" + "เสฉวน" + "เสด" + "เสด็จ" + "เสถียร" + "เสถียรภาพ" + "เสน" + "เสนง" + "เสนหา" + "เสนอ" + "เสนะ" + "เสนา" + "เสนาธิการ" + "เสนาบดี" + "เสนาสนะ" + "เสนาะ" + "เสนียด" + "เสนีย์" + "เสน่ง" + "เสน่หา" + "เสน่ห์" + "เสน่า" + "เสบย" + "เสบียง" + "เสพ" + "เสพย์" + "เสภา" + "เสมหะ" + "เสมอ" + "เสมา" + "เสมียน" + "เสมือน" + "เสม็ด" + "เสย" + "เสริด" + "เสริฟ" + "เสริม" + "เสรี" + "เสร็จ" + "เสลด" + "เสลา" + "เสลี่ยง" + "เสลือกสลน" + "เสวก" + "เสวกามาตย์" + "เสวนะ" + "เสวนา" + "เสวย" + "เสวียน" + "เสา" + "เสารภย์" + "เสาร์" + "เสาวคนธ์" + "เสาวณิต" + "เสาวนา" + "เสาวนีย์" + "เสาวภา" + "เสาวภาคย์" + "เสาวภาพ" + "เสาวรส" + "เสาวลักษณ์" + "เสาะ" + "เสิร์ฟ" + "เสีย" + "เสียง" + "เสียด" + "เสียบ" + "เสียม" + "เสียว" + "เสี่ย" + "เสี่ยง" + "เสี่ยว" + "เสี้ยน" + "เสี้ยม" + "เสี้ยว" + "เสือ" + "เสือก" + "เสื่อ" + "เสื่อม" + "เสื้อ" + "เสเพล" + "เสโท" + "เสโล" + "เส็งเคร็ง" + "เส้ง" + "เส้น" + "เส้า" + "เห" + "เหง" + "เหงา" + "เหงือก" + "เหงื่อ" + "เหง่ง" + "เหตุ" + "เหตุการณ์" + "เหนอะ" + "เหนอะหนะ" + "เหนาะ" + "เหนียง" + "เหนียม" + "เหนียว" + "เหนี่ยว" + "เหนือ" + "เหนื่อย" + "เหน็ด" + "เหน็บ" + "เหน่ง" + "เหน่อ" + "เหน้า" + "เหม" + "เหมวดี" + "เหมันต์" + "เหมา" + "เหมาะ" + "เหมียว" + "เหมี่ยว" + "เหมือง" + "เหมือด" + "เหมือน" + "เหม็น" + "เหม่" + "เหม่ง" + "เหม่อ" + "เหย" + "เหยง" + "เหยาะ" + "เหยิง" + "เหยียด" + "เหยียบ" + "เหยี่ยว" + "เหยือก" + "เหยื่อ" + "เหย้า" + "เหรัญญิก" + "เหรา" + "เหรียญ" + "เหลน" + "เหลว" + "เหลอ" + "เหลา" + "เหลาะแหละ" + "เหลิง" + "เหลียน" + "เหลียว" + "เหลี่ยม" + "เหลือ" + "เหลือก" + "เหลือง" + "เหลือบ" + "เหลื่อม" + "เหล็ก" + "เหล่" + "เหล่า" + "เหล้า" + "เหว" + "เหวง" + "เหวย" + "เหวอะ" + "เหวอะหวะ" + "เหวี่ยง" + "เหว่" + "เหอะ" + "เหา" + "เหาะ" + "เหิน" + "เหิม" + "เหียน" + "เหี่ยว" + "เหี้ย" + "เหี้ยน" + "เหี้ยม" + "เหือด" + "เหื่อ" + "เห็จ" + "เห็ด" + "เห็น" + "เห็บ" + "เห่" + "เห่อ" + "เห่า" + "เอ" + "เอก" + "เอกฉันท์" + "เอกชน" + "เอกซเรย์" + "เอกซโป" + "เอกภพ" + "เอกภาพ" + "เอกมัย" + "เอกรรถประโยค" + "เอกราช" + "เอกลักษณ์" + "เอกสาร" + "เอกัคตา" + "เอกาธิปไตย" + "เอกเขนก" + "เอกเทศ" + "เอง" + "เอชพี" + "เอดส์" + "เอดิเตอร์" + "เอตทัคคะ" + "เอทีเอ็ม" + "เอน" + "เอนทรานซ์" + "เอนไซม์" + "เอปสัน" + "เอม" + "เอย" + "เอราวัณ" + "เอร็ดอร่อย" + "เอว" + "เอวัง" + "เอส" + "เอฬก" + "เอฬา" + "เออ" + "เอะอะ" + "เอะใจ" + "เอา" + "เอาท์พุต" + "เอาฬาร" + "เอิก" + "เอิบ" + "เอิ้น" + "เอียง" + "เอียด" + "เอียน" + "เอี่ยน" + "เอี่ยม" + "เอี่ยว" + "เอี้ยง" + "เอี้ยมเฟี้ยม" + "เอี้ยว" + "เอี๊ยด" + "เอี๊ยม" + "เอี๊ยมจุ๊น" + "เอือน" + "เอือม" + "เอื่อย" + "เอื้อ" + "เอื้อง" + "เอื้อน" + "เอื้อม" + "เอื้อย" + "เอเคอร์" + "เอเชีย" + "เอเชี่ยนเกมส์" + "เอเซีย" + "เอเย่นต์" + "เอแบค" + "เอ็กซ์" + "เอ็กซ์พลอเรอร์" + "เอ็กซ์เพรส" + "เอ็ง" + "เอ็ด" + "เอ็ดตะโร" + "เอ็ดอึง" + "เอ็น" + "เอ็นดู" + "เอ็นเตอร์เทน" + "เอ่ย" + "เอ่อ" + "เอ้" + "เอ้กา" + "เอ้อระเหย" + "เอ้อเฮอ" + "เอ๊ก" + "เอ๊ย" + "เอ๊ะ" + "เอ๋" + "เอ๋ง" + "เอ๋ย" + "เฮ" + "เฮง" + "เฮย" + "เฮลิคอปเตอร์" + "เฮิรตซ์" + "เฮีย" + "เฮี้ยน" + "เฮี้ยบ" + "เฮี้ยว" + "เฮือก" + "เฮือน" + "เฮโรอีน" + "เฮโล" + "เฮ้ย" + "เฮ้ว" + "เฮ้อ" + "แก" + "แกง" + "แกน" + "แกม" + "แกมมา" + "แกรก" + "แกรนิต" + "แกระ" + "แกรไฟต์" + "แกร็น" + "แกร่ง" + "แกร่ว" + "แกล" + "แกลบ" + "แกลลอน" + "แกละ" + "แกลเลียม" + "แกล้ง" + "แกล้ม" + "แกล้ว" + "แกว" + "แกว่ง" + "แกว่น" + "แกะ" + "แกโดลิเนียม" + "แก่" + "แก่ง" + "แก่งแย่ง" + "แก่น" + "แก้" + "แก้ง" + "แก้ม" + "แก้ว" + "แก๊ง" + "แก๊ป" + "แก๊ส" + "แข" + "แขก" + "แขน" + "แขนง" + "แขม" + "แขม็บ" + "แขม่ว" + "แขยง" + "แขย็ก" + "แขย่ง" + "แขวก" + "แขวง" + "แขวน" + "แขวะ" + "แข็ง" + "แข่ง" + "แข่งขัน" + "แข้ง" + "แข้น" + "แค" + "แคชเชียร์" + "แคชเมียร์" + "แคตตาลอค" + "แคน" + "แคบ" + "แคปซูล" + "แคม" + "แครง" + "แคระ" + "แคร่" + "แคร์" + "แคลคูลัส" + "แคลง" + "แคลน" + "แคลอรี" + "แคลิฟอร์เนีย" + "แคลเซียม" + "แคล่วคล่อง" + "แคล้ว" + "แคว" + "แควก" + "แคว้น" + "แคะ" + "แค่" + "แค่น" + "แค้น" + "แง" + "แงะ" + "แง่" + "แง่ง" + "แง่น" + "แง้ม" + "แจ" + "แจก" + "แจง" + "แจว" + "แจะ" + "แจ่ม" + "แจ่ว" + "แจ้" + "แจ้ง" + "แจ้น" + "แจ้ว" + "แจ๊ด" + "แจ๋" + "แจ๋ว" + "แจ๋วแหวว" + "แฉ" + "แฉก" + "แฉง" + "แฉลบ" + "แฉละ" + "แฉล้ม" + "แฉะ" + "แฉ่" + "แฉ่ง" + "แช" + "แชมป์" + "แชมเปญ" + "แชร์" + "แชล่ม" + "แช่" + "แช่ง" + "แช่ม" + "แซง" + "แซด" + "แซนด์วิช" + "แซบ" + "แซม" + "แซยิด" + "แซว" + "แซะ" + "แซ่" + "แซ่ว" + "แด" + "แดก" + "แดง" + "แดด" + "แดน" + "แดะ" + "แด็ก" + "แด่" + "แด่น" + "แด่ว" + "แตก" + "แตง" + "แตงกวา" + "แตงเม" + "แตงโม" + "แตด" + "แตน" + "แตร" + "แตะ" + "แต่" + "แต่ง" + "แต้" + "แต้จิ๋ว" + "แต้ม" + "แต๊ดแต๋" + "แถ" + "แถก" + "แถบ" + "แถม" + "แถลง" + "แถว" + "แทง" + "แทน" + "แทนทาลัม" + "แทบ" + "แทรก" + "แทรกเตอร์" + "แทะ" + "แท็กซี่" + "แท็งก์น้ำ" + "แท่ง" + "แท่น" + "แท้" + "แท้ง" + "แนบ" + "แนม" + "แนว" + "แนะ" + "แน่" + "แน่ง" + "แน่น" + "แน่ว" + "แน่ะ" + "แบ" + "แบก" + "แบคทีเรีย" + "แบงก์" + "แบงค์" + "แบดมินตัน" + "แบตเตอรี่" + "แบน" + "แบนโจ" + "แบบ" + "แบะ" + "แบเรียม" + "แบ็บ" + "แบ่ง" + "แป" + "แปซิฟิค" + "แปด" + "แปบ" + "แปร" + "แปรก" + "แปรง" + "แปรปรวน" + "แประ" + "แปร่ง" + "แปร้น" + "แปร๊ด" + "แปร๋" + "แปล" + "แปลก" + "แปลง" + "แปลน" + "แปลบ" + "แปล้" + "แปะ" + "แป้ง" + "แป้น" + "แป้ว" + "แป๊ด" + "แป๊บ" + "แป๊ะ" + "แป๊ะซะ" + "แป๋ง" + "แป๋ว" + "แผก" + "แผง" + "แผด" + "แผน" + "แผนก" + "แผล" + "แผลง" + "แผละ" + "แผล็บ" + "แผล็ว" + "แผ่" + "แผ่น" + "แผ่ว" + "แผ้ว" + "แฝก" + "แฝง" + "แฝด" + "แพ" + "แพง" + "แพงพวย" + "แพทยศาสตร์" + "แพทยสภา" + "แพทยา" + "แพทย์" + "แพน" + "แพนก" + "แพนงเชิญ" + "แพร" + "แพรก" + "แพรว" + "แพร่" + "แพร่ง" + "แพร้ว" + "แพลง" + "แพลตฟอร์ม" + "แพลทินัม" + "แพลม" + "แพศยา" + "แพศย์" + "แพะ" + "แพ็ก" + "แพ็คเกจ" + "แพ่ง" + "แพ่น" + "แพ้" + "แพ้ว" + "แฟกซ์" + "แฟง" + "แฟชั่น" + "แฟน" + "แฟนซี" + "แฟบ" + "แฟร์" + "แฟลกซ์" + "แฟลต" + "แฟะ" + "แฟ้ม" + "แมก" + "แมกนีเซียม" + "แมคโคร" + "แมง" + "แมงกานีส" + "แมน" + "แมนจูเรีย" + "แมลง" + "แมว" + "แมะ" + "แม่" + "แม่น" + "แม่ฮ่องสอน" + "แม้" + "แม้น" + "แม้ว" + "แยก" + "แยง" + "แยบ" + "แยม" + "แยะ" + "แยแส" + "แย็บ" + "แย่" + "แย่ง" + "แย้" + "แย้ง" + "แย้ม" + "แร" + "แรก" + "แรง" + "แรด" + "แรม" + "แระ" + "แร็กเกต" + "แร่" + "แร่ง" + "แร้ง" + "แร้นแค้น" + "แร้ว" + "แล" + "แลก" + "แลง" + "แลน" + "แลนด" + "แลนด์" + "แลบ" + "และ" + "แล็กโทส" + "แล่" + "แล่ง" + "แล่น" + "แล้" + "แล้ง" + "แล้ว" + "แวง" + "แวด" + "แวบ" + "แวม" + "แวว" + "แวะ" + "แว่น" + "แว่ว" + "แว้" + "แว้ง" + "แส" + "แสก" + "แสง" + "แสด" + "แสดง" + "แสตมป์" + "แสน" + "แสนยากร" + "แสนยานุภาพ" + "แสบ" + "แสม" + "แสยก" + "แสยง" + "แสยะ" + "แสร้ง" + "แสลง" + "แสวง" + "แสะ" + "แส่" + "แส้" + "แส้ม้า" + "แห" + "แหก" + "แหง" + "แหงน" + "แหงแก๋" + "แหง่" + "แหง่ง" + "แหน" + "แหนง" + "แหนบ" + "แหนม" + "แหบ" + "แหม" + "แหมะ" + "แหม่" + "แหม่ม" + "แหย" + "แหยง" + "แหยม" + "แหยะ" + "แหย่" + "แหย่ง" + "แหล" + "แหลก" + "แหลน" + "แหลม" + "แหละ" + "แหล่" + "แหล่ง" + "แหว" + "แหวก" + "แหวน" + "แหวะ" + "แหว่ง" + "แหะ" + "แห่" + "แห่ง" + "แห้" + "แห้ง" + "แห้ว" + "แอ" + "แอก" + "แอด" + "แอดวานซ์" + "แอดเดรส" + "แอน" + "แอนด์" + "แอนตาร์กติก" + "แอนติบอดี" + "แอนติเจน" + "แอนตี้" + "แอบ" + "แอพพลิเคชัน" + "แอพเพล็ต" + "แอฟริกา" + "แอมมิเตอร์" + "แอมแปร์" + "แอมโมเนีย" + "แอร่ม" + "แอร์" + "แอล" + "แอลกอฮอล์" + "แอลฟา" + "แอสฟัลต์" + "แอสไพริน" + "แออัด" + "แอโนด" + "แอ่ง" + "แอ่น" + "แอ่ว" + "แอ้" + "แอ้งแม้ง" + "แอ้ด" + "แอ้ม" + "แอ๊คชั่น" + "แอ๊ด" + "แอ๋" + "แฮ" + "แฮนด์บอล" + "แฮม" + "แฮมเบอร์เกอร์" + "แฮะ" + "แฮ่" + "แฮ่กึ๊น" + "โก" + "โกก" + "โกง" + "โกงกาง" + "โกฏิ" + "โกดัง" + "โกน" + "โกมล" + "โกมุท" + "โกย" + "โกรก" + "โกรง" + "โกรธ" + "โกรธา" + "โกร่ง" + "โกร๋น" + "โกลด์" + "โกลน" + "โกลาหล" + "โกศล" + "โกสน" + "โกสินทร์" + "โกสีย์" + "โกสุม" + "โกหก" + "โกเมน" + "โกโก้" + "โกโรโกโส" + "โกไสย" + "โก่ง" + "โก้" + "โก้งโค้ง" + "โก๋" + "โก๋น" + "โข" + "โขก" + "โขง" + "โขด" + "โขน" + "โขนง" + "โขม" + "โขมง" + "โขมด" + "โขยก" + "โขยง" + "โขย่ง" + "โขลก" + "โขลง" + "โข่ง" + "โค" + "โคก" + "โคจร" + "โคตร" + "โคน" + "โคนม" + "โคบอลต์" + "โคม" + "โคม่า" + "โครก" + "โครง" + "โครงการ" + "โครม" + "โคราช" + "โครเมียม" + "โครโมโซม" + "โคร่ง" + "โคล" + "โคลง" + "โคลงเคลง" + "โคลน" + "โคลนนิ่ง" + "โคลอมเบีย" + "โควตา" + "โคเคน" + "โค่ง" + "โค่น" + "โค้ง" + "โค้ช" + "โค้ด" + "โฆษก" + "โฆษณา" + "โฆษะ" + "โฆษิต" + "โง" + "โงก" + "โงง" + "โงงเงง" + "โงน" + "โงเง" + "โง่" + "โง่ง" + "โง่งเง่ง" + "โง้ง" + "โจ" + "โจก" + "โจง" + "โจงโคร่ง" + "โจท" + "โจทก์" + "โจทย์" + "โจน" + "โจม" + "โจร" + "โจรกรรม" + "โจษ" + "โจษจัน" + "โจ่งครึ่ม" + "โจ่งแจ้ง" + "โจ๊ก" + "โจ๋งครึ่ม" + "โฉ" + "โฉงเฉง" + "โฉด" + "โฉนด" + "โฉบ" + "โฉม" + "โฉลก" + "โฉ่" + "โฉ่งฉ่าง" + "โชก" + "โชกุน" + "โชค" + "โชดก" + "โชดึก" + "โชติ" + "โชน" + "โชย" + "โชว์" + "โซ" + "โซก" + "โซดา" + "โซม" + "โซรม" + "โซลา" + "โซลูชั่น" + "โซเดียม" + "โซเวียต" + "โซ่" + "โด" + "โดกเดก" + "โดด" + "โดน" + "โดนัท" + "โดม" + "โดมิโน" + "โดย" + "โด่" + "โด่ง" + "โด๊ป" + "โต" + "โตก" + "โตงเตง" + "โตน" + "โตนด" + "โตมร" + "โตรก" + "โตเกียว" + "โต่ง" + "โต้" + "โต้ง" + "โต้โผ" + "โต๊ด" + "โต๊ะ" + "โต๊ะอิหม่าม" + "โถ" + "โถง" + "โถบ" + "โถม" + "โท" + "โทกเทก" + "โทง" + "โทงเทง" + "โทน" + "โทมนัส" + "โทร" + "โทรคมนาคม" + "โทรทรรศน์" + "โทรทัศน์" + "โทรพิมพ์" + "โทรภาพ" + "โทรม" + "โทรศัพท์" + "โทรเลข" + "โทษ" + "โทษทัณฑ์" + "โทษานุโทษ" + "โทษารมณ์" + "โทสะ" + "โทสาคติ" + "โทโส" + "โท่" + "โธ่" + "โน" + "โนน" + "โนรา" + "โนรี" + "โน่น" + "โน้ต" + "โน้ตบุ๊ก" + "โน้ตส์" + "โน้น" + "โน้ม" + "โบ" + "โบก" + "โบกขรณี" + "โบกี้" + "โบต" + "โบตั๋น" + "โบนัส" + "โบย" + "โบรมีน" + "โบรอน" + "โบราณ" + "โบลิเวีย" + "โบว์ลิ่ง" + "โบสถ์" + "โบ๊เบ๊" + "โบ๋" + "โป" + "โปก" + "โปง" + "โปงลาง" + "โปน" + "โปร" + "โปรง" + "โปรด" + "โปรตอน" + "โปรตีน" + "โปรตุเกส" + "โปรย" + "โปรเซสเซอร์" + "โปรเตสแตนต์" + "โปรแกรม" + "โปรแกรมเมอร์" + "โปรโมชัน" + "โปรโมต" + "โปร่ง" + "โปร์" + "โปลิโอ" + "โปล่ง" + "โปสการ์ด" + "โปสเตอร์" + "โปะ" + "โปแลนด์" + "โปโล" + "โป่ง" + "โป่งข่าม" + "โป้" + "โป้ง" + "โป๊" + "โป๊ก" + "โป๊กเกอร์" + "โป๊ยเซียน" + "โป๊ะ" + "โผ" + "โผง" + "โผน" + "โผย" + "โผลกเผลก" + "โผลน" + "โผละ" + "โผล่" + "โผะ" + "โพ" + "โพก" + "โพง" + "โพงพาง" + "โพซิตรอน" + "โพธิญาณ" + "โพธิบัลลังก์" + "โพธิสมภาร" + "โพธิสัตว์" + "โพธิ์" + "โพน" + "โพนทะนา" + "โพย" + "โพยก๊วน" + "โพยม" + "โพรก" + "โพรง" + "โพระดก" + "โพรโตคอล" + "โพลง" + "โพลน" + "โพละ" + "โพล่ง" + "โพล้ง" + "โพล้เพล้" + "โพสพ" + "โพแทสเซียม" + "โพ้น" + "โฟกัส" + "โฟน" + "โฟล์เดอร์" + "โภค" + "โภคิน" + "โภคี" + "โภชนะ" + "โภชนา" + "โภชนากร" + "โภชนาการ" + "โภชนาหาร" + "โภชน์" + "โม" + "โมก" + "โมกข์" + "โมฆกรรม" + "โมฆสัญญา" + "โมฆะ" + "โมฆียกรรม" + "โมฆียะ" + "โมง" + "โมงครุ่ม" + "โมดูล" + "โมทนา" + "โมลิบดีนัม" + "โมลี" + "โมหะ" + "โมหันธ์" + "โมหาคติ" + "โมเดล" + "โมเด็ม" + "โมเม" + "โมเมนต์" + "โมเลกุล" + "โมเสก" + "โมเสส" + "โมโน" + "โมโห" + "โมไนย" + "โม่" + "โม่ง" + "โม้" + "โย" + "โยก" + "โยกตร์" + "โยคะ" + "โยคี" + "โยง" + "โยชน์" + "โยธา" + "โยธิน" + "โยน" + "โยนี" + "โยม" + "โยเย" + "โยโส" + "โย่ง" + "โย่งโย่" + "โย้" + "โร" + "โรค" + "โรคจิตเภท" + "โรคา" + "โรคาพาธ" + "โรง" + "โรงคัล" + "โรงเรียน" + "โรงแรม" + "โรจ" + "โรจน์" + "โรตี" + "โรธ" + "โรธร" + "โรม" + "โรมัน" + "โรมาเนีย" + "โรย" + "โรษ" + "โรหิต" + "โรเนียว" + "โร่" + "โลก" + "โลกวิทู" + "โลกันตร์" + "โลกา" + "โลกาธิบดี" + "โลกาธิไตย" + "โลกามิส" + "โลกาวินาศ" + "โลกิยะ" + "โลกียวัตร" + "โลกีย์" + "โลกุตรธรรม" + "โลกุตระ" + "โลง" + "โลจนะ" + "โลณะ" + "โลด" + "โลตัส" + "โลน" + "โลภ" + "โลม" + "โลมา" + "โลหะ" + "โลหัช" + "โลหิต" + "โละ" + "โลเล" + "โล่" + "โล่ง" + "โล้" + "โล้น" + "โว" + "โวย" + "โวยวาย" + "โวหาร" + "โว่" + "โว่ง" + "โว้ย" + "โว้เว้" + "โศก" + "โศกา" + "โศกาดูร" + "โศกาลัย" + "โศกี" + "โส" + "โสกันต์" + "โสณ" + "โสณฑ์" + "โสด" + "โสดา" + "โสดาบัน" + "โสต" + "โสทก" + "โสทร" + "โสธก" + "โสธนะ" + "โสน" + "โสภณ" + "โสภา" + "โสภิณี" + "โสภี" + "โสม" + "โสมนัส" + "โสมม" + "โสมย์" + "โสรจ" + "โสร่ง" + "โสวรรณ" + "โสหุ้ย" + "โสฬส" + "โสเภณี" + "โสโครก" + "โหง" + "โหด" + "โหน" + "โหนก" + "โหน่ง" + "โหม" + "โหมด" + "โหม่ง" + "โหย" + "โหยกเหยก" + "โหยง" + "โหย่ง" + "โหร" + "โหรงเหรง" + "โหระพา" + "โหรา" + "โหราจารย์" + "โหราศาสตร์" + "โหล" + "โหลงโจ้ง" + "โหลน" + "โหล่" + "โหว" + "โหวกเหวก" + "โหวง" + "โหวด" + "โหวต" + "โหว่" + "โห่" + "โอ" + "โอก" + "โอกาส" + "โอกินาวา" + "โองการ" + "โองโขดง" + "โอชะ" + "โอชา" + "โอด" + "โอตตัปปะ" + "โอน" + "โอบ" + "โอภา" + "โอภาส" + "โอม" + "โอย" + "โอรส" + "โอละพ่อ" + "โอลิมปิก" + "โอวาท" + "โอษฐภัย" + "โอษฐ์" + "โอสถ" + "โอหัง" + "โอห์ม" + "โอฬาร" + "โอฬาริก" + "โอฬารึก" + "โอเปก" + "โอเลี้ยง" + "โอเวอร์" + "โอเอซิส" + "โอเอส" + "โอโซน" + "โอ่" + "โอ่ง" + "โอ่อ่า" + "โอ้" + "โอ้ก" + "โอ้เอ้" + "โอ้โลม" + "โอ้โฮ" + "โอ๊ก" + "โอ๊ย" + "โอ๋" + "โฮ" + "โฮก" + "โฮม" + "โฮล์ม" + "โฮสต์" + "โฮสเตส" + "โฮเต็ล" + "ใกล้" + "ใคร" + "ใคร่" + "ใจ" + "ใช่" + "ใช้" + "ใด" + "ใต้" + "ใน" + "ในหลวง" + "ใบ" + "ใบ้" + "ใฝ่" + "ใย" + "ใส" + "ใส่" + "ใหญ่" + "ใหม่" + "ให้" + "ไก" + "ไกร" + "ไกรลาส" + "ไกรศร" + "ไกรสร" + "ไกล" + "ไกล่" + "ไกว" + "ไก่" + "ไก๊ด์" + "ไก๋" + "ไข" + "ไขว่" + "ไขว้" + "ไขสือ" + "ไข่" + "ไข่ดัน" + "ไข่มุก" + "ไข้" + "ไค" + "ไคร้" + "ไคล" + "ไคลเอ็นต์" + "ไคลแอนต์" + "ไคล้" + "ไค้" + "ไง" + "ไจ" + "ไฉน" + "ไฉไล" + "ไช" + "ไชย" + "ไชโย" + "ไซ" + "ไซต์" + "ไซน์" + "ไซบีเรีย" + "ไซปรัส" + "ไซยาไนด์" + "ไซร้" + "ไซเกิล" + "ไซเบอร์" + "ไซเรน" + "ไซโคลน" + "ไซโล" + "ไซ้" + "ได" + "ไดนาโม" + "ไดนาไมต์" + "ไดรเวอร์" + "ไดร์ฟ" + "ไดอะล็อก" + "ไดอะล็อกบ็อกซ์" + "ไดอารี่" + "ไดเรกทอรี" + "ไดโนเสาร์" + "ได้" + "ไต" + "ไตร" + "ไตรมาส" + "ไตร่ตรอง" + "ไต่" + "ไต้" + "ไต้ก๋ง" + "ไต้ฝุ่น" + "ไต้หวัน" + "ไต๋" + "ไถ" + "ไถล" + "ไถ่" + "ไถ้" + "ไท" + "ไทกอ" + "ไทฟอยด์" + "ไทย" + "ไทยรัฐ" + "ไทร" + "ไทรอยด์" + "ไทเทเนียม" + "ไท้" + "ไน" + "ไนต์คลับ" + "ไนลอน" + "ไนล์" + "ไนโตรเจน" + "ไบต์" + "ไบออส" + "ไบเบิล" + "ไป" + "ไปยาล" + "ไปรษณียบรรณ" + "ไปรษณียบัตร" + "ไปรษณียภัณฑ์" + "ไปรษณียวัตถุ" + "ไปรษณียากร" + "ไปรษณีย์" + "ไปล่" + "ไป่" + "ไป๋" + "ไผ" + "ไผท" + "ไผ่" + "ไฝ" + "ไพ" + "ไพจิตร" + "ไพฑูรย์" + "ไพบูลย์" + "ไพร" + "ไพรจิตร" + "ไพรฑูรย์" + "ไพรัช" + "ไพริน" + "ไพรี" + "ไพร่" + "ไพลิน" + "ไพล่" + "ไพศาล" + "ไพเราะ" + "ไพโรจน์" + "ไพ่" + "ไพ่ป๊อก" + "ไฟ" + "ไฟล์" + "ไฟแนนซ์" + "ไมครอน" + "ไมตรี" + "ไมยราบ" + "ไมล์" + "ไมโคร" + "ไมโครซอฟท์" + "ไมโครเวฟ" + "ไมโครโฟน" + "ไม่" + "ไม้" + "ไย" + "ไย่" + "ไร" + "ไร่" + "ไร้" + "ไลย" + "ไลเซนส์" + "ไล่" + "ไล่เลี่ย" + "ไล้" + "ไว" + "ไวกูณฐ์" + "ไวฑูรย์" + "ไวทย์" + "ไวน์" + "ไวพจน์" + "ไวยากรณ์" + "ไวยาวัจกร" + "ไวยาวัจมัย" + "ไวรัส" + "ไวโอลิน" + "ไว้" + "ไศล" + "ไส" + "ไสย" + "ไสยา" + "ไสร้" + "ไสว" + "ไส้" + "ไห" + "ไหน" + "ไหม" + "ไหม้" + "ไหร่" + "ไหล" + "ไหล่" + "ไหว" + "ไหว้" + "ไหหลำ" + "ไห่" + "ไห้" + "ไอ" + "ไอคอน" + "ไอที" + "ไอบีเอ็ม" + "ไอยรา" + "ไอยเรศ" + "ไอราวัณ" + "ไอร์แลนด์" + "ไอศกรีม" + "ไอศวรรย์" + "ไอศูรย์" + "ไอออน" + "ไอโซโทป" + "ไอโอดีน" + "ไอ้" + "ไฮดรา" + "ไฮโกรมิเตอร์" + "ไฮโดรคาร์บอน" + "ไฮโล" + ))) + (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/Master/texmf-dist/source/latex/cjk/utils/lisp/mule-2.3/cjk-enc.el b/Master/texmf-dist/source/latex/cjk/utils/lisp/mule-2.3/cjk-enc.el new file mode 100644 index 00000000000..9f484d49349 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/lisp/mule-2.3/cjk-enc.el @@ -0,0 +1,625 @@ +;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package + +;; Copyright (C) 1996, 1998 Electrotechnical Laboratory, JAPAN. + +;; Author: Kenichi HANDA <handa@etl.go.jp> +;; Werner LEMBERG <wl@gnu.org> + +;; 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.0 (22-May-2008) +;; + +;;; 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 <buffername>.cjk in *cjk-coding*. +Files of the form <buffername>.bib are saved as <buffername>-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/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.c b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.c new file mode 100644 index 00000000000..5273fbbc03f --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.c @@ -0,0 +1,480 @@ +/* + + This is the file pinyin.c of the CJK macro package ver. 4.8.0 + (22-May-2008). + + Use this file to generate a hyphenation input file for patgen. + + Usage: + + pinyin > pinyin.dic + + */ + +/* + Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> + + 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 <stdio.h> + + +/* 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", + "le", + "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", + "ne", + "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/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.ldf b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.ldf new file mode 100644 index 00000000000..023ccefc1b8 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.ldf @@ -0,0 +1,62 @@ +% 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 <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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.0 pinyin support for the babel system] + +\LdfInit{pinyin}{captionspinyin} + +\ifx\l@pinyin\@undefined + \@nopatterns{pinyin} + \adddialect\l@pinyin0 +\fi + +\def\pinyinhyphenmins{11} +\def\captionspinyin{} +\def\datepinyin{} + +\initiate@active@char{"} + +\addto\extraspinyin{\languageshorthands{pinyin}} +\addto\extraspinyin{\bbl@activate{"}} +\addto\extraspinyin{\babel@save\"\umlautlow} +\addto\extraspinyin{% + \babel@savevariable{\lccode"27}% + \lccode"27 "27} + +\addto\noextraspinyin{\umlauthigh} + +\declare@shorthand{pinyin}{"u}{\textormath{\"{u}}{\ddot u}} +\declare@shorthand{pinyin}{"U}{\textormath{\"{U}}{\ddot U}} + +\def\mdqon{\shorthandon{"}} +\def\mdqoff{\shorthandoff{"}} + +\ldf@finish{pinyin} + +\endinput diff --git a/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr new file mode 100644 index 00000000000..ea89adb4fc6 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pinyin.tr @@ -0,0 +1,52 @@ + 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 <wl@gnu.org> +%% +%% Version 4.8.0 (22-May-2008) +%% +%% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +%% +%% 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/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex new file mode 100644 index 00000000000..93dab277d64 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pyhyph.tex @@ -0,0 +1,236 @@ +% 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 <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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.0)} + +\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/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex new file mode 100644 index 00000000000..3b862fcb6b2 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/pyhyphen/pytest.tex @@ -0,0 +1,51 @@ +% This is the file pytest.tex of the CJK package +% for testing Chinese pinyin hyphenation. +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) +% +%% +%% Attention! This will work only if you have created a new format file +%% with `pyhyph.tex' as additional hyphenation patterns for the language +%% `pinyin'. Otherwise no hyphenation will be used. +%% +% Note that the Babel package searches for `pinyin.ldf', not pinyin.sty -- +% the latter is for typesetting accented pinyin syllables. + +\documentclass[12pt,b5paper]{article} + +\usepackage[10pt]{type1ec} % use only 10pt fonts +\usepackage[T1]{fontenc} +\usepackage[pinyin]{babel} + + +\begin{document} + +% Taken from the TeXbook (p. 451) to force frequent insertion of hyphens. +\hyphenpenalty -1000 +\pretolerance -1 +\tolerance 1000 +\doublehyphendemerits -100000 +\finalhyphendemerits -100000 + +\selectlanguage{pinyin} + +Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. +Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. +Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. +Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. +Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. +Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. +Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. +Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. +Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. +Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. +Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. +Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. +Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. +Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. +Women hen xihuan l"uxing. Zai Beijing women hen xiang kan Tian'anmen. +Mingtian women xiang yao dao Xi'an qu. Xiage libai zai hui jia. + +\end{document} diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/clonevf.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/clonevf.pl new file mode 100644 index 00000000000..41ed9b19d7f --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/clonevf.pl @@ -0,0 +1,122 @@ +#! /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-2008 Werner Lemberg <wl@gnu.org> +# +# 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 (<PL>) { + 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 $_); + + $_ = <PL>; + if (/CHARWD/) { + print(VPL $_); + $_ = <PL>; + } + if (/CHARHT/) { + print(VPL $_); + $_ = <PL>; + } + if (/CHARDP/) { + print(VPL $_); + $_ = <PL>; + } + + 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/Master/texmf-dist/source/latex/cjk/utils/subfonts/hlatex2agl.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/hlatex2agl.pl new file mode 100644 index 00000000000..3d759801333 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/hlatex2agl.pl @@ -0,0 +1,477 @@ +#! /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-2008 Werner Lemberg <wl@gnu.org> +# +# 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 (<SFD>) { + 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 (<AGL>) { + 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 `<suffix1> <idx1>[,<suffix2> <idx2>[,...]]'. +# $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 (<VPL>) { + 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 `<suffix> <index>', 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 (<INFILE>) { + # 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 (<INFILE>) { + # 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/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl new file mode 100644 index 00000000000..d6571039e3c --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/makefdx.pl @@ -0,0 +1,340 @@ +#! /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-2008 Werner Lemberg <wl@gnu.org> +# +# 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.0 (22-May-2008). + +\\def\\fileversion{4.8.0} +\\def\\filedate{2008/05/22} +\\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 <FF>\\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 (<AGL>) { + 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 (<SFD>) { + 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 (<AFM>) { + if (/^C \d+ ;/) { + / N (.*?) ;/; + push (@$maparray, $1); + } + } + close(AFM); +} + + +# eof diff --git a/Master/texmf-dist/source/latex/cjk/utils/subfonts/sfd2uni.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/sfd2uni.pl new file mode 100644 index 00000000000..d9cbba0ac7c --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/sfd2uni.pl @@ -0,0 +1,348 @@ +#! /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-2008 Werner Lemberg <wl@gnu.org> +# +# 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 (<SFD>) { + 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 +# `<subfont> <subfont_index> <width> <heigth> <depth>'. +# $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 (<PL>) { + 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"; + + $_ = <PL>; + if (/\(CHARWD R (.*)\)/) { + $wd = "$1"; + $_ = <PL>; + } + if (/\(CHARHT R (.*)\)/) { + $ht = "$1"; + $_ = <PL>; + } + 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 (<PL>) { + 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 `<idx> <subfont> <subfont_idx> <width> <height> <depth>'. + +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/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe b/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe new file mode 100644 index 00000000000..962b61d83a7 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/subfonts.pe @@ -0,0 +1,88 @@ +# 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 (e.g., `UBig5.sfd'). +# +# A collection of useful subfont definition files for CJK fonts can be found +# in the ttf2pk package. + +# Copyright (C) 1994-2007 Werner Lemberg <wl@gnu.org> +# +# 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); + +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/Master/texmf-dist/source/latex/cjk/utils/subfonts/uni2sfd.pl b/Master/texmf-dist/source/latex/cjk/utils/subfonts/uni2sfd.pl new file mode 100644 index 00000000000..722a3cf33ed --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/uni2sfd.pl @@ -0,0 +1,312 @@ +#! /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-2008 Werner Lemberg <wl@gnu.org> +# +# 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 (<SFD>) { + 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 +# `<width> <heigth> <depth>'. +# $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 (<PL>) { + 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"; + + $_ = <PL>; + if (/\(CHARWD R (.*)\)/) { + $wd = "$1"; + $_ = <PL>; + } + if (/\(CHARHT R (.*)\)/) { + $ht = "$1"; + $_ = <PL>; + } + 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 `<index> <Unicode> <width> <height> <depth>'. + +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/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertical.pe b/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertical.pe new file mode 100644 index 00000000000..a10faef0887 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertical.pe @@ -0,0 +1,108 @@ +# 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 <wl@gnu.org> +# +# 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/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertref.pe b/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertref.pe new file mode 100644 index 00000000000..63533f94733 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/subfonts/vertref.pe @@ -0,0 +1,121 @@ +# 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 <wl@gnu.org> +# +# 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/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL new file mode 100644 index 00000000000..025e923ed99 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/INSTALL @@ -0,0 +1,337 @@ +Installation of Thai fonts for TeX with fontinst +------------------------------------------------ + +0. The files `c90.etx' and `c90.mtx' must be in the TeX inputs path. + Normally, the current directory also works. Note that you need + fontinst version 1.918 or higher. + +1. In case your Thai font doesn't come with an AFM metrics file you + must extract it from the font using tools like `type1afm' (from + the t1lib package) or ghostscript's `ps2afm' program. + +2. Create a control file for fontinst. + + Example: + + Let us assume that we have the following AFM files for the + Garuda family, using version 2.1 of the fonts (from the + ThaiLaTeX project): + + garuda.afm + garuda_b.afm + garuda_o.afm + garuda_bo.afm + + You should use glyph names compliant to Karl Berry's `fontname' + scheme. For `garuda', this could be `fgdr8z': `f' is the foundry + (`small foundry'), `gd' is the typeface name, `r' means the + weight (`regular'), and `8z' the encoding (8bit user). + Similarly, suitable names for the other fonts are `fgdb8z', + `fgdo8z', and `fgdbo8z', respectively. + + Fonts with `f' as the supplier should go into a `public' font + directory. The typeface `Garuda' already exists in the latest + fontname version (typeface.map version 4-Jul-2005 at the time of + writing), the associated directory is `garuda'. Please consult + the `fontname' standard for more information. + + A template for the fontinst control file can be found as + `norasi.fontinst'; here a version for garuda: + + ==== garuda.fontinst ==== + + \input fontinst.sty + + \needsfontinstversion{1.918} + + + % we explicitly set all slots in the encoding, so provide all + % glyph names in AFM files equally (this is, don't create + % `<glyph>-not' names) + \let\setnotglyph \setrawglyph + + % we want warnings for missing glyphs + \fontinstcc + \add_to\pre_fourth_etx_pass_hook{ + \def\do_slot{ + \if_undefined{g-\slot_name}\then + \fontinstwarningnoline{fontinst} + {missing~glyph~`\slot_name'\space + for~slot~\the\slot_number\space + in~font~`\out_filename'} + \fi + \do_character + } + } + \normalcc + + + % create PL files and an FD file + \installfonts + \setint{fontdimen(2)}{500} % SPACE + \setint{fontdimen(3)}{300} % STRETCH + \setint{fontdimen(4)}{100} % SHRINK + \setint{fontdimen(6)}{1000} % QUAD + \setint{fontdimen(7)}{0} % EXTRASPACE + + \installrawfont{fdbr8z}{garuda,c90}{c90} + {C90}{garuda}{m}{n}{} + \installrawfont{fdbb8z}{garuda_b,c90}{c90} + {C90}{garuda}{bx}{n}{} + \installrawfont{fdbbo8z}{garuda_bo,c90}{c90} + {C90}{garuda}{bx}{sl}{} + \installrawfont{fdbo8z}{garuda_o,c90}{c90} + {C90}{garuda}{m}{sl}{} + \endinstallfonts + + + \input finstmsc.sty + + + % create the c90.enc file + \installfonts + % the `makeenc' flag is used in c90.etx + \setint{makeenc}{1} + \setstr{encodingname}{C90Encoding} + \etxtoenc{c90}{c90} + \endinstallfonts + + \end + + ==== garuda.fontinst ==== + + Some explanations. + + - The control files also creates MTX and PL files for the AFM + files (e.g., garuda.mtx and garuda.pl) which aren't needed and + can be deleted. + + - AFM files don't provide all necessary font dimensions for TeX. + Consequently, you have to set some dimensions manually. The + `SPACE' value must be larger than for a Latin font; a + reasonable value is 500. You should increase the `STRETCH' + value also -- some tests have shown that 300 yields good + results, but this depends on the font. `EXTRASPACE' can be + set to zero since you must always use TeX's \frenchspacing + command for Thai. All other font dimension values given above + are default values and can stay unmodified. + + There is nothing for free: The changed font dimensions improve + spacing between Thai words, but Latin words are far too widely + spaced. + + - The arguments to \installrawfont are as follows. + + #1 The target font name. + #2 A comma separated list (without spaces) of metric + files. Above, the first one is the AFM file, the + second one is c90.mtx which sets up the three + mandatory alias glyph slots. + #3 The name of the encoding file (c90.etx). + #4-#7 The NFSS attributes for the font. + #8 The size command. If it is empty, `<->' is used. + + - The second \installfonts...\endinstallfonts block creates an + encoding file. + +3. Run fontinst: + + tex garuda.fontinst + + If you get warnings about missing glyphs which are critical (this + is, if it affects Thai characters), you have to configure fontinst + to use an alias file for glyph names. This is described below. + +4. Say + + pltotf <PL-file> + + 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 <font>.map for the PS fonts (which can be + used by both dvips and pdftex). + + Example `garuda.map' (the lines are splitted for readability only): + + fgdr8z Garuda \ + " C90Encoding ReEncodeFont " <c90.enc <garuda.pfb + fgdb8z Garuda-Bold \ + " C90Encoding ReEncodeFont " <c90.enc <garuda_b.pfb + fgdo8z Garuda-Oblique \ + " C90Encoding ReEncodeFont " <c90.enc <garuda_o.pfb + fgdbo8z Garuda-BoldOblique \ + " C90Encoding ReEncodeFont " <c90.enc <garuda_bo.pfb + + A proper entry for the mapping file (dvipdfm.map) of dvipdfm (and + dvipdfmx) looks like this: + + fgdr8z c90 garuda + fgdb8z c90 garuda_b + fgdo8z c90 garuda_o + fgdbo8z c90 garuda_bo + + Note that teTeX's (and TeXLive's) `updmap' script can automatically + convert a map line for dvips to a proper entry for dvipdfm and + dvipdfmx. + +6. There are two possibilities how to make the Thai fonts known to + dvips. + + - Append the contents of the map file to `psfonts.map' (or the map + file specified in the configuration file of dvips, `config.ps', + with the `p' option). How to do this may vary depending on the + used TeX system; for example, teTeX and TeXLive both use a script + called `updmap' to maintain `psfonts.map'. + + - Write a small file called config.<font> (e.g., `config.garuda'; on + platforms like MS-DOS which don't support long filename + extensions you can use `garuda.cfg' instead) with the following + line in it: + + p +<map_file> + + Example: + + p +garuda.map + + Then you can use the `-P' command line option of dvips to + include the reencoded font. Example: + + dvips -P garuda test.dvi + +7. After testing, install the font and its support files in your TeX + tree. In the following example, `TEXMF' denotes the location of + your (local) `texmf' directory (we assume a TeX installation + compliant to TDS 1.1 as provided recent versions of TeXLive and + teTeX). + + garuda.pfb -> TEXMF/fonts/type1/public/garuda/ + garuda.afm -> TEXMF/fonts/afm/public/garuda/ + ... + + c90.enc -> TEXMF/fonts/enc/dvips/thai/ + + garuda.map -> TEXMF/fonts/map/dvips/garuda/ + config.garuda -> TEXMF/dvips/garuda/ + + fgdr8z.tfm -> TEXMF/fonts/tfm/public/garuda/ + ... + + c90gar.fd -> TEXMF/tex/latex/CJK/thai/ + +8. Run texhash or a similar program to update the TDS database if + necessary. + + +You are done! With plain TeX, say e.g. + + \font\thai = fgdr9z at 16pt + +to use the font \thai. This will typeset TIS-620 encoded Thai. +Note, however, that you need CJK's cjk-enc.el for Emacs to insert +proper inter-character glue and word breakpoints in case you want +to typeset longer Thai phrases. + + +Reencoding Thai fonts +--------------------- + +Older Thai fonts don't use proper glyph names, and recent ones +probably use different suffixes; it is thus necessary to make fontinst +aware of those names. + +A complete example can be found in the `dbtt-old' subdirectory (which +can be used for the dbtt fonts from TeXLive 8 or earlier). + +a. Set up a file which contains all the aliases, using the \galias + macro. This file should have the extension `.tex'. + + Example: + + If glyph `endash' is represented with glyph name `ucircumflex' + in the font, use the following: + + \galias{ucircumflex}{endash} + +b. Set up both ETX and MTX files which load the just created glyph + alias file. To do that, use the files `dbtt-old-alias.etx' and + `dbtt-old-alias.mtx' as templates. Leave everything unchanged + except the line with \input which should load your glyph alias + file. + +c. Set up a proper fontinst control file. Use `dbtt-old.fontinst' + as a template, replacing the `dbtt-old-alias' items in the + \installrawfont lines with the name of your MTX file. Similarly, + the three last lines in the second + \installfonts...\endinstallfonts block should be adjusted + accordingly. + +d. Continue with item 3 above. Note that in item 5, you have to use + not `C90Encoding' but the encoding name defined with the \setstr + line in your fontinst control file. + + +Using different LaTeX encodings for Thai +---------------------------------------- + +The used encoding scheme within the CJK package for Thai is `C90', +but it is straightforward to adapt it to other Thai encodings like +`LTH' by reordering the `\setslot ... \endsetslot' blocks in the file +`c90.etx'. + +Currently, only CJK's cjk-enc.el output filter for Emacs needs the +Thai ligatures -- other Thai word segmentation programs like `swath' +or `cttex' already replace the input characters with proper glyph +variants. Anyway, they don't harm, and it is on the TODO list of the +thailatex maintainers to finally use those ligatures also. + + +Printing c90.etx +---------------- + +It is possible to convert the main fontinst encoding file for Thai, +c90.etx, into a printable document. To do so, you have to apply the +patch below to the file `fontdoc.sty' (which is part of the fontinst +package -- tested with fontinst version 1.926; newer versions have +already been corrected and don't need this patch), then simply say + + latex c90.etx + + +==================================================================== + + +--- fontdoc.sty.old Mon Feb 9 21:28:59 2004 ++++ fontdoc.sty Wed Jun 23 12:13:04 2004 +@@ -1052,7 +1052,7 @@ + \x@cs\def{FD@lig-/LIG}#1#2{% + \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}% + ${}\rightarrow{}$% +- \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}$% ++ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}% + } + \x@cs\def{FD@lig-LIG/}#1#2{% + \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}% +@@ -1085,7 +1085,7 @@ + \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}% + ${}\rightarrow{}$% + \FD@typeset@string{\slot@name}${}*{}$% +- \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}$} ++ \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}} + \def\nextlarger#1{\Bheading{Next larger} \typeset@glyph{#1}} + \def\makerightboundary#1{% + \Bheading{Right boundary marker slot} designation \typeset@glyph{#1}% + + +---end of INSTALL--- diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx new file mode 100644 index 00000000000..9b00a0c110b --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.etx @@ -0,0 +1,2346 @@ +% c90.etx + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program in doc/COPYING; if not, write to the Free +% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +% MA 02110-1301 USA + +\relax +\documentclass{article} + +\usepackage[specification]{fontdoc}[2001/06/01] +\usepackage{textcomp} +\usepackage{shortvrb} +\usepackage{mflogo} +\usepackage{multicol} +\usepackage{url} + +\MakeShortVerb{\|} + +\newlength{\Stackwidth} + +\newcommand\StackAbove[2]{% + \settowidth{\Stackwidth}{$#1$}% + \vbox{\hbox{$#1$}% + \hbox to \Stackwidth{\hss $#2$\hss}}% +} +\newcommand\StackBelow[2]{% + \settowidth{\Stackwidth}{$#1$}% + \vtop{\hbox{$#1$}% + \hbox to \Stackwidth{\hss $#2$\hss}}% +} + +\newcommand{\thaiclass}[1]{% + {\textit{#1}}% +} +\newcommand{\thaiclassx}[2]{% + \thaiclass{#1}% + \raisebox{-0.4ex}{{\footnotesize\textit{#2}}}% +} +\newcommand{\thaiclassxx}[3]{% + \thaiclassx{#1}{#2}% + \raisebox{-0.8ex}{{\tiny\textit{#3}}}% +} + + +\begin{document} + +\title{The \texttt{C90} encoding for Thai} +\author{Werner Lemberg} +\date{2005/07/04} +\maketitle + + +\section{Introduction} + +This file describes a font encoding for Thai, as presented in a +TUGboat article~\cite{TUG-Thai}. The glyph names follow the Adobe +Glyph List (AGL)~\cite{AGL} recommendations. Since most available +Thai fonts neither use AGL glyph names nor follow the font encoding +used here, you have to be careful in setting up a proper encoding +vector. A specialty (for reasons explained below) is that three +glyphs, namely |/uni0E38| (Thai character `sara u'), |/uni0E39| (Thai +character `sara uu'), and |/uni0E3A| (Thai character `phinthu') must +appear twice in the encoding; the additional glyph indices are |0x80|, +|0x81|, and |0x82|, respectively. + + +\section{Ligatures} +The tricky part is implementing the ligatures. TeX's ligature +mechanism only provides contextual patterns of length~2. Due to the +very nature of the ETX format, ligatures aren't grouped into classes +which makes this file rather long. + +Thai glyphs can be grouped functionally into base glyphs (which are +spacing glyphs) and diacritics (which have zero advance width). +Usually, diacritical glyphs represent either vowels or tone +indicators, whereas base glyphs represent consonants -- I won't go +into detail here; please read the Unicode standard~\cite{Unicode} or +any introduction into the Thai script for more information. + +The general composing rules are as follows: + +\[ + CV \longrightarrow \StackAbove{V}{C}\,,\quad + CT \longrightarrow \StackAbove{T}{C}\,,\quad + CVT \longrightarrow \StackAbove{\StackAbove{T}{V}}{C}\,,\quad + Cv \longrightarrow \StackBelow{C}{v}\,,\quad + CvT \longrightarrow \StackBelow{\StackAbove{T}{C}}{v} +\] + +\noindent +where $C$ represents a base consonant, $V$ an upper vowel, $v$ a lower +vowel, and $T$ a tone mark. The tone mark always comes last. + +Sometimes you will find documents which have first the tone mark and +then the vowel. In real Thai input systems, this error will be +catched and fixed by reordering the characters according to the +TIS-620 Thai encoding standard before any output is created. The +ligatures given below are not able to handle such incorrect data, and +you have to normalize it before using them. + +It depends on context where the diacritics are exactly positioned; +some base glyphs have overlong ascenders or descenders, making it +necessary to shift the diacritics vertically and horizontally. + +To complicate things, the Thai vowel `sara am' (TIS-620 code point +|0xD3|, Unicode value |U+0E33|), which looks like the final nasal sign +`nikhahit' (|0xED|, |U+0E4D|) followed by the vowel `sara aa' (|0xD2|, +|U+0E32|), will be decomposed into these two glyphs for rendering. +The difficulty is that we must position the tone mark of the +\emph{previous} character properly! Thus we have + +\[ + C + SM \longrightarrow \StackAbove{N}{C} + SA\,,\quad + C + T + SM \longrightarrow \StackAbove{\StackAbove{T}{N}}{C} + SA +\] + +A last specialty (used for Sanskrit written in Thai) is that `sara aa' +if it follows the independent vowel letter `ru' (|0xC4|, |U+0E24|) or +`lu' (|0xC6|, |U+0E26|) is replaced with the `lakkhangyao' sign +(|0xE5|, |U+0E45|). + + +\section{Glyph Classes} + +To describe the patterns and rules we start with defining glyph +classes. + +\begin{quote} + \begin{description} + \item[\thaiclassx{base}{normal}] Normal base glyphs without special + features. + \item[\thaiclassx{base}{desc}] Base glyphs with descender. + \item[\thaiclassx{base}{desclike}] These base glyphs consist of two + elements which look like a normal base glyph combined with a lower + vowel diacritic; the diacritic-like element will be omitted if + combined with a lower vowel. + \item[\thaiclassx{base}{asc}] Base glyphs with an ascender on the + right side. + \item[\thaiclassx{base}{indic}] The two independent vowels \emph{ru} + and \emph{lu}. + \item[\thaiclassx{base}{sign}] The sign \emph{lakkhangyao}. + \item[\thaiclassx{base}{sara am}] The vowel \emph{sara am}. + \item[\thaiclassx{base}{sara aa}] The vowel \emph{sara aa}. + \item[\thaiclass{lower}] Lower vowel diacritics. + \item[\thaiclassx{upper}{vowel}] Upper vowel diacritics. + \item[\thaiclassx{upper}{sign}] The \emph{nikhahit} final nasal + sign. + \item[\thaiclass{top}] Tone marks. + \end{description} +\end{quote} + +Here the glyph variant classes: + +\begin{quote} + \begin{description} + \item[\thaiclassx{base}{descless}] The glyphs of class + \thaiclassx{base}{desclike} without the lower part. + \item[\thaiclassx{lower}{low}] The glyphs of class + \thaiclass{lower} shifted downwards. + \item[\thaiclassxx{upper}{vowel}{left}] The glyphs of class + \thaiclassx{upper}{vowel} shifted to the left. + \item[\thaiclassxx{upper}{sign}{left}] The glyphs of class + \thaiclassx{upper}{sign} shifted to the left. + \item[\thaiclassx{top}{left}] The glyphs of class + \thaiclass{top} shifted to the left. + \item[\thaiclassx{top}{low}] The glyphs of class + \thaiclass{top} shifted downwards. + \item[\thaiclassx{top}{low-left}] The glyphs of class + \thaiclass{top} shifted to the left and downwards. + \end{description} +\end{quote} + + +\section{Context Patterns} + +Using the glyph classes defined in the last section it is easy to +describe the context patterns for base glyphs with diacritical signs. +Surprisingly, these patterns are quite systematic. Patterns in +table~\ref{table:context-dia} which are marked with an asterisk do +nothing and are listed for completeness only. Note that these +patterns cover combinations which don't happen in the Thai script +(which doesn't harm). + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular} + {l@{~}l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l@{~}l} + \thaiclass{base} &\thaiclass{lower} + & & + &\thaiclass{base} &\thaiclass{lower} + & & &* \\ + \thaiclass{base} & + &\thaiclass{upper} & + &\thaiclass{base} & + &\thaiclass{upper} & &* \\ + \thaiclass{base} & + & &\thaiclass{top} + &\thaiclass{base} & + & &\thaiclassx{top}{low} & \\ + \thaiclass{base} &\thaiclass{lower} + & &\thaiclass{top} + &\thaiclass{base} &\thaiclass{lower} + & &\thaiclassx{top}{low} & \\ + \thaiclass{base} & + &\thaiclass{upper} &\thaiclass{top} + &\thaiclass{base} & + &\thaiclass{upper} &\thaiclass{top} &* \\[2ex] + + \thaiclassx{base}{desc} &\thaiclass{lower} + & & + &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} + & & & \\ + \thaiclassx{base}{desc} & + &\thaiclass{upper} & + &\thaiclassx{base}{desc} & + &\thaiclass{upper} & &* \\ + \thaiclassx{base}{desc} & + & &\thaiclass{top} + &\thaiclassx{base}{desc} & + & &\thaiclassx{top}{low} & \\ + \thaiclassx{base}{desc} &\thaiclass{lower} + & &\thaiclass{top} + &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} + & &\thaiclassx{top}{low} & \\ + \thaiclassx{base}{desc} & + &\thaiclass{upper} &\thaiclass{top} + &\thaiclassx{base}{desc} & + &\thaiclass{upper} &\thaiclass{top} &* \\[2ex] + + \thaiclassx{base}{desclike} &\thaiclass{lower} + & & + &\thaiclassx{base}{descless} & + & & & \\ + \thaiclassx{base}{desclike} & + &\thaiclass{upper} & + &\thaiclassx{base}{desclike} & + &\thaiclass{upper} & &* \\ + \thaiclassx{base}{desclike} & + & &\thaiclass{top} + &\thaiclassx{base}{desclike} & + & &\thaiclassx{top}{low} & \\ + \thaiclassx{base}{desclike} &\thaiclass{lower} + & &\thaiclass{top} + &\thaiclassx{base}{descless} &\thaiclass{lower} + & &\thaiclassx{top}{low} & \\ + \thaiclassx{base}{desclike} & + &\thaiclass{upper} &\thaiclass{top} + &\thaiclassx{base}{desclike} & + &\thaiclass{upper} &\thaiclass{top} &* \\[2ex] + + \thaiclassx{base}{asc} &\thaiclass{lower} + & & + &\thaiclassx{base}{asc} &\thaiclass{lower} + & & &* \\ + \thaiclassx{base}{asc} & + &\thaiclass{upper} & + &\thaiclassx{base}{asc} & + &\thaiclassx{upper}{left} & & \\ + \thaiclassx{base}{asc} & + & &\thaiclass{top} + &\thaiclassx{base}{asc} & + & &\thaiclassx{top}{low-left} & \\ + \thaiclassx{base}{asc} &\thaiclass{lower} + & &\thaiclass{top} + &\thaiclassx{base}{asc} &\thaiclass{lower} + & &\thaiclassx{top}{low-left} & \\ + \thaiclassx{base}{asc} & + &\thaiclass{upper} &\thaiclass{top} + &\thaiclassx{base}{asc} & + &\thaiclassx{upper}{left} &\thaiclassx{top}{left} & \\ + \end{tabular} + + \caption{Context patterns for diacritical signs. Here, + \thaiclass{base} refers to the union of the subclasses + \thaiclass{normal}, \thaiclass{indic}, \thaiclass{sign}, + \thaiclass{sara am}, and \thaiclass{sara aa} of \thaiclass{base}; + \thaiclass{upper} is the union of the subclasses \thaiclass{vowel} + and \thaiclass{sign} of \thaiclass{upper}.} + \label{table:context-dia} +\end{table*} + +Table~\ref{table:context-sara} covers the ligatures of the character +\emph{sara am}. Finally, table~\ref{table:context-indic} describes +the letters specific to Sanskrit. + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l} + \thaiclass{base} &\thaiclassx{base}{sara am} & + &\thaiclass{base} &\thaiclassx{upper}{sign} + & &\thaiclassx{base}{sara aa} \\ + \thaiclassx{base}{asc} &\thaiclassx{base}{sara am} & + &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left} + & &\thaiclassx{base}{sara aa} \\[2ex] + + \thaiclass{base} &\thaiclass{top} &\thaiclassx{base}{sara am} + &\thaiclass{base} &\thaiclassx{upper}{sign} + &\thaiclass{top} &\thaiclassx{base}{sara aa} \\ + \thaiclassx{base}{asc} &\thaiclass{top} &\thaiclassx{base}{sara + am} + &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left} + &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa} + \end{tabular} + \caption{Context patterns for \emph{sara am}. Here, + \thaiclass{base} denotes the union of subclasses + \thaiclass{normal}, \thaiclass{desc}, and \thaiclass{desclike} of + \thaiclass{base}.} + \label{table:context-sara} +\end{table*} + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l} + \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa} + &\thaiclassx{base}{indic} &\thaiclassx{base}{sign} + \end{tabular} + \caption{Context patterns for \emph{ru} and \emph{lu}.} + \label{table:context-indic} +\end{table*} + +\section{\TeX's Ligature Mechanism} + +\DeleteShortVerb{\|} + +A small introduction into the exotic variants of \TeX's ligature +mechanism which probably many users haven't seen before. +Additionally, the documentation in the \emph{\MF book}~\cite{MFbook} +is very sparse. In the following examples \MF's notation is used. + +The usual ligature action of two glyphs $a$ and~$b$ is the replacement +of both glyphs with another glyph~$c$. + +\begin{center} + \texttt{a b =:\ c} +\end{center} + +Another possibility is to retain the left or the right original glyph +(before and after the ligature, respectively) or both. + +\begin{center} + \texttt{a b |=:\ c} \quad + \texttt{a b =:| c} \quad + \texttt{a b |=:| c} +\end{center} + +\noindent +The first rule creates $ac$, the second $cb$, and the last $acb$. In +all three cases, the current point after appying the ligature rule is +still at the first glyph of the replaced glyphs, and \TeX\ simply +restarts there to check ligatures (and kernings). A classical example +is + +\begin{center} + f f i \textrightarrow\ ff i \textrightarrow\ ffi +\end{center} + +To advance the current point to the right, append either \texttt{>} or +\texttt{>{}>} (the latter is only possible if you retain both input +glyphs). Here are the remaining four ligature rules. + +\begin{center} + \texttt{a b |=:> c} \quad + \texttt{a b =:|> c} \\ + \texttt{a b |=:|> c} \quad + \texttt{a b |=:|>{}> c} +\end{center} + +For Thai ligatures, the most often needed rule is \texttt{|=:}\ (i.e., +retain the left glyph and stay at the same position before applying +the next ligature rule). Note that using \texttt{|=:>} instead is not +a good idea since this would prohibit kerning between the left glyph +and the ligature. + +\section{Ligature Rules} + +\MakeShortVerb{\|} + +As just explained, \TeX\ can only handle context patterns of length~2, +whereas Thai needs patterns of length~3. It was an interesting +challenge to find out whether the problem can be solved with \TeX's +somewhat restricted ligature rules -- the gentle reader is invited to +find a solution by herself! There won't be any difficulties in +understanding ligatures afterwards. + +The tables~\ref{table:liga-dia}, \ref{table:liga-sara}, +and~\ref{table:liga-indic} use the same conventions as +tables~\ref{table:context-dia}, \ref{table:context-sara}, +and~\ref{table:context-indic}, respectively. The current point isn't +increased in any of the rules. + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l} + \thaiclass{base} &\thaiclass{top} + &\thaiclass{base} &\thaiclassx{top}{low} \\ + \thaiclassx{base}{desc} &\thaiclass{lower} + &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} \\ + \thaiclassx{base}{desc} &\thaiclass{top} + &\thaiclassx{base}{desc} &\thaiclassx{top}{low} \\ + \thaiclassx{base}{desclike} &\thaiclass{lower} + &\thaiclassx{base}{descless} &\thaiclass{lower} \\ + \thaiclassx{base}{desclike} &\thaiclass{top} + &\thaiclassx{base}{desclike} &\thaiclassx{top}{low} \\ + \thaiclassx{base}{asc} &\thaiclass{lower} + &\thaiclassx{base}{asc} &\thaiclassx{lower}{left} \\ + \thaiclassx{base}{asc} &\thaiclass{upper} + &\thaiclassx{base}{asc} &\thaiclassx{upper}{left} \\ + \thaiclassx{base}{asc} &\thaiclass{top} + &\thaiclassx{base}{asc} &\thaiclassx{top}{low-left} \\[2ex] + + \thaiclass{lower} &\thaiclass{top} + &\thaiclass{lower} &\thaiclassx{top}{low} \\ + \thaiclassx{lower}{low} &\thaiclass{top} + &\thaiclassx{lower}{low} &\thaiclassx{top}{low} \\[2ex] + + \thaiclassx{upper}{left} &\thaiclass{top} + &\thaiclassx{upper}{left} &\thaiclassx{top}{left} \\[2ex] + + \thaiclassx{lower}{left} &\thaiclass{top} + &\thaiclassx{lower}{left} &\thaiclassx{top}{low-left} \\ + \end{tabular} + + \caption{Ligature rules for diacritical marks.} + \label{table:liga-dia} +\end{table*} + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l} + \thaiclass{base} &\thaiclassx{base}{sara am} + &\thaiclass{base} &\thaiclassx{upper}{sign} + &\thaiclassx{base}{sara am} \\ + \thaiclassx{base}{asc} &\thaiclassx{base}{sara am} + &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left} + &\thaiclassx{base}{sara am} \\[2ex] + + \thaiclassx{upper}{sign} &\thaiclassx{base}{sara am} + &\thaiclassx{upper}{sign} &\thaiclassx{base}{sara aa} + & \\ + \thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara am} + &\thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara aa} + & \\[2ex] + + \thaiclassx{top}{low} &\thaiclassx{base}{sara am} + &\thaiclassx{top}{low} &\thaiclass{top} + &\thaiclassx{base}{sara am} \\ + \thaiclassx{top}{low} &\thaiclass{top} + &\thaiclassx{upper}{sign} &\thaiclass{top} + & \\ + \thaiclass{top} &\thaiclassx{base}{sara am} + &\thaiclass{top} &\thaiclassx{base}{sara aa} + & \\[2ex] + + \thaiclassx{top}{low-left} &\thaiclassx{base}{sara am} + &\thaiclassx{top}{low-left} &\thaiclassx{top}{left} + &\thaiclassx{base}{sara am} \\ + \thaiclassx{top}{low-left} &\thaiclassx{top}{left} + &\thaiclassxx{upper}{sign}{left} &\thaiclassx{top}{left} + & \\ + \thaiclassx{top}{left} &\thaiclassx{base}{sara am} + &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa} \\ + \end{tabular} + + \caption{Ligature rules for \emph{sara am}.} + \label{table:liga-sara} +\end{table*} + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l} + \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa} + &\thaiclassx{base}{indic} &\thaiclassx{base}{sign} + \end{tabular} + \caption{Ligature rule for \emph{ru} and \emph{lu}.} + \label{table:liga-indic} +\end{table*} + +Most of the ligature rules can be derived easily by handling the +patterns sequentially (quite similar to logic puzzles found in various +magazines), but at the end there remain two patterns which apparently +contradict. + +\setlength{\tabcolsep}{3pt} + +\begin{center} + \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l} + \thaiclass{base} &\thaiclass{lower} &\thaiclass{top} + &\thaiclass{base} &\thaiclass{lower} + &\thaiclassx{top}{low} \\ + \thaiclassx{base}{asc} &\thaiclass{lower} &\thaiclass{top} + &\thaiclassx{base}{asc} &\thaiclass{lower} + &\thaiclassx{top}{low-left} \\ + \end{tabular} +\end{center} + +After applying ligature rules for the first two glyph classes it is +necessary to handle the context `\thaiclass{lower} \thaiclass{top}', +but depending on the previous glyph class \thaiclass{top} must be +replaced with \thaiclassx{top}{left} and \thaiclassx{top}{low-left}, +respectively. With a context pattern length of~3 this would be easy +to solve, but \TeX\ doesn't have this feature. What to do? + +The context `\thaiclass{base} \thaiclass{lower} \thaiclass{top}' must +be distinguished from `\thaiclassx{base}{asc} \thaiclass{lower} +\thaiclass{top}', i.e., two different \thaiclass{lower} classes are +needed depending on the previous character since \TeX\ is not able to +forward information from one ligature cycle to the next. The idea is +now to create an `alias class', a class which behaves identically to +the original one. The glyphs in this alias class are the same, but +different glyph indices and glyph names are assigned to it. A +closer look to table~\ref{table:liga-dia} shows that +\thaiclassx{lower}{left} isn't a typo but the alias class of +\thaiclass{lower}. + + +\section{The Implementation} + +After solving the problem theoretically now the practical +implementation. All glyph names follow the \emph{Adobe Glyph List + (AGL)}~\cite{AGL}. There are no predefined Adobe glyph names for +Thai, so the prefix `uni' with attached Unicode value will be used for +all glyphs which are encoded in Unicode. Glyph variants are +identified by an arbitrarily chosen postfix. + +Here the real glyph names for the various classes. Hexadecimal values +in parentheses after the glyph name give the glyph indices in the +encoding vector. + +\vspace{1ex} +\multicolsep 1ex + +\begin{multicols}{2}[\thaiclassx{base}{normal}:] + \begin{quote} + |uni0E01| (|0xA1|)\\ + |uni0E02| (|0xA2|)\\ + |uni0E03| (|0xA3|)\\ + |uni0E04| (|0xA4|)\\ + |uni0E05| (|0xA5|)\\ + |uni0E06| (|0xA6|)\\ + |uni0E07| (|0xA7|)\\ + |uni0E08| (|0xA8|)\\ + |uni0E09| (|0xA9|)\\ + |uni0E0A| (|0xAA|)\\ + |uni0E0B| (|0xAB|)\\ + |uni0E0C| (|0xAC|)\\ + |uni0E11| (|0xB1|)\\ + |uni0E12| (|0xB2|)\\ + |uni0E13| (|0xB3|)\\ + |uni0E14| (|0xB4|)\\ + |uni0E15| (|0xB5|)\\ + |uni0E16| (|0xB6|)\\ + |uni0E17| (|0xB7|)\\ + |uni0E18| (|0xB8|)\\ + |uni0E19| (|0xB9|)\\ + |uni0E1A| (|0xBA|)\\ + |uni0E1C| (|0xBC|)\\ + |uni0E1E| (|0xBE|)\\ + |uni0E20| (|0xC0|)\\ + |uni0E21| (|0xC1|)\\ + |uni0E22| (|0xC2|)\\ + |uni0E23| (|0xC3|)\\ + |uni0E25| (|0xC5|)\\ + |uni0E27| (|0xC7|)\\ + |uni0E28| (|0xC8|)\\ + |uni0E29| (|0xC9|)\\ + |uni0E2A| (|0xCA|)\\ + |uni0E2B| (|0xCB|)\\ + |uni0E2D| (|0xCD|)\\ + |uni0E2E| (|0xCE|)\\ + |uni0E2F| (|0xCF|)\\ + |uni0E30| (|0xD0|)\\ + |uni0E40| (|0xE0|)\\ + |uni0E41| (|0xE1|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{desc}:] + \begin{quote} + |uni0E0E| (|0xAE|)\\ + |uni0E0F| (|0xAF|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{desclike}:] + \begin{quote} + |uni0E0D| (|0xAD|)\\ + |uni0E10| (|0xB0|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{indic}:] + \begin{quote} + |uni0E24| (|0xC4|)\\ + |uni0E26| (|0xC6|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{sign}:] + \begin{quote} + |uni0E45| (|0xE5|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{asc}:] + \begin{quote} + |uni0E1B| (|0xBB|)\\ + |uni0E1D| (|0xBD|)\\ + |uni0E1F| (|0xBF|)\\ + |uni0E2C| (|0xCC|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{sara am}:] + \begin{quote} + |uni0E33| (|0xD3|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{sara aa}:] + \begin{quote} + |uni0E32| (|0xD2|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{descless}:] + \begin{quote} + |uni0E0D.descless| (|0x90|)\\ + |uni0E10.descless| (|0x9F|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclass{lower}:] + \begin{quote} + |uni0E38| (|0xD8|)\\ + |uni0E39| (|0xD9|)\\ + |uni0E3A| (|0xDA|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{lower}{left}:] + \begin{quote} + |uni0E38.left| (|0x80|)\\ + |uni0E39.left| (|0x81|)\\ + |uni0E3A.left| (|0x82|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{lower}{low}:] + \begin{quote} + |uni0E38.low| (|0xFC|)\\ + |uni0E39.low| (|0xFD|)\\ + |uni0E3A.low| (|0xFE|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{upper}{vowel}:] + \begin{quote} + |uni0E31| (|0xD1|)\\ + |uni0E34| (|0xD4|)\\ + |uni0E35| (|0xD5|)\\ + |uni0E36| (|0xD6|)\\ + |uni0E37| (|0xD7|)\\ + |uni0E47| (|0xE7|)\\ + |uni0E4D| (|0xED|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{upper}{sign}:] + \begin{quote} + |uni0E4D| (|0xED|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassxx{upper}{vowel}{left}:] + \begin{quote} + |uni0E31.left| (|0x92|)\\ + |uni0E34.left| (|0x94|)\\ + |uni0E35.left| (|0x95|)\\ + |uni0E36.left| (|0x96|)\\ + |uni0E37.left| (|0x97|)\\ + |uni0E47.left| (|0x93|)\\ + |uni0E4D.left| (|0x8F|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassxx{upper}{sign}{left}:] + \begin{quote} + |uni0E4D.left| (|0x8F|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclass{top}:] + \begin{quote} + |uni0E48| (|0xE8|)\\ + |uni0E49| (|0xE9|)\\ + |uni0E4A| (|0xEA|)\\ + |uni0E4B| (|0xEB|)\\ + |uni0E4C| (|0xEC|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{top}{left}:] + \begin{quote} + |uni0E48.left| (|0x98|)\\ + |uni0E49.left| (|0x99|)\\ + |uni0E4A.left| (|0x9A|)\\ + |uni0E4B.left| (|0x9B|)\\ + |uni0E4C.left| (|0x9C|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{top}{low}:] + \begin{quote} + |uni0E48.low| (|0x88|)\\ + |uni0E49.low| (|0x89|)\\ + |uni0E4A.low| (|0x8A|)\\ + |uni0E4B.low| (|0x8B|)\\ + |uni0E4C.low| (|0x8C|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{top}{low-left}:] + \begin{quote} + |uni0E48.low_left| (|0x83|)\\ + |uni0E49.low_left| (|0x84|)\\ + |uni0E4A.low_left| (|0x85|)\\ + |uni0E4B.low_left| (|0x86|)\\ + |uni0E4C.low_left| (|0x87|) + \end{quote} +\end{multicols} + +\vspace{1ex} + + +\encoding +\needsfontinstversion{1.918} + + +\begincomment +\section{Coding Scheme} +\endcomment + +\setstr{codingscheme}{C90 THAI ENCODING} + + +\begincomment +\section{Non-Thai Characters} + +Of the many different \LaTeX{} encodings, |OT1| supports {\small + ASCII} best (and this is what most Type~1 Thai fonts have). This +has two advantages: We can use the raw Thai font without specifying a +new encoding (switching to |OT1| will be sufficient), and it will work +with plain \TeX{} also. + +We use the |OT1| layout for typewriter fonts (i.e., for |cmtt|) with +the exception that `arrowup' and `arrowdown' are replaced with +`endash' and `emdash', and the seldom used `dotlessj' with +`quotedblleft'. +\endcomment + + +% 0x00 | 0 +\setslot{Gamma} + \Unicode{0393}{GREEK CAPITAL LETTER GAMMA} +\endsetslot + +\setslot{Delta} + \Unicode{0394}{GREEK CAPITAL LETTER DELTA} +\endsetslot + +\setslot{Theta} + \Unicode{0398}{GREEK CAPITAL LETTER THETA} +\endsetslot + +\setslot{Lambda} + \Unicode{039B}{GREEK CAPITAL LETTER LAMDA} +\endsetslot + +\setslot{Xi} + \Unicode{039E}{GREEK CAPITAL LETTER XI} +\endsetslot + +\setslot{Pi} + \Unicode{03A0}{GREEK CAPITAL LETTER PI} +\endsetslot + +\setslot{Sigma} + \Unicode{03A3}{GREEK CAPITAL LETTER SIGMA} +\endsetslot + +\setslot{Upsilon} + \Unicode{03D2}{GREEK UPSILON WITH HOOK SYMBOL} +\endsetslot + +\setslot{Phi} + \Unicode{03A6}{GREEK CAPITAL LETTER PHI} +\endsetslot + +\setslot{Psi} + \Unicode{03A8}{GREEK CAPITAL LETTER PSI} +\endsetslot + +\setslot{Omega} + \Unicode{03A9}{GREEK CAPITAL LETTER OMEGA} +\endsetslot + +\setslot{endash} + \Unicode{2013}{EN DASH} + \Ligature{LIG}{hyphen}{emdash} + \comment{This is `arrowup' in |OT1| encoding.} +\endsetslot + +\setslot{emdash} + \Unicode{2014}{EM DASH} + \comment{This is `arrowdown' in |OT1| encoding.} +\endsetslot + +\setslot{quotesingle} + \Unicode{0027}{APOSTROPHE} +\endsetslot + +\setslot{exclamdown} + \Unicode{00A1}{INVERTED EXCLAMATION MARK} +\endsetslot + +\setslot{questiondown} + \Unicode{00BF}{INVERTED QUESTION MARK} +\endsetslot + +% 0x10 | 16 +\setslot{dotlessi} + \Unicode{0131}{LATIN SMALL LETTER DOTLESS I} +\endsetslot + +\setslot{quotedblleft} + \Unicode{201C}{LEFT DOUBLE QUOTATION MARK} + \comment{This is `dotlessj' in |OT1| encoding.} +\endsetslot + +\setslot{grave} + \Unicode{0300}{COMBINING GRAVE ACCENT} +\endsetslot + +\setslot{acute} + \Unicode{0301}{COMBINING ACUTE ACCENT} +\endsetslot + +\setslot{caron} + \Unicode{030C}{COMBINING CARON} +\endsetslot + +\setslot{breve} + \Unicode{0306}{COMBINING BREVE} +\endsetslot + +\setslot{macron} + \Unicode{0304}{COMBINING MACRON} +\endsetslot + +\setslot{ring} + \Unicode{030A}{COMBINING RING ABOVE} +\endsetslot + +\setslot{cedilla} + \Unicode{0327}{COMBINING CEDILLA} +\endsetslot + +\setslot{germandbls} + \Unicode{00DF}{LATIN SMALL LETTER SHARP S} +\endsetslot + +\setslot{ae} + \Unicode{00E6}{LATIN SMALL LETTER AE} +\endsetslot + +\setslot{oe} + \Unicode{0153}{LATIN SMALL LIGATURE OE} +\endsetslot + +\setslot{oslash} + \Unicode{00F8}{LATIN SMALL LETTER O WITH STROKE} +\endsetslot + +\setslot{AE} + \Unicode{00C6}{LATIN CAPITAL LETTER AE} +\endsetslot + +\setslot{OE} + \Unicode{0152}{LATIN CAPITAL LIGATURE OE} +\endsetslot + +\setslot{Oslash} + \Unicode{00D8}{LATIN CAPITAL LETTER O WITH STROKE} +\endsetslot + +% 0x20 | 32 +\skipslots{1} + +\setslot{exclam} + \Unicode{0021}{EXCLAMATION MARK} + \Ligature{LIG}{quoteleft}{exclamdown} +\endsetslot + +\setslot{quotedblright} + \Unicode{201D}{RIGHT DOUBLE QUOTATION MARK} +\endsetslot + +\setslot{numbersign} + \Unicode{0023}{NUMBER SIGN} +\endsetslot + +\setslot{dollar} + \Unicode{0024}{DOLLAR SIGN} +\endsetslot + +\setslot{percent} + \Unicode{0025}{PERCENT SIGN} +\endsetslot + +\setslot{ampersand} + \Unicode{0026}{AMPERSAND} +\endsetslot + +\setslot{quoteright} + \Unicode{2019}{RIGHT SINGLE QUOTATION MARK} + \Ligature{LIG}{quoteright}{quotedblright} +\endsetslot + +\setslot{parenleft} + \Unicode{0028}{LEFT PARENTHESIS} +\endsetslot + +\setslot{parenright} + \Unicode{0029}{RIGHT PARENTHESIS} +\endsetslot + +\setslot{asterisk} + \Unicode{002A}{ASTERISK} +\endsetslot + +\setslot{plus} + \Unicode{002B}{PLUS SIGN} +\endsetslot + +\setslot{comma} + \Unicode{002C}{COMMA} +\endsetslot + +\setslot{hyphen} + \Unicode{002D}{HYPHEN-MINUS} + \Ligature{LIG}{hyphen}{endash} +\endsetslot + +\setslot{period} + \Unicode{002E}{FULL STOP} +\endsetslot + +\setslot{slash} + \Unicode{002F}{SOLIDUS} +\endsetslot + +% 0x30 | 48 +\setslot{zero} + \Unicode{0030}{DIGIT ZERO} +\endsetslot + +\setslot{one} + \Unicode{0031}{DIGIT ONE} +\endsetslot + +\setslot{two} + \Unicode{0032}{DIGIT TWO} +\endsetslot + +\setslot{three} + \Unicode{0033}{DIGIT THREE} +\endsetslot + +\setslot{four} + \Unicode{0034}{DIGIT FOUR} +\endsetslot + +\setslot{five} + \Unicode{0035}{DIGIT FIVE} +\endsetslot + +\setslot{six} + \Unicode{0036}{DIGIT SIX} +\endsetslot + +\setslot{seven} + \Unicode{0037}{DIGIT SEVEN} +\endsetslot + +\setslot{eight} + \Unicode{0038}{DIGIT EIGHT} +\endsetslot + +\setslot{nine} + \Unicode{0039}{DIGIT NINE} +\endsetslot + +\setslot{colon} + \Unicode{003A}{COLON} +\endsetslot + +\setslot{semicolon} + \Unicode{003B}{SEMICOLON} +\endsetslot + +\setslot{less} + \Unicode{003C}{LESS-THAN SIGN} +\endsetslot + +\setslot{equal} + \Unicode{003D}{EQUALS SIGN} +\endsetslot + +\setslot{greater} + \Unicode{003E}{GREATER-THAN SIGN} +\endsetslot + +\setslot{question} + \Unicode{003F}{QUESTION MARK} + \Ligature{LIG}{quoteleft}{questiondown} +\endsetslot + +% 0x40 | 64 +\setslot{at} + \Unicode{0040}{COMMERCIAL AT} +\endsetslot + +\setslot{A} + \Unicode{0041}{LATIN CAPITAL LETTER A} +\endsetslot + +\setslot{B} + \Unicode{0042}{LATIN CAPITAL LETTER B} +\endsetslot + +\setslot{C} + \Unicode{0043}{LATIN CAPITAL LETTER C} +\endsetslot + +\setslot{D} + \Unicode{0044}{LATIN CAPITAL LETTER D} +\endsetslot + +\setslot{E} + \Unicode{0045}{LATIN CAPITAL LETTER E} +\endsetslot + +\setslot{F} + \Unicode{0046}{LATIN CAPITAL LETTER F} +\endsetslot + +\setslot{G} + \Unicode{0047}{LATIN CAPITAL LETTER G} +\endsetslot + +\setslot{H} + \Unicode{0048}{LATIN CAPITAL LETTER H} +\endsetslot + +\setslot{I} + \Unicode{0049}{LATIN CAPITAL LETTER I} +\endsetslot + +\setslot{J} + \Unicode{004A}{LATIN CAPITAL LETTER J} +\endsetslot + +\setslot{K} + \Unicode{004B}{LATIN CAPITAL LETTER K} +\endsetslot + +\setslot{L} + \Unicode{004C}{LATIN CAPITAL LETTER L} +\endsetslot + +\setslot{M} + \Unicode{004D}{LATIN CAPITAL LETTER M} +\endsetslot + +\setslot{N} + \Unicode{004E}{LATIN CAPITAL LETTER N} +\endsetslot + +\setslot{O} + \Unicode{004F}{LATIN CAPITAL LETTER O} +\endsetslot + +% 0x50 | 80 +\setslot{P} + \Unicode{0050}{LATIN CAPITAL LETTER P} +\endsetslot + +\setslot{Q} + \Unicode{0051}{LATIN CAPITAL LETTER Q} +\endsetslot + +\setslot{R} + \Unicode{0052}{LATIN CAPITAL LETTER R} +\endsetslot + +\setslot{S} + \Unicode{0053}{LATIN CAPITAL LETTER S} +\endsetslot + +\setslot{T} + \Unicode{0054}{LATIN CAPITAL LETTER T} +\endsetslot + +\setslot{U} + \Unicode{0055}{LATIN CAPITAL LETTER U} +\endsetslot + +\setslot{V} + \Unicode{0056}{LATIN CAPITAL LETTER V} +\endsetslot + +\setslot{W} + \Unicode{0057}{LATIN CAPITAL LETTER W} +\endsetslot + +\setslot{X} + \Unicode{0058}{LATIN CAPITAL LETTER X} +\endsetslot + +\setslot{Y} + \Unicode{0059}{LATIN CAPITAL LETTER Y} +\endsetslot + +\setslot{Z} + \Unicode{005A}{LATIN CAPITAL LETTER Z} +\endsetslot + +\setslot{bracketleft} + \Unicode{005B}{LEFT SQUARE BRACKET} +\endsetslot + +\setslot{backslash} + \Unicode{005C}{REVERSE SOLIDUS} +\endsetslot + +\setslot{bracketright} + \Unicode{005D}{RIGHT SQUARE BRACKET} +\endsetslot + +\setslot{circumflex} + \Unicode{0302}{COMBINING CIRCUMFLEX ACCENT} +\endsetslot + +\setslot{underscore} + \Unicode{005F}{LOW LINE} +\endsetslot + +% 0x60 | 96 +\setslot{quoteleft} + \Unicode{2018}{LEFT SINGLE QUOTATION MARK} + \Ligature{LIG}{quoteleft}{quotedblleft} +\endsetslot + +\setslot{a} + \Unicode{0061}{LATIN SMALL LETTER A} +\endsetslot + +\setslot{b} + \Unicode{0062}{LATIN SMALL LETTER B} +\endsetslot + +\setslot{c} + \Unicode{0063}{LATIN SMALL LETTER C} +\endsetslot + +\setslot{d} + \Unicode{0064}{LATIN SMALL LETTER D} +\endsetslot + +\setslot{e} + \Unicode{0065}{LATIN SMALL LETTER E} +\endsetslot + +\setslot{f} + \Unicode{0066}{LATIN SMALL LETTER F} +\endsetslot + +\setslot{g} + \Unicode{0067}{LATIN SMALL LETTER G} +\endsetslot + +\setslot{h} + \Unicode{0068}{LATIN SMALL LETTER H} +\endsetslot + +\setslot{i} + \Unicode{0069}{LATIN SMALL LETTER I} +\endsetslot + +\setslot{j} + \Unicode{006A}{LATIN SMALL LETTER J} +\endsetslot + +\setslot{k} + \Unicode{006B}{LATIN SMALL LETTER K} +\endsetslot + +\setslot{l} + \Unicode{006C}{LATIN SMALL LETTER L} +\endsetslot + +\setslot{m} + \Unicode{006D}{LATIN SMALL LETTER M} +\endsetslot + +\setslot{n} + \Unicode{006E}{LATIN SMALL LETTER N} +\endsetslot + +\setslot{o} + \Unicode{006F}{LATIN SMALL LETTER O} +\endsetslot + +% 0x70 | 112 +\setslot{p} + \Unicode{0070}{LATIN SMALL LETTER P} +\endsetslot + +\setslot{q} + \Unicode{0071}{LATIN SMALL LETTER Q} +\endsetslot + +\setslot{r} + \Unicode{0072}{LATIN SMALL LETTER R} +\endsetslot + +\setslot{s} + \Unicode{0073}{LATIN SMALL LETTER S} +\endsetslot + +\setslot{t} + \Unicode{0074}{LATIN SMALL LETTER T} +\endsetslot + +\setslot{u} + \Unicode{0075}{LATIN SMALL LETTER U} +\endsetslot + +\setslot{v} + \Unicode{0076}{LATIN SMALL LETTER V} +\endsetslot + +\setslot{w} + \Unicode{0077}{LATIN SMALL LETTER W} +\endsetslot + +\setslot{x} + \Unicode{0078}{LATIN SMALL LETTER X} +\endsetslot + +\setslot{y} + \Unicode{0079}{LATIN SMALL LETTER Y} +\endsetslot + +\setslot{z} + \Unicode{007A}{LATIN SMALL LETTER Z} +\endsetslot + +\setslot{braceleft} + \Unicode{007B}{LEFT CURLY BRACKET} +\endsetslot + +\setslot{bar} + \Unicode{007C}{VERTICAL LINE} +\endsetslot + +\setslot{braceright} + \Unicode{007D}{RIGHT CURLY BRACKET} +\endsetslot + +\setslot{tilde} + \Unicode{0303}{COMBINING TILDE} +\endsetslot + +\setslot{dieresis} + \Unicode{0308}{COMBINING DIAERESIS} +\endsetslot + + +\begincomment +\section{Thai Characters} + +This is |TIS-620| encoding with glyph variants. The encoding presented +in~\cite{TUG-Thai} contained two alternate glyph forms at positions 157 +and 158 which have been removed meanwhile. + +The number of all Thai ligature rules is quite big (464~in total). +Note that |vptovf| will make the ligature table much more compact as +it may appear here. +\endcomment + +% 0x80 | 128 +\ifisint{makeenc}\then + \setslot{uni0E38} + \endsetslot +\Else + \setslot{uni0E38.left} + \comment{An alias for + \textunicode{0E38}{THAI CHARACTER SARA U}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left} + \endsetslot +\Fi + +\ifisint{makeenc}\then + \setslot{uni0E39} + \endsetslot +\Else + \setslot{uni0E39.left} + \comment{An alias for + \textunicode{0E39}{THAI CHARACTER SARA UU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left} + \endsetslot +\Fi + +\ifisint{makeenc}\then + \setslot{uni0E3A} + \endsetslot +\Else + \setslot{uni0E3A.left} + \comment{An alias for + \textunicode{0E3A}{THAI CHARACTER PHINTHU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left} + \endsetslot +\Fi + +\setslot{uni0E48.low_left} + \comment{A glyph variant of + \textunicode{0E48}{THAI CHARACTER MAI EK}.} + \Ligature{/LIG/}{uni0E33}{uni0E48.left} + \Ligature{LIG/}{uni0E48.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E49.low_left} + \comment{A glyph variant of + \textunicode{0E49}{THAI CHARACTER MAI THO}.} + \Ligature{/LIG/}{uni0E33}{uni0E49.left} + \Ligature{LIG/}{uni0E49.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E4A.low_left} + \comment{A glyph variant of + \textunicode{0E4A}{THAI CHARACTER MAI TRI}.} + \Ligature{/LIG/}{uni0E33}{uni0E4A.left} + \Ligature{LIG/}{uni0E4A.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E4B.low_left} + \comment{A glyph variant of + \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.} + \Ligature{/LIG/}{uni0E33}{uni0E4B.left} + \Ligature{LIG/}{uni0E4B.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E4C.low_left} + \comment{A glyph variant of + \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.} + \Ligature{/LIG/}{uni0E33}{uni0E4C.left} + \Ligature{LIG/}{uni0E4C.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E48.low} + \comment{A glyph variant of + \textunicode{0E48}{THAI CHARACTER MAI EK}.} + \Ligature{/LIG/}{uni0E33}{uni0E48} + \Ligature{LIG/}{uni0E48}{uni0E4D} +\endsetslot + +\setslot{uni0E49.low} + \comment{A glyph variant of + \textunicode{0E49}{THAI CHARACTER MAI THO}.} + \Ligature{/LIG/}{uni0E33}{uni0E49} + \Ligature{LIG/}{uni0E49}{uni0E4D} +\endsetslot + +\setslot{uni0E4A.low} + \comment{A glyph variant of + \textunicode{0E4A}{THAI CHARACTER MAI TRI}.} + \Ligature{/LIG/}{uni0E33}{uni0E4A} + \Ligature{LIG/}{uni0E4A}{uni0E4D} +\endsetslot + +\setslot{uni0E4B.low} + \comment{A glyph variant of + \textunicode{04EB}{THAI CHARACTER MAI CHATTAWA}.} + \Ligature{/LIG/}{uni0E33}{uni0E4B} + \Ligature{LIG/}{uni0E4B}{uni0E4D} +\endsetslot + +\setslot{uni0E4C.low} + \comment{A glyph variant of + \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.} + \Ligature{/LIG/}{uni0E33}{uni0E4C} + \Ligature{LIG/}{uni0E4C}{uni0E4D} +\endsetslot + +\skipslots{2} + +\setslot{uni0E4D.left} + \comment{A glyph variant of + \textunicode{0E4D}{THAI CHARACTER NIKHAHIT}.} + \Ligature{/LIG}{uni0E33}{uni0E32} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +% 0x90 | 144 +\setslot{uni0E0D.descless} + \comment{A glyph variant of + \textunicode{0E0D}{THAI CHARACTER YO YING}.} +\endsetslot + +\skipslots{1} + +\setslot{uni0E31.left} + \comment{A glyph variant of + \textunicode{0E31}{THAI CHARACTER MAI HAN-AKAT}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E47.left} + \comment{A glyph variant of + \textunicode{0E47}{THAI CHARACTER MAITAIKHU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E34.left} + \comment{A glyph variant of + \textunicode{0E34}{THAI CHARACTER SARA I}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E35.left} + \comment{A glyph variant of + \textunicode{0E35}{THAI CHARACTER SARA II}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E36.left} + \comment{A glyph variant of + \textunicode{0E36}{THAI CHARACTER SARA UE}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E37.left} + \comment{A glyph variant of + \textunicode{0E37}{THAI CHARACTER SARA UEE}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E48.left} + \comment{A glyph variant of + \textunicode{0E48}{THAI CHARACTER MAI EK}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E49.left} + \comment{A glyph variant of + \textunicode{0E49}{THAI CHARACTER MAI THO}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4A.left} + \comment{A glyph variant of + \textunicode{0E4A}{THAI CHARACTER MAI TRI}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4B.left} + \comment{A glyph variant of + \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4C.left} + \comment{A glyph variant of + \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\skipslots{2} + +\setslot{uni0E10.descless} + \comment{A glyph variant of + \textunicode{0E10}{THAI CHARACTER THO THAN}.} +\endsetslot + +% 0xA0 | 160 +\skipslots{1} + +\setslot{uni0E01} + \Unicode{0E01}{THAI CHARACTER KO KAI} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E02} + \Unicode{0E02}{THAI CHARACTER KHO KHAI} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E03} + \Unicode{0E03}{THAI CHARACTER KHO KHUAT} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E04} + \Unicode{0E04}{THAI CHARACTER KHO KHWAI} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E05} + \Unicode{0E05}{THAI CHARACTER KHO KHON} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E06} + \Unicode{0E06}{THAI CHARACTER KHO RAKHANG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E07} + \Unicode{0E07}{THAI CHARACTER NGO NGU} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E08} + \Unicode{0E08}{THAI CHARACTER CHO CHAN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E09} + \Unicode{0E09}{THAI CHARACTER CHO CHING} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0A} + \Unicode{0E0A}{THAI CHARACTER CHO CHANG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0B} + \Unicode{0E0B}{THAI CHARACTER SO SO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0C} + \Unicode{0E0C}{THAI CHARACTER CHO CHOE} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0D} + \Unicode{0E0D}{THAI CHARACTER YO YING} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{LIG/}{uni0E38}{uni0E0D.descless} + \Ligature{LIG/}{uni0E39}{uni0E0D.descless} + \Ligature{LIG/}{uni0E3A}{uni0E0D.descless} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0E} + \Unicode{0E0E}{THAI CHARACTER DO CHADA} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E38}{uni0E38.low} + \Ligature{/LIG}{uni0E39}{uni0E39.low} + \Ligature{/LIG}{uni0E3A}{uni0E3A.low} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0F} + \Unicode{0E0F}{THAI CHARACTER TO PATAK} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E38}{uni0E38.low} + \Ligature{/LIG}{uni0E39}{uni0E39.low} + \Ligature{/LIG}{uni0E3A}{uni0E3A.low} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +% 0xB0 | 176 +\setslot{uni0E10} + \Unicode{0E10}{THAI CHARACTER THO THAN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{LIG/}{uni0E38}{uni0E10.descless} + \Ligature{LIG/}{uni0E39}{uni0E10.descless} + \Ligature{LIG/}{uni0E3A}{uni0E10.descless} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E11} + \Unicode{0E11}{THAI CHARACTER THO NANGMONTHO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E12} + \Unicode{0E12}{THAI CHARACTER THO PHUTHAO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E13} + \Unicode{0E13}{THAI CHARACTER NO NEN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E14} + \Unicode{0E14}{THAI CHARACTER DO DEK} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E15} + \Unicode{0E15}{THAI CHARACTER TO TAO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E16} + \Unicode{0E16}{THAI CHARACTER THO THUNG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E17} + \Unicode{0E17}{THAI CHARACTER THO THAHAN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E18} + \Unicode{0E18}{THAI CHARACTER THO THONG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E19} + \Unicode{0E19}{THAI CHARACTER NO NU} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E1A} + \Unicode{0E1A}{THAI CHARACTER BO BAIMAI} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E1B} + \Unicode{0E1B}{THAI CHARACTER PO PLA} + \Ligature{/LIG}{uni0E31}{uni0E31.left} + \Ligature{/LIG/}{uni0E33}{uni0E4D.left} + \Ligature{/LIG}{uni0E34}{uni0E34.left} + \Ligature{/LIG}{uni0E35}{uni0E35.left} + \Ligature{/LIG}{uni0E36}{uni0E36.left} + \Ligature{/LIG}{uni0E37}{uni0E37.left} + \Ligature{/LIG}{uni0E38}{uni0E38.left} + \Ligature{/LIG}{uni0E39}{uni0E39.left} + \Ligature{/LIG}{uni0E3A}{uni0E3A.left} + \Ligature{/LIG}{uni0E47}{uni0E47.left} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} + \Ligature{/LIG}{uni0E4D}{uni0E4D.left} +\endsetslot + +\setslot{uni0E1C} + \Unicode{0E1C}{THAI CHARACTER PHO PHUNG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E1D} + \Unicode{0E1D}{THAI CHARACTER FO FA} + \Ligature{/LIG}{uni0E31}{uni0E31.left} + \Ligature{/LIG/}{uni0E33}{uni0E4D.left} + \Ligature{/LIG}{uni0E34}{uni0E34.left} + \Ligature{/LIG}{uni0E35}{uni0E35.left} + \Ligature{/LIG}{uni0E36}{uni0E36.left} + \Ligature{/LIG}{uni0E37}{uni0E37.left} + \Ligature{/LIG}{uni0E38}{uni0E38.left} + \Ligature{/LIG}{uni0E39}{uni0E39.left} + \Ligature{/LIG}{uni0E3A}{uni0E3A.left} + \Ligature{/LIG}{uni0E47}{uni0E47.left} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} + \Ligature{/LIG}{uni0E4D}{uni0E4D.left} +\endsetslot + +\setslot{uni0E1E} + \Unicode{0E1E}{THAI CHARACTER PHO PHAN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E1F} + \Unicode{0E1F}{THAI CHARACTER FO FAN} + \Ligature{/LIG}{uni0E31}{uni0E31.left} + \Ligature{/LIG/}{uni0E33}{uni0E4D.left} + \Ligature{/LIG}{uni0E34}{uni0E34.left} + \Ligature{/LIG}{uni0E35}{uni0E35.left} + \Ligature{/LIG}{uni0E36}{uni0E36.left} + \Ligature{/LIG}{uni0E37}{uni0E37.left} + \Ligature{/LIG}{uni0E38}{uni0E38.left} + \Ligature{/LIG}{uni0E39}{uni0E39.left} + \Ligature{/LIG}{uni0E3A}{uni0E3A.left} + \Ligature{/LIG}{uni0E47}{uni0E47.left} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} + \Ligature{/LIG}{uni0E4D}{uni0E4D.left} +\endsetslot + +% 0xC0 | 192 +\setslot{uni0E20} + \Unicode{0E20}{THAI CHARACTER PHO SAMPHAO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E21} + \Unicode{0E21}{THAI CHARACTER MO MA} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E22} + \Unicode{0E22}{THAI CHARACTER YO YAK} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E23} + \Unicode{0E23}{THAI CHARACTER RO RUA} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E24} + \Unicode{0E24}{THAI CHARACTER RU} + \Ligature{/LIG}{uni0E32}{uni0E45} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E25} + \Unicode{0E25}{THAI CHARACTER LO LING} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E26} + \Unicode{0E26}{THAI CHARACTER LU} + \Ligature{/LIG}{uni0E32}{uni0E45} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E27} + \Unicode{0E27}{THAI CHARACTER WO WAEN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E28} + \Unicode{0E28}{THAI CHARACTER SO SALA} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E29} + \Unicode{0E29}{THAI CHARACTER SO RUSI} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2A} + \Unicode{0E2A}{THAI CHARACTER SO SUA} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2B} + \Unicode{0E2B}{THAI CHARACTER HO HIP} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2C} + \Unicode{0E2C}{THAI CHARACTER LO CHULA} + \Ligature{/LIG/}{uni0E33}{uni0E4D.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} +\endsetslot + +\setslot{uni0E2D} + \Unicode{0E2D}{THAI CHARACTER O ANG} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2E} + \Unicode{0E2E}{THAI CHARACTER HO NOKHUK} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2F} + \Unicode{0E2F}{THAI CHARACTER PAIYANNOI} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +% 0xD0 | 208 +\setslot{uni0E30} + \Unicode{0E30}{THAI CHARACTER SARA A} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E31} + \Unicode{0E31}{THAI CHARACTER MAI HAN-AKAT} +\endsetslot + +\setslot{uni0E32} + \Unicode{0E32}{THAI CHARACTER SARA AA} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E33} + \Unicode{0E33}{THAI CHARACTER SARA AM} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E34} + \Unicode{0E34}{THAI CHARACTER SARA I} +\endsetslot + +\setslot{uni0E35} + \Unicode{0E35}{THAI CHARACTER SARA II} +\endsetslot + +\setslot{uni0E36} + \Unicode{0E36}{THAI CHARACTER SARA UE} +\endsetslot + +\setslot{uni0E37} + \Unicode{0E37}{THAI CHARACTER SARA UEE} +\endsetslot + +\setslot{uni0E38} + \Unicode{0E38}{THAI CHARACTER SARA U} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E39} + \Unicode{0E39}{THAI CHARACTER SARA UU} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E3A} + \Unicode{0E3A}{THAI CHARACTER PHINTHU} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\skipslots{4} + +\setslot{uni0E3F} + \Unicode{0E3F}{THAI CURRENCY SYMBOL BAHT} +\endsetslot + +% 0xE0 | 224 +\setslot{uni0E40} + \Unicode{0E40}{THAI CHARACTER SARA E} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E41} + \Unicode{0E41}{THAI CHARACTER SARA AE} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E42} + \Unicode{0E42}{THAI CHARACTER SARA O} +\endsetslot + +\setslot{uni0E43} + \Unicode{0E43}{THAI CHARACTER SARA AI MAIMUAN} +\endsetslot + +\setslot{uni0E44} + \Unicode{0E44}{THAI CHARACTER SARA AI MAIMALAI} +\endsetslot + +\setslot{uni0E45} + \Unicode{0E45}{THAI CHARACTER LAKKHANGYAO} +\endsetslot + +\setslot{uni0E46} + \Unicode{0E46}{THAI CHARACTER MAIYAMOK} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E47} + \Unicode{0E47}{THAI CHARACTER MAITAIKHU} +\endsetslot + +\setslot{uni0E48} + \Unicode{0E48}{THAI CHARACTER MAI EK} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E49} + \Unicode{0E49}{THAI CHARACTER MAI THO} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4A} + \Unicode{0E4A}{THAI CHARACTER MAI TRI} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4B} + \Unicode{0E4B}{THAI CHARACTER MAI CHATTAWA} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4C} + \Unicode{0E4C}{THAI CHARACTER THANTHAKHAT} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4D} + \Unicode{0E4D}{THAI CHARACTER NIKHAHIT} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4E} + \Unicode{0E4E}{THAI CHARACTER YAMAKKAN} +\endsetslot + +\setslot{uni0E4F} + \Unicode{0E4F}{THAI CHARACTER FONGMAN} +\endsetslot + +% 0xF0 | 240 +\setslot{uni0E50} + \Unicode{0E50}{THAI DIGIT ZERO} +\endsetslot + +\setslot{uni0E51} + \Unicode{0E51}{THAI DIGIT ONE} +\endsetslot + +\setslot{uni0E52} + \Unicode{0E52}{THAI DIGIT TWO} +\endsetslot + +\setslot{uni0E53} + \Unicode{0E53}{THAI DIGIT THREE} +\endsetslot + +\setslot{uni0E54} + \Unicode{0E54}{THAI DIGIT FOUR} +\endsetslot + +\setslot{uni0E55} + \Unicode{0E55}{THAI DIGIT FIVE} +\endsetslot + +\setslot{uni0E56} + \Unicode{0E56}{THAI DIGIT SIX} +\endsetslot + +\setslot{uni0E57} + \Unicode{0E57}{THAI DIGIT SEVEN} +\endsetslot + +\setslot{uni0E58} + \Unicode{0E58}{THAI DIGIT EIGHT} +\endsetslot + +\setslot{uni0E59} + \Unicode{0E59}{THAI DIGIT NINE} +\endsetslot + +\setslot{uni0E5A} + \Unicode{0E5A}{THAI CHARACTER ANGKHANKHU} +\endsetslot + +\setslot{uni0E5B} + \Unicode{0E5B}{THAI CHARACTER KHOMUT} +\endsetslot + +\setslot{uni0E38.low} + \comment{A glyph variant of \textunicode{0E38}{THAI CHARACTER SARA U}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E39.low} + \comment{A glyph variant of \textunicode{0E39}{THAI CHARACTER SARA UU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E3A.low} + \comment{A glyph variant of \textunicode{0E3A}{THAI CHARACTER PHINTHU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\skipslots{1} + + +\begincomment +\section{Font Dimensions} +\endcomment + +\setfontdimen{1}{italicslant} +\setfontdimen{2}{interword} +\setfontdimen{3}{stretchword} +\setfontdimen{4}{shrinkword} +\setfontdimen{5}{xheight} +\setfontdimen{6}{quad} +\setfontdimen{7}{extraspace} + +\endencoding + + +\begin{thebibliography}{9} +\bibitem{TUG-Thai} + Werner Lemberg: \textit{Thai Fonts}, in \textit{TUGboat}, + 21(2):113--120, June 2000. Available online in PDF format as + \url{http://tug.org/TUGboat/Articles/tb21-2/tb67lemb.pdf}. +\bibitem{AGL} + Adobe Systems Incorporated: \textit{Adobe Glyph List}, 2003; + \url{http://partners.adobe.com/asn/developer/type/unicodegn.html}. +\bibitem{MFbook} + Donald E.\ Knuth, Duane Bibby (illustrations): \textit{The \MF + book}, Ad\-di\-son--Wes\-ley, 1986; ISBN~0-201-13445-4. +\bibitem{Unicode} + The Unicode Consortium (editor), \emph{et al.}: \textit{The Unicode + Standard, Version 4.0}, Addison Wesley Longman Publisher, 2003; + ISBN~0-321-18578-1. Most of the information in this book is also + available online at the Unicode consortium website, at + \url{http://www.unicode.org/versions/Unicode4.0.1}. +\end{thebibliography} + +\end{document} + +% end of c90.etx diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx new file mode 100644 index 00000000000..eda3aa2fcb0 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/c90.mtx @@ -0,0 +1,42 @@ +% c90.mtx + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program in doc/COPYING; if not, write to the Free +% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +% MA 02110-1301 USA + +\relax + +\metrics + +\needsfontinstversion{1.918} + +% provide glyph aliases needed for the ligature mechanism + +\setglyph{uni0E38.left} + \glyph{uni0E38}{1000} +\endsetglyph + +\setglyph{uni0E39.left} + \glyph{uni0E39}{1000} +\endsetglyph + +\setglyph{uni0E3A.left} + \glyph{uni0E3A}{1000} +\endsetglyph + +\endmetrics + +% end of c90.mtx diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old new file mode 100644 index 00000000000..5ce1be96b23 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/config.dbtt-old @@ -0,0 +1 @@ +p +dbtt-old.map diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx new file mode 100644 index 00000000000..5d826b0b546 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.etx @@ -0,0 +1,46 @@ +% dbtt-old-alias.etx + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program in doc/COPYING; if not, write to the Free +% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +% MA 02110-1301 USA + +\relax + +\encoding + +\needsfontinstversion{1.918} + +\fontinstcc +\def\galias#1#2{ + \expandafter\def\csname slot-#2\endcsname{#1} +} +\def\setslot#1{ + \edef\slot_name{ + \if_defined{slot-#1}\then + \csname slot-#1\endcsname + \else + #1 + \fi + } + \do_slot +} +\normalcc + +\input dbtt-old-alias + +\endencoding + +% end of dbtt-old-alias.etx diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx new file mode 100644 index 00000000000..3e91339cb8f --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.mtx @@ -0,0 +1,36 @@ +% dbtt-old-alias.mtx + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program in doc/COPYING; if not, write to the Free +% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +% MA 02110-1301 USA + +\relax + +\metrics + +\needsfontinstversion{1.918} + +\def\galias#1#2{ + \setglyph{#2} + \glyph{#1}{1000} + \endsetglyph +} + +\input dbtt-old-alias + +\endmetrics + +% end of dbtt-old-alias.mtx diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex new file mode 100644 index 00000000000..74398589e3b --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old-alias.tex @@ -0,0 +1,139 @@ +% dbtt-old-alias.tex + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program in doc/COPYING; if not, write to the Free +% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +% MA 02110-1301 USA + +\galias{ucircumflex}{endash} +\galias{uacute}{emdash} +\galias{quotedbl}{quotedblleft} +\galias{quotedbl}{quotedblright} +\galias{quotesingle}{quoteright} +\galias{grave}{quoteleft} +\galias{florin}{uni0E48.low_left} +\galias{quotedblbase}{uni0E49.low_left} +\galias{ellipsis}{uni0E4A.low_left} +\galias{dagger}{uni0E4B.low_left} +\galias{daggerdbl}{uni0E4C.low_left} +\galias{circumflex}{uni0E48.low} +\galias{perthousand}{uni0E49.low} +\galias{Scaron}{uni0E4A.low} +\galias{guilsinglleft}{uni0E4B.low} +\galias{OE}{uni0E4C.low} +\galias{u008F}{uni0E4D.left} +\galias{u0090}{uni0E0D.descless} +\galias{quoteright}{uni0E31.left} +\galias{quotedblleft}{uni0E47.left} +\galias{quotedblright}{uni0E34.left} +\galias{bullet}{uni0E35.left} +\galias{emdash}{uni0E36.left} +\galias{endash}{uni0E37.left} +\galias{tilde}{uni0E48.left} +\galias{trademark}{uni0E49.left} +\galias{scaron}{uni0E4A.left} +\galias{guilsinglright}{uni0E4B.left} +\galias{oe}{uni0E4C.left} +\galias{Ydieresis}{uni0E10.descless} +\galias{exclamdown}{uni0E01} +\galias{cent}{uni0E02} +\galias{sterling}{uni0E03} +\galias{currency}{uni0E04} +\galias{yen}{uni0E05} +\galias{brokenbar}{uni0E06} +\galias{section}{uni0E07} +\galias{dieresis}{uni0E08} +\galias{copyright}{uni0E09} +\galias{ordfeminine}{uni0E0A} +\galias{guillemotleft}{uni0E0B} +\galias{logicalnot}{uni0E0C} +\galias{hyphen}{uni0E0D} +\galias{registered}{uni0E0E} +\galias{macron}{uni0E0F} +\galias{degree}{uni0E10} +\galias{plusminus}{uni0E11} +\galias{twosuperior}{uni0E12} +\galias{threesuperior}{uni0E13} +\galias{acute}{uni0E14} +\galias{mu}{uni0E15} +\galias{paragraph}{uni0E16} +\galias{periodcentered}{uni0E17} +\galias{cedilla}{uni0E18} +\galias{onesuperior}{uni0E19} +\galias{ordmasculine}{uni0E1A} +\galias{guillemotright}{uni0E1B} +\galias{onequarter}{uni0E1C} +\galias{onehalf}{uni0E1D} +\galias{threequarters}{uni0E1E} +\galias{questiondown}{uni0E1F} +\galias{Agrave}{uni0E20} +\galias{Aacute}{uni0E21} +\galias{Acircumflex}{uni0E22} +\galias{Atilde}{uni0E23} +\galias{Adieresis}{uni0E24} +\galias{Aring}{uni0E25} +\galias{AE}{uni0E26} +\galias{Ccedilla}{uni0E27} +\galias{Egrave}{uni0E28} +\galias{Eacute}{uni0E29} +\galias{Ecircumflex}{uni0E2A} +\galias{Edieresis}{uni0E2B} +\galias{Igrave}{uni0E2C} +\galias{Iacute}{uni0E2D} +\galias{Icircumflex}{uni0E2E} +\galias{Idieresis}{uni0E2F} +\galias{Eth}{uni0E30} +\galias{Ntilde}{uni0E31} +\galias{Ograve}{uni0E32} +\galias{Oacute}{uni0E33} +\galias{Ocircumflex}{uni0E34} +\galias{Otilde}{uni0E35} +\galias{Odieresis}{uni0E36} +\galias{multiply}{uni0E37} +\galias{Oslash}{uni0E38} +\galias{Ugrave}{uni0E39} +\galias{Uacute}{uni0E3A} +\galias{germandbls}{uni0E3F} +\galias{agrave}{uni0E40} +\galias{aacute}{uni0E41} +\galias{acircumflex}{uni0E42} +\galias{atilde}{uni0E43} +\galias{adieresis}{uni0E44} +\galias{aring}{uni0E45} +\galias{ae}{uni0E46} +\galias{ccedilla}{uni0E47} +\galias{egrave}{uni0E48} +\galias{eacute}{uni0E49} +\galias{ecircumflex}{uni0E4A} +\galias{edieresis}{uni0E4B} +\galias{igrave}{uni0E4C} +\galias{iacute}{uni0E4D} +\galias{icircumflex}{uni0E4E} +\galias{idieresis}{uni0E4F} +\galias{eth}{uni0E50} +\galias{ntilde}{uni0E51} +\galias{ograve}{uni0E52} +\galias{oacute}{uni0E53} +\galias{ocircumflex}{uni0E54} +\galias{otilde}{uni0E55} +\galias{odieresis}{uni0E56} +\galias{divide}{uni0E57} +\galias{oslash}{uni0E58} +\galias{ugrave}{uni0E59} +\galias{udieresis}{uni0E38.low} +\galias{yacute}{uni0E39.low} +\galias{Ucircumflex}{uni0E3A.low} + +% end of dbtt-old-alias.tex diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst new file mode 100644 index 00000000000..0251ee373a4 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.fontinst @@ -0,0 +1,78 @@ +% dbtt-old.fontinst + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 `<glyph>-not' names) +\let\setnotglyph \setrawglyph + +% we want warnings for missing glyphs +\fontinstcc +\add_to\pre_fourth_etx_pass_hook{ + \def\do_slot{ + \if_undefined{g-\slot_name}\then + \fontinstwarningnoline{fontinst} + {missing~glyph~`\slot_name'\space + for~slot~\the\slot_number\space + in~font~`\out_filename'} + \fi + \do_character + } +} +\normalcc + + +% create PL files and an FD file +\installfonts + \setint{fontdimen(2)}{500} % SPACE + \setint{fontdimen(3)}{300} % STRETCH + \setint{fontdimen(4)}{100} % SHRINK + \setint{fontdimen(6)}{1000} % QUAD + \setint{fontdimen(7)}{0} % EXTRASPACE + + \installrawfont{fdbr8z}{dbtt,dbtt-old-alias,c90}{c90} + {C90}{dbss}{m}{n}{<-> s *[1.3]} + \installrawfont{fdbb8z}{dbttb,dbtt-old-alias,c90}{c90} + {C90}{dbss}{bx}{n}{<-> s *[1.3]} + \installrawfont{fdbbo8z}{dbttbi,dbtt-old-alias,c90}{c90} + {C90}{dbss}{bx}{sl}{<-> s *[1.3]} + \installrawfont{fdbo8z}{dbtti,dbtt-old-alias,c90}{c90} + {C90}{dbss}{m}{sl}{<-> s *[1.3]} +\endinstallfonts + + +\input finstmsc.sty + + +% create the dbtt-old.enc file +\installfonts + % the `makeenc' flag is used in c90.etx + \setint{makeenc}{1} + \setstr{encodingname}{dbtt-oldEncoding} + \inputetx{dbtt-old-alias} + \etxtoenc{c90}{dbtt-old} +\endinstallfonts + +\end + +% end of dbtt-old.fontinst diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map new file mode 100644 index 00000000000..c48f73fe714 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/dbtt-old/dbtt-old.map @@ -0,0 +1,4 @@ +fdbr8z DBThaiText " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbtt.pfb +fdbb8z DBThaiTextBold " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbttb.pfb +fdbo8z DBThaiTextItalic " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbtti.pfb +fdbbo8z DBThaiTextBoldItalic " dbtt-oldEncoding ReEncodeFont " <dbtt-old.enc <dbttbi.pfb diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/garuda.fontinst b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/garuda.fontinst new file mode 100644 index 00000000000..f810f271b4e --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/garuda.fontinst @@ -0,0 +1,77 @@ +% garuda.fontinst + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 `<glyph>-not' names) +\let\setnotglyph \setrawglyph + +% we want warnings for missing glyphs +\fontinstcc +\add_to\pre_fourth_etx_pass_hook{ + \def\do_slot{ + \if_undefined{g-\slot_name}\then + \fontinstwarningnoline{fontinst} + {missing~glyph~`\slot_name'\space + for~slot~\the\slot_number\space + in~font~`\out_filename'} + \fi + \do_character + } +} +\normalcc + + +% create PL files and an FD file +\installfonts + \setint{fontdimen(2)}{500} % SPACE + \setint{fontdimen(3)}{300} % STRETCH + \setint{fontdimen(4)}{100} % SHRINK + \setint{fontdimen(6)}{1000} % QUAD + \setint{fontdimen(7)}{0} % EXTRASPACE + + \installrawfont{fgdr8z}{garuda,c90}{c90} + {C90}{garuda}{m}{n}{} + \installrawfont{fgdb8z}{garuda_b,c90}{c90} + {C90}{garuda}{bx}{n}{} + \installrawfont{fgdbo8z}{garuda_bo,c90}{c90} + {C90}{garuda}{bx}{sl}{} + \installrawfont{fgdo8z}{garuda_o,c90}{c90} + {C90}{garuda}{m}{sl}{} +\endinstallfonts + + +\input finstmsc.sty + + +% create the c90.enc file +\installfonts + % the `makeenc' flag is used in c90.etx + \setint{makeenc}{1} + \setstr{encodingname}{C90Encoding} + \etxtoenc{c90}{c90} +\endinstallfonts + +\end + +% end of garuda.fontinst diff --git a/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst new file mode 100644 index 00000000000..2ea15d10ef6 --- /dev/null +++ b/Master/texmf-dist/source/latex/cjk/utils/thaifont/tools/norasi.fontinst @@ -0,0 +1,85 @@ +% norasi.fontinst + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 `<glyph>-not' names) +\let\setnotglyph \setrawglyph + +% we want warnings for missing glyphs +\fontinstcc +\add_to\pre_fourth_etx_pass_hook{ + \def\do_slot{ + \if_undefined{g-\slot_name}\then + \fontinstwarningnoline{fontinst} + {missing~glyph~`\slot_name'\space + for~slot~\the\slot_number\space + in~font~`\out_filename'} + \fi + \do_character + } +} +\normalcc + + +% create PL files and an FD file +\installfonts + \setint{fontdimen(2)}{500} % SPACE + \setint{fontdimen(3)}{300} % STRETCH + \setint{fontdimen(4)}{100} % SHRINK + \setint{fontdimen(6)}{1000} % QUAD + \setint{fontdimen(7)}{0} % EXTRASPACE + + \installrawfont{ftnr8z}{norasi,c90}{c90} + {C90}{nrsr}{m}{n}{} + \installrawfont{ftnb8z}{norasi_b,c90}{c90} + {C90}{nrsr}{bx}{n}{} + \installrawfont{ftnbi8z}{norasi_bi,c90}{c90} + {C90}{nrsr}{bx}{it}{} + \installrawfont{ftni8z}{norasi_i,c90}{c90} + {C90}{nrsr}{m}{it}{} + +% Thai glyphs in norasi_o and norasi_bo are identical to the shapes +% in norasi_i and norasi_bi, respectively. +% +% \installrawfont{ftno8z}{norasi_o,c90}{c90} +% {C90}{nrsr}{m}{sl}{} +% \installrawfont{ftnbo8z}{norasi_bo,c90}{c90} +% {C90}{nrsr}{bx}{sl}{} +\endinstallfonts + + +\input finstmsc.sty + + +% create the c90.enc file +\installfonts + % the `makeenc' flag is used in c90.etx + \setint{makeenc}{1} + \setstr{encodingname}{C90Encoding} + \etxtoenc{c90}{c90} +\endinstallfonts + +\end + +% end of norasi.fontinst diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cap b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cap new file mode 100644 index 00000000000..e54868a47b4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cap @@ -0,0 +1,86 @@ +% This is the file Bg5.cap of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{Bg5.cap}[\filedate\space\fileversion] + + +% Chinese captions +% +% character set: Big 5 +% encoding: Big 5 + +\renewcommand\contentsname{ฅุ~~ฟ} +\renewcommand\listfigurename{นฯ~ฅุ~ฟ} +\renewcommand\listtablename{ชํ~ฅุ~ฟ} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ฐั~ฆา~ธ๊~ฎฦ} + %\renewcommand\refname{ฐั~ฆา~คๅ~ฤm} + } + {\renewcommand\bibname{คๅ~~ฤm} + %\renewcommand\bibname{ฐั~ฆา~ฎั~ฅุ} +% \newcommand\prechaptername{ฒฤ} +% \newcommand\postchaptername{ณน} + } + +\renewcommand\indexname{ฏม~ค} + +\renewcommand\figurename{นฯ} +\renewcommand\tablename{ชํ} + +\newcommand\prepartname{ฒฤ} +\newcommand\postpartname{ณก} +%\newcommand{\postpartname}{ณกคภ} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + + +% \newcommand\presectionname{ฒฤ} +% \newcommand\postsectionname{ธ`} +% \renewcommand\appendixname{ช~ฟ} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{บK~ญn}}{} + +% \renewcommand\ccname{} % ? +% \renewcommand\enclname{ชฅ๓} +% \newcommand\prepagename{} % ? +% \newcommand\postpagename{} % ? +% \renewcommand\headtoname{} % ? +% \renewcommand\seename{} % ? + +\renewcommand{\today}{\number\yearฆ~ \number\monthค๋ \number\dayค้} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{\ifcase#1\or + ค@\orคG\orคT\orฅ|\orคญ\or + คป\orคC\orคK\orคE\orคQ\fi}}{} + +\endinput + +%%% Local Variables: +%%% coding: big5 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.chr b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.chr new file mode 100644 index 00000000000..1929e3d7541 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.chr @@ -0,0 +1,219 @@ +% This is the file Bg5.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{Bg5.chr}[\filedate\space\fileversion] + + +% define macros for handling Big 5 encoded CJK fonts and characters. + +\global\@namedef{CJK@Bg5Chr}{ + \CJK@global\chardef\CJK@gap "0A0\relax + + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##3\relax + \ifnum ##3 > \CJK@gap + \advance\@tempcnta -34\relax + \fi + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@charx##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \@tempcntb 256\relax + \ifnum ##4 > \CJK@gap + \advance\@tempcnta -34\relax + \advance\@tempcntb 34\relax + \fi + \advance\@tempcnta ##3\relax + \advance\@tempcntb -##3\relax + \chardef\@temp \@tempcntb + \ifnum ##4 < \@temp + \edef\CJK@plane{##1} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% for punctuation. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##4} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{Bg5}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \ifnum ##4 > \CJK@gap + \advance\@tempcnta -34\relax + \fi + \advance\@tempcnta ##3\relax + \edef\CJK@plane{##2} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{Bg5}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + + \CJK@global\def\CJK@punctcharx##1##2##3##4##5{ + {\ifnum ##5 < \CJK@min + \CJK@err + \else + \ifnum ##5 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##5} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{Bg5}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##5\relax + \@tempcntb 256\relax + \ifnum ##5 > \CJK@gap + \advance\@tempcnta -34\relax + \advance\@tempcntb 34\relax + \fi + \advance\@tempcnta ##4\relax + \advance\@tempcntb -##4\relax + \chardef\@temp \@tempcntb + \ifnum ##5 < \@temp + \edef\CJK@plane{##2} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##3} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{Bg5}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cpx b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cpx new file mode 100644 index 00000000000..b097f717114 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.cpx @@ -0,0 +1,86 @@ +% This is the file Bg5.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{Bg5.cpx}[\filedate\space\fileversion] + + +% Chinese captions +% +% character set: Big 5 +% encoding: Big 5 +% +% preprocessed + +\renewcommand\contentsname{ฅ216~~ฟ253} +\renewcommand\listfigurename{น207~ฅ216~ฟ253} +\renewcommand\listtablename{ช237~ฅ216~ฟ253} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ฐ209~ฆ210~ธ234~ฎ198} + %\renewcommand\refname{ฐ209~ฆ210~ค229~ฤ109} + } + { + \renewcommand\bibname{ค229~~ฤ109} + %\renewcommand\bibname{ฐ209~ฆ210~ฎ209~ฅ216} +% \newcommand\prechaptername{ฒ196} +% \newcommand\postchaptername{ณ185} + } + +\renewcommand\indexname{ฏ193~ค222} + +\renewcommand\figurename{น207} +\renewcommand\tablename{ช237} + +\newcommand\prepartname{ฒ196} +\newcommand\postpartname{ณ161} +%\newcommand{\postpartname}{ณ161ค192} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + + +% \newcommand\presectionname{ฒ196} +% \newcommand\postsectionname{ธ96} +% \renewcommand\appendixname{ช254~ฟ253} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{บ75~ญ110}}{} + +% \renewcommand\ccname{} % ? +% \renewcommand\enclname{ช254ฅ243} +% \newcommand\prepagename{} % ? +% \newcommand\postpagename{} % ? +% \renewcommand\headtoname{} % ? +% \renewcommand\seename{} % ? + +\renewcommand{\today}{\number\yearฆ126 + \number\monthค235 + \number\dayค233} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{% + \ifcase#1\or + ค64\orค71\orค84\orฅ124\orค173\or + ค187\orค67\orค75\orค69\orค81\fi}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.enc b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.enc new file mode 100644 index 00000000000..a207406eada --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/Bg5.enc @@ -0,0 +1,226 @@ +% This is the file Bg5.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{Bg5.enc}[\filedate\space\fileversion] + + +% Big 5 encoding: +% the second byte is in the range 0x40 - 0xFE with a gap from 0x7F to +% 0xA0. + +\global\@namedef{CJK@Bg5Encoding}{ + \CJK@loadChr{Bg5} + + \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase + \CJK@punctchar {A1}{01}{-64}{##1}} + \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase + \CJK@punctcharx{A2}{01}{02}{93}{##1}} + \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase + \CJK@char {02}{ -6}{##1}} + \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase + \CJK@charx{02}{03}{151}{##1}} + \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase + \CJK@charx{03}{04}{ 52}{##1}} + \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase + \CJK@char {04}{-47}{##1}} + \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase + \CJK@charx{04}{05}{110}{##1}} + \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase + \CJK@char {05}{ 11}{##1}} + \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase + \CJK@charx{05}{06}{168}{##1}} + \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase + \CJK@charx{06}{07}{ 69}{##1}} + \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase + \CJK@char {07}{-30}{##1}} + \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase + \CJK@charx{07}{08}{127}{##1}} + \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase + \CJK@char {08}{28}{##1}} + \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase + \CJK@charx{08}{09}{185}{##1}} + \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase + \CJK@charx{09}{10}{ 86}{##1}} + \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase + \CJK@char {10}{-13}{##1}} + \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase + \CJK@charx{10}{11}{144}{##1}} + \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase + \CJK@charx{11}{12}{ 45}{##1}} + \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase + \CJK@char {12}{-54}{##1}} + \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase + \CJK@charx{12}{13}{103}{##1}} + \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase + \CJK@char {13}{ 4}{##1}} + \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase + \CJK@charx{13}{14}{161}{##1}} + \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase + \CJK@charx{14}{15}{ 62}{##1}} + \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase + \CJK@char {15}{-37}{##1}} + \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase + \CJK@charx{15}{16}{120}{##1}} + \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase + \CJK@char {16}{ 21}{##1}} + \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase + \CJK@charx{16}{17}{178}{##1}} + \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase + \CJK@charx{17}{18}{ 79}{##1}} + \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase + \CJK@char {18}{-20}{##1}} + \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase + \CJK@charx{18}{19}{137}{##1}} + \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase + \CJK@charx{19}{20}{ 38}{##1}} + \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase + \CJK@char {20}{-61}{##1}} + \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase + \CJK@charx{20}{21}{ 96}{##1}} + \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase + \CJK@char {21}{ -3}{##1}} + \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase + \CJK@charx{21}{22}{154}{##1}} + \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase + \CJK@charx{22}{23}{ 55}{##1}} + \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase + \CJK@char {23}{-44}{##1}} + \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase + \CJK@charx{23}{24}{113}{##1}} + \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase + \CJK@char {24}{ 14}{##1}} + \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase + \CJK@charx{24}{25}{171}{##1}} + \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase + \CJK@charx{25}{26}{ 72}{##1}} + \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase + \CJK@char {26}{-27}{##1}} + \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase + \CJK@charx{26}{27}{130}{##1}} + \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase + \CJK@char {27}{ 31}{##1}} + \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase + \CJK@charx{27}{28}{188}{##1}} + \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase + \CJK@charx{28}{29}{ 89}{##1}} + \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase + \CJK@char {29}{-10}{##1}} + \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase + \CJK@charx{29}{30}{147}{##1}} + \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase + \CJK@charx{30}{31}{ 48}{##1}} + \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase + \CJK@char {31}{-51}{##1}} + \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase + \CJK@charx{31}{32}{106}{##1}} + \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase + \CJK@char {32}{ 7}{##1}} + \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase + \CJK@charx{32}{33}{164}{##1}} + \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase + \CJK@charx{33}{34}{ 65}{##1}} + \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase + \CJK@char {34}{-34}{##1}} + \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase + \CJK@charx{34}{35}{123}{##1}} + \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase + \CJK@char {35}{ 24}{##1}} + \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase + \CJK@charx{35}{36}{181}{##1}} + \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase + \CJK@charx{36}{37}{ 82}{##1}} + \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase + \CJK@char {37}{-17}{##1}} + \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase + \CJK@charx{37}{38}{140}{##1}} + \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase + \CJK@charx{38}{39}{ 41}{##1}} + \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase + \CJK@char {39}{-58}{##1}} + \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase + \CJK@charx{39}{40}{ 99}{##1}} + \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase + \CJK@char {40}{ 0}{##1}} + \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase + \CJK@charx{40}{41}{157}{##1}} + \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase + \CJK@charx{41}{42}{ 58}{##1}} + \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase + \CJK@char {42}{-41}{##1}} + \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase + \CJK@charx{42}{43}{116}{##1}} + \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase + \CJK@char {43}{ 17}{##1}} + \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase + \CJK@charx{43}{44}{174}{##1}} + \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase + \CJK@charx{44}{45}{ 75}{##1}} + \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase + \CJK@char {45}{-24}{##1}} + \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase + \CJK@charx{45}{46}{133}{##1}} + \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase + \CJK@char {46}{ 34}{##1}} + \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase + \CJK@charx{46}{47}{191}{##1}} + \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase + \CJK@charx{47}{48}{ 92}{##1}} + \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase + \CJK@char {48}{ -7}{##1}} + \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase + \CJK@charx{48}{49}{150}{##1}} + \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase + \CJK@charx{49}{50}{ 51}{##1}} + \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase + \CJK@char {50}{-48}{##1}} + \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase + \CJK@charx{50}{51}{109}{##1}} + \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase + \CJK@char {51}{ 10}{##1}} + \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase + \CJK@charx{51}{52}{167}{##1}} + \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase + \CJK@charx{52}{53}{ 68}{##1}} + \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase + \CJK@char {53}{-31}{##1}} + \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase + \CJK@charx{53}{54}{126}{##1}} + \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase + \CJK@char {54}{ 27}{##1}} + \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase + \CJK@charx{54}{55}{184}{##1}} + \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase + \CJK@charx{55}{56}{ 85}{##1}} + \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase + \CJK@char {56}{-14}{##1}} + \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase + \CJK@charx{56}{57}{143}{##1}} + \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase + \CJK@charx{57}{58}{ 44}{##1}} + \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase + \CJK@char {58}{-55}{##1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/HK.enc b/Master/texmf-dist/tex/latex/cjk/Bg5/HK.enc new file mode 100644 index 00000000000..7d5ba50fac2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/HK.enc @@ -0,0 +1,276 @@ +% This is the file HK.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{HK.enc}[\filedate\space\fileversion] + + +% HK encoding: +% this is Big with all user-defined areas +% +% the second byte is in the range 0x40 - 0xFE with a gap from 0x7F to +% 0xA0. + +\global\@namedef{CJK@HKEncoding}{ + \CJK@loadChr{Bg5} + + \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase + \CJK@punctchar {A1}{01}{-64}{##1}} + \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase + \CJK@punctcharx{A2}{01}{02}{93}{##1}} + \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase + \CJK@char {02}{ -6}{##1}} + \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase + \CJK@charx{02}{03}{151}{##1}} + \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase + \CJK@charx{03}{04}{ 52}{##1}} + \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase + \CJK@char {04}{-47}{##1}} + \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase + \CJK@charx{04}{05}{110}{##1}} + \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase + \CJK@char {05}{ 11}{##1}} + \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase + \CJK@charx{05}{06}{168}{##1}} + \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase + \CJK@charx{06}{07}{ 69}{##1}} + \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase + \CJK@char {07}{-30}{##1}} + \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase + \CJK@charx{07}{08}{127}{##1}} + \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase + \CJK@char {08}{28}{##1}} + \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase + \CJK@charx{08}{09}{185}{##1}} + \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase + \CJK@charx{09}{10}{ 86}{##1}} + \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase + \CJK@char {10}{-13}{##1}} + \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase + \CJK@charx{10}{11}{144}{##1}} + \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase + \CJK@charx{11}{12}{ 45}{##1}} + \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase + \CJK@char {12}{-54}{##1}} + \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase + \CJK@charx{12}{13}{103}{##1}} + \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase + \CJK@char {13}{ 4}{##1}} + \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase + \CJK@charx{13}{14}{161}{##1}} + \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase + \CJK@charx{14}{15}{ 62}{##1}} + \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase + \CJK@char {15}{-37}{##1}} + \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase + \CJK@charx{15}{16}{120}{##1}} + \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase + \CJK@char {16}{ 21}{##1}} + \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase + \CJK@charx{16}{17}{178}{##1}} + \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase + \CJK@charx{17}{18}{ 79}{##1}} + \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase + \CJK@char {18}{-20}{##1}} + \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase + \CJK@charx{18}{19}{137}{##1}} + \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase + \CJK@charx{19}{20}{ 38}{##1}} + \CJK@namegdef{^^a0}##1{\CJK@disableMakeUppercase + \CJK@char {20}{-61}{##1}} + \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase + \CJK@charx{20}{21}{ 96}{##1}} + \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase + \CJK@char {21}{ -3}{##1}} + \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase + \CJK@charx{21}{22}{154}{##1}} + \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase + \CJK@charx{22}{23}{ 55}{##1}} + \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase + \CJK@char {23}{-44}{##1}} + \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase + \CJK@charx{23}{24}{113}{##1}} + \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase + \CJK@char {24}{ 14}{##1}} + \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase + \CJK@charx{24}{25}{171}{##1}} + \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase + \CJK@charx{25}{26}{ 72}{##1}} + \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase + \CJK@char {26}{-27}{##1}} + \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase + \CJK@charx{26}{27}{130}{##1}} + \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase + \CJK@char {27}{ 31}{##1}} + \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase + \CJK@charx{27}{28}{188}{##1}} + \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase + \CJK@charx{28}{29}{ 89}{##1}} + \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase + \CJK@char {29}{-10}{##1}} + \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase + \CJK@charx{29}{30}{147}{##1}} + \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase + \CJK@charx{30}{31}{ 48}{##1}} + \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase + \CJK@char {31}{-51}{##1}} + \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase + \CJK@charx{31}{32}{106}{##1}} + \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase + \CJK@char {32}{ 7}{##1}} + \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase + \CJK@charx{32}{33}{164}{##1}} + \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase + \CJK@charx{33}{34}{ 65}{##1}} + \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase + \CJK@char {34}{-34}{##1}} + \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase + \CJK@charx{34}{35}{123}{##1}} + \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase + \CJK@char {35}{ 24}{##1}} + \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase + \CJK@charx{35}{36}{181}{##1}} + \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase + \CJK@charx{36}{37}{ 82}{##1}} + \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase + \CJK@char {37}{-17}{##1}} + \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase + \CJK@charx{37}{38}{140}{##1}} + \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase + \CJK@charx{38}{39}{ 41}{##1}} + \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase + \CJK@char {39}{-58}{##1}} + \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase + \CJK@charx{39}{40}{ 99}{##1}} + \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase + \CJK@char {40}{ 0}{##1}} + \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase + \CJK@charx{40}{41}{157}{##1}} + \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase + \CJK@charx{41}{42}{ 58}{##1}} + \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase + \CJK@char {42}{-41}{##1}} + \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase + \CJK@charx{42}{43}{116}{##1}} + \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase + \CJK@char {43}{ 17}{##1}} + \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase + \CJK@charx{43}{44}{174}{##1}} + \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase + \CJK@charx{44}{45}{ 75}{##1}} + \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase + \CJK@char {45}{-24}{##1}} + \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase + \CJK@charx{45}{46}{133}{##1}} + \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase + \CJK@char {46}{ 34}{##1}} + \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase + \CJK@charx{46}{47}{191}{##1}} + \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase + \CJK@charx{47}{48}{ 92}{##1}} + \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase + \CJK@char {48}{ -7}{##1}} + \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase + \CJK@charx{48}{49}{150}{##1}} + \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase + \CJK@charx{49}{50}{ 51}{##1}} + \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase + \CJK@char {50}{-48}{##1}} + \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase + \CJK@charx{50}{51}{109}{##1}} + \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase + \CJK@char {51}{ 10}{##1}} + \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase + \CJK@charx{51}{52}{167}{##1}} + \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase + \CJK@charx{52}{53}{ 68}{##1}} + \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase + \CJK@char {53}{-31}{##1}} + \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase + \CJK@charx{53}{54}{126}{##1}} + \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase + \CJK@char {54}{ 27}{##1}} + \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase + \CJK@charx{54}{55}{184}{##1}} + \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase + \CJK@charx{55}{56}{ 85}{##1}} + \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase + \CJK@char {56}{-14}{##1}} + \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase + \CJK@charx{56}{57}{143}{##1}} + \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase + \CJK@charx{57}{58}{ 44}{##1}} + \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase + \CJK@char {58}{-55}{##1}}} + \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase + \CJK@charx{58}{59}{102}{##1}} + \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase + \CJK@char {59}{ 3}{##1}} + \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase + \CJK@charx{59}{60}{160}{##1}} + \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase + \CJK@charx{60}{61}{ 61}{##1}} + \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase + \CJK@char {61}{-38}{##1}} + \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase + \CJK@charx{61}{62}{119}{##1}} + \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase + \CJK@char {62}{ 20}{##1}} + \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase + \CJK@charx{62}{63}{177}{##1}} + \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase + \CJK@charx{63}{64}{ 78}{##1}} + \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase + \CJK@char {64}{-21}{##1}} + \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase + \CJK@charx{64}{65}{136}{##1}} + \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase + \CJK@charx{65}{66}{ 37}{##1}} + \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase + \CJK@char {66}{-62}{##1}} + \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase + \CJK@charx{66}{67}{ 95}{##1}} + \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase + \CJK@char {67}{ -4}{##1}} + \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase + \CJK@charx{67}{68}{153}{##1}} + \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase + \CJK@charx{68}{69}{ 54}{##1}} + \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase + \CJK@char {69}{-45}{##1}} + \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase + \CJK@charx{69}{70}{112}{##1}} + \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase + \CJK@char {70}{ 13}{##1}} + \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase + \CJK@charx{70}{71}{170}{##1}} + \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase + \CJK@charx{71}{72}{ 71}{##1}} + \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase + \CJK@char {72}{-28}{##1}} + \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase + \CJK@charx{72}{73}{129}{##1}} + \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase + \CJK@char {73}{ 30}{##1}} + \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase + \CJK@charx{73}{74}{187}{##1}} + \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase + \CJK@charx{74}{75}{ 88}{##1}} + \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase + \CJK@char {75}{-11}{##1}} + \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase + \CJK@charx{75}{76}{146}{##1}} + \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase + \CJK@charx{76}{77}{ 47}{##1}} + \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase + \CJK@char {77}{-52}{##1}} + \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase + \CJK@charx{77}{78}{105}{##1}} + + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bkai.fdx b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bkai.fdx new file mode 100644 index 00000000000..cf72ac0c268 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bkai.fdx @@ -0,0 +1,147 @@ +% This is the file c00bkai.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00bkai.fdx}[\filedate\space\fileversion] + + +\CJKvdef{fullheight}{1em} +\CJKvdef{height}{.88em} +\CJKvdef{offset}{.6em} + +\CJKvdef{m/n/01/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}} +\CJKvdef{m/n/01/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}} +\CJKvdef{m/n/01/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}} +\CJKvdef{m/n/01/29}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}} +\CJKvdef{m/n/01/30}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}} +\CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}} +\CJKvdef{m/n/01/4}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}} +\CJKvdef{m/n/01/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}} +\CJKvdef{m/n/01/33}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}} +\CJKvdef{m/n/01/34}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}} +\CJKvdef{m/n/01/129}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}} +\CJKvdef{m/n/01/22}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}} +\CJKvdef{m/n/01/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}} +\CJKvdef{m/n/01/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}} +\CJKvdef{m/n/01/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}} +\CJKvdef{m/n/01/148}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}} +\CJKvdef{m/n/01/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}} +\CJKvdef{m/n/01/149}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}} +\CJKvdef{m/n/01/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}} +\CJKvdef{m/n/01/155}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}} +\CJKvdef{m/n/01/154}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}} +\CJKvdef{m/n/01/212}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}} +\CJKvdef{m/n/01/213}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}} +\CJKvdef{m/n/01/215}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}} +\CJKvdef{m/n/01/216}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}} +\CJKvdef{m/n/01/217}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}} +\CJKvdef{m/n/01/218}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}} +\CJKvdef{m/n/01/210}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}} +\CJKvdef{m/n/01/209}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}} +\CJKvdef{m/n/01/208}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}} +\CJKvdef{m/n/01/207}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}} +\CJKvdef{m/n/01/223}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}} +\CJKvdef{m/n/01/224}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}} +\CJKvdef{m/n/01/226}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}} +\CJKvdef{m/n/01/225}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}} +\CJKvdef{m/n/01/219}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}} +\CJKvdef{m/n/01/220}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}} +\CJKvdef{m/n/01/222}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}} +\CJKvdef{m/n/01/221}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}} +\CJKvdef{m/n/01/26}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}} +\CJKvdef{m/n/01/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}} +\CJKvdef{m/n/01/3}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}} +\CJKvdef{m/n/01/49}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}} +\CJKvdef{m/n/01/50}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}} +\CJKvdef{m/n/01/45}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}} +\CJKvdef{m/n/01/46}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}} +\CJKvdef{m/n/01/53}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}} +\CJKvdef{m/n/01/54}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}} +\CJKvdef{m/n/01/57}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}} +\CJKvdef{m/n/01/58}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}} +\CJKvdef{m/n/01/41}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}} +\CJKvdef{m/n/01/42}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}} +\CJKvdef{m/n/01/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}} +\CJKvdef{m/n/01/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}} +\CJKvdef{m/n/01/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}} +\CJKvdef{m/n/01/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}} +\CJKvdef{m/n/01/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}} +\CJKvdef{m/n/01/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}} +\CJKvdef{m/n/01/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}} +\CJKvdef{m/n/01/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}} +\CJKvdef{m/n/01/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}} +\CJKvdef{m/n/01/64}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}} +\CJKvdef{m/n/01/65}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}} +\CJKvdef{m/n/01/66}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}} + +\CJKvlet{bx/n/01/96}{m/n/01/96} +\CJKvlet{bx/n/01/16}{m/n/01/16} +\CJKvlet{bx/n/01/99}{m/n/01/99} +\CJKvlet{bx/n/01/29}{m/n/01/29} +\CJKvlet{bx/n/01/30}{m/n/01/30} +\CJKvlet{bx/n/01/1}{m/n/01/1} +\CJKvlet{bx/n/01/4}{m/n/01/4} +\CJKvlet{bx/n/01/98}{m/n/01/98} +\CJKvlet{bx/n/01/33}{m/n/01/33} +\CJKvlet{bx/n/01/34}{m/n/01/34} +\CJKvlet{bx/n/01/129}{m/n/01/129} +\CJKvlet{bx/n/01/22}{m/n/01/22} +\CJKvlet{bx/n/01/24}{m/n/01/24} +\CJKvlet{bx/n/01/12}{m/n/01/12} +\CJKvlet{bx/n/01/11}{m/n/01/11} +\CJKvlet{bx/n/01/148}{m/n/01/148} +\CJKvlet{bx/n/01/146}{m/n/01/146} +\CJKvlet{bx/n/01/149}{m/n/01/149} +\CJKvlet{bx/n/01/147}{m/n/01/147} +\CJKvlet{bx/n/01/155}{m/n/01/155} +\CJKvlet{bx/n/01/154}{m/n/01/154} +\CJKvlet{bx/n/01/212}{m/n/01/212} +\CJKvlet{bx/n/01/213}{m/n/01/213} +\CJKvlet{bx/n/01/215}{m/n/01/215} +\CJKvlet{bx/n/01/216}{m/n/01/216} +\CJKvlet{bx/n/01/217}{m/n/01/217} +\CJKvlet{bx/n/01/218}{m/n/01/218} +\CJKvlet{bx/n/01/210}{m/n/01/210} +\CJKvlet{bx/n/01/209}{m/n/01/209} +\CJKvlet{bx/n/01/208}{m/n/01/208} +\CJKvlet{bx/n/01/207}{m/n/01/207} +\CJKvlet{bx/n/01/223}{m/n/01/223} +\CJKvlet{bx/n/01/224}{m/n/01/224} +\CJKvlet{bx/n/01/226}{m/n/01/226} +\CJKvlet{bx/n/01/225}{m/n/01/225} +\CJKvlet{bx/n/01/219}{m/n/01/219} +\CJKvlet{bx/n/01/220}{m/n/01/220} +\CJKvlet{bx/n/01/222}{m/n/01/222} +\CJKvlet{bx/n/01/221}{m/n/01/221} +\CJKvlet{bx/n/01/26}{m/n/01/26} +\CJKvlet{bx/n/01/2}{m/n/01/2} +\CJKvlet{bx/n/01/3}{m/n/01/3} +\CJKvlet{bx/n/01/49}{m/n/01/49} +\CJKvlet{bx/n/01/50}{m/n/01/50} +\CJKvlet{bx/n/01/45}{m/n/01/45} +\CJKvlet{bx/n/01/46}{m/n/01/46} +\CJKvlet{bx/n/01/53}{m/n/01/53} +\CJKvlet{bx/n/01/54}{m/n/01/54} +\CJKvlet{bx/n/01/57}{m/n/01/57} +\CJKvlet{bx/n/01/58}{m/n/01/58} +\CJKvlet{bx/n/01/41}{m/n/01/41} +\CJKvlet{bx/n/01/42}{m/n/01/42} +\CJKvlet{bx/n/01/37}{m/n/01/37} +\CJKvlet{bx/n/01/38}{m/n/01/38} +\CJKvlet{bx/n/01/28}{m/n/01/28} +\CJKvlet{bx/n/01/13}{m/n/01/13} +\CJKvlet{bx/n/01/14}{m/n/01/14} +\CJKvlet{bx/n/01/15}{m/n/01/15} +\CJKvlet{bx/n/01/61}{m/n/01/61} +\CJKvlet{bx/n/01/62}{m/n/01/62} +\CJKvlet{bx/n/01/63}{m/n/01/63} +\CJKvlet{bx/n/01/64}{m/n/01/64} +\CJKvlet{bx/n/01/65}{m/n/01/65} +\CJKvlet{bx/n/01/66}{m/n/01/66} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fd new file mode 100644 index 00000000000..647daac25e9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fd @@ -0,0 +1,25 @@ +% This is the file c00bsmi.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00bsmi.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters +% +% character set: Big 5 +% font encoding: CJK (Bg5) + +% Arphic PL TrueType font AR PL Mingti2L Big5 / ShanHeiSun-Light (MingTi) + +\DeclareFontFamily{C00}{bsmi}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C00}{bsmi}{m}{n}{<-> CJK * bsmilp}{} +\DeclareFontShape{C00}{bsmi}{bx}{n}{<-> CJKb * bsmilp}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fdx b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fdx new file mode 100644 index 00000000000..450a1964dc5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmi.fdx @@ -0,0 +1,147 @@ +% This is the file c00bsmi.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00bsmi.fdx}[\filedate\space\fileversion] + + +\CJKvdef{fullheight}{1em} +\CJKvdef{height}{.88em} +\CJKvdef{offset}{.6em} + +\CJKvdef{m/n/01/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}} +\CJKvdef{m/n/01/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}} +\CJKvdef{m/n/01/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}} +\CJKvdef{m/n/01/29}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}} +\CJKvdef{m/n/01/30}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}} +\CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}} +\CJKvdef{m/n/01/4}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}} +\CJKvdef{m/n/01/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}} +\CJKvdef{m/n/01/33}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}} +\CJKvdef{m/n/01/34}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}} +\CJKvdef{m/n/01/129}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}} +\CJKvdef{m/n/01/22}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}} +\CJKvdef{m/n/01/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}} +\CJKvdef{m/n/01/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}} +\CJKvdef{m/n/01/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}} +\CJKvdef{m/n/01/148}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}} +\CJKvdef{m/n/01/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}} +\CJKvdef{m/n/01/149}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}} +\CJKvdef{m/n/01/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}} +\CJKvdef{m/n/01/155}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}} +\CJKvdef{m/n/01/154}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}} +\CJKvdef{m/n/01/212}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}} +\CJKvdef{m/n/01/213}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}} +\CJKvdef{m/n/01/215}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}} +\CJKvdef{m/n/01/216}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}} +\CJKvdef{m/n/01/217}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}} +\CJKvdef{m/n/01/218}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}} +\CJKvdef{m/n/01/210}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}} +\CJKvdef{m/n/01/209}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}} +\CJKvdef{m/n/01/208}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}} +\CJKvdef{m/n/01/207}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}} +\CJKvdef{m/n/01/223}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}} +\CJKvdef{m/n/01/224}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}} +\CJKvdef{m/n/01/226}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}} +\CJKvdef{m/n/01/225}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}} +\CJKvdef{m/n/01/219}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}} +\CJKvdef{m/n/01/220}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}} +\CJKvdef{m/n/01/222}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}} +\CJKvdef{m/n/01/221}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}} +\CJKvdef{m/n/01/26}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}} +\CJKvdef{m/n/01/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}} +\CJKvdef{m/n/01/3}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}} +\CJKvdef{m/n/01/49}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}} +\CJKvdef{m/n/01/50}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}} +\CJKvdef{m/n/01/45}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}} +\CJKvdef{m/n/01/46}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}} +\CJKvdef{m/n/01/53}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}} +\CJKvdef{m/n/01/54}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}} +\CJKvdef{m/n/01/57}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}} +\CJKvdef{m/n/01/58}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}} +\CJKvdef{m/n/01/41}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}} +\CJKvdef{m/n/01/42}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}} +\CJKvdef{m/n/01/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}} +\CJKvdef{m/n/01/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}} +\CJKvdef{m/n/01/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}} +\CJKvdef{m/n/01/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}} +\CJKvdef{m/n/01/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}} +\CJKvdef{m/n/01/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}} +\CJKvdef{m/n/01/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}} +\CJKvdef{m/n/01/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}} +\CJKvdef{m/n/01/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}} +\CJKvdef{m/n/01/64}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}} +\CJKvdef{m/n/01/65}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}} +\CJKvdef{m/n/01/66}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}} + +\CJKvlet{bx/n/01/96}{m/n/01/96} +\CJKvlet{bx/n/01/16}{m/n/01/16} +\CJKvlet{bx/n/01/99}{m/n/01/99} +\CJKvlet{bx/n/01/29}{m/n/01/29} +\CJKvlet{bx/n/01/30}{m/n/01/30} +\CJKvlet{bx/n/01/1}{m/n/01/1} +\CJKvlet{bx/n/01/4}{m/n/01/4} +\CJKvlet{bx/n/01/98}{m/n/01/98} +\CJKvlet{bx/n/01/33}{m/n/01/33} +\CJKvlet{bx/n/01/34}{m/n/01/34} +\CJKvlet{bx/n/01/129}{m/n/01/129} +\CJKvlet{bx/n/01/22}{m/n/01/22} +\CJKvlet{bx/n/01/24}{m/n/01/24} +\CJKvlet{bx/n/01/12}{m/n/01/12} +\CJKvlet{bx/n/01/11}{m/n/01/11} +\CJKvlet{bx/n/01/148}{m/n/01/148} +\CJKvlet{bx/n/01/146}{m/n/01/146} +\CJKvlet{bx/n/01/149}{m/n/01/149} +\CJKvlet{bx/n/01/147}{m/n/01/147} +\CJKvlet{bx/n/01/155}{m/n/01/155} +\CJKvlet{bx/n/01/154}{m/n/01/154} +\CJKvlet{bx/n/01/212}{m/n/01/212} +\CJKvlet{bx/n/01/213}{m/n/01/213} +\CJKvlet{bx/n/01/215}{m/n/01/215} +\CJKvlet{bx/n/01/216}{m/n/01/216} +\CJKvlet{bx/n/01/217}{m/n/01/217} +\CJKvlet{bx/n/01/218}{m/n/01/218} +\CJKvlet{bx/n/01/210}{m/n/01/210} +\CJKvlet{bx/n/01/209}{m/n/01/209} +\CJKvlet{bx/n/01/208}{m/n/01/208} +\CJKvlet{bx/n/01/207}{m/n/01/207} +\CJKvlet{bx/n/01/223}{m/n/01/223} +\CJKvlet{bx/n/01/224}{m/n/01/224} +\CJKvlet{bx/n/01/226}{m/n/01/226} +\CJKvlet{bx/n/01/225}{m/n/01/225} +\CJKvlet{bx/n/01/219}{m/n/01/219} +\CJKvlet{bx/n/01/220}{m/n/01/220} +\CJKvlet{bx/n/01/222}{m/n/01/222} +\CJKvlet{bx/n/01/221}{m/n/01/221} +\CJKvlet{bx/n/01/26}{m/n/01/26} +\CJKvlet{bx/n/01/2}{m/n/01/2} +\CJKvlet{bx/n/01/3}{m/n/01/3} +\CJKvlet{bx/n/01/49}{m/n/01/49} +\CJKvlet{bx/n/01/50}{m/n/01/50} +\CJKvlet{bx/n/01/45}{m/n/01/45} +\CJKvlet{bx/n/01/46}{m/n/01/46} +\CJKvlet{bx/n/01/53}{m/n/01/53} +\CJKvlet{bx/n/01/54}{m/n/01/54} +\CJKvlet{bx/n/01/57}{m/n/01/57} +\CJKvlet{bx/n/01/58}{m/n/01/58} +\CJKvlet{bx/n/01/41}{m/n/01/41} +\CJKvlet{bx/n/01/42}{m/n/01/42} +\CJKvlet{bx/n/01/37}{m/n/01/37} +\CJKvlet{bx/n/01/38}{m/n/01/38} +\CJKvlet{bx/n/01/28}{m/n/01/28} +\CJKvlet{bx/n/01/13}{m/n/01/13} +\CJKvlet{bx/n/01/14}{m/n/01/14} +\CJKvlet{bx/n/01/15}{m/n/01/15} +\CJKvlet{bx/n/01/61}{m/n/01/61} +\CJKvlet{bx/n/01/62}{m/n/01/62} +\CJKvlet{bx/n/01/63}{m/n/01/63} +\CJKvlet{bx/n/01/64}{m/n/01/64} +\CJKvlet{bx/n/01/65}{m/n/01/65} +\CJKvlet{bx/n/01/66}{m/n/01/66} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fd new file mode 100644 index 00000000000..38e826f7176 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fd @@ -0,0 +1,25 @@ +% This is the file c00bsmir.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00bsmir.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters +% +% character set: Big 5 +% font encoding: CJK (Bg5) + +% Arphic GPL font (MingTi) rotated + +\DeclareFontFamily{C00}{bsmir}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C00}{bsmir}{m}{n}{<-> CJK * bsmilr}{} +\DeclareFontShape{C00}{bsmir}{bx}{n}{<-> CJKb * bsmilr}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fdx b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fdx new file mode 100644 index 00000000000..3444383f855 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00bsmir.fdx @@ -0,0 +1,15 @@ +% This is the file c00bsmir.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00bsmir.fdx}[\filedate\space\fileversion] + + +\CJKvdef{norotate}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00cns.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00cns.fd new file mode 100644 index 00000000000..52949ce1eef --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00cns.fd @@ -0,0 +1,25 @@ +% This is the file c00cns.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00cns.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters +% +% character set: Big 5 +% font encoding: CJK (Bg5) + +% Big 5 encoded CNS pixel font + +\DeclareFontFamily{C00}{CNS}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{} +\DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00fs.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00fs.fd new file mode 100644 index 00000000000..0d05590bb41 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00fs.fd @@ -0,0 +1,25 @@ +% This is the file c00fs.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00fs.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters in Big 5 encoding scheme. +% +% character set: Big 5 +% font encoding: CJK (Bg5) + +% NTU TrueType font + +\DeclareFontFamily{C00}{fs}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C00}{fs}{m}{n}{<-> CJK * ntufsm}{} +\DeclareFontShape{C00}{fs}{bx}{n}{<-> CJKb * ntufsm}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00kai.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kai.fd new file mode 100644 index 00000000000..d57c9753032 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kai.fd @@ -0,0 +1,25 @@ +% This is the file c00kai.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00kai.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters +% +% character set: Big 5 +% font encoding: CJK (Bg5) + +% pixel font + +\DeclareFontFamily{C00}{kai}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka12}{} +\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * b5ka12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fd new file mode 100644 index 00000000000..1d37112eb0b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fd @@ -0,0 +1,25 @@ +% This is the file c00kair.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00kair.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters in Big 5 encoding scheme. +% +% character set: Big 5 +% font encoding: CJK (Bg5) + +% ntukai48 pixel font rotated + +\DeclareFontFamily{C00}{kair}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C00}{kair}{m}{n}{<-> CJK * b5kr12}{} +\DeclareFontShape{C00}{kair}{bx}{n}{<-> CJKb * b5kr12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fdx b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fdx new file mode 100644 index 00000000000..1db148c0f4f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00kair.fdx @@ -0,0 +1,15 @@ +% This is the file c00kair.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00kair.fdx}[\filedate\space\fileversion] + + +\CJKvdef{norotate}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c00song.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c00song.fd new file mode 100644 index 00000000000..f1ae5b14642 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c00song.fd @@ -0,0 +1,25 @@ +% This is the file c00song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c00song.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters +% +% character set: Big 5 +% font encoding: CJK (Bg5) + +% pixel font + +\DeclareFontFamily{C00}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C00}{song}{m}{n}{<-> CJKsub * kai/m/n}{} +\DeclareFontShape{C00}{song}{bx}{n}{<-> CJKsub * kai/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c01song.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c01song.fd new file mode 100644 index 00000000000..bbeee437271 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c01song.fd @@ -0,0 +1,23 @@ +% This is the file c01song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c01song.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters +% +% character set: Big 5 +% font encoding: pmC + +\DeclareFontFamily{C01}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C01}{song}{m}{n}{<-> sCJKfixed * wcb5}{} +\DeclareFontShape{C01}{song}{bx}{n}{<-> sCJKfixedb * wcb5}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c05song.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c05song.fd new file mode 100644 index 00000000000..e26837fda87 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c05song.fd @@ -0,0 +1,25 @@ +% This is the file c00song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c05song.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters +% +% character set: Big 5 + HKSCS-2004 (HKSCS-2001) +% font encoding: CJK (HKSCS) + +% pixel font + +\DeclareFontFamily{C05}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C05}{song}{m}{n}{<-> CJKsub * kai/m/n}{} +\DeclareFontShape{C05}{song}{bx}{n}{<-> CJKsub * kai/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/Bg5/c09song.fd b/Master/texmf-dist/tex/latex/cjk/Bg5/c09song.fd new file mode 100644 index 00000000000..409e580d80c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/Bg5/c09song.fd @@ -0,0 +1,23 @@ +% This is the file c09song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c09song.fd}[\filedate\space\fileversion] + + +% Chinese characters (extension of Big 5) +% +% character set: Big 5+ +% font encoding: CJK (extended) + +\DeclareFontFamily{C09}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C09}{song}{m}{n}{<-> CJK * bg5p}{} +\DeclareFontShape{C09}{song}{bx}{n}{<-> CJKb * bg5p}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CEF/c80song.fd b/Master/texmf-dist/tex/latex/cjk/CEF/c80song.fd new file mode 100644 index 00000000000..b4ef92881ab --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CEF/c80song.fd @@ -0,0 +1,34 @@ +% This is the file c80song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c80song.fd}[\filedate\space\fileversion] + + +% CEF reserved font for IRIZ (International Research Institute for Zen +% Buddhism). +% +% character set: IRIZ +% font encoding: CJK (standard) + +\DeclareFontFamily{C80}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C80}{song}{m}{n}{ + <5> <6> <7> CJKfixed * cxso10 + <8> <9> <10> <10.95> sCJKfixed * cxso10 + <12> CJKfixed * cxso10 + <14.4> <17.28> sCJKfixed * cxso17 + <20.74> <24.88> CJKfixed * cxso17}{} +\DeclareFontShape{C80}{song}{bx}{n}{ + <5> <6> <7> CJKfixedb * cxso10 + <8> <9> <10> <10.95> sCJKfixedb * cxso10 + <12> CJKfixedb * cxso10 + <14.4> <17.28> sCJKfixedb * cxso17 + <20.74> <24.88> CJKfixedb * cxso17}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CEF/c81song.fd b/Master/texmf-dist/tex/latex/cjk/CEF/c81song.fd new file mode 100644 index 00000000000..7122e47ab01 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CEF/c81song.fd @@ -0,0 +1,33 @@ +% This is the file c81song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c81song.fd}[\filedate\space\fileversion] + + +% CEF private font. +% +% character set: IRIZ private +% font encoding: CJK (standard) + +\DeclareFontFamily{C81}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C81}{song}{m}{n}{ + <5> <6> <7> CJKfixed * cyso10 + <8> <9> <10> <10.95> sCJKfixed * cyso10 + <12> CJKfixed * cyso10 + <14.4> <17.28> sCJKfixed * cyso17 + <20.74> <24.88> CJKfixed * cyso17}{} +\DeclareFontShape{C81}{song}{bx}{n}{ + <5> <6> <7> CJKfixedb * cyso10 + <8> <9> <10> <10.95> sCJKfixedb * cyso10 + <12> CJKfixedb * cyso10 + <14.4> <17.28> sCJKfixedb * cyso17 + <20.74> <24.88> CJKfixedb * cyso17}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CJK.enc b/Master/texmf-dist/tex/latex/cjk/CJK.enc new file mode 100644 index 00000000000..d6e121fecaf --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CJK.enc @@ -0,0 +1,1092 @@ +% This is the file CJK.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{CJK.enc}[\filedate\space\fileversion] + + +% we first define a macro to load an encoding file xxx.enc if +% \CJK@xxxEncoding is still undefined. \CJK@xxxEncoding will only be +% executed if it is not the actual encoding. + +\edef\CJK@actualEncoding{} + +\def\CJK@loadEncoding#1{ + \expandafter\ifx\csname CJK@#1Encoding\endcsname \relax + \CJK@input{#1.enc} + \fi + + \edef\CJK@temp{#1} + \ifx\CJK@temp \CJK@actualEncoding + \else + \csname CJK@#1Encoding\endcsname + \CJK@global\edef\CJK@actualEncoding{#1} + \fi} + +% this loads the appropriate xxx.chr file if \CJK@xxxChr is still undefined. +% \CJK@xxxChr will only be executed if it is not the actual character +% macro set. + +\edef\CJK@actualChr{} + +\def\CJK@loadChr#1{ + \expandafter\ifx\csname CJK@#1Chr\endcsname \relax + \CJK@input{#1.chr} + \fi + + \edef\CJK@temp{#1} + \ifx\CJK@temp \CJK@actualChr + \else + \csname CJK@#1Chr\endcsname + \CJK@global\edef\CJK@actualChr{#1} + \fi} + +% this loads the appropriate xxx.bdg file if \CJK@xxxBinding is still +% undefined. \CJK@xxxBinding will only be executed if it is not the +% actual binding. +% +% if the flag \ifCJK@nobind@ is set we do nothing. + +\newif\ifCJK@nobind@ + +\edef\CJK@actualBinding{} + +\def\CJK@loadBinding#1{ + \ifCJK@nobind@ + \else + \expandafter\ifx\csname CJK@#1Binding\endcsname \relax + \CJK@input{#1.bdg} + \fi + + \edef\CJK@temp{#1} + \ifx\CJK@temp \CJK@actualBinding + \else + \csname CJK@#1Binding\endcsname + \CJK@global\edef\CJK@actualBinding{#1} + \fi + \fi} + + +% define macros for individual characters (i.e. the first byte); each active +% character selects the appropriate subfont. The assignments actually +% happen in the encoding specific .enc files. + +\def\CJK@namegdef#1{ + \@tempcnta `#1 + \edef\CJK@temp{\the\@tempcnta} + \expandafter\CJK@global\expandafter\def\csname CJK@\CJK@temp\endcsname} + + +% some encodings can't be reliably processed if \MakeUppercase is active. +% The following macro disables it. It is used in the encoding specific +% .enc files. + +\ifx\CJKpreproc \relax + \def\CJK@disableMakeUppercase{ + \CJK@global\let\CJKuppercase \MakeUppercase + \CJK@global\let\MakeUppercase \relax + + \PackageWarningNoLine{CJK}{ + `\CJK@actualEncoding' encoding used in non-preprocessed mode.\MessageBreak + \protect\MakeUppercase\space disabled} + \CJK@global\let\CJK@disableMakeUppercase \relax} +\else + \let\CJK@disableMakeUppercase \relax +\fi + + +% single shifts (EUC-TW, EUC-JP), three-byte, and four-byte UTF8 values +% can't be used in preprocessed mode + +\def\CJK@shiftError{ + \PackageError{CJK}{ + Single shifts in `\CJK@actualEncoding' encoding + can't be used in preprocessed mode + } + {Maybe you've forgotten to change the encoding?}} +\def\CJK@unicodeError{ + \PackageError{CJK}{ + Three-Byte UTF8 values can't be used in preprocessed mode + } + {Maybe you've forgotten to change the encoding?}} +\def\CJK@unicodexError{ + \PackageError{CJK}{ + Four-Byte UTF8 values can't be used in preprocessed mode + } + {Maybe you've forgotten to change the encoding?}} + + +% the following macro is used to map the CJK (font) encoding to the +% corresponding NFSS font encodings. It also registers the encoding; +% we define an empty macro for the font name in \DeclareFontSubstitution +% since LaTeX2e tests without a subplane appended. + +\def\CJK@mapToNFSS#1#2#3#4#5{ + \expandafter\edef\csname CJK@#1@nfssenc\endcsname{#2} + \DeclareFontEncoding{#2}{}{} + \DeclareFontSubstitution{#2}{#3}{#4}{#5} + \expandafter\def\csname #2/#3/#4/#5\endcsname{}} + + +% an ugly environment which redefines the characters `\', `{', and `}' to +% `/', `(', and `)' respectively since some CJK encodings need these +% characters as second bytes. +% +% to include \CJK@global we define the low level environment macros +% directly. + +\def\CJK@makeEnvironment#1{ + \@ifundefined{#1text}{ + \CJK@global\@namedef{#1text}{ + \catcode`\\=12 + \catcode`\{=12 + \catcode`\}=12 + \def\/{/} + \def\({(} + \def\){)} + \catcode`\/=0 + \catcode`\(=1 + \catcode`\)=2} + \CJK@global\@namedef{end#1text}{}}{}} + + +% here an overview of all encodings/font encodings: +% +% Chinese: Bg5 C00 +% Bg5pmC C01 +% +% HK C05 +% +% Bg5+ C09 +% +% GB C10 +% GBpmC C11 +% +% GBK C19 +% +% GBt C20 +% GBtpmC C21 +% +% CNS1-7 C31-37 +% +% Japanese: JIS C40 +% JISpmC C41 +% JISdnp C42 +% JISwn C43 +% +% JIS2 C50 +% JIS2dnp C52 +% +% SJIS -> kana C49 +% SJISdnp -> kana C49 +% +% Korean: KS -> hanja C60 +% -> hangul C61 +% KSpmC C62 +% KSHL -> hangulHL C63 +% -> symbolHL C64 +% -> hanjaHL C65 +% +% Unicode: UTF8 C70 +% +% CEF: CEFX C80 +% CEFY C81 + + +% here are the punctuation tables. We suppress spaces additionally in this +% group. + +\begingroup + \catcode`\ 9\relax + + \CJK@prePunct {Bg5}{A1}{5D, 5F, 61, 63, 65, 67, 69, 6B, 6D, 6F, 71, 73, + 75, 77, 79, 7B, 7D, A1, A3, + A5, A7, A9, AB, + AD, B1, CC, CD} + \CJK@postPunct {Bg5}{A1}{41, 42, 43, 44, 45, 46, 47, 48, + 49, 4A, 4B, 4C, 4D, 4E, 4F, 50, 51, + 52, 53, 54, 57, + 5E, 60, 62, 64, 66, 68, 6A, 6C, 6E, 70, 72, 74, + 76, 78, 7A, 7C, 7E, A2, A4, + A6, A8, AA, AC} + \CJK@prePunct {Bg5}{A2}{43, 44, 45, 46, 47, 49, + 4C, 4E} + \CJK@postPunct {Bg5}{A2}{48, 4A, 4B, 4D, + 4F, 50, 51, 52, 53, 54, 55, 56, 57, 58} + + \CJK@prePunct {GB}{A1}{AE, B0, B2, B4, B6, B8, BA, BC, BE, + E7, E8, E9, EA, EC, ED} + \CJK@postPunct {GB}{A1}{A2, A3, A4, A9, AD, + AF, B1, B3, B5, B7, B9, BB, BD, BF, + C3, E3, E4, E5, E6, EB} + \CJK@prePunct {GB}{A3}{A3, A4, A8, C0, DB, FB} + \CJK@postPunct {GB}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD} + + \CJK@prePunct {JIS}{A1}{C6, C8, CA, CC, CE, D0, D2, D4, D6, D8, DA, + EF, F0, F1, F2, F4, F7, F8} + \CJK@postPunct {JIS}{A1}{A2, A3, A4, A5, A6, A7, A8, A9, AA, AB, AC, + B3, B4, B5, B6, B9, BA, BC, + C4, C7, C9, CB, CD, CF, D1, D3, D5, D7, D9, DB, + EB, EC, ED, EE, F3} + \CJK@prePunct {JIS}{A2}{A9} +% \CJK@postPunct {JIS}{A2}{} +% \CJK@prePunct {JIS}{A4}{} + \CJK@postPunct {JIS}{A4}{A1, A3, A5, A7, A9, + C3, E3, E5, E7, EE} +% \CJK@prePunct {JIS}{A5}{} + \CJK@postPunct {JIS}{A5}{A1, A3, A5, A7, A9, + C3, E3, E5, E7, EE, + F5, F6} + + \CJK@prePunct {SJIS}{81}{65, 67, 69, 6B, 6D, 6F, 71, 73, 75, 77, 79, + 8F, 90, 91, 92, 94, 97, 98, + A7} + \CJK@postPunct{SJIS}{81}{41, 42, 43, 44, 45, 46, 47, 48, 49, 4A, 4B, + 52, 53, 54, 55, 58, 59, 5B, + 63, 66, 68, 6A, 6C, 6E, 70, 72, 74, 76, 78, 7A, + 8B, 8C, 8D, 8E, 93} +% \CJK@prePunct {SJIS}{82}{} + \CJK@postPunct{SJIS}{82}{9F, A1, A3, A5, A7, + C1, E1, E3, E5, EC} +% \CJK@prePunct {SJIS}{83}{} + \CJK@postPunct{SJIS}{83}{40, 42, 44, 46, 48, + 62, 83, 85, 87, 8E, + 95, 96} + + % half-width katakana + \CJK@prePunct {C49}{}{A2} + \CJK@postPunct {C49}{}{A1, A3, A4, A5, A7, A8, A9, AA, AB, AC, AD, AE, AF, + B0, DE, DF} + + \CJK@prePunct {KS}{A1}{AE, B0, B2, B4, B6, B8, BA, BC, + CB, CC, CD, D7, EC} + \CJK@postPunct {KS}{A1}{A2, A3, A4, A5, A6, + AF, B1, B3, B5, B7, B9, BB, BD, + C6, C7, C8, C9, ED} + \CJK@prePunct {KS}{A3}{A3, A4, A8, C0, DB, DC, FB} + \CJK@postPunct {KS}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD} + + \xdef\CJK@uniPunct{30, fe, ff} % values must be lowercase for UTF 8 + + \CJK@prePunct {UTF8}{30}{08, 0A, 0C, 0E, 10, 12, 14, 16, 18, 1A, 1D, 1F, 36} + \CJK@postPunct{UTF8}{30}{01, 02, 05, 06, + 09, 0B, 0D, 0F, 11, 15, 17, 19, 1B, 1E, + 41, 43, 45, 47, 49, 63, 83, 85, 87, 8E, + 9B, 9C, 9D, 9E, + A1, A3, A5, A7, A9, C3, E3, E5, E7, EE, F5, F6, + FB, FC, FD, FE} + \CJK@prePunct {UTF8}{fe}{59, 5B, 5D, 5F, 60, 69, 6B} + \CJK@postPunct{UTF8}{fe}{50, 51, 52, 54, 55, 56, 57, 5A, 5C, 5E, 6A} + \CJK@prePunct {UTF8}{ff}{03, 04, 08, 20, 3B, 5B, E0, E1, E5, E6} + \CJK@postPunct{UTF8}{ff}{01, 05, 09, 0C, 0E, 1A, 1B, 1F, 3D, 5D, + 61, 63, 64, 65, 67, 68, 69, 6A, 6B, 6C, 6D, 6E, 6F, + 70, 9E, 9F} + + \CJK@prePunct {CNS1}{A1}{BE, C2, C6, CA, CE, D2, D6, DA, DE, E0, E2, + E4, E6, E8, EA, + EC, F0} + \CJK@postPunct{CNS1}{A1}{A2, A3, A4, A5, A6, A7, A8, A9, + AA, AC, AD, AE, AF, B0, B1, B2, + B3, B4, B5, + BF, C3, C7, CB, CF, D3, D7, DB, DF, E1, E3, + E5, E7, E9, EB} + \CJK@prePunct {CNS1}{A2}{AD, AE, E3, E4, E5, E6, E7, E9, + EC, EE} + \CJK@postPunct{CNS1}{A2}{E8, EA, EB, ED, + EF, F0, F1, F2, F3, F4, F5, F6, F7, F8} + + \CJK@prePunct {GBK}{A1}{AE, B0, B2, B4, B6, B8, BA, BC, BE, + E7, E8, E9, EA, EC, ED} + \CJK@postPunct {GBK}{A1}{A2, A3, A4, A9, AD, + AF, B1, B3, B5, B7, B9, BB, BD, BF, + C3, E3, E4, E5, E6, EB} + \CJK@prePunct {GBK}{A3}{A3, A4, A8, C0, DB, FB} + \CJK@postPunct {GBK}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD} +% \CJK@prePunct {GBK}{A4}{} + \CJK@postPunct {GBK}{A4}{A1, A3, A5, A7, A9, C3, E3, E5, E7, EE} +% \CJK@prePunct {GBK}{A5}{} + \CJK@postPunct {GBK}{A5}{A1, A3, A5, A7, A9, C3, E3, E5, E7, EE, F5, F6} + \CJK@prePunct {GBK}{A8}{93, 94} + \CJK@postPunct {GBK}{A8}{95} + \CJK@prePunct {GBK}{A9}{76, 78, 7A, 7C, 7D, 86, 88} + \CJK@postPunct {GBK}{A9}{60, 61, 62, 63, 64, 65, 66, 67, 6F, + 70, 71, 72, 73, 74, 75, 77, 79, 7B, 87} +\endgroup + + +% dummy encoding for MULE. + +\def\CJK@@enc{\CJK@loadBinding{standard}} + +\edef\CJK@@fontenc{} + + +% traditional Chinese characters +% +% character set: Big 5 +% encoding: Big 5 +% font encoding: CJK + +\CJK@mapToNFSS{Bg5}{C00}{song}{m}{n} +\CJKencfamily{Bg5}{song} +\CJKfontenc{Bg5}{} +\@namedef{CJK@Bg5@hook}{} + +\@namedef{CJK@Bg5@enc}{ + \CJK@makeEnvironment{Bg5} + + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "040% don't forget `0' before the number, + \CJK@global\chardef\CJK@max "0FE% otherwise german.sty will not work. + + \CJK@loadEncoding{Bg5} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}} + +% support for Hong Kong +% +% character set: Big 5 + HKSCS-2004 (or HKSCS-2001) +% encoding: Big 5 +% font encoding: CJK + +\CJK@mapToNFSS{HK}{C05}{song}{m}{n} +\CJKencfamily{HK}{song} +\CJKfontenc{HK}{} +\@namedef{CJK@HK@hook}{} + +\def\CJK@HK@enc{ + \CJK@makeEnvironment{HK} + + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "040% don't forget `0' before the number, + \CJK@global\chardef\CJK@max "0FE% otherwise german.sty will not work. + + \CJK@loadEncoding{HK} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}} + +% Chinese characters (extension of Big 5) +% +% character set: Big 5+ +% encoding: extended +% font encoding: CJK + +\CJK@mapToNFSS{Bg5+}{C09}{song}{m}{n} +\CJKencfamily{Bg5+}{song} +\CJKfontenc{Bg5+}{} +\@namedef{CJK@Bg5+@hook}{} + +\@namedef{CJK@Bg5+@enc}{ + \CJK@makeEnvironment{Bg5+} + + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "040 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{extended} + + \CJK@global\edef\CJK@punctEnc{Bg5} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}} + + +% Chinese characters +% +% character set: GB 2312-80 +% encoding: EUC +% font encoding: CJK + +\CJK@mapToNFSS{GB}{C10}{song}{m}{n} +\CJKencfamily{GB}{song} +\CJKfontenc{GB}{} +\def\CJK@GB@hook{} + +\def\CJK@GB@enc{ + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{standard} + + \CJK@global\edef\CJK@punctEnc{GB} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + +% traditional Chinese characters +% +% character set: GB/T 12345-90 +% encoding: EUC +% font encoding: CJK + +\CJK@mapToNFSS{GBt}{C20}{song}{m}{n} +\CJKencfamily{GBt}{song} +\CJKfontenc{GBt}{} +\def\CJK@GBt@hook{} + +\let\CJK@GBt@enc \CJK@GB@enc + +% Chinese characters (extension of GB 2312) +% +% character set: GBK +% encoding: extended +% font encoding: CJK + +\CJK@mapToNFSS{GBK}{C19}{song}{m}{n} +\CJKencfamily{GBK}{song} +\CJKfontenc{GBK}{} +\def\CJK@GBK@hook{} + +\def\CJK@GBK@enc{ + \CJK@makeEnvironment{GBK} + + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "040 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{extended} + + \CJK@global\edef\CJK@punctEnc{GBK} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + + +% Japanese characters +% +% character set JIS X 0208:1997 +% encoding: EUC +% font encoding: CJK + +\CJK@mapToNFSS{JIS}{C40}{song}{m}{n} +\CJKencfamily{JIS}{song} +\CJKfontenc{JIS}{} +\def\CJK@JIS@hook{} + +\def\CJK@JIS@enc{ + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{standard} + + \CJK@global\edef\CJK@punctEnc{JIS} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + +% Japanese characters +% +% character set: JIS X 0208:1997 +% encoding: EUC +% font encoding: DNP + +\CJK@mapToNFSS{JISdnp}{C42}{song}{m}{n} +\CJKencfamily[dnp]{JIS}{song} + +\def\CJK@JISdnp@enc{ + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{JISdnp} + + \CJK@global\edef\CJK@punctEnc{JIS} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + +% Japanese characters +% +% character set: JIS X 0208:1997 +% encoding: EUC +% font encoding: DNP (watanabe) + +\CJK@mapToNFSS{JISwn}{C43}{song}{m}{n} +\CJKencfamily[wn]{JIS}{song} + +\let\CJK@JISwn@enc \CJK@JISdnp@enc + +% Japanese supplemental JIS characters +% +% character set: JIS X 0212-1990 +% encoding: EUC +% font encoding: CJK + +\CJK@mapToNFSS{JIS2}{C50}{song}{m}{n} +\CJKencfamily{JIS2}{song} +\CJKfontenc{JIS2}{} +\@namedef{CJK@JIS2@hook}{} + +\@namedef{CJK@JIS2@enc}{ + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{standard} + + \CJK@global\edef\CJK@punctEnc{} + + \CJK@global\def\CJK@spaceChar{\CJKchar[JIS]{"0A1}{"0A1}}} + +% Japanese supplemental JIS characters +% +% character set: JIS X 0212-1990 +% encoding: EUC +% font encoding: DNP + +\CJK@mapToNFSS{JIS2dnp}{C52}{song}{m}{n} +\CJKencfamily[dnp]{JIS2}{song} + +\@namedef{CJK@JIS2dnp@enc}{ + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{JISdnp} + + \CJK@global\edef\CJK@punctEnc{} + + \CJK@global\def\CJK@spaceChar{\CJKchar[JIS]{"0A1}{"0A1}}} + +% Japanese characters +% +% character sets: JIS X 0208:1997 +% half-width katakana (JIS X 0201-1997) +% encoding: SJIS +% font encoding: CJK +% +% Technical note: \CJK@altenc is used for SJIS, \CJK@altEnc for KS. + +\CJK@mapToNFSS{kana}{C49}{song}{m}{n}% used internally only +\CJKencfamily{SJIS}{song} +\CJKfontenc{SJIS}{} +\def\CJK@SJIS@hook{} + +% the relative order of JIS and SJIS encoded characters are identical +% except one byte characters. + +\def\CJK@@@SJIS@hook{ + \CJK@global\edef\CJK@enc{\CJK@JIS@nfssenc} + \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}} + +\def\CJK@SJIS@enc{ + \CJK@makeEnvironment{SJIS} + + \CJK@loadBinding{SJIS} + + \CJK@global\chardef\CJK@min "040 + \CJK@global\chardef\CJK@max "0FC + + \CJK@loadEncoding{SJIS} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"081}{"040}}} + +% Japanese characters +% +% character sets: JIS X 0208:1997 +% half-width katakana (JIS X 0201-1997) +% encoding: SJIS +% font encoding: DNP + +\CJKencfamily[dnp]{SJIS}{song} + +% the relative order of JIS and SJIS encoded characters are identical +% except one byte characters. + +\def\CJK@@@SJISdnp@hook{ + \CJK@global\edef\CJK@enc{\CJK@JISdnp@nfssenc} + \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}} + +\def\CJK@SJISdnp@enc{ + \CJK@makeEnvironment{SJIS} + + \CJK@loadBinding{SJIS} + + \CJK@global\chardef\CJK@min "040 + \CJK@global\chardef\CJK@max "0FC + + \CJK@loadEncoding{SJISdnp} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"081}{"040}}} + + +% Korean characters +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: EUC +% font encoding: CJK +% +% the increased \tolerance compensates the lack of \CJKglue for Hangul +% syllables. + +% the following commands choose between C60xxx.fd (for hanja) and C61xxx.fd +% (for hangul) for the character range 0xB0A1 - 0xC8FE. + +\newif\ifCJK@hanja@ +\CJK@hanja@false + +\DeclareRobustCommand{\CJKhanja}{ + \CJK@global\CJK@hanja@true + \edef\CJK@temp{KS} + \ifx\CJK@temp \CJK@@@enc + \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname} + \CJK@global\edef\CJK@altEnc{ + \csname CJK@hanja\CJK@temp @nfssenc\endcsname} + \fi} +\DeclareRobustCommand{\CJKhangul}{ + \CJK@global\CJK@hanja@false + \edef\CJK@temp{KS} + \ifx\CJK@temp \CJK@@@enc + \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname} + \CJK@global\edef\CJK@altEnc{ + \csname CJK@hangul\CJK@temp @nfssenc\endcsname} + \fi} + +\CJK@mapToNFSS{hanja}{C60}{mj}{m}{n}% used internally only +\CJK@mapToNFSS{hangul}{C61}{mj}{m}{n}% used internally only +\CJKencfamily{KS}{mj} +\CJKfontenc{KS}{} +\def\CJK@KS@hook{} + +\def\CJK@@@KS@hook{ + \CJK@global\edef\CJK@enc{\CJK@hanja@nfssenc} + \ifCJK@hanja@ + \CJK@global\edef\CJK@altEnc{\CJK@hanja@nfssenc} + \else + \CJK@global\edef\CJK@altEnc{\CJK@hangul@nfssenc} + \fi} + +\def\CJK@KS@enc{ + \CJK@global\def\mj{\protect\CJK@mj}% % from hLaTeX + \gdef\CJK@mj{\CJKencfamily{KS}{mj}} + \CJK@global\def\gt{\protect\CJK@gt} + \gdef\CJK@gt{\CJKencfamily{KS}{gt}} + \CJK@global\def\gs{\protect\CJK@gs} + \gdef\CJK@gs{\CJKencfamily{KS}{gs}} + \CJK@global\def\gr{\protect\CJK@gr} + \gdef\CJK@gr{\CJKencfamily{KS}{gr}} + \CJK@global\def\dr{\protect\CJK@dr} + \gdef\CJK@dr{\CJKencfamily{KS}{dr}} + + \CJK@global\def\hgt{\protect\CJK@hgt}% % from hjTeX + \gdef\CJK@hgt{\CJKencfamily{KS}{hgt}} + \CJK@global\def\hmj{\protect\CJK@hmj} + \gdef\CJK@hmj{\CJKencfamily{KS}{hmj}} + \CJK@global\def\hol{\protect\CJK@hol} + \gdef\CJK@hol{\CJKencfamily{KS}{hol}} + \CJK@global\def\hpg{\protect\CJK@hpg} + \gdef\CJK@hpg{\CJKencfamily{KS}{hpg}} + + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{KS} + + \CJK@global\edef\CJK@punctEnc{KS} + \CJK@global\tolerance \CJKtolerance + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + + +% Korean characters +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: EUC +% font encoding: HLaTeX (version >= 0.97) + +\CJK@mapToNFSS{hangulHL}{C63}{mj}{m}{n}% used internally only +\CJK@mapToNFSS{symbolHL}{C64}{mj}{m}{n}% used internally only +\CJK@mapToNFSS{hanjaHL}{C65}{mj}{m}{n}% used internally only +\CJKencfamily[HL]{KS}{mj} + +\def\CJK@@@KSHL@hook{ + \CJK@global\edef\CJK@enc{\CJK@hanjaHL@nfssenc} + \CJK@global\edef\CJK@altEnc{\CJK@hangulHL@nfssenc} + \CJK@global\edef\CJK@symbEnc{\CJK@symbolHL@nfssenc}} + +\def\CJK@KSHL@enc{ + \CJK@global\def\bm{\protect\CJK@bm} + \gdef\CJK@bm{\CJKencfamily[HL]{KS}{bm}} + \CJK@global\def\dn{\protect\CJK@dn} + \gdef\CJK@dn{\CJKencfamily[HL]{KS}{dn}} + \CJK@global\def\gr{\protect\CJK@gr} + \gdef\CJK@gr{\CJKencfamily[HL]{KS}{gr}} + \CJK@global\def\gs{\protect\CJK@gs} + \gdef\CJK@gs{\CJKencfamily[HL]{KS}{gs}} + \CJK@global\def\gt{\protect\CJK@gt} + \gdef\CJK@gt{\CJKencfamily[HL]{KS}{gt}} + \CJK@global\def\jgt{\protect\CJK@jgt} + \gdef\CJK@jgt{\CJKencfamily[HL]{KS}{jgt}} + \CJK@global\def\jmj{\protect\CJK@jmj} + \gdef\CJK@jmj{\CJKencfamily[HL]{KS}{jmj}} + \CJK@global\def\jnv{\protect\CJK@jnv} + \gdef\CJK@jnv{\CJKencfamily[HL]{KS}{jnv}} + \CJK@global\def\jsr{\protect\CJK@jsr} + \gdef\CJK@jsr{\CJKencfamily[HL]{KS}{jsr}} + \CJK@global\def\mj{\protect\CJK@mj} + \gdef\CJK@mj{\CJKencfamily[HL]{KS}{mj}} + \CJK@global\def\ol{\protect\CJK@ol} + \gdef\CJK@ol{\CJKencfamily[HL]{KS}{mj}} + \CJK@global\def\pg{\protect\CJK@pg} + \gdef\CJK@pg{\CJKencfamily[HL]{KS}{pg}} + \CJK@global\def\pga{\protect\CJK@pga} + \gdef\CJK@pga{\CJKencfamily[HL]{KS}{pga}} + \CJK@global\def\ph{\protect\CJK@ph} + \gdef\CJK@ph{\CJKencfamily[HL]{KS}{ph}} + \CJK@global\def\pn{\protect\CJK@pn} + \gdef\CJK@pn{\CJKencfamily[HL]{KS}{pn}} + \CJK@global\def\sh{\protect\CJK@sh} + \gdef\CJK@sh{\CJKencfamily[HL]{KS}{sh}} + \CJK@global\def\sm{\protect\CJK@sm} + \gdef\CJK@sm{\CJKencfamily[HL]{KS}{mj}} + \CJK@global\def\tz{\protect\CJK@tz} + \gdef\CJK@tz{\CJKencfamily[HL]{KS}{tz}} + \CJK@global\def\vd{\protect\CJK@vd} + \gdef\CJK@vd{\CJKencfamily[HL]{KS}{vd}} + \CJK@global\def\yt{\protect\CJK@yt} + \gdef\CJK@yt{\CJKencfamily[HL]{KS}{yt}} + + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{KSHL} + + \CJK@global\edef\CJK@punctEnc{KS} + \CJK@global\tolerance \CJKtolerance + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + + +% Unicode +% +% character set: Unicode +% encoding: UTF 8 +% font encoding: CJK + +\CJK@mapToNFSS{UTF8}{C70}{song}{m}{n} +\CJKencfamily{UTF8}{song} +\CJKfontenc{UTF8}{} +\@namedef{CJK@UTF8@hook}{} + +\@namedef{CJK@UTF8@enc}{ + \CJK@loadBinding{UTF8} + + \CJK@global\chardef\CJK@min "080 + \CJK@global\chardef\CJK@max "0BF + + \CJK@loadEncoding{UTF8} + + \CJK@global\def\CJK@spaceChar{\Unicode{"030}{"000}}} + + +% Chinese characters in CNS encoding. +% +% character set: CNS 11643-1992 +% encoding: EUC +% font encoding: CJK + +% please note that internally character codes with the 8th bit set are +% used, whereas Wittern's CEF use the seven bit form. + +% plane 1. + +\CJK@mapToNFSS{CNS1}{C31}{song}{m}{n} +\CJKencfamily{CNS1}{song} +\CJKfontenc{CNS1}{} +\@namedef{CJK@CNS1@enc}{} + +\@namedef{CJK@CNS1@enc}{ + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{standard} + + \CJK@global\edef\CJK@punctEnc{CNS1} + + \CJK@global\def\CJK@spaceChar{\CJKchar[CNS1]{"0A1}{"0A1}}} + +% plane 2-7. + +\CJK@mapToNFSS{CNS2}{C32}{song}{m}{n} +\CJKencfamily{CNS2}{song} +\CJKfontenc{CNS2}{} +\@namedef{CJK@CNS2@hook}{} +\CJK@mapToNFSS{CNS3}{C33}{song}{m}{n} +\CJKencfamily{CNS3}{song} +\CJKfontenc{CNS3}{} +\@namedef{CJK@CNS3@hook}{} +\CJK@mapToNFSS{CNS4}{C34}{song}{m}{n} +\CJKencfamily{CNS4}{song} +\CJKfontenc{CNS4}{} +\@namedef{CJK@CNS4@hook}{} +\CJK@mapToNFSS{CNS5}{C35}{song}{m}{n} +\CJKencfamily{CNS5}{song} +\CJKfontenc{CNS5}{} +\@namedef{CJK@CNS5@hook}{} +\CJK@mapToNFSS{CNS6}{C36}{song}{m}{n} +\CJKencfamily{CNS6}{song} +\CJKfontenc{CNS6}{} +\@namedef{CJK@CNS6@hook}{} +\CJK@mapToNFSS{CNS7}{C37}{song}{m}{n} +\CJKencfamily{CNS7}{song} +\CJKfontenc{CNS7}{} +\@namedef{CJK@CNS7@hook}{} + +\expandafter\expandafter\expandafter\let + \expandafter\csname CJK@CNS2@enc\expandafter\endcsname + \csname CJK@JIS2@enc\endcsname +\expandafter\expandafter\expandafter\let + \expandafter\csname CJK@CNS3@enc\expandafter\endcsname + \csname CJK@CNS2@enc\endcsname +\expandafter\expandafter\expandafter\let + \expandafter\csname CJK@CNS4@enc\expandafter\endcsname + \csname CJK@CNS2@enc\endcsname +\expandafter\expandafter\expandafter\let + \expandafter\csname CJK@CNS5@enc\expandafter\endcsname + \csname CJK@CNS2@enc\endcsname +\expandafter\expandafter\expandafter\let + \expandafter\csname CJK@CNS6@enc\expandafter\endcsname + \csname CJK@CNS2@enc\endcsname +\expandafter\expandafter\expandafter\let + \expandafter\csname CJK@CNS7@enc\expandafter\endcsname + \csname CJK@CNS2@enc\endcsname + + +% special CEF encodings + +\CJK@mapToNFSS{CEFX}{C80}{song}{m}{n} +\CJKencfamily{CEFX}{song} +\CJKfontenc{CEFX}{} +\def\CJK@CEFX@hook{} +\CJK@mapToNFSS{CEFY}{C81}{song}{m}{n} +\CJKencfamily{CEFY}{song} +\CJKfontenc{CEFY}{} +\def\CJK@CEFY@hook{} + +\expandafter\let\expandafter\CJK@CEFX@enc \csname CJK@CNS2@enc\endcsname +\expandafter\let\expandafter\CJK@CEFY@enc \csname CJK@CNS2@enc\endcsname + + +% traditional Chinese characters +% +% character set: Big 5 +% encoding: Big 5 +% font encoding: pmC + +\CJK@mapToNFSS{Bg5pmC}{C01}{song}{m}{n} +\CJKencfamily[pmC]{Bg5}{song} + +\@namedef{CJK@Bg5pmC@enc}{ + \CJK@global\def\pmCsmall{\protect\CJK@pmCsmall} + \gdef\CJK@pmCsmall{ + \CJK@loadEncoding{pmCsmall}} + \CJK@global\def\pmCbig{\protect\CJK@pmCbig} + \gdef\CJK@pmCbig{ + \PackageError{CJK}{ + No big font for pmC Big 5 encoding available}{}} + + \CJK@makeEnvironment{Bg5} + + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "040 + \CJK@global\chardef\CJK@max "0FE + + \CJK@global\edef\CJK@punctEnc{Bg5} + + \pmCsmall + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}} + +% simplified Chinese characters +% +% character set: GB 2312-80 +% encoding: EUC +% font encoding: pmC + +\CJK@mapToNFSS{GBpmC}{C11}{song}{m}{n} +\CJKencfamily[pmC]{GB}{song} + +\def\CJK@GBpmC@enc{ + \CJK@pmC{GB}} + +% traditional Chinese characters +% +% character set: GB/T 12345-90 +% encoding: EUC +% font encoding: pmC + +\CJK@mapToNFSS{GBtpmC}{C21}{song}{m}{n} +\CJKencfamily[pmC]{GBt}{song} + +\let\CJK@GBtpmC@enc \CJK@GBpmC@enc + +% Japanese characters +% +% character set: JIS X 0208:1997 +% encoding: EUC +% font encoding: pmC + +\CJK@mapToNFSS{JISpmC}{C41}{song}{m}{n} +\CJKencfamily[pmC]{JIS}{song} + +\def\CJK@JISpmC@enc{ + \CJK@pmC{JIS}} + +% Korean characters +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: EUC +% font encoding: pmC + +\CJK@mapToNFSS{KSpmC}{C62}{song}{m}{n} +\CJKencfamily[pmC]{KS}{song} + +\def\CJK@KSpmC@enc{ + \CJK@pmC{KS}} + +\def\CJK@pmC#1{ + \CJK@global\def\pmCsmall{\protect\CJK@pmCsmall} + \gdef\CJK@pmCsmall{ + \CJK@loadEncoding{pmCsmall}} + \CJK@global\def\pmCbig{\protect\CJK@pmCbig} + \gdef\CJK@pmCbig{ + \CJK@loadEncoding{pmCbig}} + + \CJK@loadBinding{standard} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@global\edef\CJK@punctEnc{#1} + + \pmCsmall + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + + +% EUC-JP +% +% character sets: half-width katakana (JIS X 0201-1997) +% JIS X 0208:1997 +% JIS X 0212-1992 +% encoding: EUC-JP +% font encoding: CJK +% +% Technical note: JIS X 0212 is directly accessed via +% \CJKchar[JIS2]{...}{...} + +\CJKencfamily{EUC-JP}{song} +\CJKfontenc{EUC-JP}{} +\@namedef{CJK@EUC-JP@hook}{} + +\@namedef{CJK@@@EUC-JP@hook}{ + \CJK@global\edef\CJK@enc{\CJK@JIS@nfssenc} + \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}} + +\@namedef{CJK@EUC-JP@enc}{ + \CJK@loadBinding{EUC-JP} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{EUC-JP} + + \CJK@global\edef\CJK@punctEnc{JIS} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + + +% EUC-JP +% +% character sets: half-width katakana (JIS X 0201-1997) +% JIS X 0208:1997 +% JIS X 0212-1992 +% encoding: EUC-JP +% font encoding: dnp +% +% Technical note: JIS X 0212 is directly accessed via +% \CJKchar[JIS2dnp]{...}{...} + +\CJKencfamily[dnp]{EUC-JP}{song} + +\@namedef{CJK@@@EUC-JPdnp@hook}{ + \CJK@global\edef\CJK@enc{\CJK@JISdnp@nfssenc} + \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}} + +\@namedef{CJK@EUC-JPdnp@enc}{ + \CJK@loadBinding{EUC-JP} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{EUC-JPdnp} + + \CJK@global\edef\CJK@punctEnc{JIS} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + + +% EUC-TW +% +% character sets: CNS 11643-1992 planes 1-7 +% encoding: EUC-TW +% font encoding: CJK +% +% Technical note: CNS 11643-1992 planes 2-7 are directly accessed via +% \CJKchar[CNSx]{...}{...} + +\CJKencfamily{EUC-TW}{song} +\CJKfontenc{EUC-TW}{} +\@namedef{CJK@EUC-TW@hook}{} + +\@namedef{CJK@@@EUC-TW@hook}{ + \CJK@global\edef\CJK@enc{\csname CJK@CNS1@nfssenc\endcsname}} + +\@namedef{CJK@EUC-TW@enc}{ + \CJK@loadBinding{EUC-TW} + + \CJK@global\chardef\CJK@min "0A1 + \CJK@global\chardef\CJK@max "0FE + + \CJK@loadEncoding{EUC-TW} + + \CJK@global\edef\CJK@punctEnc{CNS1} + + \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CJK.sty b/Master/texmf-dist/tex/latex/cjk/CJK.sty new file mode 100644 index 00000000000..d50dfe94fd8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CJK.sty @@ -0,0 +1,1104 @@ +% This is the file CJK.sty of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\NeedsTeXFormat{LaTeX2e}[2001/06/01] +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{CJK}[\filedate\space\fileversion] + +\RequirePackage{MULEenc} + +\newif\ifCJK@lowercase@ +\CJK@lowercase@false +\DeclareOption{lowercase}{\CJK@lowercase@true} + +\DeclareOption{global}{\let\CJK@global \global + \let\CJK@active \global + \let\CJK@local \global} +\DeclareOption{local}{\let\CJK@global \relax + \let\CJK@active \global + \let\CJK@local \global} +\DeclareOption{active}{\let\CJK@global \relax + \let\CJK@active \relax + \let\CJK@local \global} +\DeclareOption{encapsulated}{\let\CJK@global \relax + \let\CJK@active \relax + \let\CJK@local \relax} + +\ExecuteOptions{local} + +\ProcessOptions + + +% we suppress any unwanted spaces produced by linefeeds. + +\endlinechar \m@ne + + +% the use of the internal LaTeX macro `\@ifundefined' can be slightly +% irritating. After it has been called, the tested macro is no +% longer undefined but expands to \relax. Where possible, we use +% the following macro which doesn't have this side effect. + +\def\CJK@ifundefined#1{ + \ifx #1\@undefined + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} + + +% our input macro. For compatibility with ArabTeX, the catcode of `<' +% is preserved. + +\def\CJK@input#1{ + \makeatletter + \edef\CJK@lesscatcode{\noexpand\catcode`< \the\catcode`<} + \catcode`\< 12\relax + \endlinechar \m@ne + \input #1\relax + \endlinechar `\^^M + \CJK@lesscatcode + \makeatother} + + +% our symbol macro. It honours the \ifCJK@bold@ flag (to be set in the .fd +% files) for producing poor-man's bold fonts; if it is raised we print +% the character three times with a small horizontal shift. +% +% The user commands to set and unset \ifCJK@bold@ are \CJKbold and +% \CJKnormal respectively. +% +% \CJKboldshift defines the shift used to imitate bold fonts. + +\newif\ifCJK@bold@ +\newcommand{\CJKbold}{\global\CJK@bold@true} +\newcommand{\CJKnormal}{\global\CJK@bold@false} +\newcommand{\CJKboldshift}{0.015em} + +\DeclareRobustCommand{\CJKsymbol}[1]{ + \symbol{#1} + \ifCJK@bold@ + \hbox to \CJKboldshift{\hss\symbol{#1}} + \hbox to \CJKboldshift{\hss\symbol{#1}} + \fi} +\let\CJKpunctsymbol\CJKsymbol + +% the same for HLaTeX which uses the ligature mechanism + +\DeclareRobustCommand{\CJKsymbols}[2]{ + \char #1\char #2\relax + \ifCJK@bold@ + \hbox to \CJKboldshift{\hss\char #1\char #2} + \hbox to \CJKboldshift{\hss\char #1\char #2} + \fi} + + +% the auxiliary macro \CJK@numbToHex converts number #2 into a two-digit +% hex string and assigns it globally to #1. + +\def\CJK@numbToHex#1#2{ + {\count\z@ #2\relax + \count\tw@ \count\z@ + \divide\count\z@ \sixt@@n + + \count@ \count\z@ + \multiply\count@ \sixt@@n + \advance\count\tw@ -\count@ + + \xdef#1{ + \hexnumber@{\count\z@}\hexnumber@{\count\tw@}}}} + + +% the auxiliary macro \CJK@numbxToHex converts number #2 into a four-digit +% hex string and assigns it globally to #1. + +\def\CJK@numbxToHex#1#2{ + {\count\thr@@ #2\relax + \count\tw@ \count\thr@@ + \divide\count\tw@ \sixt@@n + \count\@ne \count\tw@ + \divide\count\@ne \sixt@@n + \count\z@ \count\@ne + \divide\count\z@ \sixt@@n + + \count@ \count\tw@ + \multiply\count@ \sixt@@n + \advance\count\thr@@ -\count@ + \count@ \count\@ne + \multiply\count@ \sixt@@n + \advance\count\tw@ -\count@ + \count@ \count\z@ + \multiply\count@ \sixt@@n + \advance\count\@ne -\count@ + + \xdef#1{ + \hexnumber@{\count\z@} + \hexnumber@{\count\@ne} + \hexnumber@{\count\tw@} + \hexnumber@{\count\thr@@}}}} + + +% the encoding of the `UTF8' environment -- the xCJK package overwrites +% this. + +\edef\CJK@UnicodeEnc{UTF8} + + +% with \CJKchar you can access a character directly at a low level: +% the parameters are the first and the second byte of the CJK character +% code. The second parameter will be ignored if you address one-byte +% encoded characters in SJIS. +% +% the optional parameter selects the encoding (using \CJKenc). +% +% for Unicode characters you must select UTF-8 encoding (but enter real +% Unicode values). +% +% you can enter character codes with or without the 8th bit set (GL or +% GR form) except for SJIS, Bg5 and UTF-8 encodings. + +\DeclareRobustCommand{\CJKchar}[3][]{ + {\CJK@nobind@true + + \edef\CJK@tempenc{#1} + \ifx\CJK@tempenc \@empty + \else + \let\CJK@oldenc \CJK@@@enc + \CJKenc{#1} + \fi + + \edef\CJK@temp{UTF8} + \ifx\CJK@temp \CJK@@@enc + \Unicode{#2}{#3} + \else + \@tempcnta #2 + \edef\CJK@tempa{#3} + \ifx\CJK@tempa \@empty% % test for one-byte SJIS characters + \else + \@tempcntb #3 + \ifnum \CJK@min > 160\relax + \ifnum\@tempcnta < 128\relax + \advance\@tempcnta 128\relax + \advance\@tempcntb 128\relax + \fi + \fi + \edef\CJK@tempa{\the\@tempcntb} + \fi + + \edef\CJK@temp{\the\@tempcnta} + \expandafter\csname CJK@\CJK@temp\expandafter\endcsname + \expandafter{\CJK@tempa} + \fi + + \ifx\CJK@tempenc \@empty + \else + \ifx\CJK@global \global + \CJKenc{\CJK@oldenc} + \fi + \fi} + + \CJK@ignorespaces} + + +% with \Unicode you can access a Unicode character directly at a low level: +% the parameters are the first and the second byte of the Unicode (real +% Unicode values, not UTF-8). +% +% If the Unicode value is greater than U+FFFF, put the first two bytes +% into #1, and the third byte into #2. + +\DeclareRobustCommand{\Unicode}[2]{ + {\edef\CJK@temp{UTF8} + \ifx\CJK@temp \CJK@@@enc + \else + \PackageError{CJK}{ + You can't use \protect\Unicode\space here}{ + You must activate UTF-8 encoding to use \protect\Unicode.} + \fi + \ifnum #1 > 255\relax + \CJK@numbxToHex{\CJK@gtemp}{#1} + \else + \CJK@numbToHex{\CJK@gtemp}{#1} + \fi + \def\CJK@tempa##1{ + \lowercase{\edef\CJK@plane{##1}}} + \expandafter\CJK@tempa\expandafter{\CJK@gtemp} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + + \ifCJK@CJK@ + \CJKsymbol{#2} + \else + \expandafter\CJK@testInList\expandafter\CJK@uniPunct + \expandafter{\CJK@plane} + \ifCJK@% % punctuation character + \CJK@numbToHex{\CJK@gtemp}{#2} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp} + \ifCJK@ + \ifCJK@CJK@ + \CJK@nobreakglue + \fi + \else + \ifCJK@hangul@ + \discretionary{}{}{} + \else + \CJKglue + \fi + \fi + \fi + \ifCJK@CJK@ + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + \fi + + \CJKsymbol{#2} + + \CJK@testPrePunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \else% % not a punctuation character + \CJK@testLastCJK + \ifCJK@ + \ifCJK@hangul@ + \discretionary{}{}{} + \else + \CJKglue + \fi + \fi + \ifCJK@CJK@ + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + \fi + \CJKsymbol{#2} + \CJK@CJK + \fi + \fi} + + \CJK@ignorespaces} + + +% the following commands are needed for UTF-8 encoding to select the proper +% intercharacter glue. + +\newif\ifCJK@CJK@ +\newif\ifCJK@hangul@ +\newif\ifCJK@latin@ + +\newcommand{\CJKCJKchar}{ + \CJK@global\CJK@CJK@true + \CJK@global\CJK@hangul@false + \CJK@global\CJK@latin@false} + +\newcommand{\CJKhangulchar}{ + \CJK@global\CJK@CJK@false + \CJK@global\CJK@hangul@true + \CJK@global\CJK@latin@false} + +\newcommand{\CJKlatinchar}{ + \CJK@global\CJK@CJK@false + \CJK@global\CJK@hangul@false + \CJK@global\CJK@latin@true} + +\CJKCJKchar + + +% the next commands control mapping of half-width katakana to full-width +% glyphs within SJIS encoding. + +\newif\ifCJK@hwkatakana@ + +\newcommand{\CJKhwkatakana}{\CJK@global\CJK@hwkatakana@true} + +\newcommand{\CJKnohwkatakana}{\CJK@global\CJK@hwkatakana@false} + +\CJKhwkatakana + + +% you will find the innermost routines of the macros defined above in the +% xxx.chr files. These routines are +% +% \CJK@char, \CJK@charx, +% \CJK@altchar, \CJK@altcharx, +% \CJK@punctchar, \CJK@punctcharx, +% \CJK@sjischar, \CJK@sjispunctchar . + + +% we need to scan comma separated lists of character codes (represented as +% hexadecimal strings), testing whether a particular character is in the +% list. The macro \CJK@testInList sets the flag \ifCJK@ globally if true. +% Parameter #1 is the list, #2 the actual character code to test. +% +% see the documentation of the \ifnot@excluded macro in the doc package of +% the standard LaTeX2e distribution for a detailed explanation of the +% following tricky definitions. + +\newif\ifCJK@ + +\def\CJK@stop{\CJK@stop} + +\def\CJK@testInList#1#2{ + \def\CJK@tempa##1,#2,##2\CJK@stop{ + \def\CJK@tempb{##2} + \global\CJK@true + \ifx\CJK@tempb \@empty + \global\CJK@false + \fi} + \expandafter\CJK@tempa\expandafter,#1,#2,\CJK@stop} + + +% lists defined in CJK.enc for plane yy with encoding xx are assigned to +% global macros \CJK@xx@yy@prePunct and \CJK@xx@yy@postPunct. + +\def\CJK@prePunct#1#2#3{ + \expandafter\gdef\csname CJK@#1@#2@prePunct\endcsname{#3}} + +\def\CJK@postPunct#1#2#3{ + \expandafter\gdef\csname CJK@#1@#2@postPunct\endcsname{#3}} + + +% the next two functions scan the lists of punctuation characters of a +% particular plane which should not occur at the beginning or at the end +% of a line. They will be used in the xxx.chr files. Parameters are the +% encoding, the plane and the character to be tested. Again these macros +% raise or lower \ifCJK@. + +\def\CJK@testPrePunct#1#2#3{ + \expandafter\expandafter\expandafter + \CJK@testInList + \expandafter\csname CJK@#1@#2@prePunct\expandafter\endcsname + \expandafter{#3}} + +\def\CJK@testPostPunct#1#2#3{ + \expandafter\expandafter\expandafter + \CJK@testInList + \expandafter\csname CJK@#1@#2@postPunct\expandafter\endcsname + \expandafter{#3}} + + +% the macro \CJKenc changes the encoding inside of a CJK environment. It +% always uses the fontencoding defined with \CJKfontenc (this +% behaviour is intentionally different from the similar command pair +% \CJKfamily and \CJKencfamily). + +\DeclareRobustCommand{\CJKenc}[1]{ + \expandafter\ifx\csname CJK@#1@fontenc\endcsname \relax + \PackageError{CJK}{ + Encoding `#1' is not defined}{} + \fi + + \edef\CJK@temp{\csname CJK@#1@fontenc\endcsname} + + \expandafter\ifx\csname CJK@#1\CJK@temp @enc\endcsname \relax + \PackageError{CJK}{ + Encoding `#1\CJK@temp' is not defined}{} + \else + \CJK@global\edef\CJK@@@enc{#1} + \CJK@selectEnc + \fi} + +\edef\CJK@@@enc{} + +% to change a fontencoding yyy for a specific encoding xxx say +% \CJKfontenc{xxx}{yyy}. If you then change the encoding forth and back, +% this fontencoding is still valid. You will need this command only in +% cases where the fonts are not CJK-fontencoded, such as pmC or dnp +% fontencodings. +% +% if you define a new encoding `foo', you *must* supply the command +% `\CJKfontenc{foo}{}' (note the empty second parameter) since the +% encoding existence test relies on this. + +\DeclareRobustCommand{\CJKfontenc}[2]{ + \expandafter\CJK@global\expandafter\edef + \csname CJK@#1@fontenc\endcsname{#2} + \CJK@selectEnc} + +% \CJKfamily{xxx} selects the shape xxx for all encodings. It will override +% \CJKencfamily, i.e., if you change the encoding, the family will be +% the same. To reactivate \CJKencfamily, say `\CJKfamily{}'. +% +% For backward compatibility the macros \CJKshape and \CJKencshape are set +% to \CJKfamily and \CJKencfamily, respectively. + +\DeclareRobustCommand{\CJKfamily}[1]{ + \CJK@global\edef\CJK@globalfamily{#1} + \CJK@selectFamily} + +\edef\CJK@globalfamily{} + +% to change a family for a specific encoding xxx (and a font encoding yyy), +% use \CJKencfamily. If you then change the encoding forth and back, +% this family is still valid. This macro is especially useful with +% cjk-enc.el since it allows to change the encoding without the need to +% select a (possibly different) family each time. See the various +% encoding definitions in CJK.enc for the default values. +% +% note that it is equivalent to say \CJKencfamily[yyy]{xxx}{...} and +% \CJKencfamily{xxxyyy}{...}. + +\DeclareRobustCommand{\CJKencfamily}[3][]{ + \expandafter\CJK@global\expandafter\edef + \csname CJK@#2#1@family\endcsname{#3} + \CJK@selectFamily} + + +\let\CJKshape \CJKfamily +\let\CJKencshape \CJKencfamily + + +% the next commands select the actual family and encoding. + +\def\CJK@selFam{ + \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname} + + \ifx\CJK@globalfamily \@empty + \CJK@global\edef\CJK@family{ + \csname CJK@\CJK@@@enc\CJK@temp @family\endcsname} + \else + \CJK@global\edef\CJK@family{\CJK@globalfamily} + \fi} + + +% \CJK@@@enc is the encoding selected by the user, \CJK@enc will be really +% used. With the internal hook \CJK@@@xxx@hook we can modify \CJK@enc +% for the encoding xxx if necessary. With the hook \CJK@xxx@hook other +% packages can add stuff which should be executed immediately after the +% encoding has changed. + +\def\CJK@selEnc{ + \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname} + + \CJK@global\edef\CJK@enc{ + \csname CJK@\CJK@@@enc\CJK@temp @nfssenc\endcsname} + \csname CJK@@@\CJK@@@enc\CJK@temp @hook\endcsname + + \csname CJK@\CJK@@@enc\CJK@temp @enc\endcsname + \CJK@selectFamily + \csname CJK@\CJK@@@enc @hook\endcsname} + +% and here the user-visible macro to add something to the encoding hook. +% First parameter is the encoding, second parameter the data to be +% appended. + +\def\CJKaddEncHook#1#2{ + \expandafter\let\expandafter\CJK@temp \csname CJK@#1@hook\endcsname + \expandafter\def\expandafter\CJK@temp\expandafter{ + \CJK@temp #2} + \expandafter\let\csname CJK@#1@hook\endcsname \CJK@temp} + + +% we disable \CJK@selectFamily and \CJK@selectEnc until a CJK environment +% starts to avoid side effects while defining default values for +% encodings (outside of a CJK environment). + +\let\CJK@selectFamily \relax +\let\CJK@selectEnc \relax + + +% CJK.enc contains the \CJK@...@enc macros and the punctuation lists. + +\input CJK.enc + + +% the macros \CJK@testLastKern and \CJK@testLastCJK check the last kern and +% raise or lower \ifCJK@. + +\edef\CJK@kern{\kern -2sp\kern 2sp} +\edef\CJK@CJK{\kern -1sp\kern 1sp} + +\let\CJKkern \CJK@kern + +% does previous CJK character request nonbreakable glue? + +\def\CJK@testLastKern{ + \global\CJK@false + \ifnum\lastkern = \tw@ + \global\CJK@true + \fi + \ifnum\lastkern = 5% % request from ruby.sty + \global\CJK@true + \fi} + +% is previous character a CJK character? + +\def\CJK@testLastCJK{ + \global\CJK@false + \ifnum\lastkern = \@ne + \global\CJK@true + \fi} + + +% we only check for lower and upper bounds, not for possible gaps in the +% range of the second byte, as it happens for Big5 and SJIS encoding. + +\def\CJK@err{ + \PackageError{CJK}{ + Invalid character code}{ + The second byte of the CJK code is out of range.\MessageBreak + Do you use the right encoding scheme?}} + +\def\CJK@errx{ + \PackageError{CJK}{ + Invalid character code}{ + The third byte of the CJK code is out of range.\MessageBreak + Do you use the right encoding scheme?}} + +\def\CJK@errxx{ + \PackageError{CJK}{ + Invalid character code}{ + The CJK code is out of range for this font encoding.\MessageBreak + Do you use the right encoding scheme?}} + + +% we now define a set of new size functions: +% `CJK', `sCJK', `CJKfixed', and `sCJKfixed' are similar to `' (empty), +% `s', `fixed', and `sfixed' except that the value of \CJK@plane is +% appended to \font@name. +% +% `CJKsub', `CJKssub' are similar to `sub' and `ssub' except that the font +% substitution warning appears only once per CJK fontset. +% +% `CJKb', `sCJKb', `CJKfixedb', and `sCJKfixedb' are absolutely identical +% to the functions without the final `b'; they just exist to overcome +% a special feature of LaTeX: +% +% consider this example: +% +% \DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * ntukai}{} +% \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJK * ntukai}{\CJKbold} +% +% the internal name of the macro which executes the last parameter +% (\CJKbold) is identical to the fifth parameter (without spaces), in +% this case `<->CJK*ntukai' -- the same name for both font shapes! This +% means that the latter font shape definition overwrites the former. +% Thus we have to write +% +% \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * ntukai}{\CJKbold} +% +% to get a different internal macro name. + +\def\CJK@curr@fontshape{CJK@\f@encoding/\f@family/\f@series/\f@shape} + +\DeclareSizeFunction{CJK}{\CJK@empty\@font@warning} +\DeclareSizeFunction{CJKb}{\CJK@empty\@font@warning} +\DeclareSizeFunction{sCJK}{\CJK@empty\@font@info} +\DeclareSizeFunction{sCJKb}{\CJK@empty\@font@info} + +\def\CJK@empty#1{ + \@tempdimb \f@size\p@ + \ifx\optional@arg \@empty + \else + \expandafter\ifx + \csname CJK@\mandatory@arg/\f@size/\the\@tempdimb\endcsname \relax + \@tempdimb \optional@arg\@tempdimb + #1{Font\space shape\space `\curr@fontshape'\space + will\space be\MessageBreak + scaled\space to\space size\space \the\@tempdimb} + \expandafter + \gdef\csname CJK@\mandatory@arg/\f@size/\the\@tempdimb\endcsname{} + \fi + \fi + \edef\external@font{ + \mandatory@arg\CJK@plane\space at \the\@tempdimb} + \xdef\font@name{ + \csname \curr@fontshape/\f@size/\CJK@plane\endcsname} + \expandafter\global\expandafter\let + \csname \CJK@curr@fontshape\expandafter\endcsname + \csname \curr@fontshape\endcsname} + +\DeclareSizeFunction{CJKfixed}{\CJK@fixed\@font@warning} +\DeclareSizeFunction{CJKfixedb}{\CJK@fixed\@font@warning} +\DeclareSizeFunction{sCJKfixed}{\CJK@fixed\@font@info} +\DeclareSizeFunction{sCJKfixedb}{\CJK@fixed\@font@info} + +\def\CJK@fixed#1{ + \ifx\optional@arg \@empty + \edef\external@font{ + \mandatory@arg\CJK@plane} + \else + \edef\external@font{ + \mandatory@arg\CJK@plane\space at \optional@arg pt} + \fi + \xdef\font@name{ + \csname \curr@fontshape/\f@size/\CJK@plane\endcsname} + #1{External\space font\space `\external@font'\space loaded\space + for\space size\MessageBreak + <\f@size>} + \expandafter\global\expandafter\let + \csname \CJK@curr@fontshape\expandafter\endcsname + \csname \curr@fontshape\endcsname} + +\DeclareSizeFunction{CJKsub}{\CJK@sub\@font@warning} +\DeclareSizeFunction{CJKssub}{\CJK@sub\@font@info} + +\def\CJK@sub#1{ + \edef\mandatory@arg{\f@encoding/\mandatory@arg} + \begingroup + \expandafter\split@name\mandatory@arg/\@nil + \try@load@fontshape + \endgroup + \let\f@user@size\f@size + \expandafter\ifx\csname\mandatory@arg\endcsname \relax + \errmessage{No\space declaration\space for\space shape\space + \mandatory@arg} + \error@fontshape + \else + \expandafter\ifx\csname CJK@\mandatory@arg/\f@size\endcsname \relax + #1{Font\space shape\space `\curr@fontshape'\MessageBreak + in\space size\space <\f@size>\space not\space available.\MessageBreak + Font\space shape\space `\mandatory@arg'\MessageBreak + tried\space instead} + \expandafter\gdef\csname CJK@\mandatory@arg/\f@size\endcsname{} + \fi + \expandafter\split@name\mandatory@arg/\@nil + \fi + \edef\f@size{\f@user@size} + \get@external@font + \do@subst@correction + \expandafter\global\expandafter\let + \csname \CJK@curr@fontshape\expandafter\endcsname + \csname \curr@fontshape\endcsname} + +% the following size functions are needed for the DNP fonts in JIS encoding. +% `DNPgen' is similar to `gen' but ignores the optional argument. +% `DNP' is similar to `gen' but the optional argument is used to +% indicate the designsize. +% +% see the comment above for an explanation of DNPb and DNPgenb. + +\DeclareSizeFunction{DNPgen}{\CJK@DNPgen} +\DeclareSizeFunction{DNPgenb}{\CJK@DNPgen} + +\def\CJK@DNPgen{ + \edef\external@font{ + \mandatory@arg\CJK@plane\f@size} + \xdef\font@name{ + \csname \curr@fontshape/\f@size/\CJK@plane\endcsname} + \expandafter\global\expandafter\let + \csname \CJK@curr@fontshape\expandafter\endcsname + \csname \curr@fontshape\endcsname} + +\DeclareSizeFunction{DNP}{\CJK@DNP} +\DeclareSizeFunction{DNPb}{\CJK@DNP} + +\def\CJK@DNP{ + \@tempdimb \f@size\p@ + \edef\external@font{ + \mandatory@arg\CJK@plane\optional@arg\space at \the\@tempdimb} + \xdef\font@name{ + \csname \curr@fontshape/\f@size/\CJK@plane\endcsname} + \expandafter\global\expandafter\let + \csname \CJK@curr@fontshape\expandafter\endcsname + \csname \curr@fontshape\endcsname} + + +% we also must redefine \pickup@font to append \CJK@plane to the font name +% if the particular subfont is already known. + +\def\pickup@font{ + \CJK@ifundefined\CJK@plane + {\expandafter\ifx\font@name \relax% % old definition + \define@newfont + \fi} + {\expandafter% % CJK extension + \ifx\csname \curr@fontshape/\f@size/\CJK@plane\endcsname \relax + \define@newfont + \else + \xdef\font@name{ + \csname \curr@fontshape/\f@size/\CJK@plane\endcsname} + \fi}} + +% the other LaTeX2e command we must redefine is \selectfont. It will +% now reset \ifCJK@bold@ and calls \CJK@curr@fontshape additionally +% (if it exists) to execute the loading-setting parameter of +% \DeclareFontShape each time we switch to this font. +% \CJK@curr@fontshape has been defined by the above size functions. + +\DeclareRobustCommand{\selectfont}{ + \ifx\f@linespread \baselinestretch + \else + \set@fontsize\baselinestretch\f@size\f@baselineskip + \fi + \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname} + \pickup@font + \font@name + \expandafter% % CJK extension + \ifx\csname CJK@\curr@fontshape\endcsname \relax + \else + \CJK@bold@false + \csname CJK@\curr@fontshape\endcsname + \fi + \size@update + \enc@update} + + +% additional vertical and horizontal information for a font is stored in +% files with the extension `.fdx'. We extend LaTeX's +% \try@load@fontshape@ macro to load them. +% +% the macros \CJKhdef, \CJKvdef, \CJKhlet and \CJKvlet should be used to +% handle commands in `.fdx' files. + +\def\CJK@load@fdx{ + \expandafter\ifx\csname \f@encoding+\f@family+x\endcsname \relax + \global\expandafter\let\csname \f@encoding+\f@family+x\endcsname \@empty + \def\CJKhdef##1##2{ + \expandafter\gdef\csname \CJK@enc/\CJK@family/##1/h\endcsname{##2}} + \def\CJKhlet##1##2{ + \edef\reserved@a{\CJK@enc/\CJK@family/##1/h} + \edef\reserved@b{\CJK@enc/\CJK@family/##2/h} + \global\expandafter\let + \csname\reserved@a\expandafter\endcsname \csname\reserved@b\endcsname} + \def\CJKvdef##1##2{ + \expandafter\gdef\csname \CJK@enc/\CJK@family/##1/v\endcsname{##2}} + \def\CJKvlet##1##2{ + \edef\reserved@a{\CJK@enc/\CJK@family/##1/v} + \edef\reserved@b{\CJK@enc/\CJK@family/##2/v} + \global\expandafter\let + \csname\reserved@a\expandafter\endcsname \csname\reserved@b\endcsname} + \edef\reserved@a{ + \lowercase{\noexpand\InputIfFileExists{\f@encoding\f@family.fdx}}} + \reserved@a{}{} + \fi} + +\expandafter\def\expandafter\try@load@fontshape\expandafter{ + \try@load@fontshape + \CJK@load@fdx} + + +% \CJKglue defines the stretchability of CJK characters. + +\newcommand{\CJKglue}{\hskip \z@ \@plus .08\baselineskip} + +\def\CJK@nobreakglue{ + \nobreak + \CJKglue + \nobreak} + +% if the `verbatim' package is loaded it is possible to improve the output +% automatically, namely, to avoid breaking of overfull lines in a +% verbatim environment. The following command will install a hook to +% suppress insertion of glue between CJK glyphs. MULEenc.sty will extend +% it for Thai glyphs. + +\def\CJK@verbatim{ + \addto@hook{\every@verbatim}{ + \renewcommand{\CJKglue}{}}} +\CJK@ifundefined\mule@verbatim + {\mule@verbatim{}} + {} + +\def\CJKverbatim{ + \mule@verbatim + \CJK@verbatim} + + +% increasing \CJKtolerance will allow more space between Hangul words. + +\newcommand{\CJKtolerance}{400} + + +% \CJKtilde changes the definition of the active `~' character to embed +% non-CJK words into CJK text. The horizontal space defined here has +% a smaller width than an ordinary space character and is breakable. +% It will suppress spaces afterwards. +% The original definition will be preserved within \nbs, which is +% a shorthand for the LaTeX command \nobreakspace. +% +% \standardtilde is the opposite command. + +\let\nbs \nobreakspace + +\newcommand{\CJKtilde}{ + \CJK@global\def~{\hspace{0.25em plus 0.125em minus 0.08em}\ignorespaces}} +\newcommand{\standardtilde}{ + \CJK@global\def~{\nobreakspace{}}} + + +% \CJKspace and \CJKnospace enables the user to switch between a CJK and a +% CJK* environment without leaving the actual environment: +% +% \CJKnospace switches from CJK to CJK* +% \CJKspace switches from CJK* to CJK +% +% the definitions are in MULEenc.sty also. + +\providecommand{\CJKspace}{ + \CJK@global\let\CJK@ignorespaces \@empty} +\providecommand{\CJKnospace}{ + \CJK@global\let\CJK@ignorespaces \ignorespaces} + + +% \CJKindent sets \parindent to two ideographic spaces. \CJK@spaceChar +% is defined in CJK.enc for all encodings. + +\newbox\CJK@indent + +\providecommand{\CJKindent}{ + \setbox\CJK@indent\hbox{\CJK@spaceChar\CJK@spaceChar} + \parindent\wd\CJK@indent +} + + +% make all characters possibly used active so they can become macros. + +\def\CJK@makeActive{ + \@tempcnta "080\relax + \loop + \CJK@active\catcode\@tempcnta \active + \ifnum\@tempcnta < "0FE\relax + \advance\@tempcnta \@ne + \repeat} + +\def\CJK@makeInactive{ + \@tempcnta "080\relax + \loop + \CJK@active\catcode\@tempcnta 12\relax + \ifnum\@tempcnta < "0FE\relax + \advance\@tempcnta \@ne + \repeat} + + +% we assign to each active character ^^xx the macro \CJK@XX (if expansion +% occurs); this will be done in the .bdg files. Then the various .enc +% files define \CJK@.. (using \CJK@namegdef) with encoding-specific +% macros. + +\def\CJK@namedef#1{ + \CJK@active\def#1{ + \ifx\protect \@typeset@protect + \string #1 + \else + \noexpand #1 + \fi}} + +\def\CJK@namepdef#1{ + \CJK@active\def#1{ + \ifx\protect \@typeset@protect + \expandafter\expandafter\expandafter\CJK@X + \expandafter\string\expandafter#1 + \else + \noexpand #1 + \fi}} + +\def\CJK@nameppdef#1{ + \CJK@active\def#1{ + \ifx\protect \@typeset@protect + \expandafter\expandafter\expandafter\CJK@XX + \expandafter\string\expandafter#1 + \else + \noexpand #1 + \fi}} + +\def\CJK@namepppdef#1{ + \CJK@active\def#1{ + \ifx\protect \@typeset@protect + \expandafter\expandafter\expandafter\CJK@XXX + \expandafter\string\expandafter#1 + \else + \noexpand #1 + \fi}} + +\def\CJK@nameppppdef#1{ + \CJK@active\def#1{ + \ifx\protect \@typeset@protect + \expandafter\expandafter\expandafter\CJK@XXXX + \expandafter\string\expandafter#1 + \else + \noexpand #1 + \fi}} + + +\def\CJK@X#1{ + \csname CJK@\number `#1\endcsname\CJK@ignorespaces} + +% two possibilities: +% either \CJK@XX <arg1> <arg2> +% or \CJK@XX <arg1> \protect <arg2> +\def\CJK@XX#1#2{ + \ifx #2\protect + \expandafter\CJK@XXp\expandafter#1 + \else + \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces + \fi} +\def\CJK@XXp#1#2{ + \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces} + +% two possibilities: +% either \CJK@XXX <arg1> <arg2> <arg3> +% or \CJK@XXX <arg1> \protect <arg2> \protect <arg3> +\def\CJK@XXX#1#2#3{ + \ifx #2\protect + \expandafter\CJK@XXXp\expandafter#1#3 + \else + \csname CJK@\number `#1\endcsname{`#2}{`#3}\CJK@ignorespaces + \fi} +\def\CJK@XXXp#1#2#3#4{ + \csname CJK@\number `#1\endcsname{`#2}{`#4}\CJK@ignorespaces} + +% two possibilities: +% either \CJK@XXXX <arg1> <arg2> <arg3> <arg4> +% or \CJK@XXXX <arg1> \protect <arg2> \protect <arg3> \protect <arg4> +\def\CJK@XXXX#1#2#3#4{ + \ifx #2\protect + \expandafter\CJK@XXXXp\expandafter#1#3 + \else + \csname CJK@\number `#1\endcsname{`#2}{`#3}{`#4}\CJK@ignorespaces + \fi} +\def\CJK@XXXXp#1#2#3#4#5{ + \csname CJK@\number `#1\endcsname{`#2}{`#3}{`#5}\CJK@ignorespaces} + + +% these auxiliary macros reset \lccode's and \uccode's of characters +% 0x80-0xFF. This overrides the values set by LaTeX2e. + +\def\CJK@upperReset{ + \@tempcnta "080\relax + \loop + \CJK@local\uccode\@tempcnta \z@ + \ifnum\@tempcnta < "0FF\relax + \advance\@tempcnta \@ne + \repeat} + +\def\CJK@lowerReset{ + \@tempcnta "080\relax + \loop + \CJK@local\lccode\@tempcnta \z@ + \ifnum\@tempcnta < "0FF\relax + \advance\@tempcnta \@ne + \repeat} + + +% finally come the CJK environments: +% +% CJK* will swallow spaces after a CJK character, whereas CJK will not. +% +% the first parameter selects the CJK encoding, the second the CJK font +% family; the optional argument selects the fontencoding. +% +% each time a CJK or CJK* environment will be opened the hook \CJKhook will +% be called (this feature is used by cjk-enc.el). +% +% always end the line after saying \begin{CJK} or \begin{CJK*}; +% any characters on the same line will have already been read with +% their non-CJK meanings. + +\def\CJK@envStart#1#2#3{ + \CJK@upperReset + \ifCJK@lowercase@ + \CJK@lowerReset + \fi + + \CJK@makeActive + + % we enable \CJK@selectFamily and \CJK@selectEnc. + + \CJK@global\let\CJK@selectFamily \CJK@selFam + \CJK@global\let\CJK@selectEnc \CJK@selEnc + + \def\CJK@@@enc{#2} + \ifx\CJK@@@enc \@empty + \PackageInfo{CJK}{ + no encoding parameter given,\MessageBreak + waiting for \protect\CJKenc\space commands} + \else + \CJKenc{#2} + \fi + \CJKfontenc{#2}{#1} + \CJKfamily{#3} + \def\CJK@series{\f@series} + \def\CJK@shape{\f@shape} + + \csname CJKhook\endcsname} + +\def\CJK@envEnd{ + \ifx\CJK@global \global + \CJK@makeInactive + \CJK@global\let\CJK@selectFamily \relax + \CJK@global\let\CJK@selectEnc \relax + \fi} + +\newenvironment{CJK}[3][]{ + \CJKspace + \CJK@envStart{#1}{#2}{#3} + }{ + \CJK@envEnd} + +\newenvironment{CJK*}[3][]{ + \CJKnospace + \CJK@envStart{#1}{#2}{#3} + }{ + \CJK@envEnd} + + +% \CJKcaption{caption} will test whether we are in a CJK environment; if yes, +% it tries to load `<caption>.cpx' (this is <caption>.cap in preprocessed +% mode). + +\newcommand{\CJKcaption}[1]{ + \ifx\CJK@actualBinding \@empty + \PackageError{CJK}{ + You must be inside of a CJK environment to use \protect\CJKcaption}{} + \else + \makeatletter + \InputIfFileExists{#1.cpx}{}{ + \PackageError{CJK}{ + Can't find #1.cpx}{ + The default captions are used if you continue.}} + \makeatother + \fi} + + +% the writing direction. + +\def\CJK@direction{h} + + +% reset endline character. + +\endlinechar `\^^M + + +% in case some customization is necessary it should be done in the +% configuration file `CJK.cfg' and *not* here. + +\InputIfFileExists{CJK.cfg} + {\typeout{^^J + *****************************************^^J + * Local configuration file CJK.cfg used *^^J + *****************************************^^J}} + {} + + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CJKfntef.sty b/Master/texmf-dist/tex/latex/cjk/CJKfntef.sty new file mode 100644 index 00000000000..5cf65d2fbfe --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CJKfntef.sty @@ -0,0 +1,416 @@ +% This is the file CJKfntef.sty of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Wenchang Sun <sunwch@hotmail.com> +% Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) +% +% Macros: +% \CJKunderdot{...} +% \CJKunderline[*]{...} +% \CJKunderdblline[*]{...} +% \CJKunderwave[*]{...} +% \CJKsout[*]{...} +% \CJKxout[*]{...} +% +% The following nesting combinations are allowed: +% +% \CJKunderdot{...\CJKunderline[*]{...}...} +% \CJKunderdot{...\CJKunderdblline[*]{...}...} +% \CJKunderdot{...\CJKunderwave[*]{...}...} +% \CJKunderdot{...\CJKsout[*]{...}...} +% \CJKunderdot{...\CJKxout[*]{...}...} +% +% \CJKunderline[*]{...\CJKunderdot{...}...} +% \CJKunderdblline[*]{...\CJKunderdot{...}...} +% \CJKunderwave[*]{...\CJKunderdot{...}...} +% \CJKsout[*]{...\CJKunderdot{...}...} +% \CJKxout[*]{...\CJKunderdot{...}...} +% +% Environment: +% CJKfilltwosides + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\NeedsTeXFormat{LaTeX2e}[1998/06/01] +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{CJKfntef}[\filedate\space\fileversion] + +\RequirePackage{CJK} +\RequirePackage{CJKulem} + + +\endlinechar \m@ne + +\ifx\CJKpunctsymbol\undefined + \PackageWarning{CJKfntef}{ + You need to download the last version of the CJK package\MessageBreak + to keep CJK punctuation from being underdotted} + \let\CJKpunctsymbol\CJKsymbol +\fi + + +\newskip\CJK@fntefSkip +\newcount\CJK@nest +\newdimen\CJK@fntefDimen +\newbox\CJK@underdotBox +\newbox\CJK@ULbox + +\newif\ifCJK@UL@ +\CJK@UL@false +\newif\ifCJK@sxout@ +\CJK@sxout@false + + +\newcommand{\CJKunderdotbasesep}{0.05em} +\newcommand{\CJKunderdotsep}{0.04em} +\newcommand{\CJKunderlinebasesep}{0.20em} +\newcommand{\CJKunderlinesep}{0.07em} +\newcommand{\CJKunderdbllinebasesep}{0.20em} +\newcommand{\CJKunderdbllinesep}{0.17em} +\newcommand{\CJKunderwavebasesep}{0.20em} +\newcommand{\CJKunderwavesep}{0.00em} +\newcommand{\CJKsoutheight}{0.35em} + + +\ifx\color\undefined + \def\CJKunderdotcolor{} + \def\CJKunderwavecolor{} + \def\CJKunderlinecolor{} + \def\CJKunderdbllinecolor{} + \def\CJKsoutcolor{} + \def\CJKxoutcolor{} +\else + \def\CJKunderdotcolor{\color{red}} + \def\CJKunderwavecolor{\color{blue}} + \def\CJKunderlinecolor{\color{blue}} + \def\CJKunderdbllinecolor{\color{blue}} + \def\CJKsoutcolor{\color{red}} + \def\CJKxoutcolor{\color{blue}} +\fi + + +% +% \CJKunderdot: +% Add a dot under every CJK non-punctuation character. The dot position +% can be controlled by redefining \CJKunderdotsep (for nesting) and +% \CJKunderdotbasesep. +% +% The dot color can be changed by redefining \CJKunderdotcolor. +% +\def\CJK@underdotSkip{\z@} + +\def\CJK@preUnderdot{ + \ifnum\CJK@nest = \z@ + \global\advance\CJK@fntefSkip \CJKunderdotbasesep + \fi + \global\advance\CJK@nest \@ne + + \xdef\CJK@underdotSkip{\the\CJK@fntefSkip} + \global\advance\CJK@fntefSkip \CJKunderdotsep + + \global\setbox\CJK@underdotBox\hbox{{ + \CJKunderdotcolor + {$\cdot$}}} + \global\advance\CJK@fntefSkip \ht\CJK@underdotBox + \global\advance\CJK@fntefSkip \dp\CJK@underdotBox} + +\def\CJK@postUnderdot{ + \global\advance\CJK@fntefSkip -\CJKunderdotsep + \global\advance\CJK@fntefSkip -\ht\CJK@underdotBox + \global\advance\CJK@fntefSkip -\dp\CJK@underdotBox + \gdef\CJK@underdotSkip{\z@} + + \global\advance\CJK@nest \m@ne + \ifnum\CJK@nest = \z@ + \global\advance\CJK@fntefSkip -\CJKunderdotbasesep + \fi} + +\newcommand{\CJKunderdot}[1]{ + \CJK@preUnderdot + + \global\let\CJK@underdotSymbol \CJKsymbol + \gdef\CJKsymbol##1{ + \CJK@underdotSymbol{##1} + \settowidth\CJK@fntefDimen{\CJK@underdotSymbol{##1}} + + \leavevmode + \rlap{ + \vbox to \z@ { + \vskip\CJK@underdotSkip + \hbox to \z@ { + \hskip -\CJK@fntefDimen + \hss + \copy\CJK@underdotBox + \hss} + \hskip -\CJK@fntefDimen + \vss}}} + #1 + \global\let\CJKsymbol \CJK@underdotSymbol + + \CJK@postUnderdot + \ignorespaces} + + +% +% Auxiliary macros needed by \CJKunderline and friends. +% +\def\UL@CJKpunctnobreakglue{ + \ifx\ \LA@space + \LA@CJKglue + \else + \egroup + \UL@stop + \UL@start + \bgroup + \fi} + +\def\CJK@fntefSave{ + \global\let\UL@UL@CJKnobreakglue \UL@CJKnobreakglue + \global\let\UL@CJKsymbol \CJKsymbol + \global\let\UL@CJKpunctsymbol \CJKpunctsymbol} + +\def\CJK@fntefRestore{ + \global\let\UL@CJKnobreakglue \UL@UL@CJKnobreakglue + \global\let\CJKsymbol \UL@CJKsymbol + \global\let\CJKpunctsymbol \UL@CJKpunctsymbol} + +\def\CJK@preUL{ + \ifCJK@UL@ + \PackageError{CJKfntef} + {Nesting error} + {Nesting \string\CJKunderwave[*], \string\CJKunderline[*], + \string\CJKsout[*], \string\CJKxout[*],\MessageBreak + or \string\CJKunderdblline[*] is not supported.} + \else + \global\CJK@UL@true + \fi + \ifCJK@sxout@ + \gdef\CJK@ULskip{\z@} + \else + \ifnum\CJK@nest = \z@ + \global\advance\CJK@fntefSkip \CJK@ULbasesep + \fi + \global\advance\CJK@nest \@ne + + \global\advance\CJK@fntefSkip \ht\CJK@ULbox + \global\advance\CJK@fntefSkip \dp\CJK@ULbox + + \xdef\CJK@ULskip{\the\CJK@fntefSkip} + \global\advance\CJK@fntefSkip \CJK@ULsep + \fi} + +\def\CJK@postUL{ + \global\CJK@UL@false + + \ifCJK@sxout@ + \global\CJK@sxout@false + \else + \global\advance\CJK@fntefSkip -\CJK@ULsep + \global\advance\CJK@fntefSkip -\ht\CJK@ULbox + \global\advance\CJK@fntefSkip -\dp\CJK@ULbox + + \global\advance\CJK@nest \m@ne + \ifnum\CJK@nest = \z@ + \global\advance\CJK@fntefSkip -\CJK@ULbasesep + \fi + \fi} + +\def\CJK@UL{ + \CJK@preUL + \CJK@fntefSave + + \global\let\UL@CJKnobreakglue \UL@CJKpunctnobreakglue + \gdef\CJKsymbol{ + \gdef\UL@leadtype{\leaders\copy\ULC@box} + \UL@CJKsymbol} + \gdef\CJKpunctsymbol{ + \gdef\UL@leadtype{} + \UL@CJKpunctsymbol} + + \bgroup + \markoverwith{ + \lower\CJK@ULskip\copy\CJK@ULbox} + \aftergroup\CJK@fntefRestore + \aftergroup\CJK@postUL + \ULon} + +\def\CJK@@UL{ + \CJK@preUL + \bgroup + \markoverwith{ + \lower\CJK@ULskip\copy\CJK@ULbox} + \aftergroup\CJK@postUL + \ULon} + + +% +% \CJKunderwave*: +% The same as \uwave except that the wavy line is colored (you can change +% the color by redefining \CJKunderwavecolor), and the position can be +% controlled by redefining \CJKunderwavesep (for nesting) and +% \CJKunderwavebasesep. +% +% \CJKunderwave: +% The same as \CJKunderwave* but ignoring CJK punctuation characters. +% +\newcommand{\CJKunderwave}{ + \global\let\CJK@ULsep \CJKunderwavesep + \global\let\CJK@ULbasesep \CJKunderwavebasesep + \global\setbox\CJK@ULbox\hbox{{ + \CJKunderwavecolor + \sixly + \char 58}} + + \@ifstar\CJK@@UL\CJK@UL} + + +% +% \CJKunderline*: +% The same as \uline except that the line is colored (you can change the +% color by redefining \CJKunderlinecolor), and the position can be +% controlled by redefining \CJKunderlinesep (for nesting) and +% \CJKunderlinebasesep. +% +% \CJKunderline: +% The same as \CJKunderline* but ignoring CJK punctuation characters. +% +\newcommand{\CJKunderline}{ + \global\let\CJK@ULsep \CJKunderlinesep + \global\let\CJK@ULbasesep \CJKunderlinebasesep + \global\setbox\CJK@ULbox\hbox{{ + \CJKunderlinecolor + \vtop{\hrule \@height \ULthickness \@width .2em}}} + + \@ifstar\CJK@@UL\CJK@UL} + + +% +% \CJKunderdblline[*]: +% The same as \CJKunderline[*] except that two lines are used for +% underlining. +% +\newcommand{\CJKunderdblline}{ + \global\let\CJK@ULsep \CJKunderdbllinesep + \global\let\CJK@ULbasesep \CJKunderdbllinebasesep + + \global\setbox\CJK@ULbox\hbox{{ + \CJKunderdbllinecolor + \vtop{ + \kern -.07em + \hrule \@height\ULthickness \@width .2em + \kern 1.1\p@ + \hrule}}} + + \@ifstar\CJK@@UL\CJK@UL} + + +% +% \CJKsout*: +% The same as \sout except that the line is colored (you can change the +% color by redefining \CJKsoutcolor), and the position can be controlled +% by redefining \CJKsoutheight. +% +% \CJKsout: +% The same as \CJKsout* but ignoring CJK punctuation characters. +% +\def\CJKsout{ + \global\CJK@sxout@true + \global\setbox\CJK@ULbox\hbox{{ + \CJKsoutcolor + \vtop{ + \kern -\CJKsoutheight + \hrule \@height\ULthickness \@width .2em}}} + + \@ifstar\CJK@@UL\CJK@UL} + + +% +% \CJKxout*: +% The same as \xout except using colored `/' (you can change the color +% by redefining \CJKxoutcolor). +% +% \CJKxout: +% The same as \CJKxout* but ignoring CJK punctuation characters. +% +\def\CJKxout{ + \global\CJK@sxout@true + \global\setbox\CJK@ULbox\hbox{{ + \kern -0.1em + {\CJKxoutcolor $/$} + \kern -0.1em}} + + \@ifstar\CJK@@UL\CJK@UL} + + +% +% CJKfilltwosides environment: +% Align CJK characters to fill two sides. +% +% Usage: +% \begin{CJKfilltwosides}{width} +% first line \\ +% second line \\ +% ... \\ +% last line +% \end{CJKfilltwosides} +% +\newif\ifCJK@fillbegin@ +\global\CJK@fillbegin@false +\newif\ifCJK@filltwosides@ +\global\CJK@filltwosides@false + +\newenvironment{CJKfilltwosides}[1]{ + \leavevmode + \vbox\bgroup + \global\CJK@filltwosides@true + \global\let\CJK@filltwosidesSymbol \CJKsymbol + + \def\CJK@ftscr{ + \egroup + \global\CJK@fillbegin@false + \hbox to #1\bgroup + \ignorespaces} + + \let\\ \CJK@ftscr + + \def\CJKsymbol##1{ + \ifCJK@fillbegin@ + \hfill + \CJK@filltwosidesSymbol{##1} + \else + \CJK@filltwosidesSymbol{##1} + \global\CJK@fillbegin@true + \fi} + + \hbox to #1\bgroup + \ignorespaces + }{ + \egroup + \egroup + + \global\let\CJKsymbol \CJK@filltwosidesSymbol + \global\CJK@fillbegin@false + \global\CJK@filltwosides@false} + + +\endlinechar `\^^M + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CJKnumb.sty b/Master/texmf-dist/tex/latex/cjk/CJKnumb.sty new file mode 100644 index 00000000000..f9e8f7aeb88 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CJKnumb.sty @@ -0,0 +1,399 @@ +% This is the file CJKnumb.sty of the CJK package +% for typesetting numbers with CJK glyphs. +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) +% +% +% Say e.g. \CJKnumber{153} to get a CJK representation of this number. + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{CJKnumb}[\filedate\space\fileversion] + +\RequirePackage{CJK}[2008/05/22] + + +% we suppress any unwanted spaces produced by linefeeds. + +\endlinechar \m@ne + + +% the amount of space to be inserted before and after the circle +% representing zero + +\def\CJKnullspace{0pt} + + +% generic number macros. We add them to the CJK encoding hooks. + +\def\CJK@traditionalNumbers{ + % circle used for zero + \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{179}\kern\CJKnullspace} + % character used for zero + \def\CJK@zero{\CJKchar{185}{115}} + \def\CJK@one{\CJKchar{164}{64}} + \def\CJK@two{\CJKchar{164}{71}} + \def\CJK@three{\CJKchar{164}{84}} + \def\CJK@four{\CJKchar{165}{124}} + \def\CJK@five{\CJKchar{164}{173}} + \def\CJK@six{\CJKchar{164}{187}} + \def\CJK@seven{\CJKchar{164}{67}} + \def\CJK@eight{\CJKchar{164}{75}} + \def\CJK@nine{\CJKchar{164}{69}} + \def\CJK@ten{\CJKchar{164}{81}} + \def\CJK@hundred{\CJKchar{166}{202}} + \def\CJK@thousand{\CJKchar{164}{100}} + \def\CJK@tenthousand{\CJKchar{184}{85}} + \def\CJK@hundredmillion{\CJKchar{187}{245}} + + \def\CJK@minus{\CJKchar{161}{208}}} + +\CJKaddEncHook{Bg5}{\CJK@traditionalNumbers} +\CJKaddEncHook{Bg5+}{\CJK@traditionalNumbers} +\CJKaddEncHook{HK}{\CJK@traditionalNumbers} + +\def\CJK@simplifiedNumbers{ + \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{240}\kern\CJKnullspace} + \def\CJK@zero{\CJKchar{193}{227}} + \def\CJK@one{\CJKchar{210}{187}} + \def\CJK@two{\CJKchar{182}{254}} + \def\CJK@three{\CJKchar{200}{253}} + \def\CJK@four{\CJKchar{203}{196}} + \def\CJK@five{\CJKchar{206}{229}} + \def\CJK@six{\CJKchar{193}{249}} + \def\CJK@seven{\CJKchar{198}{223}} + \def\CJK@eight{\CJKchar{176}{203}} + \def\CJK@nine{\CJKchar{190}{197}} + \def\CJK@ten{\CJKchar{202}{174}} + \def\CJK@hundred{\CJKchar{176}{217}} + \def\CJK@thousand{\CJKchar{199}{167}} + \def\CJK@tenthousand{\CJKchar{205}{242}} + \def\CJK@hundredmillion{\CJKchar{210}{218}} + + \def\CJK@minus{\CJKchar{163}{173}}} + +\CJKaddEncHook{GB}{\CJK@simplifiedNumbers} +\CJKaddEncHook{GBK}{\CJK@simplifiedNumbers} + +\CJKaddEncHook{JIS}{ + \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{251}\kern\CJKnullspace} + \def\CJK@zero{\CJKchar{206}{237}} + \def\CJK@one{\CJKchar{176}{236}} + \def\CJK@two{\CJKchar{198}{243}} + \def\CJK@three{\CJKchar{187}{176}} + \def\CJK@four{\CJKchar{187}{205}} + \def\CJK@five{\CJKchar{184}{222}} + \def\CJK@six{\CJKchar{207}{187}} + \def\CJK@seven{\CJKchar{188}{183}} + \def\CJK@eight{\CJKchar{200}{172}} + \def\CJK@nine{\CJKchar{182}{229}} + \def\CJK@ten{\CJKchar{189}{189}} + \def\CJK@hundred{\CJKchar{201}{180}} + \def\CJK@thousand{\CJKchar{192}{233}} + \def\CJK@tenthousand{\CJKchar{232}{223}} + \def\CJK@hundredmillion{\CJKchar{178}{175}} + + \def\CJK@minus{\CJKchar{161}{221}}} + +\CJKaddEncHook{KS}{ + \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{219}\kern\CJKnullspace} + \def\CJK@zero{\CJKchar{214}{195}} + \def\CJK@one{\CJKchar{236}{233}} + \def\CJK@two{\CJKchar{236}{163}} + \def\CJK@three{\CJKchar{223}{178}} + \def\CJK@four{\CJKchar{222}{204}} + \def\CJK@five{\CJKchar{231}{233}} + \def\CJK@six{\CJKchar{215}{191}} + \def\CJK@seven{\CJKchar{246}{210}} + \def\CJK@eight{\CJKchar{248}{162}} + \def\CJK@nine{\CJKchar{206}{250}} + \def\CJK@ten{\CJKchar{228}{168}} + \def\CJK@hundred{\CJKchar{219}{221}} + \def\CJK@thousand{\CJKchar{244}{182}} + \def\CJK@tenthousand{\CJKchar{216}{191}} + \def\CJK@hundredmillion{\CJKchar{229}{226}} + + \def\CJK@minus{\CJKchar{163}{173}}} + +\CJKaddEncHook{SJIS}{ + \def\CJK@null{\kern\CJKnullspace\CJKchar{129}{155}\kern\CJKnullspace} + \def\CJK@zero{\CJKchar{151}{235}} + \def\CJK@one{\CJKchar{136}{234}} + \def\CJK@two{\CJKchar{147}{241}} + \def\CJK@three{\CJKchar{142}{79}} + \def\CJK@four{\CJKchar{142}{108}} + \def\CJK@five{\CJKchar{140}{220}} + \def\CJK@six{\CJKchar{152}{90}} + \def\CJK@seven{\CJKchar{142}{181}} + \def\CJK@eight{\CJKchar{148}{170}} + \def\CJK@nine{\CJKchar{139}{227}} + \def\CJK@ten{\CJKchar{143}{92}} + \def\CJK@hundred{\CJKchar{149}{83}} + \def\CJK@thousand{\CJKchar{144}{231}} + \def\CJK@tenthousand{\CJKchar{228}{221}} + \def\CJK@hundredmillion{\CJKchar{137}{173}} + + \def\CJK@minus{\CJKchar{129}{124}}} + +\CJKaddEncHook{\CJK@UnicodeEnc}{ + \def\CJK@null{\kern\CJKnullspace\Unicode{37}{203}\kern\CJKnullspace} + \def\CJK@zero{\Unicode{150}{246}} + \def\CJK@one{\Unicode{78}{0}} + \def\CJK@two{\Unicode{78}{140}} + \def\CJK@three{\Unicode{78}{9}} + \def\CJK@four{\Unicode{86}{219}} + \def\CJK@five{\Unicode{78}{148}} + \def\CJK@six{\Unicode{81}{109}} + \def\CJK@seven{\Unicode{78}{3}} + \def\CJK@eight{\Unicode{81}{107}} + \def\CJK@nine{\Unicode{78}{93}} + \def\CJK@ten{\Unicode{83}{65}} + \def\CJK@hundred{\Unicode{118}{126}} + \def\CJK@thousand{\Unicode{83}{67}} + \def\CJK@tenthousand{\Unicode{132}{44}} + \def\CJK@hundredmillion{\Unicode{81}{4}} + + \def\CJK@minus{\Unicode{255}{13}}} + + +\newif\ifCJK@zero@ +\newif\ifCJK@previous@ + +\newif\ifCJK@null@ + + +\newcount\CJK@q +\newcount\CJK@r + + +\def\CJK@digit#1{ + \ifcase #1\relax + \ifCJK@null@ \CJK@null \else \CJK@zero \fi \or + \CJK@one \or + \CJK@two \or + \CJK@three \or + \CJK@four \or + \CJK@five \or + \CJK@six \or + \CJK@seven \or + \CJK@eight \or + \CJK@nine + \fi} + + +% This macro splits the number in zzyyyyxxxx (2^^31-1 is the largest +% possible integer in TeX); zz is \CJK@yi, yyyy is \CJK@high, and +% xxxx is \CJK@low. + +\def\CJK@splitnumber#1{ + \CJK@q #1 + \CJK@r #1 + + \divide\CJK@q \@M + \begingroup + \multiply\CJK@q \@M + \advance\CJK@r -\CJK@q + \ifnum\CJK@r = \z@ + \xdef\CJK@low{} + \else + \xdef\CJK@low{\number\CJK@r} + \fi + \endgroup + + \ifnum\CJK@q > \z@ + \CJK@r \CJK@q + + \divide\CJK@q \@M + \begingroup + \multiply\CJK@q \@M + \advance\CJK@r -\CJK@q + \ifnum\CJK@r = \z@ + \xdef\CJK@high{} + \else + \xdef\CJK@high{\number\CJK@r} + \fi + \endgroup + + \ifnum\CJK@q > \z@ + \xdef\CJK@yi{\number\CJK@q} + \else + \xdef\CJK@yi{} + \fi + \else + \xdef\CJK@high{} + \xdef\CJK@yi{} + \fi +} + +% Here we process four digits + +\def\CJK@processnumber#1{ + \CJK@zero@false + + \CJK@q #1 + \CJK@r #1 + + \divide\CJK@q \@m + \ifnum\CJK@q = \z@ + \ifCJK@previous@ + \CJK@zero@true + \fi + \else + \ifCJK@zero@ + \CJK@zero + \fi + \CJK@digit{\CJK@q} + \CJK@thousand + \CJK@previous@true + \CJK@zero@false + \fi + + \multiply\CJK@q \@m + \advance\CJK@r -\CJK@q + \CJK@q \CJK@r + + \divide\CJK@q 100\relax + \ifnum\CJK@q = \z@ + \ifCJK@previous@ + \CJK@zero@true + \fi + \else + \ifCJK@zero@ + \CJK@zero + \fi + \CJK@digit{\CJK@q} + \CJK@hundred + \CJK@previous@true + \CJK@zero@false + \fi + + \multiply\CJK@q 100 + \advance\CJK@r -\CJK@q + \CJK@q \CJK@r + + \divide \CJK@q 10\relax + \ifnum\CJK@q = \z@ + \ifCJK@previous@ + \CJK@zero@true + \fi + \else + \ifCJK@zero@ + \CJK@zero + \fi + \ifnum\CJK@q = \@ne + \ifCJK@previous@ + \CJK@one + \fi + \else + \CJK@digit{\CJK@q} + \fi + \CJK@ten + \CJK@previous@true + \CJK@zero@false + \fi + + \multiply\CJK@q 10 + \advance\CJK@r -\CJK@q + + \ifnum\CJK@r = \z@ + \else + \ifCJK@zero@ + \CJK@zero + \fi + \CJK@digit{\CJK@r} + \CJK@previous@true + \fi +} + + +% this command provides a full CJK representation of a number. + +\DeclareRobustCommand\CJKnumber[1]{ + \CJK@null@false + + \CJK@q #1\relax + + \ifnum\CJK@q < \z@ + \multiply\CJK@q \m@ne + \CJK@minus + \CJKkern + \fi + + \CJK@previous@false + \CJK@zero@false + + \ifnum\CJK@q = \z@ + \CJK@zero + \else + \CJK@splitnumber{\CJK@q} + + \ifx\CJK@yi \@empty + \else + \CJK@processnumber{\CJK@yi} + \CJK@hundredmillion + \fi + + \ifx\CJK@high \@empty + \else + \CJK@processnumber{\CJK@high} + \CJK@tenthousand + \fi + + \ifx\CJK@low \@empty + \else + \ifx\CJK@yi \@empty + \else + \ifx\CJK@high \@empty + \CJK@zero % this catches 100002345 + \fi + \fi + \CJK@processnumber{\CJK@low} + \fi + \fi} + + +% this command simply converts the given string into CJK digits. + +\DeclareRobustCommand\CJKdigits[1]{ + {\CJK@null@true + \edef\CJK@tempa{} + \edef\CJK@tempb{#1} + \ifx\CJK@tempb \@empty + \else + \loop + \expandafter\CJK@getDigit\CJK@tempb\CJK@stop + \CJK@digit\CJK@tempa + \ifx\CJK@tempb \@empty + \else + \repeat + \fi}} + +\def\CJK@getDigit#1#2\CJK@stop{ + \edef\CJK@tempa{#1} + \edef\CJK@tempb{#2}} + + +% reset endline character. + +\endlinechar `\^^M + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CJKulem.sty b/Master/texmf-dist/tex/latex/cjk/CJKulem.sty new file mode 100644 index 00000000000..d8011cf4e80 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CJKulem.sty @@ -0,0 +1,193 @@ +% This is the file CJKulem.sty of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\NeedsTeXFormat{LaTeX2e}[1996/12/01] +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{CJKulem}[\filedate\space\fileversion] + +\RequirePackage{ulem}[2000/05/26] + +\endlinechar \m@ne + +\newdimen\UL@lastkern +\newskip\CJK@skip + + +\def\UL@CJKnobreakglue{ + \nobreak + \LA@CJKglue + \nobreak} + + +\def\UL@CJKglue{ + \ifx\ \LA@space + \LA@CJKglue + \else + \egroup + \UL@stop + \ifnum\lastkern = \thr@@ + \LA@hskip \CJK@skip + \else + \global\UL@skip \CJK@skip + \UL@leaders + \fi + \UL@start + \bgroup + \fi} + + +\def\UL@Thaiglue{ + \ifx\ \LA@space + \LA@Thaiglue + \else + \egroup + \egroup + \egroup + \UL@stop + \ifnum\lastkern = \thr@@ + \LA@hskip \CJK@skip + \else + \global\UL@skip \CJK@skip + \UL@leaders + \fi + \UL@start + \bgroup + \fontencoding{C90}\selectfont + \bgroup + \bgroup + \fi} + + +\def\UL@Thaibreak{ + \ifx\ \LA@space + \LA@Thaibreak + \else + \egroup + \egroup + \egroup + \UL@stop + \LA@hskip \z@ + \UL@start + \bgroup + \fontencoding{C90}\selectfont + \bgroup + \bgroup + \fi} + + +\def\UL@testLastKern{ + \global\CJK@false + \ifnum\lastkern = \thr@@ + \ifnum\UL@lastkern = \tw@ + \global\CJK@true + \fi + \ifnum\UL@lastkern = 5 + \global\CJK@true + \fi + \fi + + \ifnum\lastkern = \tw@ + \global\CJK@true + \fi + \ifnum\lastkern = 5 + \global\CJK@true + \fi} + + +\def\UL@testLastCJK{ + \global\CJK@false + + \ifnum\lastkern = \thr@@ + \ifnum\UL@lastkern = \@ne + \global\CJK@true + \fi + \fi + + \ifnum\lastkern = \@ne + \global\CJK@true + \fi} + + +\addto@hook\UL@hook{ + \let\CJK@savehskip \hskip + \let\hskip \LA@hskip + \CJKglue + \CJK@skip\lastskip + \unskip + \let\hskip \CJK@savehskip + \let\LA@CJKglue \CJKglue + \let\LA@Thaiglue \Thaiglue + \let\LA@Thaibreak \Thaibreak + \let\CJK@nobreakglue \UL@CJKnobreakglue + \let\CJKglue \UL@CJKglue + \let\Thaiglue \UL@Thaiglue + \let\Thaibreak \UL@Thaibreak + \let\CJK@testLastKern \UL@testLastKern + \let\CJK@testLastCJK \UL@testLastCJK} + + +\def\UL@start{ + \global\UL@lastkern\lastkern + \setbox\UL@box\hbox\bgroup + \everyhbox{\UL@hrest} + \let\UL@start\@empty + \def\UL@unegroup{\bgroup\bgroup} + \let\UL@leadtype\@empty + \bgroup + \kern -3sp + \kern 3sp + \if@ignore + \global\@ignorefalse + \ignorespaces + \fi} + + +\def\UL@stop{ + \global\UL@pe\lastpenalty + \global\UL@lastkern\lastkern + \unpenalty + \ifnum\lastkern = \thr@@ + \egroup + \egroup + \ifdim\wd\UL@box = \z@ + \else + \UL@putbox + \fi + \else + \egroup + \egroup + \UL@putbox + \fi + \ifnum\UL@pe = \z@ + \else + \LA@penalty\UL@pe + \fi + \kern -\UL@lastkern + \kern \UL@lastkern + \UL@unegroup} + +\endlinechar `\^^M + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CJKutf8.sty b/Master/texmf-dist/tex/latex/cjk/CJKutf8.sty new file mode 100644 index 00000000000..fd1ae74fe52 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CJKutf8.sty @@ -0,0 +1,719 @@ +% This is the file CJKutf8.sty of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\NeedsTeXFormat{LaTeX2e}[2003/12/01] + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{CJKutf8}[\filedate\space\fileversion] + +\RequirePackage{ifpdf} +\RequirePackage[utf8]{inputenc} +\RequirePackage[encapsulated]{CJK} +\RequirePackageWithOptions{fontenc} + +\DeclareOption*{\OptionNotUsed} + +\ProcessOptions + + +% we suppress any unwanted spaces produced by linefeeds + +\endlinechar\m@ne + +% We redefine the basic macros for handling multibyte sequences to call +% a `\u8:...' macro if it has been defined. + +\def\CJK@XX#1#2{ + \ifx #2\protect + \expandafter\CJK@XXp\expandafter#1 + \else + \expandafter\ifx\csname u8:\string #1\string #2\endcsname \relax + \csname CJK@\number `#1\endcsname{`#2} + \else + \csname u8:\string #1\string #2\endcsname + \fi + \CJK@ignorespaces + \fi} +\def\CJK@XXp#1#2{ + \expandafter\ifx\csname u8:\string #1\string #2\endcsname \relax + \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces + \else + \csname u8:\string #1\string #2\endcsname + \fi + \CJK@ignorespaces} + +\def\CJK@XXX#1#2#3{ + \ifx #2\protect + \expandafter\CJK@XXXp\expandafter#1#3 + \else + \expandafter\ifx\csname u8:\string #1\string #2\string #3\endcsname \relax + \csname CJK@\number `#1\endcsname{`#2}{`#3} + \else + \csname u8:\string #1\string #2\string #3\endcsname + \fi + \CJK@ignorespaces + \fi} +\def\CJK@XXXp#1#2#3#4{ + \expandafter\ifx\csname u8:\string #1\string #2\string #4\endcsname \relax + \csname CJK@\number `#1\endcsname{`#2}{`#4} + \else + \csname u8:\string #1\string #2\string #4\endcsname + \fi + \CJK@ignorespaces} + +% If pdftex is used, emit proper \ToUnicode cmaps. This code is based on +% cjk-unicmap.sty, part of the hangul-ucs package written by KIM Kang-Soo +% and KIM Do-Hyun. + +\ifpdf + % Redefine \pickup@font (again). + \def\pickup@font{ + \CJK@ifundefined\CJK@plane + {\expandafter\ifx\font@name \relax% % old definition + \define@newfont + \fi} + {\expandafter% % CJK extension + \ifx\csname \curr@fontshape/\f@size/\CJK@plane\endcsname \relax + \define@newfont + \def\CJK@temp{v} + \ifx\CJK@temp\CJK@plane + \expandafter + \ifx\csname CJK@cmap@\f@family\CJK@plane\endcsname \relax + \else + \csname CJK@cmap@\f@family\CJK@plane\endcsname + \fi + \else + \CJK@addcmap\CJK@plane + \fi + \else + \xdef\font@name{ + \csname \curr@fontshape/\f@size/\CJK@plane\endcsname} + \fi}} + + % Convert a CJK plane #2 to the corresponding surrogate value, if any. + % The result is returned in global macro #1. + \def\CJK@surr#1#2{ + {\expandafter\uppercase\expandafter{ + \expandafter\@tempcnta \expandafter "\expandafter 0#2\relax} + \ifnum \@tempcnta > "0FF\relax + % prepare for surrogate + \advance\@tempcnta -"0100\relax + + % high surrogate value + \@tempcntb \@tempcnta + \divide\@tempcntb 4\relax + \advance\@tempcntb "0D800\relax + \CJK@numbxToHex{\CJK@gtemp}{\@tempcntb} + \expandafter\toks@\expandafter{\CJK@gtemp} + + % upper byte of low surrogate value + \@tempcntb \@tempcnta + \divide\@tempcntb 4\relax + \multiply\@tempcntb 4\relax + \advance\@tempcnta -\@tempcntb + \advance\@tempcnta "0DC\relax + \CJK@numbToHex{\CJK@gtemp}{\@tempcnta} + \xdef#1{\the\toks@\CJK@gtemp} + \else + \xdef#1{#2} + \fi}} + + \def\CJK@addcmap#1{ + {\expandafter\ifx\csname CJK@CMap@#1\endcsname \relax + \CJK@surr{\CJK@gtemp}{#1} + \immediate\pdfobj stream { + /CIDInit /ProcSet findresource begin % + 12 dict begin % + begincmap % + /CIDSystemInfo << % + /Registry (TeX) % + /Ordering (Uni#1) % + /Supplement 0 >> def % + /CMapName /TeX-Uni#1-0 def % + 1 begincodespacerange <00> <FF> endcodespacerange % + 1 beginbfrange <00> <FF> <\CJK@gtemp 00> endbfrange % + endcmap % + CMapName currentdict /CMap defineresource % + pop % + end % + end } + \expandafter\xdef\csname CJK@CMap@#1\endcsname{ + \the\pdflastobj} + \fi + \pdffontattr\font@name{ + /ToUnicode \csname CJK@CMap@#1\endcsname\space 0 R}}} +\fi + + +% provide hooks for hyperref.sty to automatically emit UTF-16BE for +% bookmarks -- note that we must do everything with expansion; +% only eTeX provides numerical expression handling which works +% within \xdef. + +% 110aaaaa 10bbbbbb +% +% aaaaa (two octal digits) is handled by \CJK@UnicodeTwoBytesFirst +% bbbbbb (two octal digits) is handled by \CJK@UnicodeLast +% +% +% 1110aaaa 10abbbbb 10cccccc +% +% aaaaa (two octal digits) is handled by \CJK@UnicodeThreeBytesFirst +% bbbbbb (two octal digits) is handled by \CJK@UnicodeThreeBytesSecond +% cccccc (two octal digits) is handled by \CJK@UnicodeLast +% +% +% 11110uuu 10uubbbb 10bbcccc 10dddddd +% +% is emitted as a surrogate pair +% +% 110110aa aabbbbbb 110111cc ccdddddd +% +% (aaaa = uuuuu - 1; 0 < uuuuu <= 10000) +% +% 110110aaaa (four octal digits) is handled by \CJK@UnicodeFourBytesFirst +% bbbbbb (two octal digits) is handled by \CJK@UnicodeFourBytesSecond +% 110111cccc (four octal digits) is handled by \CJK@UnicodeFourBytesThird +% dddddd (two octal digits) is handled by \CJK@UnicodeLast +% + +\def\CJK@UnicodeFourBytesFirst#1#2{ + \33 + + \ifnum #2 > '257\relax + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or 0\2\or 1\2\or 2\2\or 3\2 + \fi + \else + \ifnum #2 > '237\relax + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or 0\1\or 1\1\or 2\1\or 3\1 + \fi + \else + \ifnum #2 > '217\relax + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or 0\0\or 1\0\or 2\0\or 3\0 + \fi + \else + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or 0\3\or 1\3\or 2\3\or 3\3 + \fi + \fi + \fi + \fi} + +\def\CJK@UnicodeFourBytesSecond#1#2{ + \ifnum #2 > '257\relax + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37 + \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77 + \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37 + \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77 + \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37 + \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77 + \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37 + \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77 + \fi + \else + \ifnum #2 > '237\relax + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36 + \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76 + \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36 + \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76 + \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36 + \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76 + \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36 + \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76 + \fi + \else + \ifnum #2 > '217\relax + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35 + \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75 + \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35 + \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75 + \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35 + \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75 + \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35 + \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75 + \fi + \else + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34 + \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74 + \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34 + \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74 + \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34 + \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74 + \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34 + \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74 + \fi + \fi + \fi + \fi} + +\def\CJK@UnicodeFourBytesThird#1{ + \33 + + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3 + \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3 + \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3 + \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3 + \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3 + \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3 + \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3 + \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3 + \fi +} + +\def\CJK@UnicodeThreeBytesFirst#1#2{ + \ifnum #2 > '237\relax + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \01\or \03\or \05\or \07\or \11\or \13\or \15\or \17 + \or \21\or \23\or \25\or \27\or \31\or \33\or \35\or \37 + \fi + \else + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \00\or \02\or \04\or \06\or \10\or \12\or \14\or \16 + \or \20\or \22\or \24\or \26\or \30\or \32\or \34\or \35 + \fi + \fi} + +\def\CJK@UnicodeThreeBytesSecond#1{ + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or 0\0\or 0\1\or 0\2\or 0\3\or 1\0\or 1\1\or 1\2\or 1\3 + \or 2\0\or 2\1\or 2\2\or 2\3\or 3\0\or 3\1\or 3\2\or 3\3 + \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3 + \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3 + \or 0\0\or 0\1\or 0\2\or 0\3\or 1\0\or 1\1\or 1\2\or 1\3 + \or 2\0\or 2\1\or 2\2\or 2\3\or 3\0\or 3\1\or 3\2\or 3\3 + \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3 + \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3 + \fi} + +\def\CJK@UnicodeTwoBytesFirst#1{ + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \000\0\or \000\1\or \000\2\or \000\3 + \or \001\0\or \001\1\or \001\2\or \001\3 + \or \002\0\or \002\1\or \002\2\or \002\3 + \or \003\0\or \003\1\or \003\2\or \003\3 + \or \004\0\or \004\1\or \004\2\or \004\3 + \or \005\0\or \005\1\or \005\2\or \005\3 + \or \006\0\or \006\1\or \006\2\or \006\3 + \or \007\0\or \007\1\or \007\2\or \007\3 + \fi} + +\def\CJK@UnicodeLast#1{ + \ifcase #1 + \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + \or \or \or \or \or \or \or \or + + \or 00\or 01\or 02\or 03\or 04\or 05\or 06\or 07 + \or 10\or 11\or 12\or 13\or 14\or 15\or 16\or 17 + \or 20\or 21\or 22\or 23\or 24\or 25\or 26\or 27 + \or 30\or 31\or 32\or 33\or 34\or 35\or 36\or 37 + \or 40\or 41\or 42\or 43\or 44\or 45\or 46\or 47 + \or 50\or 51\or 52\or 53\or 54\or 55\or 56\or 57 + \or 60\or 61\or 62\or 63\or 64\or 65\or 66\or 67 + \or 70\or 71\or 72\or 73\or 74\or 75\or 76\or 77 + \fi} + + +\def\CJK@XXpdf#1#2{ + \CJK@UnicodeTwoBytesFirst{`#1} + \CJK@UnicodeLast{`#2}} + +\def\CJK@XXXpdf#1#2#3{ + \CJK@UnicodeThreeBytesFirst{`#1}{`#2} + \CJK@UnicodeThreeBytesSecond{`#2} + \CJK@UnicodeLast{`#3}} + +\def\CJK@XXXXpdf#1#2#3#4{ + \CJK@UnicodeFourBytesFirst{`#1}{`#2} + \CJK@UnicodeFourBytesSecond{`#2}{`#3} + \CJK@UnicodeFourBytesThird{`#3} + \CJK@UnicodeLast{`#4}} + + +\ifx\pdfstringdefPreHook \undefined + \def\pdfstringdefPreHook{} +\fi +\g@addto@macro\pdfstringdefPreHook{ + \let\CJK@XX \CJK@XXpdf + \let\CJK@XXX \CJK@XXXpdf + \let\CJK@XXXX \CJK@XXXXpdf} + + +% reset endline character + +\endlinechar `\^^M + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CJKvert.sty b/Master/texmf-dist/tex/latex/cjk/CJKvert.sty new file mode 100644 index 00000000000..4e8af30c0a3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CJKvert.sty @@ -0,0 +1,159 @@ +% This is the file CJKvert.sty of the CJK package +% for vertical typesetting. +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{CJKvert}[\filedate\space\fileversion] + +\RequirePackage{graphicx} + +\newif\ifCJK@useBaselinestretch@ +\CJK@useBaselinestretch@false + +\DeclareOption{usebaselinestretch}{\CJK@useBaselinestretch@true} + +\ProcessOptions + +\newcommand{\CJKbaselinestretch}{1.3} + + +% we suppress any unwanted spaces produced by linefeeds. + +\endlinechar \m@ne + + +\newif\ifCJK@vertical@ +\CJK@vertical@false + +\ifCJK@useBaselinestretch@ + \edef\CJK@horzBaselinestretch{\baselinestretch} +\fi + +\newcommand{\CJKvert}{ + \CJK@vertical@true + \gdef\CJK@direction{v} + + \ifCJK@useBaselinestretch@ + \edef\CJK@horzBaselinestretch{\baselinestretch} + \dimen@ 1pt + \dimen@ \CJK@horzBaselinestretch\dimen@ + \dimen@ \CJKbaselinestretch\dimen@ + \edef\baselinestretch{\strip@pt\dimen@} + \else + \edef\baselinestretch{\CJKbaselinestretch} + \fi + + \normalfont} + +\newcommand{\CJKhorz}{ + \CJK@vertical@false + \gdef\CJK@direction{h} + + \ifCJK@useBaselinestretch@ + \edef\baselinestretch{\CJK@horzBaselinestretch} + \else + \edef\baselinestretch{1} + \fi + + \normalfont} + +\AtBeginDocument{\CJKvert} + + +% we redefine \CJKsymbol so that pseudo bold characters will be shifted +% vertically, not horizontally. +% +% for fonts without vertical representation forms, some glyphs shouldn't +% be rotated; \CJKsymbolsimple can be then used for a redefinition in +% the `.fdx' file. + +\newcommand{\CJKsymbolsimple}[1]{ + \edef\CJK@temp{\csname \CJK@enc/\CJK@family/simpleoffset\endcsname} + \expandafter\ifx\CJK@temp \relax + \edef\CJK@temp{0pt} + \fi + \ifCJK@bold@ + \raise \CJK@temp \hbox{\symbol{#1}} + \raise \CJK@temp \hbox to \z@{\hss \raise\CJKboldshift\hbox{\symbol{#1}}} + \raise \CJK@temp \hbox to \z@{\hss \raise-\CJKboldshift\hbox{\symbol{#1}}} + \else + \raise \CJK@temp \hbox{\symbol{#1}} + \fi +} + +\DeclareRobustCommand{\CJKsymbol}[1]{ + \ifCJK@vertical@ + \expandafter\ifx\csname \CJK@enc/\CJK@family/norotate/v\endcsname \relax + \edef\CJK@tempa{\csname \CJK@enc/\CJK@family/offset/v\endcsname} + \expandafter\ifx\CJK@tempa \relax + \edef\CJK@tempa{0pt} + \fi + \edef\CJK@tempb{\csname \CJK@enc/\CJK@family/fullheight/v\endcsname} + \expandafter\ifx\CJK@tempb \relax + \def\CJK@temp{\rotatebox[x=\CJK@tempa]{90}{\symbol{#1}}} + \else + \edef\CJK@tempc{\csname \CJK@enc/\CJK@family/height/v\endcsname} + \expandafter\ifx\CJK@tempc \relax + \edef\CJK@tempc{0pt} + \fi + \setbox\@tempboxa\hbox{\symbol{#1}} + \ht\@tempboxa \CJK@tempc + \@tempdima\CJK@tempb + \advance\@tempdima -\CJK@tempc + \dp\@tempboxa \@tempdima + \def\CJK@temp{ + \rotatebox[x=\CJK@tempa]{90}{\copy\@tempboxa}} + \fi + \else + \def\CJK@temp{\symbol{#1}} + \fi + \ifCJK@bold@ + \CJK@temp + \hbox to \z@ {\hss \raise\CJKboldshift\hbox{\CJK@temp}} + \hbox to \z@ {\hss \raise-\CJKboldshift\hbox{\CJK@temp}} + \else + \CJK@temp + \fi + \else + \edef\CJK@tempa{\csname \CJK@enc/\CJK@family/offset/h\endcsname} + \expandafter\ifx\CJK@tempa \relax + \edef\CJK@tempa{0pt} + \fi + \edef\CJK@temp{\raise\CJK@tempa\hbox{\symbol{#1}}} + \leavevmode + \ifCJK@bold@ + \CJK@temp + \hbox to \CJKboldshift{\hss\CJK@temp} + \hbox to \CJKboldshift{\hss\CJK@temp} + \else + \CJK@temp + \fi + \fi} + + +% reset endline character. + +\endlinechar `\^^M + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.bdg b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.bdg new file mode 100644 index 00000000000..d61386383c6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.bdg @@ -0,0 +1,130 @@ +% This is the file EUC-TW.bdg of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{EUC-TW.bdg}[\filedate\space\fileversion] + + +% The EUC-TW bindings (with single shift). + +\global\@namedef{CJK@EUC-TWBinding}{ + \CJK@nameppppdef{^^8e} + + \CJK@nameppdef{^^a1} + \CJK@nameppdef{^^a2} + \CJK@nameppdef{^^a3} + \CJK@nameppdef{^^a4} + \CJK@nameppdef{^^a5} + \CJK@nameppdef{^^a6} + \CJK@nameppdef{^^a7} + \CJK@nameppdef{^^a8} + \CJK@nameppdef{^^a9} + \CJK@nameppdef{^^aa} + \CJK@nameppdef{^^ab} + \CJK@nameppdef{^^ac} + \CJK@nameppdef{^^ad} + \CJK@nameppdef{^^ae} + \CJK@nameppdef{^^af} + \CJK@nameppdef{^^b0} + \CJK@nameppdef{^^b1} + \CJK@nameppdef{^^b2} + \CJK@nameppdef{^^b3} + \CJK@nameppdef{^^b4} + \CJK@nameppdef{^^b5} + \CJK@nameppdef{^^b6} + \CJK@nameppdef{^^b7} + \CJK@nameppdef{^^b8} + \CJK@nameppdef{^^b9} + \CJK@nameppdef{^^ba} + \CJK@nameppdef{^^bb} + \CJK@nameppdef{^^bc} + \CJK@nameppdef{^^bd} + \CJK@nameppdef{^^be} + \CJK@nameppdef{^^bf} + \CJK@nameppdef{^^c0} + \CJK@nameppdef{^^c1} + \CJK@nameppdef{^^c2} + \CJK@nameppdef{^^c3} + \CJK@nameppdef{^^c4} + \CJK@nameppdef{^^c5} + \CJK@nameppdef{^^c6} + \CJK@nameppdef{^^c7} + \CJK@nameppdef{^^c8} + \CJK@nameppdef{^^c9} + \CJK@nameppdef{^^ca} + \CJK@nameppdef{^^cb} + \CJK@nameppdef{^^cc} + \CJK@nameppdef{^^cd} + \CJK@nameppdef{^^ce} + \CJK@nameppdef{^^cf} + \CJK@nameppdef{^^d0} + \CJK@nameppdef{^^d1} + \CJK@nameppdef{^^d2} + \CJK@nameppdef{^^d3} + \CJK@nameppdef{^^d4} + \CJK@nameppdef{^^d5} + \CJK@nameppdef{^^d6} + \CJK@nameppdef{^^d7} + \CJK@nameppdef{^^d8} + \CJK@nameppdef{^^d9} + \CJK@nameppdef{^^da} + \CJK@nameppdef{^^db} + \CJK@nameppdef{^^dc} + \CJK@nameppdef{^^dd} + \CJK@nameppdef{^^de} + \CJK@nameppdef{^^df} + \CJK@nameppdef{^^e0} + \CJK@nameppdef{^^e1} + \CJK@nameppdef{^^e2} + \CJK@nameppdef{^^e3} + \CJK@nameppdef{^^e4} + \CJK@nameppdef{^^e5} + \CJK@nameppdef{^^e6} + \CJK@nameppdef{^^e7} + \CJK@nameppdef{^^e8} + \CJK@nameppdef{^^e9} + \CJK@nameppdef{^^ea} + \CJK@nameppdef{^^eb} + \CJK@nameppdef{^^ec} + \CJK@nameppdef{^^ed} + \CJK@nameppdef{^^ee} + \CJK@nameppdef{^^ef} + \CJK@nameppdef{^^f0} + \CJK@nameppdef{^^f1} + \CJK@nameppdef{^^f2} + \CJK@nameppdef{^^f3} + \CJK@nameppdef{^^f4} + \CJK@nameppdef{^^f5} + \CJK@nameppdef{^^f6} + \CJK@nameppdef{^^f7} + \CJK@nameppdef{^^f8} + \CJK@nameppdef{^^f9} + \CJK@nameppdef{^^fa} + \CJK@nameppdef{^^fb} + \CJK@nameppdef{^^fc} + \CJK@nameppdef{^^fd} + \CJK@nameppdef{^^fe}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.chr b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.chr new file mode 100644 index 00000000000..cf31bcd3421 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.chr @@ -0,0 +1,210 @@ +% This is the file EUC-TW.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{EUC-TW.chr}[\filedate\space\fileversion] + + +% define macros for handling characters in EUC-TW encoding. + +\global\@namedef{CJK@EUC-TWChr}{ + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##3\relax + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@charx##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \@tempcntb 256\relax + \advance\@tempcnta ##3\relax + \advance\@tempcntb -##3\relax + \chardef\@temp \@tempcntb + \ifnum ##4 < \@temp + \edef\CJK@plane{##1} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% for punctuation. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##4} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \advance\@tempcnta ##3\relax + \edef\CJK@plane{##2} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + + \CJK@global\def\CJK@punctcharx##1##2##3##4##5{ + {\ifnum ##5 < \CJK@min + \CJK@err + \else + \ifnum ##5 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##5} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##5\relax + \@tempcntb 256\relax + \advance\@tempcnta ##4\relax + \advance\@tempcntb -##4\relax + \chardef\@temp \@tempcntb + \ifnum ##5 < \@temp + \edef\CJK@plane{##2} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##3} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + +% for CNS characters accessed via the SS2 code (0x8E) + + \CJK@global\def\CJK@shiftchar##1##2##3{ + {\CJK@numbToHex{\CJK@gtemp}{##1} + \CJKchar[CNS\expandafter\@secondoftwo\CJK@gtemp] + {\number ##2}{\number ##3}}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.enc b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.enc new file mode 100644 index 00000000000..a82f1e87e60 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/EUC-TW.enc @@ -0,0 +1,138 @@ +% This is the file EUC-TW.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{EUC-TW.enc}[\filedate\space\fileversion] + + +% EUC-TW encoding: +% +% CNS 11643-1992 planes 1-7 (C31-C37) 0x8EA1A1A1-0x8EA7FEFE +% CNS 11643-1992 plane 1 (C31) 0xA1A1-0xFEFE + +\global\@namedef{CJK@EUC-TWEncoding}{ + \CJK@loadChr{EUC-TW} + + % if in preprocessed mode, `\@gobble' will be gobbled, and + % \CJK@shiftError becomes active + \CJK@namegdef{^^8e}##1##2##3{\@gobble\CJK@shiftError + \CJK@shiftchar{##1}{##2}{##3}} + + \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}} + \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}} + \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}} + \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}} + \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}} + \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}} + \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}} + \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}} + \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}} + \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}} + \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}} + \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}} + \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}} + \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}} + \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}} + \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}} + \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}} + \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}} + \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}} + \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c31song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c31song.fd new file mode 100644 index 00000000000..60a647f4357 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/c31song.fd @@ -0,0 +1,23 @@ +% This is the file c31song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c31song.fd}[\filedate\space\fileversion] + + +% Chinese traditional characters +% +% character set: CNS 11643-1992 plane 1 +% font encoding: CJK (standard) + +\DeclareFontFamily{C31}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C31}{song}{m}{n}{<-> CJK * c1so12}{} +\DeclareFontShape{C31}{song}{bx}{n}{<-> CJKb * c1so12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c32song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c32song.fd new file mode 100644 index 00000000000..446dbcf2d3b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/c32song.fd @@ -0,0 +1,23 @@ +% This is the file c32song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c32song.fd}[\filedate\space\fileversion] + + +% Chinese traditional characters +% +% character set: CNS 11643-1992 plane 2 +% font encoding: CJK (standard) + +\DeclareFontFamily{C32}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C32}{song}{m}{n}{<-> CJK * c2so12}{} +\DeclareFontShape{C32}{song}{bx}{n}{<-> CJKb * c2so12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c33song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c33song.fd new file mode 100644 index 00000000000..58a184fb105 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/c33song.fd @@ -0,0 +1,23 @@ +% This is the file c33song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c33song.fd}[\filedate\space\fileversion] + + +% Chinese traditional characters +% +% character set: CNS 11643-1992 plane 3 +% font encoding: CJK (standard) + +\DeclareFontFamily{C33}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C33}{song}{m}{n}{<-> CJK * c3so12}{} +\DeclareFontShape{C33}{song}{bx}{n}{<-> CJKb * c3so12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c34song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c34song.fd new file mode 100644 index 00000000000..715d2f98582 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/c34song.fd @@ -0,0 +1,23 @@ +% This is the file c34song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c34song.fd}[\filedate\space\fileversion] + + +% Chinese traditional characters +% +% character set: CNS 11643-1992 plane 4 +% font encoding: CJK (standard) + +\DeclareFontFamily{C34}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C34}{song}{m}{n}{<-> CJK * c4so12}{} +\DeclareFontShape{C34}{song}{bx}{n}{<-> CJKb * c4so12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c35song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c35song.fd new file mode 100644 index 00000000000..4f7dd9ed76c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/c35song.fd @@ -0,0 +1,23 @@ +% This is the file c35song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c35song.fd}[\filedate\space\fileversion] + + +% Chinese traditional characters +% +% character set: CNS 11643-1992 plane 5 +% font encoding: CJK (standard) + +\DeclareFontFamily{C35}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C35}{song}{m}{n}{<-> CJK * c5so12}{} +\DeclareFontShape{C35}{song}{bx}{n}{<-> CJKb * c5so12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c36song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c36song.fd new file mode 100644 index 00000000000..c44ec716fe8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/c36song.fd @@ -0,0 +1,23 @@ +% This is the file c36song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c36song.fd}[\filedate\space\fileversion] + + +% Chinese traditional characters +% +% character set: CNS 11643-1992 plane 6 +% font encoding: CJK (standard) + +\DeclareFontFamily{C36}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C36}{song}{m}{n}{<-> CJK * c6so12}{} +\DeclareFontShape{C36}{song}{bx}{n}{<-> CJKb * c6so12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/CNS/c37song.fd b/Master/texmf-dist/tex/latex/cjk/CNS/c37song.fd new file mode 100644 index 00000000000..dc8b0a34dce --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/CNS/c37song.fd @@ -0,0 +1,23 @@ +% This is the file c37song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c37song.fd}[\filedate\space\fileversion] + + +% Chinese traditional characters +% +% character set: CNS 11643-1992 plane 7 +% font encoding: CJK (standard) + +\DeclareFontFamily{C37}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C37}{song}{m}{n}{<-> CJK * c7so12}{} +\DeclareFontShape{C37}{song}{bx}{n}{<-> CJKb * c7so12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/GB/GB.cap b/Master/texmf-dist/tex/latex/cjk/GB/GB.cap new file mode 100644 index 00000000000..5e9457ea968 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/GB.cap @@ -0,0 +1,86 @@ +% This is the file GB.cap of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{GB.cap}[\filedate\space\fileversion] + + +% Chinese captions +% +% character set: GB 2312-80 +% encoding: EUC + +\renewcommand\contentsname{ฤฟยผ} +% \renewcommand\listfigurename{} % ? +% \renewcommand\listtablename{} % ? + +\CJK@ifundefined\chapter + {\renewcommand\refname{ฒฮฟผืสมฯ}} + {\renewcommand\bibname{ฮฤฯื}} + +\renewcommand\indexname{ห๗า} + +\newcommand\prefigurename{ตฺ} +\newcommand\postfigurename{อผ} +\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename} + +\newcommand\pretablename{ตฺ} +\newcommand\posttablename{ฑํ} +\renewcommand\tableformat{\pretablename~\thetable~\posttablename} + +\newcommand\prepartname{ตฺ} +\newcommand\postpartname{ฒฟ} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + +% \newcommand\prechaptername{ตฺ} +% \newcommand\postchaptername{ีย} +% \newcommand\presectionname{ตฺ} +% \newcommand\postsectionname{ฝฺ} +% \newcommand\preappendixname{ตฺ} +% \newcommand\postappendixname{ธฝยผ} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{ีชาช}}{} + +% \renewcommand\ccname{} % ? +% \renewcommand\enclname{ธฝผ} +% \newcommand\prepagename{} % ? +% \newcommand\postpagename{} % ? +% \renewcommand\headtoname{} % ? +% \renewcommand\seename{} % ? + +\renewcommand\today{\number\yearฤ๊\number\monthิย\number\dayศี} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{\ifcase#1\or + าป\orถ\orศ\orหฤ\orฮๅ\or + ม๙\orฦ฿\orฐห\orพล\orสฎ\fi}}{} + +\endinput + +%%% Local Variables: +%%% coding: euc-china +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/GB/GB.cpx b/Master/texmf-dist/tex/latex/cjk/GB/GB.cpx new file mode 100644 index 00000000000..8b8ea280704 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/GB.cpx @@ -0,0 +1,84 @@ +% This is the file GB.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{GB.cpx}[\filedate\space\fileversion] + + +% Chinese captions +% +% character set: GB 2312-80 +% encoding: EUC +% +% preprocessed + +\renewcommand\contentsname{ฤ191ย188} +% \renewcommand\listfigurename{} % ? +% \renewcommand\listtablename{} % ? + +\CJK@ifundefined\chapter + {\renewcommand\refname{ฒ206ฟ188ื202ม207}} + {\renewcommand\bibname{ฮ196ฯ215}} + +\renewcommand\indexname{ห247า253} + +\newcommand\prefigurename{ต218} +\newcommand\postfigurename{อ188} +\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename} + +\newcommand\pretablename{ต218} +\newcommand\posttablename{ฑ237} +\renewcommand\tableformat{\pretablename~\thetable~\posttablename} + +\newcommand\prepartname{ต218} +\newcommand\postpartname{ฒ191} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + +% \newcommand\prechaptername{ต218} +% \newcommand\postchaptername{ี194} +% \newcommand\presectionname{ต218} +% \newcommand\postsectionname{ฝ218} +% \newcommand\preappendixname{ต218} +% \newcommand\postappendixname{ธ189ย188} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{ี170า170}}{} + +% \renewcommand\ccname{} % ? +% \renewcommand\enclname{ธ189ผ254} +% \newcommand\prepagename{} % ? +% \newcommand\postpagename{} % ? +% \renewcommand\headtoname{} % ? +% \renewcommand\seename{} % ? + +\renewcommand\today{% + \number\yearฤ234\number\monthิ194\number\dayศ213} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{% + \ifcase#1\or + า187\orถ254\orศ253\orห196\orฮ229\or + ม249\orฦ223\orฐ203\orพ197\orส174\fi}}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c10fs.fd b/Master/texmf-dist/tex/latex/cjk/GB/c10fs.fd new file mode 100644 index 00000000000..5d910bced9b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/c10fs.fd @@ -0,0 +1,25 @@ +% This is the file c10fs.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c10fs.fd}[\filedate\space\fileversion] + + +% simplified Chinese characters +% +% character set: GB 2312-80 +% font encoding: CJK (standard) + +\DeclareFontFamily{C10}{fs}{\hyphenchar \font\m@ne} + +% jfs56 + +\DeclareFontShape{C10}{fs}{m}{n}{<-> CJK * gsfs14}{} +\DeclareFontShape{C10}{fs}{bx}{n}{<-> CJKb * gsfs14}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fd b/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fd new file mode 100644 index 00000000000..0ac777c7460 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fd @@ -0,0 +1,25 @@ +% This is the file c10gbsn.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c10gbsn.fd}[\filedate\space\fileversion] + + +% simplified Chinese characters +% +% character set: GB 2312-80 +% font encoding: CJK (standard) + +% Arphic PL TrueType font AR PL SungtiL GB / BousungEG-Light-GB (SongTi) + +\DeclareFontFamily{C10}{gbsn}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C10}{gbsn}{m}{n}{<-> CJK * gbsnlp}{} +\DeclareFontShape{C10}{gbsn}{bx}{n}{<-> CJKb * gbsnlp}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fdx b/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fdx new file mode 100644 index 00000000000..45058ae2bb8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/c10gbsn.fdx @@ -0,0 +1,70 @@ +% This is the file c10gbsn.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c10gbsn.fdx}[\filedate\space\fileversion] + + +\CJKvdef{fullheight}{1em} +\CJKvdef{height}{.88em} +\CJKvdef{offset}{.5em} +\CJKvdef{simpleoffset}{-.1em} + +\CJKvdef{m/n/01/1}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{1}\hss}} +\CJKvdef{m/n/01/2}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{2}\hss}} +\CJKvdef{m/n/01/17}{\CJKsymbolsimple{17}} +\CJKvdef{m/n/01/18}{\CJKsymbolsimple{18}} +\CJKvdef{m/n/01/19}{\CJKsymbolsimple{19}} +\CJKvdef{m/n/01/20}{\CJKsymbolsimple{20}} +\CJKvdef{m/n/01/21}{\CJKsymbolsimple{21}} +\CJKvdef{m/n/01/22}{\CJKsymbolsimple{22}} +\CJKvdef{m/n/01/23}{\CJKsymbolsimple{23}} +\CJKvdef{m/n/01/24}{\CJKsymbolsimple{24}} +\CJKvdef{m/n/01/25}{\CJKsymbolsimple{25}} +\CJKvdef{m/n/01/26}{\CJKsymbolsimple{26}} +\CJKvdef{m/n/01/27}{\CJKsymbolsimple{27}} +\CJKvdef{m/n/01/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/01/29}{\CJKsymbolsimple{29}} +\CJKvdef{m/n/01/30}{\CJKsymbolsimple{30}} +\CJKvdef{m/n/01/195}{\CJKsymbolsimple{195}} +\CJKvdef{m/n/01/196}{\CJKsymbolsimple{196}} +\CJKvdef{m/n/01/199}{ + \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{199}\hss}} +\CJKvdef{m/n/01/201}{ + \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{201}\hss}} +\CJKvdef{m/n/01/246}{\CJKsymbolsimple{246}} +\CJKvdef{m/n/01/248}{\CJKsymbolsimple{248}} +\CJKvdef{m/n/02/22}{\CJKsymbolsimple{22}} +\CJKvdef{m/n/02/24}{\CJKsymbolsimple{24}} + +\CJKvlet{bx/n/01/1}{m/n/01/1} +\CJKvlet{bx/n/01/2}{m/n/01/2} +\CJKvlet{bx/n/01/17}{m/n/01/17} +\CJKvlet{bx/n/01/18}{m/n/01/18} +\CJKvlet{bx/n/01/19}{m/n/01/19} +\CJKvlet{bx/n/01/20}{m/n/01/20} +\CJKvlet{bx/n/01/21}{m/n/01/21} +\CJKvlet{bx/n/01/22}{m/n/01/22} +\CJKvlet{bx/n/01/23}{m/n/01/23} +\CJKvlet{bx/n/01/24}{m/n/01/24} +\CJKvlet{bx/n/01/25}{m/n/01/25} +\CJKvlet{bx/n/01/26}{m/n/01/26} +\CJKvlet{bx/n/01/27}{m/n/01/27} +\CJKvlet{bx/n/01/28}{m/n/01/28} +\CJKvlet{bx/n/01/29}{m/n/01/29} +\CJKvlet{bx/n/01/30}{m/n/01/30} +\CJKvlet{bx/n/01/195}{m/n/01/195} +\CJKvlet{bx/n/01/196}{m/n/01/196} +\CJKvlet{bx/n/01/199}{m/n/01/199} +\CJKvlet{bx/n/01/201}{m/n/01/201} +\CJKvlet{bx/n/01/246}{m/n/01/246} +\CJKvlet{bx/n/01/248}{m/n/01/248} +\CJKvlet{bx/n/02/22}{m/n/02/22} +\CJKvlet{bx/n/02/24}{m/n/02/24} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c10song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c10song.fd new file mode 100644 index 00000000000..af003e5c062 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/c10song.fd @@ -0,0 +1,23 @@ +% This is the file c10song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c10song.fd}[\filedate\space\fileversion] + + +% simplified Chinese characters +% +% character set: GB 2312-80 +% font encoding: CJK (standard) + +\DeclareFontFamily{C10}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C10}{song}{m}{n}{<-> CJKsub * fs/m/n}{} +\DeclareFontShape{C10}{song}{bx}{n}{<-> CJKsub * fs/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c11song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c11song.fd new file mode 100644 index 00000000000..8c9f8c7b47d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/c11song.fd @@ -0,0 +1,23 @@ +% This is the file c11song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c11song.fd}[\filedate\space\fileversion] + + +% simplified Chinese characters +% +% character set: GB 2312-80 +% font encoding: pmC + +\DeclareFontFamily{C11}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C11}{song}{m}{n}{<-> sCJKfixed * wccs}{} +\DeclareFontShape{C11}{song}{bx}{n}{<-> sCJKfixedb * wccs}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c19song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c19song.fd new file mode 100644 index 00000000000..f52e7d30eff --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/c19song.fd @@ -0,0 +1,23 @@ +% This is the file c19song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c19song.fd}[\filedate\space\fileversion] + + +% Chinese characters (extension of GB 2312) +% +% character set: GBK +% font encoding: CJK (extended) + +\DeclareFontFamily{C19}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C19}{song}{m}{n}{<-> CJK * gbk}{} +\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbk}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c20song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c20song.fd new file mode 100644 index 00000000000..6e0a9010117 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/c20song.fd @@ -0,0 +1,31 @@ +% This is the file c20song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c20song.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters +% +% character set: GB/T 12345-90 +% font encoding: CJK (standard) + +\DeclareFontFamily{C20}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C20}{song}{m}{n}{ + <5> <6> <7> <8> <9> CJKfixed * gtso12 + <10> <10.95> <12> sCJKfixed * gtso12 + <14.4> <17.28> <20.74> sCJKfixed * gtso17 + <24.88> CJKfixed * gtso17}{} +\DeclareFontShape{C20}{song}{bx}{n}{ + <5> <6> <7> <8> <9> CJKfixedb * gtso12 + <10> <10.95> <12> sCJKfixedb * gtso12 + <14.4> <17.28> <20.74> sCJKfixedb * gtso17 + <24.88> CJKfixedb * gtso17}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/GB/c21song.fd b/Master/texmf-dist/tex/latex/cjk/GB/c21song.fd new file mode 100644 index 00000000000..a0c92ef5148 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/GB/c21song.fd @@ -0,0 +1,23 @@ +% This is the file c21song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c21song.fd}[\filedate\space\fileversion] + + +% traditional Chinese characters +% +% character set: GB/T 12345-90 +% font encoding: pmC + +\DeclareFontFamily{C21}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C21}{song}{m}{n}{<-> sCJKfixed * wcct}{} +\DeclareFontShape{C21}{song}{bx}{n}{<-> sCJKfixedb * wcct}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.bdg b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.bdg new file mode 100644 index 00000000000..dde27f0cf6f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.bdg @@ -0,0 +1,131 @@ +% This is the file EUC-JP.bdg of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{EUC-JP.bdg}[\filedate\space\fileversion] + + +% The EUC-JP bindings (with single shifts). + +\global\@namedef{CJK@EUC-JPBinding}{ + \CJK@nameppdef{^^8e} + \CJK@namepppdef{^^8f} + + \CJK@nameppdef{^^a1} + \CJK@nameppdef{^^a2} + \CJK@nameppdef{^^a3} + \CJK@nameppdef{^^a4} + \CJK@nameppdef{^^a5} + \CJK@nameppdef{^^a6} + \CJK@nameppdef{^^a7} + \CJK@nameppdef{^^a8} + \CJK@nameppdef{^^a9} + \CJK@nameppdef{^^aa} + \CJK@nameppdef{^^ab} + \CJK@nameppdef{^^ac} + \CJK@nameppdef{^^ad} + \CJK@nameppdef{^^ae} + \CJK@nameppdef{^^af} + \CJK@nameppdef{^^b0} + \CJK@nameppdef{^^b1} + \CJK@nameppdef{^^b2} + \CJK@nameppdef{^^b3} + \CJK@nameppdef{^^b4} + \CJK@nameppdef{^^b5} + \CJK@nameppdef{^^b6} + \CJK@nameppdef{^^b7} + \CJK@nameppdef{^^b8} + \CJK@nameppdef{^^b9} + \CJK@nameppdef{^^ba} + \CJK@nameppdef{^^bb} + \CJK@nameppdef{^^bc} + \CJK@nameppdef{^^bd} + \CJK@nameppdef{^^be} + \CJK@nameppdef{^^bf} + \CJK@nameppdef{^^c0} + \CJK@nameppdef{^^c1} + \CJK@nameppdef{^^c2} + \CJK@nameppdef{^^c3} + \CJK@nameppdef{^^c4} + \CJK@nameppdef{^^c5} + \CJK@nameppdef{^^c6} + \CJK@nameppdef{^^c7} + \CJK@nameppdef{^^c8} + \CJK@nameppdef{^^c9} + \CJK@nameppdef{^^ca} + \CJK@nameppdef{^^cb} + \CJK@nameppdef{^^cc} + \CJK@nameppdef{^^cd} + \CJK@nameppdef{^^ce} + \CJK@nameppdef{^^cf} + \CJK@nameppdef{^^d0} + \CJK@nameppdef{^^d1} + \CJK@nameppdef{^^d2} + \CJK@nameppdef{^^d3} + \CJK@nameppdef{^^d4} + \CJK@nameppdef{^^d5} + \CJK@nameppdef{^^d6} + \CJK@nameppdef{^^d7} + \CJK@nameppdef{^^d8} + \CJK@nameppdef{^^d9} + \CJK@nameppdef{^^da} + \CJK@nameppdef{^^db} + \CJK@nameppdef{^^dc} + \CJK@nameppdef{^^dd} + \CJK@nameppdef{^^de} + \CJK@nameppdef{^^df} + \CJK@nameppdef{^^e0} + \CJK@nameppdef{^^e1} + \CJK@nameppdef{^^e2} + \CJK@nameppdef{^^e3} + \CJK@nameppdef{^^e4} + \CJK@nameppdef{^^e5} + \CJK@nameppdef{^^e6} + \CJK@nameppdef{^^e7} + \CJK@nameppdef{^^e8} + \CJK@nameppdef{^^e9} + \CJK@nameppdef{^^ea} + \CJK@nameppdef{^^eb} + \CJK@nameppdef{^^ec} + \CJK@nameppdef{^^ed} + \CJK@nameppdef{^^ee} + \CJK@nameppdef{^^ef} + \CJK@nameppdef{^^f0} + \CJK@nameppdef{^^f1} + \CJK@nameppdef{^^f2} + \CJK@nameppdef{^^f3} + \CJK@nameppdef{^^f4} + \CJK@nameppdef{^^f5} + \CJK@nameppdef{^^f6} + \CJK@nameppdef{^^f7} + \CJK@nameppdef{^^f8} + \CJK@nameppdef{^^f9} + \CJK@nameppdef{^^fa} + \CJK@nameppdef{^^fb} + \CJK@nameppdef{^^fc} + \CJK@nameppdef{^^fd} + \CJK@nameppdef{^^fe}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.chr b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.chr new file mode 100644 index 00000000000..dccf2fe8e8a --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.chr @@ -0,0 +1,246 @@ +% This is the file EUC-JP.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{EUC-JP.chr}[\filedate\space\fileversion] + + +% define macros for handling characters in EUC-JP encoding. + +\global\@namedef{CJK@EUC-JPChr}{ + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##3\relax + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@charx##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \@tempcntb 256\relax + \advance\@tempcnta ##3\relax + \advance\@tempcntb -##3\relax + \chardef\@temp \@tempcntb + \ifnum ##4 < \@temp + \edef\CJK@plane{##1} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% for punctuation. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##4} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \advance\@tempcnta ##3\relax + \edef\CJK@plane{##2} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + + \CJK@global\def\CJK@punctcharx##1##2##3##4##5{ + {\ifnum ##5 < \CJK@min + \CJK@err + \else + \ifnum ##5 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##5} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##5\relax + \@tempcntb 256\relax + \advance\@tempcnta ##4\relax + \advance\@tempcntb -##4\relax + \chardef\@temp \@tempcntb + \ifnum ##5 < \@temp + \edef\CJK@plane{##2} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##3} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + +% for half-width katakana accessed via the SS2 code (0x8E) + + \CJK@global\def\CJK@shiftchar##1{ + {\ifnum ##1 < \CJK@min + \CJK@err + \else + \ifnum ##1 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##1} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@altenc}{}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \def\CJK@plane{} + \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\number ##1/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{##1} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@altenc}{}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.enc b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.enc new file mode 100644 index 00000000000..f87a1d0960b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JP.enc @@ -0,0 +1,141 @@ +% This is the file EUC-JP.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{EUC-JP.enc}[\filedate\space\fileversion] + + +% EUC-JP encoding: +% +% Half-width katakana (C49) 0x8EA1-0x8EDF +% JIS X 0212-1992 (C5x) 0x8FA1A1-0x8FFEFE +% JIS X 0208:1997 (C4x) 0xA1A1-0xFEFE + +\global\@namedef{CJK@EUC-JPEncoding}{ + \CJK@loadChr{EUC-JP} + + % if in preprocessed mode, `\@gobble' will be gobbled, and + % \CJK@shiftError becomes active + \CJK@namegdef{^^8e}##1{\@gobble\CJK@shiftError + \CJK@shiftchar{##1}} + \CJK@namegdef{^^8f}##1##2{\@gobble\CJK@shiftError + \CJKchar[JIS2]{\number ##1}{\number ##2}} + + \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}} + \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}} + \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}} + \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}} + \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}} + \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}} + \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}} + \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}} + \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}} + \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}} + \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}} + \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}} + \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}} + \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}} + \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}} + \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}} + \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}} + \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}} + \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}} + \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JPdnp.enc b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JPdnp.enc new file mode 100644 index 00000000000..14c6617287b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/EUC-JPdnp.enc @@ -0,0 +1,142 @@ +% This is the file EUC-JPdnp.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{EUC-JPdnp.enc}[\filedate\space\fileversion] + + +% EUC-JP encoding with dnp font encoding: +% +% Half-width katakana (C49) 0x8EA1-0x8EDF +% JIS X 0212-1992 (C5x) 0x8FA1A1-0x8FFEFE +% JIS X 0208:1997 (C4x) 0xA1A1-0xFEFE + +\global\@namedef{CJK@EUC-JPdnpEncoding}{ + \CJK@loadChr{EUC-JP} + + % if in preprocessed mode, `\@gobble' will be gobbled, and + % \CJK@shiftError becomes active + \CJK@namegdef{^^8e}##1{\@gobble\CJK@shiftError + \CJK@shiftchar{##1}} + \CJK@namegdef{^^8f}##1##2{\@gobble\CJK@shiftError + \CJKchar[JIS2dnp]{\number ##1}{\number ##2}} + + \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{sy}{-160}{##1}} + \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{sy}{ -60}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@char {roma}{-128}{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{hira}{-160}{##1}} + \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{kata}{-160}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@char {greek}{-160}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@char {russian}{-160}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@char {keisen}{-160}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^aa}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ab}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ac}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^af}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^b0}##1{\@empty\CJK@char {ka}{-161}{##1}} + \CJK@namegdef{^^b1}##1{\@empty\CJK@char {ka}{ -67}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@charx{ka}{kb}{27}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@char {kb}{-135}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@char {kb}{ -41}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@charx{kb}{kc}{53}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@char {kc}{-109}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@char {kc}{ -15}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@charx{kc}{kd}{79}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@char {kd}{ -83}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@charx{kd}{ke}{11}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@char {ke}{-151}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@char {ke}{ -57}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@charx{ke}{kf}{37}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@char {kf}{-125}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@char {kf}{ -31}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@charx{kf}{kg}{63}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@char {kg}{ -99}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char {kg}{ -5}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@charx{kg}{kh}{89}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@char {kh}{ -73}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@charx{kh}{ki}{21}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char {ki}{-141}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@char {ki}{ -47}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@charx{ki}{kj}{47}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@char {kj}{-115}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char {kj}{ -21}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@charx{kj}{kk}{73}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@char {kk}{ -89}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@charx{kk}{kl}{ 5}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char {kl}{-157}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@char {kl}{-63}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char {km}{-161}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char {km}{ -67}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{km}{kn}{27}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char {kn}{-135}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@char {kn}{ -41}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@charx{kn}{ko}{53}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char {ko}{-109}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@char {ko}{ -15}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@charx{ko}{kp}{79}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char {kp}{ -83}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@charx{kp}{kq}{11}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char {kq}{-151}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@char {kq}{ -57}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{kq}{kr}{37}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char {kr}{-125}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@char {kr}{ -31}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@charx{kr}{ks}{63}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char {ks}{ -99}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@char {ks}{ -5}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@charx{ks}{kt}{89}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char {kt}{ -73}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{kt}{ku}{21}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char {ku}{-141}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@char {ku}{ -47}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@charx{ku}{kv}{47}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char {kv}{-115}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@char {kv}{ -21}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@charx{kv}{kw}{73}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char {kw}{ -89}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{kw}{kx}{ 5}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char {kx}{-157}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@char {kx}{ -63}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{kx}{ky}{31}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char {ky}{-131}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@char {ky}{ -37}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@charx{ky}{kz}{57}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char {kz}{-105}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^f6}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^f7}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^f8}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^f9}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fa}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fb}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fc}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fd}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fe}##1{\@empty\CJK@errxx} +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cap b/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cap new file mode 100644 index 00000000000..bce67390fac --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cap @@ -0,0 +1,83 @@ +% This is the file JIS.cap of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{JIS.cap}[\filedate\space\fileversion] + + +% Japanese captions +% +% character set: JIS X 0208:1997 (or JIS X 0208-1990) +% encoding: EUC + +\newif\ifheisei +\let\ifheisei=\iffalse +\def\heisei{\let\ifheisei=\iftrue} + +\renewcommand\contentsname{ฬผก} + +\renewcommand\listfigurename{ฟฬผก} +% \newcommand\listfigurename{ฟฐ์อ๗} + +\renewcommand\listtablename{ษฝฬผก} +% \newcommand\listtablename{ษฝฐ์อ๗} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ปฒนอสธธฅ} + } + {\renewcommand\bibname{ดุฯขฝ๑ภา} +% \renewcommand\bibname{ปฒนอสธธฅ} + } +\renewcommand\indexname{บ๗ฐ๚} + +\renewcommand\figurename{ฟ} +\renewcommand\tablename{ษฝ} + +\newcommand\prepartname{ย่} +\newcommand\postpartname{ษ๔} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + +% \renewcommand{\appendixname}{ษํฯฟ} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{อืป}}{} + +\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year + \advance\count0 -1988 สฟภฎ\,\fi + \ifnum\count0=1 ธต\else\number\count0\fi + \,วฏ\hspace{.5em}\nobreak\number\month + \,ท๎\hspace{.5em}\nobreak\number\day\,ฦ}} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{\ifcase#1\or + ฐ์\orฦ๓\orปฐ\orปอ\orธ\or + ฯป\orผท\orศฌ\orถๅ\orฝฝ\fi}}{} + +\endinput + +%%% Local Variables: +%%% coding: euc-japan +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cpx b/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cpx new file mode 100644 index 00000000000..d203d19e162 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/JIS.cpx @@ -0,0 +1,80 @@ +% This is the file JIS.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{JIS.cpx}[\filedate\space\fileversion] + + +% Japanese captions +% +% character set: JIS X 0208:1997 (or JIS X 0208-1990) +% encoding: EUC +% +% preprocessed + +\newif\ifheisei +\let\ifheisei=\iffalse +\def\heisei{\let\ifheisei=\iftrue} + +\renewcommand\contentsname{ฬ220ผ161} + +\renewcommand\listfigurename{ฟ222ฬ220ผ161} +% \newcommand\listfigurename{ฟ222ฐ236อ247} + +\renewcommand\listtablename{ษ189ฬ220ผ161} +% \newcommand\listtablename{ษ189ฐ236อ247} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ป178น205ส184ธ165} + } + {\renewcommand\bibname{ด216ฯ162ฝ241ภ210} +% \renewcommand\bibname{ป178น205ส184ธ165} + } +\renewcommand\indexname{บ247ฐ250} + +\renewcommand\figurename{ฟ222} +\renewcommand\tablename{ษ189} + +\newcommand\prepartname{ย232} +\newcommand\postpartname{ษ244} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + +% \renewcommand{\appendixname}{ษ237ฯ191} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{อ215ป221}}{} + +\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year + \advance\count0 -1988 ส191ภ174\,\fi + \ifnum\count0=1 ธ181\else\number\count0\fi + \,ว175\hspace{.5em}\nobreak\number\month + \,ท238\hspace{.5em}\nobreak\number\day\,ฦ252}} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{% + \ifcase#1\or + ฐ236\orฦ243\orป176\orป205\orธ222\or + ฯ187\orผ183\orศ172\orถ229\orฝ189\fi}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/JISdnp.enc b/Master/texmf-dist/tex/latex/cjk/JIS/JISdnp.enc new file mode 100644 index 00000000000..087c02da968 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/JISdnp.enc @@ -0,0 +1,132 @@ +% This is the file JISdnp.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{JISdnp.enc}[\filedate\space\fileversion] + + +% JIS encoding for DNP fonts: +% each plane has 94 characters (GB, JIS etc.) (0xA1 - 0xFE). + +\global\@namedef{CJK@JISdnpEncoding}{ + \CJK@loadChr{standard} + + \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{sy}{-160}{##1}} + \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{sy}{ -60}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@char {roma}{-128}{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{hira}{-160}{##1}} + \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{kata}{-160}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@char {greek}{-160}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@char {russian}{-160}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@char {keisen}{-160}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^aa}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ab}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ac}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^af}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^b0}##1{\@empty\CJK@char {ka}{-161}{##1}} + \CJK@namegdef{^^b1}##1{\@empty\CJK@char {ka}{ -67}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@charx{ka}{kb}{27}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@char {kb}{-135}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@char {kb}{ -41}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@charx{kb}{kc}{53}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@char {kc}{-109}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@char {kc}{ -15}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@charx{kc}{kd}{79}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@char {kd}{ -83}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@charx{kd}{ke}{11}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@char {ke}{-151}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@char {ke}{ -57}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@charx{ke}{kf}{37}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@char {kf}{-125}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@char {kf}{ -31}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@charx{kf}{kg}{63}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@char {kg}{ -99}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char {kg}{ -5}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@charx{kg}{kh}{89}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@char {kh}{ -73}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@charx{kh}{ki}{21}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char {ki}{-141}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@char {ki}{ -47}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@charx{ki}{kj}{47}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@char {kj}{-115}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char {kj}{ -21}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@charx{kj}{kk}{73}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@char {kk}{ -89}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@charx{kk}{kl}{ 5}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char {kl}{-157}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@char {kl}{-63}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char {km}{-161}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char {km}{ -67}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{km}{kn}{27}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char {kn}{-135}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@char {kn}{ -41}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@charx{kn}{ko}{53}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char {ko}{-109}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@char {ko}{ -15}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@charx{ko}{kp}{79}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char {kp}{ -83}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@charx{kp}{kq}{11}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char {kq}{-151}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@char {kq}{ -57}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{kq}{kr}{37}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char {kr}{-125}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@char {kr}{ -31}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@charx{kr}{ks}{63}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char {ks}{ -99}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@char {ks}{ -5}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@charx{ks}{kt}{89}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char {kt}{ -73}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{kt}{ku}{21}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char {ku}{-141}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@char {ku}{ -47}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@charx{ku}{kv}{47}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char {kv}{-115}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@char {kv}{ -21}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@charx{kv}{kw}{73}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char {kw}{ -89}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{kw}{kx}{ 5}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char {kx}{-157}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@char {kx}{ -63}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{kx}{ky}{31}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char {ky}{-131}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@char {ky}{ -37}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@charx{ky}{kz}{57}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char {kz}{-105}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^f6}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^f7}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^f8}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^f9}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fa}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fb}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fc}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fd}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^fe}##1{\@empty\CJK@errxx} +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c40song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c40song.fd new file mode 100644 index 00000000000..0ccfa66190f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/c40song.fd @@ -0,0 +1,25 @@ +% This is the file c40song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c40song.fd}[\filedate\space\fileversion] + + +% Japanese characters +% +% character set: JIS X 0208:1997 (or JIS X 0208-1990) +% font encoding: CJK (standard) + +\DeclareFontFamily{C40}{song}{\hyphenchar \font\m@ne} + +% kanji48 + +\DeclareFontShape{C40}{song}{m}{n}{<-> CJK * jsso12}{} +\DeclareFontShape{C40}{song}{bx}{n}{<-> CJKb * jsso12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c41song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c41song.fd new file mode 100644 index 00000000000..b2f738d9514 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/c41song.fd @@ -0,0 +1,23 @@ +% This is the file c41song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c41song.fd}[\filedate\space\fileversion] + + +% Japanese characters +% +% character set: JIS X 0208:1997 (or JIS X 0208-1990) +% font encoding: pmC + +\DeclareFontFamily{C41}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C41}{song}{m}{n}{<-> sCJKfixed * wjis}{} +\DeclareFontShape{C41}{song}{bx}{n}{<-> sCJKfixedb * wjis}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c42song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c42song.fd new file mode 100644 index 00000000000..9fe22473166 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/c42song.fd @@ -0,0 +1,28 @@ +% This is the file c42song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c42song.fd}[\filedate\space\fileversion] + + +% Japanese characters in JIS encoding scheme using DNP fonts. +% Japanese characters +% +% character set: JIS X 0208:1997 (or JIS X 0208-1990) +% font encoding: DNP + +\DeclareFontFamily{C42}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C42}{song}{m}{n} + {<5> <6> <7> <8> <9> <10> <12> DNPgen * dmj + <10.95><14.4><17.28><20.74><24.88> DNP *[10] dmj}{} +\DeclareFontShape{C42}{song}{bx}{n} + {<5> <6> <7> <8> <9> <10> <12> DNPgen * dgj + <10.95><14.4><17.28><20.74><24.88> DNP *[10] dgj}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c43song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c43song.fd new file mode 100644 index 00000000000..493a3c81e17 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/c43song.fd @@ -0,0 +1,27 @@ +% This is the file c43song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c43song.fd}[\filedate\space\fileversion] + + +% Japanese characters +% +% character set: JIS X 0208:1997 (or JIS X 0208-1990) +% font encoding: DNP + +\DeclareFontFamily{C43}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C43}{song}{m}{n} + {<5> <6> <7> <8> <9> <10> <12> + <10.95><14.4><17.28><20.74><24.88> DNP * mj}{} +\DeclareFontShape{C43}{song}{bx}{n} + {<5> <6> <7> <8> <9> <10> <12> + <10.95><14.4><17.28><20.74><24.88> DNP * bj}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/JIS/c50song.fd b/Master/texmf-dist/tex/latex/cjk/JIS/c50song.fd new file mode 100644 index 00000000000..11088afb02a --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/JIS/c50song.fd @@ -0,0 +1,26 @@ +% This is the file c50song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c50song.fd}[\filedate\space\fileversion] + + +% Japanese characters in JIS supplement encoding scheme. +% Japanese characters +% +% character set: JIS X 0212-1990 +% font encoding: CJK (standard) + +\DeclareFontFamily{C50}{song}{\hyphenchar \font\m@ne} + +% kanjix48 + +\DeclareFontShape{C50}{song}{m}{n}{<-> CJK * j2so12}{} +\DeclareFontShape{C50}{song}{bx}{n}{<-> CJKb * j2so12}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/HLaTeX.chr b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/HLaTeX.chr new file mode 100644 index 00000000000..c54bf0f7a4b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/HLaTeX.chr @@ -0,0 +1,229 @@ +% This is the file HLaTeX.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{HLaTeX.chr}[\filedate\space\fileversion] + + +% define macros for handling hangul fonts and characters. + +\gdef\CJK@HLaTeXChr{ + +% KS symbols -- for Hiragana and Katagana, no kinsoku shori is provided! + + \CJK@global\def\CJK@symbA##1##2##3{ + {\CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \edef\CJK@plane{##1} + \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\number ##2/\number ##3/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbols{##2}{##3} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK}} + + \CJK@global\def\CJK@symbB##1{ + {\CJK@numbToHex{\CJK@gtemp}{##1} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{KS}{A3}{\CJK@gtemp} + \ifCJK@ + \else + \discretionary{}{}{} + \fi + \fi + + \ifnum ##1 = 220\relax + \edef\CJK@plane{04} + \else + \edef\CJK@plane{07} + \fi + \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/163/\number ##1/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbols{163}{##1} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{KS}{A3}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi}} + + \CJK@global\def\CJK@symbC##1##2##3{ + {\CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \ifnum ##3 < ##1\relax + \edef\CJK@plane{07} + \else + \ifnum ##3 > 245\relax + \edef\CJK@plane{06} + \else + \edef\CJK@plane{04} + \fi + \fi + \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\number ##2/\number ##3/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbols{##2}{##3} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK}} + + \CJK@global\def\CJK@symbD##1{ + {\CJK@numbToHex{\CJK@gtemp}{##1} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{KS}{A1}{\CJK@gtemp} + \ifCJK@ + \else + \discretionary{}{}{} + \fi + \fi + + \edef\CJK@plane{05} + \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/161/\number ##1/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbols{161}{##1} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{KS}{A1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi}} + + +% Hangul syllables + + \CJK@global\def\CJK@altchar##1##2##3{ + {\CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \edef\CJK@plane{##1} + \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\number ##2/\number ##3/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbols{##2}{##3} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@altcharx##1##2##3##4##5{ + {\CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \ifnum ##5 < ##3\relax + \edef\CJK@plane{##1} + \else + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\number ##4/\number ##5/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbols{##4}{##5} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK}} + +% Hanja + + \CJK@global\def\CJK@char##1##2##3{ + {\CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\number ##2/\number ##3/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbols{##2}{##3} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@charx##1##2##3##4##5{ + {\CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \ifnum ##5 < ##3\relax + \edef\CJK@plane{##1} + \else + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\number ##4/\number ##5/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbols{##4}{##5} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/KSHL.enc b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/KSHL.enc new file mode 100644 index 00000000000..893b52e513f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/KSHL.enc @@ -0,0 +1,134 @@ +% This is the file KSHL.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{KSHL.enc}[\filedate\space\fileversion] + + +% KS encoding for HLaTeX >= 0.97 fonts: +% each plane has 94 characters (but 256 characters per subfont); +% Hangul subfonts have the postfixes 0 - 9 +% Hanja subfonts have the postfixes 10 - 29 +% Symbol subfonts have the postfixes 04 - 07 + +\gdef\CJK@KSHLEncoding{ + \CJK@loadChr{HLaTeX} + + \CJK@namegdef{^^a1}##1{\@empty\CJK@symbD{##1}}% Symbols + \CJK@namegdef{^^a2}##1{\@empty\CJK@symbA{05}{162}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@symbB{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@symbA{04}{164}{##1}} + \CJK@namegdef{^^a5}##1{\@empty\CJK@symbA{07}{165}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@symbA{06}{166}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@symbA{05}{167}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@symbC{176}{168}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@symbC{177}{169}{##1}} + \CJK@namegdef{^^aa}##1{\@empty\CJK@symbA{06}{170}{##1}} + \CJK@namegdef{^^ab}##1{\@empty\CJK@symbA{06}{171}{##1}} + \CJK@namegdef{^^ac}##1{\@empty\CJK@symbA{07}{172}{##1}} + \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^af}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^b0}##1{\@empty\CJK@altchar {0}{176}{##1}}% Hangul syllables + \CJK@namegdef{^^b1}##1{\@empty\CJK@altchar {0}{177}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@altcharx{0}{1}{229}{178}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@altchar {1}{179}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@altchar {1}{180}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@altcharx{1}{2}{203}{181}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@altchar {2}{182}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@altchar {2}{183}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@altcharx{2}{3}{177}{184}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@altchar {3}{185}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@altcharx{3}{4}{245}{186}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@altchar {4}{187}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@altchar {4}{188}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@altcharx{4}{5}{219}{189}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@altchar {5}{190}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@altchar {5}{191}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@altcharx{5}{6}{193}{192}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@altchar {6}{193}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@altchar {6}{194}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@altcharx{6}{7}{167}{195}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@altchar {7}{196}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@altcharx{7}{8}{235}{197}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@altchar {8}{198}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@altchar {8}{199}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@altcharx{8}{9}{209}{200}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char {10}{202}{##1}}% Hanja + \CJK@namegdef{^^cb}##1{\@empty\CJK@char {10}{203}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{10}{11}{229}{204}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char {11}{205}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char {11}{206}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{11}{12}{203}{207}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char {12}{208}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char {12}{209}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{12}{13}{177}{210}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char {13}{211}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{13}{14}{245}{212}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char {14}{213}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char {14}{214}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{14}{15}{219}{215}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char {15}{216}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char {15}{217}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@charx{15}{16}{193}{218}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char {16}{219}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@char {16}{220}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{16}{17}{167}{221}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char {17}{222}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@charx{17}{18}{235}{223}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@char {18}{224}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char {18}{225}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{18}{19}{209}{226}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@char {19}{227}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char {19}{228}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{19}{20}{183}{229}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char {20}{230}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{20}{21}{251}{231}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@char {21}{232}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char {21}{233}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{21}{22}{225}{234}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@char {22}{235}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char {22}{236}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{22}{23}{199}{237}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char {23}{238}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@char {23}{239}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{23}{24}{173}{240}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char {24}{241}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{24}{25}{241}{242}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@char {25}{243}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char {25}{244}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{25}{26}{215}{245}{##1}} + \CJK@namegdef{^^f6}##1{\@empty\CJK@char {26}{246}{##1}} + \CJK@namegdef{^^f7}##1{\@empty\CJK@char {26}{247}{##1}} + \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{26}{27}{189}{248}{##1}} + \CJK@namegdef{^^f9}##1{\@empty\CJK@char {27}{249}{##1}} + \CJK@namegdef{^^fa}##1{\@empty\CJK@char {27}{250}{##1}} + \CJK@namegdef{^^fb}##1{\@empty\CJK@charx{27}{28}{163}{251}{##1}} + \CJK@namegdef{^^fc}##1{\@empty\CJK@char {28}{252}{##1}} + \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{28}{29}{231}{253}{##1}} +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63bm.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63bm.fd new file mode 100644 index 00000000000..bc4b9301682 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63bm.fd @@ -0,0 +1,53 @@ +% This is file c63bm.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63bm.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcBom + +\DeclareFontFamily{C63}{bm}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{bm}{c}{n}{<-> CJK * wbmc}{} +\DeclareFontShape{C63}{bm}{c}{sl}{<-> CJK * wbmco}{} +\DeclareFontShape{C63}{bm}{c}{it}{<-> CJKssub * bm/c/sl}{} + +\DeclareFontShape{C63}{bm}{m}{n}{<-> CJK * wbm}{} +\DeclareFontShape{C63}{bm}{m}{sl}{<-> CJK * wbmo}{} +\DeclareFontShape{C63}{bm}{m}{it}{<-> CJKssub * bm/m/sl}{} + +\DeclareFontShape{C63}{bm}{x}{n}{<-> CJK * wbmx}{} +\DeclareFontShape{C63}{bm}{x}{sl}{<-> CJK * wbmxo}{} +\DeclareFontShape{C63}{bm}{x}{it}{<-> CJKssub * bm/x/sl}{} + +\DeclareFontShape{C63}{bm}{ux}{n}{<-> CJK * wbmu}{} +\DeclareFontShape{C63}{bm}{ux}{sl}{<-> CJK * wbmuo}{} +\DeclareFontShape{C63}{bm}{ux}{it}{<-> CJKssub * bm/ux/sl}{} + +\DeclareFontShape{C63}{bm}{bc}{n}{<-> CJKb * wbmc}{\CJKbold} +\DeclareFontShape{C63}{bm}{bc}{sl}{<-> CJKb * wbmco}{\CJKbold} +\DeclareFontShape{C63}{bm}{bc}{it}{<-> CJKssub * bm/bc/sl}{} + +\DeclareFontShape{C63}{bm}{b}{n}{<-> CJKb * wbm}{\CJKbold} +\DeclareFontShape{C63}{bm}{b}{sl}{<-> CJKb * wbmo}{\CJKbold} +\DeclareFontShape{C63}{bm}{b}{it}{<-> CJKssub * bm/b/sl}{} + +\DeclareFontShape{C63}{bm}{bx}{n}{<-> CJKb * wbmx}{\CJKbold} +\DeclareFontShape{C63}{bm}{bx}{sl}{<-> CJKb * wbmxo}{\CJKbold} +\DeclareFontShape{C63}{bm}{bx}{it}{<-> CJKssub * bm/bx/sl}{} + +\DeclareFontShape{C63}{bm}{bux}{n}{<-> CJKb * wbmu}{\CJKbold} +\DeclareFontShape{C63}{bm}{bux}{sl}{<-> CJKb * wbmuo}{\CJKbold} +\DeclareFontShape{C63}{bm}{bux}{it}{<-> CJKssub * bm/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63dn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63dn.fd new file mode 100644 index 00000000000..9682753a397 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63dn.fd @@ -0,0 +1,69 @@ +% This is file c63dn.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63dn.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcDinaru + +\DeclareFontFamily{C63}{dn}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{dn}{c}{n}{<-> CJK * wdnc}{} +\DeclareFontShape{C63}{dn}{c}{sl}{<-> CJK * wdnco}{} +\DeclareFontShape{C63}{dn}{c}{it}{<-> CJKssub * dn/c/sl}{} + +\DeclareFontShape{C63}{dn}{m}{n}{<-> CJK * wdn}{} +\DeclareFontShape{C63}{dn}{m}{sl}{<-> CJK * wdno}{} +\DeclareFontShape{C63}{dn}{m}{it}{<-> CJKssub * dn/m/sl}{} + +\DeclareFontShape{C63}{dn}{x}{n}{<-> CJK * wdnx}{} +\DeclareFontShape{C63}{dn}{x}{sl}{<-> CJK * wdnxo}{} +\DeclareFontShape{C63}{dn}{x}{it}{<-> CJKssub * dn/x/sl}{} + +\DeclareFontShape{C63}{dn}{ux}{n}{<-> CJK * wdnu}{} +\DeclareFontShape{C63}{dn}{ux}{sl}{<-> CJK * wdnuo}{} +\DeclareFontShape{C63}{dn}{ux}{it}{<-> CJKssub * dn/ux/sl}{} + +\DeclareFontShape{C63}{dn}{bc}{n}{<-> CJK * wdnbc}{} +\DeclareFontShape{C63}{dn}{bc}{sl}{<-> CJK * wdnbco}{} +\DeclareFontShape{C63}{dn}{bc}{it}{<-> CJKssub * dn/bc/sl}{} + +\DeclareFontShape{C63}{dn}{b}{n}{<-> CJK * wdnb}{} +\DeclareFontShape{C63}{dn}{b}{sl}{<-> CJK * wdnbo}{} +\DeclareFontShape{C63}{dn}{b}{it}{<-> CJKssub * dn/b/sl}{} + +\DeclareFontShape{C63}{dn}{bx}{n}{<-> CJK * wdnbx}{} +\DeclareFontShape{C63}{dn}{bx}{sl}{<-> CJK * wdnbxo}{} +\DeclareFontShape{C63}{dn}{bx}{it}{<-> CJKssub * dn/bx/sl}{} + +\DeclareFontShape{C63}{dn}{bux}{n}{<-> CJK * wdnbu}{} +\DeclareFontShape{C63}{dn}{bux}{sl}{<-> CJK * wdnbuo}{} +\DeclareFontShape{C63}{dn}{bux}{it}{<-> CJKssub * dn/bux/sl}{} + +\DeclareFontShape{C63}{dn}{lc}{n}{<-> CJK * wdnlc}{} +\DeclareFontShape{C63}{dn}{lc}{sl}{<-> CJK * wdnlco}{} +\DeclareFontShape{C63}{dn}{lc}{it}{<-> CJKssub * dn/lc/sl}{} + +\DeclareFontShape{C63}{dn}{l}{n}{<-> CJK * wdnl}{} +\DeclareFontShape{C63}{dn}{l}{sl}{<-> CJK * wdnlo}{} +\DeclareFontShape{C63}{dn}{l}{it}{<-> CJKssub * dn/l/sl}{} + +\DeclareFontShape{C63}{dn}{lx}{n}{<-> CJK * wdnlx}{} +\DeclareFontShape{C63}{dn}{lx}{sl}{<-> CJK * wdnlxo}{} +\DeclareFontShape{C63}{dn}{lx}{it}{<-> CJKssub * dn/lx/sl}{} + +\DeclareFontShape{C63}{dn}{lux}{n}{<-> CJK * wdnlu}{} +\DeclareFontShape{C63}{dn}{lux}{sl}{<-> CJK * wdnluo}{} +\DeclareFontShape{C63}{dn}{lux}{it}{<-> CJKssub * dn/lux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gr.fd new file mode 100644 index 00000000000..eba4c545227 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gr.fd @@ -0,0 +1,53 @@ +% This is file c63gr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63gr.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcGraphic + +\DeclareFontFamily{C63}{gr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{gr}{c}{n}{<-> CJK * wgrc}{} +\DeclareFontShape{C63}{gr}{c}{sl}{<-> CJK * wgrco}{} +\DeclareFontShape{C63}{gr}{c}{it}{<-> CJKssub * gr/c/sl}{} + +\DeclareFontShape{C63}{gr}{m}{n}{<-> CJK * wgr}{} +\DeclareFontShape{C63}{gr}{m}{sl}{<-> CJK * wgro}{} +\DeclareFontShape{C63}{gr}{m}{it}{<-> CJKssub * gr/m/sl}{} + +\DeclareFontShape{C63}{gr}{x}{n}{<-> CJK * wgrx}{} +\DeclareFontShape{C63}{gr}{x}{sl}{<-> CJK * wgrxo}{} +\DeclareFontShape{C63}{gr}{x}{it}{<-> CJKssub * gr/x/sl}{} + +\DeclareFontShape{C63}{gr}{ux}{n}{<-> CJK * wgru}{} +\DeclareFontShape{C63}{gr}{ux}{sl}{<-> CJK * wgruo}{} +\DeclareFontShape{C63}{gr}{ux}{it}{<-> CJKssub * gr/ux/sl}{} + +\DeclareFontShape{C63}{gr}{bc}{n}{<-> CJK * wgrbc}{} +\DeclareFontShape{C63}{gr}{bc}{sl}{<-> CJK * wgrbco}{} +\DeclareFontShape{C63}{gr}{bc}{it}{<-> CJKssub * gr/bc/sl}{} + +\DeclareFontShape{C63}{gr}{b}{n}{<-> CJK * wgrb}{} +\DeclareFontShape{C63}{gr}{b}{sl}{<-> CJK * wgrbo}{} +\DeclareFontShape{C63}{gr}{b}{it}{<-> CJKssub * gr/b/sl}{} + +\DeclareFontShape{C63}{gr}{bx}{n}{<-> CJK * wgrbx}{} +\DeclareFontShape{C63}{gr}{bx}{sl}{<-> CJK * wgrbxo}{} +\DeclareFontShape{C63}{gr}{bx}{it}{<-> CJKssub * gr/bx/sl}{} + +\DeclareFontShape{C63}{gr}{bux}{n}{<-> CJK * wgrbu}{} +\DeclareFontShape{C63}{gr}{bux}{sl}{<-> CJK * wgrbuo}{} +\DeclareFontShape{C63}{gr}{bux}{it}{<-> CJKssub * gr/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gs.fd new file mode 100644 index 00000000000..e7970fab6ad --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gs.fd @@ -0,0 +1,53 @@ +% This is file c63gs.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63gs.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcGungseo + +\DeclareFontFamily{C63}{gs}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{gs}{bc}{n}{<-> CJK * wgsc}{} +\DeclareFontShape{C63}{gs}{bc}{sl}{<-> CJK * wgsco}{} +\DeclareFontShape{C63}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{} + +\DeclareFontShape{C63}{gs}{b}{n}{<-> CJK * wgs}{} +\DeclareFontShape{C63}{gs}{b}{sl}{<-> CJK * wgso}{} +\DeclareFontShape{C63}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{} + +\DeclareFontShape{C63}{gs}{bx}{n}{<-> CJK * wgsx}{} +\DeclareFontShape{C63}{gs}{bx}{sl}{<-> CJK * wgsxo}{} +\DeclareFontShape{C63}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{} + +\DeclareFontShape{C63}{gs}{bux}{n}{<-> CJK * wgsu}{} +\DeclareFontShape{C63}{gs}{bux}{sl}{<-> CJK * wgsuo}{} +\DeclareFontShape{C63}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{} + +\DeclareFontShape{C63}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{} +\DeclareFontShape{C63}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{} +\DeclareFontShape{C63}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{} + +\DeclareFontShape{C63}{gs}{m}{n}{<-> CJKssub * gs/b/n}{} +\DeclareFontShape{C63}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{} +\DeclareFontShape{C63}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{} + +\DeclareFontShape{C63}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{} +\DeclareFontShape{C63}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{} +\DeclareFontShape{C63}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{} + +\DeclareFontShape{C63}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{} +\DeclareFontShape{C63}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{} +\DeclareFontShape{C63}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gt.fd new file mode 100644 index 00000000000..86a1c37e590 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63gt.fd @@ -0,0 +1,53 @@ +% This is file c63gt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63gt.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcGothic + +\DeclareFontFamily{C63}{gt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{gt}{c}{n}{<-> CJK * wgtc}{} +\DeclareFontShape{C63}{gt}{c}{sl}{<-> CJK * wgtco}{} +\DeclareFontShape{C63}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{} + +\DeclareFontShape{C63}{gt}{m}{n}{<-> CJK * wgt}{} +\DeclareFontShape{C63}{gt}{m}{sl}{<-> CJK * wgto}{} +\DeclareFontShape{C63}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{} + +\DeclareFontShape{C63}{gt}{x}{n}{<-> CJK * wgtx}{} +\DeclareFontShape{C63}{gt}{x}{sl}{<-> CJK * wgtxo}{} +\DeclareFontShape{C63}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{} + +\DeclareFontShape{C63}{gt}{ux}{n}{<-> CJK * wgtu}{} +\DeclareFontShape{C63}{gt}{ux}{sl}{<-> CJK * wgtuo}{} +\DeclareFontShape{C63}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{} + +\DeclareFontShape{C63}{gt}{bc}{n}{<-> CJK * wgtbc}{} +\DeclareFontShape{C63}{gt}{bc}{sl}{<-> CJK * wgtbco}{} +\DeclareFontShape{C63}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{} + +\DeclareFontShape{C63}{gt}{b}{n}{<-> CJK * wgtb}{} +\DeclareFontShape{C63}{gt}{b}{sl}{<-> CJK * wgtbo}{} +\DeclareFontShape{C63}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{} + +\DeclareFontShape{C63}{gt}{bx}{n}{<-> CJK * wgtbx}{} +\DeclareFontShape{C63}{gt}{bx}{sl}{<-> CJK * wgtbxo}{} +\DeclareFontShape{C63}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{} + +\DeclareFontShape{C63}{gt}{bux}{n}{<-> CJK * wgtbu}{} +\DeclareFontShape{C63}{gt}{bux}{sl}{<-> CJK * wgtbuo}{} +\DeclareFontShape{C63}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jgt.fd new file mode 100644 index 00000000000..61a905ee896 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jgt.fd @@ -0,0 +1,53 @@ +% This is file c63jgt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63jgt.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoGothic + +\DeclareFontFamily{C63}{jgt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{jgt}{c}{n}{<-> CJK * wjgtc}{} +\DeclareFontShape{C63}{jgt}{c}{sl}{<-> CJK * wjgtco}{} +\DeclareFontShape{C63}{jgt}{c}{it}{<-> CJKssub * jgt/c/sl}{} + +\DeclareFontShape{C63}{jgt}{m}{n}{<-> CJK * wjgt}{} +\DeclareFontShape{C63}{jgt}{m}{sl}{<-> CJK * wjgto}{} +\DeclareFontShape{C63}{jgt}{m}{it}{<-> CJKssub * jgt/m/sl}{} + +\DeclareFontShape{C63}{jgt}{x}{n}{<-> CJK * wjgtx}{} +\DeclareFontShape{C63}{jgt}{x}{sl}{<-> CJK * wjgtxo}{} +\DeclareFontShape{C63}{jgt}{x}{it}{<-> CJKssub * jgt/x/sl}{} + +\DeclareFontShape{C63}{jgt}{ux}{n}{<-> CJK * wjgtu}{} +\DeclareFontShape{C63}{jgt}{ux}{sl}{<-> CJK * wjgtuo}{} +\DeclareFontShape{C63}{jgt}{ux}{it}{<-> CJKssub * jgt/ux/sl}{} + +\DeclareFontShape{C63}{jgt}{bc}{n}{<-> CJKb * wjgtc}{\CJKbold} +\DeclareFontShape{C63}{jgt}{bc}{sl}{<-> CJKb * wjgtco}{\CJKbold} +\DeclareFontShape{C63}{jgt}{bc}{it}{<-> CJKssub * jgt/bc/sl}{} + +\DeclareFontShape{C63}{jgt}{b}{n}{<-> CJKb * wjgt}{\CJKbold} +\DeclareFontShape{C63}{jgt}{b}{sl}{<-> CJKb * wjgto}{\CJKbold} +\DeclareFontShape{C63}{jgt}{b}{it}{<-> CJKssub * jgt/b/sl}{} + +\DeclareFontShape{C63}{jgt}{bx}{n}{<-> CJKb * wjgtx}{\CJKbold} +\DeclareFontShape{C63}{jgt}{bx}{sl}{<-> CJKb * wjgtxo}{\CJKbold} +\DeclareFontShape{C63}{jgt}{bx}{it}{<-> CJKssub * jgt/bx/sl}{} + +\DeclareFontShape{C63}{jgt}{bux}{n}{<-> CJKb * wjgtu}{\CJKbold} +\DeclareFontShape{C63}{jgt}{bux}{sl}{<-> CJKb * wjgtuo}{\CJKbold} +\DeclareFontShape{C63}{jgt}{bux}{it}{<-> CJKssub * jgt/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jmj.fd new file mode 100644 index 00000000000..1d9cbce0399 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jmj.fd @@ -0,0 +1,53 @@ +% This is file c63jmj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63jmj.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoMyoungjo + +\DeclareFontFamily{C63}{jmj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{jmj}{c}{n}{<-> CJK * wjmjc}{} +\DeclareFontShape{C63}{jmj}{c}{sl}{<-> CJK * wjmjco}{} +\DeclareFontShape{C63}{jmj}{c}{it}{<-> CJKssub * jmj/c/sl}{} + +\DeclareFontShape{C63}{jmj}{m}{n}{<-> CJK * wjmj}{} +\DeclareFontShape{C63}{jmj}{m}{sl}{<-> CJK * wjmjo}{} +\DeclareFontShape{C63}{jmj}{m}{it}{<-> CJKssub * jmj/m/sl}{} + +\DeclareFontShape{C63}{jmj}{x}{n}{<-> CJK * wjmjx}{} +\DeclareFontShape{C63}{jmj}{x}{sl}{<-> CJK * wjmjxo}{} +\DeclareFontShape{C63}{jmj}{x}{it}{<-> CJKssub * jmj/x/sl}{} + +\DeclareFontShape{C63}{jmj}{ux}{n}{<-> CJK * wjmju}{} +\DeclareFontShape{C63}{jmj}{ux}{sl}{<-> CJK * wjmjuo}{} +\DeclareFontShape{C63}{jmj}{ux}{it}{<-> CJKssub * jmj/ux/sl}{} + +\DeclareFontShape{C63}{jmj}{bc}{n}{<-> CJKb * wjmjc}{\CJKbold} +\DeclareFontShape{C63}{jmj}{bc}{sl}{<-> CJKb * wjmjco}{\CJKbold} +\DeclareFontShape{C63}{jmj}{bc}{it}{<-> CJKssub * jmj/bc/sl}{} + +\DeclareFontShape{C63}{jmj}{b}{n}{<-> CJKb * wjmj}{\CJKbold} +\DeclareFontShape{C63}{jmj}{b}{sl}{<-> CJKb * wjmjo}{\CJKbold} +\DeclareFontShape{C63}{jmj}{b}{it}{<-> CJKssub * jmj/b/sl}{} + +\DeclareFontShape{C63}{jmj}{bx}{n}{<-> CJKb * wjmjx}{\CJKbold} +\DeclareFontShape{C63}{jmj}{bx}{sl}{<-> CJKb * wjmjxo}{\CJKbold} +\DeclareFontShape{C63}{jmj}{bx}{it}{<-> CJKssub * jmj/bx/sl}{} + +\DeclareFontShape{C63}{jmj}{bux}{n}{<-> CJKb * wjmju}{\CJKbold} +\DeclareFontShape{C63}{jmj}{bux}{sl}{<-> CJKb * wjmjuo}{\CJKbold} +\DeclareFontShape{C63}{jmj}{bux}{it}{<-> CJKssub * jmj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jnv.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jnv.fd new file mode 100644 index 00000000000..38261170d9c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jnv.fd @@ -0,0 +1,53 @@ +% This is file c63jnv.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63jnv.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoNovel + +\DeclareFontFamily{C63}{jnv}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{jnv}{c}{n}{<-> CJK * wjnvc}{} +\DeclareFontShape{C63}{jnv}{c}{sl}{<-> CJK * wjnvco}{} +\DeclareFontShape{C63}{jnv}{c}{it}{<-> CJKssub * jnv/c/sl}{} + +\DeclareFontShape{C63}{jnv}{m}{n}{<-> CJK * wjnv}{} +\DeclareFontShape{C63}{jnv}{m}{sl}{<-> CJK * wjnvo}{} +\DeclareFontShape{C63}{jnv}{m}{it}{<-> CJKssub * jnv/m/sl}{} + +\DeclareFontShape{C63}{jnv}{x}{n}{<-> CJK * wjnvx}{} +\DeclareFontShape{C63}{jnv}{x}{sl}{<-> CJK * wjnvxo}{} +\DeclareFontShape{C63}{jnv}{x}{it}{<-> CJKssub * jnv/x/sl}{} + +\DeclareFontShape{C63}{jnv}{ux}{n}{<-> CJK * wjnvu}{} +\DeclareFontShape{C63}{jnv}{ux}{sl}{<-> CJK * wjnvuo}{} +\DeclareFontShape{C63}{jnv}{ux}{it}{<-> CJKssub * jnv/ux/sl}{} + +\DeclareFontShape{C63}{jnv}{bc}{n}{<-> CJKb * wjnvc}{\CJKbold} +\DeclareFontShape{C63}{jnv}{bc}{sl}{<-> CJKb * wjnvco}{\CJKbold} +\DeclareFontShape{C63}{jnv}{bc}{it}{<-> CJKssub * jnv/bc/sl}{} + +\DeclareFontShape{C63}{jnv}{b}{n}{<-> CJKb * wjnv}{\CJKbold} +\DeclareFontShape{C63}{jnv}{b}{sl}{<-> CJKb * wjnvo}{\CJKbold} +\DeclareFontShape{C63}{jnv}{b}{it}{<-> CJKssub * jnv/b/sl}{} + +\DeclareFontShape{C63}{jnv}{bx}{n}{<-> CJKb * wjnvx}{\CJKbold} +\DeclareFontShape{C63}{jnv}{bx}{sl}{<-> CJKb * wjnvxo}{\CJKbold} +\DeclareFontShape{C63}{jnv}{bx}{it}{<-> CJKssub * jnv/bx/sl}{} + +\DeclareFontShape{C63}{jnv}{bux}{n}{<-> CJKb * wjnvu}{\CJKbold} +\DeclareFontShape{C63}{jnv}{bux}{sl}{<-> CJKb * wjnvuo}{\CJKbold} +\DeclareFontShape{C63}{jnv}{bux}{it}{<-> CJKssub * jnv/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jsr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jsr.fd new file mode 100644 index 00000000000..051131f3260 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63jsr.fd @@ -0,0 +1,53 @@ +% This is file c63jsr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63jsr.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoSora + +\DeclareFontFamily{C63}{jsr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{jsr}{c}{n}{<-> CJK * wjsrc}{} +\DeclareFontShape{C63}{jsr}{c}{sl}{<-> CJK * wjsrco}{} +\DeclareFontShape{C63}{jsr}{c}{it}{<-> CJKssub * jsr/c/sl}{} + +\DeclareFontShape{C63}{jsr}{m}{n}{<-> CJK * wjsr}{} +\DeclareFontShape{C63}{jsr}{m}{sl}{<-> CJK * wjsro}{} +\DeclareFontShape{C63}{jsr}{m}{it}{<-> CJKssub * jsr/m/sl}{} + +\DeclareFontShape{C63}{jsr}{x}{n}{<-> CJK * wjsrx}{} +\DeclareFontShape{C63}{jsr}{x}{sl}{<-> CJK * wjsrxo}{} +\DeclareFontShape{C63}{jsr}{x}{it}{<-> CJKssub * jsr/x/sl}{} + +\DeclareFontShape{C63}{jsr}{ux}{n}{<-> CJK * wjsru}{} +\DeclareFontShape{C63}{jsr}{ux}{sl}{<-> CJK * wjsruo}{} +\DeclareFontShape{C63}{jsr}{ux}{it}{<-> CJKssub * jsr/ux/sl}{} + +\DeclareFontShape{C63}{jsr}{bc}{n}{<-> CJKb * wjsrc}{\CJKbold} +\DeclareFontShape{C63}{jsr}{bc}{sl}{<-> CJKb * wjsrco}{\CJKbold} +\DeclareFontShape{C63}{jsr}{bc}{it}{<-> CJKssub * jsr/bc/sl}{} + +\DeclareFontShape{C63}{jsr}{b}{n}{<-> CJKb * wjsr}{\CJKbold} +\DeclareFontShape{C63}{jsr}{b}{sl}{<-> CJKb * wjsro}{\CJKbold} +\DeclareFontShape{C63}{jsr}{b}{it}{<-> CJKssub * jsr/b/sl}{} + +\DeclareFontShape{C63}{jsr}{bx}{n}{<-> CJKb * wjsrx}{\CJKbold} +\DeclareFontShape{C63}{jsr}{bx}{sl}{<-> CJKb * wjsrxo}{\CJKbold} +\DeclareFontShape{C63}{jsr}{bx}{it}{<-> CJKssub * jsr/bx/sl}{} + +\DeclareFontShape{C63}{jsr}{bux}{n}{<-> CJKb * wjsru}{\CJKbold} +\DeclareFontShape{C63}{jsr}{bux}{sl}{<-> CJKb * wjsruo}{\CJKbold} +\DeclareFontShape{C63}{jsr}{bux}{it}{<-> CJKssub * jsr/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63mj.fd new file mode 100644 index 00000000000..cb8011785a7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63mj.fd @@ -0,0 +1,53 @@ +% This is file c63mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63mj.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C63}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C63}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C63}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C63}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C63}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C63}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C63}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C63}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C63}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C63}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C63}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C63}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C63}{mj}{bc}{n}{<-> CJK * wmjbc}{} +\DeclareFontShape{C63}{mj}{bc}{sl}{<-> CJK * wmjbco}{} +\DeclareFontShape{C63}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C63}{mj}{b}{n}{<-> CJK * wmjb}{} +\DeclareFontShape{C63}{mj}{b}{sl}{<-> CJK * wmjbo}{} +\DeclareFontShape{C63}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C63}{mj}{bx}{n}{<-> CJK * wmjbx}{} +\DeclareFontShape{C63}{mj}{bx}{sl}{<-> CJK * wmjbxo}{} +\DeclareFontShape{C63}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C63}{mj}{bux}{n}{<-> CJK * wmjbu}{} +\DeclareFontShape{C63}{mj}{bux}{sl}{<-> CJK * wmjbuo}{} +\DeclareFontShape{C63}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pg.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pg.fd new file mode 100644 index 00000000000..5d949e61eaa --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pg.fd @@ -0,0 +1,53 @@ +% This is file c63pg.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63pg.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPilgi + +\DeclareFontFamily{C63}{pg}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{pg}{c}{n}{<-> CJK * wpgc}{} +\DeclareFontShape{C63}{pg}{c}{sl}{<-> CJK * wpgco}{} +\DeclareFontShape{C63}{pg}{c}{it}{<-> CJKssub * wwpg/c/sl}{} + +\DeclareFontShape{C63}{pg}{m}{n}{<-> CJK * wpg}{} +\DeclareFontShape{C63}{pg}{m}{sl}{<-> CJK * wpgo}{} +\DeclareFontShape{C63}{pg}{m}{it}{<-> CJKssub * wwpg/m/sl}{} + +\DeclareFontShape{C63}{pg}{x}{n}{<-> CJK * wpgx}{} +\DeclareFontShape{C63}{pg}{x}{sl}{<-> CJK * wpgxo}{} +\DeclareFontShape{C63}{pg}{x}{it}{<-> CJKssub * wwpg/x/sl}{} + +\DeclareFontShape{C63}{pg}{ux}{n}{<-> CJK * wpgu}{} +\DeclareFontShape{C63}{pg}{ux}{sl}{<-> CJK * wpguo}{} +\DeclareFontShape{C63}{pg}{ux}{it}{<-> CJKssub * wwpg/ux/sl}{} + +\DeclareFontShape{C63}{pg}{bc}{n}{<-> CJK * wpgbc}{} +\DeclareFontShape{C63}{pg}{bc}{sl}{<-> CJK * wpgbco}{} +\DeclareFontShape{C63}{pg}{bc}{it}{<-> CJKssub * wwpg/bc/sl}{} + +\DeclareFontShape{C63}{pg}{b}{n}{<-> CJK * wpgb}{} +\DeclareFontShape{C63}{pg}{b}{sl}{<-> CJK * wpgbo}{} +\DeclareFontShape{C63}{pg}{b}{it}{<-> CJKssub * wwpg/b/sl}{} + +\DeclareFontShape{C63}{pg}{bx}{n}{<-> CJK * wpgbx}{} +\DeclareFontShape{C63}{pg}{bx}{sl}{<-> CJK * wpgbxo}{} +\DeclareFontShape{C63}{pg}{bx}{it}{<-> CJKssub * wwpg/bx/sl}{} + +\DeclareFontShape{C63}{pg}{bux}{n}{<-> CJK * wpgbu}{} +\DeclareFontShape{C63}{pg}{bux}{sl}{<-> CJK * wpgbuo}{} +\DeclareFontShape{C63}{pg}{bux}{it}{<-> CJKssub * wwpg/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pga.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pga.fd new file mode 100644 index 00000000000..bd3261be9d1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pga.fd @@ -0,0 +1,53 @@ +% This is file c63pga.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63pga.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPilgia + +\DeclareFontFamily{C63}{pga}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{pga}{c}{n}{<-> CJK * wpgac}{} +\DeclareFontShape{C63}{pga}{c}{sl}{<-> CJK * wpgaco}{} +\DeclareFontShape{C63}{pga}{c}{it}{<-> CJKssub * pga/c/sl}{} + +\DeclareFontShape{C63}{pga}{m}{n}{<-> CJK * wpga}{} +\DeclareFontShape{C63}{pga}{m}{sl}{<-> CJK * wpgao}{} +\DeclareFontShape{C63}{pga}{m}{it}{<-> CJKssub * pga/m/sl}{} + +\DeclareFontShape{C63}{pga}{x}{n}{<-> CJK * wpgax}{} +\DeclareFontShape{C63}{pga}{x}{sl}{<-> CJK * wpgaxo}{} +\DeclareFontShape{C63}{pga}{x}{it}{<-> CJKssub * pga/x/sl}{} + +\DeclareFontShape{C63}{pga}{ux}{n}{<-> CJK * wpgau}{} +\DeclareFontShape{C63}{pga}{ux}{sl}{<-> CJK * wpgauo}{} +\DeclareFontShape{C63}{pga}{ux}{it}{<-> CJKssub * pga/ux/sl}{} + +\DeclareFontShape{C63}{pga}{bc}{n}{<-> CJKb * wpgac}{\CJKbold} +\DeclareFontShape{C63}{pga}{bc}{sl}{<-> CJKb * wpgaco}{\CJKbold} +\DeclareFontShape{C63}{pga}{bc}{it}{<-> CJKssub * pga/bc/sl}{} + +\DeclareFontShape{C63}{pga}{b}{n}{<-> CJKb * wpga}{\CJKbold} +\DeclareFontShape{C63}{pga}{b}{sl}{<-> CJKb * wpgao}{\CJKbold} +\DeclareFontShape{C63}{pga}{b}{it}{<-> CJKssub * pga/b/sl}{} + +\DeclareFontShape{C63}{pga}{bx}{n}{<-> CJKb * wpgax}{\CJKbold} +\DeclareFontShape{C63}{pga}{bx}{sl}{<-> CJKb * wpgaxo}{\CJKbold} +\DeclareFontShape{C63}{pga}{bx}{it}{<-> CJKssub * pga/bx/sl}{} + +\DeclareFontShape{C63}{pga}{bux}{n}{<-> CJKb * wpgau}{\CJKbold} +\DeclareFontShape{C63}{pga}{bux}{sl}{<-> CJKb * wpgauo}{\CJKbold} +\DeclareFontShape{C63}{pga}{bux}{it}{<-> CJKssub * pga/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63ph.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63ph.fd new file mode 100644 index 00000000000..8f59e3dcffc --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63ph.fd @@ -0,0 +1,53 @@ +% This is file c63ph.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63ph.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPenHeulim + +\DeclareFontFamily{C63}{ph}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{ph}{c}{n}{<-> CJK * wphc}{} +\DeclareFontShape{C63}{ph}{c}{sl}{<-> CJK * wphco}{} +\DeclareFontShape{C63}{ph}{c}{it}{<-> CJKssub * ph/c/sl}{} + +\DeclareFontShape{C63}{ph}{m}{n}{<-> CJK * wph}{} +\DeclareFontShape{C63}{ph}{m}{sl}{<-> CJK * wpho}{} +\DeclareFontShape{C63}{ph}{m}{it}{<-> CJKssub * ph/m/sl}{} + +\DeclareFontShape{C63}{ph}{x}{n}{<-> CJK * wphx}{} +\DeclareFontShape{C63}{ph}{x}{sl}{<-> CJK * wphxo}{} +\DeclareFontShape{C63}{ph}{x}{it}{<-> CJKssub * ph/x/sl}{} + +\DeclareFontShape{C63}{ph}{ux}{n}{<-> CJK * wphu}{} +\DeclareFontShape{C63}{ph}{ux}{sl}{<-> CJK * wphuo}{} +\DeclareFontShape{C63}{ph}{ux}{it}{<-> CJKssub * ph/ux/sl}{} + +\DeclareFontShape{C63}{ph}{bc}{n}{<-> CJKb * wphc}{\CJKbold} +\DeclareFontShape{C63}{ph}{bc}{sl}{<-> CJKb * wphco}{\CJKbold} +\DeclareFontShape{C63}{ph}{bc}{it}{<-> CJKssub * ph/bc/sl}{} + +\DeclareFontShape{C63}{ph}{b}{n}{<-> CJKb * wph}{\CJKbold} +\DeclareFontShape{C63}{ph}{b}{sl}{<-> CJKb * wpho}{\CJKbold} +\DeclareFontShape{C63}{ph}{b}{it}{<-> CJKssub * ph/b/sl}{} + +\DeclareFontShape{C63}{ph}{bx}{n}{<-> CJKb * wphx}{\CJKbold} +\DeclareFontShape{C63}{ph}{bx}{sl}{<-> CJKb * wphxo}{\CJKbold} +\DeclareFontShape{C63}{ph}{bx}{it}{<-> CJKssub * ph/bx/sl}{} + +\DeclareFontShape{C63}{ph}{bux}{n}{<-> CJKb * wphu}{\CJKbold} +\DeclareFontShape{C63}{ph}{bux}{sl}{<-> CJKb * wphuo}{\CJKbold} +\DeclareFontShape{C63}{ph}{bux}{it}{<-> CJKssub * ph/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pn.fd new file mode 100644 index 00000000000..98297599ba5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63pn.fd @@ -0,0 +1,53 @@ +% This is file c63pn.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63pn.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPen + +\DeclareFontFamily{C63}{pn}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{pn}{c}{n}{<-> CJK * wpnc}{} +\DeclareFontShape{C63}{pn}{c}{sl}{<-> CJK * wpnco}{} +\DeclareFontShape{C63}{pn}{c}{it}{<-> CJKssub * pn/c/sl}{} + +\DeclareFontShape{C63}{pn}{m}{n}{<-> CJK * wpn}{} +\DeclareFontShape{C63}{pn}{m}{sl}{<-> CJK * wpno}{} +\DeclareFontShape{C63}{pn}{m}{it}{<-> CJKssub * pn/m/sl}{} + +\DeclareFontShape{C63}{pn}{x}{n}{<-> CJK * wpnx}{} +\DeclareFontShape{C63}{pn}{x}{sl}{<-> CJK * wpnxo}{} +\DeclareFontShape{C63}{pn}{x}{it}{<-> CJKssub * pn/x/sl}{} + +\DeclareFontShape{C63}{pn}{ux}{n}{<-> CJK * wpnu}{} +\DeclareFontShape{C63}{pn}{ux}{sl}{<-> CJK * wpnuo}{} +\DeclareFontShape{C63}{pn}{ux}{it}{<-> CJKssub * pn/ux/sl}{} + +\DeclareFontShape{C63}{pn}{bc}{n}{<-> CJKb * wpnc}{\CJKbold} +\DeclareFontShape{C63}{pn}{bc}{sl}{<-> CJKb * wpnco}{\CJKbold} +\DeclareFontShape{C63}{pn}{bc}{it}{<-> CJKssub * pn/bc/sl}{} + +\DeclareFontShape{C63}{pn}{b}{n}{<-> CJKb * wpn}{\CJKbold} +\DeclareFontShape{C63}{pn}{b}{sl}{<-> CJKb * wpno}{\CJKbold} +\DeclareFontShape{C63}{pn}{b}{it}{<-> CJKssub * pn/b/sl}{} + +\DeclareFontShape{C63}{pn}{bx}{n}{<-> CJKb * wpnx}{\CJKbold} +\DeclareFontShape{C63}{pn}{bx}{sl}{<-> CJKb * wpnxo}{\CJKbold} +\DeclareFontShape{C63}{pn}{bx}{it}{<-> CJKssub * pn/bx/sl}{} + +\DeclareFontShape{C63}{pn}{bux}{n}{<-> CJKb * wpnu}{\CJKbold} +\DeclareFontShape{C63}{pn}{bux}{sl}{<-> CJKb * wpnuo}{\CJKbold} +\DeclareFontShape{C63}{pn}{bux}{it}{<-> CJKssub * pn/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63sh.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63sh.fd new file mode 100644 index 00000000000..854fb0a510f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63sh.fd @@ -0,0 +1,53 @@ +% This is file c63sh.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63sh.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcShinmunMyoungjo + +\DeclareFontFamily{C63}{hwsh}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{sh}{c}{n}{<-> CJK * wshc}{} +\DeclareFontShape{C63}{sh}{c}{sl}{<-> CJK * wshco}{} +\DeclareFontShape{C63}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{} + +\DeclareFontShape{C63}{sh}{m}{n}{<-> CJK * wsh}{} +\DeclareFontShape{C63}{sh}{m}{sl}{<-> CJK * wsho}{} +\DeclareFontShape{C63}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{} + +\DeclareFontShape{C63}{sh}{x}{n}{<-> CJK * wshx}{} +\DeclareFontShape{C63}{sh}{x}{sl}{<-> CJK * wshxo}{} +\DeclareFontShape{C63}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{} + +\DeclareFontShape{C63}{sh}{ux}{n}{<-> CJK * wshu}{} +\DeclareFontShape{C63}{sh}{ux}{sl}{<-> CJK * wshuo}{} +\DeclareFontShape{C63}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{} + +\DeclareFontShape{C63}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{} +\DeclareFontShape{C63}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{} +\DeclareFontShape{C63}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{} + +\DeclareFontShape{C63}{sh}{b}{n}{<-> CJKssub * sh/m/n}{} +\DeclareFontShape{C63}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{} +\DeclareFontShape{C63}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{} + +\DeclareFontShape{C63}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{} +\DeclareFontShape{C63}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{} +\DeclareFontShape{C63}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{} + +\DeclareFontShape{C63}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{} +\DeclareFontShape{C63}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{} +\DeclareFontShape{C63}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63tz.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63tz.fd new file mode 100644 index 00000000000..26ee5e72c96 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63tz.fd @@ -0,0 +1,53 @@ +% This is file c63tz.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63tz.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcTypewriter + +\DeclareFontFamily{C63}{tz}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{tz}{c}{n}{<-> CJK * wttc}{} +\DeclareFontShape{C63}{tz}{c}{sl}{<-> CJK * wttco}{} +\DeclareFontShape{C63}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{} + +\DeclareFontShape{C63}{tz}{m}{n}{<-> CJK * wtt}{} +\DeclareFontShape{C63}{tz}{m}{sl}{<-> CJK * wtto}{} +\DeclareFontShape{C63}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{} + +\DeclareFontShape{C63}{tz}{x}{n}{<-> CJK * wttx}{} +\DeclareFontShape{C63}{tz}{x}{sl}{<-> CJK * wttxo}{} +\DeclareFontShape{C63}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{} + +\DeclareFontShape{C63}{tz}{ux}{n}{<-> CJK * wttu}{} +\DeclareFontShape{C63}{tz}{ux}{sl}{<-> CJK * wttuo}{} +\DeclareFontShape{C63}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{} + +\DeclareFontShape{C63}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold} +\DeclareFontShape{C63}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold} +\DeclareFontShape{C63}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{} + +\DeclareFontShape{C63}{tz}{b}{n}{<-> CJKb * wtt}{\CJKbold} +\DeclareFontShape{C63}{tz}{b}{sl}{<-> CJKb * wtto}{\CJKbold} +\DeclareFontShape{C63}{tz}{b}{it}{<-> CJKssub * tz/b/sl}{} + +\DeclareFontShape{C63}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold} +\DeclareFontShape{C63}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold} +\DeclareFontShape{C63}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{} + +\DeclareFontShape{C63}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold} +\DeclareFontShape{C63}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold} +\DeclareFontShape{C63}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63vd.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63vd.fd new file mode 100644 index 00000000000..884ecafe952 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63vd.fd @@ -0,0 +1,53 @@ +% This is file c63vd.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63vd.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcVada + +\DeclareFontFamily{C63}{vd}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{vd}{c}{n}{<-> CJK * wvdc}{} +\DeclareFontShape{C63}{vd}{c}{sl}{<-> CJK * wvdco}{} +\DeclareFontShape{C63}{vd}{c}{it}{<-> CJKssub * vd/c/sl}{} + +\DeclareFontShape{C63}{vd}{m}{n}{<-> CJK * wvd}{} +\DeclareFontShape{C63}{vd}{m}{sl}{<-> CJK * wvdo}{} +\DeclareFontShape{C63}{vd}{m}{it}{<-> CJKssub * vd/m/sl}{} + +\DeclareFontShape{C63}{vd}{x}{n}{<-> CJK * wvdx}{} +\DeclareFontShape{C63}{vd}{x}{sl}{<-> CJK * wvdxo}{} +\DeclareFontShape{C63}{vd}{x}{it}{<-> CJKssub * vd/x/sl}{} + +\DeclareFontShape{C63}{vd}{ux}{n}{<-> CJK * wvdu}{} +\DeclareFontShape{C63}{vd}{ux}{sl}{<-> CJK * wvduo}{} +\DeclareFontShape{C63}{vd}{ux}{it}{<-> CJKssub * vd/ux/sl}{} + +\DeclareFontShape{C63}{vd}{bc}{n}{<-> CJKb * wvdc}{\CJKbold} +\DeclareFontShape{C63}{vd}{bc}{sl}{<-> CJKb * wvdco}{\CJKbold} +\DeclareFontShape{C63}{vd}{bc}{it}{<-> CJKssub * vd/bc/sl}{} + +\DeclareFontShape{C63}{vd}{b}{n}{<-> CJKb * wvd}{\CJKbold} +\DeclareFontShape{C63}{vd}{b}{sl}{<-> CJKb * wvdo}{\CJKbold} +\DeclareFontShape{C63}{vd}{b}{it}{<-> CJKssub * vd/b/sl}{} + +\DeclareFontShape{C63}{vd}{bx}{n}{<-> CJKb * wvdx}{\CJKbold} +\DeclareFontShape{C63}{vd}{bx}{sl}{<-> CJKb * wvdxo}{\CJKbold} +\DeclareFontShape{C63}{vd}{bx}{it}{<-> CJKssub * vd/bx/sl}{} + +\DeclareFontShape{C63}{vd}{bux}{n}{<-> CJKb * wvdu}{\CJKbold} +\DeclareFontShape{C63}{vd}{bux}{sl}{<-> CJKb * wvduo}{\CJKbold} +\DeclareFontShape{C63}{vd}{bux}{it}{<-> CJKssub * vd/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63yt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63yt.fd new file mode 100644 index 00000000000..00ab44bf35c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c63yt.fd @@ -0,0 +1,53 @@ +% This is file c63yt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63yt.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcYetgul + +\DeclareFontFamily{C63}{yt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{yt}{c}{n}{<-> CJK * wytc}{} +\DeclareFontShape{C63}{yt}{c}{sl}{<-> CJK * wytco}{} +\DeclareFontShape{C63}{yt}{c}{it}{<-> CJKssub * yt/c/sl}{} + +\DeclareFontShape{C63}{yt}{m}{n}{<-> CJK * wyt}{} +\DeclareFontShape{C63}{yt}{m}{sl}{<-> CJK * wyto}{} +\DeclareFontShape{C63}{yt}{m}{it}{<-> CJKssub * yt/m/sl}{} + +\DeclareFontShape{C63}{yt}{x}{n}{<-> CJK * wytx}{} +\DeclareFontShape{C63}{yt}{x}{sl}{<-> CJK * wytxo}{} +\DeclareFontShape{C63}{yt}{x}{it}{<-> CJKssub * yt/x/sl}{} + +\DeclareFontShape{C63}{yt}{ux}{n}{<-> CJK * wytu}{} +\DeclareFontShape{C63}{yt}{ux}{sl}{<-> CJK * wytuo}{} +\DeclareFontShape{C63}{yt}{ux}{it}{<-> CJKssub * yt/ux/sl}{} + +\DeclareFontShape{C63}{yt}{bc}{n}{<-> CJKb * wytc}{\CJKbold} +\DeclareFontShape{C63}{yt}{bc}{sl}{<-> CJKb * wytco}{\CJKbold} +\DeclareFontShape{C63}{yt}{bc}{it}{<-> CJKssub * yt/bc/sl}{} + +\DeclareFontShape{C63}{yt}{b}{n}{<-> CJKb * wyt}{\CJKbold} +\DeclareFontShape{C63}{yt}{b}{sl}{<-> CJKb * wyto}{\CJKbold} +\DeclareFontShape{C63}{yt}{b}{it}{<-> CJKssub * yt/b/sl}{} + +\DeclareFontShape{C63}{yt}{bx}{n}{<-> CJKb * wytx}{\CJKbold} +\DeclareFontShape{C63}{yt}{bx}{sl}{<-> CJKb * wytxo}{\CJKbold} +\DeclareFontShape{C63}{yt}{bx}{it}{<-> CJKssub * yt/bx/sl}{} + +\DeclareFontShape{C63}{yt}{bux}{n}{<-> CJKb * wytu}{\CJKbold} +\DeclareFontShape{C63}{yt}{bux}{sl}{<-> CJKb * wytuo}{\CJKbold} +\DeclareFontShape{C63}{yt}{bux}{it}{<-> CJKssub * yt/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64bm.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64bm.fd new file mode 100644 index 00000000000..5d8bc0cf470 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64bm.fd @@ -0,0 +1,53 @@ +% This is file c64bm.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64bm.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcBom + +\DeclareFontFamily{C64}{bm}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{bm}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{bm}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{bm}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{bm}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{bm}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{bm}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{bm}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{bm}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{bm}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{bm}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{bm}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{bm}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C64}{bm}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C64}{bm}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C64}{bm}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C64}{bm}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C64}{bm}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C64}{bm}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C64}{bm}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C64}{bm}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C64}{bm}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C64}{bm}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C64}{bm}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C64}{bm}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64dn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64dn.fd new file mode 100644 index 00000000000..1313ba099fb --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64dn.fd @@ -0,0 +1,69 @@ +% This is file c64dn.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64dn.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcDinaru + +\DeclareFontFamily{C64}{dn}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{dn}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{dn}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{dn}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{dn}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{dn}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{dn}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{dn}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{dn}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{dn}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{dn}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{dn}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{dn}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C64}{dn}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C64}{dn}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C64}{dn}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C64}{dn}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C64}{dn}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C64}{dn}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C64}{dn}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C64}{dn}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C64}{dn}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C64}{dn}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C64}{dn}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C64}{dn}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\DeclareFontShape{C64}{dn}{lc}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{dn}{lc}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{dn}{lc}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{dn}{l}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{dn}{l}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{dn}{l}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{dn}{lx}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{dn}{lx}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{dn}{lx}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{dn}{lux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{dn}{lux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{dn}{lux}{it}{<-> CJKssub * gt/ux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gr.fd new file mode 100644 index 00000000000..9ba1643afac --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gr.fd @@ -0,0 +1,53 @@ +% This is file c64gr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64gr.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcGraphic + +\DeclareFontFamily{C64}{gr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{gr}{c}{n}{<-> CJK * wgrc}{} +\DeclareFontShape{C64}{gr}{c}{sl}{<-> CJK * wgrco}{} +\DeclareFontShape{C64}{gr}{c}{it}{<-> CJKssub * gr/c/sl}{} + +\DeclareFontShape{C64}{gr}{m}{n}{<-> CJK * wgr}{} +\DeclareFontShape{C64}{gr}{m}{sl}{<-> CJK * wgro}{} +\DeclareFontShape{C64}{gr}{m}{it}{<-> CJKssub * gr/m/sl}{} + +\DeclareFontShape{C64}{gr}{x}{n}{<-> CJK * wgrx}{} +\DeclareFontShape{C64}{gr}{x}{sl}{<-> CJK * wgrxo}{} +\DeclareFontShape{C64}{gr}{x}{it}{<-> CJKssub * gr/x/sl}{} + +\DeclareFontShape{C64}{gr}{ux}{n}{<-> CJK * wgru}{} +\DeclareFontShape{C64}{gr}{ux}{sl}{<-> CJK * wgruo}{} +\DeclareFontShape{C64}{gr}{ux}{it}{<-> CJKssub * gr/ux/sl}{} + +\DeclareFontShape{C64}{gr}{bc}{n}{<-> CJK * wgrbc}{} +\DeclareFontShape{C64}{gr}{bc}{sl}{<-> CJK * wgrbco}{} +\DeclareFontShape{C64}{gr}{bc}{it}{<-> CJKssub * gr/bc/sl}{} + +\DeclareFontShape{C64}{gr}{b}{n}{<-> CJK * wgrb}{} +\DeclareFontShape{C64}{gr}{b}{sl}{<-> CJK * wgrbo}{} +\DeclareFontShape{C64}{gr}{b}{it}{<-> CJKssub * gr/b/sl}{} + +\DeclareFontShape{C64}{gr}{bx}{n}{<-> CJK * wgrbx}{} +\DeclareFontShape{C64}{gr}{bx}{sl}{<-> CJK * wgrbxo}{} +\DeclareFontShape{C64}{gr}{bx}{it}{<-> CJKssub * gr/bx/sl}{} + +\DeclareFontShape{C64}{gr}{bux}{n}{<-> CJK * wgrbu}{} +\DeclareFontShape{C64}{gr}{bux}{sl}{<-> CJK * wgrbuo}{} +\DeclareFontShape{C64}{gr}{bux}{it}{<-> CJKssub * gr/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gs.fd new file mode 100644 index 00000000000..661eaefaf90 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gs.fd @@ -0,0 +1,53 @@ +% This is file c64gs.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64gs.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcGungseo + +\DeclareFontFamily{C64}{gs}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{gs}{bc}{n}{<-> CJK * wgsc}{} +\DeclareFontShape{C64}{gs}{bc}{sl}{<-> CJK * wgsco}{} +\DeclareFontShape{C64}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{} + +\DeclareFontShape{C64}{gs}{b}{n}{<-> CJK * wgs}{} +\DeclareFontShape{C64}{gs}{b}{sl}{<-> CJK * wgso}{} +\DeclareFontShape{C64}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{} + +\DeclareFontShape{C64}{gs}{bx}{n}{<-> CJK * wgsx}{} +\DeclareFontShape{C64}{gs}{bx}{sl}{<-> CJK * wgsxo}{} +\DeclareFontShape{C64}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{} + +\DeclareFontShape{C64}{gs}{bux}{n}{<-> CJK * wgsu}{} +\DeclareFontShape{C64}{gs}{bux}{sl}{<-> CJK * wgsuo}{} +\DeclareFontShape{C64}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{} + +\DeclareFontShape{C64}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{} +\DeclareFontShape{C64}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{} +\DeclareFontShape{C64}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{} + +\DeclareFontShape{C64}{gs}{m}{n}{<-> CJKssub * gs/b/n}{} +\DeclareFontShape{C64}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{} +\DeclareFontShape{C64}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{} + +\DeclareFontShape{C64}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{} +\DeclareFontShape{C64}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{} +\DeclareFontShape{C64}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{} + +\DeclareFontShape{C64}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{} +\DeclareFontShape{C64}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{} +\DeclareFontShape{C64}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gt.fd new file mode 100644 index 00000000000..db81dfd02c3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64gt.fd @@ -0,0 +1,53 @@ +% This is file c64gt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64gt.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcGothic + +\DeclareFontFamily{C64}{gt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{gt}{c}{n}{<-> CJK * wgtc}{} +\DeclareFontShape{C64}{gt}{c}{sl}{<-> CJK * wgtco}{} +\DeclareFontShape{C64}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{} + +\DeclareFontShape{C64}{gt}{m}{n}{<-> CJK * wgt}{} +\DeclareFontShape{C64}{gt}{m}{sl}{<-> CJK * wgto}{} +\DeclareFontShape{C64}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{} + +\DeclareFontShape{C64}{gt}{x}{n}{<-> CJK * wgtx}{} +\DeclareFontShape{C64}{gt}{x}{sl}{<-> CJK * wgtxo}{} +\DeclareFontShape{C64}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{} + +\DeclareFontShape{C64}{gt}{ux}{n}{<-> CJK * wgtu}{} +\DeclareFontShape{C64}{gt}{ux}{sl}{<-> CJK * wgtuo}{} +\DeclareFontShape{C64}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{} + +\DeclareFontShape{C64}{gt}{bc}{n}{<-> CJK * wgtbc}{} +\DeclareFontShape{C64}{gt}{bc}{sl}{<-> CJK * wgtbco}{} +\DeclareFontShape{C64}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{} + +\DeclareFontShape{C64}{gt}{b}{n}{<-> CJK * wgtb}{} +\DeclareFontShape{C64}{gt}{b}{sl}{<-> CJK * wgtbo}{} +\DeclareFontShape{C64}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{} + +\DeclareFontShape{C64}{gt}{bx}{n}{<-> CJK * wgtbx}{} +\DeclareFontShape{C64}{gt}{bx}{sl}{<-> CJK * wgtbxo}{} +\DeclareFontShape{C64}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{} + +\DeclareFontShape{C64}{gt}{bux}{n}{<-> CJK * wgtbu}{} +\DeclareFontShape{C64}{gt}{bux}{sl}{<-> CJK * wgtbuo}{} +\DeclareFontShape{C64}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jgt.fd new file mode 100644 index 00000000000..3c0d15bda47 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jgt.fd @@ -0,0 +1,53 @@ +% This is file c64jgt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64jgt.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoGothic + +\DeclareFontFamily{C64}{jgt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{jgt}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{jgt}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{jgt}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{jgt}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{jgt}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{jgt}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{jgt}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{jgt}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{jgt}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{jgt}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{jgt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{jgt}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C64}{jgt}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C64}{jgt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C64}{jgt}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C64}{jgt}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C64}{jgt}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C64}{jgt}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C64}{jgt}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C64}{jgt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C64}{jgt}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C64}{jgt}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C64}{jgt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C64}{jgt}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jmj.fd new file mode 100644 index 00000000000..6c10701f759 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jmj.fd @@ -0,0 +1,53 @@ +% This is file c64jmj.fd of the CJK package +% for using Asian logograjmjs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64jmj.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoMyoungjo + +\DeclareFontFamily{C64}{jmj}{\hyjmjenchar \font\m@ne} + +\DeclareFontShape{C64}{jmj}{c}{n}{<-> CJKssub * mj/c/n}{} +\DeclareFontShape{C64}{jmj}{c}{sl}{<-> CJKssub * mj/c/sl}{} +\DeclareFontShape{C64}{jmj}{c}{it}{<-> CJKssub * mj/c/it}{} + +\DeclareFontShape{C64}{jmj}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C64}{jmj}{m}{sl}{<-> CJKssub * mj/m/sl}{} +\DeclareFontShape{C64}{jmj}{m}{it}{<-> CJKssub * mj/m/it}{} + +\DeclareFontShape{C64}{jmj}{x}{n}{<-> CJKssub * mj/x/n}{} +\DeclareFontShape{C64}{jmj}{x}{sl}{<-> CJKssub * mj/x/sl}{} +\DeclareFontShape{C64}{jmj}{x}{it}{<-> CJKssub * mj/x/it}{} + +\DeclareFontShape{C64}{jmj}{ux}{n}{<-> CJKssub * mj/ux/n}{} +\DeclareFontShape{C64}{jmj}{ux}{sl}{<-> CJKssub * mj/ux/sl}{} +\DeclareFontShape{C64}{jmj}{ux}{it}{<-> CJKssub * mj/ux/it}{} + +\DeclareFontShape{C64}{jmj}{bc}{n}{<-> CJKssub * mj/bc/n}{} +\DeclareFontShape{C64}{jmj}{bc}{sl}{<-> CJKssub * mj/bc/sl}{} +\DeclareFontShape{C64}{jmj}{bc}{it}{<-> CJKssub * mj/bc/it}{} + +\DeclareFontShape{C64}{jmj}{b}{n}{<-> CJKssub * mj/b/n}{} +\DeclareFontShape{C64}{jmj}{b}{sl}{<-> CJKssub * mj/b/sl}{} +\DeclareFontShape{C64}{jmj}{b}{it}{<-> CJKssub * mj/b/it}{} + +\DeclareFontShape{C64}{jmj}{bx}{n}{<-> CJKssub * mj/bx/n}{} +\DeclareFontShape{C64}{jmj}{bx}{sl}{<-> CJKssub * mj/bx/sl}{} +\DeclareFontShape{C64}{jmj}{bx}{it}{<-> CJKssub * mj/bx/it}{} + +\DeclareFontShape{C64}{jmj}{bux}{n}{<-> CJKssub * mj/bux/n}{} +\DeclareFontShape{C64}{jmj}{bux}{sl}{<-> CJKssub * mj/bux/sl}{} +\DeclareFontShape{C64}{jmj}{bux}{it}{<-> CJKssub * mj/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jnv.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jnv.fd new file mode 100644 index 00000000000..5148864360d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jnv.fd @@ -0,0 +1,53 @@ +% This is file c64jnv.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64jnv.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoNovel + +\DeclareFontFamily{C64}{jnv}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{jnv}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{jnv}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{jnv}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{jnv}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{jnv}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{jnv}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{jnv}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{jnv}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{jnv}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{jnv}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{jnv}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{jnv}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C64}{jnv}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C64}{jnv}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C64}{jnv}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C64}{jnv}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C64}{jnv}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C64}{jnv}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C64}{jnv}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C64}{jnv}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C64}{jnv}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C64}{jnv}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C64}{jnv}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C64}{jnv}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jsr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jsr.fd new file mode 100644 index 00000000000..ca42dcd8c94 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64jsr.fd @@ -0,0 +1,53 @@ +% This is file c64jsr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64jsr.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoSora + +\DeclareFontFamily{C64}{jsr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{jsr}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{jsr}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{jsr}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{jsr}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{jsr}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{jsr}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{jsr}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{jsr}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{jsr}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{jsr}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{jsr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{jsr}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C64}{jsr}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C64}{jsr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C64}{jsr}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C64}{jsr}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C64}{jsr}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C64}{jsr}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C64}{jsr}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C64}{jsr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C64}{jsr}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C64}{jsr}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C64}{jsr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C64}{jsr}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64mj.fd new file mode 100644 index 00000000000..d4d429404cd --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64mj.fd @@ -0,0 +1,53 @@ +% This is file c64mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64mj.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C64}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C64}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C64}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C64}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C64}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C64}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C64}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C64}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C64}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C64}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C64}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C64}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C64}{mj}{bc}{n}{<-> CJK * wmjbc}{} +\DeclareFontShape{C64}{mj}{bc}{sl}{<-> CJK * wmjbco}{} +\DeclareFontShape{C64}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C64}{mj}{b}{n}{<-> CJK * wmjb}{} +\DeclareFontShape{C64}{mj}{b}{sl}{<-> CJK * wmjbo}{} +\DeclareFontShape{C64}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C64}{mj}{bx}{n}{<-> CJK * wmjbx}{} +\DeclareFontShape{C64}{mj}{bx}{sl}{<-> CJK * wmjbxo}{} +\DeclareFontShape{C64}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C64}{mj}{bux}{n}{<-> CJK * wmjbu}{} +\DeclareFontShape{C64}{mj}{bux}{sl}{<-> CJK * wmjbuo}{} +\DeclareFontShape{C64}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pg.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pg.fd new file mode 100644 index 00000000000..df6c644753d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pg.fd @@ -0,0 +1,53 @@ +% This is file c64pg.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64pg.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPilgi + +\DeclareFontFamily{C64}{pg}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{pg}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{pg}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{pg}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{pg}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{pg}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{pg}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{pg}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{pg}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{pg}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{pg}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{pg}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{pg}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C64}{pg}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C64}{pg}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C64}{pg}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C64}{pg}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C64}{pg}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C64}{pg}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C64}{pg}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C64}{pg}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C64}{pg}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C64}{pg}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C64}{pg}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C64}{pg}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pga.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pga.fd new file mode 100644 index 00000000000..a2adf9a457d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pga.fd @@ -0,0 +1,53 @@ +% This is file c64pga.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64pga.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPilgia + +\DeclareFontFamily{C64}{pga}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{pga}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{pga}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{pga}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{pga}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{pga}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{pga}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{pga}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{pga}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{pga}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{pga}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{pga}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{pga}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C64}{pga}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C64}{pga}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C64}{pga}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C64}{pga}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C64}{pga}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C64}{pga}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C64}{pga}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C64}{pga}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C64}{pga}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C64}{pga}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C64}{pga}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C64}{pga}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64ph.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64ph.fd new file mode 100644 index 00000000000..6d524bd701c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64ph.fd @@ -0,0 +1,53 @@ +% This is file c64ph.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64ph.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPenHeulim + +\DeclareFontFamily{C64}{ph}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{ph}{c}{n}{<-> CJKssub * mj/c/n}{} +\DeclareFontShape{C64}{ph}{c}{sl}{<-> CJKssub * mj/c/sl}{} +\DeclareFontShape{C64}{ph}{c}{it}{<-> CJKssub * mj/c/it}{} + +\DeclareFontShape{C64}{ph}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C64}{ph}{m}{sl}{<-> CJKssub * mj/m/sl}{} +\DeclareFontShape{C64}{ph}{m}{it}{<-> CJKssub * mj/m/it}{} + +\DeclareFontShape{C64}{ph}{x}{n}{<-> CJKssub * mj/x/n}{} +\DeclareFontShape{C64}{ph}{x}{sl}{<-> CJKssub * mj/x/sl}{} +\DeclareFontShape{C64}{ph}{x}{it}{<-> CJKssub * mj/x/it}{} + +\DeclareFontShape{C64}{ph}{ux}{n}{<-> CJKssub * mj/ux/n}{} +\DeclareFontShape{C64}{ph}{ux}{sl}{<-> CJKssub * mj/ux/sl}{} +\DeclareFontShape{C64}{ph}{ux}{it}{<-> CJKssub * mj/ux/it}{} + +\DeclareFontShape{C64}{ph}{bc}{n}{<-> CJKssub * mj/bc/n}{} +\DeclareFontShape{C64}{ph}{bc}{sl}{<-> CJKssub * mj/bc/sl}{} +\DeclareFontShape{C64}{ph}{bc}{it}{<-> CJKssub * mj/bc/it}{} + +\DeclareFontShape{C64}{ph}{b}{n}{<-> CJKssub * mj/b/n}{} +\DeclareFontShape{C64}{ph}{b}{sl}{<-> CJKssub * mj/b/sl}{} +\DeclareFontShape{C64}{ph}{b}{it}{<-> CJKssub * mj/b/it}{} + +\DeclareFontShape{C64}{ph}{bx}{n}{<-> CJKssub * mj/bx/n}{} +\DeclareFontShape{C64}{ph}{bx}{sl}{<-> CJKssub * mj/bx/sl}{} +\DeclareFontShape{C64}{ph}{bx}{it}{<-> CJKssub * mj/bx/it}{} + +\DeclareFontShape{C64}{ph}{bux}{n}{<-> CJKssub * mj/bux/n}{} +\DeclareFontShape{C64}{ph}{bux}{sl}{<-> CJKssub * mj/bux/sl}{} +\DeclareFontShape{C64}{ph}{bux}{it}{<-> CJKssub * mj/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pn.fd new file mode 100644 index 00000000000..a975e0038ab --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64pn.fd @@ -0,0 +1,53 @@ +% This is file c64pn.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64pn.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPen + +\DeclareFontFamily{C64}{pn}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{pn}{c}{n}{<-> CJKssub * mj/c/n}{} +\DeclareFontShape{C64}{pn}{c}{sl}{<-> CJKssub * mj/c/sl}{} +\DeclareFontShape{C64}{pn}{c}{it}{<-> CJKssub * mj/c/it}{} + +\DeclareFontShape{C64}{pn}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C64}{pn}{m}{sl}{<-> CJKssub * mj/m/sl}{} +\DeclareFontShape{C64}{pn}{m}{it}{<-> CJKssub * mj/m/it}{} + +\DeclareFontShape{C64}{pn}{x}{n}{<-> CJKssub * mj/x/n}{} +\DeclareFontShape{C64}{pn}{x}{sl}{<-> CJKssub * mj/x/sl}{} +\DeclareFontShape{C64}{pn}{x}{it}{<-> CJKssub * mj/x/it}{} + +\DeclareFontShape{C64}{pn}{ux}{n}{<-> CJKssub * mj/ux/n}{} +\DeclareFontShape{C64}{pn}{ux}{sl}{<-> CJKssub * mj/ux/sl}{} +\DeclareFontShape{C64}{pn}{ux}{it}{<-> CJKssub * mj/ux/it}{} + +\DeclareFontShape{C64}{pn}{bc}{n}{<-> CJKssub * mj/bc/n}{} +\DeclareFontShape{C64}{pn}{bc}{sl}{<-> CJKssub * mj/bc/sl}{} +\DeclareFontShape{C64}{pn}{bc}{it}{<-> CJKssub * mj/bc/it}{} + +\DeclareFontShape{C64}{pn}{b}{n}{<-> CJKssub * mj/b/n}{} +\DeclareFontShape{C64}{pn}{b}{sl}{<-> CJKssub * mj/b/sl}{} +\DeclareFontShape{C64}{pn}{b}{it}{<-> CJKssub * mj/b/it}{} + +\DeclareFontShape{C64}{pn}{bx}{n}{<-> CJKssub * mj/bx/n}{} +\DeclareFontShape{C64}{pn}{bx}{sl}{<-> CJKssub * mj/bx/sl}{} +\DeclareFontShape{C64}{pn}{bx}{it}{<-> CJKssub * mj/bx/it}{} + +\DeclareFontShape{C64}{pn}{bux}{n}{<-> CJKssub * mj/bux/n}{} +\DeclareFontShape{C64}{pn}{bux}{sl}{<-> CJKssub * mj/bux/sl}{} +\DeclareFontShape{C64}{pn}{bux}{it}{<-> CJKssub * mj/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64sh.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64sh.fd new file mode 100644 index 00000000000..9f62cb67638 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64sh.fd @@ -0,0 +1,53 @@ +% This is file c64sh.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64sh.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcShinmunMyoungjo + +\DeclareFontFamily{C64}{hwsh}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{sh}{c}{n}{<-> CJK * wshc}{} +\DeclareFontShape{C64}{sh}{c}{sl}{<-> CJK * wshco}{} +\DeclareFontShape{C64}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{} + +\DeclareFontShape{C64}{sh}{m}{n}{<-> CJK * wsh}{} +\DeclareFontShape{C64}{sh}{m}{sl}{<-> CJK * wsho}{} +\DeclareFontShape{C64}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{} + +\DeclareFontShape{C64}{sh}{x}{n}{<-> CJK * wshx}{} +\DeclareFontShape{C64}{sh}{x}{sl}{<-> CJK * wshxo}{} +\DeclareFontShape{C64}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{} + +\DeclareFontShape{C64}{sh}{ux}{n}{<-> CJK * wshu}{} +\DeclareFontShape{C64}{sh}{ux}{sl}{<-> CJK * wshuo}{} +\DeclareFontShape{C64}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{} + +\DeclareFontShape{C64}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{} +\DeclareFontShape{C64}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{} +\DeclareFontShape{C64}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{} + +\DeclareFontShape{C64}{sh}{b}{n}{<-> CJKssub * sh/m/n}{} +\DeclareFontShape{C64}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{} +\DeclareFontShape{C64}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{} + +\DeclareFontShape{C64}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{} +\DeclareFontShape{C64}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{} +\DeclareFontShape{C64}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{} + +\DeclareFontShape{C64}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{} +\DeclareFontShape{C64}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{} +\DeclareFontShape{C64}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64tz.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64tz.fd new file mode 100644 index 00000000000..fc38f618e1b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64tz.fd @@ -0,0 +1,53 @@ +% This is file c64tz.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64tz.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcTypewriter + +\DeclareFontFamily{C64}{tz}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{tz}{c}{n}{<-> CJK * wttc}{} +\DeclareFontShape{C64}{tz}{c}{sl}{<-> CJK * wttco}{} +\DeclareFontShape{C64}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{} + +\DeclareFontShape{C64}{tz}{m}{n}{<-> CJK * wtt}{} +\DeclareFontShape{C64}{tz}{m}{sl}{<-> CJK * wtto}{} +\DeclareFontShape{C64}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{} + +\DeclareFontShape{C64}{tz}{x}{n}{<-> CJK * wttx}{} +\DeclareFontShape{C64}{tz}{x}{sl}{<-> CJK * wttxo}{} +\DeclareFontShape{C64}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{} + +\DeclareFontShape{C64}{tz}{ux}{n}{<-> CJK * wttu}{} +\DeclareFontShape{C64}{tz}{ux}{sl}{<-> CJK * wttuo}{} +\DeclareFontShape{C64}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{} + +\DeclareFontShape{C64}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold} +\DeclareFontShape{C64}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold} +\DeclareFontShape{C64}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{} + +\DeclareFontShape{C64}{tz}{bm}{n}{<-> CJKb * wtt}{\CJKbold} +\DeclareFontShape{C64}{tz}{bm}{sl}{<-> CJKb * wtto}{\CJKbold} +\DeclareFontShape{C64}{tz}{bm}{it}{<-> CJKssub * tz/b/sl}{} + +\DeclareFontShape{C64}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold} +\DeclareFontShape{C64}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold} +\DeclareFontShape{C64}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{} + +\DeclareFontShape{C64}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold} +\DeclareFontShape{C64}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold} +\DeclareFontShape{C64}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64vd.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64vd.fd new file mode 100644 index 00000000000..2351cff078d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64vd.fd @@ -0,0 +1,53 @@ +% This is file c64vd.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64vd.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcVada + +\DeclareFontFamily{C64}{vd}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{vd}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{vd}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{vd}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{vd}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{vd}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{vd}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{vd}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{vd}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{vd}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{vd}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{vd}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{vd}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C64}{vd}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C64}{vd}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C64}{vd}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C64}{vd}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C64}{vd}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C64}{vd}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C64}{vd}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C64}{vd}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C64}{vd}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C64}{vd}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C64}{vd}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C64}{vd}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64yt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64yt.fd new file mode 100644 index 00000000000..541e598d7e4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c64yt.fd @@ -0,0 +1,53 @@ +% This is file c64yt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64yt.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcYetgul + +\DeclareFontFamily{C64}{yt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{yt}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C64}{yt}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C64}{yt}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C64}{yt}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C64}{yt}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C64}{yt}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C64}{yt}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C64}{yt}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C64}{yt}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C64}{yt}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C64}{yt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C64}{yt}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C64}{yt}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C64}{yt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C64}{yt}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C64}{yt}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C64}{yt}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C64}{yt}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C64}{yt}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C64}{yt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C64}{yt}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C64}{yt}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C64}{yt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C64}{yt}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65bm.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65bm.fd new file mode 100644 index 00000000000..f196b245c30 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65bm.fd @@ -0,0 +1,53 @@ +% This is file c65bm.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65bm.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcBom + +\DeclareFontFamily{C65}{bm}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{bm}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{bm}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{bm}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{bm}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{bm}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{bm}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{bm}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{bm}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{bm}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{bm}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{bm}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{bm}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C65}{bm}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C65}{bm}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C65}{bm}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C65}{bm}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C65}{bm}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C65}{bm}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C65}{bm}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C65}{bm}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C65}{bm}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C65}{bm}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C65}{bm}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C65}{bm}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65dn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65dn.fd new file mode 100644 index 00000000000..1c04c7e1133 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65dn.fd @@ -0,0 +1,69 @@ +% This is file c65dn.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65dn.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcDinaru + +\DeclareFontFamily{C65}{dn}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{dn}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{dn}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{dn}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{dn}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{dn}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{dn}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{dn}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{dn}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{dn}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{dn}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{dn}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{dn}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C65}{dn}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C65}{dn}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C65}{dn}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C65}{dn}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C65}{dn}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C65}{dn}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C65}{dn}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C65}{dn}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C65}{dn}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C65}{dn}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C65}{dn}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C65}{dn}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\DeclareFontShape{C65}{dn}{lc}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{dn}{lc}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{dn}{lc}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{dn}{l}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{dn}{l}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{dn}{l}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{dn}{lx}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{dn}{lx}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{dn}{lx}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{dn}{lux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{dn}{lux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{dn}{lux}{it}{<-> CJKssub * gt/ux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gr.fd new file mode 100644 index 00000000000..c8f5911c841 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gr.fd @@ -0,0 +1,53 @@ +% This is file c65gr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65gr.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcGraphic + +\DeclareFontFamily{C65}{gr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{gr}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{gr}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{gr}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{gr}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{gr}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{gr}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{gr}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{gr}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{gr}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{gr}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{gr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{gr}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C65}{gr}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C65}{gr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C65}{gr}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C65}{gr}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C65}{gr}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C65}{gr}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C65}{gr}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C65}{gr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C65}{gr}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C65}{gr}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C65}{gr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C65}{gr}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gs.fd new file mode 100644 index 00000000000..ed3ad2ff17d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gs.fd @@ -0,0 +1,53 @@ +% This is file c65gs.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65gs.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcGungseo + +\DeclareFontFamily{C65}{gs}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{gs}{bc}{n}{<-> CJK * wgsc}{} +\DeclareFontShape{C65}{gs}{bc}{sl}{<-> CJK * wgsco}{} +\DeclareFontShape{C65}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{} + +\DeclareFontShape{C65}{gs}{b}{n}{<-> CJK * wgs}{} +\DeclareFontShape{C65}{gs}{b}{sl}{<-> CJK * wgso}{} +\DeclareFontShape{C65}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{} + +\DeclareFontShape{C65}{gs}{bx}{n}{<-> CJK * wgsx}{} +\DeclareFontShape{C65}{gs}{bx}{sl}{<-> CJK * wgsxo}{} +\DeclareFontShape{C65}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{} + +\DeclareFontShape{C65}{gs}{bux}{n}{<-> CJK * wgsu}{} +\DeclareFontShape{C65}{gs}{bux}{sl}{<-> CJK * wgsuo}{} +\DeclareFontShape{C65}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{} + +\DeclareFontShape{C65}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{} +\DeclareFontShape{C65}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{} +\DeclareFontShape{C65}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{} + +\DeclareFontShape{C65}{gs}{m}{n}{<-> CJKssub * gs/b/n}{} +\DeclareFontShape{C65}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{} +\DeclareFontShape{C65}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{} + +\DeclareFontShape{C65}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{} +\DeclareFontShape{C65}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{} +\DeclareFontShape{C65}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{} + +\DeclareFontShape{C65}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{} +\DeclareFontShape{C65}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{} +\DeclareFontShape{C65}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gt.fd new file mode 100644 index 00000000000..25158e344ae --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65gt.fd @@ -0,0 +1,53 @@ +% This is file c65gt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65gt.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcGothic + +\DeclareFontFamily{C65}{gt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{gt}{c}{n}{<-> CJK * wgtc}{} +\DeclareFontShape{C65}{gt}{c}{sl}{<-> CJK * wgtco}{} +\DeclareFontShape{C65}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{} + +\DeclareFontShape{C65}{gt}{m}{n}{<-> CJK * wgt}{} +\DeclareFontShape{C65}{gt}{m}{sl}{<-> CJK * wgto}{} +\DeclareFontShape{C65}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{} + +\DeclareFontShape{C65}{gt}{x}{n}{<-> CJK * wgtx}{} +\DeclareFontShape{C65}{gt}{x}{sl}{<-> CJK * wgtxo}{} +\DeclareFontShape{C65}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{} + +\DeclareFontShape{C65}{gt}{ux}{n}{<-> CJK * wgtu}{} +\DeclareFontShape{C65}{gt}{ux}{sl}{<-> CJK * wgtuo}{} +\DeclareFontShape{C65}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{} + +\DeclareFontShape{C65}{gt}{bc}{n}{<-> CJK * wgtbc}{} +\DeclareFontShape{C65}{gt}{bc}{sl}{<-> CJK * wgtbco}{} +\DeclareFontShape{C65}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{} + +\DeclareFontShape{C65}{gt}{b}{n}{<-> CJK * wgtb}{} +\DeclareFontShape{C65}{gt}{b}{sl}{<-> CJK * wgtbo}{} +\DeclareFontShape{C65}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{} + +\DeclareFontShape{C65}{gt}{bx}{n}{<-> CJK * wgtbx}{} +\DeclareFontShape{C65}{gt}{bx}{sl}{<-> CJK * wgtbxo}{} +\DeclareFontShape{C65}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{} + +\DeclareFontShape{C65}{gt}{bux}{n}{<-> CJK * wgtbu}{} +\DeclareFontShape{C65}{gt}{bux}{sl}{<-> CJK * wgtbuo}{} +\DeclareFontShape{C65}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jgt.fd new file mode 100644 index 00000000000..c8d8f866d14 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jgt.fd @@ -0,0 +1,53 @@ +% This is file c65jgt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65jgt.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoGothic + +\DeclareFontFamily{C65}{jgt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{jgt}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{jgt}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{jgt}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{jgt}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{jgt}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{jgt}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{jgt}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{jgt}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{jgt}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{jgt}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{jgt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{jgt}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C65}{jgt}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C65}{jgt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C65}{jgt}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C65}{jgt}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C65}{jgt}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C65}{jgt}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C65}{jgt}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C65}{jgt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C65}{jgt}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C65}{jgt}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C65}{jgt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C65}{jgt}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jmj.fd new file mode 100644 index 00000000000..c23a71e60e4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jmj.fd @@ -0,0 +1,53 @@ +% This is file c65jmj.fd of the CJK package +% for using Asian logograjmjs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65jmj.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoMyoungjo + +\DeclareFontFamily{C65}{jmj}{\hyjmjenchar \font\m@ne} + +\DeclareFontShape{C65}{jmj}{c}{n}{<-> CJKssub * mj/c/n}{} +\DeclareFontShape{C65}{jmj}{c}{sl}{<-> CJKssub * mj/c/sl}{} +\DeclareFontShape{C65}{jmj}{c}{it}{<-> CJKssub * mj/c/it}{} + +\DeclareFontShape{C65}{jmj}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C65}{jmj}{m}{sl}{<-> CJKssub * mj/m/sl}{} +\DeclareFontShape{C65}{jmj}{m}{it}{<-> CJKssub * mj/m/it}{} + +\DeclareFontShape{C65}{jmj}{x}{n}{<-> CJKssub * mj/x/n}{} +\DeclareFontShape{C65}{jmj}{x}{sl}{<-> CJKssub * mj/x/sl}{} +\DeclareFontShape{C65}{jmj}{x}{it}{<-> CJKssub * mj/x/it}{} + +\DeclareFontShape{C65}{jmj}{ux}{n}{<-> CJKssub * mj/ux/n}{} +\DeclareFontShape{C65}{jmj}{ux}{sl}{<-> CJKssub * mj/ux/sl}{} +\DeclareFontShape{C65}{jmj}{ux}{it}{<-> CJKssub * mj/ux/it}{} + +\DeclareFontShape{C65}{jmj}{bc}{n}{<-> CJKssub * mj/bc/n}{} +\DeclareFontShape{C65}{jmj}{bc}{sl}{<-> CJKssub * mj/bc/sl}{} +\DeclareFontShape{C65}{jmj}{bc}{it}{<-> CJKssub * mj/bc/it}{} + +\DeclareFontShape{C65}{jmj}{b}{n}{<-> CJKssub * mj/b/n}{} +\DeclareFontShape{C65}{jmj}{b}{sl}{<-> CJKssub * mj/b/sl}{} +\DeclareFontShape{C65}{jmj}{b}{it}{<-> CJKssub * mj/b/it}{} + +\DeclareFontShape{C65}{jmj}{bx}{n}{<-> CJKssub * mj/bx/n}{} +\DeclareFontShape{C65}{jmj}{bx}{sl}{<-> CJKssub * mj/bx/sl}{} +\DeclareFontShape{C65}{jmj}{bx}{it}{<-> CJKssub * mj/bx/it}{} + +\DeclareFontShape{C65}{jmj}{bux}{n}{<-> CJKssub * mj/bux/n}{} +\DeclareFontShape{C65}{jmj}{bux}{sl}{<-> CJKssub * mj/bux/sl}{} +\DeclareFontShape{C65}{jmj}{bux}{it}{<-> CJKssub * mj/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jnv.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jnv.fd new file mode 100644 index 00000000000..ae4832c1905 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jnv.fd @@ -0,0 +1,53 @@ +% This is file c65jnv.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65jnv.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoNovel + +\DeclareFontFamily{C65}{jnv}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{jnv}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{jnv}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{jnv}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{jnv}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{jnv}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{jnv}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{jnv}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{jnv}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{jnv}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{jnv}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{jnv}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{jnv}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C65}{jnv}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C65}{jnv}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C65}{jnv}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C65}{jnv}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C65}{jnv}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C65}{jnv}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C65}{jnv}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C65}{jnv}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C65}{jnv}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C65}{jnv}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C65}{jnv}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C65}{jnv}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jsr.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jsr.fd new file mode 100644 index 00000000000..ec39306af15 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65jsr.fd @@ -0,0 +1,53 @@ +% This is file c65jsr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65jsr.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcJamoSora + +\DeclareFontFamily{C65}{jsr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{jsr}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{jsr}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{jsr}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{jsr}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{jsr}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{jsr}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{jsr}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{jsr}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{jsr}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{jsr}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{jsr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{jsr}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C65}{jsr}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C65}{jsr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C65}{jsr}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C65}{jsr}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C65}{jsr}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C65}{jsr}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C65}{jsr}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C65}{jsr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C65}{jsr}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C65}{jsr}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C65}{jsr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C65}{jsr}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65mj.fd new file mode 100644 index 00000000000..61c26a7772f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65mj.fd @@ -0,0 +1,53 @@ +% This is file c65mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65mj.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C65}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C65}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C65}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C65}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C65}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C65}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C65}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C65}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C65}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C65}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C65}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C65}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C65}{mj}{bc}{n}{<-> CJK * wmjbc}{} +\DeclareFontShape{C65}{mj}{bc}{sl}{<-> CJK * wmjbco}{} +\DeclareFontShape{C65}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C65}{mj}{b}{n}{<-> CJK * wmjb}{} +\DeclareFontShape{C65}{mj}{b}{sl}{<-> CJK * wmjbo}{} +\DeclareFontShape{C65}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C65}{mj}{bx}{n}{<-> CJK * wmjbx}{} +\DeclareFontShape{C65}{mj}{bx}{sl}{<-> CJK * wmjbxo}{} +\DeclareFontShape{C65}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C65}{mj}{bux}{n}{<-> CJK * wmjbu}{} +\DeclareFontShape{C65}{mj}{bux}{sl}{<-> CJK * wmjbuo}{} +\DeclareFontShape{C65}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pg.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pg.fd new file mode 100644 index 00000000000..67585411c7f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pg.fd @@ -0,0 +1,53 @@ +% This is file c65pg.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65pg.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPilgi + +\DeclareFontFamily{C65}{pg}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{pg}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{pg}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{pg}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{pg}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{pg}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{pg}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{pg}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{pg}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{pg}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{pg}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{pg}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{pg}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C65}{pg}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C65}{pg}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C65}{pg}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C65}{pg}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C65}{pg}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C65}{pg}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C65}{pg}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C65}{pg}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C65}{pg}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C65}{pg}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C65}{pg}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C65}{pg}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pga.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pga.fd new file mode 100644 index 00000000000..afd6b41bd30 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pga.fd @@ -0,0 +1,53 @@ +% This is file c65pga.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65pga.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPilgia + +\DeclareFontFamily{C65}{pga}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{pga}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{pga}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{pga}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{pga}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{pga}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{pga}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{pga}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{pga}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{pga}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{pga}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{pga}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{pga}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C65}{pga}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C65}{pga}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C65}{pga}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C65}{pga}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C65}{pga}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C65}{pga}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C65}{pga}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C65}{pga}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C65}{pga}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C65}{pga}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C65}{pga}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C65}{pga}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65ph.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65ph.fd new file mode 100644 index 00000000000..45acb802f51 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65ph.fd @@ -0,0 +1,53 @@ +% This is file c65ph.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65ph.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPenHeulim + +\DeclareFontFamily{C65}{ph}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{ph}{c}{n}{<-> CJKssub * mj/c/n}{} +\DeclareFontShape{C65}{ph}{c}{sl}{<-> CJKssub * mj/c/sl}{} +\DeclareFontShape{C65}{ph}{c}{it}{<-> CJKssub * mj/c/it}{} + +\DeclareFontShape{C65}{ph}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C65}{ph}{m}{sl}{<-> CJKssub * mj/m/sl}{} +\DeclareFontShape{C65}{ph}{m}{it}{<-> CJKssub * mj/m/it}{} + +\DeclareFontShape{C65}{ph}{x}{n}{<-> CJKssub * mj/x/n}{} +\DeclareFontShape{C65}{ph}{x}{sl}{<-> CJKssub * mj/x/sl}{} +\DeclareFontShape{C65}{ph}{x}{it}{<-> CJKssub * mj/x/it}{} + +\DeclareFontShape{C65}{ph}{ux}{n}{<-> CJKssub * mj/ux/n}{} +\DeclareFontShape{C65}{ph}{ux}{sl}{<-> CJKssub * mj/ux/sl}{} +\DeclareFontShape{C65}{ph}{ux}{it}{<-> CJKssub * mj/ux/it}{} + +\DeclareFontShape{C65}{ph}{bc}{n}{<-> CJKssub * mj/bc/n}{} +\DeclareFontShape{C65}{ph}{bc}{sl}{<-> CJKssub * mj/bc/sl}{} +\DeclareFontShape{C65}{ph}{bc}{it}{<-> CJKssub * mj/bc/it}{} + +\DeclareFontShape{C65}{ph}{b}{n}{<-> CJKssub * mj/b/n}{} +\DeclareFontShape{C65}{ph}{b}{sl}{<-> CJKssub * mj/b/sl}{} +\DeclareFontShape{C65}{ph}{b}{it}{<-> CJKssub * mj/b/it}{} + +\DeclareFontShape{C65}{ph}{bx}{n}{<-> CJKssub * mj/bx/n}{} +\DeclareFontShape{C65}{ph}{bx}{sl}{<-> CJKssub * mj/bx/sl}{} +\DeclareFontShape{C65}{ph}{bx}{it}{<-> CJKssub * mj/bx/it}{} + +\DeclareFontShape{C65}{ph}{bux}{n}{<-> CJKssub * mj/bux/n}{} +\DeclareFontShape{C65}{ph}{bux}{sl}{<-> CJKssub * mj/bux/sl}{} +\DeclareFontShape{C65}{ph}{bux}{it}{<-> CJKssub * mj/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pn.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pn.fd new file mode 100644 index 00000000000..d94d6fea74c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65pn.fd @@ -0,0 +1,53 @@ +% This is file c65pn.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65pn.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcPen + +\DeclareFontFamily{C65}{pn}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{pn}{c}{n}{<-> CJKssub* mj/c/n}{} +\DeclareFontShape{C65}{pn}{c}{sl}{<-> CJKssub* mj/c/sl}{} +\DeclareFontShape{C65}{pn}{c}{it}{<-> CJKssub * mj/c/it}{} + +\DeclareFontShape{C65}{pn}{m}{n}{<-> CJKssub* mj/m/n}{} +\DeclareFontShape{C65}{pn}{m}{sl}{<-> CJKssub* mj/m/sl}{} +\DeclareFontShape{C65}{pn}{m}{it}{<-> CJKssub * mj/m/it}{} + +\DeclareFontShape{C65}{pn}{x}{n}{<-> CJKssub* mj/x/n}{} +\DeclareFontShape{C65}{pn}{x}{sl}{<-> CJKssub* mj/x/sl}{} +\DeclareFontShape{C65}{pn}{x}{it}{<-> CJKssub * mj/x/it}{} + +\DeclareFontShape{C65}{pn}{ux}{n}{<-> CJKssub* mj/ux/n}{} +\DeclareFontShape{C65}{pn}{ux}{sl}{<-> CJKssub* mj/ux/sl}{} +\DeclareFontShape{C65}{pn}{ux}{it}{<-> CJKssub * mj/ux/it}{} + +\DeclareFontShape{C65}{pn}{bc}{n}{<-> CJKssub * mj/bc/n}{} +\DeclareFontShape{C65}{pn}{bc}{sl}{<-> CJKssub * mj/bc/sl}{} +\DeclareFontShape{C65}{pn}{bc}{it}{<-> CJKssub * mj/bc/it}{} + +\DeclareFontShape{C65}{pn}{b}{n}{<-> CJKssub * mj/b/n}{} +\DeclareFontShape{C65}{pn}{b}{sl}{<-> CJKssub * mj/b/sl}{} +\DeclareFontShape{C65}{pn}{b}{it}{<-> CJKssub * mj/b/it}{} + +\DeclareFontShape{C65}{pn}{bx}{n}{<-> CJKssub * mj/bx/n}{} +\DeclareFontShape{C65}{pn}{bx}{sl}{<-> CJKssub * mj/bx/sl}{} +\DeclareFontShape{C65}{pn}{bx}{it}{<-> CJKssub * mj/bx/it}{} + +\DeclareFontShape{C65}{pn}{bux}{n}{<-> CJKssub * mj/bux/n}{} +\DeclareFontShape{C65}{pn}{bux}{sl}{<-> CJKssub * mj/bux/sl}{} +\DeclareFontShape{C65}{pn}{bux}{it}{<-> CJKssub * mj/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65sh.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65sh.fd new file mode 100644 index 00000000000..9261f1dbe8f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65sh.fd @@ -0,0 +1,53 @@ +% This is file c65sh.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65sh.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcShinmunMyoungjo + +\DeclareFontFamily{C65}{hwsh}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{sh}{c}{n}{<-> CJK * wshc}{} +\DeclareFontShape{C65}{sh}{c}{sl}{<-> CJK * wshco}{} +\DeclareFontShape{C65}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{} + +\DeclareFontShape{C65}{sh}{m}{n}{<-> CJK * wsh}{} +\DeclareFontShape{C65}{sh}{m}{sl}{<-> CJK * wsho}{} +\DeclareFontShape{C65}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{} + +\DeclareFontShape{C65}{sh}{x}{n}{<-> CJK * wshx}{} +\DeclareFontShape{C65}{sh}{x}{sl}{<-> CJK * wshxo}{} +\DeclareFontShape{C65}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{} + +\DeclareFontShape{C65}{sh}{ux}{n}{<-> CJK * wshu}{} +\DeclareFontShape{C65}{sh}{ux}{sl}{<-> CJK * wshuo}{} +\DeclareFontShape{C65}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{} + +\DeclareFontShape{C65}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{} +\DeclareFontShape{C65}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{} +\DeclareFontShape{C65}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{} + +\DeclareFontShape{C65}{sh}{b}{n}{<-> CJKssub * sh/m/n}{} +\DeclareFontShape{C65}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{} +\DeclareFontShape{C65}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{} + +\DeclareFontShape{C65}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{} +\DeclareFontShape{C65}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{} +\DeclareFontShape{C65}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{} + +\DeclareFontShape{C65}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{} +\DeclareFontShape{C65}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{} +\DeclareFontShape{C65}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65tz.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65tz.fd new file mode 100644 index 00000000000..97031621c1a --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65tz.fd @@ -0,0 +1,53 @@ +% This is file c65tz.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65tz.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcTypewriter + +\DeclareFontFamily{C65}{tz}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{tz}{c}{n}{<-> CJK * wttc}{} +\DeclareFontShape{C65}{tz}{c}{sl}{<-> CJK * wttco}{} +\DeclareFontShape{C65}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{} + +\DeclareFontShape{C65}{tz}{m}{n}{<-> CJK * wtt}{} +\DeclareFontShape{C65}{tz}{m}{sl}{<-> CJK * wtto}{} +\DeclareFontShape{C65}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{} + +\DeclareFontShape{C65}{tz}{x}{n}{<-> CJK * wttx}{} +\DeclareFontShape{C65}{tz}{x}{sl}{<-> CJK * wttxo}{} +\DeclareFontShape{C65}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{} + +\DeclareFontShape{C65}{tz}{ux}{n}{<-> CJK * wttu}{} +\DeclareFontShape{C65}{tz}{ux}{sl}{<-> CJK * wttuo}{} +\DeclareFontShape{C65}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{} + +\DeclareFontShape{C65}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold} +\DeclareFontShape{C65}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold} +\DeclareFontShape{C65}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{} + +\DeclareFontShape{C65}{tz}{b}{n}{<-> CJKb * wtt}{\CJKbold} +\DeclareFontShape{C65}{tz}{b}{sl}{<-> CJKb * wtto}{\CJKbold} +\DeclareFontShape{C65}{tz}{b}{it}{<-> CJKssub * tz/b/sl}{} + +\DeclareFontShape{C65}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold} +\DeclareFontShape{C65}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold} +\DeclareFontShape{C65}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{} + +\DeclareFontShape{C65}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold} +\DeclareFontShape{C65}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold} +\DeclareFontShape{C65}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65vd.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65vd.fd new file mode 100644 index 00000000000..f7e9909d9eb --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65vd.fd @@ -0,0 +1,53 @@ +% This is file c65vd.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65vd.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcVada + +\DeclareFontFamily{C65}{vd}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{vd}{c}{n}{<-> CJKssub * gt/c/n}{} +\DeclareFontShape{C65}{vd}{c}{sl}{<-> CJKssub * gt/c/sl}{} +\DeclareFontShape{C65}{vd}{c}{it}{<-> CJKssub * gt/c/it}{} + +\DeclareFontShape{C65}{vd}{m}{n}{<-> CJKssub * gt/m/n}{} +\DeclareFontShape{C65}{vd}{m}{sl}{<-> CJKssub * gt/m/sl}{} +\DeclareFontShape{C65}{vd}{m}{it}{<-> CJKssub * gt/m/it}{} + +\DeclareFontShape{C65}{vd}{x}{n}{<-> CJKssub * gt/x/n}{} +\DeclareFontShape{C65}{vd}{x}{sl}{<-> CJKssub * gt/x/sl}{} +\DeclareFontShape{C65}{vd}{x}{it}{<-> CJKssub * gt/x/it}{} + +\DeclareFontShape{C65}{vd}{ux}{n}{<-> CJKssub * gt/ux/n}{} +\DeclareFontShape{C65}{vd}{ux}{sl}{<-> CJKssub * gt/ux/sl}{} +\DeclareFontShape{C65}{vd}{ux}{it}{<-> CJKssub * gt/ux/it}{} + +\DeclareFontShape{C65}{vd}{bc}{n}{<-> CJKssub * gt/bc/n}{} +\DeclareFontShape{C65}{vd}{bc}{sl}{<-> CJKssub * gt/bc/sl}{} +\DeclareFontShape{C65}{vd}{bc}{it}{<-> CJKssub * gt/bc/it}{} + +\DeclareFontShape{C65}{vd}{b}{n}{<-> CJKssub * gt/b/n}{} +\DeclareFontShape{C65}{vd}{b}{sl}{<-> CJKssub * gt/b/sl}{} +\DeclareFontShape{C65}{vd}{b}{it}{<-> CJKssub * gt/b/it}{} + +\DeclareFontShape{C65}{vd}{bx}{n}{<-> CJKssub * gt/bx/n}{} +\DeclareFontShape{C65}{vd}{bx}{sl}{<-> CJKssub * gt/bx/sl}{} +\DeclareFontShape{C65}{vd}{bx}{it}{<-> CJKssub * gt/bx/it}{} + +\DeclareFontShape{C65}{vd}{bux}{n}{<-> CJKssub * gt/bux/n}{} +\DeclareFontShape{C65}{vd}{bux}{sl}{<-> CJKssub * gt/bux/sl}{} +\DeclareFontShape{C65}{vd}{bux}{it}{<-> CJKssub * gt/bux/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65yt.fd b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65yt.fd new file mode 100644 index 00000000000..002d9edc948 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/c65yt.fd @@ -0,0 +1,53 @@ +% This is file c65yt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65yt.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcYetgul + +\DeclareFontFamily{C65}{yt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{yt}{c}{n}{<-> CJK * wytc}{} +\DeclareFontShape{C65}{yt}{c}{sl}{<-> CJK * wytco}{} +\DeclareFontShape{C65}{yt}{c}{it}{<-> CJKssub * yt/c/sl}{} + +\DeclareFontShape{C65}{yt}{m}{n}{<-> CJK * wyt}{} +\DeclareFontShape{C65}{yt}{m}{sl}{<-> CJK * wyto}{} +\DeclareFontShape{C65}{yt}{m}{it}{<-> CJKssub * yt/m/sl}{} + +\DeclareFontShape{C65}{yt}{x}{n}{<-> CJK * wytx}{} +\DeclareFontShape{C65}{yt}{x}{sl}{<-> CJK * wytxo}{} +\DeclareFontShape{C65}{yt}{x}{it}{<-> CJKssub * yt/x/sl}{} + +\DeclareFontShape{C65}{yt}{ux}{n}{<-> CJK * wytu}{} +\DeclareFontShape{C65}{yt}{ux}{sl}{<-> CJK * wytuo}{} +\DeclareFontShape{C65}{yt}{ux}{it}{<-> CJKssub * yt/ux/sl}{} + +\DeclareFontShape{C65}{yt}{bc}{n}{<-> CJKb * wytc}{\CJKbold} +\DeclareFontShape{C65}{yt}{bc}{sl}{<-> CJKb * wytco}{\CJKbold} +\DeclareFontShape{C65}{yt}{bc}{it}{<-> CJKssub * yt/bc/sl}{} + +\DeclareFontShape{C65}{yt}{b}{n}{<-> CJKb * wyt}{\CJKbold} +\DeclareFontShape{C65}{yt}{b}{sl}{<-> CJKb * wyto}{\CJKbold} +\DeclareFontShape{C65}{yt}{b}{it}{<-> CJKssub * yt/b/sl}{} + +\DeclareFontShape{C65}{yt}{bx}{n}{<-> CJKb * wytx}{\CJKbold} +\DeclareFontShape{C65}{yt}{bx}{sl}{<-> CJKb * wytxo}{\CJKbold} +\DeclareFontShape{C65}{yt}{bx}{it}{<-> CJKssub * yt/bx/sl}{} + +\DeclareFontShape{C65}{yt}{bux}{n}{<-> CJKb * wytu}{\CJKbold} +\DeclareFontShape{C65}{yt}{bux}{sl}{<-> CJKb * wytuo}{\CJKbold} +\DeclareFontShape{C65}{yt}{bux}{it}{<-> CJKssub * yt/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/pshan.sty b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/pshan.sty new file mode 100644 index 00000000000..f50056dd496 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/HLaTeX/pshan.sty @@ -0,0 +1,29 @@ +% This is the file pshan.sty of the CJK package +% for using HLaTeX's PostScript fonts. +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{pshan}[\filedate\space\fileversion] + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/KS.chr b/Master/texmf-dist/tex/latex/cjk/KS/KS.chr new file mode 100644 index 00000000000..1eab6dfdd7d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/KS.chr @@ -0,0 +1,251 @@ +% This is the file KS.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{KS.chr}[\filedate\space\fileversion] + + +% define macros for handling hangul fonts and characters. + +\gdef\CJK@KSChr{ + \CJK@global\def\CJK@altchar##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \@tempcnta ##3\relax + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@altcharx##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \@tempcnta ##4\relax + \@tempcntb 256\relax + \advance\@tempcnta ##3\relax + \advance\@tempcntb -##3\relax + \chardef\@temp \@tempcntb + \ifnum ##4 < \@temp + \edef\CJK@plane{##1} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \@tempcnta ##3\relax + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@charx##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \discretionary{}{}{} + \fi + + \@tempcnta ##4\relax + \@tempcntb 256\relax + \advance\@tempcnta ##3\relax + \advance\@tempcntb -##3\relax + \chardef\@temp \@tempcntb + \ifnum ##4 < \@temp + \edef\CJK@plane{##1} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% for punctuation. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##4} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \else + \discretionary{}{}{} + \fi + \fi + + \@tempcnta ##4\relax + \advance\@tempcnta ##3\relax + \edef\CJK@plane{##2} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + + \CJK@global\def\CJK@punctcharx##1##2##3##4##5{ + {\ifnum ##5 < \CJK@min + \CJK@err + \else + \ifnum ##5 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##5} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \else + \discretionary{}{}{} + \fi + \fi + + \@tempcnta ##5\relax + \@tempcntb 256\relax + \advance\@tempcnta ##4\relax + \advance\@tempcntb -##4\relax + \chardef\@temp \@tempcntb + \ifnum ##5 < \@temp + \edef\CJK@plane{##2} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##3} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/KS.enc b/Master/texmf-dist/tex/latex/cjk/KS/KS.enc new file mode 100644 index 00000000000..0a024add58e --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/KS.enc @@ -0,0 +1,114 @@ +% This is the file KS.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{KS.enc}[\filedate\space\fileversion] + + +% KS encoding: +% each plane has 94 characters; Hangul elements (Jaso) and Hangul +% syllables are overlaid with a second CJK font. + +\gdef\CJK@KSEncoding{ + \CJK@loadChr{KS} + + \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{01}{-161}{##1}} + \CJK@namegdef{^^a2}##1{\@empty\CJK@char {01}{ -67}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@altchar {02}{-135}{##1}}% Hangul elements + \CJK@namegdef{^^a5}##1{\@empty\CJK@char {02}{ -41}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}} + \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}} + \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}} + \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}} + \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}} + \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}} + \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}} + \CJK@namegdef{^^b0}##1{\@empty\CJK@altchar {06}{ -31}{##1}}% Hangul syllables + \CJK@namegdef{^^b1}##1{\@empty\CJK@altcharx{06}{07}{63}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@altchar {07}{ -99}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@altchar {07}{ -5}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@altcharx{07}{08}{89}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@altchar {08}{ -73}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@altcharx{08}{09}{21}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@altchar {09}{-141}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@altchar {09}{ -47}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@altcharx{09}{10}{47}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@altchar {10}{-115}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@altchar {10}{ -21}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@altcharx{10}{11}{73}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@altchar {11}{ -89}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@altcharx{11}{12}{ 5}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@altchar {12}{-157}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@altchar {12}{ -63}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@altcharx{12}{13}{31}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@altchar {13}{-131}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@altchar {13}{ -37}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@altcharx{13}{14}{57}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@altchar {14}{-105}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@altchar {14}{ -11}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@altcharx{14}{15}{83}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@altchar {15}{ -79}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}% Hanja + \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}} + \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}} + \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}} + \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}} + \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}} + \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}} + \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}} + \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}} + \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60dr.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60dr.fd new file mode 100644 index 00000000000..f1df8067b4a --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c60dr.fd @@ -0,0 +1,22 @@ +% This is the file c60dr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c60dr.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C60}{dr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C60}{dr}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C60}{dr}{bx}{n}{<-> CJKssub * mj/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60gr.fd new file mode 100644 index 00000000000..bf693501a62 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c60gr.fd @@ -0,0 +1,22 @@ +% This is the file c60gr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c60gr.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C60}{gr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C60}{gr}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C60}{gr}{bx}{n}{<-> CJKssub * mj/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60gs.fd new file mode 100644 index 00000000000..284f0fd6577 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c60gs.fd @@ -0,0 +1,22 @@ +% This is the file c60gs.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c60gs.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C60}{gs}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C60}{gs}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C60}{gs}{bx}{n}{<-> CJKssub * mj/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60gt.fd new file mode 100644 index 00000000000..36979d1ab02 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c60gt.fd @@ -0,0 +1,22 @@ +% This is the file c60gt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c60gt.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C60}{gt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C60}{gt}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C60}{gt}{bx}{n}{<-> CJKssub * mj/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60hgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60hgt.fd new file mode 100644 index 00000000000..bfac099c530 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c60hgt.fd @@ -0,0 +1,22 @@ +% This is the file c60hgt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c60hgt.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C60}{hgt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C60}{hgt}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C60}{hgt}{bx}{n}{<-> CJKssub * mj/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60hmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60hmj.fd new file mode 100644 index 00000000000..bfb04353de4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c60hmj.fd @@ -0,0 +1,22 @@ +% This is the file c60hmj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c60hmj.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C60}{hmj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C60}{hmj}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C60}{hmj}{bx}{n}{<-> CJKssub * mj/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60hol.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60hol.fd new file mode 100644 index 00000000000..a6947496d97 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c60hol.fd @@ -0,0 +1,22 @@ +% This is the file c60hol.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c60hol.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C60}{hol}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C60}{hol}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C60}{hol}{bx}{n}{<-> CJKssub * mj/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60hpg.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60hpg.fd new file mode 100644 index 00000000000..f64250f9658 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c60hpg.fd @@ -0,0 +1,22 @@ +% This is the file c60hpg.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c60hpg.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C60}{hpg}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C60}{hpg}{m}{n}{<-> CJKssub * mj/m/n}{} +\DeclareFontShape{C60}{hpg}{bx}{n}{<-> CJKssub * mj/bx/n}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c60mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/c60mj.fd new file mode 100644 index 00000000000..8e2406326c2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c60mj.fd @@ -0,0 +1,22 @@ +% This is the file c60mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c60mj.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C60}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C60}{mj}{m}{n}{<-> CJK * ksso17}{} +\DeclareFontShape{C60}{mj}{bx}{n}{<-> CJKb * ksso17}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61dr.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61dr.fd new file mode 100644 index 00000000000..09aa8cd2206 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c61dr.fd @@ -0,0 +1,27 @@ +% This is the file c61dr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c61dr.fd}[\filedate\space\fileversion] + + +% Korean syllables (Hangul) and elements (Jaso) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C61}{dr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C61}{dr}{m}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * kdr}{} +\DeclareFontShape{C61}{dr}{bx}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJKb * kdr}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61gr.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61gr.fd new file mode 100644 index 00000000000..9aa73623666 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c61gr.fd @@ -0,0 +1,26 @@ +% This is the file c61gr.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c61gr.fd}[\filedate\space\fileversion] + +% Korean syllables (Hangul) and elements (Jaso) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C61}{gr}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C61}{gr}{m}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * kgr}{} +\DeclareFontShape{C61}{gr}{bx}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJKb * kgr}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61gs.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61gs.fd new file mode 100644 index 00000000000..b2ea00a23ed --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c61gs.fd @@ -0,0 +1,26 @@ +% This is the file c61gs.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c61gs.fd}[\filedate\space\fileversion] + +% Korean syllables (Hangul) and elements (Jaso) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C61}{gs}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C61}{gs}{m}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * kgs}{} +\DeclareFontShape{C61}{gs}{bx}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJKb * kgs}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61gt.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61gt.fd new file mode 100644 index 00000000000..80535515906 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c61gt.fd @@ -0,0 +1,26 @@ +% This is the file c61gt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c61gt.fd}[\filedate\space\fileversion] + +% Korean syllables (Hangul) and elements (Jaso) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C61}{gt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C61}{gt}{m}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * kgt}{} +\DeclareFontShape{C61}{gt}{bx}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJKb * kgt}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61hgt.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61hgt.fd new file mode 100644 index 00000000000..b40c99f17d6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c61hgt.fd @@ -0,0 +1,24 @@ +% This is the file c61hgt.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c61hgt.fd}[\filedate\space\fileversion] + +% Korean syllables (Hangul) and elements (Jaso) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C61}{hgt}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C61}{hgt}{m}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * hgtm}{} +\DeclareFontShape{C61}{hgt}{bx}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * hgtb}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61hmj.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61hmj.fd new file mode 100644 index 00000000000..98e2d06feed --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c61hmj.fd @@ -0,0 +1,24 @@ +% This is the file c61hmj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c61hmj.fd}[\filedate\space\fileversion] + +% Korean syllables (Hangul) and elements (Jaso) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C61}{hmj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C61}{hmj}{m}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * hmjm}{} +\DeclareFontShape{C61}{hmj}{bx}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * hmjb}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61hol.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61hol.fd new file mode 100644 index 00000000000..7cd2d2e463d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c61hol.fd @@ -0,0 +1,26 @@ +% This is the file c61hol.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c61hol.fd}[\filedate\space\fileversion] + +% Korean syllables (Hangul) and elements (Jaso) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C61}{hol}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C61}{hol}{m}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * hol}{} +\DeclareFontShape{C61}{hol}{bx}{n}{ + <5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJKb * hol}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61hpg.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61hpg.fd new file mode 100644 index 00000000000..3fb62634d92 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c61hpg.fd @@ -0,0 +1,24 @@ +% This is the file c61hpg.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c61hpg.fd}[\filedate\space\fileversion] + +% Korean syllables (Hangul) and elements (Jaso) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C61}{hpg}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C61}{hpg}{m}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * hpgm}{} +\DeclareFontShape{C61}{hpg}{bx}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * hpgb}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c61mj.fd b/Master/texmf-dist/tex/latex/cjk/KS/c61mj.fd new file mode 100644 index 00000000000..2ae9cc46bc7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c61mj.fd @@ -0,0 +1,24 @@ +% This is the file c61mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c61mj.fd}[\filedate\space\fileversion] + +% Korean syllables (Hangul) and elements (Jaso) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: CJK (standard) + +\DeclareFontFamily{C61}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C61}{mj}{m}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * kmj}{} +\DeclareFontShape{C61}{mj}{bx}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * kmjb}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/c62song.fd b/Master/texmf-dist/tex/latex/cjk/KS/c62song.fd new file mode 100644 index 00000000000..eaa521348f6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/c62song.fd @@ -0,0 +1,22 @@ +% This is the file c62song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c62song.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: pmC + +\DeclareFontFamily{C62}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C62}{song}{m}{n}{<-> sCJKfixed * wcks}{} +\DeclareFontShape{C62}{song}{bx}{n}{<-> sCJKfixedb * wcks}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hangul.cap b/Master/texmf-dist/tex/latex/cjk/KS/hangul.cap new file mode 100644 index 00000000000..5c0aaee8837 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/hangul.cap @@ -0,0 +1,74 @@ +% This is the file hangul.cap of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{hangul.cap}[\filedate\space\fileversion] + + +% Hangul captions +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: EUC (=Wansung) + +\renewcommand\contentsname{ธ๑ย๗} +\renewcommand\listfigurename{ฑืธฒ~ธ๑ย๗} +\renewcommand\listtablename{วฅ~ธ๑ย๗} +\renewcommand\indexname{ป๖ภฮ} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ยฐํ~ผญภ๛}} + {\renewcommand\bibname{ยฐํ~นฎวๅ}} + +\renewcommand\figurename{ฑืธฒ} +\renewcommand\tablename{วฅ} + +\newcommand\prepartname{มฆ} +\newcommand\postpartname{บฮ} +\renewcommand\partformat{\prepartname~\thepart~\postpartname} + +% \newcommand\prechaptername{มฆ} +% \newcommand\postchaptername{ภๅ} +% \newcommand\presectionname{มฆ} +% \newcommand\postsectionname{ภ} +% \renewcommand\appendixname{บฮทฯ} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{ฟไพเ}}{} + +% \renewcommand\ccname{ป็บป} +% \renewcommand\enclname{รทบฮนฐ}% ศคภบ ตฟบภนฐ +% \renewcommand\pagename{ฦไภฬม๖~} +% \renewcommand\headtoname{นดยภฬ} +% \renewcommand\seename{ยมถ} + +\renewcommand{\today}{\number\yearณโ~\number\monthฟ๙~\number\dayภฯ} + +\endinput + +%%% Local Variables: +%%% coding: euc-korea +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hangul.cpx b/Master/texmf-dist/tex/latex/cjk/KS/hangul.cpx new file mode 100644 index 00000000000..7e145f5a37b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/hangul.cpx @@ -0,0 +1,71 @@ +% This is the file hangul.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{hangul.cpx}[\filedate\space\fileversion] + + +% Hangul captions +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: EUC (=Wansung) +% +% preprocessed + +\renewcommand\contentsname{ธ241ย247} +\renewcommand\listfigurename{ฑ215ธ178~ธ241ย247} +\renewcommand\listtablename{ว165~ธ241ย247} +\renewcommand\indexname{ป246ภ206} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ย252ฐ237~ผ173ภ251}} + {\renewcommand\bibname{ย252ฐ237~น174ว229}} + +\renewcommand\figurename{ฑ215ธ178} +\renewcommand\tablename{ว165} + +\newcommand\prepartname{ม166} +\newcommand\postpartname{บ206} +\renewcommand\partformat{\prepartname~\thepart~\postpartname} + +% \newcommand\prechaptername{ม166} +% \newcommand\postchaptername{ภ229} +% \newcommand\presectionname{ม166} +% \newcommand\postsectionname{ภ253} +% \renewcommand\appendixname{บ206ท207} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{ฟ228พ224}}{} + +% \renewcommand\ccname{ป231บ187} +% \renewcommand\enclname{ร183บ206น176}% ศคภบ ตฟบภนฐ +% \renewcommand\pagename{ฦ228ภ204ม246~} +% \renewcommand\headtoname{น222ด194ภ204} +% \renewcommand\seename{ย252ม182} + +\renewcommand{\today}{% + \number\yearณ226~\number\monthฟ249~\number\dayภ207} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cap b/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cap new file mode 100644 index 00000000000..58bd767cd4b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cap @@ -0,0 +1,74 @@ +% This is the file hangul2.cap of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{hangul2.cap}[\filedate\space\fileversion] + + +% Hangul captions set 2 +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: EUC (=Wansung) + +\renewcommand\contentsname{ย๗ทส} +\renewcommand\listfigurename{ฑืธฒ~ย๗ทส} +\renewcommand\listtablename{วฅ~ย๗ทส} +\renewcommand\indexname{รฃพฦบธฑโ} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ยฐํ~ผญภ๛}} + {\renewcommand\bibname{ยฐํ~นฎวๅ}} + +\renewcommand\figurename{ฑืธฒ} +\renewcommand\tablename{วฅ} + +\newcommand\prepartname{มฆ} +\newcommand\postpartname{บฮ} +\renewcommand\partformat{\prepartname~\thepart~\postpartname} + +% \newcommand\prechaptername{มฆ} +% \newcommand\postchaptername{ภๅ} +% \newcommand\presectionname{มฆ} +% \newcommand\postsectionname{ภ} +% \renewcommand\appendixname{บฮทฯ} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{ฟไพเ}}{} + +% \renewcommand\ccname{ป็บป} +% \renewcommand\enclname{รทบฮนฐ}% ศคภบ ตฟบภนฐ +% \renewcommand\pagename{ฦไภฬม๖~} +% \renewcommand\headtoname{นดยภฬ} +% \renewcommand\seename{ยมถ} + +\renewcommand{\today}{\number\yearณโ~\number\monthฟ๙~\number\dayภฯ} + +\endinput + +%%% Local Variables: +%%% coding: euc-korea +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cpx b/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cpx new file mode 100644 index 00000000000..1a643539ce5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/hangul2.cpx @@ -0,0 +1,71 @@ +% This is the file hangul2.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{hangul2.cpx}[\filedate\space\fileversion] + + +% Hangul captions set 2 +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: EUC (=Wansung) +% +% preprocessed + +\renewcommand\contentsname{ย247ท202} +\renewcommand\listfigurename{ฑ215ธ178~ย247ท202} +\renewcommand\listtablename{ว165~ย247ท202} +\renewcommand\indexname{ร163พ198บ184ฑ226} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ย252ฐ237~ผ173ภ251}} + {\renewcommand\bibname{ย252ฐ237~น174ว229}} + +\renewcommand\figurename{ฑ215ธ178} +\renewcommand\tablename{ว165} + +\newcommand\prepartname{ม166} +\newcommand\postpartname{บ206} +\renewcommand\partformat{\prepartname~\thepart~\postpartname} + +% \newcommand\prechaptername{ม166} +% \newcommand\postchaptername{ภ229} +% \newcommand\presectionname{ม166} +% \newcommand\postsectionname{ภ253} +% \renewcommand\appendixname{บ206ท207} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{ฟ228พ224}}{} + +% \renewcommand\ccname{ป231บ187} +% \renewcommand\enclname{ร183บ206น176}% ศคภบ ตฟบภนฐ +% \renewcommand\pagename{ฦ228ภ204ม246~} +% \renewcommand\headtoname{น222ด194ภ204} +% \renewcommand\seename{ย252ม182} + +\renewcommand{\today}{% + \number\yearณ226~\number\monthฟ249~\number\dayภ207} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hanja.cap b/Master/texmf-dist/tex/latex/cjk/KS/hanja.cap new file mode 100644 index 00000000000..57515d3b626 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/hanja.cap @@ -0,0 +1,74 @@ +% This is the file hanja.cap of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <a7971428@unet.univie.ac.at> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{hanja.cap}[\filedate\space\fileversion] + + +% Hanja captions +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: EUC (=Wansung) + +\renewcommand\contentsname{ูอ๓ญ} +\renewcommand\listfigurename{ฑืธฒ~ูอ๓ญ} +\renewcommand\listtablename{๘๚~ูอ๓ญ} +\renewcommand\indexname{฿ใ์ฺ} + +\CJK@ifundefined\chapter + {\renewcommand\refname{๓ัอล~฿๖๎฿}} + {\renewcommand\bibname{๓ัอล~ู๚ฬ}} + +\renewcommand\figurename{ฑืธฒ} +\renewcommand\tablename{๘๚} + +\newcommand\prepartname{๐ฏ} +\newcommand\postpartname{๘น} +\renewcommand\partformat{\prepartname~\thepart~\postpartname} + +% \newcommand\prechaptername{๐ฏ} +% \newcommand\postchaptername{ํ๑} +% \newcommand\presectionname{๐ฏ} +% \newcommand\postsectionname{๏ฝ} +% \newcommand\appendixname{พึโ} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{้ฉ~ๅณ}}{} + +% \renewcommand\ccname{ะโ} +% \renewcommand\enclname{๔ีพฺช}% ศคภบ ตฟบภนฐ +% \renewcommand\pagename{ฦไภฬม๖} +% \renewcommand\headtoname{แ๔ใแ์ั} +% \renewcommand\seename{๓ั๐ฮ} + +\renewcommand{\today}{\number\yearาด~\number\month๊ล~\number\day์ํ} + +\endinput + +%%% Local Variables: +%%% coding: euc-korea +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/KS/hanja.cpx b/Master/texmf-dist/tex/latex/cjk/KS/hanja.cpx new file mode 100644 index 00000000000..a1c6952c76c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/KS/hanja.cpx @@ -0,0 +1,71 @@ +% This is the file hanja.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{hanja.cpx}[\filedate\space\fileversion] + + +% Hanja captions +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: EUC (=Wansung) +% +% preprocessed + +\renewcommand\contentsname{ู205๓173} +\renewcommand\listfigurename{ฑ215ธ178~ู205๓173} +\renewcommand\listtablename{๘250~ู205๓173} +\renewcommand\indexname{฿227์218} + +\CJK@ifundefined\chapter + {\renewcommand\refname{๓209อ197~฿246๎223}} + {\renewcommand\bibname{๓209อ197~ู254๚204}} + +\renewcommand\figurename{ฑ215ธ178} +\renewcommand\tablename{๘250} + +\newcommand\prepartname{๐175} +\newcommand\postpartname{๘185} +\renewcommand\partformat{\prepartname~\thepart~\postpartname} + +% \newcommand\prechaptername{๐175} +% \newcommand\postchaptername{ํ241} +% \newcommand\presectionname{๐175} +% \newcommand\postsectionname{๏189} +% \newcommand\appendixname{190ึ226} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{้169~ๅ179}}{} + +% \renewcommand\ccname{208226} +% \renewcommand\enclname{๔213190ฺ170}% ศคภบ ตฟบภนฐ +% \renewcommand\pagename{ฦ228ภ204ม246} +% \renewcommand\headtoname{แ244ใ225์209} +% \renewcommand\seename{๓209๐206} + +\renewcommand{\today}{% + \number\yearา180~\number\month๊197~\number\day์237} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.bdg b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.bdg new file mode 100644 index 00000000000..60b2d57264c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.bdg @@ -0,0 +1,162 @@ +% This is the file SJIS.bdg of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{SJIS.bdg}[\filedate\space\fileversion] + + +% The bindings for SJIS encoding. + +\gdef\CJK@SJISBinding{ +% 80 + \CJK@nameppdef{^^81} + \CJK@nameppdef{^^82} + \CJK@nameppdef{^^83} + \CJK@nameppdef{^^84} + \CJK@nameppdef{^^85} + \CJK@nameppdef{^^86} + \CJK@nameppdef{^^87} + \CJK@nameppdef{^^88} + \CJK@nameppdef{^^89} + \CJK@nameppdef{^^8a} + \CJK@nameppdef{^^8b} + \CJK@nameppdef{^^8c} + \CJK@nameppdef{^^8d} + \CJK@nameppdef{^^8e} + \CJK@nameppdef{^^8f} + \CJK@nameppdef{^^90} + \CJK@nameppdef{^^91} + \CJK@nameppdef{^^92} + \CJK@nameppdef{^^93} + \CJK@nameppdef{^^94} + \CJK@nameppdef{^^95} + \CJK@nameppdef{^^96} + \CJK@nameppdef{^^97} + \CJK@nameppdef{^^98} + \CJK@nameppdef{^^99} + \CJK@nameppdef{^^9a} + \CJK@nameppdef{^^9b} + \CJK@nameppdef{^^9c} + \CJK@nameppdef{^^9d} + \CJK@nameppdef{^^9e} + \CJK@nameppdef{^^9f} +% A0 + \CJK@namepdef{^^a1} + \CJK@namepdef{^^a2} + \CJK@namepdef{^^a3} + \CJK@namepdef{^^a4} + \CJK@namepdef{^^a5} + \CJK@namepdef{^^a6} + \CJK@namepdef{^^a7} + \CJK@namepdef{^^a8} + \CJK@namepdef{^^a9} + \CJK@namepdef{^^aa} + \CJK@namepdef{^^ab} + \CJK@namepdef{^^ac} + \CJK@namepdef{^^ad} + \CJK@namepdef{^^ae} + \CJK@namepdef{^^af} + \CJK@namepdef{^^b0} + \CJK@namepdef{^^b1} + \CJK@namepdef{^^b2} + \CJK@namepdef{^^b3} + \CJK@namepdef{^^b4} + \CJK@namepdef{^^b5} + \CJK@namepdef{^^b6} + \CJK@namepdef{^^b7} + \CJK@namepdef{^^b8} + \CJK@namepdef{^^b9} + \CJK@namepdef{^^ba} + \CJK@namepdef{^^bb} + \CJK@namepdef{^^bc} + \CJK@namepdef{^^bd} + \CJK@namepdef{^^be} + \CJK@namepdef{^^bf} + \CJK@namepdef{^^c0} + \CJK@namepdef{^^c1} + \CJK@namepdef{^^c2} + \CJK@namepdef{^^c3} + \CJK@namepdef{^^c4} + \CJK@namepdef{^^c5} + \CJK@namepdef{^^c6} + \CJK@namepdef{^^c7} + \CJK@namepdef{^^c8} + \CJK@namepdef{^^c9} + \CJK@namepdef{^^ca} + \CJK@namepdef{^^cb} + \CJK@namepdef{^^cc} + \CJK@namepdef{^^cd} + \CJK@namepdef{^^ce} + \CJK@namepdef{^^cf} + \CJK@namepdef{^^d0} + \CJK@namepdef{^^d1} + \CJK@namepdef{^^d2} + \CJK@namepdef{^^d3} + \CJK@namepdef{^^d4} + \CJK@namepdef{^^d5} + \CJK@namepdef{^^d6} + \CJK@namepdef{^^d7} + \CJK@namepdef{^^d8} + \CJK@namepdef{^^d9} + \CJK@namepdef{^^da} + \CJK@namepdef{^^db} + \CJK@namepdef{^^dc} + \CJK@namepdef{^^dd} + \CJK@namepdef{^^de} + \CJK@namepdef{^^df} + + \CJK@nameppdef{^^e0} + \CJK@nameppdef{^^e1} + \CJK@nameppdef{^^e2} + \CJK@nameppdef{^^e3} + \CJK@nameppdef{^^e4} + \CJK@nameppdef{^^e5} + \CJK@nameppdef{^^e6} + \CJK@nameppdef{^^e7} + \CJK@nameppdef{^^e8} + \CJK@nameppdef{^^e9} + \CJK@nameppdef{^^ea} + \CJK@nameppdef{^^eb} + \CJK@nameppdef{^^ec} + \CJK@nameppdef{^^ed} + \CJK@nameppdef{^^ee} + \CJK@nameppdef{^^ef} + \CJK@nameppdef{^^f0} + \CJK@nameppdef{^^f1} + \CJK@nameppdef{^^f2} + \CJK@nameppdef{^^f3} + \CJK@nameppdef{^^f4} + \CJK@nameppdef{^^f5} + \CJK@nameppdef{^^f6} + \CJK@nameppdef{^^f7} + \CJK@nameppdef{^^f8} + \CJK@nameppdef{^^f9} + \CJK@nameppdef{^^fa} + \CJK@nameppdef{^^fb} + \CJK@nameppdef{^^fc} + \CJK@nameppdef{^^fd} + \CJK@nameppdef{^^fe}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cap b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cap new file mode 100644 index 00000000000..593df2deffb --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cap @@ -0,0 +1,84 @@ +% This is the file SJIS.cap of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{SJIS.cap}[\filedate\space\fileversion] + + +% Japanese captions +% +% character set: JIS X 0208:1997 (or JIS X 0208-1990) +% encoding: SJIS + +\newif\ifheisei +\let\ifheisei=\iffalse +\def\heisei{\let\ifheisei=\iftrue} + +\renewcommand\contentsname{ฺ} + +\renewcommand\listfigurename{\CJKchar{"090}{"07D}ฺ} +% \renewcommand\listfigurename{\CJKchar{"090}{"07D}๊} + +\renewcommand\listtablename{\CJKchar{"095}{"05C}ฺ} +% \renewcommand\listtablename{\CJKchar{"095}{"05C}๊} + +\CJK@ifundefined\chapter + {\renewcommand\refname{Qlถฃ} + } + {\renewcommand\bibname{ึAะ} +% \renewcommand\bibname{Qlถฃ} + } + +\renewcommand\indexname{๕๘} + +\renewcommand\figurename{\CJKchar{"090}{"07D}} +\renewcommand\tablename{\CJKchar{"095}{"05C}} + +\newcommand\prepartname{ๆ} +\newcommand\postpartname{} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + +% \renewcommand{\appendixname}{^} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{v|}}{} + +\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year + \advance\count0 -1988 ฝฌ\,\fi + \ifnum\count0=1 ณ\else\number\count0\fi + \,N\hspace{.5em}\nobreak\number\month + \,\hspace{.5em}\nobreak\number\day\,๚}} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{\ifcase#1\or + ๊\or๑\orO\orl\or\or + Z\orต\orช\orใ\or\CJKchar{"08F}{"05C}\fi}}{} + +\endinput + +%%% Local Variables: +%%% coding: sjis +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.chr b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.chr new file mode 100644 index 00000000000..9c88c8fd5a2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.chr @@ -0,0 +1,260 @@ +% This is the file SJIS.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{SJIS.chr}[\filedate\space\fileversion] + + +% define macros for handling SJIS encoded CJK fonts and characters. + +% two byte encoded characters. + +\gdef\CJK@SJISChr{ + \CJK@global\chardef\CJK@gap "07F\relax + + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##3\relax + \ifnum ##3 > \CJK@gap + \advance\@tempcnta \m@ne + \fi + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@charx##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \@tempcntb 256\relax + \ifnum ##4 > \CJK@gap + \advance\@tempcnta \m@ne + \advance\@tempcntb \@ne + \fi + \advance\@tempcnta ##3\relax + \advance\@tempcntb -##3\relax + \chardef\@temp \@tempcntb + \ifnum ##4 < \@temp + \edef\CJK@plane{##1} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% for punctuation. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##4} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \ifnum ##4 > \CJK@gap + \advance\@tempcnta \m@ne + \fi + \advance\@tempcnta ##3\relax + \edef\CJK@plane{##2} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + + \CJK@global\def\CJK@punctcharx##1##2##3##4##5{ + {\ifnum ##5 < \CJK@min + \CJK@err + \else + \ifnum ##5 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##5} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##5\relax + \@tempcntb 256\relax + \ifnum ##5 > \CJK@gap + \advance\@tempcnta \m@ne + \advance\@tempcntb \@ne + \fi + \advance\@tempcnta ##4\relax + \advance\@tempcntb -##4\relax + \chardef\@temp \@tempcntb + \ifnum ##5 < \@temp + \edef\CJK@plane{##2} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##3} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + + +% one byte encoded characters. + + \CJK@global\def\CJK@sjischar##1##2##3{ + \ifCJK@hwkatakana@ + {\CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@altenc}{}{##1} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \edef\CJK@plane{} + \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\number "0##1/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{"0##1} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@altenc}{}{##1} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi} + \else + \csname CJK@##2\endcsname{"0##3} + \fi}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cpx b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cpx new file mode 100644 index 00000000000..37db4426223 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.cpx @@ -0,0 +1,81 @@ +% This is the file SJIS.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{SJIS.cpx}[\filedate\space\fileversion] + + +% Japanese captions +% +% character set: JIS X 0208:1997 (or JIS X 0208-1990) +% encoding: SJIS +% +% preprocessed + +\newif\ifheisei +\let\ifheisei=\iffalse +\def\heisei{\let\ifheisei=\iftrue} + +\renewcommand\contentsname{218159} + +\renewcommand\listfigurename{125218159} +% \renewcommand\listfigurename{125234151} + +\renewcommand\listtablename{92218159} +% \renewcommand\listtablename{92234151} + +\CJK@ifundefined\chapter + {\renewcommand\refname{81108182163} + } + {\renewcommand\bibname{21465145208} +% \renewcommand\bibname{81108182163} + } + +\renewcommand\indexname{245248} + +\renewcommand\figurename{125} +\renewcommand\tablename{92} + +\newcommand\prepartname{230} +\newcommand\postpartname{148} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + +% \renewcommand{\appendixname}{14194} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{118124}}{} + +\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year + \advance\count0 -1988 189172\,\fi + \ifnum\count0=1 179\else\number\count0\fi + \,78\hspace{.5em}\nobreak\number\month + \,142\hspace{.5em}\nobreak\number\day\,250}} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{% + \ifcase#1\or + 234\or241\or79\or108\or220\or + 90\or181\or170\or227\or92\fi}}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.enc b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.enc new file mode 100644 index 00000000000..04d0a6c7626 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJIS.enc @@ -0,0 +1,199 @@ +% This is the file SJIS.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{SJIS.enc}[\filedate\space\fileversion] + + +% SJIS encoding (JIS X 0208:1997): +% it uses a one byte encoding (for half-width Katakana) from 0xA1 to +% 0xDF, and a two byte encoding for the remaining coding space (kanji, +% kana, and symbols). +% The first byte of the two byte encoding is in the ranges 0x81-0x9F and +% 0xE0-0xEF; the second byte is in the range 0x40 - 0xFC with a gap at +% 0x7F. + +\global\@namedef{CJK@SJISEncoding}{ + \CJK@loadChr{SJIS} + + \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase + \CJK@punctchar {81}{01}{-64}{##1}} + \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase + \CJK@punctcharx{82}{01}{02}{124}{##1}} + \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase + \CJK@punctcharx{83}{02}{03}{ 56}{##1}} + \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase + \CJK@char {03}{-12}{##1}} + \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase + \CJK@charx{03}{04}{176}{##1}} + \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase + \CJK@charx{04}{05}{108}{##1}} + \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase + \CJK@charx{05}{06}{ 40}{##1}} + \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase + \CJK@char {06}{-28}{##1}} + \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase + \CJK@charx{06}{07}{160}{##1}} + \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase + \CJK@charx{07}{08}{ 92}{##1}} + \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase + \CJK@charx{08}{09}{ 24}{##1}} + \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase + \CJK@char {09}{-44}{##1}} + \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase + \CJK@charx{09}{10}{144}{##1}} + \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase + \CJK@charx{10}{11}{ 76}{##1}} + \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase + \CJK@charx{11}{12}{ 8}{##1}} + \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase + \CJK@char {12}{-60}{##1}} + \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase + \CJK@charx{12}{13}{128}{##1}} + \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase + \CJK@charx{13}{14}{ 60}{##1}} + \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase + \CJK@char {14}{ -8}{##1}} + \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase + \CJK@charx{14}{15}{180}{##1}} + \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase + \CJK@charx{15}{16}{112}{##1}} + \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase + \CJK@charx{16}{17}{ 44}{##1}} + \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase + \CJK@char {17}{-24}{##1}} + \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase + \CJK@charx{17}{18}{164}{##1}} + \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase + \CJK@charx{18}{19}{ 96}{##1}} + \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase + \CJK@charx{19}{20}{ 28}{##1}} + \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase + \CJK@char {20}{-40}{##1}} + \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase + \CJK@charx{20}{21}{148}{##1}} + \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase + \CJK@charx{21}{22}{ 80}{##1}} + \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase + \CJK@charx{22}{23}{ 12}{##1}} + \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase + \CJK@char {23}{-56}{##1}} + \CJK@namegdef{^^a1}{\@empty\CJK@sjischar{A1}{129}{42}} + \CJK@namegdef{^^a2}{\@empty\CJK@sjischar{A2}{129}{75}} + \CJK@namegdef{^^a3}{\@empty\CJK@sjischar{A3}{129}{76}} + \CJK@namegdef{^^a4}{\@empty\CJK@sjischar{A4}{129}{41}} + \CJK@namegdef{^^a5}{\@empty\CJK@sjischar{A5}{129}{45}} + \CJK@namegdef{^^a6}{\@empty\CJK@sjischar{A6}{131}{92}} + \CJK@namegdef{^^a7}{\@empty\CJK@sjischar{A7}{131}{40}} + \CJK@namegdef{^^a8}{\@empty\CJK@sjischar{A8}{131}{42}} + \CJK@namegdef{^^a9}{\@empty\CJK@sjischar{A9}{131}{44}} + \CJK@namegdef{^^aa}{\@empty\CJK@sjischar{AA}{131}{46}} + \CJK@namegdef{^^ab}{\@empty\CJK@sjischar{AB}{131}{48}} + \CJK@namegdef{^^ac}{\@empty\CJK@sjischar{AC}{131}{83}} + \CJK@namegdef{^^ad}{\@empty\CJK@sjischar{AD}{131}{85}} + \CJK@namegdef{^^ae}{\@empty\CJK@sjischar{AE}{131}{87}} + \CJK@namegdef{^^af}{\@empty\CJK@sjischar{AF}{131}{62}} + \CJK@namegdef{^^b0}{\@empty\CJK@sjischar{B0}{129}{5B}} + \CJK@namegdef{^^b1}{\@empty\CJK@sjischar{B1}{131}{41}} + \CJK@namegdef{^^b2}{\@empty\CJK@sjischar{B2}{131}{43}} + \CJK@namegdef{^^b3}{\@empty\CJK@sjischar{B3}{131}{45}} + \CJK@namegdef{^^b4}{\@empty\CJK@sjischar{B4}{131}{47}} + \CJK@namegdef{^^b5}{\@empty\CJK@sjischar{B5}{131}{49}} + \CJK@namegdef{^^b6}{\@empty\CJK@sjischar{B6}{131}{4A}} + \CJK@namegdef{^^b7}{\@empty\CJK@sjischar{B7}{131}{4C}} + \CJK@namegdef{^^b8}{\@empty\CJK@sjischar{B8}{131}{4E}} + \CJK@namegdef{^^b9}{\@empty\CJK@sjischar{B9}{131}{50}} + \CJK@namegdef{^^ba}{\@empty\CJK@sjischar{BA}{131}{52}} + \CJK@namegdef{^^bb}{\@empty\CJK@sjischar{BB}{131}{54}} + \CJK@namegdef{^^bc}{\@empty\CJK@sjischar{BC}{131}{56}} + \CJK@namegdef{^^bd}{\@empty\CJK@sjischar{BD}{131}{58}} + \CJK@namegdef{^^be}{\@empty\CJK@sjischar{BE}{131}{5A}} + \CJK@namegdef{^^bf}{\@empty\CJK@sjischar{BF}{131}{5C}} + \CJK@namegdef{^^c0}{\@empty\CJK@sjischar{C0}{131}{5E}} + \CJK@namegdef{^^c1}{\@empty\CJK@sjischar{C1}{131}{60}} + \CJK@namegdef{^^c2}{\@empty\CJK@sjischar{C2}{131}{63}} + \CJK@namegdef{^^c3}{\@empty\CJK@sjischar{C3}{131}{65}} + \CJK@namegdef{^^c4}{\@empty\CJK@sjischar{C4}{131}{67}} + \CJK@namegdef{^^c5}{\@empty\CJK@sjischar{C5}{131}{69}} + \CJK@namegdef{^^c6}{\@empty\CJK@sjischar{C6}{131}{6A}} + \CJK@namegdef{^^c7}{\@empty\CJK@sjischar{C7}{131}{6B}} + \CJK@namegdef{^^c8}{\@empty\CJK@sjischar{C8}{131}{6C}} + \CJK@namegdef{^^c9}{\@empty\CJK@sjischar{C9}{131}{6D}} + \CJK@namegdef{^^ca}{\@empty\CJK@sjischar{CA}{131}{6E}} + \CJK@namegdef{^^cb}{\@empty\CJK@sjischar{CB}{131}{71}} + \CJK@namegdef{^^cc}{\@empty\CJK@sjischar{CC}{131}{74}} + \CJK@namegdef{^^cd}{\@empty\CJK@sjischar{CD}{131}{77}} + \CJK@namegdef{^^ce}{\@empty\CJK@sjischar{CE}{131}{7A}} + \CJK@namegdef{^^cf}{\@empty\CJK@sjischar{CF}{131}{7D}} + \CJK@namegdef{^^d0}{\@empty\CJK@sjischar{D0}{131}{7E}} + \CJK@namegdef{^^d1}{\@empty\CJK@sjischar{D1}{131}{80}} + \CJK@namegdef{^^d2}{\@empty\CJK@sjischar{D2}{131}{81}} + \CJK@namegdef{^^d3}{\@empty\CJK@sjischar{D3}{131}{82}} + \CJK@namegdef{^^d4}{\@empty\CJK@sjischar{D4}{131}{84}} + \CJK@namegdef{^^d5}{\@empty\CJK@sjischar{D5}{131}{86}} + \CJK@namegdef{^^d6}{\@empty\CJK@sjischar{D6}{131}{88}} + \CJK@namegdef{^^d7}{\@empty\CJK@sjischar{D7}{131}{89}} + \CJK@namegdef{^^d8}{\@empty\CJK@sjischar{D8}{131}{8A}} + \CJK@namegdef{^^d9}{\@empty\CJK@sjischar{D9}{131}{8B}} + \CJK@namegdef{^^da}{\@empty\CJK@sjischar{DA}{131}{8C}} + \CJK@namegdef{^^db}{\@empty\CJK@sjischar{DB}{131}{8D}} + \CJK@namegdef{^^dc}{\@empty\CJK@sjischar{DC}{131}{8F}} + \CJK@namegdef{^^dd}{\@empty\CJK@sjischar{DD}{131}{93}} + \CJK@namegdef{^^de}{\@empty\CJK@sjischar{DE}{129}{4A}} + \CJK@namegdef{^^df}{\@empty\CJK@sjischar{DF}{129}{4B}} + \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase + \CJK@charx{23}{24}{132}{##1}} + \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase + \CJK@charx{24}{25}{ 64}{##1}} + \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase + \CJK@char {25}{ -4}{##1}} + \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase + \CJK@charx{25}{26}{184}{##1}} + \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase + \CJK@charx{26}{27}{116}{##1}} + \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase + \CJK@charx{27}{28}{ 48}{##1}} + \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase + \CJK@char {28}{-20}{##1}} + \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase + \CJK@charx{28}{29}{168}{##1}} + \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase + \CJK@charx{29}{30}{100}{##1}} + \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase + \CJK@charx{30}{31}{ 32}{##1}} + \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase + \CJK@char {31}{-36}{##1}} + \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase + \CJK@charx{31}{32}{152}{##1}} + \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase + \CJK@charx{32}{33}{ 84}{##1}} + \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase + \CJK@charx{33}{34}{ 16}{##1}} + \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase + \CJK@char {34}{-52}{##1}} + \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase + \CJK@charx{34}{35}{136}{##1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.chr b/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.chr new file mode 100644 index 00000000000..8c3971800ce --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.chr @@ -0,0 +1,253 @@ +% This is the file SJISdnp.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{SJISdnp.chr}[\filedate\space\fileversion] + + +% define macros for handling SJIS encoded DNP fonts and characters. + +% two byte encoded characters. + +\gdef\CJK@SJISdnpChr{ + \CJK@global\chardef\CJK@gap "07F\relax + + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##3\relax + \ifnum ##3 > \CJK@gap + \advance\@tempcnta \m@ne + \fi + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@charx##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \@tempcntb 256\relax + \ifnum ##4 > \CJK@gap + \advance\@tempcnta \m@ne + \advance\@tempcntb \@ne + \fi + \advance\@tempcnta ##3\relax + \advance\@tempcntb -##3\relax + \chardef\@temp \@tempcntb + \ifnum ##4 < \@temp + \edef\CJK@plane{##1} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% to access two subfonts within one first byte value + + \CJK@global\def\CJK@sjischarx##1##2##3##4##5{ + {\ifnum ##5 < \CJK@min + \CJK@err + \else + \ifnum ##5 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##5\relax + \ifnum ##5 < "09F\relax + \ifnum ##5 > \CJK@gap + \advance\@tempcnta \m@ne + \fi + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \else + \advance\@tempcnta ##4\relax + \edef\CJK@plane{##3} + \fi + + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same for punctuation. + + \CJK@global\def\CJK@sjispunctcharx##1##2##3##4##5##6{ + {\ifnum ##6 < \CJK@min + \CJK@err + \else + \ifnum ##6 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##6} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##6\relax + \ifnum ##6 < "09F\relax + \ifnum ##6 > \CJK@gap + \advance\@tempcnta \m@ne + \fi + \advance\@tempcnta ##3\relax + \edef\CJK@plane{##2} + \else + \advance\@tempcnta ##5\relax + \edef\CJK@plane{##4} + \fi + + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + +% one byte encoded characters. + + \CJK@global\def\CJK@sjischar##1##2##3{ + \ifCJK@hwkatakana@ + {\CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@altenc}{}{##1} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \def\CJK@plane{} + \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\number "0##1/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{"0##1} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@altenc}{}{##1} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi} + \else + \csname CJK@##2\endcsname{"0##3} + \fi}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.enc b/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.enc new file mode 100644 index 00000000000..9e963e4e837 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/SJIS/SJISdnp.enc @@ -0,0 +1,192 @@ +% This is the file SJISdnp.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{SJISdnp.enc}[\filedate\space\fileversion] + + +% SJIS encoding (JIS X 0208:1997) for DNP fonts: +% it uses a one byte encoding (for half-width Katakana) from 0xA1 to +% 0xDF, and a two byte encoding for the remaining coding space (kanji, +% kana, and symbols). +% The first byte of the two byte encoding is in the ranges 0x81-0x9F and +% 0xE0-0xEF; the second byte is in the range 0x40 - 0xFC with a gap at +% 0x7F. + +\global\@namedef{CJK@SJISdnpEncoding}{ + \CJK@loadChr{SJISdnp} + + \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase + \CJK@sjispunctcharx{81}{sy}{-63}{sy}{-58}{##1}} + \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase + \CJK@sjispunctcharx{82}{roma}{-31}{hira}{-158}{##1}} + \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase + \CJK@sjispunctcharx{83}{kata}{-63}{greek}{-158}{##1}} + \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase + \CJK@sjischarx{russian}{-63}{keisen}{-158}{##1}} + \CJK@namegdef{^^85}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^86}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^87}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase + \CJK@sjischarx{}{0}{ka}{-159}{##1}} + \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase + \CJK@charx{ka}{kb}{30}{##1}} + \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase + \CJK@char {kb}{-38}{##1}} + \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase + \CJK@charx{kb}{kc}{150}{##1}} + \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase + \CJK@charx{kc}{kd}{ 82}{##1}} + \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase + \CJK@charx{kd}{ke}{ 14}{##1}} + \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase + \CJK@char {ke}{-54}{##1}} + \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase + \CJK@charx{ke}{kf}{134}{##1}} + \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase + \CJK@charx{kf}{kg}{ 66}{##1}} + \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase + \CJK@char {kg}{ -2}{##1}} + \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase + \CJK@charx{kg}{kh}{186}{##1}} + \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase + \CJK@charx{kh}{ki}{118}{##1}} + \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase + \CJK@charx{ki}{kj}{ 50}{##1}} + \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase + \CJK@char {kj}{-18}{##1}} + \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase + \CJK@charx{kj}{kk}{170}{##1}} + \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase + \CJK@charx{kk}{kl}{102}{##1}} + \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase + \CJK@sjischarx{kl}{34}{km}{-159}{##1}} + \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase + \CJK@charx{km}{kn}{30}{##1}} + \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase + \CJK@char {kn}{-38}{##1}} + \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase + \CJK@charx{kn}{ko}{150}{##1}} + \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase + \CJK@charx{ko}{kp}{ 82}{##1}} + \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase + \CJK@charx{kp}{kq}{ 14}{##1}} + \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase + \CJK@char {kq}{-54}{##1}} + \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase + \CJK@charx{kq}{kr}{134}{##1}} + \CJK@namegdef{^^a1}{\@empty\CJK@sjischar{A1}{129}{42}} + \CJK@namegdef{^^a2}{\@empty\CJK@sjischar{A2}{129}{75}} + \CJK@namegdef{^^a3}{\@empty\CJK@sjischar{A3}{129}{76}} + \CJK@namegdef{^^a4}{\@empty\CJK@sjischar{A4}{129}{41}} + \CJK@namegdef{^^a5}{\@empty\CJK@sjischar{A5}{129}{45}} + \CJK@namegdef{^^a6}{\@empty\CJK@sjischar{A6}{131}{92}} + \CJK@namegdef{^^a7}{\@empty\CJK@sjischar{A7}{131}{40}} + \CJK@namegdef{^^a8}{\@empty\CJK@sjischar{A8}{131}{42}} + \CJK@namegdef{^^a9}{\@empty\CJK@sjischar{A9}{131}{44}} + \CJK@namegdef{^^aa}{\@empty\CJK@sjischar{AA}{131}{46}} + \CJK@namegdef{^^ab}{\@empty\CJK@sjischar{AB}{131}{48}} + \CJK@namegdef{^^ac}{\@empty\CJK@sjischar{AC}{131}{83}} + \CJK@namegdef{^^ad}{\@empty\CJK@sjischar{AD}{131}{85}} + \CJK@namegdef{^^ae}{\@empty\CJK@sjischar{AE}{131}{87}} + \CJK@namegdef{^^af}{\@empty\CJK@sjischar{AF}{131}{62}} + \CJK@namegdef{^^b0}{\@empty\CJK@sjischar{B0}{129}{5B}} + \CJK@namegdef{^^b1}{\@empty\CJK@sjischar{B1}{131}{41}} + \CJK@namegdef{^^b2}{\@empty\CJK@sjischar{B2}{131}{43}} + \CJK@namegdef{^^b3}{\@empty\CJK@sjischar{B3}{131}{45}} + \CJK@namegdef{^^b4}{\@empty\CJK@sjischar{B4}{131}{47}} + \CJK@namegdef{^^b5}{\@empty\CJK@sjischar{B5}{131}{49}} + \CJK@namegdef{^^b6}{\@empty\CJK@sjischar{B6}{131}{4A}} + \CJK@namegdef{^^b7}{\@empty\CJK@sjischar{B7}{131}{4C}} + \CJK@namegdef{^^b8}{\@empty\CJK@sjischar{B8}{131}{4E}} + \CJK@namegdef{^^b9}{\@empty\CJK@sjischar{B9}{131}{50}} + \CJK@namegdef{^^ba}{\@empty\CJK@sjischar{BA}{131}{52}} + \CJK@namegdef{^^bb}{\@empty\CJK@sjischar{BB}{131}{54}} + \CJK@namegdef{^^bc}{\@empty\CJK@sjischar{BC}{131}{56}} + \CJK@namegdef{^^bd}{\@empty\CJK@sjischar{BD}{131}{58}} + \CJK@namegdef{^^be}{\@empty\CJK@sjischar{BE}{131}{5A}} + \CJK@namegdef{^^bf}{\@empty\CJK@sjischar{BF}{131}{5C}} + \CJK@namegdef{^^c0}{\@empty\CJK@sjischar{C0}{131}{5E}} + \CJK@namegdef{^^c1}{\@empty\CJK@sjischar{C1}{131}{60}} + \CJK@namegdef{^^c2}{\@empty\CJK@sjischar{C2}{131}{63}} + \CJK@namegdef{^^c3}{\@empty\CJK@sjischar{C3}{131}{65}} + \CJK@namegdef{^^c4}{\@empty\CJK@sjischar{C4}{131}{67}} + \CJK@namegdef{^^c5}{\@empty\CJK@sjischar{C5}{131}{69}} + \CJK@namegdef{^^c6}{\@empty\CJK@sjischar{C6}{131}{6A}} + \CJK@namegdef{^^c7}{\@empty\CJK@sjischar{C7}{131}{6B}} + \CJK@namegdef{^^c8}{\@empty\CJK@sjischar{C8}{131}{6C}} + \CJK@namegdef{^^c9}{\@empty\CJK@sjischar{C9}{131}{6D}} + \CJK@namegdef{^^ca}{\@empty\CJK@sjischar{CA}{131}{6E}} + \CJK@namegdef{^^cb}{\@empty\CJK@sjischar{CB}{131}{71}} + \CJK@namegdef{^^cc}{\@empty\CJK@sjischar{CC}{131}{74}} + \CJK@namegdef{^^cd}{\@empty\CJK@sjischar{CD}{131}{77}} + \CJK@namegdef{^^ce}{\@empty\CJK@sjischar{CE}{131}{7A}} + \CJK@namegdef{^^cf}{\@empty\CJK@sjischar{CF}{131}{7D}} + \CJK@namegdef{^^d0}{\@empty\CJK@sjischar{D0}{131}{7E}} + \CJK@namegdef{^^d1}{\@empty\CJK@sjischar{D1}{131}{80}} + \CJK@namegdef{^^d2}{\@empty\CJK@sjischar{D2}{131}{81}} + \CJK@namegdef{^^d3}{\@empty\CJK@sjischar{D3}{131}{82}} + \CJK@namegdef{^^d4}{\@empty\CJK@sjischar{D4}{131}{84}} + \CJK@namegdef{^^d5}{\@empty\CJK@sjischar{D5}{131}{86}} + \CJK@namegdef{^^d6}{\@empty\CJK@sjischar{D6}{131}{88}} + \CJK@namegdef{^^d7}{\@empty\CJK@sjischar{D7}{131}{89}} + \CJK@namegdef{^^d8}{\@empty\CJK@sjischar{D8}{131}{8A}} + \CJK@namegdef{^^d9}{\@empty\CJK@sjischar{D9}{131}{8B}} + \CJK@namegdef{^^da}{\@empty\CJK@sjischar{DA}{131}{8C}} + \CJK@namegdef{^^db}{\@empty\CJK@sjischar{DB}{131}{8D}} + \CJK@namegdef{^^dc}{\@empty\CJK@sjischar{DC}{131}{8F}} + \CJK@namegdef{^^dd}{\@empty\CJK@sjischar{DD}{131}{93}} + \CJK@namegdef{^^de}{\@empty\CJK@sjischar{DE}{129}{4A}} + \CJK@namegdef{^^df}{\@empty\CJK@sjischar{DF}{129}{4B}} + \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase + \CJK@charx{kr}{ks}{ 66}{##1}} + \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase + \CJK@char {ks}{ -2}{##1}} + \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase + \CJK@charx{ks}{kt}{186}{##1}} + \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase + \CJK@charx{kt}{ku}{118}{##1}} + \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase + \CJK@charx{ku}{kv}{ 50}{##1}} + \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase + \CJK@char {kv}{-18}{##1}} + \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase + \CJK@charx{kv}{kw}{170}{##1}} + \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase + \CJK@charx{kw}{kx}{102}{##1}} + \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase + \CJK@charx{kx}{ky}{ 34}{##1}} + \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase + \CJK@char {ky}{-34}{##1}} + \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase + \CJK@charx{ky}{kz}{154}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ec}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ed}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ee}##1{\@empty\CJK@errxx} + \CJK@namegdef{^^ef}##1{\@empty\CJK@errxx} +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/SJIS/c49song.fd b/Master/texmf-dist/tex/latex/cjk/SJIS/c49song.fd new file mode 100644 index 00000000000..fe1b9e95f3c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/SJIS/c49song.fd @@ -0,0 +1,25 @@ +% This is the file c49song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c49song.fd}[\filedate\space\fileversion] + + +% Japanese characters +% +% character set: one-byte half-width katakana (JIS X 0201-1997) +% font encoding: eight-bit (as used in SJIS) + +\DeclareFontFamily{C49}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C49}{song}{m}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * sokana}{} +\DeclareFontShape{C49}{song}{bx}{n}{<5><6><7><8><9><10><10.95><12> + <14.4><17.28><20.74><24.88> CJK * sokanab}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.bdg b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.bdg new file mode 100644 index 00000000000..0d93769359f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.bdg @@ -0,0 +1,156 @@ +% This is the file UTF8.bdg of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{UTF8.bdg}[\filedate\space\fileversion] + + + +% UTF 8 bindings for two-, three-, and four-byte characters. We stop +% with 0xF4 because there are no valid Unicode characters beyond 0x10FFFF. + +\global\@namedef{CJK@UTF8Binding}{ + \CJK@namedef{^^80} + \CJK@namedef{^^81} + \CJK@namedef{^^82} + \CJK@namedef{^^83} + \CJK@namedef{^^84} + \CJK@namedef{^^85} + \CJK@namedef{^^86} + \CJK@namedef{^^87} + \CJK@namedef{^^88} + \CJK@namedef{^^89} + \CJK@namedef{^^8a} + \CJK@namedef{^^8b} + \CJK@namedef{^^8c} + \CJK@namedef{^^8d} + \CJK@namedef{^^8e} + \CJK@namedef{^^8f} + \CJK@namedef{^^90} + \CJK@namedef{^^91} + \CJK@namedef{^^92} + \CJK@namedef{^^93} + \CJK@namedef{^^94} + \CJK@namedef{^^95} + \CJK@namedef{^^96} + \CJK@namedef{^^97} + \CJK@namedef{^^98} + \CJK@namedef{^^99} + \CJK@namedef{^^9a} + \CJK@namedef{^^9b} + \CJK@namedef{^^9c} + \CJK@namedef{^^9d} + \CJK@namedef{^^9e} + \CJK@namedef{^^9f} + \CJK@namedef{^^a0} + \CJK@namedef{^^a1} + \CJK@namedef{^^a2} + \CJK@namedef{^^a3} + \CJK@namedef{^^a4} + \CJK@namedef{^^a5} + \CJK@namedef{^^a6} + \CJK@namedef{^^a7} + \CJK@namedef{^^a8} + \CJK@namedef{^^a9} + \CJK@namedef{^^aa} + \CJK@namedef{^^ab} + \CJK@namedef{^^ac} + \CJK@namedef{^^ad} + \CJK@namedef{^^ae} + \CJK@namedef{^^af} + \CJK@namedef{^^b0} + \CJK@namedef{^^b1} + \CJK@namedef{^^b2} + \CJK@namedef{^^b3} + \CJK@namedef{^^b4} + \CJK@namedef{^^b5} + \CJK@namedef{^^b6} + \CJK@namedef{^^b7} + \CJK@namedef{^^b8} + \CJK@namedef{^^b9} + \CJK@namedef{^^ba} + \CJK@namedef{^^bb} + \CJK@namedef{^^bc} + \CJK@namedef{^^bd} + \CJK@namedef{^^be} + \CJK@namedef{^^bf} + + \CJK@nameppdef{^^c0} + \CJK@nameppdef{^^c1} + \CJK@nameppdef{^^c2} + \CJK@nameppdef{^^c3} + \CJK@nameppdef{^^c4} + \CJK@nameppdef{^^c5} + \CJK@nameppdef{^^c6} + \CJK@nameppdef{^^c7} + \CJK@nameppdef{^^c8} + \CJK@nameppdef{^^c9} + \CJK@nameppdef{^^ca} + \CJK@nameppdef{^^cb} + \CJK@nameppdef{^^cc} + \CJK@nameppdef{^^cd} + \CJK@nameppdef{^^ce} + \CJK@nameppdef{^^cf} + \CJK@nameppdef{^^d0} + \CJK@nameppdef{^^d1} + \CJK@nameppdef{^^d2} + \CJK@nameppdef{^^d3} + \CJK@nameppdef{^^d4} + \CJK@nameppdef{^^d5} + \CJK@nameppdef{^^d6} + \CJK@nameppdef{^^d7} + \CJK@nameppdef{^^d8} + \CJK@nameppdef{^^d9} + \CJK@nameppdef{^^da} + \CJK@nameppdef{^^db} + \CJK@nameppdef{^^dc} + \CJK@nameppdef{^^dd} + \CJK@nameppdef{^^de} + \CJK@nameppdef{^^df} + + \CJK@namepppdef{^^e0} + \CJK@namepppdef{^^e1} + \CJK@namepppdef{^^e2} + \CJK@namepppdef{^^e3} + \CJK@namepppdef{^^e4} + \CJK@namepppdef{^^e5} + \CJK@namepppdef{^^e6} + \CJK@namepppdef{^^e7} + \CJK@namepppdef{^^e8} + \CJK@namepppdef{^^e9} + \CJK@namepppdef{^^ea} + \CJK@namepppdef{^^eb} + \CJK@namepppdef{^^ec} + \CJK@namepppdef{^^ed} + \CJK@namepppdef{^^ee} + \CJK@namepppdef{^^ef} + + \CJK@nameppppdef{^^f0} + \CJK@nameppppdef{^^f1} + \CJK@nameppppdef{^^f2} + \CJK@nameppppdef{^^f3} + \CJK@nameppppdef{^^f4}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.chr b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.chr new file mode 100644 index 00000000000..d1d961c57db --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.chr @@ -0,0 +1,276 @@ +% This is the file UTF8.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{UTF8.chr}[\filedate\space\fileversion] + + +% define macros for handling CJK fonts and characters in UTF 8 encoding. + +% two bytes per character; covers range 0x80 - 0x7FF. + +\CJK@global\@namedef{CJK@UTF8Chr}{ + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \@tempcnta ##3\relax + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \CJKsymbol{\@tempcnta} + \fi + \fi}} + +% three bytes per character; covers range 0x800 - 0xFFFF. + + \CJK@global\def\CJK@altchar##1##2##3{ + {\ifnum ##2 < \CJK@min + \CJK@err + \else + \ifnum ##2 > \CJK@max + \CJK@err + \else + \ifnum ##3 < \CJK@min + \CJK@errx + \else + \ifnum ##3 > \CJK@max + \CJK@errx + \else + \ifCJK@CJK@ + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + \fi + + \@tempcnta ##1\relax + \@tempcntb ##2\relax + \divide\@tempcntb 4\relax + \advance\@tempcnta \@tempcntb + \CJK@numbToHex{\CJK@gtemp}{\@tempcnta} + \def\CJK@tempa####1{ + \lowercase{\edef\CJK@plane{####1}}} + \expandafter\CJK@tempa\expandafter{\CJK@gtemp} + + \@tempcnta ##2\relax + \multiply\@tempcntb -4\relax + \advance\@tempcnta \@tempcntb + \multiply\@tempcnta 64\relax + \advance\@tempcnta ##3\relax + \advance\@tempcnta -128\relax + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \ifCJK@hangul@ + \discretionary{}{}{} + \fi + \ifCJK@CJK@ + \CJK@CJK + \fi + \fi + \fi + \fi + \fi}} + +% four bytes per character; covers range 0x10000 - 0x10FFFF. + + \CJK@global\def\CJK@altxchar##1##2##3##4{ + {\ifnum ##2 < \CJK@min + \CJK@err + \else + \ifnum ##2 > \CJK@max + \CJK@err + \else + \ifnum ##3 < \CJK@min + \CJK@errx + \else + \ifnum ##3 > \CJK@max + \CJK@errx + \else + \ifnum ##3 < \CJK@min + \CJK@errxx + \else + \ifnum ##3 > \CJK@max + \CJK@errxx + \else + \ifCJK@CJK@ + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + \fi + + \@tempcnta ##1\relax + \@tempcntb ##2\relax + \multiply\@tempcntb \sixt@@n + \advance\@tempcnta \@tempcntb + \@tempcntb ##3\relax + \divide\@tempcntb 4\relax + \advance\@tempcnta \@tempcntb + \CJK@numbxToHex{\CJK@gtemp}{\@tempcnta} + \def\CJK@tempa####1{ + \lowercase{\edef\CJK@plane{####1}}} + \expandafter\CJK@tempa\expandafter{\CJK@gtemp} + + \@tempcnta ##3\relax + \multiply\@tempcntb -4\relax + \advance\@tempcnta \@tempcntb + \multiply\@tempcnta 64\relax + \advance\@tempcnta ##4\relax + \advance\@tempcnta -128\relax + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \ifCJK@hangul@ + \discretionary{}{}{} + \fi + \ifCJK@CJK@ + \CJK@CJK + \fi + \fi + \fi + \fi + \fi + \fi + \fi}} + +% define macro for handling punctuation characters. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \ifnum ##4 < \CJK@min + \CJK@errx + \else + \ifnum ##4 > \CJK@max + \CJK@errx + \else + \@tempcnta ##2\relax + \@tempcntb ##3\relax + \divide\@tempcntb 4\relax + \advance\@tempcnta \@tempcntb + \CJK@numbToHex{\CJK@gtemp}{\@tempcnta} + \def\CJK@tempa####1{ + \lowercase{\edef\CJK@plane{####1}}} + \expandafter\CJK@tempa\expandafter{\CJK@gtemp} + + \@tempcnta ##3\relax + \multiply\@tempcntb -4\relax + \advance\@tempcnta \@tempcntb + \multiply\@tempcnta 64\relax + \advance\@tempcnta ##4\relax + \advance\@tempcnta -128\relax + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + + % we need three braces to make it work with CJKulem.sty + {{{\ifCJK@CJK@ + \expandafter\CJK@testInList + \expandafter{\expandafter##1\expandafter} + \expandafter{\CJK@plane} + \ifCJK@ + \CJK@numbToHex{\CJK@gtemp}{\@tempcnta} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \CJKpunctsymbol{\@tempcnta} + + \CJK@CJK + \fi + \else + \CJKpunctsymbol{\@tempcnta} + \fi + \ifCJK@hangul@ + \discretionary{}{}{} + \fi + }}} + \fi + \fi + \fi + \fi}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.enc b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.enc new file mode 100644 index 00000000000..e1f659f3ccc --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/UTF8.enc @@ -0,0 +1,140 @@ +% This is the file UTF8.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{UTF8.enc}[\filedate\space\fileversion] + + +% UTF 8 encoding: + +\CJK@global\@namedef{CJK@UTF8Encoding}{ + \CJK@loadChr{UTF8} + + % two-byte characters + % + % 110xxxxx 10xxxxxx + % | + % + % 1. Byte * 64 -> xxxxx000000 + % 2. Byte -> 128 + xxxxxx + % + \CJK@namegdef{^^c0}##1{\@empty\CJK@char{00}{-128}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@char{00}{ -64}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char{00}{ 0}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@char{00}{ 64}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@char{01}{-128}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@char{01}{ -64}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char{01}{ 0}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@char{01}{ 64}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@char{02}{-128}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@char{02}{ -64}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char{02}{ 0}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@char{02}{ 64}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@char{03}{-128}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char{03}{ -64}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char{03}{ 0}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@char{03}{ 64}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char{04}{-128}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char{04}{ -64}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@char{04}{ 0}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char{04}{ 64}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@char{05}{-128}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char{05}{ -64}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char{05}{ 0}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@char{05}{ 64}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char{06}{-128}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char{06}{ -64}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@char{06}{ 0}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char{06}{ 64}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@char{07}{-128}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@char{07}{ -64}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char{07}{ 0}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@char{07}{ 64}{##1}} + + % if in preprocessed mode, `\@gobble' will be gobbled, and + % \CJK@unicodeError becomes active + + % three-byte characters + % + % 1110xxxx 10xxxxxx 10xxxxxx + % | + % + % 1. Byte * 16 -> xxxx0000 + % 2. Byte / 4 -> 32 + xxxx + % + \CJK@namegdef{^^e0}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{-32}{##1}{##2}} + \CJK@namegdef{^^e1}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{-16}{##1}{##2}} + \CJK@namegdef{^^e2}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{ 0}{##1}{##2}} + \CJK@namegdef{^^e3}##1##2{\@gobble\CJK@unicodeError + \CJK@punctchar{\CJK@uniPunct}{ 16}{##1}{##2}} + \CJK@namegdef{^^e4}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{ 32}{##1}{##2}} + \CJK@namegdef{^^e5}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{ 48}{##1}{##2}} + \CJK@namegdef{^^e6}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{ 64}{##1}{##2}} + \CJK@namegdef{^^e7}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{ 80}{##1}{##2}} + \CJK@namegdef{^^e8}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{ 96}{##1}{##2}} + \CJK@namegdef{^^e9}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{112}{##1}{##2}} + \CJK@namegdef{^^ea}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{128}{##1}{##2}} + \CJK@namegdef{^^eb}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{144}{##1}{##2}} + \CJK@namegdef{^^ec}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{160}{##1}{##2}} + \CJK@namegdef{^^ed}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{176}{##1}{##2}} + \CJK@namegdef{^^ee}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{192}{##1}{##2}} + \CJK@namegdef{^^ef}##1##2{\@gobble\CJK@unicodeError + \CJK@punctchar{\CJK@uniPunct}{208}{##1}{##2}} + + % four-byte characters + % + % 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + % | | + % + % 1. Byte * 1024 -> xxx00 00000000 + % 2. Byte * 16 -> 2048 + xx xxxx0000 + % 3. Byte / 4 -> 32 + xxxx + % + \CJK@namegdef{^^f0}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{-2080}{##1}{##2}{##3}} + \CJK@namegdef{^^f1}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{-1056}{##1}{##2}{##3}} + \CJK@namegdef{^^f2}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{ -32}{##1}{##2}{##3}} + \CJK@namegdef{^^f3}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{ 992}{##1}{##2}{##3}} + \CJK@namegdef{^^f4}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{ 2016}{##1}{##2}{##3}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fd new file mode 100644 index 00000000000..4919fb009ca --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fd @@ -0,0 +1,21 @@ +% This is the file c70bkai.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70bkai.fd}[\filedate\space\fileversion] + + +% character set: Big5 +% font encoding: Unicode + +\DeclareFontFamily{C70}{bkai}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C70}{bkai}{m}{n}{<-> CJK * bkaiu}{} +\DeclareFontShape{C70}{bkai}{bx}{n}{<-> CJKb * bkaiu}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fdx b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fdx new file mode 100644 index 00000000000..36e7df99df0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bkai.fdx @@ -0,0 +1,318 @@ +% This is the file c70bkai.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by the script makefdx.pl for CJK Version 4.8.0 (22-May-2008). + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70bkai.fdx}[\filedate\space\fileversion] + +\CJKvdef{fullheight}{1em} +\CJKvdef{height}{.88em} +\CJKvdef{offset}{.6em} + +% Uncomment if necessary. +%\CJKvdef{norotate}{} +\CJKvdef{m/n/00/175}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}} +\CJKvlet{bx/n/00/175}{m/n/00/175} +\CJKvdef{m/n/00/183}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}} +\CJKvlet{bx/n/00/183}{m/n/00/183} +\CJKvdef{m/n/02/205}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}} +\CJKvlet{bx/n/02/205}{m/n/02/205} +\CJKvdef{m/n/ff/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}} +\CJKvlet{bx/n/ff/8}{m/n/ff/8} +\CJKvdef{m/n/ff/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}} +\CJKvlet{bx/n/ff/9}{m/n/ff/9} +\CJKvdef{m/n/ff/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}} +\CJKvlet{bx/n/ff/12}{m/n/ff/12} +\CJKvdef{m/n/ff/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}} +\CJKvlet{bx/n/ff/14}{m/n/ff/14} +\CJKvdef{m/n/ff/59}{\def\CJK@plane{v}\selectfont\CJKsymbol{7}} +\CJKvlet{bx/n/ff/59}{m/n/ff/59} +\CJKvdef{m/n/ff/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{8}} +\CJKvlet{bx/n/ff/61}{m/n/ff/61} +\CJKvdef{m/n/ff/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}} +\CJKvlet{bx/n/ff/63}{m/n/ff/63} +\CJKvdef{m/n/ff/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}} +\CJKvlet{bx/n/ff/91}{m/n/ff/91} +\CJKvdef{m/n/ff/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}} +\CJKvlet{bx/n/ff/93}{m/n/ff/93} +\CJKvdef{m/n/ff/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}} +\CJKvlet{bx/n/ff/94}{m/n/ff/94} +\CJKvdef{m/n/20/19}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}} +\CJKvlet{bx/n/20/19}{m/n/20/19} +\CJKvdef{m/n/20/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}} +\CJKvlet{bx/n/20/20}{m/n/20/20} +\CJKvdef{m/n/20/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}} +\CJKvlet{bx/n/20/37}{m/n/20/37} +\CJKvdef{m/n/20/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}} +\CJKvlet{bx/n/20/38}{m/n/20/38} +\CJKvdef{m/n/21/144}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}} +\CJKvlet{bx/n/21/144}{m/n/21/144} +\CJKvdef{m/n/21/145}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}} +\CJKvlet{bx/n/21/145}{m/n/21/145} +\CJKvdef{m/n/21/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}} +\CJKvlet{bx/n/21/146}{m/n/21/146} +\CJKvdef{m/n/21/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}} +\CJKvlet{bx/n/21/147}{m/n/21/147} +\CJKvdef{m/n/22/35}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}} +\CJKvlet{bx/n/22/35}{m/n/22/35} +\CJKvdef{m/n/22/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}} +\CJKvlet{bx/n/22/37}{m/n/22/37} +\CJKvdef{m/n/25/0}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}} +\CJKvlet{bx/n/25/0}{m/n/25/0} +\CJKvdef{m/n/25/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}} +\CJKvlet{bx/n/25/2}{m/n/25/2} +\CJKvdef{m/n/25/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}} +\CJKvlet{bx/n/25/12}{m/n/25/12} +\CJKvdef{m/n/25/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}} +\CJKvlet{bx/n/25/16}{m/n/25/16} +\CJKvdef{m/n/25/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}} +\CJKvlet{bx/n/25/20}{m/n/25/20} +\CJKvdef{m/n/25/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}} +\CJKvlet{bx/n/25/24}{m/n/25/24} +\CJKvdef{m/n/25/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}} +\CJKvlet{bx/n/25/28}{m/n/25/28} +\CJKvdef{m/n/25/36}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}} +\CJKvlet{bx/n/25/36}{m/n/25/36} +\CJKvdef{m/n/25/44}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}} +\CJKvlet{bx/n/25/44}{m/n/25/44} +\CJKvdef{m/n/25/52}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}} +\CJKvlet{bx/n/25/52}{m/n/25/52} +\CJKvdef{m/n/25/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}} +\CJKvlet{bx/n/25/80}{m/n/25/80} +\CJKvdef{m/n/25/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{34}} +\CJKvlet{bx/n/25/81}{m/n/25/81} +\CJKvdef{m/n/25/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{35}} +\CJKvlet{bx/n/25/82}{m/n/25/82} +\CJKvdef{m/n/25/83}{\def\CJK@plane{v}\selectfont\CJKsymbol{36}} +\CJKvlet{bx/n/25/83}{m/n/25/83} +\CJKvdef{m/n/25/84}{\def\CJK@plane{v}\selectfont\CJKsymbol{37}} +\CJKvlet{bx/n/25/84}{m/n/25/84} +\CJKvdef{m/n/25/85}{\def\CJK@plane{v}\selectfont\CJKsymbol{38}} +\CJKvlet{bx/n/25/85}{m/n/25/85} +\CJKvdef{m/n/25/86}{\def\CJK@plane{v}\selectfont\CJKsymbol{39}} +\CJKvlet{bx/n/25/86}{m/n/25/86} +\CJKvdef{m/n/25/87}{\def\CJK@plane{v}\selectfont\CJKsymbol{40}} +\CJKvlet{bx/n/25/87}{m/n/25/87} +\CJKvdef{m/n/25/88}{\def\CJK@plane{v}\selectfont\CJKsymbol{41}} +\CJKvlet{bx/n/25/88}{m/n/25/88} +\CJKvdef{m/n/25/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{42}} +\CJKvlet{bx/n/25/89}{m/n/25/89} +\CJKvdef{m/n/25/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{43}} +\CJKvlet{bx/n/25/90}{m/n/25/90} +\CJKvdef{m/n/25/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{44}} +\CJKvlet{bx/n/25/91}{m/n/25/91} +\CJKvdef{m/n/25/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{45}} +\CJKvlet{bx/n/25/92}{m/n/25/92} +\CJKvdef{m/n/25/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{46}} +\CJKvlet{bx/n/25/93}{m/n/25/93} +\CJKvdef{m/n/25/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}} +\CJKvlet{bx/n/25/94}{m/n/25/94} +\CJKvdef{m/n/25/95}{\def\CJK@plane{v}\selectfont\CJKsymbol{48}} +\CJKvlet{bx/n/25/95}{m/n/25/95} +\CJKvdef{m/n/25/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{49}} +\CJKvlet{bx/n/25/96}{m/n/25/96} +\CJKvdef{m/n/25/97}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}} +\CJKvlet{bx/n/25/97}{m/n/25/97} +\CJKvdef{m/n/25/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{51}} +\CJKvlet{bx/n/25/98}{m/n/25/98} +\CJKvdef{m/n/25/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{52}} +\CJKvlet{bx/n/25/99}{m/n/25/99} +\CJKvdef{m/n/25/100}{\def\CJK@plane{v}\selectfont\CJKsymbol{53}} +\CJKvlet{bx/n/25/100}{m/n/25/100} +\CJKvdef{m/n/25/101}{\def\CJK@plane{v}\selectfont\CJKsymbol{54}} +\CJKvlet{bx/n/25/101}{m/n/25/101} +\CJKvdef{m/n/25/102}{\def\CJK@plane{v}\selectfont\CJKsymbol{55}} +\CJKvlet{bx/n/25/102}{m/n/25/102} +\CJKvdef{m/n/25/103}{\def\CJK@plane{v}\selectfont\CJKsymbol{56}} +\CJKvlet{bx/n/25/103}{m/n/25/103} +\CJKvdef{m/n/25/104}{\def\CJK@plane{v}\selectfont\CJKsymbol{57}} +\CJKvlet{bx/n/25/104}{m/n/25/104} +\CJKvdef{m/n/25/105}{\def\CJK@plane{v}\selectfont\CJKsymbol{58}} +\CJKvlet{bx/n/25/105}{m/n/25/105} +\CJKvdef{m/n/25/106}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}} +\CJKvlet{bx/n/25/106}{m/n/25/106} +\CJKvdef{m/n/25/107}{\def\CJK@plane{v}\selectfont\CJKsymbol{60}} +\CJKvlet{bx/n/25/107}{m/n/25/107} +\CJKvdef{m/n/25/109}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}} +\CJKvlet{bx/n/25/109}{m/n/25/109} +\CJKvdef{m/n/25/110}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}} +\CJKvlet{bx/n/25/110}{m/n/25/110} +\CJKvdef{m/n/25/111}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}} +\CJKvlet{bx/n/25/111}{m/n/25/111} +\CJKvdef{m/n/25/112}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}} +\CJKvlet{bx/n/25/112}{m/n/25/112} +\CJKvdef{m/n/25/116}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}} +\CJKvlet{bx/n/25/116}{m/n/25/116} +\CJKvdef{m/n/30/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}} +\CJKvlet{bx/n/30/1}{m/n/30/1} +\CJKvdef{m/n/30/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}} +\CJKvlet{bx/n/30/2}{m/n/30/2} +\CJKvdef{m/n/30/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}} +\CJKvlet{bx/n/30/8}{m/n/30/8} +\CJKvdef{m/n/30/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}} +\CJKvlet{bx/n/30/9}{m/n/30/9} +\CJKvdef{m/n/30/10}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}} +\CJKvlet{bx/n/30/10}{m/n/30/10} +\CJKvdef{m/n/30/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}} +\CJKvlet{bx/n/30/11}{m/n/30/11} +\CJKvdef{m/n/30/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}} +\CJKvlet{bx/n/30/12}{m/n/30/12} +\CJKvdef{m/n/30/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}} +\CJKvlet{bx/n/30/13}{m/n/30/13} +\CJKvdef{m/n/30/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}} +\CJKvlet{bx/n/30/14}{m/n/30/14} +\CJKvdef{m/n/30/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}} +\CJKvlet{bx/n/30/15}{m/n/30/15} +\CJKvdef{m/n/30/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}} +\CJKvlet{bx/n/30/16}{m/n/30/16} +\CJKvdef{m/n/30/17}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}} +\CJKvlet{bx/n/30/17}{m/n/30/17} +\CJKvdef{m/n/30/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}} +\CJKvlet{bx/n/30/20}{m/n/30/20} +\CJKvdef{m/n/30/21}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}} +\CJKvlet{bx/n/30/21}{m/n/30/21} +\CJKvdef{m/n/fe/79}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}} +\CJKvlet{bx/n/fe/79}{m/n/fe/79} +\CJKvdef{m/n/fe/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}} +\CJKvlet{bx/n/fe/80}{m/n/fe/80} +\CJKvdef{m/n/fe/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}} +\CJKvlet{bx/n/fe/81}{m/n/fe/81} +\CJKvdef{m/n/fe/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}} +\CJKvlet{bx/n/fe/82}{m/n/fe/82} +\CJKvdef{m/n/fe/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}} +\CJKvlet{bx/n/fe/89}{m/n/fe/89} +\CJKvdef{m/n/fe/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}} +\CJKvlet{bx/n/fe/90}{m/n/fe/90} +\CJKvdef{m/n/fe/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}} +\CJKvlet{bx/n/fe/91}{m/n/fe/91} +\CJKvdef{m/n/fe/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}} +\CJKvlet{bx/n/fe/92}{m/n/fe/92} +\CJKvdef{m/n/fe/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}} +\CJKvlet{bx/n/fe/93}{m/n/fe/93} +\CJKvdef{m/n/fe/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}} +\CJKvlet{bx/n/fe/94}{m/n/fe/94} +\CJKvdef{m/n/20/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{90}} +\CJKvlet{bx/n/20/62}{m/n/20/62} + +\gdef\CJK@cmap@bkaiv{ + \expandafter\ifx\csname CJK@CMap@bkaiv\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 (bkaiv)\space + /Supplement\space 0\space >>\space def\space + /CMapName\space /TeX-bkaiv-0\space def\space + 1\space begincodespacerange\space + <00>\space <FF>\space + endcodespacerange\space + 91\space beginbfchar\space + <00>\space <00AF>\space + <01>\space <00B7>\space + <02>\space <02CD>\space + <03>\space <FF08>\space + <04>\space <FF09>\space + <05>\space <FF0C>\space + <06>\space <FF0E>\space + <07>\space <FF3B>\space + <08>\space <FF3D>\space + <09>\space <FF3F>\space + <0A>\space <FF5B>\space + <0B>\space <FF5D>\space + <0C>\space <FF5E>\space + <0D>\space <2013>\space + <0E>\space <2014>\space + <0F>\space <2025>\space + <10>\space <2026>\space + <11>\space <2190>\space + <12>\space <2191>\space + <13>\space <2192>\space + <14>\space <2193>\space + <15>\space <2223>\space + <16>\space <2225>\space + <17>\space <2500>\space + <18>\space <2502>\space + <19>\space <250C>\space + <1A>\space <2510>\space + <1B>\space <2514>\space + <1C>\space <2518>\space + <1D>\space <251C>\space + <1E>\space <2524>\space + <1F>\space <252C>\space + <20>\space <2534>\space + <21>\space <2550>\space + <22>\space <2551>\space + <23>\space <2552>\space + <24>\space <2553>\space + <25>\space <2554>\space + <26>\space <2555>\space + <27>\space <2556>\space + <28>\space <2557>\space + <29>\space <2558>\space + <2A>\space <2559>\space + <2B>\space <255A>\space + <2C>\space <255B>\space + <2D>\space <255C>\space + <2E>\space <255D>\space + <2F>\space <255E>\space + <30>\space <255F>\space + <31>\space <2560>\space + <32>\space <2561>\space + <33>\space <2562>\space + <34>\space <2563>\space + <35>\space <2564>\space + <36>\space <2565>\space + <37>\space <2566>\space + <38>\space <2567>\space + <39>\space <2568>\space + <3A>\space <2569>\space + <3B>\space <256A>\space + <3C>\space <256B>\space + <3D>\space <256D>\space + <3E>\space <256E>\space + <3F>\space <256F>\space + <40>\space <2570>\space + <41>\space <2574>\space + <42>\space <3001>\space + <43>\space <3002>\space + <44>\space <3008>\space + <45>\space <3009>\space + <46>\space <300A>\space + <47>\space <300B>\space + <48>\space <300C>\space + <49>\space <300D>\space + <4A>\space <300E>\space + <4B>\space <300F>\space + <4C>\space <3010>\space + <4D>\space <3011>\space + <4E>\space <3014>\space + <4F>\space <3015>\space + <50>\space <FE4F>\space + <51>\space <FE50>\space + <52>\space <FE51>\space + <53>\space <FE52>\space + <54>\space <FE59>\space + <55>\space <FE5A>\space + <56>\space <FE5B>\space + <57>\space <FE5C>\space + <58>\space <FE5D>\space + <59>\space <FE5E>\space + <5A>\space <203E>\space + endbfchar\space + endcmap\space + CMapName\space currentdict\space /CMap\space defineresource\space + pop\space + end\space + end\space} + \expandafter\xdef\csname CJK@CMap@bkaiv\endcsname{ + \the\pdflastobj} + \fi + \pdffontattr\font@name{ + /ToUnicode\space\csname CJK@CMap@bkaiv\endcsname\space 0\space R} +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fd new file mode 100644 index 00000000000..900bc8bf945 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fd @@ -0,0 +1,21 @@ +% This is the file c70bsmi.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70bsmi.fd}[\filedate\space\fileversion] + + +% character set: Big5 +% font encoding: Unicode + +\DeclareFontFamily{C70}{bsmi}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C70}{bsmi}{m}{n}{<-> CJK * bsmiu}{} +\DeclareFontShape{C70}{bsmi}{bx}{n}{<-> CJKb * bsmiu}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fdx b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fdx new file mode 100644 index 00000000000..4d6e511b01c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70bsmi.fdx @@ -0,0 +1,318 @@ +% This is the file c70bsmi.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by the script makefdx.pl for CJK Version 4.8.0 (22-May-2008). + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70bsmi.fdx}[\filedate\space\fileversion] + +\CJKvdef{fullheight}{1em} +\CJKvdef{height}{.88em} +\CJKvdef{offset}{.6em} + +% Uncomment if necessary. +%\CJKvdef{norotate}{} +\CJKvdef{m/n/00/175}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}} +\CJKvlet{bx/n/00/175}{m/n/00/175} +\CJKvdef{m/n/00/183}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}} +\CJKvlet{bx/n/00/183}{m/n/00/183} +\CJKvdef{m/n/02/205}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}} +\CJKvlet{bx/n/02/205}{m/n/02/205} +\CJKvdef{m/n/ff/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}} +\CJKvlet{bx/n/ff/8}{m/n/ff/8} +\CJKvdef{m/n/ff/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}} +\CJKvlet{bx/n/ff/9}{m/n/ff/9} +\CJKvdef{m/n/ff/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}} +\CJKvlet{bx/n/ff/12}{m/n/ff/12} +\CJKvdef{m/n/ff/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}} +\CJKvlet{bx/n/ff/14}{m/n/ff/14} +\CJKvdef{m/n/ff/59}{\def\CJK@plane{v}\selectfont\CJKsymbol{7}} +\CJKvlet{bx/n/ff/59}{m/n/ff/59} +\CJKvdef{m/n/ff/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{8}} +\CJKvlet{bx/n/ff/61}{m/n/ff/61} +\CJKvdef{m/n/ff/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}} +\CJKvlet{bx/n/ff/63}{m/n/ff/63} +\CJKvdef{m/n/ff/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}} +\CJKvlet{bx/n/ff/91}{m/n/ff/91} +\CJKvdef{m/n/ff/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}} +\CJKvlet{bx/n/ff/93}{m/n/ff/93} +\CJKvdef{m/n/ff/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}} +\CJKvlet{bx/n/ff/94}{m/n/ff/94} +\CJKvdef{m/n/20/19}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}} +\CJKvlet{bx/n/20/19}{m/n/20/19} +\CJKvdef{m/n/20/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}} +\CJKvlet{bx/n/20/20}{m/n/20/20} +\CJKvdef{m/n/20/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}} +\CJKvlet{bx/n/20/37}{m/n/20/37} +\CJKvdef{m/n/20/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}} +\CJKvlet{bx/n/20/38}{m/n/20/38} +\CJKvdef{m/n/21/144}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}} +\CJKvlet{bx/n/21/144}{m/n/21/144} +\CJKvdef{m/n/21/145}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}} +\CJKvlet{bx/n/21/145}{m/n/21/145} +\CJKvdef{m/n/21/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}} +\CJKvlet{bx/n/21/146}{m/n/21/146} +\CJKvdef{m/n/21/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}} +\CJKvlet{bx/n/21/147}{m/n/21/147} +\CJKvdef{m/n/22/35}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}} +\CJKvlet{bx/n/22/35}{m/n/22/35} +\CJKvdef{m/n/22/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}} +\CJKvlet{bx/n/22/37}{m/n/22/37} +\CJKvdef{m/n/25/0}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}} +\CJKvlet{bx/n/25/0}{m/n/25/0} +\CJKvdef{m/n/25/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}} +\CJKvlet{bx/n/25/2}{m/n/25/2} +\CJKvdef{m/n/25/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}} +\CJKvlet{bx/n/25/12}{m/n/25/12} +\CJKvdef{m/n/25/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}} +\CJKvlet{bx/n/25/16}{m/n/25/16} +\CJKvdef{m/n/25/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}} +\CJKvlet{bx/n/25/20}{m/n/25/20} +\CJKvdef{m/n/25/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}} +\CJKvlet{bx/n/25/24}{m/n/25/24} +\CJKvdef{m/n/25/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}} +\CJKvlet{bx/n/25/28}{m/n/25/28} +\CJKvdef{m/n/25/36}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}} +\CJKvlet{bx/n/25/36}{m/n/25/36} +\CJKvdef{m/n/25/44}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}} +\CJKvlet{bx/n/25/44}{m/n/25/44} +\CJKvdef{m/n/25/52}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}} +\CJKvlet{bx/n/25/52}{m/n/25/52} +\CJKvdef{m/n/25/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}} +\CJKvlet{bx/n/25/80}{m/n/25/80} +\CJKvdef{m/n/25/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{34}} +\CJKvlet{bx/n/25/81}{m/n/25/81} +\CJKvdef{m/n/25/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{35}} +\CJKvlet{bx/n/25/82}{m/n/25/82} +\CJKvdef{m/n/25/83}{\def\CJK@plane{v}\selectfont\CJKsymbol{36}} +\CJKvlet{bx/n/25/83}{m/n/25/83} +\CJKvdef{m/n/25/84}{\def\CJK@plane{v}\selectfont\CJKsymbol{37}} +\CJKvlet{bx/n/25/84}{m/n/25/84} +\CJKvdef{m/n/25/85}{\def\CJK@plane{v}\selectfont\CJKsymbol{38}} +\CJKvlet{bx/n/25/85}{m/n/25/85} +\CJKvdef{m/n/25/86}{\def\CJK@plane{v}\selectfont\CJKsymbol{39}} +\CJKvlet{bx/n/25/86}{m/n/25/86} +\CJKvdef{m/n/25/87}{\def\CJK@plane{v}\selectfont\CJKsymbol{40}} +\CJKvlet{bx/n/25/87}{m/n/25/87} +\CJKvdef{m/n/25/88}{\def\CJK@plane{v}\selectfont\CJKsymbol{41}} +\CJKvlet{bx/n/25/88}{m/n/25/88} +\CJKvdef{m/n/25/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{42}} +\CJKvlet{bx/n/25/89}{m/n/25/89} +\CJKvdef{m/n/25/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{43}} +\CJKvlet{bx/n/25/90}{m/n/25/90} +\CJKvdef{m/n/25/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{44}} +\CJKvlet{bx/n/25/91}{m/n/25/91} +\CJKvdef{m/n/25/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{45}} +\CJKvlet{bx/n/25/92}{m/n/25/92} +\CJKvdef{m/n/25/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{46}} +\CJKvlet{bx/n/25/93}{m/n/25/93} +\CJKvdef{m/n/25/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}} +\CJKvlet{bx/n/25/94}{m/n/25/94} +\CJKvdef{m/n/25/95}{\def\CJK@plane{v}\selectfont\CJKsymbol{48}} +\CJKvlet{bx/n/25/95}{m/n/25/95} +\CJKvdef{m/n/25/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{49}} +\CJKvlet{bx/n/25/96}{m/n/25/96} +\CJKvdef{m/n/25/97}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}} +\CJKvlet{bx/n/25/97}{m/n/25/97} +\CJKvdef{m/n/25/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{51}} +\CJKvlet{bx/n/25/98}{m/n/25/98} +\CJKvdef{m/n/25/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{52}} +\CJKvlet{bx/n/25/99}{m/n/25/99} +\CJKvdef{m/n/25/100}{\def\CJK@plane{v}\selectfont\CJKsymbol{53}} +\CJKvlet{bx/n/25/100}{m/n/25/100} +\CJKvdef{m/n/25/101}{\def\CJK@plane{v}\selectfont\CJKsymbol{54}} +\CJKvlet{bx/n/25/101}{m/n/25/101} +\CJKvdef{m/n/25/102}{\def\CJK@plane{v}\selectfont\CJKsymbol{55}} +\CJKvlet{bx/n/25/102}{m/n/25/102} +\CJKvdef{m/n/25/103}{\def\CJK@plane{v}\selectfont\CJKsymbol{56}} +\CJKvlet{bx/n/25/103}{m/n/25/103} +\CJKvdef{m/n/25/104}{\def\CJK@plane{v}\selectfont\CJKsymbol{57}} +\CJKvlet{bx/n/25/104}{m/n/25/104} +\CJKvdef{m/n/25/105}{\def\CJK@plane{v}\selectfont\CJKsymbol{58}} +\CJKvlet{bx/n/25/105}{m/n/25/105} +\CJKvdef{m/n/25/106}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}} +\CJKvlet{bx/n/25/106}{m/n/25/106} +\CJKvdef{m/n/25/107}{\def\CJK@plane{v}\selectfont\CJKsymbol{60}} +\CJKvlet{bx/n/25/107}{m/n/25/107} +\CJKvdef{m/n/25/109}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}} +\CJKvlet{bx/n/25/109}{m/n/25/109} +\CJKvdef{m/n/25/110}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}} +\CJKvlet{bx/n/25/110}{m/n/25/110} +\CJKvdef{m/n/25/111}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}} +\CJKvlet{bx/n/25/111}{m/n/25/111} +\CJKvdef{m/n/25/112}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}} +\CJKvlet{bx/n/25/112}{m/n/25/112} +\CJKvdef{m/n/25/116}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}} +\CJKvlet{bx/n/25/116}{m/n/25/116} +\CJKvdef{m/n/30/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}} +\CJKvlet{bx/n/30/1}{m/n/30/1} +\CJKvdef{m/n/30/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}} +\CJKvlet{bx/n/30/2}{m/n/30/2} +\CJKvdef{m/n/30/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}} +\CJKvlet{bx/n/30/8}{m/n/30/8} +\CJKvdef{m/n/30/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}} +\CJKvlet{bx/n/30/9}{m/n/30/9} +\CJKvdef{m/n/30/10}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}} +\CJKvlet{bx/n/30/10}{m/n/30/10} +\CJKvdef{m/n/30/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}} +\CJKvlet{bx/n/30/11}{m/n/30/11} +\CJKvdef{m/n/30/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}} +\CJKvlet{bx/n/30/12}{m/n/30/12} +\CJKvdef{m/n/30/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}} +\CJKvlet{bx/n/30/13}{m/n/30/13} +\CJKvdef{m/n/30/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}} +\CJKvlet{bx/n/30/14}{m/n/30/14} +\CJKvdef{m/n/30/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}} +\CJKvlet{bx/n/30/15}{m/n/30/15} +\CJKvdef{m/n/30/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}} +\CJKvlet{bx/n/30/16}{m/n/30/16} +\CJKvdef{m/n/30/17}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}} +\CJKvlet{bx/n/30/17}{m/n/30/17} +\CJKvdef{m/n/30/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}} +\CJKvlet{bx/n/30/20}{m/n/30/20} +\CJKvdef{m/n/30/21}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}} +\CJKvlet{bx/n/30/21}{m/n/30/21} +\CJKvdef{m/n/fe/79}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}} +\CJKvlet{bx/n/fe/79}{m/n/fe/79} +\CJKvdef{m/n/fe/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}} +\CJKvlet{bx/n/fe/80}{m/n/fe/80} +\CJKvdef{m/n/fe/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}} +\CJKvlet{bx/n/fe/81}{m/n/fe/81} +\CJKvdef{m/n/fe/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}} +\CJKvlet{bx/n/fe/82}{m/n/fe/82} +\CJKvdef{m/n/fe/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}} +\CJKvlet{bx/n/fe/89}{m/n/fe/89} +\CJKvdef{m/n/fe/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}} +\CJKvlet{bx/n/fe/90}{m/n/fe/90} +\CJKvdef{m/n/fe/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}} +\CJKvlet{bx/n/fe/91}{m/n/fe/91} +\CJKvdef{m/n/fe/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}} +\CJKvlet{bx/n/fe/92}{m/n/fe/92} +\CJKvdef{m/n/fe/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}} +\CJKvlet{bx/n/fe/93}{m/n/fe/93} +\CJKvdef{m/n/fe/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}} +\CJKvlet{bx/n/fe/94}{m/n/fe/94} +\CJKvdef{m/n/20/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{90}} +\CJKvlet{bx/n/20/62}{m/n/20/62} + +\gdef\CJK@cmap@bsmiv{ + \expandafter\ifx\csname CJK@CMap@bsmiv\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 (bsmiv)\space + /Supplement\space 0\space >>\space def\space + /CMapName\space /TeX-bsmiv-0\space def\space + 1\space begincodespacerange\space + <00>\space <FF>\space + endcodespacerange\space + 91\space beginbfchar\space + <00>\space <00AF>\space + <01>\space <00B7>\space + <02>\space <02CD>\space + <03>\space <FF08>\space + <04>\space <FF09>\space + <05>\space <FF0C>\space + <06>\space <FF0E>\space + <07>\space <FF3B>\space + <08>\space <FF3D>\space + <09>\space <FF3F>\space + <0A>\space <FF5B>\space + <0B>\space <FF5D>\space + <0C>\space <FF5E>\space + <0D>\space <2013>\space + <0E>\space <2014>\space + <0F>\space <2025>\space + <10>\space <2026>\space + <11>\space <2190>\space + <12>\space <2191>\space + <13>\space <2192>\space + <14>\space <2193>\space + <15>\space <2223>\space + <16>\space <2225>\space + <17>\space <2500>\space + <18>\space <2502>\space + <19>\space <250C>\space + <1A>\space <2510>\space + <1B>\space <2514>\space + <1C>\space <2518>\space + <1D>\space <251C>\space + <1E>\space <2524>\space + <1F>\space <252C>\space + <20>\space <2534>\space + <21>\space <2550>\space + <22>\space <2551>\space + <23>\space <2552>\space + <24>\space <2553>\space + <25>\space <2554>\space + <26>\space <2555>\space + <27>\space <2556>\space + <28>\space <2557>\space + <29>\space <2558>\space + <2A>\space <2559>\space + <2B>\space <255A>\space + <2C>\space <255B>\space + <2D>\space <255C>\space + <2E>\space <255D>\space + <2F>\space <255E>\space + <30>\space <255F>\space + <31>\space <2560>\space + <32>\space <2561>\space + <33>\space <2562>\space + <34>\space <2563>\space + <35>\space <2564>\space + <36>\space <2565>\space + <37>\space <2566>\space + <38>\space <2567>\space + <39>\space <2568>\space + <3A>\space <2569>\space + <3B>\space <256A>\space + <3C>\space <256B>\space + <3D>\space <256D>\space + <3E>\space <256E>\space + <3F>\space <256F>\space + <40>\space <2570>\space + <41>\space <2574>\space + <42>\space <3001>\space + <43>\space <3002>\space + <44>\space <3008>\space + <45>\space <3009>\space + <46>\space <300A>\space + <47>\space <300B>\space + <48>\space <300C>\space + <49>\space <300D>\space + <4A>\space <300E>\space + <4B>\space <300F>\space + <4C>\space <3010>\space + <4D>\space <3011>\space + <4E>\space <3014>\space + <4F>\space <3015>\space + <50>\space <FE4F>\space + <51>\space <FE50>\space + <52>\space <FE51>\space + <53>\space <FE52>\space + <54>\space <FE59>\space + <55>\space <FE5A>\space + <56>\space <FE5B>\space + <57>\space <FE5C>\space + <58>\space <FE5D>\space + <59>\space <FE5E>\space + <5A>\space <203E>\space + endbfchar\space + endcmap\space + CMapName\space currentdict\space /CMap\space defineresource\space + pop\space + end\space + end\space} + \expandafter\xdef\csname CJK@CMap@bsmiv\endcsname{ + \the\pdflastobj} + \fi + \pdffontattr\font@name{ + /ToUnicode\space\csname CJK@CMap@bsmiv\endcsname\space 0\space R} +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70gbsn.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70gbsn.fd new file mode 100644 index 00000000000..b0cb1ed245b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70gbsn.fd @@ -0,0 +1,21 @@ +% This is the file c70gbsn.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70gbsn.fd}[\filedate\space\fileversion] + + +% character set: GB +% font encoding: Unicode + +\DeclareFontFamily{C70}{gbsn}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C70}{gbsn}{m}{n}{<-> CJK * gbsnu}{} +\DeclareFontShape{C70}{gbsn}{bx}{n}{<-> CJKb * gbsnu}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70gkai.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70gkai.fd new file mode 100644 index 00000000000..2ca4b3587ff --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70gkai.fd @@ -0,0 +1,21 @@ +% This is the file c70gkai.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70gkai.fd}[\filedate\space\fileversion] + + +% character set: GB +% font encoding: Unicode + +\DeclareFontFamily{C70}{gkai}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C70}{gkai}{m}{n}{<-> CJK * gkaiu}{} +\DeclareFontShape{C70}{gkai}{bx}{n}{<-> CJKb * gkaiu}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70mj.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70mj.fd new file mode 100644 index 00000000000..5947fa235df --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70mj.fd @@ -0,0 +1,51 @@ +% This is the file c70mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70mj.fd}[\filedate\space\fileversion] + + +% character set: KS X 1001 +% font encoding: Unicode + +\DeclareFontFamily{C70}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C70}{mj}{c}{n}{<-> CJK * uwmjc}{} +\DeclareFontShape{C70}{mj}{c}{sl}{<-> CJK * uwmjco}{} +\DeclareFontShape{C70}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C70}{mj}{m}{n}{<-> CJK * uwmj}{} +\DeclareFontShape{C70}{mj}{m}{sl}{<-> CJK * uwmjo}{} +\DeclareFontShape{C70}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C70}{mj}{x}{n}{<-> CJK * uwmjx}{} +\DeclareFontShape{C70}{mj}{x}{sl}{<-> CJK * uwmjxo}{} +\DeclareFontShape{C70}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C70}{mj}{ux}{n}{<-> CJK * uwmju}{} +\DeclareFontShape{C70}{mj}{ux}{sl}{<-> CJK * uwmjuo}{} +\DeclareFontShape{C70}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + + +\DeclareFontShape{C70}{mj}{bc}{n}{<-> CJKb * uwmjc}{\CJKbold} +\DeclareFontShape{C70}{mj}{bc}{sl}{<-> CJKb * uwmjco}{\CJKbold} +\DeclareFontShape{C70}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C70}{mj}{b}{n}{<-> CJKb * uwmj}{\CJKbold} +\DeclareFontShape{C70}{mj}{b}{sl}{<-> CJKb * uwmjo}{\CJKbold} +\DeclareFontShape{C70}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C70}{mj}{bx}{n}{<-> CJKb * uwmjx}{\CJKbold} +\DeclareFontShape{C70}{mj}{bx}{sl}{<-> CJKb * uwmjxo}{\CJKbold} +\DeclareFontShape{C70}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C70}{mj}{bux}{n}{<-> CJKb * uwmju}{\CJKbold} +\DeclareFontShape{C70}{mj}{bux}{sl}{<-> CJKb * uwmjuo}{\CJKbold} +\DeclareFontShape{C70}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/c70song.fd b/Master/texmf-dist/tex/latex/cjk/UTF8/c70song.fd new file mode 100644 index 00000000000..7570da3fd38 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/c70song.fd @@ -0,0 +1,21 @@ +% This is the file c70song.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70song.fd}[\filedate\space\fileversion] + + +% character set: Unicode U+0080 - U+FFFD +% font encoding: Unicode + +\DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C70}{song}{m}{n}{<-> CJK * cyberb}{} +\DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * cyberb}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/ja.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/ja.cpx new file mode 100644 index 00000000000..e9d9dcd1b68 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/ja.cpx @@ -0,0 +1,83 @@ +% This is the file ja.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{ja.cpx}[\filedate\space\fileversion] + + +% Japanese captions +% +% character set: JIS X 0208:1997 (or JIS X 0208-1990) +% encoding: UTF-8 + +\newif\ifheisei +\let\ifheisei=\iffalse +\def\heisei{\let\ifheisei=\iftrue} + +\renewcommand\contentsname{็ฎๆฌก} + +\renewcommand\listfigurename{ๅณ็ฎๆฌก} +% \newcommand\listfigurename{ๅณไธ่ฆง} + +\renewcommand\listtablename{่กจ็ฎๆฌก} +% \newcommand\listtablename{่กจไธ่ฆง} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ๅ่ๆ็ฎ} + } + {\renewcommand\bibname{้ข้ฃๆธ็ฑ} +% \renewcommand\bibname{ๅ่ๆ็ฎ} + } +\renewcommand\indexname{็ดขๅผ} + +\renewcommand\figurename{ๅณ} +\renewcommand\tablename{่กจ} + +\newcommand\prepartname{็ฌฌ} +\newcommand\postpartname{้จ} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + +% \renewcommand{\appendixname}{้้ฒ} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{่ฆๆจ}}{} + +\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year + \advance\count0 -1988 ๅนณๆ\,\fi + \ifnum\count0=1 ๅ
\else\number\count0\fi + \,ๅนด\hspace{.5em}\nobreak\number\month + \,ๆ\hspace{.5em}\nobreak\number\day\,ๆฅ}} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{\ifcase#1\or + ไธ\orไบ\orไธ\orๅ\orไบ\or + ๅ
ญ\orไธ\orๅ
ซ\orไน\orๅ\fi}}{} + +\endinput + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang.cpx new file mode 100644 index 00000000000..595e8bfa10b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang.cpx @@ -0,0 +1,74 @@ +% This is the file ko-Hang.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{ko-Hang.cpx}[\filedate\space\fileversion] + + +% Hangul captions +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: UTF-8 + +\renewcommand\contentsname{๋ชฉ์ฐจ} +\renewcommand\listfigurename{๊ทธ๋ฆผ~๋ชฉ์ฐจ} +\renewcommand\listtablename{ํ~๋ชฉ์ฐจ} +\renewcommand\indexname{์์ธ} + +\CJK@ifundefined\chapter + {\renewcommand\refname{์ฐธ๊ณ ~์์ }} + {\renewcommand\bibname{์ฐธ๊ณ ~๋ฌธํ}} + +\renewcommand\figurename{๊ทธ๋ฆผ} +\renewcommand\tablename{ํ} + +\newcommand\prepartname{์ } +\newcommand\postpartname{๋ถ} +\renewcommand\partformat{\prepartname~\thepart~\postpartname} + +% \newcommand\prechaptername{์ } +% \newcommand\postchaptername{์ฅ} +% \newcommand\presectionname{์ } +% \newcommand\postsectionname{์ } +% \renewcommand\appendixname{๋ถ๋ก} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{์์ฝ}}{} + +% \renewcommand\ccname{์ฌ๋ณธ} +% \renewcommand\enclname{์ฒจ๋ถ๋ฌผ}% ํน์ ๋๋ด๋ฌผ +% \renewcommand\pagename{ํ์ด์ง~} +% \renewcommand\headtoname{๋ฐ๋์ด} +% \renewcommand\seename{์ฐธ์กฐ} + +\renewcommand{\today}{\number\year๋
~\number\month์~\number\day์ผ} + +\endinput + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang2.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang2.cpx new file mode 100644 index 00000000000..4743a5ba9b5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hang2.cpx @@ -0,0 +1,74 @@ +% This is the file ko-Hang2.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{ko-Hang2.cpx}[\filedate\space\fileversion] + + +% Hangul captions set 2 +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: UTF-8 + +\renewcommand\contentsname{์ฐจ๋ก} +\renewcommand\listfigurename{๊ทธ๋ฆผ~์ฐจ๋ก} +\renewcommand\listtablename{ํ~์ฐจ๋ก} +\renewcommand\indexname{์ฐพ์๋ณด๊ธฐ} + +\CJK@ifundefined\chapter + {\renewcommand\refname{์ฐธ๊ณ ~์์ }} + {\renewcommand\bibname{์ฐธ๊ณ ~๋ฌธํ}} + +\renewcommand\figurename{๊ทธ๋ฆผ} +\renewcommand\tablename{ํ} + +\newcommand\prepartname{์ } +\newcommand\postpartname{๋ถ} +\renewcommand\partformat{\prepartname~\thepart~\postpartname} + +% \newcommand\prechaptername{์ } +% \newcommand\postchaptername{์ฅ} +% \newcommand\presectionname{์ } +% \newcommand\postsectionname{์ } +% \renewcommand\appendixname{๋ถ๋ก} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{์์ฝ}}{} + +% \renewcommand\ccname{์ฌ๋ณธ} +% \renewcommand\enclname{์ฒจ๋ถ๋ฌผ}% ํน์ ๋๋ด๋ฌผ +% \renewcommand\pagename{ํ์ด์ง~} +% \renewcommand\headtoname{๋ฐ๋์ด} +% \renewcommand\seename{์ฐธ์กฐ} + +\renewcommand{\today}{\number\year๋
~\number\month์~\number\day์ผ} + +\endinput + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hani.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hani.cpx new file mode 100644 index 00000000000..0d2f51d4772 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/ko-Hani.cpx @@ -0,0 +1,74 @@ +% This is the file ko-Hani.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <a7971428@unet.univie.ac.at> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{ko-Hani.cpx}[\filedate\space\fileversion] + + +% Hanja captions +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% encoding: UTF-8 + +\renewcommand\contentsname{็ฎๆฌก} +\renewcommand\listfigurename{๊ทธ๋ฆผ~็ฎๆฌก} +\renewcommand\listtablename{่กจ~็ฎๆฌก} +\renewcommand\indexname{็ดขๅผ} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ๅ่~ๆธ็ฑ}} + {\renewcommand\bibname{ๅ่~ๆ็ป}} + +\renewcommand\figurename{๊ทธ๋ฆผ} +\renewcommand\tablename{่กจ} + +\newcommand\prepartname{็ฌฌ} +\newcommand\postpartname{็ฏ} +\renewcommand\partformat{\prepartname~\thepart~\postpartname} + +% \newcommand\prechaptername{็ฌฌ} +% \newcommand\postchaptername{็ซ } +% \newcommand\presectionname{็ฌฌ} +% \newcommand\postsectionname{็ฏ} +% \newcommand\appendixname{้้} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{่ฆ~็ด}}{} + +% \renewcommand\ccname{ๅฏซๆฌ} +% \renewcommand\enclname{ๆทป้็ฉ}% ํน์ ๋๋ด๋ฌผ +% \renewcommand\pagename{ํ์ด์ง} +% \renewcommand\headtoname{ๅไฟกไบบ} +% \renewcommand\seename{ๅ็
ง} + +\renewcommand{\today}{\number\yearๅนด~\number\monthๆ~\number\dayๆฅ} + +\endinput + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.chr b/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.chr new file mode 100644 index 00000000000..7f9f5947894 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.chr @@ -0,0 +1,231 @@ +% This is the file xUTF8.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by SUN Wenchang <sunwch@hotmail.com> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{xUTF8.chr}[\filedate\space\fileversion] + + +% define macros for handling CJK fonts and characters in UTF 8 encoding +% as needed for XeTeX support. + +% two bytes per character; covers range 0x80 - 0x7FF. + +\CJK@global\@namedef{CJK@xUTF8Chr}{ + \CJK@global\def\CJK@char##1##2{ + {\ifnum ##2 < \CJK@min + \CJK@err + \else + \ifnum ##2 > \CJK@max + \CJK@err + \else + \@tempcnta ##1\relax + \advance\@tempcnta ##2\relax + \advance\@tempcnta -128\relax + + \xCJK@setfont + \CJKsymbol{\@tempcnta} + \fi + \fi}} + +% three bytes per character; covers range 0x800 - 0xFFFF. + + \CJK@global\def\CJK@altchar##1##2##3{ + {\ifnum ##2 < \CJK@min + \CJK@err + \else + \ifnum ##2 > \CJK@max + \CJK@err + \else + \ifnum ##3 < \CJK@min + \CJK@errx + \else + \ifnum ##3 > \CJK@max + \CJK@errx + \else + \ifCJK@CJK@ + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + \fi + + \@tempcnta ##1\relax + \@tempcntb ##2\relax + \advance\@tempcntb -128\relax + \multiply\@tempcntb 64\relax + \advance\@tempcntb ##3\relax + \advance\@tempcntb -128\relax + \advance\@tempcnta \@tempcntb + + \xCJK@setfont + \CJKsymbol{\@tempcnta} + + \ifCJK@hangul@ + \discretionary{}{}{} + \fi + \ifCJK@CJK@ + \CJK@CJK + \fi + \fi + \fi + \fi + \fi}} + +% four bytes per character; covers range 0x10000 - 0x10FFFF. + + \CJK@global\def\CJK@altxchar##1##2##3##4{ + {\ifnum ##2 < \CJK@min + \CJK@err + \else + \ifnum ##2 > \CJK@max + \CJK@err + \else + \ifnum ##3 < \CJK@min + \CJK@errx + \else + \ifnum ##3 > \CJK@max + \CJK@errx + \else + \ifnum ##3 < \CJK@min + \CJK@errxx + \else + \ifnum ##3 > \CJK@max + \CJK@errxx + \else + \ifCJK@CJK@ + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + \fi + + \@tempcnta ##1\relax + \@tempcntb ##2\relax + \advance\@tempcntb -128\relax + \multiply\@tempcntb 64\relax + \advance\@tempcntb ##3\relax + \advance\@tempcntb -128\relax + \multiply\@tempcntb 64\relax + \advance\@tempcntb ##4\relax + \advance\@tempcntb -128\relax + \advance\@tempcnta \@tempcntb + + \xCJK@setfont + \CJKsymbol{\@tempcnta} + + \ifCJK@hangul@ + \discretionary{}{}{} + \fi + \ifCJK@CJK@ + \CJK@CJK + \fi + \fi + \fi + \fi + \fi + \fi + \fi}} + +% define macro for handling punctuation characters. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \ifnum ##4 < \CJK@min + \CJK@errx + \else + \ifnum ##4 > \CJK@max + \CJK@errx + \else + \@tempcnta ##2\relax + \@tempcntb ##3\relax + \advance\@tempcntb -128\relax + \multiply\@tempcntb 64\relax + \advance\@tempcntb ##4\relax + \advance\@tempcntb -128\relax + \advance\@tempcnta \@tempcntb + + \xCJK@setfont + % we need three braces to make it work with CJKulem.sty + {{{\ifCJK@CJK@ + \xCJK@testPunct{\CJK@@@enc}{}{\the\@tempcnta} + \ifCJK@ + \xCJK@testPunct{\CJK@@@enc}{Post}{\the\@tempcnta} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + \CJKpunctsymbol{\@tempcnta} + + \xCJK@testPunct{\CJK@@@enc}{Pre}{\the\@tempcnta} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \CJKsymbol{\@tempcnta} + + \CJK@CJK + \fi + \else + \CJKsymbol{\@tempcnta} + \fi + \ifCJK@hangul@ + \discretionary{}{}{} + \fi + }}} + \fi + \fi + \fi + \fi}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.enc b/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.enc new file mode 100644 index 00000000000..7ea4bd9f2da --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/xUTF8.enc @@ -0,0 +1,121 @@ +% This is the file xUTF8.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by SUN Wenchang <sunwch@hotmail.com> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{xUTF8.enc}[\filedate\space\fileversion] + + +% UTF 8 encoding: + +\CJK@global\@namedef{CJK@xUTF8Encoding}{ + \CJK@loadChr{xUTF8} + + % two-byte characters + % + \CJK@namegdef{^^c0}##1{\@empty\CJK@char{'000}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@char{'100}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char{'200}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@char{'300}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@char{'400}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@char{'500}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char{'600}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@char{'700}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@char{'1000}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@char{'1100}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char{'1200}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@char{'1300}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@char{'1400}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char{'1500}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char{'1600}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@char{'1700}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char{'2000}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char{'2100}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@char{'2200}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char{'2300}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@char{'2400}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char{'2500}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char{'2600}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@char{'2700}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char{'3000}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char{'3100}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@char{'3200}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char{'3300}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@char{'3400}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@char{'3500}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char{'3600}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@char{'3700}{##1}} + + % if in preprocessed mode, `\@gobble' will be gobbled, and + % \CJK@unicodeError becomes active + + % three-byte characters + % + \CJK@namegdef{^^e0}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'00000}{##1}{##2}} + \CJK@namegdef{^^e1}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'10000}{##1}{##2}} + \CJK@namegdef{^^e2}##1##2{\@gobble\CJK@unicodeError + \CJK@punctchar{E2}{'20000}{##1}{##2}} + \CJK@namegdef{^^e3}##1##2{\@gobble\CJK@unicodeError + \CJK@punctchar{E3}{'30000}{##1}{##2}} + \CJK@namegdef{^^e4}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'40000}{##1}{##2}} + \CJK@namegdef{^^e5}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'50000}{##1}{##2}} + \CJK@namegdef{^^e6}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'60000}{##1}{##2}} + \CJK@namegdef{^^e7}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'70000}{##1}{##2}} + \CJK@namegdef{^^e8}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'100000}{##1}{##2}} + \CJK@namegdef{^^e9}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'110000}{##1}{##2}} + \CJK@namegdef{^^ea}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'120000}{##1}{##2}} + \CJK@namegdef{^^eb}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'130000}{##1}{##2}} + \CJK@namegdef{^^ec}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'140000}{##1}{##2}} + \CJK@namegdef{^^ed}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'150000}{##1}{##2}} + \CJK@namegdef{^^ee}##1##2{\@gobble\CJK@unicodeError + \CJK@altchar{'160000}{##1}{##2}} + \CJK@namegdef{^^ef}##1##2{\@gobble\CJK@unicodeError + \CJK@punctchar{EF}{'170000}{##1}{##2}} + + % four-byte characters + % + \CJK@namegdef{^^f0}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{'0000000}{##1}{##2}{##3}} + \CJK@namegdef{^^f1}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{'1000000}{##1}{##2}{##3}} + \CJK@namegdef{^^f2}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{'2000000}{##1}{##2}{##3}} + \CJK@namegdef{^^f3}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{'3000000}{##1}{##2}{##3}} + \CJK@namegdef{^^f4}##1##2##3{\@gobble\CJK@unicodexError + \CJK@altxchar{'4000000}{##1}{##2}{##3}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hans.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hans.cpx new file mode 100644 index 00000000000..b4f6921b3ee --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hans.cpx @@ -0,0 +1,86 @@ +% This is the file zh-Hans.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{zh-Hans.cpx}[\filedate\space\fileversion] + + +% Chinese captions +% +% character set: GB 2312-80 +% encoding: EUC + +\renewcommand\contentsname{็ฎๅฝ} +% \renewcommand\listfigurename{} % ? +% \renewcommand\listtablename{} % ? + +\CJK@ifundefined\chapter + {\renewcommand\refname{ๅ่่ตๆ}} + {\renewcommand\bibname{ๆ็ฎ}} + +\renewcommand\indexname{็ดขๅผ} + +\newcommand\prefigurename{็ฌฌ} +\newcommand\postfigurename{ๅพ} +\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename} + +\newcommand\pretablename{็ฌฌ} +\newcommand\posttablename{่กจ} +\renewcommand\tableformat{\pretablename~\thetable~\posttablename} + +\newcommand\prepartname{็ฌฌ} +\newcommand\postpartname{้จ} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + +% \newcommand\prechaptername{็ฌฌ} +% \newcommand\postchaptername{็ซ } +% \newcommand\presectionname{็ฌฌ} +% \newcommand\postsectionname{่} +% \newcommand\preappendixname{็ฌฌ} +% \newcommand\postappendixname{้ๅฝ} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{ๆ่ฆ}}{} + +% \renewcommand\ccname{} % ? +% \renewcommand\enclname{้ไปถ} +% \newcommand\prepagename{} % ? +% \newcommand\postpagename{} % ? +% \renewcommand\headtoname{} % ? +% \renewcommand\seename{} % ? + +\renewcommand\today{\number\yearๅนด\number\monthๆ\number\dayๆฅ} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{\ifcase#1\or + ไธ\orไบ\orไธ\orๅ\orไบ\or + ๅ
ญ\orไธ\orๅ
ซ\orไน\orๅ\fi}}{} + +\endinput + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hant.cpx b/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hant.cpx new file mode 100644 index 00000000000..67c6f02a262 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/UTF8/zh-Hant.cpx @@ -0,0 +1,86 @@ +% This is the file zh-Hant.cpx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{zh-Hant.cpx}[\filedate\space\fileversion] + + +% Chinese captions +% +% character set: Big 5 +% encoding: UTF-8 + +\renewcommand\contentsname{็ฎ~~้} +\renewcommand\listfigurename{ๅ~็ฎ~้} +\renewcommand\listtablename{่กจ~็ฎ~้} + +\CJK@ifundefined\chapter + {\renewcommand\refname{ๅ~่~่ณ~ๆ} + %\renewcommand\refname{ๅ~่~ๆ~็ป} + } + {\renewcommand\bibname{ๆ~~็ป} + %\renewcommand\bibname{ๅ~่~ๆธ~็ฎ} +% \newcommand\prechaptername{็ฌฌ} +% \newcommand\postchaptername{็ซ } + } + +\renewcommand\indexname{็ดข~ๅผ} + +\renewcommand\figurename{ๅ} +\renewcommand\tablename{่กจ} + +\newcommand\prepartname{็ฌฌ} +\newcommand\postpartname{้จ} +%\newcommand{\postpartname}{้จๅ} +\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname} + + +% \newcommand\presectionname{็ฌฌ} +% \newcommand\postsectionname{็ฏ} +% \renewcommand\appendixname{้~้} + +\CJK@ifundefined\mainmatter + {\renewcommand\abstractname{ๆ~่ฆ}}{} + +% \renewcommand\ccname{} % ? +% \renewcommand\enclname{้ไปถ} +% \newcommand\prepagename{} % ? +% \newcommand\postpagename{} % ? +% \renewcommand\headtoname{} % ? +% \renewcommand\seename{} % ? + +\renewcommand{\today}{\number\yearๅนด \number\monthๆ \number\dayๆฅ} +\CJK@ifundefined\CJKnumber + {\def\CJKnumber#1{\ifcase#1\or + ไธ\orไบ\orไธ\orๅ\orไบ\or + ๅ
ญ\orไธ\orๅ
ซ\orไน\orๅ\fi}}{} + +\endinput + +%%% Local Variables: +%%% coding: utf-8 +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/README b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/README new file mode 100644 index 00000000000..a07701fe546 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/README @@ -0,0 +1,2 @@ +The font definition files in this directory are modified versions to be used +within the TeXLive distribution, using smaller font sets. diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c63mj.fd b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c63mj.fd new file mode 100644 index 00000000000..01d3e093180 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c63mj.fd @@ -0,0 +1,53 @@ +% This is file c63mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c63mj.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C63}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C63}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C63}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C63}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C63}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C63}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C63}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C63}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C63}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C63}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C63}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C63}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C63}{mj}{bc}{n}{<-> CJKb * wmjc}{\CJKbold} +\DeclareFontShape{C63}{mj}{bc}{sl}{<-> CJKb * wmjco}{\CJKbold} +\DeclareFontShape{C63}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C63}{mj}{b}{n}{<-> CJKb * wmj}{\CJKbold} +\DeclareFontShape{C63}{mj}{b}{sl}{<-> CJKb * wmjo}{\CJKbold} +\DeclareFontShape{C63}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C63}{mj}{bx}{n}{<-> CJKb * wmjx}{\CJKbold} +\DeclareFontShape{C63}{mj}{bx}{sl}{<-> CJKb * wmjxo}{\CJKbold} +\DeclareFontShape{C63}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C63}{mj}{bux}{n}{<-> CJKb * wmju}{\CJKbold} +\DeclareFontShape{C63}{mj}{bux}{sl}{<-> CJKb * wmjuo}{\CJKbold} +\DeclareFontShape{C63}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c64mj.fd b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c64mj.fd new file mode 100644 index 00000000000..6f03c150a91 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c64mj.fd @@ -0,0 +1,53 @@ +% This is file c64mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c64mj.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C64}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C64}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C64}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C64}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C64}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C64}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C64}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C64}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C64}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C64}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C64}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C64}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C64}{mj}{bc}{n}{<-> CJKb * wmjc}{\CJKbold} +\DeclareFontShape{C64}{mj}{bc}{sl}{<-> CJKb * wmjco}{\CJKbold} +\DeclareFontShape{C64}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C64}{mj}{b}{n}{<-> CJKb * wmj}{\CJKbold} +\DeclareFontShape{C64}{mj}{b}{sl}{<-> CJKb * wmjo}{\CJKbold} +\DeclareFontShape{C64}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C64}{mj}{bx}{n}{<-> CJKb * wmjx}{\CJKbold} +\DeclareFontShape{C64}{mj}{bx}{sl}{<-> CJKb * wmjxo}{\CJKbold} +\DeclareFontShape{C64}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C64}{mj}{bux}{n}{<-> CJKb * wmju}{\CJKbold} +\DeclareFontShape{C64}{mj}{bux}{sl}{<-> CJKb * wmjuo}{\CJKbold} +\DeclareFontShape{C64}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c65mj.fd b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c65mj.fd new file mode 100644 index 00000000000..dc55fd2d61a --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/hlatex-texlive/texlive/c65mj.fd @@ -0,0 +1,53 @@ +% This is file c65mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c65mj.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C65}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C65}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C65}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C65}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C65}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C65}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C65}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C65}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C65}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C65}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C65}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C65}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C65}{mj}{bc}{n}{<-> CJKb * wmjc}{\CJKbold} +\DeclareFontShape{C65}{mj}{bc}{sl}{<-> CJKb * wmjco}{\CJKbold} +\DeclareFontShape{C65}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C65}{mj}{b}{n}{<-> CJKb * wmj}{\CJKbold} +\DeclareFontShape{C65}{mj}{b}{sl}{<-> CJKb * wmjo}{\CJKbold} +\DeclareFontShape{C65}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C65}{mj}{bx}{n}{<-> CJKb * wmjx}{\CJKbold} +\DeclareFontShape{C65}{mj}{bx}{sl}{<-> CJKb * wmjxo}{\CJKbold} +\DeclareFontShape{C65}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C65}{mj}{bux}{n}{<-> CJKb * wmju}{\CJKbold} +\DeclareFontShape{C65}{mj}{bux}{sl}{<-> CJKb * wmjuo}{\CJKbold} +\DeclareFontShape{C65}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fd new file mode 100644 index 00000000000..b42610fbd53 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fd @@ -0,0 +1,22 @@ +% This is the file c42goth.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c42goth.fd}[\filedate\space\fileversion] + +% Japanese characters in JIS encoding scheme using Wadalab fonts: +% wadalab-gothic-0-13 + +\DeclareFontFamily{C42}{goth}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C42}{goth}{m}{n} + { <-> CJK * dgj}{} +\DeclareFontShape{C42}{goth}{bx}{n} + { <-> CJKb * dgj}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fdx new file mode 100644 index 00000000000..d1df26615d8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42goth.fdx @@ -0,0 +1,66 @@ +% This is the file c42goth.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c42goth.fdx}[\filedate\space\fileversion] + + +\CJKvdef{rotate}{} +\CJKvdef{offset}{.5em} + +\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}} +\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}} +\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}} +\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}} +\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}} +\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}} +\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}} +\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}} +\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}} +\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}} +\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}} +\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}} +\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}} +\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}} +\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}} +\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}} +\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}} +\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}} +\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}} +\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}} +\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}} +\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}} +\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}} + +\CJKvlet{bx/n/sy/2}{m/n/sy/2} +\CJKvlet{bx/n/sy/3}{m/n/sy/3} +\CJKvlet{bx/n/sy/4}{m/n/sy/4} +\CJKvlet{bx/n/sy/5}{m/n/sy/5} +\CJKvlet{bx/n/sy/28}{m/n/sy/28} +\CJKvlet{bx/n/sy/33}{m/n/sy/33} +\CJKvlet{bx/n/sy/36}{m/n/sy/36} +\CJKvlet{bx/n/sy/37}{m/n/sy/37} +\CJKvlet{bx/n/sy/42}{m/n/sy/42} +\CJKvlet{bx/n/sy/43}{m/n/sy/43} +\CJKvlet{bx/n/sy/44}{m/n/sy/44} +\CJKvlet{bx/n/sy/45}{m/n/sy/45} +\CJKvlet{bx/n/sy/46}{m/n/sy/46} +\CJKvlet{bx/n/sy/47}{m/n/sy/47} +\CJKvlet{bx/n/sy/48}{m/n/sy/48} +\CJKvlet{bx/n/sy/49}{m/n/sy/49} +\CJKvlet{bx/n/sy/50}{m/n/sy/50} +\CJKvlet{bx/n/sy/51}{m/n/sy/51} +\CJKvlet{bx/n/sy/52}{m/n/sy/52} +\CJKvlet{bx/n/sy/53}{m/n/sy/53} +\CJKvlet{bx/n/sy/54}{m/n/sy/54} +\CJKvlet{bx/n/sy/55}{m/n/sy/55} +\CJKvlet{bx/n/sy/56}{m/n/sy/56} +\CJKvlet{bx/n/sy/57}{m/n/sy/57} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fd new file mode 100644 index 00000000000..ec7344c16fc --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fd @@ -0,0 +1,23 @@ +% This is the file c42maru.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c42maru.fd}[\filedate\space\fileversion] + + +% Japanese characters in JIS encoding scheme using Wadalab fonts: +% wadalab-maru-0-8 + +\DeclareFontFamily{C42}{maru}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C42}{maru}{m}{n} + { <-> CJK * mrj}{} +\DeclareFontShape{C42}{maru}{bx}{n} + { <-> CJKb * mrj}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fdx new file mode 100644 index 00000000000..9f89285a33a --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42maru.fdx @@ -0,0 +1,66 @@ +% This is the file c42maru.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c42maru.fdx}[\filedate\space\fileversion] + + +\CJKvdef{rotate}{} +\CJKvdef{offset}{.5em} + +\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}} +\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}} +\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}} +\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}} +\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}} +\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}} +\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}} +\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}} +\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}} +\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}} +\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}} +\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}} +\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}} +\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}} +\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}} +\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}} +\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}} +\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}} +\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}} +\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}} +\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}} +\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}} +\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}} + +\CJKvlet{bx/n/sy/2}{m/n/sy/2} +\CJKvlet{bx/n/sy/3}{m/n/sy/3} +\CJKvlet{bx/n/sy/4}{m/n/sy/4} +\CJKvlet{bx/n/sy/5}{m/n/sy/5} +\CJKvlet{bx/n/sy/28}{m/n/sy/28} +\CJKvlet{bx/n/sy/33}{m/n/sy/33} +\CJKvlet{bx/n/sy/36}{m/n/sy/36} +\CJKvlet{bx/n/sy/37}{m/n/sy/37} +\CJKvlet{bx/n/sy/42}{m/n/sy/42} +\CJKvlet{bx/n/sy/43}{m/n/sy/43} +\CJKvlet{bx/n/sy/44}{m/n/sy/44} +\CJKvlet{bx/n/sy/45}{m/n/sy/45} +\CJKvlet{bx/n/sy/46}{m/n/sy/46} +\CJKvlet{bx/n/sy/47}{m/n/sy/47} +\CJKvlet{bx/n/sy/48}{m/n/sy/48} +\CJKvlet{bx/n/sy/49}{m/n/sy/49} +\CJKvlet{bx/n/sy/50}{m/n/sy/50} +\CJKvlet{bx/n/sy/51}{m/n/sy/51} +\CJKvlet{bx/n/sy/52}{m/n/sy/52} +\CJKvlet{bx/n/sy/53}{m/n/sy/53} +\CJKvlet{bx/n/sy/54}{m/n/sy/54} +\CJKvlet{bx/n/sy/55}{m/n/sy/55} +\CJKvlet{bx/n/sy/56}{m/n/sy/56} +\CJKvlet{bx/n/sy/57}{m/n/sy/57} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fd new file mode 100644 index 00000000000..290cb4151c9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fd @@ -0,0 +1,26 @@ +% This is the file c42min.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c42min.fd}[\filedate\space\fileversion] + + +% Japanese characters in JIS encoding scheme using Wadalab fonts: +% wadalab-mincho-0-8 (`light' series) +% wadalab-mincho-0-12 (`normal' series) + +\DeclareFontFamily{C42}{min}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C42}{min}{l}{n} + { <-> CJK * mcj}{} +\DeclareFontShape{C42}{min}{m}{n} + { <-> CJK * dmj}{} +\DeclareFontShape{C42}{min}{bx}{n} + { <-> CJKb * dmj}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fdx new file mode 100644 index 00000000000..533af434990 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c42min.fdx @@ -0,0 +1,91 @@ +% This is the file c42min.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c42min.fdx}[\filedate\space\fileversion] + + +\CJKvdef{rotate}{} +\CJKvdef{offset}{.5em} + +\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}} +\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}} +\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}} +\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}} +\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}} +\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}} +\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}} +\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}} +\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}} +\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}} +\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}} +\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}} +\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}} +\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}} +\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}} +\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}} +\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}} +\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}} +\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}} +\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}} +\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}} +\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}} +\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}} + +\CJKvlet{bx/n/sy/2}{m/n/sy/2} +\CJKvlet{bx/n/sy/3}{m/n/sy/3} +\CJKvlet{bx/n/sy/4}{m/n/sy/4} +\CJKvlet{bx/n/sy/5}{m/n/sy/5} +\CJKvlet{bx/n/sy/28}{m/n/sy/28} +\CJKvlet{bx/n/sy/33}{m/n/sy/33} +\CJKvlet{bx/n/sy/36}{m/n/sy/36} +\CJKvlet{bx/n/sy/37}{m/n/sy/37} +\CJKvlet{bx/n/sy/42}{m/n/sy/42} +\CJKvlet{bx/n/sy/43}{m/n/sy/43} +\CJKvlet{bx/n/sy/44}{m/n/sy/44} +\CJKvlet{bx/n/sy/45}{m/n/sy/45} +\CJKvlet{bx/n/sy/46}{m/n/sy/46} +\CJKvlet{bx/n/sy/47}{m/n/sy/47} +\CJKvlet{bx/n/sy/48}{m/n/sy/48} +\CJKvlet{bx/n/sy/49}{m/n/sy/49} +\CJKvlet{bx/n/sy/50}{m/n/sy/50} +\CJKvlet{bx/n/sy/51}{m/n/sy/51} +\CJKvlet{bx/n/sy/52}{m/n/sy/52} +\CJKvlet{bx/n/sy/53}{m/n/sy/53} +\CJKvlet{bx/n/sy/54}{m/n/sy/54} +\CJKvlet{bx/n/sy/55}{m/n/sy/55} +\CJKvlet{bx/n/sy/56}{m/n/sy/56} +\CJKvlet{bx/n/sy/57}{m/n/sy/57} + +\CJKvlet{l/n/sy/2}{m/n/sy/2} +\CJKvlet{l/n/sy/3}{m/n/sy/3} +\CJKvlet{l/n/sy/4}{m/n/sy/4} +\CJKvlet{l/n/sy/5}{m/n/sy/5} +\CJKvlet{l/n/sy/28}{m/n/sy/28} +\CJKvlet{l/n/sy/33}{m/n/sy/33} +\CJKvlet{l/n/sy/36}{m/n/sy/36} +\CJKvlet{l/n/sy/37}{m/n/sy/37} +\CJKvlet{l/n/sy/42}{m/n/sy/42} +\CJKvlet{l/n/sy/43}{m/n/sy/43} +\CJKvlet{l/n/sy/44}{m/n/sy/44} +\CJKvlet{l/n/sy/45}{m/n/sy/45} +\CJKvlet{l/n/sy/46}{m/n/sy/46} +\CJKvlet{l/n/sy/47}{m/n/sy/47} +\CJKvlet{l/n/sy/48}{m/n/sy/48} +\CJKvlet{l/n/sy/49}{m/n/sy/49} +\CJKvlet{l/n/sy/50}{m/n/sy/50} +\CJKvlet{l/n/sy/51}{m/n/sy/51} +\CJKvlet{l/n/sy/52}{m/n/sy/52} +\CJKvlet{l/n/sy/53}{m/n/sy/53} +\CJKvlet{l/n/sy/54}{m/n/sy/54} +\CJKvlet{l/n/sy/55}{m/n/sy/55} +\CJKvlet{l/n/sy/56}{m/n/sy/56} +\CJKvlet{l/n/sy/57}{m/n/sy/57} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fd new file mode 100644 index 00000000000..2ee522608ff --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fd @@ -0,0 +1,23 @@ +% This is the file c52maru.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c52maru.fd}[\filedate\space\fileversion] + + +% Japanese characters in JIS2 encoding scheme using Wadalab fonts: +% wadalab-maru-1-8 + +\DeclareFontFamily{C52}{maru}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C52}{maru}{m}{n} + { <-> CJK * mr2j}{} +\DeclareFontShape{C52}{maru}{bx}{n} + { <-> CJKb * mr2j}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fdx new file mode 100644 index 00000000000..d64141df4db --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52maru.fdx @@ -0,0 +1,16 @@ +% This is the file c52maru.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c52maru.fdx}[\filedate\space\fileversion] + + +\CJKvdef{rotate}{} +\CJKvdef{offset}{.5em} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fd new file mode 100644 index 00000000000..ad5477e830f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fd @@ -0,0 +1,23 @@ +% This is the file c52min.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c52min.fd}[\filedate\space\fileversion] + + +% Japanese characters in JIS2 encoding scheme using Wadalab fonts: +% wadalab-mincho-1-8 + +\DeclareFontFamily{C52}{min}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C52}{min}{m}{n} + { <-> CJK * mc2j}{} +\DeclareFontShape{C52}{min}{bx}{n} + { <-> CJKb * mc2j}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fdx new file mode 100644 index 00000000000..a5f7cab3ea8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c52min.fdx @@ -0,0 +1,16 @@ +% This is the file c52min.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c52min.fdx}[\filedate\space\fileversion] + + +\CJKvdef{rotate}{} +\CJKvdef{offset}{.5em} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fd new file mode 100644 index 00000000000..c470d16d73c --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fd @@ -0,0 +1,25 @@ +% This is the file c70goth.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70goth.fd}[\filedate\space\fileversion] + + +% character set: Unicode U+0080 - U+FFFD +% font encoding: Unicode +% +% udgj is Wadalab gothic-0-13. + +\DeclareFontFamily{C70}{goth}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C70}{goth}{m}{n} + { <-> CJK * udgj}{} +\DeclareFontShape{C70}{goth}{bx}{n} + { <-> CJKb * udgj}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fdx new file mode 100644 index 00000000000..6c139f19d39 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70goth.fdx @@ -0,0 +1,137 @@ +% This is the file c70goth.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Gernot Hassenpflug <gernot@nict.go.jp> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70goth.fdx}[\filedate\space\fileversion] + + +\CJKvdef{rotate}{} +\CJKvdef{offset}{.5em} + +\CJKvdef{m/n/00/163}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{163}\hss}} +\CJKvdef{m/n/00/167}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{167}\hss}} + +\CJKvdef{m/n/20/24}{\CJKsymbolsimple{24}} +\CJKvdef{m/n/20/25}{\CJKsymbolsimple{25}} +\CJKvdef{m/n/20/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/20/29}{\CJKsymbolsimple{29}} +\CJKvdef{m/n/20/37}{\CJKsymbolsimple{37}} +\CJKvdef{m/n/20/38}{\CJKsymbolsimple{38}} + +\CJKvdef{m/n/30/1}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{1}\hss}} +\CJKvdef{m/n/30/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}} +\CJKvdef{m/n/30/8}{\CJKsymbolsimple{8}} +\CJKvdef{m/n/30/9}{\CJKsymbolsimple{9}} +\CJKvdef{m/n/30/10}{\CJKsymbolsimple{10}} +\CJKvdef{m/n/30/11}{\CJKsymbolsimple{11}} +\CJKvdef{m/n/30/12}{\CJKsymbolsimple{12}} +\CJKvdef{m/n/30/13}{\CJKsymbolsimple{13}} +\CJKvdef{m/n/30/14}{\CJKsymbolsimple{14}} +\CJKvdef{m/n/30/15}{\CJKsymbolsimple{15}} +\CJKvdef{m/n/30/16}{\CJKsymbolsimple{16}} +\CJKvdef{m/n/30/17}{\CJKsymbolsimple{17}} +\CJKvdef{m/n/30/20}{\CJKsymbolsimple{20}} +\CJKvdef{m/n/30/21}{\CJKsymbolsimple{21}} +\CJKvdef{m/n/30/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/30/252}{\CJKsymbolsimple{252}} + +\CJKvdef{m/n/ff/8}{\CJKsymbolsimple{8}} +\CJKvdef{m/n/ff/9}{\CJKsymbolsimple{9}} +\CJKvdef{m/n/ff/12}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{12}\hss}} +\CJKvdef{m/n/ff/14}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{14}\hss}} +\CJKvdef{m/n/ff/59}{\CJKsymbolsimple{59}} +\CJKvdef{m/n/ff/61}{\CJKsymbolsimple{61}} +\CJKvdef{m/n/ff/91}{\CJKsymbolsimple{91}} +\CJKvdef{m/n/ff/93}{\CJKsymbolsimple{93}} + +% Reposition small kana letters for vertical typesetting. + +\CJKvdef{m/n/30/65}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{65}\hss}} +\CJKvdef{m/n/30/67}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{67}\hss}} +\CJKvdef{m/n/30/69}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{69}\hss}} +\CJKvdef{m/n/30/71}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{71}\hss}} +\CJKvdef{m/n/30/73}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{73}\hss}} +\CJKvdef{m/n/30/99}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{99}\hss}} +\CJKvdef{m/n/30/131}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{131}\hss}} +\CJKvdef{m/n/30/133}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{133}\hss}} +\CJKvdef{m/n/30/135}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{135}\hss}} +\CJKvdef{m/n/30/142}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{142}\hss}} + +\CJKvdef{m/n/30/161}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{161}\hss}} +\CJKvdef{m/n/30/163}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{163}\hss}} +\CJKvdef{m/n/30/165}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{165}\hss}} +\CJKvdef{m/n/30/167}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{167}\hss}} +\CJKvdef{m/n/30/169}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{169}\hss}} +\CJKvdef{m/n/30/195}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{195}\hss}} +\CJKvdef{m/n/30/227}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{227}\hss}} +\CJKvdef{m/n/30/229}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{229}\hss}} +\CJKvdef{m/n/30/231}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{231}\hss}} +\CJKvdef{m/n/30/238}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{238}\hss}} +\CJKvdef{m/n/30/245}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{245}\hss}} +\CJKvdef{m/n/30/246}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{246}\hss}} + + +\CJKvlet{bx/n/00/163}{m/n/00/163} +\CJKvlet{bx/n/00/167}{m/n/00/167} + +\CJKvlet{bx/n/20/24}{m/n/20/24} +\CJKvlet{bx/n/20/25}{m/n/20/25} +\CJKvlet{bx/n/20/28}{m/n/20/28} +\CJKvlet{bx/n/20/29}{m/n/20/29} +\CJKvlet{bx/n/20/37}{m/n/20/37} +\CJKvlet{bx/n/20/38}{m/n/20/38} + +\CJKvlet{bx/n/30/1}{m/n/30/1} +\CJKvlet{bx/n/30/2}{m/n/30/2} +\CJKvlet{bx/n/30/8}{m/n/30/8} +\CJKvlet{bx/n/30/9}{m/n/30/9} +\CJKvlet{bx/n/30/10}{m/n/30/10} +\CJKvlet{bx/n/30/11}{m/n/30/11} +\CJKvlet{bx/n/30/12}{m/n/30/12} +\CJKvlet{bx/n/30/13}{m/n/30/13} +\CJKvlet{bx/n/30/14}{m/n/30/14} +\CJKvlet{bx/n/30/15}{m/n/30/15} +\CJKvlet{bx/n/30/16}{m/n/30/16} +\CJKvlet{bx/n/30/17}{m/n/30/17} +\CJKvlet{bx/n/30/20}{m/n/30/20} +\CJKvlet{bx/n/30/21}{m/n/30/21} +\CJKvlet{bx/n/30/28}{m/n/30/28} +\CJKvlet{bx/n/30/65}{m/n/30/65} +\CJKvlet{bx/n/30/67}{m/n/30/67} +\CJKvlet{bx/n/30/69}{m/n/30/69} +\CJKvlet{bx/n/30/71}{m/n/30/71} +\CJKvlet{bx/n/30/73}{m/n/30/73} +\CJKvlet{bx/n/30/99}{m/n/30/99} +\CJKvlet{bx/n/30/131}{m/n/30/131} +\CJKvlet{bx/n/30/133}{m/n/30/133} +\CJKvlet{bx/n/30/135}{m/n/30/135} +\CJKvlet{bx/n/30/142}{m/n/30/142} +\CJKvlet{bx/n/30/161}{m/n/30/161} +\CJKvlet{bx/n/30/163}{m/n/30/163} +\CJKvlet{bx/n/30/165}{m/n/30/165} +\CJKvlet{bx/n/30/167}{m/n/30/167} +\CJKvlet{bx/n/30/169}{m/n/30/169} +\CJKvlet{bx/n/30/195}{m/n/30/195} +\CJKvlet{bx/n/30/227}{m/n/30/227} +\CJKvlet{bx/n/30/229}{m/n/30/229} +\CJKvlet{bx/n/30/231}{m/n/30/231} +\CJKvlet{bx/n/30/238}{m/n/30/238} +\CJKvlet{bx/n/30/245}{m/n/30/245} +\CJKvlet{bx/n/30/246}{m/n/30/246} +\CJKvlet{bx/n/30/252}{m/n/30/252} + +\CJKvlet{bx/n/ff/8}{m/n/ff/8} +\CJKvlet{bx/n/ff/9}{m/n/ff/9} +\CJKvlet{bx/n/ff/12}{m/n/ff/12} +\CJKvlet{bx/n/ff/14}{m/n/ff/14} +\CJKvlet{bx/n/ff/59}{m/n/ff/59} +\CJKvlet{bx/n/ff/61}{m/n/ff/61} +\CJKvlet{bx/n/ff/91}{m/n/ff/91} +\CJKvlet{bx/n/ff/93}{m/n/ff/93} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fd new file mode 100644 index 00000000000..8f741d5e2a6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fd @@ -0,0 +1,25 @@ +% This is the file c70maru.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70maru.fd}[\filedate\space\fileversion] + + +% character set: Unicode U+0080 - U+FFFD +% font encoding: Unicode +% +% umrj is Wadalab maru-0-8 combined with maru-1-8. + +\DeclareFontFamily{C70}{maru}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C70}{maru}{m}{n} + { <-> CJK * umrj}{} +\DeclareFontShape{C70}{maru}{bx}{n} + { <-> CJKb * umrj}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fdx new file mode 100644 index 00000000000..6c10052a685 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70maru.fdx @@ -0,0 +1,137 @@ +% This is the file c70maru.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Gernot Hassenpflug <gernot@nict.go.jp> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70maru.fdx}[\filedate\space\fileversion] + + +\CJKvdef{rotate}{} +\CJKvdef{offset}{.5em} + +\CJKvdef{m/n/00/163}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{163}\hss}} +\CJKvdef{m/n/00/167}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{167}\hss}} + +\CJKvdef{m/n/20/24}{\CJKsymbolsimple{24}} +\CJKvdef{m/n/20/25}{\CJKsymbolsimple{25}} +\CJKvdef{m/n/20/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/20/29}{\CJKsymbolsimple{29}} +\CJKvdef{m/n/20/37}{\CJKsymbolsimple{37}} +\CJKvdef{m/n/20/38}{\CJKsymbolsimple{38}} + +\CJKvdef{m/n/30/1}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{1}\hss}} +\CJKvdef{m/n/30/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}} +\CJKvdef{m/n/30/8}{\CJKsymbolsimple{8}} +\CJKvdef{m/n/30/9}{\CJKsymbolsimple{9}} +\CJKvdef{m/n/30/10}{\CJKsymbolsimple{10}} +\CJKvdef{m/n/30/11}{\CJKsymbolsimple{11}} +\CJKvdef{m/n/30/12}{\CJKsymbolsimple{12}} +\CJKvdef{m/n/30/13}{\CJKsymbolsimple{13}} +\CJKvdef{m/n/30/14}{\CJKsymbolsimple{14}} +\CJKvdef{m/n/30/15}{\CJKsymbolsimple{15}} +\CJKvdef{m/n/30/16}{\CJKsymbolsimple{16}} +\CJKvdef{m/n/30/17}{\CJKsymbolsimple{17}} +\CJKvdef{m/n/30/20}{\CJKsymbolsimple{20}} +\CJKvdef{m/n/30/21}{\CJKsymbolsimple{21}} +\CJKvdef{m/n/30/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/30/252}{\CJKsymbolsimple{252}} + +\CJKvdef{m/n/ff/8}{\CJKsymbolsimple{8}} +\CJKvdef{m/n/ff/9}{\CJKsymbolsimple{9}} +\CJKvdef{m/n/ff/12}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{12}\hss}} +\CJKvdef{m/n/ff/14}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{14}\hss}} +\CJKvdef{m/n/ff/59}{\CJKsymbolsimple{59}} +\CJKvdef{m/n/ff/61}{\CJKsymbolsimple{61}} +\CJKvdef{m/n/ff/91}{\CJKsymbolsimple{91}} +\CJKvdef{m/n/ff/93}{\CJKsymbolsimple{93}} + +% Reposition small kana letters for vertical typesetting. + +\CJKvdef{m/n/30/65}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{65}\hss}} +\CJKvdef{m/n/30/67}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{67}\hss}} +\CJKvdef{m/n/30/69}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{69}\hss}} +\CJKvdef{m/n/30/71}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{71}\hss}} +\CJKvdef{m/n/30/73}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{73}\hss}} +\CJKvdef{m/n/30/99}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{99}\hss}} +\CJKvdef{m/n/30/131}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{131}\hss}} +\CJKvdef{m/n/30/133}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{133}\hss}} +\CJKvdef{m/n/30/135}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{135}\hss}} +\CJKvdef{m/n/30/142}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{142}\hss}} + +\CJKvdef{m/n/30/161}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{161}\hss}} +\CJKvdef{m/n/30/163}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{163}\hss}} +\CJKvdef{m/n/30/165}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{165}\hss}} +\CJKvdef{m/n/30/167}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{167}\hss}} +\CJKvdef{m/n/30/169}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{169}\hss}} +\CJKvdef{m/n/30/195}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{195}\hss}} +\CJKvdef{m/n/30/227}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{227}\hss}} +\CJKvdef{m/n/30/229}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{229}\hss}} +\CJKvdef{m/n/30/231}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{231}\hss}} +\CJKvdef{m/n/30/238}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{238}\hss}} +\CJKvdef{m/n/30/245}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{245}\hss}} +\CJKvdef{m/n/30/246}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{246}\hss}} + + +\CJKvlet{bx/n/00/163}{m/n/00/163} +\CJKvlet{bx/n/00/167}{m/n/00/167} + +\CJKvlet{bx/n/20/24}{m/n/20/24} +\CJKvlet{bx/n/20/25}{m/n/20/25} +\CJKvlet{bx/n/20/28}{m/n/20/28} +\CJKvlet{bx/n/20/29}{m/n/20/29} +\CJKvlet{bx/n/20/37}{m/n/20/37} +\CJKvlet{bx/n/20/38}{m/n/20/38} + +\CJKvlet{bx/n/30/1}{m/n/30/1} +\CJKvlet{bx/n/30/2}{m/n/30/2} +\CJKvlet{bx/n/30/8}{m/n/30/8} +\CJKvlet{bx/n/30/9}{m/n/30/9} +\CJKvlet{bx/n/30/10}{m/n/30/10} +\CJKvlet{bx/n/30/11}{m/n/30/11} +\CJKvlet{bx/n/30/12}{m/n/30/12} +\CJKvlet{bx/n/30/13}{m/n/30/13} +\CJKvlet{bx/n/30/14}{m/n/30/14} +\CJKvlet{bx/n/30/15}{m/n/30/15} +\CJKvlet{bx/n/30/16}{m/n/30/16} +\CJKvlet{bx/n/30/17}{m/n/30/17} +\CJKvlet{bx/n/30/20}{m/n/30/20} +\CJKvlet{bx/n/30/21}{m/n/30/21} +\CJKvlet{bx/n/30/28}{m/n/30/28} +\CJKvlet{bx/n/30/65}{m/n/30/65} +\CJKvlet{bx/n/30/67}{m/n/30/67} +\CJKvlet{bx/n/30/69}{m/n/30/69} +\CJKvlet{bx/n/30/71}{m/n/30/71} +\CJKvlet{bx/n/30/73}{m/n/30/73} +\CJKvlet{bx/n/30/99}{m/n/30/99} +\CJKvlet{bx/n/30/131}{m/n/30/131} +\CJKvlet{bx/n/30/133}{m/n/30/133} +\CJKvlet{bx/n/30/135}{m/n/30/135} +\CJKvlet{bx/n/30/142}{m/n/30/142} +\CJKvlet{bx/n/30/161}{m/n/30/161} +\CJKvlet{bx/n/30/163}{m/n/30/163} +\CJKvlet{bx/n/30/165}{m/n/30/165} +\CJKvlet{bx/n/30/167}{m/n/30/167} +\CJKvlet{bx/n/30/169}{m/n/30/169} +\CJKvlet{bx/n/30/195}{m/n/30/195} +\CJKvlet{bx/n/30/227}{m/n/30/227} +\CJKvlet{bx/n/30/229}{m/n/30/229} +\CJKvlet{bx/n/30/231}{m/n/30/231} +\CJKvlet{bx/n/30/238}{m/n/30/238} +\CJKvlet{bx/n/30/245}{m/n/30/245} +\CJKvlet{bx/n/30/246}{m/n/30/246} +\CJKvlet{bx/n/30/252}{m/n/30/252} + +\CJKvlet{bx/n/ff/8}{m/n/ff/8} +\CJKvlet{bx/n/ff/9}{m/n/ff/9} +\CJKvlet{bx/n/ff/12}{m/n/ff/12} +\CJKvlet{bx/n/ff/14}{m/n/ff/14} +\CJKvlet{bx/n/ff/59}{m/n/ff/59} +\CJKvlet{bx/n/ff/61}{m/n/ff/61} +\CJKvlet{bx/n/ff/91}{m/n/ff/91} +\CJKvlet{bx/n/ff/93}{m/n/ff/93} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fd b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fd new file mode 100644 index 00000000000..59357372667 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fd @@ -0,0 +1,28 @@ +% This is the file c70min.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70min.fd}[\filedate\space\fileversion] + + +% character set: Unicode U+0080 - U+FFFD +% font encoding: Unicode +% +% udmj is Wadalab mincho-0-12 combined with mincho-1-8. +% umcj is Wadalab mincho-0-8 combined with mincho-1-8. + +\DeclareFontFamily{C70}{min}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C70}{min}{l}{n} + { <-> CJK * umcj}{} +\DeclareFontShape{C70}{min}{m}{n} + { <-> CJK * udmj}{} +\DeclareFontShape{C70}{min}{bx}{n} + { <-> CJKb * udmj}{\CJKbold} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fdx b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fdx new file mode 100644 index 00000000000..45c3b316f46 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/contrib/wadalab/c70min.fdx @@ -0,0 +1,203 @@ +% This is the file c70min.fdx of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Gernot Hassenpflug <gernot@nict.go.jp> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c70min.fdx}[\filedate\space\fileversion] + + +\CJKvdef{rotate}{} +\CJKvdef{offset}{.5em} + +\CJKvdef{m/n/00/163}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{163}\hss}} +\CJKvdef{m/n/00/167}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{167}\hss}} + +\CJKvdef{m/n/20/24}{\CJKsymbolsimple{24}} +\CJKvdef{m/n/20/25}{\CJKsymbolsimple{25}} +\CJKvdef{m/n/20/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/20/29}{\CJKsymbolsimple{29}} +\CJKvdef{m/n/20/37}{\CJKsymbolsimple{37}} +\CJKvdef{m/n/20/38}{\CJKsymbolsimple{38}} + +\CJKvdef{m/n/30/1}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{1}\hss}} +\CJKvdef{m/n/30/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}} +\CJKvdef{m/n/30/8}{\CJKsymbolsimple{8}} +\CJKvdef{m/n/30/9}{\CJKsymbolsimple{9}} +\CJKvdef{m/n/30/10}{\CJKsymbolsimple{10}} +\CJKvdef{m/n/30/11}{\CJKsymbolsimple{11}} +\CJKvdef{m/n/30/12}{\CJKsymbolsimple{12}} +\CJKvdef{m/n/30/13}{\CJKsymbolsimple{13}} +\CJKvdef{m/n/30/14}{\CJKsymbolsimple{14}} +\CJKvdef{m/n/30/15}{\CJKsymbolsimple{15}} +\CJKvdef{m/n/30/16}{\CJKsymbolsimple{16}} +\CJKvdef{m/n/30/17}{\CJKsymbolsimple{17}} +\CJKvdef{m/n/30/20}{\CJKsymbolsimple{20}} +\CJKvdef{m/n/30/21}{\CJKsymbolsimple{21}} +\CJKvdef{m/n/30/28}{\CJKsymbolsimple{28}} +\CJKvdef{m/n/30/252}{\CJKsymbolsimple{252}} + +\CJKvdef{m/n/ff/8}{\CJKsymbolsimple{8}} +\CJKvdef{m/n/ff/9}{\CJKsymbolsimple{9}} +\CJKvdef{m/n/ff/12}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{12}\hss}} +\CJKvdef{m/n/ff/14}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{14}\hss}} +\CJKvdef{m/n/ff/59}{\CJKsymbolsimple{59}} +\CJKvdef{m/n/ff/61}{\CJKsymbolsimple{61}} +\CJKvdef{m/n/ff/91}{\CJKsymbolsimple{91}} +\CJKvdef{m/n/ff/93}{\CJKsymbolsimple{93}} + +% Reposition small kana letters for vertical typesetting. + +\CJKvdef{m/n/30/65}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{65}\hss}} +\CJKvdef{m/n/30/67}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{67}\hss}} +\CJKvdef{m/n/30/69}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{69}\hss}} +\CJKvdef{m/n/30/71}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{71}\hss}} +\CJKvdef{m/n/30/73}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{73}\hss}} +\CJKvdef{m/n/30/99}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{99}\hss}} +\CJKvdef{m/n/30/131}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{131}\hss}} +\CJKvdef{m/n/30/133}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{133}\hss}} +\CJKvdef{m/n/30/135}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{135}\hss}} +\CJKvdef{m/n/30/142}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{142}\hss}} + +\CJKvdef{m/n/30/161}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{161}\hss}} +\CJKvdef{m/n/30/163}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{163}\hss}} +\CJKvdef{m/n/30/165}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{165}\hss}} +\CJKvdef{m/n/30/167}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{167}\hss}} +\CJKvdef{m/n/30/169}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{169}\hss}} +\CJKvdef{m/n/30/195}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{195}\hss}} +\CJKvdef{m/n/30/227}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{227}\hss}} +\CJKvdef{m/n/30/229}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{229}\hss}} +\CJKvdef{m/n/30/231}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{231}\hss}} +\CJKvdef{m/n/30/238}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{238}\hss}} +\CJKvdef{m/n/30/245}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{245}\hss}} +\CJKvdef{m/n/30/246}{\raise .2em \hbox to 1em {\kern -.2em \CJKsymbol{246}\hss}} + + +\CJKvlet{bx/n/00/163}{m/n/00/163} +\CJKvlet{bx/n/00/167}{m/n/00/167} + +\CJKvlet{bx/n/20/24}{m/n/20/24} +\CJKvlet{bx/n/20/25}{m/n/20/25} +\CJKvlet{bx/n/20/28}{m/n/20/28} +\CJKvlet{bx/n/20/29}{m/n/20/29} +\CJKvlet{bx/n/20/37}{m/n/20/37} +\CJKvlet{bx/n/20/38}{m/n/20/38} + +\CJKvlet{bx/n/30/1}{m/n/30/1} +\CJKvlet{bx/n/30/2}{m/n/30/2} +\CJKvlet{bx/n/30/8}{m/n/30/8} +\CJKvlet{bx/n/30/9}{m/n/30/9} +\CJKvlet{bx/n/30/10}{m/n/30/10} +\CJKvlet{bx/n/30/11}{m/n/30/11} +\CJKvlet{bx/n/30/12}{m/n/30/12} +\CJKvlet{bx/n/30/13}{m/n/30/13} +\CJKvlet{bx/n/30/14}{m/n/30/14} +\CJKvlet{bx/n/30/15}{m/n/30/15} +\CJKvlet{bx/n/30/16}{m/n/30/16} +\CJKvlet{bx/n/30/17}{m/n/30/17} +\CJKvlet{bx/n/30/20}{m/n/30/20} +\CJKvlet{bx/n/30/21}{m/n/30/21} +\CJKvlet{bx/n/30/28}{m/n/30/28} +\CJKvlet{bx/n/30/65}{m/n/30/65} +\CJKvlet{bx/n/30/67}{m/n/30/67} +\CJKvlet{bx/n/30/69}{m/n/30/69} +\CJKvlet{bx/n/30/71}{m/n/30/71} +\CJKvlet{bx/n/30/73}{m/n/30/73} +\CJKvlet{bx/n/30/99}{m/n/30/99} +\CJKvlet{bx/n/30/131}{m/n/30/131} +\CJKvlet{bx/n/30/133}{m/n/30/133} +\CJKvlet{bx/n/30/135}{m/n/30/135} +\CJKvlet{bx/n/30/142}{m/n/30/142} +\CJKvlet{bx/n/30/161}{m/n/30/161} +\CJKvlet{bx/n/30/163}{m/n/30/163} +\CJKvlet{bx/n/30/165}{m/n/30/165} +\CJKvlet{bx/n/30/167}{m/n/30/167} +\CJKvlet{bx/n/30/169}{m/n/30/169} +\CJKvlet{bx/n/30/195}{m/n/30/195} +\CJKvlet{bx/n/30/227}{m/n/30/227} +\CJKvlet{bx/n/30/229}{m/n/30/229} +\CJKvlet{bx/n/30/231}{m/n/30/231} +\CJKvlet{bx/n/30/238}{m/n/30/238} +\CJKvlet{bx/n/30/245}{m/n/30/245} +\CJKvlet{bx/n/30/246}{m/n/30/246} +\CJKvlet{bx/n/30/252}{m/n/30/252} + +\CJKvlet{bx/n/ff/8}{m/n/ff/8} +\CJKvlet{bx/n/ff/9}{m/n/ff/9} +\CJKvlet{bx/n/ff/12}{m/n/ff/12} +\CJKvlet{bx/n/ff/14}{m/n/ff/14} +\CJKvlet{bx/n/ff/59}{m/n/ff/59} +\CJKvlet{bx/n/ff/61}{m/n/ff/61} +\CJKvlet{bx/n/ff/91}{m/n/ff/91} +\CJKvlet{bx/n/ff/93}{m/n/ff/93} + + +\CJKvlet{l/n/00/163}{m/n/00/163} +\CJKvlet{l/n/00/167}{m/n/00/167} + +\CJKvlet{l/n/20/24}{m/n/20/24} +\CJKvlet{l/n/20/25}{m/n/20/25} +\CJKvlet{l/n/20/28}{m/n/20/28} +\CJKvlet{l/n/20/29}{m/n/20/29} +\CJKvlet{l/n/20/37}{m/n/20/37} +\CJKvlet{l/n/20/38}{m/n/20/38} + +\CJKvlet{l/n/30/1}{m/n/30/1} +\CJKvlet{l/n/30/2}{m/n/30/2} +\CJKvlet{l/n/30/8}{m/n/30/8} +\CJKvlet{l/n/30/9}{m/n/30/9} +\CJKvlet{l/n/30/10}{m/n/30/10} +\CJKvlet{l/n/30/11}{m/n/30/11} +\CJKvlet{l/n/30/12}{m/n/30/12} +\CJKvlet{l/n/30/13}{m/n/30/13} +\CJKvlet{l/n/30/14}{m/n/30/14} +\CJKvlet{l/n/30/15}{m/n/30/15} +\CJKvlet{l/n/30/16}{m/n/30/16} +\CJKvlet{l/n/30/17}{m/n/30/17} +\CJKvlet{l/n/30/20}{m/n/30/20} +\CJKvlet{l/n/30/21}{m/n/30/21} +\CJKvlet{l/n/30/28}{m/n/30/28} +\CJKvlet{l/n/30/65}{m/n/30/65} +\CJKvlet{l/n/30/67}{m/n/30/67} +\CJKvlet{l/n/30/69}{m/n/30/69} +\CJKvlet{l/n/30/71}{m/n/30/71} +\CJKvlet{l/n/30/73}{m/n/30/73} +\CJKvlet{l/n/30/99}{m/n/30/99} +\CJKvlet{l/n/30/131}{m/n/30/131} +\CJKvlet{l/n/30/133}{m/n/30/133} +\CJKvlet{l/n/30/135}{m/n/30/135} +\CJKvlet{l/n/30/142}{m/n/30/142} +\CJKvlet{l/n/30/161}{m/n/30/161} +\CJKvlet{l/n/30/163}{m/n/30/163} +\CJKvlet{l/n/30/165}{m/n/30/165} +\CJKvlet{l/n/30/167}{m/n/30/167} +\CJKvlet{l/n/30/169}{m/n/30/169} +\CJKvlet{l/n/30/195}{m/n/30/195} +\CJKvlet{l/n/30/227}{m/n/30/227} +\CJKvlet{l/n/30/229}{m/n/30/229} +\CJKvlet{l/n/30/231}{m/n/30/231} +\CJKvlet{l/n/30/238}{m/n/30/238} +\CJKvlet{l/n/30/245}{m/n/30/245} +\CJKvlet{l/n/30/246}{m/n/30/246} +\CJKvlet{l/n/30/252}{m/n/30/252} + +\CJKvlet{l/n/ff/8}{m/n/ff/8} +\CJKvlet{l/n/ff/9}{m/n/ff/9} +\CJKvlet{l/n/ff/12}{m/n/ff/12} +\CJKvlet{l/n/ff/14}{m/n/ff/14} +\CJKvlet{l/n/ff/59}{m/n/ff/59} +\CJKvlet{l/n/ff/61}{m/n/ff/61} +\CJKvlet{l/n/ff/91}{m/n/ff/91} +\CJKvlet{l/n/ff/93}{m/n/ff/93} + +% Move down small katalana `tsu' in horizontal mode. It sits too high and +% is possibly confusable with the large `tsu'. + +\CJKhdef{m/n/30/195}{\raise -.05em \hbox to 1em {\kern 0em \CJKsymbol{195}\hss}} +\CJKhlet{bx/n/30/195}{m/n/30/195} +\CJKhlet{l/n/30/195}{m/n/30/195} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/extended.chr b/Master/texmf-dist/tex/latex/cjk/extended.chr new file mode 100644 index 00000000000..829546e8add --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/extended.chr @@ -0,0 +1,219 @@ +% This is the file extended.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{extended.chr}[\filedate\space\fileversion] + + +% define macros for handling extended encodings (GBK, Big5+). + +\gdef\CJK@extendedChr{ + \CJK@global\chardef\CJK@gap "07F\relax + + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##3\relax + \ifnum ##3 > \CJK@gap + \advance\@tempcnta \m@ne + \fi + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@charx##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \@tempcntb 256\relax + \ifnum ##4 > \CJK@gap + \advance\@tempcnta \m@ne + \advance\@tempcntb \@ne + \fi + \advance\@tempcnta ##3\relax + \advance\@tempcntb -##3\relax + \chardef\@temp \@tempcntb + \ifnum ##4 < \@temp + \edef\CJK@plane{##1} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% for punctuation. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##4} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \ifnum ##4 > \CJK@gap + \advance\@tempcnta \m@ne + \fi + \advance\@tempcnta ##3\relax + \edef\CJK@plane{##2} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + + \CJK@global\def\CJK@punctcharx##1##2##3##4##5{ + {\ifnum ##5 < \CJK@min + \CJK@err + \else + \ifnum ##5 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##5} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##5\relax + \@tempcntb 256\relax + \ifnum ##5 > \CJK@gap + \advance\@tempcnta \m@ne + \advance\@tempcntb \@ne + \fi + \advance\@tempcnta ##4\relax + \advance\@tempcntb -##4\relax + \chardef\@temp \@tempcntb + \ifnum ##5 < \@temp + \edef\CJK@plane{##2} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##3} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/extended.enc b/Master/texmf-dist/tex/latex/cjk/extended.enc new file mode 100644 index 00000000000..a198ef978c1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/extended.enc @@ -0,0 +1,289 @@ +% This is the file extended.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{extended.enc}[\filedate\space\fileversion] + + +% extended encoding: +% each plane has 190 characters (GBK, Big5+) (0x40-0x7E, 0x80-0xFE). + +\gdef\CJK@extendedEncoding{ + \CJK@loadChr{extended} + + \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase + \CJK@char {01}{-64}{##1}} + \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase + \CJK@charx{01}{02}{126}{##1}} + \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase + \CJK@charx{02}{03}{ 60}{##1}} + \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase + \CJK@char {03}{ -6}{##1}} + \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase + \CJK@charx{03}{04}{184}{##1}} + \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase + \CJK@charx{04}{05}{118}{##1}} + \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase + \CJK@charx{05}{06}{ 52}{##1}} + \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase + \CJK@char {06}{-14}{##1}} + \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase + \CJK@charx{06}{07}{176}{##1}} + \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase + \CJK@charx{07}{08}{110}{##1}} + \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase + \CJK@charx{08}{09}{ 44}{##1}} + \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase + \CJK@char {09}{-22}{##1}} + \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase + \CJK@charx{09}{10}{168}{##1}} + \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase + \CJK@charx{10}{11}{102}{##1}} + \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase + \CJK@charx{11}{12}{ 36}{##1}} + \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase + \CJK@char {12}{-30}{##1}} + \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase + \CJK@charx{12}{13}{160}{##1}} + \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase + \CJK@charx{13}{14}{ 94}{##1}} + \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase + \CJK@charx{14}{15}{ 28}{##1}} + \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase + \CJK@char {15}{-38}{##1}} + \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase + \CJK@charx{15}{16}{152}{##1}} + \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase + \CJK@charx{16}{17}{ 86}{##1}} + \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase + \CJK@charx{17}{18}{ 20}{##1}} + \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase + \CJK@char {18}{-46}{##1}} + \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase + \CJK@charx{18}{19}{144}{##1}} + \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase + \CJK@charx{19}{20}{ 78}{##1}} + \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase + \CJK@charx{20}{21}{ 12}{##1}} + \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase + \CJK@char {21}{-54}{##1}} + \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase + \CJK@charx{21}{22}{136}{##1}} + \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase + \CJK@charx{22}{23}{ 70}{##1}} + \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase + \CJK@charx{23}{24}{ 4}{##1}} + \CJK@namegdef{^^a0}##1{\CJK@disableMakeUppercase + \CJK@char {24}{-62}{##1}} + \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase + \CJK@punctcharx{A1}{24}{25}{128}{##1}} + \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase + \CJK@punctcharx{A2}{25}{26}{ 62}{##1}} + \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase + \CJK@punctchar {A3}{26}{ -4}{##1}} + \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase + \CJK@punctcharx{A4}{26}{27}{186}{##1}} + \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase + \CJK@punctcharx{A5}{27}{28}{120}{##1}} + \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase + \CJK@charx{28}{29}{ 54}{##1}} + \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase + \CJK@char {29}{-12}{##1}} + \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase + \CJK@charx{29}{30}{178}{##1}} + \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase + \CJK@charx{30}{31}{112}{##1}} + \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase + \CJK@charx{31}{32}{ 46}{##1}} + \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase + \CJK@char {32}{-20}{##1}} + \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase + \CJK@charx{32}{33}{170}{##1}} + \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase + \CJK@charx{33}{34}{104}{##1}} + \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase + \CJK@charx{34}{35}{ 38}{##1}} + \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase + \CJK@char {35}{-28}{##1}} + \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase + \CJK@charx{35}{36}{162}{##1}} + \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase + \CJK@charx{36}{37}{ 96}{##1}} + \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase + \CJK@charx{37}{38}{ 30}{##1}} + \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase + \CJK@char {38}{-36}{##1}} + \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase + \CJK@charx{38}{39}{154}{##1}} + \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase + \CJK@charx{39}{40}{ 88}{##1}} + \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase + \CJK@charx{40}{41}{ 22}{##1}} + \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase + \CJK@char {41}{-44}{##1}} + \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase + \CJK@charx{41}{42}{146}{##1}} + \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase + \CJK@charx{42}{43}{ 80}{##1}} + \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase + \CJK@charx{43}{44}{ 14}{##1}} + \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase + \CJK@char {44}{-52}{##1}} + \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase + \CJK@charx{44}{45}{138}{##1}} + \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase + \CJK@charx{45}{46}{ 72}{##1}} + \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase + \CJK@charx{46}{47}{ 6}{##1}} + \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase + \CJK@char {47}{-60}{##1}} + \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase + \CJK@charx{47}{48}{130}{##1}} + \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase + \CJK@charx{48}{49}{ 64}{##1}} + \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase + \CJK@char {49}{ -2}{##1}} + \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase + \CJK@charx{49}{50}{188}{##1}} + \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase + \CJK@charx{50}{51}{122}{##1}} + \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase + \CJK@charx{51}{52}{ 56}{##1}} + \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase + \CJK@char {52}{-10}{##1}} + \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase + \CJK@charx{52}{53}{180}{##1}} + \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase + \CJK@charx{53}{54}{114}{##1}} + \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase + \CJK@charx{54}{55}{ 48}{##1}} + \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase + \CJK@char {55}{-18}{##1}} + \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase + \CJK@charx{55}{56}{172}{##1}} + \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase + \CJK@charx{56}{57}{106}{##1}} + \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase + \CJK@charx{57}{58}{ 40}{##1}} + \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase + \CJK@char {58}{-26}{##1}} + \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase + \CJK@charx{58}{59}{164}{##1}} + \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase + \CJK@charx{59}{60}{ 98}{##1}} + \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase + \CJK@charx{60}{61}{ 32}{##1}} + \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase + \CJK@char {61}{-34}{##1}} + \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase + \CJK@charx{61}{62}{156}{##1}} + \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase + \CJK@charx{62}{63}{ 90}{##1}} + \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase + \CJK@charx{63}{64}{ 24}{##1}} + \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase + \CJK@char {64}{-42}{##1}} + \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase + \CJK@charx{64}{65}{148}{##1}} + \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase + \CJK@charx{65}{66}{ 82}{##1}} + \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase + \CJK@charx{66}{67}{ 16}{##1}} + \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase + \CJK@char {67}{-50}{##1}} + \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase + \CJK@charx{67}{68}{140}{##1}} + \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase + \CJK@charx{68}{69}{ 74}{##1}} + \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase + \CJK@charx{69}{70}{ 8}{##1}} + \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase + \CJK@char {70}{-58}{##1}} + \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase + \CJK@charx{70}{71}{132}{##1}} + \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase + \CJK@charx{71}{72}{ 66}{##1}} + \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase + \CJK@char {72}{ 0}{##1}} + \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase + \CJK@charx{72}{73}{190}{##1}} + \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase + \CJK@charx{73}{74}{124}{##1}} + \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase + \CJK@charx{74}{75}{ 58}{##1}} + \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase + \CJK@char {75}{ -8}{##1}} + \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase + \CJK@charx{75}{76}{182}{##1}} + \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase + \CJK@charx{76}{77}{116}{##1}} + \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase + \CJK@charx{77}{78}{ 50}{##1}} + \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase + \CJK@char {78}{-16}{##1}} + \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase + \CJK@charx{78}{79}{174}{##1}} + \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase + \CJK@charx{79}{80}{108}{##1}} + \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase + \CJK@charx{80}{81}{ 42}{##1}} + \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase + \CJK@char {81}{-24}{##1}} + \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase + \CJK@charx{81}{82}{166}{##1}} + \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase + \CJK@charx{82}{83}{100}{##1}} + \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase + \CJK@charx{83}{84}{ 34}{##1}} + \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase + \CJK@char {84}{-32}{##1}} + \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase + \CJK@charx{84}{85}{158}{##1}} + \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase + \CJK@charx{85}{86}{ 92}{##1}} + \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase + \CJK@charx{86}{87}{ 26}{##1}} + \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase + \CJK@char {87}{-40}{##1}} + \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase + \CJK@charx{87}{88}{150}{##1}} + \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase + \CJK@charx{88}{89}{ 84}{##1}} + \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase + \CJK@charx{89}{90}{ 18}{##1}} + \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase + \CJK@char {90}{-48}{##1}} + \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase + \CJK@charx{90}{91}{142}{##1}} + \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase + \CJK@charx{91}{92}{ 76}{##1}} + \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase + \CJK@charx{92}{93}{ 10}{##1}} + \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase + \CJK@char {93}{-56}{##1}} + \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase + \CJK@charx{93}{94}{134}{##1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/mule/MULEenc.sty b/Master/texmf-dist/tex/latex/cjk/mule/MULEenc.sty new file mode 100644 index 00000000000..1b31d790fa8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/mule/MULEenc.sty @@ -0,0 +1,501 @@ +% This is the file MULEenc.sty of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\makeatletter +\endlinechar \m@ne + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{MULEenc}[\filedate\space\fileversion] +\NeedsTeXFormat{LaTeX2e}[1998/06/01] + + +% to allow Latin encodings in verbatim environments we activate the +% character ^^7f and define it as a multiplex character which executes +% its first argument; it will also be used as a delimiter. + +\catcode "7F \active + +\def^^7f{ + \ifx\protect \@typeset@protect + \expandafter\mule@arg + \else + \noexpand ^^7f + \fi} + +\def\mule@arg#1^^7f#2^^7f{ + \mule@@arg #2^^7f#1^^7f#2^^7f} + +\def\mule@@arg#1^^7f{ + \mule@ifbslash #1^^7f + \expandafter\mule@@@arg + \else + \expandafter\mule@exec + \fi} + +\def\mule@@@arg#1^^7f#2^^7f{ + \csname mule@\string #1\endcsname{#2}} + + +% the pseudo-if \mule@ifbslash tests whether its argument contains a +% backslash with a character category code (this happens in verbatim +% environments). We need to change the catcode of `\' locally to +% achieve that. +% +% \mule@exec then swallows this backslash so we can call \csname (twice). +% +% All these weird constructions assure that we do not lose kerning between +% characters---only macro expansion is allowed! + +\let\mule@@@ \@empty + +{\catcode`\|=\z@ + \catcode`\\=12\relax + |gdef|mule@ifbslash#1^^7f{ + |mule@@ifbslash #1\^^7f} + |gdef|mule@@ifbslash#1\#2^^7f{ + |expandafter|expandafter|expandafter|ifx + |expandafter|csname |string #2mule@@@|endcsname |@empty} + |gdef|mule@exec#1^^7f\#2^^7f{ + |expandafter|csname + mule@#1|expandafter |endcsname |csname #2|endcsname} +} + + +% here come the definitions for the macros cjk-enc.el emits. + +% first some \let's to avoid problems in tabbing environments. + +\AtBeginDocument{ + \let\mule@acute \' + \let\mule@grave \` + \let\mule@macron \= + \let\mule@hacek \v} + +% and now the missing definitions for cjk-enc.el to represent Latin +% encodings. + +% these definitions may be overridden with \ProvideTextCommandDefault +% commands. + +\def\textonequarter{\ensuremath{\frac14}} +\def\textonehalf{\ensuremath{\frac12}} +\def\textthreequarters{\ensuremath{\frac34}} + +% LaTeX defines the following macros as \math... instead of \text..., +% but we want that all commands work in text mode. + +\def\textonesuperior{\ensuremath{{^1}}} +\def\texttwosuperior{\ensuremath{{^2}}} +\def\textthreesuperior{\ensuremath{{^3}}} + +% the next macros are text versions of the corresponding math macros. + +\def\textlnot{\ensuremath{\lnot}} +\def\textpm{\ensuremath{\pm}} +\def\textmu{\ensuremath{\mu}} +\def\texttimes{\ensuremath{\times}} +\def\textdiv{\ensuremath{\div}} + +% this macro is not in the LaTeX 2e base package + +\def\textcommercialat{\char64} + +% the following macro is not defined in standard LaTeX2e. +% +% JIS X 0201: 0x7E \textoverscore (U+203E) + + +% to make the multiplex macro work with \uppercase and \lowercase too, +% numbers are used as parameters in the ^^7f macro. + +\def\mule@def#1{\expandafter\def\csname mule@\string #1\endcsname} + +% accents + +\mule@def{8}{\"} +\mule@def{15}{\mule@macron} +\mule@def{20}{\mule@acute} +\mule@def{24}{\c} +\mule@def{32}{\mule@grave} +\mule@def{33}{\^} +\mule@def{34}{\~} +\mule@def{48}{\k} +\mule@def{49}{\u} +\mule@def{51}{\mule@hacek} +\mule@def{52}{\.} +\mule@def{53}{\r} +\mule@def{55}{\H} + +% Vietnamese hook (\h; only defined in T5 encoding) and dot below accent + +\mule@def{71}{\d} +\mule@def{73}{\h} + +% symbols + +\mule@def{1}{\textexclamdown} +\mule@def{2}{\textcent} +\mule@def{3}{\textsterling} +\mule@def{4}{\textcurrency} +\mule@def{5}{\textyen} +\mule@def{6}{\textbrokenbar} +\mule@def{7}{\S} +\mule@def{9}{\copyright} +\mule@def{10}{\textordfeminine} +\mule@def{11}{\guillemotleft} +\mule@def{12}{\textlnot} +\mule@def{14}{\textregistered} +\mule@def{16}{\textdegree} +\mule@def{17}{\textpm} +\mule@def{18}{\texttwosuperior} +\mule@def{19}{\textthreesuperior} +\mule@def{21}{\textmu} +\mule@def{22}{\P} +\mule@def{23}{\textperiodcentered} +\mule@def{25}{\textonesuperior} +\mule@def{26}{\textordmasculine} +\mule@def{27}{\guillemotright} +\mule@def{28}{\textonequarter} +\mule@def{29}{\textonehalf} +\mule@def{30}{\textthreequarters} +\mule@def{31}{\textquestiondown} +\mule@def{36}{\textcommercialat} +\mule@def{37}{\textquotedbl} +\mule@def{38}{\texttimes} +\mule@def{39}{\textdollar} +\mule@def{40}{\textquoteright} +\mule@def{41}{\textless} +\mule@def{42}{\textgreater} +\mule@def{43}{\textasciicircum} +\mule@def{44}{\textunderscore} +\mule@def{45}{\textdiv} +\mule@def{46}{\textquoteleft} +\mule@def{47}{\textbraceleft} +\mule@def{50}{\textbar} +\mule@def{54}{\textbraceright} +\mule@def{56}{\textoverscore} +\mule@def{99}{\nobreakspace} + +\mule@def{35}{\textnumero} % Cyrillic Number Sign + +% letters + +\let\TEXTMALTESEH \textmalteseH +\def\I{I} % uppercase form of \i + +\let\TEXTTSTROKE \textTstroke +\mule@def{59}{\textkra} + +% commands + +\mule@def{0}{\@firstofone} % for commands as arguments which exist + % in both uppercase and lowercase forms + % like \AA and \aa +\mule@def{64}{\CJKspace\@gobble} +\mule@def{65}{\CJKnospace\@gobble} +\mule@def{66}{\CJKenc{JIS}\@gobble} +\mule@def{67}{\CJKenc{GB}\@gobble} +\mule@def{68}{\CJKenc{Bg5}\@gobble} +\mule@def{69}{\CJKenc{KS}\@gobble} +\mule@def{70}{\CJKenc{SJIS}\@gobble} + +% in previous versions we have used ^^a0 for calling \CJKchar, but to +% support GBK and Big 5+ encodings which both need this slot we use the +% ^^7f interface also. + +\mule@def{72}{\mule@@@@arg} + +\def\mule@@@@arg#1^^7f#2^^7f#3^^7f{ + \uppercase{\CJKchar[#1]{#2}{#3}}} + + +% Thai support. We need the many \bgroup and \egroup commands to make it +% work with ulem.sty. + +\mule@def{57}{\bgroup\fontencoding{C90}\selectfont + \bgroup\bgroup\@gobble} % begin Thai +\mule@def{58}{\egroup + \egroup\egroup\@gobble} % end Thai +\mule@def{60}{\mule@char} % Thai diacritic +\mule@def{61}{\Thaibreak\@gobble} % Thai word break +\mule@def{62}{\nobreak\Thaiglue\nobreak\mule@char} % Thai base character +\mule@def{63}{\mule@ignorespaces} % Thai EOL + +\def\mule@char#1{\char #1 } +\def\mule@ignorespaces#1{\ignorespaces} + +\newcommand{\Thaiglue}{\hskip \z@ \@plus .03\baselineskip} +\newcommand{\Thaibreak}{\hskip \z@} + +\newcommand{\Thaispace}{\mule@def{63}{}} +\newcommand{\Thainospace}{\mule@def{63}{\mule@ignorespaces}} + + +% preprocessed mode now uses the ^^7f interface for CJK characters also +% to make it coexist with normal mode. +% +% the \@gobble macro is used to swallow the first element in \CJK@<number>; +% this is either \CJK@disableMakeUppercase or \relax if not needed. + +\def\mule@@def#1{ + \expandafter\def\csname mule@\string #1\endcsname##1{ + \expandafter\expandafter\expandafter\@gobble + \csname CJK@\number `#1\endcsname{##1} + \CJK@ignorespaces}} + +\mule@@def{^^81} +\mule@@def{^^82} +\mule@@def{^^83} +\mule@@def{^^84} +\mule@@def{^^85} +\mule@@def{^^86} +\mule@@def{^^87} +\mule@@def{^^88} +\mule@@def{^^89} +\mule@@def{^^8a} +\mule@@def{^^8b} +\mule@@def{^^8c} +\mule@@def{^^8d} +\mule@@def{^^8e} +\mule@@def{^^8f} +\mule@@def{^^90} +\mule@@def{^^91} +\mule@@def{^^92} +\mule@@def{^^93} +\mule@@def{^^94} +\mule@@def{^^95} +\mule@@def{^^96} +\mule@@def{^^97} +\mule@@def{^^98} +\mule@@def{^^99} +\mule@@def{^^9a} +\mule@@def{^^9b} +\mule@@def{^^9c} +\mule@@def{^^9d} +\mule@@def{^^9e} +\mule@@def{^^9f} +\mule@@def{^^a0} +\mule@@def{^^a1} +\mule@@def{^^a2} +\mule@@def{^^a3} +\mule@@def{^^a4} +\mule@@def{^^a5} +\mule@@def{^^a6} +\mule@@def{^^a7} +\mule@@def{^^a8} +\mule@@def{^^a9} +\mule@@def{^^aa} +\mule@@def{^^ab} +\mule@@def{^^ac} +\mule@@def{^^ad} +\mule@@def{^^ae} +\mule@@def{^^af} +\mule@@def{^^b0} +\mule@@def{^^b1} +\mule@@def{^^b2} +\mule@@def{^^b3} +\mule@@def{^^b4} +\mule@@def{^^b5} +\mule@@def{^^b6} +\mule@@def{^^b7} +\mule@@def{^^b8} +\mule@@def{^^b9} +\mule@@def{^^ba} +\mule@@def{^^bb} +\mule@@def{^^bc} +\mule@@def{^^bd} +\mule@@def{^^be} +\mule@@def{^^bf} +\mule@@def{^^c0} +\mule@@def{^^c1} +\mule@@def{^^c2} +\mule@@def{^^c3} +\mule@@def{^^c4} +\mule@@def{^^c5} +\mule@@def{^^c6} +\mule@@def{^^c7} +\mule@@def{^^c8} +\mule@@def{^^c9} +\mule@@def{^^ca} +\mule@@def{^^cb} +\mule@@def{^^cc} +\mule@@def{^^cd} +\mule@@def{^^ce} +\mule@@def{^^cf} +\mule@@def{^^d0} +\mule@@def{^^d1} +\mule@@def{^^d2} +\mule@@def{^^d3} +\mule@@def{^^d4} +\mule@@def{^^d5} +\mule@@def{^^d6} +\mule@@def{^^d7} +\mule@@def{^^d8} +\mule@@def{^^d9} +\mule@@def{^^da} +\mule@@def{^^db} +\mule@@def{^^dc} +\mule@@def{^^dd} +\mule@@def{^^de} +\mule@@def{^^df} +\mule@@def{^^e0} +\mule@@def{^^e1} +\mule@@def{^^e2} +\mule@@def{^^e3} +\mule@@def{^^e4} +\mule@@def{^^e5} +\mule@@def{^^e6} +\mule@@def{^^e7} +\mule@@def{^^e8} +\mule@@def{^^e9} +\mule@@def{^^ea} +\mule@@def{^^eb} +\mule@@def{^^ec} +\mule@@def{^^ed} +\mule@@def{^^ee} +\mule@@def{^^ef} +\mule@@def{^^f0} +\mule@@def{^^f1} +\mule@@def{^^f2} +\mule@@def{^^f3} +\mule@@def{^^f4} +\mule@@def{^^f5} +\mule@@def{^^f6} +\mule@@def{^^f7} +\mule@@def{^^f8} +\mule@@def{^^f9} +\mule@@def{^^fa} +\mule@@def{^^fb} +\mule@@def{^^fc} +\mule@@def{^^fd} +\mule@@def{^^fe} + + +% if the `verbatim' package is loaded it is possible to improve the output +% automatically, namely, to avoid breaking of overfull lines in a +% verbatim environment. The following command will install a hook to +% suppress insertion of glue between Thai glyphs. CJK.sty will extend +% it for CJK glyphs. +% +\def\mule@verbatim{ + \addto@hook{\every@verbatim}{ + \renewcommand{\Thaiglue}{} + \mule@def{61}{}}} +\ifx\CJK@verbatim \@undefined + \def\CJK@verbatim{} +\fi + +\def\CJKverbatim{ + \mule@verbatim + \CJK@verbatim} + + +% here comes our special include command which will load <file>.cjk +% instead of <file>.tex + +\def\CJKinclude#1{ + \relax + + \ifnum\@auxout = \@partaux + \@latex@error{\string\CJKinclude\space cannot be nested} + \@eha + \else + \CJK@include#1 % + \fi +} + +\def\CJK@include#1 { + \clearpage + + \if@filesw + \immediate\write\@mainaux{\string\@input{#1.aux}} + \fi + + \@tempswatrue + + \if@partsw + \@tempswafalse + \edef\reserved@b{#1} + \@for\reserved@a:=\@partlist\do + {\ifx\reserved@a \reserved@b + \@tempswatrue + \fi + } + \fi + + \if@tempswa + \let\@auxout\@partaux + \if@filesw + \immediate\openout\@partaux #1.aux + \immediate\write\@partaux{\relax} + \fi + \@input@{#1.cjk} + \clearpage + \@writeckpt{#1} + \if@filesw + \immediate\closeout\@partaux + \fi + \else + \deadcycles\z@ + \@nameuse{cp@#1} + \fi + + \let\@auxout\@mainaux +} + + +% the same for the bibliography + +\def\CJKbibliography#1{ + \if@filesw + \immediate\write\@auxout{\string\bibdata{#1-cjk}}% + \fi + \@input@{\jobname.bbl} +} + + +% here our special input command -- cjk-enc.el will scan files included with +% \CJKinput, but not with \input. +% +% We only want the syntax form of \input with braces around the parameter. +% If no file name extension is given, `cjk' is used. + +\def\CJKinput#1{ + \filename@parse{#1} + \ifx\filename@ext \relax + \def\filename@ext{cjk} + \fi + \InputIfFileExists{\filename@area\filename@base.\filename@ext} + {} + {\edef\reserved@a{ + \noexpand\@missingfileerror + {\filename@area\filename@base} + {\filename@ext}} + \reserved@a}} + + +\endlinechar `\^^M +\makeatother +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/pinyin.sty b/Master/texmf-dist/tex/latex/cjk/pinyin.sty new file mode 100644 index 00000000000..b688addf1eb --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/pinyin.sty @@ -0,0 +1,1223 @@ +% This is the file pinyin.sty of the CJK package +% to input Chinese in pinyin transcription +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) +% +% This style file works with plain TeX also. + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} + +\catcode`@=11 +\endlinechar \m@ne + +% Older versions of the PostScript virtual files don't contain a macron +% accent at all (e.g. Palatino). Under LaTeX, you can activate the +% CM macron version with the package option `useCMmacron'. + +\newif\ifpy@useCMmacron@ +\py@useCMmacron@false + +\ifx\NeedsTeXFormat \@undefined + \message{Package: pinyin \filedate\space\fileversion} +\else + \ProvidesPackage{pinyin}[\filedate\space\fileversion] + + \DeclareOption{useCMmacron}{\py@useCMmacron@true} + \ProcessOptions +\fi + + +% Similar to the CJK and ruby packages we need a special kern to indicate +% hyphenation between pinyin syllables. Values 1sp-3sp are already used +% by those packages. + +\edef\py@sp{\kern -4sp\kern 4sp} + + +% We must preserve various TeX macros because their names overlap with +% pinyin syllables. The only exception is the internal command \long which +% can't be renamed because almost all other packages would fail. +% +% Note that \ding is not a basic LaTeX macro but defined in pifont.sty, part +% of the psnfss package. +% +% All other pinyin syllables will be defined below. + +\let\PYa=\a +\let\PYchi=\chi +\let\PYcong=\cong +\let\PYding=\ding +\let\PYge=\ge +\let\PYhang=\hang +\let\PYle=\le +%\let\PYlong=\long -> we use \Long and \LONG instead +\let\PYmin=\min +\let\PYmu=\mu +\let\PYne=\ne +\let\PYni=\ni +\let\PYnu=\nu +\let\PYo=\o +\let\PYO=\O +\let\PYpi=\pi +\let\PYPi=\Pi +\let\PYRe=\Re +\let\PYtan=\tan +\let\PYxi=\xi +\let\PYXi=\Xi + +\def\PYactivate{ + \let\a=\py@@a + \let\chi=\py@chi + \let\cong=\py@cong + \let\ding=\py@ding + \let\ge=\py@ge + \let\hang=\py@hang + \let\le=\py@le + \let\min=\py@min + \let\mu=\py@mu + \let\ne=\py@ne + \let\ni=\py@ni + \let\nu=\py@nu + \let\o=\py@@o + \let\O=\py@@O + \let\pi=\py@pi + \let\Pi=\py@Pi + \let\Re=\py@Re + \let\tan=\py@tan + \let\xi=\py@xi + \let\Xi=\py@Xi} + +\def\PYdeactivate{ + \let\a=\PYa + \let\chi=\PYchi + \let\cong=\PYcong + \let\ding=\PYding + \let\ge=\PYge + \let\hang=\PYhang + \let\le=\PYle + \let\min=\PYmin + \let\mu=\PYmu + \let\ne=\PYne + \let\ni=\PYni + \let\nu=\PYnu + \let\o=\PYo + \let\O=\PYO + \let\pi=\PYpi + \let\Pi=\PYPi + \let\Re=\PYRe + \let\tan=\PYtan + \let\xi=\PYxi + \let\Xi=\PYXi} + + +% We use our own names for the accent macros so they will also work in +% tabbing environments. + +\let\py@acute \' +\let\py@hacek \v +\let\py@grave \` + + +% Macrons of the EC fonts are far too high for the first tone, and most +% T1 encoded fonts follow this for compatibility reasons. However, +% T5 encoded fonts don't exhibit this behaviour. + +\def\py@macron#1#2{ + \edef\py@mcorr{0} + \edef\py@temp{T1} + \ifx\f@encoding \py@temp + \chardef\py@mcr 9\relax% T1 fonts + \else + \edef\py@temp{T5} + \ifx\f@encoding \py@temp + \chardef\py@mcr 9\relax% T5 fonts + \edef\py@mcorr{-.3} + \else + \chardef\py@mcr 22\relax% OT1 fonts + \fi + \fi + + {\leavevmode + \dimen@ii 1ex + \edef\py@temp{\f@family} + \ifpy@useCMmacron@ + \fontfamily{cmr} + \selectfont + \fi + \setbox\z@ \hbox{\char\py@mcr} + \dimen@ -#2ex + \advance\dimen@ \py@mcorr ex + \advance\dimen@ \ht\z@ + \ifdim 1ex < \dimen@ + \fontdimen5\font \dimen@ + \fi + \accent\py@mcr + \fontfamily\py@temp + \selectfont + \fontdimen5\font \dimen@ii + #1}} + +% Here a replacement version for bookmarks in PDFs. + +\def\py@hr@macron#1#2{ + \=#1 +} + + +% The following command outputs the kern between two letters. + +\def\py@kern#1#2{ + {\setbox\z@ \hbox{#1#2} + \dimen@ \wd\z@ + \setbox\z@ \hbox{#1{}#2} + \advance\dimen@ -\wd\z@ + \kern\dimen@}} + + +% To make \MakeUppercase and \MakeLowercase work, we use a generic macro +% which constructs the necessary pinyin macros by using the first +% argument. + +\def\py@{\protect\py@@@} +\def\py@@@#1{ + \csname py@#1\endcsname +} + +% Here are the macros to produce various accents over the vocals. + +\def\py@@#1#2#3#4{ + \py@kern{#2}#1 + \ifcase#4 + \or\py@macron #1{.3}\or\py@acute #1\or\py@hacek #1\or\py@grave #1\or #1 + \fi + \py@kern #1{#3}} + +\def\py@a{\py@@ a} +\def\py@A{\py@@ A} + +\def\py@e{\py@@ e} +\def\py@E{\py@@ E} + +\def\py@i#1#2#3{ + \py@kern{#1}i + \ifcase#3 + \or\py@macron\i{.3}\or\py@acute\i\or\py@hacek\i\or\py@grave\i\or i + \fi + \py@kern i{#2}} +\def\py@I{\py@@ I} + +\def\py@o{\py@@ o} +\def\py@O{\py@@ O} + +\def\py@u{\py@@ u} +\def\py@U{\py@@ U} + +% the previous definitions are almost trivial. The only tricky macro is the +% following one. Above the u with umlaut dots we must place the four tone +% modifiers. To get a better appearance, we lower the umlaut dots as much +% as possible. The algorithm used here has been tested with the standard +% cm, ec, and PostScript fonts; it was taken from german.sty . + +\def\py@@v#1#2#3#4{ + \edef\py@temp{T1} + \ifx\f@encoding \py@temp + \chardef\py@umlaut 4\relax% T1 fonts + \chardef\py@ac \@ne + \chardef\py@gr \z@ + \else + \edef\py@temp{T5} + \ifx\f@encoding \py@temp + \chardef\py@umlaut 4\relax% T5 fonts + \chardef\py@ac \@ne + \chardef\py@gr \z@ + \else + \chardef\py@umlaut 127\relax% OT1 fonts + \chardef\py@ac 19\relax + \chardef\py@gr 18\relax + \fi + \fi + + {\leavevmode + \dimen@ii 1ex + \setbox\z@ \hbox{\char\py@umlaut} + \dimen@ -.4ex + \advance\dimen@ \ht\z@ + \ifdim 1ex < \dimen@ + \fontdimen5\font \dimen@ + \dimen@ .55ex + \else + \dimen@ .7ex + \fi + \py@kern{#2}#1 + \rlap{\accent\py@umlaut #1} + \fontdimen5\font \dimen@ + \ifcase#4 + \or\py@macron #1{1.1} + \or\accent\py@ac #1 + \or\py@hacek #1 + \or\accent\py@gr #1 + \or #1 + \fi + \py@kern #1{#3} + \fontdimen5\font \dimen@ii}} + +\def\py@v{\py@@v u} +\def\py@V{\py@@v U} + +% Here a replacement version for bookmarks in PDFs. + +\def\py@hr@@v#1#2#3#4{ + \ifcase #4 + \or\py@hr@dm #1\or\py@hr@da #1\or\py@hr@dh #1\or\py@hr@dg #1\or #1 + \fi +} + + +% Here our small macro to test whether we should insert a soft hyphen or +% not. Since it is the first macro in all syllable definitions, we +% also ensure horizontal mode. + +\def\py@hy{ + \leavevmode + \ifnum\lastkern = 4\relax% \py@sp + \- + \fi +} + + +% Bookmarks need Unicode characters and nothing else. + +\ifx\AtBeginDocument \undefined +\else + \AtBeginDocument{ + \ifx\pdfstringdefDisableCommands \undefined + \else + % We add some definitions to the PU encoding so that \MakeUppercase + % and \MakeLowercase work with the pinyin characters which have + % two diacritics. + \DeclareTextCommand{\py@hr@dm}{PU}[1]{ + \TextSymbolUnavailable{\py@hr@dm{#1}}#1} + \DeclareTextCommand{\py@hr@da}{PU}[1]{ + \TextSymbolUnavailable{\py@hr@da{#1}}#1} + \DeclareTextCommand{\py@hr@dh}{PU}[1]{ + \TextSymbolUnavailable{\py@hr@dh{#1}}#1} + \DeclareTextCommand{\py@hr@dg}{PU}[1]{ + \TextSymbolUnavailable{\py@hr@dg{#1}}#1} + + \DeclareTextCompositeCommand{\py@hr@dm}{PU}{U}{\81\325}% U umlaut macron + \DeclareTextCompositeCommand{\py@hr@dm}{PU}{u}{\81\326}% u umlaut macron + \DeclareTextCompositeCommand{\py@hr@da}{PU}{U}{\81\327}% U umlaut acute + \DeclareTextCompositeCommand{\py@hr@da}{PU}{u}{\81\330}% u umlaut acute + \DeclareTextCompositeCommand{\py@hr@dh}{PU}{U}{\81\331}% U umlaut hacek + \DeclareTextCompositeCommand{\py@hr@dh}{PU}{u}{\81\332}% u umlaut hacek + \DeclareTextCompositeCommand{\py@hr@dg}{PU}{U}{\81\333}% U umlaut grave + \DeclareTextCompositeCommand{\py@hr@dg}{PU}{u}{\81\334}% u umlaut grave + + \pdfstringdefDisableCommands{ + \let\py@hy \relax + \let\py@kern \@gobbletwo + \let\py@sp \relax + \let\py@macron \py@hr@macron + \let\py@@v \py@hr@@v + } + \fi + } +\fi + +% Finally the pinyin syllables itselves in lower- and uppercase forms. As +% mentioned above, the only exceptions are \Long and \LONG instead of the +% expected \long and \Long macros. + +\def\py@@a#1{\py@hy \py@ a{}{}#1\py@sp{}} +\def\ai#1{\py@hy \py@ a{}i#1i\py@sp{}} +\def\an#1{\py@hy \py@ a{}n#1n\py@sp{}} +\def\ang#1{\py@hy \py@ a{}n#1ng\py@sp{}} +\def\ao#1{\py@hy \py@ a{}o#1o\py@sp{}} + +\def\ba#1{\py@hy b\py@ ab{}#1\py@sp{}} +\def\bai#1{\py@hy b\py@ abi#1i\py@sp{}} +\def\ban#1{\py@hy b\py@ abn#1n\py@sp{}} +\def\bang#1{\py@hy b\py@ abn#1ng\py@sp{}} +\def\bao#1{\py@hy b\py@ abo#1o\py@sp{}} +\def\bei#1{\py@hy b\py@ ebi#1i\py@sp{}} +\def\ben#1{\py@hy b\py@ ebn#1n\py@sp{}} +\def\beng#1{\py@hy b\py@ ebn#1ng\py@sp{}} +\def\bi#1{\py@hy b\py@ ib{}#1\py@sp{}} +\def\bian#1{\py@hy bi\py@ ain#1n\py@sp{}} +\def\biao#1{\py@hy bi\py@ aio#1o\py@sp{}} +\def\bie#1{\py@hy bi\py@ ei{}#1\py@sp{}} +\def\bin#1{\py@hy b\py@ ibn#1n\py@sp{}} +\def\bing#1{\py@hy b\py@ ibn#1ng\py@sp{}} +\def\bo#1{\py@hy b\py@ ob{}#1\py@sp{}} +\def\bu#1{\py@hy b\py@ ub{}#1\py@sp{}} + +\def\ca#1{\py@hy c\py@ ac{}#1\py@sp{}} +\def\cai#1{\py@hy c\py@ aci#1i\py@sp{}} +\def\can#1{\py@hy c\py@ acn#1n\py@sp{}} +\def\cang#1{\py@hy c\py@ acn#1ng\py@sp{}} +\def\cao#1{\py@hy c\py@ aco#1o\py@sp{}} +\def\ce#1{\py@hy c\py@ ec{}#1\py@sp{}} +\def\cen#1{\py@hy c\py@ ecn#1n\py@sp{}} +\def\ceng#1{\py@hy c\py@ ecn#1ng\py@sp{}} +\def\cha#1{\py@hy ch\py@ ah{}#1\py@sp{}} +\def\chai#1{\py@hy ch\py@ ahi#1i\py@sp{}} +\def\chan#1{\py@hy ch\py@ ahn#1n\py@sp{}} +\def\chang#1{\py@hy ch\py@ ahn#1ng\py@sp{}} +\def\chao#1{\py@hy ch\py@ aho#1o\py@sp{}} +\def\che#1{\py@hy ch\py@ eh{}#1\py@sp{}} +\def\chen#1{\py@hy ch\py@ ehn#1n\py@sp{}} +\def\cheng#1{\py@hy ch\py@ ehn#1ng\py@sp{}} +\def\py@chi#1{\py@hy ch\py@ ih{}#1\py@sp{}} +\def\chong#1{\py@hy ch\py@ ohn#1ng\py@sp{}} +\def\chou#1{\py@hy ch\py@ ohu#1u\py@sp{}} +\def\chu#1{\py@hy ch\py@ uh{}#1\py@sp{}} +\def\chua#1{\py@hy chu\py@ au{}#1\py@sp{}} +\def\chuai#1{\py@hy chu\py@ aui#1i\py@sp{}} +\def\chuan#1{\py@hy chu\py@ aun#1n\py@sp{}} +\def\chuang#1{\py@hy chu\py@ aun#1ng\py@sp{}} +\def\chui#1{\py@hy chu\py@ iu{}#1\py@sp{}} +\def\chun#1{\py@hy ch\py@ uhn#1n\py@sp{}} +\def\chuo#1{\py@hy chu\py@ ou{}#1\py@sp{}} +\def\ci#1{\py@hy c\py@ ic{}#1\py@sp{}} +\def\py@cong#1{\py@hy c\py@ ocn#1ng\py@sp{}} +\def\cou#1{\py@hy c\py@ ocu#1u\py@sp{}} +\def\cu#1{\py@hy c\py@ uc{}#1\py@sp{}} +\def\cuan#1{\py@hy cu\py@ aun#1n\py@sp{}} +\def\cui#1{\py@hy cu\py@ iu{}#1\py@sp{}} +\def\cun#1{\py@hy c\py@ ucn#1n\py@sp{}} +\def\cuo#1{\py@hy cu\py@ ou{}#1\py@sp{}} + +\def\da#1{\py@hy d\py@ ad{}#1\py@sp{}} +\def\dai#1{\py@hy d\py@ adi#1i\py@sp{}} +\def\dan#1{\py@hy d\py@ adn#1n\py@sp{}} +\def\dang#1{\py@hy d\py@ adn#1ng\py@sp{}} +\def\dao#1{\py@hy d\py@ ado#1o\py@sp{}} +\def\de#1{\py@hy d\py@ ed{}#1\py@sp{}} +\def\dei#1{\py@hy d\py@ edi#1i\py@sp{}} +\def\den#1{\py@hy d\py@ edn#1n\py@sp{}} +\def\deng#1{\py@hy d\py@ edn#1ng\py@sp{}} +\def\di#1{\py@hy d\py@ id{}#1\py@sp{}} +\def\dian#1{\py@hy di\py@ ain#1n\py@sp{}} +\def\diao#1{\py@hy di\py@ aio#1o\py@sp{}} +\def\die#1{\py@hy di\py@ ei{}#1\py@sp{}} +\def\py@ding#1{\py@hy d\py@ idn#1ng\py@sp{}} +\def\diu#1{\py@hy di\py@ ui{}#1\py@sp{}} +\def\dong#1{\py@hy d\py@ odn#1ng\py@sp{}} +\def\dou#1{\py@hy d\py@ odu#1u\py@sp{}} +\def\du#1{\py@hy d\py@ ud{}#1\py@sp{}} +\def\duan#1{\py@hy du\py@ aun#1n\py@sp{}} +\def\dui#1{\py@hy du\py@ iu{}#1\py@sp{}} +\def\dun#1{\py@hy d\py@ udn#1n\py@sp{}} +\def\duo#1{\py@hy du\py@ ou{}#1\py@sp{}} + +\def\e#1{\py@hy \py@ e{}{}#1\py@sp{}} +\def\ei#1{\py@hy \py@ e{}i#1i\py@sp{}} +\def\en#1{\py@hy \py@ e{}n#1n\py@sp{}} +\def\eng#1{\py@hy \py@ e{}n#1ng\py@sp{}} +\def\er#1{\py@hy \py@ e{}r#1r\py@sp{}} + +\def\fa#1{\py@hy f\py@ af{}#1\py@sp{}} +\def\fan#1{\py@hy f\py@ afn#1n\py@sp{}} +\def\fang#1{\py@hy f\py@ afn#1ng\py@sp{}} +\def\fei#1{\py@hy f\py@ efi#1i\py@sp{}} +\def\fen#1{\py@hy f\py@ efn#1n\py@sp{}} +\def\feng#1{\py@hy f\py@ efn#1ng\py@sp{}} +\def\fiao#1{\py@hy fi\py@ aio#1o\py@sp{}} +\def\fo#1{\py@hy f\py@ of{}#1\py@sp{}} +\def\fou#1{\py@hy f\py@ ofu#1u\py@sp{}} +\def\fu#1{\py@hy f\py@ uf{}#1\py@sp{}} + +\def\ga#1{\py@hy g\py@ ag{}#1\py@sp{}} +\def\gai#1{\py@hy g\py@ agi#1i\py@sp{}} +\def\gan#1{\py@hy g\py@ agn#1n\py@sp{}} +\def\gang#1{\py@hy g\py@ agn#1ng\py@sp{}} +\def\gao#1{\py@hy g\py@ ago#1o\py@sp{}} +\def\py@ge#1{\py@hy g\py@ eg{}#1\py@sp{}} +\def\gei#1{\py@hy g\py@ egi#1i\py@sp{}} +\def\gen#1{\py@hy g\py@ egn#1n\py@sp{}} +\def\geng#1{\py@hy g\py@ egn#1ng\py@sp{}} +\def\gong#1{\py@hy g\py@ ogn#1ng\py@sp{}} +\def\gou#1{\py@hy g\py@ ogu#1u\py@sp{}} +\def\gu#1{\py@hy g\py@ ug{}#1\py@sp{}} +\def\gua#1{\py@hy gu\py@ au{}#1\py@sp{}} +\def\guai#1{\py@hy gu\py@ aui#1i\py@sp{}} +\def\guan#1{\py@hy gu\py@ aun#1n\py@sp{}} +\def\guang#1{\py@hy gu\py@ aun#1ng\py@sp{}} +\def\gui#1{\py@hy gu\py@ iu{}#1\py@sp{}} +\def\gun#1{\py@hy g\py@ ugn#1n\py@sp{}} +\def\guo#1{\py@hy gu\py@ ou{}#1\py@sp{}} + +\def\ha#1{\py@hy h\py@ ah{}#1\py@sp{}} +\def\hai#1{\py@hy h\py@ ahi#1i\py@sp{}} +\def\han#1{\py@hy h\py@ ahn#1n\py@sp{}} +\def\py@hang#1{\py@hy h\py@ ahn#1ng\py@sp{}} +\def\hao#1{\py@hy h\py@ aho#1o\py@sp{}} +\def\he#1{\py@hy h\py@ eh{}#1\py@sp{}} +\def\hei#1{\py@hy h\py@ ehi#1i\py@sp{}} +\def\hen#1{\py@hy h\py@ ehn#1n\py@sp{}} +\def\heng#1{\py@hy h\py@ ehn#1ng\py@sp{}} +\def\hong#1{\py@hy h\py@ ohn#1ng\py@sp{}} +\def\hou#1{\py@hy h\py@ ohu#1u\py@sp{}} +\def\hu#1{\py@hy h\py@ uh{}#1\py@sp{}} +\def\hua#1{\py@hy hu\py@ au{}#1\py@sp{}} +\def\huai#1{\py@hy hu\py@ aui#1i\py@sp{}} +\def\huan#1{\py@hy hu\py@ aun#1n\py@sp{}} +\def\huang#1{\py@hy hu\py@ aun#1ng\py@sp{}} +\def\hui#1{\py@hy hu\py@ iu{}#1\py@sp{}} +\def\hun#1{\py@hy h\py@ uhn#1n\py@sp{}} +\def\huo#1{\py@hy hu\py@ ou{}#1\py@sp{}} + +\def\ji#1{\py@hy j\py@ ij{}#1\py@sp{}} +\def\jia#1{\py@hy ji\py@ ai{}#1\py@sp{}} +\def\jian#1{\py@hy ji\py@ ain#1n\py@sp{}} +\def\jiang#1{\py@hy ji\py@ ain#1ng\py@sp{}} +\def\jiao#1{\py@hy ji\py@ aio#1o\py@sp{}} +\def\jie#1{\py@hy ji\py@ ei{}#1\py@sp{}} +\def\jin#1{\py@hy j\py@ ijn#1n\py@sp{}} +\def\jing#1{\py@hy j\py@ ijn#1ng\py@sp{}} +\def\jiong#1{\py@hy ji\py@ oin#1ng\py@sp{}} +\def\jiu#1{\py@hy ji\py@ ui{}#1\py@sp{}} +\def\ju#1{\py@hy j\py@ uj{}#1\py@sp{}} +\def\juan#1{\py@hy ju\py@ aun#1n\py@sp{}} +\def\jue#1{\py@hy ju\py@ eu{}#1\py@sp{}} +\def\jun#1{\py@hy j\py@ ujn#1n\py@sp{}} + +\def\ka#1{\py@hy k\py@ ak{}#1\py@sp{}} +\def\kai#1{\py@hy k\py@ aki#1i\py@sp{}} +\def\kan#1{\py@hy k\py@ akn#1n\py@sp{}} +\def\kang#1{\py@hy k\py@ akn#1ng\py@sp{}} +\def\kao#1{\py@hy k\py@ ako#1o\py@sp{}} +\def\ke#1{\py@hy k\py@ ek{}#1\py@sp{}} +\def\kei#1{\py@hy k\py@ eki#1i\py@sp{}} +\def\ken#1{\py@hy k\py@ ekn#1n\py@sp{}} +\def\keng#1{\py@hy k\py@ ekn#1ng\py@sp{}} +\def\kong#1{\py@hy k\py@ okn#1ng\py@sp{}} +\def\kou#1{\py@hy k\py@ oku#1u\py@sp{}} +\def\ku#1{\py@hy k\py@ uk{}#1\py@sp{}} +\def\kua#1{\py@hy ku\py@ au{}#1\py@sp{}} +\def\kuai#1{\py@hy ku\py@ aui#1i\py@sp{}} +\def\kuan#1{\py@hy ku\py@ aun#1n\py@sp{}} +\def\kuang#1{\py@hy ku\py@ aun#1ng\py@sp{}} +\def\kui#1{\py@hy ku\py@ iu{}#1\py@sp{}} +\def\kun#1{\py@hy k\py@ ukn#1n\py@sp{}} +\def\kuo#1{\py@hy ku\py@ ou{}#1\py@sp{}} + +\def\la#1{\py@hy l\py@ al{}#1\py@sp{}} +\def\lai#1{\py@hy l\py@ ali#1i\py@sp{}} +\def\lan#1{\py@hy l\py@ aln#1n\py@sp{}} +\def\lang#1{\py@hy l\py@ aln#1ng\py@sp{}} +\def\lao#1{\py@hy l\py@ alo#1o\py@sp{}} +\def\py@le#1{\py@hy l\py@ el{}#1\py@sp{}} +\def\lei#1{\py@hy l\py@ eli#1i\py@sp{}} +\def\leng#1{\py@hy l\py@ eln#1ng\py@sp{}} +\def\li#1{\py@hy l\py@ il{}#1\py@sp{}} +\def\lia#1{\py@hy li\py@ ai{}#1\py@sp{}} +\def\lian#1{\py@hy li\py@ ain#1n\py@sp{}} +\def\liang#1{\py@hy li\py@ ain#1ng\py@sp{}} +\def\liao#1{\py@hy li\py@ aio#1o\py@sp{}} +\def\lie#1{\py@hy li\py@ ei{}#1\py@sp{}} +\def\lin#1{\py@hy l\py@ iln#1n\py@sp{}} +\def\ling#1{\py@hy l\py@ iln#1ng\py@sp{}} +\def\liu#1{\py@hy li\py@ ui{}#1\py@sp{}} +\def\Long#1{\py@hy l\py@ oln#1ng\py@sp{}} +\def\lou#1{\py@hy l\py@ olu#1u\py@sp{}} +\def\lu#1{\py@hy l\py@ ul{}#1\py@sp{}} +\def\luan#1{\py@hy lu\py@ aun#1n\py@sp{}} +\def\lun#1{\py@hy l\py@ uln#1n\py@sp{}} +\def\luo#1{\py@hy lu\py@ ou{}#1\py@sp{}} +\def\lv#1{\py@hy l\py@ vl{}#1\py@sp{}} +\def\lve#1{\py@hy l\"{u}\py@ ele#1\py@sp{}} + +\def\ma#1{\py@hy m\py@ am{}#1\py@sp{}} +\def\mai#1{\py@hy m\py@ ami#1i\py@sp{}} +\def\man#1{\py@hy m\py@ amn#1n\py@sp{}} +\def\mang#1{\py@hy m\py@ amn#1ng\py@sp{}} +\def\mao#1{\py@hy m\py@ amo#1o\py@sp{}} +\def\me#1{\py@hy m\py@ em{}#1\py@sp{}} +\def\mei#1{\py@hy m\py@ emi#1i\py@sp{}} +\def\men#1{\py@hy m\py@ emn#1n\py@sp{}} +\def\meng#1{\py@hy m\py@ emn#1ng\py@sp{}} +\def\mi#1{\py@hy m\py@ im{}#1\py@sp{}} +\def\mian#1{\py@hy mi\py@ ain#1n\py@sp{}} +\def\miao#1{\py@hy mi\py@ aio#1o\py@sp{}} +\def\mie#1{\py@hy mi\py@ ei{}#1\py@sp{}} +\def\py@min#1{\py@hy m\py@ imn#1n\py@sp{}} +\def\ming#1{\py@hy m\py@ imn#1ng\py@sp{}} +\def\miu#1{\py@hy mi\py@ ui{}#1\py@sp{}} +\def\mo#1{\py@hy m\py@ om{}#1\py@sp{}} +\def\mou#1{\py@hy m\py@ omu#1u\py@sp{}} +\def\py@mu#1{\py@hy m\py@ um{}#1\py@sp{}} + +\def\na#1{\py@hy n\py@ an{}#1\py@sp{}} +\def\nai#1{\py@hy n\py@ ani#1i\py@sp{}} +\def\nan#1{\py@hy n\py@ ann#1n\py@sp{}} +\def\nang#1{\py@hy n\py@ ann#1ng\py@sp{}} +\def\nao#1{\py@hy n\py@ ano#1o\py@sp{}} +\def\py@ne#1{\py@hy n\py@ en{}#1\py@sp{}} +\def\nei#1{\py@hy n\py@ eni#1i\py@sp{}} +\def\nen#1{\py@hy n\py@ enn#1n\py@sp{}} +\def\neng#1{\py@hy n\py@ enn#1ng\py@sp{}} +\def\py@ni#1{\py@hy n\py@ in{}#1\py@sp{}} +\def\nian#1{\py@hy ni\py@ ain#1n\py@sp{}} +\def\niang#1{\py@hy ni\py@ ain#1ng\py@sp{}} +\def\niao#1{\py@hy ni\py@ aio#1o\py@sp{}} +\def\nie#1{\py@hy ni\py@ ei{}#1\py@sp{}} +\def\nin#1{\py@hy n\py@ inn#1n\py@sp{}} +\def\ning#1{\py@hy n\py@ inn#1ng\py@sp{}} +\def\niu#1{\py@hy ni\py@ ui{}#1\py@sp{}} +\def\nong#1{\py@hy n\py@ onn#1ng\py@sp{}} +\def\nou#1{\py@hy n\py@ onu#1u\py@sp{}} +\def\py@nu#1{\py@hy n\py@ un{}#1\py@sp{}} +\def\nuan#1{\py@hy nu\py@ aun#1n\py@sp{}} +\def\nuo#1{\py@hy nu\py@ ou{}#1\py@sp{}} +\def\nv#1{\py@hy n\py@ vn{}#1\py@sp{}} +\def\nve#1{\py@hy n\"{u}\py@ ene#1\py@sp{}} + +\def\py@@o#1{\py@hy \py@ o{}{}#1\py@sp{}} +\def\ou#1{\py@hy \py@ o{}u#1u\py@sp{}} + +\def\pa#1{\py@hy p\py@ ap{}#1\py@sp{}} +\def\pai#1{\py@hy p\py@ api#1i\py@sp{}} +\def\pan#1{\py@hy p\py@ apn#1n\py@sp{}} +\def\pang#1{\py@hy p\py@ apn#1ng\py@sp{}} +\def\pao#1{\py@hy p\py@ apo#1o\py@sp{}} +\def\pei#1{\py@hy p\py@ epi#1i\py@sp{}} +\def\pen#1{\py@hy p\py@ epn#1n\py@sp{}} +\def\peng#1{\py@hy p\py@ epn#1ng\py@sp{}} +\def\py@pi#1{\py@hy p\py@ ip{}#1\py@sp{}} +\def\pian#1{\py@hy pi\py@ ain#1n\py@sp{}} +\def\piao#1{\py@hy pi\py@ aio#1o\py@sp{}} +\def\pie#1{\py@hy pi\py@ ei{}#1\py@sp{}} +\def\pin#1{\py@hy p\py@ ipn#1n\py@sp{}} +\def\ping#1{\py@hy p\py@ ipn#1ng\py@sp{}} +\def\po#1{\py@hy p\py@ op{}#1\py@sp{}} +\def\pou#1{\py@hy p\py@ opu#1u\py@sp{}} +\def\pu#1{\py@hy p\py@ up{}#1\py@sp{}} + +\def\qi#1{\py@hy q\py@ iq{}#1\py@sp{}} +\def\qia#1{\py@hy qi\py@ ai{}#1\py@sp{}} +\def\qian#1{\py@hy qi\py@ ain#1n\py@sp{}} +\def\qiang#1{\py@hy qi\py@ ain#1ng\py@sp{}} +\def\qiao#1{\py@hy qi\py@ aio#1o\py@sp{}} +\def\qie#1{\py@hy qi\py@ ei{}#1\py@sp{}} +\def\qin#1{\py@hy q\py@ iqn#1n\py@sp{}} +\def\qing#1{\py@hy q\py@ iqn#1ng\py@sp{}} +\def\qiong#1{\py@hy qi\py@ oin#1ng\py@sp{}} +\def\qiu#1{\py@hy qi\py@ ui{}#1\py@sp{}} +\def\qu#1{\py@hy q\py@ uq{}#1\py@sp{}} +\def\quan#1{\py@hy qu\py@ aun#1n\py@sp{}} +\def\que#1{\py@hy qu\py@ eu{}#1\py@sp{}} +\def\qun#1{\py@hy q\py@ uqn#1n\py@sp{}} + +\def\ran#1{\py@hy r\py@ arn#1n\py@sp{}} +\def\rang#1{\py@hy r\py@ arn#1ng\py@sp{}} +\def\rao#1{\py@hy r\py@ aro#1o\py@sp{}} +\def\re#1{\py@hy r\py@ er{}#1\py@sp{}} +\def\ren#1{\py@hy r\py@ ern#1n\py@sp{}} +\def\reng#1{\py@hy r\py@ ern#1ng\py@sp{}} +\def\ri#1{\py@hy r\py@ ir{}#1\py@sp{}} +\def\rong#1{\py@hy r\py@ orn#1ng\py@sp{}} +\def\rou#1{\py@hy r\py@ oru#1u\py@sp{}} +\def\ru#1{\py@hy r\py@ ur{}#1\py@sp{}} +\def\rua#1{\py@hy ru\py@ au{}#1\py@sp{}} +\def\ruan#1{\py@hy ru\py@ aun#1n\py@sp{}} +\def\rui#1{\py@hy ru\py@ iu{}#1\py@sp{}} +\def\run#1{\py@hy r\py@ urn#1n\py@sp{}} +\def\ruo#1{\py@hy ru\py@ ou{}#1\py@sp{}} + +\def\sa#1{\py@hy s\py@ as{}#1\py@sp{}} +\def\sai#1{\py@hy s\py@ asi#1i\py@sp{}} +\def\san#1{\py@hy s\py@ asn#1n\py@sp{}} +\def\sang#1{\py@hy s\py@ asn#1ng\py@sp{}} +\def\sao#1{\py@hy s\py@ aso#1o\py@sp{}} +\def\se#1{\py@hy s\py@ es{}#1\py@sp{}} +\def\sen#1{\py@hy s\py@ esn#1n\py@sp{}} +\def\seng#1{\py@hy s\py@ esn#1ng\py@sp{}} +\def\sha#1{\py@hy sh\py@ ah{}#1\py@sp{}} +\def\shai#1{\py@hy sh\py@ ahi#1i\py@sp{}} +\def\shan#1{\py@hy sh\py@ ahn#1n\py@sp{}} +\def\shang#1{\py@hy sh\py@ ahn#1ng\py@sp{}} +\def\shao#1{\py@hy sh\py@ aho#1o\py@sp{}} +\def\she#1{\py@hy sh\py@ eh{}#1\py@sp{}} +\def\shei#1{\py@hy sh\py@ ehi#1i\py@sp{}} +\def\shen#1{\py@hy sh\py@ ehn#1n\py@sp{}} +\def\sheng#1{\py@hy sh\py@ ehn#1ng\py@sp{}} +\def\shi#1{\py@hy sh\py@ ih{}#1\py@sp{}} +\def\shou#1{\py@hy sh\py@ ohu#1u\py@sp{}} +\def\shu#1{\py@hy sh\py@ uh{}#1\py@sp{}} +\def\shua#1{\py@hy shu\py@ au{}#1\py@sp{}} +\def\shuai#1{\py@hy shu\py@ aui#1i\py@sp{}} +\def\shuan#1{\py@hy shu\py@ aun#1n\py@sp{}} +\def\shuang#1{\py@hy shu\py@ aun#1ng\py@sp{}} +\def\shui#1{\py@hy shu\py@ iu{}#1\py@sp{}} +\def\shun#1{\py@hy sh\py@ uhn#1n\py@sp{}} +\def\shuo#1{\py@hy shu\py@ ou{}#1\py@sp{}} +\def\si#1{\py@hy s\py@ is{}#1\py@sp{}} +\def\song#1{\py@hy s\py@ osn#1ng\py@sp{}} +\def\sou#1{\py@hy s\py@ osu#1u\py@sp{}} +\def\su#1{\py@hy s\py@ us{}#1\py@sp{}} +\def\suan#1{\py@hy su\py@ aun#1n\py@sp{}} +\def\sui#1{\py@hy su\py@ iu{}#1\py@sp{}} +\def\sun#1{\py@hy s\py@ usn#1n\py@sp{}} +\def\suo#1{\py@hy su\py@ ou{}#1\py@sp{}} + +\def\ta#1{\py@hy t\py@ at{}#1\py@sp{}} +\def\tai#1{\py@hy t\py@ ati#1i\py@sp{}} +\def\py@tan#1{\py@hy t\py@ atn#1n\py@sp{}} +\def\tang#1{\py@hy t\py@ atn#1ng\py@sp{}} +\def\tao#1{\py@hy t\py@ ato#1o\py@sp{}} +\def\te#1{\py@hy t\py@ et{}#1\py@sp{}} +\def\tei#1{\py@hy t\py@ eti#1i\py@sp{}} +\def\teng#1{\py@hy t\py@ etn#1ng\py@sp{}} +\def\ti#1{\py@hy t\py@ it{}#1\py@sp{}} +\def\tian#1{\py@hy ti\py@ ain#1n\py@sp{}} +\def\tiao#1{\py@hy ti\py@ aio#1o\py@sp{}} +\def\tie#1{\py@hy ti\py@ ei{}#1\py@sp{}} +\def\ting#1{\py@hy t\py@ itn#1ng\py@sp{}} +\def\tong#1{\py@hy t\py@ otn#1ng\py@sp{}} +\def\tou#1{\py@hy t\py@ otu#1u\py@sp{}} +\def\tu#1{\py@hy t\py@ ut{}#1\py@sp{}} +\def\tuan#1{\py@hy tu\py@ aun#1n\py@sp{}} +\def\tui#1{\py@hy tu\py@ iu{}#1\py@sp{}} +\def\tun#1{\py@hy t\py@ utn#1n\py@sp{}} +\def\tuo#1{\py@hy tu\py@ ou{}#1\py@sp{}} + +\def\wa#1{\py@hy w\py@ aw{}#1\py@sp{}} +\def\wai#1{\py@hy w\py@ awi#1i\py@sp{}} +\def\wan#1{\py@hy w\py@ awn#1n\py@sp{}} +\def\wang#1{\py@hy w\py@ awn#1ng\py@sp{}} +\def\wei#1{\py@hy w\py@ ewi#1i\py@sp{}} +\def\wen#1{\py@hy w\py@ ewn#1n\py@sp{}} +\def\weng#1{\py@hy w\py@ ewn#1ng\py@sp{}} +\def\wo#1{\py@hy w\py@ ow{}#1\py@sp{}} +\def\wu#1{\py@hy w\py@ uw{}#1\py@sp{}} + +\def\py@xi#1{\py@hy x\py@ ix{}#1\py@sp{}} +\def\xia#1{\py@hy xi\py@ ai{}#1\py@sp{}} +\def\xian#1{\py@hy xi\py@ ain#1n\py@sp{}} +\def\xiang#1{\py@hy xi\py@ ain#1ng\py@sp{}} +\def\xiao#1{\py@hy xi\py@ aio#1o\py@sp{}} +\def\xie#1{\py@hy xi\py@ ei{}#1\py@sp{}} +\def\xin#1{\py@hy x\py@ ixn#1n\py@sp{}} +\def\xing#1{\py@hy x\py@ ixn#1ng\py@sp{}} +\def\xiong#1{\py@hy xi\py@ oin#1ng\py@sp{}} +\def\xiu#1{\py@hy xi\py@ ui{}#1\py@sp{}} +\def\xu#1{\py@hy x\py@ ux{}#1\py@sp{}} +\def\xuan#1{\py@hy xu\py@ aun#1n\py@sp{}} +\def\xue#1{\py@hy xu\py@ eu{}#1\py@sp{}} +\def\xun#1{\py@hy x\py@ uxn#1n\py@sp{}} + +\def\ya#1{\py@hy y\py@ ay{}#1\py@sp{}} +\def\yan#1{\py@hy y\py@ ayn#1n\py@sp{}} +\def\yang#1{\py@hy y\py@ ayn#1ng\py@sp{}} +\def\yao#1{\py@hy y\py@ ayo#1o\py@sp{}} +\def\ye#1{\py@hy y\py@ ey{}#1\py@sp{}} +\def\yi#1{\py@hy y\py@ iy{}#1\py@sp{}} +\def\yin#1{\py@hy y\py@ iyn#1n\py@sp{}} +\def\ying#1{\py@hy y\py@ iyn#1ng\py@sp{}} +\def\yo#1{\py@hy y\py@ oy{}#1\py@sp{}} +\def\yong#1{\py@hy y\py@ oyn#1ng\py@sp{}} +\def\you#1{\py@hy y\py@ oyu#1u\py@sp{}} +\def\yu#1{\py@hy y\py@ uy{}#1\py@sp{}} +\def\yuan#1{\py@hy yu\py@ aun#1n\py@sp{}} +\def\yue#1{\py@hy yu\py@ eu{}#1\py@sp{}} +\def\yun#1{\py@hy y\py@ uyn#1n\py@sp{}} + +\def\za#1{\py@hy z\py@ az{}#1\py@sp{}} +\def\zai#1{\py@hy z\py@ azi#1i\py@sp{}} +\def\zan#1{\py@hy z\py@ azn#1n\py@sp{}} +\def\zang#1{\py@hy z\py@ azn#1ng\py@sp{}} +\def\zao#1{\py@hy z\py@ azo#1o\py@sp{}} +\def\ze#1{\py@hy z\py@ ez{}#1\py@sp{}} +\def\zei#1{\py@hy z\py@ ezi#1i\py@sp{}} +\def\zen#1{\py@hy z\py@ ezn#1n\py@sp{}} +\def\zeng#1{\py@hy z\py@ ezn#1ng\py@sp{}} +\def\zha#1{\py@hy zh\py@ ah{}#1\py@sp{}} +\def\zhai#1{\py@hy zh\py@ ahi#1i\py@sp{}} +\def\zhan#1{\py@hy zh\py@ ahn#1n\py@sp{}} +\def\zhang#1{\py@hy zh\py@ ahn#1ng\py@sp{}} +\def\zhao#1{\py@hy zh\py@ aho#1o\py@sp{}} +\def\zhe#1{\py@hy zh\py@ eh{}#1\py@sp{}} +\def\zhei#1{\py@hy zh\py@ ehi#1i\py@sp{}} +\def\zhen#1{\py@hy zh\py@ ehn#1n\py@sp{}} +\def\zheng#1{\py@hy zh\py@ ehn#1ng\py@sp{}} +\def\zhi#1{\py@hy zh\py@ ih{}#1\py@sp{}} +\def\zhong#1{\py@hy zh\py@ ohn#1ng\py@sp{}} +\def\zhou#1{\py@hy zh\py@ ohu#1u\py@sp{}} +\def\zhu#1{\py@hy zh\py@ uh{}#1\py@sp{}} +\def\zhua#1{\py@hy zhu\py@ au{}#1\py@sp{}} +\def\zhuai#1{\py@hy zhu\py@ aui#1i\py@sp{}} +\def\zhuan#1{\py@hy zhu\py@ aun#1n\py@sp{}} +\def\zhuang#1{\py@hy zhu\py@ aun#1ng\py@sp{}} +\def\zhui#1{\py@hy zhu\py@ iu{}#1\py@sp{}} +\def\zhun#1{\py@hy zh\py@ uhn#1n\py@sp{}} +\def\zhuo#1{\py@hy zhu\py@ ou{}#1\py@sp{}} +\def\zi#1{\py@hy z\py@ iz{}#1\py@sp{}} +\def\zong#1{\py@hy z\py@ ozn#1ng\py@sp{}} +\def\zou#1{\py@hy z\py@ ozu#1u\py@sp{}} +\def\zu#1{\py@hy z\py@ uz{}#1\py@sp{}} +\def\zuan#1{\py@hy zu\py@ aun#1n\py@sp{}} +\def\zui#1{\py@hy zu\py@ iu{}#1\py@sp{}} +\def\zun#1{\py@hy z\py@ uzn#1n\py@sp{}} +\def\zuo#1{\py@hy zu\py@ ou{}#1\py@sp{}} + + +\def\A#1{\py@hy \py@ A{}{}#1\py@sp{}} +\def\Ai#1{\py@hy \py@ A{}i#1i\py@sp{}} +\def\An#1{\py@hy \py@ A{}n#1n\py@sp{}} +\def\Ang#1{\py@hy \py@ A{}n#1ng\py@sp{}} +\def\Ao#1{\py@hy \py@ A{}o#1o\py@sp{}} + +\def\Ba#1{\py@hy B\py@ aB{}#1\py@sp{}} +\def\Bai#1{\py@hy B\py@ aBi#1i\py@sp{}} +\def\Ban#1{\py@hy B\py@ aBn#1n\py@sp{}} +\def\Bang#1{\py@hy B\py@ aBn#1ng\py@sp{}} +\def\Bao#1{\py@hy B\py@ aBo#1o\py@sp{}} +\def\Bei#1{\py@hy B\py@ eBi#1i\py@sp{}} +\def\Ben#1{\py@hy B\py@ eBn#1n\py@sp{}} +\def\Beng#1{\py@hy B\py@ eBn#1ng\py@sp{}} +\def\Bi#1{\py@hy B\py@ iB{}#1\py@sp{}} +\def\Bian#1{\py@hy Bi\py@ ain#1n\py@sp{}} +\def\Biao#1{\py@hy Bi\py@ aio#1o\py@sp{}} +\def\Bie#1{\py@hy Bi\py@ ei{}#1\py@sp{}} +\def\Bin#1{\py@hy B\py@ iBn#1n\py@sp{}} +\def\Bing#1{\py@hy B\py@ iBn#1ng\py@sp{}} +\def\Bo#1{\py@hy B\py@ oB{}#1\py@sp{}} +\def\Bu#1{\py@hy B\py@ uB{}#1\py@sp{}} + +\def\Ca#1{\py@hy C\py@ aC{}#1\py@sp{}} +\def\Cai#1{\py@hy C\py@ aCi#1i\py@sp{}} +\def\Can#1{\py@hy C\py@ aCn#1n\py@sp{}} +\def\Cang#1{\py@hy C\py@ aCn#1ng\py@sp{}} +\def\Cao#1{\py@hy C\py@ aCo#1o\py@sp{}} +\def\Ce#1{\py@hy C\py@ eC{}#1\py@sp{}} +\def\Cen#1{\py@hy C\py@ eCn#1n\py@sp{}} +\def\Ceng#1{\py@hy C\py@ eCn#1ng\py@sp{}} +\def\Cha#1{\py@hy Ch\py@ ah{}#1\py@sp{}} +\def\Chai#1{\py@hy Ch\py@ ahi#1i\py@sp{}} +\def\Chan#1{\py@hy Ch\py@ ahn#1n\py@sp{}} +\def\Chang#1{\py@hy Ch\py@ ahn#1ng\py@sp{}} +\def\Chao#1{\py@hy Ch\py@ aho#1o\py@sp{}} +\def\Che#1{\py@hy Ch\py@ eh{}#1\py@sp{}} +\def\Chen#1{\py@hy Ch\py@ ehn#1n\py@sp{}} +\def\Cheng#1{\py@hy Ch\py@ ehn#1ng\py@sp{}} +\def\Chi#1{\py@hy Ch\py@ ih{}#1\py@sp{}} +\def\Chong#1{\py@hy Ch\py@ ohn#1ng\py@sp{}} +\def\Chou#1{\py@hy Ch\py@ ohu#1u\py@sp{}} +\def\Chu#1{\py@hy Ch\py@ uh{}#1\py@sp{}} +\def\Chuai#1{\py@hy Chu\py@ aui#1i\py@sp{}} +\def\Chuan#1{\py@hy Chu\py@ aun#1n\py@sp{}} +\def\Chuang#1{\py@hy Chu\py@ aun#1ng\py@sp{}} +\def\Chui#1{\py@hy Chu\py@ iu{}#1\py@sp{}} +\def\Chun#1{\py@hy Ch\py@ uhn#1n\py@sp{}} +\def\Chuo#1{\py@hy Chu\py@ ou{}#1\py@sp{}} +\def\Ci#1{\py@hy C\py@ iC{}#1\py@sp{}} +\def\Cong#1{\py@hy C\py@ oCn#1ng\py@sp{}} +\def\Cou#1{\py@hy C\py@ oCu#1u\py@sp{}} +\def\Cu#1{\py@hy C\py@ uC{}#1\py@sp{}} +\def\Cuan#1{\py@hy Cu\py@ aun#1n\py@sp{}} +\def\Cui#1{\py@hy Cu\py@ iu{}#1\py@sp{}} +\def\Cun#1{\py@hy C\py@ uCn#1n\py@sp{}} +\def\Cuo#1{\py@hy Cu\py@ ou{}#1\py@sp{}} + +\def\Da#1{\py@hy D\py@ aD{}#1\py@sp{}} +\def\Dai#1{\py@hy D\py@ aDi#1i\py@sp{}} +\def\Dan#1{\py@hy D\py@ aDn#1n\py@sp{}} +\def\Dang#1{\py@hy D\py@ aDn#1ng\py@sp{}} +\def\Dao#1{\py@hy D\py@ aDo#1o\py@sp{}} +\def\De#1{\py@hy D\py@ eD{}#1\py@sp{}} +\def\Dei#1{\py@hy D\py@ eDi#1i\py@sp{}} +\def\Deng#1{\py@hy D\py@ eDn#1ng\py@sp{}} +\def\Di#1{\py@hy D\py@ iD{}#1\py@sp{}} +\def\Dian#1{\py@hy Di\py@ ain#1n\py@sp{}} +\def\Diao#1{\py@hy Di\py@ aio#1o\py@sp{}} +\def\Die#1{\py@hy Di\py@ ei{}#1\py@sp{}} +\def\Ding#1{\py@hy D\py@ iDn#1ng\py@sp{}} +\def\Diu#1{\py@hy Di\py@ ui{}#1\py@sp{}} +\def\Dong#1{\py@hy D\py@ oDn#1ng\py@sp{}} +\def\Dou#1{\py@hy D\py@ oDu#1u\py@sp{}} +\def\Du#1{\py@hy D\py@ uD{}#1\py@sp{}} +\def\Duan#1{\py@hy Du\py@ aun#1n\py@sp{}} +\def\Dui#1{\py@hy Du\py@ iu{}#1\py@sp{}} +\def\Dun#1{\py@hy D\py@ uDn#1n\py@sp{}} +\def\Duo#1{\py@hy Du\py@ ou{}#1\py@sp{}} + +\def\E#1{\py@hy \py@ E{}{}#1\py@sp{}} +\def\Ei#1{\py@hy \py@ E{}i#1i\py@sp{}} +\def\En#1{\py@hy \py@ E{}n#1n\py@sp{}} +\def\Eng#1{\py@hy \py@ E{}n#1ng\py@sp{}} +\def\Er#1{\py@hy \py@ E{}r#1r\py@sp{}} + +\def\Fa#1{\py@hy F\py@ aF{}#1\py@sp{}} +\def\Fan#1{\py@hy F\py@ aFn#1n\py@sp{}} +\def\Fang#1{\py@hy F\py@ aFn#1ng\py@sp{}} +\def\Fei#1{\py@hy F\py@ eFi#1i\py@sp{}} +\def\Fen#1{\py@hy F\py@ eFn#1n\py@sp{}} +\def\Feng#1{\py@hy F\py@ eFn#1ng\py@sp{}} +\def\Fiao#1{\py@hy Fi\py@ aio#1o\py@sp{}} +\def\Fo#1{\py@hy F\py@ oF{}#1\py@sp{}} +\def\Fou#1{\py@hy F\py@ oFu#1u\py@sp{}} +\def\Fu#1{\py@hy F\py@ uF{}#1\py@sp{}} + +\def\Ga#1{\py@hy G\py@ aG{}#1\py@sp{}} +\def\Gai#1{\py@hy G\py@ aGi#1i\py@sp{}} +\def\Gan#1{\py@hy G\py@ aGn#1n\py@sp{}} +\def\Gang#1{\py@hy G\py@ aGn#1ng\py@sp{}} +\def\Gao#1{\py@hy G\py@ aGo#1o\py@sp{}} +\def\Ge#1{\py@hy G\py@ eG{}#1\py@sp{}} +\def\Gei#1{\py@hy G\py@ eGi#1i\py@sp{}} +\def\Gen#1{\py@hy G\py@ eGn#1n\py@sp{}} +\def\Geng#1{\py@hy G\py@ eGn#1ng\py@sp{}} +\def\Gong#1{\py@hy G\py@ oGn#1ng\py@sp{}} +\def\Gou#1{\py@hy G\py@ oGu#1u\py@sp{}} +\def\Gu#1{\py@hy G\py@ uG{}#1\py@sp{}} +\def\Gua#1{\py@hy Gu\py@ au{}#1\py@sp{}} +\def\Guai#1{\py@hy Gu\py@ aui#1i\py@sp{}} +\def\Guan#1{\py@hy Gu\py@ aun#1n\py@sp{}} +\def\Guang#1{\py@hy Gu\py@ aun#1ng\py@sp{}} +\def\Gui#1{\py@hy Gu\py@ iu{}#1\py@sp{}} +\def\Gun#1{\py@hy G\py@ uGn#1n\py@sp{}} +\def\Guo#1{\py@hy Gu\py@ ou{}#1\py@sp{}} + +\def\Ha#1{\py@hy H\py@ aH{}#1\py@sp{}} +\def\Hai#1{\py@hy H\py@ aHi#1i\py@sp{}} +\def\Han#1{\py@hy H\py@ aHn#1n\py@sp{}} +\def\Hang#1{\py@hy H\py@ aHn#1ng\py@sp{}} +\def\Hao#1{\py@hy H\py@ aHo#1o\py@sp{}} +\def\He#1{\py@hy H\py@ eH{}#1\py@sp{}} +\def\Hei#1{\py@hy H\py@ eHi#1i\py@sp{}} +\def\Hen#1{\py@hy H\py@ eHn#1n\py@sp{}} +\def\Heng#1{\py@hy H\py@ eHn#1ng\py@sp{}} +\def\Hong#1{\py@hy H\py@ oHn#1ng\py@sp{}} +\def\Hou#1{\py@hy H\py@ oHu#1u\py@sp{}} +\def\Hu#1{\py@hy H\py@ uH{}#1\py@sp{}} +\def\Hua#1{\py@hy Hu\py@ au{}#1\py@sp{}} +\def\Huai#1{\py@hy Hu\py@ aui#1i\py@sp{}} +\def\Huan#1{\py@hy Hu\py@ aun#1n\py@sp{}} +\def\Huang#1{\py@hy Hu\py@ aun#1ng\py@sp{}} +\def\Hui#1{\py@hy Hu\py@ iu{}#1\py@sp{}} +\def\Hun#1{\py@hy H\py@ uHn#1n\py@sp{}} +\def\Huo#1{\py@hy Hu\py@ ou{}#1\py@sp{}} + +\def\Ji#1{\py@hy J\py@ iJ{}#1\py@sp{}} +\def\Jia#1{\py@hy Ji\py@ ai{}#1\py@sp{}} +\def\Jian#1{\py@hy Ji\py@ ain#1n\py@sp{}} +\def\Jiang#1{\py@hy Ji\py@ ain#1ng\py@sp{}} +\def\Jiao#1{\py@hy Ji\py@ aio#1o\py@sp{}} +\def\Jie#1{\py@hy Ji\py@ ei{}#1\py@sp{}} +\def\Jin#1{\py@hy J\py@ iJn#1n\py@sp{}} +\def\Jing#1{\py@hy J\py@ iJn#1ng\py@sp{}} +\def\Jiong#1{\py@hy Ji\py@ oin#1ng\py@sp{}} +\def\Jiu#1{\py@hy Ji\py@ ui{}#1\py@sp{}} +\def\Ju#1{\py@hy J\py@ uJ{}#1\py@sp{}} +\def\Juan#1{\py@hy Ju\py@ aun#1n\py@sp{}} +\def\Jue#1{\py@hy Ju\py@ eu{}#1\py@sp{}} +\def\Jun#1{\py@hy J\py@ uJn#1n\py@sp{}} + +\def\Ka#1{\py@hy K\py@ aK{}#1\py@sp{}} +\def\Kai#1{\py@hy K\py@ aKi#1i\py@sp{}} +\def\Kan#1{\py@hy K\py@ aKn#1n\py@sp{}} +\def\Kang#1{\py@hy K\py@ aKn#1ng\py@sp{}} +\def\Kao#1{\py@hy K\py@ aKo#1o\py@sp{}} +\def\Ke#1{\py@hy K\py@ eK{}#1\py@sp{}} +\def\Kei#1{\py@hy K\py@ eKi#1i\py@sp{}} +\def\Ken#1{\py@hy K\py@ eKn#1n\py@sp{}} +\def\Keng#1{\py@hy K\py@ eKn#1ng\py@sp{}} +\def\Kong#1{\py@hy K\py@ oKn#1ng\py@sp{}} +\def\Kou#1{\py@hy K\py@ oKu#1u\py@sp{}} +\def\Ku#1{\py@hy K\py@ uK{}#1\py@sp{}} +\def\Kua#1{\py@hy Ku\py@ au{}#1\py@sp{}} +\def\Kuai#1{\py@hy Ku\py@ aui#1i\py@sp{}} +\def\Kuan#1{\py@hy Ku\py@ aun#1n\py@sp{}} +\def\Kuang#1{\py@hy Ku\py@ aun#1ng\py@sp{}} +\def\Kui#1{\py@hy Ku\py@ iu{}#1\py@sp{}} +\def\Kun#1{\py@hy K\py@ uKn#1n\py@sp{}} +\def\Kuo#1{\py@hy Ku\py@ ou{}#1\py@sp{}} + +\def\La#1{\py@hy L\py@ aL{}#1\py@sp{}} +\def\Lai#1{\py@hy L\py@ aLi#1i\py@sp{}} +\def\Lan#1{\py@hy L\py@ aLn#1n\py@sp{}} +\def\Lang#1{\py@hy L\py@ aLn#1ng\py@sp{}} +\def\Lao#1{\py@hy L\py@ aLo#1o\py@sp{}} +\def\Le#1{\py@hy L\py@ eL{}#1\py@sp{}} +\def\Lei#1{\py@hy L\py@ eLi#1i\py@sp{}} +\def\Leng#1{\py@hy L\py@ eLn#1ng\py@sp{}} +\def\Li#1{\py@hy L\py@ iL{}#1\py@sp{}} +\def\Lia#1{\py@hy Li\py@ ai{}#1\py@sp{}} +\def\Lian#1{\py@hy Li\py@ ain#1n\py@sp{}} +\def\Liang#1{\py@hy Li\py@ ain#1ng\py@sp{}} +\def\Liao#1{\py@hy Li\py@ aio#1o\py@sp{}} +\def\Lie#1{\py@hy Li\py@ ei{}#1\py@sp{}} +\def\Lin#1{\py@hy L\py@ iLn#1n\py@sp{}} +\def\Ling#1{\py@hy L\py@ iLn#1ng\py@sp{}} +\def\Liu#1{\py@hy Li\py@ ui{}#1\py@sp{}} +\def\LONG#1{\py@hy L\py@ oLn#1ng\py@sp{}} +\def\Lou#1{\py@hy L\py@ oLu#1u\py@sp{}} +\def\Lu#1{\py@hy L\py@ uL{}#1\py@sp{}} +\def\Luan#1{\py@hy Lu\py@ aun#1n\py@sp{}} +\def\Lun#1{\py@hy L\py@ uLn#1n\py@sp{}} +\def\Luo#1{\py@hy Lu\py@ ou{}#1\py@sp{}} +\def\Lv#1{\py@hy L\py@ vL{}#1\py@sp{}} +\def\Lve#1{\py@hy L\"{u}\py@ eLe#1\py@sp{}} + +\def\Ma#1{\py@hy M\py@ aM{}#1\py@sp{}} +\def\Mai#1{\py@hy M\py@ aMi#1i\py@sp{}} +\def\Man#1{\py@hy M\py@ aMn#1n\py@sp{}} +\def\Mang#1{\py@hy M\py@ aMn#1ng\py@sp{}} +\def\Mao#1{\py@hy M\py@ aMo#1o\py@sp{}} +\def\Mei#1{\py@hy M\py@ eMi#1i\py@sp{}} +\def\Men#1{\py@hy M\py@ eMn#1n\py@sp{}} +\def\Meng#1{\py@hy M\py@ eMn#1ng\py@sp{}} +\def\Mi#1{\py@hy M\py@ iM{}#1\py@sp{}} +\def\Mian#1{\py@hy Mi\py@ ain#1n\py@sp{}} +\def\Miao#1{\py@hy Mi\py@ aio#1o\py@sp{}} +\def\Mie#1{\py@hy Mi\py@ ei{}#1\py@sp{}} +\def\Min#1{\py@hy M\py@ iMn#1n\py@sp{}} +\def\Ming#1{\py@hy M\py@ iMn#1ng\py@sp{}} +\def\Miu#1{\py@hy Mi\py@ ui{}#1\py@sp{}} +\def\Mo#1{\py@hy M\py@ oM{}#1\py@sp{}} +\def\Mou#1{\py@hy M\py@ oMu#1u\py@sp{}} +\def\Mu#1{\py@hy M\py@ uM{}#1\py@sp{}} + +\def\Na#1{\py@hy N\py@ aN{}#1\py@sp{}} +\def\Nai#1{\py@hy N\py@ aNi#1i\py@sp{}} +\def\Nan#1{\py@hy N\py@ aNn#1n\py@sp{}} +\def\Nang#1{\py@hy N\py@ aNn#1ng\py@sp{}} +\def\Nao#1{\py@hy N\py@ aNo#1o\py@sp{}} +\def\Ne#1{\py@hy N\py@ eN{}#1\py@sp{}} +\def\Nei#1{\py@hy N\py@ eNi#1i\py@sp{}} +\def\Nen#1{\py@hy N\py@ eNn#1n\py@sp{}} +\def\Neng#1{\py@hy N\py@ eNn#1ng\py@sp{}} +\def\Ni#1{\py@hy N\py@ iN{}#1\py@sp{}} +\def\Nian#1{\py@hy Ni\py@ ain#1n\py@sp{}} +\def\Niang#1{\py@hy Ni\py@ ain#1ng\py@sp{}} +\def\Niao#1{\py@hy Ni\py@ aio#1o\py@sp{}} +\def\Nie#1{\py@hy Ni\py@ ei{}#1\py@sp{}} +\def\Nin#1{\py@hy N\py@ iNn#1n\py@sp{}} +\def\Ning#1{\py@hy N\py@ iNn#1ng\py@sp{}} +\def\Niu#1{\py@hy Ni\py@ ui{}#1\py@sp{}} +\def\Nong#1{\py@hy N\py@ oNn#1ng\py@sp{}} +\def\Nou#1{\py@hy N\py@ oNu#1u\py@sp{}} +\def\Nu#1{\py@hy N\py@ uN{}#1\py@sp{}} +\def\Nuan#1{\py@hy Nu\py@ aun#1n\py@sp{}} +\def\Nuo#1{\py@hy Nu\py@ ou{}#1\py@sp{}} +\def\Nv#1{\py@hy N\py@ vN{}#1\py@sp{}} +\def\Nve#1{\py@hy N\"{u}\py@ eNe#1\py@sp{}} + +\def\py@@O#1{\py@hy \py@ O{}{}#1\py@sp{}} +\def\Ou#1{\py@hy \py@ O{}u#1u\py@sp{}} + +\def\Pa#1{\py@hy P\py@ aP{}#1\py@sp{}} +\def\Pai#1{\py@hy P\py@ aPi#1i\py@sp{}} +\def\Pan#1{\py@hy P\py@ aPn#1n\py@sp{}} +\def\Pang#1{\py@hy P\py@ aPn#1ng\py@sp{}} +\def\Pao#1{\py@hy P\py@ aPo#1o\py@sp{}} +\def\Pei#1{\py@hy P\py@ ePi#1i\py@sp{}} +\def\Pen#1{\py@hy P\py@ ePn#1n\py@sp{}} +\def\Peng#1{\py@hy P\py@ ePn#1ng\py@sp{}} +\def\py@Pi#1{\py@hy P\py@ iP{}#1\py@sp{}} +\def\Pian#1{\py@hy Pi\py@ ain#1n\py@sp{}} +\def\Piao#1{\py@hy Pi\py@ aio#1o\py@sp{}} +\def\Pie#1{\py@hy Pi\py@ ei{}#1\py@sp{}} +\def\Pin#1{\py@hy P\py@ iPn#1n\py@sp{}} +\def\Ping#1{\py@hy P\py@ iPn#1ng\py@sp{}} +\def\Po#1{\py@hy P\py@ oP{}#1\py@sp{}} +\def\Pou#1{\py@hy P\py@ oPu#1u\py@sp{}} +\def\Pu#1{\py@hy P\py@ uP{}#1\py@sp{}} + +\def\Qi#1{\py@hy Q\py@ iQ{}#1\py@sp{}} +\def\Qia#1{\py@hy Qi\py@ ai{}#1\py@sp{}} +\def\Qian#1{\py@hy Qi\py@ ain#1n\py@sp{}} +\def\Qiang#1{\py@hy Qi\py@ ain#1ng\py@sp{}} +\def\Qiao#1{\py@hy Qi\py@ aio#1o\py@sp{}} +\def\Qie#1{\py@hy Qi\py@ ei{}#1\py@sp{}} +\def\Qin#1{\py@hy Q\py@ iQn#1n\py@sp{}} +\def\Qing#1{\py@hy Q\py@ iQn#1ng\py@sp{}} +\def\Qiong#1{\py@hy Qi\py@ oin#1ng\py@sp{}} +\def\Qiu#1{\py@hy Qi\py@ ui{}#1\py@sp{}} +\def\Qu#1{\py@hy Q\py@ uQ{}#1\py@sp{}} +\def\Quan#1{\py@hy Qu\py@ aun#1n\py@sp{}} +\def\Que#1{\py@hy Qu\py@ eu{}#1\py@sp{}} +\def\Qun#1{\py@hy Q\py@ uQn#1n\py@sp{}} + +\def\Ran#1{\py@hy R\py@ aRn#1n\py@sp{}} +\def\Rang#1{\py@hy R\py@ aRn#1ng\py@sp{}} +\def\Rao#1{\py@hy R\py@ aRo#1o\py@sp{}} +\def\py@Re#1{\py@hy R\py@ eR{}#1\py@sp{}} +\def\Ren#1{\py@hy R\py@ eRn#1n\py@sp{}} +\def\Reng#1{\py@hy R\py@ eRn#1ng\py@sp{}} +\def\Ri#1{\py@hy R\py@ iR{}#1\py@sp{}} +\def\Rong#1{\py@hy R\py@ oRn#1ng\py@sp{}} +\def\Rou#1{\py@hy R\py@ oRu#1u\py@sp{}} +\def\Ru#1{\py@hy R\py@ uR{}#1\py@sp{}} +\def\Ruan#1{\py@hy Ru\py@ aun#1n\py@sp{}} +\def\Rui#1{\py@hy Ru\py@ iu{}#1\py@sp{}} +\def\Run#1{\py@hy R\py@ uRn#1n\py@sp{}} +\def\Ruo#1{\py@hy Ru\py@ ou{}#1\py@sp{}} + +\def\Sa#1{\py@hy S\py@ aS{}#1\py@sp{}} +\def\Sai#1{\py@hy S\py@ aSi#1i\py@sp{}} +\def\San#1{\py@hy S\py@ aSn#1n\py@sp{}} +\def\Sang#1{\py@hy S\py@ aSn#1ng\py@sp{}} +\def\Sao#1{\py@hy S\py@ aSo#1o\py@sp{}} +\def\Se#1{\py@hy S\py@ eS{}#1\py@sp{}} +\def\Sen#1{\py@hy S\py@ eSn#1n\py@sp{}} +\def\Seng#1{\py@hy S\py@ eSn#1ng\py@sp{}} +\def\Sha#1{\py@hy Sh\py@ ah{}#1\py@sp{}} +\def\Shai#1{\py@hy Sh\py@ ahi#1i\py@sp{}} +\def\Shan#1{\py@hy Sh\py@ ahn#1n\py@sp{}} +\def\Shang#1{\py@hy Sh\py@ ahn#1ng\py@sp{}} +\def\Shao#1{\py@hy Sh\py@ aho#1o\py@sp{}} +\def\She#1{\py@hy Sh\py@ eh{}#1\py@sp{}} +\def\Shei#1{\py@hy Sh\py@ ehi#1i\py@sp{}} +\def\Shen#1{\py@hy Sh\py@ ehn#1n\py@sp{}} +\def\Sheng#1{\py@hy Sh\py@ ehn#1ng\py@sp{}} +\def\Shi#1{\py@hy Sh\py@ ih{}#1\py@sp{}} +\def\Shou#1{\py@hy Sh\py@ ohu#1u\py@sp{}} +\def\Shu#1{\py@hy Sh\py@ uh{}#1\py@sp{}} +\def\Shua#1{\py@hy Shu\py@ au{}#1\py@sp{}} +\def\Shuai#1{\py@hy Shu\py@ aui#1i\py@sp{}} +\def\Shuan#1{\py@hy Shu\py@ aun#1n\py@sp{}} +\def\Shuang#1{\py@hy Shu\py@ aun#1ng\py@sp{}} +\def\Shui#1{\py@hy Shu\py@ iu{}#1\py@sp{}} +\def\Shun#1{\py@hy Sh\py@ uhn#1n\py@sp{}} +\def\Shuo#1{\py@hy Shu\py@ ou{}#1\py@sp{}} +\def\Si#1{\py@hy S\py@ iS{}#1\py@sp{}} +\def\Song#1{\py@hy S\py@ oSn#1ng\py@sp{}} +\def\Sou#1{\py@hy S\py@ oSu#1u\py@sp{}} +\def\Su#1{\py@hy S\py@ uS{}#1\py@sp{}} +\def\Suan#1{\py@hy Su\py@ aun#1n\py@sp{}} +\def\Sui#1{\py@hy Su\py@ iu{}#1\py@sp{}} +\def\Sun#1{\py@hy S\py@ uSn#1n\py@sp{}} +\def\Suo#1{\py@hy Su\py@ ou{}#1\py@sp{}} + +\def\Ta#1{\py@hy T\py@ aT{}#1\py@sp{}} +\def\Tai#1{\py@hy T\py@ aTi#1i\py@sp{}} +\def\Tan#1{\py@hy T\py@ aTn#1n\py@sp{}} +\def\Tang#1{\py@hy T\py@ aTn#1ng\py@sp{}} +\def\Tao#1{\py@hy T\py@ aTo#1o\py@sp{}} +\def\Te#1{\py@hy T\py@ eT{}#1\py@sp{}} +\def\Tei#1{\py@hy T\py@ eTi#1i\py@sp{}} +\def\Teng#1{\py@hy T\py@ eTn#1ng\py@sp{}} +\def\Ti#1{\py@hy T\py@ iT{}#1\py@sp{}} +\def\Tian#1{\py@hy Ti\py@ ain#1n\py@sp{}} +\def\Tiao#1{\py@hy Ti\py@ aio#1o\py@sp{}} +\def\Tie#1{\py@hy Ti\py@ ei{}#1\py@sp{}} +\def\Ting#1{\py@hy T\py@ iTn#1ng\py@sp{}} +\def\Tong#1{\py@hy T\py@ oTn#1ng\py@sp{}} +\def\Tou#1{\py@hy T\py@ oTu#1u\py@sp{}} +\def\Tu#1{\py@hy T\py@ uT{}#1\py@sp{}} +\def\Tuan#1{\py@hy Tu\py@ aun#1n\py@sp{}} +\def\Tui#1{\py@hy Tu\py@ iu{}#1\py@sp{}} +\def\Tun#1{\py@hy T\py@ uTn#1n\py@sp{}} +\def\Tuo#1{\py@hy Tu\py@ ou{}#1\py@sp{}} + +\def\Wa#1{\py@hy W\py@ aW{}#1\py@sp{}} +\def\Wai#1{\py@hy W\py@ aWi#1i\py@sp{}} +\def\Wan#1{\py@hy W\py@ aWn#1n\py@sp{}} +\def\Wang#1{\py@hy W\py@ aWn#1ng\py@sp{}} +\def\Wei#1{\py@hy W\py@ eWi#1i\py@sp{}} +\def\Wen#1{\py@hy W\py@ eWn#1n\py@sp{}} +\def\Weng#1{\py@hy W\py@ eWn#1ng\py@sp{}} +\def\Wo#1{\py@hy W\py@ oW{}#1\py@sp{}} +\def\Wu#1{\py@hy W\py@ uW{}#1\py@sp{}} + +\def\py@Xi#1{\py@hy X\py@ iX{}#1\py@sp{}} +\def\Xia#1{\py@hy Xi\py@ ai{}#1\py@sp{}} +\def\Xian#1{\py@hy Xi\py@ ain#1n\py@sp{}} +\def\Xiang#1{\py@hy Xi\py@ ain#1ng\py@sp{}} +\def\Xiao#1{\py@hy Xi\py@ aio#1o\py@sp{}} +\def\Xie#1{\py@hy Xi\py@ ei{}#1\py@sp{}} +\def\Xin#1{\py@hy X\py@ iXn#1n\py@sp{}} +\def\Xing#1{\py@hy X\py@ iXn#1ng\py@sp{}} +\def\Xiong#1{\py@hy Xi\py@ oin#1ng\py@sp{}} +\def\Xiu#1{\py@hy Xi\py@ ui{}#1\py@sp{}} +\def\Xu#1{\py@hy X\py@ uX{}#1\py@sp{}} +\def\Xuan#1{\py@hy Xu\py@ aun#1n\py@sp{}} +\def\Xue#1{\py@hy Xu\py@ eu{}#1\py@sp{}} +\def\Xun#1{\py@hy X\py@ uXn#1n\py@sp{}} + +\def\Ya#1{\py@hy Y\py@ aY{}#1\py@sp{}} +\def\Yan#1{\py@hy Y\py@ aYn#1n\py@sp{}} +\def\Yang#1{\py@hy Y\py@ aYn#1ng\py@sp{}} +\def\Yao#1{\py@hy Y\py@ aYo#1o\py@sp{}} +\def\Ye#1{\py@hy Y\py@ eY{}#1\py@sp{}} +\def\Yi#1{\py@hy Y\py@ iY{}#1\py@sp{}} +\def\Yin#1{\py@hy Y\py@ iYn#1n\py@sp{}} +\def\Ying#1{\py@hy Y\py@ iYn#1ng\py@sp{}} +\def\Yo#1{\py@hy Y\py@ oY{}#1\py@sp{}} +\def\Yong#1{\py@hy Y\py@ oYn#1ng\py@sp{}} +\def\You#1{\py@hy Y\py@ oYu#1u\py@sp{}} +\def\Yu#1{\py@hy Y\py@ uY{}#1\py@sp{}} +\def\Yuan#1{\py@hy Yu\py@ aun#1n\py@sp{}} +\def\Yue#1{\py@hy Yu\py@ eu{}#1\py@sp{}} +\def\Yun#1{\py@hy Y\py@ uYn#1n\py@sp{}} + +\def\Za#1{\py@hy Z\py@ aZ{}#1\py@sp{}} +\def\Zai#1{\py@hy Z\py@ aZi#1i\py@sp{}} +\def\Zan#1{\py@hy Z\py@ aZn#1n\py@sp{}} +\def\Zang#1{\py@hy Z\py@ aZn#1ng\py@sp{}} +\def\Zao#1{\py@hy Z\py@ aZo#1o\py@sp{}} +\def\Ze#1{\py@hy Z\py@ eZ{}#1\py@sp{}} +\def\Zei#1{\py@hy Z\py@ eZi#1i\py@sp{}} +\def\Zen#1{\py@hy Z\py@ eZn#1n\py@sp{}} +\def\Zeng#1{\py@hy Z\py@ eZn#1ng\py@sp{}} +\def\Zha#1{\py@hy Zh\py@ ah{}#1\py@sp{}} +\def\Zhai#1{\py@hy Zh\py@ ahi#1i\py@sp{}} +\def\Zhan#1{\py@hy Zh\py@ ahn#1n\py@sp{}} +\def\Zhang#1{\py@hy Zh\py@ ahn#1ng\py@sp{}} +\def\Zhao#1{\py@hy Zh\py@ aho#1o\py@sp{}} +\def\Zhe#1{\py@hy Zh\py@ eh{}#1\py@sp{}} +\def\Zhei#1{\py@hy Zh\py@ ehi#1i\py@sp{}} +\def\Zhen#1{\py@hy Zh\py@ ehn#1n\py@sp{}} +\def\Zheng#1{\py@hy Zh\py@ ehn#1ng\py@sp{}} +\def\Zhi#1{\py@hy Zh\py@ ih{}#1\py@sp{}} +\def\Zhong#1{\py@hy Zh\py@ ohn#1ng\py@sp{}} +\def\Zhou#1{\py@hy Zh\py@ ohu#1u\py@sp{}} +\def\Zhu#1{\py@hy Zh\py@ uh{}#1\py@sp{}} +\def\Zhua#1{\py@hy Zhu\py@ au{}#1\py@sp{}} +\def\Zhuai#1{\py@hy Zhu\py@ aui#1i\py@sp{}} +\def\Zhuan#1{\py@hy Zhu\py@ aun#1n\py@sp{}} +\def\Zhuang#1{\py@hy Zhu\py@ aun#1ng\py@sp{}} +\def\Zhui#1{\py@hy Zhu\py@ iu{}#1\py@sp{}} +\def\Zhun#1{\py@hy Zh\py@ uhn#1n\py@sp{}} +\def\Zhuo#1{\py@hy Zhu\py@ ou{}#1\py@sp{}} +\def\Zi#1{\py@hy Z\py@ iZ{}#1\py@sp{}} +\def\Zong#1{\py@hy Z\py@ oZn#1ng\py@sp{}} +\def\Zou#1{\py@hy Z\py@ oZu#1u\py@sp{}} +\def\Zu#1{\py@hy Z\py@ uZ{}#1\py@sp{}} +\def\Zuan#1{\py@hy Zu\py@ aun#1n\py@sp{}} +\def\Zui#1{\py@hy Zu\py@ iu{}#1\py@sp{}} +\def\Zun#1{\py@hy Z\py@ uZn#1n\py@sp{}} +\def\Zuo#1{\py@hy Zu\py@ ou{}#1\py@sp{}} + + +% We enable all pinyin syllables as the default. + +\PYactivate + + +\endlinechar `\^^M +\catcode`@=12 + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/pmC.chr b/Master/texmf-dist/tex/latex/cjk/pmC.chr new file mode 100644 index 00000000000..4585939b244 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/pmC.chr @@ -0,0 +1,98 @@ +% This is the file pmC.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{pmC.chr}[\filedate\space\fileversion] + + +% define macros for handling pmC fonts and characters. + +\gdef\CJK@pmCChr{ + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##3\relax + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \CJKsymbol{\@tempcnta} + + \CJK@CJK + \fi + \fi}} + +% for punctuation. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##4} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \advance\@tempcnta ##3\relax + \edef\CJK@plane{##2} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \CJKpunctsymbol{\@tempcnta} + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/pmCbig.enc b/Master/texmf-dist/tex/latex/cjk/pmCbig.enc new file mode 100644 index 00000000000..0539de73386 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/pmCbig.enc @@ -0,0 +1,133 @@ +% This is the file pmCbig.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{pmCbig.enc}[\filedate\space\fileversion] + + +% old poor man's Chinese encoding: +% each plane gets an own font (Big 5, GB, JIS etc.). + +% big size: + +\gdef\CJK@pmCbigEncoding{ + \CJK@loadChr{pmC} + + \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{a1}{-128}{##1}} + \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{a2}{-128}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{a3}{-128}{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{a4}{-128}{##1}} + \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{a5}{-128}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@char{a6}{-128}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@char{a7}{-128}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@char{a8}{-128}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@char{a9}{-128}{##1}} + \CJK@namegdef{^^aa}##1{\@empty\CJK@char{aa}{-128}{##1}} + \CJK@namegdef{^^ab}##1{\@empty\CJK@char{ab}{-128}{##1}} + \CJK@namegdef{^^ac}##1{\@empty\CJK@char{ac}{-128}{##1}} + \CJK@namegdef{^^ad}##1{\@empty\CJK@char{ad}{-128}{##1}} + \CJK@namegdef{^^ae}##1{\@empty\CJK@char{ae}{-128}{##1}} + \CJK@namegdef{^^af}##1{\@empty\CJK@char{af}{-128}{##1}} + \CJK@namegdef{^^b0}##1{\@empty\CJK@char{b0}{-128}{##1}} + \CJK@namegdef{^^b1}##1{\@empty\CJK@char{b1}{-128}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@char{b2}{-128}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@char{b3}{-128}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@char{b4}{-128}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@char{b5}{-128}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@char{b6}{-128}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@char{b7}{-128}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@char{b8}{-128}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@char{b9}{-128}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@char{ba}{-128}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@char{bb}{-128}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@char{bc}{-128}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@char{bd}{-128}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@char{be}{-128}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@char{bf}{-128}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@char{c0}{-128}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@char{c1}{-128}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char{c2}{-128}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@char{c3}{-128}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@char{c4}{-128}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@char{c5}{-128}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char{c6}{-128}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@char{c7}{-128}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@char{c8}{-128}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@char{c9}{-128}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char{ca}{-128}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@char{cb}{-128}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@char{cc}{-128}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char{cd}{-128}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char{ce}{-128}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@char{cf}{-128}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char{d0}{-128}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char{d1}{-128}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@char{d2}{-128}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char{d3}{-128}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@char{d4}{-128}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char{d5}{-128}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char{d6}{-128}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@char{d7}{-128}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char{d8}{-128}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char{d9}{-128}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@char{da}{-128}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char{db}{-128}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@char{dc}{-128}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@char{dd}{-128}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char{de}{-128}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@char{df}{-128}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@char{e0}{-128}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char{e1}{-128}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@char{e2}{-128}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@char{e3}{-128}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char{e4}{-128}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@char{e5}{-128}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char{e6}{-128}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@char{e7}{-128}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@char{e8}{-128}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char{e9}{-128}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@char{ea}{-128}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@char{eb}{-128}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char{ec}{-128}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ed}{-128}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char{ee}{-128}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@char{ef}{-128}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@char{f0}{-128}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char{f1}{-128}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@char{f2}{-128}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@char{f3}{-128}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char{f4}{-128}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@char{f5}{-128}{##1}} + \CJK@namegdef{^^f6}##1{\@empty\CJK@char{f6}{-128}{##1}} + \CJK@namegdef{^^f7}##1{\@empty\CJK@char{f7}{-128}{##1}} + \CJK@namegdef{^^f8}##1{\@empty\CJK@char{f8}{-128}{##1}} + \CJK@namegdef{^^f9}##1{\@empty\CJK@char{f9}{-128}{##1}} + \CJK@namegdef{^^fa}##1{\@empty\CJK@char{fa}{-128}{##1}} + \CJK@namegdef{^^fb}##1{\@empty\CJK@char{fb}{-128}{##1}} + \CJK@namegdef{^^fc}##1{\@empty\CJK@char{fc}{-128}{##1}} + \CJK@namegdef{^^fd}##1{\@empty\CJK@char{fd}{-128}{##1}} + \CJK@namegdef{^^fe}##1{\@empty\CJK@char{fe}{-128}{##1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/pmCsmall.enc b/Master/texmf-dist/tex/latex/cjk/pmCsmall.enc new file mode 100644 index 00000000000..a658562b2ac --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/pmCsmall.enc @@ -0,0 +1,133 @@ +% This is the file pmCsmall.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{pmCsmall.enc}[\filedate\space\fileversion] + + +% old poor man's Chinese encoding: +% each plane gets an own font (Big 5, GB, JIS etc.). + +% small size: + +\gdef\CJK@pmCsmallEncoding{ + \CJK@loadChr{pmC} + + \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{a1}{0}{##1}} + \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{a2}{0}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{a3}{0}{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{a4}{0}{##1}} + \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{a5}{0}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@char{a6}{0}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@char{a7}{0}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@char{a8}{0}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@char{a9}{0}{##1}} + \CJK@namegdef{^^aa}##1{\@empty\CJK@char{aa}{0}{##1}} + \CJK@namegdef{^^ab}##1{\@empty\CJK@char{ab}{0}{##1}} + \CJK@namegdef{^^ac}##1{\@empty\CJK@char{ac}{0}{##1}} + \CJK@namegdef{^^ad}##1{\@empty\CJK@char{ad}{0}{##1}} + \CJK@namegdef{^^ae}##1{\@empty\CJK@char{ae}{0}{##1}} + \CJK@namegdef{^^af}##1{\@empty\CJK@char{af}{0}{##1}} + \CJK@namegdef{^^b0}##1{\@empty\CJK@char{b0}{0}{##1}} + \CJK@namegdef{^^b1}##1{\@empty\CJK@char{b1}{0}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@char{b2}{0}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@char{b3}{0}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@char{b4}{0}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@char{b5}{0}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@char{b6}{0}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@char{b7}{0}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@char{b8}{0}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@char{b9}{0}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@char{ba}{0}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@char{bb}{0}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@char{bc}{0}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@char{bd}{0}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@char{be}{0}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@char{bf}{0}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@char{c0}{0}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@char{c1}{0}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char{c2}{0}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@char{c3}{0}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@char{c4}{0}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@char{c5}{0}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char{c6}{0}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@char{c7}{0}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@char{c8}{0}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@char{c9}{0}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char{ca}{0}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@char{cb}{0}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@char{cc}{0}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char{cd}{0}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char{ce}{0}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@char{cf}{0}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char{d0}{0}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char{d1}{0}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@char{d2}{0}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char{d3}{0}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@char{d4}{0}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char{d5}{0}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char{d6}{0}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@char{d7}{0}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char{d8}{0}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char{d9}{0}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@char{da}{0}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char{db}{0}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@char{dc}{0}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@char{dd}{0}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char{de}{0}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@char{df}{0}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@char{e0}{0}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char{e1}{0}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@char{e2}{0}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@char{e3}{0}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char{e4}{0}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@char{e5}{0}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char{e6}{0}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@char{e7}{0}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@char{e8}{0}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char{e9}{0}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@char{ea}{0}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@char{eb}{0}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char{ec}{0}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ed}{0}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char{ee}{0}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@char{ef}{0}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@char{f0}{0}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char{f1}{0}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@char{f2}{0}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@char{f3}{0}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char{f4}{0}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@char{f5}{0}{##1}} + \CJK@namegdef{^^f6}##1{\@empty\CJK@char{f6}{0}{##1}} + \CJK@namegdef{^^f7}##1{\@empty\CJK@char{f7}{0}{##1}} + \CJK@namegdef{^^f8}##1{\@empty\CJK@char{f8}{0}{##1}} + \CJK@namegdef{^^f9}##1{\@empty\CJK@char{f9}{0}{##1}} + \CJK@namegdef{^^fa}##1{\@empty\CJK@char{fa}{0}{##1}} + \CJK@namegdef{^^fb}##1{\@empty\CJK@char{fb}{0}{##1}} + \CJK@namegdef{^^fc}##1{\@empty\CJK@char{fc}{0}{##1}} + \CJK@namegdef{^^fd}##1{\@empty\CJK@char{fd}{0}{##1}} + \CJK@namegdef{^^fe}##1{\@empty\CJK@char{fe}{0}{##1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/ruby.sty b/Master/texmf-dist/tex/latex/cjk/ruby.sty new file mode 100644 index 00000000000..6770c3b08d1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/ruby.sty @@ -0,0 +1,171 @@ +% This is the file ruby.sty of the CJK package +% for displaying ruby (i.e. furigana). +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{ruby}[\filedate\space\fileversion] + + +\RequirePackage{CJK}[1996/11/20] + +\newif\ifruby@overlap@ +\newif\ifruby@CJK@ + +\DeclareOption{overlap}{\ruby@overlap@true} +\DeclareOption{nooverlap}{\ruby@overlap@false} +\DeclareOption{CJK}{\ruby@CJK@true} +\DeclareOption{latin}{\ruby@CJK@false} + +\ExecuteOptions{overlap, CJK} + +\ProcessOptions + + +% we suppress any unwanted spaces produced by linefeeds. + +\endlinechar \m@ne + +% to get a small separation between adjacent lines. + +\lineskiplimit 1pt + + +\newdimen\ruby@width +\edef\ruby@kern{\kern -5sp\kern 5sp} + +\newcommand{\rubysize}{0.4} +\newcommand{\rubysep}{-0.5ex} +\newcommand{\rubyoverlap}{\ruby@overlap@true} +\newcommand{\rubynooverlap}{\ruby@overlap@false} +\newcommand{\rubyCJK}{\ruby@CJK@true} +\newcommand{\rubylatin}{\ruby@CJK@false} + + +% #1 is the base character; #2 is the ruby. + +\DeclareRobustCommand{\ruby}[2]{ + {\@tempdimc \f@size\p@ + \@tempdimc \rubysize\@tempdimc + \sbox\z@{\vrule\@height.7\baselineskip\@depth\z@\@width\z@ #1} + \sbox\@tempboxa{\fontsize{\@tempdimc}{1.2\@tempdimc}\selectfont + \vrule\@height\z@\@depth.3\baselineskip\@width\z@ #2} + + \@tempdimb\ruby@width + + \global\ruby@width \wd\@tempboxa + \global\advance\ruby@width -\wd\z@ + \global\divide\ruby@width \tw@ + \ifdim\ruby@width > \z@ + \else + \global\ruby@width \z@ + \fi + + % we first compute the box of the ruby with its base character(s). + \ifruby@overlap@ + \setbox\@tempboxa \vbox{ + \hbox to \wd0{\hss \box\@tempboxa \hss} + \nointerlineskip + \kern\rubysep + \box\z@} + \else + \ifdim\ruby@width > \z@ + \@tempdima \wd\@tempboxa + \else + \@tempdima \wd\z@ + \fi + \setbox\@tempboxa \vbox{ + \hbox to \@tempdima{\hss \box\@tempboxa \hss} + \nointerlineskip + \kern\rubysep + \hbox to \@tempdima{\hss \box\z@ \hss}} + \fi + + % are we at the beginning of a paragraph? + \ifvmode + \leavevmode + \ifruby@overlap@ + \kern\ruby@width + \fi + \else + + % has previous character a ruby? + \ifnum\lastkern = 5% \ruby@kern + \kern\@tempdimb + \ifruby@CJK@ + \nobreak + \CJKglue + \nobreak + \fi + \ifruby@overlap@ + \kern\ruby@width + \fi + \else + + \ifruby@CJK@ + + % is previous character an ordinary CJK character? + \ifnum\lastkern = \@ne% \CJK@CJK + \ifdim\ruby@width > \z@ + \nobreak + \CJKglue + \nobreak + \else + \CJKglue + \fi + \else + + % is previous character a punctuation character? + \ifnum\lastkern = \tw@% \CJK@kern + \nobreak + \CJKglue + \nobreak + \fi + \fi + \fi + \fi + \fi + + \box\@tempboxa + + \ruby@kern + \ifdim\ruby@width > \z@ + \ifruby@overlap@ + \else + \global\ruby@width\z@ + \fi + \else + \global\ruby@width\z@ + \fi} + + \ifruby@CJK@ + \ignorespaces + \fi} + + +% reset endline character. + +\endlinechar `\^^M + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/standard.bdg b/Master/texmf-dist/tex/latex/cjk/standard.bdg new file mode 100644 index 00000000000..162715b9975 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/standard.bdg @@ -0,0 +1,161 @@ +% This is the file standard.bdg of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{standard.bdg}[\filedate\space\fileversion] + + +% The standard bindings for two byte encodings. + +\gdef\CJK@standardBinding{ +% 80 % used with cjk-enc.el/CEF + \CJK@nameppdef{^^81} + \CJK@nameppdef{^^82} + \CJK@nameppdef{^^83} + \CJK@nameppdef{^^84} + \CJK@nameppdef{^^85} + \CJK@nameppdef{^^86} + \CJK@nameppdef{^^87} + \CJK@nameppdef{^^88} + \CJK@nameppdef{^^89} + \CJK@nameppdef{^^8a} + \CJK@nameppdef{^^8b} + \CJK@nameppdef{^^8c} + \CJK@nameppdef{^^8d} + \CJK@nameppdef{^^8e} + \CJK@nameppdef{^^8f} + \CJK@nameppdef{^^90} + \CJK@nameppdef{^^91} + \CJK@nameppdef{^^92} + \CJK@nameppdef{^^93} + \CJK@nameppdef{^^94} + \CJK@nameppdef{^^95} + \CJK@nameppdef{^^96} + \CJK@nameppdef{^^97} + \CJK@nameppdef{^^98} + \CJK@nameppdef{^^99} + \CJK@nameppdef{^^9a} + \CJK@nameppdef{^^9b} + \CJK@nameppdef{^^9c} + \CJK@nameppdef{^^9d} + \CJK@nameppdef{^^9e} + \CJK@nameppdef{^^9f} + \CJK@nameppdef{^^a0} + \CJK@nameppdef{^^a1} + \CJK@nameppdef{^^a2} + \CJK@nameppdef{^^a3} + \CJK@nameppdef{^^a4} + \CJK@nameppdef{^^a5} + \CJK@nameppdef{^^a6} + \CJK@nameppdef{^^a7} + \CJK@nameppdef{^^a8} + \CJK@nameppdef{^^a9} + \CJK@nameppdef{^^aa} + \CJK@nameppdef{^^ab} + \CJK@nameppdef{^^ac} + \CJK@nameppdef{^^ad} + \CJK@nameppdef{^^ae} + \CJK@nameppdef{^^af} + \CJK@nameppdef{^^b0} + \CJK@nameppdef{^^b1} + \CJK@nameppdef{^^b2} + \CJK@nameppdef{^^b3} + \CJK@nameppdef{^^b4} + \CJK@nameppdef{^^b5} + \CJK@nameppdef{^^b6} + \CJK@nameppdef{^^b7} + \CJK@nameppdef{^^b8} + \CJK@nameppdef{^^b9} + \CJK@nameppdef{^^ba} + \CJK@nameppdef{^^bb} + \CJK@nameppdef{^^bc} + \CJK@nameppdef{^^bd} + \CJK@nameppdef{^^be} + \CJK@nameppdef{^^bf} + \CJK@nameppdef{^^c0} + \CJK@nameppdef{^^c1} + \CJK@nameppdef{^^c2} + \CJK@nameppdef{^^c3} + \CJK@nameppdef{^^c4} + \CJK@nameppdef{^^c5} + \CJK@nameppdef{^^c6} + \CJK@nameppdef{^^c7} + \CJK@nameppdef{^^c8} + \CJK@nameppdef{^^c9} + \CJK@nameppdef{^^ca} + \CJK@nameppdef{^^cb} + \CJK@nameppdef{^^cc} + \CJK@nameppdef{^^cd} + \CJK@nameppdef{^^ce} + \CJK@nameppdef{^^cf} + \CJK@nameppdef{^^d0} + \CJK@nameppdef{^^d1} + \CJK@nameppdef{^^d2} + \CJK@nameppdef{^^d3} + \CJK@nameppdef{^^d4} + \CJK@nameppdef{^^d5} + \CJK@nameppdef{^^d6} + \CJK@nameppdef{^^d7} + \CJK@nameppdef{^^d8} + \CJK@nameppdef{^^d9} + \CJK@nameppdef{^^da} + \CJK@nameppdef{^^db} + \CJK@nameppdef{^^dc} + \CJK@nameppdef{^^dd} + \CJK@nameppdef{^^de} + \CJK@nameppdef{^^df} + \CJK@nameppdef{^^e0} + \CJK@nameppdef{^^e1} + \CJK@nameppdef{^^e2} + \CJK@nameppdef{^^e3} + \CJK@nameppdef{^^e4} + \CJK@nameppdef{^^e5} + \CJK@nameppdef{^^e6} + \CJK@nameppdef{^^e7} + \CJK@nameppdef{^^e8} + \CJK@nameppdef{^^e9} + \CJK@nameppdef{^^ea} + \CJK@nameppdef{^^eb} + \CJK@nameppdef{^^ec} + \CJK@nameppdef{^^ed} + \CJK@nameppdef{^^ee} + \CJK@nameppdef{^^ef} + \CJK@nameppdef{^^f0} + \CJK@nameppdef{^^f1} + \CJK@nameppdef{^^f2} + \CJK@nameppdef{^^f3} + \CJK@nameppdef{^^f4} + \CJK@nameppdef{^^f5} + \CJK@nameppdef{^^f6} + \CJK@nameppdef{^^f7} + \CJK@nameppdef{^^f8} + \CJK@nameppdef{^^f9} + \CJK@nameppdef{^^fa} + \CJK@nameppdef{^^fb} + \CJK@nameppdef{^^fc} + \CJK@nameppdef{^^fd} + \CJK@nameppdef{^^fe}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/standard.chr b/Master/texmf-dist/tex/latex/cjk/standard.chr new file mode 100644 index 00000000000..5a4c7714ea0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/standard.chr @@ -0,0 +1,203 @@ +% This is the file standard.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{standard.chr}[\filedate\space\fileversion] + + +% define macros for handling standard CJK fonts and characters. + +\gdef\CJK@standardChr{ + \CJK@global\def\CJK@char##1##2##3{ + {\ifnum ##3 < \CJK@min + \CJK@err + \else + \ifnum ##3 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##3\relax + \advance\@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% the same, but the plane crosses the font file boundary. + + \CJK@global\def\CJK@charx##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \@tempcntb 256\relax + \advance\@tempcnta ##3\relax + \advance\@tempcntb -##3\relax + \chardef\@temp \@tempcntb + \ifnum ##4 < \@temp + \edef\CJK@plane{##1} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##2} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@CJK + \fi + \fi}} + +% for punctuation. + + \CJK@global\def\CJK@punctchar##1##2##3##4{ + {\ifnum ##4 < \CJK@min + \CJK@err + \else + \ifnum ##4 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##4} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##4\relax + \advance\@tempcnta ##3\relax + \edef\CJK@plane{##2} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}} + + \CJK@global\def\CJK@punctcharx##1##2##3##4##5{ + {\ifnum ##5 < \CJK@min + \CJK@err + \else + \ifnum ##5 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##5} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##5\relax + \@tempcntb 256\relax + \advance\@tempcnta ##4\relax + \advance\@tempcntb -##4\relax + \chardef\@temp \@tempcntb + \ifnum ##5 < \@temp + \edef\CJK@plane{##2} + \else + \advance\@tempcnta -256\relax + \edef\CJK@plane{##3} + \fi + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \edef\reserved@a{ + \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction} + \expandafter\ifx\csname\reserved@a\endcsname \relax + \CJKpunctsymbol{\@tempcnta} + \else + \csname\reserved@a\endcsname + \fi + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/standard.enc b/Master/texmf-dist/tex/latex/cjk/standard.enc new file mode 100644 index 00000000000..bb4959fb55b --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/standard.enc @@ -0,0 +1,131 @@ +% This is the file standard.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{standard.enc}[\filedate\space\fileversion] + + +% standard encoding: +% each plane has 94 characters (GB, JIS etc.) (0xA1 - 0xFE). + +\gdef\CJK@standardEncoding{ + \CJK@loadChr{standard} + + \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}} + \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}} + \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}} + \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}} + \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}} + \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}} + \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}} + \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}} + \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}} + \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}} + \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}} + \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}} + \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}} + \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}} + \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}} + \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}} + \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}} + \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}} + \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}} + \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90cmr.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90cmr.fd new file mode 100644 index 00000000000..18c9c1d9ba7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/thai/c90cmr.fd @@ -0,0 +1,24 @@ +% This is the file c90cmr.fd of the CJK package +% for using Thai with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c90cmr.fd}[\filedate\space\fileversion] + + +% Thai +% +% font encoding: OT1-like + TIS 620 + Thai glyph variants + +\DeclareFontFamily{C90}{cmr}{} + +\DeclareFontShape{C90}{cmr}{m} {n} {<-> ssub * nrsr/m/n}{} +\DeclareFontShape{C90}{cmr}{bx}{n} {<-> ssub * nrsr/bx/n}{} +\DeclareFontShape{C90}{cmr}{m} {it}{<-> ssub * nrsr/m/it}{} +\DeclareFontShape{C90}{cmr}{bx}{it}{<-> ssub * nrsr/bx/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90cmss.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90cmss.fd new file mode 100644 index 00000000000..543e4cb008f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/thai/c90cmss.fd @@ -0,0 +1,24 @@ +% This is the file c90cmss.fd of the CJK package +% for using Thai with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c90cmss.fd}[\filedate\space\fileversion] + + +% Thai +% +% font encoding: OT1-like + TIS 620 + Thai glyph variants + +\DeclareFontFamily{C90}{cmss}{} + +\DeclareFontShape{C90}{cmss}{m} {n} {<-> ssub * gar/m/n}{} +\DeclareFontShape{C90}{cmss}{bx}{n} {<-> ssub * gar/bx/n}{} +\DeclareFontShape{C90}{cmss}{m} {it}{<-> ssub * gar/m/it}{} +\DeclareFontShape{C90}{cmss}{bx}{it}{<-> ssub * gar/bx/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90cmtt.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90cmtt.fd new file mode 100644 index 00000000000..457766d6004 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/thai/c90cmtt.fd @@ -0,0 +1,24 @@ +% This is the file c90cmtt.fd of the CJK package +% for using Thai with LaTeX2e +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{c90cmtt.fd}[\filedate\space\fileversion] + + +% Thai +% +% font encoding: OT1-like + TIS 620 + Thai glyph variants + +\DeclareFontFamily{C90}{cmtt}{} + +\DeclareFontShape{C90}{cmtt}{m} {n} {<-> ssub * gar/m/n}{} +\DeclareFontShape{C90}{cmtt}{bx}{n} {<-> ssub * gar/bx/n}{} +\DeclareFontShape{C90}{cmtt}{m} {it}{<-> ssub * gar/m/it}{} +\DeclareFontShape{C90}{cmtt}{bx}{it}{<-> ssub * gar/bx/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90enc.def b/Master/texmf-dist/tex/latex/cjk/thai/c90enc.def new file mode 100644 index 00000000000..428e8e3801d --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/thai/c90enc.def @@ -0,0 +1,110 @@ +% (C) 2002 Dominique Unruh, LPPL +% The macros in the Thai part are oriented on TIS620, i.e. each +% letter in TIS620 is represented by exactly one macro. +% No reordering whatsoever is required. +% +\NeedsTeXFormat{LaTeX2e}[1998/12/01] +\ProvidesFile{c90enc.def}[2002/06/06 Encoding C90 for Thai] +\DeclareFontEncoding{C90}{}{} +\DeclareFontSubstitution{C90}{nrsr}{m}{n} +% +\DeclareTextSymbol{\textemdash}{C90}{"0C} +\DeclareTextSymbol{\textendash}{C90}{"0B} +\DeclareTextSymbol{\textquotedbl}{C90}{"11} +\DeclareTextSymbol{\textquotedblleft}{C90}{"0DD} +\DeclareTextSymbol{\textquotedblright}{C90}{"22} +\DeclareTextSymbol{\textquoteleft}{C90}{`\`} +\DeclareTextSymbol{\textquoteright}{C90}{`\'} +\DeclareTextSymbol{\textbraceleft}{C90}{`\{} +\DeclareTextSymbol{\textbraceright}{C90}{`\}} +\DeclareTextSymbol{\textbar}{C90}{`\|} +% +\DeclareTextSymbol{\thaiKoKai}{C90}{161} +\DeclareTextSymbol{\thaiKhoKhai}{C90}{162} +\DeclareTextSymbol{\thaiKhoKhuat}{C90}{163} +\DeclareTextSymbol{\thaiKhoKhwai}{C90}{164} +\DeclareTextSymbol{\thaiKhoKhon}{C90}{165} +\DeclareTextSymbol{\thaiKhoRakhang}{C90}{166} +\DeclareTextSymbol{\thaiNgoNgu}{C90}{167} +\DeclareTextSymbol{\thaiChoChan}{C90}{168} +\DeclareTextSymbol{\thaiChoChing}{C90}{169} +\DeclareTextSymbol{\thaiChoChang}{C90}{170} +\DeclareTextSymbol{\thaiSoSo}{C90}{171} +\DeclareTextSymbol{\thaiChoChoe}{C90}{172} +\DeclareTextSymbol{\thaiYoYing}{C90}{173} +\DeclareTextSymbol{\thaiDoChada}{C90}{174} +\DeclareTextSymbol{\thaiToPatak}{C90}{175} +\DeclareTextSymbol{\thaiThoThan}{C90}{176} +\DeclareTextSymbol{\thaiThoNangmontho}{C90}{177} +\DeclareTextSymbol{\thaiThoPhuthao}{C90}{178} +\DeclareTextSymbol{\thaiNoNen}{C90}{179} +\DeclareTextSymbol{\thaiDoDek}{C90}{180} +\DeclareTextSymbol{\thaiToTao}{C90}{181} +\DeclareTextSymbol{\thaiThoThung}{C90}{182} +\DeclareTextSymbol{\thaiThoThahan}{C90}{183} +\DeclareTextSymbol{\thaiThoThong}{C90}{184} +\DeclareTextSymbol{\thaiNoNu}{C90}{185} +\DeclareTextSymbol{\thaiBoBaimai}{C90}{186} +\DeclareTextSymbol{\thaiPoPla}{C90}{187} +\DeclareTextSymbol{\thaiPhoPhung}{C90}{188} +\DeclareTextSymbol{\thaiFoFa}{C90}{189} +\DeclareTextSymbol{\thaiPhoPhan}{C90}{190} +\DeclareTextSymbol{\thaiFoFan}{C90}{191} +\DeclareTextSymbol{\thaiPhoSamphao}{C90}{192} +\DeclareTextSymbol{\thaiMoMa}{C90}{193} +\DeclareTextSymbol{\thaiYoYak}{C90}{194} +\DeclareTextSymbol{\thaiRoRua}{C90}{195} +\DeclareTextSymbol{\thaiRu}{C90}{196} +\DeclareTextSymbol{\thaiLoLing}{C90}{197} +\DeclareTextSymbol{\thaiLu}{C90}{198} +\DeclareTextSymbol{\thaiWoWaen}{C90}{199} +\DeclareTextSymbol{\thaiSoSala}{C90}{200} +\DeclareTextSymbol{\thaiSoRusi}{C90}{201} +\DeclareTextSymbol{\thaiSoSua}{C90}{202} +\DeclareTextSymbol{\thaiHoHip}{C90}{203} +\DeclareTextSymbol{\thaiLoChula}{C90}{204} +\DeclareTextSymbol{\thaiOAng}{C90}{205} +\DeclareTextSymbol{\thaiHoNokhuk}{C90}{206} +\DeclareTextSymbol{\thaiPaiyannoi}{C90}{207} +\DeclareTextSymbol{\thaiSaraA}{C90}{208} +\DeclareTextSymbol{\thaiMaiHanakat}{C90}{209} +\DeclareTextSymbol{\thaiSaraAa}{C90}{210} +\DeclareTextSymbol{\thaiSaraAm}{C90}{211} +\DeclareTextSymbol{\thaiSaraI}{C90}{212} +\DeclareTextSymbol{\thaiSaraIi}{C90}{213} +\DeclareTextSymbol{\thaiSaraUe}{C90}{214} +\DeclareTextSymbol{\thaiSaraUee}{C90}{215} +\DeclareTextSymbol{\thaiSaraU}{C90}{216} +\DeclareTextSymbol{\thaiSaraUu}{C90}{217} +\DeclareTextSymbol{\thaiPhinthu}{C90}{218} +\DeclareTextSymbol{\textbaht}{C90}{223} +\DeclareTextSymbol{\thaiSaraE}{C90}{224} +\DeclareTextSymbol{\thaiSaraAe}{C90}{225} +\DeclareTextSymbol{\thaiSaraO}{C90}{226} +\DeclareTextSymbol{\thaiSaraAiMaimuan}{C90}{227} +\DeclareTextSymbol{\thaiSaraAiMaimalai}{C90}{228} +\DeclareTextSymbol{\thaiLakkhangyao}{C90}{229} +\DeclareTextSymbol{\thaiMaiyamok}{C90}{230} +\DeclareTextSymbol{\thaiMaitaikhu}{C90}{231} +\DeclareTextSymbol{\thaiMaiEk}{C90}{232} +\DeclareTextSymbol{\thaiMaiTho}{C90}{233} +\DeclareTextSymbol{\thaiMaiTri}{C90}{234} +\DeclareTextSymbol{\thaiMaiChattawa}{C90}{235} +\DeclareTextSymbol{\thaiThanthakhat}{C90}{236} +\DeclareTextSymbol{\thaiNikhahit}{C90}{237} +\DeclareTextSymbol{\thaiYamakkan}{C90}{238} +\DeclareTextSymbol{\thaiFongman}{C90}{239} +\DeclareTextSymbol{\thaizero}{C90}{240} +\DeclareTextSymbol{\thaione}{C90}{241} +\DeclareTextSymbol{\thaitwo}{C90}{242} +\DeclareTextSymbol{\thaithree}{C90}{243} +\DeclareTextSymbol{\thaifour}{C90}{244} +\DeclareTextSymbol{\thaifive}{C90}{245} +\DeclareTextSymbol{\thaisix}{C90}{246} +\DeclareTextSymbol{\thaiseven}{C90}{247} +\DeclareTextSymbol{\thaieight}{C90}{248} +\DeclareTextSymbol{\thainine}{C90}{249} +\DeclareTextSymbol{\thaiAngkhankhu}{C90}{250} +\DeclareTextSymbol{\thaiKhomut}{C90}{251} +% +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90gar.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90gar.fd new file mode 100644 index 00000000000..22a2f466533 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/thai/c90gar.fd @@ -0,0 +1,34 @@ +%Filename: c90gar.fd +%Created by: tex garuda +%Created using fontinst v1.927 + +%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY + +\ProvidesFile{c90gar.fd} + [2005/07/04 Fontinst v1.927 font definitions for C90/gar.] + +\DeclareFontFamily{C90}{gar}{} + +\DeclareFontShape{C90}{gar}{m}{n}{ + <-> fgdr8z +}{} + +\DeclareFontShape{C90}{gar}{bx}{n}{ + <-> fgdb8z +}{} + +\DeclareFontShape{C90}{gar}{bx}{sl}{ + <-> fgdbo8z +}{} + +\DeclareFontShape{C90}{gar}{m}{sl}{ + <-> fgdo8z +}{} + +\DeclareFontShape{C90}{gar}{b}{n}{<->ssub * gar/bx/n}{} +\DeclareFontShape{C90}{gar}{b}{sl}{<->ssub * gar/bx/sl}{} +\DeclareFontShape{C90}{gar}{bx}{it}{<->ssub * gar/bx/sl}{} +\DeclareFontShape{C90}{gar}{b}{it}{<->ssub * gar/bx/it}{} +\DeclareFontShape{C90}{gar}{m}{it}{<->ssub * gar/m/sl}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/thai/c90nrsr.fd b/Master/texmf-dist/tex/latex/cjk/thai/c90nrsr.fd new file mode 100644 index 00000000000..a8fc2b06855 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/thai/c90nrsr.fd @@ -0,0 +1,34 @@ +%Filename: c90nrsr.fd +%Created by: tex norasi +%Created using fontinst v1.927 + +%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY + +\ProvidesFile{c90nrsr.fd} + [2005/07/04 Fontinst v1.927 font definitions for C90/nrsr.] + +\DeclareFontFamily{C90}{nrsr}{} + +\DeclareFontShape{C90}{nrsr}{m}{n}{ + <-> ftnr8z +}{} + +\DeclareFontShape{C90}{nrsr}{bx}{n}{ + <-> ftnb8z +}{} + +\DeclareFontShape{C90}{nrsr}{bx}{it}{ + <-> ftnbi8z +}{} + +\DeclareFontShape{C90}{nrsr}{m}{it}{ + <-> ftni8z +}{} + +\DeclareFontShape{C90}{nrsr}{b}{n}{<->ssub * nrsr/bx/n}{} +\DeclareFontShape{C90}{nrsr}{b}{it}{<->ssub * nrsr/bx/it}{} +\DeclareFontShape{C90}{nrsr}{bx}{sl}{<->ssub * nrsr/bx/it}{} +\DeclareFontShape{C90}{nrsr}{b}{sl}{<->ssub * nrsr/bx/sl}{} +\DeclareFontShape{C90}{nrsr}{m}{sl}{<->ssub * nrsr/m/it}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/thai/thaicjk.ldf b/Master/texmf-dist/tex/latex/cjk/thai/thaicjk.ldf new file mode 100644 index 00000000000..dae532cdc64 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/thai/thaicjk.ldf @@ -0,0 +1,89 @@ +% This is the file thaicjk.ldf of the CJK package +% for handling Thai. +% +% created by Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) +% +% +% It is based on a similar file of the thailatex package, written +% by Surapant Meknavin <surapan@nectec.or.th> with modifications by +% Theppitak Karoonboonyanan <thep@links.nectec.or.th>. + +\ProvidesLanguage{thaicjk} + [CJK 4.8.0 Thai support for the babel system] + +\LdfInit{thaicjk}{captionsthaicjk} + +\ifx\l@thaicjk\@undefined + \adddialect\l@thaicjk0 +\fi + +\addto\captionsthaicjk{% + \def\prefacename{บทนำ}% + \def\refname{หนังสืออ้างอิง}% + \def\abstractname{บทคัดย่อ}% + \def\bibname{บรรณานุกรม}% + \def\chaptername{บทที่}% + \def\appendixname{ภาคผนวก}% + \def\contentsname{สารบัญ}% + \def\listfigurename{สารบัญรูป}% + \def\listtablename{สารบัญตาราง}% + \def\indexname{ดรรชนี}% + \def\figurename{รูปที่}% + \def\tablename{ตารางที่}% + \def\partname{ภาค}% + \def\enclname{สิ่งที่แนบมาด้วย}% + \def\ccname{สำเนาถึง}% + \def\headtoname{เรียน}% + \def\pagename{หน้า}% + \def\seename{ดู}% + \def\alsoname{ดูเพิ่มเติม}% + \def\proofname{พิสูจน์}% + } + +\def\th@month{% + \ifcase\month\or + มกราคม\or + กุมภาพันธ์\or + มีนาคม\or + เมษายน\or + พฤษภาคม\or + มิถุนายน\or + กรกฎาคม\or + สิงหาคม\or + กันยายน\or + ตุลาคม\or + พฤศจิกายน\or + ธันวาคม\fi} +\newcount\th@year +\th@year=\year +\advance\th@year by 543 +\def\datethaicjk{% + \def\today{\number\day \space \th@month\space พ.ศ.~\number\th@year}} + +\addto\extrasthaicjk{\bbl@frenchspacing} +\addto\noextrasthaicjk{\bbl@nonfrenchspacing} + +\addto\extrasthaicjk{\renewcommand{\baselinestretch}{1.2}} +\addto\noextrasthaicjk{\renewcommand{\baselinestretch}{1}} + +\def\fnum@figure{\figurename\nobreakspace\thefigure} +\def\fnum@table{\tablename\nobreakspace\thetable} + +\InputIfFileExists{c90enc.def}{% + \message{Loading definitions for the Thai C90 font encoding}}{% + \errhelp{I can't find file `c90enc.def' for Thai fonts}% + \errmessage{Since I do not know what the C90 encoding means^^J + I can't typeset Thai.^^J + I stop here, while you get a suitable c90enc.def file}\@@end + } + +\ldf@finish{thaicjk} + +\endinput + +%%% Local Variables: +%%% coding: tis-620 +%%% mode: latex +%%% End: diff --git a/Master/texmf-dist/tex/latex/cjk/xCJK.sty b/Master/texmf-dist/tex/latex/cjk/xCJK.sty new file mode 100644 index 00000000000..d1a9ec129b2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/xCJK.sty @@ -0,0 +1,460 @@ +% This is the file xCJK.sty of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Wenchang Sun <sunwch@hotmail.com> +% Werner Lemberg <wl@gnu.org> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\RequirePackage{ifxetex} +\RequireXeTeX +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesPackage{xCJK}[\filedate\space\fileversion] +\RequirePackage{fontspec} +\RequirePackage{CJK} + + +% we suppress any unwanted spaces produced by linefeeds. + +\endlinechar \m@ne + +\newif\ifxCJK@slantFont@ +\xCJK@slantFont@false + +\newif\ifxCJK@boldFont@ +\xCJK@boldFont@false + +\def\xCJK@setBoldFont{\special{pdf: literal direct 0.5 w 2 Tr}} +\def\xCJK@restoreBoldFont{\special{pdf: literal direct 0 Tr}} + +\DeclareOption{boldfont}{\xCJK@boldFont@true} +\DeclareOption{BoldFont}{\ExecuteOptions{boldfont}} +\DeclareOption{pdfbold}{\ExecuteOptions{boldfont}} + +\DeclareOption{slantfont}{\xCJK@slantFont@true} +\DeclareOption{SlantFont}{\ExecuteOptions{slantfont}} + +\ProcessOptions + + +% redefine \usefont for CJK glyphs so that we can control the CJK font +% family separately. + +\let\xCJK@usefont \usefont + +\def\usefont#1#2#3#4{ + \ifx\CJK@plane \@undefined + \xCJK@usefont{#1}{#2}{#3}{#4} + \else + \xCJK@setfont + \fi} + +\def\xCJK@setfont{ + \ifcsname\CJK@family/\f@series/\f@shape/\f@size\endcsname + \csname\CJK@family/\f@series/\f@shape/\f@size\endcsname + \else + \csname xCJK@font@\CJK@family\endcsname + \get@external@font + \expandafter\global\expandafter\font + \csname\CJK@family/\f@series/\f@shape/\f@size\endcsname=\external@font + \fi} + + +% some shorthands for CJK font families; arguments are handled by +% \newfontfamily (from fontspec.sty). + +\def\setCJKmainfont{ + \xCJK@newfontfamily{xCJK@font@}} +\def\setCJKmonofont{ + \xCJK@newfontfamily{xCJK@font@mono}} + +\def\setCJKfamilyfont#1{ + \xCJK@newfontfamily{xCJK@font@#1}} + + +% extend \CJKverbatim to set \verbatim@font. + +\expandafter\def\expandafter\CJK@verbatim\expandafter{ + \CJK@verbatim + \def\verbatim@font{ + \CJKfamily{mono} + \ttfamily}} + + +% we redefine \newfontfamily to introduce fake slant fonts for CJK +% characters. + +\newcommand*\xCJK@newfontfamily[1]{ + \@ifnextchar[ + {\xCJK@newfontfamily@{#1}} + {\xCJK@newfontfamily@{#1}[]}} + +\def\xCJK@newfontfamily@#1[#2]#3{ + \def\xCJK@temp{#2} + \expandafter + \xCJK@getBoldFont\xCJK@temp BoldFont={}{}\relax + \expandafter + \xCJK@getBoldItalicFont\xCJK@temp BoldItalicFont={}{}\relax + \expandafter + \xCJK@getItalicFont\xCJK@temp ItalicFont={}{}\relax + + \let\xCJK@BoldItalicFont@@\xCJK@BoldItalicFont + + \ifxCJK@boldFont@ + \ifx\xCJK@BoldFont\@empty + \expandafter\def\csname #1@bx@n@set\endcsname{ + \xCJK@setBoldFont} + \expandafter\def\csname #1@bx@n@restore\endcsname{ + \xCJK@restoreBoldFont} + \fi + \ifx\xCJK@BoldItalicFont\@empty + \ifx\xCJK@ItalicFont\@empty + \ifx\xCJK@BoldFont\@empty + \expandafter\def\csname #1@bx@it@set\endcsname{ + \xCJK@setBoldFont} + \expandafter\def\csname #1@bx@it@restore\endcsname{ + \xCJK@restoreBoldFont} + \fi + \else + \expandafter\def\csname #1@bx@it@set\endcsname{ + \xCJK@setBoldFont} + \expandafter\def\csname #1@bx@it@restore\endcsname{ + \xCJK@restoreBoldFont} + \fi + \fi + \fi + + \ifx\xCJK@BoldItalicFont\@empty + \ifx\xCJK@ItalicFont\@empty + \ifx\xCJK@BoldFont\@empty + \def\xCJK@BoldItalicFont{#3} + \else + \edef\xCJK@BoldItalicFont{\xCJK@BoldFont} + \fi + \else + \edef\xCJK@BoldItalicFont{\xCJK@ItalicFont} + \fi + \fi + + \ifxCJK@slantFont@ + \expandafter + \xCJK@getBoldItalicFeatures\xCJK@temp BoldItalicFeatures={}{}\relax + \expandafter + \xCJK@getItalicFeatures\xCJK@temp ItalicFeatures={}{}\relax + + \ifx\xCJK@ItalicFont\@empty + \def\xCJK@ItalicFont{#3} + \ifx\xCJK@ItalicFeatures\@empty + \edef\xCJK@ItalicFeatures{ + RawFeature={slant=0.17}} + \else + \edef\xCJK@ItalicFeatures{ + RawFeature={slant=0.17}, + \xCJK@ItalicFeatures} + \fi + + \ifx\xCJK@BoldItalicFont@@\@empty + \ifx\xCJK@BoldItalicFeatures\@empty + \edef\xCJK@BoldItalicFeatures{ + RawFeature={slant=0.17}} + \else + \edef\xCJK@BoldItalicFeatures{ + RawFeature={slant=0.17}, + \xCJK@BoldItalicFeatures} + \fi + \fi + \fi + + \expandafter\newfontfamily@i\csname #1\endcsname + [ItalicFont={\xCJK@ItalicFont}, + BoldItalicFont={\xCJK@BoldItalicFont}, + #2, + ItalicFeatures={\xCJK@ItalicFeatures}, + BoldItalicFeatures={\xCJK@BoldItalicFeatures}] + {#3} + \else + \ifxCJK@boldFont@ + \expandafter\newfontfamily@i\csname #1\endcsname + [BoldItalicFont={\xCJK@BoldItalicFont}, + #2] + {#3} + \else + \expandafter\newfontfamily@i\csname #1\endcsname + [#2] + {#3} + \fi + \fi} + +\def\xCJK@setmacro@getkey#1{ + \expandafter\def\csname xCJK@get#1\endcsname ##1#1=##2##3\relax{ + \expandafter\edef\csname xCJK@#1\endcsname{##2} + \edef\xCJK@temp{##1##3}}} + +\xCJK@setmacro@getkey{BoldFont} +\xCJK@setmacro@getkey{ItalicFont} +\xCJK@setmacro@getkey{BoldItalicFont} +\xCJK@setmacro@getkey{ItalicFeatures} +\xCJK@setmacro@getkey{BoldItalicFeatures} + +\define@key[zf]{preparse}{ItalicFeatures}{ + \edef\zf@it@feat{,#1} + \edef\zf@family@long{\zf@family@long itfeat:#1}} + + +% redefine \CJKfamily. + +\def\xCJK@font@{} + +\def\CJKfamily#1{ + \expandafter\ifx\csname xCJK@font@#1\endcsname \relax + \PackageWarning{xCJK}{ + Unknown CJK family `#1' is ignored.^^J + Use \string\setCJKfamilyfont \space to define a CJK family.} + \else + \def\CJK@family{#1} + \fi} + + +% redefine \CJKsymbol and \CJKpunctsymbol to use XeTeX's emboldening. + +\def\CJKsymbol#1{ + {\csname xCJK@font@\CJK@family @\f@series @\f@shape @set\endcsname + \char #1 + \csname xCJK@font@\CJK@family @\f@series @\f@shape @restore\endcsname}} + +\let\CJKpunctsymbol \CJKsymbol + + +% XXX: redefinition of \Unicode is missing + + +% replace +% +% \begin{CJK*}[#1]{UTF8}{#3} +% +% with +% +% \begin{CJK*}[]{xUTF8}{} + +\def\xCJK@UTF{UTF8} +\let\xCJK@envStart \CJK@envStart + +\def\CJK@envStart#1#2#3{ + \def\xCJK@tempa{#2} + \ifx\xCJK@UTF \xCJK@tempa + \else + \PackageError{xCJK}{ + Font encoding `#2' is not supported. Use UTF8 instead.}{} + \fi + \xCJK@envStart{}{xUTF8}{}} + + +% define the `xUTF8' encoding. + +\CJK@mapToNFSS{xUTF8}{C70}{song}{m}{n} +\CJKencfamily{xUTF8}{song} +\CJKfontenc{xUTF8}{} +\@namedef{CJK@xUTF8@hook}{ + \csname CJK@UTF8@hook\endcsname} + +\@namedef{CJK@xUTF8@enc}{ + \CJK@loadBinding{UTF8} + \CJK@global\chardef\CJK@min "080 + \CJK@global\chardef\CJK@max "0BF + \CJK@loadEncoding{xUTF8} + \CJK@global\def\CJK@spaceChar{\Unicode{"030}{"000}}} + +\def\CJK@UnicodeEnc{xUTF8} + + +% redefine the binding macros to directly emit Unicode characters. + +\def\CJK@nameppdef#1{ + \CJK@active\def#1{ + \ifx\protect \@typeset@protect + \expandafter\expandafter\expandafter\CJK@XX + \expandafter\string\expandafter#1 + \else + \expandafter\expandafter\expandafter\CJK@XXp + \expandafter\string\expandafter#1 + \fi}} + +\def\CJK@namepppdef#1{ + \CJK@active\def#1{ + \ifx\protect \@typeset@protect + \expandafter\expandafter\expandafter\CJK@XXX + \expandafter\string\expandafter#1 + \else + \expandafter\expandafter\expandafter\CJK@XXXp + \expandafter\string\expandafter#1 + \fi}} + +\def\CJK@nameppppdef#1{ + \CJK@active\def#1{ + \ifx\protect \@typeset@protect + \expandafter\expandafter\expandafter\CJK@XXXX + \expandafter\string\expandafter#1 + \else + \expandafter\expandafter\expandafter\CJK@XXXXp + \expandafter\string\expandafter#1 + \fi}} + +\DeclareRobustCommand{\xCJK@char}[2]{ + \csname CJK@#1\endcsname{#2}} +\DeclareRobustCommand{\xCJK@@char}[3]{ + \csname CJK@#1\endcsname{#2}{#3}} +\DeclareRobustCommand{\xCJK@@@char}[4]{ + \csname CJK@#1\endcsname{#2}{#3}{#4}} + +\def\CJK@XXp#1#2{ + \xCJK@char{\number`#1}{\number`#2}} +\def\CJK@XXXp#1#2#3{ + \xCJK@@char{\number`#1}{\number`#2}{\number`#3}} +\def\CJK@XXXXp#1#2#3#4{ + \xCJK@@@char{\number`#1}{\number`#2}{\number`#3}{\number`#4}} + + +% variants for PDF bookmarks. xdvipdfmx, the PDF front end of XeTeX, +% automatically converts UTF-8 encoded bookmark strings into +% UTF-16BE encoding. + +\edef\0{\string\0} +\edef\1{\string\1} +\edef\2{\string\2} +\edef\3{\string\3} + +\def\xCJK@numtooctal#1{ + \ifcase #1 + \000\or \001\or \002\or \003\or \004\or \005\or \006\or \007 + \or \010\or \011\or \012\or \013\or \014\or \015\or \016\or \017 + \or \020\or \021\or \022\or \023\or \024\or \025\or \026\or \027 + \or \030\or \031\or \032\or \033\or \034\or \035\or \036\or \037 + \or \040\or \041\or \042\or \043\or \044\or \045\or \046\or \047 + \or \050\or \051\or \052\or \053\or \054\or \055\or \056\or \057 + \or \060\or \061\or \062\or \063\or \064\or \065\or \066\or \067 + \or \070\or \071\or \072\or \073\or \074\or \075\or \076\or \077 + \or \100\or \101\or \102\or \103\or \104\or \105\or \106\or \107 + \or \110\or \111\or \112\or \113\or \114\or \115\or \116\or \117 + \or \120\or \121\or \122\or \123\or \124\or \125\or \126\or \127 + \or \130\or \131\or \132\or \133\or \134\or \135\or \136\or \137 + \or \140\or \141\or \142\or \143\or \144\or \145\or \146\or \147 + \or \150\or \151\or \152\or \153\or \154\or \155\or \156\or \157 + \or \160\or \161\or \162\or \163\or \164\or \165\or \166\or \167 + \or \170\or \171\or \172\or \173\or \174\or \175\or \176\or \177 + \or \200\or \201\or \202\or \203\or \204\or \205\or \206\or \207 + \or \210\or \211\or \212\or \213\or \214\or \215\or \216\or \217 + \or \220\or \221\or \222\or \223\or \224\or \225\or \226\or \227 + \or \230\or \231\or \232\or \233\or \234\or \235\or \236\or \237 + \or \240\or \241\or \242\or \243\or \244\or \245\or \246\or \247 + \or \250\or \251\or \252\or \253\or \254\or \255\or \256\or \257 + \or \260\or \261\or \262\or \263\or \264\or \265\or \266\or \267 + \or \270\or \271\or \272\or \273\or \274\or \275\or \276\or \277 + \or \300\or \301\or \302\or \303\or \304\or \305\or \306\or \307 + \or \310\or \311\or \312\or \313\or \314\or \315\or \316\or \317 + \or \320\or \321\or \322\or \323\or \324\or \325\or \326\or \327 + \or \330\or \331\or \332\or \333\or \334\or \335\or \336\or \337 + \or \340\or \341\or \342\or \343\or \344\or \345\or \346\or \347 + \or \350\or \351\or \352\or \353\or \354\or \355\or \356\or \357 + \or \360\or \361\or \362\or \363\or \364\or \365\or \366\or \367 + \or \370\or \371\or \372\or \373\or \374\or \375\or \376\or \377 + \fi} + +\def\CJK@XXpdf#1#2{ + \xCJK@numtooctal{\number`#1} + \xCJK@numtooctal{\number`#2}} +\def\CJK@XXXpdf#1#2#3{ + \xCJK@numtooctal{\number`#1} + \xCJK@numtooctal{\number`#2} + \xCJK@numtooctal{\number`#3}} +\def\CJK@XXXXpdf#1#2#3#4{ + \xCJK@numtooctal{\number`#1} + \xCJK@numtooctal{\number`#2} + \xCJK@numtooctal{\number`#3} + \xCJK@numtooctal{\number`#4}} + + +% add our bookmark macros to the hyperref hook. + +\ifx\pdfstringdefPreHook \undefined + \def\pdfstringdefPreHook{} +\fi + +\def\utfout{ + \let\CJK@XX \CJK@XXpdf + \let\CJK@XXX \CJK@XXXpdf + \let\CJK@XXXX \CJK@XXXXpdf} + +\g@addto@macro\pdfstringdefPreHook{\utfout} + + +% macros for UTF8 punctuation testing. + +\def\xCJK@prePunct#1#2{ + \expandafter\gdef\csname xCJK@#1@PrePunct\endcsname{#2} + \expandafter\gdef\csname xCJK@#1@Punct\endcsname{#2}} +\def\xCJK@postPunct#1#2{ + \expandafter\gdef\csname xCJK@#1@PostPunct\endcsname{#2} + \expandafter\edef\csname xCJK@#1@Punct\endcsname{ + \csname xCJK@#1@Punct\endcsname,#2}} + +\xCJK@prePunct{xUTF8}{ + 8216,8220,12296,12298,12300,12302,12304,12306, + 12308,12310,12312,12314,12317,12319,12342, + 65113,65115,65117,65119,65120,65129,65131, + 65283,65284,65288,65312,65339,65371,65504,65505,65509,65510} +\xCJK@postPunct{xUTF8}{ + 8217,8221,12289,12290,12293,12294,12297,12299, + 12301,12303,12305,12309,12311,12313,12315, + 12318,12353,12355,12357,12359,12361,12387,12419,12421,12423,12430,12443,12444,12445,12446,12449,12451, + 12453,12455,12457,12483,12515,12517,12519,12526,12533,12534,12539,12540,12541,12542, + 65104,65105,65106,65108,65109,65110,65111,65114,65116,65118,65130, + 65281,65285,65289,65292,65294,65306,65307,65311,65341,65373,65377, + 65379,65380,65381,65383,65384,65385,65386,65387,65388,65389,65390,65391,65392,65438,65439} + +\def\xCJK@testPunct#1#2#3{ + \expandafter\expandafter\expandafter\CJK@testInList + \expandafter\csname xCJK@#1@#2Punct\expandafter\endcsname + \expandafter{#3}} + + +% variants for including CJK characters in \special. + +\let\xCJK@special \special + +\def\special#1{ + {\utfout + \edef\xCJK@temp{#1} + \xCJK@special{\xCJK@temp}}} + + +% for beamer class; will be reset by a CJK environment. + +\let\CJK@ignorespaces \ignorespaces +\chardef\CJK@min "040 + + +\AtBeginDocument{\XeTeXinputencoding "bytes"} + +\XeTeXdefaultencoding "bytes" + +\endlinechar `\^^M + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/xpmC.chr b/Master/texmf-dist/tex/latex/cjk/xpmC.chr new file mode 100644 index 00000000000..cb792ee6ce1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/xpmC.chr @@ -0,0 +1,96 @@ +% This is the file xpmC.chr of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by SUN Wenchang <sunwch@hotmail.com> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{xpmC.chr}[\filedate\space\fileversion] + + +% define macros for handling xpmC fonts and characters. + +\gdef\CJK@xpmCChr{ + \CJK@global\def\CJK@char##1##2{ + {\ifnum ##2 < \CJK@min + \CJK@err + \else + \ifnum ##2 > \CJK@max + \CJK@err + \else + \CJK@testLastCJK + \ifCJK@ + \CJKglue + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \CJKsymbol{\@tempcnta} + + \CJK@CJK + \fi + \fi}} + +% for punctuation. + + \CJK@global\def\CJK@punctchar##1##2{ + {\ifnum ##2 < \CJK@min + \CJK@err + \else + \ifnum ##2 > \CJK@max + \CJK@err + \else + \CJK@numbToHex{\CJK@gtemp}{##2} + \CJK@testLastCJK + \ifCJK@ + \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@nobreakglue + \else + \CJKglue + \fi + \fi + \CJK@testLastKern + \ifCJK@ + \CJK@nobreakglue + \fi + + \@tempcnta ##2\relax + \edef\CJK@plane{##1} + \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} + \CJKpunctsymbol{\@tempcnta} + + \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp} + \ifCJK@ + \CJK@kern + \else + \CJK@CJK + \fi + \fi + \fi}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/cjk/xpmC.enc b/Master/texmf-dist/tex/latex/cjk/xpmC.enc new file mode 100644 index 00000000000..56864902ec4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjk/xpmC.enc @@ -0,0 +1,161 @@ +% This is the file xpmC.enc of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by SUN Wenchang <sunwch@hotmail.com> +% +% Version 4.8.0 (22-May-2008) + +% Copyright (C) 1994-2008 Werner Lemberg <wl@gnu.org> +% +% 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 + +\def\fileversion{4.8.0} +\def\filedate{2008/05/22} +\ProvidesFile{xpmC.enc}[\filedate\space\fileversion] + + +% encoding for XeTeX support + +\gdef\CJK@xpmCEncoding{ + \CJK@loadChr{xpmC} + + \CJK@namegdef{^^81}##1{\@empty\CJK@char{81}{##1}} + \CJK@namegdef{^^82}##1{\@empty\CJK@char{82}{##1}} + \CJK@namegdef{^^83}##1{\@empty\CJK@char{83}{##1}} + \CJK@namegdef{^^84}##1{\@empty\CJK@char{84}{##1}} + \CJK@namegdef{^^85}##1{\@empty\CJK@char{85}{##1}} + \CJK@namegdef{^^86}##1{\@empty\CJK@char{86}{##1}} + \CJK@namegdef{^^87}##1{\@empty\CJK@char{87}{##1}} + \CJK@namegdef{^^88}##1{\@empty\CJK@char{88}{##1}} + \CJK@namegdef{^^89}##1{\@empty\CJK@char{89}{##1}} + \CJK@namegdef{^^8a}##1{\@empty\CJK@char{8A}{##1}} + \CJK@namegdef{^^8b}##1{\@empty\CJK@char{8B}{##1}} + \CJK@namegdef{^^8c}##1{\@empty\CJK@char{8C}{##1}} + \CJK@namegdef{^^8d}##1{\@empty\CJK@char{8D}{##1}} + \CJK@namegdef{^^8e}##1{\@empty\CJK@char{8E}{##1}} + \CJK@namegdef{^^8f}##1{\@empty\CJK@char{8F}{##1}} + \CJK@namegdef{^^90}##1{\@empty\CJK@char{90}{##1}} + \CJK@namegdef{^^91}##1{\@empty\CJK@char{91}{##1}} + \CJK@namegdef{^^92}##1{\@empty\CJK@char{92}{##1}} + \CJK@namegdef{^^93}##1{\@empty\CJK@char{93}{##1}} + \CJK@namegdef{^^94}##1{\@empty\CJK@char{94}{##1}} + \CJK@namegdef{^^95}##1{\@empty\CJK@char{95}{##1}} + \CJK@namegdef{^^96}##1{\@empty\CJK@char{96}{##1}} + \CJK@namegdef{^^97}##1{\@empty\CJK@char{97}{##1}} + \CJK@namegdef{^^98}##1{\@empty\CJK@char{98}{##1}} + \CJK@namegdef{^^99}##1{\@empty\CJK@char{99}{##1}} + \CJK@namegdef{^^9a}##1{\@empty\CJK@char{9A}{##1}} + \CJK@namegdef{^^9b}##1{\@empty\CJK@char{9B}{##1}} + \CJK@namegdef{^^9c}##1{\@empty\CJK@char{9C}{##1}} + \CJK@namegdef{^^9d}##1{\@empty\CJK@char{9D}{##1}} + \CJK@namegdef{^^9e}##1{\@empty\CJK@char{9E}{##1}} + \CJK@namegdef{^^9f}##1{\@empty\CJK@char{9F}{##1}} + \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{##1}} + \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{##1}} + \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{##1}} + \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{##1}} + \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{##1}} + \CJK@namegdef{^^a6}##1{\@empty\CJK@char{A6}{##1}} + \CJK@namegdef{^^a7}##1{\@empty\CJK@char{A7}{##1}} + \CJK@namegdef{^^a8}##1{\@empty\CJK@char{A8}{##1}} + \CJK@namegdef{^^a9}##1{\@empty\CJK@char{A9}{##1}} + \CJK@namegdef{^^aa}##1{\@empty\CJK@char{AA}{##1}} + \CJK@namegdef{^^ab}##1{\@empty\CJK@char{AB}{##1}} + \CJK@namegdef{^^ac}##1{\@empty\CJK@char{AC}{##1}} + \CJK@namegdef{^^ad}##1{\@empty\CJK@char{AD}{##1}} + \CJK@namegdef{^^ae}##1{\@empty\CJK@char{AE}{##1}} + \CJK@namegdef{^^af}##1{\@empty\CJK@char{AF}{##1}} + \CJK@namegdef{^^b0}##1{\@empty\CJK@char{B0}{##1}} + \CJK@namegdef{^^b1}##1{\@empty\CJK@char{B1}{##1}} + \CJK@namegdef{^^b2}##1{\@empty\CJK@char{B2}{##1}} + \CJK@namegdef{^^b3}##1{\@empty\CJK@char{B3}{##1}} + \CJK@namegdef{^^b4}##1{\@empty\CJK@char{B4}{##1}} + \CJK@namegdef{^^b5}##1{\@empty\CJK@char{B5}{##1}} + \CJK@namegdef{^^b6}##1{\@empty\CJK@char{B6}{##1}} + \CJK@namegdef{^^b7}##1{\@empty\CJK@char{B7}{##1}} + \CJK@namegdef{^^b8}##1{\@empty\CJK@char{B8}{##1}} + \CJK@namegdef{^^b9}##1{\@empty\CJK@char{B9}{##1}} + \CJK@namegdef{^^ba}##1{\@empty\CJK@char{BA}{##1}} + \CJK@namegdef{^^bb}##1{\@empty\CJK@char{BB}{##1}} + \CJK@namegdef{^^bc}##1{\@empty\CJK@char{BC}{##1}} + \CJK@namegdef{^^bd}##1{\@empty\CJK@char{BD}{##1}} + \CJK@namegdef{^^be}##1{\@empty\CJK@char{BE}{##1}} + \CJK@namegdef{^^bf}##1{\@empty\CJK@char{BF}{##1}} + \CJK@namegdef{^^c0}##1{\@empty\CJK@char{C0}{##1}} + \CJK@namegdef{^^c1}##1{\@empty\CJK@char{C1}{##1}} + \CJK@namegdef{^^c2}##1{\@empty\CJK@char{C2}{##1}} + \CJK@namegdef{^^c3}##1{\@empty\CJK@char{C3}{##1}} + \CJK@namegdef{^^c4}##1{\@empty\CJK@char{C4}{##1}} + \CJK@namegdef{^^c5}##1{\@empty\CJK@char{C5}{##1}} + \CJK@namegdef{^^c6}##1{\@empty\CJK@char{C6}{##1}} + \CJK@namegdef{^^c7}##1{\@empty\CJK@char{C7}{##1}} + \CJK@namegdef{^^c8}##1{\@empty\CJK@char{C8}{##1}} + \CJK@namegdef{^^c9}##1{\@empty\CJK@char{C9}{##1}} + \CJK@namegdef{^^ca}##1{\@empty\CJK@char{CA}{##1}} + \CJK@namegdef{^^cb}##1{\@empty\CJK@char{CB}{##1}} + \CJK@namegdef{^^cc}##1{\@empty\CJK@char{CC}{##1}} + \CJK@namegdef{^^cd}##1{\@empty\CJK@char{CD}{##1}} + \CJK@namegdef{^^ce}##1{\@empty\CJK@char{CE}{##1}} + \CJK@namegdef{^^cf}##1{\@empty\CJK@char{CF}{##1}} + \CJK@namegdef{^^d0}##1{\@empty\CJK@char{D0}{##1}} + \CJK@namegdef{^^d1}##1{\@empty\CJK@char{D1}{##1}} + \CJK@namegdef{^^d2}##1{\@empty\CJK@char{D2}{##1}} + \CJK@namegdef{^^d3}##1{\@empty\CJK@char{D3}{##1}} + \CJK@namegdef{^^d4}##1{\@empty\CJK@char{D4}{##1}} + \CJK@namegdef{^^d5}##1{\@empty\CJK@char{D5}{##1}} + \CJK@namegdef{^^d6}##1{\@empty\CJK@char{D6}{##1}} + \CJK@namegdef{^^d7}##1{\@empty\CJK@char{D7}{##1}} + \CJK@namegdef{^^d8}##1{\@empty\CJK@char{D8}{##1}} + \CJK@namegdef{^^d9}##1{\@empty\CJK@char{D9}{##1}} + \CJK@namegdef{^^da}##1{\@empty\CJK@char{DA}{##1}} + \CJK@namegdef{^^db}##1{\@empty\CJK@char{DB}{##1}} + \CJK@namegdef{^^dc}##1{\@empty\CJK@char{DC}{##1}} + \CJK@namegdef{^^dd}##1{\@empty\CJK@char{DD}{##1}} + \CJK@namegdef{^^de}##1{\@empty\CJK@char{DE}{##1}} + \CJK@namegdef{^^df}##1{\@empty\CJK@char{DF}{##1}} + \CJK@namegdef{^^e0}##1{\@empty\CJK@char{E0}{##1}} + \CJK@namegdef{^^e1}##1{\@empty\CJK@char{E1}{##1}} + \CJK@namegdef{^^e2}##1{\@empty\CJK@char{E2}{##1}} + \CJK@namegdef{^^e3}##1{\@empty\CJK@char{E3}{##1}} + \CJK@namegdef{^^e4}##1{\@empty\CJK@char{E4}{##1}} + \CJK@namegdef{^^e5}##1{\@empty\CJK@char{E5}{##1}} + \CJK@namegdef{^^e6}##1{\@empty\CJK@char{E6}{##1}} + \CJK@namegdef{^^e7}##1{\@empty\CJK@char{E7}{##1}} + \CJK@namegdef{^^e8}##1{\@empty\CJK@char{E8}{##1}} + \CJK@namegdef{^^e9}##1{\@empty\CJK@char{E9}{##1}} + \CJK@namegdef{^^ea}##1{\@empty\CJK@char{EA}{##1}} + \CJK@namegdef{^^eb}##1{\@empty\CJK@char{EB}{##1}} + \CJK@namegdef{^^ec}##1{\@empty\CJK@char{EC}{##1}} + \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ED}{##1}} + \CJK@namegdef{^^ee}##1{\@empty\CJK@char{EE}{##1}} + \CJK@namegdef{^^ef}##1{\@empty\CJK@char{EF}{##1}} + \CJK@namegdef{^^f0}##1{\@empty\CJK@char{F0}{##1}} + \CJK@namegdef{^^f1}##1{\@empty\CJK@char{F1}{##1}} + \CJK@namegdef{^^f2}##1{\@empty\CJK@char{F2}{##1}} + \CJK@namegdef{^^f3}##1{\@empty\CJK@char{F3}{##1}} + \CJK@namegdef{^^f4}##1{\@empty\CJK@char{F4}{##1}} + \CJK@namegdef{^^f5}##1{\@empty\CJK@char{F5}{##1}} + \CJK@namegdef{^^f6}##1{\@empty\CJK@char{F6}{##1}} + \CJK@namegdef{^^f7}##1{\@empty\CJK@char{F7}{##1}} + \CJK@namegdef{^^f8}##1{\@empty\CJK@char{F8}{##1}} + \CJK@namegdef{^^f9}##1{\@empty\CJK@char{F9}{##1}} + \CJK@namegdef{^^fa}##1{\@empty\CJK@char{FA}{##1}} + \CJK@namegdef{^^fb}##1{\@empty\CJK@char{FB}{##1}} + \CJK@namegdef{^^fc}##1{\@empty\CJK@char{FC}{##1}} + \CJK@namegdef{^^fd}##1{\@empty\CJK@char{FD}{##1}} + \CJK@namegdef{^^fe}##1{\@empty\CJK@char{FE}{##1}}} + +\endinput diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index 914270f7ef2..0c4393b78b8 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -103,7 +103,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'cheq', "die 'skipping, nosell license'", 'circuit_macros', "die 'skipping, needs m4'", 'cjhebrew', "&MAKEflatten", - 'cjk', "die 'skipping, not ready'", #"&MAKEcjk", + 'cjk', "&MAKEcjk", 'clock', "&MAKEflatten", 'cm-lgc', '&MAKEcmlgc', 'cm-super', "&MAKEflatten", @@ -2732,15 +2732,18 @@ sub MAKEvossde { # wadalab provides nearly TDS-ready .tar.gz with additional stuff +# sub MAKEwadalab { - print "MAKEwadalab $package\n"; + print "MAKEwadalab $package - munge tds-ready tarballs\n"; &setup; &xchdir ("$DEST/doc/$whichdocformat/$package"); + # each XX.tar.gz contains a tds-ready tree under XX/texmf: use it - opendir (HERE, ".") or die "this should no happen: $!"; + opendir (HERE, ".") || die "opendir(.) failed: $!"; my @tarfiles = grep /\.tar\.gz$/, readdir HERE; - closedir HERE; + closedir (HERE); + my $destfonts = "$DEST/fonts"; &SYSTEM ("mkdir -p $destfonts"); foreach my $tarfile (@tarfiles) { @@ -2749,9 +2752,14 @@ sub MAKEwadalab &SYSTEM ("cp -r $tarfile/texmf/* $DEST"); &SYSTEM ("rm -r $tarfile/texmf && rmdir $tarfile"); } + + # except the mincho-1-8-* tarball misses the doc/fonts level. + &SYSTEM ("$MV $DEST/doc/wadalab/* $DEST/doc/fonts/wadalab/"); + # wadalab has a dir of xdelta from the original fonts -d "xdelta" && &SYSTEM ("$MV xdelta $DEST/source/$whichdocformat/$package"); - # rm unused directories + + # rm unused directories. &SYSTEM ("rmdir $DEST/*/$whichformat/$package 2>/dev/null"); } @@ -3091,11 +3099,30 @@ sub MAKEcjk &SYSTEM ("$RM *.zip && $MV 4.8.0/* . && rmdir 4.8.0"); # &xchdir ($DEST); + # + # move contrib into source subdir. + &SYSTEM ("$MV $DOCDIR/contrib source/latex/cjk/"); + # # rename texinput to tex/latex/cjk. &SYSTEM ("rmdir tex/latex/cjk; $MV $DOCDIR/texinput tex/latex/cjk"); # - # miscellany for source subdir. - &SYSTEM ("$MV $DOCDIR/contrib $DOCDIR/utils source/latex/cjk/"); + # rename texlive, contains modified KS/HLaTeX .fd files. + my $ksl_dest = "tex/latex/cjk/contrib/hlatex-texlive"; + &xmkdir ($ksl_dest); + &SYSTEM ("$MV $DOCDIR/texlive $ksl_dest"); + # + # move utils into source subdir too, wht we have in + # Build/source/texk/cjkutils is a tiny subset. + &SYSTEM ("$MV $DOCDIR/utils source/latex/cjk/"); + # + # remove the thaifont runtime files which we painfully package separately. + # but leave other thaifont files here, not worth dealing. + &SYSTEM ("rm -rf source/latex/cjk/utils/thaifont/texmf"); + # + # We need the wadalab fd files. + my $wada_dest = "tex/latex/cjk/contrib/wadalab"; + &xmkdir ($wada_dest); + &SYSTEM ("$MV source/latex/cjk/contrib/wadalab/*.fd* $wada_dest/"); } sub MAKEcmlgc diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 9414a7492b0..aae07ad7c0e 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -42,7 +42,7 @@ my @WorkingTLP = qw( changebar changepage changes chappg chem-journal chemcompounds chemscheme chemstyle cherokee chessboard chessfss circ - citeref cjhebrew classicthesis + citeref cjhebrew cjk classicthesis clefval cleveref clock clrscode cm-super cmap cmastro cmcyr cmdstring cmdtrack cmll colorinfo @@ -200,7 +200,7 @@ my @WorkingTLP = qw( vancouver variations varindex varsfromjobname vector velthuis venn verse versions vertex vhistory visualfaq vmargin vntex volumes vpe vwcol vxu - wallpaper warning warpcol williams wordlike wrapfig + wadalab wallpaper warning warpcol williams wordlike wrapfig xargs xbase xcolor xdoc xecyr xetex-def xetex-pstricks xetexfontinfo xetexref xfor xgreek xifthen xkeyval xltxtra xmpincl xnewcommand xoptarg diff --git a/Master/tlpkg/tlpsrc/cjk.tlpsrc b/Master/tlpkg/tlpsrc/cjk.tlpsrc new file mode 100644 index 00000000000..d6393d4f7a8 --- /dev/null +++ b/Master/tlpkg/tlpsrc/cjk.tlpsrc @@ -0,0 +1,8 @@ +name cjk +category Package +depend arphic +depend cns +depend garuda +depend norasi +depend uhc +depend wadalab diff --git a/Master/tlpkg/tlpsrc/wadalab.tlpsrc b/Master/tlpkg/tlpsrc/wadalab.tlpsrc index b04b02af54a..14f7ca68e80 100644 --- a/Master/tlpkg/tlpsrc/wadalab.tlpsrc +++ b/Master/tlpkg/tlpsrc/wadalab.tlpsrc @@ -1,6 +1,13 @@ name wadalab category Package -execute addMap wadalab.map -srcpattern +!d texmf-dist/source/latex/CJK/contrib/wadalab -runpattern +!d texmf-dist/tex/latex/CJK/contrib/wadalab -docpattern +!d texmf-dist/doc/latex/CJK/contrib/wadalab +execute addMap dgj.map +execute addMap dmj.map +execute addMap mc2j.map +execute addMap mcj.map +execute addMap mr2j.map +execute addMap mrj.map +# +# these are part of the cjk package, despite being in a wadalab subdir. +srcpattern +!d texmf-dist/source/latex/cjk/contrib/wadalab +runpattern +!d texmf-dist/tex/latex/cjk/contrib/wadalab +docpattern +!d texmf-dist/doc/latex/cjk/contrib/wadalab |