標籤:

在ApTeX中使用OpenType

本文接上文,介紹一下在ApTeX中使用OpenType的語法,我先來看看語法和例子:

語法: jfont =name name = "ot:" file_name file_index? gsub_spec? ":" jfm_name file_index = "[" number "]" gsub_spec = ";" gsub_fea_list gsub_fea_list = (fea_tag ",")* [fea_tag | "*"] * for all gsub featurs示例: jfont =ot:yumin.ttf;jp90,hojo:upjisr-h font =ot:yumin.ttf;vert:upjisr-v jfont =ot:simsun.ttc[1]:upjisr-h jfont =ot:SourceHanSansTC-Normal.otf:uprml-h

我們在plain TeX上面是可以裸用fontjfont font任何一個命令的,比如我們可以如此使用:

jfontfnt=ot:simsun.ttc[1]:upjisr-h at 15ptfnt我能吞下玻璃而不傷身體。ye

在LaTeX下也不麻煩,我們可以按照正常的NFSS方法走:

documentclass[12pt]{article}DeclareFontFamily{JY2}{fandolsong}{}DeclareFontShape{JY2}{fandolsong}{m}{n}{<->s*[0.962216]ot:FandolSong-Regular.otf:upjisr-h}{}DeclareFontShape{JY2}{fandolsong}{bx}{n}{<->ssub*simsun/m/n}{}DeclareRobustCommandfandolsong{kanjifamily{fandolsong}selectfont}DeclareFontFamily{JY2}{emj}{}DeclareFontShape{JY2}{emj}{m}{n}{<->s*[0.962216]ot:seguiemj.ttf:upjisr-h}{}DeclareRobustCommandemj{kanjifamily{emj}selectfont}egin{document}fandolsong Large 在正文中使用帶色顏文字:{emj ????????}end{document}

生成的PDF效果如下:

我們也可以利用不同的gsub屬性來控制輸出,比如做到如下的效果:

當然,還有必要秀一下滿屏的color emoji,這個在我這裡是底層就支持的,但也僅僅支持OpenType說明中帶有CPAL/COLR表的多層方法:

這個版本只是個開始,接下來還有更多的工作,比如支持OpenType的自然寬度。對,現在的OpenType支持只是代理或者映射形式的,這個目的是為了一些固定場景的排版需求的(某種特定類型的標點處理)。對於自然寬度的,比如pkna的支持(圖出自helpx.adobe.com/typekit,如下圖)還需要熬兩三個通宵。

這個版本也熬夜熬了幾個通宵,現在是真的感覺身體被掏空。請允許我做一個悲傷的表情。

代碼以及可執行文件更新都已經推到github上去了,見

  • github.com/clerkma/ptex
  • github.com/clerkma/ptex

W32TeX中的可執行文件,大約下午就會有編譯版本了。
推薦閱讀:

如何在 Microsoft Word 2013 裡面通過鍵盤輸入公式和希臘字母?
為什麼 LaTeX 中要用 igl, igr 等命令來處理定界符,而儘可能避免 left 和
ight?

如何快速查看 LaTeX 的宏命令的實現?
TeX 編程有哪些資料與工具?
LaTeX把一個字元放在另一個上面, 但是字元寬度按照下面的字元來的效果怎麼做出來?

TAG:LaTeX |