Windows Phone 7 開發 嵌入字型

2022-08-03 04:45:13 字數 3617 閱讀 7812

本文是「windows phone 7 開發 31 日談」系列的第24日。

昨天,我說了如何為你的程式新增試用版本。這是乙個可以讓你賣更多程式的極有價值的特性。今天,我要講如何在程式中嵌入字型。

首先,要夠小

對於為移動裝置構建的所有應用程式,你都應該記住資料一定不是「免費」的。你的使用者有乙個每月只能傳輸5gb的資料計畫。其次,還有乙個限制,就是通過資料計畫能獲取到的應用程式的大小:20mb。如果你的應用程式大於20mb,使用者就不得不使用wi-fi或通過電腦來進行同步。這些都會對你賣出更多份程式的拷貝不利。

在windows phone 7中嵌入字型

我被問的最多的乙個問題是如何在wp7程式中使用自定義的字型而非已經存在的。下面是已有字型的列表,如果你不去指定fontfamily那麼預設為segoe wp:

在你的應用程式中新增另一種字型,非常簡單但並不是很明顯。首先你需要找到乙個要用的字型。我建議使用dafont.com或1001freefonts.com,不過還有很多位址可以提供免費的,可再分發的字型。

這是乙個很重要的詞。可再分發(redistributable)。請確保你只包含了允許被再分發的字型。很多情況下,你可能需要為版權付費。你要確保在開始為程式新增字型前已經自查過了。

好了,現在我們已經有乙個可以打包並分發的字型了,下面是如何將它嵌入到我們的程式中。第一步先將它新增到專案中。我通常喜歡建立乙個「fonts」資料夾來存放我的字型,但這不是必須的。下面是我的解決方案管理器的截圖:

要恰當地使用這個檔案需要注意的是我們要為這個檔案的build action賦值。如果你對build action不熟悉,在解決方案管理器中點選你的字型,然後檢視屬性面板。

我們需要手動修改兩個值,否則這個字型不能工作。第一就是build action。你要將它改為「content」。第二個是copy to output directory,將它改為「copy if newer」。現在我的屬性面板看起來是這樣的:

現在,真正要使用這個字型了,對嗎?為了做到這一點需要在fontfamily屬性上用點兒簡單的xaml語法。像這樣:

<

textblock 

text

="12:02 am"

fontfamily

="fonts/digitaldream.ttf#digital dream"

fontsize

="60"

/>

正如你所見,我需要指定字型檔案,並在它後面跟乙個#符號和字型的真實名稱。在我的例子中,它們是一樣的。如果你想確認一下你是對的,在你的電腦中開啟字型檔案,應該能看到像下面一樣的窗體:

字型的名稱列在了頂部。如果你語法寫對了,就會看到效果,因為visual studio 2010的設計介面是可以立即改變的。

謝謝!本文是「windows phone 7 開發 31 日談」系列的第24日。

昨天,我說了如何為你的程式新增試用版本。這是乙個可以讓你賣更多程式的極有價值的特性。今天,我要講如何在程式中嵌入字型。

首先,要夠小

對於為移動裝置構建的所有應用程式,你都應該記住資料一定不是「免費」的。你的使用者有乙個每月只能傳輸5gb的資料計畫。其次,還有乙個限制,就是通過資料計畫能獲取到的應用程式的大小:20mb。如果你的應用程式大於20mb,使用者就不得不使用wi-fi或通過電腦來進行同步。這些都會對你賣出更多份程式的拷貝不利。

在windows phone 7中嵌入字型

我被問的最多的乙個問題是如何在wp7程式中使用自定義的字型而非已經存在的。下面是已有字型的列表,如果你不去指定fontfamily那麼預設為segoe wp:

在你的應用程式中新增另一種字型,非常簡單但並不是很明顯。首先你需要找到乙個要用的字型。我建議使用dafont.com或1001freefonts.com,不過還有很多位址可以提供免費的,可再分發的字型。

這是乙個很重要的詞。可再分發(redistributable)。請確保你只包含了允許被再分發的字型。很多情況下,你可能需要為版權付費。你要確保在開始為程式新增字型前已經自查過了。

好了,現在我們已經有乙個可以打包並分發的字型了,下面是如何將它嵌入到我們的程式中。第一步先將它新增到專案中。我通常喜歡建立乙個「fonts」資料夾來存放我的字型,但這不是必須的。下面是我的解決方案管理器的截圖:

要恰當地使用這個檔案需要注意的是我們要為這個檔案的build action賦值。如果你對build action不熟悉,在解決方案管理器中點選你的字型,然後檢視屬性面板。

我們需要手動修改兩個值,否則這個字型不能工作。第一就是build action。你要將它改為「content」。第二個是copy to output directory,將它改為「copy if newer」。現在我的屬性面板看起來是這樣的:

現在,真正要使用這個字型了,對嗎?為了做到這一點需要在fontfamily屬性上用點兒簡單的xaml語法。像這樣:

<

textblock 

text

="12:02 am"

fontfamily

="fonts/digitaldream.ttf#digital dream"

fontsize

="60"

/>

正如你所見,我需要指定字型檔案,並在它後面跟乙個#符號和字型的真實名稱。在我的例子中,它們是一樣的。如果你想確認一下你是對的,在你的電腦中開啟字型檔案,應該能看到像下面一樣的窗體:

字型的名稱列在了頂部。如果你語法寫對了,就會看到效果,因為visual studio 2010的設計介面是可以立即改變的。

謝謝!

Windows Phone 7 開發環境搭建

本文通過step by step的模式講述如何從0開始搭建window phone 7開發環境,如果開發簡單的windows phone 7程式。只是一篇介紹性的文章,但是邁進windows phone 7開發之路其實就那麼簡單,一起來開發windows phone 7吧。目前windows pho...

windows phone 7開發環境搭建

安裝好了以後,會 開始 的程式啟動欄裡面看到這兩個資料夾 如果在此前沒有安裝expression blend,還會有另乙個expression blend的資料夾 其中sdk 7.1內是主要的開發工具,xna裡面有開發xna遊戲時所能用到的一些輔助工具。如果在此之前安裝了visual studio ...

Windows Phone 7 開發積累 02

tip3 push notification獲取不到uri的問題 這兩天學習push notification的相關知識。就看msdn上給的範例,範例的使用方法是先執行wp7程式,幾秒鐘後mpns產生的uri會返回到模擬器上,然後在output裡把uri手工拷貝到asp.net搭的那個web環境裡。...