MacType

 


1. 개요
2. 상세
3. 특징
4. 사용법
4.1. 기본
4.2. 일반 옵션의 예제
4.3. 특수 옵션의 예제
5. 주의사항
6. 기타
7. 관련 문서


1. 개요


홈페이지
GitHub (권장)
FlyingSnow라는 중국인 개발자가 만든 글꼴 렌더링 프로그램. Microsoft Windows클리어타입을 대체하기 위해서 만들어졌다.

2. 상세


[image][image]
왼쪽은 MacType이 설치되지 않은 보통의 Windows에서 보이는 모습이고, 오른쪽이 MacType을 설치한 모습이다. 신기하게도 모든 프로그램 창에 다 적용이 되었지만 윈도우 10으로 넘어오면서 클래식 앱들이 남겨진 채 윈도우 기본앱에[1] Universal Windows Platform이 적용되면서 글꼴 렌더링이 변경되어서 설정이나 전용 앱에서는 작동되지 않게 된다. 한마디로 반만 적용된다는 것.
Microsoft Windows는 글꼴 렌더링에 클리어타입이라는 기술을 사용한다. 문제는 이 클리어타입이 옛날 모니터 같은 '''저해상도'''에서 '''작은 크기'''의 글꼴을 '''또렷하게''' 표시하기 위해 갖가지 편법을 동원한 결과 화면 상의 글꼴 형태가 과도하게 변형되고 왜곡되어 보인다는 것이다.[2] 이에 불만을 가지고 '''클리어타입을 대체하기 위해''' 개발한 것이 바로 MacType이다.[3] MacType은 화면 상 글꼴의 형태를 온전하고 깔끔하게 보여준다.
DrWatson이라는 일본인 개발자가 만든 GDI++가 원류로, 해당 프로그램의 개발이 중단되면서 이를 대체하기 위해 만들어진 것이 바로 MacType이다.

3. 특징


설치 시 macOS처럼 글꼴이 부드럽게 렌더링이 된다. 다만 컴퓨터 환경이나 프리셋에 따라서 렌더링이 달라지거나 적용이 아예 안될 수도 있다.
Windows의 클리어타입은 저해상도, Low PPI 환경이 기본이던 시대에 만들어졌으며, 모양보다 가독성을 우선시한다. 그렇기 때문에 인쇄물과 디스플레이의 폰트가 대체로 일치하지 않지만, 좀 더 선명하다는 특징이 있다. 다만 계단현상이 발생하며 모양이 다소 거칠어보여서 디자이너들은 클리어타입을 좋아하지 않는다.
Mac의 경우, 폰트의 모양을 그대로 재현하는 것을 우선시하였다. 즉, 인쇄물과 디스플레이에 나타나는 폰트의 모양이 거의 유사하다. 그래서 계단현상이 생기지 않고 모양이 부드럽지만 폰트가 흐릿하게 보여서 macOS의 폰트 렌더링을 좋아하지 않는 사람도 존재한다. 이 문제는 애플Retina 디스플레이를 Mac으로 가지고 오면서 해결되었다.
가장 강력한 기능으로 font substitute로 불리는 폰트 대체 기능이 있다. 해당 기능을 이용하면 굴림체나 돋움체를 나눔고딕이나 kopub체 등으로 바꿔서 출력하는 것이 가능하다. GDI++ 등의 프로그램에는 없는 기능이다.

4. 사용법



4.1. 기본


  1. MacType을 설치한다.
  2. 필요하다면 인터넷에서 적절한 프리셋(*.ini 파일)을 받아서 설치한다.[4] 경우에 따라서 글꼴도 같이 설치해야 하는 경우도 있다. 주로 나눔고딕이나 KoPub 돋움을 사용한다.
  3. MacType을 실행한다.
  4. 실행 방법을 선택하라는 창이 나오면 용도에 맞는 모드를 선택해준다.
    • Registry: 윈도우 레지스트리에 설정을 등록하는 방법. 모든 프로그램에 렌더링이 지체 없이 적용되지만 설정 시 재부팅이 필요하다.
Windows 10에서 이 모드로 설정 시 부팅이 안 되는 오류가 발생하는 경우가 있다. 만약 Windows 10을 사용 중이라면 Service 모드를 사용하거나, 패치가 나올 때까지 기다리도록 하자. 개발자 측에서도 Service 모드를 권장하고 있다.
  • Service: Windows 서비스에 등록하는 방법. 재부팅은 필요하지 않지만, PC 성능에 따라 프로그램에 렌더링이 바로 적용되지 않는 문제가 생길 수 있다.
  • MacTray: 작업 표시줄에 MacType 트레이 아이콘을 띄운다. 해당 트레이 아이콘을 클릭해서 프로그램에 렌더링을 수동으로 적용할 수 있으며, 프리셋 변경도 가능하다.
  • Manual: MacType을 사용하지 않는다.
  • 기본 내장 프리셋이나 다운받은 프리셋 중 적절한 것을 선택해서 적용한다.
  • Registry 모드로 설정한 경우, 컴퓨터를 재부팅한다.
  • 끝.
메인보드 설정의 Secure Boot가 켜져 있으면 Registry 모드에서 MacType이 적용되지 않는다. Secure Boot를 끄거나 Service 모드로 설정해야 적용이 가능하다. Windows 10의 경우 Registry 모드가 정상 동작하지 않기 때문에 Service 모드를 사용해야 한다.

4.2. 일반 옵션의 예제


  • 폰트 힌팅 옵션
옵션: 0: Normal / 1: NoHinting / 2: AutoHinting / 3: Light+AutoHinting
예)
>HintingMode=1
  • 폰트 렌더링 방식
Normal은 폰트의 경계선을 그레이 픽셀로 안티앨리어싱하고, 나머지 LCD, Light-LCD 옵션은 폰트의 경계선을 청색, 적색, 녹색 등으로 안티앨리어싱한다.
옵션: -1: Disable / 0: Normal / 1: Light / 2: LCD(RGB) / 3: LCD(GBR) / 4: Light-LCD(RGB) / 5:Light-LCD(GBR)
예)
>AntiAliasMode=4
  • 폰트 일반 굵기
범위: 32: +32
예)
>NormalWeight=0
  • 폰트 볼드체 굵기
범위: -16:+16
예)
>BoldWeight=0
  • 폰트 이탤릭체 기울기
범위: -16:+16
예)
>ItalicSlant=0

4.3. 특수 옵션의 예제


  • 감마 모드
  • DirectWrite일 때의 폰트 렌더링 굵기
  • 렌더링 적용 예외 폰트
예)
>[Exclude]
>dotum
>batang
  • 렌더링 적용 예외 프로그램
예)
>[UnloadDll]
>Bandizip.exe
>fontview.exe
>AxureRP.exe
>FontCreator.exe
>[ExcludeSub]
>javaw.exe
  • 폰트 안티앨리어싱 렌더링 옵션
1: 자체 윈도우 렌더링 / 2: free-type 렌더링
예)
> FontLoader=0
  • 폰트 색상 조절 옵션
  • 개별 폰트 옵션
Hinting, AAMode, NormalWeight, BoldWeight, ItalicSlant, Kerning
예)
>Batang=, ,30, , ,
  • 폰트 대체 강도 옵션
0: 폰트 대체하지 않음 / 1: 자체 프로그램 단위 폰트 대체 / 2: 시스템 단위 폰트 대체
예)
> FontSubstitutes=1
  • 폰트 대체
예)
>[font substitute]
>Dotumche=KoPubDotum Medium
>Apple SD Gothic Neo=KoPubDotum Medium
>dotum=KoPubDotum Medium
>dotum che=KoPubDotum Medium
>dotumche=KoPubDotum Medium
>굴림=KoPubDotum Medium
>새굴림=KoPubDotum Medium
>굴림체=KoPubDotum Medium
>돋움=KoPubDotum Medium
>돋움체=KoPubDotum Medium
  • 웹브라우저에서 폰트 대체 기능으로 폰트가 제대로 대체되지 않는 경우
크롬이나 오페라, 파이어폭스 등에서 stylus 부가기능 등에서 css옵션을 수정하여 폰트를 대체한다.
예)
>@font-face {
> font-family: "돋움";
> src: local("KopubDotum");
>}
>
>@font-face {
> font-family: "돋움체";
> src: local("KopubDotum");
>}
>
>@font-face {
> font-family: dotum;
> src: local("KopubDotum");
>}
>
>@font-face {
> font-family: DotumChe;
> src: local("KopubDotum");
>}
>
>@font-face {
> font-family: "굴림";
> src: local("KopubDotum");
>}
>
>@font-face {
> font-family: "굴림체";
> src: local("KopubDotum");
>}
>
>@font-face {
> font-family: Gulim;
> src: local("KopubDotum");
>}
>
>@font-face {
> font-family: GulimChe;
> src: local("KopubDotum");
>}
  • 위 설정으로도 폰트대체가 제대로 안될시 참조

5. 주의사항


프로그램 자체가 후킹 방식으로 동작하기 때문에 일부 환경에서는 오작동이 일어날 수 있으며, 저사양 컴퓨터에서는 성능이 저하되기도 한다. 또한 DirectWrite를 이미 적용하고 있는 프로그램에는 MacType이 먹히지 않는다.
아래의 DirectWrite 후킹 패치를 적용한 후 버전에서 서비스 방식으로 사용시 팟플레이어가 자막을 재생하지 못하는 문제가 있다. 트레이 모드로 팟플레이어를 예외 목록에 추가하면 정상작동하는 것으로 보인다.
굴림체에도 강제로 렌더링이 적용되기 때문에 글자가 상당히 못생겨진다.[5] 참고로 Fixedsys나 Terminal, MS Sans Serif와 같은 '''진짜''' 비트맵 글꼴은 렌더링 자체가 불가능하다.
HiDPI 환경이 아닌 일반적인 모니터에서는 오히려 글꼴이 흐려 보일 수 있기 때문에 가독성을 우선시하는 사람이라면 기본 클리어타입을 사용하는 것이 낫다. 특히 FHD 이하 해상도를 가진 대다수의 모니터라면 MacType이 오히려 독이 될 수 있다. 다만 No hinting 옵션으로 바꾸는 등 폰트 옵션을 재조정하면 어느 정도 가독성이 올라가기는 한다.
한컴오피스 2014 제품군에서 MacType을 켜둘 경우 충돌이 발생한다. 실행 자체는 문제없이 되는데 종료할 때마다 작동이 중지되었다는 오류가 난다.
일부 프로그램[6]은 MacType 작동 중에는 '''관리자 권한'''을 적용해야 실행되므로 주의.
현재 크롬 78버전 이상에서는 MacType이 제대로 작동이 안된다는 이슈가 있다. # 링크에 나오는 대로 바로가기 부분에서 시작 옵션을 변경하면 해결이 되긴 하니 참조. 작업 표시줄의 크롬 탭 위에서 마우스 우클릭을 한 뒤 다시 Google Chrome을 우클릭하면 속성이 보이는데 거기에서 시작 옵션 조절이 가능하다. 그러나 이러한 방법은 바로가기의 시작 옵션을 변경하는 것이기 때문에 다른 프로그램에서 크롬이 실행될 때에는 효과가 없으며, 완전한 효과를 보려면 레지스트리 설정에서
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome
으로 들어가서(해당 키가 없으면 만들면 된다)
RendererCodeIntegrityEnabled
라는 DWORD를 만들어서 0으로 설정하면 완벽하게 해결이 된다.[7] 참고 엣지 등 기타 크로미엄 브라우저도 참고 링크에 들어가서 조치를 취하자.
일부 사용자에게서 유니코드나 설치 관리자의 폰트가 깨져나오는것으로 확인되었다. 이런 현상이 발생하는 이유는 적용시킨 폰트가 해당 글자를 표기하지 못하기 떄문이다. 그러므로 다른 글꼴을 설치하거나 해결되지 않으면 '''심지어 포맷해야 한다.''' 그 외엔 별 다른 방법이 없기때문.

6. 기타


한때 Direct2D 방식을 사용하는 프로그램에는 적용되지 않는 문제점이 있었다. 이후에는 업데이트가 끊겨서 최신 윈도우에서 정상적인 사용이 불가능했던 적이 있었으나, しらいと라는 일본인 개발자가 비공식 패치를 내놓기 시작하면서 사용이 가능해졌고, 이후 개발자도 업데이트를 재개하였다.
기존에는 영어중국어(간체자/번체자), 일본어만 지원했으나, 국내의 몇몇 유저들이 비공식 한글패치를 배포하였다. 이후 1.2017.628.0 버전부터 한국어를 정식 지원한다. 그리고 프랑스어도 지원한다.

7. 관련 문서


[1] 3D그림판이나 MS스토어 등..[2] 그래서 최근 마이크로소프트UWP 앱에 한하여 클리어타입에 쓰이는 서브픽셀 렌더링 대신 그레이스케일 렌더링을 채택하고 있다.[3] 단, ClearType 옵션 자체는 켜져 있어야 한다.[4] C:\\Program Files\\MacType\\ini 폴더에 프리셋이 저장된다.[5] 굴림체돋움체, 바탕체 등을 비트맵 글꼴이라고 아는 사람들이 많은데, 사실 이들도 트루타입 글꼴이다. 다만 8pt부터 18pt까지의 영역에 비트맵 이미지를 박아둬서 비트맵처럼 보일 뿐이다. 실제로 해당 비트맵 영역을 삭제하면 일반 환경에서도 정상적으로 렌더링이 적용되며, 그럴 것 없이 20pt 이상으로 키워도 렌더링이 적용된다.[6] PaintTool SAI, Mudbox, VMware[7] 이 방법을 쓰면 크롬에서 "조직에서 관리"가 뜬다는 점을 유의할 것. 별거 아니고 이 기능을 사용하기 때문에 그런거다.