RE: BIDI IRI Display (was spoofing and IRIs)

> Are you suggesting that IRIs should never appear in plain text,

And that's the crux of the problem :).  Unicode is "plain text" insofar as it has a sequence of code points that describe behaviors.  However if I just spit out some "glyph" for each Unicode code point I encounter, say in a fixed-width DOS-type box, I'll have a mess, even for some Latin sequences.

In order for Unicode to display properly the rendering engine must make some decisions.  U+0308 had to be combined with the A before it to make Ä.  Even if you force NFC, some scripts still require combining characters for correct display.  And that doesn't even begin to touch complex script behavior... or BIDI.

So, even "plain text" has rules for display.  The Unicode Bidi Algorithm are some of those rules, without which "plain text" BIDI would be a mess.  Unfortunately the Bidi algorithm can't perfectly handle all cases, and IRIs are a case where the bidi algorithm behavior isn't perfect.  I'd suggest an addendum to the bidi algorithm to cover the IRI case.  Thus tweaking the presentation engines so that when they see a "plain text" IRI, it gets displayed appropriately.

Consistent "Plain Text" display of an IRI is an unattainable holy grail, especially with more complex scripts.  Proper display of Unicode requires a rendering engine for proper display.

That goes for source code too.  If an editor doesn't render complex scripts in readable (to a speaker at least) ways, then it's pretty pointless to use the Unicode, it'd be better to %encode everything.

So my question is "what is your definition of plain text?"  I'd say anything that isn't using extra presentation markup, but allow the rendering engine to make reasonable sense of the display.

-Shawn

Received on Thursday, 4 March 2010 19:28:48 UTC