Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

なぜテキストが複数の要素に分割されるのか?

BuildVuは、視覚的な正確性を保ちながら、可能な限り少ない要素にテキストをグループ化するよう最善を尽くします。realtextモードでは、BuildVuは、シンプルで読み込みが速く、肥大化のない出力のために、わずかな精度を犠牲にする方が良いという観点を取ります。

フォントサイズ、色、フォントファミリーが変更される場合や、単語間隔や文字間隔では対処できない位置の変更がある場合など、新しいテキスト要素が必要となる特定の状況があります。

また、HTMLでは利用できないPDFの機能がグループ化に影響を与えることもあります。例えば:

  1. テキストカーニング
  2. 代替文字表示

1. テキストカーニング

PDFでは、個々の文字間にカスタム間隔を適用できます。これは以下のような様々な方法で使用されています:

  1. スタイル上の理由による少量のカーニング(例:AWAYのAとWの間隔を狭める)
  2. 位置調整のための大量のカーニング(例:表の次の列へのシフト)
  3. 位置調整のための大量の負のカーニング(例:表の前の列へのシフト)
  4. スペース文字の代わりに使用(PDFリーダーはギャップを検出し、抽出時にスペース文字を挿入することが期待されます)
  5. 単語間隔や文字間隔の代わりに使用
  6. 他のタイプの間隔を取り消すために使用(例:単語間隔や文字間隔を適用してから、カーニングでそれを削除する)

BuildVu-HTMLは少量のカーニングを行全体で平均化しますが、BuildVu-SVGはSVGの機能としてカーニングを正しく適用できます。大量のカーニングは、テキストを正確に配置するために複数のテキスト要素を必要とする場合があります。

テキストカーニングの処理方法の詳細については、テキストカーニングはどのように処理されますか? を参照してください。

2. 代替文字表示

HTMLでは、フォント内で文字は1つの表示しか持てません。PDFでは、フォント内で文字が複数の表示を持つことができます。

例えば、HTMLでは文字列「AAA」は常に同じ表示が3回表示されます。しかし、PDFでは文字列「AAA」がページ上で「ABC」として表示される可能性があります。

BuildVuは、フォント内に既に存在する文字で異なる表示を持つ文字に遭遇した際に、フォントの新しいバリアントを作成することでこれに対処します。新しいバリアントへの切り替えには別の要素が必要です。

複雑なテキストへの対処

PDFファイル内では、予想外の方法でテキストが定義されることが非常に一般的です。これは、PDFファイル形式がプレゼンテーション形式として設計されていることと、PDFファイルを作成するツールがしばしば「創造的な」方法でそれを行うことが部分的な理由です。

すべての場合において、PDF内のテキストは最大でも1行単位で定義されます(段落や表という概念はPDF形式内には存在しません)。カーニングが創造的な方法で使用されることに加えて、PDFファイルは多くの場合、小さな単位でテキストを定義することを選択します - 文字ごと、単語ごと、あるいは一見ランダムなグループ分けで個別に配置することもあります。

表面上見えるものはシンプルに見えるかもしれませんが、内部で起きていることははるかに複雑です。

ほとんどの場合、BuildVuはPDF内のコンテンツをシンプルに見せます(実際にはそうでなくても)。

期待(または希望)通りにグループ化されていないテキストに遭遇した場合、何が起こっているのか、BuildVuの処理方法を改善できるかどうかを喜んで調査します。ただし、これは複雑な問題であり、テキスト要素を結合することが常に実現可能とは限らないことをご理解ください。

一般的に、出力の品質はPDFの品質に依存します。