Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uSymbol

Однолинейный векторный текст для технической графики, гравировки, CNC и плоттеров

Статус: прототип Глифы: 207 Геометрия: прямые отрезки Экспорт: SVG и PDF

Открыть веб-прототип · Спецификация · Похожие проекты

uSymbol преобразует обычный текст в центральные траектории штрихов. Каждый знак строится программно из прямых отрезков — без TrueType/OpenType/WOFF, растровых изображений, заливок, кривых Безье и дуг.

Проект ориентирован на физически измеримый результат: размеры задаются в миллиметрах, а готовая геометрия экспортируется непосредственно в SVG или векторный PDF.

Возможности прототипа

  • 207 проверенных глифов: цифры, латиница, кириллица и специальные символы;
  • прописные и строчные буквы с отдельной геометрией, включая Ё и ё;
  • круглый технический знак диаметра , визуально отличимый от цифры 0;
  • высота и ширина символа, толщина линии, кернинг и интерлиньяж в миллиметрах;
  • округление координат с шагом 0.001, 0.01, 0.1 или 1 мм;
  • автоматический либо заданный пользователем формат документа;
  • выравнивание влево, по центру и вправо;
  • сетка, узлы и порядок штрихов в предпросмотре;
  • прямой экспорт SVG и PDF без браузерной печати;
  • PDF в DeviceCMYK C0 M0 Y0 K100 или DeviceGray 100%;
  • полностью локальная работа в браузере без установки зависимостей и отправки текста на сервер.

Чем uSymbol отличается

Свойство uSymbol
Геометрия Центральные штрихи только из прямых отрезков
Алфавиты Латиница и кириллица, включая регистр и Ё/ё
Единицы Физические размеры в миллиметрах
Экспорт SVG и самостоятельно сформированный PDF 1.4
Печатный цвет DeviceCMYK K100 или DeviceGray
Зависимости Текущий веб-прототип работает как один локальный HTML-файл

Существуют зрелые инструменты на базе Hershey/SVG fonts, редакторы stroke fonts и библиотеки для плоттеров. Их обзор и границы сравнения собраны в docs/similar-projects.md. По изученной выборке uSymbol занимает отдельную нишу технического генератора, а не ещё одного шрифтового файла или расширения графического редактора.

Быстрый запуск

Онлайн

Откройте sunpole.github.io/uSymbol. Приложение исполняется в браузере; введённый текст никуда не отправляется.

Локально

  1. Скачайте или клонируйте репозиторий.
  2. Откройте web/index.html в современном браузере.

Локальный сервер, сборка и установка пакетов не требуются.

Поддерживаемые символы

Группа Количество
Цифры 0–9 10
Латиница A–Z, a–z 52
Кириллица А–Я, а–я, Ё/ё 66
ASCII-пунктуация и служебные знаки 32
Дополнительные технические, математические и валютные знаки 47
Всего глифов 207

Пробел и перенос строки обрабатываются компоновщиком и не входят в число глифов. Точный утверждённый набор приведён в спецификации.

Гарантии геометрии и экспорта

  • SVG не должен содержать text, шрифты, изображения, кривые или дуги;
  • PDF не должен содержать шрифты и изображения;
  • SVG и PDF используют одинаковые окончания и соединения линий;
  • размеры сохраняются в миллиметрах без преждевременного округления;
  • знак проверяется отдельно на круглую форму и отличие от 0.

Запуск текущей автоматической проверки:

node tests/verify-prototype.mjs

Тест проверяет точный набор из 207 Unicode-глифов, отсутствие дубликатов, структуру координат, JavaScript, режимы экспорта и геометрию .

Статус и ограничения

Сейчас это рабочий автономный веб-прототип, а не завершённый производственный пакет.

  • геометрия пока встроена в JavaScript и ещё не перенесена в общий symbols.json;
  • Python-генератор и автоматическая сверка двух движков ещё не реализованы;
  • многостраничная компоновка находится в плане;
  • ICC-профиль и PDF/X не входят в текущий прототип;
  • соответствие ГОСТ для обозначений шероховатости, сварки, баз и геометрических допусков не заявляется — для них нужен отдельный модуль.

План развития

  • Цифры и базовая геометрия
  • Специальные символы
  • Латиница и кириллица
  • Исправленный знак диаметра
  • Прямой SVG/PDF-экспорт и CMYK K100
  • Автоматическая проверка 207 глифов
  • Единый источник геометрии symbols.json
  • Общий модуль компоновки
  • Локальный Python-генератор для Windows
  • Многостраничный SVG/PDF
  • Эталонные тесты совпадения веб- и Python-координат
  • Отдельный модуль технических графических обозначений

Структура репозитория

uSymbol/
├── index.html                 # переход к опубликованному веб-прототипу
├── web/index.html             # текущая основная версия
├── prototype/digits.html      # ранний прототип цифр
├── tests/                     # автоматические проверки
├── docs/                      # спецификация, аудит и история решений
├── generator/                 # место для будущего Python-генератора
├── shared/                    # место для будущих общих данных
├── uSymbol_*                  # сохранённые этапы v2–v5.1 и образцы
└── 0001.txt … 0009.txt        # исходная история разработки

Участие в разработке

Сообщения об ошибках и предложения можно создавать через GitHub Issues. Перед изменением геометрии прочитайте CONTRIBUTING.md, AGENTS.md и docs/specification.md.

Лицензия

Лицензия проекта пока не выбрана. До появления файла LICENSE стандартное авторское право сохраняется за владельцем репозитория; публичная доступность исходников сама по себе не разрешает их повторное распространение. Перед приёмом значимых внешних вкладов следует выбрать подходящую лицензию отдельно.

About

Offline single-line vector text generator for Latin/Cyrillic technical lettering with millimetre controls and direct SVG/PDF CMYK K100 export.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages