summaryrefslogtreecommitdiff
path: root/language/japanese/BX/bxbase/bxbase.sty
diff options
context:
space:
mode:
Diffstat (limited to 'language/japanese/BX/bxbase/bxbase.sty')
-rw-r--r--language/japanese/BX/bxbase/bxbase.sty73
1 files changed, 73 insertions, 0 deletions
diff --git a/language/japanese/BX/bxbase/bxbase.sty b/language/japanese/BX/bxbase/bxbase.sty
new file mode 100644
index 0000000000..194d7ccf3f
--- /dev/null
+++ b/language/japanese/BX/bxbase/bxbase.sty
@@ -0,0 +1,73 @@
+%%
+%% This is file 'bxbase.sty'.
+%%
+%% Copyright (c) 2017 Takayuki YATO (aka. "ZR")
+%% GitHub: https://github.com/zr-tex8r
+%% Twitter: @zr_tex8r
+%%
+%% This package is distributed under the MIT License.
+%%
+
+%% package declaration
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{bxbase}[2017/05/29 v1.1 BX base library]
+
+%--------------------------------------- main
+
+%% load submodule
+\providecommand*\bxRequireDefinition[1]{%
+ \def\bxbz@ext{def}\@onefilewithoptions{#1}[][]\bxbz@ext}
+\bxRequireDefinition{bxbase}
+
+%% enable begin-document hooks
+\bxBDHookBabel
+\bxBDHookUnicode
+\bxBDHookJisInput
+\bxBDHookSafeCaret
+\bxBDHookUcsFastErrors
+
+%% error messages
+\def\bxbz@pkgname{bxbase}
+\def\bxbz@inf@aecsq#1{%
+ \PackageInfo\bxbz@pkgname
+ {Command \string#1 already exists}}
+
+%--------------------------------------- extra
+
+%%<*> \Ux / \UI / \AJ / \JI / \KI
+% define commands unless their name is already used
+\bxPreamble\def\bxbz@charcmd#1#2{%
+ \ifundef#1{\def#1{#2}}{\bxbz@inf@aecsq#1}}
+\bxbz@charcmd\Ux\bxUx
+\bxbz@charcmd\UI\bxUI
+\bxbz@charcmd\AJ\bxAJ
+\bxbz@charcmd\JI\bxJI
+\bxbz@charcmd\KI\bxKI
+
+%--------------------------------------- all done
+\endinput
+%
+% * bxbase provides:
+% - bx@Uxh@fb (terminal)
+% - bxUx (passed to bx@Ux)
+% - bxUI (passed to bx@UI)
+% - bxUHex (passed to bx@Uxh)
+% * bxutf8 provides:
+% - conversion from UTF8 string to bxUHex
+% * bxucs provides:
+% - bx@Ux@ucs (fallback to bx@UI)
+% - bx@Uxh@ucs (fallback to bx@UIh)
+% * utf/otf provides:
+% - bx@UIh@p (terminal)
+%
+% [default]
+% bx@Ux bx@Uxh
+% v v
+% bx@UI > bx@UIh = bx@UIh@fb or bx@UIh@p
+%
+% [with bxucs]
+% bx@Ux = bx@Ux@ucs bx@Uxh = bx@Uxh@ucs
+% v v
+% bx@UI > bx@UIh = bx@Uxh@fb or bx@UIh@p
+%
+%% EOF