Artlet2DというよりGDI+の仕様っぽいですね。
フォント名が「@〜」かどうかではなく、テキストの方向で縦書き文字を使い分けるようです。
#ifndef a2d
#include "a2d.hsp"
#endif
#module a2d_mv
#define GdipCreateStringFormat GdipCreateStringFormat@a2d
#define GdipDeleteStringFormat GdipDeleteStringFormat@a2d
#define GdipSetStringFormatAlign GdipSetStringFormatAlign@a2d
#define GdipSetStringFormatLineAlign GdipSetStringFormatLineAlign@a2d
#define GdipDrawString GdipDrawString@a2d
#define alWstrlen alWstrlen@a2d
#define imgGraphics imgGraphics@a2d
#define imgFont imgFont@a2d
#define imgBrush imgBrush@a2d
#uselib "gdiplus"
#func GdipSetStringFormatFlags "GdipSetStringFormatFlags" int, int
// 最後に引数1つ追加 [1:右=>左 2:縦書き]
#define global alDrawTextV(%1="",%2=0,%3=0,%4=9999,%5=9999,%6=0,%7=0,%8=0) alDrawTextV_ %1,%2,%3,%4,%5,%6,%7,%8
#deffunc alDrawTextV_ str p0, int p1, int p2, int p3, int p4, int p5, int p6, int p7, local a, local b
If(imgFont==0){Return} :Dim a :Dim b,4
GdipCreateStringFormat 0, 0, varptr(a) ; アラインメント用 Format オブジェクト
GdipSetStringFormatAlign a, p5
GdipSetStringFormatLineAlign a, p6
GdipSetStringFormatFlags a, p7 //縦書属性
b = alFloat(p1), alFloat(p2), alFloat(p3), alFloat(p4)
GdipDrawString imgGraphics, p0, alWstrlen(p0), imgFont, varptr(b), a, imgBrush
GdipDeleteStringFormat a ; Format オブジェクト 削除
Return
#global