問題タブ [bidi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
css - CSSの方向:rtlと上から下?
次の CSS を使用して、テキストを右から左に読み上げています。
これは、ソース コード内のすべてのテキストを反転して表示する実験サイトの一部ですが、ユーザーが読めるようになっています。
テキストの文しかない場合はうまく機能します。ただし、テキストの長さが要素のサイズ (この場合は 300px) よりも長くなると、文の順序は機能しなくなります。例えば:
ソース:
出力:
(画像が載せられないのでこちらにあります: http://img4.hostingpics.net/pics/990715343.jpg )
ご覧のとおり、「This text is read from right to left」という最初の文が下に配置されています。これは、段落の順序が間違っていることを意味します。
通常、テキストを上から下に流し、右から左に読む必要がある別の方法はありますか?
ありがとうございました
emacs - Emacs のアラビア語グリフ
Emacs バージョン 24.3 は、私のシステムではアラビア文字の文脈上の形式を正しく表示しません (Mac OS X Mavericks。文脈上の形式に慣れていない場合は、Wikipedia のこのリンクを参照してください)。文字は、単語のどこに表示されても接続されていない形式で表示され、実質的に読み取り不能になります。Emacs は、「Hello」ファイル ( C-h h) を開いたときに表示されるアラビア語でこの動作を示します (この問題を再現したい場合)。
アップデート:
以下の回答にリストされている提案のいくつかを試しました。現在、.emacs ファイルに以下を含めています。
FONT は(print (font-family-list))、Emacs で評価するかfc-list : family端末に入力するときにリストされるアラビア語フォントの 1 つです。
これには、提案されているように、Deja Vu Sans Mono、簡体字アラビア語、および私のシステムからの他の多くのアラビア語フォントの試行が含まれます。私はまだそれぞれで同じ問題に遭遇しています.文字は正しいフォントで表示されますが、それらは接続されていません.
最初に質問を投稿して以来、Google グループ フォーラムでこの会話を見つけました。Mac OS X を使用している誰かが同様の問題を抱えていましたが、解決できませんでした。
django - django-allauth はテンプレートを動的に変更します (BIDI サポート)
私が取り組んでいるサイトにアラビア語のサポートを追加しようとしているので、現在私のテンプレートは次のようになっています
django-allauth は/templates/accounts何からでもテンプレートをロードしようとします (ビューにハードコードされています) が、必要に応じてコンテキスト変数に基づいて RTL (Right To Left) バージョンをロードしたいので、4 つの解決策を考えましたが、どれもそれらは私にとって十分に良いようです(私はそれらをやらないと言っているのではありません。もしあれば、より良い方法を見つけることができないと言っています)
オーバーライドで条件を設定して、LTR または RTL バージョンをロードします (これには
/templates/accounts、/templates/rtl/accounts.テンプレート名のパラメーターを持つテンプレート タグを作成し、テンプレートを動的にロードします。これはリソースの無駄のように見えます
必要に応じて LTR と RTL を切り替えるため、大量のロジックでメイン テンプレートを混乱させます (テンプレートに大量のロジックが必要になるため、これは適切ではありません)。
allauth をプロジェクトにフォークし、ロジックをビューに追加します。将来メンテナンスが大変になるので、本当にやりたくないです。
標準の django i18n を使用していないため、BIDI 設定を使用できません。
誰にもこれに対するより良いアプローチがありますか?
unicode - CLDR アラビア語ロケールでの奇妙なリスト パターン形式
CLDR-25-data で、アラビア語ロケールのリスト パターン形式の次のエントリを観察しました (ヘブライ語でも同様です)。
LDML 仕様では、"{0}" または "{1}" の形式のプレースホルダーについてのみ言及されていることに注意してください (タイプ "end" および "2" のリスト パターン パーツとは異なります)。以下も参照してください。
http://cldr.unicode.org/development/development-process/design-proposals/list-formatting
また
http://cldr.unicode.org/translation/lists
これは右から左へのスタイルと関係があると思われますが、詳細はどうですか?
アップデート:
これで、文字の実際のシーケンスを確認するための小さな Java プログラムを作成できました。
出力は次のとおりです。
文字列自体の問題ではなく、表示の問題のようですね?! Internet Explorer バージョン 9 と Eclipse 4.3 を使用しています。
javascript - Javascript で Bidi 文字列を連結する
アプリケーションの日付文字列を生成するために JQuery Calendars を使用しています。言語を英語に設定すると、次のような日付文字列が得られます。
金曜日 • 2014 年 10 月 10 日
JQ Calendars は時間を処理しないため、文字列の時間部分を自分でフォーマットします。
[ • 午前 12:00 UTC-04:00]</p>
(わかりやすくするために括弧が含まれています。最終的な文字列の一部にはなりません。) 次に、これら 2 つの文字列を一緒に追加すると、次のようになります。
金曜日 • 2014 年 10 月 10 日 [ • 午前 12:00 UTC-04:00]
これはまさに私が欲しいものです。ただし、言語をヘブライ語に設定して同じことを行うと、結果は次のようになります。
日付 • 2014 年 10 月
[ • 午前 12:00 UTC-04:00]</p>
日付 • 2014 年 10 月 10 日 [ • 午前 12:00 UTC-04:00]</p>
RTL ヘブライ語の月と年の間のタイムストリングの奇妙なインターカレーションに注意してください。
両方の文字列の一部を方向コード (U+202A、U+202C など) でラップしようとしましたが、成功しませんでした。日付文字列は既に RTL と LTR が混在しているように見えますが、検索しても方向文字が見つかりません。
これを修正する方法について何か考えはありますか?良くも悪くも、技術的には正しくないかもしれませんが、時間文字列が奇妙な区切りなしで日付文字列に「続く」ことを望みます。Javascript の toLocaleString() 機能は認識していますが、まだ十分にサポートされていないため、少なくともフォールバックとして上記のアプローチを使用したいと考えています。
html - 右から左へのテキスト入力フィールドを正しい方法で処理するには?
私は多言語レイアウトに取り組んでいます。私が心配しているのは:
テキスト入力を正しく処理するには?
私の問題を説明するためにJSFiddleを作成しました。
- を追加する
dir="rtl"と、単語は右から左に表示されますが、各文字ではありません - 右から左の CSS スタイルを追加すると、含まれている数字も反転します
ヘブライ語の入力が正しく表示されるように、数字とテキストを組み合わせるにはどうすればよいですか?