2012-09-04 90 views
0

這是很容易嵌入字體的Windows Phone應用程序,但我不能找到辦法用我的字體在WebBrowser控件,即顯示靜態HTML文件。有什麼辦法可以做到嗎?Windows phone的WebBrowser控件嵌入字體

我用下面的代碼,以顯示我的html文件:

 Uri uri = new Uri(AppResources.red_termsOfUse_URI, UriKind.Relative); 
     Stream stream = Application.GetResourceStream(uri).Stream; 
     using (StreamReader reader = new StreamReader(stream, new System.Text.UnicodeEncoding())) 
     { 
      string htmlDocument = reader.ReadToEnd(); 
      this.webBrowser.NavigateToString(htmlDocument); 
     } 

回答

2

WebBrowser控件將與頁面的CSS(或樣式元素)中定義的字體顯示的頁面。 (它不會使用嵌入字體)

您可以使用JavaScript來設置字體在運行時或者(如果該文件是你的控制之下),你可以定義你想要的HTML文件本身裏面的字體。

要了解有關的更多信息,請在WP7中注入JavaScript WebBrowser控件閱讀this

編輯:
如果您有機會獲得css那麼你也可以嘗試這種使用嵌入字體(與我們在任何HTML頁面做的)。

(Not tested) 
@font-face { 
    font-family: your_font; 
    src: local(your_font), url('fonts/bttf.ttf') format('opentype'); 
} 

看到這去學習How to Display Local Html page along with Asset。 我希望這是有道理的,我現在不能測試它。

+0

所以,簡單的答案是:有沒有辦法使用嵌入字體中WebBrowser控件? – Thaven

+0

不完全。有一些方法,但我想指出「在任何Silverlight頁面中都不能這樣做」,它更多地在HTML和CSS方面。 – Ankit

1

我不得不做類似的事情。我的一位朋友發現了使用CSS的建議解決方案的一部分,以及Data Url Scheme。然後經過一番鬥爭,我得到了它的工作。

就我而言,我的使用NavigateToString(而不是導航到一個URL),但我認爲有一些技巧,它可能工作

Sample of custom font in WebBrowser

因爲我發現這是棘手我創建了一個博客中的一些代碼示例:

這裏是我的博客文章: http://hmadrigal.wordpress.com/2014/03/17/how-embed-fonts-in-windows-phone-8-using-a-webbrowser-control/

這裏是我的代碼示例: https://github.com/hmadrigal/playground-dotnet/tree/master/MsWinPhone.EmbedFont

乾杯, 香草

相關問題