com.ozacc.mail.fetch.impl.sk_jp.io.FromCP932Corrector Maven / Gradle / Ivy
/*
* @(#) $Id: FromCP932Corrector.java,v 1.1.2.1 2005/01/18 07:20:36 otsuka Exp $
* $Revision: 1.1.2.1 $
* Copyright (c) 2000 Shin Kinoshita All Rights Reserved.
*/
package com.ozacc.mail.fetch.impl.sk_jp.io;
/**
* FromCP932Corrector.
*
* CorrectOutputStreamWriterで用いられる文字列バッファ補正クラスです。
* 風間一洋さんのJavaHouse-Brewers投稿記事[14452]のCp932クラスから
* 変換表を参考にさせていただいています。
*
* @version $Revision: 1.1.2.1 $ $Date: 2005/01/18 07:20:36 $
* @author Shin
*/
public class FromCP932Corrector extends UnicodeCorrector {
/**
* Unicode文字配列の補正を行います。
*
* "MS932""Shift_JIS"エンコーディング以外で出力しようとした際の
* sun.ioやcom.msコンバータでは正常に変換できない部分を補正します。
*
* @param c source character
* @return Result character that corrected.
*/
public char correct(char c) {
switch (c) {
// ISO-2022-JPコンバータが正しく解釈しているようだ
// case 0xff3c: // FULLWIDTH REVERSE SOLIDUS ->
// return 0x005c; // REVERSE SOLIDUS
case 0xff5e: // FULLWIDTH TILDE ->
return 0x301c; // WAVE DASH
case 0x2225: // PARALLEL TO ->
return 0x2016; // DOUBLE VERTICAL LINE
case 0xff0d: // FULLWIDTH HYPHEN-MINUS ->
return 0x2212; // MINUS SIGN
case 0xffe0: // FULLWIDTH CENT SIGN ->
return 0x00a2; // CENT SIGN
case 0xffe1: // FULLWIDTH POUND SIGN ->
return 0x00a3; // POUND SIGN
case 0xffe2: // FULLWIDTH NOT SIGN ->
return 0x00ac; // NOT SIGN
}
return c;
}
}