• ベストアンサー

中抜き文字の印刷

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
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • D3DXCreateFontとID3DXFont::DrawTextによる文字列の縦書き描画

    お世話になっています。 D3DXCreateFontとID3DXFont::DrawTextによって文字列を左上(0,0)右下(20,100)の四角形内に縦書き描画しようと、以下のようにコードを書きました。 CreateFontの第3引数cEscapementを2700にし、 CreateFontの第4引数cOrientationも2700にしてCreateFont、D3DXCreateFontによって作成したフォントで、 SetRect(0,0,20,100); DrawText(Str,-1,&rc,DT_SINGLELINE | DT_WORD_ELLIPSIS | DT_NOCLIP, D3DCOLOR_XRGB(0,0,0)); 上のようにして実行すると、何も表示されません。 SetRectの引数を変えてみたりはしたのですが、それでもやはり上手くいきませんでした。 もちろん、フォントは縦書きフォントを指定しています。 さっぱり原因がわからないので、どなたがご存知の方がいらっしゃれば、ご教授よろしくお願いします。 開発環境:Visual Studio 2005 C++ 開発言語:C/C++(Win32API)+DirectX9.0b

  • すべてのフォントが中抜きになります

    印刷すると、すべてのフォント(MS明朝,HG正楷書体-PROなど)が中抜きになります。 wordとexcel、フォントの印刷(フォントのフォルダからフォントをダブルクリックして印刷)も同様です。 office2000を再インストールしてもだめでした。 また、fntcache.dat も削除してみましたがだめです。 OSの再インストールしか無いのでしょうか? よろしくお願いします。

  • テキストファイルの大文字を小文字にする方法について

    標準入力から入力したテキストファイル中の大文字を小文字に変換して出力するプログラムを考えているのですが、 $a = 'Abcd'; $a = lc $a; のようにすると大文字が小文字になるのはわかるのですが、標準入力からの入力にするとうまくいきません。 またもうひとつテキスト中に大文字のある特定の文字があればその文字がある行を削除して、それ以外を表示するプログラムも考えています。 こちらはその特定の文字を見つけたあと、その行を削除するのにどのようにしたらいいかわかりません。 これらの方法を教えていただきたく思っています。

    • ベストアンサー
    • Perl
  • illustratorでパスファインダを使用した場合きれいに中抜きできない

    WindowsXPでAdobe Illustrator9.0を使っています。 長方形の四角の上にアウトラインをとった文字を乗せて、 パスファインダで中抜きの画像を作っているのですが、 中抜きにすると抜いた部分が全体的に小さめ(細身)になってしまいます。 拡大表示にしてみると全く同じように見えるのですが、 100%表示にするとやはり小さめです。 ためしに長方形に別の色で文字画像(アウトライン済み)を乗せたものと 中抜きにしたものを並べてレーザープリンタで印刷したところ、 やはり100%表示にした時と同様に、中抜きした部分が小さくなって いたので、Illustratorの画面上だけのことではないようです。 これはレーザーなどの簡易プリンタのせいなのでしょうか。 それともIllustratorの問題なのでしょうか。 別の色で文字を乗せた状態と同様に見えるように、 中抜きをする方法をご存知の方がいらっしゃいましたら教えてください。 よろしくお願いします。

  • フォント指定の受渡し法?

    私が作成中の .NET C++プログラムはフォント指定を他のC#アプリから受取っており、そのフォント指定に基づいて文字を表示することになっております 受け取るフォント情報はC#のフォントダイアログにより選択されたものです 具体的には (1) M S 明朝, 9.75pt, style=Italic (2) HGPゴシックM, 20.25pt, style=Bold などといった文字列です 私が作成するC++ではこれらの指定に基づいてCreateFontするのでしょうが、上記のC#フォント指定と下記のC++ CreateFontパラメータでは差があり過ぎて、どのようにしたら良いのか分かりません font.CreateFont( 20.25, // フォントの高さ(大きさ)。 0, // フォントの幅。 0, // 0でOK。 0, // 同じく角度 FW_DONTCARE, // 文字の太さ FALSE, // イタリックならTRUEを指定 FALSE, // 下線ならTRUE FALSE, // 取り消し線ならTRUE SHIFTJIS_CHARSET, // フォントの文字セット OUT_DEFAULT_PRECIS, // 出力精度の設定 CLIP_DEFAULT_PRECIS, // クリッピング精度 DRAFT_QUALITY, // フォントの出力品質 DEFAULT_PITCH, // フォントのピッチとファミリを指定 L("HGPゴシックM") // フォントのタイプフェイス名の指定 ); C#のフォントダイアログからの情報を簡単にC++のCreateFontのパラメータを作り出す方法はありますか? またC#から受け取る情報が基本的に間違っており、別の情報があるのではないかと心配です 宜しくご指導願います

  • λ←こういう文字がHPに現れました。

    先日、余計なフォントを削除してから、インターネット上でλ←こういう文字が現れました。真っ先に対処したのは【ttfcache】の削除ですが、改善されませんでした。何かデフォルトのフォントを消してしまったのでしょうか?デフォルトで入っているフォントを再インストールする方法はないでしょうか?リカバリーすれば早い話なのでしょうが、ソフト&データが結構入ってるので、なるべくなら避けたいところです。 もう一つ。フォントをたくさんインストールしてしまった場合、デフォルト以外のフォントのみを削除する方法ってあるんでしょうか? 長くなってしまいましたが宜しくお願いいたします☆

  • Word2010の文字飾り項目について

    Word2010のフォント設定での文字飾りで影付き文字や中抜き文字を作れません。 前バージョンまではあったのですが、Microsoft側で止めたのでしょうか。 Wordヘルプで検索したのですが、見つかりませんでした。 使えるような手段がありますか。

  • WORD  2010で

    WORD  2010で 2010 Officeを使っていますが、ワード2010(2007)で文字の中抜きをしたいのですが、どこからそれをすればいいのかわかりません。 2003で、フォント→文字飾り→中抜き でできたような気がしたのですが・・・・ 本にものっていないです。教えてください。

  • WORD 印刷すると文字が重なる

    Wordで作った文章です。 表内に文字(文章)を入力しています。(罫線代わりに表を利用) 画面上では、ちゃんと文字が表示されているのですが、印刷すると文字の上に文字が重なって印刷されてきます。 フォントはMS明朝です。 考えられる原因は何かあるでしょうか。 またその対応方法を教えてください。 よろしくお願いします。

  • iTunes9の文字化けが直らない

    iTunes8を同9にバージョンアップしたところ、iTunes Storeの画面が文字化けするようになりました。iTunesの再インストールや一旦削除してのインストールも試みましたが、ダメでした。 そこで、iTunes Storeのサポートに問合せたら、WindowsXPのフォントを初期状態に戻してくれと言われました。教わった手順で心当たりのフォントを削除や移動しましたが、文字化けは直りません。おそらく、WindowsXPの初期フォント以外がまだ含まれているものと思っています。 そこで、 (1)WindowsXPのフォントを初期状態に戻す方法 または (2)初期状態でインストールされているフォント名称 または (3)このiTunesの文字化けの解決方法をご存知の方 がいらっしゃったら、ご教示ください。 よろしくお願いします。