삽질하는플머

기존 게임용 에디터 구현... 1.

탐구생활/Uniscribe

글립캐시 DLL을 사용한 에디트 컨트롤을 구현중. 수개월동안 머릿속에서만 돌아가던 물건이 조금씩 완성되는 기분은 참 좋다. 하긴 뭐... 이 맛에 코딩 하는거지만...



한 일.
출력 처리.
키다운 메시지 처리.
글자단위, 단어단위 캐럿 이동.
캐럿 이동에 따른 문자열 옵셋 처리.
복사/잘라내기/붙이기


할 일.
IME 메시지 처리.
마우스 메시지 처리.
선택박스 구현.
패스워드문자 구현.


사실 제일 난감한부분이 바로 "선택박스"인데... 예전에는 그냥 선택시작위치에서 선택된 양 만큼 역상시키면 그만이었지만 LTR, RTL이 뒤섞인 상황에서는 그게 말처럼 쉽지가 않다. 아래 이미지는 위의 문자열을 워드패드에서 선택해 본 것이다.



RTL인 아랍어는 선택상자가 좌측으로 뻗어나가다가 LTR인 영문을 만나 다시 우측으로 진행된 후 다시 아랍어를 만나 좌측으로 진행되고 있다. 유니스크라이브의 ScriptString API 에서는 ScriptStringOut을 쓰면 이 부분까지 자동으로 처리해주지만... 그저 군침만 흘릴 뿐... 

밤새 고민하면 내일쯤 대충 방법이 떠오르겠지 머~~