한컴 사전의 단어 자동인식 기능

김일목의 이미지

한컴 사전에 보면 어느 윈도우건간에 현재 마우스가 위치해 있는 곳의 단어를

자동으로 인식하여 사전에 보여주는 기능이 있는데

어떤방법으로 하면 될까요?

window API 에 해당 기능이 있는 건가요?

thyoo의 이미지

Windows에 API가 있긴 있는데
시각장애자용이라 제한적이구요.

해당위치의 Top Window에서 그림을 읽어들여
OCR 처리하는 겁니다.
___________________________________
Less is More (Robert Browning)

___________________________________
Less is More (Robert Browning)

김일목의 이미지

그런데 그렇게 하면, 각 폰트에 따라서 다른 결과가
나오지 않을까요?

allinux의 이미지

ocr로는 제한점(폰트, 폰트 사이즈, 외국어)이 너무 많습니다.

win16기반(도스, win95, 98)과 nt와 처리하는 방법이 다릅니다.

nt가 비교적 쉬우니 설명드리면

InvalidateRect 을 호출하면 LPCRECT lpRect 영역만큼 다시 그려지게(이때 WM_PAINT 의 메세지를 통해서) 됩니다.

문자열이면 TextOut 류의 함수가 불리어지는데

BOOL TextOut(HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString);

...
TextOutA
TextOutW
ExtTextOut

관련 함수들을 후킹함으로서 인자중에 lpString 값을 얻어 구현할 수 있습니다.

thyoo의 이미지

Hand Script도 아니고
인쇄물 스캔한 것도 아니라
AI로 일반적으로 쓰이는 폰트를
공부 시켜놓으면 안틀리고 잘 인식합니다만..

TextOut hooking sample
http://www.codeguru.com/cpp/w-p/dll/hooking/article.php/c3639/
___________________________________
Less is More (Robert Browning)

___________________________________
Less is More (Robert Browning)