texlive[57741] Master/texmf-dist: luatexja (14feb21)
commits+karl at tug.org
commits+karl at tug.org
Sun Feb 14 23:33:09 CET 2021
Revision: 57741
http://tug.org/svn/texlive?view=revision&revision=57741
Author: karl
Date: 2021-02-14 23:33:09 +0100 (Sun, 14 Feb 2021)
Log Message:
-----------
luatexja (14feb21)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/luatex/luatexja/README
trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua
trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/README
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luatexja/README 2021-02-14 22:32:36 UTC (rev 57740)
+++ trunk/Master/texmf-dist/doc/luatex/luatexja/README 2021-02-14 22:33:09 UTC (rev 57741)
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20210103.0
+The LuaTeX-ja Package 20210214.0
--------------------------------
Copyright (c) 2011--2021 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -25,14 +25,13 @@
- LuaTeX 1.10.0 (or later)
- luaotfload (v3.1 or later recommended)
- adobemapping (Adobe CMap files)
- - LaTeX 2020-02-02 patch level 5 or later (if you want to use with LaTeX)
- - everysel package
+ - LaTeX2e 2020-02-02 patch level 5 or later (if you want to use with LaTeX)
+ Note that the adaptation for LaTeX2e 2021-05-01 is
+ work in progress; it will be done after the freeze of TL'20
- etoolbox package
- - ltxcmds package
- - pdftexcmds package
- - atbegshi package
- - filehook package
- - stfloats package
+ - ltxcmds package, pdftexcmds package
+ - filehook package, atbegshi package (for LaTeX2e 2020-02-02)
+ - everysel package (for LaTeXe 2020-02-02 and 2020-10-01)
- Harano Aji fonts (https://github.com/trueroad/HaranoAjiFonts)
more specifically, HaranoAjiMincho-Regular and HaranoAjiGothic-Medium
@@ -45,9 +44,9 @@
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20210103.0 in the Git repository by
+ or tagged as 20210214.0 in the Git repository by
<http://git.osdn.jp/view?p=luatex-ja/luatexja.git
- ;a=snapshot;h=refs/tags/20210103.0;sf=tgz>
+ ;a=snapshot;h=refs/tags/20210214.0;sf=tgz>
b. Extract the archive and process following three files by LuaLaTeX
to generate classes for Japanese typesetting:
@@ -96,4 +95,4 @@
This file and ltj-kinsoku.lua are not used anymore.
(Do not remove ltj-kinsoku.tex.)
-Last commit date: Sun Jan 3 09:48:34 2021 +0900
+Last commit date: Sun Feb 14 10:04:35 2021 +0900
Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx
===================================================================
--- trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx 2021-02-14 22:32:36 UTC (rev 57740)
+++ trunk/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx 2021-02-14 22:33:09 UTC (rev 57741)
@@ -652,17 +652,15 @@
%<ja> (DVI出力(\cs{outputmode=0})は対応していない.)
\item recent \href{https://github.com/latex3/luaotfload}{\Pkg{luaotfload}} (v3.1 or later recommended)
\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
-\item \LaTeX\ 2020-02-02 patch level 5 or later
+\item \LaTeXe\ 2020-02-02 patch level 5 or later
%<en> (if you want to use \LuaTeX-ja with \LaTeXe)
%<ja> (\LaTeXe 下で\LuaTeX-jaを使う場合)
-\item \href{https://github.com/josephwright/etoolbox/}{\Pkg{etoolbox}},
- \Pkg{everysel}
+\item \href{https://github.com/josephwright/etoolbox/}{\Pkg{etoolbox}}
%<en> (if you want to use \LuaTeX-ja with \LaTeXe)
%<ja> (\LaTeXe 下で\LuaTeX-jaを使う場合)
+\item \Pkg{everysel} (only for \LaTeXe\ 2020-02-02~and~2020-10-01)
+\item \Pkg{filehook}, \Pkg{atbegshi} (only for \LaTeXe\ 2020-02-02)
\item \Pkg{ltxcmds}, \Pkg{pdftexcmds}
-\item \Pkg{filehook}, \Pkg{atbegshi}
-%<en> (not needed if you want to use \LuaTeX-ja with \LaTeXe~2020-10-01 or later)
-%<ja> (\LaTeXe 2020-10-01以降で\LuaTeX-jaを使う場合はどちらも不要)
\item \href{https://github.com/wspr/fontspec/}{\Pkg{fontspec}} v2.7c (or later)
%<*en>
\item \emph{Harano Aji fonts} (\url{https://github.com/trueroad/HaranoAjiFonts})\\
Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua 2021-02-14 22:32:36 UTC (rev 57740)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfmglue.lua 2021-02-14 22:33:09 UTC (rev 57741)
@@ -3,7 +3,7 @@
--
luatexbase.provides_module({
name = 'luatexja.jfmglue',
- date = '2020-12-22',
+ date = '2021-02-11',
description = 'Insertion process of JFM glues, [x]kanjiskip and others',
})
luatexja.jfmglue = luatexja.jfmglue or {}
@@ -347,8 +347,7 @@
local lx=lp
while lx do
local lai = get_attr_icflag(lx)
- if lx==last or lai>=PACKED then
- lp=lx; break
+ if lx==last or lai>=PACKED then break
else
local lid = getid(lx)
if lid==id_glyph and not if_lang_ja(lx) then
@@ -368,19 +367,20 @@
else -- アクセントは上下にシフトされている
setfield(lx, 'shift', getfield(lx, 'shift') + (has_attr(lx,attr_ablshift) or 0))
end
- lx = node_next(node_next(lx))
+ set_attr(lx, attr_icflag, PROCESSED)
+ lx = node_next(lx); set_attr(lx, attr_icflag, PROCESSED)
+ lx = node_next(lx); set_attr(lx, attr_icflag, PROCESSED)
elseif ls==0 then
Np.last = lx; lx = node_next(lx)
elseif (ls==3) or (lai==ITALIC) then
Np.last = lx; set_attr(lx, attr_icflag, IC_PROCESSED); lx = node_next(lx)
- else
- lp=lx; break
+ else break
end
- else
- lp=lx; break
+ else break
end
end
end
+ lp=lx
local r
if adj_depth>node_depth then
r = node_new(id_rule,3)
Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua 2021-02-14 22:32:36 UTC (rev 57740)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua 2021-02-14 22:33:09 UTC (rev 57741)
@@ -784,6 +784,11 @@
luatexja.jfont.font_extra_info = font_extra_info -- key: fontnumber
local font_extra_basename = {} -- key: basename
+local rotate_exception = {
+ [0xFF1A]= { ['zht'] = true, },
+ [0xFF1B]= { ['zht'] = true, },
+}
+luatexja.jfont.rotate_exception = rotate_exception
local list_rotate_glyphs
do
local ceil = math.ceil
@@ -825,7 +830,7 @@
-- end)
for i,_ in pairs(rot) do
dest = dest or {}; dest.rotation = dest.rotation or {}
- dest.rotation[i] = true
+ dest.rotation[i] = rotate_exception[i] or true
end
return dest
end
@@ -832,7 +837,7 @@
end
do
- local cache_ver = 23
+ local cache_ver = 24
local nameonly, lower = file.nameonly, string.lower
local lfs = require"lfs"
local file_attributes = lfs.attributes
@@ -972,7 +977,7 @@
for j,w in pairs(vform) do
if (i==j)and(w==k) then vform[j]=nil elseif w==i then vform[j] = k end
end
- end)
+ end)
return fmtable
end, 'ltj.get_vert_form', 1
)
Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua 2021-02-14 22:32:36 UTC (rev 57740)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/ltj-setwidth.lua 2021-02-14 22:33:09 UTC (rev 57741)
@@ -190,13 +190,19 @@
local pf, pc = getfont(p), getchar(p)
local feir = ltjf_font_extra_info[pf]
if met.rotation and met.vert_activated then
- if met.rotation[pc] and (has_attr(p, attr_vert_ori) or 0)<=0 then
+ local f = font_getfont(pf)
+ local r, l = met.rotation[pc], f.properties and f.properties.language
+ if ((r==true) or (type(r)=="table" and not r[l])) and (has_attr(p, attr_vert_ori) or 0)<=0 then
return capsule_glyph_tate_rot(p, met, char_data, head, dir,
0.5*(get_ascender(pf)-get_descender(pf)))
- end
- end
- pwidth, ascender = feir.vheight[pc]*met.size, feir.vorigin[pc]*met.size
+ end
+ end
+ pwidth, ascender = feir.vheight[pc]*met.size, feir.vorigin[pc]*met.size
+ -- print(pwidth/65536.,ascender/65536.)
end
+ -- luatexja.ext_show_node(node.direct.tonode(p), 'B> ', print)
+ local xo, yo = getoffsets(p)
+ --pwidth = pwidth - yo
fwidth = fwidth or pwidth
if pwidth>fwidth and char_data.round_threshold then
local frac = pwidth / fwidth
@@ -207,7 +213,6 @@
fshift = call_callback("luatexja.set_width", fshift, met, char_data)
local fheight = char_data.height or 0
local fdepth = char_data.depth or 0
- local xo, yo = getoffsets(p)
local y_shift = xo + (has_attr(p,attr_tkblshift) or 0)
local q
head, q = node_remove(head, p)
@@ -215,7 +220,7 @@
setwhd(box, fwidth, fheight, fdepth)
setfield(box, 'shift', y_shift)
setdir(box, dir)
-
+ -- print(yo, ascender, char_data.align, fwidth-pwidth)
setoffsets(p, -fshift.down,
yo -(ascender + char_data.align*(fwidth-pwidth) - fshift.left) )
local ws = node_new(id_whatsit, sid_save)
@@ -231,6 +236,7 @@
setnext(k3, wr);
set_attr(box, attr_icflag, PACKED)
+ -- luatexja.ext_show_node(node.direct.tonode(box), 'A> ', print)
head = q and node_insert_before(head, q, box)
or node_insert_after(head, node_tail(head), box)
return q, head, box
Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua 2021-02-14 22:32:36 UTC (rev 57740)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua 2021-02-14 22:33:09 UTC (rev 57741)
@@ -351,7 +351,7 @@
r = tostring(n.char)
end
end
- tex.sprint(r)
+ tex.sprint(-2, r)
end
end
Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty 2021-02-14 22:32:36 UTC (rev 57740)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/luatexja.sty 2021-02-14 22:33:09 UTC (rev 57741)
@@ -35,13 +35,13 @@
\expandafter\let\csname ifltj at in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja}[2021-01-03 Japanese Typesetting with Lua(La)TeX]
+ \ProvidesPackage{luatexja}[2021-02-14 Japanese Typesetting with Lua(La)TeX]
\DeclareOption{disablejfam}{\ltj at disablejfamtrue}
\DeclareOption*{}
\ProcessOptions\relax
\fi %</LaTeX>
%%%% VERSION
-\def\LuaTeXjaversion{20210103.0}
+\def\LuaTeXjaversion{20210214.0}
\directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs
Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty 2021-02-14 22:32:36 UTC (rev 57740)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty 2021-02-14 22:33:09 UTC (rev 57741)
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjdefs}[2020-10-05 Default font settings of LuaTeX-ja]
+\ProvidesPackage{lltjdefs}[2021-01-24 Default font settings of LuaTeX-ja]
\ifdefined\ltj at stdmcfont\else\def\ltj at stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi
\ifdefined\ltj at stdgtfont\else\def\ltj at stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi
@@ -18,8 +18,13 @@
\DeclareKanjiEncodingDefaults{}{}
\DeclareErrorKanjiFont{JY3}{mc}{m}{n}{10}
\kanjifamily{mc}
-\kanjiseries{m}
-\kanjishape{n}
+\ifnum\ltj@@latex at plv<1500 % <=2020-10-01
+ \kanjiseries{m}
+ \kanjishape{n}
+\else % >=2021-05-01
+ \def\k at series{m}
+ \def\k at shape{n}
+\fi
\fontsize{10}{10}
\DeclareYokoKanjiEncoding{JY3}{}{}
\DeclareKanjiSubstitution{JY3}{mc}{m}{n}
@@ -35,7 +40,7 @@
\ifnum 0\ifltj at ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
%% LaTeX 2020-02-02
\newcommand\kanjishapedefault{\shapedefault}
-\else %% LaTeX 2019-10-01
+\else%% LaTeX 2019-10-01
\newcommand\kanjishapedefault{\updefault}
\fi
Modified: trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty 2021-02-14 22:32:36 UTC (rev 57740)
+++ trunk/Master/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty 2021-02-14 22:33:09 UTC (rev 57741)
@@ -3,8 +3,31 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2020-12-29 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2021-02-14 Patch to NFSS2 for LuaTeX-ja]
+%%%%%%%% LaTeX2e version detection
+\newcount\ltj@@latex at plv \ltj@@latex at plv=-1
+\ifltj at ltfilehook@avail
+ \IfHookExistsTF{selectfont}%
+ {\ltj@@latex at plv=1500}% 2021-05-01
+ {\ifnum\patch at level>2 \ltj@@latex at plv=1300\else \ltj@@latex at plv=1000\fi}% 2020-10-01
+\else\ifdefined\@rmfamilyhook % 2020-02-02
+ \ifx\@forced at seriestrue\@undefined % 2020-02-02 pl0--2
+ \@latex at error
+ {Please update LaTeX2e!^^J\space\space
+ At least LaTeX2e 2020-02-02 patch level 3 is required}%
+ {LaTeX2e 2020-02-02 patch level 2 (and 4) has a bug.}
+ \else
+ \ltj@@latex at plv=300
+ \unless\ifx\series at maybe@drop at one@m at x\@undefined % pl5 + develop
+ \ltj@@latex at plv=501
+ \else\unless\ifx\series at maybe@drop at one@m\@undefined % patch level 5
+ \ltj@@latex at plv=500
+ \fi\fi
+ \fi
+\fi\fi
+
+
%% patching \DeclareTextComposite
\def\ltj at chardef@text at cmd#1{%
\let\@ifdefinable\@@ifdefinable%
@@ -350,18 +373,6 @@
\newif\if at knjcmd
\DeclareRobustCommand\userelfont{\@knjcmdtrue}
-
-\RequirePackage{everysel}
-\let\ltj@@EverySelectfont at Init=\@EverySelectfont at Init
-\expandafter\expandafter\expandafter\let
-\expandafter\expandafter\csname ltj@@orig at selectfont\endcsname\csname selectfont\space\endcsname
-\@EverySelectfont at Init
-%\let\ltj@@font at info\@font at info
-%\let\ltj@@font at warning\@font at warning
-\def\@EverySelectfont at Init{%
- \expandafter\let\csname selectfont\space \endcsname \ltj@@orig at selectfont
- \ltj@@EverySelectfont at Init
-}
\def\ltj at selectfont@tate{%
\let\k at encoding\ct at encoding
\xdef\font at name{\csname\curr at kfontshape/\f at size\endcsname}%
@@ -386,7 +397,8 @@
\directlua{luatexja.jfont.pickup_alt_font_a('\f at size')}%
}%
\fi}
-\def\ltj at selectfont@patch{%
+\ifnum\ltj@@latex at plv<1500 % <=2020-10-01
+\protected\def\ltj at selectfont@patch{%
\ltj@@start at time@measure{selectfont}%
\let\tmp at error@fontshape\error at fontshape
\let\error at fontshape\error at kfontshape
@@ -427,7 +439,78 @@
\global\let\font at name=\ltj at afont@name
\ltj@@stop at time@measure{selectfont}%
}
+\RequirePackage{everysel}
+\let\ltj@@EverySelectfont at Init=\@EverySelectfont at Init
+\expandafter\expandafter\expandafter\let
+\expandafter\expandafter\csname ltj@@orig at selectfont\endcsname\csname selectfont\space\endcsname
+\@EverySelectfont at Init% for LaTeX2e <=2020-10-01
+\def\@EverySelectfont at Init{%
+ \expandafter\let\csname selectfont\space \endcsname \ltj@@orig at selectfont
+ \ltj@@EverySelectfont at Init
+}
\EverySelectfont{\ltj at selectfont@patch}
+\else % LaTeX2e >=2021-05-01
+\AddToHook{selectfont}[luatexja]{%
+ \ltj@@start at time@measure{selectfont}%
+ \ifx\delayed at k@adjustment\@empty
+ \else
+ \let\k at shape@saved\k at shape
+ \let\k at series@saved\k at series
+ \delayed at k@adjustment
+ \begingroup\let\f at encoding\k at encoding\let\f at family\k at family
+ \maybe at load@fontshape\endgroup
+ \ifcsname \k at encoding/\k at family/\k at series/\k at shape \endcsname
+ \else
+ \let\k at shape\k at shape@saved
+ \let\k at series\k at series@saved
+ \let\delayed at merge@kanji at shape\merge at kanji@shape
+ \let\delayed at merge@kanji at series\merge at kanji@series
+ \delayed at k@adjustment
+ \let\delayed at merge@kanji at shape\merge at kanji@shape at without@substitution
+ \let\delayed at merge@kanji at series\merge at kanji@series at without@substitution
+ \fi
+ \let\delayed at k@adjustment\@empty
+ \fi
+ \let\tmp at error@fontshape\error at fontshape
+ \let\error at fontshape\error at kfontshape
+ \ltj@@is at kyenc{\k at encoding}\ifin@%
+ \let\cy at encoding\k at encoding
+ \ensure at KanjiEncodingPair{t}%
+ \edef\ct at encoding{\csname t at enc@\k at encoding\endcsname}%
+ \else
+ \ltj@@is at ktenc{\k at encoding}\ifin@%
+ \let\ct at encoding\k at encoding
+ \ensure at KanjiEncodingPair{y}%
+ \edef\cy at encoding{\csname y at enc@\k at encoding\endcsname}%
+ \else
+ \@latex at error{KANJI Encoding scheme `\k at encoding' unknown}\@eha
+ \fi
+ \fi
+ \global\let\ltj at afont@name=\font at name
+ \ltj at selectfont@tate\ltj at selectfont@yoko
+%
+ \edef\tmp at item{{\k at encoding}}\expandafter\def\expandafter\k at encoding\tmp at item
+ \kenc at update
+ \global\let\font at name=\ltj at afont@name
+ \let\error at fontshape\tmp at error@fontshape
+ \if at knjcmd \@knjcmdfalse
+ \expandafter\ifx
+ \csname rel@\k at encoding/\k at family/\k at series/\k at shape\endcsname\relax
+ \expandafter\ifx
+ \csname rel@\k at encoding/\k at family/\k at series/all\endcsname\relax
+ \else
+ \csname rel@\k at encoding/\k at family/\k at series/all\endcsname\selectfont
+ % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり
+ \fi
+ \else
+ \csname rel@\k at encoding/\k at family/\k at series/\k at shape\endcsname\selectfont
+ % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり
+ \fi
+ \fi
+ \global\let\font at name=\ltj at afont@name
+ \ltj@@stop at time@measure{selectfont}%
+}
+\fi
\bgroup
\def\ltj@@dir at patch#1#2#3{%
@@ -632,26 +715,6 @@
\fi\fi
}
-\newcount\ltj@@latex at plv \ltj@@latex at plv=-1
-\ifltj at ltfilehook@avail % 2020-10-01
- \@ifl at t@r\fmtversion{2020-10-02}{\ltj@@latex at plv=1300}%
- {\ifnum\patch at level>2 \ltj@@latex at plv=1300\else \ltj@@latex at plv=1000\fi}
-\else\ifdefined\@rmfamilyhook % 2020-02-02
- \ifx\@forced at seriestrue\@undefined % 2020-02-02 pl0--2
- \@latex at error
- {Please update LaTeX2e!^^J\space\space
- At least LaTeX2e 2020-02-02 patch level 3 is required}%
- {LaTeX2e 2020-02-02 patch level 2 (and 4) has a bug.}
- \else
- \ltj@@latex at plv=300
- \unless\ifx\series at maybe@drop at one@m at x\@undefined % pl5 + develop
- \ltj@@latex at plv=501
- \else\unless\ifx\series at maybe@drop at one@m\@undefined % patch level 5
- \ltj@@latex at plv=500
- \fi\fi
- \fi
-\fi\fi
-
%%%%%%
\ifnum\ltj@@latex at plv>0
%%%% LaTeX >= 2020-02-02
@@ -664,6 +727,13 @@
{#1}%
\@nil
}
+\def\merge at kanji@shape#1{%
+ \expandafter\expandafter\expandafter
+ \merge at kanji@shape@
+ \csname shape@\k at shape @#1\endcsname
+ {#1}%
+ \@nil
+}
\ifnum\ltj@@latex at plv>500 % !!! pl5 + develop
\def\set at target@series at kanji#1{%
@@ -682,6 +752,7 @@
}
\fi\fi
+\ifnum\ltj@@latex at plv<1500% <=2020-10-01
\def\merge at kanji@series@#1#2#3\@nil{%
\def\reserved at a{#3}%
\ifx\reserved at a\@empty
@@ -703,13 +774,75 @@
\fi
\fi
}
-\def\merge at kanji@shape#1{%
+\def\merge at kanji@shape@#1#2#3\@nil{%
+ \def\reserved at a{#3}%
+ \ifx\reserved at a\@empty
+ \if at shape@roman at kanji
+ \set at safe@kanji at shape{#2}{}%
+ \else
+ \edef\k at shape{#2}%
+ \fi
+ \else
+ \begingroup\let\f at encoding\k at encoding\let\f at family\k at family
+ \maybe at load@fontshape\endgroup
+ \edef\reserved at a{\k at encoding /\k at family /\k at series/#1}%
+ \ifcsname \reserved at a\endcsname
+ \edef\k at shape{#1}%
+ \else
+ \ifcsname \k at encoding /\k at family /\k at series/#2\endcsname
+ \edef\k at shape{#2}%
+ {\let\curr at fontshape\curr at kfontshape\@font at shape@subst at warning}%
+ \else
+ \if at shape@roman at kanji
+ \set at safe@kanji at shape{#3}%
+ {{\let\curr at fontshape\curr at kfontshape\@font at shape@subst at warning}}%
+ \else
+ \edef\k at shape{#3}%
+ {\let\curr at fontshape\curr at kfontshape\@font at shape@subst at warning}%
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\else % >=2021-05-01
+\def\merge at kanji@series@#1#2#3\@nil{%
+ \def\reserved at a{#3}%
+ \ifx\reserved at a\@empty
+ \set at target@series at kanji{#2}%
+ \else
+ \begingroup\let\f at encoding\k at encoding\let\f at family\k at family
+ \maybe at load@fontshape\endgroup
+ \edef\reserved at a{\k at encoding /\k at family /#1/\k at shape}%
+ \ifcsname \reserved at a \endcsname
+ \set at target@series at kanji{#1}%
+ \else
+ \ifcsname \k at encoding /\k at family /#2/\k at shape \endcsname
+ \set at target@series at kanji{#2}%
+ {\let\curr at fontshape\curr at kfontshape\@font at shape@subst at warning}%
+ \else
+ \set at target@series at kanji{#3}%
+ {\let\curr at fontshape\curr at kfontshape\@font at shape@subst at warning}%
+ \fi
+ \fi
+ \fi
+}
+\def\merge at kanji@series at without@substitution#1{%
\expandafter\expandafter\expandafter
- \merge at kanji@shape@
- \csname shape@\k at shape @#1\endcsname
+ \merge at kanji@series at without@substitution@
+ \csname series@\k at series @#1\endcsname
{#1}%
\@nil
}
+\def\merge at kanji@series at without@substitution@#1#2#3\@nil{%
+ \def\reserved at a{#3}%
+ \ifx\reserved at a\@empty
+ \set at target@series at kanji{#2}%
+ \else
+ \set at target@series at kanji{#1}%
+ \fi
+}
+\let\delayed at merge@kanji at series\merge at kanji@series at without@substitution
+
\def\merge at kanji@shape@#1#2#3\@nil{%
\def\reserved at a{#3}%
\ifx\reserved at a\@empty
@@ -719,8 +852,6 @@
\edef\k at shape{#2}%
\fi
\else
- \begingroup\let\f at encoding\k at encoding\let\f at family\k at family
- \maybe at load@fontshape\endgroup
\edef\reserved at a{\k at encoding /\k at family /\k at series/#1}%
\ifcsname \reserved at a\endcsname
\edef\k at shape{#1}%
@@ -740,7 +871,25 @@
\fi
\fi
}
-\ifnum\ltj@@latex at plv=300 % !!! pl3, 4
+\def\merge at kanji@shape at without@substitution#1{%
+ \expandafter\expandafter\expandafter
+ \merge at kanji@shape at without@substitution@
+ \csname shape@\k at shape @#1\endcsname
+ {#1}%
+ \@nil
+}
+\def\merge at kanji@shape at without@substitution@#1#2#3\@nil{%
+ \def\reserved at a{#3}%
+ \ifx\reserved at a\@empty
+ \edef\k at shape{#2}%
+ \else
+ \edef\k at shape{#1}%
+ \fi
+}
+\let\delayed at merge@kanji at shape\merge at kanji@shape at without@substitution
+\fi
+
+\ifnum\ltj@@latex at plv=300 % 2020-02-02 pl3, 4
\DeclareRobustCommand\romanseries[1]{\merge at font@series{#1}}
\DeclareRobustCommand\kanjiseries[1]{\merge at kanji@series{#1}}
\DeclareRobustCommand\fontseries[1]{%
@@ -749,7 +898,7 @@
\DeclareRobustCommand\kanjiseriesforce[1]{\edef\k at series{#1}}
\DeclareRobustCommand\fontseriesforce[1]{%
\edef\f at series{#1}\edef\k at series{#1}}
-\else % !!! pl 5
+\else\ifnum\ltj@@latex at plv<1500% >=2020-02-02 pl5 and <=2020-10-01
\DeclareRobustCommand\romanseries[1]{\@forced at seriesfalse\merge at font@series{#1}}
\DeclareRobustCommand\kanjiseries[1]{\@forced at seriesfalse\merge at kanji@series{#1}}
\DeclareRobustCommand\fontseries[1]{%
@@ -758,17 +907,57 @@
\DeclareRobustCommand\kanjiseriesforce[1]{\@forced at seriestrue\merge at kanji@series{#1}}
\DeclareRobustCommand\fontseriesforce[1]{%
\@forced at seriestrue\merge at font@series{#1}\merge at kanji@series{#1}}
+\else% >=2021-05-01
+ \DeclareRobustCommand\romanseries[1]{\@forced at seriesfalse
+ \expandafter\def\expandafter\delayed at f@adjustment\expandafter
+ {\delayed at f@adjustment\delayed at merge@font at series{#1}}}
+ \DeclareRobustCommand\kanjiseries[1]{\@forced at seriesfalse
+ \expandafter\def\expandafter\delayed at k@adjustment\expandafter
+ {\delayed at k@adjustment\delayed at merge@kanji at series{#1}}}
+ \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
+ \DeclareRobustCommand\romanseriesforce[1]{\@forced at seriestrue
+ \expandafter\def\expandafter\delayed at f@adjustment\expandafter
+ {\delayed at f@adjustment\edef\f at series{#1}}}
+ \DeclareRobustCommand\kanjiseriesforce[1]{\@forced at seriestrue
+ \expandafter\def\expandafter\delayed at k@adjustment\expandafter
+ {\delayed at k@adjustment\edef\k at series{#1}}}
+ \DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}}%
+ \let\delayed at k@adjustment\@empty
+\fi\fi
+\ifnum\ltj@@latex at plv<1500% <=2020-10-01
+ \DeclareRobustCommand\romanshape[1]{\merge at font@shape{#1}}
+ \DeclareRobustCommand\kanjishape[1]{\merge at kanji@shape{#1}}
+ \DeclareRobustCommand\fontshape[1]{%
+ \@shape at roman@kanjitrue
+ \merge at font@shape{#1}\merge at kanji@shape{#1}%
+ \@shape at roman@kanjifalse
+ }
+ \DeclareRobustCommand\romanshapeforce[1]{\edef\f at shape{#1}}
+ \DeclareRobustCommand\kanjishapeforce[1]{\edef\k at shape{#1}}
+ \DeclareRobustCommand\fontshapeforce[1]{\set at safe@kanji at shape{#1}{}\romanshapeforce{#1}}
+\else% >=2021-05-01
+ \DeclareRobustCommand\romanshape[1]{%
+ \expandafter\def\expandafter\delayed at f@adjustment\expandafter
+ {\delayed at f@adjustment\delayed at merge@font at shape{#1}}}
+ \DeclareRobustCommand\kanjishape[1]{%
+ \expandafter\def\expandafter\delayed at k@adjustment\expandafter
+ {\delayed at k@adjustment\delayed at merge@kanji at shape{#1}}}
+ \DeclareRobustCommand\fontshape[1]{%
+ \romanshape{#1}%
+ \expandafter\def\expandafter\delayed at k@adjustment\expandafter
+ {\delayed at k@adjustment\@shape at roman@kanjitrue
+ \delayed at merge@kanji at shape{#1}\@shape at roman@kanjifalse}}
+ \DeclareRobustCommand\romanshapeforce[1]{%
+ \expandafter\def\expandafter\delayed at f@adjustment\expandafter
+ {\delayed at f@adjustment\edef\f at shape{#1}}}
+ \DeclareRobustCommand\kanjishapeforce[1]{%
+ \expandafter\def\expandafter\delayed at k@adjustment\expandafter
+ {\delayed at k@adjustment\edef\k at shape{#1}}}
+ \DeclareRobustCommand\fontshapeforce[1]{%
+ \romanshapeforce{#1}%
+ \expandafter\def\expandafter\delayed at k@adjustment\expandafter
+ {\delayed at k@adjustment\set at safe@kanji at shape{#1}{}}}
\fi
-\DeclareRobustCommand\romanshape[1]{\merge at font@shape{#1}}
-\DeclareRobustCommand\kanjishape[1]{\merge at kanji@shape{#1}}
-\DeclareRobustCommand\fontshape[1]{%
- \@shape at roman@kanjitrue
- \merge at font@shape{#1}\merge at kanji@shape{#1}%
- \@shape at roman@kanjifalse
-}
-\DeclareRobustCommand\romanshapeforce[1]{\edef\f at shape{#1}}
-\DeclareRobustCommand\kanjishapeforce[1]{\edef\k at shape{#1}}
-\DeclareRobustCommand\fontshapeforce[1]{\set at safe@kanji at shape{#1}{}\romanshapeforce{#1}}
\ifnum\ltj@@latex at plv>1000
%%%% LaTeX >= 2020-10-01 PL3
\DeclareRobustCommand\usekanji[4]{%
More information about the tex-live-commits
mailing list.