fix(store): render feature-graphic wordmark with real font (Titan One, OFL)

The flutter_test default font draws every glyph as a box, so the wordmark was
unreadable. Load the OFL Titan One TTF via FontLoader in the generator and
render 'Block Seasons' + tagline with it; fit the text within the 1024 width.
Font used only by the asset generator, not bundled in the app.
This commit is contained in:
2026-06-13 18:20:11 +09:00
parent 7fe2bc2776
commit b0839aba2a
5 changed files with 116 additions and 7 deletions
+13 -7
View File
@@ -17,20 +17,26 @@ class FeatureGraphic {
AppIconMark.paintBlocks(canvas, blockArea, groupFraction: 0.92);
canvas.restore();
void text(String s, double dy, double fontSize, FontWeight w, Color c) {
// Text column begins just right of the blocks; kept within the 1024 width.
final textLeft = size.height * 0.94;
void text(String s, double dy, double fontSize, Color c) {
final tp = TextPainter(
text: TextSpan(
text: s,
style: TextStyle(
color: c, fontSize: fontSize, fontWeight: w, letterSpacing: 0.5),
color: c,
fontSize: fontSize,
fontFamily: 'TitanOne',
letterSpacing: 0.5,
),
),
textDirection: TextDirection.ltr,
)..layout();
tp.paint(canvas, Offset(size.height * 1.02, dy));
)..layout(maxWidth: size.width - textLeft - size.height * 0.06);
tp.paint(canvas, Offset(textLeft, dy));
}
text('Block Seasons', size.height * 0.34, 76, FontWeight.w900, Colors.white);
text('A new season of blocks every few weeks.', size.height * 0.50, 30,
FontWeight.w500, const Color(0xFFB9C4E6));
text('Block Seasons', size.height * 0.33, 56, Colors.white);
text('A new season of blocks,\nevery few weeks.', size.height * 0.56, 22,
const Color(0xFFB9C4E6));
}
}