1

CSS を使用してこのFiddleで行ったように、perl でアラビア文字列のテキスト方向を逆にする必要があります。私は perl の初心者なので、期待どおりの結果を得るにはいくつかのガイダンスが必要です。

Fiddleに示されているのとまったく同じ結果を探しています。このStackOverflow Questionのアドバイスを使用して試しました。

しかし、このコードは実際にはテキスト内の単語の順序を逆にしています。アラビア語のテキストで同じことをすると、意味が変わります。

手伝ってくれてありがとう。

4

1 に答える 1

3

テキストは常に書き込み順に保存する必要があります。テキストの方向は、使用する Unicode 文字のプロパティであり、テキストを読み取るために使用するプログラム (テキスト エディター、Web ブラウザーなど) は、正しく表示するためにUnicode 双方向テキスト アルゴリズムを実装する必要があります。テキストを表示するプログラムを作成している場合(単に生成するのではなく)、Text::Bidi CPAN モジュールが役立つことがわかります。

右から左に記述する言語と左から右に記述する言語の特定の混合では、bi-di アルゴリズムが何か問題を起こす可能性があります。このような場合、出力に Unicode 方向性マークを追加できます。たとえば、アラビア語の段落がたまたま英語の製品名で始まっている場合、段落全体が適切に表示されるように、最初にRTL マークを挿入できます。パールでは:

my $RLM = "\x{200F}"; # Unicode RIGHT-TO-LEFT MARK
say "${RLM}Quux ﻢﻧ ﺎﻠﻣﺎﻠﻛ: \"Centre D\'affaires\"";

</p>

于 2012-10-15T08:49:00.410 に答える