マクロツイーター

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

フォント

和文を箱に詰め込む、別の話

前回に続いて、和文の調整絡みで混乱する例の話。 次の例は非標準的な濁点付き仮名の出力を、単独の濁点文字〈゛〉(1区11点;U+309B)を位置調整して出力することで実現しようとした例である。(以下、水平モードでの実行を仮定する。)\hbox to 1zw{イ゛}…

ギリシャ文字もラテン文字も数字も、でも時々、CM Bright をつかってみた

今回は、ある環境中のギリシャ文字のみを Computer Modern Bright のそれらに置き換えるので、以下のように cmbr を接頭辞を付加した cmbrletters という名前で、Computer Modern Bright の数式イタリックを場当たり的に定義しておいて、その環境中で \alpha…

第 3 水準にあるけど大事な漢字(1)

新しい JIS 文字コードである JIS X 0213(JIS 拡張漢字)が普及する前は、普通の PC で普通に使える漢字は JIS X 0208:1997(JIS 基本漢字)の 6355 文字*1に限られていた。これに対して JIS 拡張漢字(JIS X 0213:2004)では 10050 文字、Unicode 6.1 では…

IPA フォントか、IPAex フォントか

「pTeX(または upTeX)の標準和文フォント(rml, gbm)の実体のフォントとして割り当てる」という使い方をする場合、IPA フォント(ipam.ttf, ipag.ttf;以下単に「IPA」と呼ぶ)と IPAex フォント(ipaexm.ttf, ipaexg.ttf;以下「IPAex」)はどちらが適当…

IPAmj明朝の改版で GID はどうなった

昨日の記事で書いたように、TrueType/OpenType フォントの全てのグリフには一意のグリフ ID(GID)が付いていて、(ソフトウェアによっては)GID でグリフを呼び出すことが可能である。しかし、Unicode 等の公開の文字コードと異なり、各 GID がどういう文…

「IPAmj明朝」のグリフ名情報の話

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

明朝・ゴシックのフォントの太さを調べてみた (2)

「調べてみた」の改訂版で、調整後の計測プログラムによる結果。 対象フォント 私の TeX システムで参照できる日本語フォントで、明朝体・ゴシック体・丸ゴシック体の何れかに相当するもの。(ただし HG フォントは全部調べた。) 和文が等幅であるフォント…

dviout の欧文フォントの謎が解けた! (3)

(前回の続き) 「思想」の話だけで終わるのもアレなので、ここでは実際に「dviout 流」のフォント設定を実践してみる。目的は timesnr-r "Times New Roman" のような「素直な dviout の欧文マップ設定」を基にして、LaTeX で新たな欧文フォントを「普通に」…

dviout の欧文フォントの謎が解けた! (2)

(前回の続き) 実は以下の資料・文献の中に答えが含まれている。(dviout のインストール先ディレクトリを $DVIOUT であらわす。) $DVIOUT/map/ttfonts.map の冒頭にあるコメントおよびそこで直接(%input を介してでなく)定義されたマップ行。 $DVIOUT/F…

dviout の欧文フォントの謎が解けた! (1)

今まで、dviout に関してずっと疑問に思ってきたことがあった。それは「欧文の OpenType フォントを使うことための、(開発者が想定している)正しい方法は何なのか」ということである。それが TeX Forum 上のある質問に対する議論を契機にしてようやく理解…

Tフォントが凄い件 ※ただし非漢字に限る

「Tフォント」の「第一期β版」が公開されている(2011 年 2 月)ことを割と最近になって知った。全然話題にならなかったせいか全く見逃していた。 Tフォントは約 12 万字の漢字*1を収録することが予定されているが、今回の版で収録されているのは「GT漢字セ…

まとめ:簡単!今すぐ OpenType できる方法

% 文字コードは UTF-8; xelatex で組版 \documentclass{article} \usepackage{fontspec} \usepackage{xltxtra} % \XeTeX ロゴのため \usepackage{color} \definecolor{dblue}{rgb}{0,0.1,0.4} \definecolor{lcyan}{rgb}{0.8,1,1} \pagecolor{lcyan} % ペー…

dvipdfmx で OpenType する件について (CJK パッケージ編)

長く続いたサブフォント定義ファイル(SFD ファイル)関連の解説もようやく一区切りが付いた。折角サブフォントの話をし終えたので、今回は(非常に難解とされる)「CJK パッケージに新しいフォントを持ち込む話」を述べようと思う。ただし UTF-8 で入力する…

dvipdfmx で OpenType する件について (SFD 編-8)

(前回の続き) 各 TFM 生成ツールにおける SFD ファイルの扱い これまでの説明は ttf2tfm を用いる場合についてのものであり、次のようにコマンドを起動するのであった。 ttf2tfm mplus-1p-regular.ttf mplus1ps-r-@Samp0TeXStd@ Type1 フォント(afm2tfm …

dvipdfmx で OpenType する件について (SFD 編-7)

(前回の続き) DVI ウェア/レンダラ毎のマップ行の書き方 いずれの場合も、TFM 名の中で SFD の名前を〈@〉で囲って入れるという点は共通である。だから、この形の文字列を「サブフォントで定義されたフォントの名前」とみなして、例えば「このパッケージ…

dvipdfmx で OpenType する件について (SFD 編-6)

(前回の続き) サブフォント定義ファイル(SFD ファイル)を用いたフォントの設定の話が続いている。今までの話では、TFM 生成ツールとして ttf2tfm、DVI ウェアとして dvipdfmx を用いるという前提で話をした。今までに言及した TeX 関連ソフトウェアの多…

ちょっと一服

かなり激しい解説文章が続いたので、ここで一息つきたい。「M+ 1P Regular」の文字コード表を思う存分に鑑賞して至福のひと時を! まずは OT1・T1・LY1 の各エンコーディング。 mplus1ps-r-ot1 mplus1ps-r-t1 mplus1ps-r-ly1 次はキリル文字のための T2A エ…

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

(前回の続き) SFD ファイルで「普通の」エンコーディングを定義する これまで、サブフォント定義ファイル(SFD ファイル)の「本来の」使い方――すなわち、大規模文字集合を複数の TFM ファイルで分割して表現する――について説明してきた。ここからは、SFD …

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

(前回の続き) SFD と .enc の「エンコーディング指定」の決定的な違い これまでの説明だと、何となく、SFD ファイルというものは、「複数の .enc ファイルでサブフォントのエンコーディングを定義していたものが、1 つのファイルで済むようになる、簡便な…

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

(前回の続き) 文字範囲指定の詳細 サブフォント定義ファイル(SFD ファイル)における各サブフォントごとの定義の行 の <符号位置範囲> は次のように記述する。 通常は TFM の符号位置 0 から 255 に対応する実フォントの Unicode 符号位置(整数値、0x を…

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

(前回の続き) サブフォント定義ファイル この状況を改善するのが、サブフォント定義ファイル(SFD ファイル;拡張子 .sfd をもつ*1)による指定である。SFD ファイルを使うと、256 個の .enc ファイルに相当する内容が次の 1 個のファイル Unicode.sfd で…

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

昨日の記事で述べたように、日本語(一般に CJK 言語)の OpenType に対して「.enc ファイル + dvipdfmx」の組み合わせで欧文フォント(TFM)を対応させようとすると、一部の環境で文字が表示されないという状況に陥る。そして、それを回避する方法として、…

Palatino Linotype で試して見ると (2)

昨日の記事で、Palatino Linotype (+ .enc ファイル + dvipdfmx)でも「特定の環境だけ表示されない」現象が生じると書いたが、改めて、Windows XP + Adobe Reader 9 での Palatino の表示を試したところ、正常に表示されていた。つまり、昨日書いたことは…

Palatino Linotype で試してみると

Windows に入っている「Palatino Linotype」について、ec.enc を使って一連の作業を行って、Adobe Reader X で開くと……表示された!!((符号位置 18h と 1Ah に出力されているのは .notdef グリフである。本来 T1 でこの位置にあるグリフ(/perthousandzero …

dvipdfmx で OpenType できない件について……

昨日まで 5 回にわたって「OpenType フォントを LaTeX の欧文フォントとして用いて dvipdfmx で PDF 文書に変換する」ための方法を解説した。その際の例として日本語フォントである「M+ 1P」(の欧文のグリフ)を用いたのだが、これは少しまずかったかも知れ…

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 ファミリ」を用いる。 例によって、「欧文フォントの…