سعد نستعلیق!

نبیل

تکنیکی معاون
انتہائی محترم شاکر القادری جی!
میرا مطمع نظر قطعا یہ نہیں تھا نہ ہی میں نستعلیق یا فانٹس کی اہمیت و افادیت سے انکار کر رہا ہوں۔ میں کہنا یہ چاہ رہا تھا کہ باقی شعبوں کی طرف بھی اسی طرح کی توجہ کی ضرورت ہے جیسی فانٹس پر دی گئی ۔ اور شعبوں میں بھی کام ہوا ہے اور ہو بھی رہا ہے لیکن پروگرامنگ وغیرہ کی پیچیدگیوں کی وجہ سے اس طرف زیادہ رجحان نہیں ہے۔ باقی نستعلیق پر تو کام صدیوں سے ہو رہا ہے اور یہ جاری رہے گا ان شاءاللہ۔ آپ کو یاد ہو گا میں خود نستعلیق پر کچھ کام کرنا چاہ رہا تھا لیکن فرصت میسر نہ ہو سکی۔ میری ذاتی دلچسپی بھی زیادہ تر فانٹس میں ہی ہے لیکن ایک چیز محسوس کی تو احباب کے گوش گزار کر دی۔

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

نبیل

تکنیکی معاون
شکریہ نبیل بھائی۔ نئے ترسیمہ جات پر مبنی فانٹس پر آغاز سے قبل حالیہ فانٹس میں کرننگ کا کوئی مناسب حل ڈھونڈنا ابھی باقی ہے۔ اسکے لئے ہمیں ہر ترسیمے کے آغاز کی اونچائی معلوم کرنی ہوگی۔ اگر یہ ڈیٹا ہمیں کسی امیج پراسیسنگ ، کمپیوٹر ویژن تکنیک سے حاصل ہو جائے تو ہم با آسانی کرننگ پیئرز بنا کر اس معمہ کو حل کر سکتے ہیں۔ وضاحت کے طور پر یہ خاکہ دیکھیں:
Kerning2.png

ہمیں کرننگ سیٹ کرنے کیلئے ترسیموں کی مطلوبہ اونچائی کی قدریں درکار ہیں۔
زیک

مجھے یہ کوئی ایسا پیچیدہ پرابلم معلوم نہیں ہو رہا جس کے لیے امیج پراسیسنگ کے کسی ایڈوانسڈ الگورتھم کی ضرورت پڑتی ہو۔ بظاہر تو یہی معلوم ہوتا ہے امیج کے دائیں جانب پکسلز کی پہلی عمودی قطار کا جائزہ لینے کی ضرورت ہے۔ اگر ایسا ہی تو یہ ایک سادہ پروگرام کے ذریعے بھی ممکن ہے۔ کیا یہ درست ہے زیک ؟
 
مدیر کی آخری تدوین:

arifkarim

معطل
بظاہر تو یہی معلوم ہوتا ہے امیج کے دائیں جانب پکسلز کی پہلی عمودی قطار کا جائزہ لینے کی ضرورت ہے۔ اگر ایسا ہی تو یہ ایک سادہ پروگرام کے ذریعے بھی ممکن ہے۔
جی نبیل بھائی۔ ہمیں کچھ ایسا ہی پروگرام درکار ہے جو خودکار طور پر ہر ترسیمے کی اونچائی ناپ کر ایکسٹرل فائل میں جنریٹ کر دے۔ باقی ایکسپرٹ رائے زیک دے سکیں گے۔
 
اسکے لئے ہمیں ہر ترسیمے کے آغاز کی اونچائی معلوم کرنی ہوگی۔
یہ معلومات تو ایس وی جی پروسیسنگ کی مدد سے محض ایک تنگ باؤنڈنگ باکس کے ذیلی ترین دائیں انٹرسیکٹ کی مدد سے حاصل ہو سکتی ہے، لیکن ہمارا خیال ہے کہ اتنی معلومات کرننگ کے لیے کافی نہیں ہوگی۔ :) :) :)
 

arifkarim

معطل
یہ معلومات تو ایس وی جی پروسیسنگ کی مدد سے محض ایک تنگ باؤنڈنگ باکس کے ذیلی ترین دائیں انٹرسیکٹ کی مدد سے حاصل ہو سکتی ہے، لیکن ہمارا خیال ہے کہ اتنی معلومات کرننگ کے لیے کافی نہیں ہوگی۔ :) :) :)
وولٹ میں گروپ کرننگ کیلئے یہ معلومات کافی ہے۔ اگر ہمیں تمام ترسیموں کے بارہ میں خود کار طور پر اتنی سی معلومات بھی مل جائیں تو مال غنیمت سے کم نہیں :)
 
وولٹ میں گروپ کرننگ کیلئے یہ معلومات کافی ہے۔ اگر ہمیں تمام ترسیموں کے بارہ میں خود کار طور پر اتنی سی معلومات بھی مل جائیں تو مال غنیمت سے کم نہیں :)
اور یقیناً یہ معلومات بیس لائن کے ریفرینس میں چاہیے ہوگی، مثبت یا منفی پیمائش کی صورت، ہے نا؟ :) :) :)
 

arifkarim

معطل
اور یقیناً یہ معلومات بیس لائن کے ریفرینس میں چاہیے ہوگی، مثبت یا منفی پیمائش کی صورت، ہے نا؟ :) :) :)
جی بالکل۔ بیس لائن سے ایک ترسیمہ کتنا اونچا ہے۔ یہ قدریں منفی تو نہیں ہو سکتی۔ :)
ہاں البتہ اسکی دوسری سمت میں ترسیموں کا اختتام بیس لائن سے منفی قدر میں ہو سکتا ہے۔ :)
 

شاکرالقادری

لائبریرین
میرے خیال میں اس کے لیے ہمیں مندرجہ ذیل کی ضرورت ہوگی
۱۔۔۔ بیس لائن سے اوپر ترسیمے کے ابتدائی حصے کے نیچے خلا
۲۔۔۔۔ ترسیمے کے نیچے موجود خلا دائیں جانب والے بیرنگ سے کس قدر آگے تک موجود ہے
۳ ۔۔ ہر ترسیمہ کے اختتامی حرف کی اونچائی
تب ہم ایک ترسیمہ کے آخری حصہ کی اونچائی، ایک ترسیمہ کے شروع کے نچلے حصے کے خلا کا تعین کرتے ہوئے یہ بھی معلوم کر سکیں گے کے کرننک کرتے وقت ایک ترسیمہ کو دوسرے کے نیچے کس حد تک آگے لے جایا جا سکتا ہے
۔
%DA%A9%D8%B1%D9%86%D9%86%DA%AF.gif
 
آخری تدوین:

زیک

مسافر
مجھے یہ کوئی ایسا پیچیدہ پرابلم معلوم نہیں ہو رہا جس کے لیے امیج پراسیسنگ کے کسی ایڈوانسڈ الگورتھم کی ضرورت پڑتی ہو۔ بظاہر تو یہی معلوم ہوتا ہے امیج کے دائیں جانب پکسلز کی پہلی عمودی قطار کا جائزہ لینے کی ضرورت ہے۔ اگر ایسا ہی تو یہ ایک سادہ پروگرام کے ذریعے بھی ممکن ہے۔ کیا یہ درست ہے زیک ؟
یہ کافی آسان کام ہے اگرچہ صرف پہلی قطار سے کام نہیں بنے گا۔ پچھلا ہفتہ بہت مصروف گزرا اس لئے اس پر کام کرنے کا وقت نہیں ملا۔ کوشش کرتا ہوں کہ عارف کو اگلے چند دنوں میں حل دے دوں
 

arifkarim

معطل
۳ ۔۔ ہر ترسیمہ کے اختتامی حرف کی اونچائی
متفق! البتہ بعض حالات میں ترسیمے کے صرف اختتام کی اونچائی معلوم کر لینا کافی نہیں ہوتی مثلاً یہ دو ترسیمے دیکھیں:
tw.png

اسکا حل شاید یہ ہو سکتاہے کہ اس قسم کے ترسیمہ جات کے گرد convex hull (ایک قسم کا باؤنڈنگ پولیگون) بنا کر انکے extreme points کی قدریں معلوم کر لی جائیں۔ اور پھر انکی مدد سے کرننگ سیٹ کر لی جائے:
Kerning3.png
 
مدیر کی آخری تدوین:

arifkarim

معطل
وولٹ میں گروپ کرننگ کیلئے ترسیموں کی اونچائی کے حساب سے محض سارٹنگ ہی درکار ہوتی ہے جو مختلف طریقوں سے نکالی جا سکتی ہے۔ ذیل میں ایک اور طریقہ وضح کیا ہے جس میں ی پر ختم ہونے والے ایک جیسے ترسیموں کو انکی اونچائی کے حساب سے سارٹ کیا گیا ہے:
Kerning4.png
زیک شاکرالقادری
 
مدیر کی آخری تدوین:
Top