
我正在嘗試修改自動安裝編碼。理想情況下,我想使用命令列參數等對其進行修補,以便可以輕鬆重現該過程。如果這是不合理的,我想使用單獨的編碼。
我首先嘗試修改原始文件,該文件有效,但會隨著更新而中斷。然後我嘗試在同一目錄中建立一個帶有檔案名稱後綴的副本,希望它能夠覆蓋預設值,但這沒有效果。
創建文件後,我運行:
mktexlsr
fmtutil --sys --all
updmap --sys
產生結構:
/opt/texlive/2017/texmf-dist/fonts/enc/dvips/fontools:
fontools_ly1.enc
fontools_ly1_CUSTOM.enc
fontools_ot1.enc
fontools_oml_CUSTOM.enc
fontools_t1.enc
fontools_ts1.enc
下一次嘗試是建立 autoinst 未提供的編碼,例如第一行如下:
/otftotfmOMLEncoding [
然後添加-encoding="OML,TS1,OT1,T1,LY1"
到autoinst
命令行。這給了錯誤:
otftotfm: encoding 'oml' not found
我有什麼選擇?
答案1
來自autoinst
的手冊頁:
-encoding=encoding[,encoding]
為文字字體產生指定的編碼。預設為“OT1,T1,LY1”。對於每種編碼,一個檔案
<encoding>.enc
(全部小寫!)應該位於otftotfm
可以找到它的地方。適用於 OT1、T1/TS1 和 LY1 的編碼檔案帶有autoinst
. (這些檔案稱為fontools_ot1.enc
etc. 以避免與其他套件發生名稱衝突;「fontools_
」前綴可以省略。)
因此,如果您請求-encoding="OML,TS1,OT1,T1,LY1"
,那麼第一個編碼autoinst
將查找需要名為oml.enc
或 的檔案fontools_oml.enc
。fontools_oml_CUSTOM.enc
不是一個合適的名字。
不過,oml.enc
絕對不適合,因為這個檔案會提示該檔案包含官方的OML編碼。fontools_oml.enc
可以,但是只有當您的編碼確實對應到 OML 編碼時才應該使用它。
但是,尚不清楚這些是否真的有幫助,因為不清楚您要做什麼。關於為什麼要在此處提供自訂編碼文件的一些解釋將使人們更容易提供有用的建議。
無論如何,您不應該在主 TEXMF 樹中更改或新增檔案。該樹供您的 TeX 發行版使用,並由套件管理器管理。 (
tlmgr
或你的 Linux 發行版的套件管理器。)
相反,您應該在您的個人 TEXMF 樹或本機樹中以不同的名稱安裝檔案的修改副本和其他檔案。
kpsewhich -var TEXMFLOCAL
會告訴你當地樹的位置
kpsewhich -var TEXMFHOME
你的個人樹。