ページ 11

フォントのアーカイブ化について

Posted: 2013年3月03日(日) 15:06
by コレジャナイ
お世話になります。

現在フォントの読み込みにAddFontResourceEx関数を使用しております。
しかしAddFontResourceEx関数はDXライブラリの関数ではないため、DXエンコーダでフォルダをまとめてしまうと読み込みに失敗してしまいます。

そのためフォントのフォルダをむき出しにしないようにするにはどのような手段を取れば宜しいのでしょうか?
(簡単に取り出せますが、exeに埋め込んでしまうなど。)

何かお勧めの方法が御座いましたら教えて頂けると助かりますm(_ _)m

Re: フォントのアーカイブ化について

Posted: 2013年3月03日(日) 16:06
by softya(ソフト屋)
「AddFontMemResourceEx 関数」
http://msdn.microsoft.com/ja-jp/library/cc428287.aspx
を使う手も有ると思います。
「アーカイブ内のフォントデータの読み込み - joynote break;」
http://d.hatena.ne.jp/joynote/20100709/1278708168

Re: フォントのアーカイブ化について

Posted: 2013年3月03日(日) 16:42
by コレジャナイ
有難う御座います、無事出来ましたm(_ _)m

DXアーカイブについて他にも疑問点がありまして・・・。

折角アーカイブ化して拡張子を変更し、鍵を付けてもデコーダにドラッグ&ドロップするだけで中身を見れてしまう点はDXアーカイブを使用している以上どうしようもないのでしょうか・・・?
(せめてデコードの際に鍵の入力を求められるようになってくれればだいぶ良いのですが)

また
http://aexe.net/dxarc.html
こちらのサイト様を参考にパスをchar型の配列に入れて実行してみたのですが、例外ハンドルが発生してしまいます。
デバッグでchar型配列の中身を見た所、しっかり中でパスワードにはなっていたのですが・・・。
(パスを"pass"のように文字で直接打ち込んだ場合は上手く行きます)

コード:

char pass[8] = {5,5,5,5,4,5,1,0};
for(int i=0; i<8; i++){
	pass[i] += 50;
}
SetDXArchiveKeyString(pass);
値は現在適当なものを入れてあります。

Re: フォントのアーカイブ化について

Posted: 2013年3月03日(日) 16:54
by みけCAT
コレジャナイ さんが書きました:また
http://aexe.net/dxarc.html
こちらのサイト様を参考にパスをchar型の配列に入れて実行してみたのですが、例外ハンドルが発生してしまいます。
デバッグでchar型配列の中身を見た所、しっかり中でパスワードにはなっていたのですが・・・。
(パスを"pass"のように文字で直接打ち込んだ場合は上手く行きます)

コード:

char pass[8] = {5,5,5,5,4,5,1,0};
for(int i=0; i<8; i++){
	pass[i] += 50;
}
SetDXArchiveKeyString(pass);
値は現在適当なものを入れてあります。
文字列の最後にはNUL文字をつけないとだめです。

Re: フォントのアーカイブ化について

Posted: 2013年3月03日(日) 16:57
by softya(ソフト屋)
DXアーカイブの暗号化で鍵を掛ければ見えないはずですが。
鍵がついたデータが本当に鍵なしでデコードされますか?

Re: フォントのアーカイブ化について

Posted: 2013年3月03日(日) 16:59
by コレジャナイ
>>みけCAT様
あぁ、有難う御座います、すみませんorz
お陰様で上手く行きました。

>>ソフト屋様
もう一度確かめてみます。

Re: フォントのアーカイブ化について

Posted: 2013年3月03日(日) 17:04
by コレジャナイ
こちらの早合点でしたOTL
フォルダが作成されるだけで、元から同名のフォルダがあったために勘違いをしておりました。

無事全て解決致しました。
皆様有難う御座いました!m(_ _)m