폰트 뷰어 관리자 툴 R.105

 
 
Introduction

최근들어 무료폰트들이 많이 공개되었습니다.  커뮤니티로부터 알게된 무료 폰트 모음 페이지에 접속하게되면 많은 폰트들이 있습니다. 이러한 폰트들을 다운 받아, 자신만의 홈페이지,App 그리고 광고 등에서 폰트를 사용할 수 있습니다. 각각의 페이지에서 라이센스를 한번 더 확인 하고 사용하는 것이 중요하다고 생각되네요. 
 
 
이러한 폰트들을 다운받았을 때, 다시 홈페이지로 접속하여 서체를 확인해야하는 문제가 있습니다. 물론 사용하는 폰트가 적다면 큰 문제는 없지만, 온라인에 무료로 공개된 폰트들이 많을 경우에 일일이 확인해야하는 문제가 있습니다. 그래서 이러한 문제를 조금 해결하기위해 폰트관리자SW를 아래와 같이 만들어두었습니다. (SW이름 네이밍 추천이 있으시면 댓글로 언제든 환영입니다^^)
 
 
폰트관리자SW는 먼저 실행하게 되면, Windnows/font 폴더 하위에 있는 폴더를 읽어오게 됩니다. 그리고 글자를 입력하면, 아래에 폰트가 적용되어 나타나게 됩니다. 이때, 폰트의 크기(Size)조절되도록 해두었습니다.  그외에 무료로 다운 받은 폰트를 확인 할 수 있습니다. 방법을 그럼 알아보도록 할까요? 
 

 

 

 
 
update: 2020.12.20

  • 최소 업데이트 일자 (2020.11.21)
 
새롭게 블로그를 포스팅 할까 생각했지만, 처음부터 다시 작성하는것도 번거롭기에 기존 포스팅에 수정된 부분만 작성하여 업로드 합니다. 수정하면서 간단한 문제가 더 어렵게 변해버린 문제가 있지만, 수정을 하기로 맘먹었으면 끝까지 하는 걸로...! 조금 기다려주세요 ㅎㅎ
 
현재 버전에서의 업데이트는 다음과 같습니다. 
 
  • 수정사항
    • 폰트 전체를 스크롤 바를 이용하여 볼 수 있도록 변경 함 
    •  
    • 입력공간에서 엔터(enter) 키 눌렀을 때 종료되는 문제 해결
    • Font Viewer UI 변경
  • 수정 예정 건
    • 폰트의 수가 400개 이상 넘어갈 경우 메모리 부족으로 오류 발생(속도 지연 문제 포함)
    • 디자인은 오류 작업이 완료되면 수정 예정 중
    • 폰트가 제대로 설치(?) 되지 않아 폰트의 글꼴을 알아볼 수 없는 경우가 있음
    • 원하는 폰트의 위치를 "폴더 열기"를 통해 바로 파일에 접근 할 수 있는 기능
 
 
유의사항
  • 폴더에 400개 이상의 폰트를 넣고 돌리지 마세요
 
 
 
온라인으로 다운받은 무료폰트 불러오기

 
 
 
OPEN버튼을 선택하면 아래와 같은 창이 뜨게 됩니다. 이때, 폰트의 최상단을 선택하게 되면, 하위 폴더 전체 검색하여 폰트를 읽어오게 됩니다. 
 
 
이때 저는 "_free" 라는 폴더를 선택함으로써 그 하위에 있는 폰트 전체를 읽어오도록 하였습니다. 결과를 확인해보도록 할까요?
 
 
결과는 상위 그림과 같이 나타나게 됩니다. 그리고 FontList의 콤보박스(combobox)에서 폰트를 선택하시면, 아래 결과창의 글자 폰트가 변경됩니다. 
예시 결과를 볼까요?
 
폰트: Gong Gothic Bold 
 
폰트: SDSamplphopangcheOutline
 
이렇게 쉽게 폰트 확인이 가능합니다. 이번에는 3GB정도 용량의 폰트를 읽어보도록 하겠습니다. 약 30초(?) 잠시 딜레이가 있지만, 기다리면 폰트를 로드하게 됩니다. (이것도 최대한 빠르게 로드하는 방법을 찾아 수정하였습니다...^^;)
 
 
폰트 30752개 로드하였을 때 모습입니다. 온라인에서 무료 폰트 외, 눈에 보이는대로 받다보니 혹시 몰라 폰트는 모자이크 처리해두었습니다. 
이렇게 자신의 컴퓨터에 다운 받은 폰트를 간단하게 로드하여, 직접 입력한 글자에 폰트를 적용시켜 볼 수 있습니다. 
 
초기 버전이라, 간단하게만 만들어두었습니다. 업데이트 버전은 조금 더 많은 폰트를 한눈에 볼 수 있도록 수정할 예정입니다. 업데이트 버전도 관심있게 기대해주세요 🙂
 
아래는 이것저것 & 폰트 관리자 개발과 관련된 내용을 정리해두었으니, SW사용자는 이후로는 살펴보지 않으셔도 됩니다. 
 

 

 

 
 
폰트 타입(종류)

  폰트는 투루타입(ttf, True Type Font)오픈타입(otf,Open Type Font) 파일로 나뉘어져있습니다. 트루타입의 경우, Apple+MS가 개발하였고 일반 문서 작업 사용자에게 적합합니다. 주로 한글(HWP), MS Office 등 문서프로그램에서 많이 사용하고 있습니다. 그리고 오픈타입의 경우, Adobe+MS에서 개발하여 디자인작업에 주로 사용하고 있습니다. 자세한 부분은 "TTF와 OTF의 차이는? 폰트 다운로드 전 확인해보세요" 블로그를 참조 하시면 좋을 것 같네요. 수학 공부를 좀하셨다면, 베지어 곡선을 배우셨을텐데, 딱보면 한눈에 들어옵니다. 
 
 
 
그럼 폰트는 2종류 뿐일까요? MSDN에 접속하여 폰트를 로드하는 함수를 살펴보니 File Extension 이 다음과 같이 나타나 있었습니다. 
 
 
 
총 9개의 폰트가 나와있네요? 폰트에 대해 조금 더 살펴보고 싶지만, 궁금하신 분들을 위해 정리하지 않도록 하겠습니다. ^^;; 위키페이지를 살펴보면 더 잘나오지 않을까 하네요. 
 
 
코드 작성 시 Tip

 
폰트와 관련된 작업을 수행할 때, 아래의 function을 사용하게 되면, 기본적으로 load하는 속도가 느립니다. 
int ret = AddFontResource(_pullPath);
 
그래서 다음과 같은 함수로 교체하여 사용하시면, 현재 사용하고 계신 폰트관리자 툴과 같이 빠른 속도로 폰트를 불러오는 것을 확인 할 수 있습니다. 
int ret = AddFontResourceEx(_pullPath, FR_PRIVATE, 0);
 
그 외에 아래와 같이 Sendmessage를 사용하게 될 경우, 폰트의 수량이 많으면 SW가 뻗어버리게 됩니다. 이때, 아래 SendNotifyMessage()를 사용하게 되면 함수 호출 후 바로 응답/회신을 받을 수 있습니다. 
// 기본 코드 
::SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);  
 
// 변경 요청 코드 
SendNotifyMessage(WM_FONTCHANGE,0,0);
 
이부분 외에는 폴더를 탐색하며, 확장자 비교 후 폰트를 불러오시면 됩니다. 나머지는 자기 역량으로...!! 만드시면 됩니다. 
 
 
 

이 글을 공유하기

댓글(0)

Designed by JB FACTORY