},}それでは早速今作ったJFMmypropを適用して游明朝で組んでみましょう。0.1\zw}\begin{document}昨日、近所の吉野家行ったんです。自分好みになってますね!LuaLaTeXのフォント指定は自由自在LuaLaTeXを使うと和文のプロポーショナル組が容易に実現できることを見てきました。LuaLaTeXのフォントの扱いはかなり自由度が高いため、従来のLaTeXでは面倒な準備作業が必要だった複雑なフォント設定が、“文書中の設定”として簡単に実現できます。いくつかの実用例を挙げておきます。「仮名文字はIPAex明朝、(☃は源ノ角ゴシック、)それ以外はIPAexゴシック」という合成フォントを定義しています。LuaLaTeXで花園明朝(AFDKO版)して遊んでみるテスト「花園明朝(AFDKO版)のA(BMP用)とB(非BMP用)を1つにまとめ、さらにIPAex明朝にある文字はそちらを優先して使う」という合成フォントを定義しています。LuaLaTeXで源ノアレを4ウェイト使ってみるテスト源ノ明朝・源ノ角ゴシックの4種のウェイト(Light/Regular/Bold/Heavy)をそのままLaTeXの4種のシリーズ(l/m/b/eb)に割り当てて使っています。Sansで代用しています。まとめスゴイLuaLaTeXでスゴイ日本語文書をつくろう!「ネイティブ」とは入出力だけでなく内部処理も(バイト単位やレガシー文字コードでなく)Unicodeで行うことを指します。本記事では、“CFFグリフ”と“TrueTypeグリフ”のOpenTypeフォントの両方を単に「OpenTypeフォント」と呼びます。一般的に後者は「TrueTypeフォント」と呼ばれることがあります。従来のLaTeX(pdfLaTeXや(u)pLaTeXも含む)では、新しいフォントを導入する際に、それに呼応する“論理フォント(TFM)”のデータファイルを作成する必要がありました。和文フォントの場合はその作成が手順が確立されていないため、一般のユーザが新しいフォントを導入することは非常に困難でした。↩この時期には後方非互換な仕様変更が割と頻繁に行われ、これがLuaLaTeXを実用で使う上での大きな障害になっていました。一般のLaTeXユーザが使えるパッケージ機能としては、japanese-otfパッケージでヒラギノフォントを使っている場合に\propshape命令でプロポーショナル組ができる、というものがあります。↩\setmainfontはセリフの総称ファミリ(\rmfamily)、\setmainjfontは明朝の総称ファミリ(\mcfamily)に対応するものであるため、サンセリフ・ゴシック系のフォントを“既定”にする場合は、それを\setmain(j)fontで指定するのではなく、\setsans(j)fontで一旦指定してから\(kanji)familydefaultの再定義をするのが正統な方法かもしれません。本記事では“横着をして”全て\setmain(j)fontで指定することにします。「源真ゴシック」は和文文字は全角の等幅ですが、欧文文字(英数字など)は全角でも半角でもなくプロポーショナル幅です。先の出力をよく見ると、欧文数字「150」が半角幅でなくプロポーショナルであることが判ります。日本語LaTeXではそれが普通です。「源真ゴシックP」のフォントファイルは「源真ゴシック」のアーカイブに一緒に含まれてます。↩\setmainjfontの設定内容(オプションを含む)は通常は横組・縦組の両方のフォントに適用されます。ところが、propは横組用のJFMであり縦組では指定できないため、「横組のときにのみ適用する」ことを表すために、JFM=propをYokoFeatures={...}で囲ってしてします。↩\setxkanjiskip命令はBXJSクラスに特有のものです。jsclassesバンドルのクラス(jsarticleなど)、およびそのLuaTeX-ja版互換クラス(ltjsarticleなど)では大域的に和欧文間空白の量を設定する方法は用意されていません。↩もしかしたら、ここで挙げた設定は「(u)pLaTeXでmacOS付属のフォントを使うための設定」と相性が悪いかもしれません。upLoginユーザーは見つかりませんでした。