보통 엔지니어분들(특히 개발자분들)은 새로 입사했거나 온사이트(파견근무)를 하게 되면서 지급받은 PC(또는 노트북)에 작업 환경을 세팅하게 되는데 이때 코딩용 폰트 설정에 나름 신경을 많이 씁니다.
반면 디자이너 분들은 의외로 그런것에 신경쓰지 않더군요. 뭐 굴림체 이런 것으로다가 대충 코딩을 하시더군요.
뭐 굴림체가 나쁘다는 얘기는 절대 아닙니다만… 쿨럭
사실 생각해 보면 개발자 분들은 가장 많이 보는 화면이 코딩하는 화면이고 거의 하루의 대부분을 코드를 뚫어지게 보기 때문이고, 디자이너 분들은 코딩 화면 보다는 Photoshop이나 Illustrator, Painter등의 그래픽 편집용 화면을 주로 보기 때문이지 않을까 싶습니다.
당연히 디자인할 때 시안용 폰트로 굴림체를 쓰시지는 않습니다.
또 디자이너분들은 포토샵을 비롯한 각종 그래픽툴에서 쓰기 위해서 구매해서 설치했거나 이미 설치된 각종 화려무쌍한 폰트팩들을 가지고(거느리고) 상황에 맞게 골라쓰는 훈련이 많이 되어 있어서 코딩용 폰트 따위는 아웃 오브 안중 인 것 같기도 합니다. 여튼, 코딩용 폰트에 신경을 많이 쓰는 개발자들이 주로 사용하는 코딩 관련 애플리케이션은 아래 정도 일 것 같습니다.
Eclipse, VIM(GUI)
Visual Studio
Emacs
Textmate
Editplus
Notepad++
Sublime Text
BBedit
TextWrangler
IntelliJ IDEA
뭘 쓰더라도 폰트 설정은 대부분 따로 합니다. 그외에 개발을 주로 하지 않는 엔지니어라고 한다면 터미널을 열어서 오퍼레이션을 하기 위해서 텍스트를 주로 볼 텐데요.
Terminal (리눅스 기본터미널)
Putty
iTerm2
SecureCRT
Command Prompt(명령프롬프트)
기타
등 일 것입니다.
역시 폰트 설정을 대부분 따로 해서 사용합니다. 대부분의 애플리케이션은 폰트 설정이 가능한데요.
엔지니어들 중에 보통 귀차니즘이 강한 분들은 애플리케이션에서 선택해 준 것으로 쓰고
아니라면 자신이 주력으로 쓰는 폰트를 모든 애플리케이션에 미리 설정해 둡니다. 공통으로 쓰는 폰트라면 코딩과 터미널에 적합한 폰트여야 할 텐데요.
코딩용 또는 터미널용 폰트가 가지고 있어야 할 조건은 인터넷에 자료를 뒤져 보면 잘 나와 있습니다. 뭐… 찾아 보시면 되겠지만, 대략 아래와 같은 조건을 만족해야 합니다.
- 0oOlI| 등의 혼동하기 쉬운 알파벳과 기호들이 서로 잘 구분되야 합니다.
특히 대문자 I(아이)와 소문자 l(엘)의 구분 불가한 폰트들은 코드의 오류를 만들고 한참동안 숨은 그림 찾기를 하게 만들었던 경험이 한 두번은 있을 것입니다.
만약 lnclude와 Include가 구별되지 않는다면 폰트 바꾸는 것을 심각하게 고려하는 것이 좋습니다. - 고정폭 폰트여야 합니다. 열을 맞춰서 코딩하거나(특히 Python 같은 것들) 터미널에 뿌려지는 글자들의 열이 잘 맞아야 하기 때문에 고정폭 폰트여야 합니다. 영문 폰트 이름에 Mono라고 붙는 것은 Mono space를 말하며 고정폭, 단일폭을 말하는 폰트입니다.참고로 한글의 유명한 고정폭 폰트들은 굴림체, 바탕체, 궁서체, 돋움체등의 “체”로 끝나는 이름을 가진 폰트들이 있습니다. 굴림, 바탕, 궁서, 돋움은 가변폭 폰트입니다.
고정폭 폰트는 글자에 따라 장폭이 변하지 않는 폰트를 말합니다. 대부분 코딩용으로 적합한 폰트는 Mono 계열의 고정폰 폰트입니다.
- 당연히 한글 입력이 가능해야 합니다.정확히는 한글 폴백이 되는 폰트여야 합니다. (대부분 됩니다만 안되는 것들이 있습니다) 보통 코딩용으로 적합한 폰트는 한글 폰트가 거의 없습니다.
코딩은 로마자를 주로 사용 하고 한글폰트는 보통 로마자 폰트를 같이 포함하게 되는데 한글 폰트에서 지원하는 로마자폰트는 품질이 좋지 않습니다.
그래서 영문 폰트에 한글 폰트중에 가장 그럴듯한 것을 맵핑(fallback 이라고 합니다만 복잡해서 설명 생략)시켜서 쓰게 되는데요. 특정 폰트 중에는 만들때 세팅을 이상하게 해서 그나마도 맵핑이 안되는 것들이 있습니다. 맵핑을 하더라도 특정 애플리케이션이나 OS에서 한글이 입력되지 않는다거나 하는 문제가 있습니다.
나눔고딕코딩 같은 폰트를 쓰시면 한 번에 해결이 가능합니다만 나눔고딕코딩의 영문폰트는 그리 가독성이 높고 미려한 폰트는 아닌 것 같습니다. 어쨌든 폰트의 미려함이나 디자인, 스타일, 삐침의 정도라든가 높낮이, 글자폭 등에 따라 선호하는 폰트가 달라지는데 개인의 취향차가 큰 것 같습니다.
자신에게 맞은 코딩용 폰트를 한가지 결정했다고 하더라도 OS나 애플리케이션 별로 적용되서 보여지는 차이가 있다는데 있습니다. 예를들면 Mac OS X에서 많이 사용되는 Monaco 같은 폰트는 Windows에 갖다 놓고 쓰면 그리 맘에 들지 않습니다.
OS별로 폰트를 처리하는 방식이나 화면 표현의 차이가 있어서 그렇긴 합니다. 그래서 Windows에 GDI++ 같은 것을 설치해서 Mac OS X 처럼 뿌옇고 부드러운 화면을 만들어도 결국 Monaco는 그다지 이뻐지지 않습니다.
폰트를 만들 때 이미 OS에 적합하게 만들었거나 아니면 OS의 렌더링하는 특성의 차이를 모두 만족시키기 어렵기 때문일 수 도 있습니다.
어쨌든 제 경우에는 OS별로 코딩용 폰트를 따로 설정해서 씁니다.
아래는 OS별 폰트들과 캡쳐 화면입니다. 저는 Mac OS X, Ubuntu Linux, Windows7/8을 모두 씁니다만 주로 Mac을 쓰기 때문에 Mac에서만 캡쳐를 잡았습니다.
OS별로 는 표현되는 것이 다소 다를 수 있음을 알려드립니다.
OS 3종 세트를 다 부팅시켜서 캡쳐잡기가… 쿨럭)
Monaco – 맥(Mac)용 최고의 코딩 폰트. 모나코
더 이상 말할 필요가 없는 폰트 모나코(Monaco)입니다. 맥에서 이렇게 생긴 폰트를 보셨다면 Monaco이거나 Menlo일 가능성이 매우 높습니다.
텍메(Textmate)나 일식(Eclipse)에서는 정말 이쁘게 보입니다. 심지어 MacVim(에서도 정말 이쁘게 잘 뿌려집니다.
Mac에서는 기본 탑재 폰트입니다. 설치가 필요 없지요.
Windows나 Linux라면 받아서 설치해 주셔야 하겠습니다.
아래에서 경로에서 다운받으세요.
http://www.gringod.com/wp-upload/MONACO.TTF
Menlo – 맥 용 새로운 코딩 폰트 멘로
언제부터인가 맥에서 코딩용 프로그램의 기본(Default)폰트를 보면 Menlo로 설정이 되어 있어서 대체 뭔가 했는데 Monaco와 아주 흡사하게 생긴 폰트입니다. Monaco를 개량한 것이 아닐까 싶습니다. 애플이 새로 코딩용으로 제공하는 폰트인것 같은데 쓰다 보면 괜찮을 것 같지만 Monaco에게 적응되어 있는 분들은 뭔가 어색해 보일 수도 있습니다. 기본 폰트라서 따로 설치할 필요가 없이 그저 클릭질로 선택만 해주면 됩니다.
Windows나 Linux라면 복사해서 쓰셔야 할 것 같습니다. 저는 해보지 않았습니다.
Consolas – 윈도용 코딩 폰트 콘솔래스
Windows라면 주력 개발툴은 역시 Visual Studio입니다. (EditPlus라고 외치는 분들도 있겠지만…’ㅡ’)
Visual Studio를 설치했다면 기본으로 설치되어 있는 폰트이고 코딩용으로 기본 세팅되는 폰트입니다.
Office 제품군을 설치해도 설치가 되며 최근 Windows OS에는 기본 탑재입니다.
캡쳐 이미지를 볼 때 텍메(Textmate)에서는 상당히 이쁘게 보입니다만 맥 터미널이나 다른 애플리케이션과 리눅스에서는 다소 어색합니다. 아무래도 MS에서 코딩용으로 권장하는 폰트이므로 Windows에서는 정말 가장 괜찮은 폰트입니다.
Linux나 Mac에서 쓰려면 역시 Windows에서 복사해서 설치해 줘야 합니다. (불법의 논란이 있습니다만 잡혀갔다는 소리는 아직 못들었습니다)
DejaVu Sans Mono – 리눅스용 코딩 폰트. 어? 이 폰트를 어디선가 본 것 같아! 데자뷰 샌스 모노
DejaVu(데자뷰)는 아마 최근 리눅스 배포판에는 기본으로 다 설치되어 있지 않을까 생각됩니다.
Linux Terminal에서 가장 예쁘게 보이고 Eclipse나 Gedit에서도 정말 예쁘게 보이는 폰트입니다.
개인적으로는 코딩용 폰트들 중에서도 글자들의 구분이 가장 잘 되어 있는 폰트가 아닐까 생각됩니다.
보통 Linux용 폰트나 코딩용 폰트로 고전 명품 Bitstream Vera Sans Mono 를 쓰시는 분들도 많은데요. DejaVu는 Bitstream의 개량된 폰트입니다. 그래서 Dejavu와 Bitstream은 약간의 차이가 있지만 모양이 거의 같고 아주 유사합니다.
Monaco와 Menlo의 차이와 비슷한 느낌입니다.
그리고 Bitstream은 일부 리눅스에서는 더 이상 기본으로 설치되지 않는 것으로 보여집니다.
그래서 개인적으로는 리눅스를 쓰신다면 DejaVu를 추천합니다. DejaVu는 아래 경로에서 다운 받으실 수 있습니다.
무료입니다. http://dejavu-fonts.org/wiki/Download 그래도 빗스츄림 비어러 샌스(Bitstream Vera Sans)의 폰트 이름을 발음할 때 발생시키는 포스가 좋아서 써보고 싶으시다면 Bitstream 계열은 아래 경로에서 받을 수 있습니다.
역시 무료입니다. http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/
하나의 폰트를 선택해서 모든 OS에서 공통으로 쓰는 것도 좋지만 OS별로 최적화된 코딩용 폰트는 역시 OS에서 제공하고 권장하는 것이 가장 이쁘고 괜찮다는 결론을 내렸습니다.
힘들게 설치하지 말고 있는 것을 그대로 쓰는 것도 정신건강상 좋지 않을까 싶습니다. 하지만 일관성을 특별히 중요하게 생각하는 예민한 편집증의 소유자여서 모든 OS와 모든 애플리케이션에 단 하나만을 코드 편집용 폰트로 선택해서 쓰고 싶다면
- Consolas
- Lucida Console
- DejaVu Sans Mono
- Inconsolata
- Monofur
순서로 추천드립니다.