以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 SVG/GML/VRML/X3D/XAML 』 (http://bbs.xml.org.cn/list.asp?boardid=21) ---- 在程序中的中文显示(再谈中文显示问题)[讨论] (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=9540) |
-- 作者:卷积内核 -- 发布时间:8/24/2004 4:02:00 PM -- 在程序中的中文显示(再谈中文显示问题)[讨论] 虽然用<text>可以显示中文,但在程序中不用<text>的地方中文怎么显示呢? 比如下面的菜单程序中的菜单上的文字怎么显示呢? <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [ <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> ]> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="getSVGDoc(evt);createMenues()"> <title>SVG-菜单演示程序</title> <desc>SVG-Spezifikation in Beispielen</desc> <defs> <style type="text/css"> <![CDATA[ rect.haupt { fill: #FFC; stroke: #000; stroke-width: 2px; } rect.unter { fill: #EEF; stroke: #000; stroke-width: 1px; } text.haupt { fill: #00C; font-size: 12px; text-anchor: middle; pointer-events: none; } text.unter { fill: #000; font-size: 11px; text-anchor: middle; pointer-events: none; } a text.unter { fill: #F00; pointer-events: inherit; } ]]> </style> <script type="text/javascript"> <![CDATA[ var svgdoc,svgroot; function getSVGDoc(load_evt) { svgdoc=load_evt.target.ownerDocument; svgroot=svgdoc.documentElement; } function createMenues() { var menues,hlinks,target,menue_x,menue_y,menue_b,menue_h,haupt_out,haupt_over,unter_out,unter_over,dx,dy; var haupt_g,haupt_r,haupt_t,haupt_txt,haupt_s1,haupt_s2,haupt_s3,haupt_s4; var unter_g,unter_r,unter_t,unter_txt,unter_s1,unter_s2,unter_s3,unter_s4,unter_s5,unter_s6,unter_a; // Arrays fuer die Menuepunkte und die Links menues=new Array(); hlinks=new Array(); // Vorgaben fuer Positionen und Farben - Anfang menue_x=20; // Menue x (erstes Rechteck) menue_y=60; // Menue y (erstes Rechteck) menue_b=100; // Breite der Rechtecke fuer Haupt- und Untermenues menue_h=20; // Hoehe der Rechtecke fuer Haupt- und Untermenues haupt_out="#FFC"; // Mouseout-Farbe der Hauptmenuepunkte (=Grundfarbe, siehe CSS-Klasse rect.haupt) haupt_over="#FF0"; // Mouseover-Farbe der Hauptmenuepunkte unter_out="#EEF"; // Mouseout-Farbe der Untermenuepunkte (=Grundfarbe, siehe CSS-Klasse rect.unter) unter_over="#CFC"; // Mouseover-Farbe der Untermenuepunkte dx=50; // x-Versatz der Menuetexte dy=15; // y-Versatz der Menuetexte target="_top"; // Linkziel // Schema: // menues[0 bis n-1]=new Array("Hauptmenuetext","Untermenuetext_1",...,"Untermenuetext_n"); // Hier: 3 Hauptmenuepunkte mit 5/3/1 Untermenuepunkten // hlinks[0 bis n-1]=new Array("url_1",...,"url_n"); // wenn kein Link erscheinen soll, einen Leerstring "" angeben // Hier: im 1. Untermenue ist Menuepunkt 4, im 2. Untermenue Menuepunkt 1 verlinkt menues[0]=new Array("Main","Untermenü 1.1","Untermenü 1.2","Untermenü 1.3","Untermenü 1.4","Untermenü 1.5"); hlinks[0]=new Array("","","","http://www.163.com",""); menues[1]=new Array("公司简介","公司历史","产品简介","发展蓝图"); hlinks[1]=new Array("http://www.history.com","",""); menues[2]=new Array("customer","客户管理"); hlinks[2]=new Array(""); // Menuetexte der n Menues und URLs der n Links festlegen - Ende // Menuestruktur dynamisch aufbauen - Anfang for(i=0;i<menues.length;i++) { // Hauptmenues mit Eintraegen erzeugen - Anfang haupt_g=svgdoc.createElement("g"); haupt_g.setAttribute("id","men"+parseInt(i+1)); haupt_r=svgdoc.createElement("rect"); haupt_r.setAttribute("x",menue_x+i*menue_b); haupt_r.setAttribute("y",menue_y); haupt_r.setAttribute("width",menue_b); haupt_r.setAttribute("height",menue_h); haupt_r.setAttribute("class","haupt"); haupt_s1=svgdoc.createElement("set"); haupt_s1.setAttribute("attributeName","fill"); haupt_s1.setAttribute("attributeType","CSS"); haupt_s1.setAttribute("to",haupt_over); haupt_s1.setAttribute("begin","mouseover"); haupt_s2=svgdoc.createElement("set"); haupt_s2.setAttribute("attributeName","fill"); haupt_s2.setAttribute("attributeType","CSS"); haupt_s2.setAttribute("to",haupt_over); haupt_s2.setAttribute("begin","umen"+parseInt(i+1)+".mouseover"); haupt_s3=svgdoc.createElement("set"); haupt_s3.setAttribute("attributeName","fill"); haupt_s3.setAttribute("attributeType","CSS"); haupt_s3.setAttribute("to",haupt_out); haupt_s3.setAttribute("begin","mouseout"); haupt_s4=svgdoc.createElement("set"); haupt_s4.setAttribute("attributeName","fill"); haupt_s4.setAttribute("attributeType","CSS"); haupt_s4.setAttribute("to",haupt_out); haupt_s4.setAttribute("begin","umen"+parseInt(i+1)+".mouseout"); haupt_t=svgdoc.createElement("text"); haupt_t.setAttribute("x",menue_x+i*menue_b+dx); haupt_t.setAttribute("y",menue_y+dy); haupt_t.setAttribute("class","haupt"); haupt_txt=svgdoc.createTextNode(menues[i][0]); haupt_r.appendChild(haupt_s1); haupt_r.appendChild(haupt_s2); haupt_r.appendChild(haupt_s3); haupt_r.appendChild(haupt_s4); haupt_t.appendChild(haupt_txt); haupt_g.appendChild(haupt_r); haupt_g.appendChild(haupt_t); // Hauptmenues mit Eintraegen erzeugen - Ende // Gruppe fuer die Untermenuepunkte des i-ten Hauptmenues - Anfang unter_g=svgdoc.createElement("g"); unter_g.setAttribute("id","umen"+parseInt(i+1)); unter_g.setAttribute("style","display: none"); unter_s1=svgdoc.createElement("set"); unter_s1.setAttribute("attributeName","display"); unter_s1.setAttribute("attributeType","CSS"); unter_s1.setAttribute("to","block"); unter_s1.setAttribute("begin","men"+parseInt(i+1)+".mouseover"); unter_s2=svgdoc.createElement("set"); unter_s2.setAttribute("attributeName","display"); unter_s2.setAttribute("attributeType","CSS"); unter_s2.setAttribute("to","none"); unter_s2.setAttribute("begin","men"+parseInt(i+1)+".mouseout"); // Gruppe fuer die Untermenuepunkte des i-ten Hauptmenues - Ende // Untermenuepunkte fuer das i-te Hauptmenue - Anfang for(j=1;j<menues[i].length;j++) { unter_r=svgdoc.createElement("rect"); unter_r.setAttribute("x",menue_x+i*menue_b); unter_r.setAttribute("y",menue_y+j*menue_h); unter_r.setAttribute("width",menue_b); unter_r.setAttribute("height",menue_h); unter_r.setAttribute("class","unter"); if(hlinks[i][j-1]=="")unter_r.setAttribute("onclick","MenueAktion('"+parseInt(i+1)+"."+j+"')"); unter_s3=svgdoc.createElement("set"); unter_s3.setAttribute("attributeName","fill"); unter_s3.setAttribute("attributeType","CSS"); unter_s3.setAttribute("to",unter_over); unter_s3.setAttribute("begin","mouseover"); unter_s4=svgdoc.createElement("set"); unter_s4.setAttribute("attributeName","fill"); unter_s4.setAttribute("attributeType","CSS"); unter_s4.setAttribute("to",unter_out); unter_s4.setAttribute("begin","mouseout"); unter_s5=svgdoc.createElement("set"); unter_s5.setAttribute("attributeName","fill"); unter_s5.setAttribute("attributeType","CSS"); unter_s5.setAttribute("to",unter_over); unter_s5.setAttribute("begin","link"+i.toString()+j.toString()+".mouseover"); unter_s6=svgdoc.createElement("set"); unter_s6.setAttribute("attributeName","fill"); unter_s6.setAttribute("attributeType","CSS"); unter_s6.setAttribute("to",unter_out); unter_s6.setAttribute("begin","link"+i.toString()+j.toString()+".mouseout"); unter_t=svgdoc.createElement("text"); unter_t.setAttribute("x",menue_x+i*menue_b+dx); unter_t.setAttribute("y",menue_y+j*menue_h+dy); unter_t.setAttribute("class","unter"); unter_txt=svgdoc.createTextNode(menues[i][j]); unter_a=svgdoc.createElement("a"); unter_a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",hlinks[i][j-1]); unter_a.setAttribute("target",target); unter_a.setAttribute("id","link"+i.toString()+j.toString()); unter_a.appendChild(unter_t); unter_r.appendChild(unter_s3); unter_r.appendChild(unter_s4); unter_r.appendChild(unter_s5); unter_r.appendChild(unter_s6); unter_t.appendChild(unter_txt); unter_g.appendChild(unter_s1); unter_g.appendChild(unter_s2); unter_g.appendChild(unter_r); if(hlinks[i][j-1])unter_g.appendChild(unter_a); else unter_g.appendChild(unter_t); haupt_g.appendChild(unter_g); } // Untermenuepunkte fuer das i-te Hauptmenue - Ende // Hauptmenue mit Untermenues in den DOM-Baum einhaengen svgroot.appendChild(haupt_g); } // Menuestruktur dynamisch aufbauen - Ende } function MenueAktion(men) { alert("Menüpunkt "+men+" wurde geklickt."); } ]]> </script> </defs> <text style="fill:red;" font-size="32" font-family="SimSun" x="350" y="50" width="200" height="30"> 欢迎光临本站</text> </svg>
|
-- 作者:xuelh -- 发布时间:8/27/2004 9:12:00 AM -- 把中文全换成utf编码 |
-- 作者:卷积内核 -- 发布时间:8/27/2004 9:25:00 AM -- 保存时已经全转换了,你调出来了吗? |
-- 作者:卷积内核 -- 发布时间:8/27/2004 11:06:00 AM -- 好高兴,我解决拉 前面声明中加上 text { font-family="SimSun" } 就好拉~~!!! |
-- 作者:卷积内核 -- 发布时间:8/27/2004 11:28:00 AM -- 也就是说以后在中文显示时嵌套在script中的中文要显示时,只要在前面的text中声明它的 中文字体类型格式就可以拉,同时不要忘了保存格式为 UTF-8 |
-- 作者:wisd0m -- 发布时间:8/27/2004 9:04:00 PM -- 版主果然厉害啊!一下就解决了,我考虑了好久啊 我当时只在function底下加入了font-family="SimSun" |
-- 作者:wisd0m -- 发布时间:8/27/2004 9:47:00 PM -- 我试一下,还是不行 这个声明 |
-- 作者:wisd0m -- 发布时间:8/27/2004 9:47:00 PM -- 我试一下,还是不行 这个声明 |
-- 作者:卷积内核 -- 发布时间:8/30/2004 8:14:00 AM -- <title>SVG-菜单演示程序</title> <desc>SVG-Spezifikation in Beispielen</desc> <defs> <style type="text/css"> <![CDATA[ rect.haupt { fill: #FFC; stroke: #000; stroke-width: 2px; } text { font-family="SimSun" } 加在这里就可以拉,随便一个对文档声明定义的地方就可以 ![]()
|
-- 作者:wisd0m -- 发布时间:8/31/2004 1:40:00 PM --
我试过了,还是不行啊!请赐教! |
-- 作者:wisd0m -- 发布时间:8/31/2004 1:40:00 PM -- <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [ <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> ]> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="getSVGDoc(evt);createMenues()"> <title>SVG-菜单演示程序</title> <desc>SVG-Spezifikation in Beispielen</desc> <defs> <style type="text/css"> <![CDATA[ rect.haupt { fill: #FFC; stroke: #000; stroke-width: 2px; } text { font-family="Simsun" } rect.unter { fill: #EEF; stroke: #000; stroke-width: 1px; } text.haupt { fill: #00C; font-size: 12px; text-anchor: middle; pointer-events: none; } text.unter { fill: #000; font-size: 11px; text-anchor: middle; pointer-events: none; } a text.unter { fill: #F00; pointer-events: inherit; } ]]> </style> <script type="text/javascript"> <![CDATA[ var svgdoc,svgroot; // Vorgaben fuer Positionen und Farben - Anfang |
-- 作者:卷积内核 -- 发布时间:8/31/2004 1:54:00 PM -- <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [ <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> ]> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="getSVGDoc(evt);createMenues()"> <title>SVG-菜单演示程序</title> <desc>SVG-Spezifikation in Beispielen</desc> <defs> <style type="text/css"> <![CDATA[ text }
|
-- 作者:卷积内核 -- 发布时间:8/31/2004 1:56:00 PM -- [分享] 好了吧? |
-- 作者:wisd0m -- 发布时间:8/31/2004 4:01:00 PM -- 我知道哪里出问题了,谢谢斑竹 |
-- 作者:SCYANGYU -- 发布时间:2/18/2005 11:12:00 AM -- 经典,收藏了! 谢谢 “卷积内核” 老大。 |
-- 作者:wulemale -- 发布时间:5/30/2005 10:20:00 PM -- 汉字作为实参传递给function时还是有问题啊,如用myobj.setData("***"),就不能正常显示 --------- 解决了,是我自己tiptext属性中的font-family忘改了 [此贴子已经被作者于2005-6-2 13:09:59编辑过]
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
6,734.375ms |