Esempio n. 1
0
        /// <summary>
        /// 지정한 텍스트에서 마지막 문자의 받침을 지정한 받침으로 치환합니다.
        /// </summary>
        /// <param name="text">마지막 문자의 받침이 치환될 문자열입니다.</param>
        /// <param name="finalConsonant">치환할 받침입니다.</param>
        /// <returns>마지막 문자의 받침이 치환된 문장입니다.</returns>
        public static string ReplaceFinalConsonant(string text, FinalConsonant finalConsonant)
        {
            var lastCharacter = text[text.Length - 1];

            text = text.Substring(0, text.Length - 1);
            return(text + ReplaceFinalConsonant(lastCharacter, finalConsonant));
        }
Esempio n. 2
0
        /// <summary>
        /// <see cref="Hangul"/> 구조체의 인스턴스를 초기화합니다.
        /// </summary>
        /// <param name="character"><see cref="Hangul"/> 구조체로 변환될 한글 문자입니다.</param>
        public Hangul(char character)
        {
            if (CheckHangulSyllable(character))
            {
                int unicodeValue = character;
                unicodeValue -= 0xac00;

                var remainder = unicodeValue % (VowelCount * FinalConsonantCount);

                Consonant      = (Consonant)(unicodeValue / (VowelCount * FinalConsonantCount));
                Vowel          = (Vowel)(remainder / FinalConsonantCount);
                FinalConsonant = (FinalConsonant)(remainder % FinalConsonantCount);
            }
            else
            {
                Consonant      = Consonant.Failed;
                Vowel          = Vowel.Failed;
                FinalConsonant = FinalConsonant.Failed;
            }
        }
Esempio n. 3
0
 /// <summary>
 /// 지정한 문자의 받침을 지정한 받침으로 치환합니다.
 /// </summary>
 /// <param name="character">받침이 치환될 문자입니다.</param>
 /// <param name="finalConsonant">치환할 받침입니다.</param>
 /// <returns>받침이 치환된 문자입니다.</returns>
 public static char ReplaceFinalConsonant(char character, FinalConsonant finalConsonant) => (char)ReplaceFinalConsonant(character, (int)finalConsonant);
Esempio n. 4
0
 /// <summary>
 /// <see cref="Hangul"/> 구조체의 인스턴스를 초기화합니다.
 /// </summary>
 /// <param name="consonant">설정할 자음입니다.</param>
 /// <param name="vowel">설정할 모음입니다.</param>
 /// <param name="finalConsonant">설정할 받침입니다. 기본값은 <see cref="FinalConsonant.None"/>입니다.</param>
 public Hangul(Consonant consonant, Vowel vowel, FinalConsonant finalConsonant = FinalConsonant.None)
 {
     this.Consonant      = consonant;
     this.Vowel          = vowel;
     this.FinalConsonant = finalConsonant;
 }
Esempio n. 5
0
 /// <summary>
 /// 한글의 자음, 모음, 받침을 한 문자로 조합합니다.
 /// </summary>
 /// <param name="consonant"></param>
 /// <param name="vowel"></param>
 /// <param name="finalConsonant"></param>
 /// <returns></returns>
 public static char Merge(Consonant consonant, Vowel vowel, FinalConsonant finalConsonant = FinalConsonant.None) => (char)Merge((int)consonant, (int)vowel, (int)finalConsonant);