یونیکوڈ کنٹرول حروف: RLE اور LRE

زیک

مسافر
ان پر بہت پہلے لکھنا تھا مگر بھول گیا۔ اس وقت یہ پوسٹ صرف placeholder کے طور پر ہے۔ صبح آ کر لکھوں گا کہ ان حروف کا کیا مقصد ہے۔
 

زیک

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

[align=left:45d1ffdeb8]‎1. LRE: Left to Right Embedding U+202A
2. RLE: Right to Left Embedding U+202B
3. PDF: Pop Directional Formatting U+202C[/align:45d1ffdeb8]

یہ تو تین ہو گئے۔ کوئی بات نہیں۔

یونیکوڈ میں بائیں سے دائیں اور دائیں سے بائیں دونوں قسم کی زبانیں شامل ہیں۔ اس لئے ایک دوسمتی algorithm بھی ہے جو فیصلہ کرتا ہے کہ کسی بھی متن کو کس طرح دکھایا جائے۔ کئی صورتوں میں یہ واضح فیصلہ نہیں کر سکتا۔ سمت سے متعلق کنٹرول حروف سمت کا تعین کرنے میں مدد دیتے ہیں۔

اس فقرے پر غور کریں:

[align=left:45d1ffdeb8]First دوسرا Third[/align:45d1ffdeb8]

یہ جملہ انگریزی میں ہے مگر بیچ میں ایک اردو لفظ ہے۔ چونکہ صفحہ دائیں سے بائیں سمت طے کر چکا ہے اس لئے انگریزی کے فقرے میں اردو لفظ کی وجہ سے الفاظ کی ترتیب خراب ہو گئی۔

اس کا ایک حل یہ ہے کہ ہم فقرے کے آغاز میں بتا دیں کہ یہ بائیں سے دائیں ہے۔ HTML میں اس کے لئے یہ مارک‌اپ استعمال ہوتا ہے:

کوڈ:
<bdo dir="ltr">English content with may be some اردو words</bdo>

مگر تب کیا کریں جب ہم ایچ‌ٹی‌ایم‌ایل استعمال نہیں کر سکتے۔ اس وقت LRE کام آئے گا۔ نیچے وہی پرانا فقرہ ہے مگر فقرے کے شروع میں یا اردو الفاظ سے پہلے میں نے LRE ڈال دیا ہے جو دوسمتی algorithm کو بتاتا ہے کہ اب سمجھو کہ متن بائیں سے دائیں چل رہا ہے۔ خیال رہے کہ یہ اردو کے حروف کی ترتیب الٹی نہیں کرتا کہ “اردو“ کی بجائے “وردا“ لکھا نظر آئے (اس کے لئے LRO یعنی Left to Right Override موجود ہے اور اسی طرح RLO ہے)۔

[align=left:45d1ffdeb8]First ‪دوسرا Third‬[/align:45d1ffdeb8]

اب جب ہم نے بائیں سے دائیں سمت طے کر دی تو اس کو ختم بھی کرنا ہو گا اسی طرح جس طرح اوپر html میں closing tag تھا۔ اس کے لئے PDF ہے جو آخری سمت سیٹ کرنے والے حرف کا اثر ختم کر دیتا ہے۔

اسی طرح جب کسی بائیں سے دائیں زبان والے صفحے میں کوئی پیرا اردو (یا کسی اور دائیں سے بائیں زبان) کا آ جائے اور بیچ میں پھر انگریزی تو ہمیں RLE اور PDF استعمال کرنا ہوں گے۔

ان حروف کو ہمیں احتیاط سے استعمال کرنا چاہیئے۔ ایک وجہ یہ ہے کہ یہ حروف state رکھتے ہیں۔ یعنی اگر ہم ایک RLE ڈالیں اور پھر ایک LRE اور پھر دو میں سے ایک PDF ڈالنا بھول جائیں تو وہاں سمت الٹی ہو گئی۔

دوسری بات یہ ہے کہ عام یونیکوڈ ٹیکسٹ میں تو ان کے استعمال کی ضرورت ہے مگر html میں مارک‌اپ ہے جو بالکل یہی کام کرتا ہے۔ اب سوال یہ پیدا ہوتا ہے کہ اگر آپ سمت کا مارک‌اپ بھی ڈالیں اور یہ کنٹرول حروف بھی تو کیا ہو گا۔ ہو سکتا ہے سب ٹھیک کام کرے مگر یہ بھی ممکن ہے کہ nesting وغیرہ کی وجہ سے گڑبڑ ہو جائے اور وہ سمت نہ رہے جو آپ چاہتے تھے۔ اسی لئے W3C کہتی ہے کہ html فائل میں آپ مارک‌اپ استعمال کریں نہ کہ LRE اور RLE۔

مزید پڑھنے کو:

مارک‌اپ یا دوسمتی کنٹرول حروف
ایکس‌ایم‌ایل اور دوسری مارک‌اپ زبانوں میں یونیکوڈ
یونیکوڈ کا دوسمتی الگورتھم

نوٹ: LRE اعجاز صاحب کے صوتی-2 پر AltGR-x پر ہے، RLE حرف AltGR-n پر ہے اور PDF کا حرف AltGR-v پر۔ میرے ونڈوز کے امریکی keyboard پر AltGR نہیں ہے مگر Ctrl+Alt اس کا کام کر دیتا ہے۔
 

جیسبادی

محفلین
مجھے w3c سے اتفاق نہیں۔ ح‌ٹ‌م‌ل ماخذ بھی اس قابل ہونا چاہیے کہ انسان پڑھ سکے، یہ مارک اپ سے آسانی سے ممکن نہیں۔ یونیکوڈ کنٹرول حروف سے ایسا کیا جا سکتا ہے۔ مثلاً

اردو کے حوالے سے کچھ مشقیں یہاں ہیں۔

ج‌میل کے حوالے سے کچھ مسائل


عام نسخہ یہ ہے کہ اردو پیرا کا آغاز RLE سے کرو، اور اختتام PDF سے۔ نئے پیرا کا آغاز دوبارہ RLE سے۔
 

زیک

مسافر
جیسبادی: اگر احتیاط سے مارک‌اپ اور کنٹرول حروف استعمال کئے جائیں تو معاملہ صحیح رہتا ہے۔ میں نے بھی کئی دفعہ ایسا کیا ہے۔ مگر غلطی کا چانس کافی زیادہ ہے اور improper nesting سارا ٹیکسٹ خراب کر دے گا۔
 

باذوق

محفلین
زکریا
کچھ بھی سمجھ میں نہ آ سکا ۔
پہلے تو یہ AltGr والی key ہی میرے کی بورڈ میں نہیں ہے ۔
اس کے متبادل کے طور پر میں‌ نے Ctrl+Alt استعمال کر کے دیکھا ۔۔۔
مگر کچھ نہ ہو سکا ۔۔۔
ان دو الفاظ کو وکی پر کیسا لکھنا ہوگا ، ذرا بتا دیں

اقتباس :
"اقبال" نے کہا تھا ،


درج ذیل تین حروف گڑبڑ کر جاتے ہیں
"
:
،
 

باذوق

محفلین
زکریا اور جیسبادی
آسان الفاظ میں بتائیں کہ
AltGr
کیا ہے ؟
کیا Alt+Ctrl ؟

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

دوست

محفلین
جناب یہ ایک تیسرا کمبینیشن ہے کی بورڈ پر۔ نارمل پھر شفٹ کے ساتھ اور آلٹ جی آر۔ لیکن اس کے لیے کونسے دو بٹن دبانے ہیں ان میں فرق ہوسکتا ہے۔ ونڈوز پر یہ کنٹرول آلٹ ہے۔ لینکس پر آلٹ شفٹ( شاید) ہے لیکن یہ ونڈوز کا بٹن ملا کر بھی ہوسکتا ہے جیسا کہ جیسبادی کا تیار کردہ لینکس کلیدی تختہ ونڈوز اور آلٹ کے بٹن کے ساتھ کام کرتا ہے (ونڈوز کی کلید ہی میرے کی بورڈ پر نہیں جس کی وجہ سے مجھ پر انکشاف ہوا کہ آلٹ جی آر کی سپورٹ کے باوجود کیوں یہ حروف کام نہیں کررہے)۔
اب آپ کے ساتھ پتہ نہیں کیا مسئلہ ہے آپ اعجاز اخترصاحب کے تیار کردہ اردو تختے استعمال کریں ان میں ٹھیک چلتا ہے سب کچھ اور کنٹرول آلٹ‌ پر ہی چلتا ہے یہ میرا ذاتی تجربہ ہے سو اس کے ٹھیک ہونے کی شہادت دے رہا ہوں۔
وسلام
 
Top