Emacs中的阿拉伯字形

时间:2014-05-29 01:18:23

标签: emacs arabic right-to-left emacs24 bidi

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"))

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

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

由于我最初发布了自己的问题,我还在google群组论坛上找到了this conversation,其中使用Mac OS X的人遇到了类似问题,但却无法解决问题。

2 个答案:

答案 0 :(得分:1)

您没有提供示例屏幕截图;但是,我假设(当你提到"字符的上下文形式")时,你指的是字母上方/下方/旁边的变音符号。为了在希伯来语和阿拉伯语等语言中正确输入/显示使用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部分:{{ 3}})。

我写的另一篇文章描述了变音符号字体渲染的问题,描述了字体设计如何影响"纠正"变音符号的表示(http://beresheit.blogspot.ca/2010/07/hebrew-and-bidi-text-in-emacs24-part-2.html)。在这个特殊情况下,意大利语和希伯来语都使用相同的字母和变音符号,但有不同的"效果图"对于某些组合。

最后,您可能会发现以下elisp代码片段非常有用。我用它来自动将字体更改为希伯来语友好字体(Ezra SIL字体:http://beresheit.blogspot.ca/2012/02/yiddishhebrew-font-display-differences.html我开始输入希伯来字符(在#x590到#x5ff的Unicode范围内)。将其改编为阿拉伯语Unicode字符范围和指定阿拉伯语友好字体应该可以解决您的问题:

(当窗口系统   (set-fontset-font" fontset-default"                     '(#x590。#x5ff)                     " Ezra_SIL&#34))

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

答案 1 :(得分:1)

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

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