国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

WinCE內核裁減(中文字體)及字庫和內核的分離(轉)

發布時間:2011-2-28 10:33    發布者:lytdzyxgs
關鍵詞: WINCE , 內核 , 字庫
每次定制中文系統時,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了。

PS:

先翻譯MSDN中關于鏈接字體的解釋:
Windows Embedded CE提供了鏈接字庫的能力,它可以將一個或多個字庫鏈接到另一個字庫上,前者稱為被鏈接字庫,后者稱為基本字庫。一旦你鏈接了字庫,你就可以使用被鏈接的字庫顯示在基本字庫中不存在的碼字。比如,將日文字庫鏈接到拉丁字庫,你就可以在使用拉丁字庫的UNICODE文本API中顯示日文字符。
如果你的設備上啟用了字庫鏈接,你可以通過檢查注冊表的子鍵HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink來確定被鏈接的字庫到基本字庫的映射關系,下面的代碼示例了如何在注冊表中添加一個鏈接:
= ,
使用字庫鏈接時,你可以規定一個或多個UNICODE字符必須從被鏈接字體中取,即使這些字符也存在于基本字庫中。要指定被從基本字庫中忽略的字符,你可以使用HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SkipTable注冊表鍵,此鍵在操作系統啟動時是只讀的。
在下面的示例代碼中,某字符的UNICODE編碼為005c,雖然Tahoma字庫中包含此碼字,但仍然只使用被鏈接字庫中的字符。
Tahoma=005c, 00a5, 007e, 0391-03c9, 2026, 2116, 221a, 25a0-25ff
當添加了中文字庫支持時,實際上也就是將中文字庫作為被鏈接字體使用的:
[HKEY_LOCAL_MACHINE\SYSTEM\GDI]
"FontLinkMethods"=dword:1
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink]
    "Tahoma"="\\Windows\\simsun.ac3,NSimSun"
    "Courier New"="\\Windows\\simsun.ac3,NSimSun"
    "Arial"="\\Windows\\simsun.ac3,NSimSun"
    "Times New Roman"="\\Windows\\simsun.ac3,NSimSun"
    "Symbol"="\\Windows\\simsun.ac3,NSimSun"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SkipTable]
    "Tahoma"="005c,00a5,007e,0391-03c9,2026,2116,221a,25a0-25ff"                   // 0391-03c9 is Greek chars.
    "Arial"="005c"
    "Courier New"="005c"
本文地址:http://m.qingdxww.cn/thread-56127-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
she2010 發表于 2011-3-1 14:26:06
文章比較深奧。
youyou_zh 發表于 2011-3-11 21:17:30
kanbudong
lytdzyxgs 發表于 2011-4-6 14:54:40
很好的技術文章!
qingtai 發表于 2012-2-23 15:02:18
不錯,頂起來!
小荷才露尖尖角 發表于 2012-3-14 15:53:21
好資料,分享
誠實12 發表于 2012-7-19 16:09:47
分享了!
daisukeyu 發表于 2012-11-30 15:55:13
來看看 謝謝分享
sinpo1984 發表于 2013-9-6 14:18:55
杭州立宇泰電子有限公司主營產品:MID、Andorid行業手持終端、車載駕培系統終端、警務通、嵌入式平板電腦、便攜式無線電子菜單、多串口服務器、嵌入式單板電腦、S5PV210/S3C6410/2440/2410/44B0開發板及各種顯示方案等自主知識產權的產品
誠實12 發表于 2014-2-20 13:51:58
好文章,樓主辛苦了
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久高清一本无码| 青娱乐中文字幕| 青草视频国产| 日本妞欧洲| 四虎永久免费在线观看| 一个人看的视频www| 成人免费公开视频| 开心成人社区| 日本三级网站在线线观看| 青青久在线视频| 亚洲a级黄色| 一级女人| 国产在线高清亚洲精品一区| 一二三四在线视频社区| 亚洲aⅴ久久久噜噜噜噜| 色噜噜狠狠色综合欧洲| 羞羞视频免费观看网站| 91精品国产高清久久久久久| 日韩精品AV一区二区三区| 欧美日韩精品高清一区二区| 青草精品视频| 亚洲第一页在线播放| 一区二区三区四区在线免费观看| 久久精品一本到东京热| 青青青在线免费| 日日弄| 色综合色| 成人国产在线看不卡| 性生交片免费无码看人| 欧美在线日韩| 自拍偷拍亚洲第一页| 一区二区三区四区在线视频| 毛片大全网站| 欧美三级日本三级人妇三级| 午夜视频在线观看182tv| 永久免费视频网站| 女人被躁到高潮嗷嗷叫69| 欧美成人国产| 天天干天天玩天天操| 色综合网亚洲精品久久| 憋尿调教绝望之岛|