fbpx
维基百科

METAFONT

Metafont是一種用於定義矢量字體的編程語言。這也是Metafont直譯器的名稱,其生成的點陣字體,可嵌入到PostScript中。Metafont由高德納發明,與也是他發明的TeX排版軟體相輔相成。 Metafont的特點之一是所有的字体都是用几何方程定义的,例如,可以用線段及貝茲曲線的相交處來定義點。

METAFONT
開發者高德納
目前版本
  • 2.71828182 (2021年2月5日)[1]
操作系统跨平台
类型編程語言
许可协议自由軟件

歷史

美國計算機科學家高德纳(Donald Knuth)於1977年著手字體製作軟件,並於1979年發佈的第一個版本METAFONT。由於原來語言的缺陷,高德纳於1984年開發一個全新的METAFONT系統。METAFONT有一個與TeX的相似點 ,就是每一個更新版本都愈接近一個數學常數(每一個更新版本增加一個小數位,METAFONT趋近于eTeX趋近于π)。

特点

与很多常见的轮廓字体格式如TrueTypePostScript Type 1不同,METAFONT字体主要由一定宽度的“笔划”和一些封闭填色区域构成。因此,METAFONT字体文件并不描述字形的轮廓,而是描述“笔划”的路径。

METAFONT的曲线描述采用三次样条函数,而不是二次的。

使用

虽然一些著名的字体设计师如Hermann Zapf已经与高德纳合作用METAFONT设计新字体(二者曾合作设计了AMS Euler数学字体),但这个系统并未在业界被广泛使用。高德纳认为这是由于“让一个艺术家变成一个能够理解如何通过60多个参数设计字体的数学家实在太困难”[2]

例子

下列例子為字母B定義一個類似豆子的字型。

%file name: beta.mf %mode_setup; % Define a beanlike shape for the character B beginchar("B",11pt#,11pt#,0);  % Setup coordinates as an equation system  y1=y2=y3=0;  y4=y5=y6=h;  x1=x4=0;  x2=x5=w;  x3=x6=2*w;  % Define pen  pickup pencircle xscaled 0.2w yscaled 0.04w rotated 45;  % Draw the character curve  draw z1..z3..z6{z2-z6}..z5..{z4-z2}z4..cycle; endchar; end 

這會產生下列字型圖樣:

 

上述例子可由命令列指令來處理 [3]

mf '\mode=ljfour; mode_setup; input beta.mf'; gftopk beta.600gf beta.600pk

處理後可用於LaTeX檔案[3](所有檔案應存放在相同目錄下,或是使用適當的方法提示TeX系統相關的資訊):

\documentclass{article} \newfont{\letterbeta}{beta} \newcommand{\otherbeta}{{\letterbeta B}} \begin{document} Let’s try having a strange \otherbeta\ here. \end{document} 

最後的PDF檔應如下所示:  

参考

  1. ^ https://ctan.org/pkg/metafont.
  2. ^ Karel Horák. Questions and Answers with Prof. Donald E. Knuth [与高德纳教授的问答] (PDF). TUGBoat (布拉格). 1996年3月, 17 (4): 361 [2012-10-25]. (原始内容 (PDF)于2020-09-20) (英语). 
  3. ^ 3.0 3.1 Christophe Grandsir. METAFONT Tutorial. [2009-06-28]. (原始内容于2020-05-30). 

外部連結

  • The Metafont Tutorial: an online guide to using Metafont. (页面存档备份,存于互联网档案馆

metafont, metafont是一種用於定義矢量字體的編程語言, 這也是metafont直譯器的名稱, 其生成的點陣字體, 可嵌入到postscript中, metafont由高德納發明, 與也是他發明的tex排版軟體相輔相成, metafont的特點之一是所有的字体都是用几何方程定义的, 例如, 可以用線段及貝茲曲線的相交處來定義點, 開發者高德納目前版本2, 71828182, 2021年2月5日, 操作系统跨平台类型編程語言许可协议自由軟件, 目录, 歷史, 特点, 使用, 例子, 参考, 外部連結歷史. Metafont是一種用於定義矢量字體的編程語言 這也是Metafont直譯器的名稱 其生成的點陣字體 可嵌入到PostScript中 Metafont由高德納發明 與也是他發明的TeX排版軟體相輔相成 Metafont的特點之一是所有的字体都是用几何方程定义的 例如 可以用線段及貝茲曲線的相交處來定義點 METAFONT開發者高德納目前版本2 71828182 2021年2月5日 1 操作系统跨平台类型編程語言许可协议自由軟件 目录 1 歷史 2 特点 3 使用 4 例子 5 参考 6 外部連結歷史 编辑美國計算機科學家高德纳 Donald Knuth 於1977年著手字體製作軟件 並於1979年發佈的第一個版本METAFONT 由於原來語言的缺陷 高德纳於1984年開發一個全新的METAFONT系統 METAFONT有一個與Te X 的相似點 就是每一個更新版本都愈接近一個數學常數 每一個更新版本增加一個小數位 METAFONT趋近于e Te X 趋近于p 特点 编辑与很多常见的轮廓字体格式如TrueType和PostScript Type 1不同 METAFONT字体主要由一定宽度的 笔划 和一些封闭填色区域构成 因此 METAFONT字体文件并不描述字形的轮廓 而是描述 笔划 的路径 METAFONT的曲线描述采用三次样条函数 而不是二次的 使用 编辑虽然一些著名的字体设计师如Hermann Zapf已经与高德纳合作用METAFONT设计新字体 二者曾合作设计了AMS Euler数学字体 但这个系统并未在业界被广泛使用 高德纳认为这是由于 让一个艺术家变成一个能够理解如何通过60多个参数设计字体的数学家实在太困难 2 例子 编辑下列例子為字母B定義一個類似豆子的字型 file name beta mf mode setup Define a beanlike shape for the character B beginchar B 11pt 11pt 0 Setup coordinates as an equation system y1 y2 y3 0 y4 y5 y6 h x1 x4 0 x2 x5 w x3 x6 2 w Define pen pickup pencircle xscaled 0 2w yscaled 0 04w rotated 45 Draw the character curve draw z1 z3 z6 z2 z6 z5 z4 z2 z4 cycle endchar end 這會產生下列字型圖樣 上述例子可由命令列指令來處理 3 mf mode ljfour mode setup input beta mf gftopk beta 600gf beta 600pk 處理後可用於LaTeX檔案 3 所有檔案應存放在相同目錄下 或是使用適當的方法提示TeX系統相關的資訊 documentclass article newfont letterbeta beta newcommand otherbeta letterbeta B begin document Let s try having a strange otherbeta here end document 最後的PDF檔應如下所示 参考 编辑 https ctan org pkg metafont Karel Horak Questions and Answers with Prof Donald E Knuth 与高德纳教授的问答 PDF TUGBoat 布拉格 1996年3月 17 4 361 2012 10 25 原始内容存档 PDF 于2020 09 20 英语 3 0 3 1 Christophe Grandsir METAFONT Tutorial 2009 06 28 原始内容存档于2020 05 30 外部連結 编辑The Metafont Tutorial an online guide to using Metafont 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title METAFONT amp oldid 71104335, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。