Mengapa Chrome pada Windows 7 tidak menampilkan karakter Unicode tertentu kepada saya?

21

Pertanyaan Apple ini berisi teks

apa kunci ini? ⎋

Yang terlihat seperti ini bagi saya di Google Chrome:

masukkan deskripsi gambar di sini

Mengapa karakter Unicode itu, atau yang lain menyukainya, tidak dapat diputar di Google Chrome pada Windows 7?

Michael Pryor
sumber
Itu terlihat seperti sebuah kotak bagi saya ... Bagaimanapun, double postingan disukai.
soandos
3
@soando pos apa lagi yang kamu bicarakan? juga, itu tidak seharusnya menjadi sebuah kotak. itu sebabnya saya mengajukan pertanyaan. Seseorang bertanya pada askdifferent dan mengetik karakter unicode di sana, tetapi pada instalasi Chrome saya, saya melihat kotak generik.
Michael Pryor
3
Seperti yang saya ... Tampaknya bukan masalah dengan pemasangan chrome Anda, itu untuk semua chromes. FF mengenalinya dengan baik. Chrome bahkan tidak bisa mengenalinya sebagai pembangkang Unicode (saya tidak berpikir).
soandos
Menariknya, Chromium di Ubuntu tidak apa-apa.
Kibbee
@soandos Bekerja dengan baik untuk saya dengan Google Chrome (12.0.742.112) di Ubuntu 11.04 (Natty).
Mike Spross

Jawaban:

20

Saya berasumsi ini adalah masalah penggantian font.

Browser menghadapi masalah "Mesin terbang yang dipilih tidak dalam font yang ditentukan". Ada dua arah yang bisa Anda tempuh dari sini: Anda bisa menarik mesin terbang yang setara dari font lain (yang akan sering terlihat rusak tetapi mungkin tidak jelas mengapa bagi pengguna) atau hanya menampilkan placeholder yang tidak ditemukan karakter (yang akan selalu terlihat rusak, tapi setidaknya jelas begitu).

Saya membayangkan Firefox dan Opera mengenali bahwa mesin terbang yang diminta adalah simbol yang aman untuk ditarik dari font lain, sedangkan browser yang tersisa bersifat konservatif dan hanya menunjukkan mesin terbang "Uh ... tak tahu".

Charles Miller
sumber
Saya percaya Chrome dan Safari sama-sama menggunakan Windows GDI untuk rendering teks pada Windows. IE9 menggunakan DirectWrite yang tampaknya memiliki perilaku yang sama dengan GDI dalam kasus ini.
Craig Williams
Menarik: Anda mendapatkan hasil yang sama jika Anda menempelkannya di bilah alamat.
xpda
@ xpda Anda benar; karakter berfungsi di bilah alamat dan isi di Firefox, dan tidak berfungsi di kedua tempat di Chrome. Menarik.
Jeff Atwood
5
Kedengarannya benar: Chrome dan Firefox menggunakan Uniscribe untuk merender teks di dalam browser, dan Uniscribe mengembalikan kode kesalahan ke aplikasi panggilan saat karakter tertentu tidak dapat ditemukan dalam font saat ini. Terserah aplikasi untuk memutuskan apakah Uniscribe kemudian harus menggunakan font fallback untuk menemukan substitusi, atau apakah itu hanya akan membuat kotak mesin terbang. Chrome adalah salah satu browser yang hanya mengatakan "Apa pun, aku tidak peduli. Box baik-baik saja."
Mike Spross
11

Menarik. Ini bukan hanya Chrome - Anda mungkin bertanya mengapa salah satu browser berikut tidak dapat menampilkannya di Windows 7:

masukkan deskripsi gambar di sini

Dari atas ke bawah:

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

Oleh karena itu, Firefox dan Opera dapat menampilkan karakter unicode ini di Windows 7, tetapi browser lain tidak bisa.

apa kunci ini? ⎋

Jeff Atwood
sumber
Untuk apa pun yang berharga, kuncinya adalah "ESC" di Mac OS X.
Martin Marconcini
@jjn itu adalah jawaban parsial, yang umumnya diperbolehkan
Jeff Atwood
Dicatat. (Komentar ditarik.)
jjnguy
Betapa miripnya browser hari ini ... :)
balexandre
2
Chrome 13.0.782.107/Linux: ok
Arnaud Le Blanc
6

Pertanyaan yang menanyakan "Mengapa karakter Unicode itu, [...] tidak dapat ditampilkan di Google Chrome pada Windows 7?" adalah

Karakter khusus itu hanyalah unicode codepoint yang merupakan angka arbitrer. Ada banyak codepoint unicode yang tidak memiliki simbol 'resmi'. Bahkan jika mereka memiliki simbol, itu tidak selalu berarti font Anda memiliki simbol untuk codepoint itu. Jika Anda memilih font yang berbeda, Anda mungkin berakhir dengan simbol yang berbeda.

Saya melihat halaman CSS dan menunjukkan karakter ini ditampilkan di Arial (ditambah banyak font lain yang tidak masalah). Windows dilengkapi dengan Arial sehingga harus selalu mengambil font itu terlebih dahulu. Sepertinya Arial tidak memiliki simbol untuk codepoint unicode itu. Kapan saja Anda tidak memiliki mesin terbang untuk sebuah codepoint, itu menempatkan dalam beberapa bentuk kotak yang menunjukkan tidak ada mesin terbang (seperti yang telah ditunjukkan orang lain).

Pertanyaan yang lebih besar adalah, apa sebenarnya yang dilakukan Firefox atau browser lain di mana ia bekerja pada Windows. Saya melihat font lain yang tercantum dalam CSS (saya pikir itu mungkin jatuh kembali pada font CSS berikutnya) tetapi mereka juga tidak memiliki mesin terbang untuk codepoint itu. Satu kemungkinan adalah bahwa Firefox benar-benar dikirimkan dengan fontnya sendiri.

Menggali firefox, saya memperhatikan beberapa font untuk simbol matematika di sini: 'C: \ Program Files (x86) \ Mozilla Firefox \ res \ fonts'. Mungkin dari sinilah asalnya.

Chris Dail
sumber
3

Saya tahu ini adalah pertanyaan lama, tetapi bagi mereka yang baru menggunakan Google ini, saya punya solusi yang berfungsi pada tahun 2013. Pertama, Anda harus mengonfirmasi bahwa Anda memiliki font yang terinstal di PC Windows 7 Anda yang dapat membuat font:

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

Dengan asumsi bahwa setidaknya satu font dalam Daftar Font Lokal membuat ini:

http://www.fileformat.info/info/unicode/font/fontlist.htm?text=%E2%8E%8B+-+Unicode+Character+%27BROKEN+CIRCLE+WITH+NORTHWEST+ARROW%27+%28U%2B238BB % 29

Jika tidak, instal beberapa font "tangkap semua" Unicode: Code2000 dan Symbola

Setelah Anda memiliki font yang akan membuat simbol, Anda dapat mencoba halaman pengujian browser:

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

Chrome 28.0.1500.95 (dan mungkin semua rilis terbaru) melakukan penggantian font ... kebanyakan.

Untuk alasan apa pun, bahkan dengan font yang membuat U + 1F3C1 terpasang dengan benar, Chrome 28.0 tidak akan menampilkan karakter Unicode ini: 🏁. Firefox berfungsi dengan baik. Sosok pergi.

  • Dave
ViperGeek
sumber
Substitusi font di atas BMP masih rusak di Chrome untuk Windows saja : code.google.com/p/chromium/issues/detail?id=111382
Fizz
2

Sesuai Minimum Absolut Setiap Pengembang Perangkat Lunak Mutlak, Positif Harus Tahu Tentang Unicode dan Kumpulan Karakter (Tanpa Alasan!) Oleh Joel Spolsky , "Jika tidak ada yang setara dengan titik kode Unicode yang Anda coba wakili dalam pengkodean yang Anda coba untuk mewakilinya, Anda biasanya mendapatkan tanda tanya kecil:? atau, jika Anda benar-benar bagus, sebuah kotak . "

Saya menjalankan Chromium 13.0.782.112 di Archlinux dan penyandian default saya adalah en_US.UTF-8 - charcter ditampilkan dengan baik pada halaman yang ditautkan sebelumnya.

wulfgarpro
sumber
2
tidak apa-apa, tapi saya tidak berpikir pertanyaannya adalah tentang kotak, tetapi mengapa beberapa browser dapat menampilkan karakter khusus ini dan yang lain tidak.
Jeff Atwood
@ Jeff Atwood, setuju - jika ada, jawaban saya memberikan bukti yang lebih mendukung tentang masalah tipografi; baca di sini . Saya tidak dapat memberi tahu Anda font default karena saya tidak di depan mesin saya.
wulfgarpro
0

Firefox 45.0 pada GNU / Linux LFS 7.9 saya tidak menunjukkan mesin terbang Unicode yang disebutkan dalam pertanyaan, juga tidak menampilkan mesin terbang lain seperti Yunani dll.

Namun setelah mengunduh Symbolafont dari sini dan kemudian:

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

Firefox sekarang menunjukkan mesin terbang yang dimaksud, dan juga menampilkan mesin terbang lain.

pengguna3405291
sumber