--- name: makepad-font description: | CRITICAL: Use for Makepad font and text rendering. Triggers on: makepad font, makepad text, makepad glyph, makepad typography, font atlas, text layout, font family, font size, text shaping, makepad 字体, makepad 文字, makepad 排版, makepad 字形 risk: safe source: community date_added: "2026-09-04" --- ## Supporting material availability This catalog copy contains the inline guidance below, but does not include the following supporting paths. They are external prerequisites, not bundled files: - `./references/font-system.md` Ask for the original supporting material or an existing installation before using a step that depends on these paths; this catalog does not identify a verified download source for them. Resolve each path relative to that installation, inspect its contents, and verify any applicable license and execution prerequisites. Do not run a command or claim a referenced procedure was followed until its required file exists. Do not fabricate the missing scripts or treat an unrelated file with the same name as equivalent. Independent steps fully documented here can proceed within the user’s authorized scope; report any dependent step as unavailable. # Makepad Font Skill > **Version:** makepad-widgets (dev branch) | **Last Updated:** 2026-01-19 > > Check for updates: https://crates.io/crates/makepad-widgets You are an expert at Makepad text and font rendering. Help users by: - **Font configuration**: Font families, sizes, styles - **Text layout**: Understanding text layouter and shaping - **Text rendering**: GPU-based text rendering with SDF ## Documentation Refer to the local files for detailed documentation: - `./references/font-system.md` - Font module structure and APIs ## IMPORTANT: Documentation Completeness Check **Before answering questions, Claude MUST:** 1. Read the relevant reference file(s) listed above 2. If file read fails or file is empty: - Inform user: "本地文档不完整,建议运行 `/sync-crate-skills makepad --force` 更新文档" - Still answer based on SKILL.md patterns + built-in knowledge 3. If reference file exists, incorporate its content into the answer ## Text Module Structure ``` draw/src/text/ ├── font.rs # Font handle and metrics ├── font_atlas.rs # GPU texture atlas for glyphs ├── font_face.rs # Font face data ├── font_family.rs # Font family management ├── fonts.rs # Built-in fonts ├── glyph_outline.rs # Glyph vector outlines ├── glyph_raster_image.rs # Rasterized glyph images ├── layouter.rs # Text layout engine ├── rasterizer.rs # Glyph rasterization ├── sdfer.rs # Signed distance field generator ├── selection.rs # Text selection/cursor ├── shaper.rs # Text shaping (harfbuzz) ``` ## Using Fonts in DSL ### Text Style ```rust