Этот проект содержит набор функций, которые создают двухмерные контуры текста с использованием шрифтов TTF.
В проекте JAD не предусмотрена возможность использования шрифтов TTF при создании контуров текста (поддерживаются только шрифты SIMPLEX). Поэтому для дополнения JAD создан специальный набор функциональных возможностей.
ПРИМЕЧАНИЕ. Из-за особенностей шрифтов TTF эту библиотеку нельзя использовать через веб-интерфейс ASAD. Продолжайте читать...
По сути, эта библиотека зависит от библиотеки opentype.js. Это действительно классная библиотека, которая делает некоторые замечательные вещи; распаковывает шрифт, считывает содержимое и создает структуры, подобные SVG.
Но еще до этого должен быть доступен файл шрифта TTF. Все операционные системы поставляются с одним или несколькими шрифтами, и их можно использовать, если вы их найдете. Шрифты также можно загрузить с веб-сайтов.
Есть два примера; один читает локальные файлы шрифтов, а другой загружает шрифты из Google Fonts.
Для проектов на основе Node.js этот пакет можно установить с помощью NPM.
npm install jscad-text
Для автономных проектов этот пакет можно загрузить и включить в качестве компонента.
Каждый из примеров представляет собой небольшой автономный проект НПМ; локальный шрифт и гуглфонт.
Этот проект самый простой в использовании, так как шрифты считываются из локальных файлов. Просто найдите хороший шрифт и скопируйте файл в папку localFont.
Настраивать:
npm install
cd localfont
ln -s ../../jscad-text ./jscad-text
cd ..
Исполнение:
npm run example
И откройте «localfont/index.svg» в любом браузере.
Содержимое index.js можно изменить, изменив путь к файлу шрифта или изменив параметры функции textToPaths(). Это также типичная конструкция JAD, и ее можно настроить так, чтобы вы могли делать с путями все, что захотите.
Этот проект получает шрифты с веб-сайта Google Fonts. Просто зайдите туда, найдите красивый шрифт «семейство» и запишите имя.
Еще одна классная библиотека под названием «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.
Сделанный!
Теперь просто перетащите папку проекта на сайт JAD.
ЭТОТ ПРОЕКТ РАБОТАЕТ ТОЛЬКО С JAD V2.
Дополнительные советы см. в руководстве пользователя.
Лицензия MIT (MIT)