中国語出力時の文字化けについて

700 views
Skip to first unread message

rk

unread,
Oct 26, 2017, 4:48:16 AM10/26/17
to RapidReportサポート QAフォーラム
PDF出力時に中国語の一部の文字が文字化けします。
対応方法をご教授ください。

RapidReportのバージョンは、4.25.1.
開発言語は、.Netです。
 
画面表示上は「吉林省长春市优衣库一号店」と表示されているが、
PDFで出力すると「吉林省 春市 衣 一号店」のように歯抜けの表示になってしまう。

詳細は、添付資料を参照してください。

以上、よろしくお願い致します。
PickingList-20171026-163206.pdf

RapidReport

unread,
Oct 26, 2017, 7:42:37 PM10/26/17
to RapidReportサポート QAフォーラム
伊藤です。

中国語の文字を表現可能なフォントを利用する必要があります。
以下の投稿をご確認ください。

rk

unread,
Nov 6, 2017, 9:18:13 PM11/6/17
to RapidReportサポート QAフォーラム

お世話になります。


本件について、追加で質問になります。

上記投稿ですと、日本語か中国語どちらか一方での表示に対応していますが、

1項目(Field)で日本語と中国語の2つの文字列を一緒に出力することは可能でしょうか。(1項目多言語表示

 

iTextでのPDF作成では、下記の実装で1項目に異なる言語の文字列を一緒に出力ことが可能であると認識おります。

 

<要点のみの実装例>

BaseFont jpFont = BaseFont.createFont(~); //日本語フォント

BaseFont cnFont = BaseFont.CreateFont(~); //中国語フォント

                               

Chunk jpText = new Chunk("日本語文字列", jpFont); //日本語文字には日本語フォントを使用

Chunk cnText = new Chunk("字符串 ", cnFont);  //中国語文字には中国語フォントを使用

 

Paragraph p = new Paragraph(); //PDF文章

p.add(jpText); //日本語文字を書き出し

p.add(cnText); //中国語文字を書き出し

PdfPCell cell = new PdfPCell(p);

 

RapidReportデザイナーで項目のフォント属性に複数のフォントを設定し

フォームのデータをバインドする際、、上記コードようにデータ値の文字列を1文字単位でその言語判別して

適用するフォントを切り分けて項目に出力する機能はないのでしょうか?

現状ではなくても今後対応する計画はありますでしょうか?


以上、よろしくお願い致します。

RapidReport

unread,
Nov 7, 2017, 12:32:59 AM11/7/17
to RapidReportサポート QAフォーラム
伊藤です。

RapidReportでは、絶対座標指定によってテキスト等の描画を行う必要があるため、
iTextのChunkやParagraphのような高レベル機能は利用しておりません。
(PdfContentByteに対する直接操作のみで描画を行っています)
もし実現するとなれば、同等の機能を自前で実装する必要があります。

対応するとすれば、標準機能として追加するのではなくアドインとして、ということにさせて下さい。
どういった形で、文字列片とフォントの設定を行えれば都合が良いでしょうか?



Reply all
Reply to author
Forward
0 new messages