実際にフォントをインストールして確認してみたところ、NeedsとCunnilingusの間にあるスペースが、ただの半角スペースでなく「ノーブレークスペース」なのが原因のようです。
HTMLで とか書くやつですね。
また、末尾に半角スペースがいるようです。(というかフォント名はNULL文字含めて32文字以下という制限に引っかかって、途中で切れてるっぽいですね)
下記スクリプトのようにすることで、フォントが使えます。
ノーブレークスペースは、HSP標準文字コードのShift-JISには含まれていないので、Unicodeで扱います。
#include "gdi32.as"
#define FW_NORMAL 0x190
#define FALSE 0x0
#define ANSI_CHARSET 0x0
#define OUT_DEFAULT_PRECIS 0x0
#define CLIP_DEFAULT_PRECIS 0x0
#define DEFAULT_QUALITY 0x0
#define FF_DONTCARE 0x0
// フォント名を作成
sdim fontName, 32 * 2
cnvstow fontName, "Mars Needs?Cunnilingus UT Font " // Unicodeに変換
wpoke fontName, 0x14, 0xA0 // ノーブレークスペース書き込み
// フォント作成
#define FONT_SIZE 30 // フォントサイズ
hFont = CreateFontW(FONT_SIZE * -1, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, varptr(fontName))
// フォントを選択
SelectObject hdc, hFont
mes "ABCDEF 1234567890"
onexit *quit
stop
*quit
// フォント削除
DeleteObject hFont
end
ちなみに、UTF-8にもノーブレークスペースは含まれているので、UTF-8ランタイムのHSPならfont命令でできる……と思ったのですが、できませんでした。
内部での文字セットの指定に問題があるようで、「フォント名に全角文字があれば、SHIFTJIS_CHARSET(日本語)に、なければANSI_CHARSET(欧文)に」としているようなのですが、このチェックがShift-JIS用でUTF-8に対応しておらず、文字セットが「欧文」である必要があるのに、「日本語」になってしまうためだと思われます。
該当行 →
http://dev.onionsoft.net/trac/openhsp/browser/tags/3.6/hsp3/win32gui/hspwnd_win.cpp?rev=1204#L1116
■注意
私的利用でしたら構わないのですが、フォントを再配布などする場合はライセンスにお気を付けください。