从右到左的语言中光标方向和括号错误

从右到左的语言中光标方向和括号错误

我能够成功地用阿拉伯语写作。

但是括号 ()、<> 和句号等符号存在问题。如果是括号,它们会显示错误的方向;如果是句号,它们会显示错误的位置(显示在行首而不是行尾)

另一个问题是:当您按右箭头时,光标向左移动,而当您按左箭头时,光标向右移动。

抱歉,尽管我对 Ubuntu 程序员充满敬意,但你们怎么就无法解决这个愚蠢的问题!

答案1

  • 关于[]<>{}..等,我认为你指的是稳定字符,例如 <>、{} 和 []

  • 关于光标方向,有两种模式:

    1. 逻辑:光标随着文本存储在内存中而移动。
    2. 视觉:光标随着文本的显示而移动。

    大多数用户希望看到可视化光标移动(就像在 MS Windows 中一样)。但并非所有应用程序都具有此功能或默认使用它。

    使用逻辑光标移动,光标在 LTR 语言中按视觉方式移动,但在 RTL 语言中看起来像是反向移动。您应该认为:向左为向后,向右为向前。

    在实现视觉移动算法之前,逻辑光标移动被 RTL 语言用户视为错误。如今,随着 Unicode 成为通用标准,GTK/Qt/KDE 弥补了应用程序中缺少的选项。因此,使用这些套件开发的大多数应用程序都使用视觉光标移动。

    • Gedit 使用可视光标。

    • 据我所知,LibreOffice(我认为您的目标)默认支持 Logical。要更改它:

      工具 → 选项 → 语言设置 → 复杂文本布局 → 光标控制:移动。

在此处输入图片描述

推荐阅读:

答案2

阿拉伯字母从右向左书写,因此括号、句号显示的方向错误。

相关内容