Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4c4d5090 authored by Dudy Kohen's avatar Dudy Kohen Committed by Steve Kondik
Browse files

Improved BiDi text rendering.

parent ed70e2f0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -406,7 +406,7 @@ public class AndroidGraphics2D extends Graphics2D {
            mP.setStrokeWidth(0);

            mC.drawText(str.toCharArray(), 0, str.toCharArray().length, x, y,
                    mP);
                    mP,false);
            mP.setStyle(tmp);
    }

@@ -1276,7 +1276,7 @@ public class AndroidGraphics2D extends Graphics2D {
    
    @Override
    public void drawChars(char[] data, int offset, int length, int x, int y) {
        mC.drawText(data, offset, length, x, y, mP);
        mC.drawText(data, offset, length, x, y, mP,false);
    }
    
    @Override
+1 −1
Original line number Diff line number Diff line
@@ -335,7 +335,7 @@ public abstract class Layout {
                    Assert.assertTrue(dir == DIR_LEFT_TO_RIGHT);
                    Assert.assertNotNull(c);
                }
                c.drawText(buf, start, end, x, lbaseline, paint);
                c.drawText(buf, start, end, x, lbaseline, paint,false);
            } else {
                drawText(c, buf, start, end, dir, directions,
                    x, ltop, lbaseline, lbottom, paint, mWorkPaint,
+3 −3
Original line number Diff line number Diff line
@@ -1042,14 +1042,14 @@ implements CharSequence, GetChars, Spannable, Editable, Appendable,
        checkRange("drawText", start, end);

        if (end <= mGapStart) {
            c.drawText(mText, start, end - start, x, y, p);
            c.drawText(mText, start, end - start, x, y, p,false);
        } else if (start >= mGapStart) {
            c.drawText(mText, start + mGapLength, end - start, x, y, p);
            c.drawText(mText, start + mGapLength, end - start, x, y, p,false);
        } else {
            char[] buf = TextUtils.obtain(end - start);

            getChars(start, end, buf, 0);
            c.drawText(buf, 0, end - start, x, y, p);
            c.drawText(buf, 0, end - start, x, y, p,false);
            TextUtils.recycle(buf);
        }
    }
+4 −4
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ public class Styled
                    }

                    canvas.drawText(tmp, tmpstart, tmpend,
                                    x - ret, y + workPaint.baselineShift, workPaint);
                                    x - ret, y + workPaint.baselineShift, workPaint,false);
                } else {
                    if (needwid) {
                        if (!havewid) {
@@ -117,7 +117,7 @@ public class Styled
                    }

                    canvas.drawText(tmp, tmpstart, tmpend,
                                    x, y + workPaint.baselineShift, workPaint);
                                    x, y + workPaint.baselineShift, workPaint,false);
                }
            } else {
                if (needwid && !havewid) {
@@ -214,13 +214,13 @@ public class Styled

                if (canvas != null)
                    canvas.drawText(tmp, 0, tmpend,
                                    x - ret, y, paint);
                                    x - ret, y, paint,false);
            } else {
                if (needWidth)
                    ret = paint.measureText(text, start, end);

                if (canvas != null)
                    canvas.drawText(text, start, end, x, y, paint);
                    canvas.drawText(text, start, end, x, y, paint,false);
            }

            if (fmi != null) {
+1 −1
Original line number Diff line number Diff line
@@ -2774,7 +2774,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener

        public void drawText(Canvas c, int start, int end,
                             float x, float y, Paint p) {
            c.drawText(mChars, start + mStart, end - start, x, y, p);
            c.drawText(mChars, start + mStart, end - start, x, y, p,false);
        }

        public float measureText(int start, int end, Paint p) {
Loading