High DPI에서 Sublimetext3의 인라인 입력

1913 단어 SublimeText3
4K 모니터를 구입하여 DPI를 표준에서 변경하여 사용합니다. 도트 바이 도트의 경우에는 문제가 없지만 Windows에서는 DPI를 변경하는 동안 문제가 발생합니다. Windows8.1~은 그래도 좋아진 생각이 듭니다만.

Sublimetext3도 Hgih DPI(고DPI라고도 함)로 사용하면 탭의 일본어가 깨지거나 미묘하게 문제가 발생합니다만, 무엇보다 문제가 있는 것이 IMESupport 플러그인의 인라인 전개 부분이 어긋나는 것입니다.



어쩌면 High DPI 대응하고 있지 않는 것이 문제일까라고 생각해, 빨리 빨리 퀵 해크 해 보았습니다. 본래라면 매니페스트 파일등에서 High DPI 대응을 선언합니다만, 이 방법으로는 잘 되지 않았기 때문에, SetProcessDPIAware 함수를 거칠게 호출합니다. 추천된 함수로는 되지 않을 것입니다만. (제대로 VS로 프로젝트를 만들면 좋을지도 모릅니다만)

SetProcessDPIAware function
htps : // msd 응. 미 c 로소 ft. 이 m/자-jp/ぃb 등 ry/우동 ws/에서 sk와 p/ms633543% 28v=vs. 85% 29. 아 spx

이하, 수중의 환경이 64bit판이므로, 그것의 Diff입니다.
index 33574a7..deb40d6 100644
--- a/hook/imesupport_hook.c
+++ b/hook/imesupport_hook.c
@@ -21,6 +21,7 @@ BOOL WINAPI DllMain(HINSTANCE hModuleDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
        hModule = hModuleDLL;

+       SetProcessDPIAware();
        switch (fdwReason) {
        case DLL_PROCESS_ATTACH:
                break;

컴파일에는 Makefile이 있었지만 VS2013의 명령 프롬프트에서 빨리 다음을 실행하면 DLL이 만들어집니다.
cl /wd4996 /LD /Feimesupport_hook_x64.dll imesupport_hook.c imm32.lib user32.lib

나머지는 %appdata%\Roaming\Sublime Text 3\Packages\IMESupport 당 패키지가 들어 있다고 생각되므로 해당 DLL을 대체하면 괜찮을 것입니다. 일단 로그아웃하지 않으면 누군가가 DLL을 잡고 대체하지 못할 수 있습니다.

이하, 대체 후입니다.



우선, 볼 수 있는 위치가 되었습니다. 잠시 사용해보고 싶습니다.

좋은 웹페이지 즐겨찾기