summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luatexja/src/patches
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/generic/luatexja/src/patches')
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjdefs.sty8
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjfont.sty112
2 files changed, 80 insertions, 40 deletions
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty b/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
index 3efb01116b..29f38b367a 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
@@ -3,10 +3,12 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjdefs}[2020/02/27 Default font settings of LuaTeX-ja]
+\ProvidesPackage{lltjdefs}[2020/03/16 Default font settings of LuaTeX-ja]
-\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{IPAExMincho}\fi
-\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{IPAExGothic}\fi
+\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi
+\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi
+%\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{IPAExMincho}\fi
+%\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{IPAExGothic}\fi
\ifdefined\ltj@stdyokojfm\else\def\ltj@stdyokojfm{ujis}\fi
\ifdefined\ltj@stdtatejfm\else\def\ltj@stdtatejfm{ujisv}\fi
\InputIfFileExists{luatexja.cfg}{%
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
index cfa8e2343a..69ab7441c2 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2020/03/01 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2020/03/20 Patch to NFSS2 for LuaTeX-ja]
%% patching \DeclareTextComposite
\def\ltj@chardef@text@cmd#1{%
@@ -571,6 +571,8 @@
\newcount\ltj@@latex@plv \ltj@@latex@plv=-1
\ifdefined\@rmfamilyhook
%%%% LaTeX 2020-02-02
+\newif\if@shape@roman@kanji
+%%%%%% 2020-02-02 patchlevel detection
\ifx\@forced@seriestrue\@undefined % 2020-02-02 pl0--2
\@latex@error
{Please update LaTeX2e!^^J\space\space
@@ -580,12 +582,11 @@
\ltj@@latex@plv=300
\unless\ifx\series@maybe@drop@one@m@x\@undefined % pl5 + develop
\ltj@@latex@plv=501
- \else
- \unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5
- \ltj@@latex@plv=500
- \fi
- \fi
+ \else\unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5
+ \ltj@@latex@plv=500
+ \fi\fi
\fi
+%%%%%%
\def\merge@kanji@series#1{%
\expandafter\expandafter\expandafter
@@ -595,17 +596,17 @@
\@nil
}
-\ifnum\ltj@@latex@plv>500 % pl5 + develop
+\ifnum\ltj@@latex@plv>500 % !!! pl5 + develop
\def\set@target@series@kanji#1{%
\edef\k@series{#1}%
\series@maybe@drop@one@m\k@series\k@series
}
-\else\ifnum\ltj@@latex@plv>300 % pl5
+\else\ifnum\ltj@@latex@plv>300 % !!! pl5
\def\set@target@series@kanji#1{%
\edef\k@series{#1}%
\expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series
}
-\else % pl 3, 4
+\else % !!! pl 3, 4
\def\set@target@series@kanji#1{%
\edef\k@series{#1}%
\edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}%
@@ -643,7 +644,11 @@
\def\merge@kanji@shape@#1#2#3\@nil{%
\def\reserved@a{#3}%
\ifx\reserved@a\@empty
- \edef\k@shape{#2}%
+ \if@shape@roman@kanji
+ \set@safe@kanji@shape{#2}{}%
+ \else
+ \edef\k@shape{#2}%
+ \fi
\else
\begingroup\let\f@encoding\k@encoding\let\f@family\k@family
\maybe@load@fontshape\endgroup
@@ -655,13 +660,31 @@
\edef\k@shape{#2}%
{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
\else
- \edef\k@shape{#3}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
+ \if@shape@roman@kanji
+ \set@safe@kanji@shape{#3}%
+ {{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}}%
+ \else
+ \edef\k@shape{#3}%
+ {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
+ \fi
\fi
\fi
\fi
}
-\ifnum\ltj@@latex@plv=300 % pl3, 4
+\def\set@safe@kanji@shape#1#2{%
+ \edef\reserved@b{\k@encoding /\k@family /\k@series/#1}%
+ \ifcsname \reserved@b\endcsname
+ \edef\k@shape{#1}%
+ #2%
+ \else
+ \@kanji@shape@nochange@info{\reserved@b}%
+ \fi
+}
+\def\@kanji@shape@nochange@info#1{%
+ \@font@info{Kanji font shape `#1' undefined\MessageBreak
+ No change}%
+}
+\ifnum\ltj@@latex@plv=300 % !!! pl3, 4
\DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}}
\DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}}
\DeclareRobustCommand\fontseries[1]{%
@@ -670,7 +693,7 @@
\DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}}
\DeclareRobustCommand\fontseriesforce[1]{%
\edef\f@series{#1}\edef\k@series{#1}}
-\else % pl 5
+\else % !!! pl 5
\DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}}
\DeclareRobustCommand\kanjiseries[1]{\@forced@seriesfalse\merge@kanji@series{#1}}
\DeclareRobustCommand\fontseries[1]{%
@@ -683,10 +706,13 @@
\DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}}
\DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}}
\DeclareRobustCommand\fontshape[1]{%
- \merge@font@shape{#1}\merge@kanji@shape{#1}}
+ \@shape@roman@kanjitrue
+ \merge@font@shape{#1}\merge@kanji@shape{#1}%
+ \@shape@roman@kanjifalse
+}
\DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}}
\DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}}
-\DeclareRobustCommand\fontshapeforce[1]{\kanjishapeforce{#1}\romanshapeforce{#1}}
+\DeclareRobustCommand\fontshapeforce[1]{\set@safe@kanji@shape{#1}{}\romanshapeforce{#1}}
\DeclareRobustCommand\usekanji[4]{%
\kanjiencoding{#1}\edef\k@family{#2}\edef\k@series{#3}\edef\k@shape{#4}%
\selectfont\ignorespaces}
@@ -718,8 +744,7 @@
\fi}
\DeclareRobustCommand\normalfont{%
\useroman\encodingdefault\familydefault\seriesdefault\shapedefault
- \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault
- \ignorespaces}
+ \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault}
\let\reset@font\normalfont
\ifdefined\@rmfamilyhook
@@ -743,36 +768,49 @@
\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}\@elt{jtt}}
-\DeclareRobustCommand\bfseries{%
- \not@math@alphabet\bfseries\mathbf
- \expand@font@defaults
- \ifx\f@family\rmdef@ult \romanseries\bfseries@rm
- \else\ifx\f@family\sfdef@ult \romanseries\bfseries@sf
- \else\ifx\f@family\ttdef@ult \romanseries\bfseries@tt
- \else \romanseries\bfdefault
- \fi\fi\fi
+
+\expandafter\patchcmd\csname bfseries \endcsname{%
+ \let\bfseries@rm\bfdef@ult
+ \let\bfseries@sf\bfdef@ult
+ \let\bfseries@tt\bfdef@ult
+}{%
+ \let\bfseries@rm\bfdef@ult
+ \let\bfseries@sf\bfdef@ult
+ \let\bfseries@tt\bfdef@ult
+ \let\bfseries@mc\bfdef@ult
+ \let\bfseries@gt\bfdef@ult
+ \let\bfseries@jtt\bfdef@ult
+}{}{}
+\expandafter\patchcmd\csname mdseries \endcsname{%
+ \let\mdseries@rm\mddef@ult
+ \let\mdseries@sf\mddef@ult
+ \let\mdseries@tt\mddef@ult
+}{%
+ \let\mdseries@rm\mddef@ult
+ \let\mdseries@sf\mddef@ult
+ \let\mdseries@tt\mddef@ult
+ \let\mdseries@mc\mddef@ult
+ \let\mdseries@gt\mddef@ult
+ \let\mdseries@jtt\mddef@ult
+}{}{}
+\expandafter\patchcmd\csname bfseries \endcsname{\selectfont}%
+{%
\ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc
\else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt
\else\ifx\k@family\jttdef@ult\kanjiseries\bfseries@jtt
\else \kanjiseries\bfdefault
\fi\fi\fi
- \selectfont
-}
-\DeclareRobustCommand\mdseries{%
- \not@math@alphabet\mdseries\relax
- \expand@font@defaults
- \ifx\f@family\rmdef@ult \romanseries\mdseries@rm
- \else\ifx\f@family\sfdef@ult \romanseries\mdseries@sf
- \else\ifx\f@family\ttdef@ult \romanseries\mdseries@tt
- \else \romanseries\mddefault
- \fi\fi\fi
+ \selectfont
+}{}{}
+\expandafter\patchcmd\csname mdseries \endcsname{\selectfont}%
+{%
\ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc
\else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt
\else\ifx\k@family\jttdef@ult\kanjiseries\mdseries@jtt
\else \kanjiseries\mddefault
\fi\fi\fi
\selectfont
-}
+}{}{}
\appto\expand@font@defaults{%
\edef\mcdef@ult{\mcdefault}%
\edef\gtdef@ult{\gtdefault}%