Quoting Chris Jacobs <[EMAIL PROTECTED]>: > "The interpretation of private use characters (Co) as graphic characters or > not is determined by private agreement." > "The interpretation of private use characters (Co) as base characters or not > is determined by private agreement." > "The interpretation of Private Use characters (Co) as combining characters or > not is determined by private agreement. " > > Is this just another way of saying that this is left undefined, or does it > imply that a conformant application should be able to detect if private > agreements exist?
In my reading a bit of both. These properties for these characters are undefined by Unicode. As I see it the following behaviours would all be conformant: 1. Your application uses these characters in accordance to a private agreement between other users of the protocol the application was built to support. 2. Your application works with a protocol which has a rule against the use of private use characters (such a rule would be at a higher level than Unicode) and it throws and error in such cases (this is really a variant on the first possibility - essentially a private agreement that these characters are non- characters and should not occur). 3. Your application has no "knowledge" of any private agreement. It treats private use characters as graphic non-combining characters, rendering them with an indicator of a unrenderable character ("box" shapes and question marks are common glyphs for use here, the Last Resort font offers a glyph which indicates that it is a private use character rather than any other unknown character) and/or passing them to the next processing step unchanged. 4. Your application behaves as in the item above, but offers a mechanism to override this behaviour (particularly useful if it were a library rather than an application per se). It is not conformant to "fix" these characters by replacing them with other characters, though obviously a application like item 1 or 2 can do whatever operation it is meant to do with them. -- Jon Hanna <http://www.hackcraft.net/> *Thought provoking quote goes here*