每次定制中文系统时,NK总是比英文大10M左右,启动时在bootloader中将内核Copy到内存时也花时间,同时也占用了很多内存,留给系统和应用的内存就少了10M左右,真是浪费呀,看到都心痛!本人研究了一下,同时也参考了网上的资料,现总结如下,如何减少中文字库大小和将字库放到外部存贮器上。核心思想是将默认选择的中文字体SimSun & NSimSun (SYSGEN_FONTS_SIMSUN)替换成SimSun & NSimSun (Subset 2_50) (SYSGEN_FONTS_SIMSUN_2_50)达到体积的缩小。在注册表中[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontPath]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink]改变字库simsun.ac3或simsun.ttc的存贮位置。

一、减少中文字库大小

1.先打开目标的工程文件,单击“Platform”菜单,再单击“Settings…”,执行”clear” ,

Locales:将”英文(美国)”“中文(中国)”打勾

Default languare:选择“中文(中国)”

完成第1步后,工程中采用默认的是新宋字体

2,回到Catalog,选择“Core OS”—>“International”—>“Locale Spectific Support”

—> “Chinese[Simplified]”

▲  Agfa AC3 Font Compression:使用AC3对字库进行压缩,若CPU有300HZ以上,建议选上;这个可以根据自己的需要选还是不选.

▲  SimSun & NSimSun (Subset 2_50):字体大小是3M左右,WINCE选择Subset 2_50是最合适的,所以用(Subset 2_50)中文字体替换原来的中文字体,选择SimSun & NSimSun (Subset 2_50),按右键添加该组件即可,这样就会把原来的字体替换掉。这样对中文显示又没有影响又达到内核瘦身的效果。必须选上;

补充:在没有压缩字体的情况来,默认选择的新宋字库大小是10M多,文件为simsun.ttc,若选择Subset 2_50版本,文件为simsun_2_50.ttc,字体大小是将近3M,也是对WinCE体积进行裁剪关键所在。当然如果选择了AC3对字库进行压缩,哪么体积还可以进一步缩小,压缩后的文件为simsun_2_50.ac3,体积就只有不到2M。

字库所在目录:D:\WINCE500\PUBLIC\COMMON\OAK\FILES

▲  GB18030 Data Converter:汉字编码标准集转换器,必须选上

3,重新进行Sysgen,这样做出来的系统,既能正常显示中文,又不用担心NK体积过大。

二、将字体保存到外部存贮器上来减少内核的大小

网上有很多介绍将字体保存到SD卡、Flash等来减少内核的大小,但要注意一点就是:在加载显示驱动前就要加载保存字体的存贮设备的驱动,否则中文字体不能加载,系统启动后显示框框。将字体保存到注册表保存的存贮设备上,因为该存贮设备驱动很早就加载了。

而我使用的是硬盘,注册表需要作如下修改

1、在platform.reg中添加如下

[HKEY_LOCAL_MACHINE\SYSTEM\GDI]

"FontLinkMethods"=dword:1

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontPath]

"FontPath"="\\Hard Disk"  ; 字库文件所在目录

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink]

"Tahoma"="\\Hard Disk\\simsun.ac3,NSimSun" ;我是用的压缩字库,所以为simsun.ac3。

"Courier New"="\\Hard Disk\\simsun.ac3,NSimSun"

"Arial"="\\Hard Disk\\simsun.ac3,NSimSun"

"Times New Roman"="\\Hard Disk\\simsun.ac3,NSimSun"

"Symbol"="\\Hard Disk\\simsun.ac3,NSimSun"

2、在工程目录中common.bib文件中删掉simsun.ac3相关项,确认该文件不会编到内核中。

3、把文件拷到Hard Disk中,即可,再启动就ok了。

WinCE内核裁减(中文字体)及字库和内核的分离相关推荐

  1. WinCE内核裁减(中文字体)及字库和内核的分离(转)

    每次定制中文系统时,NK总是比英文大10M左右,启动时在bootloader中将内核Copy到内存时也花时间,同时也占用了很多内存,留给系统和应用的内存就少了10M左右,真是浪费呀,看到都心痛!本人研 ...

  2. 全字库说文解字字体_整理了10款免费商用中文字体,超好用

    文章来源:logo设计视觉(ID:logoshijue) 字体不能随便用!大家应该经常有听到字体侵权索赔上几十上百万事吧!作为小小的设计师遇上了就倒霉啦!所以,我们要有足够版权意识,没事囤点免费可商用 ...

  3. linux系统查看当前安装字库,linux下怎样安装中文字体?

    1.首先禁用xfs服务器. 运行Setup命令,在服务项中中止xfs随系统运行的特性.之所以禁用xfs服务器主要是因为xfs会自动更新字体目录下的fonts.dir文件,从而影响我们所做的修改. 2. ...

  4. 如何用计算机做字库,如何自己制作字体:手写体中文字体自动生成系统(来自北京大学计算机科学技术研究所)...

    日期 : 2020-07-02 21:27:00作者 : 中原锦绣 如果你想自己制作字体的话,可以用这个系统,注册登录之后会有详细的说明,其实自己做字体也不是很难,就是需要下的功夫比较多,如果时间多的 ...

  5. QML on Android 在小米5s手机上中文字体显示异常

    前言 随着Qt版本的不断升级,用QML开发Android移动端应用越来越方便,并且支持的功能也逐渐增多,不过由于Android机型实在太多,并且大部分Android系统都是由手机厂商深度定制过,然后在 ...

  6. liunx java font_Linux下JDK中文字体乱码 | 学步园

    问题描述: 部署在linux下的java应用程序中的中文会变成一个一个的"口"字,也就是乱码 问题分析: 代码中使用了如下的实现方式: newjava.awt.Font(" ...

  7. CentOS 7 安装 中文字体

    1.安装字体管理工具 yum install fontconfig mkfontscale -y 2.建立中文字体目录 mkdir -p /usr/share/fonts/chinese 3. 把 w ...

  8. html布局文字设置,div css布局中css中文字体设置

    在HTML网页结构中,会用到中文字,而中文字有得多中笔墨体,有的开发者在自身电脑中下载并安装不少摩登字体.而这些中文字体CSS设置装备摆设提倡? 1.不克不及随意CSS设置装备摆设本人安装中笔墨体 假 ...

  9. minigui 的中文字体部署及支持窗口模态、非模态

    一.minigui支持ttf字体 1.1 首先我们准备两个素材 song-gb2312.ttf gb2312编码的中文字体库 times.ttf ISO8859编码英文字符串 1.2 将其添加到 Mi ...

最新文章

  1. 无限级分类实现思路 (组织树的分级管理)
  2. ssha java接口_java – 从Spring在LDAP中设置SSHA密码
  3. BugkuCTF-Reverse题SafeBox(NJCTF)
  4. nginx 安装_安装Nginx的几种方式
  5. 区块链 xuperchain xuper-java-sdk 部署使用EVM 合约 教程
  6. 新能源充电桩后台管理系统平台
  7. 测试方法——正交表法
  8. Ubuntu 20.04 Install Navicat
  9. 40163 php,【PHP】微信支付JsApi 40163错误,_PHP_ 少侠科技
  10. 如何成为一个优秀的互联网营销人员?(互联网销售/网络营销职位从菜鸟到大神应该学习的内容)
  11. js实现京东快递单号查询效果
  12. 解决Windows 10控制面板里原本的索引选项变成Indexing Option Control Panel (32-bit)及空白图标的问题
  13. 浅谈group by和order by的用法和区别
  14. 一个博士毕业之际写的一些发文章的心得
  15. ASP木马Webshell安全解决办案
  16. 使用自动化学报latex模板时,dvi2pdf失败
  17. 基于本地存储LVM新建虚机方案
  18. mybatis-动态sql-if,choose,when,otherwis,trim,where,set,foreach,test,bind
  19. edge linux 下载软件,如何下载安装微软Microsoft Edge for Linux预览版?
  20. 借条可以成为质押财产吗?

热门文章

  1. ad证书服务器在ADgroup,ACS 5.x :根据AD组成员配置示例和Authorization命令的TACACS+认证...
  2. 线程通信的经典问题:生产者消费者问题
  3. MySQL中union和order by一起使用的方法
  4. python choose语句作用_理解闭包是如何与变量作用域相互影响的
  5. 随手练——洛谷-P1008 / P1618 三连击(暴力搜索)
  6. Java类加载机制的理解
  7. 如何获取枚举字符串,值及遍历枚举(转)
  8. Python学习笔记——基础篇【第六周】——hashlib模块
  9. java class load 类加载
  10. MVC中JSON字符长度超出限制的异常处理