Tại sao Chrome trên Windows 7 không hiển thị các ký tự Unicode nhất định cho tôi?


21

Câu hỏi này của Apple có chứa văn bản

chìa khóa này là gì ⎋

Nó trông giống như thế này với tôi trong Google Chrome:

nhập mô tả hình ảnh ở đây

Tại sao ký tự Unicode đó hoặc các ký tự khác giống như vậy không thể hiển thị trong Google Chrome trên Windows 7?


Nó trông giống như một cái hộp đối với tôi ... Trong mọi trường hợp, bài đăng đôi được tán thành.
soandos

3
@soandos bạn đang nói về bài viết nào khác? Ngoài ra, nó không phải là một hộp. đó là lý do tại sao tôi đặt câu hỏi Ai đó đã hỏi một câu hỏi trên Askdifferent và gõ một ký tự unicode ở đó, nhưng trên bản cài đặt Chrome của tôi, tôi thấy hộp chung.
Michael Pryor

3
Như tôi ... Có vẻ như đó không phải là vấn đề với cài đặt chrome của bạn, nó dành cho tất cả các sắc độ. FF nhận ra nó tốt. Chrome thậm chí không thể nhận ra nó là một trình duyệt Unicode (tôi không nghĩ vậy).
soandos

Thật thú vị, Chromium trên Ubuntu hoạt động tốt.
Kibbee

@soandos Hoạt động tốt với tôi với Google Chrome (12.0.742.112) trên Ubuntu 11.04 (Natty).
Mike Spross

Câu trả lời:


20

Tôi cho rằng đó là một vấn đề thay thế phông chữ.

Các trình duyệt đang gặp phải vấn đề "glyph được chọn không có trong phông chữ được chỉ định". Có hai hướng bạn có thể đi từ đây: bạn có thể kéo glyph tương đương ra khỏi một phông chữ khác (thường sẽ bị hỏng nhưng có thể không rõ tại sao với người dùng) hoặc chỉ hiển thị một trình giữ chỗ không tìm thấy ký tự (mà sẽ luôn luôn bị hỏng, nhưng ít nhất là rõ ràng như vậy).

Tôi tưởng tượng Firefox và Opera nhận ra rằng glyph đang được yêu cầu là một biểu tượng an toàn để lấy từ một phông chữ khác, trong khi các trình duyệt còn lại đang bảo thủ và chỉ hiển thị glyph "Uh ... dunno".


Tôi tin rằng cả Chrome và Safari đều sử dụng Windows GDI để kết xuất văn bản trên Windows. IE9 sử dụng DirectWrite dường như có hành vi tương tự như GDI trong trường hợp này.
Craig Williams

Thú vị: Bạn nhận được kết quả tương tự nếu bạn dán nó vào thanh địa chỉ.
xpda

@xpda bạn nói đúng; ký tự hoạt động trong thanh địa chỉ phần thân trên Firefox và không hoạt động ở bất kỳ vị trí nào trong Chrome. Hấp dẫn.
Jeff Atwood

5
Âm thanh đúng: Cả Chrome và Firefox đều sử dụng Uniscribe để hiển thị văn bản trong trình duyệt và Uniscribe chỉ trả về mã lỗi cho ứng dụng gọi điện khi không thể tìm thấy một ký tự cụ thể trong phông chữ hiện tại. Tùy thuộc vào ứng dụng để quyết định liệu Uniscribe có nên sử dụng dự phòng phông chữ để tìm một sự thay thế hay không, hay liệu nó chỉ nên kết xuất hộp glyph. Chrome là một trong những trình duyệt chỉ nói "Sao cũng được, tôi không quan tâm. Box vẫn ổn."
Mike Spross

11

Hấp dẫn. Đó không chỉ là Chrome - bạn cũng có thể hỏi tại sao bất kỳ trình duyệt nào sau đây không thể hiển thị trên Windows 7:

nhập mô tả hình ảnh ở đây

Từ đầu đến cuối:

  • Firefox (y)
  • IE9 (n)
  • Chrome (n)
  • Opera (y)
  • Safari (n)

Do đó, Firefox và Opera có thể hiển thị ký tự unicode này trong Windows 7, nhưng các trình duyệt khác thì không thể.

chìa khóa này là gì ⎋


Đối với những gì đáng giá, khóa đó là "ESC" trong Mac OS X.
Martin Marconcini

@jjn đó là câu trả lời một phần, thường được cho phép
Jeff Atwood

Lưu ý (Nhận xét đã rút.)
jjnguy

Làm thế nào các trình duyệt giống nhau ngày nay ... :)
balexandre

2
Chrome 13.0.782.107/Linux: ok
Arnaud Le Blanc

6

Câu hỏi đặt ra "Tại sao ký tự Unicode đó, [...] không thể phát được trong Google Chrome trên Windows 7?" là

Ký tự đặc biệt đó chỉ đơn giản là một mã số unicode là một số tùy ý. Có rất nhiều điểm mã unicode không có biểu tượng 'chính thức'. Ngay cả khi chúng có biểu tượng, không nhất thiết là phông chữ của bạn có biểu tượng cho điểm mã đó. Nếu bạn chọn một phông chữ khác, bạn có thể kết thúc bằng một biểu tượng khác.

Tôi đã xem CSS cho trang và nó cho thấy nhân vật này hiển thị trong Arial (cộng với một loạt các phông chữ khác không quan trọng). Windows đi kèm với Arial vì vậy nó phải luôn luôn chọn phông chữ đó trước. Có vẻ như Arial không có biểu tượng cho mật mã unicode đó. Bất cứ khi nào bạn không có glyph cho một mật mã, nó sẽ đặt ở một dạng hộp nào đó cho biết không có glyph (như những người khác đã chỉ ra).

Câu hỏi lớn hơn là, chính xác thì Firefox hoặc các trình duyệt khác đang hoạt động ở đâu trên Windows. Tôi đã xem xét các phông chữ khác được liệt kê trong CSS (tôi nghĩ rằng nó có thể quay trở lại với phông chữ CSS tiếp theo) nhưng chúng cũng không có glyph cho mật mã đó. Một khả năng là Firefox thực sự xuất xưởng với các phông chữ riêng.

Đi sâu vào firefox, tôi đã nhận thấy một số phông chữ cho các ký hiệu toán học ở đây: 'C: \ Program Files (x86) \ Mozilla Firefox \ res \ fonts'. Có lẽ đây là nơi nó đến từ.


3

Tôi biết đây là một câu hỏi cũ, nhưng đối với những người mới sử dụng Google, tôi có một giải pháp hoạt động vào năm 2013. Trước tiên, bạn phải xác nhận rằng bạn đã cài đặt phông chữ trong PC Windows 7 có thể hiển thị đằng trước:

http://www.fileformat.info/info/unicode/char/238b/index.htm

Giả sử rằng ít nhất một phông chữ trong Danh sách phông chữ cục bộ biểu hiện điều này:

http://www.fileformat.info/info/unicode/font/fontlist.htmlm?text=%E2%8E%8B+-+Unicode+Character+%27BROKEN+CIRCLE+WITH+NORTHWEST+ARlaw%27+282 % 29

Nếu không, sau đó cài đặt một vài phông chữ Unicode "bắt tất cả": Code2000Symbola

Khi bạn có một phông chữ sẽ hiển thị biểu tượng, bạn có thể thử trang thử nghiệm trình duyệt:

http://www.fileformat.info/info/unicode/char/238b/browsertest.htmlm

Chrome 28.0.1500.95 (và có lẽ tất cả các bản phát hành gần đây) thực hiện thay thế phông chữ ... chủ yếu.

Vì bất kỳ lý do gì, ngay cả với các phông chữ hiển thị U + 1F3C1 được cài đặt chính xác, Chrome 28.0 sẽ không hiển thị ký tự Unicode này:. Firefox hoạt động rất đẹp. Đi hình.

  • Dave

Thay font chữ trên BMP vẫn còn bị hỏng trong Chrome cho Windows chỉ : code.google.com/p/chromium/issues/detail?id=111382
Fizz

2

Theo Tối thiểu tuyệt đối Mỗi nhà phát triển phần mềm Tuyệt đối, Phải tích cực biết về Unicode và Bộ ký tự (Không có lý do!) Của Joel Spolsky , "Nếu không có điểm tương đương với điểm mã Unicode mà bạn đang cố gắng thể hiện trong mã hóa mà bạn đang thử để thể hiện nó, bạn thường nhận được một dấu hỏi nhỏ :? hoặc, nếu bạn thực sự giỏi, một hộp . "

Tôi đang chạy Chromium 13.0.782.112 trên Archlinux và mã hóa mặc định của tôi là en_US.UTF-8 - trình duyệt hiển thị tốt trên trang được liên kết ban đầu.


2
điều đó tốt, nhưng tôi không nghĩ câu hỏi là về chiếc hộp, nhưng tại sao một số trình duyệt có thể hiển thị ký tự đặc biệt này và những cái khác thì không thể.
Jeff Atwood

@Jeff Atwood, đã đồng ý - nếu có bất cứ điều gì, câu trả lời của tôi cung cấp nhiều bằng chứng hỗ trợ hơn cho vấn đề đánh máy; đọc ở đây . Tôi không thể nói với bạn phông chữ mặc định vì tôi không ở trước máy.
wulfgarpro


0

Firefox 45.0 trên GNU / Linux LFS 7.9 của tôi không hiển thị glyph Unicode được đề cập trong câu hỏi, cũng không hiển thị các glyph khác như Hy Lạp, v.v.

Tuy nhiên sau khi tải xuống Symbolaphông chữ từ đây và sau đó:

~$ unzip Downloads/symbola.zip -d Downloads
~$ mv Downloads/Symbola/Symbola_hint.ttf .fonts
~$ fc-cache

Firefox hiện hiển thị glyph trong câu hỏi và cũng hiển thị các glyph khác.

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.