CSS 에서 한글 폰트 문제

Mozilla Firefox 사용에 대한 일반적인 질문과 답을 해 주는 게시판입니다. 질문을 하기 전에 FAQ를 읽어 보시는게 도움이 될 것입니다.
Post Reply
김정균
도우미
도우미
Posts: 215
Joined: 2004 09 20 22:32 50
Contact:

CSS 에서 한글 폰트 문제

Post by 김정균 »

css-validator 를 돌리다 보면

font-family: 굴림체, tahoma, sans-serif;

와 같이 지정을 하면, local charactor 인 굴림체가 에러라고 나오더군요.
그래서 보니 GulimChe 와 같이 지정을 하면 되는 것 같은데, 문제는 IE 는
반영을 잘 해 주는데, Firefox 는 GulimChe 를 인식하지 못하는 문제가
있는 것 같습니다.

이거 버그 일까요?
빛알갱이
해커
해커
Posts: 1146
Joined: 2004 01 15 20:06 36

Post by 빛알갱이 »

여기서 몇 번 나온 얘기인데, 못 보신 모양이군요.

한중일 글꼴 지정을 할 때에는 항상 '굴림체, Gulimche'와 같이 해 줘야 합니다.

모질라의 경우 리눅스 Xft build는 약 한 달 전에 어느 경우라도 인식할 수 있도록 고쳤고 (fontconfig 최신판이 설치되어 있어야 합니다), Windows의 경우는 곧 고쳐질 것입니다. 어느 경우에나 suite 1.8이나 firefox 1.1에서는 고쳐져 있을 것입니다. 하지만, 그래도 맥은 아직 문제가 있으므로 (또, OS/2나 다른 OS용에서도, 다른 브라우저도 문제가 있을 수 있으므로), 항상 Latin 글자와 한글로 두 번씩 지정해 주어야 합니다. 또, MS IE라도 한국어 판 Win 9x/ME에서는 라틴 글자로 쓰인 이름을 인식하지 못 할 가능성이 높습니다. 반대로 비한국어판 Win 9x/ME에서는 MS IE도 한글로 써 놓은 이름을 인식하지 못 할 가능성이 높고요.

모질라 관련 버그는 다음과 같습니다.

https://bugzilla.mozilla.org/show_bug.cgi?id=231426
https://bugzilla.mozilla.org/show_bug.cgi?id=223653

Windows에서 글꼴 이름 인식에 관한 문제에 대한 글
http://www.trigeminal.com/samples/font_choices.html

글꼴 지정 방법에 대한 글은
여기에 있습니다. 핵심은 끝에 generic family 이름을 적어 주는 습관을 들이자 !
Last edited by 빛알갱이 on 2005 02 21 16:12 38, edited 1 time in total.
빛알갱이
해커
해커
Posts: 1146
Joined: 2004 01 15 20:06 36

Post by 빛알갱이 »

CSS validator를 돌릴 CSS 파일의 최선두에서

@charset "EUC-KR";

@charset "UTF-8"

과 같이 문자 인코딩을 지정하셨습니까? 그렇게 지정해도 에러를 낸다면, 그것은 validator 버그네요. 버그 보고해야겠습니다.
User avatar
z980
서포터즈
서포터즈
Posts: 107
Joined: 2004 02 17 09:08 16
Location: Korea, Republic of
Contact:

Post by z980 »

굴림체 -> "굴림체"
" 로 묶어 주면 에러가 안날겁니다..

전 영어가 아닐경우 이렇게 해야되는줄 알고 있었서
한글로 지정할때는 " 를 사용했었는데..
그런 문제가 아닌건가요?
hyeonseok
해커
해커
Posts: 691
Joined: 2004 08 11 22:14 59
Contact:

Post by hyeonseok »

z980 wrote:굴림체 -> "굴림체"
" 로 묶어 주면 에러가 안날겁니다..

전 영어가 아닐경우 이렇게 해야되는줄 알고 있었서
한글로 지정할때는 " 를 사용했었는데..
그런 문제가 아닌건가요?
한글이라고 해서 에러가 나지는 않습니다.

"" 는 폰트 이름에 공백이 들어가는 경우애 사용합니다.

한글이기 때문에 에러가 나는 것이 아니라 다른 문제가 있는 것 같습니다.
빛알갱이
해커
해커
Posts: 1146
Joined: 2004 01 15 20:06 36

Post by 빛알갱이 »

한글이라고 해서 에러가 나서는 안 되고요. 인용 부호로 감쌀 필요도 없습니다. 이 문제를 확실히 해 두기 위해 CSS 문서를 찾아 보았습니다.


CSS 2.1 15.3
에 보면 인용 부호로 감싸야 하는 경우는 글꼴 이름에 들어 있는 공백 글자의 수를 보전하고 싶을 때(그런 경우는 거의 없겠지요.)와 ',', ';', '}', '{', '(', 인용 부호 등이 들어 있을 때 뿐입니다. 이런 경우에도 CSS의 'escaping' 규칙에 따라서 escaping했다면 감싸지 않아도 됩니다.

공백 글자 수를 보전한다면 '__New Century_____Schoolbook'과 'New________ Century _______Schoolbook___'을 다른 글꼴로 인식되어야 합니다. ('_'는 공백을 나타내기 위해 썼습니다.) 위의 경우 인용 부호로 감싸면 둘은 다른 글꼴로 인식됩니다. 감싸지 않으면 그냥 'New_Century_Schoolbook' (앞뒤의 공백은 잘려 나가고 중간의 공백은 아무리 많아도 하나로 취급합니다)과 같이 취급한답니다.
김정균
도우미
도우미
Posts: 215
Joined: 2004 09 20 22:32 50
Contact:

Post by 김정균 »

jigsaw.w3.org 의 css-validator 를 한글화 했는데, 이를 UTF8 로 처리하다 보니
발생하는 문제입니다.
그것 좋은 소식이네요. W3C validator 팀에 L10N 가능성에 대해 메일을 보냈지만, 묵묵부답... L10N이 용이하게 string이 따로 나와 있나요? 어쨌든, 웹 표준 준수 노력에 큰 도움이 될 것 같습니다. 감사합니다.
뭐 어쨌든 소스에서 이 부분을 아예 수정을 해서 현재는 에러가 발생안하고 validator
를 통과는 하네요. 다만.. Validation CSS 부분에서는 EUC-KR 문자는 깨져서 보인다는 문제는 수정을 못하겠군요. 능력 밖이라서..
흠... POSIX 상에서 C라면 iconv, Java에는 다양한 인코딩 관련 API, Perl은 encode/encoding (어느 쪽인지 항상 헛갈려서), Python에도 codec인지 뭔지 하는 모듈, PHP는 iconv 모듈.... 이런 것 가져다 쓰면 될텐데요. W3C HTML validator에서 인코딩 처리하는 부분을 CSS validator에 이식할 수 있을 것이고요.
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests