jasper-reports
フォント拡張
サーチ…
フォント拡張の作成と使用
IDEを使用してフォント拡張を作成します。詳細については、 iReportまたはJaspersoft Studioのマニュアルを参照してください。フォント拡張子は手動で作成することもできます。
フォント拡張子とは何ですか?
textElementを使用すると、フォントを指定できます(指定されていない場合は、デフォルトのフォントSansSerifが使用されます)
<textElement>
<font fontName="DejaVu Sans"/>
</textElement>
フォントメトリック(改行のため、アライメントなど)を計算し、正しくフォントをレンダリングするには、 フォントは、JVM(Java仮想macchine) にマッピングする必要があります。あなたはJVMに直接フォントファイルをインストールすることができますが、これは奨励されません
JasperReport Ultimate Guideから:
フォントエクステンションから派生したフォントのみを使用することを強く推奨します。これは、レポートが実行時に実行されるときにフォントがアプリケーションで使用できるようにするための唯一の方法であるためです。システムフォントを使用すると、そのフォントがインストールされていない可能性のある新しいマシンに展開したときに、レポートが正しく動作しなくなるリスクが常に発生します
デフォルトのフォント拡張子
JasperReportsは、デフォルトのフォント拡張子を提供します(mavenディストリビューションjasperreports-fonts.jarを参照)。これをクラスパスに追加すると、独自のフォント拡張を作成せずに次のfontNameを使用できます
DejaVu Sans
デジャブセリフ
DejaVu Sans Mono
一般的な問題
pdf(itext)でフォントを使用する際に考慮すべき問題:
PDFに書き出すときに、テキストが正しく表示されない場合(欠落部分、文字が表示されず、折り返しやサイズが正しくない場合)、 フォント拡張子が表示されない可能性があります。
実際の
.tffサポートされていますか ( OpenType )、フォントは実際に文字をレンダリングできますか?すべてのフォントがすべての文字をUTF-8でレンダリングするわけではありません。正しいエンコーディングがiTextに渡されていますか?疑わしい(または一般的に) エンコーディング
Identity-H使用してください。これは新しいPDF規格にはお勧めであり、異なるエンコーディングを混在させることができます。フォントがインストールされていない場合でも、コンピュータ間で共有されたPDFがコンテンツを表示できるように、フォントが埋め込まれていますか?フォントが14の標準タイプ1フォントの 1つではない場合、常にそれが埋め込まれます。
ジャスパーレポートで使用されているiTextのバージョンはすべてのフォントをレンダリングしないことに注意してください( 連結問題 ) ttfフォントをテストし、エンコーディングを直接参照することができます。