Chuyển đổi TTF sang WOFF bằng C#

Phông chữ xác định sự thể hiện đồ họa của một ký tự riêng lẻ trong văn bản, chẳng hạn như kích thước, kiểu hiển thị, trọng lượng, màu sắc, v.v. TTF (True Type Font) hoạt động tốt trên tất cả các nền tảng kỹ thuật số và cho chất lượng tuyệt vời trên- màn hình và trong các tài liệu in. Mặt khác, WOFF (Web Open Font Format) chủ yếu được sử dụng trên các trang web. Nó chứa tính năng nén theo định dạng cụ thể và siêu dữ liệu XML bổ sung. Trong một số trường hợp nhất định, chúng tôi có thể cần chuyển đổi phông chữ true-type thành phông chữ Web. Trong bài này, chúng ta sẽ học cách chuyển đổi TTF sang WOFF bằng C#.

Các chủ đề sau sẽ được đề cập trong bài viết này:

API chuyển đổi C# TTF sang WOFF

Để chuyển đổi TTF thành WOFF, chúng tôi sẽ sử dụng API Aspose.Font for .NET. Nó cho phép tải, lưu và trích xuất thông tin từ các loại phông chữ được hỗ trợ. Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Font

Chuyển đổi TTF sang WOFF bằng C#

Chúng tôi có thể dễ dàng chuyển đổi Phông chữ True Type (TTF) sang Phông chữ Mở Web (WOFF) bằng cách làm theo các bước dưới đây:

  • Đầu tiên, tải tệp phông chữ bằng lớp FileSystemStreamSource.
  • Tiếp theo, tạo một thể hiện của lớp FontFileDefinition với đối tượng tệp nguồn làm đối số.
  • Sau đó, khởi tạo đối tượng lớp FontDefinition với kiểu Font là TTF và đối tượng FontFileDefinition.
  • Sau đó, mở phông chữ bằng phương thức Font. Open() với đối tượng FontDefinition làm đối số.
  • Cuối cùng, gọi phương thức SaveToFormat() để lưu nó. Nó lấy đường dẫn tệp đầu ra và FontSavingFormats thành WOFF làm đối số.

Mẫu mã sau đây trình bày cách chuyển đổi TTF thành WOFF bằng C#.

// Ví dụ mã này trình bày cách chuyển đổi TTF sang WOFF.
// Đường dẫn tệp TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Tải tệp Phông chữ
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Tạo định nghĩa tệp phông chữ
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Tạo định nghĩa phông chữ
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Mở phông chữ
Font font = Font.Open(fontDefinition);

// Đường dẫn đầu ra WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Chuyển đổi TTF sang WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF);

Chuyển đổi TTF sang WOFF2 trong C#

WOFF2 là phiên bản cập nhật của WOFF. Nó cung cấp nhiều khả năng nén hơn do có kích thước tệp nhỏ hơn và cung cấp hiệu suất tốt hơn cho các trình duyệt hiện đại. Chúng tôi cũng có thể chuyển đổi TTF thành WOFF2 bằng cách làm theo các bước đã đề cập trước đó. Tuy nhiên, chúng ta chỉ cần đặt FontSavingFormats là WOFF2 trong bước cuối cùng.

Mẫu mã sau đây trình bày cách chuyển đổi TTF thành WOFF2 bằng C#.

// Ví dụ mã này trình bày cách chuyển đổi TTF thành WOFF2.
// Đường dẫn tệp TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// Tải tệp Phông chữ
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Tạo định nghĩa tệp phông chữ
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Tạo định nghĩa phông chữ
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Mở phông chữ
Font font = Font.Open(fontDefinition);

// Đường dẫn đầu ra WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// Chuyển đổi TTF sang WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF2);

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử thư viện mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, chúng ta đã học cách chuyển đổi Phông chữ True Type sang Phông chữ Mở trên Web trong C#. Chúng tôi cũng đã thấy cách lưu TTF dưới dạng WOFF2 theo chương trình. Bên cạnh đó, bạn có thể tìm hiểu thêm về Aspose.Font for .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm