Nya.vn

Thư viện thiết kế bỏ túi

HuyKTS.com - Thư viện thiết kế bỏ túi

Căn chỉnh đường viền trong FontLab 7 (Phần 1)

Chào các bạn! Tôi là HuyKTS, một người yêu thích công việc thiết kế.

Thiết kế Font chữ là một lĩnh vực khá hẹp, cần rất ít người làm, nhưng rất quan trọng trong xã hội. Vì tất cả các văn bản kỹ thuật số và in ấn đều phải sử dụng Font chữ để trình bày văn bản. Công việc thiết kế Font chữ khá thú vị, bạn có thể tự tạo ra một Font chữ kiểu theo ý thích.

Trong bài viết này, tôi tổng hợp những kiến thức cần thiết nhất để chúng ta có thể hiểu về Font chữ và bước đầu thực hiện thiết kế Font chữ, Việt hóa Font chữ.

Các bạn xem bài viết chỉ cần xem phần hình ảnh. Hình ảnh đã được sắp xếp và trình bày nội dung bài viết, dễ xem và dễ hiểu. Phần văn bản dùng để tối ưu hóa nội dung.

Khái niệm Gidfitting trong FontLab 7

Vấn đề hiển thị hình ảnh liên quan đến căn chỉnh đường viền nét chữ:

Tại sao FontLab 7 cần thiết lập trước cách thức canh chỉnh đường viền trong nét chữ?

  • Thông tin mô tả hình ảnh của Glyph trong File Font chữ được lưu dưới dạng đường viền Vector. Màn hình thiết bị hiển thị văn bản và thiết bị máy in trình bày hình ảnh Glyph dạng điểm ảnh (Pixel), tức là dạng hình ảnh Raster. Như vậy, các thiết bị đầu ra cần thực hiện quá trình Raster hóa các đường viền Vector trước khi đưa ra hình ảnh đầu cuối.
  • Trong khi kích thước và vị trí của Glyph hiển thị trên khung hình có thể thay đổi tự do. Sự độc lập giữa đường viền mô tả hình ảnh Glyph và Pixel hiển thị hình ảnh đầu cuối dẫn đến một vấn đề là đường viền Glyph thường bị lệch so với Pixel hình ảnh hiển thị.
  • Thiết bị đầu cuối cần phải làm thêm một thao tác là làm tròn các giá trị điểm ảnh hiển thị bị lệch so với đường viền Glyph thành những giá trị số nguyên. Từ đó quy đổi thành từng Pixel riêng lẻ trước khi đưa ra hình ảnh hiển thị.
  • Việc làm tròn các giá trị điểm ảnh hiển thị đôi khi tạo ra lỗi hiển thị. Điều này dễ xảy ra với những thiết bị trình bày hình ảnh độ phân giải thấp và trung bình. Độ phân giải hiển thị càng thấp dẫn đến những thao tác làm tròn số quá độ. Có thể làm lệch chiều rộng thân ký tự Stems và khoảng Overhang.
  • Ví dụ: Cần 1 Pixel để hiển thị chiều rộng thân ký tự, nhưng nét viền ký tự lại đi qua khoảng 0,5 Pixel. Quá trình làm tròn tạo ra chiều rộng thân ký tự ở vị trí này là 2 Pixel.

Các thuật toán của Gridfitting xử lý đường viền nét chữ:

  • Việc làm tròn các giá trị điểm ảnh hiển thị cần sử dụng thêm thuật toán đặc biệt. Để áp đặt tỉ lệ cố định lên các khoảng rộng thân ký tự Stems và khoảng Overhang. Làm cho các bộ phận tương tự nhau trên các ký tự có kích thước đồng nhất khi hiển thị trên khung hình. Quá trình xử lý Raster hóa như vậy gọi là Gridfitting.
  • Các thuật toán của Gridfitting sử dụng những thông tin hướng dẫn được người thiết kế thiết lập sẵn, đính kèm theo File Font chữ, để áp dụng vào thuật toán làm tròn giá trị điểm ảnh. Những thông tin hướng dẫn này được FontLab gọi là Hinting (gợi ý).

Khái niệm Hinting trong FontLab 7

Quá trình Hinting:

  • Quá trình Hinting là quá trình người thiết kế chỉ định các thông tin gợi ý cho Font chữ. Để xác định tỉ lệ quan trọng nhất cho các ký tự, vị trí của các bộ phận tương tự nhau trong các ký tự và lựa chọn một bộ quy tắc sửa lỗi đường viền ký tự hiển thị lên khung hình.
  • Hinting có tác động rất nhỏ trên những bản in và thiết bị màn hình độ phân giải cao. Nhưng với màn hình hiển thị độ phân giải càng thấp thì Hinting tác động càng lớn.
  • Mục đích của quá trình Gridfitting và Hinting là giữ cho chiều cao, khoảng cách và độ dày thân ký tự nhất quán, làm biến dạng các đường viền để phù hợp với các Pixel hiển thị và xác định lại vị trí các đường cơ sở của ký tự hiển thị trên khung ảnh. Nói chung là cố gắng làm cho Font chữ trông đẹp hơn khi hiển thị trên khung hình.

Xử lý Hinting cở cấp độ Font và cấp độ Glyph:

  • Hinting có thể ở cấp độ Font chữ, chẳng hạn như các khoảng Overhang và chiều rộng thân tiêu chuẩn. Việc thiết lập Zones (các khoảng Overhang) và Stems (các chiều rộng thân tiêu chuẩn) rất quan trọng để Hinting trong FontLab hoạt động chính xác.
  • Hinting có thể ở cấp độ Glyph riêng lẻ, xác định khoảng cách cụ thể giữa các điểm cần được kiểm soát trong Glyph. Phổ biến nhất cho trường hợp này là các Hint khai báo chiều rộng thân ký tự ở vị trí cụ thể. Các Hint này tác động trực tiếp lên đường viền trong giai đoạn kết xuất hình ảnh. Bỏ qua tất cả các yếu tố khác trong quá trình kết xuất Raster. Các Hint này bắt buộc chiều rộng thân ký tự phải hiển thị bằng nhau trên mọi vị trí của Glyph.

Hinting của TrueType khác với PostScript

  • Hai định dạng Font chữ phổ biến nhất hiện nay là TrueType (TT) và PostScript (PS). Nhưng hai định dạng Font chữ này sử dụng loại Hinting khác nhau. Vì vậy, không phải lúc nào FontLab cũng có thể tự động chuyển đổi đầy đủ Hinting của PostScript thành Hinting của TrueType.
  • Định dạng PostScript sử dụng các đường dẫn để quy định độ rộng nét ký tự. Ví dụ ký tự “H” có chiều rộng thanh ngang được liên kết với một đường dẫn để tính toán chiều rộng thân nét chữ đồng bộ. Định dạng PostScript hoạt động ở hai cấp độ là cấp độ Font chữ và cấp độ Glyph.
  • Định dạng TrueType sử dụng các hướng dẫn để kiểm soát từng điểm và làm tròn tọa độ điểm. Hinting của định dạng TrueType được viết bằng một ngôn ngữ lập trình đặc biệt. Nên nó rất linh hoạt và nhiều tính năng mạnh mẽ. Nhưng ngôn ngữ lập trình này quá phức tạp. FontLab đã biên dịch nó thành các tính năng cụ thể. Giúp người thiết kế có thể dễ dàng sử dụng.

Hinting ở cấp độ Font chữ

FontLab 7 cho phép thiết lập thông số Hinting tổng thể Font chữ:

  • Hinting ở cấp độ Font chữ là quá trình làm cho tất cả các chi tiết tương tự nhau của các Glyph hiển thị đồng bộ trên tất cả các kích thước PPM (tỉ lệ hiển thị).
  • Định dạng TrueType và PostScript sử dụng Hinting khác nhau. Tuy nhiên, để đơn giản hóa thao tác thiết lập những thông số tổng thể cho Font chữ, FontLab tự động tạo Hinting cấp độ tổng thể Font chữ cho cả hai định dạng này. Người thiết kế chỉ cần khai báo các trường tông tin trong bảng Font Info có liên quan đến Hinting. FontLab sẽ tự động biên dịch ra cả hai dạng Hinting TrueType và PostScript.

Cách thiết lập thông số Hinting tổng thể Font chữ:

  • Các trường thông tin thiết lập cách hoạt động của Hinting PostScript: Menu File => Font Info… => Mở bảng Font Info => Chọn mục Orther Values => Phần PostScript Hinting.
  • Các trường thông tin thiết lập cách hoạt động của Hinting TrueType: Menu File => Font Info… => Mở bảng Font Info => Chọn mục Orther Values => Phần TrueType Hinting.
  • Trường thông tin Zones giúp FontLab xác định vùng canh chỉnh cho Font chữ. Cả TrueType và PostScript đều sử dụng trường này để canh chỉnh chiều cao chữ.
  • Trường thông tin Stems giúp FontLab xác định chiều rộng thân tiêu chuẩn cho Font chữ. PostScript dùng thông tin Stems để xác định các khoảng rộng thân nét chữ. Các Hint đường dẫn PostScript sẽ được làm tròn giá trị hiển thị dựa trên các khoảng rộng (Stems) này. TrueType dùng thông tin Stems để áp dụng vào khoảng cách giữa các cặp điểm liên kết trong quá trình căn chỉnh đường viền trên Raster.
  • Như vậy, trong FontLab 7 luôn chứa hai trường dữ liệu Hinting cho cả TrueType và PostScript. FontLab sẽ tự biên dịch qua lại để đồng bộ thông số của hai loại Hinting này.

Xem thêm nhiều bài hướng dẫn sử dụng FontLab 7 tại [ Sổ tay hướng dẫn sử dụng FontLab 7 ].
Theo dõi Fanpage Thư viện thiết kế bỏ túi để xem thêm nhiều bài viết hữu ích.
Chúc các bạn sức khỏe và thành công!

Hướng dẫn sử dụng | FontLab 7 | FontLab 8 | Thiết kế Font chữ | Việt hóa Font chữ

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Chuyển lên trên