Hi,
Committing the attached patch for Cam McCormack.
Cheers,
Francis
2006-10-17 Cameron McCormack <[EMAIL PROTECTED]>
PR 29014
* java/awt/font/TextLayout.java
(bidi): New field.
(constructor): Store bidi in field.
(getCharacterLevel): Implemented.
Index: java/awt/font/TextLayout.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/font/TextLayout.java,v
retrieving revision 1.14
diff -u -r1.14 TextLayout.java
--- java/awt/font/TextLayout.java 14 Jul 2006 23:35:16 -0000 1.14
+++ java/awt/font/TextLayout.java 17 Oct 2006 17:47:07 -0000
@@ -88,6 +88,12 @@
private boolean hasWhitespace = false;
/**
+ * The [EMAIL PROTECTED] Bidi} object that is used for reordering and by
+ * [EMAIL PROTECTED] #getCharacterLevel(int)}.
+ */
+ private Bidi bidi;
+
+ /**
* The default caret policy.
*/
public static final TextLayout.CaretPolicy DEFAULT_CARET_POLICY = new CaretPolicy();
@@ -107,7 +113,7 @@
if( Bidi.requiresBidi( string.toCharArray(), 0, string.length() ) )
{
- Bidi bidi = new Bidi( string, leftToRight ?
+ bidi = new Bidi( string, leftToRight ?
Bidi.DIRECTION_LEFT_TO_RIGHT :
Bidi.DIRECTION_RIGHT_TO_LEFT );
int rc = bidi.getRunCount();
@@ -434,9 +440,10 @@
}
public byte getCharacterLevel (int index)
- throws NotImplementedException
{
- throw new Error ("not implemented");
+ if( bidi == null )
+ return (byte)( leftToRight ? 0 : 1 );
+ return (byte)bidi.getLevelAt( index );
}
public float getDescent ()