qcf_quran_lite 0.0.1
qcf_quran_lite: ^0.0.1 copied to clipboard
Lightweight offline Quran package with Hafs font.
🕌 qcf_quran_lite #
A lightweight, high-performance Flutter Quran package using the official QCF (Hafs) font.
Full Quran, offline, high-performance, adds only ~15MB to your app size.
📦 Package Size Impact #
- Approx. 15 MB only for the full 604-page Quran data.
- Includes Othmanic glyphs, metadata, Juz/Quarter indexing, and search.
Why This Matters:
Most Quran packages are heavy or require network downloads. This package is fully offline and optimized for mobile.
✨ Features #
- Full 604-page Quran with QCF glyphs
- Offline-ready: no internet required
- Surah metadata: Arabic, transliteration, English
- Juz & Quarter (Rub al-Hizb) indexing
- Place of revelation (Makkah / Madinah)
- Verse highlighting
- Scrollable Surah list view
- Customizable Page view & Verse builders
- Search Quran text offline (up to 50 results)
- Remove diacritics & normalize text helpers
- High-performance: smooth scrolling, 60fps
- Light & dark mode compatible
- Minimal app size (~15MB)
📜 1. Authentic Mushaf PageView (604 Pages) #
- Real Madinah Mushaf layout
- PageController support
- Smart Surah Header & Basmallah rendering
- Fully customizable builders
- 60fps smooth rendering
📖 2. Vertical Reading Mode #
- Surah-based scrollable list
- Ideal for Tafsir & translation apps
- Audio sync ready
- Custom ayahBuilder support
🔍 3. Smart Arabic Search #
- Diacritics insensitive
- Alef variations normalized
- Ya/Hamza unified
- Fast in-memory search
- Returns max 50 results
🎯 4. High Performance Highlighting #
- Powered by ValueNotifier
- No full rebuild
- Ideal for audio tracking & bookmarks
📊 5. Built-in Metadata API #
- Surah names (Arabic & English)
- Juz number
- Quarter (Rub el Hizb)
- Page number lookup
- Makki / Madani
- Total counts constants
📸 Screenshots #
🚀 Getting Started #
Add Dependency #
dependencies:
qcf_quran_lite: ^latest_version
scrollable_positioned_list: ^0.3.8
Import #
import 'package:qcf_quran_lite/qcf_quran_lite.dart';
🧩 Usage #
📜 Mushaf Page Mode #
final highlights = ValueNotifier<List<HighlightVerse>>([]);
final controller = PageController();
QuranPageView(
pageController: controller,
scaffoldKey: GlobalKey(),
highlightsNotifier: highlights,
);
📖 Surah List Mode #
QuranSurahListView(
surahNumber: 1,
highlightsNotifier: highlights,
);
🔍 Search Example #
String query = normalise("الرحمن");
Map result = searchWords(query);
print(result["occurences"]);
print(result["result"]);
🎯 Highlight Example #
highlights.value = [
HighlightVerse(
surah: 1,
verseNumber: 2,
page: 1,
color: Colors.amber,
),
];
📦 Core API Examples #
getSurahNameArabic(1);
getSurahNameEnglish(1);
getVerse(1,1);
getPageNumber(2,255);
getJuzNumber(2,255);
getQuarterNumber(2,255);
getCurrentHizbTextForPage(5);
⚡ Performance #
• 100% Offline
• Zero network requests
• Optimized JSON structure
• Efficient line rendering with QCF font
• No expensive rebuild cycles
🎨 Customization Power #
You can override:
- Surah Header
- Basmallah
- Ayah UI
- Text Style
- Page background
- Top & Bottom bars
📚 Ideal For #
- Quran reading apps
- Tafsir apps
- Translation apps
- Memorization apps
- Audio synced Quran players
📄 License #
MIT License
Made for serious Quran apps.
Designed for performance.
Engineered for flexibility.