نعیم سعید
محفلین
السلام علیکم
آج آپ ساتھیوں سے نستعلیق لگیچر بیسڈ فونٹس سے متعلق اپنے کچھ تجربات اور کچھ آئیڈیاز شیئر کرنا چاہتا ہوں۔ یقیناً اس سے مزید نئے آئیڈیاز بھی سامنے آئیں اور جو باتیں ابھی میرے ذہن میں بھی نہیں ہیں وہ بھی اس اجتماعی کوشش سے سامنے آسکیں گی۔
اب تک جتنے بھی نستعلیقی لگیچر بیسڈ فونٹس تیار ہوئے ہیں تقریباً تمام ہی ’جوہر نستعلیق‘ کی بنیاد پر بنائے گئے ہیں۔ یہی وجہ ہے کہ عموماً ان فونٹس کے مسائل کی نوعیت بھی یکساں ہی ہے، ماشاء اللہ مزید نئے فونٹس کی تیاری بھی جاری ہے، کیا یہ بہتر نا ہوتا کہ پہلے ایک مکمل بیسڈ فونٹ تیار کر لیا جاتا جس کے بعد نئے آنے والے فونٹس میں ان مسائل پر قابو پا لینا آسان ہو جاتا جو سابقہ تیار شدہ فونٹس میں موجود ہیں۔
اب تک تیار شدہ فونٹس میں مسائل تو بہت سے ہیں مگر یہاں ان تمام مسائل کا ذکر کرنا اصل مقصد نہیں ہے، میرا مقصد تو یہ ہے کہ کچھ ایسی نئی کوششیں بھی ہونی چاہیں جن کی مدد سے نئے تیار ہونے والے فونٹس کو بہتر سے بہتر بنایا جا سکے۔ اسی سوچ کے تحت پہلے تو کچھ تفصیل اصل مسئلہ کی بیان کرتا ہوں جسے سمجھے بغیر بات آگے بڑھ ہی نہیں سکے گی، اس کے بعد ہی انشاء اللہ اس کے حل کے لیے کچھ سوچا جائے گا۔
موجودہ تیار شدہ فونٹس کی صورت حال کچھ یوں ہے کہ ہم ابھی تک کسی ایک فونٹ میں بھی ’کرننگ‘ جیسی بنیادی سہولت کو شامل کرنے میں کام یاب نہیں ہوسکے، جب کہ ’کرننگ‘ کے بغیر فونٹ میں خوب صورتی پیدا کرنے کا تصور پورا ہونا ممکن ہی نہیں۔ ایسا نہیں کہ یہ ممکن نہیں تھا، ہاں یہ کام مشکل ہی نہیں کافی مشکل ضرور تھا، جس کے لیے واحد مشکل ترین سہارا ’’وولٹ‘‘ ہی مل سکا۔
بہر حال جمیل فونٹ کو بنیاد بنا کر میں نے خود ذاتی طور پر اس کام کو کرنے کی کوشش کی (جس پر ابھی تک کام جاری ہے) بے شک جہاں مجھے اس میں بہت کام یابی ہوئی تو وہیں کچھ مسائل بھی سامنے آئے جن کے آگے بے بسی کے علاوہ کچھ نظر نہیں آتا تھا۔ یقینا ان تجربات نے بہت کچھ سکھایا بھی۔ اور یہی رکاوٹیں ہی کچھ نیا سوچنے کا سبب بنیں۔
’کرننگ‘ سیٹ کرنے میں ایک مسئلہ جو بار بار سامنے آیا وہ تھا لگیچرز پر لگے ’نقاط‘ کا جو سیٹ کرنے میں عموماً بہت رکاوٹ بنتے، کیونکہ وہ لگیچر کا مستقل حصہ ہونے کی وجہ سے قابو سے باہر ہوتے ہیں انہیں اپنی جگہ سے اِدھر اُدھر ہلانا ممکن نہیں ہوتا۔ اس بات کو مزید سمجھنے کے لیے نیچے مثال دیکھیں:
پہلے باکس میں نقاط لگیچر ’چی‘ کا حصہ ہونے کی وجہ سے ہلائے نہیں جا سکتے یہی وجہ ہے کہ ان میں بھرپور خوب صورتی بھی نہیں لائی جاسکتی، جب کہ دوسرے باکس میں اسی لگیچر کے نقاط کو آزاد کر دیا گیا ہے اور اس طرح مطلوبہ خوب صورتی بھی حاصل کر لی گئی ہے۔
یہ تفصیل بتانے کا اصل مقصد یہی تھا کہ موجودہ لگیچر بیسڈ فونٹس میں جو طریقہ کار اختیار کیا جا رہا ہے کہ تمام لگیچرز کو نقاط وغیرہ سمیت ہی فونٹ میں شامل کیا گیا ہے۔ اس سے جہاں بے شک ہم ایک مکمل فونٹ بنانے میں کام یاب تو ہو گئے ہیں مگر یہ طریقہ کرننگ جیسی سہولت شامل کرنے میں کچھ رکاوٹیں پیدا کر رہا ہے۔
اس سلسلے میں میری رائے یہی ہے کہ آئندہ فونٹس میں نقاط کے ساتھ لگیچر شامل کرنے کی بجائے صرف لگیچرز کی ’کشتیاں‘ فونٹ میں ڈالی جائیں اور وولٹ میں جاکر ان کشتیوں پر نقاط وغیرہ سیٹ کیے جائیں اس طرح کرنے سے کئی فوائد حاصل ہوں گے۔ مثلاً:
• لگیچرز کی تعداد تقریباً پچاس فیصد تک کم ہو جائے گی۔
• بعد میں نئے لگیچرز شامل کرنے کے لیے گنجائش بڑھ جائے گی۔
• نئے الفاظ شامل کرنا آسان ہو جائے گا۔ (یعنی جن کی کشتی پہلے سے موجود ہوگی، صرف وولٹ میں جاکر ایسے الفاظ بڑھانے ہوں گے)
• وولٹ میں لک اپس اور گروپس کا بوجھ بھی کافی کم ہو جائے گا۔
• فونٹ کا سائز بھی یقیناً کم ہو جائے گا۔ وغیرہ وغیرہ
• سب سے بڑی بات ’کرننگ‘ کے لیے آگے چل کر جو آئیڈیا بیان کرنا چاہتا ہوں اس پر عمل کرنا بھی ممکن ہو جائے گا۔
امید کہ آپ ساتھیوں کو میری اب تک کی باتوں سے تو اتفاق ہو گا مگر اس مسئلہ کا اصل حل کیا ہے اس سلسلے میں میں خود بھی بہت واضح نہیں ہوں البتہ کچھ باتیں ہیں …………
اب سوال ہے ’کرننگ‘ کو سیٹ کرنے کا جو ہمارا اصل مقصود ہے، جس کے لیے اتنی لمبی کہانی لکھی گئی ہے، وہ کیسے سیٹ کی جائے، جب نقطے ہی ختم کر دیئے گئے تو وولٹ میں تو کرننگ کو سیٹ کرنا اور بھی زیادہ مشکل ہوگیا اسی لیے میری رائے میں کرننگ کے لیے وولٹ کو استعمال نہ کیا جائے کیونکہ وولٹ ہماری ضرورت پر کسی طرح بھی پورا نہیں اترتا، اس کی بجائے ایک ’’پلگ ان‘‘ تیار کیا جائے جو کہ بنانا میرے خیال سے زیادہ مشکل نہیں ہوگا کیونکہ ایسے ’’پگ ان‘‘ کی بنی بنائی مثال ’’میر عماد‘‘ کے نام سے ہمارے سامنے موجود ہے۔ میری نظر میں ’میر عماد‘ ایک بہت ہی زبردست آئیڈیا ہے جس میں نقاط، اعراب، اور متبادل اشکال کو استعمال کرنے کی انتہائی آسان ٹیکنیک اختیار کی گئی ہے، اگر لگیچر بیسڈ فونٹس کے لیے اس طرح کا ’پلگ ان‘ بنا دیا جائے تو میں سمجھتا ہوں کہ اس کی مدد سے فونٹ میں ’کرننگ‘ کی سو فیصد خوب صورتی پیدا کی جاسکتی ہے۔ جیسی اوپر نمونہ میں دکھائی گئی ہے۔ جن دوستوں نے میر عماد کو استعمال کیا ہے وہ یقینا اس کی خوبیوں سے واقف ہوں گے۔
’میر عماد‘ میں ایکسس پر ڈیٹا بیس تیار کر کے پروگرام میں شامل کر دیا گیا ہے۔ اور آسانی سے اس میں اضافی کرنا بھی ممکن ہے۔ بالکل اسی طرح الفاظ کی ڈیٹا بیس فائل بنا کر پروگرام میں شامل کر دی جائے۔ اس طرح ایک بار محنت سے ان الفاظ کی کرننگ مکمل کنٹرول کے ساتھ (جو کہ وولٹ میں نہیں ملتا) سیٹ کر دی جائے۔ جیسی کہ ’میر عماد‘ میں نظر بھی آتی ہے۔ اور اسی وجہ سے میں نے شروع میں یہ بات رکھی کہ لگیچرز میں سے نقاط کو ختم کیا جائے ورنہ ’میر عماد‘ جیسے ’پلگ ان‘ کا بھرپور استعمال ممکن نہ ہوگا۔
’میر عماد‘ کے چند نمونہ جات درج ذیل لنک سے اتار کر دیکھے جاسکتے ہیں:
http://dl.dropbox.com/u/2483063/MirEmad Samples.rar
سچی بات تو یہ ہے کہ فونٹس بنانے کے بنیادی ٹولز (فونٹ کریٹر، فونٹ لیب یا وولٹ وغیرہ) یہ سب ان تمام ضروریات پر پورے ہی نہیں اترتے خوب صورت اور معیاری فونٹس بنانے کے لیے جن کی ضرورت ہوتی ہے۔ یہی وجہ ہے کہ ’ان پیج‘ ’کلک‘ ’تصمیم‘ اور دیگر ناموں سے مختلف پروگرام اور پلگ ان اسی لیے بنائے گئے کہ انہوں نے محسوس کر لیا تھا کہ ایسا کیے بغیر ساری سہولتیں فونٹ میں شامل نہیں کی جاسکتیں۔
دیکھا جائے تو لگیچر بیسڈ فونٹس کے ایک مشکل تصور کو تو ماشاء اللہ ہمارے اپنے فورم پر موجود دوستوں نے محنت کر کے عملی صورت میں پیش کر دیا ہے۔ جو کہ میری نظر میں بہت بڑی کام یابی ہے، اور ماشاء اللہ یہ سلسلہ رکا نہیں نئے فونٹس کی تیاریاں بھی جاری ہیں، مگر ساتھ ساتھ اس اعتبار سے ریسرچ کرنا بھی ضروری ہے کہ ان فونٹس کو کس طرح زیادہ سے زیادہ بہتر بنایا جا سکتا ہے، اور دوسروں کے تجربات سے ہم کیا فائدہ اٹھا سکتے ہیں۔ اس سلسلے میں اب پروگرامر حضرات کی ذمہ داری ذرا بڑھ جاتی ہے کہ ان کے تعاون کے بغیر آگے کی منزلیں طے کرنا دشوار نظر آتا ہے۔
یہ تو محض میرے اکیلے ذہن کا آئیڈیا تھا ضروری نہیں بالکل درست ہو اور اسی پر عمل کیا جائے، بلکہ آپ دوستوں کے ذہن میں جو آئیڈیا ہو اسے بھی یہاں بیان کیا جائے تاکہ جس فکر کے تحت میں نے یہ سب لکھا ہے اس ہدف تک پہنچنا ہمارے لیے ممکن ہو سکے۔
آج آپ ساتھیوں سے نستعلیق لگیچر بیسڈ فونٹس سے متعلق اپنے کچھ تجربات اور کچھ آئیڈیاز شیئر کرنا چاہتا ہوں۔ یقیناً اس سے مزید نئے آئیڈیاز بھی سامنے آئیں اور جو باتیں ابھی میرے ذہن میں بھی نہیں ہیں وہ بھی اس اجتماعی کوشش سے سامنے آسکیں گی۔
اب تک جتنے بھی نستعلیقی لگیچر بیسڈ فونٹس تیار ہوئے ہیں تقریباً تمام ہی ’جوہر نستعلیق‘ کی بنیاد پر بنائے گئے ہیں۔ یہی وجہ ہے کہ عموماً ان فونٹس کے مسائل کی نوعیت بھی یکساں ہی ہے، ماشاء اللہ مزید نئے فونٹس کی تیاری بھی جاری ہے، کیا یہ بہتر نا ہوتا کہ پہلے ایک مکمل بیسڈ فونٹ تیار کر لیا جاتا جس کے بعد نئے آنے والے فونٹس میں ان مسائل پر قابو پا لینا آسان ہو جاتا جو سابقہ تیار شدہ فونٹس میں موجود ہیں۔
اب تک تیار شدہ فونٹس میں مسائل تو بہت سے ہیں مگر یہاں ان تمام مسائل کا ذکر کرنا اصل مقصد نہیں ہے، میرا مقصد تو یہ ہے کہ کچھ ایسی نئی کوششیں بھی ہونی چاہیں جن کی مدد سے نئے تیار ہونے والے فونٹس کو بہتر سے بہتر بنایا جا سکے۔ اسی سوچ کے تحت پہلے تو کچھ تفصیل اصل مسئلہ کی بیان کرتا ہوں جسے سمجھے بغیر بات آگے بڑھ ہی نہیں سکے گی، اس کے بعد ہی انشاء اللہ اس کے حل کے لیے کچھ سوچا جائے گا۔
موجودہ تیار شدہ فونٹس کی صورت حال کچھ یوں ہے کہ ہم ابھی تک کسی ایک فونٹ میں بھی ’کرننگ‘ جیسی بنیادی سہولت کو شامل کرنے میں کام یاب نہیں ہوسکے، جب کہ ’کرننگ‘ کے بغیر فونٹ میں خوب صورتی پیدا کرنے کا تصور پورا ہونا ممکن ہی نہیں۔ ایسا نہیں کہ یہ ممکن نہیں تھا، ہاں یہ کام مشکل ہی نہیں کافی مشکل ضرور تھا، جس کے لیے واحد مشکل ترین سہارا ’’وولٹ‘‘ ہی مل سکا۔
بہر حال جمیل فونٹ کو بنیاد بنا کر میں نے خود ذاتی طور پر اس کام کو کرنے کی کوشش کی (جس پر ابھی تک کام جاری ہے) بے شک جہاں مجھے اس میں بہت کام یابی ہوئی تو وہیں کچھ مسائل بھی سامنے آئے جن کے آگے بے بسی کے علاوہ کچھ نظر نہیں آتا تھا۔ یقینا ان تجربات نے بہت کچھ سکھایا بھی۔ اور یہی رکاوٹیں ہی کچھ نیا سوچنے کا سبب بنیں۔
’کرننگ‘ سیٹ کرنے میں ایک مسئلہ جو بار بار سامنے آیا وہ تھا لگیچرز پر لگے ’نقاط‘ کا جو سیٹ کرنے میں عموماً بہت رکاوٹ بنتے، کیونکہ وہ لگیچر کا مستقل حصہ ہونے کی وجہ سے قابو سے باہر ہوتے ہیں انہیں اپنی جگہ سے اِدھر اُدھر ہلانا ممکن نہیں ہوتا۔ اس بات کو مزید سمجھنے کے لیے نیچے مثال دیکھیں:
یہ تفصیل بتانے کا اصل مقصد یہی تھا کہ موجودہ لگیچر بیسڈ فونٹس میں جو طریقہ کار اختیار کیا جا رہا ہے کہ تمام لگیچرز کو نقاط وغیرہ سمیت ہی فونٹ میں شامل کیا گیا ہے۔ اس سے جہاں بے شک ہم ایک مکمل فونٹ بنانے میں کام یاب تو ہو گئے ہیں مگر یہ طریقہ کرننگ جیسی سہولت شامل کرنے میں کچھ رکاوٹیں پیدا کر رہا ہے۔
اس سلسلے میں میری رائے یہی ہے کہ آئندہ فونٹس میں نقاط کے ساتھ لگیچر شامل کرنے کی بجائے صرف لگیچرز کی ’کشتیاں‘ فونٹ میں ڈالی جائیں اور وولٹ میں جاکر ان کشتیوں پر نقاط وغیرہ سیٹ کیے جائیں اس طرح کرنے سے کئی فوائد حاصل ہوں گے۔ مثلاً:
• لگیچرز کی تعداد تقریباً پچاس فیصد تک کم ہو جائے گی۔
• بعد میں نئے لگیچرز شامل کرنے کے لیے گنجائش بڑھ جائے گی۔
• نئے الفاظ شامل کرنا آسان ہو جائے گا۔ (یعنی جن کی کشتی پہلے سے موجود ہوگی، صرف وولٹ میں جاکر ایسے الفاظ بڑھانے ہوں گے)
• وولٹ میں لک اپس اور گروپس کا بوجھ بھی کافی کم ہو جائے گا۔
• فونٹ کا سائز بھی یقیناً کم ہو جائے گا۔ وغیرہ وغیرہ
• سب سے بڑی بات ’کرننگ‘ کے لیے آگے چل کر جو آئیڈیا بیان کرنا چاہتا ہوں اس پر عمل کرنا بھی ممکن ہو جائے گا۔
امید کہ آپ ساتھیوں کو میری اب تک کی باتوں سے تو اتفاق ہو گا مگر اس مسئلہ کا اصل حل کیا ہے اس سلسلے میں میں خود بھی بہت واضح نہیں ہوں البتہ کچھ باتیں ہیں …………
اب سوال ہے ’کرننگ‘ کو سیٹ کرنے کا جو ہمارا اصل مقصود ہے، جس کے لیے اتنی لمبی کہانی لکھی گئی ہے، وہ کیسے سیٹ کی جائے، جب نقطے ہی ختم کر دیئے گئے تو وولٹ میں تو کرننگ کو سیٹ کرنا اور بھی زیادہ مشکل ہوگیا اسی لیے میری رائے میں کرننگ کے لیے وولٹ کو استعمال نہ کیا جائے کیونکہ وولٹ ہماری ضرورت پر کسی طرح بھی پورا نہیں اترتا، اس کی بجائے ایک ’’پلگ ان‘‘ تیار کیا جائے جو کہ بنانا میرے خیال سے زیادہ مشکل نہیں ہوگا کیونکہ ایسے ’’پگ ان‘‘ کی بنی بنائی مثال ’’میر عماد‘‘ کے نام سے ہمارے سامنے موجود ہے۔ میری نظر میں ’میر عماد‘ ایک بہت ہی زبردست آئیڈیا ہے جس میں نقاط، اعراب، اور متبادل اشکال کو استعمال کرنے کی انتہائی آسان ٹیکنیک اختیار کی گئی ہے، اگر لگیچر بیسڈ فونٹس کے لیے اس طرح کا ’پلگ ان‘ بنا دیا جائے تو میں سمجھتا ہوں کہ اس کی مدد سے فونٹ میں ’کرننگ‘ کی سو فیصد خوب صورتی پیدا کی جاسکتی ہے۔ جیسی اوپر نمونہ میں دکھائی گئی ہے۔ جن دوستوں نے میر عماد کو استعمال کیا ہے وہ یقینا اس کی خوبیوں سے واقف ہوں گے۔
’میر عماد‘ میں ایکسس پر ڈیٹا بیس تیار کر کے پروگرام میں شامل کر دیا گیا ہے۔ اور آسانی سے اس میں اضافی کرنا بھی ممکن ہے۔ بالکل اسی طرح الفاظ کی ڈیٹا بیس فائل بنا کر پروگرام میں شامل کر دی جائے۔ اس طرح ایک بار محنت سے ان الفاظ کی کرننگ مکمل کنٹرول کے ساتھ (جو کہ وولٹ میں نہیں ملتا) سیٹ کر دی جائے۔ جیسی کہ ’میر عماد‘ میں نظر بھی آتی ہے۔ اور اسی وجہ سے میں نے شروع میں یہ بات رکھی کہ لگیچرز میں سے نقاط کو ختم کیا جائے ورنہ ’میر عماد‘ جیسے ’پلگ ان‘ کا بھرپور استعمال ممکن نہ ہوگا۔
’میر عماد‘ کے چند نمونہ جات درج ذیل لنک سے اتار کر دیکھے جاسکتے ہیں:
http://dl.dropbox.com/u/2483063/MirEmad Samples.rar
سچی بات تو یہ ہے کہ فونٹس بنانے کے بنیادی ٹولز (فونٹ کریٹر، فونٹ لیب یا وولٹ وغیرہ) یہ سب ان تمام ضروریات پر پورے ہی نہیں اترتے خوب صورت اور معیاری فونٹس بنانے کے لیے جن کی ضرورت ہوتی ہے۔ یہی وجہ ہے کہ ’ان پیج‘ ’کلک‘ ’تصمیم‘ اور دیگر ناموں سے مختلف پروگرام اور پلگ ان اسی لیے بنائے گئے کہ انہوں نے محسوس کر لیا تھا کہ ایسا کیے بغیر ساری سہولتیں فونٹ میں شامل نہیں کی جاسکتیں۔
دیکھا جائے تو لگیچر بیسڈ فونٹس کے ایک مشکل تصور کو تو ماشاء اللہ ہمارے اپنے فورم پر موجود دوستوں نے محنت کر کے عملی صورت میں پیش کر دیا ہے۔ جو کہ میری نظر میں بہت بڑی کام یابی ہے، اور ماشاء اللہ یہ سلسلہ رکا نہیں نئے فونٹس کی تیاریاں بھی جاری ہیں، مگر ساتھ ساتھ اس اعتبار سے ریسرچ کرنا بھی ضروری ہے کہ ان فونٹس کو کس طرح زیادہ سے زیادہ بہتر بنایا جا سکتا ہے، اور دوسروں کے تجربات سے ہم کیا فائدہ اٹھا سکتے ہیں۔ اس سلسلے میں اب پروگرامر حضرات کی ذمہ داری ذرا بڑھ جاتی ہے کہ ان کے تعاون کے بغیر آگے کی منزلیں طے کرنا دشوار نظر آتا ہے۔
یہ تو محض میرے اکیلے ذہن کا آئیڈیا تھا ضروری نہیں بالکل درست ہو اور اسی پر عمل کیا جائے، بلکہ آپ دوستوں کے ذہن میں جو آئیڈیا ہو اسے بھی یہاں بیان کیا جائے تاکہ جس فکر کے تحت میں نے یہ سب لکھا ہے اس ہدف تک پہنچنا ہمارے لیے ممکن ہو سکے۔