توسعه دهندگان پشته فونت لینوکس پشتیبانی از soft anti-aliasing را کنار می گذارند

برخی از کاربرانی که از روش hintfull hinting استفاده می کنند ممکن است متوجه شده باشند که هنگام ارتقاء از Pango نسخه 1.43 به 1.44 هسته گیری برخی از خانواده های فونت بدتر شد یا به طور کامل сломался.

توسعه دهندگان پشته فونت لینوکس پشتیبانی از soft anti-aliasing را کنار می گذارند

مشکل از کتابخانه است از Pango از استفاده تغییر یافته است FreeType برای اطلاعات در مورد هسته (فاصله بین حروف نگارش) فونت ها هارف بوزز، و توسعه دهندگان دومی تصمیم گرفتند پشتیبانی نکن صاف کردن فونت با استفاده از روش "hintfull". ذکر شده است که در صفحه نمایش هایی با تراکم پیکسلی بالا (Hi-DPI)، مشکلات نمایش فونت ها هنگام استفاده از روش های اشاره به غیر از "hintfull" رخ نمی دهد.

پاسخ توسعه دهنده HarfBuzz (بهداد اسفهبد) از بحث مربوطه در مورد مشکل:

من سعی کردم از سبک های hinting به غیر از hintfull استفاده کنم، اما فقط فونت های نزدیک به ClearType v2 را در ویندوز 7 نشان می دهد، که به نظر من بهترین رندر را از تمام راه حل های موجود دارد.

درست. بنابراین تصمیم گرفتیم دیگر از آن حمایت نکنیم. می توانید سعی کنید به رندر صابونی عادت کنید یا سعی کنید چیز دیگری پیدا کنید. شما از متن باز استفاده می کنید، فهمیدید؟

اضافه شدن پس از بحث بیشتر:

در نظرات بعدی توسعه دهنده توضیح دادکه نرم افزار منبع باز فرصت انتخاب را فراهم می کند و کسانی که از وضعیت فعلی راضی نیستند می توانند یک فورک پانگو ایجاد کنند. توسعه دهندگان HarfBuzz نمی توانند بر نگهداری و تصمیمات اتخاذ شده در آن تأثیر بگذارند. بهداد اسفهبد، نگهدارنده فعلی HarfBuzz که رتبه اول را در commit ها دارد هر دو
پروژه ها، اشاره کرد که او بیش از 10 سال است که با کلاه قرمزی ارتباط نداشته و نگهدارنده پانگو نیست. از سال 2010 به گوگل نقل مکان کرد و اکنون فقط با HarfBuzz که قبلا پروژه شخصی او بود کار می کند. HarfBuzz کنترل نمی کند فرآیند رندرینگ و Pango می‌توانند حالت‌های اشاره درخواستی را در کنار خود لغو کنند.

یکی دیگر از توسعه دهندگان HarfBuzz استرس، که مشکل از طرف Pango است، زیرا HarfBuzz یک سیستم رندر فونت نیست و از اشاره توسط معماری آن پشتیبانی نمی کند. اگر Pagno نیاز به حفظ اشاره دارد، تغییر به HarfBuzz انتخابی برای تکیه بر پشتیبانی آن نیست. که در کیفیت دلایل امتناع از اجرای hinting در HarfBuzz این است که برخی از حالت‌های hinting منجر به تغییر در عرض اصلی گلیف می‌شود و این تغییر به اندازه پیکسل بستگی دارد. پنگو قبلاً عملیات مشابهی را از طریق FreeType انجام می‌داد که از hinting پشتیبانی می‌کرد، اما سپس به HarfBuzz تغییر کرد که حروف‌ها را بدون اشاره به اندازه آنها کنترل می‌کرد. بنابراین، حل مشکلات پیش آمده در هنگام استفاده از Pango مسئولیت Pango است نه HarfBuzz.

در نهایت بهداد اسفهبد منتشر شده مروری به گذشته بزرگ از توسعه پشته فونت لینوکس. پس از رفتن او به گوگل، کتابخانه‌های پانگو و قاهره عملاً رها شدند و در رکود فرو رفتند. در HarfBuzz، کار بر روی پشتیبانی از فونت‌های متغیر تطبیقی ​​متمرکز بود، در حالی که Red Hat بر GTK و Glib متمرکز بود. با گذشت زمان، پیشرفت‌ها در زمینه فونت‌های قابل تغییر به FreeType، fontconfig و Cairo منتقل شد، اما به دلیل کمبود توسعه‌دهنده در Pango ناتمام ماند. دسترسی به APIهای جدید در Pango از طریق انتزاع FontMap فراهم شد و فقط برای Backendهای مبتنی بر FreeType پشتیبانی می شد. Backendهای ویندوز و macOS بیش از 10 سال است که نگهداری نمی شوند.

پس از گسترش دستگاه های تلفن همراه و مرورگرها، مایکروسافت پشتیبانی از رندر فونت زیر پیکسل و رندر به سبک GDI را در ویندوز 8 متوقف کرد. macOS همیشه از رندرینگ پشتیبانی می‌کند که در این بحث «تار» نامیده می‌شود. از سال 2018، چندین توسعه‌دهنده HarfBuzz تلاش کرده‌اند تا ویژگی‌های HarfBuzz را که طی سال‌ها اضافه شده‌اند به Pango بیاورند. به موازات توسعه GTK4، انتقالی به رندر مبتنی بر OpenGL انجام شد که به مقیاس خطی متن دلالت دارد، که تضاد بین رندر پیکسل و طرح بندی مقیاس پذیر را تشدید کرد.

لیبره آفیس، کروم و فایرفاکس به استفاده از HarfBuzz به عنوان یک موتور شکل دهی یکپارچه روی آوردند و این به قیمت قطع پشتیبانی از فونت های بیت مپ و قالب Type1 بود. برای فونت های بیت مپ، از کسانی که به آنها نیاز داشتند خواسته شد تا آنها را به یک ظرف OpenType تبدیل کنند. درخواستی به Adobe ارسال شد تا Type1 را برای HarfBuzz پیاده سازی کند، اما آنها پاسخ دادند که هیچ فایده ای در این کار وجود ندارد، زیرا خود آنها امسال از Type1 پشتیبانی نمی کنند.

به منظور رسیدن به فناوری های پیشرفته، تصمیم مشابهی برای تغییر به HarfBuzz برای کتابخانه Pango گرفته شد. قیمت قطعی پشتیبانی از برخی فناوری های قدیمی از 20 سال پیش بود. نشان داده شده است که با توجه به منابع محدود، توسعه دهندگان دست کافی برای انجام همه کارها ندارند و کسانی که علاقه مند به حفظ فناوری های قدیمی هستند می توانند سعی کنند شخصی را پیدا کنند که آماده حفظ عملکردی است که از دست داده اند. به عنوان مقایسه، GNOME3 ارائه شده است، که پس از ظاهر شدن آن، ناراضی ها توانستند توسعه فناوری های قدیمی GNOME2 را در چارچوب پروژه های Mate و Cinnamon ادامه دهند. همین امر در مورد Pango نیز صدق می کند، اما هنوز هیچ گیرنده ای وجود ندارد.

منبع: opennet.ru

اضافه کردن نظر