選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
2 分鐘閱讀時間 (434 個字)

[Font]讓瀏覽器顯示使用者自造字(EUDC)的方式

natalia-y-Oxl_KBNqxGA-unsplash-2
我們Web系統有用到 使用者自造字(EUDC) ,

結果在 Chrome 中那些字顯示不出來。

要怎麼辦呢?


系統的字型在 C:\Windows\Fonts 目錄

記錄在註冊機碼 在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

詳細可以參考「REG︰字型項目」。

 
那我們要如何知道 使用者自造字(EUDC) 放在那裡呢?

可以在 註冊機碼 HKEY_CURRENT_USER\EUDC\950 找到, 如下,


從上面我們知道有個 使用者自造字(EUDC) 放在使用者的文件目錄,名叫 RM.TTE,

如果您是 WINDOWS 10 的話,也可以在檔案總管中看到那些 使用者自造字(EUDC),如下,


所以我們就用一個簡單的網頁來顯示這些 自造字(EUDC),如下,可以發現在 IE 上完全沒有問題,但是在 Chrome 及 Edge 就掛了,完全出不來。

那怎麼辦呢? 我們可以設定 css 來讓 Browser 來下載這些自造字,

我們需要將 TTE 轉出 ttf檔 及 woff 檔,

所以可以透過 FontForge 來幫我們轉出來,Script (存成 font-TTE2Others.pe ) 如下,
#Open EUDC TTEOpen("RM.TTE", 4)
# CHANGE TTFNAME 2 EUDC SetTTFName(0x409,1,"EUDC")
SetTTFName(0x409,2,"EUDC")
SetTTFName(0x409,3,"EUDC")
SetTTFName(0x409,4,"EUDC")
SetTTFName(0x404,1,"EUDC")
SetTTFName(0x404,2,"EUDC")
SetTTFName(0x409,3,"")
SetTTFName(0x404,4,"EUDC")
SetFontNames("EUDC", "EUDC", "EUDC", "Regular", "655", "1.0.0")
Generate("RM.ttf")
Generate("RM.woff")
Close()
#fontforge -script font-TTE2Others.pe
然後在 Command 下執行,就會有  ttf 及 woff 檔,如下,


再來就是設定字型 CSS ,如下,
@font-face {
font-family: EUDC;
src:url('./fonts/RM.woff?v=1.0.0');
src:url('./fonts/RM.woff?v=1.0.0') format('woff'),
url('./fonts/RM.ttf?v=1.0.0') format('truetype')
;
}

body {
color: #333;
margin: ;
padding: ;
background-color: #eeeeee;
font-family: "Microsoft JhengHei", "新細明體", "細明體", Arial, "EUDC";
font-size: 13px;
line-height: 150%;
}
再透過 Chrome 來執行,就可以正常顯示自造字了,如下,



註:

如果您的TextBox無法輸入自造字,請設定它的style為 font-family:EUDC;

 

參考資料

REG︰字型項目
CSS3 字体
 
本文也發表於亂馬客Blog
台北使用者使用系統很快,但外縣市使用者使用系統卻是超慢的
[VS.NET]讓你的 Visual Studio 2015 Community 有 CodeLen...

相關文章

 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2024/05/16, 週四

Captcha 圖像