This Project Has Not Released Any Files
texdoc コマンドで開くはず。
まずは、Unicode フォントを使わず、 従来の (pdf)TeX と同じ方式で文書を組版する。
入力文字コードは UTF-8 にする。
LaTeX の inputenc は使えない(fontenc は可)。 Unicode フォントを使わないので、 実質的に、コメント以外では ASCII 文字しかソースに書けない。 当然だが、p(La)TeX 専用のものは使えない。
LaTeX 文書の例:
\documentclass{article} \usepackage{lmodern} \usepackage[T1]{fontenc} \begin{document} ,,Gr\"u{\ss} Gott!\hbox{}`` Ich liebe $e^{\pi i} = -1$. \end{document}
フォーマット | PDF 出力 | DVI 出力 |
plain TeX | luatex | dviluatex |
LaTeX | lualatex | dvilualatex |
なお、LuaTeX バイナリを texlua のコマンド名で起動すると、 Lua インタプリタとして動作する。
(参考)8 ビット TeX(実態は pdfTeX)の場合:
フォーマット | PDF 出力 | DVI 出力 |
plain TeX | pdftex | etex |
LaTeX | pdflatex | latex |
tex は元来の「TeX」を plain で起動する。
すなわち、Unicode のエンコーディングをもつ OpenType/TrueType フォントを直接(TFM なしで) 読み込んで用いる方法を述べる。 この場合は、事実上 DVI 出力は役に立たず、 専ら PDF 出力を行うことになる。
luaotfload.sty ファイルを(\input で)読み込むと、 \font プリミティブが拡張されて、 フォント名(ファミリ名)やフォントファイル名で フォントを定義できるようになる。 定義された制御綴(fontdef トークン) の使用法は従来の TeX と基本的に変わらない。
なお、フォント名で指定した場合は、 初回にフォントデータベースを構築する作業が入り、 これには数分程度の時間を要する。 次回からは構築作業は行われないが、 それでもフォント名での指定は多少の時間がかかる。
\input luaotfload.sty \font\tgtermes{file:texgyretermes-bold.otf:+smcp} at 12pt % ファイル名で指定 %\font\tgtermes{name:TeX Gyre Termes/B:+smcp} at 12pt % フォント名で指定 \tgtermes {\TeX} Gyre Termes \bye
フォント定義の書式で変わるのは、 従来 cmr10 等の TFM 名を指定していた部分で、 ここが次のように変わる。 (なお、外側の { } は文字列が空白を含まない場合は省略できる。)
フォント名での指定:
{name:<フォント名><オプション>:<特性>}
ファイル名での指定:
{file:<フォントファイル名>:<特性>}
<オプション> は次の通り(複数指定可)。
/B | 太字 |
/I | イタリック |
/BI | 太字イタリック |
/S=<数> | オプティカルサイズの指定 |
<特性> は次の通り(セミコロン区切りで複数指定可)。 ここで xxxx は有効な OpenType 特性を表す。
+xxxx | 特性 xxxx を有効にする |
-xxxx | 特性 xxxx を無効にする |
+anum (拡張特性) | 数字をアラビア語/ペルシャ語のもので置換する |
+tlig (拡張特性) | リガチャによる特殊文字入力( `` → “ 等)を有効にする |
+trep (拡張特性) | 置換による特殊文字入力( ` → ‘ 等)を有効にする |
script=<名前> | スクリプト(用字系)の指定 |
language=<名前> | 言語の指定 |
color=<値> | 色指定;〈値〉は RRGGBB[AA] の形で指定 |
mode=base | 部分的だが高速な処理方式を選択 |
mode=node | 完全だが低速な処理方式を選択(数式モードは不可) |
featurefile=<名前> | 特性記述ファイルの指定(詳細省略) |
protrusion=<名前> | (microtypography の)突出の指定(詳細省略) |
expansion=<名前> | (microtypography の)伸長の指定(詳細省略) |
前述のフォント定義の書式の <オプション> と <特性> の部分は XeTeX と同じ書式をもつ。 この書式のパーズは luaotfload パッケージの Lua コード中で行われているが、 これが XeTeX の高い相互運用性を保つように設計されているためである。 実は、次のような XeTeX 互換の書式もサポートされていて、 さらに、空白を含めるのに { } の代わりに " " で囲むこともできる。
{<フォント名><オプション>:<特性>} (フォント名での指定) {[<フォントファイル名>]:<特性>} (ファイル名での指定)
(注意) luaotfload のマニュアルには、 name: も file: も付けないものはファイル名指定であると 述べられているが、実際の動作としては、 フォント名とファイル名の両方に対応するようになっている (従って、フォントデータベースを読みにいく)。 ファイル名指定のみを行いたい場合は file: を付けるべきである。 さらに、マニュアルでは <オプション> に関する解説が欠落している。 もしかすると、「ファミリ名+スタイル」による指定自体が XeTeX 互換機能だからなのかも知れない。 しかし、fontspec はこの機能に依存しているので、 ここでは解説しておいた。
ちなみに、<特性> で、XeTeX では対応していないものは、拡張特性と、 mode、featurefile、protrusion、expansion 指定。 「+trep;+tlig」は XeTeX では「mapping=tex-text」 に相当する。
fontspec パッケージの機能を使うことになる。
\documentclass[a4paper]{article} \usepackage{fontspec} \setmainfont[Scale=MatchLowercase]{Linux Libertine O} % \rmfamily のフォント \setsansfont[Scale=MatchLowercase]{Linux Biolinum O} % \sffamily のフォント \setmonofont[Scale=MatchLowercase]{Inconsolata} % \ttfamily のフォント \begin{document} This document contains English, \textit{Français}, Српски, and Rom\^an\u{a}. {\sffamily If you want the logo {Lua\TeX} then simply type \verb|Lua\TeX|.} \end{document}
常用される使用法については、以下の文書(XeLaTeX での fontspec の解説) を参照されたい。
上記で述べられている「属性リスト」のうち、 Vertical=RotatedGlyphs と Mapping=tex-text は LuaLaTeX では使えず、後者については代わりに Ligatures=TeX を用いることになる。
TeX の \char プリミティブ(または LaTeX の \symbol 命令) を用いて、符号値での文字の出力が可能。 例えば、\char"414 や \symbol{"414} は〈Д〉を出力する。
TeX エスケープ記法(^^ab)が 4~6 桁 (^^^^abcd、^^^^^1abcd、^^^^^^10abcd) に拡張されていて、「文字そのもの」の代わりに使用できる。 例えば \def\^^^^0414{...} 等。 なお、^ 3 つの ^^^ は ^^A 等と同類で、 符号値 "1E の文字を表す。