Nya.vn

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

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

Tính năng OpenType trong Font chữ

Chào các bạn! Tôi là Huy KTS, một người yêu thích công việc thiết kế.
Đây là bài viết giới thiệu các tính năng OpenType trong Font chữ, là kiến thức cần thiết trong việc thiết kế Font chữ. Tính năng OpenType quyết định Font chữ này sẽ hỗ trợ các tính năng tự động nào, có khả năng hỗ trợ bộ gõ cho nhóm ngôn ngữ nào.

Tính năng OpenType là gì?

Ta đã biết, Font chữ kỹ thuật số được mô tả bởi một File phông chữ. File Font chữ thường có định dạng phổ biến là .otf (PostScript) hoặc .ttf (TrueType). (Xem thêm bài Các định dạng Font chữ thông dụng nhất)
Ngoài những Font chữ tĩnh cơ bản còn có Font chữ hiện đại đính kèm các tính năng tự động. Các tính năng thường thấy như tự động điều chỉnh khoảng cách ký tự phù hợp – Kerning. Tính năng hỗ trợ thay đổi chữ kiểu đầu câu hoặc cuối câu Glyphs trong Photoshop. Tính năng thiết lập quy tắc gõ chữ Standard Ligatures, Contextual Alternates, Discretionary Ligatures trong Photoshop. Những tính năng đó được tạo ra ra thông qua một ngôn ngữ lập trình mô tả tính năng OpenType. Đó chính là ngôn ngữ lập trình AFDKO. (Xem thêm bài Ngôn ngữ lập trình AFDKO)
Lịch sử: Ban đầu chỉ có định dạng TrueType của Apple và Type 1 của Adobe. Microsoft phối hợp với Adobe để tạo ra một định dạng Font chữ thống nhất là OpenType. Các tính năng tự động của cả định dạng Font chữ TrueType và OpenType đã được thống thất. Họ dùng chung một bảng mô tả tính năng OpenType để lập trình tính năng cho Font chữ.
Như vậy, các Font chữ ngày nay được lập trình sẵn các tính năng tự động theo chuẩn OpenType. Nó được lập trình bằng ngôn ngữ AFDKO và sử dụng bảng mô tả tính năng OpenType. Các Font chữ như vậy được gọi là Font chữ theo chuẩn OpenType. Các tính năng đó cũng được gọi là tính năng OpenType.

Các tài liệu về tính năng OpenType trong Font chữ:

Tài liệu cơ bản về tính năng OpenType:

Adobe tạo ra một ngôn ngữ lập trình mô tả Font chữ có tên AFDKO để lập trình các tính năng cho định dạng Font OpenType. Tài liệu giới thiệu về ngôn ngữ AFDKO: Adobe Type Tools (github.io).

Microsoft sử dụng định dạng OpenType để phát triển các Font chữ dùng cho các phần mềm của hãng. Hãng cung cấp cho người dùng thiết kế Font chữ OpenType bộ tài liệu hướng dẫn thiết kế Font theo tiêu chuẩn của Microsoft nhằm tương thích tốt nhất với các phần mềm của hãng này. Tài liệu về tiêu chuẩn Font chữ của Microsoft: Microsoft Typography (docs.microsoft.com).

Các tài liệu tham khảo thêm về tính năng OpenType:

Tài liệu tổng quan về các dạng tính năng chuyên sâu OpenType: Microsoft Typography – OpenType (docs.microsoft.com).
Bảng liệt kê danh sách các tính năng chuyên sâu OpenType được Microsoft hỗ trợ trực tiếp và chức năng của từng Tag tính năng: Microsoft Typography – OpenType (docs.microsoft.com).
Tài liệu giới thiệu về các Font chữ trong bộ Font Microsoft. Trong đó có những họ Font chữ quốc dân mà ai cũng dùng như Arial. Chúng ta có thể tham khảo bảng tính năng mẫu này: Microsoft Typography – OpenType – Arial Font (docs.microsoft.com).

Lưu ý: Người dùng FontLab 7, FontLab 8 chỉ cần biết chức năng và ứng dụng của các Tag tính năng. FontLab đã soạn sẵn một danh sách các tính năng phổ biến cho người dùng lựa chọn và áp dụng. FontLab tự động nhận biết Font chữ này cần những tính năng gì và gợi ý cho người dùng. FontLab cũng tự động viết code cho tính năng mà người dùng chọn để thêm vào Font chữ. FontLab có sẵn công cụ kiểm tra tác động của tính năng vào Font chữ trong ngữ cảnh thực tế.

Thẻ tính năng cần có theo từng nhóm chữ viết:

Tính năng OpenType cần cho chữ viết Ả Rập và Syriac:

Trong nhóm chữ viết của nhóm ngôn ngữ Ả Rập và Syriac, các chữ cái có hình dáng thay đổi theo ngữ cảnh. Có bốn ngữ cảnh là đứng riêng lẻ, đứng đầu một từ, đứng giữa từ và đứng cuối từ. Các tính năng hỗ trợ cho ngữ cảnh này là Isol (ký tự đứng riêng, không có dấu nổi), Init (ký tự đứng đầu một từ), Medi (ký tự đứng giữa từ, có dấu nối trước và sau) và Fina (ký tự đứng cuối mỗi từ, có dấu đuôi). Bốn tính năng này luôn được kết hợp cùng nhau để tạo nên chữ viết Ả Rập. Ví dụ: hình thức đứng riêng, đứng đầu, đứng giữa và đứng cuối của một ký tự Ả Rập. (Theo hình bên trên)

Trong chữ viết Ả Rập cũng có các dấu phụ. Thẻ Mark (Mark Positioning – Đánh dấu vị trí) mang chức năng tinh chỉnh vị trí của một ký tự dấu phụ gắn vào ký tự cơ bản. Thẻ Mark được bật mặc định trong các ứng dụng đánh văn bản Ả Rập. Tài liệu phát triển Font chữ OpenType theo tiếng Ả Rập: Microsoft Typography – Arabic (docs.microsoft.com).

Tính năng OpenType cần cho chữ viết Nga và Bulgaria:

Trong văn bản Nga và Bulgaria sử dụng chung một bảng chữ cái Cyrillic. Nhưng một số chữ cái của hai ngôn ngữ này có hình dạng khác nhau. Đó là hình thức bản địa của văn bản, đặc trưng cho từng ngôn ngữ. Thẻ Locl (Localized Form – hình thức đặc trưng bản địa) hỗ trợ một Font chữ có hình thức trình bày bản địa cho nhiều ngôn ngữ thông qua thẻ thông tin ngôn ngữ được chọn cho văn bản. Thẻ Locl hỗ trợ tự động thay thế ký tự chuẩn thành ký tự bản địa của băn bản. Thường được các ứng dụng hỗ trợ và áp dụng tự động theo ứng dụng.

Tính năng OpenType cần cho chữ viết Ấn độ:

Trong nhóm chữ viết Indic sử dụng trong nhóm ngôn ngữ Ấn Độ, các ngữ cảnh trình bày ký tự trên văn bản rất phức tạp và biến đổi hình thái ký tự theo ngữ cảnh cũng rất phức tạp. Các thẻ tính năng hỗ trợ cho việc trình bày văn bản Indic phổ biến: Nukt (Nukta Form), Akhn (Akhand), Rphf (Reph Form), Blwf (Relow-base Form), Half (Haft Form), Vatu (Vattu Vatiants), Pres (Pre-base Substitutions), Abvs (Above-base Substitutions), Blws (Below-base Substitutions), Psts (Post-base Substitutions), Haln (Halant Form), Abvm (Above-base Mark Positioning), Blwm (Below-base Mark Positioning). Vì các ngữ cảnh trong chữ viết Indic rất phức tạp, nên người dùng phải biết viết chữ Indic mới có thể hiểu được các tính năng chuyên sâu hỗ trợ cho ngôn ngữ này.

Tính năng OpenType cần cho chữ viết Campuchia:

Trong nhóm chữ Khmer sử dụng một số thẻ chức năng giống như chữ Indic. Nhưng chữ Khmer có một ngữ cảnh đặc biệt cần một thẻ tính năng riêng là thẻ Pstf (Post-base Form) để hỗ trợ trình bày ký tự. Các ứng dụng bật mặc định tính năng này và kết hợp với kết quả của các tính năng khác theo thứ tự áp dụng:
‘nukt’ => ‘akhn’ => ‘rphf’ => ‘rkrf’ => ‘pref’ => ‘blwf’ => ‘half’ => ‘pstf’ => ‘cjct’.

Tính năng OpenType cần cho chữ viết Telugu:

Trong một số ngữ cảnh đặc biệt, ví dụ các chữ phụ âm trong ngôn ngữ Telugu thường phải được thay đổi khoảng cách để tránh va chạm các ký tự khác. Điều chỉnh hai ký tự cách xa nhau hoặc gần lại với nhau. Thẻ Dist (Distance – Khoảng cách) hỗ trợ chức năng thay đổi khoảng cách để tránh chồng chéo chữ. Đây là tính năng hoạt động bắt buộc mặc định và không tương tác với tính năng Kern.

Tính năng OpenType cần cho chữ viết Trung Quốc – Nhật Bản:

Trad (Traditional Forms – Hình thức truyền thống). Trong quy cách đánh chữ Kanji giản thể nhóm chữ Trung Quốc hoặc Nhật Bản, khi đánh một chữ sẽ xuất hiện một danh sách ký tự phổn thể. Cách chọn theo gợi ý này để tiết kiệm thời gian và thao tác. Vì bộ ký tự Kanji phổn thể có quá nhiều ký tự. Thẻ Trad hỗ trợ chức năng đánh một từ dẫn đến danh sách chữ gợi ý để người dùng lựa chọn thay thế. Thẻ Trad chỉ hỗ trợ cho cách đánh chữ đặc trưng của văn bản chữ Kanji. Sử dụng thông tin trong bảng GSUB và ghi đè lên kết quả của thẻ Smpl.

Smpl (Simplified Forms – Biểu mẫu đơn giản). Trong quy cách đánh chữ Kanji phổn thể nhóm chữ Trung Quốc hoặc Nhật Bản, khi đánh một chữ sẽ xuất hiện một ký tự giản thể gợi ý. Nhiều ký tự phổn thể có thể được thay thế tương ứng một ký tự giản thể. Thẻ Smpl hỗ trợ chức năng đánh một từ dẫn đến một phiên bản giản thể gợi ý để người dùng lựa chọn thay thế. Thẻ Smpl chỉ hỗ trợ cho cách đánh chữ đặc trưng của văn bản chữ Kanji. Thẻ Smpl sử dụng thông tin trong bảng GSUB.

Tính năng OpenType cần cho chữ viết Trung Quốc – Nhật Bản – Triều Tiên:

Vert (Vertical Alternates – Thay thế dọc). Các văn bản chữ Kanji có chế độ viết dọc từ trên xuống và chuyển dòng từ phải qua trái. Một số ký tự sẽ bị thay đổi để phù hợp kiểu viết dọc. Ví dụ dấu ngoặc đơn “(” bị xoay lại. Thẻ Vert hỗ trợ chức năng tự động nhận biết ngữ cảnh và thay thế ký tự khi đang đánh văn bản ở chế độ dọc. Thẻ Vert tự động hoạt động trong các ứng dụng hỗ trợ đánh văn bản Kanji chế độ viết dọc.

Tính năng OpenType cần cho Font chữ Latin:

Tính năng OpenType tối thiểu cần có trong Font chữ Latin:

Liga (Standard Ligatures – Tính năng thay thế từ ghép tiêu chuẩn). Tính năng tự động thay thế một đoạn chữ cái (cụm từ) bằng một từ ghép duy nhất. Tính năng này thường được sử dụng trong hệ thống nhóm chữ viết châu Âu. Ví dụ: ffl thay thế cho f f l. Các nhóm từ ghép nhiều thành phần hơn phải được kiểm trước nhóm chữ có ít thành phần hơn để có thể tìm thấy. Tính năng này nên được mặc định bật để phục vụ chức năng cần có trong một số ngữ cảnh. Tính năng này sử dụng bảng GSUB.

Kern (Kerning – Khoảng cách giữa các ký tự). Các ký tự Latin có thiết kế khoảng cách cách ký tự đều nhau. Nhưng trong một số ngữ cảnh điển hình như chứ “đ” và “o” đứng cạnh nhau thì nhìn chúng vẫn cách nhau khoảng rộng hơn. Thẻ Kern sẽ điều chỉnh lại khoảng cách phù hợp giữa những cặp ký tự. Bằng cách trừ bớt khoảng cách để người đọc nhìn thuận mắt hơn. Thẻ Kern tra cứu thông tin trong bảng GPOS và ghi chú ngữ cảnh theo từng cặp ký tự đứng cạnh nhau. Chức năng này luôn hoạt động mặc định theo ứng dụng và chỉ hoạt động được với một hàng từ hai ký tự trở lên. Thẻ Kern không áp dụng cho kiểu viết dọc.

Tính năng OpenType cần trong Font chữ Latin kiểu thư pháp:

Salt (Stylistic Alternates – Thay thế phong cách). Khi đánh văn bản với các font chữ theo phong cách thư pháp, các ký tự đầu câu hoặc cuối câu thường có các ký tự dạng điểm nhấn thẩm mỹ. Thẻ Salt hỗ trợ cho việc tạo font chữ với hai hoặc nhiều hình thái cho một ký tự. Một số ứng dụng hỗ trợ người dùng chức năng thay thế trực tiếp theo thẻ salt. Các ứng dụng không hỗ trợ thì người dùng phải trích xuất ký tự thủ công từ bảng ký tự. Bảng ký tự của hệ điều hành Windows là Charater Map. Thẻ Salt trích xuất thông tin từ bảng GSUB và ghi đè kết quả lên các thẻ mang chức năng thay thế khác.

Kết luận:

Chữ Quốc ngữ Việt Nam sử dụng nhóm ký tự Latin để trình bày văn bản. Chữ tiếng Việt còn dùng thêm nhóm ký tự Latin bổ sung và các dấu thanh bổ sung. Khi bạn thiết kế Font chữ Latin cần lưu ý thêm thẻ tính năng Kern và Liga vào Font chữ. Khi Việt hóa một Font chữ Latin quốc tế, bạn nên thiết lập Kerning cho các ký tự bổ sung.

Các bài viết có liên quan:

Bảng mã Font chữ thông dụng

Bảng mã Font chữ

Các định dạng File Font chữ thông dụng

Định dạng Font chữ

Tính năng OpenType trong Font chữ

Tính năng OpenType

Bảng tra cứu tính năng OpenType

Bảng tra cứu OpenType

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

Nya.vn – Thư viện thiết kế bỏ túi
Và tôi là HuyKTS, một người yêu thích công việc thiết kế.
Chúc các bạn sức khỏe và thành công!

Nya Store - Viên gạch dựng xây ý tưởng
Nya Home - Bộ sưu tập mẫu nhà đẹp
Nya Decor - Kiến tạo không gian cảm xúc
HuyKTS.com - Thư viện thiết kế bỏ túi

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