當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R embedFonts 在 PostScript 和 PDF 中嵌入字體


R語言 embedFonts 位於 grDevices 包(package)。

說明

運行 Ghostscript 處理 PDF 或 PostScript 文件並將所有字體嵌入文件中。

如果您繪製了排版字形(請參閱glyphInfo),請使用embedGlyphs(),這僅與 PDF 文件相關。

用法

embedFonts(file, format, outfile = file,
           fontpaths = character(), options = character())

embedGlyphs(file, glyphInfo, outfile = file, options = character())

參數

file

給出原始文件名稱的字符串。

format

新文件的格式(嵌入字體)作為 Ghostscript 輸出設備的名稱給出。如果不指定,則從 file 的後綴猜測。

outfile

新文件的名稱(嵌入字體)。

fontpaths

一個字符向量,給出 Ghostscript 將搜索字體的目錄。

options

包含 Ghostscript 進一步選項的字符向量。

glyphInfo

glyphInfo() 生成的排版字形信息,或相同的列表。

細節

如果您隻是使用PostScript 和 PDF 輸出的標準默認字體,則不需要此函數。

如果您使用特殊字體,此函數對於將該字體嵌入到 PostScript 或 PDF 文檔中非常有用,以便可以與其他人共享,而無需他們安裝您的特殊字體(前提是字體許可證允許這樣做)。

如果沒有為 Ghostscript 安裝特殊字體,您需要使用 options="-sFONTPATH=path/to/font" 之類的內容告訴 Ghostscript 字體在哪裏。

你會需要ghostscript:可執行文件的完整路徑可以通過環境變量設置R_GSCMD。如果未設置,將在您的路徑上按名稱查找 GhostScript 可執行文件:在 Unix 上類似"gs"使用,並且在 Windows 上設置環境變量GSC被使用,否則命令"gswi64c.exe"然後"gswin32c.exe"被嘗試過。

當原始文件具有 .ps.eps 後綴時,format 默認為 "ps2write" ;當原始文件具有 .pdf 後綴時,默認為 "pdfwrite" 。對於 9.10 之前的 Ghostscript 版本,可以使用 format = "pswrite"format = "epswrite":從 9.14 開始也可以使用 format = "eps2write"。如果指定的設備無效,錯誤消息將列出可用的設備。

請注意,Ghostscript 可能會進行字體替換,因此嵌入的字體可能與原始文件中指定的字體不同。

其他一些有用的選項(請參閱 Ghostscript 文檔)是-dMaxSubsetPct=100,-dSubsetFonts=true-dEmbedAllFonts=true.

建議將 embedGlyphs() 用於包含排版字形的 pdf() 文件(請參閱 glyphInfo ),但它僅適用於 TrueType 字體。

用於調用 Ghostscript 的 shell 命令會以不可見的方式返回。這對於調試目的可能很有用,因為您可以在 shell 中手動運行該命令來查找問題。

也可以看看

postscriptFontsDevices

保羅·默雷爾和布萊恩·裏普利 (2006)。 “PostScript 和 PDF 圖形中的非標準字體。” R新聞,6(2),41-47。https://www.r-project.org/doc/Rnews/Rnews_2006-2.pdf.

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Embed Fonts in PostScript and PDF。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。