삽질하는플머

아랍어 글립 조립하고 VisualToLogical 적용하기.

탐구생활/Uniscribe
공백이 삽입된 힌두어를 MLang 으로 폰트링크 시도할 때, GetCodePages() 함수가 힌두어영역 전체를 판단하지 못하는 문제 때문에 소중한 여가시간이 홀라당 날아가버렸다. 으으 짜증나...

아무튼 힌두어와 태국어, 아랍어와 영문으로 구성된 유니코드 문자열을 VisualToLogical 정보에 따라 찍어보았다.
이제 "아랍 - 숫자 - 영문" 으로 구성된 문장도  표시될 때는 "숫자 - 아랍 - 영문" 으로 보여진다.





처음 구조를 고민할 때는 GetGlyphOutline() API 에서 얻은 글립메트릭스 정보를 사용하려고 했는데, 아랍어의 gmCellIncX 값이 이상하게 나온다. 태국어와 힌두어는 아무 문제 없었는데...

잠시 고민하다가 ScriptPlace() 함수에서 얻은 글립의 너비를 적용하였더니 제대로 표시된다.
게임내에서 단순한 출력만 원한다면, LTR / RTL 신경쓸 것 없이 단순히 글립을 조립해서 VisualToLogical 정보대로 뿌려주기만 하면 되겠군...

아직 만들지 않은 구조지만, 머리속에서 자꾸 갈아엎게되니 그것도 나름 스트레스...