summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bxwareki/bxwareki.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-10-02 01:05:54 +0000
committerKarl Berry <karl@freefriends.org>2018-10-02 01:05:54 +0000
commitce46cfeac58868701de09c0e4a836a9bbbdcf049 (patch)
tree02f2a68c1c6171442ea3d5a7858c11176e2f98b6 /Master/texmf-dist/tex/latex/bxwareki/bxwareki.sty
parent60e8c3cc3a1065efdbecf837cd389599f261e588 (diff)
bxwareki (1oct18) [recommit]
git-svn-id: svn://tug.org/texlive/trunk@48799 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/bxwareki/bxwareki.sty')
-rw-r--r--Master/texmf-dist/tex/latex/bxwareki/bxwareki.sty64
1 files changed, 61 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/latex/bxwareki/bxwareki.sty b/Master/texmf-dist/tex/latex/bxwareki/bxwareki.sty
index 2509ccf7522..35349508622 100644
--- a/Master/texmf-dist/tex/latex/bxwareki/bxwareki.sty
+++ b/Master/texmf-dist/tex/latex/bxwareki/bxwareki.sty
@@ -12,7 +12,7 @@
%% package declaration
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bxwareki}[2018/09/24 v0.3]
+\ProvidesPackage{bxwareki}[2018/10/01 v0.4]
%% preparation
\def\bxwy@pkgname{bxwareki}
@@ -87,6 +87,38 @@
\expandafter\mathchardef\csname c@#1\endcsname#2\relax}
\fi
+%--------------------------------------- options
+
+%% variables
+\newif\ifbxwy@download
+
+%% 'download'
+\DeclareOption{download2019}{%
+ \bxwy@downloadtrue}
+% dispatch
+\ProcessOptions\relax
+
+%--------------------------------------- download mode
+
+\ifbxwy@download
+ \chardef\bxwy@next=\tw@
+ \ifnum\bxwy@engine=5
+ \input{bxwareki-cd.def}
+ \fi
+ \ifcase\bxwy@next
+ \PackageInfo\bxwy@pkgname
+ {The installation of 'bxwareki2019.def' succeeded\@gobble}
+ \or
+ \PackageWarningNoLine\bxwy@pkgname
+ {The installation of 'bxwareki2019.def' failed}
+ \else
+ \PackageWarningNoLine\bxwy@pkgname
+ {Download mode is not available here and thus\MessageBreak
+ the option 'download2019' is ignored}
+ \fi
+\fi
+\bxwy@downloadfalse
+
%--------------------------------------- Japanese string maker
% The "combo-code" represents a single Japanese character and has
@@ -282,6 +314,10 @@
% The kanji string for the new gengo if available; otherwise empty.
\let\bxwy@new@gengo\@empty
+%% \bxwy@new@gengo@initial
+% The initial Latin letter for the new gengo.
+\let\bxwy@new@gengo@initial\@empty
+
%% read the file
\endlinechar\m@ne
\openin\@inputcheck=\bxwy@new@gengo@file\relax
@@ -296,10 +332,19 @@
\else
\edef\bxwy@next{\noexpand\bxwy@new@gengo{\bxwy@tmpa}}
\expandafter\bxwy@add@jchar\bxwy@next
+ \read\@inputcheck to\bxwy@tmpa
+ \ifeof\@inputcheck
+ \global\let\bxwy@new@gengo\@empty
+ \else
+ \let\bxwy@new@gengo@initial\bxwy@tmpa
+ \fi
\fi
\fi
\fi
\endlinechar=13 %
+\def\bxwy@next#1>#2#3#4\bxwy@end{%
+ \ifx#3\relax\else \let\bxwy@new@gengo@initial\@empty \fi}
+\expandafter\bxwy@next\meaning\bxwy@new@gengo@initial\relax\relax\bxwy@end
%--------------------------------------- calculate wareki year
@@ -341,7 +386,7 @@
% Sets \bxwy@g@gengo and \bxwy@g@year.
\def\bxwy@calc@wareki@year{%
\@tempcnta=\the\year\two@digits\month\two@digits\day\relax
- \let\bxwy@tmpb\@empty \@tempcntb\year
+ \let\bxwy@tmpa\@empty \let\bxwy@tmpb\@empty \@tempcntb\year
\ifnum\@tempcnta<18730101 % ancient times (non-Gregorian)
\else\ifnum\@tempcnta<19120730 % meiji era
\let\bxwy@tmpb\bxwy@@meiji
@@ -366,6 +411,16 @@
\xdef\bxwy@g@year{\the\@tempcntb}%
\xdef\bxwy@g@date{{\the\year}{\the\month}{\the\day}}}
+%% \bxwy@gengo@initial@of\CS
+\def\bxwy@gengo@initial@of#1{%
+ \ifx#1\@empty \@empty
+ \else\ifx#1\bxwy@@meiji M%
+ \else\ifx#1\bxwy@@taisho T%
+ \else\ifx#1\bxwy@@showa S%
+ \else\ifx#1\bxwy@@heisei H%
+ \else\ifx#1\bxwy@new@gengo \bxwy@new@gengo@initial
+ \fi\fi\fi\fi\fi\fi}
+
%--------------------------------------- render wareki date
%% \bxwy@render@for\CSIdate\CSIgengo\CSIyear
@@ -424,7 +479,8 @@
%% \bxwy@render@date
\def\bxwy@render@date{%
\bxwy@render@for\bxwy@date\warekigengo\c@warekiyear
- \warekiyear\warekidate\warekikanjidate\warekijkanjidate}
+ \warekiyear\warekidate\warekikanjidate\warekijkanjidate
+ \edef\warekigengoinitial{\bxwy@gengo@initial@of\warekigengo}}
%% \bxwy@render@today
\def\bxwy@render@today{%
\bxwy@render@for\bxwy@today@date\bxwy@today@gengo\bxwy@today@year
@@ -447,6 +503,8 @@
\bxwy@newcounter{warekiyear}
%%<*> \warekigengo : kanji string of the current gengo
\newcommand*\warekigengo{}
+%%<*> \warekigengoinitial : initial Latin letter of the current gengo
+\newcommand*\warekigengoinitial{}
%%<*> \warekiyear : string of the wareki year
\newcommand*\warekiyear{}
%%<*> \warekidate : string of the wareki date