VC2003だと、cbSize見てCHARFORMAT2だったらそのまま、それ未満だと
MBCS->UNICODE変換かけるように変わってるな。
CHARFORMATじゃどうやってもUNICODEで設定できない。

何を考えてこんな実装になっているのやら。