该项目包含一组使用 TTF 字体生成文本的 2D 轮廓的函数。
JSCAD 项目不提供在创建文本轮廓时使用 TTF 字体的功能(它仅支持 SIMPLEX 字体)。因此,创建了一组特殊的功能来补充 JSCAD。
注意:由于 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)