2010-08-30 16 views

Respuesta

13

Para comenzar, es posible que desee comprobar qué fuentes están instaladas en el cliente. Lea en http://www.lalit.org/lab/javascript-css-font-detect

Debe tener su propia lista de fuentes para verificar, luego tiene una matriz de fuentes instaladas marcando cada una de la lista para ver cuál está instalada.

La diferencia en los anchos le dirá la disponibilidad de las fuentes instaladas en las computadoras del cliente porque el navegador volverá a su fuente predeterminada. Entonces, probablemente necesite hacer algunas pruebas invisibles para el ancho del texto para determinar si está instalada una fuente.

2

No hay una manera que yo sepa. Hay API del sistema en lenguajes como C++ y Python que devolverán las fuentes instaladas, y ciertamente puede escribir un backend en un lenguaje de nivel superior que se comunique con una interfaz de JavaScript usando solicitudes get/post y (opcionalmente) AJAX, pero usted ' No vamos a obtener las fuentes instaladas solo con JavaScript.

2

Este código funciona para IE

<html> 
<head> 
    <script type="text/javascript"> 
    <!-- 
     function getFonts() { 

      // get list of fonts, and sort alphabetically 
      var allFonts = []; 
      for (var loop = 1; loop < dlgHelper.fonts.count + 1; loop++) allFonts[loop - 1] = dlgHelper.fonts(loop); 
      allFonts.sort(); 

      // create output list, and include samples of each font 
      var outputStr = ''; 
      var fontTestString = 'ABC abc 123'; 
      for (var loop = 0; loop < allFonts.length; loop++) { 
       outputStr += '<span style="font-family: ' + allFonts[loop] + ';">' + allFonts[loop] + '</span><br />\n'; 
      } 
      document.getElementById('fontList').innerHTML = outputStr; 
     } 
    //--> 
    </script> 
</head> 
<body onload="getFonts();"> 
    <object id="dlgHelper" classid="clsid:3050F819-98B5-11CF-BB82-00AA00BDCE0B" width="0px" 
     height="0px"> 
    </object> 
    <div id="fontList"> 
    </div> 
</body> 
</html> 
Cuestiones relacionadas