|How to extend Unicode?
||[Jul. 6th, 2017|09:46 am]
This is not a manual on extending the existing Unicode standard. This is just a suggestion.
Suppose that people want to use new characters not present in the standard and would like to see those characters in the standard in the future. These characters will be called “custom” for certainty. Before adding custom characters to Unicode, we need to check whether these characters are useful. An unnecessary addition is cognitive load on the users of the standard. Checking is an experiment when we implement the custom characters in a program or a web site so people can add the characters to their documents. The code points for the custom characters should be in private use areas. The check is successful if the custom characters become popular.
However, if custom characters become popular, they end up in many documents owned by many people. When the characters are added to the standard, all these documents must be translated. Code points in private use areas will always be for private use.
The General_Category property value Private_Use (Co) is immutable: the set of code points with that value will never change.
So every user must convert the code points for the custom characters in private use areas to the corresponding code points in other areas assigned by the standardization process. The more popular the custom characters are, the more amenable they are for addition, the more trouble they create.
A solution I see is that people use an unassigned interval of code points beginning at a random code point for their custom characters. As the place of the interval is random, it is unlikely that intervals chosen by different groups will intersect. If the custom characters become popular, this interval is added to the standard. Translation is required only in a rare case when intervals intersect.