X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Flltjext.sty;h=5cf1849b92bc22d826a59b01a1e1f18b065dc2e0;hb=0526b27bf88ed7f2adedef267f4d9226f6f5a692;hp=9c5bf9ac72bdfb6bc76d7cc4a791cf4bed2ace8f;hpb=d78a28701153aaab04735b0cf6e22e82cb286fd1;p=luatex-ja%2Fluatexja.git diff --git a/src/lltjext.sty b/src/lltjext.sty index 9c5bf9a..5cf1849 100644 --- a/src/lltjext.sty +++ b/src/lltjext.sty @@ -1,9 +1,10 @@ % % lltjext.sty: derived from plext.sty in pLaTeX. % + \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{lltjext} - [2014/08/11 v1.2-ltj-2 Macros for vertical writing] + [2014/09/06 v1.2-ltj-3 Macros for vertical writing] \RequirePackage{luatexja} \let\ltj@lltjext@orig@tabular=\tabular @@ -609,30 +610,39 @@ \hbox{#2}\else \hskip\rensujiskip \ifvmode\leavevmode\fi + \setbox\tw@\hbox{漢}% 「あ」では仮名書体使用時がまずそう + \@tempdimb\ltjgetht\tw@ \advance\@tempdimb\ltjgetdp\tw@ \ifnot@advanceline\not@advancelinefalse\else \setbox\z@\hbox{\yoko#2}% \@tempdima\ltjgetht\z@ \advance\@tempdima\ltjgetdp\z@ \ifnum\ltjgetparameter{direction}=1\relax - \if #1c\relax\vrule \@width \z@ \@height.5\@tempdima \@depth.5\@tempdima - \else\if #1l\relax\vrule\@width \z@\@height\z@ \@depth\@tempdima - \else\vrule\@width \z@ \@height\@tempdima \@depth\z@ + % 周囲が dtou の場合には,高さ \ltjgetht\tw@, 深さ \ltjgetdp\tw@ のボックスを基準としている. + \if #1c\relax\vrule \@width \z@ \@height\dimexpr.5\@tempdima+.5\ltjgetht\tw@-.5\ltjgetdp\tw@ + \@depth\dimexpr.5\@tempdima-.5\ltjgetht\tw@+.5\ltjgetdp\tw@ + \else\if #1l\relax\vrule\@width \z@\@height\ltjgetht\tw@ \@depth\dimexpr\@tempdima-\ltjgetht\tw@ + \else\vrule\@width \z@ \@height\dimexpr\@tempdima-\ltjgetdp\tw@ \@depth\ltjgetdp\tw@ \fi\fi \else - \if #1c\relax\vrule \@width \z@ \@height.5\@tempdima \@depth.5\@tempdima - \else\if #1r\relax\vrule\@width \z@\@height\z@ \@depth\@tempdima - \else\vrule\@width \z@ \@height\@tempdima \@depth\z@ + % 周囲が tate, utod の場合も同じ + \if #1c\relax\vrule \@width \z@ \@height\dimexpr.5\@tempdima+.5\ltjgetht\tw@-.5\ltjgetdp\tw@ + \@depth\dimexpr.5\@tempdima-.5\ltjgetht\tw@+.5\ltjgetdp\tw@ + \else\if #1r\relax\vrule\@width \z@\@height\ltjgetht\tw@ \@depth\dimexpr\@tempdima-\ltjgetht\tw@ + \else\vrule\@width \z@ \@height\dimexpr\@tempdima-\ltjgetdp\tw@ \@depth\ltjgetdp\tw@ \fi\fi \fi \fi \ifnum\ltjgetparameter{direction}=1\relax - \if #1c\relax\hbox to\zw{\yoko\hss#2\hss}% - \else\if #1r\relax\vbox{\hbox to\zw{\yoko\hss#2}\kern\z@}% - \else\vtop{\kern\z@\hbox to\zw{\yoko#2\hss}}% + \if #1c\relax\hbox to\@tempdimb{\yoko\hss#2\hss\kern-\ltjgetdp\tw@}% + \else\if #1r\relax\vbox{\hbox to\@tempdimb{\yoko\hss#2\kern-\ltjgetdp\tw@}}% + \else\lower\ltjgetdp\tw@\vtop{\hbox to\@tempdimb{\yoko#2\hss}}% \fi\fi \else - \if #1c\relax\hbox to\zw{\yoko\hss#2\hss}% - \else\if #1r\relax\vtop{\kern\z@\hbox to\zw{\yoko\hss#2}}% - \else\vbox{\hbox to\zw{\yoko #2\hss}\kern\z@}% + \if #1c\relax\raise\dimexpr.5\@tempdimb-\ltjgetdp\tw@ + \hbox to\@tempdimb{\yoko \hss#2\hss}% + \else\if #1r\relax\raise\dimexpr.5\@tempdimb-\ltjgetdp\tw@ + \vbox{\hbox to\@tempdimb{\yoko\hss#2}}% + \else\raise\dimexpr.5\@tempdimb-\ltjgetdp\tw@ + \vtop{\hbox to\@tempdimb{\yoko #2\hss}}% \fi\fi \fi \hskip\rensujiskip @@ -643,7 +653,7 @@ %%% kanji \def\Kanji#1{\expandafter\@Kanji\csname c@#1\endcsname} \def\@Kanji#1{\expandafter\kansuji\number #1} -\def\kanji{\iftdir\expandafter\kansuji\fi} +\def\kanji{\ifnum\ltjgetparameter{direction}=3 \expandafter\kansuji\fi} %%% bou %%% @@ -746,4 +756,6 @@ \RequirePackage{filehook} \AtEndOfPackageFile{array}{\ltj@lltjext@patch@array} } + + \endinput \ No newline at end of file