summaryrefslogtreecommitdiff
path: root/language/japanese/zxjafbfont
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/japanese/zxjafbfont
Initial commit
Diffstat (limited to 'language/japanese/zxjafbfont')
-rw-r--r--language/japanese/zxjafbfont/LICENSE24
-rw-r--r--language/japanese/zxjafbfont/README24
-rw-r--r--language/japanese/zxjafbfont/zxjafbfont.sty63
3 files changed, 111 insertions, 0 deletions
diff --git a/language/japanese/zxjafbfont/LICENSE b/language/japanese/zxjafbfont/LICENSE
new file mode 100644
index 0000000000..788b1d69d9
--- /dev/null
+++ b/language/japanese/zxjafbfont/LICENSE
@@ -0,0 +1,24 @@
+$BK\%=%U%H%&%'%"$O(B MIT $B%i%$%;%s%9$N2<$GG[I[$5$l$^$9!#Cx:n8"$O:n<T$G$"$k(B
+$B!VH,EP?rG7!JJLL>(B ZR$B!K!W$KB0$7$^$9!#$^$?K\%=%U%H%&%'%"$OL5J]>Z$G$9!#(B
+
+The MIT License
+
+Copyright (c) 2009-2011 Takayuki YATO (a.k.a. "ZR")
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/language/japanese/zxjafbfont/README b/language/japanese/zxjafbfont/README
new file mode 100644
index 0000000000..9971e8d7a6
--- /dev/null
+++ b/language/japanese/zxjafbfont/README
@@ -0,0 +1,24 @@
+ZXjafbfont パッケージ
+
+前提環境
+ XeTeX および xeCJK パッケージが正しくインストールおよび設定されていること。
+
+インストール
+ - *.sty → $TEXMF/tex/xelatex/ZXjafbfont/
+
+使用法
+ xeCJK(または zxjatype)より後に zxjafbfont パッケージを読み込む。
+ \usepackage[...]{xeCJK} % または zxjatype
+ \usepackage{zxjafbfont}
+ 代替として用いるフォントファミリを xeCJK の \setCJKfamilyfont (または
+ zxjatype の \setjafamilyfont)命令で宣言する。
+ \setCJKfamilyfont{altcjk}{Some CJK Family}
+ 文書中の任意の場所(プレアンブルでも本文でも可)で \setCJKfallbackfamily
+ 命令で宣言したファミリ名を指定すと、それ以降で指定のファミリが代替として
+ 自動的に用いられるようになる。
+ \setCJKfallbackfamily{altcjk}
+ \unsetCJKfallbackfamily 命令で代替の指定を解除できる。
+ \unsetCJKfallbackfamily
+
+En toi Pythmeni tes TeXnopoleos ~電脳世界の奥底にて~
+http://zrbabbler.sp.land.to/
diff --git a/language/japanese/zxjafbfont/zxjafbfont.sty b/language/japanese/zxjafbfont/zxjafbfont.sty
new file mode 100644
index 0000000000..762a0d5ec5
--- /dev/null
+++ b/language/japanese/zxjafbfont/zxjafbfont.sty
@@ -0,0 +1,63 @@
+%
+% zxjafbfont.sty
+%
+
+%% package declaration
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{zxjafbfont}[2011/02/20 v0.2]
+
+%% preparations
+\def\zxjx@pkgname{zxjafbfont}
+\def\zxjx@error{\PackageError\zxjx@pkgname}
+%
+\RequirePackage{xeCJK}
+
+%%------ User interface
+
+%%<*> \setCJKfallbackfamily{<CJK_family_name>}
+\newcommand*\setCJKfallbackfamily[1]{%
+ \let\CJKsymbol\zxjx@CJKsymbol
+ \edef\zxjx@fb@family{#1}}
+
+%%<*> \unsetCJKfallbackfamily
+\newcommand*\unsetCJKfallbackfamily{%
+ \let\CJKsymbol\zxjx@org@CJKsymbol
+ \let\zxjx@fb@family\relax}
+
+%% \zxjx@fb@family
+\let\zxjx@fb@family\relax
+
+%%------ Patch to xeCJK procedures
+
+%% \zxjx@enter@local
+\def\zxjx@enter@local{%
+ \bgroup \let\zxjx@maybe@egroup\egroup
+ \zxjx@revoke@ingress}
+\let\zxjx@maybe@egroup\@empty
+\def\zxjx@preto@ictoks#1#2#3{%
+ \chardef\zxjx@x=#1\chardef\zxjx@y=#2\relax
+ \XeTeXinterchartoks\zxjx@x\zxjx@y\expandafter{%
+ \expandafter#3\the\XeTeXinterchartoks\zxjx@x\zxjx@y}}
+\@for\zxjx@a:=1,2,3\do{%
+ \@for\zxjx@b:=0,1,2,3,4,5,6,255\do{%
+ \zxjx@preto@ictoks\zxjx@a\zxjx@b{\zxjx@maybe@egroup}}}
+\def\zxjx@revoke@ingress{%
+ % Segfaults would occur unless \relax is there... (why?)
+ \XeTeXinterchartoks 255 1{\relax}%
+ \XeTeXinterchartoks 255 2{\relax}%
+ \XeTeXinterchartoks 255 3{\relax}}
+\chardef\zxjx@geta="3013
+
+%% \zxjx@CJKsymbol
+\def\zxjx@CJKsymbol#1{%
+ \zxjx@enter@local
+ \chardef\zxjx@uc=`#1\relax
+ \unless\iffontchar\font\zxjx@uc
+ \CJKfamily\zxjx@fb@family \xeCJK@setfont
+ \fi
+ \zxjx@uc}
+\let\zxjx@org@CJKsymbol\CJKsymbol
+
+%%------ all done
+\endinput
+%% EOF