VietTUG.org - old forum - threads' archive

thread_id = 2179, contains 2179, 2189, 2190, 2191, 2192, 2193, 2194, 2195
id = 2179, parent = 0, thread = 2179, catid = 10, locked = 0, moved = 0,
userid = vanchutr, ip = 125.234.242.195, time = 2006/05/22 (1148236001) ,
subject = vài ý về nạp font, hits = 2389, karma = 0+0-,
Một sô ý kiến về việc dùng font. (esp. tiếng Việt)

Mục đích của bài này là giới thiệu cách dùng phối hợp các gói tcvn và vntex, và cuối cùng sự phối hợp đó cho phép dùng được các loại font mà 2 gói này cung cấp. (Nên biết gói tcvn cho tất cả các font tcvn, gói vntex cho các font urwvn, vnr, và đặc biệt gói vntex còn hỗ trợ hai họ font `thư pháp' và `hung lan'. (Gói tcvn do Mr Nguyễn Đại Quý thiết kế và gói vntex do Mr Hàn Thế Thành, còn các họ font ` thư pháp, hung lan' cũng do Hàn Thế Thành và một vài người khác hỗ trợ (như Mr Lê Bá Phi...). Tôi xin gửi lời cám ơn đến các vị đó.


Để dùng được tất cả các font đó trong cùng tài liệu thì ta dịch bằng trình pdflatex (tác giả Hàn Thế Thành; cũng chính là tác giả của gói vntex).

Một nguyên tắc cơ bản của trình pdflatex là: pdflatex dịch và dùng font thông qua các file .map. Bởi vậy nó đòi hỏi phải có các file .map tương ứng với mỗi họ font mà nó cần đến trong quá trình dịch.

Chỉ tính riêng cho gói vntex và những font mà gói này hỗ trợ thì: Chúng ta có những file .map sau đây: urwvn.map, vnr.map, vnthuphap.map và vn-hl.map (và cũng chỉ quan tâm đến các file .map này thôi).

Do đó:

Để dùng font thu phap với vntex thì chúng ta cần thực hiện các bước sau:

Khai báo trong phần preamble như sau:

\pdfmapfile{=vnthuphap.map}



Sau đó ta dùng các lệnh gọi font `thư pháp' và dùng các font thư pháp đó

Một preamble cơ bản và tài liệu:

\documentclass[11pt]{article}
\usepackage{vietnam}
\pdfmapfile{=vnthuphap.map}
\font\fTPa=htf1bkup8v at 30pt
\begin{document}
Nhập nội dung ở đây
{\fTPa Gọi font thư pháp ở cở 30pt được chữ to}
\end{document}



Trong khai báo thì chỉ dùng tùy chọn mặc định với lệnh \usepackage{vietnam} nên ta phải nhập nội dung tài liệu bằng mã nhập viscii. (Nếu muốn dùng mã nhập khác thì chúng ta phải dùng tùy chọn tương thích -- Hãy đọc tài liệu của vntex).

Phải dùng trình dịch pdflatex để dịch tài liệu (để ý đến phần khai báo lệnh dùng file dùng map của pdflatex: \pdfmapfile{=vnthuphap.map})


Ví dụ:


Gọi font `Hung Lan' bằng lệnh:

\usefont{T5}{htf3bk}{m}{n}


Gọi font ABC với:

\newcommand\VnFreeH{\usefont{VN1}{vnfreeh}{m}{n}}


Gọi font của `vntex'

\newcommand\pags{\usefont{T5}{pag}{m}{sl}}


Để dùng một font nào đó thì chúng ta dùng các lệnh gọi font. Một lệnh gọi font thường dùng đến các tham như: mã của font, tên họ font, cở font, dạng font.

Ví dụ:

\newcommand\phvn{\usefont{T5}{phv}{m}{n}}


là lệnh tạo ra một lệnh mới có tên \phvn; lệnh \phvn khi được dùng thì nó có nhiệm vụ chuyển đổi từ font hiện dùng sang font có chuẩn mã T5 thuộc họ phv, dạng trung bình m và cở bình thường n.

Chúng ta thường dùng các lệnh gọi font sau:

\DeclareFixedFont{\bigghv}{T1}{vhobo}{b}{n}{20pt}
\newcommand\phvn{\usefont{T5}{phv}{m}{n}}
\font\fTPa=htf1bkup8v at 30pt
\usefont{T5}{htf3bk}{m}{n}


Ba dạng lệnh đầu đều có vẽ `giống nhau', chúng định nghĩa các lệnh mới \bigghv, \phvn\fTPa dùng các lệnh mới này thì chuyển được sang các font tương ứng với chuẩn mã, kích cở, dạng ... theo các tham có mặt trong lệnh đó.

Lệnh cuối cùng chỉ có nhiệm vụ chuyển font hiện dùng sang font htf3k với chuẩn mã T5, dạng m và cở n. Như vậy kể từ khi lệnh này phát ra thì nội dung của tài liệu sẽ hiển thị dưới font htf3k cho đến khi có lệnh chuyển đổi sang font khác. (Do đó ta nên dùng ba dạng lệnh đầu cho tiện lợi đỡ nhọc sức).

Nói thêm

Gói vntex dùng mã chuyển đổi T5 bởi vậy việc chuyển đổi các font từ họ này sang họ khác cũng chỉ đi loanh quanh trong mã T5. Có lẽ đó cũng là một điều cần quan tâm.

Ví dụ: Gói OmegaVn lại dùng mã chuẩn OT1; bởi thế khi muốn dùng những họ font khác nhau thì OmegaVn phải có những file định dạng để chuyển các mã của các họ font khác nhau về chuẩn mã cơ sở mà nó cần dùng (đó là chuẩn OT1). Điều đó cũng đúng với gói vntex; gói này dùng mã chuẩn T5.

Chú ý: Để dùng được font ABC thì chúng ta phải có bộ font của ABC, và phải cài đặt trong hệ MikTeX của chúng ta -- nếu dùng MikTeX (Font ABC là một phần của gói tcvn do Mr Nguyễn Đại Quý viết)

NB: Bạn có thể xem file này ở dạng .pdf; bằng cách load file dung-font.zip về từ www.esnips.com/web/viettug-public.

Chúc nhiều may mắn.
 
id = 2189, parent = 2179, thread = 2179, catid = 10, locked = 0, moved = 0,
userid = hoangoclan, ip = 125.234.245.92, time = 2006/05/22 (1148288327) ,
subject = Re:vài ý về nạp font, hits = 0, karma = 0+0-,
Cảm ơn Thầy Chú đã viết bài này! cho phép em sử dụng lại các thông tin thầy hướng dẫn trên đây được không ạ, bài thấy viết rất dễ hiểu.
 
id = 2191, parent = 2189, thread = 2179, catid = 10, locked = 0, moved = 0,
userid = viettug, ip = 222.252.225.153, time = 2006/05/22 (1148289126) ,
subject = Re:vài ý về nạp font, hits = 0, karma = 0+0-,
Please read here: LINK_HERE
hoangoclan:
Cảm ơn Thầy Chú đã viết bài này! cho phép em sử dụng lại các thông tin thầy hướng dẫn trên đây được không ạ, bài thấy viết rất dễ hiểu.
 
id = 2194, parent = 2189, thread = 2179, catid = 10, locked = 0, moved = 0,
userid = vanchutr, ip = 125.234.246.60, time = 2006/05/22 (1148291073) ,
subject = Re:vài ý về nạp font, hits = 0, karma = 0+0-,
Bạn Hoangnglan cứ dùng thoải mái tất cả những gì mà tôi viết cho viettug.
Bởi vì bạn muốn kiếm ra tiền từ những điều đó thì bạn cũng phải đổ mồ hôi, sôi nước mắt.
 
id = 2195, parent = 2194, thread = 2179, catid = 10, locked = 0, moved = 0,
userid = viettug, ip = 222.252.225.153, time = 2006/05/22 (1148291369) ,
subject = Re:vài ý về nạp font, hits = 0, karma = 0+0-,
Bản quyền là một cách thể hiện sự trân trọng và tri ân với tác giả mà

Trích dẫn, tác giả, nguồn, bản quyền,... dùng mọi thứ của VietTUG đều tốt cả, nhưng hãy để ý những cái đó
vanchutr:
Bạn Hoangnglan cứ dùng thoải mái tất cả những gì mà tôi viết cho viettug.
Bởi vì bạn muốn kiếm ra tiền từ những điều đó thì bạn cũng phải đổ mồ hôi, sôi nước mắt.
 
id = 2190, parent = 2179, thread = 2179, catid = 10, locked = 0, moved = 0,
userid = hhp, ip = 222.253.2.47, time = 2006/05/22 (1148288506) ,
subject = Re:vài ý về nạp font, hits = 0, karma = 0+0-,
Mình bổ sung thêm một vài ý

1) \pdfmapfile chỉ có tính "địa phương"
- Trong mỗi file .tex đều phải khai báo nó
- Chỉ dùng được cho biên dịch theo pdflatex và như vậy khi cần đến DVI,PS,PDF(ps2pdf) là TeX không tìm được các file map này.
- Thường ta dùng \pdfmapfile khi các file hỗ trợ cho font chỉ hỗ trợ cho pdflatex(không hỗ trợ cho latex,dvips,ps2pdf), ví dụ: trong vntex(HTT) các font khai báo trong mscorevn.map và vnthuphap.map chỉ hỗ trợ cho pdflatex (vì nó dùng true type)
2) Khi các file hỗ trợ cho font, hỗ trợ tất cả: pdflatex,latex,dvips,ps2pdf, thì nên khai báo file map này trong updmap.cfg để dùng được tất cả và khỏi mất công khai báo trong mỗi file .tex
 
id = 2192, parent = 2190, thread = 2179, catid = 10, locked = 0, moved = 0,
userid = hoangoclan, ip = 125.234.242.26, time = 2006/05/22 (1148289419) ,
subject = Re:vài ý về nạp font, hits = 0, karma = 0+0-,
Phương pháp cập nhật updmap.map này bác hhp có chỉ em vài lần, làm việc rất có hiệu quả và đỡ mất công khai báo cho mệt.
để cập nhật updmap.map cho MikTeX làm như sau: mở file updmap trong thư mục web2c của MiKTeX thêm các tên của các map file cho từng gói font.

vào cmd gõ cd để chuyển tới mục MiKTeX\texmf\web2c rồi updmap nhấn enter, đợi chút xíu là xong, có đôi khi MikTeX 2.5 beta 7 chạy thì báo lỗi....

không biết cập nhật cho Linux thì thế nào, kể cả việc cài đặt font cho tetex nữa mong bác kyanh chỉ giáo thêm cho.
 
id = 2193, parent = 2192, thread = 2179, catid = 10, locked = 0, moved = 0,
userid = viettug, ip = 222.252.225.153, time = 2006/05/22 (1148290188) ,
subject = Re:vài ý về nạp font, hits = 0, karma = 0+0-,
nói rùi: miktex ngày càng giống tetex