\whatsnote_provide_module:n { font }

\sys_if_engine_pdftex:TF
  {
    \RequirePackage{bm}
    \linespread{1.2}
    \tl_if_empty:NF \g__whatsnote_math_font
      { \RequirePackage{ \g__whatsnote_math_font } }
  }
  {
    \PassOptionsToPackage{quiet}{xeCJK}
    % \PassOptionsToPackage{quiet}{luaCJK}
    \RequirePackage[ scheme = plain ]{ctex}
    \tl_if_empty:NF \g__whatsnote_main_font
      { \exp_last_unbraced:No \setmainfont \g__whatsnote_main_font }
    \tl_if_empty:NF \g__whatsnote_mono_font
      { \exp_last_unbraced:No \setmonofont \g__whatsnote_mono_font }
    \tl_if_empty:NF \g__whatsnote_sans_font
      { \exp_last_unbraced:No \setsansfont \g__whatsnote_sans_font }
    \RequirePackage
      [ warnings-off = { mathtools-colon, mathtools-overbracket } ]
      {unicode-math}
    \tl_if_empty:NF \g__whatsnote_math_font
      { \setmathfont { \g__whatsnote_math_font } }
    \usephysicsmodule{bm-um.legacy}
  }

\sys_if_engine_xetex:T
  {
    \linespread{1.3}
    \tl_if_empty:NF \g__whatsnote_main_CJK_font
      { \exp_last_unbraced:No \setCJKmainfont \g__whatsnote_main_CJK_font }
    \tl_if_empty:NF \g__whatsnote_mono_CJK_font
      { \exp_last_unbraced:No \setCJKmonofont \g__whatsnote_mono_CJK_font }
    \tl_if_empty:NF \g__whatsnote_sans_CJK_font
      { \exp_last_unbraced:No \setCJKsansfont \g__whatsnote_sans_CJK_font }
    \RequirePackage{xeCJKfntef}
  }
% \sys_if_engine_luatex:T
%   {
%     \linespread{1.3}
%     \tl_if_empty:NF \g__whatsnote_main_Lua_font
%       { \exp_last_unbraced:No \setCJKmainfont \g__whatsnote_main_Lua_font }
%     \tl_if_empty:NF \g__whatsnote_mono_Lua_font
%       { \exp_last_unbraced:No \setCJKmonofont \g__whatsnote_mono_Lua_font }
%     \tl_if_empty:NF \g__whatsnote_sans_Lua_font
%       { \exp_last_unbraced:No \setCJKsansfont \g__whatsnote_sans_Lua_font }
%     \RequirePackage{luaCJKfntef}
%   }

\RequirePackage{fontawesome5}
\hook_gput_code:nnn { cmd/faIcon/before } { . }
  {
    \group_begin:
    \fontsize { \fp_eval:n { .8 * \f@size } } { 0 } \selectfont
  }
\hook_gput_code:nnn { cmd/faIcon/after } { . } { \group_end: }

\newcommand{\iu}{{i\mkern1mu}}
\DeclareMathOperator{\sign}{sgn}

\endinput
