una tipografia poner personalizadas pagina instalar fuentes fuente descargada dafont como cargar agregar windows-phone-7 webbrowser-control fontfamily

windows-phone-7 - tipografia - instalar fuentes c#



cómo aplicar una fuente personalizada al contenido del navegador web WP7 (2)

Estoy desarrollando una aplicación simple para aprender el concepto webBrowser en Windows Phone. Mi objetivo es mostrar el contenido en telugu (idioma indio) en mi WP7. esa aplicación web solo muestra contenido de Telugu

mi código MainPage.xaml.cs es:

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) { webBrowser1.Navigate(new Uri("http://www.eenadu.net", UriKind.Absolute)); }

en el archivo MainPage.xaml

<phone:WebBrowser HorizontalAlignment="Left" Margin="0,92,0,0" Name="webBrowser1" VerticalAlignment="Top" Height="575" Width="468" FontFamily="Fonts/eenadu.ttf#Eenadu" />

y he incluido ese archivo .ttf en mi proyecto en la carpeta Fonts y se le asignó Build Action = ''Content''

Puedo llamar a la URL pero muestra caracteres ilegibles.

¿Hay alguna otra forma de aplicar una fuente personalizada al control del navegador web?

Gracias por adelantado


Windows phone admite fuentes web. Sin embargo, no pueden integrarse en el XAP. La solución sugerida es alojar las fuentes en un servidor remoto y quizás usar AppCache para mantener los archivos de fuentes localmente en el dispositivo.


No es necesario alojar desde un servidor remoto, puede usar CSS incrustado de fuente local e inyectar al control del navegador.

(1.) Crea el CSS con fuente incrustada

body, a, p, span, div, textarea { font-family: MyCustomFont; } @font-face { font-family: MyCustomFont; src: url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAXXXXXXXXXXX......) format(''woff''); font-weight: normal; font-style: normal; }

(2.) Inyectar jQuery y CSS en el método WebView_NavigationCompleted

private async void MyWebView_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args) { // Inject jQuery file which located at local StorageFile jquery = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///JavaScripts//jquery-1.10.2.min.js")); string jquery_string = await FileIO.ReadTextAsync(jquery); await MyWebView.InvokeScriptAsync("eval", new string[] { jquery_string }); // Inject custom font embedded CSS StorageFile myfontcss = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///CSS//mycustomfont.css")); string myfontcss_string = await FileIO.ReadTextAsync(myfontcss); myfontcss_string = myfontcss_string.Replace("/n", "").Replace("/t", ""); //.Replace("''", "&#39;").Replace("/"", "&#34;"); string cssRef = "$(/"<style id=''myfont'' type=''text/css''>" + myfontcss_string + "</style>/").appendTo(''head'');"; await MyWebView.InvokeScriptAsync("eval", new string[] { cssRef }); }