| //go:build windows && !appengine | |
| // +build windows,!appengine | |
| package runewidth | |
| import ( | |
| "syscall" | |
| ) | |
| var ( | |
| kernel32 = syscall.NewLazyDLL("kernel32") | |
| procGetConsoleOutputCP = kernel32.NewProc("GetConsoleOutputCP") | |
| ) | |
| // IsEastAsian return true if the current locale is CJK | |
| func IsEastAsian() bool { | |
| r1, _, _ := procGetConsoleOutputCP.Call() | |
| if r1 == 0 { | |
| return false | |
| } | |
| switch int(r1) { | |
| case 932, 51932, 936, 949, 950: | |
| return true | |
| } | |
| return false | |
| } |