اسد
محفلین
پچھلے کئی دنوں سے میں اردو سپیل چیکر کی ڈکشنری (فہرستِ الفاظ) تیار کرنے پر کام کر رہا ہوں۔ اس سے پہلے کبھی اس کام کا خیال اس لئے نہیں آیا تھا کیونکہ میں اردو میں سوائے محفل کے اور کہیں کم ہی لکھتا ہوں اور اوپرا 12 میں اردو سپیل چیکر موجود نہیں۔ کام شروع کرنے سے پہلے میرا خیال تھا کہ یہ زیادہ مشکل نہیں ہونا چاہیے۔ لیکن اب پتہ چل رہا ہے کہ اس کام میں کتنے مسائل ہیں اور اب تک بہتر ڈکشنری کیوں نہیں بنائی جا سکی۔ میرے خیال میں سب سے پہلے ہمیں کچھ اصول وضع کرنے ہوں گے جن کی بنیاد پر یہ کام بہتر طریقے پر ہو سکے۔ پہلے میں چند مسائل کا ذکر کروں گا اور پھر وہ اصول بتاؤں گا جن کے تحت میں کام کرنا چاہتا ہوں۔
سب سے پہلا مسئلہ وہی ہے جو ہمارے بیشتر کاموں اور پروجیکٹس کا ہوتا ہے، یعنی نئے سرے سے پہیہ ایجاد کرنا۔ ایک ہی فرد کو پروجیکٹ سے متعلق تمام کام کرنے ہوتے ہیں، چاہے اسے ان میں سے آدھے کام بھی نہ آتے ہوں اور نئے سرے سے کرنے پڑتے ہیں۔ پہلے سے اس پروجیکٹ پر کیا ہوا کام یا تو دستیاب نہیں ہوتا یا دستیاب ہونے کی صورت میں اس کی تفصیلات نہیں دی ہوتیں کہ کام کس طرح سے اور کن اصولوں کی بنیاد پر کیا گیا تھا۔ مثلاً سپیل چیکر کے لئے الفاظ کی بہت سی فہرستیں دستیاب ہیں لیکن صرف اعجاز اختر صاحب ( الف عین ) کی فہرست کے بارے میں علم ہے کہ انہوں نے ہر لفظ کی وہ تمام صورتیں فہرست میں شامل کی ہیں جس طرح لوگ انہیں ٹائپ کرتے ہیں۔ انہوں نے حرکات (زیر/زبر/پیش) بھی شامل کی ہیں(جو میں شامل نہیں کرنا چاہتا)، ئی اور ئے کے لئے ئ اور ئے بھی شامل کیے ہیں، وغیرہ۔ میں محمد شاکر عزیز ( دوست ) کے فراہم کردہ کورپس استعمال کرنے کی کوشش کروں گا، لیکن اس میں وقت لگے گا۔
مجھے گرامر کا کچھ علم نہیں ہے، سکول میں اردو اور انگلش دونوں میں گرامر صرف پرچہ پاس کرنے کے حساب سے پڑھی تھی۔ اب اندازہ ہو رہا ہے کہ اچھی لغت بنانے کے لئے گرامر کا اچھا خاصا علم ضروری ہے۔ اس کے بغیر ہم root الفاظ نہیں جان سکتے، اس کا ایک حل یہ ہو سکتا تھا کہ root الفاظ کی فہرست استعمال کی جائے، جو کہ دستیاب نہیں ہے۔
ایک مسئلہ الفاظ کی موضوعاتی فہرستوں کی عدم دستیابی ہے۔ اردو زبان کے تمام الفاظ کی فہرست میں تو لاکھوں الفاظ ہیں، لیکن عمومی ڈکشنری کے لئے ان میں سے زیادہ استعمال ہونے الفاظ استعمال کرنے ہوتے ہیں۔ اس کے لئے فریکوینسی ٹیبل استعمال ہوتے ہیں، جو اردو کے لئے انٹرنیٹ پر دستیاب نہیں ہیں۔ مثلاً اردو میں عام طور پر سب سے زیادہ استعمال ہونے والے دس ہزار root الفاظ سے نکلنے والے تمام الفاظ کو لغت میں شامل کیا جائے اور اس کے علاوہ عام دلچسپی کے موضوعات پر تمام الفاظ شامل کیے جائیں۔ ان میں ملکوں، شہروں اور علاقوں کے نام شامل ہیں۔ سبزیوں، پھلوں، پھولوں، پودوں اور درختوں کے نام شامل ہیں۔ اہم شخصیات کے نام شامل ہیں، جن میں موجودہ دور کے نام علیحدہ، تاریخی نام علیحدہ اور مذہبی نام علیحدہ فہرستوں میں ہونے چاہییں تاکہ ہم اپنی ضرورت کے حساب سے انہیں شامل کر سکیں۔ اسی طرح بہت سے موضوعات ہیں۔ انٹرنیٹ پر بہت سی فہرستیں موجود ہیں لیکن ان میں سے براہِ راست قابل استعمال فہرستوں کی تعداد نہ ہونے کے برابر ہے۔ الفاظ نکالنے پڑتے ہیں اور ہر فہرست کا فورمیٹ مختلف ہوتا ہے۔ مجھے اللہ تعالىٰ کے ناموں کی فہرست ڈھونڈنے میں وقت لگ گیا۔ ہر جگہ یہ فہرستیں پریزنٹیشن کے حساب دی گئی تھیں۔
سابقوں، لاحقوں کی فہرستوں کا نہ ہونا۔ ہر کتاب میں اور ویب سائٹس پر انہی آٹھ دس سابقوں اور لاحقوں کا استعمال کیا گیا ہے جو ڈیڑھ صدی پہلے انگلش ماہرین نے اپنی کتابوں میں لکھے تھے۔ کسی نے ان کی تفصیلی فہرست نہیں دی۔ ایک افسوسناک بات یہ ہے کہ انٹرنیٹ پر جو تحقیقی مواد دستیاب ہے وہ انگلش زبان سے متعلق لوگوں نے تیار کیا ہے یا بھارتی زبانوں اور کمپیوٹر سے متعلق لوگوں نے۔ مجھے کچھ سابقے اور لاحقے ایسی سائٹس اور پی ڈی ایف فائلوں سے ملے جن میں 'فرتیلا/فرتیلی' اور 'روجانہ' یا 'کدر/بکدر' کے الفاظ موجود تھے۔ لیکن ان لوگوں نے کمپیوٹر استعمال کرتے ہوئے پہلے اردو میں مستعمل سابقے اور لاحقے دریافت کیے، اور پھر ان کو استعمال کرتے ہوئے الفاظ کے root معلوم کرنے کا طریقہ تشکیل دیا۔ یہ سب ریسرچ کا حصہ تھا، ان کے پیپرز میں تفصیل نہیں دی گئی۔
زیادہ تر اوپن سورس پروجیکٹ اب ہَن سپیل (hunspell) استعمال کرتے ہیں کیونکہ صرف یہی یونیکوڈ کو مکمل طور پر سپورٹ کرتا ہے، یہ پرانے پروگراموں (ispell/aspell/myspell) سے مختلف ہے کیونکہ ہنگری کی زبان میں کچھ ایسی خصوصیات ہیں جو یہ پروگرام سپورٹ نہیں کرتے تھے۔ ہنگری والوں نے اپنی زبان کے لئے ہَن سپیل تیار کیا۔ یہ انتہائی طاقتور سسٹم استعمال کرتا ہے جس میں زبان کی تمام خصوصیات کا احاطہ کیا گیا ہے۔ اس میں سابقے/لاحقے استعمال کرتے ہوئے ڈکشنری کمپریس کرنے کی سہولت موجود ہے(جس میں میں ابھی تک کامیاب نہیں ہو سکا)۔
اردو کے ساتھ ایک مسئلہ کمپیوٹر پر ٹائپنگ کے قوائد کا نہ ہونا بھی ہے، ہم نے مرکب الفاظ کو لکھنے کے اصول نہیں بنائے۔ مثلاً عبد اللہ اور خوش فہمی کس طرح لکھے جائیں، دونوں الفاظ کے درمیان کیا ٹائپ کیا جائے؟ سپیس، نو-بریک-سپیس، زیرو-وڈتھ-نون-جوائنر، زیرو-وڈتھ-سپیس، زیرو-وڈتھ-نو-بریک-سپیس یا کوئی اور؟ فارسی کی سائٹس پر میں نے دیکھا کہ وہ پی ایچ ڈی اور بی بی سی قسم کے الفاظ کے درمیان نو-بریک-سپیس استعمال کرتے ہیں تاکہ یہ دو سطروں میں تقسیم نہ ہو سکیں، ہمیں بھی ایسا ہی کرنا چاہیے۔ اصول بنانا اس لئے مشکل ہے کہ ہم کتنے ہی مختلف کی بورڈ لے آؤٹ استعمال کرتے ہیں۔ بہت سے لوگ ویب سائٹس پر موجود پلگ ان کی بورڈ استعمال کرتے ہیں۔ یہ دیکھ کر مجھے اندازہ ہوا کہ اردو میں صرف ایک سپیل چیکر سے کام نہیں چلے گا بلکہ تین کی ضرورت پڑے گی۔
1- عام سپیل چیکر جو براؤزر اور ورڈ پروسیسر میں استعمال ہو اور غلطیوں کی تصحیح کی اوپشن دے۔ اس وقت ہم ایسے ہی سپیل چیکر استعمال کر رہے ہیں۔
2- مختصر جاواسکرپٹ یا سرور سائڈ سکرپٹ جو براؤزر میں کسی ٹیکسٹ ایریا کے متن سے ایک بٹن دبانے پر انتہائی عام غلطیاں دور کر دے۔ مثلاً عربی کاف کو اردو کاف اور عربی ي کو اردو ی سے تبدیل کر دے۔ بی بی سی میں سپیس کو نو-بریک-سپیس سے تبدیل کر دے، وغیرہ۔ یہ ہر ویب سائٹ کے لئے ضرورت کے حساب سے تھوڑا مختلف ہو گا۔
3- ایک علیحدہ ایپلیکیشن جو کسی فائل کو پڑھے اور بہت سے قوائد اور اصول استعمال کرتے ہوئے غلطیاں دور کرے۔ ایک مثال یہ ہے کہ غلط طور پر جوڑ کر لکھے جانے والے الفاظ کی فہرست بنائیں اور پروگرام انہیں تبدیل کر دے، مثلاً 'روزوشب' کو 'روز و شب' میں۔ اس کے علاوہ بعض الفاظ ایسے ہوتے ہیں جو کسی مخصوص لفظ کے بعد ہی استعمال ہوتے ہیں، پروگرام یہ چیک کرے کہ ایسے الفاظ درست جگہ پر ہی استعمال ہو رہے ہیں۔ ئ اور ئے جن الفاظ کے آخر میں ئی اور ئے کی جگہ استعمال ہو رہے ہوں انہیں تبدیل کر دیا جائے۔ پروگرام چیک کر سکتا ہے کہ دو زبر صرف الف پر لفظ کے آخر میں استعمال ہوں۔ یہ پروگرام اضافے کے بعد گرامر چیک کرنے لئے بھی استعمال ہو سکتا ہے۔
ایک مسئلہ کتابی اصولوں کو کمپیوٹر پر لانے میں یونیکوڈ کے قوائد اور فونٹس کی سپورٹ کا ہوتا ہے۔ ہم کن یونیکوڈ حروف کو اردو حروف میں شامل کریں گے؟ کیا ہم الف مکسورہ ( ى U+0649) استعمال کریں گے؟ اس وقت زیادہ تر لوگ چھوٹی یے استعمال کرتے ہیں، بہت ہوتا ہے تو اوپر کھڑا الف لگا دیتے ہیں۔ الف کے اوپر یا نیچے ہمزہ والے حروف استعمال کریں گے؟ زیادہ تر لوگ عربی استعمال نہیں کرتے ان کا خیال رکھنا ہو گا۔ ہمزہ ء کا استعمال کیسے ہو گا؟ الفاظ کے آخر میں ئ کیسے استعمال ہو گا؟ (ابھی میں صرف ان ترکیبوں میں یہ حرف چھوڑ رہا ہوں جن میں میرے خیال میں اس کی ضرورت ہے، جیسے سعئِ لا حاصل وغیرہ۔ لیکن اگر ان الفاظ کی فہرست ہو تو بہتر ہے۔) ایسی ترکیبوں کی فہرست بھی ایپلیکیشن میں استعمال ہو جائے گی۔
میں ابتدائی طور پر اوپن/لیبرے آفس کی ڈکشنری (ہَن سپیل فورمیٹ) تیار کر رہا ہوں جو فائرفوکس میں آسانی سے انسٹال ہو جاتی ہے۔ میں اس میں زیر/زبر/پیش شامل نہیں کر رہا ہوں اور ڈکشنری میں اصول شامل کر رہا ہوں کہ ان حرکات کو نظرانداز کر دے۔ یعنی سپیل چیکر کے لئے اَلِف، اَلَف، اُلِف وغیرہ تمام درست ہوں گے کیونکہ اس کے لئے یہ تمام لفظ 'الف' کے برابر ہوں گے جو ڈکشنری میں موجود ہے۔ میں تشدید شامل کر رہا ہوں اور کوشش کر رہا ہوں کہ اس کی جگہ غلط نہ ہو۔ اگر تشدید والے الفاظ کی فہرست ہوتی تو کام کچھ آسان ہو جاتا۔
موضوعاتی فہرستیں اگلے مرحلے میں اردو-اردو، اردو-انگلش لغت اور تھیسارس کے لئے استعمال ہو سکتی ہیں۔ ان فہرستوں کو موضوع سے دلچسپی رکھنے والے افراد بڑھا سکتے ہیں۔ عربی، فارسی، ہندوستانی اور دیگر زبانوں میں ناموں کی علیحدہ علیحدہ فہرستیں ہونی چاہییں۔
اصول وضع کرنا ضروری ہے، اس کے بعد دیکھا جائے کہ ان میں سے کون سے اصول فوری طور پر استعمال ہو سکتے ہیں اور کون سے بعد میں۔ پروگرامرز گرامر کے اصول نہیں جانتے، ان کے لئے گرامر سے واقف افراد اصول وضع کریں، مثالوں کے ساتھ واضح کریں اور ایکسیپشنز بھی بتائیں، ایسی زبان استعمال کریں جو پروگرامرز سمجھ سکیں۔
املا کے اصول بھی واضح ہونے چاہییں، انگلش الفاظ کو اردو میں لکھتے ہوئے پاکستانی املا اور ہندوستانی املا میں فرق ہے۔ پاکستانی بہت سی جگہوں پر اضافی ی استعمال کرتے ہیں اور بعض جگہوں پر اضافی و۔ اس کے علاوہ الفاظ کے درمیان ہمزہ ئ کا استعمال بھی زیادہ ہے۔ انہیں کیسے ہینڈل کیا جائے؟ میں خود O کے لئے واؤ استعمال کرنے کی کوشش کرتا ہوں لیکن اردو میں اس کے لئے الف استعمال کیا جاتا رہا ہے۔ اس سے تلفظ میں فرق آتا ہے اور مشین ٹرانسلٹریشن مشکل ہو جاتی ہے، اس پر بھی غور ہونا چاہیے۔ ایک مرتبہ یہ اصول تیار کر لیے جائیں تو کئی آسانیاں پیدا ہو جائیں گی۔
ایک اہم چیز اردو حروف کا سورٹنگ آرڈر ہے، یونیکوڈ میں عربی حروف پہلے ہیں اور اردو، فارسی، وغیرہ کے مخصوص حروف بعد میں اس لئے سورٹ کرنے پر بخت پہلے آتا ہے اور بچت بعد میں۔ اس پر بھی کام ہونا چاہیے۔
سب سے پہلا مسئلہ وہی ہے جو ہمارے بیشتر کاموں اور پروجیکٹس کا ہوتا ہے، یعنی نئے سرے سے پہیہ ایجاد کرنا۔ ایک ہی فرد کو پروجیکٹ سے متعلق تمام کام کرنے ہوتے ہیں، چاہے اسے ان میں سے آدھے کام بھی نہ آتے ہوں اور نئے سرے سے کرنے پڑتے ہیں۔ پہلے سے اس پروجیکٹ پر کیا ہوا کام یا تو دستیاب نہیں ہوتا یا دستیاب ہونے کی صورت میں اس کی تفصیلات نہیں دی ہوتیں کہ کام کس طرح سے اور کن اصولوں کی بنیاد پر کیا گیا تھا۔ مثلاً سپیل چیکر کے لئے الفاظ کی بہت سی فہرستیں دستیاب ہیں لیکن صرف اعجاز اختر صاحب ( الف عین ) کی فہرست کے بارے میں علم ہے کہ انہوں نے ہر لفظ کی وہ تمام صورتیں فہرست میں شامل کی ہیں جس طرح لوگ انہیں ٹائپ کرتے ہیں۔ انہوں نے حرکات (زیر/زبر/پیش) بھی شامل کی ہیں(جو میں شامل نہیں کرنا چاہتا)، ئی اور ئے کے لئے ئ اور ئے بھی شامل کیے ہیں، وغیرہ۔ میں محمد شاکر عزیز ( دوست ) کے فراہم کردہ کورپس استعمال کرنے کی کوشش کروں گا، لیکن اس میں وقت لگے گا۔
مجھے گرامر کا کچھ علم نہیں ہے، سکول میں اردو اور انگلش دونوں میں گرامر صرف پرچہ پاس کرنے کے حساب سے پڑھی تھی۔ اب اندازہ ہو رہا ہے کہ اچھی لغت بنانے کے لئے گرامر کا اچھا خاصا علم ضروری ہے۔ اس کے بغیر ہم root الفاظ نہیں جان سکتے، اس کا ایک حل یہ ہو سکتا تھا کہ root الفاظ کی فہرست استعمال کی جائے، جو کہ دستیاب نہیں ہے۔
ایک مسئلہ الفاظ کی موضوعاتی فہرستوں کی عدم دستیابی ہے۔ اردو زبان کے تمام الفاظ کی فہرست میں تو لاکھوں الفاظ ہیں، لیکن عمومی ڈکشنری کے لئے ان میں سے زیادہ استعمال ہونے الفاظ استعمال کرنے ہوتے ہیں۔ اس کے لئے فریکوینسی ٹیبل استعمال ہوتے ہیں، جو اردو کے لئے انٹرنیٹ پر دستیاب نہیں ہیں۔ مثلاً اردو میں عام طور پر سب سے زیادہ استعمال ہونے والے دس ہزار root الفاظ سے نکلنے والے تمام الفاظ کو لغت میں شامل کیا جائے اور اس کے علاوہ عام دلچسپی کے موضوعات پر تمام الفاظ شامل کیے جائیں۔ ان میں ملکوں، شہروں اور علاقوں کے نام شامل ہیں۔ سبزیوں، پھلوں، پھولوں، پودوں اور درختوں کے نام شامل ہیں۔ اہم شخصیات کے نام شامل ہیں، جن میں موجودہ دور کے نام علیحدہ، تاریخی نام علیحدہ اور مذہبی نام علیحدہ فہرستوں میں ہونے چاہییں تاکہ ہم اپنی ضرورت کے حساب سے انہیں شامل کر سکیں۔ اسی طرح بہت سے موضوعات ہیں۔ انٹرنیٹ پر بہت سی فہرستیں موجود ہیں لیکن ان میں سے براہِ راست قابل استعمال فہرستوں کی تعداد نہ ہونے کے برابر ہے۔ الفاظ نکالنے پڑتے ہیں اور ہر فہرست کا فورمیٹ مختلف ہوتا ہے۔ مجھے اللہ تعالىٰ کے ناموں کی فہرست ڈھونڈنے میں وقت لگ گیا۔ ہر جگہ یہ فہرستیں پریزنٹیشن کے حساب دی گئی تھیں۔
سابقوں، لاحقوں کی فہرستوں کا نہ ہونا۔ ہر کتاب میں اور ویب سائٹس پر انہی آٹھ دس سابقوں اور لاحقوں کا استعمال کیا گیا ہے جو ڈیڑھ صدی پہلے انگلش ماہرین نے اپنی کتابوں میں لکھے تھے۔ کسی نے ان کی تفصیلی فہرست نہیں دی۔ ایک افسوسناک بات یہ ہے کہ انٹرنیٹ پر جو تحقیقی مواد دستیاب ہے وہ انگلش زبان سے متعلق لوگوں نے تیار کیا ہے یا بھارتی زبانوں اور کمپیوٹر سے متعلق لوگوں نے۔ مجھے کچھ سابقے اور لاحقے ایسی سائٹس اور پی ڈی ایف فائلوں سے ملے جن میں 'فرتیلا/فرتیلی' اور 'روجانہ' یا 'کدر/بکدر' کے الفاظ موجود تھے۔ لیکن ان لوگوں نے کمپیوٹر استعمال کرتے ہوئے پہلے اردو میں مستعمل سابقے اور لاحقے دریافت کیے، اور پھر ان کو استعمال کرتے ہوئے الفاظ کے root معلوم کرنے کا طریقہ تشکیل دیا۔ یہ سب ریسرچ کا حصہ تھا، ان کے پیپرز میں تفصیل نہیں دی گئی۔
زیادہ تر اوپن سورس پروجیکٹ اب ہَن سپیل (hunspell) استعمال کرتے ہیں کیونکہ صرف یہی یونیکوڈ کو مکمل طور پر سپورٹ کرتا ہے، یہ پرانے پروگراموں (ispell/aspell/myspell) سے مختلف ہے کیونکہ ہنگری کی زبان میں کچھ ایسی خصوصیات ہیں جو یہ پروگرام سپورٹ نہیں کرتے تھے۔ ہنگری والوں نے اپنی زبان کے لئے ہَن سپیل تیار کیا۔ یہ انتہائی طاقتور سسٹم استعمال کرتا ہے جس میں زبان کی تمام خصوصیات کا احاطہ کیا گیا ہے۔ اس میں سابقے/لاحقے استعمال کرتے ہوئے ڈکشنری کمپریس کرنے کی سہولت موجود ہے(جس میں میں ابھی تک کامیاب نہیں ہو سکا)۔
اردو کے ساتھ ایک مسئلہ کمپیوٹر پر ٹائپنگ کے قوائد کا نہ ہونا بھی ہے، ہم نے مرکب الفاظ کو لکھنے کے اصول نہیں بنائے۔ مثلاً عبد اللہ اور خوش فہمی کس طرح لکھے جائیں، دونوں الفاظ کے درمیان کیا ٹائپ کیا جائے؟ سپیس، نو-بریک-سپیس، زیرو-وڈتھ-نون-جوائنر، زیرو-وڈتھ-سپیس، زیرو-وڈتھ-نو-بریک-سپیس یا کوئی اور؟ فارسی کی سائٹس پر میں نے دیکھا کہ وہ پی ایچ ڈی اور بی بی سی قسم کے الفاظ کے درمیان نو-بریک-سپیس استعمال کرتے ہیں تاکہ یہ دو سطروں میں تقسیم نہ ہو سکیں، ہمیں بھی ایسا ہی کرنا چاہیے۔ اصول بنانا اس لئے مشکل ہے کہ ہم کتنے ہی مختلف کی بورڈ لے آؤٹ استعمال کرتے ہیں۔ بہت سے لوگ ویب سائٹس پر موجود پلگ ان کی بورڈ استعمال کرتے ہیں۔ یہ دیکھ کر مجھے اندازہ ہوا کہ اردو میں صرف ایک سپیل چیکر سے کام نہیں چلے گا بلکہ تین کی ضرورت پڑے گی۔
1- عام سپیل چیکر جو براؤزر اور ورڈ پروسیسر میں استعمال ہو اور غلطیوں کی تصحیح کی اوپشن دے۔ اس وقت ہم ایسے ہی سپیل چیکر استعمال کر رہے ہیں۔
2- مختصر جاواسکرپٹ یا سرور سائڈ سکرپٹ جو براؤزر میں کسی ٹیکسٹ ایریا کے متن سے ایک بٹن دبانے پر انتہائی عام غلطیاں دور کر دے۔ مثلاً عربی کاف کو اردو کاف اور عربی ي کو اردو ی سے تبدیل کر دے۔ بی بی سی میں سپیس کو نو-بریک-سپیس سے تبدیل کر دے، وغیرہ۔ یہ ہر ویب سائٹ کے لئے ضرورت کے حساب سے تھوڑا مختلف ہو گا۔
3- ایک علیحدہ ایپلیکیشن جو کسی فائل کو پڑھے اور بہت سے قوائد اور اصول استعمال کرتے ہوئے غلطیاں دور کرے۔ ایک مثال یہ ہے کہ غلط طور پر جوڑ کر لکھے جانے والے الفاظ کی فہرست بنائیں اور پروگرام انہیں تبدیل کر دے، مثلاً 'روزوشب' کو 'روز و شب' میں۔ اس کے علاوہ بعض الفاظ ایسے ہوتے ہیں جو کسی مخصوص لفظ کے بعد ہی استعمال ہوتے ہیں، پروگرام یہ چیک کرے کہ ایسے الفاظ درست جگہ پر ہی استعمال ہو رہے ہیں۔ ئ اور ئے جن الفاظ کے آخر میں ئی اور ئے کی جگہ استعمال ہو رہے ہوں انہیں تبدیل کر دیا جائے۔ پروگرام چیک کر سکتا ہے کہ دو زبر صرف الف پر لفظ کے آخر میں استعمال ہوں۔ یہ پروگرام اضافے کے بعد گرامر چیک کرنے لئے بھی استعمال ہو سکتا ہے۔
ایک مسئلہ کتابی اصولوں کو کمپیوٹر پر لانے میں یونیکوڈ کے قوائد اور فونٹس کی سپورٹ کا ہوتا ہے۔ ہم کن یونیکوڈ حروف کو اردو حروف میں شامل کریں گے؟ کیا ہم الف مکسورہ ( ى U+0649) استعمال کریں گے؟ اس وقت زیادہ تر لوگ چھوٹی یے استعمال کرتے ہیں، بہت ہوتا ہے تو اوپر کھڑا الف لگا دیتے ہیں۔ الف کے اوپر یا نیچے ہمزہ والے حروف استعمال کریں گے؟ زیادہ تر لوگ عربی استعمال نہیں کرتے ان کا خیال رکھنا ہو گا۔ ہمزہ ء کا استعمال کیسے ہو گا؟ الفاظ کے آخر میں ئ کیسے استعمال ہو گا؟ (ابھی میں صرف ان ترکیبوں میں یہ حرف چھوڑ رہا ہوں جن میں میرے خیال میں اس کی ضرورت ہے، جیسے سعئِ لا حاصل وغیرہ۔ لیکن اگر ان الفاظ کی فہرست ہو تو بہتر ہے۔) ایسی ترکیبوں کی فہرست بھی ایپلیکیشن میں استعمال ہو جائے گی۔
میں ابتدائی طور پر اوپن/لیبرے آفس کی ڈکشنری (ہَن سپیل فورمیٹ) تیار کر رہا ہوں جو فائرفوکس میں آسانی سے انسٹال ہو جاتی ہے۔ میں اس میں زیر/زبر/پیش شامل نہیں کر رہا ہوں اور ڈکشنری میں اصول شامل کر رہا ہوں کہ ان حرکات کو نظرانداز کر دے۔ یعنی سپیل چیکر کے لئے اَلِف، اَلَف، اُلِف وغیرہ تمام درست ہوں گے کیونکہ اس کے لئے یہ تمام لفظ 'الف' کے برابر ہوں گے جو ڈکشنری میں موجود ہے۔ میں تشدید شامل کر رہا ہوں اور کوشش کر رہا ہوں کہ اس کی جگہ غلط نہ ہو۔ اگر تشدید والے الفاظ کی فہرست ہوتی تو کام کچھ آسان ہو جاتا۔
موضوعاتی فہرستیں اگلے مرحلے میں اردو-اردو، اردو-انگلش لغت اور تھیسارس کے لئے استعمال ہو سکتی ہیں۔ ان فہرستوں کو موضوع سے دلچسپی رکھنے والے افراد بڑھا سکتے ہیں۔ عربی، فارسی، ہندوستانی اور دیگر زبانوں میں ناموں کی علیحدہ علیحدہ فہرستیں ہونی چاہییں۔
اصول وضع کرنا ضروری ہے، اس کے بعد دیکھا جائے کہ ان میں سے کون سے اصول فوری طور پر استعمال ہو سکتے ہیں اور کون سے بعد میں۔ پروگرامرز گرامر کے اصول نہیں جانتے، ان کے لئے گرامر سے واقف افراد اصول وضع کریں، مثالوں کے ساتھ واضح کریں اور ایکسیپشنز بھی بتائیں، ایسی زبان استعمال کریں جو پروگرامرز سمجھ سکیں۔
املا کے اصول بھی واضح ہونے چاہییں، انگلش الفاظ کو اردو میں لکھتے ہوئے پاکستانی املا اور ہندوستانی املا میں فرق ہے۔ پاکستانی بہت سی جگہوں پر اضافی ی استعمال کرتے ہیں اور بعض جگہوں پر اضافی و۔ اس کے علاوہ الفاظ کے درمیان ہمزہ ئ کا استعمال بھی زیادہ ہے۔ انہیں کیسے ہینڈل کیا جائے؟ میں خود O کے لئے واؤ استعمال کرنے کی کوشش کرتا ہوں لیکن اردو میں اس کے لئے الف استعمال کیا جاتا رہا ہے۔ اس سے تلفظ میں فرق آتا ہے اور مشین ٹرانسلٹریشن مشکل ہو جاتی ہے، اس پر بھی غور ہونا چاہیے۔ ایک مرتبہ یہ اصول تیار کر لیے جائیں تو کئی آسانیاں پیدا ہو جائیں گی۔
ایک اہم چیز اردو حروف کا سورٹنگ آرڈر ہے، یونیکوڈ میں عربی حروف پہلے ہیں اور اردو، فارسی، وغیرہ کے مخصوص حروف بعد میں اس لئے سورٹ کرنے پر بخت پہلے آتا ہے اور بچت بعد میں۔ اس پر بھی کام ہونا چاہیے۔