4 返信 最新の回答 日時: May 12, 2004 9:30 AM ユーザー:(rocket21-d99fdc0)

    F_ApiCombinedFamilyFonts()の結果

      FDK7.0・F_ApiCombinedFamilyFonts()関数の処理結果(WinXP)について質問があります。
      この関数の戻り値(F_CombinedFontsT)の"len"の項目にはそれなりの値が帰ってくるのですが、"val[?].angle,variation,weight"の項目にと ても大きな値が帰ってきます。
      (F_ApiGetStrings(?,?,FP_FontAngleNames)の戻り値に収まらない値が帰ってくる。)
      つまり、「FDK7.0 Programmer's Reference」のこの関数のサンプルが正常に動かないのです。
      もちろん、文書に合成フォントは定義されています。
      何か前処理が必要なのでしょうか?
        • 1. Re: F_ApiCombinedFamilyFonts()の結果
          rocket21さま、こんにちわ。

          F_ApiCombinedFamilyFonts()を使ってみました。
          (作業環境:windows2000)
          当方では、lenの値からおかしいと思われ、
          同様にangle,variation,weightは、各情報リストのインデックス値に収まらない値が入ってきます。

          そもそも、このサンプルが正常に動いた方はいるのでしょうか?
          2種類のフォント情報を保持する合成フォントで、
          このF_CombinedFontsTの情報の持ち方には疑問を感じます…。
          以前、何度か関数が期待通りに動かなくて、苦労した事もありますし。

          そこで、回避(?)策を考えてみました。
          合成フォントオブジェクトのpropertyから、
          和文フォントと欧文フォントのインデックスを取得し、
          F_ApiFamilyFonts()を使って、同機能を実現してみました。
          こちらの関数は、問題なく動作している模様です。

          参考になるでしょうか?
          • 2. Re: F_ApiCombinedFamilyFonts()の結果
            Level 1
            ymgc 様

            回答ありがとうございます。
            私は、合成フォントのベースとなる和文フォントの情報を合成フォントの情報として、代用しています。

            しかし、合成フォントの定義の画面で、「太字と斜体を使用」のチェックがあるので、この情報を獲得できないのです。
            やはり、関数が正常に動いてくれないと・・・
            • 3. Re: F_ApiCombinedFamilyFonts()の結果
              Level 1
              rocket21さま。

              合成フォントの定義の画面で「太字と斜体を使用」のチェック、ですが。
              合成フォントのオブジェクトには、FP_AllowBaseFamilyBoldedAndObliquedというpropertyがあります。
              これが、定義の画面でのチェックを表してると思いますが、それではないですか?
              それとも、F_ApiGetInt()で取得した値がおかしいですか?
              • 4. Re: F_ApiCombinedFamilyFonts()の結果
                Level 1
                ありがとうございます。

                FP_AllowBaseFamilyBoldedAndObliquedで値を獲得することができました。
                FP_AllowBaseFamilyBoldedAndObliquedについて記述してある文書が見当たらなかったので気が付きませんでした。