본문 바로가기

쓰기

기능요?

아무것도 없습니다.

그냥 2바이트로 변환 기능.


단 차이가 있다면

FixLine 내부에 있어도 잘 동작한다는거죠

소스는 기본 ATPlugin 프레임에서 후처리부만 이렇게 변경하면 됩니다.

 const char * szDiv="_-/_";
const int nDivLen = strlen(szDiv);

BOOL  __stdcall PostTranslate(LPCSTR cszInKorean, LPSTR szOutKorean, int nBufSize)
{
    // TODO: 번역 후처리를 한다.
    // 특별한 처리를 하지 않더라도 문자열을 복사해 돌려주어야 한다.

    int nIdx1=0;
    int nIdx2=0;

    while(cszInKorean[nIdx1]!='�')
    {
        if(cszInKorean[nIdx1]==szDiv[0] &&
            strncmp(cszInKorean+nIdx1,szDiv,nDivLen)==0)
        {
            strcpy(szOutKorean+nIdx2,szDiv);
            nIdx1+=nDivLen;
            nIdx2+=nDivLen;
            continue;
        }

        if( 0x20 <= (BYTE)cszInKorean[nIdx1] && (BYTE)cszInKorean[nIdx1] <= 0x7E )
        {    
            if(' ' == cszInKorean[nIdx1])
            {
                szOutKorean[nIdx2++] = (char)0xA1;
                szOutKorean[nIdx2++] = (char)0xA1;
            }
            else
            {
                szOutKorean[nIdx2++] = (char)0xA3;
                szOutKorean[nIdx2++] = (char)(0x80 + cszInKorean[nIdx1]);
            }
            nIdx1++;
        }
        else if(IsDBCSLeadByteEx(949,BYTE(cszInKorean[nIdx1])))
        {
            szOutKorean[nIdx2++] = cszInKorean[nIdx1++];
            szOutKorean[nIdx2++] = cszInKorean[nIdx1++];
        }
        else
        {
            szOutKorean[nIdx2++] = cszInKorean[nIdx1++];
        }
    }
    szOutKorean[nIdx2]='�';

    
    // 작업 성공시 TRUE, 실패시 FALSE 반환
    return TRUE;
}



조회 수 :
34250
등록일 :
2008.12.23
17:22:06
엮인글 :
https://arallab.hided.net/4664/c29/trackback
게시글 주소 :
https://arallab.hided.net/board_archives/4664
List of Articles
번호 제목 글쓴이 날짜 조회 수
18 [소스] 플러그인 개발을 위한 기본 프레임워크 20090918 [2] file whoami 2009-09-18 31241
17 [플러그인,소스] Korean Duplication Checker(KDC) 20090115_2 [2] file Hide_D 2009-01-15 40695
16 [플러그인/소스] Korean Duplication Checker [6] file my vagina 2009-01-11 37453
» [플러그인,소스] 2Byte 081223 file Hide_D 2008-12-23 34250
14 [플러그인] FixLine 081231 [138] file Hide_D 2008-12-23 137770
13 [플러그인] CustomDic 0.3 20081126 [5] file Hide_D 2008-11-26 35012
12 [플러그인] DumpText 20081123 [3] file Hide_D 2008-11-21 39132
11 [플러그인,소스] KoFilter 1.0.20081121 [1] file whoami 2008-11-21 35695
10 [플러그인] DenyWord 20081120 [1] file Hide_D 2008-11-20 32870
9 [플러그인, 소스] OriginalText 080913 [4] file Hide_D 2008-09-13 46975
8 [플러그인, 소스] RLCmd 1.0.20080816 [9] file whoami 2008-08-16 56437
7 [플러그인, 소스] CustomDic 0.3 20080815 [1] file Hide_D 2008-08-13 41380
6 [플러그인, 소스] KoFilter 1.0.20080812 file whoami 2008-08-12 29967
5 [플러그인, 소스] MultiPlugin 2.0.20080810 file whoami 2008-08-10 32234
4 [플러그인, 소스] DumpText 20080802 [10] file Hide_D 2008-08-02 57158
3 [플러그인, 소스] KoFilter 1.0.20080728 [5] file whoami 2008-07-28 52536
2 [플러그인, 소스] MultiPlugin 2.0.20080726 [4] file whoami 2008-07-26 48846
1 [플러그인,소스] EzTransXP with 사용자사전플러그인 0.2 20080721_2 [3] file Hide_D 2008-07-21 45435