اصل ماجرا

مقاله به تاریخچهٔ طولانی‌سازهای حروف عربی از دوران خطاطی قرون وسطی تا ابزارهای مدرن می‌پردازد و نشان می‌دهد چرا رندر صحیح متن عربی در وب، به‌ویژه توجیه با کشیده‌کردن حروف (کاشیده)، هنوز با مشکلات فنی مواجه است. همچنین به مشکلات کدگذاری، اعداد مختلف و الگوریتم‌های bidi اشاره می‌کند و نقش داوطلبان و ابزارهای متن‌باز را در پیشرفت این حوزه برجسته می‌کند.

متن کامل ترجمه‌شده

این پست در Lobsters مورد بحث قرار گرفت یک بار، یک بلیط Frontend به خط من رسید که به درستی من نبود، اما تنها خواننده عربی دیگر در تیم در تعطیلات بود. آن را تقریبا به طور زیر رفت؛ یک بلوک از محتوای مخلوط پروسی عربی در دسترس مشتری با یک قفسه چپ را نشان می دهد (بلیط به سمت چپ در زبان عربی سقوط می کند، از آنجا که خطوط از مرز راست قرار داده شده است؛ بلیط گفت “برای راست خشمگین”) هنگامی که تیم طراحی به طور واضح متن منطقی مشخص شده بود. اضافه شده بود سه screenshots از سه مرورگر و یک یادداشت مهربانی از مدیر محصول مشاهده کرد که نسخه لاتین از همان بلوک به نظر می رسید، من می گویم، “خوب.” در همان شش ماه، من سه بلیط دیگر علیه محصول، که هر یک از آنها بهنام یک مشتری با نامه هایش در یک توافق چاپ نشده بود، همان گونه که یک نقاشی کاغذی آنها را در سال 1962 قرار داده بود، زیرا کتابخانه PDF در سرور دریافت قبل از تاریخ وجود یک موتور شکل گیری در زمان اجرا زبان خود را نشان داده بود. یک شاخص جستجو خالی برای حساب هایی که تیم خدمات مشتری می توانست در پایگاه داده را ببینند بازگردد، زیرا یک واردات 2017 ۱۲ هزار نام را با استفاده از نقطه کد Unicode فسیلی از سال 1991 به جای آنها منظم از سال 1995 رمزگذاری کرده بود، و شاخص، به طور قابل توجهی، دو رمزگذاری را به صورت زنجیر های مختلف درمان کرد، بنابراین، این بلیط ریگینگ چپ کوچکترین از چهار بود، هرچند، آن را بر روی همان یخچال نشست و به همان چیزی اشاره کرد. در اینجا اختلاف، زنده تکرار شده است. من از متن تصادفی استفاده کردمtext-align: justify(برای این تظاهرات این سایت اولین وب فونت خود را هرگز حمل می کند: Amiri، self-hosted، صد و پنجاه کیلوابیت از شب های غیر پرداخت یک مرد، در زیر OFL متصل شده است. که این چیزی است که آن را به شما نشان می دهد چیزی است که سیستم عامل شما نمی تواند به تنهایی انجام می دهد، من می خواهم روشن باشد، بخشی از بحث. من فکر می کنم این یک صد و پنجاه کیلوابیت لذت بخش است.) آن را خوب به نظر می رسد. من حدود نیم ساعت با آن گذرانده بودم، من DOM نشان داده، من تنظیم متن-align: به دلیل بسیاری از ترکیب های مختلف از فونت-family و بیانات سمت، و در پایان تمرین من یک پاسخ نوشت که توضیح می دهد، یا کمتر صادقانه، که این مشکل نه یک اشتباه در شیشه های مادلایل پشت سر آن پنج صد سال طول کشید تا جمع شود، و آنها شامل یک ویزیر دو بار متلاشی شده، یک قرآن که برای چهار قرن ناپدید شد، یک روزنامه نگار بیروت با یک مهلت، و یک پزشک مصری که خود را مهندسی فانتزی برای سرگرمی (یا آن چیزی که من در مورد او تصور می کنم) آموزش داده است. پیاده روی از طریق این، به پایان رسید که دو هفته لذت بخش ترین در این کار است، و من می خواهم از طریق آن هم اینجا. چه نویسندگان حل شده است تاریخ ارزش ثبت شده است زیرا بیشتر مردم خارج از جهان کوچک مهندسی فانتزی عربی آن را نمی دانند، و آن را شگفت انگیز است. فانتزی عربی کلاسیک، که من به معنای سنت دستخطی که چاپگران ابتدایی استانبول و بولاک به دنبال کارهای خود را صرفه جوی می کند، یک خط متنبه جای آن، نویسنده خود را در طول خط مبانی گسترش می دهد، با استفاده از آنچه که به نام taṭwīl یا، در کلمه فنی مدرن، kashida نامیده می شود: خطوط متصل بین برخی جفت نامه ها می تواند طولانی شود، گاهی اوقات به صورت بلند، برای حمل خط به مرز.این سیستم توسط Ibn Muqla، ویزیور Abbasid و کالیفرار ارشد، نوشته شده بود که سه کالیفر را به بعد خدمت می کرد و توسط دو از آنها زندانی شد؛ سومین دست راست خود را به اتهام پیوستن خیانت، و Ibn Muqla سپس برای چند ماه بعدی به نوشتن ادامه داد با ضربه زدن یک قلم ریب به پای دست خود، و برای آنچه که او نوشته بود پاداش داده شده است به زبان خود را قطع و در زندان در اطراف سال 940 کشته شد. بدن او سه بار در سه مکان مختلف دفن شد، دخترش آن را پس از هر تعقیب برای نگه داشتن قبر را از دست پلیس.در این سیستم، طول کشیدن یک ضربه با قوانین خود است، چه جفت نامه آن را قبول می کند، چگونگی چرخش و کثافت، چه مقدار طول کشیدن یک خط می تواند حمل، جایی که آنها می توانند نشستن است. نویسندگان نیز به دلیل انتخاب شکل های مختلف، به دلیل بسیاری از نامه ها دارای شکل های متغیر با عمق های مختلف است، و یک دست حرفه ای بین آنها به عنوان نزدیک شدن مرز انتخاب می کند. عدالت، در این سنت، نه یک مشکل از بین بردن، بلکه یک مشکل شکل گیری است. سنت Ibn Muqla شروع به با او باقی نماند؛ آن را به طور کامل، در نامه، توسط موجودات انسانی نامیده شده در طی شش قرن بعدی. Ibn al-Bawwāb در بغداد، در حدود سال 1022, مساوی ها را نرم کرد و دست نامه ای که Naskh را برای باقی هزاران سال تعیینYāqūt al-Mustaʿṣimī، که در سال 1258 با پیاده شدن به یک مینیارت و ادامه نوشتن، دست های مغول از بغداد را زنده کرد، آنچه دانشمندان بعد از آن به نام شش پین، دست های کانونی از Naskh، Thuluth، Muḥaqqaq، Rayḥān، Tawqīʿ، Riqāʿ، هر یک با معیار های خود، هر یک با منطق خود را نوشتند، کدگذاری کرد. سپس نویسندگان پورسی Nastaʿlīq را در قرن چهاردهم اختراع کردند، یک کتاب بستنی که با بستن خط مبانی به پایین در پایان هر عبارت، که به طور معمول به دلیل تقریبا آنچه یک باغ متحرک به یک مزرعه است، است. اتومانی ها Dīwāṇa را برای chancery و یک Dīwāṇā Jalīتاسیس لاتین هرگز نیازی به هیچ یک از این ها نداشت، زیرا نامه های لاتین دست نمی گیرند. نامه های عربی انجام می دهند، و وب، در سال 2026، به آنها نگاه می کند دست می گیرند و هوا را بین کلمات در هر صورت استراحت می کند. بنابراین اکنون شما می دانید که کارت ماکپ در بالای صفحه چه کار می کرد: آن را جعلی کردن یک صفحه از این سنت دست نویس در HTML، هر خط به اندازه توسط خط ها و نه فضای حمل شده است. جعلی، از آنجا که من وعده داده ام یک اعتراف، U+0640 شخصیت TATWEEL است که من قرار داده و اندازه توسط دست. چهار شکل برای هر نامه برای درک این که چرا هر ماشین از Gutenberg این کتاب را مبارزه کرده است و بیشتر از همه از دست داده است، شما نیاز به یک واقعیت ساختاری: عربی همیشه کورسی است. هیچ تفاوهر نامه به همین دلیل تغییر شکل بستگی به همسایگان خود (یک شکل منحصر به فرد، یک اول، یک متوسط، یک آخر) و شش نامه از ارتباط به جلو به طور کلی انکار، که کلمات را به گروه های متصل و به ریتم خود را می دهد تغییر می کند. شکل ها در مقابل برخی از حروف زیر “حقیقته” لباس نیست. تغییرات موقعیت نامه است. و آلبوم بزرگتر از عربی زبان است. persian گسترش آن را با چهار نامه عربی وجود ندارد (پ پ، چ چ چ، ژ ز، گ gaf) و استفاده از دو از نامه های موجود در فرم های متفاوتی مختلف (ی برای نهایی yāʾ، ک ک کچ). Urdu اضافه می کند به دنبال do-chashmī he (ھ), یک مجموعه retroflex (dit ڑ), و یک قفسه (ے), و نوشتن بیشتر از متنهر کلمه ای که خود را “آریبی” می نامد بدون مشورت با جامعه های پیری و ارودو، برای صدها میلیون خواننده در ایران و جنوب آسیا، متن را تولید می کند که از نظر فنی نشان داده می شود اما به صورت عملکردی اشتباه است: کافئین در حال اشتباه است، کلمه ها در جایی که نباید باشد، اعداد در حال اشتباه هستند. The Noto Sans Arabic خانواده کشتی ها زیرکلمه های جداگانه را برای پوشش این (NotoNaskhArabic، NotoNastaliqUrdu، NotoSansArabicUI) تولید می کند، و کلمه ای که معمولاً در خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خط خطمتن که شما ذخیره می کنید، input آن است، نه output آن است. کلمه هر بار که شما آن را تماشا می کنید، به عنوان موسیقی از یک امتیاز انجام می شود. پاک ترین راه برای احساس این است که یک کلمه را یک نامه در یک زمان جمع آوری کنید و نگاه کنید که هر کلمه قبلی شکل آن را تجدید نظر می کند، همانطور که بعدی می آید: پاسخ های غلط هنوز هم در استاندارد هستند، فاسد شده اند و آنها یادآوری های عالی ایجاد می کنند. پیش از آنکه موتورهای شکل گیری وجود داشته باشند، صفحه های کد 8 بیتی از DOS و عصر ابتدایی ویندوز خود را رمزگذاری کردند: یک شخصیت جداگانه برای ʿayn اولیه، medial ʿayn، و غیره. Unicode، که وعده داده شده است که با هر چیزی دیگر سازگار است، باید تمام این مجموعه ها را غرق کنند، و آنها در Uبوتاکس به عنوان شکل ها و نوار شما به عنوان نامه ها کد شده است. شهروند مورد علاقه من از بلوک، و یکی از شخصیت های مورد علاقه من در تمام Unicode، U+FDFD، : چهار کلمه invocation، bismillāh ar-raḥmān ar-raḥīm، به عنوان یک کلمه رمزگشایی است. یک حافظه از عصر زمانی که rendering به رمزگشایی بسته شد، زیرا هیچ کس به renderer اعتماد نداشت تا کاری انجام دهد، برای همیشه حفظ شده است، مانند یک فلش در آرمبر که خواند. این بوسه می کند زیرا دو رمزگشایی به طور یکسان انجام می دهند و متفاوت مقایسه می کنند. بوتاکس مشتری من در بالا از این مقاله ذکر شد، به طور خاص، این است: و اگر شما می خواهید بدانید چه جهان به نظر می رسد هنگامی که نرمهر پروژه عربی که در آن کار کرده ام به آنها پیوسته است، و اکثر این پروژه ها یک کلمه خصوصی برای آنچه اشتباه شد به جای اینکه بپرسند چرا است اختراع کرده اند. بیشتر خوانندگان این مقاله تنها یک مجموعه اعداد را ملاقات کرده اند و در حال ملاقات با سه است. گلیف های جهان به نام “اعداد عربی”، 0 تا 9، در واقع چیزی نیست که بیشتر خوانندگان عربی از روز به روز استفاده می کنند. مصر، سودان، لیوانت، عراق، و خلیج از آنچه فایل های یونیکود تحت ARABIC-INDIC DIGITS (٠١٢٣٤٥٦٧٨٩، U+06–U+0669) استفاده می کنند و از زمان کلماتی مختلف این کار را انجام داده اند؛ که به نظر نمی رسد گلیف های لاتین و کشتی در هر عربی جدی به عنوان یک مجموعه حروف جداگانه باشد. مغرب (ایران، افغانستان، و پاکستان از یک مجموعه سوم استفاده می کنند، EXTENDED ARABIC-INDIC DIGITS (۰۱۲۳۴۵۶۷889، U+06F0–U+06F9), چهار گلیف (4, 5, 6, 7) که به نظر می رسد از مجموعه عربی-آندیک به رغم رمزگذاری همان شماره ها متفاوت است. هر پلت فرم بانکی که از رابات به کاراکی فعالیت می کند، در برخی مواقع، سه روش یکسان توازن را انجام می دهد: انتخاب rendering ساده نیمه است. رفتار دو طرفه آن جایی است که پلت فرم شروع به شکم می کند، زیرا اعداد اعداد قوی در الگوریتم نیستند. آنها ضعیف هستند، نه به طور قوی چپ به سمت راست مانند یک حروف لاتین و نه به طور قوی چپ به مانند یک عربی، و آنچه آنها انجام می دهند بستگیاما نقطه بندی بین اعداد در هر دو کلاس به صورت متفاوت رفتار می کند. یک هیفین بین اعداد اروپایی متصل می شود. یک هیفین بین اعداد عربی متلاشی می شود و دوباره توسط قوانین برای ادرال، که به زمینه قوی نگاه می کند، که راست به چپ است، و دو اعداد به طور مستقیم جایگاه های تبادل در اطراف هیفین اجرا می شود. اینطور است که یک شماره تلفن ذخیره شده به عنوان “010-1234-5678” در صفحه نمایش به عنوان “5678-1234-010” وارد می شود، به عنوان “5678-1234-010” در هر مرورگر، به طور یکسان اشتباه. یا URL_0.نقطه سوم، و یکی که بیشتر به طور مستقیم هزینه پول، این است که علامت دهقان و هزاران جدا کننده دارای کنوانسیون محلی نیز است. جهان عربی از Uیک قیمت که توسط یک کتابخانه قدیمی، یا توسط یک پشتیبان در یک زبان که پشتیبانی محلی آن در زبان فرانسه متوقف می شود، از ASCII . و ، استفاده می کند. هر دو نشان می دهد. هر دو تقریبا یکسان به نظر می رسد. تنها یکی از آنها به طور درست در سیستم بعدی زیر جریان استراحت می کند و شما می دانید که کدام یک هنگامی که صلح در یک صبح یکشنبه متوقف می شود. پنج قرن از کارگزاران چاپ و اسکرپت عربی به خوبی ملاقات می کنند، و این جلسه نقشه را برای تقریبا همه چیز از آن زمان تعیین می کند: هنگامی که ماشین نمی تواند اسکرپت را انجام دهد، اسکرپت را ساده کنید، آن را ارسال کنید و آن را به پیشرفت دعوت کنید.

[…]

چرا مهمه؟

بهبود رندر عربی می‌تواند تجربهٔ کاربری میلیون‌ها کاربر را ارتقا دهد و هزینه‌های تجاری ناشی از خطاهای جستجو و نمایش را کاهش دهد.

به درد کی می‌خوره؟

developers, designers, general

تو عمل چی کار کنیم؟

توسعه‌دهندگان باید به‌جای استفاده از راه‌حل‌های موقتی مانند U+0640، به موتورهای شکل‌دهی پیشرفته (مانند HarfBuzz) و ویژگی‌های OpenType متکی شوند تا متن عربی به‌درستی توجیه شود.

نظر Blue IT News

روند طولانی‌سازهای حروف عربی، از خطاطان قرون وسطی تا مهندسان متن باز امروز، نشان می‌دهد که حل یک مشکل فنی می‌تواند صدها سال زمان بگیرد و هنوز هم به‌دست‌اندرکاران مستقل وابسته است.

<div class=“disclosure”> این صفحه ترجمه و تفسیر کاملی از گزارش اصلی Lr0 است که توسط تیم تحریریه بلو آی تی نیوز به فارسی ترجمه و تحلیل شده. برای مشاهده نسخه اصلی، به منبع مراجعه کنید. </div>