윈도우 운영체제의 폰트 폴백기준?

프로그래밍 일반에 관한 포럼입니다.

운영자: 류광

Locked
사용자 아바타
kotonoha
전체글: 69
가입일: 2009-05-22 16:29

윈도우 운영체제의 폰트 폴백기준?

전체글 글쓴이: kotonoha » 2009-05-29 12:34

윈도우 운영체제를 포함해서 대부분의 근대화된 운영체제에는
"폰트폴백" 이라는 기능이 있습니다.

메모장에서 Fixedsys 를 폰트로 설정하고 한글을 타이핑하면
Fixedsys 에는 한글영역이 없지만, 한글을 출력 안하기 보다는
한글을 지원하는 폰트를 찾고, 또한 최대한 "비슷한" 폰트를 찾아서
글자를 출력해준다는 점입니다.

여기까지는 별 문제가 없지만 한가지 문제점이 있다면
아랍어,태국어 와 같은 Complex Text Layout 를 지원하기 위해서는
저수준의 텍스트 출력 API 를 사용해야 하는데.

이러한 저수준 텍스트출력 API 에서는 폰트폴백이 지원되지 않아서
수동으로 만들어야 하는데, 어떻게 해야 실제 메모장과 똑같은 기준으로
"가장 비슷한 폰트" 를 찾을수 있는지 궁금합니다.

메모장과 똑같이 동작하는 폰트 폴백을 만들려고 하는데
어떻게 하면 좋을까요?

이미지
일단 제가 직접 구현한 Font Fallback 입니다.
구현방법은 EnumFontFamilies 함수를 사용하여
나열된순서대로 순회하면서 "적합한" 폰트가 발견되면
사용하는 방식을 사용했습니다.

이미지
메모장의 폰트 폴백인데, 도데체 무슨 기준을 "비슷한 폰트" 를 골라주는지는
모르겠습니다. 하지만 어떤 뭔가에 의해서 "비슷한 폰트" 를 찾아줬는데,
도데체 무슨 기준인지는 모르겠습니다.

비회원

전체글 글쓴이: 비회원 » 2009-05-29 13:35

혹시
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
를 참조하면 되지않을까요?

http://lapis.pe.kr/blog/article/139/malgun_gothic/

trackback:

트랙백

전체글 글쓴이: trackback: » 2010-06-30 11:45

삽질하는플머: 유니스크라이브, Uniscribe 개삽질 중... 유니스크라이브의 ScriptString API 는 참 쓰기도 좋고 예쁘고 편리한데... 아무리 뒤져봐도 글립단위 캐싱에 쓸만한 정보는 없다. 결국 저수준 함수들을 사용해야 하는데... 폰트폴백에서 절망중. http://lists.cairographics.org/archives ... 02901.html 폰트폴백 메커니즘을 알 수 있는 뾰족한 방법은 없다는 야그. 때문에 다른 어플들은 다음과 같은 방법을 사용한단다. 1...

Locked