MiniGUI 使用TTF字体

来源:互联网 发布:vps进入数据库 编辑:程序博客网 时间:2024/04/28 16:30
 矢量字体的配置和使用如下 :

       1、    编译配置(使MiniGUI支持矢量字体):
               ( 1 )下载并安装Freetype1
               ( 2 ) MiniGUI 编译时,打开configure相应的配置选项:--enable-ttfsupport
                           (注: 如果没有安装Freetype1即使 使用了此选项,也会被默认关闭掉。)
               ( 3 ) 将字体放在/usr/local/lib/minigui/res/font目录下。
 
      2、    运行时配置( 从MiniGUI所支持的字体中选择所要用的矢量字体),即字体的修改:
             
MiniGUI 支持控件的字体修改,一般可分为:整体修改、特定修改。
    * 整体修改:通过修改配置文件,改变所有控件的字体。
    * 特定修改:在MiniGUI运行时创建一种逻辑字体,然后设置控件的字体为所
创建的逻辑字体,这种方法可以改变单个控件的字体。

MiniGUI 支持控件的字体修改,一般可分为:整体修改、特定修改。

整体修改
    * 非内嵌
修改MiniGUI.cfg 文件的 [systemfont]段:

[systemfont]
font_number=6
font0=rbf-fixed-rrncnn-8-16-ISO8859-1
font1=*-fixed-rrncnn-*-16-GB2312
font2=*-Courier-rrncnn-*-16-GB2312
font3=*-SansSerif-rrncnn-*-16-GB2312
font4=*-Times-rrncnn-*-16-GB2312
font5=*-Helvetica-rrncnn-*-16-GB2312
default=0
wchar_def=1
fixed=1
caption=2
menu=3
control=2

 特定修改: 例如

( 1) 创建逻辑字体

            case MSG_INITDIALOG :
            font0=CreateLogFont(  FONT_TYPE_NAME_SCALE_TTF,
                                  "arial", "ISO8859-1",
                                  FONT_WEIGHT_REGULAR,
                                  FONT_SLANT_ROMAN,
                                  FONT_SETWIDTH_NORMAL,
                                  FONT_OTHER_NIL,
                                  FONT_UNDERLINE_NONE,
                                  FONT_STRUCKOUT_NONE, 100, 0 );
          

(2 )使用逻辑字体

       case MSG_PAINT:
       hdc = BeginPaint (hDlg);
       SelectFont(hdc,font0);
       TextOut(hdc, 30, 10,"ok");
       EndPaint (hDlg, hdc) ;
       eturn 0;

arial为:支持ISO8859-1英文字符的矢量字体。