아리따글꼴을 fonts.conf에서 묶어주고 싶습니다.
글쓴이: sephiron / 작성시간: 금, 2006/11/10 - 11:37오후
새 공개 글꼴인 아리따체에는 aritaM과 aritaSB가 있는데 aritaM이 일반, aritaSB가 굵은 글꼴입니다.
한데 아리따체는 비스타 맑은 굴림과 같이 같은 폰트 패밀리로 나오는 것이 아니라 각각 다른 폰트 패밀리로 나타나기 때문에 파이어폭스 같은 응용프로그램에서 aritaM을 기본 폰트로 지정하면 굵은 글씨체가 aritaSB가 아닌 aritaM이 embolden되어서 나오게 됩니다. embolded aritaM이 아닌 aritaSB로 나오게 하려면 어떻게 해야 하나요?
<match target="pattern"> <test name="famliy"> <string>aritaM</string> </test> <test qual="any" name="embolden" compare="eq"> <const>true</const> </test> <edit mode="assign" binding="strong" name="famliy"> <const>aritaSB</const> </edit> </match>
를 ~/.fonts.conf에 추가 시켜줬건만은 요지부동이군요. 무엇이 잘못되었지요?
Forums:
여전히 삽질 중.
이렇게 하면 font family는 aritaSB로 바뀌지만 embolden이 꺼지지 않고 남아있네요. 왜 그렇죠?
Forensic Computing On Linux
아직 멀었어
올려주신 방법으로는
올려주신 방법으로는 fc-match의 결과는 바뀌어 보이지만 실제 적용되는 폰트는 바뀌지 않을 겁니다.
target="pattern"에서 바꿔주어야 적용이 되더군요. target="font"는 이미 적용될 폰트가 결정된 상태에서 해당 폰트의 옵션만 조절이 가능한 것 같습니다.
전 이렇게 해서 적용시키고 있는데 한가지 웃긴 사실은 /etc/fonts/fonts.conf 파일 내용의 순서가 사용자 설정을 먼저 읽어들이고 embolden 설정이 그 후에 나오기 때문인지 이 둘의 순서를 바꾸어주지 않으면 ~/.fonts.conf에서 아무리 변경을 해도 적용이 되지 않더군요. 이점 확인하시기 바랍니다.
embolden설정은 그대로 적용하서도 되겠지만, 폰트 선택 부분은 사용하시는 폰트 조합에 따라 응용해서 적어주셔야 할 것 같습니다. 저는 Lucida + 아리따로 사용중이라 저렇게 쓰고 있습니다.
--
마잇
--
마잇
참고로 이런 경우에
참고로 이런 경우에 대해서 좀 오래전이지만 메일링 리스트에서 본적이 있는데 상표권?라이센스? 문제로 이것을 자동적으로 처리해 주기가 곤란하다는 내용이었습니다.
arita 혹은 aritaM 으로 요청이 들어오는 이것을 자동적으로 aritaSB로 바꿔주는 그런 방식이 일종의 상표권을 건드리는 문제라고 언급하던 것 같은 기억입니다.
이런 폰트가 많아지면 꽤 골치아프겠네요 이것도...
잘 모르시는 분들을 위해 '이런 폰트'에 대해 짤막하게 말씀드리면
family는 같고 style이 regular, bold등으로 구분되는 경우가 아니라,
style은 상관 없이 family가 아무개글꼴-regular, 아무개글꼴-bold 이런식으로 된 것을 말합니다.
--
마잇
--
마잇
지움
지움
감사합니다.
감사합니다. 해결했습니다.
마잇님과 마찬가지로 aritaSB에는 없는 영문과 숫자를 그리기 위해 다른 폰트를 aritaSB에 prepend시켰으나 firefox에서 제대로 나타나지 않고 sans-serif로 alias된 글꼴이 대신 나타나길래 무엇인가 잘못되었나 하고 한참을 삽질했으나 QT4 응용프로그램에서는 제대로 동작하길래 삽질을 그만 두었습니다.
----
Forensic Computing On Linux
아직 멀었어
보통의 qt, gtk
보통의 qt, gtk 프로그램이 폰트를 결정하는 방식하고 파이어폭스하고 좀 차이가 있는 것 같습니다.
sans-serif로 폰트를 설정하고
이런 설정을 해주면 대부분의 프로그램들이 영문은 Lucida, 한글은 아리따체로 적용이 됩니다. 현재 표시하려는 글자의 영역을 가지고 있는 글꼴을 위에서부터 우선적으로 찾아서 그걸 적용합니다.
근데 파이어폭스는 이런 우선순위로 하지않고 로케일 정보를 우선으로 적용하는 것 같습니다. fc-match 폰트 정보 중에서 charset에 들어있는 정보와 현재 로케일이 일치하는 것을 선택해서 그것을 우선적으로 적용한다고 해야 될까요.
Lucida 글꼴 charset에는 ko가 없고 아리따는 있습니다. 제 현재 로케일은 ko_KR.UTF-8이고 아리따체는 한글, 영문 영역 모두 가지고 있습니다. 그래서 파이어폭스에서는 sans-serif로 설정하면 영문, 한글 모두 아리따체로 표현 됩니다. 아리따체에도 영문 영역이 있기 때문이죠.
현재 로케일과 일치하는 글꼴을 먼저 찾아서 그 글꼴이 표현할 수 있는 영역을 최대한 사용합니다.
그리고 이 결정 방식이 보고 있는 웹 페이지의 인코딩과도 상관이 있습니다. iso-8859-1 인코딩을 사용한 페이지의 경우는 또 Lucida를 우선으로 적용하는 것 같더군요.
위 내용 모두 확실한 근거가 있는 것은 아니고 이것 저것 시도해보면서 짐작해낸 것 입니다.
제가 찾은 방법은 western, korean, undefind language 이 세 부분의 폰트 지정을 sans-serif와 같은 대표 글꼴로 하지 않고 우선순위로 적용되고자 하는 영문 폰트로 직접 지정을 했습니다.
파폭의 설정을 sans-serif와 같은 대표 글꼴로 유지하시려면
이런식으로 binding="strong"을 이용해도 가능했던 것 같습니다.
정리하면, 표시하는 웹 사이트의 인코딩 정보와 글꼴이 표현 가능한 chrset 정보를 비교해서 가장 먼저 일치하는 글꼴을 찾아낸다. 이 글꼴이 표현 가능한 영역을 최대한 활용하고 없으면 다음 우선순위의 글꼴을 찾는다
이게 파폭이 글꼴을 결정하는 방식 같습니다.
한가지 더 애매한 사실은 fc-match sans-serif 해보면 이 결과에도 로케일 정보가 우선시 된다는 겁니다. 하지만 일반 프로그램들은 최초에 제가 설명한 방식으로 결정을 하는 것 같습니다.
--
마잇
--
마잇
감사합니다. 많이
감사합니다. 많이 배우고 갑니다.
----
Forensic Computing On Linux
아직 멀었어
댓글 달기