「OpenTypeフォント」の版間の差分

提供: 個人的記録
移動: 案内検索
(name テーブル)
178行目: 178行目:
  
 
=== name テーブル ===
 
=== name テーブル ===
 +
フォントファミリ名や著作権表示が記録されているテーブル。<br>
 +
うちの用途ではフォントファミリが取得できれば十分だったのでnameテーブルのみ調査した。
  
 
= 使用ツール =
 
= 使用ツール =

2021年10月31日 (日) 07:38時点における版


TrueTypeFontについて調査。

TTFの仕様

TTFファイルのヘッダ構造

ヘッダ
オフセット 説明
0 4バイト TTFヘッダのバージョン、TrueTypeフォント(ttfファイル)なら 0x00010000 が、PostScriptフォント(otfファイル)なら 0x4F54544F ('OTTO') が格納されている
4 2バイト整数 格納されているテーブルの数
6 2バイト整数 search Range 「(Maximum power of 2 <= numTables) x 16.」と説明にあるがよくわからない
8 2バイト整数 entrySelector 「Log2(maximum power of 2 <= numTables).」と説明にあるがよくわからない
10 2バイト整数 rangeShift「NumTables x 16-searchRange」と説明にあるがよくわからない

上記ヘッダの後に、ヘッダに記載のテーブル数だけ以下の構造が続く

オフセットテーブル
オフセット 説明
0 4バイト文字列 テーブル識別子。4バイトのASCII文字列。テーブルに記述されている内容の種別が記録されている。
4 4バイト符号なし整数 チェックサム
8 4バイト符号なし整数 ファイル先頭からデータ部分までのオフセット。
12 4バイト符号なし整数 データ部分の長さ。


テーブル識別子

オフセットテーブルに指定されているテーブル識別子でデータ部分に何が含まれているかを判断できる。
テーブル識別子の一覧の以下のようになっている。

テーブル識別子
識別子 説明
以下の識別子は必須
cmap 文字コードからグリフIDへの変換
head 基本的な情報
hhea 水平レイアウトの情報
hmtx 水平グリフの送り幅などの情報
maxp 色々な最大値の定義
name フォント名など
OS/2 OS/2 と Windows の情報
post PostScript 情報
TrueType アウトラインの場合のみ
cvt グリフの制御データ (option)
fpgm Font program (option)
glyf グリフデータ
loca 各グリフのオフセット位置
prep CVT Program (option)
gasp Grid-fitting/Scan-conversion (option)
CFF アウトラインの場合のみ
CFF Compact Font Format 1.0
CFF2 Compact Font Format 2.0
VORG 縦書き時の各グリフごとのY原点 (option)
SVG アウトライン
SVG SVG
ビットマップグリフ
EBDT 埋め込みビットマップ データ
EBLC 埋め込みビットマップ location data
EBSC 埋め込みビットマップ scaling data
CBDT カラービットマップ データ
CBLC カラービットマップ location data
sbix PNG/JPEG/TIFF などの形式のビットマップデータ
OpenType 拡張
BASE 各言語ごとのベースライン情報
GDEF 個々のグリフに関する情報。
タイプ、合字キャレットなど。
GPOS グリフ配置。濁点の配置や文字間隔の調整など。
GSUB グリフ置換。縦書き変換や合字など。
JSTF 行揃え
MATH 数式レイアウト情報
OpenType バリエーション
avar Axis variations
cvar CVT variations (TrueType アウトラインのみ)
fvar Font variations
gvar Glyph variations (TrueType アウトラインのみ)
HVAR 水平レイアウト
MVAR Metrics variations
STAT スタイル属性。
非バリエーションフォントでもオプションとして使われる。
VVAR 垂直レイアウト
カラーフォント
COLR カラーテーブル
CPAL カラーパレットテーブル
CBDT カラービットマップ データ
CBLC カラービットマップ location data
ほか
DSIG デジタル署名
hdmx 特定のピクセルサイズ時の各グリフの水平レイアウト幅
kern カーニング
LTSH Linear threshold data
MERG アンチエイリアス処理時、各グリフを個別に実行するか、特定のグリフペアを一緒に処理するかの指定
meta メタデータ
PCLT PCL 5 データ
VDMX Vertical device metrics
vhea 垂直レイアウトの情報
vmtx 垂直グリフの情報

name テーブル

フォントファミリ名や著作権表示が記録されているテーブル。
うちの用途ではフォントファミリが取得できれば十分だったのでnameテーブルのみ調査した。

使用ツール

TTFDump.exe

TTFのヘッダを参照するのに使用。

  • 使い方
    ttfdump.exe <TTFフォント>


参考サイト