「TTC」の版間の差分

提供: 個人的記録
移動: 案内検索
6行目: 6行目:
  
 
{| class="wikitable" style="width: 75%;"  
 
{| class="wikitable" style="width: 75%;"  
|+ TTCヘッダ(Version 1)
+
|+ TTCヘッダ
! オフセット || 値 || 説明
+
|-
+
|| 0 || ttcf || TTCであることを示す文字列が固定値で埋め込まれている
+
|-
+
|| 4 || 0x00010000 || TTCのバージョン。32bit整数
+
|-
+
|| 8 || 32bit整数 || TTCに含むフォントの数
+
|-
+
|| 12 || 32bit整数(複数) || 各フォントの開始オフセット。TTCに含むフォントの数だけ存在する
+
|}
+
 
+
 
+
{| class="wikitable" style="width: 75%;"
+
|+ TTCヘッダ(Version 2)
+
 
!width=100| オフセット  
 
!width=100| オフセット  
 
!width=100 | 値 || 説明  
 
!width=100 | 値 || 説明  
32行目: 18行目:
 
|| 12 || 32bit整数(複数) || 各フォントの開始オフセット。TTCに含むフォントの数だけ存在する
 
|| 12 || 32bit整数(複数) || 各フォントの開始オフセット。TTCに含むフォントの数だけ存在する
 
|-
 
|-
||ここから下はバージョン2で追加
+
!colspan="3"|ここから下はバージョン2で追加
 
|-
 
|-
 
|| 12+フォント数*4 || 0x44534947 || 文字列「DSIG」に相当。DSIGテーブルの存在を示している
 
|| 12+フォント数*4 || 0x44534947 || 文字列「DSIG」に相当。DSIGテーブルの存在を示している
40行目: 26行目:
 
|| 20+フォント数*4 || 32bit整数|| DSIGテーブルへのファイルの先頭からのオフセット(バイト)
 
|| 20+フォント数*4 || 32bit整数|| DSIGテーブルへのファイルの先頭からのオフセット(バイト)
 
|}
 
|}
 +
 +
ヘッダ長はバージョン1なら16バイト、バージョン2はフォント数により可変になり 16+フォント数*12バイト。
  
 
= フォント実体 =
 
= フォント実体 =
TTCヘッダの開始オフセットが指すポインタには[[TTF]]のヘッダとテーブルしかない。<br>
+
TTCヘッダの開始オフセットが指すオフセットから[[TTF]]ファイルが開始する。<br>
TTCからフォントを取り出すには、TTFのヘッダが指す実体の情報も抽出する必要がある。
+
TTCからフォントを取り出すには、TTFの実態にアクセスする必要がある。

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

複数のTrueTypeフォントを1ファイルにまとめたファイル形式。

ヘッダ

ファイルの先頭部分に以下のヘッダが記録されている。

TTCヘッダ
オフセット 説明
0 ttcf TTCであることを示す文字列が固定値で埋め込まれている
4 0x00020000 TTCのバージョン。32bit整数
8 32bit整数 TTCに含むフォントの数
12 32bit整数(複数) 各フォントの開始オフセット。TTCに含むフォントの数だけ存在する
ここから下はバージョン2で追加
12+フォント数*4 0x44534947 文字列「DSIG」に相当。DSIGテーブルの存在を示している
16+フォント数*4 32bit整数 DSIGテーブルのサイズ(バイト)
20+フォント数*4 32bit整数 DSIGテーブルへのファイルの先頭からのオフセット(バイト)

ヘッダ長はバージョン1なら16バイト、バージョン2はフォント数により可変になり 16+フォント数*12バイト。

フォント実体

TTCヘッダの開始オフセットが指すオフセットからTTFファイルが開始する。
TTCからフォントを取り出すには、TTFの実態にアクセスする必要がある。