모바일 :: 인터넷역학 - 천문계산
[프로그래밍] 영문/한글폰트 연결하기(Consolas+굴림체): 한글폰트 비율조정
芝枰 | 20.03.22 11:51 | 5,503 hit
프로그래머의 프로그래밍을 도와주는 것 중에 하나가 좋은 에디터와 폰트다. 좋은 폰트를 써야 가독성이 좋고 코드가 눈에 잘 들어온다. 프로그래밍은 한글이 아닌 영문자로 한다. 때문에 영문폰트가 좋아야 한다. 하지만 웹프로그래밍의 경우는 한글도 많이 다루기 때문에 한글폰트도 중요하다. 즉, 영문폰트와 한글의 조화가 아주 중요하다.

비쥬얼스튜디오코드 라는 에디터가 꽤 인기가 있다. 이 에디터에서는 Consolas, 'Courier New', monospace 폰트 가 기본적으로 세팅이 돼있다. 한글은 굴림체로 추정된다.

다른 에디터에서도 폰트를 지정할 수 있다. 그런데 다른 에디터에서는 Consolas 만 지정하게 되면 한글은 바탕체로 나오게 된다. 다른 한글폰트를 쓰려면 윈도우 레지스트리에서 연결을 해주면 된다.

그런데 Consolas와 한글폰트를 연결해주면 한글이 납작하게 짜부라든다. 비쥬얼스튜디오코드에서는 그런 현상이 없는데 다른 에디터에서는 그렇게 된다. 아무리 검색을 해봐도 아무리 다른 한글폰트를 연결해봐도 해결이 되지 않았다. 결국 레지스트리에 등록되어 있는 다른 폰트들을 통해 힌트를 얻었고 방법을 찾게 되었다.

영문폰트인 Consolas 와 한글폰트를 연결해줄 때 scaling factor 를 주면 된다. Scaling factor 는 세로가로 비율을 정해주는 것이다. Scaling factor 를 조정해줌으로써 Consolas 와 한글폰트를 연결했을 때 한글이 납작해지는 것을 방지할 수 있다.

1. 윈도우 키를 누르고 regedit 입력후 [엔터]
2. 레지스트리에서 아래 위치를 찾아 들어간다.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]

3. 마우스 오른쪽 누르기 - 새로 만들기 - 다중 문자열 값(M) 클릭
Consolas 입력

4. Consolas 더블 클릭
값 데이터(V): 란에 아래 값을 입력한다.
GULIM.TTC,GulimChe,140,128
SIMSUN.TTC,SimSun

5. 컴퓨터를 재부팅해야 적용된다.

여기서 140,128 부분이 바로 scaling factor 다. 아무 숫자나 적을 수 있다. 여기서 뒷 부분 숫자가 커지게 되면 한글은 더욱 납작하게 된다. 때문에 앞 숫자를 더 크게 해야 한다. 여기선 앞 숫자를 뒷 숫자에 비해 10프로 크게 한 값을 넣었다. 비율을 더 세밀하게 하려면 더 큰 수를 써넣으면 된다.

레지스트리 SystemLink 에 다른 폰트들이 연결되어 있는데 숫자들이 저렇게 적혀 있었다. 저게 폰트의 세로가로 비율을 의미하는 것 아닌가 추측을 했었는데 예상이 들어 맞은 것이다. 이걸 알아내기 위해서 컴 재부팅을 수십번 했다.

폰트순서도 중요하다. 한 폰트에 모든 코드에 대한 문자그림이 들어 있지 않다. 때문에 없는 것을 보완해주기 위해 하나 이상의 폰트를 연결해주는데 코드에 대한 문자를 순서대로 찾아서 화면에 뿌려준다. 저 순서대로 한 이유는 한자 때문이다. 굴림체에도 한자가 들어 있는데 그리 많이 들어있지는 않다. 없는 한자를 출력해주기 위해서는 그걸 보완해줄 수 있는 한자폰트가 필요하다. Simsun.ttc 폰트가 바로 한자 폰트다. 굴림체 폰트에 없는 한자는 simsun.ttc 에서 찾아서 보여준다. 굴림체에 있는 한자폰트와 simsun 에 있는 한자폰트는 모양이 약간 다르다. simsun 을 먼저 놓게 되면 굴림체와 어울리지 않는 한자가 먼저 화면에 뿌려진다. 단지 그 이유만으로 순서를 저렇게 한 것이다.

Scaling factor(140,128) 부분을 넣었을 때와 안 넣었을 때 한글폰트 모양이 어떻게 변하는지 체크해 보자. 값을 임의대로 변형시켰을 때도 확인해보면 어떤 의미인지 쉽게 파악이 될 것이다.

영문폰트에 한글폰트 연결하는 방법에 대해서는 검색에 많이 나오지만 scaling factor 부분에 대해서는 안 나온다. 이 부분을 발견하고 다시 검색해보니 영문 검색결과에는 하나 정도 나왔다.

이 글이 많은 프로그래머들한테 도움이 되길 바란다.
(윈도우에서만 테스트 됨.)

芝枰 2020.03.22 23:58
이 방식으로 consolas 와 굴림체를 연결하게 되면 다른 에디터에서도 비쥬얼스튜디오코드에서와 비슷한 영문/한글 폰트의 Look and Feel 를 경험할 수 있다.

p.s. 1
scaling factor 는 폰트의 크기를 정하는 것이 아니라 세로가로(세로,가로) 비율을 정하는 것이다.

p.s. 2
NexusFont 라는 프로그램에서 폰트가 어떤 문자를 지원하는지 볼 수 있다.

인터넷역학 | PC버전 | 로그인