首页 文章

Emacs中的阿拉伯字形

提问于
浏览
2

Emacs版本24.3不能在我的系统上正确显示阿拉伯字符的上下文形式(Mac OS X Mavericks;如果您不熟悉上下文形式,请参阅Wikipedia上的this link) . 无论它们出现在单词中的哪个位置,字符都以其未连接的形式显示,使其几乎不可读 . 如果您想尝试复制此问题,Emacs会在我打开"Hello"文件( C-h h )时显示阿拉伯语的行为 .


更新:

我已经尝试了下面答案中列出的一些建议 . 我现在在我的.emacs文件中包含以下内容:

(when window-system (set-fontset-font "fontset-default" '(#x600 . #x6ff) "FONT"))

其中FONT是我在Emacs中评估 (print (font-family-list)) 或在终端中输入 fc-list : family 时列出的阿拉伯字体之一 .

这包括按照建议尝试Deja Vu Sans Mono,以及简化的阿拉伯语和我系统中的一些其他阿拉伯字体 . 我仍然遇到每个问题相同的问题:它以正确的字体显示字符,但它们是未连接的 .

自从我最初发布我的问题以来,我还在google群组论坛上找到this conversation,其中使用Mac OS X的人有类似的问题,但从未能解决它 .

2 回答

  • 1

    尝试将您的字体切换到DejaVu Sans Mono . 我用那个,因为它完全支持阿拉伯语 .

    更新:尝试使用Aquamacs,因为OSX上的碳Emacs可能存在问题 .

  • 1

    您没有提供示例屏幕截图;但是,我认为(当你提到"contextual forms of characters"时),你指的是字母上方/下方/旁边的变音符号 . 为了在希伯来语和阿拉伯语等语言中正确输入/显示使用Unicode组合变音符号(http://en.wikipedia.org/wiki/Diacritic)标记的文本,您需要同时拥有编辑器支持(Emacs现在在版本24中执行)和字体支持 . 可能的情况是,您没有在Emacs中使用正确呈现阿拉伯语变音符号的字体,这就是为什么变音符号不是它们应该连接到的字母的原因,而是出现在旁边字母 .

    我没有写过几篇关于使用Emacs 24和希伯来语的博客文章,这些可能会有所帮助,因为希伯来语和阿拉伯语都是带变音符号的RTL语言(第1部分:http://beresheit.blogspot.ca/2010/07/hebrew-and-bidi-text-in-emacs24.html和第2部分:http://beresheit.blogspot.ca/2010/07/hebrew-and-bidi-text-in-emacs24-part-2.html) .

    我写的另一篇文章描述了变音符号字体渲染的问题,描述了字体设计如何影响变音符号的表示(http://beresheit.blogspot.ca/2012/02/yiddishhebrew-font-display-differences.html) . 在这个特殊情况下,意第绪语和希伯来语都使用相同的字母和变音符号,但对于某些组合具有不同的"renderings" .

    最后,您可能会发现以下elisp代码片段非常有用 . 我用它来自动将字体改为希伯来语友好的字体(Ezra SIL字体:http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ezrasil_home)when我开始输入希伯来字符(在#x590到#x590的Unicode范围内) . 使其适应阿拉伯语Unicode范围的字符和指定一个阿拉伯语友好的字体应该可以解决您的问题:

    (当window-system(set-fontset-font“fontset-default”'(#x590 . #x5ff)“Ezra_SIL”))

    另请注意,您可以使用Emacs命令C-u C-x =(调用describe-char)来显示字体 . 这将告诉您Emacs目前使用的字体(如果不明显) .

相关问题