BIRT から PDF レポートに针叶樱桃提取物を印刷しようとしています。代わりに针桃提取物が表示されるため、PDF に叶樱がありません。これはフォントの問題で、この人の問題に似ています。ただし、すでにサンセリフ フォントを使用しています。その人の解決策は、フォントの違いでした。
この種のことのためにLinuxコンテキストで使用する適切なフォントを知っている人はいますか?
BIRT から PDF レポートに针叶樱桃提取物を印刷しようとしています。代わりに针桃提取物が表示されるため、PDF に叶樱がありません。これはフォントの問題で、この人の問題に似ています。ただし、すでにサンセリフ フォントを使用しています。その人の解決策は、フォントの違いでした。
この種のことのためにLinuxコンテキストで使用する適切なフォントを知っている人はいますか?
問題
このフォントの問題は、セリフ/サンセリフ フォント自体が原因ではなく、テキスト内の文字をカバーしていないフォントが原因です。レンダリングされていない文字は「桜の葉」を参照し、漢文字 ( CJK 統一表意文字)の一部です。
Glyph Unicode code point Represents Code Block
叶 U+53F6 to harmonize, to rhyme; to unite; (borrowed for) leaf CJK Unified (plane 5 stroke 5)
樱 U+6A31 cherry/cherryblossom CJK Unified (plane 6 stroke 15)
http://www.fileformat.info/info/unicode/char/53f6/index.htm
http://www.fileformat.info/info/unicode/char/6a31/index.htm
http://www.decodeunicode. org/en/u+53f6/properties
http://www.decodeunicode.org/en/u+6A31/properties
Unicode コード ポイントは、文字の「普遍的な仮想表現」です。ファイルに含まれたり、画面に表示されたりすることはありません。
プロセスは次のとおりです。
Author's Head/ Virtual Space Bytes In
Generating Tool ---> (Incl. Strings ---> File ----> Screen/Printer
In Tool Memory)
Desired Unicode Character Encoded Symbol Rendered Via
Language Symbol Code Point Via Nominated Nominated Font In
File Encoding File
Microsoft では、 Arial Unicode MSフォントは実際にはArialフォントを超える大きな拡張であるため、Arial はフォントをテキストに一致させる必要性を隠します。これには、これらの文字の両方を含むthis oneを含むほとんどの Microsoft コード ページが含まれます。
最新の Linux インストールには、サポートされているフォントが必要です。そうでない場合は、中国語機能なしでインストールされたことは確かです。これを修正するためにUbuntu 管理言語サポート機能を使用する例。次のように入力して、一致するフォントを見つけます。
xlsfonts | grep gb
xlsfonts | grep big5
xlsfonts | grep han
xlsfonts | grep ming
xlsfonts | grep song
xlsfonts | grep kai
Linux 用中国語/アジア フォントのダウンロード
アドビから:
http://www.adobe.com/support/downloads/product.jsp?platform=windows&product=10 (アドオンに移動)
http://www.adobe.com/support/downloads/detail.jsp?ftpID= 4883
http://www.adobe.com/support/downloads/product.jsp?platform=windows&product=10
利点:これらのフォントを使用して PDF を生成すると、ユーザーがフォントをインストールせずに Adobe Reader で PDF を読み取ろうとすると、自動的に通知され、フォントをダウンロードするように求められます。Linux 以外のクライアントに互換性を提供します。
アドビはCJK フォント、文字セット、エンコーディングに関するブログをホストしています
アドビ以外:
ウィキペディアで CJK をサポートするフォント。
Linux では、次のフォントがこれら 2 つの文字をサポートしています。
GNU ユニフォント
明書体
WenQuanYi Bitmap Song (文泉驿点阵宋体) wqy-bitmapfont
サンセリフ
WenQuanYi Micro Hei (文泉驿微米黑) wqy-microhei
通常の書体
https://wiki.archlinux.org/index.php/Fonts#.28Mainly.29_Chineseを参照してください。
自分でダウンロードする場合は、フォントを適切な Linux ディレクトリ ( /etc/fonts/fonts.conf
、例/var/font/truetype, /usr/share/fonts, /usr/local/share/fonts,
、およびで定義/home/<username>/.fonts
) にコピーするための管理者権限が必要です。 行き方はこちらとこちら。
欠点:これらのフォントをクライアントに手動で配布する必要があります。Linux 以外のクライアントでの非互換性のリスク。
Birt でフォント パスを構成する
このステップと次のステップで fontsConfig.xml を変更した後、BIRT を再始動して変更を有効にする必要があります。
font-paths
エレメント fontsConfig.xmlを設定します。
<font-paths>
---------------
---------------
---------------
<path path="/var/font/truetype" />
</font-paths>
また、block 要素を使用すると、フォントが特定の範囲の文字にのみ適用されるように指定でき、異なるテキストのフォントを動的に切り替えることができます (多言語/複数記号のテキストに役立ちます:
<block name="Thai" start="e00" end="e7f" index="27" font-family="Font-Family"/>
Birt でフォント エンコーディングを構成します。
またfontConfig.xml
、要素内で、font-encodings
文字をカバーする適切な文字エンコーディングがフォントに含まれていることを確認します。たとえば、次のいずれかを選択します。
<font-encodings>
<encoding font-family="STSong-Light" encoding="UniGB-UCS2-H" />
<encoding font-family="STSongStd-Light" encoding="UniGB-UCS2-H" />
<encoding font-family="MHei-Medium" encoding="UniCNS-UCS2-H" />
<encoding font-family="MSung-Light" encoding="UniCNS-UCS2-H" />
<encoding font-family="MSungStd-Light" encoding="UniCNS-UCS2-H" />
</font-encodings>
注:含まれる True Type フォントはすべて PDF 内に埋め込まれ、サイズに大きな影響を与えますが、すべてのクライアントがドキュメントを正しく読めるようにします。
これらは、狭すぎる古い GB2312 セット (または EUC-CN) とは対照的に、より広範な GB10380 文字セットの多く/すべてをカバーする Adobe エンコーディングです。上記の例は BIRT フォーラムからのものですが、Adobe が UCS2 を廃止したという小さな警告があります。文字列内の「UCS2」を「UTF16」に置き換えることができる可能性があります。
Adobe エンコーディングを使用する理由: Adobe は、プラットフォーム間で広義の CJK 文字をエンコーディングするための標準と見なされています。歴史的に、GB10380 文字セットを直接サポートしているシステムはほとんどありません。 また、アドビのエンコーディングとフォントが多くのプリンターでサポートされていることも重要な要素です。 デフォルトの Linux 文字セット/エンコーディングはニーズをサポートしていない可能性がありますが、利用可能な Linux エンコーディングを参照してみてください:
利用可能な文字セット (エンコーディング): locale -c
または charsets
(または文字マップ プログラムの Gnome バージョン)
利用可能な Linux ロケール: locale -a
locale
locale charset