Có một số cơ chế hiển thị font chữ lên màn hình (font rasterization). Tuy nhiên, có cách thì hợp với font này, có cách thì hợp với font khác, có cách hợp với loại màn hình này, có cách hợp với loại màn hình khác,… Trên Internet, có khá nhiều bài viết về chủ đề này (ví dụ, tìm trên Google với từ “linux windows fonts.conf hinting”).
Cá nhân tôi, với nhu cầu làm việc với tiếng Việt, tiếng Hoa đồng thời, màn hình loại LCD, thì tôi thấy nhu cầu của mình như sau:
- Các chữ tiếng Việt dùng font miễn phí của Windows 2000/XP ngày xưa (Times New Roman, Arial,…) với cơ chế hinting full vì những font này được thiết kế như vậy; kết quả được chữ sắc cạnh, dù chữ to hay nhỏ cũng vậy. Nếu dùng chức năng antialias (tức là smoothing), hoặc hinting theo cơ chế khác, kiểu như autohint, thì chữ không đẹp với loại font này, nhất là với cỡ chữ nhỏ, sẽ có viền bao mờ mờ ở ngoài.
- Các chữ tiếng Hoa và font khác của Linux thì phải có thêm chức năng smoothing, nếu không nét chữ không đẹp. Nhất là các loại font chữ tiếng Trung Quốc, nếu không có smooth thì rất khó đọc. Tuy nhiên, với cỡ chữ đủ nhỏ, thì không nên có smooth, vì chữ sẽ không sắc nét. Bật chức năng dùng embeded bitmap cho một số font cũng tốt.
Font "Arial" với nét sắc cạnh, font chữ Trung Quốc với nét được làm mềm (smooth), tuy nhiên với font chữ Trung Quốc nhỏ (small) thì không dùng chức năng làm mềm.
Một màn hình với font chữ Việt và chữ Trung Quốc được hiển thị bằng các cơ chế khác nhau:
Tóm lại, về lý tưởng nhất, là làm sao có thể yêu cầu hệ thống gán các cách biểu diễn font khác nhau cho các hoàn cảnh khác nhau. Có thể làm bằng cách đặt các điều kiện trong file ~/.fonts.conf (đã thử trên Debian/Ubuntu). Tức là trước hết đặt cơ chế hiển thị font cho trường hợp chung (general) (xem hình dưới đây, gnome-appearance-properties); sau đó điều chỉnh lại cho các trường hợp riêng bằng cách chỉnh trong ~/.fonts.conf (hãy xem ví dụ).
Ngoài ra, trên Internet cũng có thể tìm thấy hướng dẫn bật chức năng smooth (antialias) cho chương trình chạy trên wine bằng script. Hình bên dưới là hvdic chạy trên wine với cơ chế mặc định (không chỉnh smoothing gì cả), cá nhân tôi thì thấy OK với chế độ mặc định.
Screenshot: màn hình dùng fluxbox với giả lập tiling windows; font chữ tiếng Trung có dùng antialias (kiểu như cleartype), còn tiếng Việt thì không dùng antialias nên có chữ sắc nét; chương trình hvdict chạy trên wine của Debian Linux.
Tham chiếu:
- http://en.wikipedia.org/wiki/Font_rasterization
- http://www.fontconfig.org/fontconfig-user.html
- http://fontforge.sourceforge.net/overview.html
- http://fontforge.sourceforge.net/hinting.html
- http://ubuntuforums.org/showthread.php?t=1050920, script
- http://wiki.archlinux.org/index.php/Xorg_Font_Configuration
Không có nhận xét nào:
Đăng nhận xét