-
Notifications
You must be signed in to change notification settings - Fork 132
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Bug description
standardizePronunciation의 ‘ㅎ음 처리’ 관련해 오류가 있어 이슈 남깁니다.
현재 표준 발음법 제 12항의 기본 조항들은 적용되어 있지만, [붙임 2] 조항이 누락되어 있습니다.
- 제 12항 [붙임 2]
[붙임 2] 규정에 따라 'ㄷ'으로 발음되는 'ㅅ, ㅈ, ㅊ, ㅌ'의 경우에도 이에 준한다.
Expected behavior
expect(standardizePronunciation('숱하다')).toBe('수타다') // but 숟하다
expect(standardizePronunciation('옷한벌')).toBe('오탄벌') // but 옫한벌
To Reproduce
import { standardizePronunciation } from 'es-hangul';
console.log(standardizePronunciation('숱하다')); // 숟하다
console.log(standardizePronunciation('옷한벌')); // 옫한벌
Possible Solution
받침 'ㅅ, ㅈ, ㅊ, ㅌ'이 뒤 음절 첫소리 'ㅎ'과 결합되는 경우에는, 받침을 'ㄷ'으로 바꾸어 [ㅌ]으로 발음하도록 수정합니다.
constant.ts에받침_ㄷ_변환상수 추가
export const 받침_ㄷ_변환 = ['ㅅ', 'ㅈ', 'ㅊ', 'ㅌ'] as const;
transform12th.ts파일의handleNextChoseongIsㅎ 함수수정
// 제 12항 [붙임 2] 로직 추가
else if (updatedNext?.choseong == 'ㅎ' && arrayIncludes(ㄷ으로_중화되는_받침, updatedCurrent.jongseong)) {
// 음절의 끝소리 규칙 적용 후 거센소리화 : ㅅ,ㅈ,ㅊ,ㅌ → ㄷ → ㄷ+ㅎ → ㅌ
updatedNext.choseong = 'ㅌ'
updatedCurrent.jongseong = '';
}
return { current: updatedCurrent, next: updatedNext };
}
etc.
안녕하세요!
위에 제시한 해결 방안이 적절한 방향인지, 그리고 혹시 놓친 부분이나 더 고려해야 할 사항들이 있을지 궁금합니다.
만약 이 접근 방식에 문제가 없다면, PR을 작성해서 올려봐도 괜찮을까요?
아직 오픈소스 기여 경험이 많지 않아서, 혹시 코드 스타일이나 프로젝트 컨벤션에 맞지 않는 부분이 있다면 언제든 피드백 주시면 감사히 반영하겠습니다.
po4tion
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working