thinreports-basic-editor icon indicating copy to clipboard operation
thinreports-basic-editor copied to clipboard

テキストの高さをフォントサイズによる計算に変更する

Open hidakatsuya opened this issue 4 years ago • 0 comments

概要

basic-editor でカスタムフォントに対応するための仕様変更。section-editor の仕様と同じ計算方法にする。

詳細な変更内容

以下のプロパティの値に影響する。

  • 動的/静的テキストの行高
  • 動的テキストの領域の高さ(複数行モードではないとき)

これらの算出方法を次のように変更する。

  • 現在: 設定されているフォント、行高、フォントサイズでテキストの高さを算出(内部的に実際に描画し、その高さを算出)
  • 変更後:フォントサイズを行高が等倍(x1.0)のテキストの高さとして算出。section editor と同じ算出方法

変更が必要な理由

前述の通り、basic-editor はフォントによってテキストの高さを計算している。v1.0.0 のカスタムフォントの仕様では、Editor上で扱われるフォントとは別にカスタムフォントキーを設定し、そのフォントキーに対するフォントを generator で設定しPDF生成できるようにする。

そのため、現状のままの場合 v1.0.0 時点での basic-editor で次のようなギャップが生じる(あるテキストのフォントを Helvetica、カスタムフォントキーを Foo と設定しているとき)。

  • a. Editor上に描画されるテキストのフォント: Helvetica
  • b. tlf の行高プロパティの計算された値: Helvetica で算出した値
  • c. PDFに描画されるテキストのフォント: Foo に紐づくフォント
  • d. PDFの描画時に適用される行高: Helvetica で算出した値 (= b)

hidakatsuya avatar Jan 16 '22 12:01 hidakatsuya