نسخ کیسے لکھی جاتی ہے۔
صاحبو! سب سے پہلے حوصلہ افزائی کا شکریہ پھر ساتھ کام کرنے کی لگن کا شکریہ۔ ذہن میں رکھئے کہ نتائج فوری برآمد نہ ہونگے کہ یہ تمام فونٹس بن جائیں۔ لیکن یہ مجھے یقین ہے کہ تھوڑے دنوںمیں ہی آپ سب کو نظر آنے لگے گا کہ نستعلیق کا فونٹ کس طرح بنے گا۔ میں یہ ڈسکشن یہاں لے آیا ہوں۔جوکہ زیادہ مناسب ہے۔
تو شروع کرتے ہیں۔
گو کہ آپ سب یہ جانتے ہی ہیں کی نسخ کیسے لکھی جاتی ہے لیکن ہم کو کچھ نئے الفاظ اور تعاریف کی ضرورت ہے جو ہم بعد میں استعمال کریں گے، سب سی پہلے دیکھتے ہیں کی نسخ کیسے لکھی جاتی ہے۔
اردو (یا عرب، فارسی) کی رسم الخط میں حروف کی شکلیں الفاظ میں حرف کی جگہ کہ لحاظ سی بنتی ہے۔ اس کی علاوہ ہر کیریکٹر ہمیشہ ایک ہی بیس لائین پر ہوتا ہے۔ ہر حرف کی 4 عدد اشکال درکار ہیں
1۔ ابتدائی - Begining (BEG) x
2۔ میانی - Middle (MID) x
3۔ انتہائی- End Connected (ECN) x
4۔ یکتا - Stand Alone (SAL) x
ہم BEG, MID, ECN اور SAL بارہا استعمال کریں گے۔ ذرا ذہن میں رکھ لیں
مثال یہ ہے۔
اس امیج میں آپ دیکھ سکتے ہیں کہ حروف کی 4 اشکال کیسی ہیں اور نوٹ کریں کہ ہر شکل ایک ہی بیس لائن پر ہے۔ یہ انفارمیشن ہمیں نستعلیق میں مدد دے گی۔ اب دیکھتے ہیں کے ان کا انتخاب کس طرح کیا جاتا ہے۔
حرف کی اشکال کا انتخاب:
کسی لفظ میں حرف کی شکل کا انتخاب کرنے کی لئے اس سے پچھلے اور اگلے کیریکٹر کو دیکھتے ہیں۔ بہت سے لوگ سمجھتے ہیں کہ مناسب اکل معلوم کرنے کے لئے کوئی بہت ہی کمپلکس لاجک استعمال ہوتی ہوگی۔ میری ایک بات یاد رکھئیے نستعلیق اور نسخ دونوں کسی ماہر انجینٌر نے ایجاد کی تھیں۔اس کا ہر پہلو لاجیکل ہے۔ کسی اٹکل پر مبنی نہیں۔ یہ میرے حساب سے دنیا کا اڈوانسڈ ترین رسم الخطوط ہیں۔ میں نے تو صرف ریسرچ کی ہے، اس کے موجدین کی داد دیتا ہوں کہ وہ یقینا جیومیٹری کے ماہرین تھے۔ دیکھتے جائیے میرے ساتھ جب میں اس جیومیٹری اور منطق کو آہستہ آہستہ unfold کرتا ہوں۔ تو اب آپ دیکھئیے فایلز
<group.tab> <shape.tab> <inprtab.tab> اور naskacsd.c
naskacsd = Naskh Automatic Character Shape Determination.
ہر حرف کا شیپ معلوم کرنے کا فارمولا ہے۔
1۔ اگلے پچھلے اور درمیانی حرف کا کوڈ پوائنٹ لیں، ہمارا کوڈ پیج چونکہ ذرا بگڑا ہوا ہے۔ لہذا تھوڑا زیادہ کام کرنا پڑا ہے۔
rch = inprtab[ritch] & 0x7f ;
mch = inprtab[midch] & 0x7f ;
lch = inprtab[lftch] & 0x7f ;
بنیادی طور پر اوپر کا کوڈ صرف مدد کے لئے ہے کی کسی بھی کوڈ پیج کو نارملائز کیا جائے۔
اب ہر کیریکٹر کا ایک گروپ تیبل ہے۔ ےعنی ہر اردو کا حرف 3 مین سے ایک گروپ میں ہے۔ اور right , left حرف کا گروپ یہ بتاتا ہے کہ درمیانے حرف کی شکل کیا ہوگی۔
اس کا فارمولا یہ ہے۔
//NaskACSD begins here
if (grouptab[rch] == 2 ) // pick up a shpae for ritech
shpch = shapetab[(mch )][(((grouptab[lch])+1) | 2)] ;
else
shpch = shapetab[(mch )][((grouptab[lch]) & 1)] ;
آپ کو اتنی تفصیل جاننے کی ضرورت تو نہیں لیکن ہم اس بات کا بار بار تذکرہ کریں گے کہ لفظ کا شیپ معلوم کریں اور یہ concept نستعلیق میں کام آئے گا۔ ذہن میں رکھئے کہ ایک لفظ کا وہ حصہ جو مکمل طور پر جڑا ہو ترسیمہ یا Glyph کہلاتا ہے۔ ہم آئندہ ترسیمہ استعمال کریں گے۔ مثال اس کی یہ ہے۔ لفظ پاکستان میں پا ، ایک ترسیمہ ہے۔ کستا ، ایک ترسیمہ ہے۔ اور ن ایک SAL حرف ہے۔ ہم یہ ٹرمنالوجی استعمال کرتے ہوئے آگے بڑھیں گے۔
تو گویا اب تک ہم یہ سیکھ چکے ہیں کہ نسخ لفظ میں حرف کے 4 شیپ ہوتے ہیں اور ہر شیپ ایک ہی بیس لائن پر ہوتا ہے۔ اور ان شیپ کو معلوم کرنا منطقی ہے، کیونکہ یہ تمام (نسخ اور نستعلیق) کی شکلیں جیومیٹری کے اصولوں اور منطقی طریقہ کار پر مبنی ہیں۔
اب ہم آئندہ آنے والے دنوں میں یہ سمجھیں گے کہ نستعلیق میں حرف کی کتنی شکلیں ممکن ہیں۔ ان کی بیس لائن کس طرح معلوم کی جاتی ہے اور نستعلیق کے حرف میں کیا کیا انفارمیشن ہوتی ہے۔ اور ہر شکل میں کس کس انفارمیشن کی ضرورت ہے۔ اس تمام معلومات کو سمجھنے کے بعد ہم کسی بھی نستعلیق کیریکٹر کی بنیادی انفارمیشن کسی فونٹ ایڈیٹر میں یا اوپن ٹائپ میں داخل کرنے کے لائق ہوجائیں گے۔ اس مرحلے پر ہم VOLT یا ایسے ہی کسی سسٹم کی معلومات کے مطابق ایک فونٹ بنانا شروع کریں گے۔ فونٹ کی تکمیل بذات خود ایک باریک بینی کا کام ہے۔ لیکن ان concept کے بغیر ممکن نہیں۔
اس دوران میں اوپر دی گئی فائلز کو ڈاون لوڈ کر لیں۔ اس میں صدف کا ایک معمولی سا ایڈیٹر اور 2 نستعلیق کے فونٹ ہیں۔ انسٹرکشن دیکھ کر انسٹال کرلیں، ہم اپنی مثالوں میں صدف سے بھی مدد لیں گے، ان concepts کو سمجھنے کے لئے۔
باقی آئندہ۔
تمامتر خلوس کے ساتھ صاحبو اور دوستوں کو سلام۔