AntonioPelleriti.it [aka z9]

I code, therefore I am

NAVIGATION - SEARCH
<< Verificare se un file esiste in una app Windows Store | IIS7 e l'errore Microsoft.Jet.OLEDB.4.0 Not Registered >>

Custom Fonts in applicazioni Windows 8 Metro

26. settembre 2012 16:37 / Antonio Pelleriti / / Commenti (0)

Anche se esistono delle guidelines ufficiali di Microsoft per l'utilizzo e la scelta dei font nelle applicazioni Windows 8 Store, un mio cliente mi ha chiesto di utilizzare i loro font ufficiali!

Ok, nessun problema, ho pensato in un primo momento, apro Blend, aggiungo i miei file ttf, e poi con il Font Manager utilizzo i caratteri nella mia app, come facevo ai bei tempi di Silverlight.

Purtroppo Blend for Microsoft Visual Studio 2012, non permette di utilizzare il Font Manager in applicazioni Metro, l'opzione risulta disabilitata, e quindi provo a fare l'embedding dei font manualmente.

Basta copiare i file ttf nel progetto, impostare la Build Action a Content, e poi utilizzare il font indicando il percorso ed il suo nome, per esempio:

 

<TextBlock Text="Hello" FontFamily="/Assets/MioFont-Bold.ttd#Nome Font"/>

 

A questo punto provo la mia app e tutto funziona come mi aspettavo. Tranne per un font in particolare!!!

Dopo un pò di prove e tentativi praticamente a caso, scopro che anche se il font è disponibile nell'elenco dei font di Blend, ed è selezionabile, il problema risiede nelle Font Family che hanno il testo Bold alla fine.

Quindi se avete un font che si chiama Mio Font Bold, potete utilizzarlo nelle vostre app Windows 8 rimuovendo Bold alla fine del nome:

Cioè non funziona se scrivete:

 

<TextBlock Text="Hello" FontFamily="/Assets/MioFont-Bold.ttd#Mio Font Bold"/>

Dovete necessariamente scrivere

<TextBlock Text="Hello" FontFamily="/Assets/MioFont-Bold.ttd#Mio Font"/>

8f604773-9e80-4d69-8771-4164502d3798|0|.0|c3d67be3-8bc8-482b-8d1a-630689929ed2
Tags :
spacer

Aggiungi Commento

  spacer

biuquote
  • Commento
  • Anteprima
spacer

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.