マクロツイーター

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

2011-09-01から1ヶ月間の記事一覧

dvipdfmx で OpenType する件について (5)

(前回の続き) LaTeX サポートファイルの作成 最後にフォント定義ファイルを用意する。今の例(直立と斜体がある)は「持ち込む練習」で用いた「CM Sans Serif Quotation」と同じパターンになっているので、それに倣う(つまりイタリックを斜体で代替する)…

dvipdfmx で OpenType する件について (4)

(前回の続き) 前回の一連の作業では、LY1 エンコーディングを用いた。LY1 は収録文字範囲の割と貧弱な(Latin-1 または CP1252*1程度をカバーする)フォントに対して用いるには最適である。しかし、「M+ フォント」は日本で制作されたフリーフォントとして…

dvipdfmx で OpenType する件について (3)

(前回の続き) LaTeX サポートの作成 LaTeX サポートの要であるフォント定義ファイルの作り方については、「持ち込む話」で既に説明した。まずは、各フォントの対応先となる NFSS 属性値を決める必要がある。「M+ P Type-1」の場合、直立体のウェイトの異な…

dvipdfmx で OpenType する件について (2)

(前回の続き) マップファイルの作成 dvipdfmx のマップの形式は実際に必要となる情報だけからなるので非常に単純である。 〈TFM名〉 〈エンコーディングファイル名〉 〈実フォントファイル名〉 [〈オプション〉] 先に示した pdfTeX のマップの内容をこの形…

dvipdfmx で OpenType する件について (1)

今回は、OpenType フォント(TrueType フォントを含む*1)を LaTeX + dvipdfmx で使えるようにする手順を、その原理の説明を含めて解説することにする。インストール対象のフォントとして、「M+ P Type-1 ファミリ」を用いる。 例によって、「欧文フォントの…

BXattritta を使ってみる

BXattritta パッケージのインストール法に絡めて updmap の解説をしたが、肝心のパッケージの使用法をまだ述べていなかったのでここで書いておく。「和文ゴシック + 欧文サンセリフ」を「マルベリ + Attritta」にする例。bxattritta パッケージに sfgt オプ…

TFM 名(Berry 命名規則)と NFSS の属性の関係

TeX

TFM 名(Berry 命名規則、あるいは「ZR 命名規則(謎)」*1)の Weight、Variant、Width の属性は NFSS のシリーズ、シェープの属性と似た概念であるが、前者は「元のフォント名で称されているもの」、後者は「実際に LaTeX でどの属性値を使いたいか」によ…

オレオレ命名規則について語ってみる

TeX

私自身は、TFM の名前を決める時に、Berry 命名規則ではなく、それを少し変更した「ZR 命名規則(謎)」を用いている。これについての経緯は以前の記事で説明した。拙作のパッケージの中の TFM の名前の付け方が気になる人*1のために、この命名規則について…

Berry 命名規則とオレオレ命名規則

TeX

「持ち込む話」の中で Times のファミリを TeX で扱う例を載せているが、そこで登場する TFM の名前は次のようになっている。 ptmbi8t = T1, Times Bold Italic ptmbi7y = LY1, Times Bold Italic pplbi8t = T1, Palatino Bold Italic ptmri8t = T1, Times I…

LaTeX に新しいフォントを持ち込む練習

TeX

「マルベリでないフォントの話」で、CM Sans Serif Quotation Style の話をして、それが既定では NFSS でサポートされていないということを述べた。「LaTeX へのフォントの持ち込み」の練習として、これをファミリ cmssq で使えるようにしてみよう。要件は以…

updmap はなぜ動くのか (2)

(前回の続き) 設定ファイルとマップファイルの関係 updmap の動作原理を見る前に、各ソフトウェアについて、マップファイルがどのように読み込まれているかを調べる。ここでは例として dvipdfmx を用いる。 dvipdfmx が和文フォントの設定に「cid-x.map」…

updmap はなぜ動くのか (1)

BXattiritta パッケージについて、「普通に updmap を使えばよい」と書いた。恐らくは、これだけではほとんどの人は何をすればよいか解らないだろうし、設定手順を知っている人でも、そもそも updmap が何をするものなのかを理解している人はそう多くないだ…

例の(マルベリでない)フォントの話 (2)

(前回の続き) この字形定義らしきものが何もない「ソース」だけだと何のことか解らないと思うので、もう少し詳しく説明しておく。 「コンクリートなフォントとか」で述べた通り、Computer Modern は METAFONT を用いた文字通り「メタなフォント」として設…

例の(マルベリでない)フォントの話 (1)

「pLaTeX でマルベリする件」で、「丸ゴシックのフォントにあう欧文フォントが欲しい」という話をした後、次のような欧文フォントを紹介した。(和文は「マルベリ」です。) このフォントの「ソースファイル」を掲載する。 [attr-r-ot1.mf] % Attritta Regul…

LaTeX に新しいフォントを持ち込む話

前の記事であげた文書「欧文フォントのインストール」は TeX レベルにおけるフォントの取扱を専ら扱っている。実際に LaTeX 上で新しいフォントを使いたいという人にとっては、LaTeX レベルでの設定――すなわち、新しいフォントを LaTeX のフォント命令で扱え…

「欧文フォントのインストール」が素晴らしい件について

TeX+dvioutのフォントが表示されるからくりを実験しながら調べてみました。PDFにしたら60ページになりました。 感動した! こういう「TeXシステムでのフォントの扱い」の詳細は語られることが少ないのであるが、この文書を見ると、その理由が判ると思う。要…

TeX での末尾再帰 (6)

プログラミング言語において、関数(あるいはメソッド)に与える引数の数は(静的型付け言語の場合は型も)通常は関数ごとに固定されていてその関数の呼出において変わることはない。しかし例外的に、引数の個数(や型)が呼出毎に変わりうるような関数があ…

画期的なソートアルゴリズム: TeXsort

TeX

一昨日の記事で出題した問題のうち、一番難しいと思うのは最後のリストのソートである。ソート(整列)は実際の LaTeX パッケージの開発においても必要性のある処理だと思われる。*1しかし、バブルソート等の非常に単純なアルゴリズムでも、実行・展開の制御…