Пример #1
0
        public static HANGUL DevideJaeumMoeum(char hangul)
        {
            int    ChoSung, JungSung, JongSung; // 초성,중성,종성의 인덱스
            ushort temp = 0x0000;               // 임시로 코드값을 담을 변수
            HANGUL hg   = new HANGUL();

            //Char을 16비트 부호없는 정수형 형태로 변환 - Unicode
            temp = Convert.ToUInt16(hangul);

            // 인자가 한글이 아닌 경우
            if ((temp < m_UniCodeHangulBase) || (temp > m_UniCodeHangulLast))
            {
                hg.isHangul     = "NH";
                hg.originalChar = hangul;
                hg.chars        = null;
            }
            else
            {
                int nUniCode = temp - m_UniCodeHangulBase;
                ChoSung  = nUniCode / (21 * 28);
                nUniCode = nUniCode % (21 * 28);
                JungSung = nUniCode / 28;
                nUniCode = nUniCode % 28;
                JongSung = nUniCode;

                hg.isHangul     = "H";
                hg.originalChar = hangul;
                hg.chars        = new char[] { ChosungArray[ChoSung], JungsungArray[JungSung], JongsungArray[JongSung] };
            }

            return(hg);
        }
Пример #2
0
        public static void Main(string[] args)
        {
            int i, j, num;

            char[] word;
            string tmpWord;
            HANGUL hg = new HANGUL();


            Console.WriteLine("뽑아낼 글자 <1.초성 2.중성 3.종성>");
            num = int.Parse(Console.ReadLine());
            Console.Write("단어 입력: ");
            tmpWord = Console.ReadLine();

            word = new char[tmpWord.Length];

            for (i = 0; i < tmpWord.Length; i++)
            {
                word[i] = tmpWord[i];
            }

            switch (num)
            {
            case 1:
                Console.WriteLine("--초성 출력--");
                for (i = 0; i < tmpWord.Length; i++)
                {
                    hg = DevideJaeumMoeum(word[i]);

                    Console.Write(hg.chars[0]);
                }
                Console.WriteLine("");
                break;

            case 2:
                Console.WriteLine("--중성 출력--");
                for (i = 0; i < tmpWord.Length; i++)
                {
                    hg = DevideJaeumMoeum(word[i]);

                    Console.Write(hg.chars[1]);
                }
                break;

            case 3:
                Console.WriteLine("--종성 출력--");
                for (i = 0; i < tmpWord.Length; i++)
                {
                    hg = DevideJaeumMoeum(word[i]);

                    Console.Write(hg.chars[2]);
                }
                break;
            }
        }