マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

XeTeX

\pdfstrcmp のお話 (3/3)

\pdfstrcmp 等の LuaTeX で削除された pdfTeX の機能を LuaLaTeX で使うためのパッケージ((LaTeX 以外のフォーマットでも \input で読み込めば使用できる。))が pdftexcmds パッケージ(Heiko Oberdiek 氏制作)である。これを読み込むと \pdf@strcmp という…

XeTeX は IVS(Unicode 異体字セレクタ)に対応しているか?

IVS が流行っているようなので試してみた。だが、ダメだった。フォントが IVS の定義をもっていることが大前提なので、ここでは「IPAex 明朝(ver001.01)」を用いた。このフォントの Unicode 文字「葛」(U+845B)に関する cmap は以下のようになっている。…

\pdfstrcmp のお話 (2/3)

(前回)\pdfstrcmp の処理が行われる時には、引数のテキストは既に TeX エンジンに読み込まれているので、非トークン化した後の比較対象となる文字列は当該エンジンの「内部文字コード」で表されていることになる。従って、基本的には文字列比較はこの「内…

\pdfstrcmp プリミティブのお話 (1/3)

以前の記事で \pdfstrcmp について言及した。名前から容易に想像されるように、\pdfstrcmp 命令は C 言語標準ライブラリの strcmp() (あるいは Perl の cmp 演算子、Java の String.compareTo() メソッド)と同じように、2 つの文字列を受け取り、その(内…

宛名書き用文書クラス(ZXaddrite パッケージ)

(去年の暮れの押し迫った日のこと)年賀状の裏面のデザイン(というかパズル)が完成して一安心と思っていたら、非常に困った事に気付いた。年賀状の宛名書きのために、去年まで「筆まめ」(かなり古い版)を使っていたのだが、「筆まめ」がインストールさ…

紙面サイズの指定 (1/2)

周知の通り、オリジナルの TeX は出力(DVI)に紙面の大きさを記録しない(そもそも「紙面の大きさ」という概念がない)。従って、PDF に変換する時に紙面の大きさを DVI ドライバの起動オプションで指定する必要がある。ただし、pdfTeX や XeTeX のような「…

XeTeX で LaTeX しない件について

つまり XeTeX のエンジンとしての機能については、TeX Wiki の 「XeTeX」のページ が詳しく、また内容も正確である。ただし、TeX レベルの操作に慣れていない、あるいはそもそも TeX と LaTeX の区別がついていない人がこれを読むと却って混乱する可能性があ…

XeLaTeX での結合文字(および NFD)の扱い

XeTeX 自体は文字合成に対応しているので、「が」等の分解可能な文字(和文でも欧文でも)が「基底文字 + 結合文字」の列で表されていても、フォントが対応している限り、正常な出力が得られるはずである。(Unicode の正規化方式 NFD では分解した形が用い…

fontspec パッケージの cm-default オプション

XeLaTeX についての日本語の解説ページを見ると、fontsepc パッケージに cm-default オプションを指定した例をよく見かける。 \usepackage[cm-default]{fontspec}このオプションは、fontspec が行う既定値(Latin Modern フォント)の設定を完全に抑止するも…