转stemwin教程
STemWin对字体的支持还是非常全面的,包含抗锯齿、复合字符的图样 (例如泰语中的要求)、位于外部非可寻址介质中的字体以及TrueType支持。除TrueType字体 (矢量字体)格式外,所有其他字体均为位图字体。本期教程主要给大家全面的讲解一下STemWin支持的字体,SIF(系统独立字体),TTE(矢量字体)和XBF(外置字体)方式字体的实现会在后面及其教程中跟大家再做详细的介绍。本期教程的重点是STemWin本身所带的标准字体。
16. 1 字体类型
16. 2 字符集
16. 3 标准字体
16. 4 总结
16.1 字体类型
这里我们通过官方的字体转换器来了解一下emWin支持的字体类型,字体转换器和前面讲GUIBulder5.22在同一个文件目录里面。打开后界面如下:
1
|
|
|
|
16.3.3 等宽字体
关于等宽字体已经在前面16.1.8小节跟大家贴了显示截图,这里跟大家演示一下emWin模拟上面的演示效果,运行程序如下:
复制代码
#include "GUI.h"
void MainTask(void)
{
GUI_Init();
GUI_SetFont(&GUI_Font6x8_ASCII);
GUI_DispStringAt("Hello world! www.armfly.com", 0, 0);
GUI_SetFont(&GUI_Font8x8_ASCII);
GUI_DispStringAt("Hello world! www.armfly.com", 0, 30);
GUI_SetFont(&GUI_Font8x10_ASCII);
GUI_DispStringAt("Hello world! www.armfly.com", 0, 60);
GUI_SetFont(&GUI_Font8x13_ASCII);
GUI_DispStringAt("Hello world! www.armfly.com", 0, 90);
GUI_SetFont(&GUI_Font8x16x1x2);
GUI_DispStringAt("Hello world! www.armfly.com", 0, 120);
GUI_SetFont(&GUI_Font8x16x2x2);
GUI_DispStringAt("Hello world! www.armfly.com", 0, 150);
GUI_SetFont(&GUI_Font8x16x3x3);
GUI_DispStringAt("Hello world! www.armfly.com", 0, 180);
while(1);
}
|
|
|
|
|
16.3.4 数字字体(比例)
STemWin支持的数字字体主要有以下四种:
|
|
|
|
|
下面是emWin模拟器上面运行的程序(仅支持数字显示,字符是无法显示的,切记):
复制代码
#include "GUI.h"
void MainTask(void)
{
GUI_Init();
GUI_SetFont(&GUI_FontD32);
GUI_DispStringAt("0123456789", 0, 0);
GUI_SetFont(&GUI_FontD48);
GUI_DispStringAt("0123456789", 0, 32);
GUI_SetFont(&GUI_FontD64);
GUI_DispStringAt("0123456789", 0, 32+48);
GUI_SetFont(&GUI_FontD80);
GUI_DispStringAt("0123456789", 0, 32+48+64);
while(1);
}
|
|
|
|
|
16.3.5 数字字体(等宽)
STemWin支持的等宽数字字体主要有以下四种:
|
|
|
|
|
下面是emWin模拟器上面运行的程序(仅支持数字显示,字符是无法显示的,切记):
复制代码
#include "GUI.h"
void MainTask(void)
{
GUI_Init();
GUI_SetFont(&GUI_FontD24x32);
GUI_DispStringAt("0123456789", 0, 0);
GUI_SetFont(&GUI_FontD36x48);
GUI_DispStringAt("0123456789", 0, 32);
GUI_SetFont(&GUI_FontD48x64);
GUI_DispStringAt("0123456789", 0, 32+48);
GUI_SetFont(&GUI_FontD60x80);
GUI_DispStringAt("0123456789", 0, 32+48+64);
while(1);
}
|
|
|
|
|
16.4 总结
本期教程主要是跟大家介绍一下STemWin支持的字体类型,重点介绍标准字体的使用方法,下期教程更加讲解下STemWin的外语支持。
|
|
|
|
|