此專案包含一組使用 TTF 字體產生文字的 2D 輪廓的函數。
JSCAD 專案不提供在創建文字輪廓時使用 TTF 字體的功能(它僅支援 SIMPLEX 字體)。
注意:由於 TTF 字體的性質,該庫無法透過 JSCAD Web UI 使用。繼續閱讀...
基本上,這個函式庫依賴「opentype.js」函式庫。這是一個非常酷的庫,可以做一些巧妙的事情;解壓縮字體、讀取內容並產生類似 SVG 的結構。
但即使在此之前,TTF 字體檔案也必須可用。所有作業系統都附帶一種或多種字體,如果您能找到它們,就可以使用它們。字體也可以從網站下載。
有兩個例子;一種是讀取本機字體文件,另一種是從 Google Fonts 下載字體。
對於基於 Node.js 的項目,可以使用 NPM 安裝此套件。
npm install jscad-text
對於獨立項目,可以下載此套件並將其作為元件包含在內。
每個範例都是一個小型獨立的 NPM 專案;本地字體和谷歌字體。
這個專案是最容易使用的,因為字體是從本地文件讀取的。只要找到一個漂亮的字體,然後將檔案複製到 localFont 資料夾中即可。
設定:
npm install
cd localfont
ln -s ../../jscad-text ./jscad-text
cd ..
執行:
npm run example
並使用任何瀏覽器開啟“localfont/index.svg”。
可以修改「index.js」的內容以更改字型檔案的路徑,或更改 textToPaths() 函數的選項。這也是典型的 JSCAD 設計,並且可以修改路徑以執行您想要的任何操作。
該專案從 Google Fonts 網站獲取字體。只要去那裡,找到一個漂亮的字體“family”,然後寫下名字。
另一個名為“node-fetch”的很酷的庫用於從互聯網下載字體。
設定:
cd googlefont
npm install
ln -s ../../jscad-text ./jscad-text
執行:
npm run cli
並使用任何瀏覽器開啟“text.svg”。
還在那裡...
因此,以下是如何在專案(JSCAD 設計)中使用該程式庫。
如果尚未為該專案建立一個新資料夾。 (此範例使用“newproject”作為資料夾名稱。)
下載此庫,解壓縮並將所有內容複製到專案資料夾中。點擊上面的綠色代碼,然後選擇下載 ZIP。
現在,找到一種字體,並將其複製到專案資料夾中。
在專案資料夾中,建立一個名為 index.js 的文件,並新增以下程式碼。
const { primitives } = require('@jscad/modeling')
const { loadFontFromData, textToPaths } = require('./jscad-text-master')
const fs = require('fs')
const main = (params) => {
const data = fs.readFileSync('newproject/Habana.ttf') // CHANGE THIS TO THE FONT FILE NAME
const font = loadFontFromData(data)
const paths = textToPaths({font, segments: 144}, 'JSCAD ROCKS!!')
return paths
}
module.exports = { main }
快到了。現在從這裡下載 opentype.js 函式庫; https://github.com/opentypejs/opentype.js 解壓縮內容,並將 opentype.js/dist/opentype.js 複製到 newproject/jscad-text-master/src/opentype.js
完畢!
現在,只需將專案資料夾拖放到 JSCAD 網站上即可。
此項目僅適用於 JSCAD V2。
請參閱使用者指南以取得一些提示。
麻省理工學院許可證 (MIT)