upLaTeX jfm橫排和直排字體的區別

橫排和直排的中文字體

今天想起比較一下 jfm 橫排和豎排的區別,文件目錄在: /usr/local/texlive/2019/texmf-dist/fonts/source/uptex-fonts/,中日韓分別有不同內容,這裏只看看中文橫排和直排的內容(詳細見文末)比如:

參數 橫排 直排
文件名 upschr-h upschr-v
DIRECTION - TATE
CHARWD 1.000000 1.000000
CHARHT 0.500000 0.880000
CHARDP 0.500000 0.120000

從上表可以看到橫排和直排(字形的)盒子模型的區別,特別是 DIRECTION 和字體名稱。兩個文件中都包含 GLUEKERN 這個“小程序”,就是 list,默認的漢字作爲 TYPE O 0,標點符號分不同的組,這是爲什麼呢?這就是 CJK 排版和西文排版的區別,ASCII 可以包含常用的西文字符,簡單理解爲等寬的半寬字符,而中文的字符是等寬的標點符號卻不完全是,在一些地方存在壓縮。TeX 系統有一個 glue 的概念,是彈性的,所謂彈性的意思是:glue 有一個固有尺寸,可以壓縮也就是 shrink,也往左右擴張叫做 stretch,所以一個 glue 包含三個數值,width stretch shrink,那麼對於漢字而言,這三個值不是變的,標點符號則不是。具體在一行中是否要改變 glue 的值,在 TeX 排版的時候會根據情況判斷的。所以現在繞回來,這個 gluekern 有什麼用,其實就是設置不同類型的標點兩兩組合,以及漢字+標點的組合之間的 glue 的值。

中文字和日文字體的區別呢?

upschr-h.pl

(COMMENT THIS IS A KANJI FORMAT FILE)
(FAMILY UPSCH KANJI)
(FACE F MRR)
(CODINGSCHEME TEX KANJI TEXT)
(DESIGNSIZE R 10.0)
(COMMENT DESIGNSIZE IS IN POINTS)
(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
(CHECKSUM O 0)
(FONTDIMEN
   (SLANT R 0.0)
   (SPACE R 0.0)
   (STRETCH R 0.100000)
   (SHRINK R 0.0)
   (XHEIGHT R 1.000000)
   (QUAD R 1.000000)
   (EXTRASPACE R 0.250000)
   (EXTRASTRETCH R 0.200000)
   (EXTRASHRINK R 0.125000)
   )
(GLUEKERN
   (LABEL O 0)
   (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
   (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
   (STOP)
   (LABEL O 1)
   (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
   (STOP)
   (LABEL O 2)
   (GLUE O 0 R 0.500000 R 0.0 R 0.500000)
   (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
   (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 5 R 0.500000 R 0.0 R 0.500000)
   (STOP)
   (LABEL O 3)
   (GLUE O 0 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 1 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 2 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 3 R 0.500000 R 0.0 R 0.250000)
   (GLUE O 4 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 5 R 0.250000 R 0.0 R 0.250000)
   (STOP)
   (LABEL O 4)
   (GLUE O 0 R 0.500000 R 0.0 R 0.0)
   (GLUE O 1 R 0.500000 R 0.0 R 0.0)
   (GLUE O 3 R 0.750000 R 0.0 R 0.250000)
   (GLUE O 5 R 0.500000 R 0.0 R 0.0)
   (STOP)
   (LABEL O 5)
   (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
   (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
   (KRN O 5 R 0.0)
   (STOP)
   )
(CHARSINTYPE O 1
   ‘ “ ( 〔 [ { 〈 《 「 『
   【
   UFF5F U3018 U3016 U301D 
   U2329 U301A 
   )
(CHARSINTYPE O 2
   、 , : ; ’ ” ) 〕 ] } 〉 》
   」 』 】
   UFF60 U3019 U3017 U301F 
   U232A U301B U301E 
   )
(CHARSINTYPE O 3
   ・
   U00B7 
   )
(CHARSINTYPE O 4
   。 . ? !
   )
(CHARSINTYPE O 5
   — ― … ‥
   )
(TYPE O 0
   (CHARWD R 1.000000)
   (CHARHT R 0.880000)
   (CHARDP R 0.120000)
   (COMMENT
      (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
      (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
      )
   )
(TYPE O 1
   (CHARWD R 0.500000)
   (CHARHT R 0.880000)
   (CHARDP R 0.120000)
   (COMMENT
      (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
      )
   )
(TYPE O 2
   (CHARWD R 0.500000)
   (CHARHT R 0.880000)
   (CHARDP R 0.120000)
   (COMMENT
      (GLUE O 0 R 0.500000 R 0.0 R 0.500000)
      (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
      (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 5 R 0.500000 R 0.0 R 0.500000)
      )
   )
(TYPE O 3
   (CHARWD R 0.500000)
   (CHARHT R 0.880000)
   (CHARDP R 0.120000)
   (COMMENT
      (GLUE O 0 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 1 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 2 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 3 R 0.500000 R 0.0 R 0.250000)
      (GLUE O 4 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 5 R 0.250000 R 0.0 R 0.250000)
      )
   )
(TYPE O 4
   (CHARWD R 0.500000)
   (CHARHT R 0.880000)
   (CHARDP R 0.120000)
   (COMMENT
      (GLUE O 0 R 0.500000 R 0.0 R 0.0)
      (GLUE O 1 R 0.500000 R 0.0 R 0.0)
      (GLUE O 3 R 0.750000 R 0.0 R 0.250000)
      (GLUE O 5 R 0.500000 R 0.0 R 0.0)
      )
   )
(TYPE O 5
   (CHARWD R 1.000000)
   (CHARHT R 0.880000)
   (CHARDP R 0.120000)
   (COMMENT
      (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
      (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
      (KRN O 5 R 0.0)
      )
   )

upschr-v.pl

(COMMENT THIS IS A KANJI FORMAT FILE)
(DIRECTION TATE)
(FAMILY UPSCH KANJI)
(FACE F MRR)
(CODINGSCHEME TEX KANJI TEXT)
(DESIGNSIZE R 10.0)
(COMMENT DESIGNSIZE IS IN POINTS)
(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
(CHECKSUM O 0)
(FONTDIMEN
   (SLANT R 0.0)
   (SPACE R 0.0)
   (STRETCH R 0.100000)
   (SHRINK R 0.0)
   (XHEIGHT R 1.000000)
   (QUAD R 1.000000)
   (EXTRASPACE R 0.250000)
   (EXTRASTRETCH R 0.200000)
   (EXTRASHRINK R 0.125000)
   )
(GLUEKERN
   (LABEL O 0)
   (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
   (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
   (STOP)
   (LABEL O 1)
   (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
   (STOP)
   (LABEL O 2)
   (GLUE O 0 R 0.500000 R 0.0 R 0.500000)
   (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
   (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 5 R 0.500000 R 0.0 R 0.500000)
   (STOP)
   (LABEL O 3)
   (GLUE O 0 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 1 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 2 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 3 R 0.500000 R 0.0 R 0.250000)
   (GLUE O 4 R 0.250000 R 0.0 R 0.250000)
   (GLUE O 5 R 0.250000 R 0.0 R 0.250000)
   (STOP)
   (LABEL O 4)
   (GLUE O 0 R 0.500000 R 0.0 R 0.0)
   (GLUE O 1 R 0.500000 R 0.0 R 0.0)
   (GLUE O 3 R 0.750000 R 0.0 R 0.250000)
   (GLUE O 5 R 0.500000 R 0.0 R 0.0)
   (STOP)
   (LABEL O 5)
   (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
   (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
   (KRN O 5 R 0.0)
   (STOP)
   )
(CHARSINTYPE O 1
   ‘ “ ( 〔 [ { 〈 《 「 『
   【
   UFF5F U3018 U3016 U301D 
   U2329 U301A 
   )
(CHARSINTYPE O 2
   、 , ’ ” ) 〕 ] } 〉 》
   」 』 】
   UFF60 U3019 U3017 U301F 
   U232A U301B U301E 
   )
(CHARSINTYPE O 3
   ・ : ;
   U00B7 
   )
(CHARSINTYPE O 4
   。 .
   )
(CHARSINTYPE O 5
   — ― … ‥
   )
(TYPE O 0
   (CHARWD R 1.000000)
   (CHARHT R 0.500000)
   (CHARDP R 0.500000)
   (COMMENT
      (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
      (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
      )
   )
(TYPE O 1
   (CHARWD R 0.500000)
   (CHARHT R 0.500000)
   (CHARDP R 0.500000)
   (COMMENT
      (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
      )
   )
(TYPE O 2
   (CHARWD R 0.500000)
   (CHARHT R 0.500000)
   (CHARDP R 0.500000)
   (COMMENT
      (GLUE O 0 R 0.500000 R 0.0 R 0.500000)
      (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
      (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 5 R 0.500000 R 0.0 R 0.500000)
      )
   )
(TYPE O 3
   (CHARWD R 0.500000)
   (CHARHT R 0.500000)
   (CHARDP R 0.500000)
   (COMMENT
      (GLUE O 0 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 1 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 2 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 3 R 0.500000 R 0.0 R 0.250000)
      (GLUE O 4 R 0.250000 R 0.0 R 0.250000)
      (GLUE O 5 R 0.250000 R 0.0 R 0.250000)
      )
   )
(TYPE O 4
   (CHARWD R 0.500000)
   (CHARHT R 0.500000)
   (CHARDP R 0.500000)
   (COMMENT
      (GLUE O 0 R 0.500000 R 0.0 R 0.0)
      (GLUE O 1 R 0.500000 R 0.0 R 0.0)
      (GLUE O 3 R 0.750000 R 0.0 R 0.250000)
      (GLUE O 5 R 0.500000 R 0.0 R 0.0)
      )
   )
(TYPE O 5
   (CHARWD R 1.000000)
   (CHARHT R 0.500000)
   (CHARDP R 0.500000)
   (COMMENT
      (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
      (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
      (KRN O 5 R 0.0)
      )
   )
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章