forked from toolshed/abra
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			479 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			479 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| //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
 | |
| }
 |