Re: Comparing Raw Values of the Age Property

From: Asmus Freytag via Unicode <>
Date: Mon, 22 May 2017 23:43:42 -0700

On 5/22/2017 3:49 PM, Richard Wordingham via Unicode wrote:
> One of the objectives is to use a current version of the UCD to
> determine, for example, which characters were in Version x.y. One
> needs that for a regular expression such as [:Age=3.0:], which
> also matches all characters that have survived since Version 1.1.
> Another is to record for which versions of the standard a character had
> some particular value of a property.


I would tend to side with those who claim that "version number" is
something that's defined by common industry practice, and therefore not
something that Unicode needs to define - but is allowed to use. Just
like Unicode doesn't define what an integer is, or hexadecimal number
system or a whole host of other concepts that are used in defining in
turn what Unicode is.

As Markus implied, version numbers are a positional number system where
the positions in turn are integers in decimal notation, separated by dots.

As it is neither a "string" nor a single number, neither of those common
sorting methods give the right answer, but a multi-field sort will.

If you have a multi-field sort algorithm that uses commas as the
delimiter, just swap out the dots for commas. If not, then you have to
implement your own multi-level sort.

In any well-designed modern runtime library you can pass a comparison
method to any of the sorting algorithms (or sorted data collections).


PS: somewhere in the standard, Unicode does define names for the fields:
Major, Minor and Update. The use of the term "Update" may not be
universal, but major and minor version numbers are a well established
concept and do not need a definition. The naming also implies the order
of precedence.
Received on Tue May 23 2017 - 01:43:52 CDT

This archive was generated by hypermail 2.2.0 : Tue May 23 2017 - 01:43:52 CDT