getFontSize static method
Implementation
static double getFontSize(int pageIndex, BuildContext context) {
final isPortrait =
MediaQuery.of(context).orientation == Orientation.portrait;
// تحويل pageIndex لرقم الصفحة الفعلي (مكنون يبدأ من 1)
final page = pageIndex + 1;
// للوضع الأفقي
if (!isPortrait) {
return 35.sp;
}
// للأجهزة اللوحية أو الشاشات الكبيرة
if (MediaQuery.of(context).size.shortestSide > 600) {
return 15.sp;
}
// للشاشات الصغيرة
final screenWidth = MediaQuery.of(context).size.width;
if (screenWidth < 360) {
return 20.sp;
}
// الصفحة الأولى والثانية
if (page == 1 || page == 2) {
return 25.sp;
}
// صفحات خاصة تحتاج أحجام مخصصة
if (page == 145 || page == 585) {
return 22.7.sp;
}
if (page == 532 || page == 533 || page == 523 || page == 577) {
return 22.5.sp;
}
if (page == 116 || page == 156) {
return 23.4.sp;
}
// مجموعة صفحات بحجم 23.sp
final size23Pages = [
56,
57,
368,
269,
372,
376,
409,
435,
444,
448,
527,
535,
565,
566,
569,
574,
578,
581,
584,
587,
589,
590,
592,
593,
50,
568,
34
];
if (size23Pages.contains(page)) {
return 23.sp;
}
if (page == 70) {
return 23.5.sp;
}
if (page == 51 || page == 501) {
return 23.7.sp;
}
if (page == 575) {
return 23.sp;
}
// مجموعة صفحات بحجم 22.8.sp
final size228Pages = [576, 567, 371, 446, 447];
if (size228Pages.contains(page)) {
return 22.8.sp;
}
// الحجم الافتراضي - مطابق لمكنون
return 23.1.sp;
}