言語レイアウトが右から左の言語に変更されたとき。標準の編集場所(Google Chromeのアドレスバーなど)では、_<
_、_{
_、_[
_などの文字は自動的に_>
_、_}
_、_]
_言語レイアウトを変更するだけです。
これを防ぎ、これらのキャラクターを安定させる方法はありますか?
私はあなたが初めて知ったことを理解していませんでした。結果が期待できれば、大丈夫だと思います。
その動作は nicode 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文字を挿入する方法が必要 。
ほんの数文字の問題であるため、不要なキーを再マッピングしたり、使用していないキーをマッピングしたりできます。たとえば、私はUS English(国際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
_
別のレイアウトに切り替えてから戻ると、すぐにアクティブになります。
注:
両方のレイアウトから使用できるようにする場合は、同じ方法を使用してアラビア語レイアウトに追加します。
アラビア語のユーザーであるため、RLMの代わりにU+061C arabic letter mark (ALM)
を使用できます。
xkb
は、他のUnicodeコード入力形式、_0x100200f
_ eqをサポートします。 _U200F
_(プレフィックスとして_0x100
_)
変更されたキーマップが_xkb-data
_更新によって上書きされないようにするには、新しいカスタムXKBマップを作成するのが最善です。 新しいキーボードレイアウトを追加する方法(カスタムキーボードレイアウト定義) または buntuで新しいキーボードレイアウトを作成するために必要な手順は?
他のすべてのUnicode制御文字を追加することは可能です。一部のアプリケーションには、複数行入力テキストボックスのポップアップメニューにすでにオプションがあります。 Poeditの例:
さらに理解するために読むべき:
参照:
キーボードで使用できないUnicodeを入力する方法については、 ハンガリー語のレイアウトで「ć」を入力できない を参照してください。
0x100
_ prefix)