IMA 流動資訊站

最專業之網上流動資訊雜誌
現在的時間是 週日 11月 24, 2024 10:35 pm

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 3 篇文章 ] 
發表人 內容
文章發表於 : 週四 2月 11, 2010 10:24 pm 
離線
高級玩家
頭像

註冊時間: 週六 4月 11, 2009 12:26 am
文章: 642
近日同cktam兄講起加wmsp中文字體0既問題。小弟獻醜,先介紹一個最簡單0既方法。
呢個方法基本上適用於所有用矢量字體0既os,例如desktop機0既winxp,wm,android,甚至乎我本電紙書都用得。如果係用bitmap font 0既OS就行唔通,例如palm OS,symbian v.6。

以wmsp英文機為例
首先,先backup好系統default 0既字體落sd。wm6sp字型default路徑係/windows/nina.ttf (字體1)
準備好想替換0既字體,例如droid.ttf (字體2)
下載http://cid-def458cfac536daa.skydrive.live.com/self.aspx/.Public/ttftinker.zip 呢個script係一個日本人用perl寫的,個batch file係小弟自己搞0既。如果個script行唔到就裝active perl
解開個zip後,將nina.ttf同droid.ttf放埋係同一個folder度。然後用notepad編輯mkttf.bat,得到以下指令碼

setlocal enabledelayedexpansion
set newttf=droid.TTF <---呢個係字體2 0既檔名
set originttf=nina.ttf <---呢個係字體1 0既檔名

set path=%path%; d:\ttftinker
set perllib=d:\ttftinker
md tmp
perl ttfunpack %originttf% tmp\originttf
perl ttfunpack %newttf% tmp\newttf
copy /y tmp\originttf\name tmp\newttf
pushd tmp\newttf
perl ..\..\ttfpack 0x00010000 name prep glyf cmap hmtx post loca maxp head hhea OS_s2 > ..\%originttf%
popd
pushd tmp
for /f %%i in ('dir /ad /b') do rmdir /s /q %%i
popd

修改好之後save。只需要根據相應的字體檔名編輯好,改好0既字體會自動生成係temp度,copy出黎抄返落機度就得。
呢個方法0既原理係因為系統讀取字體0既時候係根據font name 0既資料而唔係檔案名去判斷字體。個script將原本個字體1個font name資料replace落字體2度,用黎呃系統以為字體2係字體1。
如果唔用perl script的話,可以去我個skydrive試下font creator。係font-->naming度慢慢改。
圖檔
呢個方法應該係最簡單又唔駛改registry 0既方法,要湊仔。。得閒再講下其他方案


最後由 bb49986 於 週四 2月 25, 2010 1:49 am 編輯,總共編輯了 3 次。

回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 週四 2月 11, 2010 10:24 pm 
離線
高級玩家
頭像

註冊時間: 週六 4月 11, 2009 12:26 am
文章: 642
趁今晚啊b早訓,得閒,再分享下小小心得。我係火星黎0既,地球人唔arm聽唔好吊。。
關於字體:
ANDROID。。小弟另一帖有講過。原理同樓上一樣
IPHONE。。原理都係同樓上一樣,不過唔建議自己做,因為好Q麻煩。IPHONE用TTC,中文字型係STHeiti-Light.ttc同STHeiti-Medium.ttc。如果自己做,就要用font creator解包,1開5,total要整10次,再將ttf打包成ttc。所以麻x煩感不如去某w字頭forum d/l好過。
最後係wmsp,ppc太多教程。自己搵,唔徙時間。如果唔想用樓上方法改system font,可以試下下面方法,特此獻比cktam兄

免責聲明:我只有c730w,i600同i617。。。其他機主自己諗諗呢3部有乜共通點,衰左唔好吊,唔明唔好問。

傻瓜篇:
都係cestar。。
有ching講過用小熊,不過我真係裝唔到所以放棄。但係cestar for sp係冇開心版,唔駛搵。我有不下10個所謂keygen,無一個得。所以乖乖比$$。如果唔想比$$,只有一個方法:
1。更係裝cestar先啦,不過裝完之後唔好restart住。
2。用resco或者其他野去/windows/startup 搵DynaNls.lnk然後delete左佢。
3。restart後如果cestar無自動run就ok晒。跟住改config去link up cestar同自己鐘意0既shortcut key。最簡單做法例如i617,先用resco copy cestar個link去desktop,去/windows抄出黎,然後改名做medianet.lnk,再放返落去。
4。打開例如message試下,用shortcut開cestar,原則上打50個字又或者部機擺低1-2分鐘之後,再打中文cestar就會話未註冊,見到未註冊唔駛理佢,熄左cestar再用shortcut key開返就得。

手動篇
1。先backup。將中文字體掉落/windows度,例如我想用sofiasans
2。改registry。。
先搵
KEY_LOCAL_MACHINE\SOFTWARE\Microsoft \FontLink\SystemLink
將所有值改為\Windows\Sofiasans.ttf,SofiaSans
然後搵
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:
將所有係呢4個key下面0既Nm入邊0既項改成sofiasans
如果係英文rom就做完,如果係中文rom但係想換字體的話,就將sofiasans個檔案名(唔係font name)改成/windows下面一個extension係ac3 0既file一模一樣(eg.mingliu.ac3。ac3係wm專有0既壓縮字體,普通字體編輯軟件係打唔開0既,wm中文rom慢亦都係因為呢個壓縮字體),然後replace左佢就得。
最後
去HKEY_LOCAL_MACHINE\System\GDI\FontAlias 調整system字體顯示大小。
加入dword,例如SofiaSans:-10,值為 SofiaSans:-14。意思係將10pt大小的SofiaSans字體都顯示成14pt。
字體顯示大小自己鐘意。
3。換nls。。自己搵,爆開cestar裏邊都有
4。輸入法。。都係自己搵,梅花,a4是但。

大功告成,路過唔該幫忙留個腳印。話晒我都打左禁多字。。 :twisted:


回頂端
 個人資料  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 3 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 46 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作