Skip to main content
Known Participant
March 30, 2005
Question

段落タグ書式のフォントを変えたい

  • March 30, 2005
  • 5 replies
  • 1973 views
質問があります。

表題のように段落タグ書式のフォントを変えたいのです。
そのときに、
  F_ApiSetInt(hDoc, hPgfFmt, FP_FontFamily, ??);
のようにFontFamilyの変更だけで反映されるのでしょうか?
WinXP+FDK7.1では上手くいきません。
他に変更すべき情報があるのでしょうか?
    This topic has been closed for replies.

    5 replies

    Participating Frequently
    April 19, 2005
    koma様

    確実なf_codeを調べるには、自分が想定している動作をしながら、
    イベントをトラップして、そのパラメータを調べた方が良いと思います。

    自分もちゃんと調べてみないと分かりませんが、とりあえず…
    PGF_APPLY_CAT_TO_SEL や PGF_APPLY_TAG あたりでしょうか?
    Known Participant
    April 17, 2005
    こんにちは ymgc 様

    全 PgfFmt のフォントを一律に変更するFDKを作ってまして、 PgfFmt のフォントを変えた場合、その変更を 全 Pgf にも適応したいなーと思ってまして、、、

    > 「段落タグの適用」および「すべてを更新」のイベントを発生させる(F_ApiFcodes)
       or 文書を再フォーマットする(F_ApiReformat)

    F_ApiReformat() を使ってみたのですが、Pgfはのフォントは変わりませんでした、
    僕のやりかたが悪いのかもしれませんが、、、
    マニュアルのF_ApiReformat のサンプルのコードを参考にセッションのプロパティーを変更してみたりして試してもだめでした。

    で、F_ApiFcodes の方ですが、ヘッダーファイルを何回かみたのですが、どれを使ったらいいのかわかりませんでした。よかったらどのコードを使ったらいいのか教えてもらえないでしょうか?
    Participating Frequently
    April 7, 2005
    rocket21様

    段落書式タグのフォント指定を変更して、文書内の該当する段落に適用したい場合、
    通常、FrameMaker上で操作するような事をプログラムでしてあげれば良いと思います。

    具体的には、
    段落タグダイアログを表示
    フォント指定を変更
    「適用」または「すべてを更新」
    とやれば、期待通りの動きですよね?

    プログラムでは、
    FO_PgfFmtを取得
    F_ApiSetInt(hDoc, hPgfFmt, FP_FontFamily, ??);を実行
    「段落タグの適用」および「すべてを更新」のイベントを発生させる(F_ApiFcodes)
       or 文書を再フォーマットする(F_ApiReformat)
    では、どうでしょう?
    Known Participant
    April 7, 2005
    お答えありがとうございます。

    ということは、段落書式タグのフォントを変更するには、
    1.その段落書式タグを何かの段落タグに適用する。
    2.適用した段落タグに対してフォントの変更を行う。
    の手順になるのでしょうか?

    文書内の段落タグに段落書式タグを適用する前に、段落書式タグのフォントを変えることはできないのでしょうか?
    Known Participant
    April 6, 2005
    F_ApiSetInt(hDoc, hPgfFmt, FP_FontFamily, ??);
    これだけでは FO_PgfFmt  の設定がかわるだけで、
    Document Window というかBodyPage部分の文字の
    フォントに変化はないと思います。
    (ただし、この状態でFrameMaker Documentをテンプレートとして
    保存した場合、テンプレートの内容は変更されると思います。)

    FO_Pgf を取り出して変更する必要があると思います。

    記憶が定かではないのでまちがっているかもしれませんが
    FO_Pgf のFP_Name は、FO_PgfFmt のFP_Nameと同一なので、
    FO_Pgf から FO_PgfFmt  をたどれると思います。

    FO_Pgf から TextRange を取り出して、
    フォントを指定したような気がします。