Windows標準の繁体字フォントの標楷體*1は、かなり特殊なフォントである。
何でも、漢字を構成する一画ごとのデータを持っていて、あらゆる漢字はそれらの筆画を変形したものを組み合わせて表現されているらしい。
Wikipediaによると、
他の一般的なTrueTypeフォントが文字全体まるごとの輪郭を処理しているのと異なり、標楷體は横画・縦画・点・はねなどそれぞれの漢字の筆画ごとにアウトラインをベクトルデータ化している。
標楷體 - Wikipedia
とのことだ。
画像や映像があるのでそれを見てもらうのが早いと思う。
Windows付属繁体字フォントの標楷體、全漢字が1画ずつのグリフを引用してTrueType命令で変形させてできているらしい…と以前(多分Twitterで)読んだけど、実際覗いてみるとちょっとやそっとの変形ではなく例えば「匹」の3・4画目が同じコンポーネント(黒線が変形前)でできている… pic.twitter.com/N3BSsH67SK
— 4b³ (@fourbthree) 2019年11月4日
ストコークベースな中文フォントのヒンティングの様子を示した動画。へ、変態だー(AAry "TrueType hinting - one glyph from start to finish. - YouTube" http://t.co/a6ePz550
— mashabow (@mashabow) 2012年11月20日
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命令を開発したAppleはRetinaという高解像度ディスプレイを利用し、すでにTrueTypeヒンティングは行っていないようである。技術的過渡期の制限が生んだ時代の徒花といった感じかもしれない。