NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 매크로 프로그램이 IME 모드를 자동으로 판단하는 스마트 기능.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로 프로그램은 윈도우의 IME(한영 변환) 모드에 관계없이 자동으로 한글과 영어를 판단합니다. 아래 동영상을 보면, 한글과 영어 그리고 특수문자가 포함되어 있어도 메모장에 잘 입력하고 있습니다.

     

     

    대부분의 메크로 프로그램들이 한글과 영어를 구분하지 못합니다. 그래서, 한영키를 눌러줘야 하거나 윈도우 우측 하단에 한글 영어 변환기를 클릭해야 합니다. 그런데, "Welcome to 엔지엠소프트웨어!"와 같은 연속된 문자와 단어들이 한글인지 영어인지 어떻게 판단을 할까요? 프로그래밍 언어(파이썬, 오토핫키등등...)로는 이 부분을 구현하기가 매우 까다롭습니다. 그래서, 잘 만들어진 메크로 프로그램을 사용하는게 좋은 선택입니다. 시간과 비용을 줄일 수 있으니까요^^

     

    한글 자소 분리 로직

    /// <summary>
    /// 한글 자소를 분리하여 1차원 배열로 반환한다.
    /// </summary>
    /// <param name="hangul">자소를 분리할 한글 캐릭터 코드입니다.</param>
    /// <param name="convertEnglish">영어로 변환 여부를 선택합니다.</param>
    public static string[] SplitJaso(char hangul, bool convertEnglish = false)
    {
        int choIndex, jungIndex, jongIndex;
        ushort uTempCode = 0x0000;
        uTempCode = Convert.ToUInt16(hangul);
    
        int iUniCode = uTempCode - _codeBaseStart;
        choIndex = iUniCode / (21 * 28);
        iUniCode = iUniCode % (21 * 28);
        jungIndex = iUniCode / 28;
        iUniCode = iUniCode % 28;
        jongIndex = iUniCode;
    
        List<string> jasoList = new List<string>();
        string cho, jung, jong;
    
        if (convertEnglish)
        {
            cho = _choEngTable[choIndex];
            jung = _jungEngTable[jungIndex];
            jong = _jongEngTable[jongIndex];
        }
        else
        {
            cho = _choTable[choIndex];
            jung = _jungTable[jungIndex];
            jong = _jongTable[jongIndex];
        }
    
        if (!string.IsNullOrEmpty(cho))
        {
            jasoList.Add(cho);
        }
    
        if (!string.IsNullOrEmpty(jung))
        {
            jasoList.Add(jung);
        }
    
        if (!string.IsNullOrEmpty(jong))
        {
            jasoList.Add(jong);
        }
    
        return jasoList.ToArray();
    }

     

    이 글이 도움이 되셨다면~ 커피 한잔이라도 후원 부탁드립니다^^

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.