ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
アウトラインフォント(スケーラブルフォント)技術の一つ。
TrueTypeの後継としてAdobe SystemsとMicrosoftが共同で設計し、これにApple Computer(現Apple)が賛同することで開発された。
基本的なファイル形式はTrueTypeフォントと同様だが、PostScriptフォント(のうちのType 1)も扱うことができるようになった。
但し、TrueTypeとType 1は技術的に異なるものであり、利用するにはそれぞれのラスタライザーが必要になる。
Microsoft WindowsやOS Xで採用されている。
Linux等ではまだ対応がないため、TrueTypeへのコンバーターが存在する。
OSがOpenTypeに対応をすると、従来のTrueTypeのみならず、PostScript用のフォントも利用可能となる。また、PostScriptプリンターがOpenTypeに対応しTrueTypeフォントのラスタライザーを搭載すれば、従来のType 1のみならずTrueTypeも利用可能になる。
OpenTypeフォントファイルは、テーブルディレクトリから始まる。
12オクテットのオフセットテーブルがあり、次いでオフセットテーブルに書かれた数のぶんだけテーブルディレクトリエントリーがある。
テーブルディレクトリエントリーは、各4オクテット構造で、タグ、チェックサム、オフセット、長さ、と続く。タグがテーブルの種類を表わす。ディレクトリエントリーは、タグの昇順でソートして格納されなければならない。
様々なテーブルがあるが、次が必須とされる。
TrueType用だったglyfとlocaが必須から外されている。
以降は任意のテーブルである。
フォントファイル内に格納される字形はグリフといい、16ビットの一意の番号(グリフインデックス)で管理される。
実際に実用的に使うためには、グリフインデックスと一般の文字コードとの変換表が必要になるが、これがcmapである。複数の変換表を格納できるように、プラットフォームID、プラットフォーム特有符号化IDの二種類のIDで種類分け可能になっている。Microsoft Windowsの場合、次のようなものがある。最初の数字がプラットフォームID、プラットフォーム特有符号化IDである。
TrueTypeが出来た当時のUnicodeと現在のUnicodeには大きな違いが生じており、Unicodeも16ビットでは収まらなくなった。ID=1は16ビットが前提に作られたテーブルであるので対応できない。
そこで、OpenTypeではTrueTypeにはないID=10が新たに作られている。
仕様書によれば、ID=1の対応は必須でBMPの文字はこれで提供され、BMP外の文字はID=10が必要になる、としている。
Unicodeには更なる問題として、異体字セレクターというものが登場した。これに関する情報も、新たなcmapのテーブルに情報を加えることで対応することになった。
プラットフォームID=0、エンコーディングID=5、フォーマット=14というテーブルに情報が格納される。これもTrueType 1.0 Revision 1.66には記載が無く、OpenTypeから追加された。
異体字セレクターが昇順でソートされてテーブル化され、それぞれに対してDefault UVS TableとNon-Default UVS Tableのオフセットが指定される。異体字セレクター対応のフォントを作る場合はDefault UVS Tableを使用してはならず、Non-Default UVS Tableを使用する。
Default UVS Tableは、Unicodeのベース文字とグリフIDのペアを並べただけのテーブルである。これが異体字セレクターごとに用意されることになる。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます