Kerning
カーニング(Kerning)とは、テキスト内の特定のグリフ(文字)のペア間における水平方向の間隔を調整し、最適な視覚的外観と可読性を実現する技術です。
カーニング(Kerning)とは、テキスト内の特定のグリフ(文字)のペア間における水平方向の間隔を調整し、最適な視覚的外観と可読性を実現する技術です。すべての文字に一律に適用される一般的な文字間隔調整とは異なり、カーニングは特定の文字の組み合わせを対象とします。これらの組み合わせは、文字の形状により、調整がないと不自然な間隔に見えてしまいます。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 ) 。
カーニングは、隣接する2つのグリフ間の間隔を、それぞれの形状と視覚的特性に基づいて変更するタイポグラフィの技術です。たとえば、「AV」という文字ペアでは、傾斜した形状により、標準的な字幅が示すよりも文字を近づけて配置でき、視覚的にバランスの取れた外観を実現できます。
カーニングは、トラッキング(letter-spacing)とは異なります。トラッキングは、テキスト範囲内のすべての文字に対して均一な間隔調整を適用します。トラッキングが単語やテキストブロック全体に等しく影響するのに対し、カーニングはペア固有のものであり、特定のグリフの組み合わせ間の独自の空間関係に対処します。また、カーニングは一般的な文字の字幅とも異なります。字幅は、文字が占めるデフォルトの水平スペースを定義するものです。
PDFファイルでは、カーニングデータは通常、カーニングテーブルまたは位置調整としてフォントプログラム内に格納されています。フォントには、数百または数千のカーニングペアが含まれることがあり、それぞれが特定のグリフの組み合わせ間の間隔をどれだけ調整するかを指定しています。一般的なカーニングペアには、「Yo」、「Ta」、「We」、「AV」などの組み合わせがあり、隣接する文字の形状が視覚的な間隔の問題を引き起こします。
PDF生成、テキストレイアウト、またはドキュメントアクセシビリティに取り組む開発者にとって、カーニングを理解することは、いくつかの理由で重要です。
プロフェッショナルな外観: 適切なカーニングが施されたドキュメントは、より洗練されたプロフェッショナルな印象を与えます。プログラムでPDFを生成する際、開発者はフォントに組み込まれたカーニングに依存するか、デザイン要件に基づいて無効にするかを決定する必要があります。
テキスト測定の精度: カーニングは、レンダリングされたテキストの実際の幅に影響を与えます。レイアウト目的でテキストの寸法を計算する開発者は、正確な配置、改行、テキストフローの計算を確実に行うために、カーニング調整を考慮する必要があります。
アクセシビリティへの配慮: カーニングは主に視覚的なプレゼンテーションに影響しますが、過度または不適切なカーニングは視覚障害のあるユーザーの可読性に影響を与える可能性があります。PDF/UA ( 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を作成する際、開発者はカーニングが可読性を妨げるのではなく、向上させることを確認する必要があります。
フォントの埋め込みとサブセット化: PDFにフォントを埋め込む際、カーニングテーブルのデータはファイルサイズに影響します。PDFサイズを最適化する開発者は、包括的なカーニング情報の含有とファイルサイズの制約との間でバランスを取る必要があります。
PDFドキュメントでは、カーニングは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 ) 。
フォントベースのカーニング: ほとんどのフォントには、特定のグリフペアに対する間隔調整を指定する内部カーニングテーブルが含まれています。PDFレンダラーがそのようなフォントを使用したテキストに遭遇すると、これらのテーブルを参照してカーニングペアが適用されるかどうかを判断し、それに応じてグリフの位置を調整します。
手動カーニング調整: PDFのテキストオペレーターは、グリフ間の明示的な位置調整を可能にします。テキスト表示オペレーターには、次のグリフを表示する前に水平位置を調整する数値を含めることができ、事実上カスタムカーニングを実装します。負の値はグリフを近づけ、正の値は間隔を広げます。
テキスト配置オペレーター: PDFのTJオペレーターは、文字列と数値の配列を許可し、数値はテキストスペースの単位の1000分の1で位置調整を表します。これにより、カーニング調整を含む、グリフ間隔の正確な制御が可能になります。
計算式: カーニング調整は通常、フォントのデザインスペースの単位で表され、現在のフォントサイズとテキストマトリックスに応じてスケーリングする必要があります。実際の変位は、カーニング値にフォントサイズを乗じ、1000で除算することで計算されます(1000単位のemスクエアを使用するフォントの場合)。
PDFテキストを処理または生成する際、開発者は、シンプルなテキストオペレーターを使用してフォントに組み込まれたカーニングを保持するか、位置調整値を使用して各グリフまたはグリフグループを明示的に配置することでカスタム間隔を実装するかを選択できます。
- グリフ(Glyph) – 特定のフォントにおける文字の視覚的表現
- テキスト配置(Text positioning) – PDFコンテンツストリーム内の特定の座標にテキストを配置するメカニズム
- フォントメトリクス(Font metrics) – 字幅やバウンディングボックスなど、グリフの空間的特性を定義する測定値
- 文字エンコーディング(Character encoding) – フォント内の文字コードとグリフ間のマッピング
- テキストレンダリング(Text rendering) – テキストオペレーターとフォントデータをページ上の可視文字に変換するプロセス
- (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
