「システムにインストールされていないフォントを使用する」へのコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html 「システムにインストールされていないフォントを使用する」に投稿されたコメントの一覧 ja https://dobon.net/banner/dbs1.gif https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html 「システムにインストールされていないフォントを使用する」へのコメント 88 31 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#8 解っておりませんが、正常に動作しなくなりました。
解決方法としては、AddFontMemResourceEx か、AddFontResourceEx を使う方法に
なるですが、これでも完全ではありませんでした。
使い方(フォントの使いまわし)で、読み込んだフォントを複数のコントロール
のフォント設定に代入しているのですが、1個目は大丈夫ですが、2個目以降は
反映されませんでした。

デバッグで見ると、『指定されたパラメータが正しくありません』(フォント名)
となっていました。

使いまわしができない?となった場合、必要な分、追加確保して行うことになる
のか???と思いましたが、では、解放時、
RemoveFontMemResourceEx
RemoveFontResourceEx
を複数回呼び出すのか???

どうも違うような・・・

100%正解な方法を見つけていません。

適切な方法としてはどうすればよいのか。
お教え願えればと思います。

以上。]]>
Fri, 26 Jan 2024 14:43:33 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#8
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#7
フォントファイルを読み込む方法も、リソースを読み込む方法も試しましたが、
フォント変更までの処理自体は成功するのですが、フォームを立ち上げてすぐに以下の例外が出てしまいます。

▼例外
System.AccessViolationException: '保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。'

こちらの解決方法をわかる方いらしたらコメントいただけると幸いです。]]>
Sun, 10 Dec 2023 07:58:30 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#7
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#6 new Font(pfc.Families[0], 10F);
ではなく
new Font(pfc.Families[0].Name, 10F);
にしないとlabelにテキストを設定しようとすると「System.ArgumentException: '使用されたパラメーターが有効ではありません。'」が出ます]]>
Fri, 23 Dec 2022 18:42:33 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#6
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#5 ”OpenTypeフォントは制限付きでしかサポートしていません。”
とのことですが、どのような制限があるかご存じでしたら教えていただけないでしょうか?]]>
Wed, 15 Apr 2020 16:37:22 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#5
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#4 Tue, 03 May 2016 01:04:51 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#4 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#3 TextBox にリソースに埋め込んだフォントを適用してもフォントの表示を変更することはできませんでした。
TextBox にない UseCompatibleTextRendering プロパティの代わりに Application.SetCompatibleTextRenderingDefault(true) を使用しました。
メモリフォントはGDI+で描画しなければなりませんが、 TextBox は GDI+ を使用できないのかもしれません。

https://msdn.microsoft.com/ja-jp/library/system.drawing.text.privatefontcollection.addmemoryfont(v=vs.110).aspx

> GDI+ では描画できないコントロールもあります。

代替として、 Bitmap などに Graphics.DrawString で描画して PictureBox.Image に渡して表示することはできました。]]>
Fri, 21 Aug 2015 09:43:41 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#3
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#2
私が試した限りでは、テキストボックスコントロールでもこの方法でフォントを変更することができました。]]>
Wed, 24 Jun 2015 00:43:54 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#2
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#1
label1.Font = f;
textBox1.Font = f;

のようにしてもFontのフォルダにttfファイルがないとフォントが変更されないので困っています。]]>
Thu, 14 May 2015 00:48:18 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=graphics%2Fprivatefontcollection.html#1