맥북에서 한글 입력 시 알 수 없는 문자가 같이 입력되는 버그

About

images/20240728122945.png

맥북에서 한글 입력 시 알 수 없는 문자가 입력되는 경우가 있다. 이 버그가 악질인 건 정작 내 맥북에서 입력할 때에는 안보이고, 그걸 보는 윈도우나 리눅스 계열 컴퓨터, 또는 모바일 기기에선 잘 보여서, 맥북만 쓰는 사람은 발견하기가 어렵다.

해결안을 얻기 위해 찾아온 사람들에겐 유감스러운 답변이지만 현재 뚜렷한 해결 방법은 찾지 못했다.

재현하기

Text Editor, vscode 등에서 이런 식으로 일단 아무 글자를 입력해보자. 영문이든 한글이든 상관 없다.

한글 문자열

그런 다음 “한글 문자열"의 일부를 드래그(마우스로 하든, SHIFT+ARROW로 하든 상관 없음)하고, 자음(ㄹ)만 입력해보자.

한글 ㄹ

그럼 커서가 ㄹ 뒤에 있을 것이다. 이제 Backspace(엔터 위에 있는 지우기 버튼)을 눌러보자.

images/20240728120450.png

처음 보는 문자인가? 프로그램마다 다르지만 맥북에선 안보이는 경우가 많다. 코드 에디터(vscode) 등에서는 이런 문자를 구분하는게 중요하므로 잘 보이지만, 크롬에서는 안보이는 것 같다. 주로 크롬 등의 브라우저에서 열심히 블로그 글을 작성하고하고 나중에 핸드폰으로 볼 때 발견하는 경우가 종종 있다.

유니코드 U+0008

images/20240728122945.png

저 문자를 복사해서 유니코드로 검색해보면 U+0008 (Backspace) 문자가 나온다. 이건 많이 봤을지도 모르겠다.

각 알파벳이 하나씩 글자로 인식되는 영문과 달리, 한글은 자음, 모음 둘 다 개별 문자이기도 한데, 자음+모음이라는 조합을 통해 하나의 문자가 구성될 수 있다는 특이한 케이스이다.

분석

실제로 한글을 입력할 때 관찰력이 뛰어나다면 영어를 입력할 때와 달리 밑줄이 그어지는 것을 볼 수 있다.

images/20240728121933.png

반면 영어를 입력할 땐 이럴 필요가 없다. 개별 문자로 인식되기 때문이다.

images/20240728121938.png

그래서 위에서 설명한 저 현상 뿐 아니라, 가끔 글자가 씹히거나 한 글자씩 더 입력되는 현상도 비슷한 결이라고 볼 수 있을 것 같다. (정확히 어떤 매커니즘인지는 잘 모르겠다.) 프로그램에 따라 다르지만, 예를 들어 한글입력 이라고 입력하면 력에 밑줄이 그어질 것이다. 이 상태에서 Option + Left Arrow를 입력하면 커서가 단어의 맨 첫번째 글자인 으로 이동될 것을 기대하지만, 력한글입력과 같이 이라는 글자가 맨 앞으로 복사되면서 해당 글자에 커서가 이동하는 것을 볼 수 있다.

위의 설명은 기술적인 분석이라기보단 그냥 관찰에 의한 것이니 전문가의 답변으로 해석하지는 않았으면 좋겠다.

예방하기

한글 타이핑을 많이 하는 사람이거나, 키보드를 다루는 데 능숙하고 타자가 빠른 사람이라면 위의 현상을 겪을 확률이 더 높아 보인다. 커서를 오른쪽으로 이동하면 밑줄이 없어지면서 해당 한글 문자 입력을 마칠 수 있다. 이 상태에서는 커서를 아무렇게나 이동해도 특수문자가 삽입되지 않는다.

근데 매번 이렇게 하기엔 너무 귀찮지 않은가? 이걸 예방할 수 있는 프로그램이 있는지 잘 모르겠다.

기본 한글 입력기의 문제일 확률이 높은 것 같긴 해서, 구름 입력기 등 서드파티 한글 입력기를 사용하면 고쳐질지도 모르겠다.

Ref