Как программно проверить, какая версия юникода поддерживается GLib - PullRequest
0 голосов
/ 31 марта 2020

Я видел, что поддержка 3-em da sh внутри GLib должна быть довольно новой, поскольку она была введена только в Unicode 6.1.0. Отсюда вытекает более общий вопрос: возможно ли программно определить поддерживаемую версию Unicode, не просматривая GLib changelogs? (РЕДАКТИРОВАТЬ: https://ftp.gnome.org/pub/gnome/sources/glib/2.31/glib-2.31.20.changes дал мне информацию о том, что поддержка версии 6.1.0 была добавлена, например, с 2.31.20.)

Справочное руководство GLib заявляет

Реализации функций Unicode в GLib основаны на таблицах символьных данных Unicode, которые доступны в www.unicode.org. GLib 2.8 поддерживает Unicode 4.0, GLib 2.10 поддерживает Unicode 4.1, GLib 2.12 поддерживает Unicode 5.0, GLib 2.16.3 поддерживает Unicode 5.1, GLib 2.30 поддерживает Unicode 6.0.

, что немного неопределенно для случая, затронутого недавними подрывными действиями. (AFAIK текущая поддерживаемая версия по крайней мере 8.0 сейчас.)

1 Ответ

0 голосов
/ 31 марта 2020

Можно ли программно определить поддерживаемую версию юникода, не просматривая список изменений GLib?

tl; dr: Нет. Как и в случае с проверкой версии в GLib, это все основано на вызове glib_check_version() (или макросе GLIB_CHECK_VERSION(), если вы хотите проверить во время сборки) и сравнении его с версией, которая, как вы знаете, содержит то, что вы хотите. То же самое касается того, хотите ли вы проверить, доступна ли определенная функция или поддерживается ли данная версия Unicode.

В настоящее время единственным способом узнать, какая версия GLib поддерживает данную версию Unicode, является посмотрите на логи изменений, как вы обнаружили.

Я отправил запрос на слияние , чтобы обновить документацию и вывести список версий для поддержки Unicode.

В качестве точки данных GLib 2.64 (последняя стабильная версия) поддерживает Unicode 12.1.

...