summaryrefslogtreecommitdiffstats
path: root/tools/layoutlib/bridge/src/android/graphics
diff options
context:
space:
mode:
authorDavid Kohen <kohen.d@gmail.com>2010-08-06 01:37:18 +0300
committerDavid Kohen <kohen.d@gmail.com>2010-08-06 01:40:27 +0300
commit5681468cf0eed28f8ec53567bcf755cbd70f0604 (patch)
tree442a6aa1d3b70f2c6f3edbd97d9379d3b6c9e0eb /tools/layoutlib/bridge/src/android/graphics
parent99977d30ec46148fba1f3aa7ab3c47f5043c76f4 (diff)
downloadframeworks_base-5681468cf0eed28f8ec53567bcf755cbd70f0604.zip
frameworks_base-5681468cf0eed28f8ec53567bcf755cbd70f0604.tar.gz
frameworks_base-5681468cf0eed28f8ec53567bcf755cbd70f0604.tar.bz2
Even more reshaping integration...
Now the only bug visable is extra spaces in Arabic text... Hopefully I'll debug it tommorow.
Diffstat (limited to 'tools/layoutlib/bridge/src/android/graphics')
-rw-r--r--tools/layoutlib/bridge/src/android/graphics/Canvas.java103
1 files changed, 0 insertions, 103 deletions
diff --git a/tools/layoutlib/bridge/src/android/graphics/Canvas.java b/tools/layoutlib/bridge/src/android/graphics/Canvas.java
index 08092a2..d75ec79 100644
--- a/tools/layoutlib/bridge/src/android/graphics/Canvas.java
+++ b/tools/layoutlib/bridge/src/android/graphics/Canvas.java
@@ -646,109 +646,6 @@ public class Canvas extends _Original_Canvas {
getGraphics2d().scale(sx, sy);
}
- public char[] bidiProcess(char[] text,int start,int src_count) {
- String str;
- String oldstr=new String(text,start,src_count);
- boolean hasbidi=false;
- int strlen=oldstr.length();
- char[] ca=new char[strlen];
-
- oldstr.getChars(0, strlen, ca, 0);
- for (int i=0;i<oldstr.length();i++){
- if (ca[i]>=FIRST_RIGHT_TO_LEFT&&ca[i]<=LAST_RIGHT_TO_LEFT){
- hasbidi=true;
- break;
- }
- }
- if (hasbidi) {
- char[] ca2=new char[strlen];
- int count=0,srcindex=0;
- boolean rtlmode=true;
- for (int i=0;i<strlen;i++){
- srcindex=strlen-1-i;
- if (ca[srcindex]>=FIRST_RIGHT_TO_LEFT&&ca[srcindex]<=LAST_RIGHT_TO_LEFT){
- ca2[i]=ca[srcindex];
- rtlmode=true;
- }
- else {
- srcindex=strlen-1-i;
- if (count==0) {
- if (ca[srcindex]<='\u002f' ||
- (ca[srcindex]>'\u0039' && ca[srcindex]<='\u0040') ||
- (ca[srcindex]>'\u005a' && ca[srcindex]<='\u0060')||
- (ca[srcindex]>'\u007a' && ca[srcindex]<='\u00BF')) {
-
- if (rtlmode){
- switch (ca[srcindex]) {
- case '[':
- ca2[i]=']';
- break;
- case ']':
- ca2[i]='[';
- break;
- case '}':
- ca2[i]='{';
- break;
- case '{':
- ca2[i]='}';
- break;
- case '(':
- ca2[i]=')';
- break;
- case ')':
- ca2[i]='(';
- break;
- case '>':
- ca2[i]='<';
- break;
- case '<':
- ca2[i]='>';
- break;
- default:
- ca2[i]=ca[srcindex];
- break;
- }
- } else ca2[i]=ca[srcindex];
- } else {
-
- while (((srcindex-count)>=0)&&(ca[srcindex-count]<FIRST_RIGHT_TO_LEFT)){
- count++;
- }
- int index=0;
- int punctuation_marks=0;
-
- while ((srcindex-(count)>=0) &&
- (ca[srcindex-(count-1)]<='\u002f' ||
- (ca[srcindex-(count-1)]>'\u0039' && ca[srcindex-(count-1)]<='\u0040') ||
- (ca[srcindex-(count-1)]>'\u005a' && ca[srcindex-(count-1)]<='\u0060')||
- (ca[srcindex-(count-1)]>'\u007a' && ca[srcindex-(count-1)]<='\u00BF'))){
- ca2[i+(count-1)]=ca[srcindex-(count-1)];
- count--;
- punctuation_marks++;
- }
-
- while (count>0){
- ca2[i+index]=ca[srcindex-(count-1)];
- count--;
- index++;
- }
- count=index+punctuation_marks-1;
- }
- }
- else {
- count--;
- }
- rtlmode=false;
- }
- }
- str=new String(ca2);
- } else
- {
- str=new String(oldstr);
- }
- return str.toCharArray();
-
- }
public void drawText(char[] text, int index, int count, float x, float y, Paint paint, boolean bidi) {
// WARNING: the logic in this method is similar to Paint.measureText.