Ejemplo n.º 1
0
        private static Jamo CharDivider(char uni)
        {
            int remainder = (int)(uni - beginCodeHan);

            Jamo hanCode = new Jamo();

            hanCode.jong = (char)(remainder % 28);
            hanCode.jung = (char)(((remainder - hanCode.jong) / 28) % 21);
            hanCode.cho  = (char)((((remainder - hanCode.jong) / 28) - hanCode.jung) / 21);

            return(hanCode);
        }
Ejemplo n.º 2
0
        private static char[] CharCombiner(Jamo c)
        {
            List <char> arr = new List <char>();

            arr.Add(TransHanChar(c.cho, null, null));

            if (c.jung > Array.IndexOf(Jamo.jungArr, 'ㅗ') && c.jung < Array.IndexOf(Jamo.jungArr, 'ㅛ'))
            {
                arr.Add(TransHanChar(c.cho, Array.IndexOf(Jamo.jungArr, 'ㅗ'), null));
            }
            else if (c.jung > Array.IndexOf(Jamo.jungArr, 'ㅜ') && c.jung < Array.IndexOf(Jamo.jungArr, 'ㅠ'))
            {
                arr.Add(TransHanChar(c.cho, Array.IndexOf(Jamo.jungArr, 'ㅜ'), null));
            }
            else if (c.jung > Array.IndexOf(Jamo.jungArr, 'ㅡ') && c.jung < Array.IndexOf(Jamo.jungArr, 'ㅣ'))
            {
                arr.Add(TransHanChar(c.cho, Array.IndexOf(Jamo.jungArr, 'ㅡ'), null));
            }
            arr.Add(TransHanChar(c.cho, c.jung, null));

            if (c.jong != (char)0)
            {
                if (c.jong > Array.IndexOf(Jamo.jongArr, 'ㄲ') && c.jong < Array.IndexOf(Jamo.jongArr, 'ㄴ'))
                {
                    arr.Add(TransHanChar(c.cho, c.jung, Array.IndexOf(Jamo.jongArr, 'ㄱ')));
                }
                else if (c.jong > Array.IndexOf(Jamo.jongArr, 'ㄴ') && c.jong < Array.IndexOf(Jamo.jongArr, 'ㄷ'))
                {
                    arr.Add(TransHanChar(c.cho, c.jung, Array.IndexOf(Jamo.jongArr, 'ㄴ')));
                }
                else if (c.jong > Array.IndexOf(Jamo.jongArr, 'ㄹ') && c.jong < Array.IndexOf(Jamo.jongArr, 'ㅁ'))
                {
                    arr.Add(TransHanChar(c.cho, c.jung, Array.IndexOf(Jamo.jongArr, 'ㄹ')));
                }
                else if (c.jong > Array.IndexOf(Jamo.jongArr, 'ㅂ') && c.jong < Array.IndexOf(Jamo.jongArr, 'ㅅ'))
                {
                    arr.Add(TransHanChar(c.cho, c.jung, Array.IndexOf(Jamo.jongArr, 'ㅂ')));
                }
                arr.Add(TransHanChar(c.cho, c.jung, c.jong));
            }

            return(arr.ToArray());
        }