项目:GitHub
文件:EastAsianWidth.java
@Override
public void measure(char[] chararray,int start,int end,byte[] wideAttribute,Paint paint,int charWidth) {
paint.getTextWidths(chararray,start,end,mWidths);
final int N = end - start;
for (int i = 0; i < N; i++)
wideAttribute[i] = (byte) (((int) mWidths[i] != charWidth) ?
AndroidCharacter.EAST_ASIAN_WIDTH_WIDE :
AndroidCharacter.EAST_ASIAN_WIDTH_NARROW);
}
项目:connectbot
文件:EastAsianWidth.java
项目:JotaTextEditor
文件:TextUtils.java
public void getChars(int start,char[] dest,int destoff) {
TextUtils.getChars(mSource,start + mStart,end + mStart,dest,destoff);
AndroidCharacter.mirror(dest,end - start);
int len = end - start;
int n = (end - start) / 2;
for (int i = 0; i < n; i++) {
char tmp = dest[destoff + i];
dest[destoff + i] = dest[destoff + len - i - 1];
dest[destoff + len - i - 1] = tmp;
}
}
项目:bVnc
文件:EastAsianWidth.java
项目:GitHub
文件:vt320.java
/**
* Put string at current cursor position. Moves cursor
* according to the String. Does NOT wrap.
* @param s character array
* @param start place to start in array
* @param len number of characters to process
*/
public void putString(char[] s,byte[] fullwidths,int len) {
if (len > 0) {
//markLine(R,1);
int lastChar = -1;
char c;
boolean isWide = false;
for (int i = 0; i < len; i++) {
c = s[start + i];
// Shortcut for my favorite ASCII
if (c <= 0x7F) {
if (lastChar != -1)
putChar((char) lastChar,isWide,false);
lastChar = c;
isWide = false;
} else if (!Character.isLowSurrogate(c) && !Character.isHighSurrogate(c)) {
if (Character.getType(c) == Character.NON_SPACING_MARK) {
if (lastChar != -1) {
char nc = Precomposer.precompose((char) lastChar,c);
putChar(nc,false);
lastChar = -1;
}
} else {
if (lastChar != -1)
putChar((char) lastChar,false);
lastChar = c;
if (fullwidths != null) {
final byte width = fullwidths[i];
isWide = (width == AndroidCharacter.EAST_ASIAN_WIDTH_WIDE)
|| (width == AndroidCharacter.EAST_ASIAN_WIDTH_FULL_WIDTH);
}
}
}
}
if (lastChar != -1)
putChar((char) lastChar,false);
setCursorPosition(C,R);
redraw();
}
}
项目:GitHub
文件:EastAsianWidth.java
项目:connectbot
文件:vt320.java
项目:connectbot
文件:EastAsianWidth.java
@Override
public void measure(char[] chararray,wideAttribute);
}
public static int getEastAsianWidth(char c) {
return AndroidCharacter.getEastAsianWidth(c);
}
public static int getEastAsianWidth(char c) {
return AndroidCharacter.getEastAsianWidth(c);
}
项目:JotaTextEditor
文件:TextUtils.java
项目:bVnc
文件:EastAsianWidth.java
@Override
public void measure(char[] chararray,wideAttribute);
}
public static int getEastAsianWidth(char c) {
return AndroidCharacter.getEastAsianWidth(c);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。