[mac] sublime text3 한글 붙여넣기 풀어서 넣어지는 문제

[mac] sublime text3 한글 붙여넣기 풀어서 넣어지는 문제

맥북에서 sublime text3(서브라임 택스트)를 사용하다가 문제가 생겼습니다.

맥의 finder에서 파일명을 복사하다가 한글이 분해(?)되는 문제입니다.

스크린샷 이라는 글자가 ㅅㅡㅋㅡㄹㅣㄴㅅㅑㅅ 으로 변하는 마법…

 

기본적으로 지원하는 메모 앱에서는 정상 동작해서 좀 찾아봤더니 맥은 윈도우즈나 리눅스(linux)와는 별도의 UTF8 방식을 채용하고 있었습니다.

맥은 UTF8을 사용하지만 NFD(Normalization Form Canonical Decomposition)라는 방식으로 정규화를 하고,

일반적인 UTF8은 NFC(Normalization Form Canonical Composition)방식을 사용하기 때문에 서브라임에서 한글이 전부 풀어지는 문제가 발생한 것이었습니다.

 

해결책을 찾던 중 한 일본인의 Sublime text3 Plugin 을 발견!!

https://github.com/astronaughts/SublimeNFDToNFCPaste

설치는 sublime text 3 실행 > Preferences > Browse Packages 를 눌러서 sublime의 플러그인 설치 경로를 알아내거나

/Users/admin/Library/Application Support/Sublime Text 3/Packages

위의 경로로 들어가면 됩니다.

 

해당 경로에서

# git clone https://github.com/astronaughts/SublimeNFDToNFCPaste SublimeNFDToNFCPaste

실행하시면 됩니다;; 쉽죠? ㅎㅎㅎ

소스 한번 확인해봤더니 달랑 5줄 ㅎㅎㅎ

class NfdToNfcPasteCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        paste = sublime.get_clipboard()
        sublime.set_clipboard(unicodedata.normalize('NFC', paste))
        self.view.run_command('paste')

붙여넣기할때 NFC로 문자열을 변경해주네요.

앞으로 유용하게 쓸꺼 같습니다.

 

참고

유니코드 정규화 한글

유니코드 정규화 영어

글쓴이

Kwon

github: https://github.com/9to6