1 /*
2 * @(#) $Id: ToCP932Corrector.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 * ToCP932Corrector.
10 * <p>
11 * CorrectOutputStreamWriterで用いられる文字列バッファ補正クラスです。<br>
12 * 風間一洋さんのJavaHouse-Brewers投稿記事[14452]のCp932クラス
13 * (XML日本語プロファイルも同じです)から
14 * 変換表を参考にさせていただいています。<br>
15 * </p>
16 * @version $Revision: 1.1.2.1 $ $Date: 2005/01/18 07:20:36 $
17 * @author Shin
18 */
19 public class ToCP932Corrector extends UnicodeCorrector {
20 /***
21 * Unicode文字の補正を行います。
22 * <p>
23 * 特定の文字を"MS932""Shift_JIS"エンコーディングで出力しようとした際の
24 * sun.ioコンバータでは正常に変換できない部分を補正します。
25 * </p>
26 * @param c source character
27 * @return Result character that corrected.
28 */
29 public char correct(char c) {
30 switch (c) {
31 // case 0x005c: // REVERSE SOLIDUS ->
32 // return 0xff3c; // FULLWIDTH REVERSE SOLIDUS
33 case 0x301c: // WAVE DASH ->
34 return 0xff5e; // FULLWIDTH TILDE
35 case 0x2016: // DOUBLE VERTICAL LINE ->
36 return 0x2225; // PARALLEL TO
37 case 0x2212: // MINUS SIGN ->
38 return 0xff0d; // FULLWIDTH HYPHEN-MINUS
39 // MS932コンバータが正しく解釈しているようだ
40 /*
41 case 0x00a2: // CENT SIGN ->
42 return 0xffe0; // FULLWIDTH CENT SIGN
43 case 0x00a3: // POUND SIGN ->
44 return 0xffe1; // FULLWIDTH POUND SIGN
45 case 0x00ac: // NOT SIGN ->
46 return 0xffe2; // FULLWIDTH NOT SIGN
47 */
48 }
49 return c;
50 }
51 }