ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
TTC(TrueType Collection)と OTC(OpenType Collection)は、複数のフォントをひとつのファイルにまとめるためのコンテナ形式です。1996 年に Apple が、特に中国語・日本語・韓国語(CJK)フォントの保存効率を高める目的で TrueType Collection 仕様を導入しました。拡張子は TrueType ベースなら .ttc、OpenType(CFF アウトライン含む)ベースなら .otc です。内部には複数の SFNT(フォントテーブル群)が格納され、ヘッダにある「TTC ヘッダ」が各フォントへのオフセットを示します。OS から見ると、ひとつの TTC ファイルから複数のフォントファミリ・ウェイトが供給される形になります。
TTC / OTC の最大の技術的価値は テーブル共有 です。たとえば「ヒラギノ角ゴ Pro W3」と「ヒラギノ角ゴ Pro W6」は字幅やデザインが違うため、字形(glyf / CFF)テーブルは別物にせざるを得ません。しかし cmap(文字コード→グリフ ID マッピング)や name(フォント名)といったテーブルは共通にできます。TTC ではこれら共通テーブルを 1 度だけ格納し、両方のフォントが参照する形にすることで、ディスク容量を数 MB〜数十 MB 単位で削減できます。特に CJK フォントは漢字グリフだけで 2 万〜2 万 5000 字以上 あるため、ウェイト別に独立 TTF を持つと容量が爆発しますが、TTC にすれば現実的なサイズに収まります。
代表例は macOS のシステムフォントです。/System/Library/Fonts/ を覗くと、Hiragino Sans GB.ttc(簡体字中国語)、Hiragino Sans.ttc(日本語)、Heiti SC.ttc、Songti.ttc など、TTC が大量に並んでいるのが確認できます。Windows 10 / 11 の Yu Gothic(游ゴシック)も YuGothM.ttc / YuGothR.ttc という TTC で提供されています。サードパーティでは Adobe と Google が共同開発した Source Han Sans(源ノ角ゴシック)/ Noto Sans CJK が OTC 配布の代表例で、日中韓ベトナム 4 地域の字形をひとつの OTC ファイルに収めています。
一方、TTC / OTC は Web フォントとしては直接使えません。@font-face は単一フォントを想定しており、TTC を直接 URL に書いてもブラウザは扱えないか、最初のフォントだけ読み込みます。Web で使う場合は fonttools や ttc2ttf で個別の TTF / OTF を取り出し、それぞれを WOFF2 に変換するのが定石です。
内部構造
| セクション | 役割 |
|---|---|
| TTC ヘッダ | マジック ttcf、バージョン、フォント数、各フォントへのオフセット表 |
| 個別 SFNT 1 | 1 つ目のフォントのテーブルディレクトリ |
| 個別 SFNT 2 | 2 つ目のフォントのテーブルディレクトリ |
| ... | 必要なだけフォントを格納可能 |
| 共有テーブル領域 | 複数フォントが同じオフセットを指して参照する共通テーブル |
テーブルディレクトリの中の各エントリには「テーブル本体のオフセット」が書かれており、複数のフォントから同じオフセットを指すことができます。これが共有の実装です。
主な用途
- OS 標準 CJK フォントの配布:macOS のヒラギノ、Windows の Yu Gothic、Android の Noto Sans CJK。
- 大規模フォントファミリの統合:Source Han Sans 7 ウェイト × 4 地域 = 28 種類を 1 ファイル(OTC)に。
- ディスク容量の節約:仮名・記号・ラテン部分を共通テーブル化することで、ファミリ全体が単独 TTF の合計より大幅に小さくなる。
- 商用アプリのフォント埋め込み:DTP ソフトや電子書籍ビューアが、フォントを 1 ファイルに束ねて配布する場合に使う。
関連形式との比較
| 項目 | TTC / OTC | TTF / OTF(単独) | OpenType Variable Font |
|---|---|---|---|
| ファイル数 | 複数フォントを 1 つに | 1 ファイル = 1 フォント | 1 ファイルに連続ウェイト |
| 共有メカニズム | テーブル参照共有 | — | 軸補間 |
| Web 直接利用 | × | ○(実用は WOFF2 経由) | ○(WOFF2 + variations) |
| 主な配布例 | ヒラギノ / Source Han | Noto Sans Latin 等 | Roboto Flex, Inter |
| 分解 | fonttools で個別取り出し | 不要 | 不要 |
編集ツール
- fonttools(Python):
fonttools ttx -y N input.ttcで N 番目のフォントを TTX 化して取り出せる。pyftmergeで TTC 生成も可能。 - ttc2ttf(OSS):TTC から個別 TTF を抽出する単機能 CLI。
- otf2otc / otc2otf(AFDKO 同梱):Adobe 公式の OTC 作成・分解ツール。Source Han Sans の配布作業でも使われている。
- FontForge:「Generate Mac Family」「Generate TTC」メニューで GUI 操作可。
注意点・落とし穴
- Web では使えない:
@font-faceのsrcに TTC を書いてもブラウザは正しく扱えない。必ず分解してから WOFF2 化する。 - ライセンスのスコープ:TTC に含まれる各フォントごとに EULA がある場合がある。たとえばヒラギノは Apple の OS 同梱としては許諾されているが、抜き出して別配布するのは禁止。
- サブセット化が複雑:TTC の中の 1 フォントだけサブセット化したい場合、共有テーブルが破壊されないよう注意が必要。
pyftsubsetは単独 TTF 向けに設計されているので、まず分解する。 - 古いソフトの非対応:レガシーな DTP / 印刷システムが TTC を正しく解釈できず、最初のフォントしか見えないことがある。事前テスト必須。
- ファイル指定の曖昧さ:CSS や Word では「TTC のどの番号のフォントか」を厳密に指定できないことがあり、OS が選んだ最初のフォントが使われてしまう。
関連リンク
- フォント(親カテゴリ)
- ファイル拡張子とは(概論)
- TTF(.ttf)
- OTF(.otf)
- WOFF2(.woff2)
- PFB / PFM / Type 1(.pfb / .pfm)
- CSS(.css)
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?