QQShuru={};QQShuru.Util={};QQShuru.Util.Browser={};QQShuru.Util.Browser.isIE=(navigator.appName=="Microsoft Internet Explorer");QQShuru.Util.Loader={CURRENT_PATH:"handwritingapi.js",getCurrentLocation:function(){var e="";var g=this.CURRENT_PATH;var a=document.getElementsByTagName("script");var f=a.length;for(var c=0;c-1)&&(b+g.length==d)){e=h.slice(0,d-g.length);b=null;d=null;h=null;break}b=null;d=null}h=null}g=null;a=null;f=null;return e}};QQShuru.Util.Loader.include=function(a){var k=QQShuru.Util.Loader.getCurrentLocation();var b=a.length;var f=document.getElementsByTagName("head").length?document.getElementsByTagName("head")[0]:document.body;var e=function(h){var c=h.lastIndexOf(".");var i=h.substring(c+1);return i};for(var d=0;d','
','PC手写输入法
输入要查询的汉字:
',"
",'',"",'','','','',"",'','',"",'','',"",'','',"",'','',"",'','',"",'','',"",'','',"","
",'
','退笔','重写',"
",""];E.innerHTML=S.join("");var h=document;var H=document.body;var z=document.documentElement;var b=document.getElementById("qqshuru_candidate");var F=function(){var aa=this;if(o){var X=window.event;aa=X.srcElement}var Z=aa.innerHTML;var Y=function(ab){switch(ab){case" ":ab="";break;case"<":ab="<";break;case">":ab=">";break;case"&":ab="&";break;case""":ab='"';break;case"©":ab="?";break;case"®":ab="?";break;default:}return ab};var W=Y(Z);G(W);V()};var M=b.rows;var f=[];var K=[];var O=[];var U=function(){for(var X=1;X<5;X++){for(var W=0;W<3;W++){f[(X-1)*3+W]=M[X].cells[W];m(M[X].cells[W],"click",F)}}for(var X=5;X<7;X++){for(var W=0;W<2;W++){K[(X-5)*2+W]=M[X].cells[W];m(M[X].cells[W],"click",F)}}O[0]=M[7].cells[0];m(M[7].cells[0],"click",F)}();var i=document.getElementById("qqshuru_canvas");if(o){var w=QQShuru.Util.Loader.getCurrentLocation();i.style.cursor=w+"pen.cur, pointer"}var v=o?1:0;var a=2;var N=300;var R=287;var c="#606060";var y=3;var t="round";var J=!!i.getContext;if(J){var Q=i.getContext("2d");Q.lineCap=t;Q.lineJoin=t;Q.lineWidth=y;Q.strokeStyle=c}else{var x="qqshuru";if(!document.namespaces[x]){document.namespaces.add(x,"urn:schemas-microsoft-com:vml")}if(!h.styleSheets[x+"css"]){var q=document.createStyleSheet();q.owningElement.id=x+"css";q.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:"+N+"px;height:"+R+"px;}"+x+"\\:shape,"+x+"\\:stroke {behavior:url(#default#VML);}"}}var L=false;var P=false;var u=0;var T=[];var r=0;var e=[],d=[],I=[];var D=[],C=[];pointsDeltaXY=[];var k=[0,0];var l=function(W){if(v!==W.button){if(a===W.button){g()}return}var Y=B(W);if(!Y){return}L=true;r=0;e=[];d=[];I=[];D=[];C=[];pointsDeltaXY=[];e[r]=Y[0];d[r]=Y[1];I[r*2]=Y[0];I[r*2+1]=Y[1];D[r]=Y[0];C[r]=Y[1];pointsDeltaXY[r*2]=Y[0];pointsDeltaXY[r*2+1]=Y[1];if(J){Q.beginPath();Q.moveTo(Y[0],Y[1])}else{if(o){var Z="m"+Y[0]+","+Y[1]+" l"+Y[0]+","+Y[1]+" e";if(u in T){T[u].e.path.value=Z;T[u].e.style.visibility="visible"}else{var X=h.createElement("<"+x+':shape style="position:absolute;left:0;top:0;width:'+N+"px;height:"+R+'px;" coordsize="'+N+","+R+'" filled="f" stroked="t" strokecolor="'+c+'" strokeweight="'+y+'" path="'+Z+'"/>');i.appendChild(X);X.appendChild(h.createElement("<"+x+':stroke opacity="1" miterlimit="'+y+'" joinstyle="'+t+'" endcap="'+t+'"/>'));T[u]={e:X}}}else{alert("很抱歉,您的浏览器不支持手写功能!");return}}k[0]=Y[0];k[1]=Y[1];r++;if(o){m(i,"losecapture",n);i.setCapture()}else{m(window,"blur",n)}};var A=function(W){if(!L){return}var Y=B(W);if(!Y){return}if(o&&"div"!==W.srcElement.tagName&&"qqshuru_canvas"!==W.srcElement.id){false===P&&(P=true);return}e[r]=Y[0];d[r]=Y[1];I[r*2]=Y[0];I[r*2+1]=Y[1];D[r]=Y[0]-k[0];C[r]=Y[1]-k[1];pointsDeltaXY[r*2]=D[r];pointsDeltaXY[r*2+1]=C[r];if(J){Q.lineTo(Y[0],Y[1]);Q.stroke()}else{var X=T[u].e.path;X.value=X.value.replace(" e",","+Y[0]+","+Y[1]+" e")}k[0]=Y[0];k[1]=Y[1];r++};var n=function(W){if(!L){return}L=false;if(1===r){if(!J){T[u].e.style.visibility="hidden"}return}if(J){Q.closePath();var Z=i.cloneNode(false);Z.style.display="none";Z.getContext("2d").drawImage(i,0,0);T[u]={e:Z};Z=null}var aa=T[u];aa.count=r;aa.x=e.slice(0);aa.y=d.slice(0);aa.xy=I.slice(0);aa.deltaX=D.slice(0);aa.deltaY=C.slice(0);aa.deltaXY=pointsDeltaXY.slice(0);u++;var X=[];for(var Y=0;Y0){ad=(ad<16)?ad:16;for(var Y=0;Y0){W=(W<4)?W:4;for(var Y=0;Y0){Z=(Z<1)?Z:1;for(var Y=0;Y