var tableElement = document.getElementById("display");
var CC = SpecialPowers.Cc; var CI = SpecialPowers.Ci;
var fe =
CC["@mozilla.org/gfx/fontenumerator;1"].createInstance(CI.nsIFontEnumerator); var serifFonts = fe.EnumerateFonts("x-western", "serif"); var monospaceFonts = fe.EnumerateFonts("x-western", "monospace");
function table_width_for_font(font) {
tableElement.style.fontFamily = '"' + font + '"'; var result = tableElement.offsetWidth;
tableElement.style.fontFamily = "";
return result;
}
var serifIdx = 0; var monospaceIdx = 0; var monospaceWidth, serifWidth;
monospaceWidth = table_width_for_font(monospaceFonts[monospaceIdx]);
for (serifIdx in serifFonts) {
serifWidth = table_width_for_font(serifFonts[serifIdx]);
if (serifWidth != monospaceWidth)
break;
}
if (serifWidth == monospaceWidth) {
for (monospaceIdx in monospaceFonts) {
monospaceWidth = table_width_for_font(monospaceFonts[monospaceIdx]);
if (serifWidth != monospaceWidth)
break;
}
}
isnot(serifWidth, monospaceWidth, "can't find serif and monospace fonts of different width");
var serifWidthFromPref;
function step2() {
serifWidthFromPref = tableElement.offsetWidth;
SpecialPowers.pushPrefEnv({'set': [['font.name.serif.x-western', monospaceFonts[monospaceIdx]]]}).then(step3);
} var monospaceWidthFromPref;
function step3() {
monospaceWidthFromPref = tableElement.offsetWidth;
is(serifWidthFromPref, serifWidth, "changing font pref should change width of table (serif)");
is(monospaceWidthFromPref, monospaceWidth, "changing font pref should change width of table (monospace)");
SimpleTest.finish();
}
</script>
</pre>
</body>
</html>
Messung V0.5
¤ Dauer der Verarbeitung: 0.27 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.