X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fpatches%2Flltjfont.sty;h=43ef5593e234e179b65c498ba8e171bb77729cfd;hb=c3bc0f3aa98ff13cb5fa9392eaf58ea71012384a;hp=515f7dfdbfbd4f6a72f11ca73d635105a7c0ef75;hpb=4c0c9f527b2c1d7163d5c293512b2179fc373879;p=luatex-ja%2Fluatexja.git diff --git a/src/patches/lltjfont.sty b/src/patches/lltjfont.sty index 515f7df..43ef559 100644 --- a/src/patches/lltjfont.sty +++ b/src/patches/lltjfont.sty @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjfont}[2018/12/15 Patch to NFSS2 for LuaTeX-ja] +\ProvidesPackage{lltjfont}[2019/01/29 Patch to NFSS2 for LuaTeX-ja] \def\ltj@chardef@text@cmd#1{% \let\@ifdefinable\@@ifdefinable% @@ -675,12 +675,21 @@ % 異なる和文 enc/fam/ser/shape からは異なるフォント番号が振られるように % わざと「ゴミをつける」 \def\ltj@@patch@external@font#1 at{% - #1\directlua{luatexja.jfont.print_aftl_address()}\space at% + \directlua{ + local s = '\luatexluaescapestring{#1}' + local is_braced, is_quoted + if s:sub(1,1)=='{' and s:sub(-1)=='}' then is_braced=true; s=s:sub(2,-2) end + if s:sub(1,1)=='"' and s:sub(-1)=='"' then is_quoted=true; s=s:sub(2,-2) end + s=s..luatexja.jfont.print_aftl_address() + if is_braced then s='{'..s..'}' elseif is_quoted then s='"'..s..'"' end + %print(s, is_quoted, is_braced) + tex.sprint(-2, s)}% + \space at% } \def\extract@jfont{% \get@external@font \ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}{% - \edef\external@font{\expandafter\ltj@@patch@external@font\external@font}% + \edef\external@font{\expandafter\ltj@@patch@external@font\romannumeral-`0\external@font}% }% \expandafter\globaljfont\font@name\external@font\relax\font@name% ここで時間がかかる \csname \f@encoding+\f@family\endcsname @@ -734,12 +743,15 @@ \let\ltj@@al@getanddefine@fonts=\getanddefine@fonts \def\ltj@@ja@getanddefine@fonts#1#2{% + \csletcs{if@ltj@tempif}{ifltjselectfont@force@define} + \ltjselectfont@force@definetrue \xdef\font@name{\csname \string#2/\tf@size\endcsname}% \pickup@jfont\let\textfont@name\font@name \xdef\font@name{\csname \string#2/\sf@size\endcsname}% \pickup@jfont\let\scriptfont@name\font@name \xdef\font@name{\csname \string#2/\ssf@size\endcsname}% \pickup@jfont + \csletcs{ifltjselectfont@force@define}{if@ltj@tempif} \edef\math@fonts{\math@fonts\ltj@setpar@global% \ltj@@set@stackfont#1,\textfont@name:{MJT}% \ltj@@set@stackfont#1,\scriptfont@name:{MJS}%