2016-10-10 17 views
0

charExists()API OSに応じて、異なる動作をOS(またはマシン)に応じて、異なる動作を。charExistsは()iTextの中BASEFONTの

戻り値でも同じ文字と同じフォント、異なっている。(物理フォントファイルも、同じである)

1台のマシンは、AIX OSであり、他のマシンは、SunのSolaris OSです。

結果に影響を与える要因は何ですか?

この場合、同じ戻り値を得るにはどうすればよいですか?

チェックポイントとは何ですか? (例:ロケールなど。)

よろしく

+2

問題を再現するのに十分なコードを入力してください。 – mkl

+0

BaseFont baseFont = font.getBaseFont(); ブール値isExist = baseFont.charExists(ch); // 'isExist'の値はOSによって異なりますが、 'ch'は同じで、フォントファイルも同じです。 – Franken

+0

** ** **いくつかの小さなコメントだけでなく、問題の本文に関連する特別な情報を追加してください。 ** B **どの文字が問題になりますか? – mkl

答えて

0

問題を発生する文字は、Unicode文字 'MIDDLE DOT'(U + 00B7)です。

Javaがバイト配列をStringに変更すると、IBM AIXのJavaはoracle javaとは異なり、 'MIDDLE DOT'を 'KATAKANA MIDDLE DOT'(U + 30FB)に変更します。

それでは問題が解決され、UTF-8に文字列の文字セットを設定します。

ありがとうございました。

関連する問題