RadarURL

조회 수 657 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

엿보기 2012/09/20 17:43

01.jpg

 

 

지난 시간에 이어서 폰트에 대해서 더 깊이 들어가 볼까 합니다. 지난 시간에는 일반적인 폰트에 대해서 알아보았다면 이번 시간에는 프로그래머를 위한 폰트에 대해서 알아보겠습니다.

 

프로그래머에게 폰트란 어떠한 의미가 있을까요? 프로그래밍이란 그 자체게 바로 문자열을 다루는 일입니다. 문자열을 적재 적소에 잘 배치한 것이 프로그램입니다. 물론 그 잘~ 배치하는 것이 쉬운 일은 아니죠. ^^;;

 

개발자로 살아가다 보면 남이 만들어 놓은 소스코드를 참조할 때가 많습니다. 좀 더 직설적으로 말해보자면 정말 많이 참조합니다. 하지만 항상 남의 것만을 참조하는 것은 아닙니다. 자신이 만들었다고 하더라도 불과 몇 개월만 지나면 열심히 보고 또 봐야 합니다.

즉, 모니터에 표시되는 많은 문자열을 읽고 또 읽습니다. 특히 프로그래머는 영어와 숫자를 많이 다루기에 영문 폰트로 이루어진 문자열을 효율적으로 읽어내야 합니다.

 

 

lll 숫자 1이냐 알파벳 소문자 L이냐 아니면 대문자 I냐

다음의 예를 보실까요?

02.jpg

 

 

 

 

위에는 2개의 문자열이 있는데 위의 것은 한국인의 대국민 폰트 “굴림” 폰트이고 아래의 것은 Windows 에 내장된 “Verdana” 폰트입니다. 큰 차이가 없다구요? 그럼 다음의 것을 보시죠.

03.jpg

 

 

 

 왼쪽의 문장은 굴림으로 작성되었고 우측의 문장은 Verdana로 작성되었습니다. “굴림”은 소문자 ‘엘(l)’과 대문자 ‘아이(I)’ 를 구별해내지 않습니다. 프로그래밍을 하게 되면 대문자와 소문자가를 정확히 구별해서 사용하게 되며 이 둘을 구별하는 것은 매우 중요합니다. 따라서 “굴림”은 이제 프로그래밍 할 때는 적합하지 않으니 당장 다른 것으로 바꾸라고 권해드리고 싶습니다.

프로그래머용 폰트를 논할 때 예제로 많이 사용되는 문자열입니다.

04.jpg

 

 

 

 

위의 문자열은

숫자 ‘일’, 알파벳 소문자 ‘엘’, 알파벳 대문자 ‘아이’, 특수문자 ‘버티컬 바’ 또는 ‘파이프라인’ 숫자 ‘영’, 알파벳 대문자 ‘오’가 순서대로 기록되어 있습니다.

05.jpg

 

 

 

 

다음은 위에서 프로그래밍을 할 때 사용하지 않길 권해드렸던 굴림으로 다시 적어 본 결과입니다.프로그래밍에서는 파이프라인 | 과 숫자 0 을 자주 사용하게 되는데 마찬가지로 비슷하게 보이는 것이 존재하는 문제가 있습니다.

 

한 가지 재미있는 점은 숫자 영(0) 과 알파벳 오(O) 는 오타가 날 경우 쉽게 찾아내지 못할 정도로 가까운 곳에 붙어 있으며 알파벳 아이(I)와 엘(L) 역시 마찬가지 입니다.

06.jpg

 

 

 

 

 

폰트에 대한 글을 쓰다 보니 너무 세부적인 부분에 주목을 한 것 같습니다. 사실 폰트가 잘못 되었다고 가독성이 많이 떨어지지거나 오타가 나는 것은 아니겠지요. 사람이 읽을 때는 적절히 구별하여 이해하겠지요. 다행히도 요즈음의 IDE(통합 개발 환경) 소프트웨어는 매우 잘 만들어져 있어 이러한 폰트에 의한 코드의 헛갈림은 그 글자 자체의 가독성 보다는 실시간 컴파일 오류 등을 통한 다른 방법으로 쉽게 파악되는 편입니다.

 

 

프로그래머의 폰트 알아보기

필자가 폰트에 대해서 관심을 갖기 시작한 것은 jEdit 이라는 java 기반 텍스트 에디터의 스크린샷을 보면서 시작되었습니다. 그 이전에도 폰트에 대한 관심이 없는 것은 아니였습니다만 그야말로 리포트를 작성할 때 굵은 모양으로 제목을 멋드러지게 표현하기 위한 꾸미기 용 폰트들이었습니다. 가독성을 위한 폰트는 따로 있었습니다.

07.jpg

 


jEdit 텍스트 에디터의 스크린샷

 


위의 스크린샷을 보자마자 저는 영문 폰트에 대해서 알아봐야겠다고 생각했습니다. 폰트가 너무 마음에 들었지만 어떤 폰트인지 알아내는 것은 쉬운 과정은 아니였습니다. Windows의 영문 폰트를 바꾸어가며 수십번 비슷한 폰트를 찾았습니다. 하지만 설치되지 않은 폰트가 발견될 리가 없죠. ^^;;

스크린샷을 찍은 외국 개발자에게 메일을 보냈는데 한달 후에야 스팸메일함에서 우연히 발견했다며 답장이 왔습니다. 요즘에는 폰트를 좀 더 쉽게 찾을 수 있는 방법도 있습니다.

08.jpg

 


폰트가 사용된 스크린샷을 업로드 하면 폰트 이름을 알아낼 수 있다.
http://www.myfonts.com/WhatTheFont/

 

 

이전 시간에도 알아보았다시피 영문 폰트인 경우 한글 폰트에 비해서 만들기가 쉽기 때문에 그 결과 영문 폰트는 정말 많은 폰트가 존재합니다. 제가 하나의 스크린샷 속에서 반해버린 프로그래머용 폰트는 BitStream Vera Sans Mono 라는 이름을 갖고 있습니다. 비트스트림 베라 산스 모노.. 뭐 이리 이름이 긴가요?

한단어 한단어에 의미가 있습니다. BitStream 이라는 회사의 Vera라는 글꼴을 Sans Mono 형태로 만든 것입니다. 우리나라도 폰트에 회사 이름이 들어가는 경우가 많습니다. 산돌광수, 은글꼴, 한양서체, 한컴바탕 등이 그 예입니다.

 

 

Serif & Sans-Serif

세리프, 산 세리프 라고 들어보셨습니까? 여기서 Serif(세리프) 란 가는 장식 선을 말합니다. 폰트에서 글자를 이루는 선의 일부 끝이 돌출된 형태를 가지고 있으면 세리프 글씨라고 합니다. 여기서 Sans 는 ‘없음’ 을 뜻하는 프랑스 말로 Sans-Serif 는 돌출이 없는 것을 말합니다.

09.jpg

 


http://ko.wikipedia.org/wiki/세리프

 

한글 폰트로는 바탕체가 세리프, 굴림이나 돋움체는 산세리프라고 할 수 있습니다.

 


Mono

혹시 폰트에 ‘굴림’ 과 ‘굴림체’ 가 따로 있다는 사실을 알고 계십니까? 이와 같은 패턴으로 ‘돋움’과 ‘돋움체’ ‘바탕’ 과 ‘바탕체’ 가 있습니다. 여기서 ‘’ 란 Mono를 뜻합니다. 즉, 굴림체, 돋움체, 바탕체는 Mono font입니다.

10.jpg

 


windows의 폰트 선택 상자 굴림과 굴림체 궁서와 궁서체

 

Mono는 Monospaced의 준말로 글자 하나하나의 장평이 같다는 뜻입니다.

11.jpg

 


굴림과 굴림체로 작성한 apple

 

좌측의 ‘굴림’ 폰트로 표현된 다음의 단어에서 알파벳 엘(l) 만 유달리 장평이 짧습니다. 우측은 ‘굴림체’ 폰트로 작성되었으며 전체적으로 장평이 균일(MonoSpaced)합니다.

12.jpg

 


일반 폰트와 MonoSpaced 폰트를 사용 할 때의 차이

 

 

Mono font 와 Ascii Art

여담입니다. 균일한 장평 즉, Monospaced 폰트만이 할 수 있는 것이 있답니다. PC통신 시절과 인터넷 초창기 그리고 요즈음의 인터넷 댓글에서 가끔 등장하는 Ascii Art입니다.

13.jpg14.jpg

 


Ascii Art

 

이러한 폰트를 이용한 Ascii Art는 고정폭의 폰트일 경우에만 제대로 표현됩니다. 콜론(:)을 이용해서 공백을 채우는 Art를 만들어 보면 “굴림체” 폰트로는 왼쪽과 같이 SK C&C 가 제대로 표현되는데 반해 우측의 “굴림” 폰트로는 콜론 (:)폰트의 장평이 짧아 그만큼 우측의 문자열 들이 좌측으로 당겨져 표시됩니다.

15.jpg

 

16.jpg

 


Ascii Art Generator http://www.squidoo.com/online-ascii-art-generator

 

 

 

프로그래머 폰트의 요건

BitStream Vera Sans Mono 는 프로그래머 폰트 인기 순위중에 꽤 상위권에 랭크되어 있는 폰트입니다. 폰트는 사람마다의 취향이 있기 때문에 어떤 것이 최고다 라고 말할 수는 없습니다.

프로그래머의 폰트라면 다음의 몇가지 조건을 갖추어야 합니다.

1lI| 일, 엘, 아이, 파이프라인이 구별되어야 한다.

0O 영과 대문자 오가 구별되어야 한다.

Fixed Width / Monospaced 여야 한다.

이 외에 몇가지 추가 고려 사항이 있습니다.

Bold, Italic 체가 지원되어야 한다. (에디터에서 함수명이나 커멘트를 꾸며 줄 때)

,. 쉼표와 마침표가 확실하게 구별되어야 한다. (콜론과 세미콜론도 마찬가지!)

한글 폰트도 적당히 괜찮아야 한다.

Anti Alias / ClearType 이 지원되어야 한다.

BitMap 보다는 TrueType으로 제작되어 글꼴 크기를 변환할 수 있어야 한다.

 

이러한 것을 지원하는 폰트의 종류가 많고 각자의 취향이 다르기 때문에 다음의 사이트에서 몇가지 폰트를 사용해 보기를 권해드립니다.

http://www.lowing.org/fonts/

 

다음의 사이트는 몇 가지 유명한 프로그래머용 폰트를 순위로 나열하여 보여줍니다. 주변 개발자분들은 Monaco, Anonymous, Bitstream Vera Sans Mono 3가지 정도를 주로 사용합니다.

해당 홈페이지에서 자세한 폰트 설명과 샘플을 볼 수 있습니다. 몇몇 폰트는 유료 일 수도 있습니다.

17.jpg

 


폰트에 대한 상세한 설명과 스크린 샷을 볼 수 있다.

 

 

 

한글도 생각해보자.

대부분의 외산 폰트는 알파벳과 숫자 특수문자는 수려하고 프로그래밍 폰트로 적합하지만 아쉽게도 한글은 어떻게 표현할지에 대해서는 고려하지 않았습니다. 운영체제에서는 특정 영문 폰트를 선택하였는데 한글을 입력되면 운영체제 기본 폰트를 사용하게 됩니다. Windows XP의 경우 “굴림” 이며 Vista, 7 이후에는 맑은 고딕이 표현되게 됩니다.

 

아직 Windows XP를 사용하는 분들이라면 아쉽게도 영문 프로그래밍 폰트로 좋은 것을 선택했다 하더라도 한글에서는 굴림 폰트를 사용하게 되는 불상사(?)가 발생할 수 있습니다.

 

한글 전용의 프로그래밍 폰트는 거의 전무 하다시피 한 현실이지만 이러한 목마름에 네이버에서는 나눔고딕 코딩글꼴을 무료로 배포하였습니다.

18.jpg

 


http://dev.naver.com/projects/nanumfont/

 

프로그래밍을 하는 과정에서 한글은 보통 주석을 작성할 때만 사용됩니다. 따라서 한글을 구지 프로그래머용 폰트의 조건을 따져서 선택할 필요는 없습니다.

폰트의 선정에 있어 좋은 방법은 프로그래머용 영문 폰트와 그냥 마음에 드는 한글 폰트를 선택하여 폰트 프로그램을 이용해서 하나로 합치는 방법입니다. 또한 합치는 과정이 힘들다면 이미 합쳐져 있는 폰트를 인터넷에서 검색해 볼 수도 있습니다.

마음에 드시는 영문과 한글 폰트의 이름을 동시에 검색해 보세요. 누군가 이미 2개의 멋진 폰트를 합쳐 놓았을 수도 있습니다.

 

그런데 맑은 고딕이 마음에 든다고 이것과 어떠한 영문 폰트랑 조합을 하려고 하신다면 생각해 보셔야 할 것이 있습니다. 맑은 고딕은 MS 운영체제에 포함된 글꼴로 함부로 재배포 해서는 안 되는 상용 글꼴입니다. 또한 영문 폰트도 마찬가지로 나름대로의 라이선스가 있을 것입니다. 따라서 폰트의 라이선스를 잘 확인하시어 자신만의 프로그래머용 폰트를 선택하시길 바랍니다.

 

 

결론

프로그래밍을 할 때 자신이 선호하는 폰트 하나 정도는 갖고 다니세요. 이메일이나 dropbox 등에보관하는 것도 좋은 방법입니다. 어떠한 에디터로 문서를 열게 되던지 비슷한 수준의 가독성을 갖게 될 것입니다.

 

출처 : http://skccblog.tistory.com/807

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 927798
2166 건강 [우리동네소아과] 어린이 빈혈에 관한 모든 것 JaeSoo 2015.05.13 699
2165 건강 6세 여자아인데.. 편두통이 생기면서 같이 어지럽다고 해요? JaeSoo 2015.05.13 676
2164 보안 SSL VPN과 IPSec VPN file JaeSoo 2015.05.12 577
2163 하드웨어 LED Lamp 이것은 알자 (2) 광효율 file JaeSoo 2015.05.08 489
2162 하드웨어 LED Lamp 이것은 알자 (1) 플리커(Flicker) file JaeSoo 2015.05.08 546
2161 소프트웨어 PC용 블루라이트 차단 (시간대에 따른 색온도 자동 조절로 시력을 보호) 프로그램 F.lux file JaeSoo 2015.05.08 629
2160 자동차 당신의 생명을 지키는 50가지 방법 (Motorcycle Cruiser Magazine, 2007년 2월호 게재) JaeSoo 2015.05.01 721
2159 취미 Online Ascii Art Generator (온라인 아스키 작품 생성기) JaeSoo 2015.05.01 469
» 소프트웨어 [전승호의 SK C&C 개발자 엿보기 <5>] 코드의 가독성을 찾아서Ⅱ - "Programming Fonts" file JaeSoo 2015.05.01 657
2157 소프트웨어 [전승호의 SK C&C 개발자 엿보기 <4>] 코드의 가독성을 찾아서Ⅰ- "Font" file JaeSoo 2015.04.30 839
2156 보안 빅데이터 시대, DB·데이터 암호화 솔루션 길라잡이 file JaeSoo 2015.04.29 415
2155 소프트웨어 How to put Dropbox on a Network Drive Windows (Easy Training Tutorial) JaeSoo 2015.04.24 328
2154 육아,교육 증강현실을 이용한 색칠놀이 앱, colAR Mix JaeSoo 2015.04.21 474
2153 네트워크 시스코 네트워킹 part 8-2 (Back to Back) file JaeSoo 2015.04.17 348
2152 네트워크 라우터 DTE - DCE (CSU/DSU) 구성 file JaeSoo 2015.04.17 574
2151 네트워크 CSU (Channel Service Unit, 채널 서비스 장치) file JaeSoo 2015.04.17 588
2150 네트워크 L2 MPLS VPN (AToM/EoMPLS) file JaeSoo 2015.04.17 653
2149 네트워크 [기술자료] 전용선 JaeSoo 2015.04.17 449
2148 네트워크 전용회선의 종류 file JaeSoo 2015.04.17 458
2147 네트워크 DSU / CSU / 라우터(router) JaeSoo 2015.04.16 480
Board Pagination Prev 1 ... 11 12 13 14 15 16 17 18 19 20 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너