「排版論」修訂間的差異
跳至導覽
跳至搜尋
Tankianting(討論 | 貢獻) (建立內容為「==字圖 glyph== ==行(line)== 將 glyphs 放置的一行文字區塊。比如說下文。 <pre> | 我今天坐公車離開臺中市 | <- 行1 |…」的新頁面) |
Tankianting(討論 | 貢獻) |
||
行 1: | 行 1: | ||
{{Nav|程式語言、邏輯學}} | |||
排版學其實也可以用數學化約之,但是要定 spec。 | |||
==字圖 glyph== | ==字圖 glyph== | ||
於 2022年3月6日 (日) 21:18 的修訂
排版學其實也可以用數學化約之,但是要定 spec。
字圖 glyph
行(line)
將 glyphs 放置的一行文字區塊。比如說下文。
| 我今天坐公車離開臺中市 | <- 行1 | | | 然後)往臺南旅行。 | <- 行2
行有基線 baseline,且有方向 (textDirection),分成兩種,四值:
- 基線在字圖之底:
- RTL 如西文。
- LTR 如希伯來和阿拉伯文。
- 基線在字圖之左:
- BTT 由下而上,罕用。
- TTB 由上而下,如對聯、蒙古文字。
計算行高方式 (automatic-height)
我們可以定義line的depth「行的深度(基線到底/左之距)」和height「行的高度(基線到頂/右)之距」,是 auto 和 fixed,將變數儲存於 automatic-height。
若「automatic-height = auto」,則depth公式如下計算:
line.depth = max(glyph[i].depth) for i in range(len(line.glyphs))
line.height = max(glyph[i].height) for i in range(len(line.glyphs))
以及行的高度(基線到上/右)取決於: