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>
42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
# 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:
|
|
|
|
1. The fonts can be used freely in products and projects - both commercial and non-commercial.
|
|
2. The fonts may be bundled, redistributed, and sold with any software, provided that the font names of derivative works are changed.
|
|
3. The fonts and derivatives cannot be released under any other type of license.
|
|
4. 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).
|