首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zsh: indic字体支持呈现问题,它在bash上运行得很好。

zsh: indic字体支持呈现问题,它在bash上运行得很好。
EN

Unix & Linux用户
提问于 2020-07-14 13:50:02
回答 1查看 378关注 0票数 6

我在bash中使用gnome终端3.36版本,我可以在没有问题的情况下输入

代码语言:javascript
复制
$ अखिल् 

zsh中,它没有正确显示

代码语言:javascript
复制
$ अखिल<094d>

这是indic字体的zsh行为,它们在bash中工作得很好。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-07-14 16:12:53

如果您运行info zsh 'special characters' (假设您已安装了info格式的zsh文档),您将看到:

不可打印的多字节字符本项适用于不属于ASCII范围的控制字符,加上其他字符如下。如果MULTIBYTE选项有效,则当选项COMBINING_CHARS打开时,报告为零宽度的ASCII字符集中的多字节字符将被视为组合字符。如果选项关闭,或者在组合字符无效的地方出现字符,则该字符被视为不可打印的字符。不可打印的多字节字符显示为尖括号之间的十六进制数。数字是宽字符集中字符的代码点;这可能是Unicode,也可能不是Unicode,这取决于操作系统。

代码语言:javascript
复制
$ unicode 所以U+094D字符在这个类别中。跑set -o combiningchars如果你想让zle处理组合字符。例如,U+0301结合了Stéphane中的尖锐重音,zle在没有该选项的情况下将其呈现为Ste<0301>phane (我个人的偏好,因为我想知道,实际上有两个字符组成了é,而不是通常的U+00E9预组合é)。\u94d'
U+094D DEVANAGARI SIGN VIRAMA
UTF-8: e0 a5 8d UTF-16BE: 094d Decimal: ् Octal: \04515

Category: Mn (Mark, Non-Spacing); East Asian width: N (neutral)
Unicode block: 0900..097F; Devanagari
Bidi: NSM (Non-Spacing Mark)

Combining: 9 (Viramas)

所以U+094D字符在这个类别中。

A6

如果你想让zle处理组合字符。

例如,U+0301结合了D7中的尖锐重音,zle在没有该选项的情况下将其呈现为D8 (我个人的偏好,因为我想知道,实际上有两个字符组成了D9,而不是通常的U+00E9预组合D10)。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/598440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档