HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0826
とあるプログラマA2Dで外部フォントを使用するには?2解決


とあるプログラマ

リンク

2020/8/26(Wed) 17:31:56|NO.91261

AddFontResource関数で読み込んだOTFフォントをA2Dで描画で使用したいのですが、普通にalFontでフォント名を指定しただけでは何の文字も表示されませんでした。(mesによる描画は可能です)


調べてみたところ、GDI+で非インストールのフォントを読み込んで使うにはPrivateFontCollectionクラスを使用してフォントを読み込む必要があるそうですが、このクラスのフラットAPIが探しても見つかりません。


HSP3でGDI+(A2D)を使用して非インストールのフォントを描画することはできないのでしょうか。


以下参照

AddFontResource(Ex)の過去ログ
http://hsp.tv/play/pforum.php?mode=pastwch&num=12372

C++ - Fonts added with AddFontResourceEx are not working in GDI+
https://stackoverflow.com/questions/42595856/fonts-added-with-addfontresourceex-are-not-working-in-gdi



この記事に返信する


X

リンク

2020/8/26(Wed) 18:33:51|NO.91264

GDI+で使用できるフォントはTrueTypeフォントだけだった気がします。

参考になるかわかりませんがMSのドキュメント
https://docs.microsoft.com/en-us/windows/win32/api/gdiplusheaders/nl-gdiplusheaders-privatefontcollection
https://docs.microsoft.com/en-us/windows/win32/gdiplus/-gdiplus-font-flat

PrivateFontCollectionはあまり使い物にならないそうですが…
http://bbs.wankuma.com/index.cgi?mode=al2&namber=38795&KLOG=67



とあるプログラマ

リンク

2020/8/28(Fri) 17:05:44|NO.91280

MS DOCSはどちらも閲覧済みでしたが、やはりPrivateFontCollection周りのAPIはなさそうですね…

3つ目の掲示板の内容は2009年のものなので今のGDI+でも使い物にならないかは分かりませんが、GDI+によるテキストの描画は、Microsoft公式ができるだけGDIを使うように言っているほど使い物にならないとも聞いたことがあるので、mesかGDIの関数を使って描画したほうがいいのかもしれませんね…
(ただしfont命令を実行すると不定期に4096バイトのメモリ使用量が増える謎(メモリリーク?)があるので、あまり何回もfont命令は使いたくないのですが)

それらも含めこちらで検討してみたいと思います。
ありがとうございました。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.91261への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2018(c) All rights reserved.