<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > WinCE內核裁減(中文字體)及字庫和內核的分離(轉)

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

作者: 時(shí)間:2011-02-24 來(lái)源:網(wǎng)絡(luò ) 收藏

每次定制中文系統時(shí),NK總是比英文大10M左右,啟動(dòng)時(shí)在bootloader中將內核Copy到內存時(shí)也花時(shí)間,同時(shí)也占用了很多內存,留給系統和應用的內存就少了10M左右,真是浪費呀,看到都心痛!本人研究了一下,同時(shí)也參考了網(wǎng)上的資料,現總結如下,如何減少中文字庫大小和將字庫放到外部存貯器上。核心思想是將默認選擇的中文字體SimSun NSimSun (SYSGEN_FONTS_SIMSUN)替換成SimSun NSimSun (Subset 2_50) (SYSGEN_FONTS_SIMSUN_2_50)達到體積的縮小。在注冊表中[HKEY_LOCAL_MACHINESOFTWARE MicrosoftFontPath]和[HKEY_LOCAL_MACHINESOFTWAREMicrosoftFontLink SystemLink]改變字庫simsun.ac3或simsun.ttc的存貯位置。

一、減少中文字庫大小

1.先打開(kāi)目標的工程文件,單擊“Platform”菜單,再單擊“Settings…”,執行”clear” ,

Locales:將”英文(美國)”“中文(中國)”打勾

Default languare:選擇“中文(中國)”

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

2,回到Catalog,選擇“Core OS”—>“International”—>“Locale Spectific Support”

—> “Chinese[Simplified]”

▲ Agfa AC3 Font Compression:使用AC3對字庫進(jìn)行壓縮,若CPU有300HZ以上,建議選上;這個(gè)可以根據自己的需要選還是不選.

▲ SimSun NSimSun (Subset 2_50):字體大小是3M左右,WINCE選擇Subset 2_50是最合適的,所以用(Subset 2_50)中文字體替換原來(lái)的中文字體,選擇SimSun NSimSun (Subset 2_50),按右鍵添加該組件即可,這樣就會(huì )把原來(lái)的字體替換掉。這樣對中文顯示又沒(méi)有影響又達到內核瘦身的效果。必須選上;

補充:在沒(méi)有壓縮字體的情況來(lái),默認選擇的新宋字庫大小是10M多,文件為simsun.ttc,若選擇Subset 2_50版本,文件為simsun_2_50.ttc,字體大小是將近3M,也是對WinCE體積進(jìn)行裁剪關(guān)鍵所在。當然如果選擇了AC3對字庫進(jìn)行壓縮,哪么體積還可以進(jìn)一步縮小,壓縮后的文件為simsun_2_50.ac3,體積就只有不到2M。

字庫所在目錄:D:WINCE500PUBLICCOMMONOAKFILES

▲ GB18030 Data Converter:漢字編碼標準集轉換器,必須選上

3,重新進(jìn)行Sysgen,這樣做出來(lái)的系統,既能正常顯示中文,又不用擔心NK體積過(guò)大。

二、將字體保存到外部存貯器上來(lái)減少內核的大小

網(wǎng)上有很多介紹將字體保存到SD卡、Flash等來(lái)減少內核的大小,但要注意一點(diǎn)就是:在加載顯示驅動(dòng)前就要加載保存字體的存貯設備的驅動(dòng),否則中文字體不能加載,系統啟動(dòng)后顯示框框。將字體保存到注冊表保存的存貯設備上,因為該存貯設備驅動(dòng)很早就加載了。

而我使用的是硬盤(pán),注冊表需要作如下修改

1、在platform.reg中添加如下

[HKEY_LOCAL_MACHINESYSTEMGDI]

"FontLinkMethods"=dword:1

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftFontPath]

"FontPath"="\Hard Disk" ; 字庫文件所在目錄

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftFontLinkSystemLink]

"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相關(guān)項,確認該文件不會(huì )編到內核中。

3、把文件拷到Hard Disk中,即可,再啟動(dòng)就ok了。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>