[lsb@lsb.org: [EAI] (summary) display of RightToLeft chars in
	localparts and hostnames]
    Soobok Lee 
    lsb at lsb.org
       
    Thu Dec  7 12:12:22 CET 2006
    
    
  
On Thu, Dec 07, 2006 at 10:12:31AM +0100, Harald Alvestrand wrote:
> I suppose it's possible to execute the whole bidi algorithm of UAX#9 and 
> re-code the result as some kind of "normalized RTL". Is there a 
> normalization algorithm for bidi in Unicode?
http://www.unicode.org/reports/tr9/BidiReferenceJava/
bidi.getReordering() seems to exist for such purpose, though
I am not sure.
(excerpts from BidiReferenceTest.java.txt)
  /**
     * Run the BidiReference algorithm over the string using the current character to direction code mapping.
     */
    void runSample(String str) {
        try {
            byte[] codes = charmap.getCodes(str);
            BidiReference bidi = new BidiReference(codes, baseDirection);
            int[] reorder = bidi.getReordering(new int[] { codes.length });
            writer.println("base level: " + bidi.getBaseLevel() + (baseDirection != -1 ? " (forced)" : ""));
            // output original text
            for (int i = 0; i < str.length(); ++i) {
                displayChar(str.charAt(i));
            }
            writer.println();
            // output visually ordered text
            for (int i = 0; i < str.length(); ++i) {
                displayChar(str.charAt(reorder[i]));
            }
            writer.println();
        }
        catch (Exception e) {
            writer.println(e);
        }
        writer.println();
    }
    
    
More information about the Idna-update
mailing list