{"id":202,"date":"2026-08-08T20:31:51","date_gmt":"2026-08-08T20:31:51","guid":{"rendered":"https:\/\/backendside.com\/blog\/?p=202"},"modified":"2026-08-08T20:32:26","modified_gmt":"2026-08-08T20:32:26","slug":"from-a-nastaleeq-engine-to-a-complete-urdu-word-processor-the-story-behind-likhari","status":"publish","type":"post","link":"https:\/\/backendside.com\/blog\/2026\/08\/08\/from-a-nastaleeq-engine-to-a-complete-urdu-word-processor-the-story-behind-likhari\/","title":{"rendered":"From a Nastaleeq Engine to a Complete Urdu Word Processor: The Story Behind Likhari"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Software projects often begin with a clear goal, but sometimes they evolve into something much bigger than originally imagined.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Likhari is one such story.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It was never planned to become a standalone Urdu word processor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The journey started with a different challenge: <strong>how to render beautiful Urdu Nastaleeq typography correctly inside PublishingDesk.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Beginning: Solving Nastaleeq Typography<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PublishingDesk was created as a publishing solution for Urdu documents. One of its biggest technical challenges was handling the complexity of <strong>Nastaleeq script<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unlike simple Latin text rendering, Urdu Nastaleeq requires advanced shaping, positioning, and character handling. The same letter can appear in different forms depending on its position in a word, and proper Nastaleeq composition requires careful placement of characters and Kashidas (\u06a9\u0634\u06cc\u062f\u06c1) to achieve the traditional calligraphic appearance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To solve this problem, we built a dedicated <strong>Nastaleeq Kashida Engine<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The engine&#8217;s job was focused:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Analyze Urdu text<\/li>\n\n\n\n<li>Understand character relationships<\/li>\n\n\n\n<li>Apply Nastaleeq joining rules<\/li>\n\n\n\n<li>Insert and adjust Kashidas<\/li>\n\n\n\n<li>Produce visually balanced typography suitable for professional publishing<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">At that stage, it was not a word processor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It was simply a technology layer powering PublishingDesk.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Engine Became More Capable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As development continued, the engine matured.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Better text handling led to better editing capabilities.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Better editing required document management.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Document management required formatting tools.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Formatting tools naturally required features users expect from a writing environment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Slowly, the boundaries started changing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What began as a typography engine started gaining:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Urdu text editing<\/li>\n\n\n\n<li>Paragraph formatting<\/li>\n\n\n\n<li>Character styling<\/li>\n\n\n\n<li>Document handling<\/li>\n\n\n\n<li>Page layout support<\/li>\n\n\n\n<li>Writing tools<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The foundation was no longer just a rendering engine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It had become the core of a complete Urdu writing experience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Birth of Likhari<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At some point, it became clear that this technology deserved its own identity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Nastaleeq engine was no longer just a component inside another application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It had evolved into something much bigger:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A dedicated Urdu word processor built from the ground up.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That product became <strong>Likhari (\u0644\u06a9\u06be\u0627\u0631\u06cc)<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The name itself represents the idea behind the software \u2014 a writer, a person who creates and preserves ideas through words.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Likhari was built with a simple vision:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Urdu writers should have a modern writing tool designed specifically for their language.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Not a translated interface.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Not a workaround.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A native Urdu writing environment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Built Around Urdu From Day One<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Many word processors treat Urdu as an additional language feature.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Likhari takes the opposite approach.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Urdu is not an extra capability \u2014 it is the foundation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The software is designed around the realities of Urdu writing:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nastaleeq typography<\/li>\n\n\n\n<li>Right-to-left text flow<\/li>\n\n\n\n<li>Urdu paragraph formatting<\/li>\n\n\n\n<li>Professional document creation<\/li>\n\n\n\n<li>Publishing-quality output<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The same technology that started as a publishing component became the foundation for everyday writing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Lesson From Software Development<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The story of Likhari is also a reminder that great software is not always planned in a single step.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes the best products emerge from solving a difficult technical problem deeply.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A typography challenge became a text engine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A text engine became an editor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An editor became a complete application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Today, Likhari stands as the result of that evolution:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A word processor born from a Nastaleeq engine, created for Urdu writers.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Likhari \u2014 from powering Urdu publishing to empowering Urdu writing.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Software projects often begin with a clear goal, but sometimes they evolve into something much bigger than originally imagined. Likhari is one such story. It was never planned to become a standalone Urdu word processor. The journey started with a different challenge: how to render beautiful Urdu Nastaleeq typography correctly inside PublishingDesk. The Beginning: Solving [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":203,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,2],"tags":[],"class_list":["post-202","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-releases","category-windows"],"_links":{"self":[{"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/posts\/202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/comments?post=202"}],"version-history":[{"count":1,"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/posts\/202\/revisions"}],"predecessor-version":[{"id":204,"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/posts\/202\/revisions\/204"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/media\/203"}],"wp:attachment":[{"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/media?parent=202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/categories?post=202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/backendside.com\/blog\/wp-json\/wp\/v2\/tags?post=202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}