Làm thế nào để đảm bảo văn bản tiếng Trung được hiển thị trong trang web?


7

Tôi đang làm một trang web một phần bằng tiếng Trung Quốc. Tôi sử dụng mã hóa UTF-8 cho tất cả các văn bản. Trang này chứa một số phần bằng tiếng Trung Quốc, trộn lẫn với các chữ cái phương Tây. Phông chữ tôi sử dụng cho văn bản phương tây không có ký tự tiếng Hoa, vì vậy tôi muốn phông chữ tiếng Trung có sẵn trên máy tính người dùng được sử dụng để hiển thị các ký tự tiếng Trung (phông chữ btw của Trung Quốc siêu lớn và không phù hợp để tải xuống khi đang di chuyển ).

Tôi có thể đặt các ký tự tiếng Trung ở giữa văn bản khác không và mong trình duyệt tìm một phông chữ tiếng Trung để hiển thị chúng (nếu tôi không quan tâm đến phông chữ nào được hiển thị), hoặc tôi nên chỉ định phông chữ tiếng Trung một cách nào đó?

Làm cách nào để chỉ định phông chữ cho văn bản tiếng Trung để đảm bảo trình duyệt của người dùng hiển thị 你好 chứ không phải □ _0?


Trên trình duyệt của tôi (Firefox 56.0), ví dụ bên dưới hiển thị văn bản tiếng Trung chính xác (tất nhiên là có một phông chữ tiếng Trung được cài đặt trên máy tính) trong cả hai <span>s. Tất cả văn bản tiếng Trung được hiển thị trong cùng một phông chữ, do đó, có vẻ như trình duyệt theo một cách nào đó có thể tìm thấy phông chữ có glyphs đang được sử dụng trong văn bản, mặc dù tôi không chỉ định tên của bất kỳ phông chữ nào có glyphs Trung Quốc ... Không biết làm thế nào mà hoạt động: |

<!doctype html>

<html lang="en-GB">

  <head>

    <meta charset="utf-8">

    <style>
      span.serif {
        font-family: "serif";
      }

      span.courier {
        font-family: "courier";
      }
    </style>

  </head>

  <body>
    <span class='serif'>123, wazzup? 一二三,你好嗎?</span><br />
    <span class='courier'>123, wazzup? 一二三,你好嗎?</span>
  </body>

</html>

Ở trên được hiển thị như thế này trên máy tính của tôi:

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


1
Tôi tìm thấy bài viết sau đây một bài viết khá thú vị (và có thể hữu ích) liên quan đến việc sử dụng phông chữ tiếng Anh và tiếng Trung Quốc. kendraschaefer.com/2012/06/ Từ Tôi không liên kết với trang web nào cả
Bronwyn V

"Tôi có thể đặt các ký tự tiếng Trung ở giữa văn bản khác không và mong trình duyệt tìm một phông chữ tiếng Trung để hiển thị chúng" Bạn đã thử chưa? Tôi làm tương tự với phông chữ Thái và nó hoạt động. Một số bộ phông chữ có cả tiếng Thái và tiếng Latin có thể giống nhau đối với tiếng Trung.
Massimiliano Rubino

1
@MassimilianoRubino Vâng, nó làm việc, nhưng tôi muốn hiểu tại sao để tôi có thể dự đoán trong đó tình huống nó sẽ làm việc và trong đó không. Cập nhật với một ví dụ btw.
PetaspeedBeaver

Ý tưởng của tôi không phải là tốt nhất nhưng nó có thể hoạt động nếu khách của bạn không quan tâm đến băng thông. đặt tất cả văn bản tiếng Trung vào một hình ảnh và hiển thị hình ảnh đó trên trang của bạn thay vì văn bản.
Mike

1
@MassimilianoRubino Có thật là như vậy, phông chữ phải có glyphs cho cả hai ngôn ngữ để nó hoạt động không? Tôi nghi ngờ vì tôi khá chắc chắn rằng cả "chuyển phát nhanh" hay "georgia" hay bất kỳ phông chữ nào được sử dụng là "serif" đều có glyphs Trung Quốc.
PetaspeedBeaver

Câu trả lời:


3

Nếu phông chữ được chỉ định không chứa glyph cho một ký tự, các trình duyệt thường sử dụng phông chữ dự phòng để hiển thị ký tự này.

(Trình duyệt không làm được điều này, tất nhiên, và làm thế nào nó chính xác làm việc cũng có thể phụ thuộc vào hệ điều hành. Tuy nhiên, nó sẽ thực sự ngạc nhiên khi nếu có trình duyệt mà không sử dụng dự phòng phông chữ. Chưa kể rằng có rất nhiều tác nhân người dùng thậm chí không hỗ trợ CSS, ví dụ: trình duyệt văn bản, trình đọc nguồn cấp dữ liệu, v.v .; đối với họ, bạn thậm chí không thể chỉ định một phông chữ để bắt đầu.)

Nếu không tìm thấy phông chữ phù hợp, " glyph thay thế " (còn gọi là "đậu phụ"; thường, nhưng không nhất thiết , một cái gì đó như "□") sẽ được hiển thị cho ký tự này.

Các thuật toán được xác định bởi CSS:

Vì vậy, trừ khi bạn biết về một tác nhân người dùng không xử lý nó, tôi sẽ không lo lắng về nó. Nhưng, lý tưởng nhất là luôn sử dụng langthuộc tính (trong ngữ cảnh này, nó có thể giúp các trình duyệt "chọn phông chữ phù hợp với ngôn ngữ" làm dự phòng).

Nếu bạn quan tâm đến sự hài hòa thị giác, bạn có thể quan tâm đến các họ phông chữ như Noto hoặc Ubuntu . Họ cố gắng bao gồm tất cả các ngôn ngữ / tập lệnh, hiển thị chúng theo cách tương thích trực quan (ví dụ: cùng chiều cao, v.v.).


0
  • Tạo một khối cho văn bản Trung Quốc bằng cách sử dụng các thuộc tính html, ví dụ p, hoặc em, hoặc mạnh hoặc span hoặc một cái gì đó tương tự. Áp dụng phần tử lang để chỉ ra ngôn ngữ của khối đã tạo. Thông tin W3 về Mã ngôn ngữ ISO . Trong trường hợp của bạn, nó sẽ là lang = zh. Lưu ý rằng bạn có thể chỉ định một tập hợp con cho ngôn ngữ Trung Quốc, ví dụ: tiếng Trung (Đơn giản hóa) = zh-Hans , cho tiếng Trung (Truyền thống) = zh-Hant . Ngoài ra, bạn có thể chỉ định / bản địa hóa quốc gia cho các từ tiếng Trung của mình - thông tin về UN về Thông tin về Lãnh thổ Ngôn ngữ . Ví dụ: tiếng Trung cho Singapore lang = zh-SG.
  • Áp dụng bộ mã hóa / giải mã thực thể HTML cho các từ tiếng Trung của bạn. Từ tiếng Trung đầu tiên của bạn sẽ được mã hóa là &#x4F60;&#x597D;&#x55CE;. Các ký tự được mã hóa này sẽ hiển thị bất kỳ trình duyệt nào, bất kể mã hóa.

1
Điểm thú vị, nhưng bạn không giải quyết vấn đề bằng phông chữ và tại sao ví dụ của tôi được hiển thị như vậy (với các ký tự tiếng Trung được hiển thị chính xác mặc dù tôi đặt phông chữ "sai" không có ký tự Trung Quốc ...) Còn về điều đó :)
PetaspeedBeaver

Xin vui lòng cho biết thêm chi tiết.
nikant25
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.