I've seen that the support of the 3-em dash inside GLib must be rather recent, since it was only introduced in Unicode 6.1.0. A more general question originating from this: Is it possible to programmatically determine the supported unicode version, without sifting through GLib changelogs? (EDIT: https://ftp.gnome.org/pub/gnome/sources/glib/2.31/glib-2.31.20.changes gave me the information that support for version 6.1.0 was added with 2.31.20, for example.)
The GLib reference manual states
The implementations of the Unicode functions in GLib are based on the Unicode Character Data tables, which are available from www.unicode.org. GLib 2.8 supports Unicode 4.0, GLib 2.10 supports Unicode 4.1, GLib 2.12 supports Unicode 5.0, GLib 2.16.3 supports Unicode 5.1, GLib 2.30 supports Unicode 6.0.
which is a bit vague for a case affected by recent subversions. (AFAIK the current supported version is at least 8.0 now anyway.)
Is it possible to programmatically determine the supported unicode version, without sifting through GLib changelogs?
tl;dr: No. As with the rest of the version checking in GLib, it’s all based on calling glib_check_version()
(or the GLIB_CHECK_VERSION()
macro if you want to check at build time) and comparing that against a version which you know contains what you want. It’s the same for whether you want to check if a certain function is available or whether a given version of Unicode is supported.
Currently, the only way to know which version of GLib supports a given version of Unicode is to look at the changelogs, as you’ve found.
I’ve submitted a merge request to update the documentation to list the version history for supporting Unicode though.
As a data point, GLib 2.64 (the latest stable version) supports Unicode 12.1.