%
% lltjp-fontspec.sty
%

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{lltjp-fontspec}[2016/03/31 Patch to fontspec for LuaTeX-ja]

\RequirePackage{fontspec,luatexja}
\ExplSyntaxOn

\cs_set:Nn \fontspec_visible_space:
 {
  \font_glyph_if_exist:NnTF \font {"2423}
   { \ltjalchar"2423\scan_stop: }
   { \fontspec_visible_space_fallback: }
 }
\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_eq:NN \ltj_orig_fontspec_setup_maths: \fontspec_setup_maths: 
\cs_set:Nn \fontspec_setup_maths:
  {
    \group_begin:
      \cs_set:Npn \DeclareMathSymbol##1##2##3##4{%
        \expandafter\in@\csname sym##3\expandafter\endcsname
           \expandafter{\group@list}%
        \ifin@
          \begingroup
            \count\z@=##4\relax
            \count\tw@\count\z@
            \divide\count\z@\sixt@@n
            \count@\count\z@
            \multiply\count@\sixt@@n
            \advance\count\tw@-\count@
            \if\relax\noexpand##1% is command?
              \edef\reserved@a{\noexpand\in@{\string\mathchar}{\meaning##1}}%
              \reserved@a
              \ifin@
                \expandafter\set@mathsymbol
                   \csname sym##3\endcsname##1##2%
                   {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
                \@font@info{Redeclaring math symbol \string##1}%
              \else
                \expandafter\set@mathsymbol
                \csname sym##3\endcsname##1##2%
                  {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
              \fi
            \else
              \expandafter\set@mathchar
                \csname sym##3\endcsname##1##2
                {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
            \fi
          \endgroup
        \else
          \@latex@error{Symbol font `##3' is not defined}\@eha
        \fi
      }
    \ltj_orig_fontspec_setup_maths:
    \group_end:
  }
\ExplSyntaxOff
\endinput
