Font descriptor key /Descent
`/Descent`キーは、PDFフォントディスクリプタ辞書内の必須エントリであり、フォント内のすべてのグリフがベースラインより下にどれだけ伸びるかの最大深度を指定します。
/Descentキーは、PDFフォントディスクリプタ辞書内の必須エントリであり、フォント内のすべてのグリフがベースラインより下にどれだけ伸びるかの最大深度を指定します。この値はグリフ空間単位で表現され、ベースラインより下の距離を表すため、通常は負の数値となります
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
。descent値は、適切なテキストレイアウト、行間計算、およびPDF文書内のテキストの正確な垂直配置を確保するために重要です。
/Descentは、PDF仕様で定義される数値型のフォントディスクリプタキーであり、特定のフォントにおいて、どの文字の最低点がベースラインからどれだけ下に降りるかを測定します。グリフ座標空間では、ベースラインは通常y=0に位置するため、descent値は慣例的に負の数値となります(例えば、グリフがベースラインより200単位下に伸びるフォントの場合は-200)。
これは、ベースラインから大文字の上端までを測定する/CapHeightキーや、ベースラインより上の最大高さを測定する/Ascentキーとは異なります。/Ascentと/Descentを合わせてフォント内のすべてのグリフの垂直範囲を定義しますが、/Descentは特にディセンダー(‘g’、‘j’、‘p’、‘q’、‘y’などの文字のベースラインより下に伸びる部分)の深度を捉えます。
/Descent値は、
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
で規定されているように、すべてのフォントディスクリプタ辞書に存在する必要があります。これは、特定のテキスト文字列の実際の測定範囲ではなく、フォントデザインに固有のタイポグラフィックなdescent特性を表します。
PDF生成または操作を行う開発者にとって、/Descentキーは以下のような実用上の理由から不可欠です。
テキストレイアウトの精度: descent値は行間計算に直接影響します。複数行のテキストをレンダリングする際、ある行のdescentと次の行のascentを考慮して、文字の重なりを防ぎ、読みやすい間隔を維持する必要があります。
バウンディングボックス計算: テキストが占める正確な矩形領域を決定する際(ハイライト、墨消し、衝突検出など)、descent値はテキストボックスの下限境界を確立します。
アクセシビリティとTagged PDF: descentを含む適切なフォントメトリクスにより、支援技術がテキストの配置とレイアウト構造を正確に解釈できるようになります ( Citation: N.A., 2014 (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) 。これは、テキスト要素間の空間的関係が意味を伝えるアクセシブルな文書を作成する際に特に重要です。
クロスプラットフォームの一貫性: 異なるPDFビューアやレンダリングエンジンはレイアウトのためにフォントディスクリプタの値に依存するため、正しいdescent値により、異なるプラットフォームやアプリケーション間でテキストが一貫して表示されることが保証されます。
PDFフォントディスクリプタ辞書内で、/Descentキーはフォントの寸法特性を記述する他のメトリクスキーと共に表示されます。技術的には以下のように機能します。
グリフ空間座標系: PDFのフォントメトリクスはグリフ空間単位で定義され、通常1単位はemスクエアの1/1000に相当します(ただしフォントによって異なります)。descent値はベースライン(y=0)から下方向に、グリフが到達する最低点までを測定します。
フォントディスクリプタ構造: PDFファイル内で、フォントディスクリプタ辞書には必須キーとして/Descentエントリが含まれます。例えば:
/FontDescriptor <<
/Type /FontDescriptor
/FontName /TimesNewRoman
/Ascent 891
/Descent -216
/CapHeight 662
...
>>
テキスト空間へのスケーリング: テキストがレンダリングされる際、descent値はフォントサイズと現在の変換行列に応じてスケーリングされます。例えば、フォントのdescentが-200単位で、テキストが12ポイントでレンダリングされる場合、実際のdescent距離は次のように計算されます:(12 × -200) / 1000 = -2.4ポイント。
レイアウトエンジンの使用: PDFレンダリングエンジンは、明示的な行送りが指定されていない場合、descent値(ascentと共に)を使用してデフォルトの行の高さを計算します。総行高には通常、ascent値、descentの絶対値、およびオプションで追加の行間が含まれます。
フォント埋め込みへの影響: フォントがPDF文書に埋め込まれる場合、descent値は埋め込まれたフォントのメトリクスを正確に反映する必要があります。値が一致しないと、PDFを表示または印刷する際にレンダリングの不整合が発生する可能性があります。
- Font descriptor(フォントディスクリプタ) – フォントに関するメトリクスと識別情報を含むPDFファイル内の辞書
- /Ascent – グリフがベースラインより上に伸びる最大高さを指定するフォントディスクリプタキー
- /CapHeight – ベースラインより上の大文字の高さを示すフォントディスクリプタキー
- Baseline(ベースライン) – テキスト行において文字が位置する仮想的な水平線
- Glyph space(グリフ空間) – フォントメトリクスが定義される抽象的な座標系、通常は1emあたり1000単位
- (N.A.) (2020)
- (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
- (N.A.) (2014)
- (N.A.). (2014). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) . International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html
