شطرنجی‌سازی قلم

شطرنجی‌سازی قلم فرایند تبدیل متن از توصیف برداری (مانند آنچه در قلم‌های مقیاس‌پذیری مانند تروتایپ یافت می‌شود) به توصیف شطرنجی یا بیت‌مپ است. این فرایند اغلب شامل نوعی هموارسازی (Anti-aliasing) برای نمایش متن بر روی صفحه‌نمایش است تا خوانایی و نرمی آن افزایش یابد. همچنین ممکن است شامل اشاره‌گذاری (Hinting) باشد؛ یعنی اطلاعاتی که در داده‌های قلم جاسازی شده‌اند و جزئیات پردازش تصویر را برای اندازه‌های خاص نویسه‌ها بهینه‌سازی می‌کنند.

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

انواع شطرنجی‌سازی

شطرنجی‌سازی ساده (دوسطحی)

ساده‌ترین شکل شطرنجی‌سازی، ترسیم خطوط بدون هیچ‌گونه هموارسازی است. در اصطلاح مایکروسافت این روش «دوسطحی» (bi-level) نامیده می‌شود زیرا هیچ سایه میانی (خاکستری) برای ترسیم نویسه‌ها به‌کار نمی‌رود.[۱] این روش سریع‌ترین شیوه پردازش از نظر بار محاسباتی است اما عیب آن این است که نویسه‌های پردازش‌شده در اندازه‌های کوچک ممکن است تعریف خود را از دست بدهند و تشخیص آن‌ها دشوار شود.[۱] به همین دلیل بسیاری از پرونده‌های قلم (مانند تروتایپ) حاوی اشاره‌گذاری‌هایی هستند که به شطرنجی‌ساز کمک می‌کنند تا محل قرارگیری پیکسل‌ها را در نواحی مشکل‌ساز نویسه‌ها تعیین کند.[۱] به‌عنوان نمونه تمام نسخه‌های مایکروسافت ویندوز پیش از ویندوز ۹۵ (مانند ویندوز ۳٫۱) تنها از این نوع شطرنجی‌ساز داخلی برخوردار بودند.[۲]

شطرنجی‌سازی ساده بدون هموارسازی
شطرنجی‌سازی با هموارسازی بدون اشاره‌گذاری
شطرنجی‌سازی با اشاره‌گذاری و پردازش زیرپیکسلی برای نمایشگر تخت RGB

هموارسازی استاندارد

رویکرد پیچیده‌تر استفاده از فنون هموارسازی استاندارد رایانیکی است. در این روش برای هر پیکسل در لبه‌های نویسه تعیین می‌شود که چه مقدار از آن پیکسل توسط نویسه اشغال شده‌است و آن پیکسل با همان میزان کدری ترسیم می‌شود.[۱] برای نمونه هنگام ترسیم یک حرف سیاه بر زمینه سفید اگر پیکسلی باید نیمه‌پر باشد با رنگ خاکستری ۵۰٪ رسم می‌شود. اعمال ساده‌لوحانه این روش می‌تواند نویسه‌هایی مات و تار تولید کند؛ مثلاً اگر خط عمودی‌ای که باید یک پیکسل پهنا داشته باشد دقیقاً بین دو پیکسل بیفتد به‌صورت خطی خاکستری دو پیکسلی نمایش داده می‌شود.[۱] سیستم‌های نوین معمولاً خطوط را به مختصات صحیح پیکسلی سوق می‌دهند تا نویسه‌ها واضح‌تر دیده شوند.[۱]

پردازش زیرپیکسلی

جزئیات پردازش زیرپیکسلی که موقعیت زیرپیکسل‌های رنگی تشکیل‌دهنده قلم سفید را نشان می‌دهد

بیشتر نمایشگرهای رایانه‌ای پیکسل‌هایی دارند که از چندین زیرپیکسل (معمولاً هر کدام برای قرمز، سبز و آبی) تشکیل شده‌اند. در برخی موارد به‌ویژه در نمایشگرهای تخت می‌توان از این ویژگی بهره برد و پردازش را در سطح زیرپیکسلی انجام داد که تفکیک‌پذیری مؤثر صفحه‌نمایش را افزایش می‌دهد.[۱] این فناوری به‌طور کلی با نام پردازش زیرپیکسلی (Subpixel rendering) شناخته می‌شود. یکی از پیاده‌سازی‌های اختصاصی آن کلیرتایپ (ClearType) متعلق به مایکروسافت است.[۱]

سامانه‌های شطرنجی‌سازی رایج

در سیستم‌عامل‌های نوین، شطرنجی‌سازی معمولاً توسط یک کتابخانه مشترک (Shared library) فراهم می‌شود که بسیاری از برنامه‌های کاربردی از آن استفاده می‌کنند. چنین کتابخانه‌ای ممکن است در سیستم‌عامل یا محیط رومیزی تعبیه شده باشد یا بعداً اضافه شود.[۲]

مایکروسافت ویندوز

مایکروسافت ویندوز از زمان ویندوز اکس‌پی از پردازش زیرپیکسلی پشتیبانی کرده‌است.[۳] شطرنجی‌ساز استاندارد مایکروسافت بدون کلیرتایپ از رویکردی استفاده می‌کند که بر نیت طراح قلم در جهت وضوح تأکید دارد؛ با قرار دادن اجباری متن در مختصات صحیح پیکسلی و پیروی از اشاره‌گذاری طراح قلم، متن بر روی صفحه‌نمایش خواناتر می‌شود اما ممکن است تفاوتی با خروجی چاپی داشته باشد.[۱] این وضعیت با عرضه Direct2D/DirectWrite در ویندوز ۷ و به‌روزرسانی بستر ویندوز ویستا تغییر کرد و امکان موقعیت‌دهی زیرپیکسلی متن تا دقت ۱/۱۶ پیکسل فراهم شد.[۴]

مک‌اواس (کوارتز)

کوارتز در مک‌اواس با استفاده از موقعیت‌دهی زیرپیکسلی متمایز است؛ نویسه‌ها را به مکان‌های دقیق پیکسلی سوق نمی‌دهد بلکه با فنون مختلف هموارسازی از جمله پردازش زیرپیکسلی، نویسه‌ها را نزدیک‌تر به طرح کلی اصلی قلم نمایش می‌دهد.[۵] نتیجه آن شباهت بسیار زیاد نمایش بر صفحه‌نمایش با خروجی چاپی است اما در اندازه‌های کوچک ممکن است خوانایی کاهش یابد. از نسخه مک‌اواس موهاوی (Mojave) پردازش زیرپیکسلی حذف شد و صرفاً هموارسازی خاکستری‌مقیاس به‌کار می‌رود. این تغییر برای نمایشگرهای با تراکم پیکسلی بالا (رتینا) مشکلی ایجاد نمی‌کند اما خوانایی متن بر نمایشگرهای خارجی با تراکم پیکسلی معمولی را کاهش می‌دهد.[۶]

فری‌تایپ

بیشتر سیستم‌های دیگر از کتابخانه فری‌تایپ استفاده می‌کنند که بسته به تنظیمات می‌تواند رفتاری بین پیاده‌سازی مایکروسافت و اپل داشته باشد؛ این کتابخانه از اشاره‌گذاری و هموارسازی پشتیبانی می‌کند و به‌صورت اختیاری پردازش و موقعیت‌دهی زیرپیکسلی را نیز انجام می‌دهد.[۷] فری‌تایپ همچنین ویژگی‌هایی مانند پردازش زیرپیکسلی با توازن رنگ و تصحیح گاما ارائه می‌دهد که در هیچ‌یک از دو پیاده‌سازی دیگر وجود ندارد.[۸]

پردازش‌گرهای اختصاصی برنامه‌ها

برخی برنامه‌ها راه‌حل‌های شطرنجی‌سازی اختصاصی خود را به همراه دارند. چارچوب‌های گرافیکی مانند اسکیا (Skia) که در گوگل کروم به‌کار می‌رود گاهی از شطرنجی‌ساز مخصوص خود استفاده می‌کنند.[۹] بازی‌های ویدئویی و دیگر برنامه‌های سه‌بعدی نیز ممکن است به شطرنجی‌سازهای سریع‌تر مبتنی بر پردازنده گرافیکی مانند شطرنجی‌سازهای مبتنی بر تابع فاصله علامت‌دار (SDF) نیاز داشته باشند.[۱۰]

جستارهای وابسته

منابع

  1. 1 2 3 4 5 6 7 8 9 Greg Hitchcock (with introduction by Steven Sinofsky) "Engineering Changes to ClearType in Windows 7", MSDN blogs, 23 Jun 2009
  2. 1 2 «About Text Rendering in Windows Internet Explorer 9». MSDN.
  3. ↑ «ClearType Overview». MSDN Library.
  4. ↑ «ClearType Overview». MSDN Library.
  5. ↑ «[ft] Fwd: Re: Texts Rasterization Exposures». lists.gnu.org.
  6. ↑ «MacOS Mojave removes subpixel anti-aliasing, making non-retina displays blurry». Hacker News.
  7. ↑ «On slight hinting, proper text rendering, stem darkening and LCD filters». freetype.org.
  8. ↑ «On slight hinting, proper text rendering, stem darkening and LCD filters». freetype.org.
  9. ↑ «Slug Font Rendering Library». sluglibrary.com.
  10. ↑ «Slug Font Rendering Library». sluglibrary.com.

پیوند به بیرون