Nastaleeq: A challenge accepted by Omega
Atif Gulzar, Shaiq ur Rahman
Center for Research in Urdu Language Processing,
National University of Computer and Emerging Sciences, Lahore, Pakistan
مترجم کا نوٹ:
ٹیکسٹ ٹائپ سیٹینگ کا ایک نظام ہے اس میں فونٹ کی تفصیل کے لئے مٹافون پروگرامی لینگویج اور کمپیوٹر کی ‘ ماڈرن ٹائپ فیس فیملی’ استعمال کی گئی تھی۔ اس کے دو مقاصد تھے۔ ایک ، اس کی مدد سے کوئی بھی شخص عمدہ کتاب بناسکے گیا۔ دوسرا اس نظام کی مدد سے ہر کمپیوٹر پر ٹائپ سیٹینگ کے نتائج آج اور مستقبل میں بھی ایک ہی ہوں گے ۔ یہ تقریبا دنیا کی تمام زبانوں کی کتابت میں استعمال ہوتا ہے
Ω ,ٹیکس کی ایک اختراع ہے جو یونی کوڈ کی بنیادی زبانیں استعمال کرتا ہے یہ زبانوں کی ترویج کے لیے بنایا گیا تھا۔ اومیگا ، پیچیدہ ریاضی فارمولوں کی ٹائپ سیٹنگ کی کے لیے دنیا کا سب سے اچھا سسٹم ہے۔
ٹائپ سیٹینگ کی ایک ٹیکنالوجی ہے اور اس میں پہلے کے تمام نظاموں کی کامیاب خصوصیات موجود ہیں۔
Pango ، ٹیکسٹ کی آدائیگی کے لیے کی مختلف آلات کا مجموع ہے۔ پانگو، ہر اس جگہ استعمال کیا جاسکتا ہے کہاں ٹیکسٹ لے آوٹ کی ضرورت ہے۔ یہ فائر فاکس اور فیڈورا براوئزر میں بھی ٹیکسٹ کی آدائیگی کے لیے استعمال ہوتا ہے
فی الجملہ
اردو زبان صرف پاکستان کی مشترکہ بولی ہی نہیں بلکہ قومی زبان بھی ہے۔ اردو کا رسم الخط عربی اسکریپٹ سے لیا گیا ہے اور لکھنے میں نستعلیق اسٹائل استعمال ہوتا ہے۔اس خط میں لکھنے کی پیچیدگی کی وجہ سے اس کا شمار دنیا کے مشکل ترین رسم الخطوط میں ہوتا ہے۔ اس کے علاوہ نستعلیق میں سیاقی تابعیت ہے ۔ خط وتری ہے اور دائیں سے بائیں سمت میں لکھا جاتا ہے۔ بعض صورتوں میں حروف کا ایک دوسرے کو ڈھانکنے کی وجہ سے نقطوں کی جگہ اور کرنینگ مشکل ہوجاتی ہے۔
تعارف
اردو کے چھ کروڑ بولنے والے بیس ممالک میں رہتے ہیں [1] ۔ اس کا لکھنے کا انداز عربی رسم الخط سے نکلا ہے۔ عربی رسم الخط میں لکھنے کے کئی اسٹائل ہیں۔ ان میں نسخ، ثلث، رقعہ، اور دیوانی یہاں دیکھائے گئے ہیں۔ اردو کو ان میں سے کسی بھی اسٹائل میں لکھا جاسکتا ہے۔ لیکن نستعلیق اسٹائل اردو کو لکھنے کا معیار بن چکا ہے ۔ چودھویں صدی میں میرعلی تبریزی نے نسخ اور تعلیق خطوط کو ملا کر نستعلیق بنایا تھا ( پرانےغیر مستعمل اسٹائل ) [ 2]

1.1 ۔ نستعلیق اسٹائل کی پیچیدگی
نستعلیق اسٹائل، عربی رسم الخط پر منحصر تمام اسٹائلوں میں سب سے ذیادہ پیچیدہ ہے۔ نستعلیق کے وہ نمایاں فیچرز جو اس کو پیچیدہ کرتے ہیں مندرجہ ذیل ہیں:
دوسرے عربی اسٹائلوں کی طرح نستعلق بھی ترچھا ہے ۔ مگر یہ خط وتری ہے اور دائیں سے بائیں، اوپر سے نیچے لکھا جاتا ہے جیسا کہ تصویر نمبر 2 میں دیکھایا گیا ہے۔
ہندسے بائیں سے دائیں لکھے جاتے ہیں جس کی وجہ سے اور بھی پیچیدگی پیدا ہو جاتی ہے۔ تصویر نمبر 2A

ذیادہ ترعربی خطوط کے اسٹائلوں ( خاص طور پر ان اسٹائلوں کے ڈیجیٹائیز فونٹس ) میں، لفظ میں ہرحرف کی ، جگہ کے لحاظ سے چار اشکال ہیں ( علاحدہ ، ابتدائی، درمیانی اور حتمی ) ۔ حرف ب U+0628 کو جب لگیچر میں رکھا جاتا ہے تو اس کی چار پوزیشن (a) علاحدہ (b) ابتدائی (c) درمیانی (d) حتمی ہیں ۔ جیسا کے جدول 1 میں بتائی گئی ہیں۔

نستعلیق میں بہت زیادہ سیاقی تابعیت بھی ہے۔ حرف کی شکل نہ صرف لگیچر میں ا س کی جگہ کے لحاظ سے بلکہ اپنے برابر کے حروف کی بناء پر بھی تبدیل ہوتی ہے۔ یہ زیادہ تر اس کے بعد میں آنے والےحرف کی وجہ سے ہے۔ جدول 2 میں* ب کی یہ تبدیلیاں مختلف سیاق میں دکھائی گئی ہیں – نستعلیق میں ایک حرف کی پچاس تک اشکال ہوسکتی ہیں۔
نستعلیق میں کچھ گلیف ایک دوسرے پر آجاتے ہیں۔ یہ گلیف کرنینگ ، واجب تناسب اور نقطہ کی جگہ کا تعین مشکل بناتے ہیں۔ جیسا کہ تصویر 3 میں دیکھایا گیا ہے۔
جیسا کہ تصویر4 میں بتایا گیا ہےکہ لگیچر کی کرنینگ کرنی ہوتی ہے تاکہ ان کا پچھلے لگیچر سے تصادم نہ ہو۔
نستعلیق اسٹائل میں تناسبی فاصلہ بہت اہمیت رکھتا ہے۔ لگیچر کا وتری ہونا دو لگیچر کے درمیان وائٹ اسپیس پیدا کرتا ہے۔ اس مسئلہ کو حل کرنے کے لیے صحیح کرنینگ ضروری ہے۔ تصویر نمبر 5

ایک دوسرا اہم سوال یہ ہے کہ نقطہ کہاں لگایا جائے۔ نقطے سیاق کی مناسبت سے لگائے جاتے ہیں تاکہ ان کا دوسرے نقطوں اور گلیف کی حدود سے تصادم نہ ہو۔ جیسا کہ تصویر 6 میں دیکھایا گیا ہے کہ گلیف کی حدود (b) اور نقطوں میں تصادم سے بچنے کی لیےنقطوں کو ان کی اصلی جگہ پر لگانے کے بجائے نچلی طرف کردیا گیا ہے(c).
موجودہ حل
نستعلیق خط کو ڈیجیٹائیز کرنے کے لیے دو طریقے اختیار کیے گئے ہیں۔ ایک کی بنیاد لگیچر ہے اوردوسرے کی حرف پر ۔ دونوں میں کمزوریاں ہیں۔ اب تک لگیچر پر منحصر مسلط حل نوری نستعلیق ہے۔ اس میں بیس ہزار لگیچر ہیں [2] ۔ اس فونٹ کے استعمال کے حقوق انپیج سافٹ ویئر کو ہیں۔ دوسرا امید افزا حل حرف پر منحصر اوپن ٹائپ فونٹس ہیں۔ یہ فونٹ لگیچر بنانے کے لیے اوپن فائٹ ٹیکنالوجی استعمال کرتے ہیں۔ اوپن ٹائپ فونٹ کا حل نستعلیق خط کے لیے آہستہ ہے۔ اور اس میں تناسبی فاصلہ کا مسئلہ بھی ہے۔
نستعلیق کی ادائیگی کے موجود حل بھی کافی نہیں ہیں کیونکہ ان میں پیچیدہ نستعلیق رسم الخط کو تمام پلیٹ فارم پر ہم آہنگی سے کام کرنے کی کمی ہے ۔ یہ کمی اس لیے ہے کہ ان کی ادائیگی ایک پلیٹ فارم سے دوسرے پر مختلف نتایج پیدا کرتی ہے ۔ اس وقت نستعلیق کا موجود حل ونڈوز کے پیلٹ فارم پر صحیح کام کرتا ہے۔ Pango کا حل سہل پسندانہ ہے۔ اس میں ابتدائی ، درمیانی اور حتمی اشکال کی سیاقی تابعیت کو اوپن ٹرو فونٹ میں نظر انداز کردیاگیا ہے – یہ اُن حل سے بہتر نہیں جن میں حرف کی ابتدائی، درمیانی اور حتمی کی جگہوں پر ایک شکل مقرر ہے جو کہ یونی کوڈ سے کی گئی ہے۔ یہ حل عربی پریزنٹیشن فارمز میں استعمال کیا گیا ہے۔ روایتاً اردو نستعلیق ہے اس کا انحصار ایک پلیٹ فارم پر نہیں ہونا چاہیے۔
یہاں ہم اومیگا ( Ω ) کو استعمال کرکے لینکس آپریٹینگ سسٹم پر نستعلیق کی صحیح ادائیگی کا حل پیش کر رہے ہیں۔ Ω کی بنیاد ٹیکس ٹائپ سیٹینگ پر مبنی ہے اور نستعلیق کی پیچیدگیوں کو حل کرنے کے لیےاومیگا ٹرانسلیشن پروسس ایک ذریعہ مہیا کرتا ہے۔ [4]
موجودہ حل اردو کے بنیادی حروف ‘ الف ‘ (U+0627) سے ‘ یے ‘ (U+06D2 ) اور نمبر 0 سے 9 تک محدود ہے۔ یہ حروف تہجی ضمیہ A میں پیش کئے گئے ہیں۔ اس حل میں یہ سہولتیں پیش کی گئی ہیں۔
صحیح گلیف حرف کی سیاقی بنیاد پر پیش کئے جائیں
گلیف کے لیے صحیح ‘ ترچھا جوڑ’ دیا جائے
نقطہ کی صحیح جگہ
اور اعداد کی دائیں سے بائیں اور بائیں سے دائیں لکھنے کی خود کار سہولت
۔ طرائق
اومیگا سے نستعلیق کی پیچیدگیوں کو حل کرنے کے دو ممکن طریقے ہوسکتے ہیں۔ اندرونی اور بیرونی اومیگا ٹرانسلیشن پروسس ۔
یہ مشاہدہ کیا گیا ہے کہ اندرونی اومیگا ٹرانسلیشن پروسس نحو پر منحصر ہے ۔ مثال کے طور اندرونی اومیگا ٹرانسلیشن پروسس ترتیب الفاظ پر منحصر ہیں۔ اس لیے کریکٹر اور گلیفس کی لگیچر میں الٹی پروسیسینگ ناممکن ہونے کی حد تک دشوار ہے۔ بیرونی بیرونی اومیگا ٹرانسلیشن پروسس C اور ++C یا Perl پروگرامینگ لینگویج میں ہوسکتا ہے۔ اس طرح جون پلائیس اور یانس ہارالامبوس کی میں دی ہوئی منطق [4] آسانی سے استعمال ہو سکتی ہے
وسیع بنیاد پر حل کو چار مرحلوں میں تقسیم کیا جاسکتاہے۔
پہلے مرحلہ میں ہم نستعلیق کی ادائیگی کے لیے اومیگا مجازی فونٹ بنانے کا جائزہ لیں گے۔
دوسرے اور تیسرے سیکشن میں ہم سیاقی اشکال کا چننا اور ان چنے ہوئے اشکال کا مسطح جوڑ کا جائزہ لیں گے ۔
چوتھے سیکشن میں سیاقی نقطہ کی پوزیشن پر گفتگو کریں گے جو کہ نستعلق کی ادائیگی میں سب سے مشکل جزو ہے۔
2.1 نستعلق کے لیے ایک اومیگا مجازی فونٹ
نفیس نستعلیق ٹرو ٹائپ فونٹ سے اومیگا کی ایک مجازی فونٹ فائل سے تخلیق کی گئی ۔ اس میں نستعلیق کی ادائیگی کے لیے827 گلیف استعمال ہوئے۔ ان گلیف کو چار مختلف ٹائپ 1 فائل میں رکھا گیا۔ اور ا ن سے چار مختلف ٹی ایف ایم تخلیق کی گئیں۔ اومیگا پروگرام میں صرف ایک فائل nafees.ofm استعمال کی گئی جس میں دوسری چار فائل کےاشارات ہیں
2.2 بدلنے یا عِوض کی منطق
نستئعلیق میں بہت ذیادہ سیاقی تابعیت بھی ہے۔ حرف کی شکل نہ صرف لگیچر میں پوزیشن کے لحاظ سے بلکہ اپنے برابر کے حروف کی بناء پر بھی تبدیل ہوتی ہے۔ یہ ذیادہ تر اُس کے بعد میں آنے والےحرف کی وجہ سے ہے۔ مشاہدہ یہ ہے کچھ صورتوں کے علاوہ لیگیچر میں حتمی حرف کی شکل حتمی حرف سے پہلے والی حرف پر منحصر ہے۔ مثال کے طور پر حرف ر ( U+0631) میں دو گلیف ہیں۔

اسی طرح U+0631, U+0691, U+0632, U+0698, U+0642, U+0648 and U+06CC کے حتمی گلیفس اس سے پہلے لگیچر کےحتمی گلیف پر انحصار کرتے ہیں۔
صحیح گلیف کو چننے کے لیے اردو پڑھنے کے دائیں سے بائیں طریقہ کے بجائے لگیچر پر بائیں سے دائیں عمل کیا جاتا ہے۔ اس حل میں حرف کا ابتدائی اور درمیانی شکل کے دو look up table ، ابتدائی اور درمیانی کی سیاقی کرنینگ حاصل کرنے کے لیے استعمال کیے جاتے ہیں۔ ان جدول کی فارمیٹ جدول نمبر3 میں ظاہر کی گئی ہے۔

جدول کی پہلی سطر میں یونی کوڈ قدریں ہیں۔ باقی سب اِشاریات ہیں جو فونٹ میں مماثل اشکال کی طرف اشارہ کرتے ہیں۔ ہر ایک حرف جو پہلی سطر میں درج ہے ۔ اس کی شکل کا فیصلہ پہلے کالم میں اُس کے بعد آنے والی شکل کو دیکھ کر کیا جاسکتا ہے۔
حتمی حرف کی شکل کے لیے دو اور جدول استعمال کیےگئے ہیں۔ final1 دو حروف کی اِجتماعات کے لیے اور final 2 دو سے ذیادہ حروف کی اِجتماعات کے لیے ۔ ان کی ضرورت اس لیے ہوئی کیونکہ حتمی شکل اپنےانتہائی داہنی طرف کے حرف پر منحصر ہے اور کیونکہ
حرف کے لیے صرف دو ممکنات ہیں۔ یا تو یہ اپنے ابتدائی شکل میں دو حرف کا اجتماع ہے یا پھر درمیانی شکل میں دو سے ذیادہ حرف کا اجتماع ہے۔
فائنل جدول کی فارمیٹ دوسرے جدولوں سے ذرا مختلف ہے۔ اس کے پہلے کالم میں یونی کوڈ قدریں بھی ہیں کیونکہ شروع میں صرف یونی کوڈ قدریں ہی میسر ہیں۔

حتمنی حرف کی شکل پہلے کالم میں موجود اِن پٹ اسٹرینگ کے ‘ آخری – کم – ایک ‘ حرف سے حاصل ہو سکتی ہے۔
‘بدلنے‘ کے طریقے میں اِن پٹ اسٹرینگ کو لگیچر اسٹرینگ میں تقسیم کیا جاتا ہے۔ اس کے بعد لگیچر پر بائیں سے دائیں ذیل میں دیا عمل کیا جاتا ہے۔
اس لگیچر جس کی لمبائی n ہو تو nth حرف کی شکل فائنل جدول دیکھ کر پتہ کی جاسکتی ہے۔

جہاں ‘ lig string ‘ میں لیگیچر میں موجود حروف کی یونی کوڈ قدریں ہیں ۔ اور ‘ ligature string‘ میں حروف کی اشکال ہیں ۔
باقی دو n – 2 حروف کے لیے وسطی جدول میں دیکھا گیا ہے۔ جہاں nth حرف کی شکل وسطی جدول میں اسطرح ملتی ہے۔

جہاں ‘ایم آر کمپریس‘ کمپریسڈ وسطی جدول ہے۔
لیگچر کی پہلی حرف کی شکل اولین جدول میں پائی جاتی ہے۔
آخیر میں یہ دیکھا جاتا ہے کہ لیگیچر میں اعداد موجود ہیں یا نہیں۔ اعداد ہونے کی صورت میں اسٹرینگ کا رخ بدل کر شائع کیا جاتا ہے۔ تاکہ اعداد کو بائیں سے دائیں پڑھا جا سکے۔

2.3 . مقام کا تعین
نستعلیق، ترچھا اور وتری اسائل ہے جو دائیں سے بائیں اور اوپر سے نیچے لکھا جاتاہے ۔ نستعلیق کی بیس لائن مستقیم نہیں ہے بلکہ ہرگلیف کی بیس لائن کا دارمدار اس کے بعد کےگلیف کی بیس لائن پر ہوتا ہے۔ اسی طرح ایک مخصوص گلیف کے مقام کا تعین اس کے بعد آنے والےگلیف پر ہے۔
‘ ٹیکس’ میں حرف کی اشکال سے متعلق پروگرام موجود نہیں ہے۔ اس میں صرف باکس کی لمبائی ، چوڑائی اور گہرائی سےمتعلق الگورتھم ہیں۔ ‘ ٹیکس’ کےحاصل میں باکسوں میں سلسلہ بندی کی ایکٍ فہرست ہے۔ یہ سمجھ لیا گیا کہ یہ سب باکس ایک ہی بیس لائن پر ہیں۔ مگر ان باکسوں کو اوپر نیچے ، دائیں بائیں کیا جاسکتا ہے

ہمارے طریقے میں اس گلیف ڈیٹا فائل میں یہاں گلیف رکھے گئے ہیں۔ ُپروگرام کا داخلہ کی اور رُخصَتی کا مقام پہلے ہی سے مقرر کردیتے ہیں ۔ داخلہ اس جگہ پر ہوگا جہاں فوری دائیں طرف کا گلیف جڑتا ہے اور رُخصَتی جہاں پر فوری بائیں طرف کا گلیف جڑتا ہے۔

اوہر کی مثال میں سیدھے ہاتھ کے گلیف کی عمودی تطبیق y2-y1 ہوگی۔ نتیجہ تصویر نمبر 10 میں دیا گیا ہے

اسی طرح دو گلیف کے درمیان افقی تطبیق بھی کیا جاسکتاہے۔

لگیچر میں گلیف کی صحیح پوزیشن کے لیے پروگر١م کو دہرانا ضروری بے۔ لگیچر کی عمودی پوزیش کے لیے پر بائیں سے دائیں پروگرام پروسس کیا جاتاہے۔ اسکی وجہ یہ ہے لگیچر کا (آخری) nth گلیف ہمیشہ بیس لائن پر ہوتا ہے۔ جب کہ پروگرام کے داخل ہونے اور رُخصَتی کے حساب سے دوسرے n – 1 گلیف عمودی طرف جاتے ہیں۔

یہاں ‘enex table‘ میں داخلے اور رُخصَتی کے مقام موجود ہیں۔ ‘ligenex table‘ میں حاصل شدہ ترچھے اٹیچمینٹ اور لگیچر جدول میں اشکال کے اشارات ہیں۔
دوسرے پاس میں افقی پوزیشن معلوم کرنے کے لے لگیچر دائیں سے بائیں پروسس کرتے ہیں۔
لگیچر کا پہلا گلیف پچھلے لگیچر کے لحاظ سے افقی پوزیشن میں ہوگا اور باقی n – 1 گلیف کے ہموار جوڑ کے لیےکرنینگ کی جاتی ہے۔

نستعلیق کی ادائیگی میں کرنینگ ایک بڑا مسئلہ ہے۔ دو قسم کے کرنینگ سے متعلق مسائل ہیں ایک میں لگیچر کے درمیان فاصلہ بڑھ جاتا ہے (a) اور دوسرے کی وجہ سے دو لگیچر میں تصادم ہوتا ہے(b)
اس آرٹیکل میں مسئلہ (a) کو شامل نہیں کیا گیا ہے۔ لیکن مسئلہ (b) کو شامل کیا گیا ہے۔

کچھ صورتوں میں بڑی یے (ے , U+06D2) ، جیم (ج , U+062C) اور عین ( ع , U+0639) کے حتمی اشکال سے منفی کرنینگ پیدا ہوتی ہے۔ جس کی وجہ سے پچھلے لگیچر سے تصادم ہوتا ہے۔ اس سے بچنے کے لیے ایک مثبت کرنینگ کی جاتی ہے۔ اس کرنینگ کا جُزوِ ضَربی معلوم کرنے کے لیے اس لگیچر کےحتمی گلیف کی چوڑائی کواس ہی لگیچر کے پچھلے n – 1 گلیفس کی چوڑائی کے میزان سےتفریق کردیتے ہیں۔ جیسا کے تصویر نمبر 4 میں دیکھا گیا ہے۔

جہاں کرن ایک لگیچر جسکی لمبائی n ہے، کے لے مثبت قدر ہے۔ اور [ width [ x نمبر x گلیفس کا کل میزان
2.4 سیاقی نقطہ کو تعین کرنا
نستعلیق کی ادائیگی میں سب سے پیچیدہ مسئلہ سیاقی نقطہ کی جگہ تعین کرنا ہے۔ نستعلیق میں اشکال کا متراکب نقطہ لگانے کی جگہ کو ساکن نہیں کرسکتے۔ اس کو سیاق کی بنا پر لگانا ہوگا۔ اس لیے نقطوں کو بنیادی گلیف سے علحیدہ جمع رکھتے ہیں۔ نقطوں کی وجہ سے دو مسائل پیدا ہوتے ہیں۔
نقطے کا ہمسایہ گلیف سے ٹکراؤ (a) اور نقطہ کا قریبی نقطوں سے ٹکراؤ ۔ جیسا تصویر نمبر13 میں دیکھایا ہے

شروع میں ہر ایک گلیف کےنقطوں کو ان کی فطری حالت میں رکھا جاتا ہے۔ تصویر نمبر 14 اس کے بعد نقطوں میں تطبیق کی جاتی ہے۔

اردو میں 24 حروف ایسے ہیں جن میں نقطوں کا استعمال ہے۔ وہ نیچے دیکھائے گئے ہیں۔ حرف چھوٹی یے (ی , U+064A) میں نقطے کا استعمال اس کی اولین اور متواسط جگہ پر ہے۔
ب ، پ ، ت ، ٹ ، ث ، چ، ح، خ، ڈ، ذ، ڑ ژ ، ش ، ظ، ض ، غ، ف ، ق ، ن ، ی
لگیچر کے اندر نقطوں کا ہمسایہ علامت سے ٹکراؤ کےمختلف وجہیں ہیں ۔ لہذا ہر ایک وجہ کو عحیدہ علحیدہ حل کیا گیا ہے ۔ ہماری تحقیق سے یہ پتہ چلا ہے کہ مندرجہ ذیل حروف کے گلیفس کی شکل نقطے کی پوزیشن پر اثر انداز ہوتی ہے
ے ، ج ، چ ، خ ، ف، ق ، ع ، ک
مثال کے طور یے بڑی (ے ) کے حتمی گلیف پر وہ نقطے جو ‘ یے بڑی ‘ کی شکل کے اوپر ہیں ایک مسئلہ ہیں ۔ اس مسئلہ کو حل کرنے کے لیے ان نقطوں کو افقفی لکیر کے نیچے لکھا گیا ہے۔ جیسا کہ تصویر نمبر 15 میں دکھایا گیا ہے۔

ان مُشاہِدات کے تحت نقطوں کو ٹکراؤ ختم کردیا گیا ہے

- حتمی حروف کے نقطے کی پوزیشن میں تبدیلی نہیں کی جاتی ۔
- علحیدہ حروف کے نقطے کی پوزیشن میں تبدیلی نہیں کی جاتی ۔
- د U+0639 اور ز U+0638 کی پوزیشن میں تبدیلی نہیں کی جاتی ۔
- اولین حروف کے نقطے کو ان کی اصلی پوزیشن میں رکھنے پر فوقیت سی جاتی ہے
- وہ نقطے جو ہمسایہ حروف سے ٹکراتے ہیں ان ہر ایک کی صُورت حال کے مطابق علحیدہ علحیدہ حل کرتے ہیں
- نقطوں کے ٹکراؤ کےحل میں نقطوں کی پوزیشن کو سیدھی طرف لانے کو فوقیت دی جاتی ہے۔
- اگر نقطہ بعد کے حرف سے ٹکراتا ہے یا گڑبڑ کرتا ہے تو بجائے افقی ، اس کو اوپر یا نیچا کردیتے ہیں
3. نتائج اور مباحثہ
اردو میں بیس ہزار سے ذیادہ لگیچر ہیں ۔ اس بیس ہزار لگیچر کے مخزن میں سے تجربہ کے لیے سات ہزار لگیچرز سیمپل بےترتیبانہ چنے گیے۔ ڈیٹا کو سیاقی متبدل ترچھے جوڑ اور نقطے کی پوزیشن کے لیے جانچا گیا۔
جانچ کا معیار
- متبادل گلیف صحیح ہے
- گلیفس کے درمیان smooth ترچھا پن ہے
- دوسرے نقطہ یا دوسرے گلیف کی حد سے ٹکراؤ بغیر نقطہ کو رکھا گیا ہے۔
ان ٹسیٹ کے نتاٰئج جدو ل نمبر 5 میں دیے گئے

4 . مسقبل میں بہتری
اس ریسریچ کی بنیاد پر اومیگا کو اردو نستلعق کی ادائیگی کے استعمال میں ان چیزوں میں کو بہتر کیا جاسکتا ہے:
- اعراب کی سپورٹ
- لگیچر کے درمیان متناسب فاصلہ
- سطریں کی صحیح مناسبت
- نقطہ رکھنے کی جگہ کی بہتری
اکنالیجمنٹ
ہم نفیس نستعلیق فونٹ کی تخلیق ٹیم کے شکر گزار ہیں اور خاص طور پر خطاط مسٹر جمیل الرحمان جنہوں نے اس فونٹ کے لیے خوبصورت گلیفس تیار کیے ۔ اس فونٹ کی خوبصورتی نے ہمارے دلوں میں اس بات کا اشیاق پیدا کیا کہ ہم اومیگا کے ذریعہ لنیکس میں نفیسں نستعلیق کی ادائیگی کریں۔


2 comments
arifkarim
November 11, 2009 at 3:34 AM (UTC 6)
اچھی تحقیق ہے!
محب علوی
November 30, 2009 at 11:46 AM (UTC 6)
بہت عمدہ مضمون ہے اور ایسی معلومات کو پھیلانے کی اشد ضرورت ہے۔ ایک سوال جو میرے ذہن میں ابھرا ہے وہ یہ ہے کہ اومیگا میں کس زبان میں پروگرامنگ کی گئی ہے