這個單個BASH腳本將您的TTF或OTF字體類型文件轉換為Postscript Type1文件,更新字體示例文件,並為Lout排版系統填充用戶字體數據庫。
Basser Lout是一個出色的排版系統,不幸的是,與Latex相比,它具有陰影。我獲得了乳膠和格羅夫的經驗,都有他們的優點和缺點。如果我應該向排版新手推荐一個系統,我顯然會建議Lout。它非常豐富,易於學習,並且在您的系統上留下了少量的佔地面積。要排版漂亮的文檔,人們不想堅持LOUT提供的字體,而是需要輕鬆且無憂的訪問所有已安裝的字體。畢竟,排版對於任何認真的作者或以設計為導向的人都很重要。
將自定義字體嵌入到Tex,Troff或Lout設置的文檔中的過程基本上是相同的,您必須提供PostScript字體。
該腳本將您選擇的字體轉換為那些PS type1字體,更新ghostscripts fontmap文件,並將每個字體的條目添加到lout的個人字體數據庫(默認名稱:myfontdefs.ld)。第一部分對乳膠和格羅夫用戶也可能有幫助。
轉換是由外部程序TTF2PT1完成的,您可以切換到其他工具,例如Tex發行版也為此提供了一些工具。我的目標是實現安裝過程,而無需任何手動干擾。儘管TTF2PT1是一個非常舊的工具,並且確實需要Mac OS X和Linux系統上的一些補丁,但它會產生非常不錯的PS字體。它依靠Freetype2庫來轉換TTF和OTF字體。您也可以堅持內置的TTF轉換器,但是,它不會轉換OTF字體。
您可能必鬚根據自己的特定需求來採用腳本。我的設置是我在目錄中具有所有字體(〜/.fonts)。腳本(或指向其鏈接)以及所有相關的PS字體文件(.afm,.pfb,fontmap)。
要安裝使用Lout使用的新字體,只需在此目錄中提取.ttf或.oft文件並運行
./addfonts.sh
該腳本相當交流,還將其輸出(以及TTF2PF1的輸出)記錄到Addfonts.log。
選擇合適的安裝目錄並下載來源:
wget http://prdownloads.sourceforge.net/ttf2pt1/ttf2pt1-3.4.4.tgz
還要獲取Freetype 2庫的標題文件(如果尚未安裝),請使用您的軟件包管理器。這是Debian系統的示例:
sudo apt-get install libfreetype6-dev
提取tarball:
tar xvzf ttf2pt1-3.4.4.tgz
將作為存儲庫一部分的補丁文件移至當前目錄,然後在ft.patch上應用:
mv ~/my_addfonts_path/*.patch .
patch ./ttf2pt1-3.4.4/ft.c < ft.patch
現在,根據您的需要在TTF2PT1-3.4.4中採用Makefile。您可能會發現我的makefile有用,它將為您提供一個很好的起點(原始的makefile在SED表達式中具有錯別字):
patch ./ttf2pt1-3.4.4/Makefile < Makefile.patch
運行並製作安裝以編譯並在系統上安裝TTF2PT1:
cd ttf2pf1
make
sudo make install
在Lout文檔中使用TTF/OTF字體非常簡單。在運行AddFonts.sh後,LOUT的用戶字體數據庫可在同一字體目錄(MyFontDefs.ld)中使用。 Lout本身僅需要.afm文件,使用Ghostscript創建PS和PDF文件也需要.pfb(binary)或.pfa(ascii)文件。在MyFontdefs.ld中查看您要使用的字體輸入。 AddFonts.log還將告訴您已安裝了哪些字體。在您的Lout文檔中,添加數據庫沒有完整的路徑或後綴:
@Database @FontDef{ myfontdefs }
現在,在需要的任何地方使用新字體,這是為“全球範圍內”為報告類型文檔設置替代字體的示例:
@InitialFont { Minion_Pro Base 12p }
用戶手冊非常非常有幫助且寫得很好,請諮詢有關字體的所有內容。如果您想深入研究,還有一本專家手冊,可以嘗試一下。為了與Louts命名一致,我繪製了一些常用的字體面孔:
只需確保您使用MyFontDefs.ld中編寫的正確字體系列和臉部名稱即可。
最後但並非最不重要的一點是,請不要忘記告訴Lout在調用時您有一個自定義的外部字體數據庫:
lout -D/path/to/directory/of/database -F/path/to/directory/of/fontmetrics
請記住,在我的設置中,我在同一路徑中有字體公製文件(.afm)和數據庫(myfontdefs.ld)。這也是包含字體文件和.pfb文件的註冊Ghostscript字體路徑。檢查變量$ GS_FONTPATH是否包含此路徑。當前addfonts.sh粘在此環境變量上。將來的版本應省略此限制,並使任何搜索路徑可按照-i,gs_lib和gs_lib_default或with -sfontpath = switch訪問。另外,您可以自己修改addfonts.sh。
現在,祝您好運,並使用您喜歡的任何字體享受美麗的文檔!