cf.ptCurrentPos.x = x * font_width; cf.ptCurrentPos.y = y * font_height;
cf.ptCurrentPos.x = x * font_width + offset_width; cf.ptCurrentPos.y = y * font_height + offset_height;
void sys_cursor(int x, int y){    COMPOSITIONFORM cf;    HIMC hIMC;    if (!has_focus) return;        SetCaretPos(x * font_width + offset_width,		y * font_height + offset_height);    /* IMM calls on Win98 and beyond only */    if(osVersion.dwPlatformId == VER_PLATFORM_WIN32s) return; /* 3.11 */        if(osVersion.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS &&	    osVersion.dwMinorVersion == 0) return; /* 95 */    /* we should have the IMM functions */    hIMC = ImmGetContext(hwnd);    cf.dwStyle = CFS_POINT;    cf.ptCurrentPos.x = x * font_width;    cf.ptCurrentPos.y = y * font_height;    ImmSetCompositionWindow(hIMC, &cf);    ImmReleaseContext(hwnd, hIMC);}