Không thể đặt số 0 sau khi aleph?


144

Tôi và một người bạn đã nói đùa về aleph's. Khi cố gắng gõ א 0 (chuyển 2 ký tự đó), họ tự chuyển đổi! Bất kỳ chuỗi các biểu tượng không dừng lại hiệu ứng này. Tại sao lại thế này ??

Hãy thử gõ chúng với 0 và א đảo ngược (c & p cho א):

א 0

א - 0

א \\\ 0

א -. / 0

Các từ tuy nhiên tách chúng ra

Foobar 0

Tôi đang dùng arch linux và chưa thử nghiệm điều này trên bất kỳ HĐH nào khác

EDIT: Số không phải bằng không. Nó hoạt động với số, nhưng không phải chữ cái.


14
Thoạt nhìn tôi nghĩ bạn bị điên. Hóa ra nó chỉ đơn giản là một vật phẩm về cách sử dụng các hướng ngôn ngữ khác nhau. Câu hỏi tuyệt vời!

6
Đối với văn bản tiếng Do Thái, thứ tự này có ý nghĩa. Nếu không, sẽ rất khó chịu khi gõ những thứ như ב-5 דקות(trong 5 phút).
ugoren

7
@jamesqf: Và có một cái, xem bài của IllidanS4.
grawity

28
@jamesqf, các chữ cái tiếng Do Thái tồn tại bằng Unicode để viết tiếng Do Thái. Và tôi dám nói rằng có nhiều người trong chúng ta viết tiếng Do Thái (7 triệu hoặc hơn) so với những người viết về các hồng y đã định.
ugoren

27
@ugoren bởi một số người có 130k nhà toán học , nhưng sự thật, toán học là ngôn ngữ phổ quát, vì vậy thực sự có.
Nick T

Câu trả lời:


111

'א', 'HEBREW LETTER ALEF' (U + 05D0) có lớp BIDI (hai chiều) "Từ phải sang trái [R]", vì tiếng Do Thái thường được viết từ phải sang trái. Mặt khác, các chữ số không có định hướng cụ thể được gán cho chúng, và do đó, toàn bộ khối aleph và zero được hiểu là từ phải sang trái. Trong trường hợp này, ký tự sau có thể không nhất thiết nằm ở bên phải của ký tự trước, vì các quy tắc hai hướng khá phức tạp của Unicode chỉ ra.

Bạn có một số lựa chọn để giải quyết vấn đề này.

  1. Bạn có thể sử dụng '', 'ALEF SYMBOL' (U + 2135) . Đây là một biểu tượng và có thuộc tính từ trái sang phải: ℵ0.

  2. Thay vì chữ số thông thường 0, bạn có thể sử dụng ký tự giống như số 0 với hướng từ trái sang phải, chẳng hạn như '〇', 'IDEOGRAPHIC SỐ ZERO' (U + 3007) .

  3. Cách sạch nhất là sử dụng ký tự 'LEFT-TO-RIGHT Mark' (U + 200E) ( Wikipedia ) sau dấu hiệu: "0". Đây là một ký tự có độ rộng bằng không vô hình được xác định là có hướng từ trái sang phải. Do đó, nó có tác dụng tương tự đối với thuật toán bố cục văn bản hai chiều như chèn, giả sử, một chữ cái Latinh từ trái sang phải sau, ngoại trừ việc không có chữ cái hiển thị nào xuất hiện ở đó.


69
Trong ngữ cảnh toán học (mà tôi mong đợi là như vậy), U + 2135 là ký tự chính xác để sử dụng.
cmbuckley

10
Bạn phải cẩn thận với phần ghi đè - nơi bạn đặt chúng trong văn bản, điều quan trọng là phải xóa chúng (sử dụng ký tự "định dạng hướng pop" U+202C) khi bối cảnh bạn muốn chúng hoạt động hoàn tất.
J ...

4
Ngoài ra, các ký tự "ghi đè" là loại quá mức cần thiết, "nhúng" là đủ cho trường hợp sử dụng này. Ngoài ra còn có một lớp mới gọi là "cô lập", không chắc sự khác biệt trong tình huống này.
Random832

4
Tôi khuyên bạn nên trao đổi 2 và 3.
wizzwizz4

10
@ Random832 Tất cả những thứ đó là quá mức cần thiết. Tất cả những gì bạn thực sự cần là một dấu từ trái sang phải (U + 200E) giữa alef và zero. Bằng cách đó, bạn cũng không cần thêm bất kỳ ký tự "pop" nào.
Ilmari Karonen

198

Aleph ( U + 05D0 ) là một chữ cái tiếng Do Thái và tiếng Do Thái được viết từ phải sang trái, do đó Unicode gán cho nó lớp hai chiều "Phải sang trái". (Xem Unicode TR9: Thuật toán hai chiều để biết thêm chi tiết.)

Chữ cái Latinh dĩ nhiên là "Trái sang phải". Tuy nhiên, số không ( U + 0030 ) thuộc lớp hai chiều "Số châu Âu", là lớp yếu - trong khi LtR theo mặc định, nó có thể chuyển sang RtL nếu có ký tự từ phải sang trái "mạnh" trước nó. (Xem Các loại ký tự hai chiềuGiải quyết các loại yếu trong TR9.)

Kết quả là, các hướng của trướcsau được hoán đổi cho toàn bộ từ - nếu bạn đặt số 0 'trước', nó sẽ hiển thị ở bên phải; nếu bạn viết số 0 'sau' aleph, nó sẽ hiển thị bên trái.


14
Đây là một vấn đề cực kỳ phổ biến ở một số trình soạn thảo văn bản và trang web khi nhập bằng tiếng Do Thái - tôi tưởng tượng nó cũng đúng với các ngôn ngữ từ phải sang trái khác. Nó chắc chắn đã trở nên tốt hơn theo thời gian, nhưng hãy tưởng tượng bạn đang cố gắng viết một vấn đề từ ngữ - chuyển đổi qua lại giữa các từ tiếng Do Thái (như ký tự aleph) và các số (như ký tự 0) liên tục ...
Jake

3
@Walt Hầu hết các sách giáo khoa tôi đã xem là loại "ngâm", sử dụng tiếng Do Thái cực kỳ đơn giản nhưng hoàn toàn là tiếng Do Thái. Việc sử dụng một ngôn ngữ để dạy ngôn ngữ có vẻ phản trực giác, nhưng nó cho phép tích lũy các kỹ năng ngôn ngữ hữu cơ hơn. Bạn có thể thấy một phiên âm hoặc inline dịch (giống như lh4.ggpht.com/-_Vc8TUDwznQ/UlhaLFjnrGI/AAAAAAAAzQk/_zm4BMC0aLw/... - "Shalom Kita Aleph" = "Hello First Grade")
Jake

1
@Jake Ah, điều đó có ý nghĩa. Ngoại ngữ duy nhất tôi thực sự học là tiếng Latin; sách giáo khoa của chúng tôi có xu hướng chủ yếu là tiếng Anh với một đoạn văn bản Latinh để giải mã từng chương, cho đến khi toàn bộ định dạng lớp chuyển từ "học tiếng Latin" sang "dịch toàn bộ bài thơ sử thi này, từng chút một, trong suốt quá trình năm học ".
Tin Man

5
@Walt: Tôi nghĩ có thể có một sự hiểu lầm. Nếu tôi gõ một từ Latin (LTR), sau đó là một từ tiếng Do Thái (RTL), sau đó là một từ Latin khác, tôi có thể tự do có tất cả chúng trong một câu và chỉ từ tiếng Do Thái mới biểu hiện RTL. Tất cả đều được thiết kế để dễ dàng phù hợp trong cùng một câu. Vấn đề là số 0được sử dụng bởi cả hai ngôn ngữ LTR và RTL, và vì vậy phần mềm chỉ làm cho nó cùng hướng với chữ cái trước đó. Nếu nó theo các ký tự LTR, thì đó là LTR. Nếu nó tuân theo các chữ cái RTL, thì đó là RTL. Cũng có ghi đè để trao đổi nó. fileformat.info/info/unicode/char/202d/index.htm
Vịt Mooing

4
Số 0 không trở thành RTL - vẫn là LTR và một chuỗi các chữ số sẽ hiển thị từ trái sang phải ngay cả với tiếng Do Thái xung quanh nó, nhưng các mức độ nhúng tương tác theo cách mà số 0 xuất hiện ở bên trái của Nhân vật Do Thái đi trước nó theo thứ tự bộ nhớ. (Định hướng Unicode rất phức tạp.)
user2357112


14

Hoàn toàn có thể có số 0 ở phía trước như trong ví dụ sau được tạo trong Notepad ++.

Alef với 0

Những gì bạn đang thấy và cũng trở nên rõ ràng nếu bạn cố gắng đánh dấu ký tự trong câu hỏi của mình, đó là tiếng Do Thái được viết từ phải sang trái và (vì 0 được kết nối trực tiếp) văn bản được xử lý ở bên phải sang trái (thay vì bên trái bên phải) cách.

Xem ví dụ thứ hai cho sự cố Firefox (về phía tôi) có lựa chọn rõ ràng.

Firefox chọn văn bản từ phải sang trái


17
Đây là một lời khuyên tồi tệ, bởi vì nó chơi các trò chơi với thứ tự nhân vật thực tế để có được một thứ tự trực quan cụ thể. Các câu trả lời khác giải thích tại sao điều này xảy ra và một số bao gồm cách giải quyết đúng đắn (dấu hiệu ghi đè và hướng rõ ràng).
Dranon

8
Bạn có thể chỉ ra nơi tôi bao gồm một số hình thức tư vấn? Tôi chỉ đưa ra một ví dụ về những gì xảy ra, rằng thực sự có thể có một số hậu tố và cung cấp thông tin về lý do tại sao nó xảy ra như vậy.
Seth

13

Tiếng Do Thái được viết từ phải sang trái - điều này làm cho ký tự aleph mang thông tin, rằng ký tự tiếp theo sẽ được in bên trái của nó.

Nếu bạn kiểm tra tài liệu của bạn (hoặc di chuyển con trỏ qua văn bản của bạn bằng các phím mũi tên trong trình chỉnh sửa phù hợp), bạn sẽ nhận thấy rằng trước tiên bạn phải đến alpeh, sau đó đến chữ số.

Tức là: Giả định "ký tự tiếp theo == ký tự bên phải" không giữ.


3
א 0 0 א 0 - א -0

Vấn đề là nơi bạn làm điều này, và việc thực hiện. Để có được hành vi số tiếng Do Thái, tất cả các ký tự phải theo hướng từ phải sang trái. Trong HTML / CSS đó là:

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

Trong Hệ điều hành, tiếng Do Thái và hai chiều phải được bật.

Cách giải quyết bằng cách đề xuất sử dụng các ký tự khác làm vật thay thế, đánh bại mục đích của Unicode. Chữ aleph như một toán tử toán học có thể trông giống nhau trong một số bộ ký tự, nhưng là một ký tự hoàn toàn khác với chữ aleph tiếng Do Thái, cả về ngữ cảnh và cách nó sẽ được phân tích cú pháp. Ví dụ, một người nói / máy tính gốc tiếng Do Thái sẽ không xử lý chính xác nếu được sử dụng cùng với một từ tiếng Do Thái. Số và ký tự không phải là một vấn đề khi bản thân chúng không được mã hóa giống như các ký tự alpha. Do đó, trớ trêu thay, bản thân các con số trong khi dường như phải độc lập với tập hợp ký tự / hướng, đảm nhận bất kỳ hướng unicode nào của chữ cái trước. Do đó, trong một tài liệu tiếng Do Thái - các con số trở thành 'Hebraicised', nghĩa là giống như tiếng Do Thái. Trong khi một tài liệu tiếng Anh-Latin,


OP đã cố gắng sử dụng aleph làm toán tử số, phải không?
grawity

Vâng, nó không rõ ràng trong bài viết. Trong mọi trường hợp, tính định hướng không nên có liên quan. Aleph được sử dụng trong ký hiệu tập hợp và có một chuỗi ký hiệu vô hạn, vô hạn. Nó nên hướng từ trái sang phải vì tất cả các toán học được chuyển từ trái sang phải bất kể bạn đang sử dụng ngôn ngữ nào. Tuy nhiên, sử dụng aleph như một ký tự trong tiếng Do Thái được đặt theo hướng từ phải sang trái.
Danny F

2

Điều đó là có thể:

א 0

א - 0

א \ 0

א -. / 0

Foobar 0

(Câu trả lời này không trả lời "tại sao lại như vậy", vì nó đã được trả lời bởi những người khác. Nhưng nó trả lời câu hỏi trong tiêu đề, "không thể ...?")


7
Nhưng nó cũng không trả lời CÁCH, và như vậy là gần như vô dụng.
NH.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.