Article:
TextMate và CJK
1284
jishin.myopenid.com 18Updated over 2 years ago |
TextMate là chương trình soạn thảo plain text nổi tiếng nhất trên Mac hiện nay (nhì có lẽ là Smultron). Tuy nhiên hiện mới nhất 1.5.7 hiện nay vẫn chỉ mới cho phép nhập và hiển thị tiếng Anh, chưa cho phép nhập và hiển thị đúng chữ tiếng CJK (viết tắt của hệ chữ Trung Quốc, Nhật, Hàn Quốc). Bài viết sau hướng dẫn cách khắc phục. Sau khi khắc phục, hệ quả thú vị là có thể nhập cả tiếng Việt và những thứ tiếng khác bộ gõ trên Mac hỗ trợ
.
Nhập
Để nhập được, cần cài CJK-Input.tmplugin.
Tải về, giải nén, rồi copy thư mục CJK-Input.tmplugin vào trong thư mục /Applications/TextMate.app/Contents/PlugIns (với phiên bản TextMate 1.5.4 là ~/Library/Application Support/TextMate/PlugIns).

Hiển thị
Đến đây thì đã có thể nhập, nhưng chữ hiển thị bị chồng lên nhau vì phông chữ CJK bình thường chiếm 2 khoảng (全角) chứ không phải là 1 khoảng (半角). Chỉ cần kiếm phông chữ CJK đặc biệt chỉ chiếm 1 khoảng, cài vào máy, rồi vào phần cấu hình của TextMate chỉ định phông chữ hiển thị là phông chữ vừa cài là xong.
Vấn đề là tìm đâu ra phông chữ 1 khoảng
? Chúng ta thử dùng chương trình FontForge để tự chế tạo xem sao.
- Cài FontForge bằng MacPort: sudo port install fontforge.
- Download phông M+1VM+IPAG-circle.ttf và VeraMono.ttf về, để vào cùng thư mục.
- Trong Terminal chuyển vào thư mục đó, gõ lệnh fontforge -script, cắt dán đoạn mã dưới vào, rồi gõ Ctrl+D. Chờ khoảng 10 giây sẽ thu được tập tin TextMate.ttf. Finder nhấn đúp vào nó để cài.
# Cắt nhỏ phông tiếng Nhật
Open("M+1VM+IPAG-circle.ttf");
SelectAll()
foreach
Scale(130, 200, 0, 0) # Ngang 1,3 lần, cao 2 lần
endloop
Generate("temp.ttf", "", 0x14) # Xuất tạm ra tem.ttf, lấy đại số 0x14
Close()
# Trộn với phông tiếng Anh monospace
Open("VeraMono.ttf");
MergeFonts("temp.ttf");
SetFontNames("TextMate-Regular", "TextMate", "TextMate Regular", "Regular", "")
Generate("TextMate.ttf", "", 0x14)
Close()
FontForge có vẻ thú vị phải không! Bạn thử tìm hiểu rồi chia sẻ kinh nghiệm cho mọi người nhé
.
Tham khảo
1 2 
18
Updated over 3 years ago
over 2 years ago