アレフの後にゼロを置くことは不可能ですか?


144

私と友人はアレフについて冗談を言っていました。א0(これら2文字を切り替える)を入力しようとすると、彼らは自分自身を切り替えました!シンボルのシーケンスは、この効果を停止しません。どうしてこれなの!??

0とאを逆にしてこれらを入力してみてください(אのc&p):

א0

א-0

א\\\ 0

א-。/ 0

しかし言葉はそれらを分離する

אfoobar 0

私はArch Linuxを使用していますが、他のOSではまだテストしていません

編集:数値はゼロである必要はありません。数字では機能しますが、文字では機能しません。


14
一見したところ、あなたはおかしいと思った。結局のところ、それは異なる言語の方向がどのように使用されているかの単なる成果物です。いい質問です!

6
ヘブライ語のテキストを書く場合、この順序は理にかなっています。そうしないと、次のようなものを入力するのがב-5 דקות(5分で)最も面倒です。
-ugoren

7
@jamesqf:1つあります。IllidanS4の投稿を参照してください。
-grawity

28
@jamesqf、ヘブライ語を書くためのUnicodeのヘブライ文字が存在します。そして、私は、設定されたカーディナリティについて書く人よりもヘブライ語を書く人(700万人程度)の方が多いと思います。
ウゴレン

27
@ugoren には数百万人の数学者がいますが、実際には数学は普遍的な言語なので、実際にはℵ₀があります。
ニックT

回答:


111

'א'、 'HEBREW LETTER ALEF'(U + 05D0)にはBIDI(双方向)クラス「Right-to-Left [R]」があります。これは、ヘブライ語が伝統的に右から左に書かれているためです。一方、数字には特定の方向性が割り当てられていないため、アレフとゼロのチャンク全体が右から左に解釈されます。この場合、Unicodeのかなり複雑な双方向の規則により、次の文字が必ずしも前の文字の右側にあるとは限りません。

この問題を回避するには、いくつかのオプションがあります。

  1. 'ℵ'、 'ALEF SYMBOL'(U + 2135)を使用できます。これはシンボルであり、左から右へのプロパティがあります:ℵ0。

  2. 通常の数字の代わりに、'〇'、 'IDEOGRAPHIC NUMBER ZERO'(U + 3007)0など、左から右への方向性を持つゼロのような文字を使用できます。

  3. 最もクリーンな方法は、aleph: "א0"の後に'LEFT-TO-RIGHT MARK'(U + 200E)キャラクター(Wikipedia)を使用することです。これは、左から右への方向性を持つように定義された目に見えないゼロ幅の文字です。したがって、双方向テキストレイアウトアルゴリズムでは、אの後に左から右のラテン文字を挿入するのと同じ効果がありますが、目に見える文字は表示されません。


69
数学的な文脈では(これはそうだと思う)、U + 2135が正しい文字です。
cmbuckley

10
オーバーライドには注意する必要があります-テキスト内でそれらを配置する場所ではU+202C、操作対象のコンテクストが完了したときに(「ポップ方向フォーマット」文字を使用して)削除することが重要です。
J ...

4
また、「オーバーライド」文字は一種の行き過ぎです。この使用例では「埋め込み」で十分です。「分離」と呼ばれる新しいクラスもありますが、この状況での違いはわかりません。
Random832

4
2と3を交換することをお勧めします
。– wizzwizz4

10
@ Random832これらはすべて過剰です。本当に必要なのは、alefとゼロの間の左から右へのマーク(U + 200E)だけです。そうすれば、余分な「ポップ」文字も必要ありません。
イルマリカロネン

198

Aleph(U + 05D0)はヘブライ語の文字であり、ヘブライ語は右から左に記述されているため、Unicodeは「右から左」の双方向クラスを割り当てます。(詳細については、Unicode TR9:双方向アルゴリズムを参照してください。)

ラテン文字は、もちろん「左から右」です。ただし、ゼロ(U + 0030)は、「European Number」双方向クラスにあり、これは弱いクラスです。デフォルトでは、LtRの前に「強い」右から左の文字がある場合、RtLに切り替えることができます。(TR9の双方向文字タイプ弱いタイプの解決を参照してください。)

その結果、方向の前後には、単語全体のために交換される-あなたは「前に」ゼロを置けば、それは右に表示されます。ゼロの「後」のアレフを書くと、左側に表示されます。


14
これは、ヘブライ語で入力する際の多くのテキストエディターやWebサイトで非常に一般的な問題です。他の右から左へ書く言語にも当てはまると思います。時間が経つにつれて確かに良くなりますが、単語の問題を書くことを想像してください-ヘブライ語(アレフ文字のような)と数字(0文字のような)を繰り返し切り替えて
ジェイク

3
@Walt私が見たほとんどの教科書は「イマージョン」タイプで、非常に単純なヘブライ語を使用しますが、ほとんど完全にヘブライ語です。言語を使用して言語を教えることは直感に反するように思えるかもしれませんが、言語スキルのより有機的な蓄積を可能にします。音訳または翻訳のインラインが表示される場合があります(lh4.ggpht.com/-_Vc8TUDwznQ/UlhaLFjnrGI/AAAAAAAAzQk/_zm4BMC0aLw/…-「Shalom Kita Aleph」=「Hello First Grade」)
Jake

1
@ジェイクああ、それは理にかなっています。私が本当に受けた唯一の外国語はラテン語でした。私たちの教科書はほとんどが英語で、各章を解読するためのラテン語の単一チャンクを持ち、クラス形式全体が「ラテン語を学ぶ」から「この叙事詩全体を少しずつ翻訳する」に切り替わるまで、学年」。
ティンマン

5
@ウォルト:誤解があるかもしれないと思う。ラテン語(LTR)の単語、次にヘブライ語(RTL)の単語、さらに別のラテン語の単語を入力すると、それらをすべて自由に1つの文に含めることができ、ヘブライ語のみがRTLをレンダリングします。すべて同じ文に簡単に収まるように設計されています。問題は、この番号0がLTR言語とRTL言語の両方で使用されているため、ソフトウェアは前の文字と同じ方向に移動するだけだということです。LTR文字に続く場合は、LTRです。RTLの文字に続く場合は、RTLです。スワップするためのオーバーライドもあります。fileformat.info/info/unicode/char/202d/index.htm
Mooing Duck

4
ゼロはRTLになりません-まだLTRであり、ヘブライ語の周囲にも数字のシーケンスが左から右に表示されますが、埋め込みレベルは、ゼロが左に表示されるように相互作用しますメモリー順で先行するヘブライ文字。(Unicodeの双方向性は複雑です。)
user2357112

20

おそらく、これを達成するためのより良い方法は次のとおりです。

echo -e "\u200F0א"

そして、必須のxkcdリファレンスhttps://xkcd.com/1137/

‮LTR


14

Notepad ++で作成された次の例に示すように、前にゼロを置くことは完全に可能です。

アレフ0

あなたが見ていて、あなたが質問の文字をマークしようとすると明らかになります右へ)マナー。

Firefox(私の側)の明確な選択に関する2番目の問題を参照してください。

Firefoxが右から左へのテキストを選択する


17
特定の視覚的順序を取得するために実際のキャラクターの順序でゲームをプレイするため、これはひどいアドバイスです。他の回答は、これが発生する理由を説明し、いくつかはそれを処理する正しい方法を含みます(オーバーライドと明示的な方向マーク)。
ドラノン

8
何らかのアドバイスをどこに含めているのか教えてください。私は単に何が起こるかの例を示しているだけで、実際に接尾辞の数字を付けることが可能であり、なぜそうなるのかについての情報を提供しています。
セス

13

ヘブライ語は右から左に書かれています-これはアレフのキャラクターに情報を伝えさせ、次のキャラクターがそのに印刷されるようにします。

ドキュメントを16進チェックする(または、適切なエディターで矢印キーを使用してテキスト内でカーソルを移動する)と、最初にアルペに移動し、次に桁に移動することに気付くでしょう。

すなわち、「次の文字==右の文字」という仮定は成り立ちません。


3
א0 0א0-אא-0

問題は、これを行う場所と実装です。ヘブライ語の番号の動作を得るには、すべての文字が右から左の方向である必要があります。HTML / CSSでは:

<p style="direction:rtl"> א0 0א 0-א א-0 </p>

オペレーティングシステムでは、ヘブライ語と双方向性を有効にする必要があります。

代替として他の文字の使用を提案することによる回避策は、ユニコードの目的を無効にします。数学演算子としてのアレフは、一部の文字セットでは同じように見える場合がありますが、コンテキストと解析方法の両方で、ヘブライ語のアレフとはまったく異なるキャラクターです。たとえば、ヘブライ語のネイティブスピーカー/コンピューターをヘブライ語と組み合わせて使用​​すると、正しく処理されません。数字と非アルファ文字には、アルファ文字と同じ方向エンコーディングが与えられていない場合に問題になります。したがって、皮肉なことに、数字自体は文字セット/方向性から独立しているように見えますが、先行する文字のユニコードの方向性を取ります。したがって、ヘブライ語の文書では、数字は「ヘブライ化」、つまりヘブライ語のように方向的になります。英語ラテン語のドキュメントに対して、


OP 数値演算子としてalephを使用しようとしていましたか?
-grawity

まあ、それはポストでまったく明確ではありませんでした。いずれにせよ、方向性は重要ではありません。アレフはセット表記で使用され、無限、無限のシリーズ指定があります。使用している言語に関係なく、すべての数学は左から右に向かっているため、方向は左から右に向かってください。ただし、ヘブライ語でアレフをキャラクターとして使用する場合は、右から左に方向を設定します。
ダニーF

2

それが可能だ:

‭א0

‭א-0

‭א\\ 0

‭א-。/ 0

‭אfoobar 0

(この答えは、他の人がすでに答えているので、「これはなぜですか」とは答えませんでした。しかし、タイトルの質問「...不可能」と答えています。)


7
しかし、それはまた、どのように答えないので、ほとんど役に立たない。
NH。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.