网页中如何获取客户端系统已安装的所有字体?(转)

网页中如何获取客户端系统已安装的所有字体?

如何获取系统字体?
1.首先在需要获取系统字体的网页

后加入以下代码:




2.将以下内容保存为:FontFacesMenu.js文件。
// FontFacesMenu.js
var fontsArray = new Array();
var fontsIsAdded = false;
function fontFacesMenuEnter(fontFacesDropdownList, dlgHelperId)
{
if((fontsIsAdded == false )||(fontsArray==''))
{
fontsArray = getSystemFonts(dlgHelperId);

fontsIsAdded = true;
for (var s=1; s < fontsArray.length; s++)
{
newOption = document.createElement("option");
newOption.value = fontsArray[s];
newOption.text = fontsArray[s];
fontFacesDropdownList.add(newOption);
}
}
}

function getSystemFonts(dlgHelperId)
{
var a = document.all(dlgHelperId).fonts.count;
var fArray = new Array();
for (i = 1;i <= parent.document.all(dlgHelperId).fonts.count;i++){
fArray[i] = parent.document.all(dlgHelperId).fonts(i);
}
return fArray;
}

3.在网页需要插入字体下拉菜单的位置处插入以下代码:

系统字体:


OK!看到效果了没有?如果可以,恭喜你了!
注:如果需要加上选中后的事件,在onChange中改变成你自己的相应事件处理即可。
以上对客户端的开发有用,如果需要服务器端的字体,继续往下看,否则略过即可。

4.如何将我的系统字体保存为文件?(对于服务器端开发略有小用)
(1)如果你的服务器的字体配置与你现有电脑字体配置一样的话,使用Javascript脚本,然后COPY至写字板或记事本,再保存。
接着上面步骤继续往下做:
(续)步骤一:将以下代码放在

区内:

步骤二:

步骤三:将上面第3条中最后的"//updateFontList();"中的两个斜杠隐掉,变成:
οnmοuseenter="fontFacesMenuEnter(this, 'dlgHelper');updateFontList();"

步骤四:保存你的网页,刷新它,再试试看。在“FontList”的TextArea区域应该已经有了你的所有系统字体了,先复制再贴粘到你需要的地方。
比如:第3条中的下面,这样,你就可以将它变成服务器上的相关字体(如果你的服务器的字体配置与你现有电脑字体配置一样的话)了。
(2)使用C#代码获取服务器系统中的字体(暂时略过,有空再写)。它的优点是可以直接获取服务器端的字体,以保持开发的一致性。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-121607/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-121607/

你可能感兴趣的:(网页中如何获取客户端系统已安装的所有字体?(转))