[Note] My CJK 筆記

My CJK 讀後筆記   http://edt1023.sayya.org/tex/mycjk/mycjk.html

1.、2. 前言、字型選擇

  • CJK – Latex2e的一個package,Werner Lember發展,用於排中日韓、東南亞語文
  • 傳統PK點陣字型:難以縮放,檔型較小
  • 中文Type1字型(向量):只能放256個字,透過New font selection scheme分成數十檔案放
  • 中文CID-Keyed(向量):字型實體放在一個檔案中,用索引來取字。
  • 中文TTF(向量):目前最常使用的字型。

3.安裝說明、工具

  • teTex:(目前已停止開發?)
  • t1utils:處理Type1字型工具
  • ttf2pt1: ttf 轉 Type1
  • ttf2pt1-chinese: ttf2pt1轉中文時需要的Unicode對應表
  • FontForge: 字型編輯工具,可以編輯向量、點陣字型,有GUI
  • DVIPDFM:DVI轉PDF工具,使用TTF/CID-Keyed字型、可內嵌字型。
  • CJK巨集套件:latex2e的packages
  • hyperref:用來產生在PDF中的中文目錄、交互參照的超連結
  • Latex2HTML:將LaTex轉為HTML工具,需要perl

4.製作中文 Type1字型

  • 需要字型資料:Tex/LaTex:只需要*.tfm ,生成*.dvi
  • 各種字型資訊檔意義:
  • *.tfm (TeX Font Metric, 字型描述檔):(binary)Tex有這個字型描述檔就可以生成*.dvi
  • *.afm (Ascii Font Metric):(ascii) 需要afm2tfm產生 *.tfm,TTF的話需要ttf2tfm來產生 *.tfm
  • *.mf:Knuth教授的MetaFont,需要另外產生bitmap的*.gf,再由gftopk產生pk字型,副檔名是 *.mp,*.mpost
  • *.pfa (POSTSCRIPT Font Ascii):(ascii) 可由t1asm來轉binary,即 *.pfb
  • *.pfb (POSTSCRIPT Font Binary):(binary) 和 *.pfa同
  • *.*pk (packed font):這是給dvi viewer/printer/divps用的點陣字,以產生字型嵌入 *.ps,或是給printer用,可以 Metafont/Type1/TTF轉成。 *.600pk指 600dpi的pk字型。
  • *.fd (font description):給LaTex找字刺的字型定義檔
  • 字型放置資訊:參考 TeX Directory Structure
  • 字型放置資訊也可以用LaTex的package: kpathsea來找。
  • mkfont.sh:用來製作中文Type1的一個sh script,主要利用ttf2pt1
  • 由FontForge來製作字型:

5. CJK語法簡介

  • CJK是LaTex的一個套件,所以要先熟悉LaTex的語法。
  • 註:CJK目前已納入LaTex的套件,編碼可使用UTF8?
  • CJK的主要架構:
documentclass[12pt,a4paper]{article}

usepackage{CJK}
...
這裡是 preamble 區
...
begin{document}
...
這裡可以寫非 CJK 的文字
...
begin{CJK}{Bg5}{aming}
...
這裡才是本文區,可以寫中日韓各種不同編碼的語文
目前是定在 Bg5,就是我們的 Big-5 編碼
...
end{CJK}
...
這裡可以寫非 CJK 的文字
...
end{document}
  • 變更字體: CJKfamily{akai}
  • 變更字距行距:CJKglue

中英混合間距、中文斷行問題。因為中英不同的特同、而需要特別的設定。

  • 手動控制:中英文間加入空白、使用英文的逗點…
  • 使用 CJK* begin{CJK*}{Bg5}{aming} …..end{CJK*},可以去掉中英文間的空白,按Enter的斷行可以自動去掉空白。中英文間距,可以用CJKtitle,然後在中英文間加 ~
  • 由程式本來解決:cwTeX、ChiTeX

直排問題

  • 使用 CJKvert,原理是將原來的字型旋轉90度,不過會有頁碼的問題?
    ...
    usepackage{CJK}
    usepackage{CJKvert}
    ...

漢字加點、畫線

  • 例如中文的書名號、私名號
  • 要用 CJKfntef,它會自動載入CJK package,不用另外載入 CJK。需不要要把記號顏色?CJKfntef和color package的位置決定。
    ...
    usepackage{color}      % 需要顏色放前面
    usepackage{CJKfntef}
    [usepackage{color}]    % 不需要顏色放後面
    ...

6. CJK和LaTeX2HTML的配合
語法簡介

  • 使用前,要在preamble引入 usepackage{html},儘量在其他package後引入html,因為有些package LaTeX2HTML不支援,或是用 %begin{latexonly},latex2html就會忽略這個package

7. CJK和KOMA-Script

8.CJK編輯大型文件

  • 可以編輯一個主架構檔,再引入其他章節

9.如何造字

  • 一些不常見的字,例:堃、煊之類的,如果想自行造字的話,可以取用Free的字型來重組造字。
  • 工具:FontForge

10. 後記
Tex系統特別應用

  • 樂譜
  • 象棋棋譜
  • 數學式
  • 化學式
  • 圍棋棋譜

●副檔名
.ins : installation script
.dtx: documented LaTex source
.sty: Style template
.fmt: 字型檔?

廣告

, ,

  1. 發表留言

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: