luahblatexで実行時エラーが出る別の例
Noto Color Emoji, Segoe UI Emoji, Twemoji Mozillaフォントだと上に報告したエラーが出ますが、ipaexm.ttfだと何もエラーが出ず正常にPDFが出ます。また https://www.fontself.com/colorfontweek/2018 にあるPlayboxでも同じエラーが出ます。ある種のフォントをmode=harfしたときだけluatexjaのエラーが起きるようです…
五月雨式のコメントで申し訳ないですが、以下のようにLModernフォントでも同じエラーが起きるのでエラーを起こすフォントの範囲は広そうです
\documentclass{minimal} \usepackage{luatexja} \begin{document} \font\lmodern={file:lmroman7-regular.otf:mode=harf;} \lmodern \end{document}
今の所 Noto Color Emoji, lmodern でしか試していませんが,commit 26a420ff 現在だと手元でエラーは出なくなりました(できれば git リポジトリ内の kitagawa_test ブランチの内容で試していただけますとありがたいです).
2019-09-26+commit 26a420ffならびにkitagawa_testブランチで
\documentclass[b5paper,12pt]{ltjsarticle} \begin{document} \font\noto={[./NotoColorEmoji.ttf]:mode=harf;+ccmp;+dist;} at 20pt \noto 👌 \end{document}
をluahblatexでコンパイルして jaerror1.pdf (添付、エラーがない)ができたので問題解決したように思われます
以下の件はチケットを新たに起こすべきかもしれないですが、続けて報告します。本件はもともとfontspecコマンドでフォント指定したらPDFが一応正常にできていました。それで、以下の2つのファイル(フォント指定だけが違う)をコンパイルすると改行の位置が変わります。これら2つは本質的に同じことをやっているように見えるから改行の位置が変わることに違和感を感じるため、報告します。PDF生成はkitagawa-testブランチでやりました。
emoji4.tex
\documentclass[b5paper,12pt]{ltjsarticle} \input emojialchar.tex \begin{document} \font\noto={[./NotoColorEmoji.ttf]:mode=harf;+ccmp;+dist}\noto\noindent ふえぇ❣️😳💦あと1ヶ月ちょっとでクリスマス🎄🎅なのに彼女💏💑💕がいないって やば❕❓😱💦⤵️このままだと令和最初‼のクリスマス🎄✨は😦クリ ぼっち😢💔😖⤵️ぴええん😭💔実は🙊💭フォロワーさんの中に🌝✨好きな 人😘👦💕がいるんだけどDMで告白💐💌💖してくれたら オケ🙆♂️✨するのになぁ❤😘 \end{document}
emoji5.tex
\documentclass[b5paper,12pt]{ltjsarticle} \usepackage{luatexja-fontspec} \input emojialchar.tex \begin{document} \fontspec[RawFeature={mode=harf;+ccmp;+dist}]{NotoColorEmoji.ttf}\noindent ふえぇ❣️😳💦あと1ヶ月ちょっとでクリスマス🎄🎅なのに彼女💏💑💕がいないって やば❕❓😱💦⤵️このままだと令和最初‼のクリスマス🎄✨は😦クリ ぼっち😢💔😖⤵️ぴええん😭💔実は🙊💭フォロワーさんの中に🌝✨好きな 人😘👦💕がいるんだけどDMで告白💐💌💖してくれたら オケ🙆♂️✨するのになぁ❤😘 \end{document}
emojialchar.tex は絵文字コードポイントを全部ALcharにするコマンド羅列で https://github.com/emojifreak/All-Emoji-by-HarfTeX-and-LuaTeX-ja/blob/master/emojialchar.tex にあります。
これら2つは本質的に同じことをやっているように見えるから
同じことではありません.emoji4.tex では 10 pt の大きさのフォントを指定しているのに対して,emoji5.tex では 12 pt(\normalsize の大きさ)のを指定しているからです.
元々の jsclasses でおきる「クラスオプション 12pt の下では,1 pt の長さが実際には 1.2 pt になる」という症状は,標準で「10 pt 時の組版結果を最後に \mag で 1.2 倍する」という方針で実装されているためです.ltjsclasses ではこの方針は使えないので,「1 pt の長さを指定したら実際に長さは 1 pt,\normalsize 等で指定される寸法が 1.2 倍されている」方針(jsclasses の nomag* と同じ)にしています.
luahblatexで実行時エラーを起こす別の例を見つけたので報告いたします。\fontコマンドにNoto Color Emojiの代わりにSegoe UI Emojiを渡してもエラーになります。他のチケットと実は重複していたらすみません。
このとき実行時エラーは
です。関連パッケージのバージョンは下記の通りです。