其實oasisfeng 制作的FontRouter.dll系列字體動態鏈接庫是為N-GAGE服務的。
因為N-GAGE的C盤比較小(C盤大小關系到系統穩定以及白屏問題),而且NG的字體直接放在E盤是沒有任何作用的,所以就必須設計一種軟件,能夠實現NG調用E盤的字體,這樣就可以極大的節省C盤的空間。
FontRouter.dll就實現了此目的,不過發展到現在FontRouter.dll也越來越完善,并且已經能夠單獨調用自選中文字體而不會屏蔽原機的英文大字體。并且到了1.1版,解決了中文字體被重復調用的BUG,節省了以前不必要浪費掉的內存,已經很完善了。
既然有很多人用E15版的SX1,我們也需要中文。那么我們就來看看SX1的情況。SX1的C盤也比較小,雖然沒有白屏危險,但C盤的大小對于系統的中轉是很有用處的。所以我們最好也把字庫放到E盤。而SX1本身的系統竟然支持E盤字庫的調用,也就是說,我們不用FontRouter.dll也可以實現字庫E盤放置。不過,直接把字庫放E盤之后,原機的英文字體就被中文字里的英文庫屏蔽了,所以直接把字庫放E盤后系統的英文字體會發生改變。
也就是說,我們用FontRouter.dll其實只用到了它的單獨調用中文字庫功能,而E盤鏈接功能我們根本就沒有用到,因為SX1本身就可以實現。
需要指出的是,英文機使用中文字庫是在開機時加載的,也就是說常駐內存。中文字庫的大小直接決定著你的SX1多耗費內存(動態內存RAM,非C盤flash內存)的大小。如果你調用越多的字體,那么你剩余的動態內存就越小。后果是導致一些大型游戲因為內存不足而無法運行。舉個例子,以前使用了0.99版的FontRouter.dll,因為重復加載中文字庫,內存一般只有7.6MB左右,開機干凈系統下也無法運行《地獄》和《口袋王國》此NG游戲(經測試需要7.8MB內存)。
內存的大小是比較重要的。個人認為,內存是盡量越大越好。因為你開機即使達到7.8MB或多一點的內存,在你運行一些程序以后,內存會下降,而且通過APPMAN也無法全部恢復導致一些大型游戲還是無法運行。所以,盡可能多的內存可以使我們在運行一段時間后我們仍然可以自由的運行各種大型程序。
內存至上就是我追求的目標。
首先是字體消去一,根據使用NG的經驗,系統一般只需要使用11X12的字體即可。15X16一般是在看電子書的時候用到,所以去掉一字庫調用,節省0.3XMB的內存,非常可觀(經常看電子書的朋友不適應小字體就算了)。
其次是FontRouter.dll和直接放E盤的選擇。經過我的研究,發現FontRouter.dll雖然解決了中文字庫重復調用的問題,但還是會造成ceurope.gdr和browser.gdr兩個字體的重復調用。把中文字庫直接放E盤可節省0.2XMB的內存。不過,把字庫放在E盤之后,還需要一個中文ceurope.gdr(30K)代替z盤的ceurope.gdr才能正常顯示中文。這個也可以時待機的數字時鐘顯示更美觀。(具體見http://bbs.dbsjw.com/dispbbs.asp?boardID=39&ID=82149&page=1)
最后是字體的選擇。現在我們只保留了一個字庫。但是對于這一個字庫,我也不會手軟。經過挑選,現有的所有字庫中有2個字庫是最小:一個是Q9的12號字庫200K,另一個是中文QD字庫是220K(大家也可以尋找更小的字庫,一般字庫容量越小字體越小或字數較少)。用Q9字庫還可以多節省20K也就是0.02MB的內存。Q9的字體好象要比QD字體看起來小一些。我是采用了Q9的字體——內存至上!
另外,到APPMAN的線程里查看列表,如果后面沒有齒輪的就是非系統調用的刪除也不會有問題。查看詳情,如果用不到的,直接把相應目錄的調用程序刪除也可節省一些內存。(系統線程不去關,穩定優先,也懶的關不可能每次去關)
作出如上選擇之后。我所采用的方案是:
1、采用Q9的一個200K字庫作為中文字庫
2、直接把字庫放在E:\system\fonts下。QD字庫放在E:\system\fonts2\下隨時備用
3、APPMAN清理無用或者不明線程
完成所有步驟,最后我的SX1開機,進入APPMAN壓縮內存,可達到8.3MB的內存。如果使用FontRouter.dll和相同Q9字體方案,最多只能實現8MB內存(重復調用造成浪費0.2MB)。
關于瀏覽器中文顯示,只要安裝N-GAGE上用的CPL轉碼程序即可。charconv目錄復制到E:\system\完成。Opera和dBrowser主流瀏覽器都能正常顯示中文。
字庫及轉碼下載可以到下面這個地址:
http://ngage.0mtv.com/fool2/upload/down/down2/SX1e15font.rar