|
| |
精品推荐 |
 |
|
| |
|
|
|
|
在浏览器中以文本方式显示nfo文件的完美解决方案
|
日期:2005年10月31日 作者: 查看:[大字体
中字体 小字体]
|
通常我们都是在浏览器中以图片方式显示nfo,有优点也有缺点。优点先不说了,最大的缺点就是不能够进行选择、复制等操作。在浏览器中以文本方式显示nfo,除了安装特定的字体外,似乎目前还没有更好的方法。
以前我曾经写过一个nfo2txt的小程序,就是把nfo文件中的特殊字符进行转化,在记事本中用等宽字体(如courier new)浏览正常,但在IE中确是一团糟,具体什么原因我不清楚,不过在firefox浏览器中却可以正常显示。
一直在找一种能够显示nfo的TrueType字体,因为可以把它转化为嵌入html的字体在浏览器中使用。昨天我在Hanzac@ccf写的基于 HTA 的 NFO 查看工具中找到了Lucida ConsoleP这款字体,把它转化成了OpenType字体(压缩的TrueType字体),在IE中显示正常,在firefox中却没有效果。这种方式的缺点就是浏览器下载字体需要一段时间。
下面一段小程序,可以根据不同的浏览器而使用不同的方法显示nfo,在IE和firefox下似乎还没有发现什么问题。 演示地址:http://www.ugia.cn/nfo/nfo.php
<?php $nfodata = file_get_contents("ror.nfo"); $nfodata = str_replace("\r", "", $nfodata); $nfodata = preg_replace("/(^\s)(www\.\S+)(^\s)((httpftphttps):\/\/\S+)/is", " <a href=\"$2$4\">$2$4</a>", $nfodata);
if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) //如果客户端浏览器为IE { header('Content-Type: text/html; charset=windows-1252 '); $ctype = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">"; $style = " @font-face { font-family: ugia; font-style: normal; font-weight: normal; src: url(http://0day.ugia.net/ugia.eot); }
body, a, pre { font-family: ugia, courier new; font-size:11px; }"; } else //其他浏览器 { header('Content-Type: text/html; charset=utf-8 '); $ctype = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"; $style = " body, a, pre { font-family: courier new; font-size:11px; }";
require("nfo2txt.php"); $nfodata = conv_nfo($nfodata); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>nfo file</title> <style type="text/css"> <?=$style?> </style> </head> <body> <pre> <?=$nfodata?> </pre> </body> </html> |
附件中包含nfo2txt.php和luconp.ttf这两个文件,需要把luconp.ttf使用微软的WEFT转化为.eot文件,我不知道如何去除eot文件的站点限制,所以需要你自己转化并指定使用此eot文件的地址了。Microsoft WEFT下载地址: http://download.microsoft.com/download/8/a/1/8a1be03f-f7fc-4504-af9a-7b9230775284/WEFTIII2b1.exe
css2种关于@font-face 这个规则的说明:
@font-face { font-family : name ; src : url( url ) ; sRules }
说明: name : 字体名称 url : 使用绝对或相对地址指定OpenType字体 sRules : 样式表定义
设置嵌入HTML文档的字体。 嵌入HTML文档的字体是指将OpenType字体(压缩的TrueType字体)文件映射到客户端系统,用来提供HTML文档使用该字体,或取代客户端系统已有的同名字体。
示例: @font-face { font-family: dreamy; font-weight: bold; src: url(http://www.example.com/font.eot); }
附件:http://www.ugia.cn/nfo/nfo2txt.rar
(出处:清风网络学院)
上一篇:JSP Servlet JavaBean Java Tomcat 环境配置
下一篇:直接将国际域名绑定动态IP(无需转移DNS)
|
| 在浏览器中以文本方式显示nfo文件的完美解决方案 相关文章: |
|
|
|
| 在浏览器中以文本方式显示nfo文件的完美解决方案 相关软件: |
|
|
|
|