[WR3.0] WROGetReqWidth() について

HOME › フォーラム › 旧サポート掲示板 › [WR3.0] WROGetReqWidth() について

  • このトピックは空です。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #1249
    黒木
    ゲスト

    お世話になっております。

    テキストオブジェクトにデータをセット後、
    WROGetReqWidth()APIが返す値でオブジェクトの水平幅を
    再設定し、印刷しています。

    ところが、WROGetReqWidth()APIの返す値が
    テキストオブジェクトプロパティ(CharFeedMode)の設定に
    よって異なります。

    プロパティ「0:通常」の場合は問題ないのですが、
    「1:半角1/2送り」の場合で印刷すると最後の文字が
    若干欠けます。実際よりも値が短いようです。
    プレビュー上は、欠けずに表示されるのですが...。

    処理手順は以下の通りです。

    1.WROSetText()APIでテキストオブジェクトへデータをセット。
    2.プリンターないしプレビューオブジェクトの
      WRxFormatReport()APIを実行。
    3.WROGetReqWidth()APIで取得した値で
      WROSetWidth()APIを実行し、Widthを再設定。

    手順に問題があれば、ご指摘願います。

    環境
    Delphi4[UP3] + Win98SE
    WRENGN30.DLL 3.2.0.15
    WRCTRL30.DLL 3.0.0.16
    WRCIF30.DLL 3.1.0.4
    Printer EPSON LP-8300F(Driver Ver:2.02fm)
    Printer CANON LBP-1610(Driver Ver:8.41)

    #1250
    黒木
    ゲスト

    お世話になっております。

    追加情報です。
    テキストオブジェクトのプロパティ値です。

    Font : MSゴシック(サイズ:11)
    CharPitch : 3.39
    CharFeedMode : 1-半角1/2
    CharAdjustMode : 左基点
    TextLayoutHorz : 左寄せ

    以上、宜しくお願いします。

    #1251
    hirayama
    ゲスト

    お世話になります。

    ただいま検証中ですのでもうしばらくお待ちください。

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

    #1252
    hirayama
    ゲスト

    たいへん長らくお待たせいたしました。
    ご質問の件なのですがこちら検証を行ってみたのですが
    御社で発生している現象が再現できません。
    そこで、差し支えないようでしたら現象が発生している
    レポートファイルを弊社にお送りいただけないでしょうか?
    お送りいただけましたレポートファイルにて再度検証を
    行ってみたいと思います。
    以上よろしくお願いいたします。

    #1253
    hirayama
    ゲスト

    大変ご返事が遅くなってしまい申し訳ございません。
    検証を行った結果、ReqWidthプロパティが戻す値を計算する部分で、単位換算する
    (論理単位をデバイス単位に換算する)際に誤差が生じていたことがわかりました。
    大変ご迷惑をおかけいたしました。
    本件の対策版は次回弊社HPにアップ予定ですので宜しくお取り計らいください。
    ただ、テキストオブジェクトのCharPitchプロパティに設定されている3.39とい
    う値なのですが、フォントサイズが11ポイントですと文字が隣同士でぶつかってし
    まうようです。CharPitchプロパティにもう一段階大きい値を設定された方が良いかと
    思います。CharPitchプロパティの値はReqWidthプロパティの計算の際にも使用されて
    いますので値が小さく設定されていると文字欠けの原因となります。
    以上宜しくお願い致します。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • フォーラム「旧サポート掲示板」には新規投稿および返信を追加できません。