اشـعار کو ویبسائٹـ میں جسٹی فائی کرنے کا طریقہ کار

جسٹیفیکیشن کیا ہے؟


واٹس ایپ پر آپ کو کبھی  ایسےاشعار موصول ہوئے ہیں جن کے درمیان میں "____" یا "----" یا "،،،،" موجود ہوتے ہیں؟ یہ در اصل ان اشعار کو "برابر برابر" دکھانے کی معصومانہ کوشش ہوتی ہے، چاہا یہ جا رہا ہوتا ہے کہ جہاں پہلا مصرع ختم ہو رہا ہے، وہیں دوسرا مصرع بھی ختم ہو۔

خواجہ مجذوبؒ کے یہ اشعار دیکھیے:

میں رونا اپنا روتا ہوں تو وہ ہنس ہنس کے سنتے ہیں
انہیں دل کی لگی، اک دل لگی معلوم ہوتی ہے
نہ جائیں میری اس خندہ لبی پر دیکھنے والے
کہ لب پر زخم کے بھی تو ہنسی معلوم ہوتی ہے

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

امید واثق ہے کہ آپ بھی اپنی ویب سائٹ میں ایسا کرنے کے لیے مچل اٹھے ہوں گے۔ دھیرج رکھیں۔ ہم ترتیب وار بتاتے ہیں۔

ویب سائٹس پر متن کو شاعری کی طرز پر جسٹی فائی کرنے کے لیے دو کام کرنے ہوتے ہیں۔
  1. اشعار کو ٹیبل میں داخل کرنا
  2.  جسٹی فائی کرنا

اشعار کو ٹیبل میں داخل کرنا

اشعار کو ٹیبل  میں داخل کرنے کی ضرورت

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

میں رونا اپنا روتا ہوں تو وہ ہنس ہنس کے سنتے ہیں
انہیں دل کی لگی، اک دل لگی معلوم ہوتی ہے
نہ جائیں میری اس خندہ لبی پر دیکھنے والے
کہ لب پر زخم کے بھی تو ہنسی معلوم ہوتی ہے

اس مسئلہ کا آسان ترین حل یہی ہے کہ ان مصرعوں کو ٹیبل میں بند کر دیا جائے اور پھر آپ ان پر یہ اسٹائل اپلائی کریں۔

ٹیبل میں داخل کرنے کا طریقہ

 اشعار کو اس طرح ٹیبل میں داخل کرنا ہوتا ہے کہ ہر مصرع ایک ٹیبل سیل/cell میں آئے۔ ایچ ٹی ایم ایل کی رُو سے یوں کہا جاسکتا ہے کہ ہر مصرع <td></td> کے درمیان آئے۔

 ہم اپنے اشعار کو کس فارمیٹ میں لانا چاہتے ہیں، اس کے لیے نیچے کا کوڈ دیکھیں(واضح رہے کہ یہ صرف ایک کالم میں لکھی جانے والے کی فارمیٹنگ ہے، دو کالم کی بھی اس سے کچھ زیادہ الگ نہیں)

ایچ ٹی ایم ایل

<table>
<tr><td>میں رونا اپنا روتا ہوں تو وہ ہنس ہنس کے سنتے ہیں</td></tr>
<tr><td>انہیں دل کی لگی، اک دل لگی معلوم ہوتی ہے </td></tr>
<tr><td>نہ جائیں میری اس خندہ لبی پر دیکھنے والے</td></tr>
<tr><td>کہ لب پر زخم کے بھی تو ہنسی معلوم ہوتی ہے </td></tr>
</table>
اس موقع پر ایک دقت یہ پیش آتی ہے کہ کیا ہم ساری شاعری (جسے جسٹی فائی کرنا ہے) اسے یونہی <td></td> اور <tr></tr> کے درمیان کاپی پیسٹ کرتے رہیں گے؟ بلا شبہ یہ بہت دقت طلب کام ہوگا اور بیزار کن بھی۔  چنانچہ اس کا حل نوٹ پیڈ ++ میں موجود Replace کی مددسے یوں نکالا جاسکتا ہے۔
  1. سب سے پہلے ساری شاعری کو کاپی کر کے نوٹ پیڈ ++ میں پیسٹ کر دیں۔
  2. اس کے بعد ٹیبل کے شروع (<table><tr><td>) اور آخر (</td></tr></table>) کے ٹیگ لکھ دیں، جیسا کہ ذیل کی شکل میں دکھایا گیا ہے:
    adding inital and final tags
  3. اب نوٹ پیڈ پلس پلس کے ریپلیس آپشن کو کھولیں: Menu>>Search>>Replace
    ریپلیس آپشن کو کھولنے کے لیے شارٹ کٹ کی ہے Ctrl+H 
  4. پہلے خانے میں \r لکھیں اور دوسرے خانے میں </td></tr><tr><td> مدد کے لیے نیچے کا اسکرین شاٹ ملاحظہ کریں:
    replacing new line chars

     بائیں طرف سب سے نیچے موجود آپشن Regular Expression پر کلک کرنا نہ بھولیں۔
  5. Replace All پر کلک کر دیں۔ آپ کا کوڈ تیار ہے!

متن کو ٹیبل میں داخل کرنے کے لیے ایک ٹول

پروگرامرز اور کاہلی ہم معنی الفاظ ہیں۔ چنانچہ ہم سے یہ نوٹ پیڈ کا بکھیڑا بھی نہ ہی سہا گیا اور ایک عدد چھوٹا سا ٹول بنا دیا جو آپ کے متن کو خودکار طور پر ایچ ٹی ایم ایل ٹیبل میں بدل دے گا۔


 بس پہلے خانے میں شاعری/متن پیسٹ کیجیے اور کنورٹ پر کلک کر دیں، دوسرے خانے میں کوڈ تیار ملے گا۔ اس کوڈ کو جہاں اپنی شاعری دکھانا چاہتے ہیں وہاں شامل کر دیں۔ اللہ اللہ خیر صلا!

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

جسٹی فائی کرنا


پہلے عرض کیا جا چکا ہے کہ جسٹی فکیشن سے پہلے متن/ٹیکسٹ کو ٹیبل میں داخل کرنا ضروری ہوتا ہے ورنہ یہ پوری چوڑائی میں پھیل جائے گا۔(اوپر اس کی مثال پیش کی جا چکی ہے) یہ اس لیے یاد دلانا ضروری سمجھا کہ آپ یہ نہ سمجھ بیٹھیں کہ ابھی تو جسٹی فائی کا کام شروع ہی نہیں ہوا، یہ پتہ نہیں ٹیبل میں کیوں داخل کیا جارہا تھا!!

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

ایچ ٹی ایم ایل

<table dir="rtl">
<tr><td>یہ دنیا اہلِ دنیا کو بسی معلوم ہوتی ہے</td></tr>
<tr><td>نظر والوں کو یہ اجڑی ہوئی معلوم ہوتی ہے</td></tr>
<tr><td>یہ کس نے کردیا سب دوستوں سے مجھ کو بیگانہ</td></tr>
<tr><td>مجھے اب دوستی بھی دشمنی معلوم ہوتی ہے</td></tr>
<tr><td>طلب کرتے ہو دادِ حسن تم، پھر وہ بھی غیروں سے!</td></tr>
<tr><td>مجھے تو سن کے بھی اک عار سی معلوم ہوتی ہے</td></tr>
<tr><td>میں رونا اپنا روتا ہوں تو وہ ہنس ہنس کے سنتے ہیں</td></tr>
<tr><td>انہیں دل کی لگی، اک دل لگی معلوم ہوتی ہے</td></tr>
<tr><td>نہ جائیں میری اس خندہ لبی پر دیکھنے والے</td></tr>
<tr><td>کہ لب پر زخم کے بھی تو ہنسی معلوم ہوتی ہے</td></tr>
<tr><td>اگر ہمت کرے پھر کیا نہیں انسان کے بس میں</td></tr>
<tr><td>یہ ہے کم ہمتی جو بے بسی معلوم ہوتی ہے</td></tr>
</table>

سی ایس ایس

.sher td{
text-align: justify;
text-align-last: justify;
-moz-text-align-last: justify;
}
-moz-text-align-last: justify;
 یہ کوڈ فائر فاکس کے لیے مختص ہے، اور اس سے ہمارے اشعار فائر فاکس میں جسٹی فائی ہوجاتے ہیں۔ اس کے علاوہ براؤزرس کے لیے احتیاطاً کچھ اور سطریں بھی CSS میں بڑھائی جا سکتی ہیں۔ اس کے علاوہ اگر آپ نے اشعار کے ٹیبل میں ٹیبل کے ساتھ dir=rtl کا ایٹری بیوٹ نہیں لگایا ہے تو آپ سی ایس ایس میں direction:rtl; بھی استعمال کر سکتے ہیں۔مثلاً اوپر کا لکھا ہوا کوڈ یوں بھی ہو سکتا ہے۔

سی ایس ایس

.sher td{
direction:rtl;
text-align: justify;
text-align-last: justify;
/*For different browsers strt*/
-o-text-align-last: justify;
-ms-text-align-last: justify;
-moz-text-align-last: justify;
-webkit-text-align-last: justify;
/*For different browsers end*/
}
مختلف براؤزرس ایک طرف اور گوگل کروم ایک طرف! گوگل کروم میں اس کی سپورٹ شامل نہیں ہے، یعنی آپ جمیل نوری نستعلیق فانٹ/ علوی نستعلیق فانٹ استعمال کرتے ہوئے گوگل کروم میں شاعری کی جسٹی فکیشن نہیں دکھا سکتے، ہاں البتہ کوڈ میں تھوڑا اضافہ کرکے ”گوگل نوٹو نستعلیق“ فانٹ کو آپ گوگل کروم میں جسٹی فائی دکھا سکتے ہیں۔ نوٹو نستعلیق کا ٹیسٹ پیج بہداد کی سائٹ پر یہاں دیکھا جاسکتا ہے۔ نیز دیگر فانٹس پر بھی یہ کام کرتا یے،بس جمیل نستعلیق وغیرہ ہی سے دشمنی ہے شاید۔

ایک قدم اور آگے

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

<table class="sher">

اور بس۔ کام ہو جائے گا۔

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

ایک اور قدم

تدوین: جون 2020

خودکار طور پر تمام کام کرنے کے لیے ایک عدد اسکرپٹ میں نے اپنے لیے لکھی تھی، استفادۂ عام کے لیے یہاں ڈال رہا ہوں۔

https://github.com/ShakesVision/PoetryJustification

 اب بس آپ کو ایک کلاس لگانی ہے اور اس کے درمیان اشعار لکھنے ہیں۔ 

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

اتنا ہی تھا

شاعری کو جسٹی فائیڈ نہ دیکھا جائے تو اسے پڑھنے میں جی نہیں لگتا، اور نہ ہی بھلا معلوم ہوتا ہے، اس لیے اس پر تحقیق کرنے کی ضرورت محسوس ہوئی۔ اب تک کی کارگزاری یہی ہے کہ فی الوقت ( ۹ جنوری ۲۰۱۶ ) جمیل نوری نستعلیق وغیرہ کے لیے کروم ناکارہ ثابت ہوا ہے۔
ع
آگے آگے دیکھیے ہوتا ہے کیا

آپ کا کیا خیال ہے بغیر جسٹی فکیشن کی شاعری کے بارے میں؟ کیا آپ نے بھی اپنے بلاگ پر شاعری جسٹی فائی دکھائی ہوئی ہے؟ کون سا طریقہ استعمال کر رہے ہیں؟ کیا اس صفحے کے ذریعے آپ شاعری کو جسٹی فائی کرنے میں کامیاب ہوئے؟ نیچے تبصرہ کر کے بتائیے۔
یہ مضمون پہلی بار لکھا گیا: 9 جنوری 2016
تدوین کی گئی: 5 اگست 2018، 25 جولائی 2020، 10 مارچ 2021
ان صفحات سے استفادہ کیا گیا:
  1. اسٹیک اوور فلو stackoveflow پر جسٹی فکیشن کا حل
  2. اردو محفل کے توسط سے نوٹ پیڈ پلس پلس کا جگاڑ، از محمد تابش صدیقی
  3. دو کالم میں جسٹی فکیشن

تبصرے

شکیبؔ احمد

بلاگر | ڈیویلپر | ادیب از کامٹی، الہند

تبصرے کی زینت کے لیے ایڈیٹر استعمال کا طریقہ تفصیل

مشہور اشاعتیں

تازہ نگارشات

میری شاعری

نگہِ من - میرا فلسفہ