2011年01月29日のツイート

その環境にインストールしてあるフォントのリストを取得するDLL

タイトル通りのDLLを作成しました。
http://www.eiji8pou.pics/download/fontlist20110130.zip
http://www.eiji8pou.pics/download/fontlist20110131.zip(微修正しました)

使い方

最初にともかく空撃ちします。

exec_dll "fontlist.dll" ; 初期設定と思ってください。
getret %0 ; %0にフォントの数が入る。

こうすると、%0に、その環境にインストールされている「固定ピッチの」*1日本語フォント(横書き用)の数が入ります。
後は、何番目のフォント名が欲しいのかを指示します。

exec_dll "fontlist.dll/20" ; (0から数えるので)21番目のフォント名を取得する。
getret $0 ; 21番目のフォント名が$0に入る。

これだけです。
リストが欲しい場合は、これを必要なだけ繰り返してください。
取得したフォント名は、spfont命令などに食わせることができます。
※一度取得されたフォントの順番は固定されています。

添付のサンプルスクリプト

nscr.exeを置いて、実行してみてください。(私の環境では)このような画面になります。

最初期バーションでの画面:

使い道

ユーザーにフォントを自由に選ばせるための下準備として作ったのですが、思ったよりもフォントの数が多くて困っています。
これだけ多い物を一覧にして選ばせるには、相当にユーザーインターフェースを練らなくてはなりません。
あるいは、単純にプロポーショナルフォントを除いてもいいかも知れません。(そのフィルタリング方法も現在調査中)
NScripterなので、とりあえずプロポーショナルフォントは除外しました。それでも結構多いですね。

追記

takadaさん、MenuE.dllのご指摘、ありがとうございます。

*1:この部分、追記しました。

その環境にインストールしてあるフォントのリストを取得するDLL

タイトル通りのDLLを作成しました。
http://www.eiji8pou.pics/download/fontlist20110130.zip
http://www.eiji8pou.pics/download/fontlist20110131.zip(微修正しました)

使い方

最初にともかく空撃ちします。

exec_dll "fontlist.dll" ; 初期設定と思ってください。
getret %0 ; %0にフォントの数が入る。

こうすると、%0に、その環境にインストールされている「固定ピッチの」*1日本語フォント(横書き用)の数が入ります。
後は、何番目のフォント名が欲しいのかを指示します。

exec_dll "fontlist.dll/20" ; (0から数えるので)21番目のフォント名を取得する。
getret $0 ; 21番目のフォント名が$0に入る。

これだけです。
リストが欲しい場合は、これを必要なだけ繰り返してください。
取得したフォント名は、spfont命令などに食わせることができます。
※一度取得されたフォントの順番は固定されています。

添付のサンプルスクリプト

nscr.exeを置いて、実行してみてください。(私の環境では)このような画面になります。

最初期バーションでの画面:

使い道

ユーザーにフォントを自由に選ばせるための下準備として作ったのですが、思ったよりもフォントの数が多くて困っています。
これだけ多い物を一覧にして選ばせるには、相当にユーザーインターフェースを練らなくてはなりません。
あるいは、単純にプロポーショナルフォントを除いてもいいかも知れません。(そのフィルタリング方法も現在調査中)
NScripterなので、とりあえずプロポーショナルフォントは除外しました。それでも結構多いですね。

追記

takadaさん、MenuE.dllのご指摘、ありがとうございます。

*1:この部分、追記しました。

2011年01月29日のツイート

その環境にインストールしてあるフォントのリストを取得するDLL

タイトル通りのDLLを作成しました。
http://www.eiji8pou.net/download/fontlist20110130.zip
http://www.eiji8pou.net/download/fontlist20110131.zip(微修正しました)

使い方

最初にともかく空撃ちします。

exec_dll "fontlist.dll" ; 初期設定と思ってください。
getret %0 ; %0にフォントの数が入る。

こうすると、%0に、その環境にインストールされている「固定ピッチの」*1日本語フォント(横書き用)の数が入ります。
後は、何番目のフォント名が欲しいのかを指示します。

exec_dll "fontlist.dll/20" ; (0から数えるので)21番目のフォント名を取得する。
getret $0 ; 21番目のフォント名が$0に入る。

これだけです。
リストが欲しい場合は、これを必要なだけ繰り返してください。
取得したフォント名は、spfont命令などに食わせることができます。
※一度取得されたフォントの順番は固定されています。

添付のサンプルスクリプト

nscr.exeを置いて、実行してみてください。(私の環境では)このような画面になります。

最初期バーションでの画面:

使い道

ユーザーにフォントを自由に選ばせるための下準備として作ったのですが、思ったよりもフォントの数が多くて困っています。
これだけ多い物を一覧にして選ばせるには、相当にユーザーインターフェースを練らなくてはなりません。
あるいは、単純にプロポーショナルフォントを除いてもいいかも知れません。(そのフィルタリング方法も現在調査中)
NScripterなので、とりあえずプロポーショナルフォントは除外しました。それでも結構多いですね。

追記

takadaさん、MenuE.dllのご指摘、ありがとうございます。

*1:この部分、追記しました。

2011年01月29日のツイート