노무현 대통령 배너
BLOG main image
왕미친놈의 왕미친세상입니다. 미친 소리는 써도 되지만, 근거 없는 소리는 쓰면 안 됩니다.


벌레의 유형

솔직히 이 현상이 벌레인지 확신할 수 없습니다. 다만 일반적으로 "올바른 화면 표시"라고 보기에는 무리가 있습니다.

개발자의 답변

이 사항에 대한 버그 리포팅은 하지 않았습니다.

벌레의 발견

우연히 친구네 컴퓨터를 살펴보다가 내 블로그가 함초롬체로 나타남을 알게 되었습니다. 물론 대부분 다른 글꼴도 설치된 상태이므로 함초롬체로 나타나는 일은 그다지 없는데 말입니다. 아무튼 글꼴을 처음 봤을 때는 몰랐으나 나중에야 글꼴의 높이가 상당히 높음을 알게 되었습니다.

글꼴 정보

옛굴림 글꼴의 높이 : 32픽셀(pixel)

옛굴림 글꼴의 높이 : 32픽셀(pixel)


함초롬바탕 글꼴의 높이 : 41픽셀(pixel)

함초롬바탕 글꼴의 높이 : 41픽셀(pixel)

위 두 그림을 보면 옛굴림 글꼴의 높이32픽셀이며, 함초롬바탕 글꼴의 높이41픽셀입니다. 참고로 함초롬돋움 글꼴의 높이41픽셀입니다.

???글에 나타난 글꼴 높이

함초롬돋움 글꼴과 굴림 글꼴의 높이 비교

함초롬돋움 글꼴과 굴림 글꼴의 높이 비교

위 그림을 보면 함초롬 돋움의 높이가 굴림보다 더 높음을 알 수 있습니다. "움"자는 아래까지 꽉 차고 있는데, 굴림의 아랫부분은 비어 있습니다.

(X)HTML에 나타난 글꼴 높이 및 여백

익스플로러에 나타난 굴림 글꼴

익스플로러에 나타난 굴림 글꼴

위 그림을 보면 확연히 함초롬 글꼴과 높이가 다릅니다.

벌레의 원인 및 분석

단순히 글꼴의 높이가 문제로 여겨집니다.

관련 벌레

이 벌레와 관련이 있는 벌레는 없습니다.

관련 문서

내부 문서

외부 문서

(없음)

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

한컴오피스 베타버전과 함초롬 글꼴의 모양

한컴오피스2010 베타버전에서 추가된 글꼴인 함초롬체는 매우 예쁩니다. 그런데 진짜로 예쁜지, 아니면 ᄒᆞᆫ글에서 예쁘게 표현한 것인지 궁금하였습니다.

벌레의 유형

ᄒᆞᆫ글 씨! 이것이 버그인지 아닌지 알쏭달쏭합니다. 답변 좀 해 주세요.

개발자의 답변

2010년 1월 31일 버그 리포팅이 아닌 문의를 한 상태입니다.

벌레의 발견

여러 프로그램에서 함초롬 글꼴을 72포인트로 나타내 보았습니다.

한컴오피스 ᄒᆞᆫ글2010 베타버전에 나타난 함초롬 글꼴

한컴오피스 ᄒᆞᆫ글2010 베타버전에 나타난 함초롬 글꼴


한컴오피스 ᄒᆞᆫ셀2010 베타버전에 나타난 함초롬 글꼴

한컴오피스 ᄒᆞᆫ셀2010 베타버전에 나타난 함초롬 글꼴


한컴오피스 ᄒᆞᆫ쇼2010 베타버전에 나타난 함초롬 글꼴

한컴오피스 ᄒᆞᆫ쇼2010 베타버전에 나타난 함초롬 글꼴


오픈오피스 Writer 3.1.1 버전에 나타난 함초롬 글꼴

오픈오피스 Writer 3.1.1 버전에 나타난 함초롬 글꼴


Microsoft 엑셀 뷰어에 나타난 함초롬 글꼴

Microsoft 엑셀 뷰어에 나타난 함초롬 글꼴


메모장에 나타난 함초롬 글꼴

메모장에 나타난 함초롬 글꼴


파이어폭스에 나타난 함초롬 글꼴

파이어폭스에 나타난 함초롬 글꼴


인터넷 익스플로러 6에 나타난 함초롬 글꼴

인터넷 익스플로러 6에 나타난 함초롬 글꼴

벌레 분석 및 덧붙이는 말

함초롬 글꼴은 한컴오피스에서는 예쁘게 보였지만 다른 오피스나 응용 프로그램에서는 그다지 예쁘지 않습니다. 함초롬 글꼴을 웹페이지에 적용하려던 계획은 중단해야 할 듯싶습니다. 블로그에 함초롬 글꼴을 사용하기 힘들다는 사실이 슬플 뿐입니다.

관련 벌레

이 벌레와 관련이 있는 벌레는 다음과 같습니다.

관련 문서

어째 갈수록 내용보다는 관련 문서(참조 문서)가 더 많은 듯하네요. ^^;;

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

최근 오피스슈트를 만드는 두 회사에서 새 버전의 베타버전을 발표하여 오피스웨어 사용자를 즐겁게 만들고 있습니다. 그런데 여기에 포함된 오피스 프로그램에 포함된 글꼴을 따로 이용할 수 없는지 그게 더 궁금하신 분도 있더군요. 하긴 제가 봐도 함초롬 글꼴 등은 매우 예쁩니다.

필요한 파일

일단 오피스 설치 파일이 필요합니다. 그리고 그것을 설치하지 않고 압축을 풀어줄 프로그램이 필요하지요. 일단 오피스 설치 파일은 각자 구하기 바랍니다.

그리고 이 파일들의 압축을 푸는 데에는 7-Zip이 제격입니다.

압축 풀기

다운로드 받은 설치 파일

다운로드 받은 설치 파일

위 그림에서 HOffice2010.exe 파일은 한컴오피스2010 베타버전 설치파일이며, ProfessionalPlus.exe 파일은 MS오피스2010 베타버전 설치 파일입니다.

7-Zip으로 압축 풀기

7-Zip으로 압축 풀기

7-Zip을 이용하여 위와 같이 압축을 풀면 됩니다. 압축을 풀려는 파일 위에 마우스 커서를 두고 마우스 오른쪽 단추를 클릭합니다. 지금 PC방이라서 알집이 있네요. ^^a

압축이 풀린 상태

압축이 풀린 상태

위에서 압축을 푼 파일은 한컴오피스2010 베타버전의 설치 파일입니다. 압축을 풀어낸 하위 폴더로 이동합니다. 이때 글꼴은 함초롬 글꼴입니다. 필요하다면 그밖에 다른 글꼴도 압축을 풀려고 합니다. 아무튼 함초롬 글꼴의 파일 이름은 hanbatang.ttf, hanbatang-bold.ttfhandotum.ttf, handotum-bold.ttf입니다. 원래는 이 파일을 찾으려면 캐비닛 파일(.CAB)을 하나씩 뒤져야 합니다. 하지만 한컴오피스의 경우는 매우 쉽게 찾을 수 있기에 연습용으로 닥 좋습니다.

방금 압축을 푼 폴더

방금 압축을 푼 폴더

보기 > 자세히로 보기 옵션을 바꿉니다. 파일 수가 적어서 굳이 그럴 필요는 없지만, 파일이 많은 경우에는 자세히로 바꾼 뒤에 작업하면 편합니다.

보기 > 자세히로 바꾼 화면에서 종류별로 정렬하기

보기 > 자세히로 바꾼 화면에서 종류별로 정렬하기

일단 위와 같이 보기 옵션을 '자세히'로 바꿉니다. 그 뒤에 종류(빨간 동그라미)를 클릭하여 종류별로 정렬시킵니다.

.Cab 파일 가운데 글꼴이 들어 있는 것 찾기

.Cab 파일 가운데 글꼴이 들어 있는 것 찾기

위 그림처럼 찾기 쉬운 경우도 있지만, 뒤섞인 경우가 많습니다.

글꼴 찾기

위 그림에서 찾은 fonts.cab 파일의 압축을 풉니다.

글꼴 압축 파일의 압축을 푼 상태

글꼴 압축 파일의 압축을 푼 상태


하위 폴더의 목록 화면

하위 폴더의 목록 화면

일단 위 그림처럼 찾고자 하는 바가 바로 나타나는 경우도 있지만, 그렇지 않을 수도 있습니다. 그럴 경우 FontView라는 프로그램을 이용하면 됩니다. 대부분의 경우 위와 같은 화면에서 글꼴 파일의 아이콘을 두 번 클릭하면 FontView 창이 나타납니다.

FontView로 본 글꼴 정보

FontView로 본 글꼴 정보

위와 같이 파일을 하나하나 살피어 찾으면 됩니다.

함초롬바탕의 글꼴 정보

함초롬바탕의 글꼴 정보

찾아낸 글꼴 파일을 글꼴 폴더에 복사해 넣으면 사용할 수 있습니다. 단순히 복사했을 경우에는 시스템 재시작이 필요할 수도 있습니다. 또한 찾아낸 글꼴 파일을 백업할 수도 있습니다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

한컴오피스 베타버전 버그 27 - 유니코드 버그 3 및 글꼴 버그 1 - Unicode Full Set 지원??

ᄒᆞᆫ글2010 베타버전에서는 Unicode Full Set을 지원한다고 밝히고 있습니다. 자세한 사항은 한컴오피스2010 오픈베타 홈페이지에 있는 기능 설명서를 다운로드하여 읽어보기 바랍니다. 그런데 이때 Unicode Full Set은 무엇을 뜻할까요? 2009년 10월 1일 발표한 최신 유니코드 5.2일까요? 그게 아니라면 2008년에 발표한 유니코드 5.1? 2006년 발표한 5.0? 그게 아니면…? 저는 적어도 유니코드 5.0은 지원하리라 생각했습니다. 왜냐하면 한컴오피스2007이라는 제품이 있었기 때문입니다. 그런데 아니더군요. ᄒᆞᆫ글2010 베타버전유니코드 4.1도 제대로 지원하지 않았습니다.

벌레의 유형

ᄒᆞᆫ글 씨! ᄒᆞᆫ글에서 지원한다는 유니코드 버전 좀 알려주면 덧납니까? 사용자가 ᄒᆞᆫ글 프로그램에서 지원하는 유니코드 버전을 알기 위해 그 고생을 하도록 합니까?

개발자의 답변

2010년 1월 28일 버그 리포팅을 한 상태입니다.

벌레의 발견

일단 나는 한글 자모 영역만을 살펴보고는 ᄒᆞᆫ글2010한컴오피스2010 베타에서 유니코드 5.2 또는 유니코드 5.1을 지원한다고 믿고 말았다. 조금만 더 신경을 썼더라면 전혀 그렇지 않음을 알았을 텐데, 지금 생각하면 참 어리석었습니다.

유니코드 지원이란?

유니코드 지원은 크게 두 가지로 나뉩니다. 하나는 유니코드 코드표를 지원한다는 뜻입니다. 다른 하나는 유니코드를 화면에 나타낼 수 있게 한다는 뜻이지요. 워드프로세서를 제외한 오피스 프로그램이라면 당연히 코드표만 지원하면 완벽한 지원으로 볼 수 있습니다. 그러나 워드프로세서는 사정이 다릅니다. 코드표로는 아무런 의미도 없기 때문입니다. 워드프로세서란 문서를 실제로 출력해 주어야만 그 기능이 완성된다는 점에서 보면 ᄒᆞᆫ글2010은 유니코드를 제대로 지원하지 못하고 있습니다.

'한컴오피스의 유니코드 지원'을 말한 사람은?

이런 헛소문을 퍼뜨린 사람이 누구인지를 검색해 보았습니다. 검색하다가 보니 제 블로그가 상당히 많이 눈에 띄더군요. 헛!

각설하고 우선 한글과컴퓨터 한컴오피스2010 오픈베타 홈페이지에서 그 헛소리를 발견했습니다. 오호 애재라!

Unicode Full Set 지원? 정말??

Unicode Full Set 지원? 정말??

저처럼 눈 나쁜 사람을 위해 그 부분만 잘랐습니다.

저처럼 눈 나쁜 사람을 위해 그 부분만 잘랐습니다.

함초롬돋움과 함초롬바탕 글꼴이 가독성과 미려함이 좋습니다. 하지만 Unicode Full Set을 지원하지는 않습니다. 검증은 아래에서 하기로 하고 다른 웹페이지도 살펴보죠.

베타뉴스한컴오피스 2010 Beta 설명에서도 Unicode Full Set을 지원한다고 그러네요.

베타뉴스에 나타난 Unicode Full Set을 지원 글귀

베타뉴스에 나타난 Unicode Full Set을 지원 글귀

조금 다른 기사도 있습니다. 이투데이한컴, 오피스시장 점유율 20%에 도전한다라는 기사인데, 여기에 유니코드 글꼴에 대한 내용이 나옵니다.

함초롬체를 직접 언급한 이투데이 기사

함초롬체를 직접 언급한 이투데이 기사

이렇게까지 언론에서 말할 정도라면… 애초에 Unicode Full Set 지원을 말한 사람은 한글과컴퓨터사라는 뜻이겠죠? 더구나 유니코드를 지원하는 글꼴은 한컴오피스2010 베타에서 새롭게 제공하는 함초롬체라는 뜻이고요. 그렇지 않습니까?

'한컴오피스의 유니코드 지원'은 Unicode Full Set일까?

'한컴오피스의 유니코드 지원'은 Unicode Full Set일까요? 유감스럽게도 최신 버전은 아닙니다. 다시 말해 유니코드 5.2Full Set으로 지원하지는 않는다는 뜻입니다.

이것은 위키백과의 한컴 2바이트 코드 문서에 나타난 사항을 검증하면서 발견하였습니다(ᄒᆞᆫ글2010 베타버전과 유니코드 버그 1 및 문자표 버그 1 참조). 그 글에서 밝혔듯이, 이 문자표와 관련한 사항은 또 다른 판도라 상자였습니다.

위키백과의 한컴 2바이트 코드 문서에서 틀린 점을 발견했는데, 그 부분 덕분에 이 버그를 발견하게 되었습니다.

위키백과의 한컴 2바이트 코드 문서의 마지막 부분

위키백과의 한컴 2바이트 코드 문서의 마지막 부분

위 화면에서 빨간색 네모로 묶은 부분은 틀린 내용입니다. 그래서 [출처 필요]라는 출처를 요구하는 태그가 붙어 있습니다(제가 붙였습니다. ^.^v). U+470C의 한자는 䜌이며, 이것은 유니코드 5.2에서 옳은 표기입니다. 여기에서 중요한 부분은 또 다른 유니코드 번호인 U+9FBB와 그 아래에 파란 밑줄 부분입니다. U+9FBB에 해당하는 한자가 나타나지 않았는데, 이는 화면 글꼴인 굴림 글꼴에 저 번호에 해당하는 글자가 없기 때문입니다. 다르게 말하면, 아니 조금 심하게 말하면, 굴림 글꼴은 유니코드를 제대로 지원하지 못하는 글꼴이라는 말이 됩니다. 그렇다면 ᄒᆞᆫ글은 저것을 잘 나타낼까요? 파란 밑줄 부분이 사실이라면 저 한자는 나타낼 수 없습니다.

일단 유니코드 문자표는 없나요? 문서에서 부수별 한자 색인 목록이 있는 PDF 파일(RSIndex.pdf 파일)을 아도비 리더에서 불러오겠습니다.

어도비 리더에서 불러온 부수 색인 파일 136쪽의 400% 확대 화면

어도비 리더에서 불러온 부수 색인 파일 136쪽의 400% 확대 화면

그런데 U+470C 문자와 U+9FBB 문자가 서로 모양이 같습니다. 다만 U+9FBB가 지나치게 위로 치우쳐 있습니다. 이런 경우는 저 문자가 실제로 문자로 쓰이는 게 아니라, 다른 문자의 일부로써 쓰일 때 주로 나타나는 현상입니다.

실제 문자표 파일(CodeCharts-MulticolHan.pdf 파일)에서는 어떻게 나타나는지 살펴봅시다.

어도비 리더에서 불러온 한자 파일 747쪽 제1단의 200% 확대 화면

어도비 리더에서 불러온 한자 파일 747쪽 제1단의 200% 확대 화면

U+9FBB가 지나치게 위로 배치되어 있습니다. 그런데 그 앞에 나온 문자들도 만만치 않습니다. 위로 치우치거나 왼쪽으로 치우쳐 있습니다. 이 말은 이 문자들이 정상적인 글자로 쓰이지 않고 다른 용도로 쓰인다는 추측을 가능하게 합니다. 이는 곧 위키백과의 한컴 2바이트 코드 문서의 마지막 부분 그림에 나타난 빨간 네모 안의 내용이 틀렸다는 근거이기도 하지요.

이제 앞서 언급한 ᄒᆞᆫ글이 저 문자를 잘 나타내는지를 살펴보겠습니다. 위키백과의 한컴 2바이트 코드 문서의 마지막 부분 그림의 파란 밑줄 부분이 사실이라면 저 한자는 나타낼 수 없고, 그것이 거짓이라면 나타낼 수 있어야 합니다.

문자표를 불러 유니코드 문자표 탭에서 9FBB를 찾습니다.

ᄒᆞᆫ글2010의 문자표에서 나타나지 않은 U+9FBB 코드 포인트

ᄒᆞᆫ글2010의 문자표에서 나타나지 않은 U+9FBB 코드 포인트

ᄒᆞᆫ글2010의 문자표는 코드 포인트 U+9FBB에 해당하는 글자를 나타내지 못하고 있습니다.
이때 코드 포인트는 흔히 코드 값으로 부르는 것의 정식 명칭인데, 유니코드에서 다른 글자와 겹치지 않는 그 글자만의 고유값을 가리킵니다. 현재까지 유니코드에 배정된 코드 포인트는 모두 111만4112개입니다.

단순히 글꼴에서 표시해 주지 못할 뿐이라는 생각도 할 수 있습니다. 하지만 저 문자표의 글꼴은 현재 커서가 놓인 곳의 글꼴을 따르게 되어 있습니다. 그리고 지금 커서가 놓인 곳은 글꼴은 함초롬돋움 글꼴입니다.

현재 글꼴은 함초롬돋움

현재 글꼴은 함초롬돋움

아, 함초롬돋움함초롬바탕은 다를 수 있다고요? 그럼 바꿔 보겠습니다.

현재 글꼴은 함초롬바탕

현재 글꼴은 함초롬바탕


글꼴은 바뀌어도 U+9FBB 코드 포인트의 글자는 나타나지 않습니다.

글꼴은 바뀌어도 U+9FBB 코드 포인트의 글자는 나타나지 않습니다.

그렇다면 다른 글꼴도 시험해 보겠습니다. 유명한 셰어웨어 유니코드 글꼴Code2000로 바꾸겠습니다. 물론 함초롬체도 유니코드 글꼴입니다.

한글이 밉게 나와서 자주 쓰지 않는 Code2000 글꼴

한글이 밉게 나와서 자주 쓰지 않는 Code2000 글꼴

참고로 저는 아직 Code2000 라이선스를 갖고 있지 않습니다. 다시 말해 비등록 사용자인 셈이지요. 이 글을 쓰기 위해 다운로드해서 설치했습니다.

Code2000 글꼴로 바꾼 뒤 잘 나타나는 코드 포인트 U+9FBB의 글자

Code2000 글꼴로 바꾼 뒤 잘 나타나는 코드 포인트 U+9FBB의 글자

위 그림에서 자주색 테두리를 친 부분은 유니코드 4.1에서 추가된 부분입니다. 다시 말해 2005년 3월 31일에 이미 유니코드 표준이 된 글자입니다. 그렇다면 이투데이 기사의 내용대로 함초롬체 개발에 2년이 소요되었더라도 이미 추가했어야 할 글자라는 뜻입니다. 참고로 파란색 테두리를 두른 부분은 유니코드 5.1에서 추가된 부분입니다.

한자의 모양을 화면에 나타내지 못한다고 해서 유니코드를 지원하지 않는다는 말은 잘못되었다는 의견도 있을 수 있습니다. 그러나 저 글자 가운데 어떤 글자도 ᄒᆞᆫ글의 한자 사전에서 음과 훈, 한어병음 가운데 어느 하나도 나타나 있지 않습니다. 물론 음과 훈은 정해져 있지 않고, 한어병음도 정해져 있지 않을 수 있습니다. 그러나 단 하나, 정해져 있는 것이 있습니다. 바로 획수입니다.[각주:1]

획수조차 나타나지 않는 한자 사전

획수조차 나타나지 않는 한자 사전

도대체 무엇을 근거로 Unicode Full Set을 지원한다는 말을 했을까요?

벌레 분석

Unicode Full Set을 지원한다는 말은 그저 광고 문구로만 볼 수 없습니다. 상당히 많이 기대한 ᄒᆞᆫ글의 유니코드 지원이지만, 결과적으로 한글 자모만의 지원이라는 생각이 듭니다. 물론 한국에서 개발한 프로그램이므로 한글 자모만 지원되어도 충분할 수 있습니다. 그러나 그것이 Unicode Full Set 지원을 뜻하지는 않는다고 생각합니다.

관련 벌레

이 벌레와 관련이 있는 벌레는 다음과 같습니다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. 정해진 것이 하나 더 있습니다. 바로 글자의 외형(glyph)입니다. 다만 글자의 외형은 글꼴에서 지원하지 않으면 나타낼 수 없으므로, 실제로 정해진 것은 바로 획수입니다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

최근 제 블로그의 CSS 설정에서 글꼴 하나를 삭제하고 몇 가지 작업을 더하였습니다. 그런데 그 뒤로 제목의 옛한글이 이상하게 나타나는 현상이 일어났습니다.

벌레의 유형

이 벌레는 모여야 할 때 흩어지는 벌레입니다.

개발자의 답변

2010년 1월 22일 버그 리포팅을 하였습니다.

벌레의 발견

파이어폭스에 나타난 이상한 옛한글

파이어폭스에 나타난 이상한 옛한글

처음에는 파이어폭스에서 발견했습니다.

인터넷 익스플로러에 나타난 이상한 네모

인터넷 익스플로러에 나타난 이상한 네모

인터넷 익스플로러에서도 확인했습니다.

어, 그런데, 분명히 저 제목에 쓰인 글꼴은 은 돋움 글꼴로서 옛한글을 지원하는 글꼴입니다.

글꼴 실험 1 - 보통 글씨

왜 저렇게 이상하게 보일까요? 이상하게 여겨져서 테스트를 하기로 했습니다. 이번에 실험한 글꼴은 은 돋움, 은 바탕, 은 자모 돋움, 은 자모 바탕입니다.

[code html] <div style="font-size: 1.4em; line-height: 100%;"> <p>font-weight:normal;</p> <p>한글 자모 영역(U+1100~U+11FF)을 이용한 합자 테스트</p> <p style="font-family: '은 돋움'; ">은 돋움 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 바탕'; ">은 바탕 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 돋움'; ">은 자모 돋움 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 바탕'; ">은 자모 바탕 : &#x1112;&#x119E;&#x11AB;</p> <p>호환용 한글 자모(U+3130~U+318F)를 이용한 합자 테스트</p> <p style="font-family: '은 돋움'; ">은 돋움 : &#x314E;&#x318D;&#x3134;</p> <p style="font-family: '은 바탕'; ">은 바탕 : &#x314E;&#x318D;&#x3134;</p> <p style="font-family: '은 자모 돋움'; ">은 자모 돋움 : &#x314E;&#x318D;&#x3134;</p> <p style="font-family: '은 자모 바탕'; ">은 자모 바탕 : &#x314E;&#x318D;&#x3134;</p> </div> [/code]

위와 같은 코드를 넣은 HTML 파일을 만들어서 시험을 했습니다. &#x1112;&#x119E;&#x11AB;&#x314E;&#x318D;&#x3134;은 앞서 자주 나왔던 그 문자, 바로 ᄒᆞᆫ입니다. 자세한 사항은 스프링노트 : 문자 인코딩 관련 사항을 참조하기 바랍니다.

그 결과는 아래와 같습니다.

IE6에서 본 옛한글 보통 글씨

IE6에서 본 옛한글 보통 글씨

한편 위에서 호환용 한글 자모의 합자는 지원하지 않음을 알게 되었습니다. 그러므로 코드를 조금 고치겠습니다.

글꼴 실험 2 - 굵은 글씨

보통 글씨의 합자는 잘 나타내지만, 반대로 호환용 한글 자모의 합자는 지원하지 않아서 코드를 고쳤습니다.

[code html] <div style="font-size: 1.4em; font-height: 130%; font-weight:bold;"> <p>font-weight:bold;</p> <p>한글 자모 영역(U+1100~U+11FF)을 이용한 합자 테스트</p> <p style="font-family: '은 돋움';">은 돋움 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 바탕';">은 바탕 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 돋움';">은 자모 돋움 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 바탕';">은 자모 바탕 : &#x1112;&#x119E;&#x11AB;</p> </div> [/code]

참고로 1.4em제 블로그기사 제목(title) 글자 크기입니다.

파이어폭스에서 본 옛한글 굵은 글씨

파이어폭스에서 본 옛한글 굵은 글씨

은 자모 돋움은 변함없이 옛한글을 보여주지 못하고 있습니다. 또한 보통 글씨에서 옛한글을 잘 보여주던 은 돋움도 옛한글을 보여주지 못하고 있습니다. 현재 은 돋움 글꼴이 아까보다는 확실히 굵게 보이고 있습니다.

글꼴 실험 3 - 볼드 글꼴 지우기

은 돋움 글꼴은 굵은 글씨에 해당하는 볼드 글꼴이 따로 있습니다. 은 돋움 글꼴은 UnDotum.ttf 파일이며, 은 돋움 글꼴의 굵은 글씨는 굵은 은 돋움 글꼴이 담당하는데, UnDotumBold.ttf 파일입니다. 이 파일이 있다면 은 돋움 글꼴에 볼드 속성을 요청하면, 이 파일에서 읽어오게 됩니다. 개인적으로 이 굵은 은 돋움 글꼴은 너무 굵어서 좋아하지 않습니다. 정확히 말하면, 너무 굵어서 읽기 힘든 면이 있기 때문에 싫어합니다.
하지만 이번에는 굵기 때문에 제목에 넣었는데 오히려 옛한글을 제대로 나타내지 못하니 환장할 노릇이지요.

아무튼 이번에 이 글꼴 파일을 제거한 뒤 다시 부팅하겠습니다. 뭐, 글꼴 캐시만 지우고 웹브라우저를 다시 시작하면 되지만, 확실히 하기 위해 다시 부팅했습니다.

파이어폭스에서 본 옛한글 굵은 글씨 (글꼴 없음)

파이어폭스에서 본 옛한글 굵은 글씨 (글꼴 파일 없음)

정확한 글꼴 파일 없이 자체적으로 볼드 속성을 구현한 경우에는 제대로 나타나고 있습니다. 그렇다면 범인은 굵은 은 돋움 글꼴인가 봅니다.

글꼴 실험 4 - 다른 은 글꼴

이번에는 은 바탕이나 은 돋움 이외의 글꼴도 포함하여 살펴보겠습니다. 편의상 편집하여 표시하겠습니다. 양해 바랍니다.

은 바탕 글꼴이 지원하는 유니코드 영역의 일부

은 바탕 글꼴이 지원하는 유니코드 영역의 일부

위 그림은 은 바탕 글꼴이 지원하는 유니코드 영역(Supported Unicode Blocks)의 일부입니다. 위 그림에서 빨간 네모 테두리를 두른 곳을 살펴보면, 하나는 한글 자모 영역이며, 다른 하나는 호환용 한글 자모입니다. 이 가운데 한글 자모 영역이 있는 글꼴을 테스트하려고 했는데, 모든 은 글꼴에서 자모 영역을 발견하였고, 그에 따라 모든 은 글꼴을 대상으로 삼았습니다.

[code html] <div style="font-size: 1.4em; font-height: 100%; font-weight:normal;"> <p>font-weight:normal;</p> <p>한글 자모 영역(U+1100~U+11FF)을 이용한 합자 테스트</p> <p style="font-family: '은 바탕';">은 바탕 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '굵은 은 바탕';">굵은 은 바탕 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 봄';">은 봄 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 디나루';">은 디나루 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '굵은 은 디나루';">굵은 은 디나루 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '가는 은 디나루';">가는 은 디나루 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 돋움';">은 돋움 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '굵은 은 돋움';">굵은 은 돋움 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 그래픽';">은 그래픽 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '굵은 은 그래픽';">굵은 은 그래픽 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 궁서';">은 궁서 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 바탕';">은 자모 바탕 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 돋움';">은 자모 돋움 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 노벨';">은 자모 노벨 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 소라';">은 자모 소라 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 펜';">은 자모 펜 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 펜흘림';">은 자모 펜흘림 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 필기';">은 자모 필기 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 자모 필기a';">은 자모 필기a : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '굵은 은 자모 필기';">굵은 은 자모 필기 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 신문';">은 신문 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 타자';">은 타자 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 바다';">은 바다 : &#x1112;&#x119E;&#x11AB;</p> <p style="font-family: '은 옛글';">은 옛글 : &#x1112;&#x119E;&#x11AB;</p> </div> [/code]

테스트 결과는 다음과 같습니다.

모든 은 글꼴의 옛한글 합자 지원 테스트 결과

모든 은 글꼴의 옛한글 합자 지원 테스트 결과

옛한글 합자를 지원하는 글꼴만 따로 모으면 다음과 같습니다.

옛한글 합자를 지원하는 은 글꼴 모음

옛한글 합자를 지원하는 은 글꼴 모음

벌레의 원인

이 벌레에 대해서는 원인을 알지 못합니다. 저는 글꼴의 내부 구조에 대해 아는 바가 전혀 없기 때문입니다.

비슷한 벌레

글꼴 및 화면 표시와 관련한 버그는 다음과 같은 것이 있습니다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

요즘 한컴오피스 2010 베타버전을 사용하다 보니 조금 이상한 현상을 발견했습니다. 한/글에서는 제대로 보이는 괄호가 웹페이지에서는 약간 다르게 보이는 현상입니다.

  • 참고 : 이 글에 나타난 사항을 바탕으로 블로그의 글꼴 설정을 바꾸었습니다.

벌레의 유형

남들은 다 날씬해 보이기를 바라는데, 이 벌레는 홀로 뚱뚱해 보이기를 바라고 있습니다.

개발자의 답변

버그 리포팅을 하지 않았습니다. 이 글을 쓰기 시작할 때까지는 적용되어 있던 글꼴 가운데 돋움 옛한글 글꼴(ODOTUM.TTF)은 MS 오피스2000 팩키지 또는 확장 팩에 포함되어 있던 글꼴입니다. 현재 이 파일에 대한 지원을 MS에서 중단한 상태입니다. 그래서 그 글꼴을 삭제하였습니다. 생각 같아서는 굴림 옛한글 글꼴도 삭제하고 싶지만, 그것이 기본 글꼴에 대한 확장이라서 그냥 두었습니다.

벌레의 발견

파이어폭스에 나타난 이상한 괄호

파이어폭스에 나타난 이상한 괄호

처음에는 파이어폭스에서 발견했습니다.

인터넷 익스플로러에 나타난 이상한 괄호

인터넷 익스플로러에 나타난 이상한 괄호

인터넷 익스플로러에서도 확인했습니다. 제 컴퓨터에 있는 IE6은 대개 이런 용도로만 쓰입니다.

글꼴 실험 시작

왜 저렇게 이상하게 보일까요? 어떤 글꼴인지 알 수 없어서 하나하나 살펴보기로 했습니다. 대상은 제 블로그에 설정한 글꼴과 몇몇 다른 글꼴입니다.

[code html] <div style="font-size:10pt;"> <p style="font-family: '굴림';">굴림 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '굴림체';">굴림체 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '돋움 옛한글';">돋움 옛한글 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '바탕 옛한글';">바탕 옛한글 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '굴림 옛한글';">굴림 옛한글 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '굴림 옛한글 자모';">굴림 옛한글 자모 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '궁서 옛한글';">궁서 옛한글 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '은 돋움';">은 돋움 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '은 바탕';">은 바탕 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '은 자모 돋움';">은 자모 돋움 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '은 자모 바탕';">은 자모 바탕 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '은 자모 노벨';">은 자모 노벨 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '은 자모 소라';">은 자모 소라 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '함초롬바탕';">함초롬바탕 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: '함초롬돋움';">함초롬돋움 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: 'Code2002';">Code2002 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: 'Code2001';">Code2001 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: 'Code2000';">Code2000 : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> <p style="font-family: 'serif';">serif : &#x1112;&#x119E;&#x11AB;을 지우기(Del 키)를 할 때</p> </div> [/code]

위와 같은 코드를 넣은 HTML 파일을 만들어서 시험을 했습니다. &#x1112;&#x119E;&#x11AB;은 앞서 자주 나왔던 그 문자, 바로 ᄒᆞᆫ입니다. & 문자HTML 참조 코드 또는 글자 엔티티(character entity)임을 나타내고 있습니다. 뒤에 수치가 따라왔으므로 HTML 참조 코드입니다(스프링노트 : 문자 인코딩 관련 사항 참조). 이 코드는 옛한글 지원 여부를 알아보려고 넣었습니다.

다만 위에서 <div style="font-size:10pt";>라고 나타난 부분은 앞으로 바뀌게 됩니다. 이때 이 실험은 처음 시작할 때와 코드가 조금 바뀌었으며, 여기에 밝힌 사항은 이미 실험에 성공하였기에 나타난 사항임을 염두에 두기 바랍니다.

10포인트 글꼴 테스트

10포인트 글꼴에서는 이상을 발견할 수 없었습니다. 처음에는 이것 때문에 조금 헤맸습니다. 하지만 구글링 결과 글꼴 버그가 특정 크기에서만 나타나는 경우도 있다고 했기 때문에 급히 코드를 약간 고쳤습니다.

10포인트 글꼴 테스트

10포인트 글꼴 테스트

10포인트보다 큰 글꼴의 크기별 테스트

편의상 편집하여 표시합니다. 양해 바랍니다.

11포인트 글꼴 테스트 : 모든 글꼴에서 이상 없음

11포인트 글꼴 테스트 : 모든 글꼴에서 이상 없음

12포인트 글꼴 테스트 : 모든 글꼴에서 이상 없음

12포인트 글꼴 테스트 : 모든 글꼴에서 이상 없음


13포인트 글꼴 테스트 : 모든 글꼴에서 이상 없음

13포인트 글꼴 테스트 : 모든 글꼴에서 이상 없음


14포인트 글꼴 테스트 : 돋움 옛한글 글꼴에서 이상 발생

14포인트 글꼴 테스트 : 돋움 옛한글 글꼴에서 이상 발생


16포인트 글꼴 테스트 : 돋움 옛한글 글꼴에서 이상 발생

16포인트 글꼴 테스트 : 돋움 옛한글 글꼴에서 이상 발생


18포인트 글꼴 테스트 : 돋움 옛한글 글꼴에서 이상 발생

18포인트 글꼴 테스트 : 돋움 옛한글 글꼴에서 이상 발생


20포인트 글꼴 테스트 : 모든 글꼴에서 이상 없음

20포인트 글꼴 테스트 : 모든 글꼴에서 이상 없음

이보다 더 큰 글꼴에서의 테스트는 저에게 필요가 없기에 여기에서 멈추었습니다. 마지막 20포인트 글꼴에 빨간 네모로 표시한 부분이 옛한글을 잘 나타내고 있는 글꼴입니다.

  • 참고로 저는 Code2000 계열 글꼴을 가지고 있지 않기에 위 그림들에서 Code2000 계열 글꼴에서 옛한글이 모두 깨지고 있습니다. 그리고 MS 오피스 확장 팩 글꼴은 제가 가진 MS Word 2000과 함께 딸려왔습니다.

벌레의 원인

이 글을 쓰기 시작할 때까지는 적용되어 있던 글꼴 가운데 돋움 옛한글 글꼴(ODOTUM.TTF)은 MS 오피스2000 팩키지 또는 확장 팩에 포함되어 있던 글꼴입니다. 아마도 그 파일에 어떤 벌레가 숨어 있었나 봅니다.

비슷한 벌레

글꼴 및 화면 표시와 관련한 버그는 다음과 같은 것이 있습니다.

관련 문서

내부 문서

외부 문서

(없음)

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

영어나 외국어로 된 프로그램의 메시지을 한글로 바꾼 뒤에 그 언어 정보는 원래대로 두는 실수를 하는 때가 있다. 보통 때는 전혀 문제가 없으나, 간혹 문제가 생기는 경우도 있습니다. 이렇게 언어 정보가 틀려 있는 프로그램의 언어 정보를 리소스 해커(Resource HackerTM)를 이용하여 고쳐보도록 하겠습니다.

먼저 Total Commander Korean Forum :: XPG Community 사이트에서 NFO Viewer 플러그인을 다운로드합니다.

언어 정보 편집 순서

프로그램 리소스에서 언어 정보를 고치는 작업의 순서는 다음과 같습니다.

  1. 프로그램의 언어 정보 고치기
  2. 메뉴의 언어 정보 고치기
  3. 대화상자의 언어 정보 고치기
  4. 대화상자의 글꼴 정보 고치기

프로그램의 언어 정보 고치기

리소스 해커에서 파일을 열어서 가장 먼저 할 일은 프로그램 전체에 적용되는 언어 정보를 고치는 작업입니다. 프로그램 전체에 적용되는 언어정보는 아래 자료 화면에서, 주로 왼쪽 창에서 Version Info라는 항목을 살펴보면 찾을 수 있습니다.

버전 정보(Version Info)와 언어 정보

버전 정보(Version Info)와 언어 정보

다음과 같은 순서로 작업을 합니다.

  1. nfoviewer_kor.wlx 파일을 리소스 해커에서 엽니다.
  2. Version Info를 클릭하고, 1을 클릭하고, 2052를 클릭하면 위와 같은 화면을 볼 수 있습니다.
  3. 오른쪽 창에서 BLOCK "StringFileInfo" 부분과 BLOCK "VarFileInfo" 부분을 찾습니다. "Translation", 0x0804 0x04B0 부분에서 앞의 십육진수는 언어 정보이고, 뒤의 십육진수는 코드페이지 정보입니다.
  4. MSDN :: List of Localized MS Operating Systems 문서를 참조하여 언어 정보(LCID)와 코드페이지 정보를 알아둡니다.
    • 참고로 한국어의 LCID는 십육진수로 0x0412, 십진수로는 1042입니다. 그리고 코드페이지는 십진수로 949, 십육진수로는 0x03B5입니다. 다만 이번 경우에는 0x04B0(utf-16, 유니코드)을 그대로 유지합니다.
  5. "Translation", 0x0804 0x04B0 부분을 "Translation", 0x0412 0x04B0라고 고칩니다.
  6. BLOCK "080404b0" 부분을 BLOCK "041204b0"라고 고칩니다.
  7. 왼쪽 창에서 언어 정보(LCID)를 2052(중국어 간자체)에서 1042(한국어 통합완성형)로 고칩니다.

    언어 변경

    언어 변경


    새 리소스 언어 입력

    새 리소스 언어 입력

  8. 스크립트 컴파일을 클릭한다. 이 작업을 하면 지금까지 했던 작업 결과가 적용된다.
    스크립트 컴파일
  9. 저장한다.
    저장

메뉴의 언어 정보 고치기

메뉴는 대부분 글꼴 정보를 포함하고 있지 않습니다. 그 까닭은 메뉴는 대부분 비주얼스튜디오와 같은 IDE(개발 환경)에서 자동으로 만들어주기 때문이며, 또한 그 과정에서 시스템에서 기본으로 정해준 글꼴을 사용하도록 설정되어 있기 때문입니다. 물론 프로그램을 짤 때 사용자가 수동으로 바꿀 수는 있으며, 또한 메뉴 글꼴 전체를 사용자 시스템에서 고칠 수도 있습니다.

[디스플레이지 등록 정보]의 [고급 화면 배색]에서 [메뉴] 항목을 수정하는 화면

[디스플레이지 등록 정보]의 [고급 화면 배색]에서 [메뉴] 항목을 수정하는 화면

이 글에서는 그런 시스템 정보는 전혀 다루지 않지만, 참고 삼아 알려드렸습니다.

메뉴 항목과 언어 정보

메뉴 항목과 언어 정보

메뉴에 대한 언어 정보를 고치는 과정은 다음과 같습니다.

  1. nfoviewer_kor.wlx 파일을 리소스 해커에서 엽니다.
  2. Version Info를 클릭하고, 101을 클릭하고, 2052를 클릭하면 위와 같은 화면을 볼 수 있습니다.
  3. MSDN :: List of Localized MS Operating Systems 문서를 참조하여 언어 정보(LCID)와 코드페이지 정보를 알아둡니다.
  4. 왼쪽 창에서 언어 정보(LCID)를 2052(중국어 간자체)에서 1042(한국어 통합완성형)로 고칩니다.
  5. 오른쪽 창에서 LANGUAGE LANG_CHINESE, 0x2 부분을 찾습니다. 이것을 LANGUAGE LANG_KOREAN, 0x1라고 고칩니다. 이때 마지막 0x2SUBLANG_KOREAN 또는 0x01로 고쳐도 됩니다.
  6. 스크립트를 컴파일한 뒤에 저장합니다. 이때 스크립트를 컴파일하면 LANGUAGE LANG_KOREAN, SUBLANG_KOREAN 이라고 바뀐 부분이 LANGUAGE LANG_KOREAN, 0x1로 바뀝니다. 이것은 정상이므로 걱정하지 않아도 됩니다.

이 프로그램(nfoviewer_kor.wlx)에는 메뉴가 하나뿐이지만, 대부분의 프로그램은 메뉴가 여러 개로 되어 있다.

대화상자의 언어 정보 고치기

프로그램을 만들게 되면 현재 화면에 보이는 창으로 작업을 할 수 없는 때가 생기거나 메시지를 사용자에게 전달해야 하는 때가 있다. 이때 생성하는 것이 바로 대화상자이다. 대화상자에는 언어 정보와 함께 글꼴 정보가 함께 포함되는 때가 많다.

이 프로그램(nfoviewer_kor.wlx)에는 대화상자가 하나뿐이지만, 대부분의 프로그램은 대화상자가 여러 개로 되어 있다.

대화상자 항목과 언어 정보

대화상자 항목과 언어 정보

작업하는 순서는 다음과 같습니다.

  1. 앞서 작업한 메뉴를 참조하여 대화상자언어 정보(LCID)와 코드페이지 정보를 고칩니다.
  2. 글꼴 정보에서 FONT 9, "宋?"FONT 9, "굴림" 또는 FONT 10, "굴림"으로 고칩니다.
  3. 스크립트를 컴파일한 뒤에 저장합니다.

완료

그밖에 살펴야 할 사항

일단 이렇게 바꾸었으면, 메시지가 정상적으로 출력되는지를 확인해야 합니다. 이 작업에 앞서 반드시 원본을 백업해 두기 바랍니다. 백업은 선택이 아닌 필수입니다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

Total Commander Korean Forum :: XPG Community 사이트에서 플러그인을 살펴보다가 NFO Viewer 플러그인의 한글화된 파일이 있어서 다운로드를 하게 되었다. 한글화가 얼마나 잘 되었는지 알고 싶어서 리소스 해커(Resource HackerTM) 프로그램을 이용하여 열어보았다.

그런데 한글화된 그 플러그인의 언어 정보가 한글이 아닌 중국어였다. 다시 말해 대화상자 등의 메시지는 한글로 바꾸었으나, 정작 가장 중요한 언어 정보는 중국어인 상태로 놔두었다. 이럴 경우 한글 윈도에서는 제대로 보이지만, 중국어 윈도에서는 한글이 깨져서 나타날 수도 있다.

  • 참고 : 이 글에서는 실제로 수정하는 방법에 대해서는 다루지 않습니다.

언어 정보는 어디에?

리소스 해커에서 파일을 열면 언어 정보는 어디에서 살필 수 있을까? 이 정보는 주로 왼쪽 창에서 Version Info라는 항목을 살펴보면 알 수 있다. 대부분의 프로그램의 리소스에는 이 항목이 나타나고 있습니다.

버전 정보(Version Info) 부분에 나타난 언어 정보

버전 정보(Version Info) 부분에 나타난 언어 정보

우선 왼쪽 창에서 파랑게 된 숫자 부분을 보자. 2052라고 되어 있다. 오른쪽 창에서 BLOCK "StringFileInfo" 부분과 BLOCK "VarFileInfo" 부분을 보자. 특히 밑줄을 그은 부분을 잘 살펴야 한다.
BLOCK "StringFileInfo" 부분에서 밑줄 그은 BLOCK "080404b0" 부분과 아래의 BLOCK "VarFileInfo" 부분의 VALUE "Translation", 0x0804 0x04B0 부분을 살펴보면 무언가 눈에 들어오는 게 있다. 그렇다. 거기에 나타난 십육진수의 값이 같다. 그렇다면 위의 2052 부분은? 바로 0x0804이다. 엄밀히 말하면 왼쪽 창의 십진수 값대로 십육진수 값을 정하게 된다. 가끔 이 값이 틀리는 경우도 있는데, 그렇더라도 대부분 정상적으로 메시지를 출력해 준다. 다만 알 수 없는 문제가 생길 수도 있으므로 혹시라도 발견한 경우가 있다면, 그러한 값을 고쳐 주면 된다.

이때 "Translation", 0x0804 0x04B0 부분에서 앞의 십육진수는 언어 정보이고, 뒤의 십육진수는 코드페이지 정보입니다.

언어 정보

뭉뚱그려서 언어 정보라고 썼지만, 마이크로소프트에서는 이것을 LCID(Locale Identifier)라고 부릅니다. 이 정보는 엄밀히 말하면 언어 정보라기보다는 지역 정보와 언어 정보의 혼용에 가깝습니다.

인터넷에서 검색하여 찾아낸 언어 정보는 다음과 같습니다. 원본 페이지는 Language (Resource)입니다. 원문에는 8자로 되어 있으나, 코드페이지 부분이 잘못되어 있어서 삭제하였다.

[code text; tab-size:32; smart-tabs: true] Arabic 0401 Bulgarian 0402 Catalan 0403 Traditional Chinese 0404 Czech 0405 Danish 0406 German 0407 Greek 0408 U.S. English 0409 Castilian English 040A Finnish 040B French 040C Hebrew 040D Hungarian 040E Icelandic 040F Italian 0410 Japanese 0411 Korean 0412 Dutch 0413 Norwegian - Bokm?l 0414 Polish 0415 Brazilian Portugese 0416 Phaeto-Romanic 0417 Romanian 0418 Russian 0419 Croato-Serbian (Latin) 041A Slovak 041B Albanian 041C Swedish 041D Thai 041E Turkish 041F Urdu 0420 Bahasa 080A Simplified Chinese 0804 Swiss German 0807 U.K. English 0809 Mexican Spanish 080A Belgian French 080C Swiss Italian 0810 Belgian Dutch 0813 Norwegian - Nynorsk 0814 Portugese 0816 Serbo-Croatian (Cyrillic) 081A Canadian French 0C0C Swiss French 100C [/code]

위의 자료에서 십육진수 0x0804Simplified Chinese를 나타낸다. 이때 Simplified Chinese중국어 간체자의 영어 표기이다. 이것을 한글화 한다면 메시지뿐만 아니라 이 정보도 바꾸어 주어야 한다. 그러나 왼쪽 창에 나타나는 값(LCID 값)을 고치려면 언어 변경을 해야만 한다. 변경할 때는 십진수와 십육진수를 혼동하지 않아야 합니다.

좀 더 자세한 정보는 MSDN :: List of Localized MS Operating Systems 문서를 살펴보기 바랍니다.

코드페이지 정보

코드페이지 정보를 알아보기 쉽게 정리한 자료는 MSDN에서 찾을 수 있다. MSDN 자료는 십진수로 나타나 있으므로 십육진수를 십진수로 고쳐서 보아야 한다. 0x04B0은 십진수 1200으로 바꿀 수 있다.

Identifier .NET Name 추가 정보
1200 utf-16 Unicode UTF-16, little endian byte order (BMP of ISO 10646); available only to managed applications

윈도에서 한글화를 할 때 한글로 나타낼 수 있는 코드페이지는 1200(04b0, utf-16), 949(03B5, ks_c_5601-1987), 1361(0551, Johap) 등이며, 이 가운데 1200(04b0, utf-16), 949(03B5, ks_c_5601-1987)이 주로 쓰인다. 유니코드를 지원한다면 1200(04b0, utf-16)을 써야 하며, 유니코드를 지원하지 않는다면 949(03B5, ks_c_5601-1987)를 써야 한다.
위의 경우 처음부터 유니코드로 되어 있으므로 그것을 그대로 유지하여 쓰는 것이 좋다.

좀 더 자세한 정보는 MSDN :: List of Localized MS Operating Systems 문서를 살펴보기 바랍니다.

그밖에 살펴야 할 사항

리소스 해커를 이용하여 프로그램을 한글화할 때 그밖에도 살펴야 할 사항이 있다.

언어 정보

2052가 LCID 값이며, LANG_CHINESE 문자열이 언어 정보를 나타내는 문자열이다.

왼쪽 창의 2052 값이 LCID 값이며, LANG_CHINESE 문자열이 언어 정보를 나타내는 문자열이다.

가장 먼저 앞서 말한 LCID 값을 고쳐주어야 한다. 왼쪽 창에 나타난 LCID 값을 고치려면 언어 변경을 해야만 합니다. 변경할 때는 십진수와 십육진수를 혼동하지 않아야 합니다.

언어 정보를 가진 문자열 및 상수

각각의 메시지마다 언어 정보가 들어 있습니다. 바로 언어 정보를 가진 문자열이죠. MSDN :: Language Identifier Constants and Strings 문서에서 그 값을 찾을 수 있습니다. 이 값을 참조하여 메시지마다 그 정보를 고쳐 주어야 합니다. 이 값은 MS의 비주얼스튜디오가 아니더라도 공통으로 사용되고 있으므로 외우지는 못하더라도 그런 것이 있다는 사실은 기억해야 합니다. 만약 이것을 고친 뒤에 제대로 나오지 않는다면, 문자열을 상수값으로 고쳐주면 됩니다.

예컨대, 그림에서 LANG_CHINESE 대신에 LANG_KOREAN를 썼는데, 화면에 한글을 제대로 표시하지 못한다면, 그것의 실제 값인 0x12를 쓰면 한글을 올바르게 나타낼 수 있다.
한편 위 그림에서 LANG_CHINESE 뒤에 오는 십육진수는 SUBLANG이라고 하며, 하나의 언어에 여러 가지 문자 코드가 존재할 때 사용한다. 이 SUBLANG 값은 앞서 오는 언어 상수 값에 영향을 받으므로, 이 값이 같다고 같은 의미를 가진다고 오해하지 않아야 한다. 다시 말해 다음 두 코드에서 0x1은 서로 다른 의미를 가진다.

[code cpp] LANGUAGE LANG_KOREAN, 0x1 [/code] [code cpp] LANGUAGE LANG_CHINESE, 0x1 [/code]

참고로 위 화면의 LANGUAGE LANG_CHINESE, 0x2는 다음과 같다.

[code cpp] LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED [/code]

글꼴 바꾸기

마지막으로 글꼴을 살펴야 합니다. 간혹 글꼴 정보가 엉뚱하게 되어 있는 경우가 있다. 보통은 시스템 기본값을 쓰도록 글꼴을 설정하지 않을 때도 있는데, 차라리 그럴 경우에는 괜찮다. 그런데 엉뚱한 글꼴을 지정한 경우에는? 시스템에서 잘 처리해 주기를 바라야 한다.

위 그림에서는 글꼴 정보가 FONT 9, "宋?"라고 나타나 있습니다. 이것은 아마도 중국어의 송체를 가리킵니다. 메모장 등에서 SimSun으로 나타나는 글꼴이죠. 이것을 "굴림" 또는 "굴림체"로 바꾸어 주면 좋습니다.
그런데 이때 주의할 점이 있습니다. 보통 외국어 글꼴이 9포인트이며, 한글로는 10포인트로 바뀔 경우가 많습니다. 그러나 강제로 "굴림"과 같은 글꼴을 지정하면 글꼴 크기는 그대로 9포인트가 됩니다. 이때 10포인트로 바꾸어도 되고, 그대로 두어도 됩니다. 일단 바꾼 뒤 화면에 나타나는 모습을 보고 다시 고쳐도 됩니다.

관련 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

알리는 말

이 글에 소개된 사항은 중대한 오해와 착오 때문에 오류가 아닌 사실을 기록하고 있습니다. 현재 한/글/ 2005 및 한/글/ 2007 모두 구결을 정상 표기하고 있습니다.

벌레의 유형

이 벌레가 어떤 글꼴에서 나타나는지를 알기 위해 내 컴퓨터에 설치된 한글 글꼴을 모두 점검해 보았다. 그 결과 모든 한글 글꼴에서 이 벌레가 나타나고 있음을 알게 되었다. 다시 말해 앞서 말한 두 글자를 다르게 표시하는 글꼴이 하나도 존재하지 않았다.

벌레의 현재 상황

한/글/ 2007 편집화면을 오픈캡처를 이용하여 갈무리한 뒤 쪽을 기준으로 잘라내어 알맞게 편집하였다. 일부 글꼴에서 글자 모양은 다르지만, 사실상 같은 글자를 나타내는 경우도 있었다. 이는 엄(?)과 엄(?)의 한국어 발음이 같기 때문에 잘못 프로그래밍 한 것으로 여겨진다.

아래에서 실제 글꼴은 "(한)신궁체A"부터 시작한다. 다시 말해 "(한)신궁체A"부터 트루타입 글꼴이 시작하며, 그 위의 글꼴은 한/글/ 2005와 한/글/ 2007에서 기본 글꼴로 지정해 놓은 글꼴이다.

한/글/ 2005에서 구결 문자 표기 1
한/글/ 2005에서 구결 문자 표기 2
한/글/ 2005에서 구결 문자 표기 3
한/글/ 2005에서 구결 문자 표기 4
한/글/ 2005에서 구결 문자 표기 5
한/글/ 2005에서 구결 문자 표기 6
한/글/ 2005에서 구결 문자 표기 7
한/글/ 2005에서 구결 문자 표기 8
한/글/ 2005에서 구결 문자 표기 9
한/글/ 2005에서 구결 문자 표기 10

위의 글꼴에서 SH-펜 글꼴까지가 트루타입 글꼴이며, 명조 글꼴부터는 한/글/ 전용 글꼴이다.

한/글/ 2005에서 구결 문자 표기 11

한/글/ 2005에서 구결 문자 표기 12

관련 문서

참고로 원본 파일은 위아래로 매우 긴 파일이다.


이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

벌레의 유형

고정폭 글꼴의 너비를 잘못 설정하여 발생한 오류로 여겨진다.

벌레의 발견

네이버에서 배포한 나눔고딕코딩 1.650 버전(2009년 2월 3일자)에서 나타나는 벌레이다.

20090323NGCtest.png

위의 그림은 나눔고딕코딩 12포인트일 때의 화면이다. 눈에 확 띄지는 않지만 선문자가 어긋나 있음을 알 수 있다.

또한 나눔고딕코딩은 모든 크기에서 선문자가 어긋나고 있음을 확인하였다.

제작자/제공자의 답변

2009년 3월 26일 현재 오류를 보고한 상태이다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

카테고리

분류 전체보기 (1005)
스크립트 (22)
벌레와 팁 (126)
소프트웨어 (240)
하드웨어 (6)
이야기 (24)
말의 나무 (506)
미쳐보자 (22)
일기 (48)
아이폰 (10)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

글 보관함