因為有人想要,所以更新了一下。
此更新檔的功能為將微軟雅黑字型 6.02 版(MD5: EB525DCBA67C642CFA418424F8C7DFC7)更新為繁體版。原始字型檔取自 Windows 7 RC 版,本 blog 不提供原始字型檔,請自行取得。
※ 註:微軟雅黑字型本來就包含繁體字,此更新檔是將微軟雅黑中的簡體字也取代為繁體,如此便能用繁體顯示原本為簡體的文字。如果您沒有這樣的需求,便無須使用本更新檔。
這次製作我改用 FontForge,FontForge 有強大的 Scripting 能力1,所以製作起來速度超快!我的 script 可在此下載。
這篇只是給自己作個紀錄。
最新版 Droid 字型可以直接從 Android 的 Git repository 取得,不需要從 Android SDK 解出來。位址在 platform/frameworks/base.git/data/fonts,點選 snapshot 可以將這個資料夾打包下載。
意外發現 MSDN 中有一包還不錯的 OpenType 字型。這包字型的本意只是用來展示 WPF 的 OpenType 處理能力,所以僅包含英文、數字及部份標點符號,版權則仍由 Ascender 持有,如果要用於其他用途,必須聯絡 Ascender。
這些字型的特色是它們分別支援了不同的 OpenType Features,例如 Small Caps、Ligatures、Old Style Figures、Swashes、Alternates 等,如果不在意以上所述缺點並想要玩玩看 OpenType Features 的話,可到 Using OpenType Fonts Sample 這一頁下載。
P.S. 如果想玩 OpenType Features,請找 Windows 7 中附帶的 Gabriola 字型會更好玩,實在很難得可以看到檔案大小這麼大的英文字型。
-
Date
March 18, 2009
-
Time
10:28 pm
-
.NET, @言語 and C#
最近幾天每天都在寫 C#,寫的是某個自己要用的程式,由於只是自己用的,就只求速成,沒有花太多精神在設計上,直到這兩天才感覺到這樣不行,我實在重複了太多次相同的程式,因此決定改寫。
要描述我的需求太麻煩,直接看 code!我理想中的介面是長這樣:
Console.WriteLine(English.Hello());
Console.WriteLine(Chinese.Hello());
Console.WriteLine(Japanese.Hello());
Console.WriteLine(French.Hello());
- 上面的
English、Chinese、Japanese、French 都是 subclass,Hello() 是 static method,所以不需要實例就能直接呼叫,呼叫了之後就會回傳各國語言的 Hello。
- 同時我希望上述這些 subclass 只要繼承某個 class,就能有一個預設的
Hello(),當有必要時我再 override 這個 method。
Read More »
心血來潮,幫我的另一台螢幕也作了 Color Profile,我自己覺得這次做得還不錯。
網路上找不到,安裝光碟也沒附,只好憑肉眼自己作一份,好像還是有色偏(而且也是不難察覺的程度 XD),不過至少比預設值好很多了 :p
昨天遇到一個 System.Data.SQLite 的 bug,老實說我不是很肯定它是不是 bug,因為這個 bug 在 2005 年就有人提出,卻到現在都沒有解決,可能其實是個 feature 也不一定 :p
一般我們使用 SQLite 查詢資料後,會先用 HasRows 確定資料存在,然後用 Read() 開始讀,用 GetValue()、GetString()、GetDouble() 等方法取資料。但是當 SQL 查詢句中包含了 Aggregate Functions1 時,HasRows 便必為 true。如果實際上查詢結果是空的,GetValue() 取得的值就會是 DBNull.Value,GetString() 會取得空字串,而使用 GetDouble() 來取值則會發生錯誤,因為 null 無法隱含轉換為 double 型態。
這有許多 Workaround,例如用 GetValue() 取出後,先判斷是否為 DBNull.Value,不是的話再轉換為 double。最簡便的方法則是先使用 IsDBNull() 檢查欄位是否為 DBNull,不是的話才執行 GetDouble()。