Tại sao một số nhân vật nhất định vẽ sai lầm khủng khiếp, khủng khiếp trong Windows?


16

Nhân vật kỳ lạ:

กิิิิิิิิิิิิิิิิิิิิ ก้้้้้้้้้้้้้้้้้้้้ ก้้้้้้้้้้้้้้้้้้้้ ก็็็็็็็็็็็็็็็็็็็็ กิิิิิิิิิิิิิิิิิิิิ ก้้้้้้้้้้้้้้้้้้้้ ก็็็็็็็็็็็็็็็็็็็็ กิิิิิิิิิิิิิิิิิิิิ

Câu hỏi: Tại sao các ký tự này vẽ quá kỳ lạ khi bạn nhìn vào chúng trong Windows *?

Đây là một đoạn trích từ Outlook dành cho bạn những kẻ khốn may mắn không bị buộc phải sử dụng Windows:

Đồ đạc

Liên quan: Mã hóa ký tự được sử dụng là gì?

* Windows như trong HĐH. Các ứng dụng vẽ văn bản bằng GTK + và các lượt thích không hiển thị những thứ giống như trong chuyến đi LSD bị lỗi .


Bạn đang nói rằng trên máy Windows của bạn, các ký tự mà bạn đã nhập trong câu hỏi trông giống như các ký tự trong ảnh? Bởi vì các ký tự được gõ trông ổn trên máy Windows của tôi.
DSolimano

1
Câu hỏi của bạn chứa một yêu cầu không có căn cứ - rằng Windows khiến họ "sai". Nó sẽ giúp ích nếu bạn nói rằng bạn nghĩ chúng nên được vẽ như thế nào và cụ thể điều gì là sai với cách Windows vẽ chúng.
David Schwartz

2
Tôi tò mò muốn xem các hệ điều hành khác xử lý việc này như thế nào, tôi chỉ xem Windows làm như thế nào và với tôi điều đó có vẻ "đúng".
Mokubai


Câu trả lời:


10

Vì dường như tôi đã có một chút phấn khích khi nghĩ rằng Windows đang "làm đúng", tôi cảm thấy mình nên đăng một câu trả lời để biện minh cho vị trí của mình.

Thực tế của vấn đề là văn bản bạn có đang nói với hệ điều hành để hiển thị số lượng ký tự kết hợp điên rồ. Vấn đề mà một hệ điều hành thực sự ám chỉ chúng trong khi một hệ điều hành khác thì không phải do một số vấn đề. Một trong những vấn đề này là các lập trình viên kỹ lưỡng đến mức nào khi họ viết mã để kết xuất chúng, một vấn đề khác là do các lập trình viên quá lười biếng để thực hiện chúng đúng cách, nếu có.

Về cơ bản, người ta nghĩ rằng ngôn ngữ viết là những thứ trôi chảy và nhiều ký tự trong một số ngôn ngữ nhất định có nhiều dấu phụ khác nhau được áp dụng để sửa đổi cách phát âm của các ký tự. Làm thế nào để chúng tôi xử lý tất cả các dấu phụ này, chúng tôi cung cấp cho mỗi chữ cái một ký tự một ký tự mới (điều này sẽ dẫn đến một loạt các ký tự mới và gần như giống hệt nhau) hoặc chúng tôi tạo ra một bộ ký tự đặc biệt cho dấu phụ và giảm bảng chữ cái tổng thể?

Unicode cung cấp cho chúng ta phạm vi để thực hiện cả hai, nhưng khi làm như vậy, các lập trình viên phải đưa ra các dấu phụ này phải đối phó với thực tế là có một số ký tự thực sự có nhiều dấu phụ, một ở trên và một bên dưới, và sau đó lập trình viên có để đặt câu hỏi khi nào họ dừng lại. Họ có thể giới hạn ở mức hai và làm hài lòng hầu hết mọi người nhưng bỏ qua những người muốn hoặc cần ba dấu phụ để viết chính thức bằng ngôn ngữ của họ.

Microsoft, dù đúng hay sai, đã quyết định để người dùng quyết định số lượng điểm mà một người muốn sử dụng. Con đường này cần một lập trình viên khá giỏi và một số hợp lý hóa khó khăn để đi theo. Tôi hoàn toàn ủng hộ họ trong cả việc cho phép điều này thực tế là họ làm điều đó tốt .

Nếu những nhân vật đó bị mất mặt khác, tôi sẽ muốn biết tại sao họ lại mất tích. Đó có phải là xquyết định "chúng tôi thả cái này xuống sàn sau khi diacritics" hay là do các lập trình viên quá lười biếng để làm điều đó đúng cách và có khả năng khiến tôi bị tràn bộ đệm với mã ẩn trong dấu phụ được truyền ra để được thực thi bởi hệ thống?

Vấn đề đơn giản ở đây là bằng cách thực sự hiển thị các ký tự đó, tôi có thể thấy rằng hệ thống đang thực hiện chính xác những gì nó được bảo phải làm, thay vì làm những gì nó cho là đúng hoặc tệ hơn là làm điều gì đó có hại .


11
Hoặc: Tại sao Windows vẽ các ký tự sai lầm khủng khiếp, khủng khiếp đến vậy?
nhạc chuông

Bao trùm lên văn bản của người khác đáp ứng tiêu chí "có thể gây hại" trong cuốn sách của tôi. (Có lẽ thông điệp được che đậy là rất quan trọng.) Ngẫu nhiên, giải pháp ưa thích của tôi sẽ là một số hình thức cắt chứ không phải là một giới hạn về số lượng dấu phụ. (Nếu có những ngôn ngữ thực sự sử dụng các ký tự trùng với các ký tự trên các dòng liền kề, tôi không quan tâm để biết về nó!)
Harry Johnston

Hơn nữa: vì MS không có khả năng thay đổi hành vi này sớm bất cứ lúc nào, Facebook và các trang web khác chấp nhận dữ liệu người dùng có thể sẽ cố gắng tự vệ sinh bộ ký tự để ngăn những kẻ chơi khăm lạm dụng "tính năng" này. Thật không may, quá trình vệ sinh cũng có thể có tác dụng phụ không mong muốn. Nếu Windows cắt bớt đầu ra thì điều này sẽ không cần thiết.
Harry Johnston

4

Tại sao các ký tự này vẽ rất kỳ quặc khi bạn nhìn vào chúng trong Windows *?

Bởi vì Windows cố gắng hiển thị số lượng lớn các ký tự kết hợp Unicode khi văn bản của bạn chứa chúng, mặc dù không có tập lệnh thực tế nào có thể kết hợp nhiều dấu đó lại với nhau.


Có lẽ điều đó có nghĩa là Windows đang "làm đúng" theo những gì thực sự được yêu cầu thay vì áp đặt các giới hạn đối với số lượng ký tự kết hợp có thể được sử dụng.
Mokubai

Xem thêm superuser.com/questions/389333/ dường như chỉ ra rằng các thủ thuật như vậy đã trở nên phổ biến trong Facebook.
Jukka K. Korpela

@Mokubai: điều này là, đây là dữ liệu không đáng tin cậy - dữ liệu đến từ internet. Windows không nhất thiết phải làm những gì dữ liệu không đáng tin cậy yêu cầu nếu nó có thể không phải là lợi ích tốt nhất của người dùng.
Harry Johnston

1
@HarryJohnston Tôi sẽ lo lắng hơn nếu nó không hiển thị tất cả các dấu phụ, xin vui lòng xem câu trả lời của tôi.
Mokubai
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.