InPage Urdu (.INP) Binary Architecture: Reading Noori Nastaliq & Converting to Unicode & PDF
Complete engineering guide to opening Urdu, Arabic, and Persian InPage (.INP) desktop publishing files online without InPage software. Covers OLE2 streams, ligature encoding, and Unicode/PDF export.
Quick Answer: To open an Urdu, Arabic, Persian, or Kashmiri InPage (.inp) file on Windows, macOS, Android, or iPhone without installing legacy InPage desktop publishing software or hardware USB dongles, drop your .inp file into the ViewAnyFile InPage (.INP) Reader. Our client-side parser extracts the OLE2 binary stream, converts proprietary ligature byte-codes into standard Right-to-Left (RTL) Unicode Urdu text, and lets you copy text or print/export to PDF instantly.
Why Legacy InPage (.INP) Files Are Unreadable in Modern Software
Since 1994, InPage has been the backbone of Urdu, Persian, Pashto, and Arabic newspaper typesetting, book publishing, and legal documentation across South Asia. However, because InPage was engineered in the mid-1990s before modern OpenType Arabic shaping engines (such as HarfBuzz and DirectWrite) existed, early versions of InPage (v2.1, v2.4, v2.93, and v3.x) did not store text using standard UTF-8 or UTF-16 Unicode code points (U+0600–U+06FF).
Instead, InPage stored text using a proprietary 8-bit/16-bit glyph and ligature lookup table mapped directly to custom Noori Nastaliq and Naskh PostScript/TrueType font outlines. If you attempt to open a raw .inp file in Microsoft Word, Google Docs, or Notepad, you see only garbled binary control characters and unreadable Latin symbols.
Inside the .INP Binary Container: OLE2 Compound Document Streams
At the binary level, an .inp file is a Microsoft OLE2 Compound Document (CFB) starting at offset 0x00 with the 8-byte signature D0 CF 11 E0 A1 B1 1A E1. Inside the OLE2 directory tree, InPage writes a primary document stream (commonly named InPage100, InPage200, or InPage300) containing:
- Master Page & Frame Geometry: Bounding boxes for multi-column newspaper frames, text boxes, picture boxes, and runaround margins measured in fractional points.
- Proprietary Control-Byte Token Stream: Within story blocks, formatting switches and non-standard Arabic/Urdu characters are prefixed by escape marker bytes (such as
0x01through0x1F) followed by two-byte ligature indices representing joined Nastaliq cursive forms (kashida, nuqta placement, and contextual initial/medial/final glyphs).
How ViewAnyFile Converts .INP to Standard Unicode Urdu & PDF
When you open an .inp file in our Online InPage Viewer, our client-side JavaScript engine executes a three-step decoding pipeline entirely in your browser RAM:
- OLE2 Sector Extraction: Reads the File Allocation Table sectors of the
.inpfile and isolates the raw story text buffers from the binary frame geometry structures. - InPage-to-Unicode Transcoding Table: Maps legacy InPage character and ligature byte sequences (including Urdu-specific code points such as Te
ٹU+0679, DalڈU+0688, RrehڑU+0691, Noon GhunnaںU+06BA, and Bari YeےU+06D2) into normalized UTF-8 Unicode strings. - Right-to-Left (RTL) Rendering & Export: Renders the decoded Urdu paragraphs in a clean, right-alignedNastaliq/Naskh reading view where you can copy standard Unicode Urdu directly into Microsoft Word (DOCX), WhatsApp, or Google Docs, or click Print / Save as PDF to generate a universally portable PDF document.