摘要:如何在 Windows 2000 讓 Silverlight 應用程式可以順利顯示中文字
近日有朋友反應,在 Windows 2000 上瀏覽「Silverlight 2.0 精華技術手冊」一書的範例時,會發生有些中文顯示成 □(如圖表 1 所示),然而在非 Windows 2000 的電腦上(例如:Windows XP、Windows Server 2003、...),卻可以顯示中文字(如圖表 2 所示)。
之所以會發生這樣的問題,是因為我們並沒有特別替那些顯示成 □ 的控制項,指定適當的中文字型名稱。 以圖表 1 中的標題所在之控制項為例(就是只可看到 WCF 那三個英文字所在的地方),所指定的 FontFamily 屬性之值為 Microsoft JhengHei, Microsoft YaHei, SimHei,這三種中文字型卻不是 Windows 2000 所內建的。而「請輸入一個數值:」之後的控制項之 FontFamily 屬性的值為 Microsoft JhengHei, Microsoft YaHei, DFKai-SB, KaiTi,就內含 Windows 繁體中文作業系統所內見的「標楷體」,因此我們才能看到中文字。
在預設狀態下,若沒有指定 FontFamily 屬性時,其預設值為「可攜式使用者介面」(Portable User Interface),表示會使用數種字型(稱為「複合字型」)來實作 Silverlight 所支援的國際化語言範圍。
圖表 1:在 Windows 2000 上,有些中文顯示成 □
圖表 2:在 Windows XP 上所顯示的正確畫面