2010-08-30 17 views

Odpowiedz

13

Aby rozpocząć, możesz chcieć sprawdzić, jakie czcionki są zainstalowane na kliencie. Czytaj na temat http://www.lalit.org/lab/javascript-css-font-detect

Musisz mieć własną listę czcionek do sprawdzenia, następnie masz tablicę zainstalowanych czcionek, sprawdzając każdą z nich, aby zobaczyć, który z nich jest zainstalowany.

Różnica szerokości informuje o dostępności czcionek zainstalowanych na komputerach klienta, ponieważ przeglądarka powróci do domyślnej czcionki. Dlatego prawdopodobnie musisz wykonać niewidoczne testy szerokości tekstu, aby określić, czy czcionka jest zainstalowana.

2

Nie ma sposobu, o którym jestem świadomy. Istnieją systemowe interfejsy API w językach takich jak C++ i Python, które zwrócą zainstalowane czcionki i możesz napisać backend w języku wyższego poziomu, który komunikuje się z interfejsem JavaScript za pomocą żądań get/post i (opcjonalnie) AJAX, ale ty " nie zamierzamy pobrać zainstalowanych czcionek tylko z JavaScriptem.

2

Ten kod działa dla 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> 
Powiązane problemy