Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Controllo font

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    170

    Controllo font

    Questo è il codice di una funzione javascript che verifica se un font è installato sul computer in uso. Dato che non conosco javascript, come posso scrivere lo stesso codice verificando però se è installato il font "Tw Cent MT" ?

    codice:
    script language="JavaScript" type="text/javascript">
    function controllo_fonts() {
    
    // Lo script crea livelli invisibili contenenti lo stesso testo nei vari font da verificare,
    // se il font non è disponibile lo scrive in courier (lo fa di default x il primo livello).
    // Confrontando la lunghezza dei livelli con quella del primo determina la presenza dei font.
    // Il controllo potrebbe fallire perchè: 
    // - il testo in un determinato font occupa lo stesso spazio scritto in courier
    // - in alcuni browser non è possibile rilevare in questo modo la lunghezza del livello 
    // (x es. OP5, dovrebbe fallire silenziosamente)
    
    
    // copyleft 2k+3 xinod@html.it
    // sostituisci nell' array caratteri i nomi dei font di cui vuoi verificare la presenza, ma lascia il primo vuoto
    
    
    var caratteri = new Array('','inesistente','altro font inventato','arial','comic sans MS');
    
    
    var NO = ((parseInt(navigator.appVersion)<4) || (navigator.platform.toLowerCase().indexOf('win')==-1));
    var NN4 = (document.layers)?1:0;
    var IE4 = (document.all && !document.getElementById)?1:0;
    var str = "stringa& nbsp;per& nbsp;controllare& nbsp;la& nbsp;lunghezza& nbsp;del& nbsp;testo";
    var risultati = new Array();
    
    	if(!NO) {
    		// scrive i livelli
    		for(var k=0; k<caratteri.length; k++){
    			var lyr=(NN4)?'<layer name="testLyr'+k+'" visibility="hide"><font face="'+caratteri[k]:'';
    			lyr+=(!NN4)?'<span id="testLyr'+k+'" style="position:absolute;top:0;left:0;z-index:100'+k+';visibility:hidden;font-family:'+caratteri[k]:'';
    			lyr+=(k==0)?'':',';
    			lyr+='Courier">'+str;
    			lyr+=(NN4)?'</font></layer>':'</span>';
    			document.write(lyr);
    		}
    		// confronta le lunghezze
    		for(k=0; k<caratteri.length; k++){
    			var l_test=(NN4)?document.layers['testLyr'+k].clip.width:(IE4)? document.all['testLyr'+k].offsetWidth:document.getElementById('testLyr'+k).offsetWidth;
    				if(l_test!=undefined) {
    					if(k==0) risultati[0]=l_test
    					else if(l_test==risultati[0]) risultati[risultati.length]=k;
    				}
    		}
    		// elabora il messaggio
    		var msg='Per visualizzare correttamente questo sito\nè consigliabile scaricare';
    		msg+=(risultati.length>2)?' i seguenti font:\n':' il seguente font:\n';
    			for(k=1; k<risultati.length; k++){
    				msg+='\n- '+caratteri[risultati[k]];
    			}
    		msg+='\n\nVuoi procedere al download?';
    			if(risultati.length>1)
    				if(confirm(msg)) window.open('pagina_download_fonts.htm','popdownload','width=320,height=240,top=100,left=100');
    	}
    }
    controllo_fonts();
    </script>
    Grazie

  2. #2
    sostituisci questo:

    Codice PHP:
    var caratteri = new Array('','inesistente','altro font inventato','arial','comic sans MS'); 
    con questo:

    Codice PHP:
    var caratteri = new Array('Tw Cent MT'); 
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    170
    Grazie x avermi risposto. Ho applicato la modifica che mi hai detto (del resto già ci avevo provato prima) ma non funziona.

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    come ho scritto all' epoca (e non ho tempo al momento neanche di rivedere il perche')
    // sostituisci nell' array caratteri i nomi dei font di cui vuoi verificare la presenza, ma lascia il primo vuoto
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.