跳轉到內容

OpenSCAD 使用者手冊/WIP/文字度量

來自華夏公益教科書

textmetrics

[編輯 | 編輯原始碼]

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() 返回有關指定字型和大小的資訊。

fontmetrics() 的引數是大小和字型名稱。

引數

size 字型大小 font 字型名稱

返回值

fontmetrics() 的返回值是一個具有以下屬性的物件

nominal 一個具有 ascent 和 descent 屬性的物件,描述字型的“通常”升高和下降。對於大多數字體,這將是字母的大寫字母的升高和帶下降的字母的小寫字母的下降。

max 一個具有 ascent 和 descent 屬性的物件,描述字型的最大升高和下降。

interline 作為正數給出字型的設計行間距。

font 一個具有 family 和 style 成員的物件,給出所選字型的名稱和樣式。這些可能與提供的名稱不同,如果指定的字型不可用,或者如果指定了像“sans”或“serif”這樣的通用名稱,或者如果只指定了樣式。

華夏公益教科書