폰트 내부의 조합 정보와 언어권별 출력방향을 분석하여
각 언어권의 문자 출력 방식을 맞도록 폰트 엔진을 지원합니다.
유니코드는 전세계 언어의 글자의 표준이지만 단순히 유니코드 나열하는 것으로는 각 언어권의 조합과 출력 방향을 고려하여 완벽히 출력 할 수 없습니다.
Uinshape은 조합을 이용해 만들어진 폰트 내부의 조합 정보와 언어권별 출력방향을 분석하여 각 언어권의 문자 출력 방식에 맞도록 폰트 엔진을 지원합니다.
기본 폰트 엔진(레지스터라이져) 만 사용시에는 유니코드 영역의 글자는 출력하지만 아랍어처럼 오른쪽에서 왼쪽으로 출력되는 언어나
인도어처럼 문자의 조합에 따라서 다른 글자로 변형되어 출력되는 글자에 대해서는 기본 폰트 엔진(레지스터라이져) 만으로는 처리가 되지 않습니다.
기본폰트 엔진만으로 처리시, 유니코드 순서 그대로 출력되어 조합도 비정상으로 노출됩니다.
Unishape은 처리할 언어권을 구분하고 각 언어의 방향성과 폰트내의 조합정보를 처리하여 폰트엔진에 전달.
폰트 엔진(Unitype, Freetype)이 이런 조합정보와 글자의 방향성을 고려하여 출력하게 되면 조합된 글립과 문자의 방향에 맞춰 정상적인 출력이 가능합니다.
Unishape 처리 시 아랍어는 오른쪽에서 왼쪽으로 출력되지만, 라틴글자들은 왼쪽에서 오른쪽으로 출력.
자소데이터 출력은 가능. 폰트의 스크립트 해석이 안되어 조합된 글자가 나오지 않고 해당글자의 낱자들로 출력
언어별 Script 해석을 통해 폰트엔진에서 출력한 Glyph을 재구성하여 Rendering
언어권 | 유니코드 영역 | 문자 | 언어권 | 유니코드 영역 | 문자 |
---|---|---|---|---|---|
Tibetan | 0F00 - 0FFF | Indi | 0B80 - 0BFF | Tamil | |
Khmer | 1780 - 17FF | 0C00 - 0C7F | Telugu | ||
Hebrew | 0590 - 05FF | 0C80 - 0CFF | Kannada | ||
Arabic | 0600 - 06FF | 0D00 - 0D7F | Malayalam | ||
0750 - 077F | Arabic Supplement | 0D80 - 0DFF | Sinhala | ||
FB50 – FDFF | Arabic Presentation Forms-A | Thai | 0E00 - 0E7F | ||
FE70 – FEFF | Arabic Presentation Forms-B | Myanmar | 1000 - 109F | ||
Indi | 0900 - 097F | Devanagari | 한글/옛한글 | 1100 - 11FF | Hangul Jamo |
0980 - 09FF | Bengali | 3130 - 318F | Hangul Compatibility Jamo | ||
0A00 - 0A7F | Gurmukhi | A960 - A97C | Hangul Jamo Extend-A(Unicode 5.2) | ||
0A80 - 0AFF | Gujarati | AC00 - D7AF | Hangul Syllables | ||
0B00 - 0B7F | Oriya | D7B0 - D7FF | Hangul Jamo Extend-B(Unicode 5.2) |
기업 및 개인의 사용환경과 제품에 맞는 최적의 솔루션을 제안해 드립니다.
담당자 : 기술영업부 윤금식 수석 | 연락처 : 02.3471.6006 | 휴대폰 : 010.6212.9377 | 이메일 : sales@fonts.kr