🕌 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
Replace image links with your repo raw images
🚀 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.
Libraries
- qcf_quran_lite
- A lightweight, high-performance, and professional Flutter package to display the Holy Quran.