android 符号表情显示乱码,emoji表情文字乱码

/**

*...特殊的字符,如泰文,必须重新实现这个类

*/

//class laya.webgl.text.CharSegment

var CharSegment=(function(){

function CharSegment(){

this._sourceStr=null;

}

__class(CharSegment,'laya.webgl.text.CharSegment');

var __proto=CharSegment.prototype;

Laya.imps(__proto,{"laya.webgl.text.ICharSegment":true})

__proto.textToSpit=function(str){

this._sourceStr=str;

var texLen = str.length;

var idx = -1;

this._words = ;

while (++idx < texLen) {

var character = str.charAt(idx);

var code = str.charCodeAt(idx);

if (code >= 0xD800 && code <= 0xDBFF) {

this._words.push(character + str.charAt(++idx));

} else {

this._words.push(character);

}

}

}

__proto.getChar=function(i){

return this._words;

}

__proto.getCharCode=function(i){

return this._words[i].codePointAt(0);

}

__proto.length=function(){

return this._words.length;

}

return CharSegment;

})()[/i]

[i]把上面的类改一下就可以支持了,如果要htmlelement也支持,改一下:[/i]

__proto._getWords=function(){

if (!Text.CharacterCache)return this._getWords2();

var txt=this._text.text;

if (!txt || txt.length===0)

return null;

var words=this._text.words;

var idx = -1;

var texLen = txt.length;

var w = [];

while (++idx < texLen) {

var character = txt.charAt(idx);

var code = txt.charCodeAt(idx);

if (code >= 0xD800 && code <= 0xDBFF) {

w.push(character + txt.charAt(++idx));

} else {

w.push(character);

}

}

if (words && words.length===w.length)

return words;

words===null && (this._text.words=words=[]);

words.length=w.length;

var size;

var style=this.style;

var fontStr=style.font;

var startX=0;

for(var i=0,l=w.length;i

size=Utils.measureText(w[i],fontStr);

var tHTMLChar=words[i]=new HTMLChar(w[i],size.width,size.height||style.fontSize,style);

if (this.href){

var tSprite=new Sprite();

this.addChild(tSprite);

tHTMLChar.setSprite(tSprite);

}

}

return words;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值