仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 575|回复: 9
打印 上一主题 下一主题

[学习教程] ASP编程:用ASP完成中英笔墨体的主动挑选

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:36:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;用ASP完成中英笔墨体的主动选择



在Windows体系中,每种言语的字符的显现都有对应的默许字体,比方在年夜部分的使用程序中,简体中文(GB2312)字符默许的显现字体是“宋体”,英笔墨符则为“Arial”。利用这类默许字体不但能够照应到年夜多半的客户端体系不会呈现短少此类字体的为难场合排场,主要的是还能到达此类字符的显现与打印的最年夜限制上的工致与美妙,与人们的浏览习气坚持分歧。
提出成绩
在Word97/2000中,文档注释默许的字体款式是:中笔墨符的字体是宋体(简体中文,GB2312或GBK),英笔墨符的字体则是“TimesNewRoman”。实在在GB2312编码的宋体字库中自己就包括了英笔墨符的显现与打印撑持,可是为何Word还要别的设置呢?如所示:图中第一行英笔墨母的字体被设置为“TimesNewRoman”,第二行则被设置为“宋体”。


                   
从中能够看出,被设置为宋体的英笔墨符显现效果对照靠近于简体中文的拼音字母,作为英文段落来说如许设置不太切合人们的浏览习气,以是Word中对中英笔墨体的分离设置并非画蛇添足。
在简体中文网页中,因为扫瞄器默许的大概由网页编写者指定的网页注释(<body>……</body>)的字体设置一样平常都是宋体,如许,中英文利用一样的字体设置就会使字体显现得到全体的美妙。
为懂得决这个成绩,我们能够对网页中呈现的一切英笔墨符分离举行字体作风设置,可是如许做不但会极年夜地减轻网页制造职员的事情量,使代码看上往啰嗦拖拉,还会年夜年夜增添网页代码的长度,形成页面下载迟缓。假如间接把全部页面的主体部分的字体设置为英笔墨体款式,如“TimesNewRoman”等,在这类情形下,固然扫瞄器在显现中笔墨符的时分会主动利用默许的中笔墨体设置,但统一个页面在分歧设置的扫瞄器的扫瞄下将会呈现不测的折行、段落凌乱等显现毛病。
编程完成
本文先容一种在ASP顶用服务器端JScript剧本完成的中英笔墨体的主动选择办法。使用该办法不但能够轻松到达Word中的效果,并且能使客户端输入的HTML源代码加倍松散简便。源代码及扼要申明以下:
<%@Language=JScript%>
<html>
<head>
<metahttp-equiv=“Content-Type”content=“text/html;charset=gb2312”>
<metaname=“Author”content=“contion”>
<title>主动选择字体剧本测试页</title>
<scriptlanguage=“JScript”runat=“Server”>/*假如要在客户端HTML(即一般HTML文件)中利用本函数,请将“language”设置为“JavaScript”,并将runat=“Server”往失落*/
//主动选择字体函数
functioncWrite(strPut)
{ 
varstrInput,intLength,blnTagClosed,blnHtmlTags,strWrite,chrAti,argv,argcstrClass;
strInput=‘’+strPut;
intLength=strInput.length;
blnTagClosed=true;
blnHtmlTags=false;
strWrite=‘’;
argv=cWrite.arguments;
argc=argv.length;
strClass=(argc>1)?argv[1]:‘en’;/*假如不带参数,那末默许的英文款式为本页CSS款式界说的en。CSS款式表的界说可参考下文的代码。*/
/*假如输出字符串为“空”则前往空值*/
if(strPut==null)returnstrWrite; 
for(vari=0;i<intLength;i++)
{
chrAti=strInput.charAt(i);
if(strInput.charAt(i-1)==‘>’&&blnHtmlTags==true)blnHtmlTags=false;/*碰着“>”,则以为以后字符不是HTML标志。HTML标志也是英笔墨符,但对它们举行字体设置是没有任何意义的,由于HTML标志自己不会被显现。*/
/*碰着“<”,HTML标志入手下手*/
if(chrAti==‘<’)blnHtmlTags=true; 
if(chrAti!=‘’)
{
//过滤空格
if(ifWesternChr(chrAti)&&!blnHtmlTags)
{ 
/*假如是英笔墨符而且不在HTML标志以内*/
if(blnTagClosed){/*只要在<font>……</font>标志已完全的情形下才干再增加<font>润色*/
strWrite+=‘<fontclass=“‘+str
Class+’”>’+chrAti;
blnTagClosed=false;
}
elseif(!blnTagClosed)strWrite+=chrAti;
}
else{
if(!blnTagClosed)
{
strWrite+=‘</font>’+chrAti;
//将<font>标志置为“已封闭”
blnTagClosed=true; 
}
elseif(blnTagClosed)strWrite+=chrAti;
}
}
elsestrWrite+=chrAti;
}
if(!blnTagClosed)strWrite+=‘</font>’
//前往经由字体润色的HTML字符串
returnstrWrite; 
}
/*判别以后字符是英笔墨符仍是中笔墨符*/
functionifWesternChr(chrInput)
{ 
varchrInput_e;
chrInput_e=escape(chrInput);
if(chrInput_e.length==(chrInput.length)*6||chrInput==‘’||chrInput==‘
’)returnfalse;/*只要非一般ASCII字符经由escape()函数编码以后的长度才会即是原长度的6倍,以是用这类办法能够避开内码间接判别以后字符是不是为中文。*/
elsereturntrue;
}
</script>
<style>
<!--以下CSS款式仅作参考。注重:en是程序默许的英笔墨体款式类,以是必定要界说。
body{color:#000080; 
font-family:宋体;font-size:12pt}
.en{color:#ff0000; 
font-family:“TimesNewRoman”; 
font-weight:bold; 
font-style:italic; 
font-size:12pt}
-->
</style>
</head>
<bodybgcolor=“#FFFFFF”>
<%
/*上面是一个挪用例子,您能够参考上面的体例挪用上边编写的函数。在HTML文件中援用时要注重将本例中一切的ASP函数、工具交换为响应的客户端剧本的情势,如“Response.Write”应当交换为“document.write”*/
varstrWrite;
strWrite=‘在本测试页中,一切半角字符的字体都被设置为“TimesNewRoman”,并以白色粗斜体显现。’;
strWrite+=‘固然,这仅仅是为了测试便利和夺目,您应当本人界说符合的字体。’;
strWrite+=‘如:“Computer”、“WorldWideWeb”等等,“?”是英文问号,“,”是英文逗号,’;
strWrite+=‘“1234567890”为本字体的数字显现款式。如许看起来中文省略号“……”与英文省略号’;
strWrite+=‘“...”的确分歧。中:本测试准确吗?En:Isthistestcorrect?’;
Response.Write(‘<p>’+cWrite(strWrite,‘en’)+‘</p>’);
%>
</body>
</html>


</p>asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。
不帅 该用户已被删除
沙发
发表于 2015-1-19 11:45:08 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-24 12:35:20 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
海妖 该用户已被删除
地板
发表于 2015-1-30 23:30:47 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
若相依 该用户已被删除
5#
发表于 2015-1-31 05:07:01 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
柔情似水 该用户已被删除
6#
发表于 2015-2-6 17:22:45 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
兰色精灵 该用户已被删除
7#
发表于 2015-2-17 14:56:53 | 只看该作者
掌握asp的特性而且一定要知道为什么。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-5 20:31:51 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
小魔女 该用户已被删除
9#
发表于 2015-3-12 14:31:32 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
蒙在股里 该用户已被删除
10#
发表于 2015-3-19 22:51:45 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表