また,詳しい説明もありがとうございました。より理解を深めることができました。
ちなみに,jlreq.cls については,ほんの2, 3のソースファイルでしか試していませんが,otf パッケージの他書体も含めて,うまく動くようです。
普段,ソースファイルの始まりは
\documentclass[uplatex]{jsarticle}
\usepackage{otf}
としていますが,一行目を
\documentclass{jlreq}
に変えるとエラーになり,こりゃ使えん,としばらくは見向きもしませんでしたが,
後から振り返ってみるとフォントがらみのエラーだったので,もしかしてと思い,
\usepackage[uplatex]{otf}
とすると,うまくいきました(あるいはグローバルオプションでもよさそうですね)。
# \headfont についてですが,元々のソースファイルで \section の定義を
# (色をつけるなど)いじくっておりまして,今回の投稿にあたって,
# jsarticle.cls の本来の定義に戻したため,このような記述になりました。