اردو ایڈیٹر کا پہلا پروٹو ٹائپ!

نبیل

تکنیکی معاون
میں نے سی شارپ میں اردو ایڈیٹر سے متعلق کچھ ابتدائی تجربات کیے ہیں اور یہ نتیجہ اخذ کیا ہے کہ ڈاٹ نیٹ میں اردو ایڈیٹر لکھنے کی اتنی سپورٹ بھی نہیں ہے جتنا میرا اندازہ تھا۔

جیسا کہ میں اپنی ایک اور پوسٹ میں عرض کر چکا ہوں کہ اردو ایڈیٹر کا سب سے بنیادی اصول کی میپنگ ہے۔ سی پلس پلس میں تو یہ کام نسبتاً آسان تھا۔ سی پلس پلس میں محض کی بورڈ ایونٹ میں کیریکٹر کوڈ تبدیل کرنے سے کام چل گیا تھا۔ ڈاٹ نیٹ میں یہ مسئلہ ہے کہ اس میں کی بورڈ ایونٹ کی KeyChar پراپرٹی ریڈ اونلی ہے۔ اس وجہ سے اردو ٹیکسٹ انسرٹ کرنے کے لیے کچھ تردد کرنا پڑتا ہے۔

ایک اور جو انتہائی نامعقولیت کی بات مجھے نظر آئی ہے وہ یہ کہ ٹیکسٹ باکس کی right to left ڈائریکشن کرنے کے بعد دائیں اور بائیں arrow keys بھی الٹ جاتی ہیں، یعنی رائٹ ایرو سے کرسر بائیں جانب جاتا ہے اور لیفٹ ایرو سے کرسر دائیں جانب جاتا ہے۔

میں ذیل میں اس پروٹو ٹائپ کی تفصیل بیان کر رہا ہوں۔ اردو ایڈیٹر پراجیکٹ میں دلچسپی رکھنے والے خواتین و حضرات سے گزارش ہے کہ وہ اس پروگرام کو کمپائل کریں اور نیچے دی گئی ٹاسک لسٹ میں شامل نکات پر ریسرچ کریں اور ان کا حل دریافت کرنے کی کوشش کریں۔

یہ پروٹو ٹائپ ایک بالکل سادہ سی شارپ فارم اپلیکیشن ہے جس میں صرف ایک ملٹی لائن ٹیکسٹ باکس استعمال ہو رہا ہے۔ اس ٹیکسٹ باکس کی RightToLeft پراپرٹی true سیٹ ہے اور اس کا فونٹ اردو نسخ ایشیا ٹائپ پر سیٹ کیا گیا ہے۔ فی الحال اس میں اردو ایڈیٹر والا کی میپنگ کا میکنزم استعمال کیا گیا ہے۔ یہ ذہن نشین رہے کہ بعد میں کی میپنگ کے لیے یونی پیڈ کی ukb فارمیٹ والی میپنگ استعمال کی جائے گی۔
 

Attachments

  • prototype1_124.zip
    8.7 KB · مناظر: 70

نبیل

تکنیکی معاون
اوپر پوسٹ‌ کیے گئے پروٹوٹائپ کو بنیاد بنا کر ذیل میں بیان کیے گئےکام کیے جا سکتے ہیں۔ ساتھ میں دوستوں کے نام بھی لکھ رہا ہوں کہ وہ برائے مہربانی اس کام کی ذمہ داری اٹھا لیں:

1۔ اسے windows 98 میں کمپائل کرکے دیکھا جائے کہ کیا یہ وہاں بھی ٹھیک چلتا ہے (شاکر)
2۔ ایڈیٹر میں ٹیکسٹ کو utf-8 فارمیٹ میں سیو اور لوڈ کرنا (راجہ فار حریت)
3۔ ایڈیٹر میں سرچ، رپلیس، اور کٹ، کاپی، پیسٹ کے شارٹ کٹ ڈالنا (محب علوی)

آپ سب دوستوں سے درخواست ہے کہ اپنے سسٹم پر Visual Studio.NET انسٹال کریں اور کام شروع کریں۔ مجھے اور کام یاد آتے رہے تو میں وہ بھی دوستوں کے ذمہ لگاتا رہوں گا۔ ابھی قیصرانی اور زکریا باقی ہیں۔ اور کوئی دوست اس ڈیویلپمنٹ میں حصہ لینا چاہیں تو یہاں بتا دیں۔
 

نبیل

تکنیکی معاون
یہ اردو ایڈیٹر پر کام کرنے والے کہاں ہیں؟ راجہ فار حریت کے ذمے لگایا گیا کام میں نے ہی کر دیا ہے۔

ذیل کا کوڈ utf-8 فارمیٹ میں فائل سیو کرنے کے لیے ہے۔ میں نے مین مینو میں دو آئیٹم ڈال کر ان کے ایونٹ ‌ہینڈلر لکھے ہیں:

کوڈ:
private void FileSave_Click(object sender, System.EventArgs e)
		{
			StreamWriter wr= new StreamWriter("C:\\Projects\\Urdu Editor\\test.txt", false, System.Text.Encoding.UTF8);
			wr.Write(textBox1.Text);
			wr.Close();
		}

جبکہ ذیل کا کوڈ utf-8 فارمیٹ میں فائل اوپن کرنے کے لیے ہے:

کوڈ:
private void FileOpen_Click(object sender, System.EventArgs e)
		{
			StreamReader rd= new StreamReader("C:\\Projects\\Urdu Editor\\test.txt", System.Text.Encoding.UTF8);
			string str=rd.ReadToEnd();
			textBox1.Text= str;
			rd.Close();
		}

جیسا کہ بالا کے کوڈ میں دیکھا جا سکتا ہے، یہاں ایک مقررہ جگہ پر فائل سیو اور وہاں سے ہی لوڈ کی جا رہی ہے۔ بعد میں فائل سیو اور اوپن کرنے کے لیے ڈائلاگ مہیا کیا جائے گا۔
 

زیک

مسافر
نبیل یہ سیو کرنے کا کوڈ BOM ڈالتا ہے یا نہیں؟ میرا خیال ہے کہ ڈالے گا کیونکہ یہ ونڈوز کی کارستانی ہے۔
 

نبیل

تکنیکی معاون
زکریا، ذرا پروگرام رن کرکے اور پھر سیو کی ہوئی فائل کھول کر دیکھیں۔ یا مجھے بتائیں کہ یہ بوم کیسے نظر آ سکتا ہے؟ ویسے ہنٹ دینے کا شکریہ۔
 

زیک

مسافر
نبیل: ونڈوز پر کوئی ایڈیٹر مجھے BOM دکھاتا نظر نہیں آ رہا۔ ایک طریقہ تو یہ ہے کہ کسی ایسے ایڈیٹر میں کھولی جائے جو یونیکوڈ سپورٹ نہیں کرتا۔ اگر فائل کے شروع میں کچھ ASCII حروف ہوں تو ایسے ایڈیٹر میں یونیکوڈ حروف بمعہ BOM کچھ عجیب سے حروف کے طور پر نظر آئیں گے۔ اس سے پتہ چل جائے گا۔

کیا یہ ممکن ہے کہ آپ اس پروٹوٹائپ کی exe بھی شامل کر دیں؟ اصل میں میرے کمپیوٹر پر اس وقت Visual Studio.NET نصب نہیں ہے اور اسے نصب کرنے کے لئے مجھے ہارڈ ڈسک میں کچھ جگہ خالی کرنی پڑے گی۔
 

نبیل

تکنیکی معاون
زکریا، ٹھیک ہے میں exe بھی پوسٹ کر دوں گا لیکن اس کی dependencies آپ کو خود ہی ریزولو کرنا پڑیں گی۔ ونڈوز ایکس پی میں تو شاید ڈاٹ نیٹ پہلے سے ہی انسٹالڈ ہوتا ہے۔

یہ بتائیں کہ کیا بوم دیکھنے کے لیے کسی hex editor سے مدد مل سکے گی۔ بوم کی جگہ کیا کوڈ نظر آنا چاہیے؟
 

زیک

مسافر
نبیل dependencies کا مسئلہ نہیں ہونا چاہیئے۔ ویسے بھی میں کچھ دنوں میں visual studio انسٹال کر لوں گا۔

Hex Editor میں BOM آپ کو فائل کی پہلی تین بائٹس پر EF BB BF کی شکل میں نظر آئے گا۔ یہ UTF-8 کے لئے ہے۔
 
نبیل نے کہا:
اوپر پوسٹ‌ کیے گئے پروٹوٹائپ کو بنیاد بنا کر ذیل میں بیان کیے گئےکام کیے جا سکتے ہیں۔ ساتھ میں دوستوں کے نام بھی لکھ رہا ہوں کہ وہ برائے مہربانی اس کام کی ذمہ داری اٹھا لیں:

1۔ اسے windows 98 میں کمپائل کرکے دیکھا جائے کہ کیا یہ وہاں بھی ٹھیک چلتا ہے (شاکر)
2۔ ایڈیٹر میں ٹیکسٹ کو utf-8 فارمیٹ میں سیو اور لوڈ کرنا (راجہ فار حریت)
3۔ ایڈیٹر میں سرچ، رپلیس، اور کٹ، کاپی، پیسٹ کے شارٹ کٹ ڈالنا (محب علوی)

آپ سب دوستوں سے درخواست ہے کہ اپنے سسٹم پر Visual Studio.NET انسٹال کریں اور کام شروع کریں۔ مجھے اور کام یاد آتے رہے تو میں وہ بھی دوستوں کے ذمہ لگاتا رہوں گا۔ ابھی قیصرانی اور زکریا باقی ہیں۔ اور کوئی دوست اس ڈیویلپمنٹ میں حصہ لینا چاہیں تو یہاں بتا دیں۔

میں اپنے حصے پر کام اگلے ہفتہ سے شروع کرتا ہوں
 
فائل سیو کیسے

نبیل ایک بات تو یہ کہ ایکس پی کے بھی پہلے ورژن میں ڈاٹ نیٹ شامل نہیں تھا۔ سروس پیک ٹو سے یہ شامل کیا گیا۔

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

نبیل

تکنیکی معاون
شارق، بھائی یہ محض ایک پروٹو ٹائپ ہے اور فونٹ‌ فیس اور پوائنٹ‌ سائز وغیرہ سب فیچرز آ جائیں گی، آپ ہمارا ساتھ تو دیں۔ یہ پراجیکٹ‌ تو اب تک کہاں پہنچ چکا ہوتا اگر یہ یونی سکرائب یا لینگویج سپورٹ کا مسئلہ بیچ میں نہ آ جاتا۔ یہ کرسر والا پرابلم عجیب ہے۔ میں نے اپنے گھر والے کمپیوٹر پر Visual Studio.NET 2002 سے کمپائل کیا ہے تو کرسر ٹھیک چل رہا ہے جبکہ آفس والے کمپیوٹر میں Visual Studio.NET 2003 انسٹالڈ ہے۔ اس سے کمپائل کیا تو کرسر کی چال الٹی ہو گئی ہے۔ :(

جہاں تک فائل سیو کرنے کا تعلق ہے تو اس سلسلے میں میں اوپر کچھ کوڈ پوسٹ‌ کر چکا ہوں۔ یہ متعلقہ ہدایات کے مطابق اس پروٹوٹائپ میں شامل کیا جائے تو یہ فائل سیو اور لوڈ کرنے بھی لگ جائے گا۔
 
آج ہی میں نے کاشان سے اس پراجیکٹ پر بات کی ہے اور میل بھی کیا ہے جو اس پوسٹ پر اور یونیکوڈ پر ایک علیحدہ تھریڈ میں بحث ‌میں‌ آ چکا ہے۔ ایک خوشخبری یہ ہے کہ اس چیز پر اصولی اتفاق ہو گیا ہے کہ اردو ایڈیٹر کے پراجیکٹ کو یونیورسٹی کے فائنل پراجیکٹ کے طور پر چند طالب علموں کو دے دیا جائے اور پھر ان کی بھرپور مدد کی جائے۔ اس سلسلے میں FAST میں کاشان کوشش کریں گے اور میں PICS ، PAK-AIMS, GCU میں کوشش کروں گا ۔ ایک دوست میرا UET میں بھی رہا ہے ، اس کی مدد لینے کی کوشش بھی کروں گا۔ بہرحال کوشش یہ ہے کہ دونوں طرف سے کوشش جاری رکھی جائے اور پروٹو ٹائپ اور پراجیکٹ سمری ایسی ہو کہ قابل عمل اور عمدہ نظر آئے۔ اس پراجیکٹ کی خوبی یہ ہوگی کہ کرنے والے کو یقین ہو گا کہ اگر وہ عمدہ چیز بنا لے تو نہ صرف فورا وہ فورم پر آجائے گی بلکہ اس سے حقیقی معنوں میں بہت لوگ فائدہ اٹھا سکیں گے۔ اگلے ہفتے میں Visual Studio.Net 2005 انسٹال کرکے با ضابطہ طور ہر خود بھی اس میں حصہ لینا شروع کردوں گا، انشاءللہ
 

نبیل

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

دوست

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

نبیل

تکنیکی معاون
شاکر، آپ فی الحال رہنے دیں اس کام کو۔ اب ہم یہ جان گئے ہیں کہ لینگویج سپورٹ کے بغیر یہ پروٹوٹائپ نہیں کام کرے گا: دوسرے لفظوں میں یہ windows 98 پر نہیں چلے گا۔ :(

فی الوقت جو ڈیویلپمنٹ کی لائن چل رہی ہے، اس کے مطابق ونڈوز 98 کو خیرباد کہنا پڑے گا۔ میری تحقیق کے مطابق ایک ایسے ایڈیٹر جو کہ سسٹم میں لینگویج سپورٹ‌ کے بغیر فنکشن کر سکے، کے لیے یونی سکرائب کی سپورٹ شامل کرنا ضروری ہے اور اس بارے میں معلومات نہ ہونے کے برابر ہیں۔

میری ذاتی رائے یہی ہے کہ فی الحال یونی سکرائب جیسے ایشوز کو بیک برنر پر رکھ کر ڈیویلپمنٹ کا کام آگے بڑھاتے ہیں، اس امید کے ساتھ کہ وقت کے ساتھ ساتھ اس مسئلے کا کوئی حل سامنے آ جائے گا۔
 

دوست

محفلین
یہ بھی ٹھیک ہے۔ میرا خیال ہے اب ونڈوز 98 بھی دم توڑ رہی ہے۔تاہم اس پر یونیکوڈ لکھنے کے لیے اردو لنک ای میل پہلے بھی چلتی تھی اور اب بھی چلے گی۔ جاوا چل تو جاتی ہے مگر اس کا ایک نقصان 20 سے 25 کلو بائٹ کی فائل سے بھی جواب دے جاتی ہے۔یعنی پروگرام ہینگ ہوجاتا ہے۔
 

الف نظامی

لائبریرین
یونی سکرائب کے بغیر آپ کو text processing ایڈیٹر کے لیول پر خود کرنا ہوگی۔ اس کے لیے icu کا ڈاٹ نیٹ متبادل تلاش کرنا یا خود لکھنا پڑے گا۔
اوپن آفس icu استمعال کرتا ہے۔
 

نبیل

تکنیکی معاون
راجہ، میں تو کم از کم اس حق میں نہیں ہوں کہ یونیکوڈ ٹیکسٹ‌ پراسیسنگ کا کام اپنے ہاتھ میں لیا جائے۔ اس طرح تو یہ کام کبھی نہیں ختم ہوگا۔

یہ بتاؤ کہ icu میں ٹیکسٹ پراسیسنگ کی سپورٹ یونی سکرائب کے مقابلے میں کیسی ہے؟ میں نے اوپن آفس میں اوپن ٹائپ اردو فونٹ کے استعمال کے حوالے سے کئی شکایتیں سنی ہیں۔ دوسرے ڈاٹ نیٹ میں ڈیویلپمنٹ کرنا لازم نہیں ہے۔ اگر جاوا یا سی پلس پلس میں icu براہ راست کام دیتا ہے تو اسی میں کام شروع کیا جا سکتا ہے۔ کیا icu سے متعلقہ کوئی code samples مل سکتے ہیں؟
 

الف نظامی

لائبریرین
نبیل نے کہا:
راجہ، میں تو کم از کم اس حق میں نہیں ہوں کہ یونیکوڈ ٹیکسٹ‌ پراسیسنگ کا کام اپنے ہاتھ میں لیا جائے۔ اس طرح تو یہ کام کبھی نہیں ختم ہوگا۔

یہ بتاؤ کہ icu میں ٹیکسٹ پراسیسنگ کی سپورٹ یونی سکرائب کے مقابلے میں کیسی ہے؟ میں نے اوپن آفس میں اوپن ٹائپ اردو فونٹ کے استعمال کے حوالے سے کئی شکایتیں سنی ہیں۔ دوسرے ڈاٹ نیٹ میں ڈیویلپمنٹ کرنا لازم نہیں ہے۔ اگر جاوا یا سی پلس پلس میں icu براہ راست کام دیتا ہے تو اسی میں کام شروع کیا جا سکتا ہے۔ کیا icu سے متعلقہ کوئی code samples مل سکتے ہیں؟
یونی سکرائب کی ٹیکسٹ پراسیسنگ ‌icu سے کہیں بہتر ہے۔
icu فار جاوا موجود ہے۔
البتہ ڈاٹ نیٹ میں interoperability of com component موجود ہے
۔http://icu.sourceforge.net/
http://icu.sourceforge.net/apiref/icu4j/
 
نبیل نے کہا:
اوپر پوسٹ‌ کیے گئے پروٹوٹائپ کو بنیاد بنا کر ذیل میں بیان کیے گئےکام کیے جا سکتے ہیں۔ ساتھ میں دوستوں کے نام بھی لکھ رہا ہوں کہ وہ برائے مہربانی اس کام کی ذمہ داری اٹھا لیں:

1۔ اسے windows 98 میں کمپائل کرکے دیکھا جائے کہ کیا یہ وہاں بھی ٹھیک چلتا ہے (شاکر)
2۔ ایڈیٹر میں ٹیکسٹ کو utf-8 فارمیٹ میں سیو اور لوڈ کرنا (راجہ فار حریت)
3۔ ایڈیٹر میں سرچ، رپلیس، اور کٹ، کاپی، پیسٹ کے شارٹ کٹ ڈالنا (محب علوی)

آپ سب دوستوں سے درخواست ہے کہ اپنے سسٹم پر Visual Studio.NET انسٹال کریں اور کام شروع کریں۔ مجھے اور کام یاد آتے رہے تو میں وہ بھی دوستوں کے ذمہ لگاتا رہوں گا۔ ابھی قیصرانی اور زکریا باقی ہیں۔ اور کوئی دوست اس ڈیویلپمنٹ میں حصہ لینا چاہیں تو یہاں بتا دیں۔

میرے ذمہ کام میں سے کٹ ، کاپی اور پیسٹ کا کوڈ‌‌‌‌‌ شامل‌‌ ہو گیا ‌ہے ‌اور‌ ایک‌ دو ‌دن ‌میں سرچ اور رپلیس کا کوڈ بھی آجائے گا، جس کے بعد میں کوڈ اپلوڈ کردوں گا۔

اس کے علاوہ اور کیا کیا فیچر ایڈ کرنے ہیں اردو ایڈیٹر میں
 
Top