summaryrefslogtreecommitdiff
path: root/language/korean/kotex-oblivoir/tex/memhangul-x/xob-lwarp.sty
diff options
context:
space:
mode:
Diffstat (limited to 'language/korean/kotex-oblivoir/tex/memhangul-x/xob-lwarp.sty')
-rw-r--r--language/korean/kotex-oblivoir/tex/memhangul-x/xob-lwarp.sty177
1 files changed, 177 insertions, 0 deletions
diff --git a/language/korean/kotex-oblivoir/tex/memhangul-x/xob-lwarp.sty b/language/korean/kotex-oblivoir/tex/memhangul-x/xob-lwarp.sty
new file mode 100644
index 0000000000..bbfea75956
--- /dev/null
+++ b/language/korean/kotex-oblivoir/tex/memhangul-x/xob-lwarp.sty
@@ -0,0 +1,177 @@
+%% xob-lwarp.sty
+%%
+%% part of xoblivoir package bundle
+%% 2020/02/09
+%%
+\ProvidesPackage{xob-lwarp}
+
+\if@lwarp
+ \def\makerunningwidth#1#2{%
+ \expandafter\let\csname #1headrunwidth\endcsname\textwidth
+ \expandafter\let\csname #1footrunwidth\endcsname\textwidth
+ }
+ \def\makeheadposition#1#2#3#4#5{}
+ \def\copypagestyle#1#2{\makepagestyle{#1}}
+ \AtBeginDocument{
+ \def\@partapp{Part}
+ \def\@chapapp{Chapter}
+ }
+ \AtEndPreamble{
+ \HTMLLanguage{\LWARPlan}
+ }
+
+ \let\if@bsstyle\iftrue
+ \let\abstitlestyle\textbf
+%
+ %%%% copy-paste from xetexko-vertical.sty
+ \ifxetex
+ % do not veticalize headline/footline
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname selectfont\endcsname\relax % plain
+ \protected\def\verticaltypesetting{%
+ \dimen@\hsize\hsize\vsize\vsize\dimen@
+ \edef\plainoutput{\unexpanded{\dimen@\hsize\hsize\vsize\vsize\dimen@}%
+ \unexpanded\expandafter{\plainoutput}}%
+ \def\pagebody{\setbox\z@\vbox to\hsize{\boxmaxdepth=\maxdepth
+ \pagecontents}\xetexko@rotatebox\z@\box\z@}%
+ \maxdepth\z@ \XK@vertical@spacing}
+ \else % latex
+ \protected\def\verticaltypesetting{%
+ \AtBeginDocument{\XK@vertical@spacing}%
+ \maxdepth\z@
+ \dimen@\textwidth
+ \textwidth\textheight
+ \textheight\dimen@
+ \edef\@outputpage{%
+ \unexpanded{\xetexko@rotatebox\@outputbox\textwidth\textheight}%
+ \unexpanded\expandafter{\@outputpage}}%
+ }
+ \@onlypreamble\verticaltypesetting
+ \fi
+
+ \def\xetexko@rotatebox#1{%
+ \ifvbox#1\count@\@ne\else\count@\z@\fi
+ \dimen@\wd#1\dimen@ii\dimexpr\ht#1+\dp#1\relax
+ \setbox#1\ifnum\count@=\@ne
+ \vbox to\dimen@\bgroup\hbox to\dimen@ii\bgroup\hfil\else
+ \hbox to\dimen@ii\bgroup\vbox to\dimen@\bgroup\fi
+ \wd#1\z@ \ht#1\z@ \dp#1\z@
+ \special{x:gsave}\special{x:rotate -90}\box#1\special{x:grestore}%
+ \ifnum\count@=\@ne\egroup\vfil\else\vfil\egroup\hfil\fi\egroup
+ }
+
+ % users can declare vertical EM size, which might be different from 1em.
+ \newdimen\verticalem
+
+ \def\XK@vertical@spacing{%
+ \ifnum\verticalem > \z@
+ \def\XK@vert@half@em{.5\verticalem}%
+ \else
+ \def\XK@vert@half@em{.5em}%
+ \fi
+ \let\xk@horiz@precjkopenparen \precjkopenparen
+ \let\xk@horiz@precjkcloseparen\precjkcloseparen
+ \let\xk@horiz@precjkfullstop \precjkfullstop
+ \ifx\precjkopenparen\relax\else
+ \def\precjkopenparen {\leavevmode
+ \ifx\empty\xetexkocharraise\else\raise\xetexkocharraise\fi
+ \hbox
+ \ifx\XKdisablecjksymbolspacing\empty
+ \bgroup
+ \else
+ to\XK@vert@half@em \bgroup \hss
+ \fi
+ }%
+ \fi
+ \ifx\precjkcloseparen\relax\else
+ \def\precjkcloseparen{\leavevmode
+ \ifx\empty\xetexkocharraise\else\raise\xetexkocharraise\fi
+ \hbox
+ \ifx\XKdisablecjksymbolspacing\empty\else
+ to\XK@vert@half@em
+ \fi
+ \bgroup}%
+ \fi
+ \ifx\precjkfullstop\relax\else
+ \def\precjkfullstop {\leavevmode
+ \ifx\empty\xetexkocharraise\else\raise\xetexkocharraise\fi
+ \hbox
+ \ifx\XKdisablecjksymbolspacing\empty\else
+ to\XK@vert@half@em
+ \fi
+ \bgroup}%
+ \fi
+ \spaceskip\XK@vert@half@em plus\XK@vert@half@em\relax
+ \parindent\XK@vert@half@em \parindent2\parindent
+ }
+
+ \protected\def\vertical#1{%
+ \setbox\z@\vbox\bgroup
+ \hsize=#1%
+ \leftskip\z@
+ \rightskip\z@
+ \parindent\z@
+ \everypar{}%
+ \XK@vertical@spacing
+ }
+
+ \protected\def\endvertical{%
+ \egroup
+ \dimen@\dimexpr\ht\z@+\dp\z@\relax
+ \dimen@ii\dimexpr\wd\z@-\dp\z@\relax
+ \setbox\z@\hbox{%
+ \kern\dimexpr\ht\z@+0.5em\relax
+ \wd\z@\z@
+ \ht\z@\z@
+ \dp\z@\z@
+ \special{x:gsave}%
+ \special{x:rotate -90}%
+ \box\z@
+ \special{x:grestore}}%
+ \wd\z@\dimen@
+ \ht\z@\z@
+ \dp\z@\z@
+ \leavevmode
+ \raise\dimen@ii\box\z@
+ }
+
+ % horizontal box inside vertical typesetting
+ \protected\def\horizontal#1{%
+ \setbox\z@\vbox\bgroup
+ \hsize=#1%
+ \leftskip \z@
+ \rightskip\z@
+ \parindent\z@
+ \everypar {}%
+ \spaceskip \fontdimen2\font
+ plus \fontdimen3\font
+ minus\fontdimen4\font
+ \ifdefined\xk@horiz@precjkopenparen
+ \let\precjkopenparen \xk@horiz@precjkopenparen
+ \let\precjkcloseparen\xk@horiz@precjkcloseparen
+ \let\precjkfullstop \xk@horiz@precjkfullstop
+ \fi
+ }
+ \protected\def\endhorizontal{%
+ \egroup
+ \dimen@\dimexpr\ht\z@+\dp\z@\relax
+ \dimen@ii\dimexpr\wd\z@+.5ex\relax
+ \setbox\z@\hbox\bgroup
+ \wd\z@\z@\ht\z@\z@\dp\z@\z@
+ \special{x:gsave}%
+ \special{x:rotate 90}%
+ \box\z@
+ \special{x:grestore}%
+ \egroup
+ \wd\z@\dimen@
+ \ht\z@\dimen@ii
+ \dp\z@\z@
+ \fboxsep=-\fboxrule
+ \leavevmode\lower.5ex\box\z@
+ }
+
+ \protected\def\vertlatin#1{\leavevmode\lower0.5ex\hbox{\latinmarks #1}}
+ \fi % end of vertical
+\fi
+\endinput
+