PDA

View Full Version : Nhúng phông chữ chung với tài liệu Word ?


khigiadano
28-10-2008, 10:09 PM
- Vào menu File> Save as, trong mục Tools chọn chức năng Save Options.
- Xuất hiện hộp thoại Save, đánh dấu chọn mục Embed TrueType fonts rồi nhấn OK để lưu trữ tài liệu.

Lúc này, các phông chữ cần thiết sẽ được “nhúng” vào tài liệu của bạn.

Tuy nhiên với cách làm như trên, các phông chữ cần thiết luôn được lưu trữ cùng với mọi tài liệu của bạn, giả sử bạn có 100 tài liệu sử dụng phông chữ VNI-Viettay th́ phông này sẽ được nhúng đúng 100 lần trong 100 tài liệu đó gây lăng phí vô ích.

Có một cách khác tiết kiệm và hiệu quả hơn:

- Tạo một thư mục tên là fonts đặt cùng thư mục với tài liệu Word của bạn.

- Sao chép các phông chữ cần thiết vào thư mục fonts vừa tạo.

- Mở tài liệu Word, nhấn tổ hợp phím Alt+F11 hoặc vào menu Tools > Macro > Visual Basic Editor để mở cửa sổ Microsoft Visual Basic. Bạn nhấn đúp chuột vào mục Project (<ten_tai_lieu_cua_ban>) > Microsoft Word Objects > This Document để mở cửa sổ soạn thảo lệnh và nhập vào đoạn mă sau:

+Các khai báo

Private Declare Function AddFontResource Lib “gdi32” Alias “AddFontResourceA” (ByVal lpFileName As String) As Long

Private Declare Function RemoveFontResource Lib “gdi32” Alias “RemoveFontResourceA” (ByVal lpFileName As String) As Long

Private Declare Function SendMessage Lib “user32” Alias “SendMessageA” (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long

Private Declare Function GetActiveWindow Lib “user32” () As Long

Private Const WM_FONTCHANGE = &H1D

+Tự động cài đặt phông chữ khi tài liệu được mở

Private Sub Document_Open()

Dim File As String

File = Dir$(ThisDocument.Path & “\fonts\” & “*.ttf”)

Do While Len(File)

AddFontResource(ThisDocument.Path & “\fonts\” & File)

File = Dir$

Loop

SendMessage(GetActiveWindow, WM_FONTCHANGE, 0, 0)

End Sub

‘Gỡ bỏ các phông chữ khi đóng tài liệu

Private Sub Document_Close()

Dim File As String

File = Dir$(ThisDocument.Path & “\fonts\” & “*.ttf”)

Do While Len(File)

RemoveFontResource(ThisDocument.Path & “\fonts\” & File)

File = Dir$

Loop

End Sub

Lưu đoạn mă lệnh và đóng cửa sổ Microsoft Visual Basic. Đóng và mở lại tài liệu Word để các thay đổi có hiệu lực.

Như vậy khi bạn mở tài liệu của ḿnh trên máy tính khác, chương tŕnh sẽ tự động cài đặt các phông chữ trong thư mục fonts lên máy tính để bạn làm việc.

Ghi chú: Để đoạn mă lệnh trên được thực hiện, bạn phải thiết lập chế độ Security của Word là Medium (vào menu Tools > Macro > Security, chọn thẻ Security Level và chọn mục Medium). Khi mở tài liệu, Word sẽ hiện hộp thông báo Security Warning, bạn chọn Enable Macros để chương tŕnh cài đặt phông thực thi.

Bạn có thể cải tiến bằng cách viết riêng một tài liệu Word chỉ cho mục đích cài đặt phông chữ và một tài liệu khác cho mục đích gỡ bỏ các phông chữ vừa cài.

Ưu điểm của cách làm này là tiết kiệm được dung lượng lưu trữ nếu có nhiều tài liệu sử dụng chung một số font chữ nào đó (có ích khi bạn cần lưu trữ các tài liệu lên đĩa CD chẳng hạn) và bạn cũng dễ dàng quản lư các font chữ hơn.