v1.0.0 (Initial Release)
Release Notes
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[1.0.0] - 2026-06-30
🚀 New Features
- Bidirectional Conversion: Full support for converting between InPage legacy glyph encoding (CP-1252/custom) and standard Unicode Urdu text.
- Direct Clipboard Integration: Implemented a custom clipboard handler using native Windows
ctypesAPI. This directly grabs CP-1252 raw bytes from theCF_TEXTformat, bypassing Windows lossy ANSI/Unicode normalizations that strip key character indicators (like the non-breaking space\xa0representing Noon). - Nastaliq Rendering: Bundled Google's open-source Noto Nastaliq Urdu font and configured automatic Right-to-Left (RTL) reading layout for Unicode text, ensuring consistent rendering on any Windows machine.
- Optional File Export: Added a direct toggle in the GUI to export converted outputs into a clean, UTF-8 encoded
.txtfile using native Windows save-file dialogs.
⚡ Improvements
- Interactive UI Utilities: Added helper buttons for "Paste from Clipboard" and "Clear", along with live input character counts.
- Intelligent Font Loading: Configured dynamic font loading via PyQt5's
QFontDatabaseto guarantee proper Nastaliq styling even if the system does not have Urdu fonts pre-installed. - Validation Dialogs: Added warning notifications for empty text inputs and direction checking (raising a warning if the conversion output does not appear to contain valid Urdu characters).
🐛 Bug Fixes
- Non-breaking Space Preservation: Fixed a critical issue where standard text edit paste events would collapse the
\xa0character into a standard space, breaking ligature reconstruction. - Error Boundaries: Implemented try-catch safeguards around OS operations (like file system writes) to present formatted error dialogs to users instead of raw tracebacks.
📚 Documentation
- Architecture & Code Docs: Created CODE_DOCUMENTATION.md detailing the MVC layout, ctypes clipboard calls, and mapping flow.
- Design Philosophy: Created DESIGN_PHILOSOPHY.md outlining project architecture, decoupling decisions, and technical trade-offs.
- Developer Guidelines: Created CONTRIBUTING.md to onboard contributors with repository standards and branch setup.
🏗️ Infrastructure & Maintenance
- Packaging Pipeline: Created
InPageConverter.specfor compiling the project into a standalone.exeusing PyInstaller. - Standard Installer: Created
inno_setup.issto package the compiled executable into a professional Windows Installer with Desktop/Start Menu shortcuts. - Automated Tests: Structured automated unit and integration tests under the
tests/directory verifying mapping logic, digit reversal, Hamza correction, and custom clipboard mechanics.