language-support-ko에 대한 개선 사항 토론 (2009년 우분투한국사용자모임 글로벌 잼 -1)

[size=150:176if4mh]language-support-ko에 대한 개선 사항 토론[/size:176if4mh]
소제목 : 2009년 우분투 글로벌 잼 버그 보고

현재 우분투 한글환경 개선이 필요 하다는 이야기가 많아
이에 대한 토론을 10월 5일까지 하여 정리 한 후
버그 보고를 통해 개선코자 합니다.

이는 우분투 한국 모임에 중요한 경험이 되 줄 것입니다.
자료 및 이이 대한 댓글 부탁드리며…

여러분의 운영자 올림

우선 전에 마잇님 제안 글 입니다.

https://lists.ubuntu.com/archives/ubunt ... 00549.html

지금은 그 구조가 바꿔 졌는데
우선 29-language-selector-ko-kr.conf 에서

[code:1gt5w4o4]<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>[/code:1gt5w4o4] 안티알리아스(AA) 와 힌팅을 끄는 설정으로 인해
은폰트 외의 다른 한글 글꼴은 AA가 꺼져 날카롭게 보인다는 것입니다.

보통 이질문에 그냥 적용 되는 심볼릭 파일인 /etc/fonts/conf.d/29-language-selector-ko-kr.conf 파일을 삭제하라
답해 왔는데… 위 code의 내용이 우선 필요 없는 부분 같습니다.

실제 존재하는 /etc/fonts/conf.avail/29-language-selector-ko-kr.conf 전문 입니다.

[code:2qmkl8xe]<fontconfig>

<!-- 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>

<!-- Control spacing property for Korean –>
<match target="font">
<test name="lang" compare="contains">
<string>ko</string>
</test>
<test name="spacing" compare="eq">
<const>dual</const>
</test>
<edit name="spacing">
<const>proportional</const>
</edit>
<edit name="globaladvance" binding="strong">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="lang" compare="contains">
<string>ko</string>
</test>
<test name="outline" compare="eq">
<bool>false</bool>
</test>
<test name="spacing" compare="eq">
<const>mono</const>
<const>charcell</const>
</test>
<edit name="spacing">
<const>proportional</const>
</edit>
<edit name="globaladvance" binding="strong">
<bool>false</bool>
</edit>
</match>

<!-- 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>

<!-- Turn on antialias and hinting with hintmedium for ttf-Unfonts –>
<match target="font">
<test name="family" compare="contains">
<string>Un</string>
</test>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintsytle" mode="assign">
<const>hintmedium</const>
</edit>
</match>

<!-- Turn off antialias and autohint for ttf-alee depending on pixelsize –>
<match target="font">
<test name="family">
<string>Guseul</string>
</test>
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
</match>
<match target="font">
<test name="family">
<string>Guseul</string>
<string>Guseul Mono</string>
</test>
<test name="pixelsize" compare="more">
<int>11</int>
</test>
<test name="pixelsize" compare="less">
<int>16</int>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
</match>

</fontconfig>[/code:2qmkl8xe]

위 파일은 language-selector-common 패키지에 포함된 파일인데…
위 파일이 진짜 한국어 환경글꼴 표현에 필요한 것일까요 ?

29-language-selector-ko-kr.conf 파일 내부의 설정이 어떤 효과가 있는 것인지는 저도 잘 모르겠지만 안티앨리어싱 설정은 분명 귀찮은 작업에는 틀림없습니다. 특히 오픈오피스 같은 프로그램에서는 메뉴가 아예 안보일 정도로 깨지는 현상도 발생하기 때문에, 한국어를 위한 설정이라기보다는 버그로 보는 게 맞는 것 같습니다.

또 하나 제안하자면 아직 iBus 입력기는 한자를 입력할 수 없는 버그가 있습니다. 입력기 바꾸는 설정이 꼭 필요해보이는데요, iBus가 안정될 때까지 나비를 기본 입력기로 하거나 SCIM을 되살리거나 하는 것은 어떨까요?(나비는 다국어 입력시에 문제가 발생할 수도 있습니다만…)

저 같은 경우에도 한국어와 영어만 사용해서 그런지…
왠지 딱 필요한 것만 있는 나비가 더 정겹더군요;;
스킴에 대한 안 좋은 추억도 영향이 있긴 하겠지만요;;;
나중에 다국어를 사용한다면 모를까
영어/한국어 만 사용하는 유저라면 나비가 기본으로 채택되도 나쁠 것은 없을것 같습니다.

[quote="simplism":1543mw6z]저 같은 경우에도 한국어와 영어만 사용해서 그런지…
왠지 딱 필요한 것만 있는 나비가 더 정겹더군요;;
스킴에 대한 안 좋은 추억도 영향이 있긴 하겠지만요;;;
나중에 다국어를 사용한다면 모를까
영어/한국어 만 사용하는 유저라면 나비가 기본으로 채택되도 나쁠 것은 없을것 같습니다.
저 같은 경우에도 한국어와 영어만 사용해서 그런지…
왠지 딱 필요한 것만 있는 나비가 더 정겹더군요;;
스킴에 대한 안 좋은 추억도 영향이 있긴 하겠지만요;;;
나중에 다국어를 사용한다면 모를까
영어/한국어 만 사용하는 유저라면 나비가 기본으로 채택되도 나쁠 것은 없을것 같습니다.
[/quote:1543mw6z]

저도 나비 사용자지만 가끔씩 중국어랑 일어를 칠 때가 있어서,
그 때는 불편한 것 같아요.
나비를 조금 업글해서 SCIM만큼은 아니더라도 동아시아계열 다 칠수 있게 되었으면 좋겠습니다.^^

조금 늦은 것 같기는 한데 여기 시각으로는 아직 10월 5일이니까 참고가 될 수도 있지 않을까 해서 올립니다. 하하…–;;

기존 설정은 한글 글꼴에 기본적으로 안티알리아싱을 끄고 은글꼴만 안티알리아싱이 되도록 설정되어 있습니다. 다른 한글 글꼴이 못나보이는 가장 큰 이유입니다. 그외에 몇몇 디테일한 설정이 포함되어 있습니다. 그러나 이는 fontconfig가 개선되면서 더 이상 필요하지 않은 것 같습니다.

다음은 제가 실제로 쓰는 29-language-selector-ko-kr.conf 파일입니다.

  1. 기본적으로 한글 글꼴에 안티알리아싱과 힌팅(hintslight)을 켭니다.
  2. 힌팅 정보가 없어 힌팅을 켜면 못나보이는 폰트들(주로 예전에 많이 쓰이던 백묵, 휴먼 글꼴이 이에 해당합니다)에만 따로 옵션을 주어 힌팅을 끄도록 했습니다.
  3. 기존 설정에 포함되어 있던 픽셀사이즈에 따라 강제적으로 안티알리아싱을 끄는 옵션, 기존에 문제가 되었던 여백문제에 대한 설정, 구슬글꼴에 대한 설정 등은 필요가 없다고 판단하여 삭제했습니다.

[code:2i20qc9w]
<fontconfig>
<!-- Turn on antialias and hinting with hintslight –>
<match target="font" >
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
</match>

<!-- Turn off hinting for some Korean fonts –>
<match target="font">
<test name="family" compare="contains">
<string>백묵</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
</fontconfig>
[/code:2i20qc9w]

제가 xml에 대해 잘 몰라서(뭐는 잘 알겠습니까만은…) 문법에 실수가 있을 수 있는데 지적해 주시면 감사하겠습니다.

오픈오피스에 실제로 적용한 스샷을 첨부했습니다. 클릭해서 실제 크기로 보세요.

[quote="realfivesk":vmxmlm8y]
제가 xml에 대해 잘 몰라서(뭐는 잘 알겠습니까만은…) 문법에 실수가 있을 수 있는데 지적해 주시면 감사하겠습니다.

오픈오피스에 실제로 적용한 스샷을 첨부했습니다. 클릭해서 실제 크기로 보세요.[/quote:vmxmlm8y]
멋진 데요 오후에 해보겠습니다. 제시한 파일이 없는거와 있는거의 차이를 해보고…
이야기하겠습니다.

글 주제와 크게 관련있다고 보기는 좀 그렇고,
날짜 기한도 지나고 해서 글 올리기가 미안스럽지만… 그래도 나름 신경쓰이는 부분이라
전문가(?!)분들의 말씀 듣고자 합니다.

아래 첨부 이미지 처럼
콘솔에서 update를 하게될 경우…

[code:3dspzbrz]$ sudo apt-get update[/code:3dspzbrz]

[attachment=0:3dspzbrz]screenshot_001.png[/attachment:3dspzbrz]

와 같이 ‘무시’ 뒤에 공란이 없어 url 주소링크가 깔끔하게 보이질 않습니다.

오래전부터 전 이것이 계속 신경이 쓰이더군요… -_-;;
(성격 이상하다 하시면… :( )

언어지원에서 해결될 사항인지 궁금합니다.

realfivesk 님의 29…conf 파일 감사합니다!!

글 내용 중 궁금한 점이 있어서 덛붙입니다.;

[code:2s86jn9g]힌팅 정보가 없어 힌팅을 켜면 못나보이는 폰트들(주로 예전에 많이 쓰이던 백묵, 휴먼 글꼴이 이에 해당합니다)에만 따로 옵션을 주어 힌팅을 끄도록 했습니다.[/code:2s86jn9g]

궁극적으로는 29…conf파일을 고칠게 아니라,
이 부분도 사실 fontconfig에서 hint 정보가 없으면 자동으로 hint하지 않게 되어야 하지 않을까요?

ttf 폰트에 hint정보가 들어있는지/아닌지를 알 수 있는 방법이 없나요?

[quote="suapapa":3og5ut2u]ttf 폰트에 hint정보가 들어있는지/아닌지를 알 수 있는 방법이 없나요?[/quote:3og5ut2u]

이미 비트맵 폰트와 벡터 폰트를 알아서 구분하여 안티앨리어상과 힌팅을 처리하고 있습니다.
그래서 29-language-selector-ko-kr.conf 의 내용이 대부분 불필요해진 상태인 것이구요.

설정파일의 우선순위가 더 높아 오히려 문제가 발생하고 있는 상황이라 수정되어야 할 것 같습니다.

안타깝게도 힌팅정보가 없는 글꼴을 자동으로 걸러주지는 못하는 것 같더군요…

ttf-baekmuk = 백묵폰트는 우분투에 이젠 기본적으로 설치도 안돼있는 폰트이고
[b:2c8dpkpm]realfivesk님[/b:2c8dpkpm] 제안을 적용하여 백묵폰트를 비교 해보아도 변화가 없습니다.
[b:2c8dpkpm]추가적인 설명 부탁 합니다.
[/b:2c8dpkpm]
아래 그림은 위가 적용 아래는 미적용 인데…
[attachment=0:2c8dpkpm]screenshot1.png[/attachment:2c8dpkpm]

gweere님과 강분도님의 설명이 맞는 것 같습니다. 확인해보니 백묵글꼴 관련 설정에 주석처리해도 랜더링 결과는 똑같네요…

한 6개월 전 쯤 심혈을 기울여(?) 만든 설정인데 무슨 실수가 있었던지 업데이트가 되면서 바뀌었는지 한 것 같습니다.

결과적으로 혼란을 드리게 되어 죄송스럽습니다. 제가 올린 설정에서 백묵글꼴 관련 설정은 지워도 무방합니다.

음… 대단한건 아니고요

우분투 9.04 에서 작업표시줄(?)인가 거기에서
사용자이름 누르면 하위메뉴가 열리잖아요

거기에서 "셧다운" 이게 무지 신경쓰이더라고요.

[quote="Gyu":3icigqw5]음… 대단한건 아니고요

우분투 9.04 에서 작업표시줄(?)인가 거기에서
사용자이름 누르면 하위메뉴가 열리잖아요

거기에서 "셧다운" 이게 무지 신경쓰이더라고요.[/quote:3icigqw5] 이 문제는 9.04도 랭귀지팩 업데이트 하면 바꿔 집니다.
9.10 에서는 제가 전부 [b:3icigqw5] 컴퓨터 끄기[/b:3icigqw5] 로 바꾸었습니다.

말 하신 대로 대단한 건 아니고 본 토론과 상관이 좀 없습니다. :?

강분도 님께서 지적하신;

[code:992ewhuh]realfivesk님 제안을 적용하여 백묵폰트를 비교 해보아도 변화가 없습니다.
추가적인 설명 부탁 합니다.[/code:992ewhuh]

대로라면 29… 파일을 지워도 문제가 없을 것 같아 지워 보니…

[code:992ewhuh]$ sudo rm /etc/fonts/conf.d/29-language-selector-ko-kr.conf[/code:992ewhuh]

정말 아무 문제가 없네요.
지우기 전-AA와 힌팅을 켜도록 수정했던 상태-과 똑같습니다.
윈도굴림체에서 비트맵 글꼴도 잘 보여 주고요.

fontconfig가 다 알아서 해주는 것 같습니다.

제가 둔해서 차이점을 모르는 건가요?

[quote="suapapa":3btxcll3]정말 아무 문제가 없네요.
지우기 전-AA와 힌팅을 켜도록 수정했던 상태-과 똑같습니다.
윈도굴림체에서 비트맵 글꼴도 잘 보여 주고요.
[/quote:3btxcll3] ^^

본 글타래를 그냥 둔 이유는
처음 이문제를 제기한 [b:3btxcll3]마잇님[/b:3btxcll3]을 만났는데
마잇님 말이 우선 29파일은 현재구조라면 필요성이 전혀 없고
뒤에 69에서 설정한것과 50유저 설정에서 50이 적용이 인되는 이유를 이야기 하며
뒤에 파일 설정도 좀 엉켜 있음을 말하시더군요
그래서 [b:3btxcll3]정리 해서 본 글타래에 올려 달라[/b:3btxcll3]고 했습니다.
[b:3btxcll3]좀 더 토론이 필요하고 더 정리가 필요 할 거 같습니다.[/b:3btxcll3]
현재 9.10 나온 상태이니 10.04LTS 바라보고 천천히 가보자고요 ;)