言語レイアウトを右から左に変更した場合。いくつかの標準的な編集の場所で(例えばGoogle Chromeのアドレスバーの)、文字が好きで<、{かつ[自動的になり>、}そして]ちょうど言語のレイアウトを変更することもできます。
これを防ぎ、これらのキャラクターを安定させる方法はありますか?
言語レイアウトを右から左に変更した場合。いくつかの標準的な編集の場所で(例えばGoogle Chromeのアドレスバーの)、文字が好きで<、{かつ[自動的になり>、}そして]ちょうど言語のレイアウトを変更することもできます。
これを防ぎ、これらのキャラクターを安定させる方法はありますか?
回答:
初めて知ったので、その意味を理解できませんでした。結果が期待できれば大丈夫だと思います。
この動作は、Unicode Bidirectional Algorithmの標準です。したがって、BiDiの主要な方向は、段落の最初の強い文字から取得されます。
だから私はそれがこの場合に起こると思います:
空のテキストボックスを持つ最初の方向は、ロケール/言語構成から取得されます。あなたが言ったようにアラビア語はRTL言語です。右側のカーソル。

入力されました<が、と表示されました>。これはニュートラルチャーなので、方向に影響を与えません。なぜ反転するのですか?短い答え:Unicode標準、:)とにかくそれを受け入れます。さて、その名前は「より小さい」記号なので、RTL /アラビア語では、式は右側から始まり、反転する必要があります。あなたはどう思います...いいえ?!!!

ラテン文字を入力してくださいg。強いL(左)文字であるため、この段落はLTRとして検出されます。

削除するバックスペースg。しかし、カーソルの位置に注意してください。

さて、例では[、それは誤って左角括弧と名付けられました。角かっこで囲む必要があります(BiDiニュートラルでRTLで反転)
すべての開発者は標準に従うことを試みます。したがって、テキストボックスをRTLまたはLTRに強制することはありません。ほとんどのユーザーにとってAutoが最適です。
したがって、あなたに提供できる最善のことは、Unicode BiDi Control Charを使用することです。
U+200F right-to-left mark (RLM)
空のアドレスバーにCtrl+ Shift+ u、小さな下線がu表示されます200f。Enter

参照<はLTRとして反転しませんでした。

Ctrl+ Shift+ uはGTK / Gnome固有です。このバグレポートはKDE / Qt / Xorg間の競合に言及しているため、KDEはそのようなオプションを欠落しており、修正されていないようです。Kubuntuに任意のUnicode文字を挿入する方法が必要です。
ほんの数文字の問題なので、不要なキーを再マッピングしたり、使用されていないキーをマッピングしたりできます。たとえば、私は米国英語(国際AltGrデッドキー)を使用しています
xkb編集のためにレイアウトファイルを開きます。
sudo nano /usr/share/X11/xkb/symbols/us
同じ名前のグループ定義を探します。
xkb_symbols "altgr-intl" {
name[Group1]= "English (international AltGr dead keys)";
r(覚えやすい)の例を見てみましょう:AltGr+ r→RLM、Shift+ AltGr+ r→LRM。ë&の代わりにË。交換:
key <AD04> { [ r, R, ediaeresis, Ediaeresis ] };
と:
key <AD04> { [ r, R, U200F, U200E ] };
xkbを更新
sudo dpkg-reconfigure xkb-data
別のレイアウトに切り替えてから戻ると、すぐにアクティブになります。
ノート:
両方のレイアウトから使用できるようにする場合は、同じ方法を使用してそれらをアラビア語のレイアウトに追加します。
U+061C arabic letter mark (ALM)アラビア語のユーザーなので、RLMの代わりに使用できます。
xkb他のUnicodeコードエントリ形式をサポートしています0x100200f。U200F(つまり0x100、プレフィックスとして)
xkb-data更新によって変更されたキーマップの上書きを回避するには、新しいカスタムXKBマップを作成することをお勧めします。新しいキーボードレイアウトを追加する方法(カスタムキーボードレイアウト定義)またはubuntuで新しいキーボードレイアウトを作成するために必要な手順を参照してください。
他のすべてのUnicode制御文字を追加することが可能です。一部のアプリケーションには、すでに複数行入力テキストボックスのポップアップメニューにオプションがあります。Poeditの例:

さらに理解するためにお読みください:
参照:
キーボードで使用できないUnicodeを入力する方法。ハンガリー語のレイアウトで「on」を入力できないを参照してください。
0x100prefix)0x100200F代わりに何かを使用する必要があるようですが、それがと同じかどうかはわかりませんU200F。