作者:ARM-WinCE

确实很久没有写Blog了,感觉有些对不住曾经看我blog的朋友。刚从美国回来,由于项目原因,春节都在美国工作,现在有点时间,先写一篇简单的,介绍一下WinCE字体的设置。

WinCE系统字体的设置是通过注册表实现的,目前提供以下几种系统字体的设置:

系统字体:HKEY_LOCAL_MACHINE/SYSTEM/GDI/SysFnt

菜单字体:HKEY_LOCAL_MACHINE/SYSTEM/GWE/Menu/BarFnt

弹出窗口字体:HKEY_LOCAL_MACHINE/SYSTEM/GWE/Menu/PopFnt

内存不足错误窗口字体:HKEY_LOCAL_MACHINE/SYSTEM/GWE/OOMFnt

每一种系统字体的设置子项都是一样的,如下:

"Nm":           要使用字体的名字,比如Arial,Georgia等

"Ht":             字体的高度

"It":               是否斜体,0表示正常,1表示斜体

"Wt":             加粗程度

"CS":             所使用的字符级,默认是0,为ANSI_CHARSET,字符集在wingdi.h中定义

在使用一种字体之前,要确认你的WinCE系统支持这种字体,如果不支持,你需要添加字体,在Catalog Items View中选择Core OS->Fonts,然后选择要添加的字体就可以了,需要重新编译整个WinCE工程。

编译完工程之后,打开release目录下编译好的工程中的project.reg文件,添加系统字体设置的配置信息如下:

[HKEY_LOCAL_MACHINE/SYSTEM/GDI/SYSFNT]

        "Nm"="Georgia"                     字体名字

        "Ht"=dword:fffffff4                   字体高度

        "It"=dword:1                             斜体

        "Wt"=dword:190

        "CS"=dword:0

[HKEY_LOCAL_MACHINE/SYSTEM/GWE/Menu/BarFnt]

        "Nm"="Tahoma"

        "Ht"=dword:fffffff6

        "It"=dword:0

        "Wt"=dword:2BC

        "CS"=dword:0

[HKEY_LOCAL_MACHINE/SYSTEM/GWE/Menu/PopFnt]

        "Nm"="Tahoma"

        "Ht"=dword:fffffff4

        "It"=dword:0

        "Wt"=dword:190

        "CS"=dword:0

[HKEY_LOCAL_MACHINE/SYSTEM/GWE/OOMFnt]

        "Nm"="Tahoma"

        "Ht"=dword:fffffff4

        "It"=dword:1

        "Wt"=dword:190

        "CS"=dword:0

这段配置只是改变了系统字体的名字,大小并支持斜体,然后重新make image一下就可以了。具体效果如下:

可以看到字体已经改变,WinCE还支持ClearType字体,具体的实现只需要添加如下注册表配置:

[HKEY_LOCAL_MACHINE/SYSTEM/GDI/Cleartype]

"Default"=dword:00000001

重新Make image以后,运行效果如下:

ClearType字体是微软的技术,可以使字体看上去更加清晰圆滑,从上面的两张图片效果确实可以比较出来。

今天就写到这里,以后有时间再写。

WinCE系统字体的设置相关推荐

  1. android 11.0 12.0添加系统字体并且设置为默认字体

    1.概述 在11.0 12.0系统定制化开发中,在产品定制中,有产品需求对于系统字体风格不太满意,所以想要更换系统的默认字体,对于系统字体的修改也是常有的功能,而系统默认也支持增加字体,所以就来添加楷 ...

  2. Miktex2.9使用Wondows系统字体相关设置

    1.在命令行使用 miktex-fc-list查询所有可用系统字体.miktex-fc-cache扫描所有可用字体. 2.非Windows系统自带字体,也就是用户自己安装的字体不在C:/Windows ...

  3. android 9.0 10.0 添加系统字体并且设置为默认字体

    在系统定制化开发中,修改默认字体也是常有的功能,今天就来添加楷体字体为系统字体,并替换为系统默认字体 效果图如下: 具体步骤如下: 1.增加新字体 在目录frameworks/base/data/fo ...

  4. 设置应用内字体大小不跟随系统字体大小

    在项目开发者有用户反馈部分界面 字体重叠严重或者显示不全.开始也是觉得是屏幕适配不完善的问题. 但是测试发现并没有什么问题. 之后就考虑到是否用户设置了系统字体大小,导致字体显示异常尤其是布局宽高固定 ...

  5. Android 为什么设置系统字体,应用字体会根据系统字体改变?

    为什么设置系统字体,应用中字体会根据系统字体改变 设置系统字体显示大小后,应用中的字体也根据也跟随系统设置而变化,这样是不是之前写好的整个布局就有可能乱了. 拿TextView源码看下面setText ...

  6. android 设置ios 字体大小设置,解决修改系统字体大小APP字体跟着变大的问题

    前言 最近在做项目的时候,碰到了这个问题,具体是:app中字体大小用了sp,然后修改手机系统字体大小后,sp设置的文字大小跟着系统变了,导致了布局挤压以及一系列的问题,经过研究找到了解决方法,在此记录 ...

  7. linux系统中怎么设置网络,vmware中linux怎么设置网络

    vmware中linux怎么设置网络 本站整理   发布时间:2009-03-10 12:18:33   作者:jb51.net   我要评论 如果你的XXX卡没被内核支持,又怕自己编译的内核会造成系 ...

  8. android改变整个app字体大小,Android系统字体大小如何影响app的字体大小?

    在Android应用开发过程中,一定会碰到本来完美的布局,在系统字体大小设置[最大]时变成一团浆糊.解决办法网上也有很多,但是分析原理的却几乎没看到.博主在碰到问题的第一时间也是直接用了网上的方法,即 ...

  9. 替换android系统字体颜色,Android替换系统字体

    1.引言 最近老大安排一个任务,让我看看android 字体这块,将我们产品中的字体替换下.花了1.2天看懂,还得写篇文章,教程在组内进行分享.这次算是我进军Android系统的第一步.这篇文章基于A ...

最新文章

  1. 关于学习Python的一点学习总结(41->相关的BIF操作)
  2. 不需编程/无需写代码的中文英文文本分析教程,免费傻瓜式,多图预警
  3. 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果。
  4. linux 空间不够了,怎么办?Disk Requirements:At least 11MB more space needed on the / filesystem....
  5. jmeter一个线程组多个请求_JMeter接口测试以及完善教程
  6. 冲突域 广播域简单解释
  7. 将人民币的数字表示转化成大写表示(C#版)
  8. SAP License:利润中心的替代应用
  9. mysql sql时间比较_mysql和sql时间 字段比较大小的问题
  10. 3.10 Spark RDD编程案例
  11. 矩阵的转置、加和乘法写入C++
  12. MBA-day21 假言推理-练习题
  13. 使用showdown.js将Markdown文档转换为HTML
  14. python显示gif图片_利用Python制作GIF图片
  15. Web前端HTML使用
  16. 这些实用的手机小技巧分享给你
  17. python十六进制转为二进制数_python进制转换(二进制、十进制和十六进制)及注意事项...
  18. Kratos,RPC服务调用过程
  19. 新氧云原生全栈数仓最佳实践
  20. 红色尖兵人际关系条例

热门文章

  1. c语言编译器不支持64位,什么编译器支持64位整数?
  2. 第11章 进入保护模式
  3. ajax的学多久,ajax第二天学习
  4. 【C语言进阶深度学习记录】一 数据类型的本质与变量的本质
  5. Hive分析窗口函数 NTILE,ROW_NUMBER,RANK,DENSE_RANK
  6. 18.QT-QPlainEdit 信号与槽
  7. [2-sat]HDOJ3062 Party
  8. [xsd学习]xsd介绍
  9. ShardedJedisPool 中可用连接数的小bug
  10. 关于application title一直是untitled的问题