bdo*_*lan 6 c linux unicode open-source glibc
glibc在哪里获得unicode属性的数据库,例如,wcwidth()?我有兴趣纠正一些错误的条目,但我似乎无法在其源代码分发中找到此信息的位置.
如果重要的话,我主要对debian或ubuntu linux下的这个感兴趣.
好吧,我只是在自己摸索,所以我不太确定,但看来您要查找的表位于相对于 glibc 根目录的以下位置:
localedata/locales/i18n
Run Code Online (Sandbox Code Playgroud)
这似乎是 Unicode(版本 5)区域设置。它包含以下内容,我认为您需要进行更改:
% ENCLOSED ALPHANUMERICS/
<U24D0>..<U24E9>;/
Run Code Online (Sandbox Code Playgroud)
如果您想知道,函数 ctype_output (ld-ctype.c) 调用 allocate_arrays,后者又调用 wcwidth_table_init。函数 wcwidth_table_init 由 3level.h 生成(它还生成遵循相同模板的其他表)。这是我用来追踪 localedate/locales 中的文件的链。
就像我说的,我不能 100% 确定这是正确的表,但我想我会分享我发现的内容。