http://moordev.tistory.com/175


이 포스팅 바로전에 슬픈 굴림이야기라는 포스팅을 잠시 했었습니다. 내용은 대충 Wine으로 실행 되는 프로그램중에 굴림을 지정해서 사용하는 경우가 있으며 해당 프로그램을 위해 Windows에서 Gulim.ttc 파일을 추출한 후 설치해야 한다라는 것이 요지였습니다. 물론 Wine프로그램이 아니더라도 문서에서 굴림을 쓰는 경우에도 비슷한 문제가 생기게 됩니다. 우분투는 그래도 나눔고딕으로 대신해주는 기능이 있지만 다른 리눅스는 해당 기능이 없는 경우도 있습니다.


어쨌건 굴림이 필요하다면 굴림체를 설치하면 그만인데 문제는 EULA입니다. Windows라이센스 없이 해당 폰트를 사용한다는 것은 법적으로 문제가 될 수 있다는 것입니다.


물론 Microsoft가 미쳤다고 개인사용자들의 라이센스를 일일이 확인 할 것 같지는 않지만 이런 라이센스가 박힌 물건에대해 꺼림칙하게 생각하는 사람도 있는 것이 사실입니다.


그렇다면 어떻게 해야할까요?

정답은 http://egloos.zum.com/einmong/v/5885619 여기에서 찾을 수 있었습니다.


gulim.ttc파일을 분해하고 나눔고딕과 나눔고딕코딩, 나눔바른고딕, D2Coding 등 무료로 사용이 가능한 폰트로 각각 대체해버리는 것입니다.


이름만 굴림이고 실제로는 나눔고딕으로 대체해버린다면 문제될 것은 전혀 없는 것이지요. Microsoft가 저작권을 갖고 있는 것은 굴림폰트의 형태이지 해당 파일 그 자체인 것은 아닙니다. 그러니까 나눔고딕을 그냥 굴림으로 지정해버리고 굴림을 대체해버리는 것입니다.


나눔고딕을 대체한 굴림이 필요하시다면 이 글 아래에 올려놓았으니 받아서 사용하시면 됩니다.


위의 이글루스의 글을 보면 unitettc라는 프로그램과 ttfname3이란 프로그램을 사용합니다. 두 프로그램 모두 일본에서 제작된 프로그램인데 unitettc는 리눅스도 지원합니다. ttfname3은 Windows만 지원하지만 wine으로 아무 문제없이 구동이 가능했습니다.


unitettc는 http://yozvox.web.fc2.com/unitettc.zip

이곳에서 받을 수 있고 ttfname3은 위의 블로그에서 다운로드 가능합니다.


일단 gulim.ttc 파일을 unitettc로 분해해서 4개의 ttf로 만들고(굴림, 굴림체, 돋움, 돋움체) ttf에서 ttfname3으로 폰트정보를 빼낸다음 대체할 폰트에 각 폰트정보를 대신 입히고 다시 ttc로 묶는 것을 마무리를 짓는 것입니다. 자세한 내용은 위 블로그에서 다 찾을 수 있지만 일부 명령이 다르겠지요.


준비물은 UniteTTC, TTFname3.exe (위 이글루스에서 구할 수 있음)

gulim.ttc (Windows에서 추출)

NanumGothic.TTF, NanumGothic_Coding.TTF, NanumBarunGothic.TTF, D2Coding.TTF (보통 우분투에 설치되어있음)


이들이 모두 한 폴더에 있다고 가정하겠습니다.


뒤의 4개의 폰트는 /usr/share/fonts를 뒤지면 구할 수 있습니다. D2Coding의 경우는 https://github.com/naver/d2codingfont/releases

여기서 집어오시거나 fonts-naver-d2coding패키지를 설치하시면 됩니다. (17년 현재 아직 저장소에 등록이 되지는 않았네요)


UniteTTC압축을 풀면 파일이 이것저것 많이 나오는데 우리가 쓸 것은 unitettc64 혹은 unitettc32 만 있으면 됩니다. 자신의 PC환경에 맞는 버전을 쓰면 됩니다.


sudo chmod +x unitettc64

./unitettc64 ./gulim.ttc


이렇게 하시면 gulim001.ttf ~ gulim004.ttf 파일이 나옵니다. 각가 굴림, 굴림체, 돋움, 돋움체입니다.


그다음 폰트 정보를 빼냅니다. xml형태로 나오더군요.


wine ttfname3.exe gulim001.ttf -o gulim001.xml

wine ttfname3.exe gulim002.ttf -o gulim002.xml

wine ttfname3.exe gulim003.ttf -o gulim003.xml

wine ttfname3.exe gulim004.ttf -o gulim004.xml


이렇게 빼낸 폰트정보를 이제 대체 폰트에 덮어 씌웁니다.

기존의 gulim001.ttf~ gulim004.ttf 파일은 삭제해주세요. gulim.ttc 파일도 삭제해주셔도 됩니다.


wine ttfname3.exe NanumGothic.TTF gulim001.xml -o gulim001.ttf

wine ttfname3.exe NanumGothic_Coding.TTF gulim002.xml -o gulim002.ttf

wine ttfname3.exe NanumBarunGothic.TTF gulim003.xml -o gulim003.ttf

wine ttfname3.exe D2Coding.TTF gulim004.xml -o gulim004.ttf


이렇게 함으로서 이름만 굴림이고 돋움인 나눔고딕과 D2코딩폰트가 만들어지게 됩니다. 이들을 그대로 설치해도 굴림과 돋움으로 인식하지만 Wine으로 굴리는 프로그램중에서 gulim.ttc가 아니면 안 되는 녀석도 있더군요. 그러니까 gulim.ttc로 다시 묶어야 합니다.


./unitettc64 gulim.ttc gulim001.ttf gulim002.ttf gulim003.ttf gulim004.ttf


이렇게 하시면 이제 Gulim.TTC파일이 만들어지게 됩니다. 이걸 그냥 설치하시면 됩니다. 글꼴보기에서 글꼴 설치 버튼을 누르면 됩니다. 기존에 gulim.ttc가 설치되어 있었다면 먼저 삭제를 해주시는 것이 좋습니다. 보통 ~/.fonts에 설치되어있을 것입니다.


그리고 fc-cache -f -v 명령으로 폰트 캐시를 다시 만들어 주세요. 그 다음 로그아웃 했다가 다시 로그인 해주시면 기존으로 굴림으로 나오던 모든 부분이 나눔고딕으로 바뀌어져 있을 것입니다.


이게 바로 그 결과물입니다.


Gulim_NANUM.ttc.tar.7z


안에 있는 압축을 풀면 gulim.ttc라는 파일이 나오는데 이름만 굴림이고 내용물은 나눔고딕들 입니다. 이것은 법적으로 전혀 문제가 되지 않습니다. 한양정보통신이라고 써있는 것이 조금 거슬리기는 하는데 나눔고딕을 그대로 넣었으므로 이름만 굴림인 셈입니다.




Lubuntu님이 나에게 보내주셨던 스크린샷이다. 원인을 알아냈을때의 그 허무함이란.

굴림체가 없는 경우 스타크래프트 배틀넷에 들어가면 이렇게 한글이 깨지게 됩니다. 왜냐하면 여기서는 굴림을 지정했기 때문입니다. 하지만 굴림을 설치하면 아래와 같이 한글이 나오게 됩니다.


이것은 마이크로소프트의 굴림을 이용한 스크린샷입니다. 기존하고 다른 것은 보이지 않습니다. 왜냐하면 Windows에서 쓰던 그 폰트니까요.


그리고 이 것이 나눔고딕으로 바뀌치기한 굴림을 설치한 후 입니다. 큰 차이는 보이지 않지만 확대하면 미묘하게 다르답니다. 물론 나눔글꼴이 영문 글꼴이 별로라곤 하는데 한국어 사용자에게 영문은 보조일 뿐입니다.


어쨌건 제 시스템에서 이제 굴림을 쫓아냈습니다. 이제 굴림으로 들어오는 모든 것은 나눔고딕으로 바뀌어져서 볼 수 있어요!!!! 참고로 이건 Windows에서도 쓸 수 있다고 하네요!

,


굴림은 한글윈도가 발매되며 한국마이크로소프트가 한양폰트에 의뢰하여 만든 글꼴입니다. 즉 대한민국에 윈도95란 것이 발매되고 시장을 점유함과 동시에 대한민국에서 제일 많이 쓰인 글꼴이 됩니다. 일단 기본 한국어 인터페이스가 이 글꼴을 기준으로 만들어졌고 Windows의 기본 글꼴이기 때문에 아무런 저작권 문제없이 각종 문서에 사용될 수 있었습니다. (저작권이 Free인 것은 아니고 Windows의 라이센스를 가지고 있다면 누구나 사용이 가능했다는 점입니다.)


윈도95가 발매되던 당시에는 640x480가 주력 해상도 취급을 받던 시절입니다. 이 당시에는 VGA해상도라고 따로 이름을 붙였고 1024x768은 XGA라 해서 모니터에서나 볼 수 있는 해상도 취급이었습니다. 당시에 1024x768해상도는 글씨가 작다고 불평불만이 많았다고 합니다. 굴림글꼴은 이때의 해상도에 맞추어서 만들어진 글꼴로 비트맵방식을 기본으로 하고 있습니다. 당시에 지금과 같은 벡터글리프 방식을 사용했다면 컴퓨터 성능이 남아나지 않았을겁니다. 실제로 한글 윈도95와 영문 윈도95는 성능차이가 눈에 보였었고 한글 윈도95는 요구 메모리가 영문판의 2배를 요구했습니다. 원인은 어마어마한 크기의 한글 글꼴 때문이었지요.


상황이 이 모양이었기 때문에 고해상도의 비트맵을 사용하거나 벡터글리프는 사용할 수 없었고 Bold와 Italic체를 따로 만들어 넣을 수 없어서 Fakebold라 불리는 글꼴 변형작업을 해야 했습니다. 그러니까 굴림글꼴은 당시 어쩔 수 없었던 성능상 문제와의 타협이었던 것이지요.


시대는 변하고 변해 2000년대 초반 WindowsXP가 발매되고 유니코드가 사용되기 시작합니다. 그 전에는 아스키코드를 기반으로 남는 공간에다 글꼴을 할당하는 방식을 사용했기에 국가설정마다 글꼴을 읽는 방법이 달랐습니다. 지금도 많이 보이는 괡괩체가 그것입니다. 하지만 유니코드는 국가설정 관계없이 전세계의 모든 글꼴을 표현할 수 있었고 그에따라 모든 언어를 표현할 수 있게끔 해당 글꼴들을 모두 기본으로 넣어야 했습니다. 이 당시부터는 한글 사용을 위해 굳이 한글판 윈도를 설치할 필요는 없게 된 것입니다.


그래서 영문판을 쓰던 사람들도 한글이 나오게 되면 자연스럽게 굴림으로 표현이 되어 한글이 깨지지 않게 되었습니다. 문제는...


굴림이 영문폰트에 비해 너무 못생겼다는 것입니다. 시대가 HD시대가 되면서 도트가 눈에 띄게 되어버렸는데 고해상도에서도 예쁘게 표현되는 영문글꼴에 갑자기 투박한 한글폰트가 나오면 비교가 될 수밖에 없지요. 한글판 사용자들은 영문이나 한글이나 굴림을 표현되어 이를 못 느꼈지만 영문판 사용자들은 비교가 너무 된다고 아우성이었습니다.


굴림글꼴 자체가 저해상도에 맞춰져서 만들어진 탓에 지나치게 가늘게 만들어졌고 AA따위는 당연히 없었으며 AA도 적용이 제대로 안 되니 힌팅? 그런것 따윈 없었던 것이지요. 즉, 글꼴이 너무 많은 탓에 고해상도 고려를 하지 못한 것입니다.


이 상황을 보던 한국 마이크로소프트에서는 WindowsXP후속작에 새로운 한글글꼴을 넣기로 하고 맑은 고딕이라는 새로운 글꼴을 산돌커뮤니케이션에 의뢰합니다. 그리고 기본 인터페이스에 이를 이용하기로 했습니다.


하지만...WindowsXP의 후속작인 WindowsVista는 말그대로 망해버렸고 WindowsXP는 그대로 장수만세를 외치며 생명을 연장하게 됩니다. 물론 한국마이크로소프트는 WindowsXP용 맑은 고딕을 함께 배포했지만 귀찮은 것을 싫어하던 이용자들은 그런것이 있는줄도 몰랐지요. 게다가 맑은 고딕을 설치한다고 한들 기본 인터페이스가 굴림이니 별다른 차이를 못 느꼈고요.


이렇게 굴림이 한글글꼴에 여기저기 사용되면서 그 폐해가 드러나게 됩니다. GUI프로그램을 만드는 사람은 특정 인터페이스를 제외하곤 GUI의 글꼴을 따로 지정하지 않고 시스템의 글꼴을 사용하도록 하는 것이 좋습니다. 2000년대 유니코드시대가 오면서 전세계의 모든 글꼴을 필요로 하게 되었고 WindowsXP이후에는 시스템폰트만으로도 전세계 글꼴을 표현하도록 할 수 있기 때문이지요. 하지만 구닥다리 방식으로 만들어진 프로그램은 당당하게 "굴림"글꼴을 사용하게 하드코딩을 했고 굴림글꼴이 없으면 폰트가 깨지게되는 그런 UI병신의 프로그램을 만들게 됩니다. (현재진행형으로 일본이 아직도 이따위 프로그램들이 많습니다. 만약 일본산 프로그램중에 MSMincho가 없다고 오류를 뿜는다면 100% 이따위인 것입니다.)


그러니까 한국어 사용자라면 당연히 "굴림"글꼴이 있을 것이라고 판단하고 그렇게 만든 것입니다. 만약 시스템폰트를 쓰게 했다면 WindowsVista이후로는 맑은 고딕으로 나오게 되었을 것이고 깔끔한 인터페이스가 가능했을 것입니다. 하지만 WindowsXP가 너무 오래사용되면서 "굴림"을 지정하고 만든 프로그램이 너무 많아졌고 지금도 골칫거리입니다.


우분투에서 Wine으로 프로그램을 실행했을 때 우분투의 인터페이스 글꼴과 동일한 글꼴로 표현된다면 마이크로소프트의 가이드라인을 잘 준수한 프로그램이라고 할 수 있습니다. 즉, 시스템폰트를 사용하기 때문에 우분투의 시스템 폰트를 받아와서 사용할 수 있는 것입니다. 하지만 특정폰트를 지정한다면? 그 폰트가 없는 곳에서는 ☐ ☐ ☐ 로 표현되어 글씨가 보이지 않게 됩니다. 이 때 해결방법은? 해당폰트를 설치하는 수밖에는 없습니다. 아니면 그 다른 폰트를 그 폰트라고 대체하거나요.


하지만 아직도 굴림을 필요로 하는 프로그램은 많이 있고 그냥 한국어라고 "굴림"을 지정해버리는 경우가 아직도 있습니다. 그냥 시스템폰트를 사용하는 것으로 하면 될 것을 왜 이렇게 지정하는 것일까요? 그나마도 맑은 고딕도 아닌 구닥다리 굴림을 말이지요. 사실 저는 굴림이 굉장히 싫습니다. 서울남산체나 나눔바른고딕같은 꽤 예쁜 글꼴도 있고 NotoSans같은 가늘면서도 고해상도에서도 읽기 좋은글꼴도 있습니다. 이런 프로그램들을 위해 굳이 Gulim.ttc파일을 설치해야 한다는 사실이 슬프군요.


P.S https://gigglehd.com/zbxe/13364057

여기에 보시면 그냥 gulim.ttc 파일을 분해해서 나눔고딕과 다른 폰트로 대체한 후 다시 짜맞춰서 넣음으로서 굴림을 대체해버립니다. 사실 우분투에서 굴림사용은 EULA가 거슬렸는데 이름만 굴림으로 해버리고 사용이 자유로운 글꼴로 대체한다면 해당 문제가 사라질 것을 보입니다.

굴림 - 나눔고딕

굴림체 - 나눔고딕코딩

돋움 - 나눔바른고딕

돋움체 - D2 Coding


이렇게 하면 나눔글꼴로 완전 대체가 가능 할 것 같습니다. 바탕체나 궁서체는 따로 지정하는 경우가 적으므로 신경을 크게 안 써도 될 것 같고요. 빠른 시일내에 이름만 굴림이고 내용물은 나눔글꼴인 gulim.ttc파일을 만들어봐야겠습니다.


저부터 제 시스템에서 굴림을 쫓아내보도록 하겠습니다.

,

나만의 우분투를 만드는 Customizer. 이 프로그램으로 작업을 한다는 것은 꽤 삽질을 요합니다. 하지만 Customizer로 하는 작업이 어떤 커스터마이징을 하더라도 그 순서는 거기서 거기입니다.


1. Customizer로 ISO파일을 열고

2. 패키지를 받아오는 서버를 바꾼다음

3. Customizer의 터미널을 열고 명령어를 이용해서 이런저런 설정을 합니다.

4. 다시 ISO로 묶은 다음 가상머신에서 테스트.

5. 마음에 안 들면 다시 3번으로


여기서 다른 것은 중간에 터미널을 이용해서 어떤 패키지를 설치하고 어떤 패키지를 뺄 것인지 정도입니다. 나머지는 다 똑같지요.


제가 만들었던 것을 몇가지 나열하자면


- 제 누님을 위해 만든 한글2008+리브레오피스+Chromium Browser+한글입력기만을 넣은 LXDE기반 배포판(총 용량 240MB)


- 우분투 기린 한국어판


- 졸업작품 구동용 Openbox기반 USB전용 라이브버전


- 졸업논문용 실험을 위해 만든 시리얼통신+MATLAB구동 전용 라이브 USB버전


등이 있습니다.


이중에서 제가 제일 걸작으로 보는 것은 제일 첫번째로 있는 한글2008을 넣어서 만든 버전입니다. 누님이 쓰는 고물 노트북에서도 원활하게 구동될 수 있도록 심혈을 기울여(?)만든 커스텀버전입니다. 당연히 따로 배포할 생각도 없고 배포 할 수도 없습니다.(한글2008 때문에) 하지만 이것도 결국 apt-get이나 dpkg로 패키지를 설치하고 지운 것은 동일합니다. 결국 딱히 무언가 특별한 방법을 쓴 것은 아니란 뜻이지요.


SUSE Studio의 모습 자신이 선택한 프로그램과 저장소 위치등을 지정할 수 있게 만들어져 있다. 출처 : https://en.wikipedia.org/wiki/SUSE_Studio#/media/File:SUSE_Studio.png



Debian, Redhat, Slackware와 함께 리눅스 배보판계의 살아있는 조상님인 SUSE에서는 SUSE Studio란 서비스를 하고 있습니다.

https://susestudio.com/


이것이 어떤 서비스냐면 SUSE리눅스를 기반으로 자신이 원하는 소프트웨어를 웹상에서 추가하고 빼는 것으로 자신만의 SUSE기반 배포판을 만드는 서비스입니다. 즉, 웹으로 하는 커스터마이징이라고 볼 수 있습니다.


이는 굉장히 혁신적이고 재미있는 서비스라고 할 수 있습니다. 사람에 따라서는 무조건 설치하는 프로그램도 있지만 필요없는 프로그램도 많습니다. 특히 우분투는 미리 설치해주는 프로그램이 많기 때문에 취향에 맞춰 이후 손을 대는 사람도 많습니다.


하지만 이런 서비스를 이용한다면? 배포판을 다운로드 받기전에 해당 프로그램을 미리 추가할 수도 있고 필요없는 프로그램을 뺄 수도 있는 것입니다. 단점은 저장소에 없는 프로그램은 미리 넣을 수가 없다는 것입니다. 하지만 PPA가 활발하게 만들어져 있는 우분투 특성상 저장소 걱정은 거의 없다고 볼 수 있겠지요.


실제로 저는 우분투 설치후 바로 하는 작업이 한글설정+한글입력기 설치입니다. 기본으로 주는 ibus가 저는 마음에 들지 않거든요. fcitx나 Nimf, Uim같이 훌륭한 입력기가 있기 때문에 ibus를 지우고 바로 해당 입력기를 설치합니다. 그런데 SUSE Studio같은 서비스가 있다면 배포판을 다운로드 받기전에 미리 웹상에서 작업을 할 수 있겠지요. 게다가 2017년 현재에는 설치에 필요한 USB메모리의 용량이 넉넉하기 때문에 GIMP같이 거대한 프로그램도 미리 넣어서 설치와 동시에 사용할 수도 있을 것이고요.


이외에도 Lubuntu나 Xubuntu같은 배포판말고도 Openbox+tint2+conky등으로 가볍게 배포판을 꾸리고 싶으신 분들도 있을 겁니다. 그런 분들도 웹에서 패키지를 설정하는 것으로 만들 수 있을 것입니다.


하지만 아직 우분투는 그런 서비스를 하고 있지 않습니다. 우분투는 이런 방법대신 여러개의 배포판을 만드는 것으로 대신했지요. Lubuntu, Xubuntu, Kubuntu 등.


우분투방법도 선택권을 넓히는 것으로 나쁜 것은 아니었지만 약간 아쉽다는 생각이 듭니다. ubuntu studio란 이름을 쓴 무언가가 했지만 그것은 이런 것이 아니었습니다.


그런데 결국 apt-get 이라는 것은 서버상에서 Customizer를 이용해서 ISO를 만들고 해당 ISO를 최종 사용자에게 전송하는 것은 그렇게 어렵지는 않겠다는 생각도 듭니다. python-CGI나 서버어플리케이션에서 자주 사용하는 방법이니까요. 하지만 문제는누가 이런 귀찮은 서비스를 하겠냐는 것과 캐노니컬조차 관심이 없다는 것이 가장 큰 문제가 아닐까 생각합니다.


이런 것, 저만 희망하는 걸까요?

,