2008/02/17

Mobipocket 문서에서 일부 특수문자가 깨지는 문제 해결하기

Mobipocket 문서에서 일부 특수문자가 깨지는 문제 해결하기

최신판에서 한글 띄어쓰기 버그를 고쳐보려고 삽질하다가 엉뚱한 문제를 해결해버렸습니다.

/home/intent/rofs_target.bin

요 파일이 사실은 zip 압축파일이라는 사실을 알아냈습니다.
읽기 전용 속성을 없애고 압축을 푼 다음,

/ave/font/store.map

요 파일을 고치면 됩니다.

# Chinese character support by font replacement
.font={file=ROOTDIR/usr/share/fonts/truetype/ttf-asian-default/mshei.ttf chars=11904-65103}

# DejaVu (strange latin chars) font replacement
.font={file=ROOTDIR/usr/share/fonts/truetype/ttf-western-default/DejaVuSans.ttf chars=256-1785

요 부분을

# Chinese character support by font replacement
.font={file=ROOTDIR/usr/share/fonts/truetype/ttf-asian-default/mshei.ttf chars=4352-4607}
.font={file=ROOTDIR/usr/share/fonts/truetype/ttf-asian-default/mshei.ttf chars=11904-195103}

# DejaVu (strange latin chars) font replacement
.font={file=ROOTDIR/usr/share/fonts/truetype/ttf-western-default/DejaVuSans.ttf chars=256-1785}
.font={file=ROOTDIR/usr/share/fonts/truetype/ttf-western-default/DejaVuSans.ttf chars=7424-11903}

이렇기 고치면 됩니다. 다시 zip 압축해서 읽기전용 속성 넣어주고요.

http://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%EB%B2%94%EC%9C%84_%EB%AA%A9%EB%A1%9D

위 사이트가 유니코드 글자별 매핑 주소를 나타낸 건데요, 16진수로 되어있는 것을 10진수로 바꿔서 써주면 됩니다. 이를테면 4352-4607 요게 한글 자모입니다.

물론 원래 있던 글꼴로는 한글도 제대로 안 나옵니다.
제가 배포하는 한글 패치를 적용하면 한글은 제대로 나올 텐데,
글꼴을 다른 걸로 바꿔서 패치해 줘야 한자와 이상요상한 특수기호까지 나옵니다.
배포판에서는 공짜 글꼴을 넣느라...^^;

No comments: