71 lines
1.7 KiB
Dart
71 lines
1.7 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
/// Typography definitions from PRD §3.2.
|
|
/// Plus Jakarta Sans (bundled) for UI text, Amiri (bundled) for Arabic content.
|
|
class AppTextStyles {
|
|
AppTextStyles._();
|
|
|
|
static const String _fontFamily = 'PlusJakartaSans';
|
|
|
|
/// Builds the full TextTheme for the app using bundled Plus Jakarta Sans.
|
|
static const TextTheme textTheme = TextTheme(
|
|
displayLarge: TextStyle(
|
|
fontFamily: _fontFamily,
|
|
fontSize: 32,
|
|
fontWeight: FontWeight.w800,
|
|
),
|
|
headlineMedium: TextStyle(
|
|
fontFamily: _fontFamily,
|
|
fontSize: 24,
|
|
fontWeight: FontWeight.w700,
|
|
),
|
|
titleLarge: TextStyle(
|
|
fontFamily: _fontFamily,
|
|
fontSize: 20,
|
|
fontWeight: FontWeight.w700,
|
|
),
|
|
titleMedium: TextStyle(
|
|
fontFamily: _fontFamily,
|
|
fontSize: 16,
|
|
fontWeight: FontWeight.w600,
|
|
),
|
|
bodyLarge: TextStyle(
|
|
fontFamily: _fontFamily,
|
|
fontSize: 16,
|
|
fontWeight: FontWeight.w400,
|
|
),
|
|
bodyMedium: TextStyle(
|
|
fontFamily: _fontFamily,
|
|
fontSize: 14,
|
|
fontWeight: FontWeight.w400,
|
|
),
|
|
bodySmall: TextStyle(
|
|
fontFamily: _fontFamily,
|
|
fontSize: 12,
|
|
fontWeight: FontWeight.w400,
|
|
),
|
|
labelSmall: TextStyle(
|
|
fontFamily: _fontFamily,
|
|
fontSize: 10,
|
|
fontWeight: FontWeight.w700,
|
|
letterSpacing: 1.5,
|
|
),
|
|
);
|
|
|
|
// ── Arabic text styles (Amiri — bundled font) ──
|
|
|
|
static const TextStyle arabicBody = TextStyle(
|
|
fontFamily: 'Amiri',
|
|
fontSize: 24,
|
|
fontWeight: FontWeight.w400,
|
|
height: 2.0,
|
|
);
|
|
|
|
static const TextStyle arabicLarge = TextStyle(
|
|
fontFamily: 'Amiri',
|
|
fontSize: 28,
|
|
fontWeight: FontWeight.w400,
|
|
height: 2.2,
|
|
);
|
|
}
|