Digital Typography筆記

於 2022年9月22日 (四) 00:16 由 Tankianting討論 | 貢獻 所做的修訂

這是書本的筆記或心得,相關資訊:

作者:Donald Knuth

書號:ISBN 9781575860107

這本高德納書主要講到一些排版演算法以及字型和 TeX 相關的東西。

對於想要重複發明輪子,開發排版系統的人,這本書有他一定的幫助也說不定。

第1章與第2章

講到一些排版的歷史,以及一些排版不美觀的案例,但是後來高德納發現,排版可以用演算法來表示。

書裏面提到box和glue的概念,段落、行、字元都是box,中間用glue做填充墊,glue定義(space 正常大小, stretch 伸長係數, shrink 收縮係數)。

如果 中間有 ,那當 


 就可以拉伸,

 就可以收縮。

其中上二式  

斷行演算法

W 為最終呈現大小,w 為盒子寬度和,z為最小允許收縮量和,x為允許伸長量和,則:

 是壞度函數,詳細定義如下:

1 if W = w
1 + 100 * ((W - w)/y)^3 if W > w
1 + 100 * ((w - W)/z)^3 if w - z <= W < w
∞ if W < w - z

可以設置懲罰點 penalty points