まぁ、自分のコードがあんまりちゃんとテストされていなかったと言えばそれまでなんですが、自分の作っている仮想プリンタドライバでは、OEMTextOutをフックして、印刷されたテキストをテキストデータとして出力するような処理をしています。 一般的に、OEMTextOutに渡されるデータは、いわゆるUTF-16(Unicode)ではなく、グリフインデックス(Glyph Index)というものになって渡されます(SO_GLYPHINDEX_TEXTOUTフラグ時)。 一方で、 KB241020:How To Translate Unicode Character Codes to TrueType Glyph Indices in Windows 95 のような情報が提供されており、この情報を使えば、フォントファイルの情報を使って、グリフインデックス→Unicodeの逆変換が行えます。普通は・・・