Có hai loại font: PostScript (của hãng Adobe) và TrueType (do hai hãng Apple Computer và Microsort Corporation hợp tác xây dựng để thay thế cho font PostScript) trong Windows.
1. Font bitmap: dùng 1 ma trận điểm với kích thước xác định (thí dụ 8*16) để miêu tả cụ thể hình dạng của từng ký tự, mỗi ký tự có ma trận điểm riêng. Khi cần hiển thị ký tự nào, tra trong file font để lấy được ma trận pixel tương ứng rồi hiển thị ma trận này lên màn hình ở vị trí qui định. Do ma trận điểm đã được thiết kế với kích thước xác định nên nếu hiển thị với co chữ khác (nhỏ hơn hay lớn hơn) thì phải thu nhỏ/phóng to ma trận bitmap. Việc phóng to/thu nhỏ ảnh bitmap với 1 hệ số nào đó thường cho kết quả bị méo dạng lớn, nhất là phóng to chữ sẽ bị răng cưa chứ không mịn.2. Font outline: dùng danh sách các hàm toán học để miêu tả các đoạn thẳng/đoạn cong liên tiếp cấu thành đường viền của 1 ký tự. Để miêu tả đoạn thẳng, dùng hàm Line có 2 tham số là 2 đỉnh đoạn thẳng (mỗi đỉnh có 2 tọa độ x,y). Để miêu tả đoạn cong, dùng hàm Bezier (font PostScript) hay hàm B-Spline (font TrueType). Hai hàm Bezier và B-Spline dùng 4 điểm điều khiển để xác định đoạn cong. Các tọa độ được dùng trong các hàm có đơn vị xác định trong 1 kích cỡ chữ luận lý (thường khá lớn, thí dụ trong ma trận 1000×1000 pixel). Khi cần hiển thị chữ ở 1 co chữ nào đó, máy sẽ phóng to/thu nhỏ (scale) các tọa độ trong các hàm với 1 hệ số thích hợp. Sau đó máy mới tính các hàm để xác định chuỗi các điểm xác định từng đoạn thằng/đoạn cong, nếu có sự méo dạng thì dùng các thông tin được thiết lập sẵn trong file font (do người thiết kế thiết lập) để cân chỉnh lại kết quả. Nhờ quá trình vẽ chữ khá tinh vi này mà ký tự của các font outline thường được hiển thị khá tốt cho mọi co chữ, đặc biệt khi co chữ càng lớn thì ký tự được hiển thị càng mịn và sắc sảo.
Người ta phân biệt font biểu diễn theo 1 byte và 2 byte của các bảng mã tiếng Việt: Phụ thuộc vào kỹ thuật thể hiện bảng mã mà một kiểu chữ có thể được thể hiện bằng một font hay hai font với một font riêng cho chữ thường và một font riêng cho chữ hoa.
ABC: Font biểu diễn theo 1 byte chữ thường của ABC có tên file bắt đầu bằng Vn (Vntime.ttf, Vnarial.ttf…). Tên font bắt đằu bằng .Vn (.VnArial, .VnTime…). – Font biểu diễn theo 1 byte chữ hoa có tên file bắt đầu là Vh (Vharial.ttf, Vhtime.ttf…). Tên font có chữ H cuối cùng (.VnArialH, .VnTimeH).
VNI: Font 1 byte (còn gọi là font OEM) có tên file là tên Việt (Andong.ttf, Rachgia.ttf…). Tên font cũng là tên Việt (Andong, Rachgia…). – Font 2 byte có tên file bắt đầu bằng chữ V (Vtimesn.ttf, Vhelven.ttf…). Tên font bắt đầu bằng chữ VNI (VNI-Times, VNI-Helve…). – Lưu ý: Font biểu diễn theo 1 byte của VNI do không tách riêng chữ thường và chữ hoa nên rất dễ xung đột với các phần mềm ứng dụng do các ký tự tiếng Việt chiếm luôn phần mã điều khiển của các phần mềm này. Ở ngoài DOS, ký tự tiếng Việt chiếm hết phần mã vẽ khung của bảng mã ASCII (từ 176 đến 223), nên khi nạp bảng mã VNI rồi thì các phần mềm hiển thị khung viền toàn bằng chữ. –
Vietware: Font 1 byte chữ thường có tên file bắt đầu bằng chữ S và cuối cùng là chữ l (scomscpl.ttf, shevel.ttf, slincoll.ttf…). Tên font bắt đằu bằng chữ SVN (SVNbook-antiqua, SVNhelvetica…). – Font 1 byte chữ hoa có tên file cuối cùng là chữ u (scomscpu.ttf, sheveu.ttf…). Tên font có chữ H cuối cùng (SVNlincoln H, SVNhelvetica H…). Font 2 byte: Tên file bắt đằu bằng chữ v (vantquab.ttf, vcomscp.ttf…). Tên font bắt đầu bằng chữ VN (VNlincoln, VNlucida sans…). –
Bách Khoa: Font 2 byte, tên file bắt đầu bằng chữ V, có số 2 ở cuối (Vtii2.ttf, Varr2.ttf…). Tên font bắt đầu bằng chữ Vn, cuối cùng là số 2 (VnTimes2, VnArial2…). –
VISCII: (của nhóm khoa học gia Tricholor) Tên file là tên Việt viết tắt, font 1 byte chữ hoa có thêm chữ H cuối (Am.ttf, AmH.ttf…). Tên font cũng là tên Việt (HoangYen, MinhQuan…). Font 2 byte có tên file bắt đầu bằng chữ Vn (Vntgb.ttf, Vntgbi.ttf…). Tên font bắt đầu bằng chữ VN (VN TienGiang…). –
VPS (của Vietnamese Professionals Society): Chỉ có font 1 byte. Tên file có chữ Vps đầu, font chữ hoa có chữ h cuối, font chữ thường có chữ t cuối (Vpsalh.ttf, Vpsalt.ttf…). Tên font cũng là tên Việt có chữ VPS ở đầu, font chữ hoa có thêm từ Hoa kèm theo tên (Vps An Loc, Vps An Loc Hoa…).
– Ưu, khuyết điểm của font biểu diễn theo 1 và 2 byteChắc chắn các bạn sẽ thắc mắc: Khi nào xài font biểu diễn theo 1 byte, khi nào xài font biểu diễn theo 2 byte và chúng có ưu, khuyết điểm gì? Xin giải thích như sau:- Do bảng mã của hệ điều hành DOS và Windows 9x là 1 byte, font hệ thống (tên font có phần mở rộng là .fon) của Windows 9x được biểu diễn theo 1 byte. Vì vậy, mọi phần mềm chạy trong Windows 9x dùng quản lý cơ sở dữ liệu, lập trình, thiết kế giao diện (menu, hộp thoại, thông báo…) bắt buộc phải sử dụng font biểu diễn theo 1 byte. Thí dụ: Foxpro, Paradox, Access, Visual Basic…Nhược điểm của cách mã hóa bằng 1 byte cho chữ Việt là có thể gây ra xung đột do dùng trùng mã điều khiển khi đưa vào các phần mềm ứng dụng. Mặt khác, việc phải dùng hai font cho một kiểu chữ làm tăng công việc khi lưu trữ, quản lý và sử dụng.- Cách biểu diễn 2 byte tương thích với hầu hết các phần mềm ứng dụng như: Soạn thảo văn bản, chế bản, đồ họa, bảng tính… và chỉ dùng một font cho một kiểu chữ. Nhược điểm là không tương thích với bảng mã của hệ điều hành nên không dùng làm font hệ thống được.
Tùy theo bạn đang sử dụng phần mềm nào mà chọn cách mã hóa và font có bảng mã theo 1 byte hay 2 byte thích hợp. – Phân biệt font Unicode – Do font Unicode được cung cấp kèm theo Windows có tên font, tên file giống như các font đang được Windows sử dụng (ngoại trừ các font Unicode do người Việt Nam tạo riêng), nên việc phân biệt font Unicode hay font không phải Unicode không quan trọng lắm. Bạn chỉ cần chọn bảng mã Unicode trong bộ gõ tiếng Việt rồi tiến hành gõ tiếng Việt trong Word 2000/XP là có thể biết font đang chọn có hỗ trợ tiếng Việt Unicode hay không. – Để phân biệt ký tự Unicode đang dùng là tổ hợp hay dựng sẵn, bạn hãy chọn một đoạn tiếng Việt trong MS Word, rồi đổi thành chữ in hoa bằng cách nhấn Shift và F3 cùng lúc. Nếu tất cả đều là chữ in, thì đó là cách biểu diễn ký tự Unicode cho tiếng Việt theo kiểu tổ hợp. Nếu những ký tự có dấu không thể chuyển sang chữ hoa thì đó chính là cách biểu diễn ký tự Unicode dựng sẵn. Thí dụ: DựNG SẵN và TỔ HỢP.
Trả lời