Information technology — International string ordering and comparison — Method for comparing character strings and description of the common template tailorable ordering
This International Standard defines the following.
— A reference comparison method. This method is applicable to two character strings to determine
their collating order in a sorted list. The method can be applied to strings containing characters from
the full repertoire of ISO/IEC 10646. This method is also applicable to subsets of that repertoire,
such as those of the different ISO/IEC 8-bit standard character sets, or any other character set,
standardized or not, to produce ordering results valid (after tailoring) for a given set of languages
for each script. This method uses collation tables derived either from the Common Template Table
defined in this International Standard or from one of its tailorings. This method provides a reference
format. The format is described using the Backus-Naur Form (BNF). This format is used to describe
the Common Template Table. The format is used normatively within this International Standard.
— A Common Template Table. A given tailoring of the Common Template Table is used by the reference
comparison method. The Common Template Table describes an order for all characters encoded
in the Unicode 8.0 standard, included in ISO/IEC 10646:2014 and its Amendment 1. It allows for
a specification of a fully deterministic ordering. This table enables the specification of a string
ordering adapted to local ordering rules, without requiring an implementer to have knowledge of
all the different scripts already encoded in the Universal Coded Character Set (UCS).
NOTE 1 This Common Template Table is to be modified to suit the needs of a local environment. The main
worldwide benefit is that, for other scripts, often no modification is required and the order will remain as
consistent as possible and predictable from an international point of view.
NOTE 2 The character repertoire used in this International Standard is equivalent to that of the Unicode
Standard version 6.0.
— A reference name. The reference name refers to this particular version of the Common Template
Table, for use as a reference when tailoring. In particular, this name implies that the table is linked
to a particular stage of development of the ISO/IEC 10646 Universal coded character set.
— Requirements for a declaration of the differences (delta) between the collation table and the Common
This International Standard does not mandate the following.
— A specific comparison method; any equivalent method giving the same results is acceptable.
— A specific format for describing or tailoring tables in a given implementation.
— Specific symbols to be used by implementations, except for the name of the Common Template Table.
— Any specific user interface for choosing options.
— Any specific internal format for intermediate keys used when comparing, nor for the table used. The
use of numeric keys is not mandated either.
— A context-dependent ordering.
— Any particular preparation of character strings prior to comparison.
NOTE It is normally necessary to do preparation of character strings prior to comparison even if it is not
prescribed by this International Standard (see Annex C).
Although no user interface is required to choose options or to specify tailoring of the Common Template
Table, conformance requires always declaring the applicable delta, a declaration of differences with
this table. It is recommended that processes present available tailoring options to users.