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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0818
MortE3DCreateFont命令でプライベートフォントを指定すると文字化けする6未解決


Mort

リンク

2009/8/18(Tue) 23:15:24|NO.27151

こちらのスレッドからの派生質問になります。
http://hsp.tv/play/pforum.php?mode=all&num=27078



AddFontResourceAを使った場合(http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200701/07060023.txt)には問題なくフォントを利用できるのですが、
AddFontMemResourceExを用いた場合(http://hsp.tv/play/pforum.php?mode=all&num=27078)、途端に文字化けが発生するようになります。
フォントの形自体は問題なく指定したものになっていますし、どちらの方法でも共通のフォントファイルを利用しているのでフォントファイルの問題ではなさそうです。

二つの方法でのプライベートフォント化に、何か違いがあるのでしょうか?



この記事に返信する


レム

リンク

2009/8/28(Fri) 00:53:03|NO.27362

全く同じ内容でつまづいているので上げます。誰か原因わかりますか?



KA

リンク

2009/8/30(Sun) 13:49:20|NO.27444

>>こちらのスレッドからの派生質問になります。
>>AddFontResourceAを使った場合には問題なく
>>AddFontMemResourceExを用いた場合、途端に文字化け

 取りあえず、もう一度文書とリンク先の内容を見比べて下さい。
 質問の内容が理解出来ません。 E3D はどうなった??。

 後、リンクの使いすぎはやめて、具体的なスクリプトを載せてく
 ださい、何がどうできないのか判断が出来ません。



Mort

リンク

2009/8/30(Sun) 23:16:55|NO.27462

なるほど、失礼しました。

ぷまさん作のこちらのスクリプト

#include "gdi32.as"

#module "FontAddResource"
// fontを一時的に使えるようにするモジュール(注:インストールはしていません)
#deffunc FontAdd str FontFileName // FontAdd "フォントファイル名"
fn= FontFileName : pfn=varptr(fn)
AddFontResourceA pfn
return

#deffunc owari onexit
RemoveFontResourceA pfn : return
#global

/************** 以上モジュール 以下が Sampleです ********/


FontAdd "KFhimaji.otf" ; fontを一時的に使えるようにする
if stat=0 : mes "失敗"

font "KFひま字",50

mes "今日は いい天気(^-^)"



でプライベートフォントとして使用可能にしたフォントを使ってEasy3DのE3DCreateFont命令を利用すると、
問題なく使用できます。しかし、



#epack "(フォントファイル).ttf"

#include "gdi32.as"

// 対応OSチェック
if varptr(AddFontMemResourceEx) {
dialog "Win 2k以降じゃないとダメ"
stop
}

notesel buf
noteload "(フォントファイル).ttf"

AddFontMemResourceEx varptr(buf), strsize, 0, varptr(pcFonts)
hFont = stat

font "(フォント名)", 60
mes "てすとー"

RemoveFontMemResourceEx hFont


こちらの方法で同様のEasy3DのE3DCreateFont命令を使用すると、フォントは(字体から見るに)正しく利用できているのですが、
文字化けが発生してしまいます。この二つの方法にどういった違いがあるのでしょうか?という質問でした。すみません。



pぇ

リンク

2009/8/31(Mon) 10:59:01|NO.27470

こちらで試してみましたが文字化けは確認できませんでした。

環境
XP HSP3.2 Easy3D 5.0.4.0
Easy3D付属のサンプルe3dhsp3_font.hspをプライベートフォントに変更して、
実行ファイル作成した後に実行。
フォントはホリデイMDJP03



Mort

リンク

2009/9/1(Tue) 02:20:30|NO.27481

こちらでもホリデイMDJP03を使ってみたところ文字化けはおこりませんでした。
最初にテストしたフォントは
「小塚明朝」
http://www.adobe.com/jp/products/type/kozuminpro.html
でした。これではやはり文字化けが起こります。
拡張子が.otf(OpenTypeレイアウト)になっているのですが、これが関係するのでしょうか?



Mort

リンク

2009/9/1(Tue) 19:03:07|NO.27488

どうやらOpenTypeフォントではDESIGNVECTOR構造体へのポインタを指定してやる必要があるようで、それが原因みたいです。
http://msdn.microsoft.com/ja-jp/library/cc428287.aspx

しかしDESIGNVECTORで検索しても有用な情報が得られません。これはどういうことなんでしょうか?



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