OSDN Git Service

stop using trunk or dist directory in rec10 project.
[rec10/rec10-git.git] / tstools / epgdump / aribstr.c
index 1e736ea..44c62bf 100755 (executable)
@@ -6,7 +6,7 @@
 
 #include "aribstr.h"
 
-#define CODE_UNKNOWN           0       // ÉÔÌÀ¤Ê¥°¥é¥Õ¥£¥Ã¥¯¥»¥Ã¥È(ÈóÂбþ)
+#define CODE_UNKNOWN           0       // 不明なグラフィックセット(非対応)
 #define CODE_KANJI             1       // Kanji
 #define CODE_ALPHANUMERIC      2       // Alphanumeric
 #define CODE_HIRAGANA          3       // Hiragana
@@ -50,6 +50,7 @@ static        const DWORD ProcessCharCode(TCHAR *lpszDst, const WORD wCode, const CODE_
 
 static const DWORD PutKanjiChar(TCHAR *lpszDst, const WORD wCode);
 static const DWORD PutAlphanumericChar(TCHAR *lpszDst, const WORD wCode);
+//static       const DWORD PutAlphanumericHankakuChar(TCHAR *lpszDst, const WORD wCode);
 static const DWORD PutHiraganaChar(TCHAR *lpszDst, const WORD wCode);
 static const DWORD PutKatakanaChar(TCHAR *lpszDst, const WORD wCode);
 static const DWORD PutJisKatakanaChar(TCHAR *lpszDst, const WORD wCode);
@@ -64,11 +65,9 @@ static       void SingleShiftGL(const BYTE byIndexG);
 static const bool DesignationGSET(const BYTE byIndexG, const BYTE byCode);
 static const bool DesignationDRCS(const BYTE byIndexG, const BYTE byCode);
 
-static WORD convertjis(DWORD);
-
 static const bool abCharSizeTable[] =
 {
-       false,  // CODE_UNKNOWN                                 ÉÔÌÀ¤Ê¥°¥é¥Õ¥£¥Ã¥¯¥»¥Ã¥È(ÈóÂбþ)
+       false,  // CODE_UNKNOWN                                 不明なグラフィックセット(非対応)
        true,   // CODE_KANJI                                   Kanji
        false,  // CODE_ALPHANUMERIC                    Alphanumeric
        false,  // CODE_HIRAGANA                                Hiragana
@@ -86,6 +85,57 @@ static const bool abCharSizeTable[] =
        true    // CODE_ADDITIONAL_SYMBOLS              Additional symbols
 };
 
+typedef enum{
+       STR_SMALL = 0,  //SSZ
+       STR_MEDIUM,             //MSZ
+       STR_NORMAL,             //NSZ
+       STR_MICRO,              //SZX 0x60
+       STR_HIGH_W,             //SZX 0x41
+       STR_WIDTH_W,    //SZX 0x44
+       STR_W,                  //SZX 0x45
+       STR_SPECIAL_1,  //SZX 0x6B
+       STR_SPECIAL_2,  //SZX 0x64
+} STRING_SIZE;
+
+STRING_SIZE m_emStrSize;
+
+bool IsSmallCharMode(void)
+{
+       bool bRet = false;
+       switch(m_emStrSize){
+               case STR_SMALL:
+                       bRet = true;
+                       break;
+               case STR_MEDIUM:
+                       bRet = true;
+                       break;
+               case STR_NORMAL:
+                       bRet = false;
+                       break;
+               case STR_MICRO:
+                       bRet = true;
+                       break;
+               case STR_HIGH_W:
+                       bRet = false;
+                       break;
+               case STR_WIDTH_W:
+                       bRet = false;
+                       break;
+               case STR_W:
+                       bRet = false;
+                       break;
+               case STR_SPECIAL_1:
+                       bRet = false;
+                       break;
+               case STR_SPECIAL_2:
+                       bRet = false;
+                       break;
+               default:
+                       break;
+       }
+       return bRet;
+}
+
 int AribToString(
        char *lpszDst, 
        const char *pSrcData, 
@@ -104,7 +154,7 @@ const DWORD AribToStringInternal(TCHAR *lpszDst,
        DWORD dwDstLen = 0UL;
        int   dwSrcData;
   
-       // ¾õÂÖ½é´üÀßÄê
+       // 状態初期設定
        m_byEscSeqCount = 0U;
        m_pSingleGL = NULL;
 
@@ -116,70 +166,82 @@ const DWORD AribToStringInternal(TCHAR *lpszDst,
        m_pLockingGL = &m_CodeG[0];
        m_pLockingGR = &m_CodeG[2];
 
+       m_emStrSize = STR_NORMAL;
        while(dwSrcPos < dwSrcLen){
                dwSrcData = pSrcData[dwSrcPos] & 0xFF;
 
+               //printf("Arib:pos%d:%d:%s\n",dwSrcPos,dwSrcData,lpszDst);
                if(!m_byEscSeqCount){
       
-                       // GL/GRÎΰè
+                       // GL/GR領域
                        if((dwSrcData >= 0x21U) && (dwSrcData <= 0x7EU)){
-                               // GLÎΰè
+                               // GL領域
                                const CODE_SET CurCodeSet = (m_pSingleGL)? *m_pSingleGL : *m_pLockingGL;
                                m_pSingleGL = NULL;
                                
                                if(abCharSizeTable[CurCodeSet]){
-                                       // 2¥Ð¥¤¥È¥³¡¼¥É
+                                       // 2バイトコード
                                        if((dwSrcLen - dwSrcPos) < 2UL)break;
                                        
                                        dwDstLen += ProcessCharCode(&lpszDst[dwDstLen], ((WORD)pSrcData[dwSrcPos + 0] << 8) | (WORD)pSrcData[dwSrcPos + 1], CurCodeSet);
                                        dwSrcPos++;
                                }
                                else{
-                                       // 1¥Ð¥¤¥È¥³¡¼¥É
+                                       // 1バイトコード
                                        dwDstLen += ProcessCharCode(&lpszDst[dwDstLen], (WORD)dwSrcData, CurCodeSet);
                                }
                        }
                        else if((dwSrcData >= 0xA1U) && (dwSrcData <= 0xFEU)){
-                               // GRÎΰè
+                               // GR領域
                                const CODE_SET CurCodeSet = *m_pLockingGR;
                                
                                if(abCharSizeTable[CurCodeSet]){
-                                       // 2¥Ð¥¤¥È¥³¡¼¥É
+                                       // 2バイトコード
                                        if((dwSrcLen - dwSrcPos) < 2UL)break;
                                        
                                        dwDstLen += ProcessCharCode(&lpszDst[dwDstLen], ((WORD)(pSrcData[dwSrcPos + 0] & 0x7FU) << 8) | (WORD)(pSrcData[dwSrcPos + 1] & 0x7FU), CurCodeSet);
                                        dwSrcPos++;
                                }
                                else{
-                                       // 1¥Ð¥¤¥È¥³¡¼¥É
+                                       // 1バイトコード
                                        dwDstLen += ProcessCharCode(&lpszDst[dwDstLen], (WORD)(dwSrcData & 0x7FU), CurCodeSet);
                                }
                        }
                        else{
-                               // À©¸æ¥³¡¼¥É
+                               // 制御コード
                                switch(dwSrcData){
                                case 0x0FU      : LockingShiftGL(0U);                           break;  // LS0
                                case 0x0EU      : LockingShiftGL(1U);                           break;  // LS1
                                case 0x19U      : SingleShiftGL(2U);                            break;  // SS2
                                case 0x1DU      : SingleShiftGL(3U);                            break;  // SS3
                                case 0x1BU      : m_byEscSeqCount = 1U;                         break;  // ESC
+                               case 0x89U      : m_emStrSize = STR_MEDIUM;                     break;  // MSZ
+                               case 0x8AU      : m_emStrSize = STR_NORMAL;                     break;  // NSZ
                                case 0x20U      :
-                               case 0xA0U      : lpszDst[dwDstLen++] = TEXT(' ');      break;  // SP
-                               default         : break;        // ÈóÂбþ
+                               case 0xA0U      :
+                                       //SP 空白
+                                       //空白は文字サイズの影響あり
+                                       if( IsSmallCharMode() == false ){
+                                               strcpy(&lpszDst[dwDstLen], " ");
+                                               dwDstLen += 3U;
+                                       } else {
+                                               lpszDst[dwDstLen++] = TEXT(' ');
+                                       }
+                                       break;
+                               default         : break;        // 非対応
                                }
                        }
                }
                else{
-                       // ¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹½èÍý
+                       // エスケープシーケンス処理
                        ProcessEscapeSeq(dwSrcData);
                }
                
                dwSrcPos++;
        }
 
-       // ½ªÃ¼Ê¸»ú
+       // 終端文字
        lpszDst[dwDstLen] = TEXT('\0');
-
        return dwDstLen;
 }
 
@@ -189,32 +251,39 @@ const DWORD ProcessCharCode(TCHAR *lpszDst, const WORD wCode, const CODE_SET Cod
        case CODE_KANJI :
        case CODE_JIS_KANJI_PLANE_1 :
        case CODE_JIS_KANJI_PLANE_2 :
-               // ´Á»ú¥³¡¼¥É½ÐÎÏ
+               // 漢字コード出力
                return PutKanjiChar(lpszDst, wCode);
 
        case CODE_ALPHANUMERIC :
        case CODE_PROP_ALPHANUMERIC :
-               // ±Ñ¿ô»ú¥³¡¼¥É½ÐÎÏ
+               // 英数字コード出力
+               if( IsSmallCharMode() == false ){
+                       //全角テーブルコード取得
                return PutAlphanumericChar(lpszDst, wCode);
+               } else {
+                       //半角はそのまま出力
+                       lpszDst[0] = wCode;
+                       return 1UL;
+               }
 
        case CODE_HIRAGANA :
        case CODE_PROP_HIRAGANA :
-               // ¤Ò¤é¤¬¤Ê¥³¡¼¥É½ÐÎÏ
+               // ひらがなコード出力
                return PutHiraganaChar(lpszDst, wCode);
 
        case CODE_PROP_KATAKANA :
        case CODE_KATAKANA :
-               // ¥«¥¿¥«¥Ê¥³¡¼¥É½ÐÎÏ
+               // カタカナコード出力
                return PutKatakanaChar(lpszDst, wCode);
 
        case CODE_JIS_X0201_KATAKANA :
-               // JIS¥«¥¿¥«¥Ê¥³¡¼¥É½ÐÎÏ
+               // JISカタカナコード出力
                return PutJisKatakanaChar(lpszDst, wCode);
-#if 1
+
        case CODE_ADDITIONAL_SYMBOLS :
-               // Äɲå·¥ó¥Ü¥ë¥³¡¼¥É½ÐÎÏ
+               // 追加シンボルコード出力
                return PutSymbolsChar(lpszDst, wCode);
-#endif
+
        default :
                return 0UL;
        }
@@ -222,185 +291,232 @@ const DWORD ProcessCharCode(TCHAR *lpszDst, const WORD wCode, const CODE_SET Cod
 
 const DWORD PutKanjiChar(TCHAR *lpszDst, const WORD wCode)
 {
-       // JIS¢ªShift-JIS´Á»ú¥³¡¼¥ÉÊÑ´¹
-       const WORD wShiftJIS = convertjis(wCode);
+       char code[9];
+       char xcode[5];
+       iconv_t cd;
 
-#ifdef _UNICODE
-       // Shift-JIS ¢ª UNICODE
-       const char szShiftJIS[3] = {(char)(wShiftJIS >> 8), (char)(wShiftJIS & 0x00FFU), '\0'};
-       ::MultiByteToWideChar(CP_OEMCP, MB_PRECOMPOSED, szShiftJIS, 2, lpszDst, 2);
+       size_t inbyte = 8;
+       size_t outbyte = sizeof(xcode);
 
-       return 1UL;
-#else
-       // Shift-JIS ¢ª Shift-JIS
-       lpszDst[0] = (wShiftJIS >> 8) & 0xFF;
-       lpszDst[1] = (char)(wShiftJIS & 0x00FFU);
+       memset(xcode, '\0', sizeof(xcode));
   
-       return 2UL;
-#endif
+       const char *fptr;
+       char *tptr;
+
+       code[0] = 0x1BU;
+       code[1] = 0x24U;
+       code[2] = 0x40U;
+       code[3] = wCode >> 8;
+       code[4] = wCode & 0xFF;
+       code[5] = 0x1BU;
+       code[6] = 0x28U;
+       code[7] = 0x4AU;
+       code[8] = '\0';
+
+       cd = iconv_open("UTF-8","ISO-2022-JP");
+
+       fptr = code;
+       tptr = xcode;
+       iconv(cd, &fptr, &inbyte, &tptr, &outbyte);
+
+       iconv_close(cd);
+
+       strncpy(lpszDst, xcode, strlen(xcode));
+
+       return strlen(lpszDst);
 }
 
 const DWORD PutAlphanumericChar(TCHAR *lpszDst, const WORD wCode)
 {
-       // ±Ñ¿ô»úʸ»ú¥³¡¼¥ÉÊÑ´¹
+       // 英数字全角文字コード変換
        static const TCHAR *acAlphanumericTable = 
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡")
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡")
-               TEXT("¡¡¡ª¡É¡ô¡ð¡ó¡õ¡Ç¡Ê¡Ë¡ö¡Ü¡¤¡Ý¡¥¡¿")
-               TEXT("£°£±£²£³£´£µ£¶£·£¸£¹¡§¡¨¡ã¡á¡ä¡©")
-               TEXT("¡÷£Á£Â£Ã£Ä£Å£Æ£Ç£È£É£Ê£Ë£Ì£Í£Î£Ï")
-               TEXT("£Ð£Ñ£Ò£Ó£Ô£Õ£Ö£×£Ø£Ù£Ú¡Î¡ï¡Ï¡°¡²")
-               TEXT("¡¡£á£â£ã£ä£å£æ£ç£è£é£ì£ë£ì£í£î£ï")
-               TEXT("£ð£ñ£ò£ó£ô£õ£ö£÷£ø£ù£ú¡Ð¡Ã¡Ñ¡±¡¡");
+               TEXT("                ")
+               TEXT("                ")
+               TEXT(" !”#$%&’()*+,-./")
+               TEXT("0123456789:;<=>?")
+               TEXT("@ABCDEFGHIJKLMNO")
+               TEXT("PQRSTUVWXYZ[¥]^_")
+               TEXT(" abcdefghijklmno")
+               TEXT("pqrstuvwxyz{|} ̄ ");
 
 #ifdef _UNICODE
-       lpszDst[0] = acAlphanumericTable[wCode];
+       lpszDst[0] = acAlphanumericTableZenkaku[wCode];
 
        return 1UL;
 #else
-       lpszDst[0] = acAlphanumericTable[wCode * 2U + 0U];
-       lpszDst[1] = acAlphanumericTable[wCode * 2U + 1U];
+       lpszDst[0] = acAlphanumericTable[wCode * 3U + 0U];
+       lpszDst[1] = acAlphanumericTable[wCode * 3U + 1U];
+       lpszDst[2] = acAlphanumericTable[wCode * 3U + 2U];
 
-       return 2UL;
+       return 3UL;
 #endif
 }
 
 const DWORD PutHiraganaChar(TCHAR *lpszDst, const WORD wCode)
 {
-       // ¤Ò¤é¤¬¤Êʸ»ú¥³¡¼¥ÉÊÑ´¹
+       // ひらがな文字コード変換
        static const TCHAR *acHiraganaTable = 
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡")
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡")
-               TEXT("¡¡¤¡¤¢¤£¤¤¤¥¤¦¤§¤¨¤©¤ª¤«¤¬¤­¤®¤¯")
-               TEXT("¤°¤±¤²¤³¤´¤µ¤¶¤·¤¸¤¹¤º¤»¤¼¤½¤¾¤¿")
-               TEXT("¤À¤Á¤Â¤Ã¤Ä¤Å¤Æ¤Ç¤È¤É¤Ê¤Ë¤Ì¤Í¤Î¤Ï")
-               TEXT("¤Ð¤Ñ¤Ò¤Ó¤Ô¤Õ¤Ö¤×¤Ø¤Ù¤Ú¤Û¤Ü¤Ý¤Þ¤ß")
-               TEXT("¤à¤á¤â¤ã¤ä¤å¤æ¤ç¤è¤é¤ê¤ë¤ì¤í¤î¤ï")
-               TEXT("¤ð¤ñ¤ò¤ó¡¡¡¡¡¡¡µ¡¶¡¼¡£¡Ö¡×¡¢¡¦¡¡");
+               TEXT("                ")
+               TEXT("                ")
+               TEXT(" ぁあぃいぅうぇえぉおかがきぎく")
+               TEXT("ぐけげこごさざしじすずせぜそぞた")
+               TEXT("だちぢっつづてでとどなにぬねのは")
+               TEXT("ばぱひびぴふぶぷへべぺほぼぽまみ")
+               TEXT("むめもゃやゅゆょよらりるれろゎわ")
+               TEXT("ゐゑをん   ゝゞー。「」、・ ");
        
 #ifdef _UNICODE
        lpszDst[0] = acHiraganaTable[wCode];
 
        return 1UL;
 #else
-       lpszDst[0] = acHiraganaTable[wCode * 2U + 0U];
-       lpszDst[1] = acHiraganaTable[wCode * 2U + 1U];
+       lpszDst[0] = acHiraganaTable[wCode * 3U + 0U];
+       lpszDst[1] = acHiraganaTable[wCode * 3U + 1U];
+       lpszDst[2] = acHiraganaTable[wCode * 3U + 2U];
 
-       return 2UL;
+       return 3UL;
 #endif
 }
 
 const DWORD PutKatakanaChar(TCHAR *lpszDst, const WORD wCode)
 {
-       // ¥«¥¿¥«¥Ê±Ñ¿ô»úʸ»ú¥³¡¼¥ÉÊÑ´¹
+       // カタカナ英数字文字コード変換
        static const TCHAR *acKatakanaTable = 
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡")
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡")
-               TEXT("¡¡¥¡¥¢¥£¥¤¥¥¥¦¥§¥¨¥©¥ª¥«¥¬¥­¥®¥¯")
-               TEXT("¥°¥±¥²¥³¥´¥µ¥¶¥·¥¸¥¹¥º¥»¥¼¥½¥¾¥¿")
-               TEXT("¥À¥Á¥Â¥Ã¥Ä¥Å¥Æ¥Ç¥È¥É¥Ê¥Ë¥Ì¥Í¥Î¥Ï")
-               TEXT("¥Ð¥Ñ¥Ò¥Ó¥Ô¥Õ¥Ö¥×¥Ø¥Ù¥Ú¥Û¥Ü¥Ý¥Þ¥ß")
-               TEXT("¥à¥á¥â¥ã¥ä¥å¥æ¥ç¥è¥é¥ê¥ë¥ì¥í¥î¥ï")
-               TEXT("¥ð¥ñ¥ò¥ó¥ô¥õ¥ö¡³¡´¡¼¡£¡Ö¡×¡¢¡¦¡¡");
+               TEXT("                ")
+               TEXT("                ")
+               TEXT("ã\80\80ã\82¡ã\82¢ã\82£ã\82¤ã\82¥ã\82¦ã\82§ã\82¨ã\82©ã\82ªã\82«ã\82¬ã\82­ã\82®ã\82¯")
+               TEXT("ã\82°ã\82±ã\82²ã\82³ã\82´ã\82µã\82¶ã\82·ã\82¸ã\82¹ã\82ºã\82»ã\82¼ã\82½ã\82¾ã\82¿")
+               TEXT("ダチヂッツヅテデトドナニヌネノハ")
+               TEXT("バパヒビピフブプヘベペホボポマミ")
+               TEXT("ムメモャヤュユョヨラリルレロヮワ")
+               TEXT("ヰヱヲンヴヵヶヽヾー。「」、・ ");
        
 #ifdef _UNICODE
        lpszDst[0] = acKatakanaTable[wCode];
 
        return 1UL;
 #else
-       lpszDst[0] = acKatakanaTable[wCode * 2U + 0U];
-       lpszDst[1] = acKatakanaTable[wCode * 2U + 1U];
+       lpszDst[0] = acKatakanaTable[wCode * 3U + 0U];
+       lpszDst[1] = acKatakanaTable[wCode * 3U + 1U];
+       lpszDst[2] = acKatakanaTable[wCode * 3U + 2U];
 
-       return 2UL;
+       return 3UL;
 #endif
 }
 
 const DWORD PutJisKatakanaChar(TCHAR *lpszDst, const WORD wCode)
 {
-       // JIS¥«¥¿¥«¥Êʸ»ú¥³¡¼¥ÉÊÑ´¹
+       // JISカタカナ文字コード変換
        static const TCHAR *acJisKatakanaTable = 
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡")
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡")
-               TEXT("¡¡¡£¡Ö¡×¡¢¡¦¥ò¥¡¥£¥¥¥§¥©¥ã¥å¥ç¥Ã")
-               TEXT("¡¼¥¢¥¤¥¦¥¨¥ª¥«¥­¥¯¥±¥³¥µ¥·¥¹¥»¥½")
-               TEXT("¥¿¥Á¥Ä¥Æ¥È¥Ê¥Ë¥Ì¥Í¥Î¥Ï¥Ò¥Õ¥Ø¥Û¥Þ")
-               TEXT("¥ß¥à¥á¥â¥ä¥æ¥è¥é¥ê¥ë¥ì¥í¥ï¥ó¡«¡¬")
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡")
-               TEXT("¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡");
+               TEXT("                ")
+               TEXT("                ")
+               TEXT(" 。「」、・ヲァィゥェォャュョッ")
+               TEXT("ã\83¼ã\82¢ã\82¤ã\82¦ã\82¨ã\82ªã\82«ã\82­ã\82¯ã\82±ã\82³ã\82µã\82·ã\82¹ã\82»ã\82½")
+               TEXT("タチツテトナニヌネノハヒフヘホマ")
+               TEXT("ミムメモヤユヨラリルレロワン゛゜")
+               TEXT("                ")
+               TEXT("                ");
        
 #ifdef _UNICODE
        lpszDst[0] = acJisKatakanaTable[wCode];
 
        return 1UL;
 #else
-       lpszDst[0] = acJisKatakanaTable[wCode * 2U + 0U];
-       lpszDst[1] = acJisKatakanaTable[wCode * 2U + 1U];
+       lpszDst[0] = acJisKatakanaTable[wCode * 3U + 0U];
+       lpszDst[1] = acJisKatakanaTable[wCode * 3U + 1U];
+       lpszDst[2] = acJisKatakanaTable[wCode * 3U + 2U];
 
-       return 2UL;
+       return 3UL;
 #endif
 }
 
 const DWORD PutSymbolsChar(TCHAR *lpszDst, const WORD wCode)
 {
-       // Äɲå·¥ó¥Ü¥ëʸ»ú¥³¡¼¥ÉÊÑ´¹(¤È¤ê¤¢¤¨¤ºÉ¬Íפ½¤¦¤Ê¤â¤Î¤À¤±)
+       // 追加シンボル文字コード変換(とりあえず必要そうなものだけ)
        static const TCHAR *aszSymbolsTable1[] =
                {
-                       _T("[HV]"),             _T("[SD]"),             _T("[£Ð]"),             _T("[£×]"),             _T("[MV]"),             _T("[¼ê]"),             _T("[»ú]"),             _T("[ÁÐ]"),                     // 0x7A50 - 0x7A57      90/48 - 90/55
-                       _T("[¥Ç]"),             _T("[£Ó]"),             _T("[Æó]"),             _T("[¿]"),             _T("[²ò]"),             _T("[SS]"),             _T("[£Â]"),             _T("[£Î]"),                     // 0x7A58 - 0x7A5F      90/56 - 90/63
-                       _T("¢£"),               _T("¡ü"),               _T("[Å·]"),             _T("[¸ò]"),             _T("[±Ç]"),             _T("[̵]"),             _T("[ÎÁ]"),             _T("[ǯÎðÀ©¸Â]"),       // 0x7A60 - 0x7A67      90/64 - 90/71
-                       _T("[Á°]"),             _T("[¸å]"),             _T("[ºÆ]"),             _T("[¿·]"),             _T("[½é]"),             _T("[½ª]"),             _T("[À¸]"),             _T("[ÈÎ]"),                     // 0x7A68 - 0x7A6F      90/72 - 90/79
-                       _T("[À¼]"),             _T("[¿á]"),             _T("[PPV]"),    _T("(Èë)"),             _T("¤Û¤«")                                                                                                                      // 0x7A70 - 0x7A74      90/80 - 90/84
+                       _T("[HV]"),             _T("[SD]"),             _T("[P]"),            _T("[W]"),            _T("[MV]"),             _T("[手]"),            _T("[字]"),            _T("[双]"),                    // 0x7A50 - 0x7A57      90/48 - 90/55
+                       _T("[デ]"),            _T("[S]"),            _T("[二]"),            _T("[多]"),            _T("[解]"),            _T("[SS]"),             _T("[B]"),            _T("[N]"),                    // 0x7A58 - 0x7A5F      90/56 - 90/63
+                       _T("■"),              _T("●"),              _T("[天]"),            _T("[交]"),            _T("[映]"),            _T("[無]"),            _T("[料]"),            _T("[年齢制限]"),   // 0x7A60 - 0x7A67      90/64 - 90/71
+                       _T("[前]"),            _T("[後]"),            _T("[再]"),            _T("[新]"),            _T("[初]"),            _T("[終]"),            _T("[生]"),            _T("[販]"),                    // 0x7A68 - 0x7A6F      90/72 - 90/79
+                       _T("[声]"),            _T("[吹]"),            _T("[PPV]"),    _T("(秘)"),            _T("ほか")                                                                                                                    // 0x7A70 - 0x7A74      90/80 - 90/84
                };
 
        static const TCHAR *aszSymbolsTable2[] =
                {
-                       _T("¢ª"),               _T("¢«"),               _T("¢¬"),               _T("¢­"),               _T("¡ü"),               _T("¡û"),               _T("ǯ"),               _T("·î"),                       // 0x7C21 - 0x7C28      92/01 - 92/08
-                       _T("Æü"),               _T("±ß"),               _T("­Ö"),               _T("ΩÊý£í"),   _T("­Ñ"),               _T("Ê¿Êý­Ñ"),   _T("ΩÊý­Ñ"),   _T("£°."),                      // 0x7C29 - 0x7C30      92/09 - 92/16
-                       _T("£±."),              _T("£²."),              _T("£³."),              _T("£´."),              _T("£µ."),              _T("£¶."),              _T("£·."),              _T("£¸."),                      // 0x7C31 - 0x7C38      92/17 - 92/24
-                       _T("£¹."),              _T("»á"),               _T("Éû"),               _T("¸µ"),               _T("¸Î"),               _T("Á°"),               _T("¿·"),               _T("£°,"),                      // 0x7C39 - 0x7C40      92/25 - 92/32
-                       _T("£±,"),              _T("£²,"),              _T("£³,"),              _T("£´,"),              _T("£µ,"),              _T("£¶,"),              _T("£·,"),              _T("£¸,"),                      // 0x7C41 - 0x7C48      92/33 - 92/40
-                       _T("£¹,"),              _T("(¼Ò)"),             _T("(ºâ)"),             _T("(Í­)"),             _T("(³ô)"),             _T("(Âå)"),             _T("(Ìä)"),             _T("¡ä"),                       // 0x7C49 - 0x7C50      92/41 - 92/48
-                       _T("¡ã"),               _T("¡Ú"),               _T("¡Û"),               _T("¡þ"),               _T("^2"),               _T("^3"),               _T("(CD)"),             _T("(vn)"),                     // 0x7C51 - 0x7C58      92/49 - 92/56
+                       _T("→"),              _T("←"),              _T("↑"),              _T("↓"),              _T("●"),              _T("○"),              _T("年"),              _T("月"),                      // 0x7C21 - 0x7C28      92/01 - 92/08
+                       _T("日"),              _T("円"),              _T("㎡"),              _T("㎥"),              _T("㎝"),              _T("㎠"),              _T("㎤"),              _T("0."),                     // 0x7C29 - 0x7C30      92/09 - 92/16
+                       _T("1."),             _T("2."),             _T("3."),             _T("4."),             _T("5."),             _T("6."),             _T("7."),             _T("8."),                     // 0x7C31 - 0x7C38      92/17 - 92/24
+                       _T("9."),             _T("氏"),              _T("副"),              _T("元"),              _T("故"),              _T("前"),              _T("新"),              _T("0,"),                     // 0x7C39 - 0x7C40      92/25 - 92/32
+                       _T("1,"),             _T("2,"),             _T("3,"),             _T("4,"),             _T("5,"),             _T("6,"),             _T("7,"),             _T("8,"),                     // 0x7C41 - 0x7C48      92/33 - 92/40
+                       _T("9,"),             _T("(社)"),            _T("(財)"),            _T("(有)"),            _T("(株)"),            _T("(代)"),            _T("(問)"),            _T("▶"),                      // 0x7C49 - 0x7C50      92/41 - 92/48
+                       _T("◀"),              _T("〖"),              _T("〗"),              _T("⟐"),              _T("^2"),               _T("^3"),               _T("(CD)"),             _T("(vn)"),                     // 0x7C51 - 0x7C58      92/49 - 92/56
                        _T("(ob)"),             _T("(cb)"),             _T("(ce"),              _T("mb)"),              _T("(hp)"),             _T("(br)"),             _T("(p)"),              _T("(s)"),                      // 0x7C59 - 0x7C60      92/57 - 92/64
                        _T("(ms)"),             _T("(t)"),              _T("(bs)"),             _T("(b)"),              _T("(tb)"),             _T("(tp)"),             _T("(ds)"),             _T("(ag)"),                     // 0x7C61 - 0x7C68      92/65 - 92/72
                        _T("(eg)"),             _T("(vo)"),             _T("(fl)"),             _T("(ke"),              _T("y)"),               _T("(sa"),              _T("x)"),               _T("(sy"),                      // 0x7C69 - 0x7C70      92/73 - 92/80
-                       _T("n)"),               _T("(or"),              _T("g)"),               _T("(pe"),              _T("r)"),               _T("(R)"),              _T("(C)"),              _T("(ä·)"),                     // 0x7C71 - 0x7C78      92/81 - 92/88
-                       _T("DJ"),               _T("[±é]"),             _T("Fax")                                                                                                                                                                                       // 0x7C79 - 0x7C7B      92/89 - 92/91
+                       _T("n)"),               _T("(or"),              _T("g)"),               _T("(pe"),              _T("r)"),               _T("(R)"),              _T("(C)"),              _T("(箏)"),                    // 0x7C71 - 0x7C78      92/81 - 92/88
+                       _T("DJ"),               _T("[演]"),            _T("Fax")                                                                                                                                                                                       // 0x7C79 - 0x7C7B      92/89 - 92/91
                };
 
        static const TCHAR *aszSymbolsTable3[] =
                {
-                       _T("(·î)"),             _T("(²Ð)"),             _T("(¿å)"),             _T("(ÌÚ)"),             _T("(¶â)"),             _T("(ÅÚ)"),             _T("(Æü)"),             _T("(½Ë)"),                     // 0x7D21 - 0x7D28      93/01 - 93/08
-                       _T("­í"),               _T("­î"),               _T("­ï"),               _T("­ß"),               _T("­â"),               _T("­ä"),               _T("(¢©)"),             _T("¡û"),                       // 0x7D29 - 0x7D30      93/09 - 93/16
-                       _T("¡ÌËÜ¡Í"),   _T("¡Ì»°¡Í"),   _T("¡ÌÆó¡Í"),   _T("¡Ì°Â¡Í"),   _T("¡ÌÅÀ¡Í"),   _T("¡ÌÂÇ¡Í"),   _T("¡ÌÅð¡Í"),   _T("¡Ì¾¡¡Í"),           // 0x7D31 - 0x7D38      93/17 - 93/24
-                       _T("¡ÌÇÔ¡Í"),   _T("¡Ì£Ó¡Í"),   _T("¡ÎÅê¡Ï"),   _T("¡ÎÊá¡Ï"),   _T("¡Î°ì¡Ï"),   _T("¡ÎÆó¡Ï"),   _T("¡Î»°¡Ï"),   _T("¡ÎÍ·¡Ï"),           // 0x7D39 - 0x7D40      93/25 - 93/32
-                       _T("¡Îº¸¡Ï"),   _T("¡ÎÃæ¡Ï"),   _T("¡Î±¦¡Ï"),   _T("¡Î»Ø¡Ï"),   _T("¡ÎÁö¡Ï"),   _T("¡ÎÂÇ¡Ï"),   _T("­È"),               _T("­Ô"),                       // 0x7D41 - 0x7D48      93/33 - 93/40
-                       _T("Hz"),               _T("ha"),               _T("km"),               _T("Ê¿Êýkm"),   _T("hPa"),              _T("¡¦"),               _T("¡¦"),               _T("1/2"),                      // 0x7D49 - 0x7D50      93/41 - 93/48
+                       _T("㈪"),              _T("㈫"),              _T("㈬"),              _T("㈭"),              _T("㈮"),              _T("㈯"),              _T("㈰"),              _T("㈷"),                      // 0x7D21 - 0x7D28      93/01 - 93/08
+                       _T("㍾"),              _T("㍽"),              _T("㍼"),              _T("㍻"),              _T("№"),              _T("℡"),              _T("〶"),              _T("○"),                      // 0x7D29 - 0x7D30      93/09 - 93/16
+                       _T("〔本〕"),        _T("〔三〕"),        _T("〔二〕"),        _T("〔安〕"),        _T("〔点〕"),        _T("〔打〕"),        _T("〔盗〕"),        _T("〔勝〕"),                // 0x7D31 - 0x7D38      93/17 - 93/24
+                       _T("〔敗〕"),        _T("〔S〕"),        _T("[投]"),        _T("[捕]"),        _T("[一]"),        _T("[二]"),        _T("[三]"),        _T("[遊]"),                // 0x7D39 - 0x7D40      93/25 - 93/32
+                       _T("[左]"),        _T("[中]"),        _T("[右]"),        _T("[指]"),        _T("[走]"),        _T("[打]"),        _T("㍑"),              _T("㎏"),                      // 0x7D41 - 0x7D48      93/33 - 93/40
+                       _T("㎐"),              _T("ha"),               _T("㎞"),              _T("㎢"),              _T("㍱"),              _T("・"),              _T("・"),              _T("1/2"),                      // 0x7D49 - 0x7D50      93/41 - 93/48
                        _T("0/3"),              _T("1/3"),              _T("2/3"),              _T("1/4"),              _T("3/4"),              _T("1/5"),              _T("2/5"),              _T("3/5"),                      // 0x7D51 - 0x7D58      93/49 - 93/56
-                       _T("4/5"),              _T("1/6"),              _T("5/6"),              _T("1/7"),              _T("1/8"),              _T("1/9"),              _T("1/10"),             _T("À²¤ì"),                     // 0x7D59 - 0x7D60      93/57 - 93/64
-                       _T("ÆÞ¤ê"),             _T("±«"),               _T("Àã"),               _T("¢¤"),               _T("¢¥"),               _T("¢¦"),               _T("¢§"),               _T("¢¡"),                       // 0x7D61 - 0x7D68      93/65 - 93/72
-                       _T("¡¦"),               _T("¡¦"),               _T("¡¦"),               _T("¡þ"),               _T("¡ý"),               _T("!!"),               _T("!?"),               _T("ÆÞ/À²"),            // 0x7D69 - 0x7D70      93/73 - 93/80
-                       _T("±«"),               _T("±«"),               _T("Àã"),               _T("ÂçÀã"),             _T("Íë"),               _T("Í뱫"),             _T("¡¡"),               _T("¡¦"),                       // 0x7D71 - 0x7D78      93/81 - 93/88
-                       _T("¡¦"),               _T("¢ö"),               _T("­ä")                                                                                                                                                                                        // 0x7D79 - 0x7D7B      93/89 - 93/91
+                       _T("4/5"),              _T("1/6"),              _T("5/6"),              _T("1/7"),              _T("1/8"),              _T("1/9"),              _T("1/10"),             _T("☀"),                      // 0x7D59 - 0x7D60      93/57 - 93/64
+                       _T("☁"),              _T("☂"),              _T("☃"),              _T("☖"),              _T("☗"),              _T("▽"),              _T("▼"),              _T("♦"),                      // 0x7D61 - 0x7D68      93/65 - 93/72
+                       _T("♥"),              _T("♣"),              _T("♠"),              _T("⌺"),              _T("⦿"),              _T("‼"),              _T("⁉"),              _T("(曇/晴)"),                // 0x7D69 - 0x7D70      93/73 - 93/80
+                       _T("☔"),              _T("(雨)"),            _T("(雪)"),            _T("(大雪)"), _T("⚡"),              _T("(雷雨)"), _T(" "),              _T("・"),                      // 0x7D71 - 0x7D78      93/81 - 93/88
+                       _T("・"),              _T("♬"),              _T("☎")                                                                                                                                                                                       // 0x7D79 - 0x7D7B      93/89 - 93/91
                };
 
        static const TCHAR *aszSymbolsTable4[] =
                {
-                       _T("­µ"),               _T("­¶"),               _T("­·"),               _T("­¸"),               _T("­¹"),               _T("­º"),               _T("­»"),               _T("­¼"),                       // 0x7E21 - 0x7E28      94/01 - 94/08
-                       _T("­½"),               _T("­¾"),               _T("XI"),               _T("X­¶"),              _T("­±"),               _T("­²"),               _T("­³"),               _T("­´"),                       // 0x7E29 - 0x7E30      94/09 - 94/16
-                       _T("(1)"),              _T("(2)"),              _T("(3)"),              _T("(4)"),              _T("(5)"),              _T("(6)"),              _T("(7)"),              _T("(8)"),                      // 0x7E31 - 0x7E38      94/17 - 94/24
-                       _T("(9)"),              _T("(10)"),             _T("(11)"),             _T("(12)"),             _T("(21)"),             _T("(22)"),             _T("(23)"),             _T("(24)"),                     // 0x7E39 - 0x7E40      94/25 - 94/32
+                       _T("Ⅰ"),              _T("Ⅱ"),              _T("Ⅲ"),              _T("Ⅳ"),              _T("Ⅴ"),              _T("Ⅵ"),              _T("Ⅶ"),              _T("Ⅷ"),                      // 0x7E21 - 0x7E28      94/01 - 94/08
+                       _T("Ⅸ"),              _T("Ⅹ"),              _T("Ⅺ"),              _T("Ⅻ"),              _T("⑰"),              _T("⑱"),              _T("⑲"),              _T("⑳"),                      // 0x7E29 - 0x7E30      94/09 - 94/16
+                       _T("⑴"),              _T("⑵"),              _T("⑶"),              _T("⑷"),              _T("⑸"),              _T("⑹"),              _T("⑺"),              _T("⑻"),                      // 0x7E31 - 0x7E38      94/17 - 94/24
+                       _T("⑼"),              _T("⑽"),              _T("⑾"),              _T("⑿"),              _T("㉑"),              _T("㉒"),              _T("㉓"),              _T("㉔"),                      // 0x7E39 - 0x7E40      94/25 - 94/32
                        _T("(A)"),              _T("(B)"),              _T("(C)"),              _T("(D)"),              _T("(E)"),              _T("(F)"),              _T("(G)"),              _T("(H)"),                      // 0x7E41 - 0x7E48      94/33 - 94/40
                        _T("(I)"),              _T("(J)"),              _T("(K)"),              _T("(L)"),              _T("(M)"),              _T("(N)"),              _T("(O)"),              _T("(P)"),                      // 0x7E49 - 0x7E50      94/41 - 94/48
                        _T("(Q)"),              _T("(R)"),              _T("(S)"),              _T("(T)"),              _T("(U)"),              _T("(V)"),              _T("(W)"),              _T("(X)"),                      // 0x7E51 - 0x7E58      94/49 - 94/56
-                       _T("(Y)"),              _T("(Z)"),              _T("(25)"),             _T("(26)"),             _T("(27)"),             _T("(28)"),             _T("(29)"),             _T("(30)"),                     // 0x7E59 - 0x7E60      94/57 - 94/64
-                       _T("­¡"),               _T("­¢"),               _T("­£"),               _T("­¤"),               _T("­¥"),               _T("­¦"),               _T("­§"),               _T("­¨"),                       // 0x7E61 - 0x7E68      94/65 - 94/72
-                       _T("­©"),               _T("­ª"),               _T("­«"),               _T("­¬"),               _T("­­"),               _T("­®"),               _T("­¯"),               _T("­°"),                       // 0x7E69 - 0x7E70      94/73 - 94/80
-                       _T("­¡"),               _T("­¢"),               _T("­£"),               _T("­¤"),               _T("­¥"),               _T("­¦"),               _T("­§"),               _T("­¨"),                       // 0x7E71 - 0x7E78      94/81 - 94/88
-                       _T("­©"),               _T("­ª"),               _T("­«"),               _T("­¬"),               _T("(31)")                                                                                                                      // 0x7E79 - 0x7E7D      94/89 - 94/93
+                       _T("(Y)"),              _T("(Z)"),              _T("㉕"),              _T("㉖"),              _T("㉗"),              _T("㉘"),              _T("㉙"),              _T("㉚"),                      // 0x7E59 - 0x7E60      94/57 - 94/64
+                       _T("①"),              _T("②"),              _T("③"),              _T("④"),              _T("⑤"),              _T("⑥"),              _T("⑦"),              _T("⑧"),                      // 0x7E61 - 0x7E68      94/65 - 94/72
+                       _T("⑨"),              _T("⑩"),              _T("⑪"),              _T("⑫"),              _T("⑬"),              _T("⑭"),              _T("⑮"),              _T("⑯"),                      // 0x7E69 - 0x7E70      94/73 - 94/80
+                       _T("❶"),              _T("❷"),              _T("❸"),              _T("❹"),              _T("❺"),              _T("❻"),              _T("❼"),              _T("❽"),                      // 0x7E71 - 0x7E78      94/81 - 94/88
+                       _T("❾"),              _T("❿"),              _T("⓫"),              _T("⓬"),              _T("㉛")                                                                                                                       // 0x7E79 - 0x7E7D      94/89 - 94/93
                };
 
-       // ¥·¥ó¥Ü¥ë¤òÊÑ´¹¤¹¤ë
+       static const TCHAR *aszSymbolsTable5[] =
+               {
+                       _T("㐂"),              _T("亭"),              _T("份"),              _T("仿"),              _T("侚"),              _T("俉"),              _T("傜"),              _T("儞"),                      // 0x7521 - 0x7528      85/01 - 85/08
+                       _T("冼"),              _T("㔟"),              _T("匇"),              _T("卡"),              _T("卬"),              _T("詹"),              _T("吉"),              _T("呍"),                      // 0x7529 - 0x7530      85/09 - 85/16
+                       _T("咖"),              _T("咜"),              _T("咩"),              _T("唎"),              _T("啊"),              _T("噲"),              _T("囤"),              _T("圳"),                      // 0x7531 - 0x7538      85/17 - 85/24
+                       _T("圴"),              _T("塚"),              _T("墀"),              _T("姤"),              _T("娣"),              _T("婕"),              _T("寬"),              _T("﨑"),                      // 0x7539 - 0x7540      85/25 - 85/32
+                       _T("㟢"),              _T("庬"),              _T("弴"),              _T("彅"),              _T("德"),              _T("怗"),              _T("恵"),              _T("愰"),                      // 0x7541 - 0x7548      85/33 - 85/40
+                       _T("昤"),              _T("曈"),              _T("曙"),              _T("曺"),              _T("曻"),              _T("桒"),              _T("・"),              _T("椑"),                      // 0x7549 - 0x7550      85/41 - 85/48
+                       _T("椻"),              _T("橅"),              _T("檑"),              _T("櫛"),              _T("・"),              _T("・"),              _T("・"),              _T("毱"),                      // 0x7551 - 0x7558      85/49 - 85/56
+                       _T("泠"),              _T("洮"),              _T("海"),              _T("涿"),              _T("淊"),              _T("淸"),              _T("渚"),              _T("潞"),                      // 0x7559 - 0x7560      85/57 - 85/64
+                       _T("濹"),              _T("灤"),              _T("・"),              _T("・"),              _T("煇"),              _T("燁"),              _T("爀"),              _T("玟"),                      // 0x7561 - 0x7568      85/65 - 85/72
+                       _T("・"),              _T("珉"),              _T("珖"),              _T("琛"),              _T("琡"),              _T("琢"),              _T("琦"),              _T("琪"),                      // 0x7569 - 0x7570      85/73 - 85/80
+                       _T("琬"),              _T("琹"),              _T("瑋"),              _T("㻚"),              _T("畵"),              _T("疁"),              _T("睲"),              _T("䂓"),                      // 0x7571 - 0x7578      85/81 - 85/88
+                       _T("磈"),              _T("磠"),              _T("祇"),              _T("禮"),              _T("・"),              _T("・")                                                                                       // 0x7579 - 0x757E      85/89 - 85/94
+               };
+
+       static const TCHAR *aszSymbolsTable6[] =
+               {
+                       _T("・"),              _T("秚"),              _T("稞"),              _T("筿"),              _T("簱"),              _T("䉤"),              _T("綋"),              _T("羡"),                      // 0x7621 - 0x7628      86/01 - 86/08
+                       _T("脘"),              _T("脺"),              _T("・"),              _T("芮"),              _T("葛"),              _T("蓜"),              _T("蓬"),              _T("蕙"),                      // 0x7629 - 0x7630      86/09 - 86/16
+                       _T("藎"),              _T("蝕"),              _T("蟬"),              _T("蠋"),              _T("裵"),              _T("角"),              _T("諶"),              _T("跎"),                      // 0x7631 - 0x7638      86/17 - 86/24
+                       _T("辻"),              _T("迶"),              _T("郝"),              _T("鄧"),              _T("鄭"),              _T("醲"),              _T("鈳"),              _T("銈"),                      // 0x7639 - 0x7640      86/25 - 86/32
+                       _T("錡"),              _T("鍈"),              _T("閒"),              _T("雞"),              _T("餃"),              _T("饀"),              _T("髙"),              _T("鯖"),                      // 0x7641 - 0x7648      86/33 - 86/40
+                       _T("鷗"),              _T("麴"),              _T("麵")                                                                                                                                                                                       // 0x7649 - 0x764B      86/41 - 86/43
+               };
+
+       // シンボルを変換する
        if((wCode >= 0x7A50U) && (wCode <= 0x7A74U)){
                strcpy(lpszDst, aszSymbolsTable1[wCode - 0x7A50U]);
        }
@@ -413,8 +529,14 @@ const DWORD PutSymbolsChar(TCHAR *lpszDst, const WORD wCode)
        else if((wCode >= 0x7E21U) && (wCode <= 0x7E7DU)){
                strcpy(lpszDst, aszSymbolsTable4[wCode - 0x7E21U]);
        }
+       else if((wCode >= 0x7521U) && (wCode <= 0x757EU)){
+               strcpy(lpszDst, aszSymbolsTable5[wCode - 0x7521U]);
+       }
+       else if((wCode >= 0x7621U) && (wCode <= 0x764BU)){
+               strcpy(lpszDst, aszSymbolsTable6[wCode - 0x7621U]);
+       }
        else{
-               strcpy(lpszDst, TEXT("¡¦"));
+               strcpy(lpszDst, TEXT(""));
        }
 
        return strlen(lpszDst);
@@ -422,9 +544,9 @@ const DWORD PutSymbolsChar(TCHAR *lpszDst, const WORD wCode)
 
 void ProcessEscapeSeq(const BYTE byCode)
 {
-       // ¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹½èÍý
+       // エスケープシーケンス処理
        switch(m_byEscSeqCount){
-               // 1¥Ð¥¤¥ÈÌÜ
+               // 1バイト目
        case 1U :
                switch(byCode){
                        // Invocation of code elements
@@ -440,11 +562,11 @@ void ProcessEscapeSeq(const BYTE byCode)
                case 0x29U      : m_byEscSeqIndex = 1U;         break;
                case 0x2AU      : m_byEscSeqIndex = 2U;         break;
                case 0x2BU      : m_byEscSeqIndex = 3U;         break;
-               default         : m_byEscSeqCount = 0U;         return;         // ¥¨¥é¡¼
+               default         : m_byEscSeqCount = 0U;         return;         // ã\82¨ã\83©ã\83¼
                }
                break;
 
-               // 2¥Ð¥¤¥ÈÌÜ
+               // 2バイト目
        case 2U :
                if(DesignationGSET(m_byEscSeqIndex, byCode)){
                        m_byEscSeqCount = 0U;
@@ -457,11 +579,11 @@ void ProcessEscapeSeq(const BYTE byCode)
                case 0x29       : m_bIsEscSeqDrcs = false;      m_byEscSeqIndex = 1U;   break;
                case 0x2A       : m_bIsEscSeqDrcs = false;      m_byEscSeqIndex = 2U;   break;
                case 0x2B       : m_bIsEscSeqDrcs = false;      m_byEscSeqIndex = 3U;   break;
-               default         : m_byEscSeqCount = 0U;         return;         // ¥¨¥é¡¼
+               default         : m_byEscSeqCount = 0U;         return;         // ã\82¨ã\83©ã\83¼
                }
                break;
 
-               // 3¥Ð¥¤¥ÈÌÜ
+               // 3バイト目
        case 3U :
                if(!m_bIsEscSeqDrcs){
                        if(DesignationGSET(m_byEscSeqIndex, byCode)){
@@ -480,13 +602,13 @@ void ProcessEscapeSeq(const BYTE byCode)
                        m_bIsEscSeqDrcs = true;
                }
                else{
-                       // ¥¨¥é¡¼
+                       // ã\82¨ã\83©ã\83¼
                        m_byEscSeqCount = 0U;
                        return;
                }
                break;
 
-               // 4¥Ð¥¤¥ÈÌÜ
+               // 4バイト目
        case 4U :
                DesignationDRCS(m_byEscSeqIndex, byCode);
                m_byEscSeqCount = 0U;
@@ -516,7 +638,7 @@ void SingleShiftGL(const BYTE byIndexG)
 
 const bool DesignationGSET(const BYTE byIndexG, const BYTE byCode)
 {
-       // G¤Î¥°¥é¥Õ¥£¥Ã¥¯¥»¥Ã¥È¤ò³ä¤êÅö¤Æ¤ë
+       // Gのグラフィックセットを割り当てる
        switch(byCode){
        case 0x42U      : m_CodeG[byIndexG] = CODE_KANJI;                               return true;    // Kanji
        case 0x4AU      : m_CodeG[byIndexG] = CODE_ALPHANUMERIC;                return true;    // Alphanumeric
@@ -533,13 +655,13 @@ const bool DesignationGSET(const BYTE byIndexG, const BYTE byCode)
        case 0x39U      : m_CodeG[byIndexG] = CODE_JIS_KANJI_PLANE_1;   return true;    // JIS compatible Kanji Plane 1
        case 0x3AU      : m_CodeG[byIndexG] = CODE_JIS_KANJI_PLANE_2;   return true;    // JIS compatible Kanji Plane 2
        case 0x3BU      : m_CodeG[byIndexG] = CODE_ADDITIONAL_SYMBOLS;  return true;    // Additional symbols
-       default         : return false;         // ÉÔÌÀ¤Ê¥°¥é¥Õ¥£¥Ã¥¯¥»¥Ã¥È
+       default         : return false;         // 不明なグラフィックセット
        }
 }
 
 const bool DesignationDRCS(const BYTE byIndexG, const BYTE byCode)
 {
-       // DRCS¤Î¥°¥é¥Õ¥£¥Ã¥¯¥»¥Ã¥È¤ò³ä¤êÅö¤Æ¤ë
+       // DRCSのグラフィックセットを割り当てる
        switch(byCode){
        case 0x40U      : m_CodeG[byIndexG] = CODE_UNKNOWN;                             return true;    // DRCS-0
        case 0x41U      : m_CodeG[byIndexG] = CODE_UNKNOWN;                             return true;    // DRCS-1
@@ -558,42 +680,6 @@ const bool DesignationDRCS(const BYTE byIndexG, const BYTE byCode)
        case 0x4EU      : m_CodeG[byIndexG] = CODE_UNKNOWN;                             return true;    // DRCS-14
        case 0x4FU      : m_CodeG[byIndexG] = CODE_UNKNOWN;                             return true;    // DRCS-15
        case 0x70U      : m_CodeG[byIndexG] = CODE_UNKNOWN;                             return true;    // Macro
-       default         : return false;         // ÉÔÌÀ¤Ê¥°¥é¥Õ¥£¥Ã¥¯¥»¥Ã¥È
-       }
+       default         : return false;         // 不明なグラフィックセット
 }
-
-WORD convertjis(DWORD jiscode) {
-       char code[3];
-       char xcode[4];
-       iconv_t cd;
-  
-       size_t inbyte = 2;
-       size_t outbyte = 4;
-
-       const char *fptr;
-       char *tptr;
-
-       WORD rtn;
-
-       code[0] = jiscode >> 8;
-       code[1] = jiscode & 0xFF;
-       code[3] = '\0';
-
-       /*
-         cd = iconv_open("ISO-2022-JP","UTF-8");
-
-         fptr = code;
-         tptr = xcode;
-         iconv(cd, &fptr, &inbyte, &tptr, &outbyte);
-
-         iconv_close(cd);
-       */
-
-       xcode[0] = code[0] | 0x80;
-       xcode[1] = code[1] | 0x80;
-
-       rtn = ((xcode[0] << 8) & 0xFF00) | (xcode[1] & 0xFF);
-
-       return rtn;
-
 }