稳定字符,如“,`{}`和“

当语言布局改为从右到左的语言时; 在一些标准编辑位置(例如Google Chrome的地址栏),只需更改语言布局,就可以使用<{[自动变为>}}等字符。

有没有办法防止这种情况并使这些字符稳定?

我第一次没有明白你的意思,因为我对此很熟悉。 如果可以期待结果,我认为没关系。

该行为是Unicode双向算法的标准。 因此,主要的BiDi方向取自该段中的第一个强者角色。

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

    1. 带有空文本框的第一个方向取自语言环境/语言配置。 正如你所说,阿拉伯语是一种RTL语言。 所以光标在右边。

      初始空文本框,RTL方向

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

      带有bidi中性字符的文本框

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

      具有强左字符的文本框

    4. 退格键删除g 。 但请注意光标所在的位置。

      删除强左字符后,带有bidi中性字符的文本框

    现在,示例[ ,它被错误地命名为左方括号 。 它应该是一些像开放方括号 (它是BiDi中性和RTL翻转)

所有开发人员都试图遵循标准。 所以现在他们将强制文本框为RTL或LTR,Auto对大多数用户来说是最好的。

  • 所以对你而言,我能提供的最好的事情是使用Unicode BiDi Control Char。

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

      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 (易记)的例子: AltGr + r →RLM, Shift + AltGr + r →LRM。 而不是ëË 。 更换:

       key  { [ r, R, ediaeresis, Ediaeresis ] }; 

      附:

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

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

    笔记:

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

    • 您可以使用U+061C ؜ ‭arabic letter mark (ALM)代替RLM,因为您是阿拉伯语用户。

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

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

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

      poedit,bidi控制字符菜单

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

  • 维基百科:双向文本
  • 了解Unicode中的双向(BIDI)文本

参考文献:

  • Unicode双向算法
  • 如何输入键盘上没有的任何Unicode,请参阅匈牙利版面上无法键入“ć”

  • Howto:自定义键盘布局定义

  • 维基百科:Unicode输入
  • 重新配置键盘布局 - 13.10,14.04
  • Wikibooks:FOSS本地化/附件B:技术方面 (参考号为0x100前缀)