私ならwin32apiを使います。
一見ごちゃごちゃしていますが、速いのと、何より余計なバッファを使わなくてよいのが楽です。
#uselib "gdi32.dll"
#cfunc CreateFont "CreateFontA" int, nullptr, int, int, nullptr, nullptr, nullptr, nullptr, int, nullptr, nullptr, nullptr, nullptr, str
#func DeleteObject "DeleteObject" int
#func SelectObject "SelectObject" int,int
#func SetGraphicsMode "SetGraphicsMode" int, int
#define ctype deg2ori(%1) %1*10
SetGraphicsMode hDC, 2
rad = deg2ori(-45)
hFont = CreateFont(20, rad, rad, 128/*shift-jis*/, "MS ゴシック")
SelectObject hDC, hFont
pos 100, 200 : mes "これはテストです。" // OK
pos 200, 200 : mes "这是一个测试。" // Shift-JISだけ
rad = deg2ori(45)
hFont = CreateFont(20, rad, rad, 128, "MS ゴシック")
SelectObject hDC, hFont
color 255
pos 300, 200 : mes "This is a test." // OK
redraw 1 ; 領域外も描画[重要]
DeleteObject hFont
stop
あとは適当にモジュール化すれば簡単でしょう。