diff options
author | Karl Berry <karl@freefriends.org> | 2020-01-27 21:56:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-01-27 21:56:42 +0000 |
commit | f5dc95456cfd50e1e65093613f2dcab3e30b6714 (patch) | |
tree | 1965b1f5cc1ab512d14b1ab5573af1e46fc7a978 /Master/texmf-dist/tex/luatex/luatexja/patches | |
parent | c1881c5c5344914a46d0f06387afcb78981a85c5 (diff) |
luatexja (27jan20)
git-svn-id: svn://tug.org/texlive/trunk@53575 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/patches')
4 files changed, 246 insertions, 112 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty index 13bbc63ce12..a6b71f3b6aa 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty @@ -205,6 +205,7 @@ \language\l@nohyphenation \@ifstar\@sverb\@verb} \fi +\patchcmd{\do@noligs}{\kern\z@}{\vadjust{}}{}{} % reported by p_typo \gdef\@stopfield{% \inhibitglue\@tempskipa\lastskip\unskip \hskip\@tempskipa\color@endgroup\egroup} diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty index 204adbc62e4..347f66b4688 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty @@ -32,7 +32,13 @@ \newcommand\kanjiencodingdefault{JY3} \newcommand\kanjifamilydefault{\mcdefault} \newcommand\kanjiseriesdefault{\mddefault} -\newcommand\kanjishapedefault{\updefault} +\ifdefined\shapedefault + %% LaTeX 2020-02-02 + \newcommand\kanjishapedefault{\shapedefault} +\else + %% LaTeX 2019-10-01 + \newcommand\kanjishapedefault{\updefault} +\fi \DeclareKanjiFamily{JY3}{mc}{} \DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdyokojfm}{} @@ -40,8 +46,8 @@ \DeclareFontShape{JY3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdyokojfm}{} \DeclareFontShape{JY3}{mc}{bx}{n}{<-> ssub*gt/m/n}{} \DeclareFontShape{JY3}{gt}{bx}{n}{<-> ssub*gt/m/n}{} -\DeclareFontShape{JY3}{mc}{b}{n}{<-> ssub*mc/bx/n}{} -\DeclareFontShape{JY3}{gt}{b}{n}{<-> ssub*gt/bx/n}{} +\DeclareFontShape{JY3}{mc}{b}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JY3}{gt}{b}{n}{<-> ssub*gt/m/n}{} \DeclareKanjiFamily{JT3}{mc}{} \DeclareFontShape{JT3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdmcfont:jfm=\ltj@stdtatejfm}{} @@ -49,8 +55,8 @@ \DeclareFontShape{JT3}{gt}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi] \ltj@stdgtfont:jfm=\ltj@stdtatejfm}{} \DeclareFontShape{JT3}{mc}{bx}{n}{<-> ssub*gt/m/n}{} \DeclareFontShape{JT3}{gt}{bx}{n}{<-> ssub*gt/m/n}{} -\DeclareFontShape{JT3}{mc}{b}{n}{<-> ssub*mc/bx/n}{} -\DeclareFontShape{JT3}{gt}{b}{n}{<-> ssub*gt/bx/n}{} +\DeclareFontShape{JT3}{mc}{b}{n}{<-> ssub*gt/m/n}{} +\DeclareFontShape{JT3}{gt}{b}{n}{<-> ssub*gt/m/n}{} \KanjiEncodingPair{JY3}{JT3} \DeclareRelationFont{JY3}{gt}{m}{}{TU}{lmr}{bx}{} @@ -77,25 +83,51 @@ \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n} \fi +\ifdefined\@rmfamilyhook +%%%% LaTeX 2020-02-02 +\edef\bfseries@mc{\bfdefault} +\edef\bfseries@gt{\bfdefault} +\def\bfseries@jtt{\bfseries@mc} +\edef\mdseries@mc{\mddefault} +\edef\mdseries@gt{\mddefault} +\def\mdseries@jtt{\mdseries@mc} +\fi + \newif\if@ltj@match@family \@ltj@match@familyfalse \def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont} -\DeclareRobustCommand\rmfamily - {\not@math@alphabet\rmfamily\mathrm - \romanfamily\rmdefault - \if@ltj@match@family\kanjifamily\mcdefault\fi\selectfont} -\DeclareRobustCommand\sffamily - {\not@math@alphabet\sffamily\mathsf - \romanfamily\sfdefault - \if@ltj@match@family\kanjifamily\gtdefault\fi\selectfont} -\DeclareRobustCommand\ttfamily - {\not@math@alphabet\ttfamily\mathtt - \romanfamily\ttdefault - \if@ltj@match@family\kanjifamily\jttdefault\fi\selectfont} + +\def\@ltj@hook@family#1#2{ % #1: csname #2: contents + \ifcsname @#1hook\endcsname % LaTeX 2020-02-02 + \csappto{@#1hook}{#2}% + \else % LaTeX 2019-10-01 + \ifcsname #1 \endcsname + \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}% + \else + \PackageWarningNoLine{luatexja}{% + Patching to \expandafter\string\csname #1\endcsname\space failed + }% + \fi + \fi +} +\@ltj@hook@family{rmfamily}{% + \if@ltj@match@family + \prepare@family@series@update@kanji{mc}\mcdefault + \fi +} +\@ltj@hook@family{sffamily}{% + \if@ltj@match@family + \prepare@family@series@update@kanji{gt}\gtdefault + \fi +} +\@ltj@hook@family{ttfamily}{% + \if@ltj@match@family + \prepare@family@series@update@kanji{jtt}\jttdefault + \fi +} + %%% \eminnershape -\DeclareRobustCommand\em - {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ - \eminnershape \else \gtfamily \itshape \fi} +\expandafter\patchcmd\csname em \endcsname{\itshape}{\gtfamily\itshape}{}{} \def\eminnershape{\mcfamily \upshape} \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF} diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty index 0f572b52fc7..f2d78fb653a 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty @@ -3,8 +3,9 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjfont}[2019/09/25 Patch to NFSS2 for LuaTeX-ja] +\ProvidesPackage{lltjfont}[2020/01/26 Patch to NFSS2 for LuaTeX-ja] +%% patching \DeclareTextComposite \def\ltj@chardef@text@cmd#1{% \let\@ifdefinable\@@ifdefinable% \edef\ltj@chardef@text@cmd@name{\expandafter\@gobble\string#1}% @@ -23,13 +24,11 @@ \@dec@text@cmd\ltj@chardef@text@cmd#1{#2}#3\relax } -\ifdefined\UnicodeEncodingName - \let\ltj@temp@DeclareTextComposite=\DeclareTextComposite - \def\DeclareTextComposite#1#2#3#4{}% - \input{tuenc.def} - \let\DeclareTextComposite=\ltj@temp@DeclareTextComposite - \expandafter\patchcmd\csname TU\string\textasteriskcentered\endcsname{\char}{\ltjalchar}{}{} -\fi +\let\ltj@temp@DeclareTextComposite=\DeclareTextComposite +\def\DeclareTextComposite#1#2#3#4{}% +\input{tuenc.def} +\let\DeclareTextComposite=\ltj@temp@DeclareTextComposite +\expandafter\patchcmd\csname TU\string\textasteriskcentered\endcsname{\char}{\ltjalchar}{}{} \let\k@encoding\@empty @@ -568,12 +567,93 @@ \edef\k@family{#1}\edef\f@family{#1}% \fi\fi } + +\ifdefined\@rmfamilyhook +%%%% LaTeX 2020-02-02 +\DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}} +\DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}} +\DeclareRobustCommand\fontseriesforce[1]{\kanjiseries{#1}\romanseries{#1}} +\DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}} +\DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}} +\DeclareRobustCommand\fontshapeforce[1]{\kanjishape{#1}\romanshape{#1}} + +\def\merge@font@kanji@series#1{% + \expandafter\expandafter\expandafter + \merge@font@kanji@series@ + \csname series@\k@series @#1\endcsname + {#1}% + \@nil +} +\def\set@target@kanji@series#1{% + \edef\k@series{#1}% + \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}% +} +\def\merge@font@kanji@series@#1#2#3\@nil{% + \def\@reserveda{#3}% + \ifx\@reserveda\@empty + \set@target@kanji@series{#2}% + \else + \begingroup\let\f@encoding\k@encoding\let\f@family\k@family + \maybe@load@fontshape\endgroup + \edef\@reserveda{\k@encoding /\k@family /#1/\k@shape}% + \ifcsname \@reserveda \endcsname + \set@target@kanji@series{#1}% + \else + \ifcsname \k@encoding /\k@family /#2/\k@shape \endcsname + \set@target@kanji@series{#2}% + {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% + \else + \set@target@kanji@series{#3}% + {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% + \fi + \fi + \fi +} +\def\merge@font@kanji@shape#1{% + \expandafter\expandafter\expandafter + \merge@font@kanji@shape@ + \csname shape@\k@shape @#1\endcsname + {#1}% + \@nil +} +\def\merge@font@kanji@shape@#1#2#3\@nil{% + \def\@reserveda{#3}% + \ifx\@reserveda\@empty + \edef\k@shape{#2}% + \else + \maybe@load@fontshape + \edef\@reserveda{\k@encoding /\k@family /\k@series/#1}% + \ifcsname \@reserveda\endcsname + \edef\k@shape{#1}% + \else + \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname + \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}% + \fi + \fi + \fi +} +\DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}} +\DeclareRobustCommand\kanjiseries[1]{\merge@font@kanji@series{#1}} +\DeclareRobustCommand\fontseries[1]{% + \merge@font@series{#1}\merge@font@kanji@series{#1}} +\DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}} +\DeclareRobustCommand\kanjishape[1]{\merge@font@kanji@shape{#1}} +\DeclareRobustCommand\fontshape[1]{% + \merge@font@shape{#1}\merge@font@kanji@shape{#1}} +\else +%%%% LaTeX 2019-10-01 \DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}} \DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}} \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} \DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}} \DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}} \DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} +\fi +%%%% \DeclareRobustCommand\usekanji[4]{% \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}% \selectfont\ignorespaces} @@ -586,22 +666,89 @@ \else\useroman{#1}{#2}{#3}{#4}% \fi} \DeclareRobustCommand\normalfont{% - \kanjiencoding{\kanjiencodingdefault}% - \kanjifamily{\kanjifamilydefault}% - \kanjiseries{\kanjiseriesdefault}% - \kanjishape{\kanjishapedefault}% - \romanencoding{\encodingdefault}% - \romanfamily{\familydefault}% - \romanseries{\seriesdefault}% - \romanshape{\shapedefault}% - \selectfont\ignorespaces} + \useroman\encodingdefault\familydefault\seriesdefault\shapedefault + \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault + \ignorespaces} \let\reset@font\normalfont + +\ifdefined\@rmfamilyhook +%%%% LaTeX 2020-02-02 +\let\prepare@family@series@update@kanji=\prepare@family@series@update +\patchcmd\prepare@family@series@update{\fontfamily}{\romanfamily}{}{} +\patchcmd\prepare@family@series@update@kanji{\fontfamily}{\kanjifamily}{}{} +\patchcmd\prepare@family@series@update@kanji{\f@series}{\k@series}{}{} +\patchcmd\prepare@family@series@update@kanji{\maybe@load@fontshape} + {\begingroup\let\f@encoding\k@encoding\let\f@family\k@family + \maybe@load@fontshape\endgroup}{}{} +\patchcmd\prepare@family@series@update@kanji{\@meta@family@list}{\@meta@family@kanji@list}{}{} +\def\@meta@family@kanji@list{\@elt{mc}\@elt{gt}\@elt{jtt}} +\DeclareRobustCommand\bfseries{% + \not@math@alphabet\bfseries\mathbf + \expand@font@defaults + \romanseries{% + \ifx\f@family\rmdef@ult \bfseries@rm + \else\ifx\f@family\sfdef@ult \bfseries@sf + \else\ifx\f@family\ttdef@ult \bfseries@tt + \else \bfdefault + \fi\fi\fi + }% + \kanjiseries{% + \ifx\k@family\mcdef@ult \bfseries@mc + \else\ifx\k@family\gtdef@ult \bfseries@gt + \else\ifx\k@family\jttdef@ult\bfseries@jtt + \else \bfdefault + \fi\fi\fi + }% + \selectfont +} +\DeclareRobustCommand\mdseries{% + \not@math@alphabet\mdseries\relax + \expand@font@defaults + \romanseries{% + \ifx\f@family\rmdef@ult \mdseries@rm + \else\ifx\f@family\sfdef@ult \mdseries@sf + \else\ifx\f@family\ttdef@ult \mdseries@tt + \else \mddefault + \fi\fi\fi + }% + \kanjiseries{% + \ifx\k@family\mcdef@ult \mdseries@mc + \else\ifx\k@family\gtdef@ult \mdseries@gt + \else\ifx\k@family\jttdef@ult\mdseries@jtt + \else \mddefault + \fi\fi\fi + }% + \selectfont +} +\appto\expand@font@defaults{% + \edef\mcdef@ult{\mcdefault}% + \edef\gtdef@ult{\gtdefault}% + \edef\jttdef@ult{\jttdefault}% + \edef\kanjidef@ult{\kanjifamilydefault}% +} +\appto\init@series@setup{% + \ifx\kanjidef@ult\mcdef@ult \mcfamily + \else\ifx\kanjidef@ult\gtdef@ult \gtfamily + \else\ifx\kanjidef@ult\jttdef@ult \jttfamily + \fi\fi\fi +} +\fi +\ifdefined\prepare@family@series@update@kanji\else +%%%% LaTeX 2019-10-01 +\def\prepare@family@series@update@kanji#1{\kanjifamily} +\fi + \DeclareRobustCommand\mcfamily{% \unless\ifltj@disablejfam\not@math@alphabet\mcfamily\mathmc\fi - \kanjifamily\mcdefault\selectfont} + \prepare@family@series@update@kanji{mc}\mcdefault + \selectfont} \DeclareRobustCommand\gtfamily{% \unless\ifltj@disablejfam\not@math@alphabet\gtfamily\mathgt\fi - \kanjifamily\gtdefault\selectfont} + \prepare@family@series@update@kanji{gt}\gtdefault + \selectfont} + + + \let\romanprocess@table\process@table \def\kanjiprocess@table{% \kanjiencoding{\kanjiencodingdefault}% diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.sty index 9f630754bd9..617eedaf9d9 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.sty +++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.sty @@ -1,5 +1,5 @@ % -% lltjp-fontspec.sty 2019-10-21 +% lltjp-fontspec.sty 2020-01-13 % \NeedsTeXFormat{LaTeX2e} @@ -7,13 +7,30 @@ \RequirePackage{fontspec} \ExplSyntaxOn -% <= v2.6g uses \l__fontspec_nfss_enc_tl instead of \g__fontspec_nfss_enc_tl -\ifdefined \g__fontspec_nfss_enc_tl \else - \def \g__fontspec_nfss_enc_tl { \l__fontspec_nfss_enc_tl } -\fi - %%%%%%%% fontspec v2.5c overwrites \rmfamily etc. in \setmainfont -\@ifpackagelater{fontspec}{2019/10/19}{ %% 2.7d or later +\@ifpackagelater{fontspec}{2020/01/09}{ %% 2.7e or later + \tl_replace_all:cnn { rmfamily~ } { \fontfamily }{ \romanfamily } + \tl_replace_all:cnn { sffamily~ } { \fontfamily }{ \romanfamily } + \tl_replace_all:cnn { ttfamily~ } { \fontfamily }{ \romanfamily } + \cs_if_exist:NF \@rmfamilyhook { + \tl_replace_all:cnn { rmfamily~ } { \selectfont } { + \if@ltj@match@family + \prepare@family@series@update@kanji{mc}\mcdefault + \fi\selectfont + } + \tl_replace_all:cnn { sffamily~ } { \selectfont } { + \if@ltj@match@family + \prepare@family@series@update@kanji{gt}\gtdefault + \fi\selectfont + } + \tl_replace_all:cnn { ttfamily~ } { \selectfont } { + \if@ltj@match@family + \prepare@family@series@update@kanji{jtt}\jttdefault + \fi\selectfont + } + } +%% end of 2.7e (or later) +}{\@ifpackagelater{fontspec}{2019/10/19}{ %% 2.7d \cs_set:Nn \__fontspec_main_setmainfont:nn { \fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2} @@ -71,7 +88,8 @@ \__fontspec_setmonofont_hook:nn {#1} {#2} \normalfont } -}{\@ifpackagelater{fontspec}{2018/07/29}{ %% 2.6h <= and <= 2.7c +%% end of 2.7d +}{%% 2.7c \cs_set:Nn \__fontspec_main_setmainfont:nn { \fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2} @@ -129,58 +147,7 @@ \__fontspec_setmonofont_hook:nn {#1} {#2} \normalfont } -}{ %% <= 2.6g -\DeclareDocumentCommand \setmainfont { O{} m O{} } - { - \fontspec_set_family:Nnn \g__fontspec_rmfamily_family {#1,#3} {#2} - \tl_set_eq:NN \rmdefault \g__fontspec_rmfamily_family - \use:x { \exp_not:n { \DeclareRobustCommand \rmfamily } - { - \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl } - \exp_not:N \fontfamily { \g__fontspec_rmfamily_family } - \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%% - \exp_not:N \selectfont - } - } - \str_if_eq:eeT {\familydefault} {\rmdefault} - { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl } - \normalfont - \ignorespaces - } -\DeclareDocumentCommand \setsansfont { O{} m O{} } - { - \fontspec_set_family:Nnn \g__fontspec_sffamily_family {#1,#3} {#2} - \tl_set_eq:NN \sfdefault \g__fontspec_sffamily_family - \use:x { \exp_not:n { \DeclareRobustCommand \sffamily } - { - \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl } - \exp_not:N \fontfamily { \g__fontspec_sffamily_family } - \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%% - \exp_not:N \selectfont - } - } - \str_if_eq:eeT {\familydefault} {\sfdefault} - { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl } - \normalfont - \ignorespaces - } -\DeclareDocumentCommand \setmonofont { O{} m O{} } - { - \fontspec_set_family:Nnn \g__fontspec_ttfamily_family {#1,#3} {#2} - \tl_set_eq:NN \ttdefault \g__fontspec_ttfamily_family - \use:x { \exp_not:n { \DeclareRobustCommand \ttfamily } - { - \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl } - \exp_not:N \fontfamily { \g__fontspec_ttfamily_family } - \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%% - \exp_not:N \selectfont - } - } - \str_if_eq:eeT {\familydefault} {\ttdefault} - { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl } - \normalfont - \ignorespaces - } +%% end of 2.7d }} \cs_set:Nn \fontspec_visible_space: @@ -190,19 +157,6 @@ { \fontspec_visible_space_fallback: } } -\AtBeginDocument{ - \cs_if_exist:NF \verbvisiblespace { - % >= LaTeX2e <2018-12-01> does not need the following patch - \def\verb - { - \relax\ifmmode\hbox\else\leavevmode\fi % same as lltjcore - \bgroup - \verb@eol@error \let\do\@makeother \dospecials - \verbatim@font\@noligs - \@ifstar\__fontspecsverb\@verb - } - } -} \cs_set:Npn \emshape { \gtfamily \itshape } \cs_set:Npn \eminnershape { \mcfamily \upshape } |