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 ()