luahblatexとluaotfload 3.1の組み合わせでjfont mode=harfを使うと実行時エラーが起きる
少なくともこの件は luaotfload の調整不足のような気がします.次のように LuaTeX-ja を読まなくてもエラーが出ています:
\input luaotfload.sty
\font\testfont=file:ipaexm.ttf:mode=harf \testfont
\directlua{
local id = font.current()
local t = font.getfont(id)
print(luaotfload.aux.provides_feature(
id, t.properties.script, t.properties.language, 'hoge'
))
}
\bye
ただ,LuaTeX-ja がまだ luaotfload 3.1 対応に未着手なのは確かなので,できるところからやっていきます.
少なくともこの件は luaotfload の調整不足
……と思ったら,luaotfload のリポジトリで修正のコミットがすでにされていますね.
早速ご確認ありがとうございます。自分のところでもluaotfload-auxiなんとか.luaのhbsharedをhb.sharedに直したら以下のファイルで期待どおりのPDFができました。この現象自体はluaotfloadのバグでluatexjaとは無関係であったようです。どうもすみません。手元にあった10ページくらいのビーマースライドに
\defaultfontfeatures{RawFeature={mode=harf}}
\defaultjfontfeatures{RawFeature={mode=harf}}
をつけてluahblatexでコンパイルしても特に問題なくPDFができているようで、現時点ではluahblatex+luaotfload+luatexjaの組み合わせで問題点を認識しておりません。
luatexja-ruby.tex に
\defaultfontfeatures{RawFeature={mode=harf}}
\defaultjfontfeatures{RawFeature={mode=harf}}
つけてluahblatexでコンパイルしても何も変なことは起きていないように見えました…
CTANに最近luaotfload 3.1が上がっていてharfbuzzとの統合が終わった最初の公開バージョンとなっていますが、jfontコマンドにmode=harfを付けてフォントを呼び出すとエラーが起きたので報告します。
\documentclass{ltjsarticle} \begin{document} \font\testfont={file:ipaexm.ttf:mode=harf;script=dflt;} \testfont test \jfont\testfontB={file:ipaexm.ttf:mode=harf;jfm=ujis;script=dflt;} \testfontB test \end{document}mode=harfのところをmode=nodeとかmode=baseにするとエラーは起きませんでした。関連ソフトのバージョンは下記の通り