diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/chinese/CJK/cjk-4.8.4/utils/SJISconv |
Initial commit
Diffstat (limited to 'language/chinese/CJK/cjk-4.8.4/utils/SJISconv')
7 files changed, 399 insertions, 0 deletions
diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1 b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1 new file mode 100644 index 0000000000..c385eb616d --- /dev/null +++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.1 @@ -0,0 +1,110 @@ +.\" man page for sjisconv +.\" Copyright (C) 1994-2015 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 18-Apr-2015 "CJK Version 4.8.4" +. +.\" ==== +.\" ==== macro definitions +.\" ==== +. +.\" here we define \TeX for troff and nroff +.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP +.if n .ds TX TeX +. +.\" and here the same for \LaTeX +.if t \{\ +.ie '\*(.T'dvi' \ +.ds LX \fRL\h'-0.36m'\v'-0.15v'\s-3A\s0\h'-0.15m'\v'0.15v'\fP\*(TX +.el .ds LX \fRL\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\fP\*(TX +.\} +.if n .ds LX LaTeX +. +.\" \LaTeXe +.\" note that we need \vareps for TeX instead of \eps which can only be +.\" accessed with the \N escape sequence (in the Math Italic font) +.if t \{\ +.ie '\*(.T'dvi' .ds LE \*(LX\h'0.15m'2\v'0.20v'\f(MI\N'34'\fP\v'-0.20v' +.el .ds LE \*(LX\h'0.15m'2\v'0.20v'\(*e\v'-0.20v' +.\} +.if n .ds LE LaTeX\ 2e +. +.\" a typewriter font +.if t \{\ +.de C +\fC\\$1\fP\\$2 +.. +.\} +.if n \{\ +.de C +\\$1\\$2 +.. +.\} +. +.\" ==== +.\" ==== end of macro definitions +.\" ==== +. +. +. +.SH NAME +sjisconv \- convert a TeX document in SJIS encoding into `preprocessed' +form. +. +. +.SH SYNOPSIS +.B sjisconv +< +.I infile +> +.I outfile +. +. +.SH DESCRIPTION +SJIS encoding for Japanese uses the characters +.C { , +.C } , +and +.C \e +which have special meanings in \*(TX +documents. +.PP +After processing a \*(LE +document which contains SJIS characters with +.B \%sjisconv +you need not care about these special characters. +.PP +This filter is part of the +.B CJK +macro package for \*(LE. +. +. +.SH "SEE ALSO" +.BR bg5conv (1), +.BR \%cefconv (1), +.BR cef5conv (1), +.BR \%cefsconv (1), +.BR \%extconv (1), +.br +the +.B CJK +documentation files. +. +. +.SH AUTHOR +Werner Lemberg +.C <wl@gnu.org> diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c new file mode 100644 index 0000000000..af121e555d --- /dev/null +++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.c @@ -0,0 +1,33 @@ +#define banner \ +"sjisconv (CJK ver. 4.8.4)" \ + +/*2:*/ +#line 96 "/usr/local/home/wl/git/cjk/cjk-4.8.4/utils/SJISconv/sjisconv.w" + +#include <stdio.h> +#include <stdlib.h> + + +int main(int argc,char*argv[]) +{int ch; + +fprintf(stdout,"\\def\\CJKpreproc{%s}",banner); + +ch= fgetc(stdin); + +while(!feof(stdin)) +{if((ch>=0x81&&ch<=0x9F)||(ch>=0xE0&&ch<=0xEF)) +{fprintf(stdout,"\177%c\177",ch); + +ch= fgetc(stdin); +if(!feof(stdin)) +fprintf(stdout,"%d\177",ch); +} +else +fputc(ch,stdout); + +ch= fgetc(stdin); +} +exit(EXIT_SUCCESS); +return 0; +}/*:2*/ diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w new file mode 100644 index 0000000000..c1044cf36d --- /dev/null +++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisconv.w @@ -0,0 +1,123 @@ +% This is the cweb file sjisconv.w of the CJK Package Ver. 4.8.4 18-Apr-2015 + +% Copyright (C) 1994-2015 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.4)} + +\def\topofcontents{ + \null\vfill + \centerline{\titlefont The {\ttitlefont sjisconv} program} + \vskip 20pt + \centerline{(CJK Version 4.8.4)} + \vfill} + +\def\botofcontents{ + \vfill + \noindent + Copyright \copyright\ 1996, 1998 by Werner Lemberg + \bigskip\noindent + Permission is granted to make and distribute verbatim copies of this + document provided that the copyright notice and this permission notice + are preserved on all copies. + + \smallskip\noindent + Permission is granted to copy and distribute modified versions of this + document under the conditions for verbatim copying, provided that the + entire resulting derived work is distributed under the terms of a + permission notice identical to this one.} + +\pageno=\contentspagenumber \advance\pageno by 1 +\let\maybe=\iftrue +\fullpageheight=240mm +\pageheight=223mm +\pagewidth=158mm +\setpage +\frenchspacing + +\noinx +\nosecs +\nocon + +@* Function and Use. +This small program will convert SJIS encoded Japanese characters into a +`preprocessed' form. The need of this program arises from the fact that this +encoding uses the characters `\.{\\}', `\.{\{}', and `\.{\}}' which have +special meanings in \TeX. + +Use this program as a filter: + +\hskip 2em \.{sjisconv < input\_file > output\_file} + + +@* The program. +The only function of this program is to replace all occurrences of SJIS +encoded two byte characters \.{XY} with +\.{\char94 \char94 7fX\char94 \char94 7fZZZ\char94 \char94 7f} (\.{X} +and \.{Y} are the first and the second byte of the character; \.{ZZZ} +represents the second byte as a decimal number). + +Additionally we define a \TeX\ macro at the very beginning to signal a +preprocessed file. + +The following code is very simple. No error detection is done because \TeX\ +which will see the output of \.{sjisconv} complains loudly if something is +wrong. + +Note that the user-defined character area of SJIS (with the first bytes in +the range 0xF0--0xFC) is not supported because it is not portable. + +@d banner +"sjisconv (CJK ver. 4.8.4)" + +@c +#include <stdio.h> +#include <stdlib.h>@# + + +int main(int argc, char *argv[]) + {int ch; + + fprintf(stdout, "\\def\\CJKpreproc{%s}", banner);@# + + ch = fgetc(stdin);@# + + while(!feof(stdin)) + {if((ch >= 0x81 && ch <= 0x9F) || (ch >= 0xE0 && ch <= 0xEF)) + {fprintf(stdout, "\177%c\177", ch);@# + + ch = fgetc(stdin); + if(!feof(stdin)) + fprintf(stdout, "%d\177", ch); + } + else + fputc(ch, stdout);@# + + ch = fgetc(stdin); + } + exit(EXIT_SUCCESS); + return 0; /* never reached */ + } diff --git a/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex new file mode 100755 index 0000000000..b1086cba76 --- /dev/null +++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjislatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.bat new file mode 100644 index 0000000000..5702c113bd --- /dev/null +++ b/language/chinese/CJK/cjk-4.8.4/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/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd new file mode 100644 index 0000000000..2ff4e03e54 --- /dev/null +++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjisltx.cmd @@ -0,0 +1,44 @@ +/*----------------------------------------------------------------------*\
+ sjisltx.cmd
+
+ This file is part of the CJK macro package for LaTeX2e ver. 4.8.4
+
+ Copyright (C) 1994-2015 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/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex new file mode 100755 index 0000000000..651570da7f --- /dev/null +++ b/language/chinese/CJK/cjk-4.8.4/utils/SJISconv/sjispdflatex @@ -0,0 +1,43 @@ +#! /bin/sh + +# Copyright (C) 1994-2015 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 |