Peter Kirk continued: > >The PUA is intended for the internal use of applications (or groups of > >applications), or for interchange between applications by private > >agreement of all parties involved. ... > > > > This is not quite right. From TUS section 15.7, > http://www.unicode.org/versions/Unicode4.0.0/ch15.pdf: > > > Private-use characters are assigned Unicode code points whose > > interpretation is not specified by this standard and whose use may be > > determined by private agreement among cooperating users. > > > Note the last word. The private agreement is not supposed to be between > all parties, including software developers. It is supposed to be between > *users*.
"Users" is best understood here as Rich has indicated. It means "users of the standard". It does not mean "end-users of any software which is implemented with Unicode as the basis for its character handling". Of course, any two end-users of any particular piece of software may choose to also consider themselves users of the Unicode Standard, and may establish a private agreement about interpretation of particular Unicode PUA code points. I can send you, or Doug, or whomever, a note, with the following content: "The English short vowels are written <U+E6B4, U+E6B5, U+E6B6, U+E6B7> for a, e, i, u, respectively, in Doug's Ewellic writing system." As long as you are party to the private agreement posted at: http://www.evertype.com/standards/csur/ewellic.html you, I, and Doug can all agree on exactly what that means, and further, if we cobbled together the right font and the right rendering tools, could even display it using Doug's own devised letters. That's a long way from assuming that my email software, produced by Sun, running on Solaris, and with some Unicode smarts built in, will itself be a party to that private agreement or ever could be made to *display* Ewellic properly. I depend on that software to send you data which itself depends on the PUA private agreement between consenting parties. I neither depend on it, nor expect it, to also be able to render, collate, or otherwise process Ewellic data in any meaningful way out of the box. > >... Writing a document in Microsoft Word > >using some exotic script that doesn't have plain-vanilla behavior > >violates this because Microsoft Word isn't a party to the private > >agreement. ... > > > > Software developers, or applications, are not supposed to be party to > the agreement between *users*. While applications are of course not > obliged to support the PUA, if they choose to do so there should be no > expectation that they are party to any agreement. And so a group of > users with a private agreement can reasonably assume that software which > supports the PUA in general supports their particular agreement. Your last statement is non sequitur, and wrong besides. A group of users with a private agreement *cannot* reasonably assume that software which supports the PUA in general supports their particular agreement. They have to investigate what the capabilities of that software, to see what it might or might not support in the way of particular behavioral extensions implied by your private agreement. And in most cases, you would either have to add on behavior yourself or pay someone else to do it for you. That is the risk and drawback of expecting to use PUA code points. --Ken