【问题标题】:How to programmatically check which version of unicode is supported by GLib如何以编程方式检查 GLib 支持哪个版本的 unicode
【发布时间】:2020-03-31 11:23:40
【问题描述】:

我看到 GLib 中对 3-em 破折号的支持肯定是最近才出现的,因为它只在 Unicode 6.1.0 中引入。一个更普遍的问题源于此:是否可以在不筛选 GLib 更改日志的情况下以编程方式确定支持的 unicode 版本? (编辑:https://ftp.gnome.org/pub/gnome/sources/glib/2.31/glib-2.31.20.changes 给了我信息,例如 2.31.20 添加了对 6.1.0 版的支持。)

GLib 参考手册指出

GLib 中 Unicode 函数的实现基于 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。)

【问题讨论】:

    标签: unicode glib


    【解决方案1】:

    是否可以在不筛选 GLib 变更日志的情况下以编程方式确定支持的 unicode 版本?

    tl;dr: 不。与在 GLib 中检查的其余版本一样,这一切都基于调用 glib_check_version()(或 GLIB_CHECK_VERSION() 宏,如果您想在构建时检查)并将其与版本进行比较你知道的包含你想要的。是否要检查某个功能是否可用或是否支持给定版本的Unicode,都是一样的。

    目前,了解哪个版本的 GLib 支持给定版本的 Unicode 的唯一方法是查看更改日志,正如您所发现的那样。

    我已经提交了merge request 来更新文档以列出支持 Unicode 的版本历史记录。

    作为数据点,GLib 2.64(最新稳定版)支持 Unicode 12.1。

    【讨论】:

    • 在我更新的答案中查看合并请求链接。感谢您指出需要它:)
    猜你喜欢
    • 1970-01-01
    • 2021-11-08
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 2011-07-02
    • 2012-04-23
    • 2018-04-02
    相关资源
    最近更新 更多