[ubuntu-ko] 한국어용 language-selector.conf 설정에 대한 개선 의견

마잇(Mait) mattengi at gmail.com
Sat Oct 20 18:32:44 BST 2007


07. 10. 20, Young-Ho Cha <ganadist at gmail.com>님이 작성:
> 07. 10. 20, 마잇(Mait) <mattengi at gmail.com>님이 작성:
> > 우분투의 경우 글꼴 설정 지역화를 위해서 language-selector 패키지에서
> > /etc/fonts/languageselector.conf 파일을 적절한 파일로 링크해주고 있습니다. 이 파일은
> > /etc/fonts/conf.d/52-languageselector.conf 파일에 의해서 읽어들여지게 됩니다.
> >
> > 한국어 설정에 해당하는 파일은 /usr/share/language-selector/fontconfig/ko_KR 입니다.
> >
> > 우선 이 파일의 우선순위가 50-user.conf, 51-local.conf의 설정을 덮어쓰도록 되어 있다는 점을 말씀드립니다.
> >
> > 이것은 각각,
> > ~/.fonts.conf (개별 사용자의 설정)
> > /etc/fonts/local.conf (시스템 전체에 적용되며 패키지 업데이트시 건드려지지 않음)
> > 파일들에 대응되는 설정입니다.
> >
> > 그래서 이 파일에 섣불리 전역 설정을 적용하면 패키지 업그레이드시 덮어씌워지게 되는
> > /usr/share/language-selector/fontconfig/ko_KR 파일을 직접 수정해야 하는 번거로움이
> > 생깁니다.
> >
> > 일단 이 문제는 languageselector.conf의 적용 우선순위를 바꾸는 쪽으로 해결해야 한다는 생각이 들구요, 파일
> > 내용 자체만을 의논해봤으면 좋겠습니다.
> >
> > 1) 다음 설정은 영문, 한글 글꼴을 포함한 모든 글꼴의 antialias, hinting, hintstyle을 바꾸는
> > 설정입니다. 이러한 전역 설정을 여기서 하는 것은 좋은 접근이 아니라고 보입니다. 그리고 antialias 설정과
> > hinting 설정은 기본값과 동일합니다. 반복할 필요는 없습니다. hintstyle의 경우 일단 기본 설정을 따르고 한글
> > 글꼴들에 대해서만 따로 적용하는 것이 바람직하다고 생각합니다. 그래서 다음 설정을 모두 삭제하는것을 추천합니다.
> >
> > <!-- Turn on antialias and hinting with hintmedium -->
> > <match target="font" >
> >         <edit mode="assign" name="antialias" >
> >                 <bool>true</bool>
> >         </edit>
> > </match>
> > <match target="font" >
> >         <edit mode="assign" name="hinting" >
> >                 <bool>true</bool>
> >         </edit>
> > </match>
> > <match target="font" >
> >         <edit mode="assign" name="hintstyle" >
> >                 <const>hintmedium</const>
> >         </edit>
> > </match>
> >
>
> 기본적으로는 힌팅을 켜두고 한글만 끌 수 있으면 좋을 것 같습니다.
>
> 그리고 힌팅이 지원되는 맑은 글꼴은 켜두면 될 것 같습니다.


한글 글꼴의 경우 일괄적으로 힌팅 설정을 끄는 것은 바람직하지 않다고 생각합니다. 한글  글꼴의 힌팅 설정을 일괄적으로 끌
경우 얻어지는 효과가 없습니다. 힌팅을 켜도 힌팅 정보가 없는 은글꼴 같은 경우 영향이 없습니다. 힌팅을 끄든 켜든
똑같습니다. 첨부된 그림 파일을 참고해 주십시오. 다만 autohint의 적용 유무에 따라서는 모양이 확 달라지게 됩니다.
비트맵이 내장된 윈도우즈의 굴림이나 네이버사전체의 경우도 힌팅 설정의 영향을 받지 않습니다.

다시 정리하면, 힌팅을 키면 힌팅 정보가 들어있는 은진, 맑은 고딕등은 제대로 적용됩니다. 힌팅 정보가 없는 글꼴이나 비트맵
내장 글꼴은 영향을 받지 않습니다. 그래서 끌 필요가 없다고 생각합니다.

> <snip>
>
> > 3) 다음 설정은 10픽셀 초과 22픽셀 미만의 한글 영역을 포함한 글꼴을 표시할 때 antialias, autohint
> > 설정을 끄고 hintstyle을 변경하는 내용입니다. 이것은 아마도 예전에 fontconfig에서 embeddedbitmap
> > 속성을 지원하지 않을때 흔히들 자주 사용하는 굴림, 돋움체를 제대로 보이기 위해서 적용된 설정으로 짐작됩니다. 윈도우즈에
> > 포함된 굴림 같은 경우 일부 크기에 대해서 비트맵이 내장되었기 때문에 이렇게 해야 윈도우즈와 동일한 모양의 출력을 얻을 수
> > 있었습니다.
> >
> > 하지만 지금은 embeddedbitmap 속성이 지원되고 기본적으로 켜져 있습니다. 이 의미는 비트맵을 내장한 글꼴의 경우
> > antialias 설정과 상관없이 내장된 비트맵이 우선적으로 보여진다는 것입니다. 이제는 의미 없는 설정이라고 여겨지고 비트맵
> > 영역이 없는 대부분의 트루타입 글꼴 설치시에 보기 않좋은 출력을 얻을 수 밖에 없는 위험한 설정이라고 생각합니다.
> > autohint 속성의 경우 기본값으로 꺼진 상태입니다. 이는 dpkg-reconfigure fontconfig-confg
> > 명령으로 켤 수 있습니다.
> >
> > <!-- Turn off antialias and autohint for Korean fonts depending on pixelsize -->
> > <match target="font">
> >         <test name="lang" compare="contains">
> >                 <string>ko</string>
> >         </test>
> >         <test name="pixelsize" compare="more">
> >                 <int>10</int>
> >         </test>
> >         <test name="pixelsize" compare="less">
> >                 <int>22</int>
> >         </test>
> >         <edit name="antialias" mode="assign">
> >                 <bool>false</bool>
> >         </edit>
> >         <edit name="autohint" mode="assign">
> >                 <bool>false</bool>
> >         </edit>
> >         <edit name="hintstyle" mode="assign">
> >                 <const>hintmedium</const>
> >         </edit>
> > </match>
> >
> 맑은 고딕의 경우에는 힌팅을 켜고 aa를 꺼야 윈도와 비슷한 품질을 얻을 수 있습니다.


제가 적용해본 결과는 그렇지 않습니다. 첨부 파일의 이미지를 참고해 주십시오. 비트맵을 내장하지 않은 모든 트루타입 글꼴의
경우 antialias를 끄는 것은 옳지 않다고 생각합니다. 비트맵을 내장한 글꼴도 비트맵이 있는 크기에 대해서는 우선적으로
비트맵이 보여지나, 그 이외의 크기에 대해서는 antialias를 적용하기 위해 antialias를 켜는 것이 바람직합니다.

첨부된 그림 파일은 맑은 고딕이 antialias on, off에 따라서 어떻게 다르게 보이는지와 추가로 힌팅 정보가 없는
은돋움이 hinting on, off 설정에 따라서 어떻게 다르게 보이는지를 보여주기 위해 만들었습니다.

참고로 간략하게 제가 알고 있는 관련 정보를 요약해 보겠습니다.

- 외곽선 글꼴의 경계선을 부드럽게 보이기 위해서 antialias 기술이 사용됩니다.

- antialias가 적용 될 때 흐릿해 보이는 단점을 개선하기 위해 즉, 또렷한 글꼴의 모양을 유지하기 위해 글꼴
제작자들이 hinting 정보라는 것을 글꼴 안에 내장 시킵니다.

- hinting 정보가 들어 있지 않은 글꼴의 경우 리눅스 환경에서는 autohint의 적용을 통해 개선된 품질을 얻을 수
있습니다. 하지만 auto라는 말에서 추측할 수 있듯이 완벽하지는 않으며 특히 한글 글꼴의 경우는 또렷해지기는 하지만 상당히
일그러져 보이게 되는 단점이 생깁니다. 라틴어 기반 글꼴의 경우도 autohint의 품질 여부에 대해서 많은 논란이 있고
우분투 기본 설정으로는 꺼진 상태 입니다.

-- 
마잇(Mait)