OSDN Git Service

Fix #39431: support notdef=... (introduced in luaotfload v2.98)
[luatex-ja/luatexja.git] / src / ltj-latex.sty
index dd35490..446707b 100644 (file)
 \def\luatexjalatexLoaded{\endinput}
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ltj-latex}[2018/08/23 LaTeX support of LuaTeX-ja]
+\ProvidesPackage{ltj-latex}[2018/08/24 LaTeX support of LuaTeX-ja]
 
 % cleanup at end of the document
 %\let\ltj@@orig@end=\@@end
 %\protected\def\@@end{%
 %  \directlua{luatexja.ext_cleanup()}\ltj@@orig@end}
 
-\def\ltj@AtBeginDocument{\gpreto\@begindocumenthook}
-
-\def\ltj@pkgpatch#1{%
-  \@ifnextchar[{\ltj@pkgpatch@@{#1}}{\ltj@pkgpatch@@{#1}[lltjp-#1]}}%]
-\def\ltj@pkgpatch@@#1[#2]{\ltj@AtBeginDocument{\@ifpackageloaded{#1}{\RequirePackage{#2}}{}}}
-
 \endlinechar=13
 
 %%% patch for LaTeX
 \usepackage{lltjdefs}
 \usepackage{lltjcore}
 
+%%% patching commands
 \RequirePackage{filehook}
+
 \def\ltj@pkgpatch@im#1{%
  \@ifnextchar[{\ltj@pkgpatch@im@{#1}}{\ltj@pkgpatch@im@{#1}[lltjp-#1]}}%]
-\def\ltj@pkgpatch@im@#1[#2]{\AtEndOfPackageFile*{#1}{\RequirePackage{#2}}}
+\def\ltj@pkgpatch@im@#1[#2]{%
+  \AtEndOfPackageFile*{#1}{%
+    \@ifpackageloaded{#2}{}{%
+         \@namedef{ver@#2.\@pkgextension}{0000/00/00}%dummy
+         \if\catcode`@=11\let\ltj@temp\relax\else
+           \edef\ltj@temp{\noexpand\catcode`@=\the\catcode`@\relax}\makeatletter
+         \fi
+         \@@input{#2.\@pkgextension}\ltj@temp
+       }%
+  }%
+}
+
+\def\ltj@pkgpatch#1{%
+  \@ifnextchar[{\ltj@pkgpatch@@{#1}}{\ltj@pkgpatch@@{#1}[lltjp-#1]}}%]
+\def\ltj@pkgpatch@@#1[#2]{%
+  \gpreto\@begindocumenthook{%
+    \@ifpackageloaded{#1}{%
+         \@ifpackageloaded{#2}{}{\RequirePackage{#2}}%
+       }{}%
+  }%
+}
 
 %%% default parameters
 \directlua{
@@ -65,6 +81,7 @@
 \ltj@pkgpatch{array}    %% at \begin{document}
 \ltj@pkgpatch@im{unicode-math}
 \ltj@pkgpatch@im{siunitx}
+\ltj@pkgpatch@im{microtype}
 
 \RequirePackage{lltjp-geometry}