⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cjk_index.txt

📁 字库制作软件
💻 TXT
字号:
static long GetPosWithMbcs(UINT code, UINT codepage)
{
	long lIdx = -1;
	BYTE R = (code >> 8) & 0xFF;   //区码
	BYTE C = code & 0xFF;   //位码
										
	switch(codepage)
	{
	case CP932:    // 日文
		if(R >= 0x81 && R <= 0x9F)
		{
			if(C >= 0x40 && C <= 0x7E)
				lIdx=(R-0x81)*188+(C-0x40);  //188= 0x7E-0x40+1)+(0xFC-0x80+1); 	
			else if(C >= 0x80 && C <= 0xFC)
				lIdx = (R-0x81)*188 + (C-0x80)+63;  // 63 = 0x7E-0x40+1;
		}
		else if(R >= 0xE0 && R <= 0xFC)
		{
			if(C >= 0x40 && C <= 0x7E)
				lIdx=5828+ (R-0xE0)*188 + (C-0x40);  // 5828 = 188 * (0x9F-0x81+1);
			else if(C >= 0x80 && C <= 0xFC)
				lIdx = 5828 + (R-0xE0)*188 + (C-0x80)+63;
		}
		break;
										
	case CP936:       // 简中
		if((R >= 0xA1 && R <= 0xFE) && (C >= 0xA1 && C <= 0xFE))
			lIdx = (R-0xa1)*94 + (C-0xa1);  //94 = (0xFE-0xA1+1); 
		break;
										
	case CP949:       // 韩文
		if(R >= 0x81)
		{
			if(C >= 0x41 && C <= 0x7E)
				lIdx=((R-0x81)*188+(C-0x41)); //188= (0x7E-0x41+1)+(0xFE-0x81+1);
			else if(C >= 0x81 && C <= 0xFE)
				lIdx = ((R-0x81) * 188 + (C - 0x81) + 62);  // 62 = (0x7E-0x41+1);	
		}
		break;
						
	case CP950:        // 繁中
		if(R >= 0xA1 && R <= 0xFE) 
		{
			if(C >= 0x40 && C <= 0x7E)
				lIdx=((R-0xa1)*157+(C-0x40)); //157= (0x7E-0x40+1)+(0xFE-0xA1+1);
			else if(C >= 0xA1 && C <= 0xFE)
				lIdx = ((R-0xa1)*157+(C-0xa1)+63);  // 63 = (0x7E-0x40+1);
		}
		break;
		
	default:
		break;
	}
	return lIdx;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -