双方向テキスト
ナビゲーションに移動
検索に移動
双方向テキスト(そうほうこうテキスト、英: bi-directional text)とは、右から左(RTL)と左から右(LTR)の2つの方向性を持つテキストです。
概念
- テキストの方向
- テキスト編集では、テキストの方向を設定することで、テキストナビゲーション、テキスト選択、テキスト挿入の変更など、入力されたテキストとプログラムのやり取りが変更されます。
- テキストアライメント
- テキストアライメントは、テキストの表示方法とスタイルを変更するだけです。
- フェイク Bidi
- RTL 文脈を模倣して、完全に反転した英文を表示する偽ロケールです。これは、RTL 言語を話さない開発者が、RTL の問題に対処するのに役立ちます。例えば
This English sentence contains SDROW CIBARA EMOS and ends with English words.
- プアマンズ bidi モード
- 通常の端末で視覚的な文字列を右から左へ自動入力するモード。
- 論理的なナビゲーション
- 単語を読みながらトラバースされます。
- ビジュアルナビゲーション
- 単語が表示されながらトラバースされます。この GIF は、この 2 つの違いを示しています。
論理的なナビゲーションは、Bidi を完全にサポートするためにプログラムが実装すべき正しいナビゲーションの方法です。にもかかわらず、この 2 つの間のスイッチがあることが望ましいのです。
- Unicode support
- Unicode 制御文字は主に 3 つあります。Wikipedia:RLM、Wikipedia:LRM、Wikipedia:ALM です。
- 双方向アルゴリズム
- テキストを正しい順序で表示するために適用される規則の集合である。
fribidi-gitAUR は Bidi アルゴリズムのオープンソース実装です。{AUR|python-bidi}} は関連する関数のための Python ライブラリです。
サポート
プログラムが Bidi テキストを完全にサポートするためには、以下の機能を持っている必要があります。
- レターレンダリング (RTL)
- 文字の整形や合字を正しく適用することができる。Complete Text Layout を参照。これを略して RTL 対応と呼ぶことが多い。
- テキストアライメントを切り替える(Bidi)
- 例 Firefox
Ctrl+Shift+X
ショートカット。 - 論理的なナビゲーション
- RTL テキストでは、RTL テキストアライメントで、矢印キーは逆ナビゲーションが発生しないようにする必要があります。
Tag | App | Date | RTL | Bidi | Nav | Notes |
---|---|---|---|---|---|---|
browser | chromium | 2022-08-28 | Yes | No | Yes | Chromium は ElectronJS のエンジンです。これを修正することで、Electron Apps も解決するはずです。 |
browser | firefox | 2022-09-01 | Yes | No | No | |
browser | qtwebbrowser | 2022-11-01 | Yes | No | ||
browser | webkit | 2022-11-01 | Yes | No | ||
editor | AbiWord | 2007-12-06 | Yes | |||
editor | emacs | 2019-06-31 | Yes | No | extension を使用 | |
editor | kate | 2016-06-20 | Yes | No | ||
editor | LibreOffice | Yes | Yes | Yes | 完全対応しています。設定から Complex Text Layoutで有効化します。 | |
editor | neovim | 2014-04-17 | No | No | :set arabic を参照 | |
editor | texworks | 2009-03-01 | Yes | No | ||
editor | vim | 2015-08-19 | No | No | :set arabic を参照 | |
other | groff | 2005-12-02 | No | No | – | |
other | Wikipedia:HTML | Yes | Yes | Yes | ||
other | latex | Yes | Yes | – | LuaTeX または XeLaTeX with polyglossia を使用 | |
other | wine | 2002-04-21 | Yes | No | ||
terminal | alacritty | 2017-07-15 | No | |||
terminal | dvtm | 2019-10-12 | No | |||
terminal | gedit | Yes | No | Gedit <= 2.1 の場合、extension で回避可能です。 | ||
terminal | irssi | 2019-10-12 | No | |||
terminal | kitty | 2019-11-01 | No | |||
terminal | konsole | Yes | No | |||
terminal | libvte | Yes | No | Gnome、sakura、xfce4 などの libvte ベースのものを含む | ||
terminal | mltermAUR | Yes | No | |||
terminal | neatvi-gitAUR | 2019-07-04 | No | |||
terminal | pymux | 2019-10-12 | No | |||
terminal | qterminal | Yes | No | |||
terminal | radare2 | 2015-02-03 | No | |||
terminal | tmux | 2019-10-12 | No | 修正されません | ||
terminal | wezterm | 2021-05-11 | No | |||
terminal | xstAUR | 2018-10-26 | No |
トラブルシューティング
まず、UTF-8 エンコーディングが適切に設定されていることを確認してください。あなたの言語に対応したフォントがインストールされていることを確認してください。Arabic、ペルシア文字、ヘブライ文字 のように、あなたの言語に対応したフォントがインストールされていることを確認してください。一部の端末では、アラビア語やヘブライ語のテキストを正しく表示するために (bicon-gitAUR) が必要です。