cyrillic 에 해당하는 글1 개
2007/11/11   why cannot we embed Cyrillic?

flash/Tip | 2007/11/11 22:49

다국어(multi-language) 작업시 폰트임베딩 문제는 적어도 누구나  한번 쯤은 겪여 보았을 것이다.
임베드하게되면 너무나도 용량이 커져버리게 되는 아시아국가 문자, 너무나 생소하여 원하는 문자들이 제대로 임베드되었는지 알 수 없는 유럽이나 남미쪽의 라틴계열의 문자들...이 모든것이 웹개발을 하는 개발자들이 유의해야만 하는 사항일 것이다.

용량문제에 있어서는 특별히 디바이스 폰트를 사용하지 않고 임베드를 사용할 경우 어느정도의 용량증가는 필히 감수해야 할 부분이라서 이부분은 제외하고 대신 정확한 폰트 임베드에 대해서만 글을 적어보려고 한다.

제목에서 언급한 키릴문자(cyrillic)는 동유럽쪽에서 많이 사용하는 문자로 러시아나 불가리아,우크라이나와 같은 나라에서 사용하는 문자이다. (e.g.  фваыафиывапывап)
일반적인 라틴문자 이외에 특수한(?)  문자의 대표라 할 수 있는  키릴문자의 임베드에 대해 살펴보겠다.

플래시에서 폰트를 임베드하는 방법은 대표적으로 2가지로 나눌 수 있다.
첫번째는 직접 스테이지에 Text tool 을 사용하여 Dynamic textfield 를 생성하여 임베드하는 방법과,
두번째는 라이브러리에 있는 font symbol(Library-New Font) 을 사용하는 경우이다.

'나는 키릴문자가 제대로 임베드 되는데 왜 안된다고 그러지?' 라고 반문하는 사람이 있을 것이다.
맞는 말이다. 하지만 임베드가 가능하다는 사람은 첫번째 방법으로 직접 임베드를 한 경우 일것이다.

만약 두번째 방법으로 폰트를 임베드하려고 하면 키릴문자는 임베드가 안되었다는 것을 알 수 있을 것이다.(각각의 방법으로 생성된 임베드파일 크기에서 차이가 있음)
이것은 font symbol 을 사용할 경우 폰트 임베딩 방식이 시스템의 코드페이지(codepage)에 따라 달라지게 때문에 발생하는 문제이다. 즉, 국가마다 사용하고 있는 OS의 언어설정에 따라 임베드되는 폰트범위에 차이가 있다는 말이다.
만약 키릴문자를 사용하고 있는 러시아어나 우크라이나어로 OS의 언어 코드페이지가 설정되어있다면 두번째 방법으로도 임베드가 가능할 것이다. 대신, 그쪽 환경에서는 반대로 한글이 임베드가 안될 것이다.

font symbol 을 사용하여 폰트를 임베드하면 OS의 국가코드페이지범위와 Basic Latin, Latin 1 의 범위(unicode standard)까지 임베드가 가능하다. 물론 로컬환경에 따라 다를것이다.(대부분의 코드페이지에서는 라틴문자를 포함한다)
위 범위는 기본 라틴계열의 영어권국가와 프랑스어,독일어,스페인어와 같은 문자를 모두 표현할 수 있다. 하지만 헝가리어 같은 경우 Latin Extended A 까지 포함해야 모두 표현이 가능하다.
따라서 두번째 방법으로 폰트를 적절하게 임베드하는 방식은 코드페이지를 강제로 바꾸는 방법밖에 없다.(제어판-->국가및 언어옵션-->고급-->유니코드를 지원하지 않는 프로그램용 언어-->재부팅)
하지만 이방법은 너무 번거롭다.

Adobe에서도 font symbol 을 이용한 다국어 작업시 폰트 임베드 문제는 로컬시스템 환경에 영향이있으므로 첫번째 방법으로 직접 텍스트 필드를 생성하여 임베드하는 것을 권장하고 있다.

위 모든사항을 고려할 때 가장 안정적으로 다국어용 폰트를 임베드 하려면, 첫번째 방법을 사용해야할 것이다. 또한 임베드하려는 폰트가 해당문자(glyph)가 포함되어있는지 확인해 봐야한다.
대표적인 유니코드 폰트인 Arial 이나 Times New Roman 그리고 폰트뒤에 키릴문자(cyrillic)의 약자인 CYR 또는 CR  과 같은 첨자가 붙는 폰트를 사용할 경우 해당폰트를 표현하는데 무리가 없을것이다.

as3.0 의 경우는 hasGlyphs 과 같은 해당문자의 유무여부를 판단해주는 메서드가 존재하므로 이를 활용하면 좀더 안정적인 폰트 임베드가 가능할 것이다.

근데 왜 actionscript 로 character 임베드범위를 제어 못하게 했을까?....아님 할수 없는것일까?



download sample files...



reference from articles below
http://www.quasimondo.com/archives/000211.php
http://www.actionscript.org/forums/showthread.php3?t=108546&highlight=Cyrillic
http://www.unicode.org/


 
 
태그 : , , ,
이 글의 관련글(트랙백) 주소 :: http://kimkijeung.com/trackback/104

Name 
Password 
Homepage 
  secret
Comment 
  글쓰기


[PREV] [1] [NEXT]

 
전체 (105)
flash (74)
math&physics (4)
programming (11)
Flex2 (1)
Mac (2)
photo (0)
project (6)
주저리주저리 (3)
유용한 자료들 (1)
diary (0)
Book (1)
web (2)
«   2009/01   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31