Show GN: FileNic - macOS에서 한글 파일명 자소분리 문제 해결기
(github.com/0126kjw)macOS 사용자라면 한번쯤 겪어봤을 Windows와의 한글 파일명 호환성 문제를 해결하는 도구를 만들었습니다.
문제 상황
macOS에서 생성한 한글 파일명이 Windows에서 자소분리되어 깨지는 현상이 발생합니다.
기존에는 이를 해결하기 위해 convmv를 사용한 Automator 사용 등의 방법을 사용했지만 초기 설정에 어려움이 있는 등 불편함이 많았습니다.
해결 방법
- 메뉴바에 상주하는 앱으로 구현하여 필요할 때 즉시 사용 가능
- 파일을 아이콘에 드래그 앤 드롭하면 자동으로 변환 완료
- 별도의 설정이나 터미널 작업 불필요
기술 스택
- SwiftUI 기반 메뉴바 앱
- 순수 Swift 구현으로 가벼운 실행 환경
- 외부 의존성 없음
개인정보 보호
- 모든 파일명 변환은 사용자의 로컬 컴퓨터에서만 처리됩니다
- 외부 서버와의 통신이 전혀 없어 파일 정보가 외부로 유출될 위험이 없습니다
- 파일의 내용이나 메타데이터는 전혀 수정되지 않으며, 순수하게 파일명만 변환됩니다
[링크]
GitHub: https://github.com/0126kjw/FileNic
안녕하세요. 평소 눈팅만 하다가 여러분들께 공유드리고자 처음으로 가입하여 글을 작성해봅니다.
업무상 메일로 파일을 주고받을 때 파일명이 깨져 보인다는 피드백을 여러 차례 받았습니다.
이걸 최대한 간편한 방식으로 해결해보자! 해서 개인적으로 만들어 사용하던 친구를 공유드립니다.
여러분들의 의견과 피드백 부탁드립니다!
안녕하세요! 좋은 소식이 생겨 댓글 남깁니다ㅎㅎ
이제 앱스토어를 통해 다운로드 받으실 수 있습니다!
감사합니다ㅎㅎ
2020년 10월에 동일한 기능을 만든 적이 있어서 공유해봅니다.
- https://namocom.tistory.com/901 (첫 버전 및 소개)
- https://namocom.tistory.com/906 (latest 버전)
최초 실행시 control 을 누르고 열기를 눌러주세요.
또한, 유니코드 정규화 방식의 차이는 다양한 언어 사용자들에게 영향을 미치고 있죠. 특히 발음 구별 부호(diacritics)를 사용하는 독일어, 프랑스어, 스페인어 등의 언어 사용자들도 비슷한 문제를 겪고 있는 것으로 알고 있습니다.
애플과 마이크로소프트가 각자 다른 정규화 방식을 고수하는 것은 아마도 기존 시스템과의 호환성, 하위 호환성 등 여러 기술적인 제약 때문일 것으로 추정됩니다. 이 문제를 체계적으로 해결하려면 두 운영체제의 근본적인 변화가 필요한데, 이는 기존 시스템에 큰 영향을 미칠 수 있기 때문에 해결이 힘들 것으로 보입니다.
이 문제는 맥OS와 윈도우가 채택한 유니코드 정규화 방식의 차이에서 발생합니다.
유니코드에서는 한글을 저장하는 두 가지 주요 방식을 제공하는데요
- NFC (Normalization Form Canonical Composition): 자소를 모아서 하나의 완성된 글자로 저장
- NFD (Normalization Form Canonical Decomposition): 자소를 분리해서 개별적으로 저장
윈도우는 NFC 방식을 사용하여 '안녕'을 하나의 완성된 글자로 저장하는 반면, 맥OS는 NFD 방식을 사용해 'ㅇ', 'ㅏ', 'ㄴ', 'ㄴ', 'ㅕ', 'ㅇ'을 각각 분리해서 저장합니다. 이러한 저장 방식의 차이 때문에 맥OS에서 생성한 파일을 윈도우에서 열면 자소가 분리되어 보이는 현상이 발생하는 것이죠.
FileNic은 이 차이를 사용자에게 간단하게 변환하는 방식을 지원해, 두 운영체제 모두에서 올바르게 표시되도록 해줍니다.
다른 플랫폼과 공유 많이 하는 분들은 필요하실 것 같네요.
혹시 개발자 등록이 되어 있으신가요? 배포하실 때 Xcode에서 아카이브하고 아카이브 한 것을 Direct Distribution 형식으로 export 하면 애플 개발자 포털을 거쳐서 notarizing 을 해줍니다. 그러면 앱 스토어 배포처럼 권한을 인증하도록 해줘서 바로 실행 가능합니다. 이 문서를 참고하시면 앱 배포하고 실행이 수월할 것 같습니다 https://developer.apple.com/documentation/Security/…
안녕하세요! 좋은 정보 감사드립니다. 원활한 배포를 위해 서명 및 인증 절차 완료되었으며, 이제는 실행 오류 및 보안 이슈 없이 편하게 사용하실 수 있도록 조치되었습니다. 감사합니다.
감사합니다! 말씀하신 것처럼 드롭박스의 선례가 있었군요. 덕분에 좋은 인사이트를 얻었습니다. 한글 사용자를 위해 OS 차원에서 NFC 유니코드 정규화를 기본 지원했으면 하는 바람이 있습니다. 이런 도구가 필요 없을 정도로요. :)
실행을 하면, "확인되지 않은 개발자...."가 아니라, 실행부터 "응용프로그램을 실행할 수 없습니다"라고 나오면서, 보안 섹션에서 확인이 되지 않습니다. (맥 15.2(24C101))
문제 공유해주셔서 감사합니다! 확인해보니 배포 타겟이 15.1로 지정되어 있는 문제를 발견했습니다. 혼자 사용하던 친구라 미처 신경을 못썼네요ㅜㅜ macos 13.0 이상은 전부 지원할 수 있도록 변경 후 release 파일 수정해놓도록 하겠습니다! 피드백 감사합니다
앱 서명 및 인증 절차 완료되었으며, 이제는 실행 오류 및 보안 이슈 없이 편하게 사용하실 수 있도록 조치되었습니다. 다시 한번 피드백 주셔서 감사합니다.