2012-03-02 42 views
12

Tôi thấy rằng trên iPhone có một phông chữ truetype tên là Apple Color Emoji. Nó chứa các biểu tượng cảm xúc tồn tại trên iPhone có thể được sử dụng trong bất kỳ ứng dụng nào.Phông chữ biểu tượng cảm xúc màu của Apple hoạt động như thế nào và có phiên bản Android không?

Tôi tự hỏi:

  1. như thế nào font này hiển thị trong màu ?! Phông chữ Truetype chỉ có thể bao gồm glyphs đen trắng.
  2. Phông chữ này có thể được sử dụng trên điện thoại Android không?

Trả lời

12

Apple đang sử dụng phần mở rộng độc quyền cho tiêu chuẩn OpenType. Về cơ bản, họ chỉ lưu trữ PNG màu được rasterized trước trong một phần mở rộng độc quyền "chặn" trong tệp TTF (reference, corroboration).

Lý do duy nhất này hoạt động là vì chúng cũng cung cấp ngăn xếp đầy đủ giữa phần mở rộng phông chữ đó và màn hình (raster font, thư viện đồ họa hệ thống, tiện ích hiển thị văn bản). Không có cách nào được chuẩn hóa để thực hiện điều này trên tất cả các nền tảng/thư viện.

2
  1. Phông chữ sử dụng PNG được nhúng và chúng được lưu trữ trong bảng sbix.
  2. Apple Color Emoji không thể được sử dụng trong Android, nhưng phông chữ được định dạng CBLC/CBDT của Google có thể.

Có bốn phương pháp để thực hiện các màu trong Open phông chữ Type ngay bây giờ:

  • Apple's SBIX - PNG Embedded CBLC + CBDT
  • của Google - PNG Embedded
  • của Microsoft COLR + CPAL - glyphs màu
  • Adobe/Mozilla/W3C SVG + CPAL - SVG trong OpenType

The complete list of OpenType tables.

Bạn có thể tháo rời/lắp ráp lại các phông chữ sử dụng ttx từ FontTools (pypi, github) để biết thêm chi tiết.

+0

Dường như, ['sbix'] (https://www.microsoft.com/typography/otspec/sbix.htm) cũng đã được chuẩn hóa trong OTF 1.8 (tháng 9 năm 2016). – Crissov

+1

Điều đó thật đáng ngạc nhiên. Các bảng CBLC + CBDT về cơ bản đã cung cấp cùng chức năng. Tôi sẽ cập nhật câu trả lời của mình. – eosrei

Các vấn đề liên quan