aspose.info
VI

EOT - Định dạng tệp phông chữ TrueType

Cập nhật

Tệp EOT là gì?

Tệp có phần mở rộng .eot là phông chữ OpenType được nhúng trong tài liệu. Chúng chủ yếu được sử dụng trong các tệp web, chẳng hạn như trang Web. Nó được tạo bởi Microsoft và được hỗ trợ bởi các Sản phẩm của Microsoft bao gồm tệp bản trình bày PowerPoint .pps. Tệp không được sử dụng chính và là loại tài liệu đi kèm với tài liệu hoặc trang web chính. Tương tự như các phông chữ OTF, EOT hỗ trợ cả phác thảo Postscript và TrueType cho các nét tượng trưng. Các tệp EOT có kích thước nhỏ hơn vì lý do chúng được nén bằng cách nén LZ. EOT sử dụng công cụ của Microsoft để tạo phông chữ từ các phông chữ TTF/OTF hiện có.

Tóm tắt lịch sử

Phông chữ EOT đã được gửi tới W3C vào năm 2007 như một phần của CSS3 nhưng do yêu cầu của nó là phải được cài đặt vĩnh viễn trên hệ thống từ xa đã trở thành lý do khiến nó bị từ chối. Nó đã được gửi lại vào tháng 3 năm 2008, nhưng W3C cuối cùng đã chọn Định dạng Phông chữ Web (WOFF) đã được chuẩn hóa sau đó.

Định dạng tệp EOT

Bạn có thể tìm thấy chi tiết định dạng tệp EOT trên trang gửi W3 và xây dựng cấu trúc được định dạng phông chữ này sử dụng. EOT bao gồm một cấu trúc EMBEDDEDFONT duy nhất cung cấp đủ thông tin cơ bản về tên phông chữ hte và các ký tự được hỗ trợ. Việc đóng gói thông tin này cho phép Tác nhân người dùng tránh giải nén, giải nén hoặc cài đặt phông chữ nếu nó đã có trên máy.

Cấu trúc EMBEDDEDFONT

Cấu trúc EMBEDDEDFONT đã trải qua ba lần sửa đổi, với việc bổ sung dữ liệu bổ sung ở cuối cấu trúc với mỗi lần sửa đổi. Phiên bản cuối cùng của cấu trúc EMBEDDEDFONT được mô tả bên dưới.

Kiểu dữ liệuTên mục nhậpMô tả
unsigned longEOTSizeTổng chiều dài cấu trúc tính bằng byte (bao gồm dữ liệu chuỗi và phông chữ)
unsigned longFontDataSizeĐộ dài của phông chữ OpenType (FontData) tính bằng byte
unsigned longPhiên bảnSố phiên bản của định dạng này - 0x00020002
unsigned longCờĐang xử lý cờ
byte[10]Phông chữPANOSEGiá trị PANOSE cho phông chữ này - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#pan
byteCharsetTrong Windows, điều này bắt nguồn từ TEXTMETRIC.tmCharSet. Giá trị này chỉ định bộ ký tự của phông chữ. DEFAULT_CHARSET (0x01) cho biết không có tùy chọn nào. - Xem https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica
byteItalicNếu bit cho ITALIC được đặt trong OS/2.fsSelection, giá trị sẽ là 0x01 - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fss
unsigned longTrọng lượngGiá trị trọng số cho phông chữ này - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#wtc
unsigned shortfsTypeLoại cờ cung cấp thông tin về quyền nhúng - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fst
unsigned shortMagicNumberMagic number cho tệp EOT - 0x504C. Dùng để kiểm tra xem dữ liệu có bị hỏng không.
unsigned longUnicodeRange1os/2.UnicodeRange1 (bit 0-31) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange2os/2.UnicodeRange2 (bit 32-63) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange3os/2.UnicodeRange3 (bit 64-95) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longUnicodeRange4os/2.UnicodeRange4 (bit 96-127) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#ur
unsigned longCodePageRange1CodePageRange1 (bit 0-31) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCodePageRange2CodePageRange2 (bit 32-63) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/os2#cpr
unsigned longCheckSumAdjustmenthead.CheckSumAdjustment - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/head
unsigned longReserveed1Reserveed - phải là 0
unsigned longReserveed2Reserveed - phải là 0
unsigned longReserveed3Reserveed - phải là 0
unsigned longReserveed4Reserveed - phải là 0
unsigned shortPadding1Padding để duy trì sự liên kết dài. Giá trị đệm phải luôn được đặt thành 0x0000.
unsigned shortFamilyNameSizeSố byte được sử dụng bởi mảng FamilyName
byteFamilyName[FamilyNameSize]Mảng ký tự UTF-16 có độ dài bằng byte FamilyNameSize. Đây là chuỗi Font Family ngôn ngữ tiếng Anh được tìm thấy trong bảng tên của phông chữ (tên ID = 1) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding2Giá trị đệm phải luôn được đặt thành 0x0000.
unsigned shortStyleNameSizeSố byte được sử dụng bởi StyleName
byteStyleName[StyleNameSize]Mảng ký tự UTF-16 có độ dài bằng byte StyleNameSize. Đây là chuỗi Phân họ phông chữ ngôn ngữ tiếng Anh được tìm thấy trong bảng tên của phông chữ (tên ID = 2) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding3Giá trị đệm phải luôn được đặt thành 0x0000.
unsigned shortVersionNameSizeSố byte được sử dụng bởi VersionName
bytesVersionName[VersionNameSize]Mảng ký tự UTF-16 có độ dài bằng VersionNameSize byte. Đây là chuỗi phiên bản tiếng Anh được tìm thấy trong bảng tên của phông chữ (tên ID = 5) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding4Giá trị đệm phải luôn được đặt thành 0x0000.
unsigned shortFullNameSizeSố byte được sử dụng bởi FullName
byteFullName[FullNameSize]Mảng ký tự UTF-16 có độ dài bằng FullNameSize byte. Đây là chuỗi tên đầy đủ của ngôn ngữ tiếng Anh được tìm thấy trong bảng tên của phông chữ (tên ID = 4) - Xem https://learn.microsoft.com/en-us/typography/opentype/spec/name
unsigned shortPadding5Giá trị đệm phải luôn được đặt thành 0x0000.
unsigned shortRootStringSizeSố byte được sử dụng bởi mảng RootString
byteRootString[RootStringSize]Mảng ký tự UTF-16 có độ dài bằng RootStringSize byte.
unsigned longRootStringCheckSumGiá trị RootString CheckSum. Xem thuật toán để xử lý RootStringChecksum bên dưới.
unsigned longEUDCCodePageGiá trị trang mã cần thiết để hỗ trợ phông chữ EUDC.
unsigned shortPadding6Giá trị đệm phải luôn được đặt thành 0x0000.
unsigned shortSignatureSizeSố byte được sử dụng bởi mảng Chữ ký. Hiện được bảo lưu và phải được đặt thành 0x0000.
byteChữ ký[SignatureSize]Hiện được bảo lưu. Nếu SignatureSize là 0x0000 thì mảng này không có độ dài.
unsigned longEUDCFlagsXử lý cờ cho phông chữ EUDC. Các giá trị điển hình có thể là TTEMBED_XORENCRYPTDATA và TTEMBED_TTCOMPRESSED.
unsigned longEUDCFontSizeSố byte được sử dụng bởi mảng Chữ ký.
byteEUDCFontData[EUDCFontSize]Số byte được sử dụng cho dữ liệu phông chữ EUDC. Nếu EUDCFontSize là 0x00000000 thì mảng này không có độ dài.
byteFontData[FontDataSize]Dữ liệu phông chữ cho tệp EOT này. Dữ liệu có thể được nén hoặc mã hóa XOR như được chỉ báo bởi các cờ xử lý.

Người giới thiệu

Xem thêm