2011/07/25

MacOS X 풀어쓰기 한글 -> 모아쓰기 한글 변환 스크립트

개인적으로 맥을 별로 좋아하지 않는다.

그 이유중 몇개를 들자면 Unix like한 OS라고 하면서 파일시스템에서 대소문자를 구분하지 않는다는 것이고.. ( 예를들면 Perl에서 AnyEvent란 모듈을 사용하겠다고 use AnyEvent;가 아니라 use ANYEVENT; 라고 해도 에러가 없이 실행된다. 만약 이런걸 맥에서 개발해서 Linux서비스 서버에 올렸다고 생각해보라.. 어떤일이 벌어질지는 안봐도 비디오다. )

그리고  맥에서는 한글이 일명 풀어쓰기 포멧(NFD)으로 저장된다. 여기에 대해서는 http://namoda.springnote.com/pages/4922363 를 보면 자세하게 나와있다.

하지만 주변에는 많은 맥빠들이 존재하고 그들과 자료를 주고 받으려고 하면 문제들이 한둘씩 발생하게 된다는 것이다. 맥에서 한글파일명으로 저장한 파일들을 리눅스에서 받으면 경우에 따라 사용 터미널이 NFD에 대한 자모 조합을 지원해서 제대로 보이거나 보이기는 하나 이상하게 조합되서 보이거나 아예 쭉 풀어져 버리는등 결과를 종잡을 수 없다. 그래서 NFD형식으로 된 한글 파일명을 NFC형식으로 바꾸는 Perl 스크립트를 만들어 봤다.

아는 사람끼리 위 같은 맥의 특성을 풍자하여 "맥부기"라고 부르는데 착안하여 이름은 demacboogi.pl (de맥부기)로 하였다.



위에서 쓰인 모듈들은 Perl에서 기본적으로 포함되는 core모듈이라 별도로 모듈을 설치할 필요는 없음

댓글 4개:

  1. ㅎㅎ Mac에서 대소문자 구별하려면 case sensitive한 파일시스템으로 바꾸면 되는데요. 쩝 애플까는데만 급급하시군요^^

    답글삭제
  2. @kaien 물론 대소문자 구분 가능한 파일 시스템으로 포맷하는 방법이 있긴합니다만 대부분의 맥 응용 프로그램들이 대소문자 구분을 하지 않는 환경에서 개발이 된 상태로 배포가 되기 때문에 그 파일 시스템을 쓰면 많은 맥 응용 프로그램을 제대로 쓸 수 없다는 문제가 발생합니다. 결국 그래서 저도 대소문자 구분을 하지 않는 방식을 쓰게되었습니다.

    답글삭제
  3. 우와~ 좋은 스크립트 너무 감사합니다!!!! 유용하게 잘 쓰겠습니다~~~

    답글삭제
  4. 안녕하세요. 맥 초보라 사용법을 잘 모릅니다. 위 스프링 노트링크가 안되네요.

    사용법을 좀 알려 주시면 감사하겠습니다.

    답글삭제