dari dari dari

アフガニスタン、ダリー語について

やや解決編:左から右へ入力する日本語環境(LTR)で、右から左にダリー語を入力する場合に困っていること

flowers_blue

PublicDomainPicturesによるPixabayからの画像


こんにちは。

1週間前の記事で、左から右へ入力する日本語環境(LTR:Left to Right)で右から左にダリー語を入力する(RTL:Right to Left)場合に困っていることを書きました。

www.daridaridari.com

その後、itsuwalove777さんからコメントをいただき、入力方向の設定を「右から左」にすれば、問題が解決しそうだということに気付きました。
(自分一人で考えているだけでは分からなかったので、コメントいただき助かりました。ありがとうございます。)


今日時間が取れたので、書字方向の設定方法について検索してみました。


以下のサイトでは、RTLの言語でサイトを作る場合のヒントとコツが書かれています。

項目7)ではRTLとLTRのテキストが混在する場合、ピリオドやコンマなどが元々の方向に表示されてしまう問題(まさに私が抱えていた問題)の解決方法が書かれていました。

steelkiwi.com

上記サイトで紹介されていた3つの方法のうちのひとつ、<bdi>要素を使う方法はhtml言語初心者の私でもうまくいったのでご紹介します。

※bdiとはBi-Directional Isolation(書字方向分離要素)の略。

<bdi>タグで挟むことによって、ピリオドや数字が日本語の書字方向(LTR)ではなく、ダリー語の書字(RTL)に流れるように、周囲から独立させることができると理解しました。

 

 <bdi>の使い方については、以下のサイトを参照しました。
(このサイトは、html初心者の私にとっても非常に分かりやすかったです。)

developer.mozilla.org

 

この<bdi>で、前回困っていた問題がやや解決できました。

※このbidはChrome16とFirefox10には対応しているそうなのですが、未対応のブラウザも多いようです。Internet Explorerでは未対応でした。

 

1.その文の後に別の文章が続かない場合、ピリオドが文頭に来てしまう。

(例)
لقمه را باید از پیش روی خود بگیریم.

 

(修正後)
لقمه را باید از پیش روی خود بگیریم.

<bdi><span style="font-size: 150%;">لقمه را باید از پیش روی خود بگیریم.</span></bdi>

2.文頭に数字を入れる場合、数字が文末に来てしまう。

(例)
۴- لقمه را باید از پیش روی خود بگیریم

 

(修正後)

۴- لقمه را باید از پیش روی خود بگیریم

<bdi><span style="font-size: 150%;">۴- لقمه را باید از پیش روی خود بگیریم</span></bdi>

 

上記にも書きましたが、Chrome16とFirefox10以外のブラウザでは表示に変化がないと思います。(すみません。)

上記サイトの項目7で紹介されていた他の方法も試したのですが、なぜかうまくいかなかったので、また考えてみたいと思います。
(あるいは、他のブラウザでもbdi対応が進むように願います・・・)