掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォントスタイルにItalicを使っても、重なった部分を描くようにするには? (ID:37993)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>下の3パターンでは、どれも終点のx座標が200となり、余分な空白が足されてないように思います。 TextWidthが使っているのはGetTextExtentPoint32で、MSDNによればオーバーハングを含んだ幅を返すとなっています。 ただ、TrueTypeフォントではオーバーハングは常に0だという記述もあるので、あまり意味がなかったかもしれませんね。 1文字ずつではなく一かたまりで出力した場合と比べて、差がなければまあそれでいいんじゃないでしょうか。 一応、TextMetricを取るには次のようにします。 var tm: TEXTMETRIC; ... GetTextMetrics(Canvas.Handle, tm); これでtm.tmOverhangの値を見るとオーバーハングの値がわかります。 他にも色々、選択されたフォントの性質を調べるのに役立つ値が入っています。 > FontSizeを指定する数字は、文字の横幅のピクセル数を指定する数字ということですか? いいえ、Sizeはあくまでも「高さ」です。 欧米の文字は高さが揃っていて、幅は文字ごとにまちまち(プロポーショナル)というのが普通ですから。 ただ、日本語は正方形のマスの中に文字を収める文化ですから MSゴシック(Pが付かない方)のような固定ピッチフォントを選んだ場合、 幅と高さが一致しているという可能性も高いでしょう。 ちなみにフォントが固定ピッチフォントか、平均的な幅はいくつかといった情報もTEXTMETRICで得られます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.