资料库

第17章-Shift-JIF支持(uCGUI中文手册).pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
第17章 Shift-JIS支持
第17章 Shift-JIS支持 最通用的日文编码方法是 Shift-JIS。Shift-JIS 编码使 8 位字符得到丰富的使用,第一 个字节的值用来区别单字节和多字节字符。 你不需要调用特殊函数来显示一个 Shift-JIS 字符串。 最主要的必要条件是要有一种包 含有用于显示的 Shift-JIS 字符的字体。 µC/GUI 中文手册 第 1 页
第 17 章 Shift-JIS 支持 17.1 创建 Shift-JIS 字体 字体转换器能够从任何的 Windows 字体产生一种 Shift-JIS 字体用于µC/GUI。 当使用一 种 Shift-JIS 字体时,用于显示显示 Shift-JIS 字符的函数会自动地与库链接。 关于如何创建 Shift-JIS 字体的详细信息,请联系 Micrium 公司(info@micrium.com)。 一份单独的字体转换器的技术资料描述了所有你需要在你的µC/GUI 工程中实现 Shift-JIS 的 有效方法。 17.2 例子 下面的例子定义了一种包括 6 个字符的小字体:“A”,“B”,“C”和 Shift-JIS 字符 0x8350 (片假名字母 KE),0x8351(片假名字母 GE)和 0x8352(片假名字母 KO)。 然后在显示屏上 绘出一个复合字符串。 该例子的源代码是 Sample\Misc\ShiftJIS.c。 /*-------------------------------------------------------------------------- 文件: 目的: 展示µC/GUI 的 ShiftJIS 性能 ShiftJIS.c --------------------------------------------------------------------------*/ #include “GUI.H” /*************************************************************************** * ShiftJIS 字体的定义 * ***************************************************************************/ /* 拉丁文大写字母 A */ static const unsigned char acFontSJIS13_0041[13] = { /* 编码 0041 */ ________, ________, ___X____, ___X____, __X_X___, __X_X___, __X_X___, _XXXXX__, _X___X__, _X___X__, XXX_XXX_, ________, ________}; 第 2 页 µC/GUI 中文手册
第 17 章 Shift-JIS 支持 /* 拉丁文大写字母 B */ static const unsigned char acFontSJIS13_0042[13] = { /* 编码 0042 */ ________, ________, XXXXX___, _X___X__, _X___X__, _X___X__, _XXXX___, _X___X__, _X___X__, _X___X__, XXXXX___, ________, ________}; /* 拉丁文大写字母 C */ static const unsigned char acFontSJIS13_0043[13] = { /* 编码 0043 */ ________, ________, __XX_X__, _X__XX__, X____X__, X_______, X_______, X_______, X_______, _X___X__, __XXX___, ________, ________}; /* 片假名字母 KE */ static const unsigned char acFontSJIS13_8350[26] = { /* 编码 8350 */ __XX____,________, ___X____,________, ___X____,________, ___XXXXX,XXXX____, __X____X,________, _X_____X,________, X______X,________, ______X_,________, µC/GUI 中文手册 第 3 页
第 17 章 Shift-JIS 支持 ______X_,________, _____X__,________, ____X___,________, __XX____,________, ________,________}; /* 片假名字母 GE */ static const unsigned char acFontSJIS13_8351[26] = { /* 编码 8351 */ __XX____,X_X_____, ___X____,_X_X____, ___X____,________, __XXXXXX,XXX_____, __X____X,________, _X_____X,________, X______X,________, ______X_,________, ______X_,________, _____X__,________, ____X___,________, __XX____,________, ________,________}; /* 片假名字母 KO */ static const unsigned char acFontSJIS13_8352[26] = { /* 编码 8352 */ ________,________, ________,________, __XXXXXX,XX______, ________,_X______, ________,_X______, ________,_X______, ________,_X______, ________,_X______, ________,_X______, _XXXXXXX,XXXX____, ________,________, ________,________, ________,________}; static const GUI_CHARINFO GUI_FontSJIS13_CharInfo[6] = { {7, 7, 1, (void *)&acFontSJIS13_0041} ,{ 7, 7, 1, (void *)&acFontSJIS13_0042} ,{ 7, 7, 1, (void *)&acFontSJIS13_0043} /* 编码 0041 */ /* 编码 0042 */ /* 编码 0043 */ 第 4 页 µC/GUI 中文手册
第 17 章 Shift-JIS 支持 ,{ 14, 14, 2, (void *)&acFontSJIS13_8350} /* 编码 8350 */ ,{ 14, 14, 2, (void *)&acFontSJIS13_8351} /* 编码 8351 */ ,{ 14, 14, 2, (void *)&acFontSJIS13_8352} /* 编码 8352 */ }; static const GUI_FONT_PROP GUI_FontSJIS13_Prop2 = { 0x8350 ,0x8352 /* 第一个字符 */ /* 最后一个字符 */ ,&GUI_FontSJIS13_CharInfo[3] /* 第一个字符的地址 */ ,(void*)0 /* 指向下一个 GUI_FONT_PROP 的指针 */ }; static const GUI_FONT_PROP GUI_FontSJIS13_Prop1 = { 0x0041 ,0x0043 /* 第一个字符 */ /* 最后一个字符 */ ,&GUI_FontSJIS13_CharInfo[ 0] /* 第一个字符的地址 */ ,(void *)&GUI_FontSJIS13_Prop2 /* 指向下一个 GUI_FONT_PROP 的指针 */ }; static const GUI_FONT GUI_FontSJIS13 = { GUI_FONTTYPE_PROP_SJIS /* 字体类型 */ ,13 ,13 ,1 ,1 /* 字体高度 */ /* 字体 Y 轴方向的间隔 */ /* X 轴方向放大系数 */ /* Y 轴方向放大系数 */ ,(void *)&GUI_FontSJIS13_Prop1 }; /*************************************************************************** * 包含 ASCII 字符和 ShiftJIS 字符的字符串的定义 * ***************************************************************************/ static const char aSJIS[] = { "ABC\x83\x50\x83\x51\x83\x52\x0" }; /*************************************************************************** * 展示 ShiftJIS 字符的输出 * ***************************************************************************/ void DemoShiftJIS(void) µC/GUI 中文手册 第 5 页
第 17 章 Shift-JIS 支持 { GUI_SetFont(&GUI_Font13HB_1); GUI_DispStringHCenterAt("μC/GUI-sample: ShiftJIS characters", 160, 0); /* 设置 ShiftJIS 字体 */ GUI_SetFont(&GUI_FontSJIS13); /* 显示字符串 */ GUI_DispStringHCenterAt(aSJIS, 160, 40); } /*************************************************************************** * 主函数 * ***************************************************************************/ void main(void) { } GUI_Init(); DemoShiftJIS(); while(1) GUI_Delay(100); 范例程序运行结果的屏幕截图 第 6 页 µC/GUI 中文手册
分享到:
收藏