우리가 IDL에서 여러가지 그림들을 표출하는 작업을 하면서 "그림 내에서 문자들을 한글로 표시할 수는 없을까?"에 대하여 아마도 한번쯤은 궁금해하셨을 것으로 생각합니다. 저 역시 마찬가지이고 아마도 대한민국의 IDL 유저들이라면 누구나 이런 의문을 가져보셨을 것 같습니다. 사실 이 질문에 대하여 제가 감히 답을 드리자면 대략 다음과 같습니다.
1) IDL을 설치하고 바로 사용할 경우에는 불가능하다
2) 그러나 별도의 추가적인 요소들을 설치하고 적절한 조치를 취해주면 불가능하지는 않다
3) 다만 이 방법은 셋업 과정이 다소 번거롭다
즉 불가능하지는 않지만 그 셋업 과정이 좀 번거롭게 느껴질 수 밖에 없다는 것입니다. 또한 유저의 환경에 따라서는 이 방법이 잘 작동하지 않을 가능성도 없진 않습니다. 하지만 어떻든간에 이 방법에 대해서는 제가 아는 한도 내에서 최소한의 소개 및 설명은 해두는 것이 좋을 것 같아서 이렇게 관련 게시물을 올리게 되었습니다. 일단 미리 한가지 말씀드리자면, 오늘 소개할 방법은 제가 테스트해본 바로는 NG(New Graphics) 및 OG(Object Graphic) 체계에서만 잘 작동하며 DG(Direct Graphics) 체계에서는 작동하지 않는다는 것입니다. DG 체계에서 제대로 작동하지 않는 이유는 저도 파악하지 못했습니다. 그리고 이 방법은 제가 Windows 및 Mac OS용 IDL에서 잘 작동하는 것을 확인하였습니다. 또한 이 방법을 사용하기 위해서는 PC에서 관리자 권한의 계정에서 작업해야 한다는 것도 잊지마시기 바랍니다. 그러면 지금부터 이 방법을 설명해보도록 하겠습니다.
< 과정 1 > 한글 폰트 파일의 확보
일단 한글 폰트 파일이 필요한데, 구체적으로는 트루타입(True Type) 계열의 한글 폰트 파일을 의미하며 이러한 파일들은 확장자가 .ttf입니다. 이러한 파일들은 다양한 경로를 통하여 각자 알아서 입수해야 합니다. 사실 폰트 파일들은 무료 또는 유로로 배포되는 것들도 있고 그 입수 방법에 있어서 여러가지 경우들이 있습니다. 그런데 그 중 한가지 방법을 언급하자면, 윈도우즈 PC에서 Windows/Fonts 디렉토리를 보면 다양한 종류의 폰트 파일들이 보이는데요. 여기서 적당한 한글 폰트를 골라서 그 파일을 갖다 쓰는 것도 한가지 방법이 될 수 있습니다. 예를 들어 '맑은 고딕' 폰트의 경우 해당 파일은 malgun.ttf로 존재하는데 이 파일을 가져다 쓰는 것입니다. 어쨌든 .ttf 파일로 존재하는 한글 폰트 파일을 적절히 선택하면 됩니다. 저도 오늘은 이 방법을 선택해보겠습니다. 여러분들도 적절한 폰트 파일을 확보하시기 바랍니다. 폰트 파일은 제가 여기서 직접 첨부하지는 않겠습니다.
< 과정 2 > 한글 폰트 파일의 설치
적절한 폰트 파일을 확보했으면 이 폰트 파일을 '설치'해야 합니다. 여기서 '설치'의 의미는 IDL이 이 폰트 파일을 인지할 수 있게끔 해준다는 의미인데요. 즉 폰트 파일을 IDL 설치 디렉토리 내의 폰트 디렉토리 내에 넣어줘야 합니다. 그 디렉토리의 구체적인 위치는 IDL이 설치된 PC의 OS 및 IDL의 버전에 따라 다양할 수 밖에 없는데, 예를 들어 윈도우즈 PC에 설치된 IDL 8.8의 경우라면 그 디렉토리의 경로는 C:\Program Files\Harris\IDL88\resource\fonts\tt가 됩니다. 실제로 이 디렉토리로 가보면 이미 다수의 폰트 파일들이 존재하는 것을 볼 수 있는데, 이 폰트들이 IDL에서 기본적으로 지원하는 트루타입 폰트들입니다. 다만 이 중에는 한글 폰트가 없습니다. 그렇기 때문에 우리가 직접 이 디렉토리 내에 한글 폰트 파일을 추가해줘야 하는 것입니다. 제가 윈도우즈 PC에서 가져온 malgun.ttf 파일을 앞서 언급한 IDL의 폰트 디렉토리에 카피해둔 모습은 다음과 같습니다.
그런데 이렇게 파일만 추가하는 것으로 끝나면 편하겠지만 한가지 더 해줘야 할 일이 있습니다. 바로 같은 디렉토리 내에 존재하는 ttfont.map이라는 파일(위의 캡쳐에서 맨 하단에 보이는 파일)의 내용을 편집해주는 것입니다. 즉 새로 추가된 폰트 파일과 관련된 정보를 추가로 기입해줘야 합니다. 이 파일은 그 실체는 텍스트 파일이기 때문에 메모장과 같은 기본 편집기에서 편집을 해주면 됩니다. 물론 편집을 위해서는 관리자 권한의 계정이 필요합니다. 편집된 모습은 대략 다음과 같습니다.
이와 같이 맨 하단에 새로운 폰트에 관한 내용 한 줄을 추가로 기입하였습니다. 이 한 줄의 내용에서 첫번째 컬럼은 IDL 내에서 실제로 사용될 폰트 명칭입니다. 여기서는 위와 같이 "Malgun"으로 표기하였으며, 실제로 IDL 내에서 사용할 때에는 대소문자 구분은 없습니다. 그리고 두번째 컬럼은 해당 폰트 파일의 이름이 되어야 합니다. 그리고 세번째 및 네번째 컬럼에는 숫자들이 적혀있는데 그냥 다른 줄에 있던 내용을 그대로 카피해온 것이고 실질적인 의미는 거의 없다고 보시면 됩니다. 그리고 각 컬럼 사이의 공간은 탭(tab)으로 띄어쓰기를 하면 됩니다. 이와 같이 수정된 ttfont.map 파일이 사용되도록 해야 합니다. 여기까지 하면 다소 귀찮았던 설치 과정은 거의 마무리가 된 셈입니다.
< 과정 3 > 설치된 한글 폰트의 활용
이제 설치된 폰트를 활용해봅시다. 활용 예제로서 다음과 같이 NG 체계에서 간단한 플롯을 표출하면서 캡션 문자들을 한글로 삽입해보도록 합시다.
win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR)
p = PLOT(/TEST, COLOR='tomato', THICK=2, $
FONT_NAME='Malgun', FONT_SIZE=10, $
TITLE='이것은 테스트용 그림입니다', XTITLE='X 축', YTITLE='Y 축', /CURRENT)
t = TEXT(140, 0.5, '안녕하세요', COLOR='green', $
FONT_NAME='Malgun', FONT_SIZE=20, ALIGNMENT=0.5, /DATA)
여기서는 PLOT 및 TEXT 함수에서 FONT_NAME 속성에 대하여 Malgun이라는 폰트 이름을 부여하면서 문자들을 한글로 기입하였습니다. 이 방법이 정상적으로 작동을 한다면 다음과 같은 그림을 얻게 될 것입니다.
IDL 에서 그린 그림에서 이렇게 한글을 보니까 뭔가 좀 반갑군요. 그런데 만약에 이 방법이 정상적으로 작동하지 않을 경우에는 아마 다음과 같은 그림을 얻게 될 것입니다.
이와 같이 방법이 제대로 작동하지 않을 경우에는 제가 앞서 설명드린 과정들을 다시 한번 살펴보시기 바랍니다. 특히 서두에서 이미 언급했듯이 위의 과정들이 제대로 적용되도록 하기 위해서는 관리자(Administrator) 권한의 계정에서 작업해야 한다는 것을 잊지말아야 합니다. 그리고 혹시 ttfont.map 파일을 편집하려고 하는데 관리자 계정에서 하는데도 권한이 없다느니 하는 메시지가 뜬다면, ttfont.map 파일을 다른 디렉토리로 옮겨서 편집을 하고 다시 원래 디렉토리로 옮기는 방법도 있습니다. 그리고 혹시 모르니까 원래의 ttfont.map 파일은 따로 백업을 해두는 것도 좋을 것 같습니다.
이 방법은 제가 윈도우즈 PC에 설치된 IDL을 기준으로 설명하였지만, Mac OS에서도 적용이 가능합니다. 제가 실제로 윈도우즈 PC에서 가져온 malgun.ttf 파일을 Mac OS 머신으로 가져와서 사용해보았더니 잘 작동하였습니다. Mac OS의 경우는 IDL의 폰트 디렉토리 경로가 /Applications/harris/idl88/resource/fonts/tt가 된다는 것만 다를 뿐 나머지 셋업 과정들은 똑같습니다. 위와 똑같은 프로그램을 Mac OS용 IDL에서 실행하여 얻은 그림은 다음과 같습니다.
이와 같이 IDL에서 그림을 표출(NG 체계에서)할 때 한글을 삽입하기 위한 방법은 대략 이 정도로 정리해볼 수 있을 것 같습니다. 전체적인 과정을 설명하면서 언급하였듯이 이 방법의 특징 및 한계점을 정리해보면 다음과 같습니다.
1) 적합한 한글 폰트에 해당되는 트루타입(True Type) 폰트 파일을 따로 입수해야 한다
2) 셋업을 위해서는 관리자 권한의 계정에서 작업해야 한다
3) NG, OG 체계에서는 잘 작동하지만 DG 체계에서는 작동하지 않는 것으로 확인된다
4) 윈도우즈 및 Mac OS용 IDL에서 잘 작동한다
5) 셋업이 된 PC에서만 작동하며, 다른 PC에서는 작동되지 않는다
6) 결과물을 그림 파일로 저장할 경우 PNG, JPG 등과 같은 비트맵 형식일 경우는 괜찮지만 PDF, PS 등과 같은 벡터 형식일 경우에는 한글이 제대로 반영되지 않는다
리눅스의 경우는 제가 테스트를 해보지는 못했습니다. 어쨌든 이와 같은 방법이 있으므로 필요하신 분들은 한번 테스트를 해보시면 어떨까 합니다.
'IDL > New Graphics' 카테고리의 다른 글
_EXTRA 키워드의 활용 예제 (0) | 2022.04.28 |
---|---|
컬러테이블만 표출하는 방법 (0) | 2022.04.19 |
POLARPLOT 함수 소개 (0) | 2022.03.10 |
NG 체계에서 그림 저장시 크기 관련 이슈 (0) | 2022.02.22 |
3차원 공간상에서 문자 표시 팁 (0) | 2022.02.15 |