State of Text Rendering از بہداد اسفہبد سے ترجمہ شدہ اقتباس
متن رینڈرنگ کی صورتحال
تعارف
متن کمپیوٹر کی دنیا میں ابلاغ کے لیے بنیادی حیثیت کا حامل ہے ۔ یونیکوڈ کیریکٹر سیٹ کی مقبولیت نے ڈیسک ٹاپ اطلاقیوں کے ڈیزائن کا ایک نیا در وا کیا ہے ۔ اب دہ دن بیت گئے جب ایک وقت میں صرف ایک ہی زبان کو ان پٹ ، رینڈر ، پرنٹ ، تلاش اور املا کیا جاتا تھا ، بین الاقوامیت کا تصور ( جس پر یونیوکوڈ کا انحصار ہے ) ہے کہ "تمام زبانیں ہمہ وقت"
فری ڈیسک ٹاپ ماحول /اطلاقیوں نے یونیکوڈ کو دیر سے متعارف کرایا لیکن گزشتہ دس سالوں میں یونیکوڈ کے سلسلہ میںتمام بنیادی اور بڑے اجزاءکو اکٹھا کیا جاچکا ہے۔ آج کل کسی بھی جدید جی این یو/ لینکس ڈسٹرو مثلا فیڈورا میں یونیکوڈ کے بغیر کوئی چیز کام کرتی نظر نہیںآئے گی۔
بین الاقوامیت اور یونیکوڈ متن پراسیسنگ صرف متن کو سکرین پر رینڈر کردینا نہیں ، اگرچہ اس مقالہ میں ہمارا بنیادی مرکز و محور متن رینڈرنگ کے مخصوص مسائل مثلا "یونیکوڈ متن ان پٹ کے حصول سے سکرین پر ڈسپلے تک" ۔ ہم حالیہ آرکیٹیکچر پر بحث کریں گے ، ان مسائل کی شناخت کریں گے جنہوں نے حالیہ برسوںمیں ترقی محدود کردی ہے ، اور ان کے لیے حل تجویز کریںگے۔
اگرچہ فری سافٹ ویر کی دنیا میں متعدد متن رینڈڑنگ سٹیک موجود ہیں اور وہ بھی ایک گنو / لینکس ڈیسک ٹاپ پر ، لیکن اس دستاویز میں ہم گنوم متن رینڈرنگ سٹیک اور دسٹرو سے متعلقہ مسائل کے لیے فیڈورا منصوبہ پر غور کریںگے۔ متن رینڈرنگ سٹیک کی ترقی میں فیڈورا اور ریڈہیٹ کا قائدانہ کردار ہے اور دوسری ڈسٹرو بھی ان ٹیکنالوجیز کو تیزی سے اختیار کر رہی ہیں اور ہم توقع کریںگے کہ کہ آنے والے برسوں میں یہی رویہ رہے تاہم یہ بہت اچھا ہوگا کہ دوسری ڈسٹرو/کمیونیٹز بھی ان سٹیک میںگہرا تعاون شروع کریںجنہیں ہم سب استعمال کرتے ہیں۔
یہ دستاویز ابتدائی ورکنگ کاپی ہے۔ یہ روڈ میپ ہے اس کا جہاںاب ہم کھڑے ہںاور جدہر ہم پہنچنا چاہتے ہیں اور اس دستاویز کو اپ ڈیٹ کیا جاتا رہے گا۔
موجودہ صورت حال
جب ہم متن رینڈڑنگ سٹیک کی بات کرتے ہیںتو ہمارا مطلب مختلف ماڈیولز کا مجموعہ ہوتا ہے جو ایک دوسرے پر انحصار کرتے ہیں۔
فری ٹائپ
رسٹرائزیشن کا عمل کرتی ہے ۔ جب فانٹ کا ڈیٹا اسے مہیا کیا جائے تو یہ یونیکوڈ سے گلف اعداد کی میپنگ کرتی ہے اور گلفز کو تصویری شکل میں رینڈر کرتی ہے ۔
فانٹ کنفگ
یہ مطلوبہ فانٹ خصوصیات کی بنیاد پر فانٹ کا انتخاب کرتی ہے۔ عموما ان خصوصیات میں فانٹ کا گروہ یعنی فانٹ فیملی نام ، فانٹ سٹائل ، وزن ، سلانٹ ، سائز ، اور زبان شامل ہیں ۔
فری بڈی
گنو فری بڈی "یونیکوڈ دو سمتی الگورتھم" کی تعمیل ہے۔ پینگو فری بڈی کو استعمال کرتا ہے اور اس کی اندرونی کاپی رکھتا ہے۔ ایبی ورڈ فری بڈی کا ایک اور بڑا صارف ہے۔ مختلف اور منصوبے مکمل پیچیدہ متن رینڈرنگ انجن کو استعمال کیے بغیر عربی اردو فارسی اور عبرانی سکرپٹ کی سپورٹ کے لیے فری بڈی کو استعمال کرتے ہیں ۔
حرف باز
حرف باز جدید گنو/لینکس متن رینڈرنگ سٹیک کا بنیادی اور اہم حصہ ہے۔ پیچیدہ متن رینڈرنگ کے لیے ابھرتے ہوئے عالمی فانٹ فارمیٹ اوپن ٹائپ کی صورت میں حرف باز وہ اوپن ٹائپ لے آوٹ انجن جہاں جادو کردکھانا ممکتات میںسے ہے۔ درحقیقت یہ رینڈرنگ سٹیک میں اس قدر اہمیت کا حامل ہے کہ اس دستاویز میں اس کے لیے ایک مکمل سیکشن بنایا گیا ہے۔
پینگو
پینگو کا زیادہ تر حصہ متن رینڈرنگ سٹیک کی چھت کی حیثیت رکھتا ہے۔ پینگو کا استعمال کرنے والے اجزا مثلا "جی ٹی کے پلس" کو بین الاقوامی متن کی پیچیدگیوں کا علم نہیںہوتا اور وہ صرف پینگو لے آوٹ آبجیکٹس کو استعمال کرتے ہیں ۔ پینگو کو اس طرح ڈیزائن کیا گیا ہے کہ وہ بین الاقوامی متن کے لیے "جی ٹی کے پلس" کی ضروریات کو پورا کرتا ہے۔ تاہم پینگو پھر بھی نچلی سطح کی API فراہم کرتا ہے جس پر کوئی بھی اپنا لے آوٹ انجن بنا سکتا ہے۔ یہی کام پینگو کی مدد سے فائر فاکس ، "ویب کٹ-جی ٹی کے" وغیرہ کرتے ہیں لیکن یہ ایک باعث زحمت کام ثابت ہوتا ہے۔ اس بارے میںہم آگے چل کر بات کریںگے۔
اور ماڈیولز بھی ہیںجو متن رینڈرنگ سے امیڈیٹمتعلقہ نہیںلیکن اس عمل کو سہل کرنے میںمعاون ہیں۔ ایکس رینڈر ایکسٹینشن کلائنٹ سائڈ پر رینڈر ہونے والی گلفوںکی کیشنگ کرنے اور سکرین پر دکھانے کی بنیادی سپورٹ مہیا کرتی ہے گلفز کلائنٹ ایپلیکیشن کے ذریعے رینڈر اور ایکس سرور میںاپ لوڈکردی جاتی ہیںجنہیں بعد ازاںھیش کرنے کے بعد ہر تصویر کی ایک کاپی رکھ لی جاتی ہے۔ ایکس رینڈرر کی متن رینڈر کرنے کے عمل کے مختلف اعلی سطحی ریپر موجود ہیں۔ ایک پرانی اور متروک رئپر کی مثال ایکس ایف ٹی ہے۔ آج کل گنوم میں اس کام کے لیے کائرو اور کے ڈی ای میںکیوٹی مستعمل ہے۔