<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>i2workshop: Charight-v063-Release에 달린 최근 댓글/트랙백 목록</title>
		<link>http://i2workshop.com/tc/</link>
		<description>Workaholic</description>
		<language>ko</language>
		<pubDate>Fri, 12 Mar 2010 05:51:40 +0900</pubDate>
		<generator>Textcube 1.7.7 : Con moto</generator>
		<image>
		<title>i2workshop: Charight-v063-Release에 달린 최근 댓글/트랙백 목록</title>
		<url>http://i2workshop.com/tc/attach/1/454375824.png</url>
		<link>http://i2workshop.com/tc/</link>
		<width>152</width>
		<height>147</height>
		<description>Workaholic</description>
		</image>
		<item>
			<title>10.4 ppc님의 댓글</title>
			<link>http://i2workshop.com/tc/597#comment1442</link>
			<description>10.4 ppc G5 에서는 동작하지 않는군요.
0.61이후 버전부터 동작하지 않는듯 합니다.</description>
			<author>(10.4 ppc)</author>
			<guid>http://i2workshop.com/tc/597#comment1442</guid>
			<comments>http://i2workshop.com/tc/597#comment</comments>
			<pubDate>Wed, 08 Jul 2009 14:42:05 +0900</pubDate>
		</item>
		<item>
			<title>이딜님의 댓글</title>
			<link>http://i2workshop.com/tc/597#comment1443</link>
			<description>10.4 ppc 이런, 어느새 Base SDK 가 10.5로 바뀌어있었네요;; 수정해서 올리도록 하겠습니다.</description>
			<author>(이딜)</author>
			<guid>http://i2workshop.com/tc/597#comment1443</guid>
			<comments>http://i2workshop.com/tc/597#comment</comments>
			<pubDate>Thu, 09 Jul 2009 17:47:53 +0900</pubDate>
		</item>
		<item>
			<title>비밀 댓글입니다</title>
			<link>http://i2workshop.com/tc/597#comment1488</link>
			<description>비밀 댓글입니다</description>
			<author>비밀 댓글입니다</author>
			<guid>http://i2workshop.com/tc/597#comment1488</guid>
			<comments>http://i2workshop.com/tc/597#comment</comments>
			<pubDate>Mon, 28 Sep 2009 16:22:47 +0900</pubDate>
		</item>
		<item>
			<title>PyO님의 댓글</title>
			<link>http://i2workshop.com/tc/597#comment1503</link>
			<description>안녕하세요. 맥 포럼에서 넘어왔습니다. =) 좋은 프로그램을 만들어주셔서 감사합니다. 궁금한게 있습니다. 스노우 레오파드에서는 작동하지 않나요? 몇 가지 화일로 테스트를 해봤는데, 작동하지 않아서요.</description>
			<author>(PyO)</author>
			<guid>http://i2workshop.com/tc/597#comment1503</guid>
			<comments>http://i2workshop.com/tc/597#comment</comments>
			<pubDate>Tue, 27 Oct 2009 16:04:31 +0900</pubDate>
		</item>
		<item>
			<title>이딜님의 댓글</title>
			<link>http://i2workshop.com/tc/597#comment1507</link>
			<description>PyO // 허걱, 요즘 한글이 깨진 녀석을 다룰 일이 없어서 확인을 못했네요. 테스트해보고 수정하도록 하겠습니다;;
일단 지금 테스트해본결과, 한글 깨진 파일명은 정상적으로 잘 수정하고 있습니다. 으음;; 좀 더 찾아봐야겠는데요;;</description>
			<author>(이딜)</author>
			<guid>http://i2workshop.com/tc/597#comment1507</guid>
			<comments>http://i2workshop.com/tc/597#comment</comments>
			<pubDate>Thu, 29 Oct 2009 13:59:50 +0900</pubDate>
		</item>
		<item>
			<title>삐도리님의 댓글</title>
			<link>http://i2workshop.com/tc/597#comment1546</link>
			<description>안녕하세요. 다른 분의 프로그램 소개로 이곳에 찾아왔습니다. : )

 찾아온 이유는 다름이 아나라 한가지 도움을 요청하기 위함입니다.

 클래식 맥(OS 9.x 이하)에서 drop stuff를 사용해 sit 파일로 압축한 파일을 OS X에서 압축해제시 한글 파일명 깨짐 현상이 일어납니다. 이 문제와 비슷한 경우들을 해결해주는 유틸리티가 Charight인듯 하여 기능 추가를 함께 해 주시면, 아직도 클래식 맥에서만 돌아가는 쿽 3.3k에 어쩔수없이 의존해야만 하는 한국의 열악한 조판업계에 종사하는 많은 사용자들이 이 프로그램을 애용할 듯 합니다. 아~ 사족으로 제가 인쇄업계에 발 담그고 있지는 않습니다.

 클래식 맥에서 drop stuff 6.x버전 이하로 압축을 하게 되면 .sit 압축파일 안에 있는 한글 글자들의 경우 유니코드 CJK Ideograph Extension A (U+3400~U+4DBF) 영역에 KSC5601문자셋에 정의된 2350개의 한글 완성형 문자가 차례대로 매핑되어 들어갑니다. 그런 연유로 OS X에서 7.x 이상의 stuff expander 버전으로 압축을 풀면 한글파일이름은 모두 CJK Ideograph Extension A 영역에 해당하는 본래 한자로 표기가 되게 됩니다. 즉 사용자 입장에서는 한글이 망가진 것처럼 보이게 됩니다. 6.x 이하의 버전으로 풀어도 어떤 연유에서인지는 모르겠으나 역시나 한글이 제대로 풀리지는 않습니다. 이때는 UTF-8로 인코딩된 해당 CJK Ideograph Extension A 문자를 각각의 ASCII 낱자로 풀어줘서 더 피곤하게 됩니다.

반대로 OS X에서 한글파일이 들어간 파일을 7.x이상의 버전으로 압축할 때  앞서 언급한 CJK Ideograph Extension A 에 해당되는 한자로 바꾸어 압축하지 않을 경우 클래식 맥에서 6.x 이하의 stuff expander 버전으로 압축해제시 한글파일이름이 제대로 나타나지 않습니다. 다행히 6.x 버전으로 압축해서 OS9에 보낼 경우 한글 문자가 잘 풀릴 수 있게 OS 9에서 압축한 방식 그대로 저장되네요.( 한글 이외의 몇몇 문자는 제외)

그래서 위의 변환을 위한 2가지 기능을 추가해 주셨으면 합니다.
1. 
 OS9 -&amp;gt; OSX으로 .sit 파일전달시를 위한 CJK Ideograph Extension A (U+3400~U+4DBF) -&amp;gt; Hangul Syllable (U+AC00~U+D7AF) 한글변환

2. 
OSX -&amp;gt; OS9으로 .sit 파일전달을 위한 Hangul Syllable (U+AC00~U+D7AF) -&amp;gt; CJK Ideograph Extension A (U+3400~U+4DBF) 한글변환


위 변환들은 한글 글자 조합에 규칙이 없는지라 1:1 테이블 변환을 어쩔 수 없이 해야 합니다. 이를 위해서 미리 제가 작성해 둔 C 헤더파일을 첨부파일로 올려 드립니다.

http://dl.dropbox.com/u/1364565/StuffIt%20Korean%20convert/StuffItKorean_to_Unicode.h
http://dl.dropbox.com/u/1364565/StuffIt%20Korean%20convert/Unicode_to_StuffItKorean.h

StuffItKorean_to_Unicode.h 이 1번 , Unicode_to_StuffItKorean.h 이 2번 변환을 위한 배열입니다.

1번 변환은 단순히 파일이름에 있는 한자를 0x3400을 0번째 배열로 처리해서 단순히 바꾸면 쉽게 한글로 변환이 되는데요, 2번의 경우에는 Charight에서 현재 어떻게 파일이름 처리 구현이 되어 있는지 모르겠지만 NFD(normalized form decomposed)로 들어오는 한글 파일이름을 위의 표를 이용해 변환을 하려면 파일이름을 미리 NFC로 정규화 해 주어야 합니다.유니코드에 있는 NFD, NFC 형 한글 문자영역 사이는 알고리즘으로 변환 가능해서 직접 하셔도 되지만 애플에서 제공되는 여러 종류의 사용가능한 정규화 메서드중 하나를 사용하는게 편리할듯 합니다. 

우선순위는 1번이 중요하고 2번째는 1번만큼 중요하지는 않습니다. : )

테스트는 아래 링크안에 들어있는 sit 파일들을 최근 StuffIt Expander 버전을  이용해 압축을 풀고 살펴보시면 됩니다.
http://dl.dropbox.com/u/1364565/StuffIt%20Korean%20convert/testset.7z
 압축한 원본은 TestSampleSet.7z 파일에 들어있는 파일들입니다. OS X와 OS 9에서 Drop Stuff 버전별로 압축했습니다. 6.5.x 와 7.x에서 한글 처리가 위에서 언급한 것과 같이 달라지므로 참고하세요.

소스 공개가 되어 있으면 제가 허접하게라도 수정을 해 보려 했지만 소스 공개가 되어 있지는 않기에, 시간 여유가 있으다면 기능 추가를 부탁드립니다.


덧) 제 추측이긴 하지만 아마도 알라딘 사에서 자신의 sit 압축 엔진 구현시 Hangul Syllable 유니코드 영역이 추가되지 않았던 모양입니다. 그래서 ㄱ,ㄴ,ㅏ,ㅑ 와 같은 한글 낱자가 정의된 유니코드 영역은 위에서 문제가 되는 .sit 버전에서도 정상적인 유니코드 코드포인트로 .sit에 저장됩니다. 또한 다른 일본어 혹은 유럽계열 문자도 표준 유니코드 코드포인트로 인코딩되어 저장됩니다.</description>
			<author>(삐도리)</author>
			<guid>http://i2workshop.com/tc/597#comment1546</guid>
			<comments>http://i2workshop.com/tc/597#comment</comments>
			<pubDate>Tue, 16 Feb 2010 13:41:57 +0900</pubDate>
		</item>
		<item>
			<title>삐도리님의 댓글</title>
			<link>http://i2workshop.com/tc/597#comment1574</link>
			<description>답변을 하지 않으시기에 위 댓글에 있는 기능을 하는 프로그램을 만들었습니다.
아래 링크를 참고하시면 됩니다

http://trip2me.tistory.com/62</description>
			<author>(삐도리)</author>
			<guid>http://i2workshop.com/tc/597#comment1574</guid>
			<comments>http://i2workshop.com/tc/597#comment</comments>
			<pubDate>Wed, 10 Mar 2010 20:25:06 +0900</pubDate>
		</item>
	</channel>
</rss>
