稳定字符,例如 `< >`、`{ }` 和 `[ ]`

稳定字符,例如 `< >`、`{ }` 和 `[ ]`

当语言布局更改为从右到左的语言时;在某些标准编辑位置(例如 Google Chrome 的地址栏),只需更改语言布局<,诸如{和之类的字符就会[自动变为 和>}]

有没有办法可以防止这种情况并使这些角色稳定?

答案1

我第一次没有明白你的意思,因为我对此很熟悉。我认为如果你能期待结果的话,那就没问题了。

这种行为是Unicode 双向算法。因此,主要的 BiDi 方向取自段落中的第一个强字符。

  • 因此我认为在这种情况下会发生以下情况:

    1. 第一个带有空文本框的方向取自区域设置/语言配置。正如您所说,阿拉伯语是一种 RTL 语言。因此,光标位于右侧。

      初始空文本框,RTL 方向

    2. 输入<但它显示为>。它是一个中性字符,所以不影响方向。为什么要翻转它?简短回答:Unicode 标准,:) 无论如何接受它。好吧,它的名字是小于号,所以...在 RTL/阿拉伯语中,公式从右侧开始,应该翻转。你怎么看...不是吗?!!!

      具有双向中性字符的文本框

    3. 输入一个拉丁字符g。这是一个强大的大号(左)字符,因此该段落被检测为 LTR。

      具有强左字符的文本框

    4. 退格键删除g。但请注意光标在哪里。

      删除强左字符后带有双向中性字符的文本框

    例如[,它被错误地命名左方括号. 应该是这样的打开方括号(它是 BiDi 中性的,并在 RTL 中翻转)

所有开发人员都试图遵循标准。因此他们绝不会强制文本框为 RTL 或 LTR,对于大多数用户来说,自动是最好的。

  • 因此对您来说,我能提供的最好的东西就是使用 Unicode BiDi 控制字符。

    U+200F right-to-left mark (RLM)
    
    1. 在空的地址栏中,出现Ctrl+ Shift+ u,小下划线,然后输入u200fEnter

      GTK/Gnome Unicode 输入

    2. 看起来<并没有像 LTR 那样翻转。

      GTK/Gnome 强制 RTL 方向

    Ctrl+ Shift+u是 GTK/Gnome 特有的。KDE 缺少这样的选项,而且似乎没有修复,因为这个错误报告提到了 KDE/Qt/Xorg 之间的冲突需要在 Kubuntu 中插入任意 Unicode 字符的方法

  • 由于这只是几个字符的问题,您可以重新映射不需要的键或映射未使用的键。例如,我正在使用美国英语(国际 AltGr 死键)

    1. 打开其xkb布局文件进行编辑:

      sudo nano /usr/share/X11/xkb/symbols/us
      
    2. 查找同名的组定义:

      xkb_symbols "altgr-intl" {
      
          name[Group1]= "English (international AltGr dead keys)";
      
    3. r让我们看一下(容易记住的)示例:+ → AltGrRLM rShift++ → LRM。而不是& 。替换:AltGrrëË

      key <AD04> { [        r, R,           ediaeresis,   Ediaeresis      ] };
      

      和:

      key <AD04> { [        r, R,           U200F,        U200E           ] };
      
    4. 更新 xkb

      sudo dpkg-reconfigure xkb-data
      
    5. 切换到另一个布局然后返回,它将立即激活。

    笔记:

    • 如果您希望能够在两种布局中使用它,请使用相同的方法将它们添加到阿拉伯布局中。

    • U+061C ؜ ‭arabic letter mark (ALM)如果您是阿拉伯语用户,则可以使用RLM。

    • xkb支持其他Unicode代码输入格式,0x100200fU200F(即0x100作为前缀)

    • 为了避免更新覆盖已修改的键映射xkb-data,最好创建一个新的自定义 XKB 映射。请参阅如何添加新的键盘布局(自定义键盘布局定义)或者在 ubuntu 上创建新的键盘布局需要哪些步骤?

    • 可以添加所有其他 Unicode 控制字符。某些应用程序在多行输入文本框的弹出菜单中已经有选项。示例 Poedit:

      poedit,双向控制字符菜单

很高兴阅读以进一步了解:

参考:

相关内容