半角カナ(はんかくカナ)、半角片仮名(はんかくかたかな, Halfwidth Katakana)とは、幅が半分(半角)の片仮名文字の事。

Unicode では、全角片仮名(Fullwidth Katakana)と半角片仮名(Halfwidth Katakana)が異なる文字として登録されている。類似物として、Unicode には半角ハングル(Halfwidth Hangul)も登録されている。これらの半角文字は、Halfwidth and Fullwidth Forms(U+FF00-FFEF)に入っている。

(中略)

過去、すでに多くのShift_JIS等の文書で半角カナが使用されており、それらの文書のコード変換において情報が欠損しないようにするために(いわゆるround-trip conversionの保証)、Unicodeには通常(Fullwidth)の片仮名とは別に半角カナに相当する互換用文字が定義されている。具体的にはHalfwidth and Fullwidth Formsの中にHalfwidth CJK punctuation(U+FF61〜FF64)とHalfwidth Katakana variants(U+FF65〜FF9F)が含まれている。

半角カナ - Wikipedia

The Unicode Consortium のWebサイトに資料がある。

The Unicode Standard, Version 6.3 - Character Code Charts - Halfwidth and Fullwidth Forms [PDF]
The Unicode Standard, Version 6.3 - Character Code Charts - Halfwidth and Fullwidth Forms [PDF]

半角カタカナのリストを表示する Java のソースコード。


public class HalfwidthKana {
 
  public static void main(String[] args) {
    ff61();
    ff65();
  }
 
  public static void ff61() {
    // Halfwidth CJK punctuation (U+FF61〜FF64)
    char begin = 0xFF61;
    char end = 0xFF64;
    for(char c = begin; c<=end; c++){
      System.out.println(Integer.toHexString(c) + ": " + c);
    }
  }
  
  public static void ff65() {
    // Halfwidth Katakana variants (U+FF65〜FF9F)
    char begin = 0xFF65;
    char end = 0xFF9F;
    for(char c = begin; c<=end; c++){
      System.out.println(Integer.toHexString(c) + ": " + c);
    }
  }
}

実行結果。


ff61: 。
ff62: 「
ff63: 」
ff64: 、
ff65: ・
ff66: ヲ
ff67: ァ
ff68: ィ
ff69: ゥ
ff6a: ェ
ff6b: ォ
ff6c: ャ
ff6d: ュ
ff6e: ョ
ff6f: ッ
ff70: ー
ff71: ア
ff72: イ
ff73: ウ
ff74: エ
ff75: オ
ff76: カ
ff77: キ
ff78: ク
ff79: ケ
ff7a: コ
ff7b: サ
ff7c: シ
ff7d: ス
ff7e: セ
ff7f: ソ
ff80: タ
ff81: チ
ff82: ツ
ff83: テ
ff84: ト
ff85: ナ
ff86: ニ
ff87: ヌ
ff88: ネ
ff89: ノ
ff8a: ハ
ff8b: ヒ
ff8c: フ
ff8d: ヘ
ff8e: ホ
ff8f: マ
ff90: ミ
ff91: ム
ff92: メ
ff93: モ
ff94: ヤ
ff95: ユ
ff96: ヨ
ff97: ラ
ff98: リ
ff99: ル
ff9a: レ
ff9b: ロ
ff9c: ワ
ff9d: ン
ff9e: ゙
ff9f: ゚

tags: unicode java

Posted by NI-Lab. (@nilab)