手元では着々とUnicode対応を進めています。未だSVNへはコミットしていませんが、NT系では最終的にWriteConsoleWを使うことで、Unicode文字をコンソールに出力させています。

とりあえず、N88にあった記号類を出力させてみました。
Unicode固有の文字を出力させた例1行目の段の文字の内、1箇所へこんでいるのはフォントのせいです。エディタに張り付けて他のフォントを選べば、きれいな段になります。

全部全角で表示されてほしいところですが、一部が半角になるのは仕様でしょう。その差はShift_JIS(大元はJIS X 0208)に入っていたかどうかです。全角なのはどれもそこにある文字ばかりです。詳しく知りたければ、まずは東アジアの文字幅 – Wikipedia辺りをどうぞ。もちろん、これは厳密に固定長で全角・半角の文字幅を決めねばならないときの話です。プロポーショナルフォントなら自由ですし、固定幅を名乗るフォントでも割とこのようになっていません。


以下、ソースコードです。

#console
Dim sb = New System.Text.StringBuilder
sb.Append(&h2581 As WCHAR)
sb.Append(&h2582 As WCHAR)
sb.Append(&h2583 As WCHAR)
sb.Append(&h2584 As WCHAR)
sb.Append(&h2585 As WCHAR)
sb.Append(&h2586 As WCHAR)
sb.Append(&h2587 As WCHAR)
sb.Append(&h2588 As WCHAR)
sb.Append(&h258F As WCHAR)
sb.Append(&h258E As WCHAR)
sb.Append(&h258D As WCHAR)
sb.Append(&h258C As WCHAR)
sb.Append(&h258B As WCHAR)
sb.Append(&h258A As WCHAR)
sb.Append(&h2589 As WCHAR)
sb.AppendLine()
sb.Append("┼")
sb.Append("┴")
sb.Append("┬")
sb.Append("┤")
sb.Append("├")
sb.Append(" ̄")
sb.Append("─")
sb.Append("|")
sb.Append(&h2595 As WCHAR)
sb.Append("┌")
sb.Append("┐")
sb.Append("└")
sb.Append("┘")
sb.Append(&h256D As WCHAR)
sb.Append(&h256E As WCHAR)
sb.Append(&h256F As WCHAR)
sb.Append(&h2570 As WCHAR)
sb.AppendLine()
sb.Append(&h2550 As WCHAR)
sb.Append(&h255E As WCHAR)
sb.Append(&h256A As WCHAR)
sb.Append(&h2561 As WCHAR)
sb.Append(&h25E2 As WCHAR)
sb.Append(&h25E3 As WCHAR)
sb.Append(&h25E5 As WCHAR)
sb.Append(&h25E4 As WCHAR)
sb.Append(&h2660 As WCHAR)
sb.Append(&h2665 As WCHAR)
sb.Append(&h2666 As WCHAR)
sb.Append(&h2663 As WCHAR)
sb.Append("●")
sb.Append("○")
sb.Append(&h2571 As WCHAR)
sb.Append(&h2572 As WCHAR)
sb.Append(&h2573 As WCHAR)


Print sb.ToString()

System.Console.ReadLine()
スポンサード リンク

この記事のカテゴリ

  • ⇒ Unicodeの記号達 (2) コンソール
  • ⇒ Unicodeの記号達 (2) コンソール