13 返信 最新の回答 日時: Nov 21, 2016 12:10 AM ユーザー:wata-wata

    表示文字列の文字間、文字末尾に「□」(四角)が表示される件について

    青さん

      お世話になります。

       

      CrystalReportsより出力したPDFファイルにつきまして、

      Adobe reader 11.0.16以上、およびDCから

      PDFに出力している文字列の間や末尾に「□」が出力される現象が発生しました。

       

      例:あいうえお → あいうえ□お

       

      Adobe reader 11.0.15までは発生しておらず、現象発生前後で特にCrystalReportsの

      ファイルのフォントなどを大きく修正したということはありません。

       

      Adobe readerの仕様が何か変わったのでしょうか?

      使用しているフォントは「MS 明朝」「MS ゴシック」のみです。

       

      「□」の文字コードはU+100000となっていました。

       

      何か、この「□」を表示させないようにする方法があればご教授ください。

      宜しくお願い致します。

       

      環境

      Windows Server 2008 SP2 (PDFファイルの出力環境)

      Windows 7 / 8.1 / 10 (PDFファイルの閲覧環境)

        • 2. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
          青さん Level 1

          返信ありがとうございます。

           

          既にそちらは閲覧しており、

           

          >こちらで色々と試してみたところ、一部の文章(□が出てくる所ではないところですが。。。)のフォントを「MS 明朝」から「MS P 明朝」へ変更したところ、現象が出なくなりました。

          >対処療法的ですが、こちらで様子を見る予定です。

           

          こちらを試しても引き続き発生しております。

           

          CrystralReportsが原因だとは思っていますが、

          11.0.16から急に出始めたので、それなりの修正があったのではないかと思うのですが

          リリースノート等からは特に伺えそうになかったため、質問させていただきました。

          • 3. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
            noellabo Most Valuable Participant

            こちらの件と同じ問題かもしれませんね……。

            Re: Acrobat proとReaderで表示が異なる

             

            MS P明朝、MS Pゴシックにすると解消するようですが、詳しい原因は解明しておりません。

            ひとまずお試しいただければと思います。

            • 4. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
              noellabo Most Valuable Participant

              化けてしまう検証用データ(PDF)は用意できますか?

               

              それが難しい場合、CrystalRerportsの方を検証しますので、開発環境などの詳しい情報をいただければと思います。

              • 5. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
                青さん Level 1

                ユーザの作成した大きいデータのPDFファイルで、起きるとき・起きないときがあり、

                検証用のPDFを用意するのは難しいです。(作成できましたら添付いたします)

                ただ、発生の有無に限らず、PDFファイルのフォントなどのプロパティ値については上記で紹介頂いたディスカッション(Re: Acrobat proとReaderで表示が異なる)に添付のある設定と変わらない状態です。

                https://forums.adobe.com/servlet/JiveServlet/showImage/2-8789257-950527/pastedImage_0.png

                 

                開発環境につきましては、以下の通りです。

                OS     : WindowsServer2008 SP2

                IIS     : IIS7

                CrystalReports     : CR 2008

                Jdk     : jdk6.45

                 

                PDF出力については下記の通りです。

                IISを利用し、JavaのシステムからASPにCrystalReportsのパラメータを転送。

                ASPがクリスタルレポートに引数としてパラメータを投げ、結果として出力されるレポートデータよりPDFを出力。

                ASPによりpdfにリダイレクトし、IE上に表示する。

                 

                また、CrystralReports構成については以下の通りです。

                メインレポートに対し、サブレポートが20件ほどあり、

                Javaのシステムからの引数によって出力する・しないの制御。

                レポート内のフォントはMS 明朝、MS ゴシックのみ。(P明朝・Pゴシックにしても現象は発生)

                メイン・サブレポート共にOracle(ODBC)から出力データを取得する。(出力データ側には不良なし)

                細かいプロパティや、オプション設定についてはインストール直後のデフォルト状態で

                使用しております。

                 

                なお、Javaシステム・aspを挟まず、CrystalReportsのPDF出力機能単体で使用しても発生することまではわかりました。

                 

                また、CrystalReportsについてはトライアル版ですが最新バージョンの2016まで動作を確認し、

                同一現象が発生することも判明しております。

                • 6. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
                  noellabo Most Valuable Participant

                  まだ解明には至っておりませんが、Windows 10 の Visual Studio 2015 + CRVS2016 SP17 で簡単な Crystal Reports WPF アプリケーションを作成してテストしたところ、「□」が出力される現象の再現が確認できました。

                   

                  いまのところ、発生条件の規則性が特定できていませんが、ちょっとした違いで出たり出なかったりするのでやっかいですね。文字数が一文字でも違うと出なくなったり、同じ内容でも順番を変えると 出なくなったり、実に挙動不審です。とりあえず、メイリオと游ゴシックを指定すると同一条件では発生しなくなりましたが、なんとも言えません。(源ノ角ゴシックを指定したらアプリケーションが 落ちました……)

                   

                  何か、フォントのエンベッド処理に問題があるような感じがします。

                  ミニマムな検証用データを作って、Adobeのエンジニアに問いかけた方がいいかもしれませんね。

                  私の方でも引き続き追いかけてみます。

                  • 7. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
                    青さん Level 1

                    わざわざアプリケーションでのテストまで行っていただき、ありがとうございます。
                    そして現象も再現していただいたとのことで・・・申し訳ないです。

                     

                    こちらもユーザのコピーデータで検証してみましたが、1文字が違うだけで出なかったり、改行されるだけで出なくなったり、確かに条件が全く読めません。

                     

                    エンベット処理・・・

                    フォントの埋め込みに関しては確かに少し怪しいと思っていました。

                    当該のPDFファイルをAcrobat Standardで全フォント埋め込みでPDF出力したところ、

                    何故か使用していないRomanがプロパティ-フォント欄にいました。

                    ただし、それが埋め込まれたところで「□」文字は出力されたままなので、

                    元々埋め込まれてしまっているビルトインのフォントがいけないのかもしれないですね。

                     

                     

                    お手数ですが、宜しくお願いします。

                    こちらも調査は引き続きおこなっていますので、何かわかり次第ご連絡させていただきます。

                    • 8. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
                      青さん Level 1

                      調査していたところ、クリスタルレポートのリリースノートに怪しげな記載がありました。

                      http://help.sap.com/businessobject/product_guides/crv2008/ja/xi3-1_crviewer_release_ja.pdf

                       

                      「PDFへのエクスポート」箇所ですが、

                      いくつかのアジア言語フォント(MS ゴシック、MS 明朝、MS Pゴシック、MS

                      P明朝)はPDF に正しくエクスポートされません。

                      との記載がありました。

                       

                      確かに帳票内フォントをアルファベット名称のフォントに変えてみたところ、

                      埋め込みフォント欄に正しくフォントが設定されていました。

                       

                      確認できるいくつかのパターンでは□の表示はされなくなりましたが、

                      元々の現象が出たり出なかったりなので、これが解決策かどうかはわかりませんが

                      原因の可能性は高そうです。

                       

                      他に何か考えられそうな原因がありましたら、情報を頂ければと思います。

                      • 9. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
                        赤中78368676

                        青さん による書き込み:

                         

                        確かに帳票内フォントをアルファベット名称のフォントに変えてみたところ、

                        埋め込みフォント欄に正しくフォントが設定されていました。

                        ここの「正しくフォントが設定」というのは、>5の画像にある「__-__(埋め込みサブセット)」

                        の部分がアルファベット名称のフォント名が表示されたということでしょうか?

                         

                        また「□」が発生している項目のフォントを変えた?のでしょうか。

                        「□」が出ている項目は決まっていましたか?

                         

                        「□」表示以外にPDFとして他に見た目が変わっていた、ということはありませんか?

                         

                        質問ばかりですが回答いただければと思います。

                        • 10. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
                          青さん Level 1

                          お世話になります。

                          少々返信遅れました。

                           

                          ここの「正しくフォントが設定」というのは、>5の画像にある「__-__(埋め込みサブセット)」

                          の部分がアルファベット名称のフォント名が表示されたということでしょうか?

                           → その通りです。例えば「MS UI Gothic」などです。

                           

                          また「□」が発生している項目のフォントを変えた?のでしょうか。

                          「□」が出ている項目は決まっていましたか?

                           → 項目ピンポイントではなく、全項目のフォントを変更しました。

                             PDFファイルにはそのフォントの文字しか存在しない状態で、

                             1度出力すれば、その出力パターンから「□」の出る項目は同一になります。

                             また、ピンポイント修正でも現象は発生しなくなりますが、

                             フォントにはアルファベット名称フォントと「__-__」の両方が埋め込まれる状態になります。

                           

                          「□」表示以外にPDFとして他に見た目が変わっていた、ということはありませんか?

                           → フォント変更後、文字サイズがフォントによっても変わるため収まっていた文字が

                             はみ出るなどはありましたが、他は特にはありませんでした。

                           

                          以上になります。

                           

                          現在、WordやHTMLに出力し、PDF化する暫定対策を検討していますが、やはり

                          ・フォーマットが崩れる

                          ・処理時間がかなり長くなる

                          ・HTMLの場合、ファイルが重くなりすぎて開くのも困難になる

                          等が懸案として上がるため、PDF出力でどうにか対応したい・・・という現状です。

                          • 11. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
                            wata-wata

                            横から失礼します。

                             

                            弊社でも同様の現象に合い、非常に困っています。

                            実際、「11.0.16」では□が表示されるpdfファイルを「11.0.11」で開くと□は表示されません。

                             

                             

                            >ミニマムな検証用データを作って、Adobeのエンジニアに問いかけた方がいいかもしれませんね。

                             

                             

                            検証データがあるので「Adobeのエンジニア」に問いかけたいのですが、どこで問い合わせたら

                            良いでしょうか。

                             

                             

                            よろしくお願いします。

                            • 12. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
                              青さん Level 1

                              お世話になります。

                               

                              結局、Adobeではなくクリスタルレポート側の不良だと判断できたため、

                              クリスタルレポートのインシデントサポートに問合せし、解消致しましたので

                              本質問は閉じさせて頂きます。

                               

                              有償対応でしたので、対策方法は記載できませんが

                              同一現象が起きた場合はSAPのクリレポインシデントに

                              問い合わせることをお勧めします。

                              • 13. Re: 表示文字列の文字間、文字末尾に「□」(四角)が表示される件について
                                wata-wata Level 1

                                青さん、貴重な情報ありがとうございます。

                                クリスタルレポート側へアクションを起こそうと思います。

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