Visual Basic 2010 Express DrawStringでのフォントによる描画位置の違い
フォントによる描画位置の違い
Visual Basic 2010 Express
SizeF = g.MeasureString(iString, iFont, New PointF(0, 0), sf)
GraphicsのMeasureStringを使って描画する文字列の大きさを測って
そこにx,y=0,0で描画するとほとんどのフォントが上にずれたようになり
下側に隙間ができる
Aldhabiというフォントは日本語だと下側に全体の半分以上の空間ができる
今のところはこのズレをフォントによる違いを考慮していなくて
フォントサイズの1/10のピクセル下にずらして描画している
ほとんどのフォントはこれで問題ないんだけど
WindowsXPの時にはなかったMeiryo UIは修正しなくてもほぼ中央に
なっているから逆にずれてしまう
ってことで調べているところなんだけど思っていた以上に複雑
参照したところ
VB.netで文字を正確な位置に描く。 - 情報と音楽
方法 : フォント メトリックを取得する
http://msdn.microsoft.com/ja-jp/library/xwf9s90b(v=vs.100).aspx
フォント一覧、1055x12121ピクセルの画像
1055x12121はヤフーに蹴られた模様
keyのkで上に突き出た部分、yで下に突き出た部分の表示位置の確認
フォント名で日本語の表示位置の確認
分割