にせねこメモ

はてなダイアリーがUTF-8じゃないので移ってきました。

TrueTypeヒンティングを利用した筆画ベースフォントについて

Windows標準の繁体字フォントの標楷體*1は、かなり特殊なフォントである。
何でも、漢字を構成する一画ごとのデータを持っていて、あらゆる漢字はそれらの筆画を変形したものを組み合わせて表現されているらしい。

Wikipediaによると、

他の一般的なTrueTypeフォントが文字全体まるごとの輪郭を処理しているのと異なり、標楷體は横画・縦画・点・はねなどそれぞれの漢字の筆画ごとにアウトラインをベクトルデータ化している。

標楷體 - Wikipedia

とのことだ。

画像や映像があるのでそれを見てもらうのが早いと思う。


www.youtube.com

この変形は「TrueType命令 (TrueType Instruction)」によって行われている。TrueType命令は、文字が画面上に小さい解像度で表示されるときに可読性を上げるための「ヒンティング」という操作のために作られたプログラミング言語のようなものだが、計算機能があり拡縮や移動も可能なため、このように複雑に変形を行う実装が可能であった。

筆画を組み合わせて表現することにしたのは恐らくデータ量を削減するためだったろうと思う。

Not Again, MingLiu! – Kan-Ru's Blog
また、このサイトによると、MingLiU (細明體)/PMingLiU (新細明體)も筆画のデータをTrueType命令を使って変形させていたらしい*2

さて、TrueType命令はAppleが特許を持っていたため、FreeTypeなどの自由ソフトウェアで利用するには特許上の問題があった。そのため標楷體などのフォントを正しくレンダリングすることは不可能であった。
これはPDFにフォントを埋め込んだ場合の描画で問題となった。
しかし2010年に関連特許が期限切れしたため、現在ではTrueType命令は問題なく利用可能になっている。


さて、TrueType命令を開発したAppleRetinaという高解像度ディスプレイを利用し、すでにTrueTypeヒンティングは行っていないようである。技術的過渡期の制限が生んだ時代の徒花といった感じかもしれない。

*1:台湾の繫体字中国語サポートを設定するとインストールされる。DFKaiShu-SB、kaiu.ttfとも。

*2:現在、Windows 11にインストールされるバージョンではMingLiU/PMingLiUは普通のフォント形式になっている。