flutter_korea_regexp
flutter_korea_regexp copied to clipboard
자소 합치기 기능의 일관성 있는 복합자음 합치기
아래 글자의 자소 합치기 결과는 어떻게 예상되시나요?
ㄱㅏㅅㅅㅇㅓ
ㄱㅏㅆㅇㅓ
ㅂㅂㅗㅂㅂㅣ
결과는 갔어
, 갔어
, ㅂ봅비
입니다.
개요
현재 상태
- 종성은 쌍받침, 겹받침 모두 합쳐짐 (
ㄱㅏㅅㅅ → 갔
,ㄱㅏㄴㅎ -> 갆
) - 초성은 복합 자음이 합쳐지지 않음 (
ㅂㅂㅣ → ㅂ비
)
제안
- 자음, 모음 키보드를 두 번 누르는 복합 자모만 합치자
- 대상: ㅘ ㅙ ㅚ ㅝ ㅞ ㅟ ㅢ, ㄳ ㄵ ㄶ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅄ
- shift 키를 주로 사용하는 복합 자음(ㄲ, ㄸ, ㅃ, ㅆ, ㅉ)은 제외
- 제외: ㄲ, ㅆ
- 기존에 ㄸ, ㅃ, ㅉ는 제외되어 있음
이유
복합 자음을 자소 합치기에서 제외해도 될 것 같다고 생각하는 이유는
- 쌍자음이 합쳐질 것 같은데 초성, 종성의 동작이 다르므로 결과가 헷갈릴 수 있다고 생각합니다.
- 이 기능을 주로 사용하는
영타 → 한타 기능
에서 복합 자음은 영어 대문자로 쓰일 것이기 때문입니다.
-
rkTdj
→갔어
-
rkttdj
→갔어
보다는갓ㅅ어
를 썼을 가능성이 높음
- 맥 OS의 경우 자음을 두 번 눌러 복합 자음을 쓸 수 있지만 초성일 때만 가능합니다.
- 현재 종성이 되고 초성이 안 되는 것과는 반대됨
예상되는 변경사항
-
ㄱㅏㅅㅅㅇㅓ
는 이제갔어
가 아닌갓ㅅ어
로 합쳐짐 - constant 파일의 상수
MIXED
에서 ㄲ, ㅆ 제거됨
주의사항
-
MIXED
를 사용하는 다른 곳의 동작이 어떻게 바뀔지 체크 필요 - 원본 리파지토리와 동작이 달라지게 됨
이 작업으로 기대하는 것
- 초성, 종성의 일관성 개선
-
assemble()
에서 초/중/종성을 한 번 더 합치는데, 초성 로직은 제외할 수 있음- 이 작업으로
-
ㄱㄱㅣ → 끼
,ㅂㅂㅣ→ ㅂㅂㅣ
였던 일관성 개선 - 초성의 복합 자음을 합치는 로직이 있으나 실제로 합쳐질 일이 없었는데 코드를 명시적으로 제거할 수 있음 (이 메서드를 호출하는 implode()가 초성을 글자 1개만 남긴 후 메서드를 호출하기 때문에)
-
- 이 작업으로
제가 놓친 부분이나 제외 시 우려되는 부분 등 여러 의견 주세요!👏💪🏽