C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 38 を表示中)
■19827 / )  文字が全角か半角か判定する方法は?
□投稿者/ シャノン (447回)-(2008/05/30(Fri) 17:42:29)

分類:[.NET 全般] 

# 遭えて炎上しそうなタイトルをセレクトw

えー、タイトルの通りです。
対象の文字は System.Text.Encoding で扱える任意の文字、対象フォントは、FontDialog.FixedPitchOnly = true の場合に選択できる任意のフォントとし、「全角文字」とは、「半角文字」の2倍の幅を持つ文字とします。
「半角文字」の定義は何にしましょうか。コードポイント U+0041 の文字と同じ幅の文字、とか。

気になるのは、FontDialog.FixedPitchOnly を指定したからといって、選べるフォントの幅が必ずしも1:2の2種類になるわけではない、ということがありうるかどうか、です。
FixedPitchOnly が何を判断基準にしているのかわかりませんが、例えばフォントファイルの中にある特定の1ビットで識別しているとかいう場合、実体はプロポーショナルフォントなのに、そのビットが立っているというような、ヒネクレたフォントを作ることができるかもしれません。
が、そういうフォントを「作ることが可能かどうか」は問題にしないものとし、そういった(文字幅が1:2の2種類以外にもある)フォントが「ありふれているかどうか」を気にします。

対象環境は、Vista までの Windows + 3.5 までの .NET Framework および Windows API。要するになんでもアリで。
よろしくお願いします。
返信 編集キー/


管理者用

- Child Tree -