summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luatexko/luatexko.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-07-28 03:01:51 +0000
committerNorbert Preining <norbert@preining.info>2020-07-28 03:01:51 +0000
commitea6d4bea686850292393a94755801b76ef66ec22 (patch)
tree8cefd897e20d18ac3c6ecb276a98c1f6a0115638 /macros/luatex/generic/luatexko/luatexko.sty
parentf1968eac3c6db5bdcc0de5a6131142a612d9e5ea (diff)
CTAN sync 202007280301
Diffstat (limited to 'macros/luatex/generic/luatexko/luatexko.sty')
-rw-r--r--macros/luatex/generic/luatexko/luatexko.sty48
1 files changed, 35 insertions, 13 deletions
diff --git a/macros/luatex/generic/luatexko/luatexko.sty b/macros/luatex/generic/luatexko/luatexko.sty
index f96b228a2c..958407dc81 100644
--- a/macros/luatex/generic/luatexko/luatexko.sty
+++ b/macros/luatex/generic/luatexko/luatexko.sty
@@ -14,7 +14,7 @@
\ifdefined\luatexkohangulfontattr \endinput\fi
\ifdefined\selectfont
\NeedsTeXFormat{LaTeX2e}[2020/02/02]
- \ProvidesPackage{luatexko}[2020/03/20 v2.8 typesetting Korean with LuaTeX]
+ \ProvidesPackage{luatexko}[2020/07/27 v2.9 typesetting Korean with LuaTeX]
\RequirePackage{luatexbase}
\RequirePackage{fontspec}[2020/02/03]
\RequirePackage{atbegshi}
@@ -38,16 +38,23 @@
\newattribute\luatexkohangulbyhangulattr
\newattribute\luatexkohanjabyhanjaattr
\directlua{ require"luatexko" }
-\edef\AtBegShi@Hook{% occupy the first position
- \unexpanded{%
- \AtBegShi@Item{%
- \directlua{%
- luatexko.process_atbegshi(tex.getbox(\the\AtBeginShipoutBox))
+\ifdefined\AtBegShi@Hook
+ \edef\AtBegShi@Hook{% occupy the first position
+ \unexpanded{%
+ \AtBegShi@Item{%
+ \directlua{%
+ luatexko.process_atbegshi(tex.getbox(\the\AtBeginShipoutBox))
+ }%
}%
}%
- }%
- \unexpanded\expandafter{\AtBegShi@Hook}%
-}
+ \unexpanded\expandafter{\AtBegShi@Hook}%
+ }
+\else
+ \AddToHook{shipout/before}{%
+ \directlua{ luatexko.process_atbegshi(tex.getbox(\the\ShipoutBox)) }%
+ }
+ \DeclareHookRule{shipout/before}{.}{before}{luacolor}
+\fi
% classic
\protected\def\typesetclassic{\luatexkoclassicattr\z@\parindent1em }
\protected\def\typesetvertical{\luatexkoclassicattr\@ne\parindent1em }
@@ -301,17 +308,18 @@
\pdfliteral{q 0 -1 1 0 0 0 cm}\box#1\pdfliteral{Q}%
\vfil }}}
% horizontal box inside vertical writing
-\def\luatexkohorizboxmoveleft{0.5ex}
+\def\luatexkohorizboxmoveright{0.5ex}
\protected\def\horizontal#1{%
- \directlua{ luatexko.gethorizboxmoveleft() }%
+ \directlua{ luatexko.gethorizboxmoveright() }%
\leavevmode
\setbox\z@\vbox\bgroup
\hsize#1\relax
\typesetmodern }
\protected\def\endhorizontal{%
\egroup
+ \dimen@=\dimexpr.5\wd\z@-\luatexkohorizboxmoveright\relax
\luatexkounrotatebox\z@
- \lower\luatexkohorizboxmoveleft\box\z@ }
+ \lower\dimen@\box\z@ }
\protected\def\luatexkounrotatebox#1{%
\setbox#1\hbox to\dimexpr\ht#1+\dp#1{%
\vbox to\wd#1{%
@@ -798,7 +806,21 @@
\newfontfeature{CharRaise}{charraise=#1}
\newfontfeature{RemoveClassicSpaces}{+removeclassicspaces}
\newfontfeature{CompressPunctuations}{+compresspunctuations}
-\newfontfeature{Expansion}{expansion=\ifx\empty#1\empty default\else #1\fi }
+% luaotfload expansion feature, committed at 2020.06.08
+\count@=\z@
+\directlua{ if luatexko.plug_expansion_loaded then tex.setcount(255,1) end }
+\ifnum\count@=\z@
+ \newfontfeature{Expansion}{expansion=\ifx\empty#1\empty default\else #1\fi }
+\else
+ \newfontfeature{Expansion}{expansion=\directlua{
+ if "#1" == "" or "#1" == "default" then
+ tex.sprint "20 20 5"
+ else
+ tex.sprint "#1"
+ end
+ }%
+ }
+\fi
\newfontfeature{Protrusion}{protrusion=\ifx\empty#1\empty default\else #1\fi }
\newfontfeature{InterCharacter}{intercharacter=#1}
\newfontfeature{InterCharStretch}{intercharstretch=#1}