Added icon font Lucide
This commit is contained in:
@@ -167,13 +167,15 @@ Type scale is based on a 1.25 modular ratio. Minimum body size: 14px (web), 12pt
|
|||||||
|
|
||||||
## ICONOGRAPHY
|
## ICONOGRAPHY
|
||||||
|
|
||||||
**Primary set:** Lucide Icons (`https://unpkg.com/lucide@latest/dist/umd/lucide.min.js`)
|
**Primary set:** Lucide Icons
|
||||||
- Stroke-based, 24px grid, 1.5px stroke weight by default
|
- Source font: `fonts/lucide/lucide.ttf`
|
||||||
- Matches the precise, geometric character of the design system
|
- Icon-name/codepoint map: `fonts/lucide/codepoints.json`
|
||||||
|
- The current font workflow uses the Lucide TTF as its only source; it does not use SVGs
|
||||||
|
- Lucide provides one regular face with its upstream 2px icon geometry
|
||||||
- Scale to 16px (compact), 20px (default), 24px (prominent)
|
- Scale to 16px (compact), 20px (default), 24px (prominent)
|
||||||
- Color: inherit from text context — no separate icon colors unless semantic (red for error, etc.)
|
- Color: inherit from text context — no separate icon colors unless semantic (red for error, etc.)
|
||||||
|
|
||||||
**Substitution flag:** No custom icon font was provided. Lucide is used as the nearest available match. If Cybersteel has a proprietary icon set, replace Lucide references in `ui_kits/` and update this section.
|
**Export status:** The pinned Lucide TTF and codepoint map are present. The application-specific subset exporter is not implemented yet.
|
||||||
|
|
||||||
**Supplementary unicode glyphs (Art Deco ornament):**
|
**Supplementary unicode glyphs (Art Deco ornament):**
|
||||||
- `◆` `◇` — diamond separator
|
- `◆` `◇` — diamond separator
|
||||||
@@ -184,6 +186,50 @@ Type scale is based on a 1.25 modular ratio. Minimum body size: 14px (web), 12pt
|
|||||||
|
|
||||||
**Never use emoji in product UI.**
|
**Never use emoji in product UI.**
|
||||||
|
|
||||||
|
## ICON FONT EXPORT
|
||||||
|
|
||||||
|
The pinned Lucide font inputs are under `./fonts/lucide/`. This directory intentionally contains only:
|
||||||
|
|
||||||
|
- `lucide.ttf` — the canonical base font.
|
||||||
|
- `codepoints.json` — the Lucide icon-name to private-use codepoint map.
|
||||||
|
|
||||||
|
The TTF is the correct source format for the exporter: it works in native applications and can produce TTF, WOFF, WOFF2, and other delivery outputs. WOFF2 is a delivery format, not the archival or transformation source.
|
||||||
|
|
||||||
|
Lucide ships one regular font face. Its font weight does not control icon stroke width. The current workflow does not generate weight variants; subsetting the premade font preserves Lucide's regular 2px appearance.
|
||||||
|
|
||||||
|
### Create a subset directly
|
||||||
|
|
||||||
|
`pyftsubset` removes unselected glyphs from the Lucide TTF. Pass the selected Unicode codepoints with `--unicodes`.
|
||||||
|
|
||||||
|
Example using three Lucide glyphs:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdir -p build
|
||||||
|
|
||||||
|
pyftsubset ./fonts/lucide/lucide.ttf \
|
||||||
|
--unicodes=U+E0F5,U+E151,U+E193 \
|
||||||
|
--output-file=build/cybersteel-icons.ttf \
|
||||||
|
--layout-features="*"
|
||||||
|
```
|
||||||
|
|
||||||
|
Generate WOFF2 from the same source and selection:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pyftsubset ./fonts/lucide/lucide.ttf \
|
||||||
|
--unicodes=U+E0F5,U+E151,U+E193 \
|
||||||
|
--output-file=build/cybersteel-icons.woff2 \
|
||||||
|
--flavor=woff2 \
|
||||||
|
--layout-features="*"
|
||||||
|
```
|
||||||
|
|
||||||
|
Generate WOFF instead with `--flavor=woff` and a `.woff` output path. Keep the original Lucide private-use codepoints. `pyftsubset` retains the required `.notdef` glyph and removes unselected icon glyphs.
|
||||||
|
|
||||||
|
The current Lucide font is one regular face. Subsetting removes unused icons but does not change stroke width or create light/bold variants. Do not request synthetic bold for the icon font.
|
||||||
|
|
||||||
|
For web delivery, emit one `@font-face` declaration and CSS classes only for selected icons. Keep Lucide codepoints stable unless there is a specific reason to remap them. Keep the ISC license and the MIT notice for Feather-derived icons with redistributed output.
|
||||||
|
|
||||||
|
Official sources: [Lucide static assets](https://lucide.dev/guide/packages/lucide-static), [Lucide icon font guide](https://lucide.dev/guide/static/font), [Lucide license](https://lucide.dev/license), and [release 1.31.0](https://github.com/lucide-icons/lucide/releases/tag/1.31.0).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## FILE INDEX
|
## FILE INDEX
|
||||||
@@ -193,6 +239,10 @@ README.md ← This file
|
|||||||
SKILL.md ← Agent skill definition
|
SKILL.md ← Agent skill definition
|
||||||
styles.css ← All CSS custom properties (colors, type, spacing, effects)
|
styles.css ← All CSS custom properties (colors, type, spacing, effects)
|
||||||
|
|
||||||
|
fonts/lucide/
|
||||||
|
lucide.ttf ← Canonical Lucide font source
|
||||||
|
codepoints.json ← Icon-name to codepoint map
|
||||||
|
|
||||||
assets/
|
assets/
|
||||||
texture-scanline.svg ← Scanline texture overlay
|
texture-scanline.svg ← Scanline texture overlay
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Reference in New Issue
Block a user