2011-08-22 8 views
6

Mi piacerebbe scrivere codice che degrada con grazia utilizzando un glifo Webdings. Presumibilmente Webdings è uno di quei font che è universally available across platforms, ma non voglio che il browser visualizzi il carattere nel suo font predefinito se per qualche strana ragione Webdings non è presente.C'è un modo per nascondere il testo se un carattere non è disponibile?

C'è un modo per farlo?

+1

Al posto di questo, è necessario utilizzare '@ font-face' per incorporare un font di fallback. È molto meglio che nascondere il testo e funziona in "tutti i browser". – thirtydot

+0

Hai ragione - questa è davvero la soluzione più nello spirito della domanda. Scrivilo come risposta e lo accetterò. –

risposta

2

Come ho già detto in un commento:

Invece di quello, è necessario utilizzare @font-face per incorporare un font di fallback. È molto meglio che nascondere il testo e funziona in "tutti i browser ".

Preferisco utilizzare Font Squirrel Generator per gestire @font-face. Lo rende molto, molto facile.

1

Solo Flash consente di rilevare quali tipi di carattere sono installati sul computer. C'è un post sul blog per mostrare come ottenere l'elenco dei font in Flash e passare questo elenco a JavaScript. Una volta che avete in JavaScript, dovrebbe essere facile per nascondere/mostrare il testo:

http://rel.me/2008/06/26/font-detection-with-javascript-and-flash/

+0

Risposta interessante e buona da sapere. –

2

Si potrebbe fare qualcosa di simile con jQuery:

$('p').each(function(){ 
    var s = $(this).css('font-family'); 
    if(s != "verdana"){ 
     $(this).hide(); 
    }  
}); 

Esempio: http://jsfiddle.net/jasongennaro/GXjvK/

Quindi controlli per vedere il font per l'elemento. Se non è lì, lo nascondi.

+3

Non funziona - se si imposta il CSS su Verdana e se Verdana non è effettivamente disponibile, jQuery segnalerà ancora il CSS come "Verdana". –

+0

Questo script legge dal foglio di stile, che non indica la disponibilità di un font. –

1

Non esiste un modo nativo per verificare la disponibilità dei caratteri in JavaScript.

Tuttavia, come ha realizzato lalit, dal momento che "ogni carattere appare in modo diverso in caratteri diversi, diversi tipi di carattere avranno larghezza e altezza diverse per la stessa stringa di caratteri della stessa dimensione del carattere".

Ha scritto un bell'articolo, e ha creato un pezzo di codice decente per fare proprio questo: http://www.lalit.org/lab/javascript-css-font-detect/

1

Si potrebbe utilizzare una proprietà CSS3 per avere il carattere sul vostro sito web che significa che tutte le persone che hanno compatibile un CSS3 il browser Web vedrà il "testo" come desideri.

@font-face { 
font-family: myFirstFont; /* in your case webdings */ 
src: url('Sansation_Light.ttf'), 
url('Sansation_Light.eot') format("opentype"); /* IE */ 
} 

La mia unica preoccupazione ora sarebbe di circa i diritti d'autore, non so se si suppone di avere diritti su questo tipo di carattere per essere in grado di utilizzare in questo modo ...

Problemi correlati