• ベストアンサー

中抜き文字の印刷

CreateFont、DrawTextを使って出力しています。 ある特定の文字だけ中抜き文字を出力したいのですが、中抜き文字用のフォントをインストールする以外に方法は無いでしょうか。 出来れば標準のフォントを利用したいと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

枠線は SetBkModeで消せるようです int nMode = SetBkMode( hDC, TRANSPARENT ); BeginPath( hDC ); TextOut( hDC, 0, 0, "ABC", -1 ); EndPath( hDC ); SetBkMode( hDC, nMode ); StrokePath( hDC );

acombun
質問者

お礼

試してみましたがばっちりです。 本当にどうもありがとうございました。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

ビットマップイメージが出来ればいいのでしょうか? それならば BeginPath/EndPathとStrokePathなどで描画させてしまえば良いようですよ SDKならば BeginPath( hDC ); DrawText( hDC, 0, 0, 100, 24, "Test", -1, DT_SINGLELINE ); EndPath( hDC ); といった具合に準備して StrokePath( hDC ); で輪郭を描画してくれます DrawText以外にもTextOutなどでもOKです ただ文字の描画範囲の矩形も描画してしまうようです 文字のフォントは TrueTypeフォントで無いといけません # hDCへのビットマップの選択、フォントの選択などは適宜追加してください

acombun
質問者

お礼

どうもありがとうございます。 さっそく試してみましたが、やはり描画範囲の矩形も描画されてしまいます。 後から矩形部分を白線で引いく方向で対処しようかと思います。