Integrate ab_glyph-based font rendering with bundled Noto Sans fonts (Regular, Bold, Italic, BoldItalic, Mono) to replace the fixed-width text measurer in golden tests. Thread font-weight, font-style, and font-family through the entire rendering pipeline: CSS parsing → style computation → layout → display list → rasterizer. Key changes: - fonts crate: font database, shaper, and rasterizer with bundled fonts - CSS: parse font-family (comma-separated lists), font-weight, font-style - shared: FontWeight and FontStyle types - style: font property inheritance and computation - layout: ProportionalTextMeasurer using real font metrics - display_list: font properties on Text items (conditional dump output) - render: font-aware text drawing - Golden tests regenerated with proportional font measurements - New golden tests (137-141) for font weight, style, family, and headings - Golden test regeneration infrastructure (regen_goldens.rs) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Bundled Font Licenses
Noto Sans and Noto Sans Mono
Source: https://github.com/notofonts/notofonts.github.io License: SIL Open Font License, Version 1.1 (OFL-1.1) Copyright: Copyright 2022 The Noto Project Authors (https://github.com/notofonts)
Files
| File | Font | Weight/Style |
|---|---|---|
| NotoSans-Regular.ttf | Noto Sans | 400 Regular |
| NotoSans-Bold.ttf | Noto Sans | 700 Bold |
| NotoSans-Italic.ttf | Noto Sans | 400 Italic |
| NotoSans-BoldItalic.ttf | Noto Sans | 700 Bold Italic |
| NotoSansMono-Regular.ttf | Noto Sans Mono | 400 Regular |
SIL Open Font License, Version 1.1
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is available with a FAQ at: https://openfontlicense.org
The key terms of the OFL-1.1:
- The fonts can be used freely in products and projects - both commercial and non-commercial.
- The fonts may be bundled, redistributed, and sold with any software, provided that the font names of derivative works are changed.
- The fonts and derivatives cannot be released under any other type of license.
- The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
Why these fonts?
Noto Sans is used as the default sans-serif font because:
- High quality, widely used, well-tested open-source font
- Covers a large range of Unicode characters
- Available in Regular, Bold, Italic, and Bold Italic
- SIL OFL license allows free redistribution and bundling
- Provides deterministic rendering across all platforms (no system font dependency)
Noto Sans Mono is used for monospace generic family (e.g., <code>, <pre> elements).