Q非埋め込みの IPAフォントが文字化けします。
A回答
1. 非埋込みフォントのフォントエンコーディング指定方法について
biz-Stream で取り扱う非埋込みフォントでは、図1のように、ページ・レイアウトに配置した <Label> や <multi-text> などのテキストオブジェクトごとにフォントエンコーディング (FontEncoding属性や font-encoding属性) を指定することができます。

- フォントエンコーディングの指定方法については、ライブラリ共通ガイド「6.7 環境依存文字の対応について」を参照してください。
ページ・レイアウトで明示的に指定しない場合は、bsfont.properties (v5.1 以前は pdf.properties) で指定されているデフォルトエンコーディングが優先されます。
等幅フォントの場合「90ms-RKSJ-H/90ms-RKSJ-V」で、プロポーショナルフォントの場合「90msp-RKSJ-H/90msp-RKSJ-V」となります。(下表1)
ただし「IPA ゴシック」「IPA 明朝」「IPA Pゴシック」「IPA P明朝」に限っては、v5.0~v5.1 と、v4.X 以前および v5.2 以降でデフォルトエンコーディングが下記のように異なります。
biz-Stream バージョン |
IPAフォントのデフォルトエンコーディング | 左記以外のフォントのデフォルトエンコーディング | ||
---|---|---|---|---|
横書き | 縦書き | 横書き | 縦書き | |
v4.X | UniJIS-UTF16-H | UniJIS-UTF16-V | 90ms-RKSJ-H/90msp-RKSJ-H | 90ms-RKSJ-V/90msp-RKSJ-V |
v5.0~v5.1 | 90ms-RKSJ-H/90msp-RKSJ-H | 90ms-RKSJ-V/90msp-RKSJ-V | 90ms-RKSJ-H/90msp-RKSJ-H | 90ms-RKSJ-V/90msp-RKSJ-V |
v5.2 以降 | UniJIS-UTF16-H | UniJIS-UTF16-V | 90ms-RKSJ-H/90msp-RKSJ-H | 90ms-RKSJ-V/90msp-RKSJ-V |
表1. 非埋込みフォントのデフォルトエンコーディング
このため、IPAフォントを使用していて、ページ・レイアウトでフォントエンコーディング属性が未指定の場合は、バージョンアップによってデフォルトエンコーディングが変わり文字化けが発生することがあります。その場合は、図1のようにページ・レイアウトで各オブジェクトごとに明示的に「UniJIS-UTF16-H/UniJIS-UTF16-V」を指定してください。
- 埋め込みフォントの場合は、フォントエンコーディングは userfont.properties (v5.1以前は pdf.properties)で一括指定します。ライブラリ共通ガイド「6.3.2 userfont.properties への追加手順」を参照してください。
2. レイアウトタグの属性名の表記について
なお、biz-Stream のレイアウトタグには下記の2種類の表記があります。タグによって属性名の表記が異なるため、文字列置換をする場合には注意が必要です。
1大文字+小文字表記のタグ
<Label>、<VerticalLabel>、<Currency>などの大文字+小文字で表記されるタグは、属性名も大文字+小文字表記となるため、下記のようにFont属性や、FontEncoding属性を持ちます。
<Label Font="IPAMincho" FontEncoding="UniJIS-UTF16-H" />
<Currency Font="IPAMincho" FontEncoding="UniJIS-UTF16-H" />
(縦書きの例)
<VerticalLabel Font="VIPAMincho" FontEncoding="UniJIS-UTF16-V" />
2小文字表記のタグ
<multi-text>、<multi-vtext>、<datetime-text>など小文字で表記されるタグは、属性名も小文字表記となるため、下記のようにfont-family属性や、font-encoding属性を持ちます。
<multi-text font-family="IPAMincho" font-encoding="UniJIS-UTF16-H" />
<datetime-text font-family="IPAMincho" font-encoding="UniJIS-UTF16-H" />
<page-number font-family="IPAMincho" font-encoding="UniJIS-UTF16-H" />
(縦書きの例)
<multi-vtext font-family="VIPAMincho" font-encoding="UniJIS-UTF16-V" />
それぞれのタグの属性については、XMLページレイアウトタグ リファレンス「第3章 テキスト」をご確認ください。
- レイアウトファイルは基本的にはレイアウトデザイナ画面上で編集・保存することを推奨しています。
テキストエディタ等で編集される場合は、大文字小文字などの記述を間違えないようにご注意ください。誤った属性を設定すると正しい帳票が生成されない場合があります。
また手書きにて間違って書かれた属性は、レイアウト・デザイナで開いた際に削除されたり、必須の属性が記述されていない場合は自動的に補完されたりすることがあります。
- 製品概要
- レイアウト・デザイナ ガイド
- レイアウト・デザイナ for Excel ガイド
- XMLドキュメントレイアウトタグ リファレンス
- XMLページレイアウトタグ リファレンス
- レイアウトサンプル
- テンプレート
- ライブラリ共通ガイド
- PDF出力ガイド
- Excel出力ガイド
- CSV出力ガイド
- javadoc - Javaライブラリ apidoc
- ダイレクト印刷ガイド
- バッチ印刷ガイド
- ヘルスチェッカーガイド
- Webサービスサーバ ガイド
- クラウドストレージ出力ガイド
- javadoc - soap apidoc (コンテンツ生成)
- javadoc - soap apidoc (コンテンツ管理)
- アプリケーションサンプル