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

نبیل نے 'اردو ایڈیٹر پراجیکٹ' کی ذیل میں اس موضوع کا آغاز کیا، ‏اپریل 28, 2006

  1. نبیل

    نبیل محفلین

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

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

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

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

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

    منسلک فائلیں:

  2. نبیل

    نبیل محفلین

    مراسلے:
    16,748
    جھنڈا:
    Germany
    موڈ:
    Depressed
    اوپر پوسٹ‌ کیے گئے پروٹوٹائپ کو بنیاد بنا کر ذیل میں بیان کیے گئےکام کیے جا سکتے ہیں۔ ساتھ میں دوستوں کے نام بھی لکھ رہا ہوں کہ وہ برائے مہربانی اس کام کی ذمہ داری اٹھا لیں:

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

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

    نبیل محفلین

    مراسلے:
    16,748
    جھنڈا:
    Germany
    موڈ:
    Depressed
    یہ اردو ایڈیٹر پر کام کرنے والے کہاں ہیں؟ راجہ فار حریت کے ذمے لگایا گیا کام میں نے ہی کر دیا ہے۔

    ذیل کا کوڈ 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();
    		}
    جیسا کہ بالا کے کوڈ میں دیکھا جا سکتا ہے، یہاں ایک مقررہ جگہ پر فائل سیو اور وہاں سے ہی لوڈ کی جا رہی ہے۔ بعد میں فائل سیو اور اوپن کرنے کے لیے ڈائلاگ مہیا کیا جائے گا۔
     
  4. زیک

    زیک محفلین

    مراسلے:
    38,738
    جھنڈا:
    UnitedStates
    موڈ:
    Bookworm
    نبیل یہ سیو کرنے کا کوڈ BOM ڈالتا ہے یا نہیں؟ میرا خیال ہے کہ ڈالے گا کیونکہ یہ ونڈوز کی کارستانی ہے۔
     
  5. نبیل

    نبیل محفلین

    مراسلے:
    16,748
    جھنڈا:
    Germany
    موڈ:
    Depressed
    زکریا، ذرا پروگرام رن کرکے اور پھر سیو کی ہوئی فائل کھول کر دیکھیں۔ یا مجھے بتائیں کہ یہ بوم کیسے نظر آ سکتا ہے؟ ویسے ہنٹ دینے کا شکریہ۔
     
  6. زیک

    زیک محفلین

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

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

    نبیل محفلین

    مراسلے:
    16,748
    جھنڈا:
    Germany
    موڈ:
    Depressed
    زکریا، ٹھیک ہے میں exe بھی پوسٹ کر دوں گا لیکن اس کی dependencies آپ کو خود ہی ریزولو کرنا پڑیں گی۔ ونڈوز ایکس پی میں تو شاید ڈاٹ نیٹ پہلے سے ہی انسٹالڈ ہوتا ہے۔

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

    زیک محفلین

    مراسلے:
    38,738
    جھنڈا:
    UnitedStates
    موڈ:
    Bookworm
    نبیل dependencies کا مسئلہ نہیں ہونا چاہیئے۔ ویسے بھی میں کچھ دنوں میں visual studio انسٹال کر لوں گا۔

    Hex Editor میں BOM آپ کو فائل کی پہلی تین بائٹس پر EF BB BF کی شکل میں نظر آئے گا۔ یہ UTF-8 کے لئے ہے۔
     
  9. محب علوی

    محب علوی لائبریرین

    مراسلے:
    12,163
    جھنڈا:
    Pakistan
    موڈ:
    Bookworm
    میں اپنے حصے پر کام اگلے ہفتہ سے شروع کرتا ہوں
     
  10. شارق مستقیم

    شارق مستقیم محفلین

    مراسلے:
    894
    فائل سیو کیسے

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

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

    نبیل محفلین

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

    جہاں تک فائل سیو کرنے کا تعلق ہے تو اس سلسلے میں میں اوپر کچھ کوڈ پوسٹ‌ کر چکا ہوں۔ یہ متعلقہ ہدایات کے مطابق اس پروٹوٹائپ میں شامل کیا جائے تو یہ فائل سیو اور لوڈ کرنے بھی لگ جائے گا۔
     
  12. محب علوی

    محب علوی لائبریرین

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

    نبیل محفلین

    مراسلے:
    16,748
    جھنڈا:
    Germany
    موڈ:
    Depressed
    محب، میرا مشورہ یہ ہو گا کہ جو سٹوڈنٹ اس پراجیکٹ میں حصہ لینا چاہیں وہ اس فورم میں شمولیت اختیار کرکے اس پراجیکٹ کو یہاں ڈسکس کریں تاکہ ہم ان کی بہتر رہنمائی کر سکیں اور اس طرح کام کی ڈپلیکیشن بھی نہیں ہوگی۔ ساتھ ساتھ ٹیم ورک بھی بہتر ہو سکے گا۔
     
  14. دوست

    دوست محفلین

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

    نبیل محفلین

    مراسلے:
    16,748
    جھنڈا:
    Germany
    موڈ:
    Depressed
    شاکر، آپ فی الحال رہنے دیں اس کام کو۔ اب ہم یہ جان گئے ہیں کہ لینگویج سپورٹ کے بغیر یہ پروٹوٹائپ نہیں کام کرے گا: دوسرے لفظوں میں یہ windows 98 پر نہیں چلے گا۔ :(

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

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

    دوست محفلین

    مراسلے:
    13,072
    جھنڈا:
    Germany
    موڈ:
    Fine
    یہ بھی ٹھیک ہے۔ میرا خیال ہے اب ونڈوز 98 بھی دم توڑ رہی ہے۔تاہم اس پر یونیکوڈ لکھنے کے لیے اردو لنک ای میل پہلے بھی چلتی تھی اور اب بھی چلے گی۔ جاوا چل تو جاتی ہے مگر اس کا ایک نقصان 20 سے 25 کلو بائٹ کی فائل سے بھی جواب دے جاتی ہے۔یعنی پروگرام ہینگ ہوجاتا ہے۔
     
  17. الف نظامی

    الف نظامی لائبریرین

    مراسلے:
    16,118
    جھنڈا:
    Pakistan
    موڈ:
    Amused
    یونی سکرائب کے بغیر آپ کو text processing ایڈیٹر کے لیول پر خود کرنا ہوگی۔ اس کے لیے icu کا ڈاٹ نیٹ متبادل تلاش کرنا یا خود لکھنا پڑے گا۔
    اوپن آفس icu استمعال کرتا ہے۔
     
  18. نبیل

    نبیل محفلین

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

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

    الف نظامی لائبریرین

    مراسلے:
    16,118
    جھنڈا:
    Pakistan
    موڈ:
    Amused
    یونی سکرائب کی ٹیکسٹ پراسیسنگ ‌icu سے کہیں بہتر ہے۔
    icu فار جاوا موجود ہے۔
    البتہ ڈاٹ نیٹ میں interoperability of com component موجود ہے
    ۔http://icu.sourceforge.net/
    http://icu.sourceforge.net/apiref/icu4j/
     
  20. محب علوی

    محب علوی لائبریرین

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

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

اس صفحے کی تشہیر