OpenType
読み:オープンタイプ
外語:OpenType

 アウトラインフォント(スケーラブルフォント)技術の一つ。
目次

概要
 TrueTypeの後継としてAdobe SystemsMicrosoftが共同で設計し、これにApple Computer(現Apple)が賛同することで開発された。
 基本的なファイル形式はTrueTypeフォントと同様だが、PostScriptフォント(のうちのType 1)も扱うことができるようになった。
 但し、TrueTypeとType 1は技術的に異なるものであり、利用するにはそれぞれのラスタライザーが必要になる。

特徴

対応環境
 Microsoft WindowsOS Xで採用されている。
 Linux等ではまだ対応がないため、TrueTypeへのコンバーターが存在する。
 OSがOpenTypeに対応をすると、従来のTrueTypeのみならず、PostScript用のフォントも利用可能となる。また、PostScriptプリンターがOpenTypeに対応しTrueTypeフォントのラスタライザーを搭載すれば、従来のType 1のみならずTrueTypeも利用可能になる。

仕様

基本仕様
 主な仕様は次の通りである。

構造

全体構造
 OpenTypeフォントファイルは、テーブルディレクトリから始まる。
 12オクテットのオフセットテーブルがあり、次いでオフセットテーブルに書かれた数のぶんだけテーブルディレクトリエントリーがある。
 テーブルディレクトリエントリーは、各4オクテット構造で、タグ、チェックサム、オフセット、長さ、と続く。タグがテーブルの種類を表わす。ディレクトリエントリーは、タグの昇順でソートして格納されなければならない。

必須テーブル
 様々なテーブルがあるが、次が必須とされる。
 TrueType用だったglyfとlocaが必須から外されている。
 以降は任意のテーブルである。

TrueType用テーブル

PostScript用テーブル

ビットマップグリフ用テーブル

Advanced Typographic Tables

その他OpenTypeテーブル

cmap

基本的な種類
 フォントファイル内に格納される字形はグリフといい、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のペアを並べただけのテーブルである。これが異体字セレクターごとに用意されることになる。

再検索