Tạo font chữ
Font hệ thống : - Cấu tạo : Gồm các vector biên, và ơ giữa được tô bằng thuật toán fill - Ưu điểm : system font đẹp hơn các font khác. - Nhược điểm : Do system font có nhưng vùng tô nên nặng hơn các font khác. Tốc độ tái sinh ...
Font hệ thống :
- Cấu tạo : Gồm các vector biên, và ơ giữa được tô bằng thuật toán fill
- Ưu điểm : system font đẹp hơn các font khác.
- Nhược điểm : Do system font có nhưng vùng tô nên nặng hơn các font khác. Tốc độ tái sinh (render, pan, zoom) sẽ rất chậm.
Shape font :
- Cấu tạo bơi các shape trong được mô tả trong file .SHP.
- Ưu điểm : Vì các ký tự trong font đều là các shape nên được tải nhanh hơn, tốc độ render được cải thiện đáng kể nhất là đối với các bản vẽ lớn.
- Nhược điểm : Không đẹp lắm.
Big font
Cấu tạo :bơi các shape. Tuy nhiên nó có thể là phần nối dài của các shape font nói trên. Shape font có chứa tối đa 255 ký tự còn big font có thể chưa đến 65535 ký tự.
Font chữ SHX được tạo ra và sử dụng trong AutoCAD. Mỗi ký tự của font là một shape được mô tả trong file shape. Trong đó shape number chính là mã ascii của ký tự đó (từ 0 đến 255).
Để phân biệt với các shape file khác, các font chữ phải có dòng mô tả đầu tiên như sau:
*0,4,font-name
above,below,modes,0
Font-name : Tên font chữ
Above : Khoảng cách giữa đường top và đường Baseline
Below : Khoảng cách giữa đường Bottom và đường Baseline.
Modes
- 0 : Chữ viết theo phương nằm ngang.
- 1 : Chữ viết theo phương thẳng đứng.
- 2 : Chữ viết được theo cả hai phương nằm ngang và thẳng đứng.
(vẽ hình minh họa vào đây)
Tạo một ví dụ minh họa font chữ bao gồm chữ ABC. Có thể lấy một file font shape bất kỳ rồi minh họa.
Trong thực tế, font chữ của một vài ngôn ngữ (tiếng Nhật) chứa hàng nghìn ký tự không phải là mã ACII. Để bản vẽ chứa đượcnhiều font như vật AutoCAD cung cấp một dang file gọi la big font file.
Big font file cũng được miêu tả trong file .SHP và được dịch thành file .SHX. Dòng đầu tiên của big font có dạng như sau :
*BIGFONT nchars,nranges,b1,e1,b2,e2,….
nchars : số lượng gần đúng các ký tự trong Big font này. Nếu sai số lớn hơn 10% thì tốc độ truy xuất sẽ rất chậm.
nrangs : số lượng các miềm giá trị chứa các giá trị sử dụng làm mã escape codes. b1, e1, b2, e2, …
- b1, e1 là giá trị bắt đầu và kết thúc của miền giá trị thứ nhất
- b1, e1 là giá trị bắt đầu và kết thúc của miền giá trị thứ hai
Trong các file kiểu chữ tượng hình châu á, có nhiều khối được sử dụng lại nhiều lần như các dấu trong tiếng việt (dấu sẵ, huyền,…). Các khối này được mô tả trong các Subshape, có thể dùng lại để tạo các shape khác nhau.
Dòng đầu tiên của các big font file mơ rộng tương tự như big font file bình thường :
*BIGFONT nchars,nranges,b1,e1,b2,e2,….
Dòng thứ hai sẽ giúp nhận biết là big font mơ rộng :
*0,5,font-name
character-height,0,modes,character-awidth,0
Font name : Tên của big font
Character-height, character-awidth : Chiều cao và chiều rộng hình chữ nhật cơ sơ để mô tả ký tự.
Modes
- 0 : Chữ viết theo phương nằm ngang.
- 1 : Chữ viết theo phương thẳng đứng.
- 2 : Chữ viết được theo cả hai phương nằm ngang và thẳng đứng.
mã 00E (14) chỉ có tác dụng khi giá trị modes bằng 2.Các dòng tiếp tho mô tả các shape và dùng mã 007 để chèn các subshape. Các subshape cũng phải được mô tả như cá shape thông thường khác.
*Shapenumber,defbytes,shapename
specbyte,…,007,0,primitive#,basepoint-x,basepoint-y,awidth,height,spectbyte,…,0
Shapenumber : số nguyên 2 byte, ơ dạng thập lục phân, và do đó, phải có thêm số 0 ơ phía trước.
Defbytes : số lượng các bye mô tả (specbyte) cần thiết để mô tả shape (kể cả số 0 sau cùng). Giá trị shapenumber của subshape (theo sau mã 007) được tính là 2 byte.
Shapename : Tên ký tự
Specbyte : byte mô tả
007,0 : 2 byte bắt đầu đoạn chèn subshape
Primitive# : giá trị shapenumber của shape.
basepoint-x,basepoint-y : thành phần tọa độ x,y của điểm chèn subshape.
Width, height : chiều rộng, chiều cao của subshape. Trước khi được chèn, kích thước subshape sẽ được thu nhỏ bằng 1 ô vuông đơn vị, sau đó nó được phóng to tương ứng với giá trị Width, height.
Spectbyte : các byte mô tả của subshape.