Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
fix #327 이슈건을 해결하는 PR입니다.
배경
제30항 1, 2번 규칙은 이미 제18항의 규칙과 경음화 처리 로직을 통해 정상적으로 적용되고 있어 별도의 추가 처리가 필요하지 않습니다.
그러나 제30항 3번 규칙은 예외적인 케이스로, '사이시옷' 여부를 판단해야 하는 문제가 있습니다. 이 규칙을 적용하려면, 해당 'ㅅ'이 단순 받침이 아니라 두 단어가 결합되며 생긴 사이시옷인지를 구분할 수 있어야 합니다.
이 차이는 제13항과 비교해 보면 더 명확해지는데요. 예를 들어 '옷이'라는 단어는 단일어이기 때문에 제13항의 규칙에 따라 '오시'로 발음되는 것이 맞습니다. 반면, 제30항 3번의 적용 대상인 합성어라면 '온니'처럼 처리되어야 하지만, '옷이'는 합성어가 아니므로 해당되지 않습니다.
문제는, 현재 es-hangul이 합성어 여부를 스스로 판단할 수 있는 기능이 없기 때문에 30항 3번 규칙을 일반화된 로직으로 처리하는 것은 사실상 불가능하다는 점입니다.
이러한 이유로, 별도의 예외 단어 목록을 상수로 정의해 관리하는 방식이 현실적인 해결책이라고 판단됩니다.
#341 건이 먼저 해결되고 난 후에, 문서에 사이시옷 관련 예외사항을 추가하도록 하겠습니다.
PR Checklist