매개변수 unicode에 담긴 문자가 한글 음절 문자인 경우, 이 문자에서 초성/중성/종성 을 각각 검색해 일치하는 경우 새로운 초성/중성/종성 으로 변경한 문자를 반환합니다.
"old_초성/중성/종성"또는 "new_초성/중성/종성"이 올바르지 않은 값인 경우 해당 초성/중성/종성 은 찾아바꾸기를 수행하지 않습니다. 즉, 일부러 초성/중성/종성 중 일부를
변환에서 제외하려면, 매개변수 "old_초성/중성/종성" 또는 "new_초성/중성/종성"에 기본 생성자로 생성한 HangulJamo 객체를 넘겨주면 됩니다. 다음은 예제 코드 입니다.
- #include
- using namespace blc::han;
-
- #include
- using namespace std;
-
- int main()
- {
- HangulJamo<Onset> old_onset(U'ㅁ'), new_onset(U'ㄴ');
- HangulJamo<Nucleus> old_nucleus(U'ㅓ'), new_nucleus(U'ㅑ');
- HangulJamo<Coda> invalid_coda;
- char32_t result = ReplaceJamo(
- U'멍',
- old_onset, old_nucleus, invalid_coda,
- new_onset, new_nucleus, invalid_coda
- );
-
-
-
-
- cout << (U'냥' == result) << endl;
-
-
-
- return 0;
- }
이러한 변환은 한글 자모 낱자에 대해서도 작동합니다(한글 자모 영역의 낱자는 초성/중성/종성 구분이 있으며, 호환용 한글 자모 영역의 낱자에 대해서는, 초성과 종성을 겸하는 낱자를 초성으로 간주하고 처리합니다.
초성으로 변환을 적용할 수 없는 경우(old_onset 또는 new_onset이 무효한 값인 경우) 종성으로 간주하고 처리합니다).