OpenSCAD 使用者手冊/WIP/文字度量
textmetrics() 返回有關文字大小和定位的資訊,這些資訊將應用於文字,如果文字的佈局如其引數中指定的那樣。
引數
textmetrics() 的引數與 text() 的引數完全相同。
返回值
textmetrics() 的返回值是一個具有以下屬性的物件
position 一個 [x,y] 對,表示最小的包圍文字的框的左下角。
size 一個 [x,y] 對,表示該框的大小。
ascent 文字基線到文字最高點的垂直距離(通常為正數)。
descent 文字基線到文字最低點的垂直距離(通常為零或負數)。
offset 一個 [x,y] 對,表示從原點到文字基線起點的距離。此值通常為 [0,0],但在使用非預設對齊時可能非零。
advance 一個 [x,y] 對,表示從當前文字的起點到下一個文字的起點的距離。通俗地說,它表示在開始下一個文字之前筆應該移動多遠。此值僅在預設對齊情況下直接有用 - 水平文字左對齊/基線對齊和垂直文字居中/頂部對齊。
注意:與任何陣列一樣,可以使用物件式的 ".x" 或 ".y" 來引用 [x,y] 對中的兩個條目。因此,可以使用 obj.size[0] 或 obj.size.x 來獲取文字的 X 維度。

textmetrics() 函式返回的資訊。示例輸出(為了可讀性而重新格式化)
ECHO: {
position = [2.2784, -5.7728];
size = [87.0362, 24.8832];
ascent = 19.1104;
descent = -5.7728;
offset = [0, 0];
advance = [89.5186, 0];
}
示例
echo(textmetrics(text="A",size=10));
fontmetrics() 返回有關指定字型和大小的資訊。
fontmetrics() 的引數是大小和字型名稱。
引數
size 字型大小 font 字型名稱
返回值
fontmetrics() 的返回值是一個具有以下屬性的物件
nominal 一個具有 ascent 和 descent 屬性的物件,描述字型的“通常”升高和下降。對於大多數字體,這將是字母的大寫字母的升高和帶下降的字母的小寫字母的下降。
max 一個具有 ascent 和 descent 屬性的物件,描述字型的最大升高和下降。
interline 作為正數給出字型的設計行間距。
font 一個具有 family 和 style 成員的物件,給出所選字型的名稱和樣式。這些可能與提供的名稱不同,如果指定的字型不可用,或者如果指定了像“sans”或“serif”這樣的通用名稱,或者如果只指定了樣式。