View Javadoc

    1   /*
    2    * @(#) $Id: FromCP932Corrector.java,v 1.1.2.1 2005/01/18 07:20:36 otsuka Exp $
    3    * $Revision: 1.1.2.1 $
    4    * Copyright (c) 2000 Shin Kinoshita All Rights Reserved.
    5    */
    6   package com.ozacc.mail.fetch.impl.sk_jp.io;
    7
    8   /***
    9    * FromCP932Corrector.
    10   * <p>
    11   * CorrectOutputStreamWriterで用いられる文字列バッファ補正クラスです。<br>
    12   * 風間一洋さんのJavaHouse-Brewers投稿記事[14452]のCp932クラスから
    13   * 変換表を参考にさせていただいています。<br>
    14   * </p>
    15   * @version $Revision: 1.1.2.1 $ $Date: 2005/01/18 07:20:36 $
    16   * @author Shin
    17   */
    18  public class FromCP932Corrector extends UnicodeCorrector {
    19      /***
    20       * Unicode文字配列の補正を行います。
    21       * <p>
    22       * "MS932""Shift_JIS"エンコーディング以外で出力しようとした際の
    23       * sun.ioやcom.msコンバータでは正常に変換できない部分を補正します。
    24       * </p>
    25       * @param  c     source character
    26       * @return Result character that corrected.
    27       */
    28      public char correct(char c) {
    29          switch (c) {
    30              // ISO-2022-JPコンバータが正しく解釈しているようだ
    31  //          case 0xff3c:        // FULLWIDTH REVERSE SOLIDUS ->
    32  //              return 0x005c;  // REVERSE SOLIDUS
    33              case 0xff5e:        // FULLWIDTH TILDE ->
    34                  return 0x301c;  // WAVE DASH
    35              case 0x2225:        // PARALLEL TO ->
    36                  return 0x2016;  // DOUBLE VERTICAL LINE
    37              case 0xff0d:        // FULLWIDTH HYPHEN-MINUS ->
    38                  return 0x2212;  // MINUS SIGN
    39              case 0xffe0:        // FULLWIDTH CENT SIGN ->
    40                  return 0x00a2;  // CENT SIGN
    41              case 0xffe1:        // FULLWIDTH POUND SIGN ->
    42                  return 0x00a3;  // POUND SIGN
    43              case 0xffe2:        // FULLWIDTH NOT SIGN ->
    44                  return 0x00ac;  // NOT SIGN
    45          }
    46          return c;
    47      }
    48  }