Кіріспе

Мәтінді вектордан растрге түрлендіру процесі. Шрифттерді растрлеу – мәтінді векторлық сипаттамадан (TrueType сияқты масштабталатын шрифттерде кездесетіндей) растрлік немесе битмаптық сипаттамаға түрлендіру процесі. Бұл көбінесе экрандағы мәтінді тегіс және оқуға ыңғайлы ету үшін антиалиазингті қамтиды. Сондай-ақ, бұл шрифт деректеріне енгізілген, нақты таңба өлшемдері үшін көрсету ерекшеліктерін оңтайландыруға арналған ақпаратты – хинтингті де қамтиды.

Растерлеу түрлері

Растерлеудің ең қарапайым түрі – ешқандай антиалиазингсіз қарапайым сызық сызу. Microsoft терминологиясында бұл екі деңгейлі (және көбірек танымал "қара және ақ") рендеринг деп аталады, себебі глифтерді салу үшін аралық түстер (сұр) қолданылмайды. (Шын мәнінде, кез келген екі түс алдыңғы және артқы фон ретінде қолданылуы мүмкін.) Бұл рендеринг түрі алиастық немесе "тігірулі" деп те аталады. Мысалы, Windows 95-ке дейінгі Microsoft Windows-тың барлық нұсқалары (мысалы, Windows 3.1) осы типтегі растерлеушіні ғана қамтамасыз етті. Күрделірек тәсіл – компьютерлік графикадан стандартты антиалиазинг әдістерін қолдану. Бұл әр пикселдің таңбаның жиегінде қаншалықты бөлігін алып тұрғанын анықтау және сол пикселді сол мөлдірлік деңгейімен салу деп қарастыруға болады. Мысалы, ақ (FFFFFF) фонға қара (000000) әріпті салғанда, егер пиксел идеалды түрде жартылай толтырылуы керек болса (мысалы, бұрыштан бұрышқа дейін диагональ сызығымен), ол 50% сұр түске (BCBCBC) боялады. Бұл процедураны тым қарапайым қолдану бүркеме глифтерге әкелуі мүмкін. Мысалы, егер әріпте бір пиксел ені бар тік сызық болса, бірақ ол екі пикселдің арасында дәл түссе, ол экранда екі пиксел ені бар сұр сызық ретінде көрінеді. Бұл бүркемелік нақтылық үшін айқындықты құрбан етеді. Дегенмен, қазіргі заманғы жүйелер сызықтарды толық пикселдік координаталар шегіне мәжбүрлейді, бұл глифтерді өткір етеді, бірақ сызықтарды қағазға қарағанда сәл кеңірек немесе жіңішке етеді. Көптеген компьютерлік дисплейлерде бірнеше субпиксельден тұратын пиксельдер бар (әдетте қызыл, жасыл және көк түстер үшін әрқайсысы бір-бірінен тұрады, олар толық түс спектрін алу үшін біріктіріледі). Кейбір жағдайларда, әсіресе, жалпақ панельді дисплейлерде, экранның тиімді ажыратымдылығын арттыру үшін толық пиксельдерді пайдаланудың орнына субпиксельдік ажыратымда рендеринг жасауға болады. Бұл әдетте субпиксельдік рендеринг деп аталады. Субпиксельдік рендерингтің бір меншік түрі – Microsoft-тың ClearType технологиясы.

Қазіргі кезде қолданылатын растерлеу жүйелері

Қазіргі операциялық жүйелерде растерлеуді әдетте көптеген қолданбаларға ортақ ортақ кітапхана қамтамасыз етеді. Мұндай ортақ кітапхана операциялық жүйеге немесе жұмыс үстеліне енгізілуі немесе кейіннен қосылуы мүмкін. Принцип бойынша, әр қолданба әртүрлі қаріптерді растерлеу кітапханасын пайдалана алады, бірақ іс жүзінде көптеген жүйелер бір кітапханада стандарттауға тырысады. Microsoft Windows Windows XP-ден бастап субпикселдік рендерингті қолдайды. Ал ClearType-сыз стандартты Microsoft растерлеушісі – тип дизайнерінің айқындығына басымдық беретін мысал; мәтінді бүтін координаталық позицияларға мәжбүрлеу арқылы, тип дизайнерінің берген нұсқауларын орындап, тіпті кейбір қаріптерді белгілі бір өлшемдерде антиалиазингке жатқызбай, тип дизайнерінің gasp кестесіндегі нұсқауларын орындау арқылы, экранда оқу оңайырақ болады, бірақ басып шығарғанда сәл өзгеше көрінуі мүмкін. Бұл Windows 7 және Windows Vista платформасының жаңартуларымен Direct2D/DirectWrite енгізілуімен өзгерді, бұл субпикселдік мәтінді 1/16 пикселдік өлшемге орналастыруға мүмкіндік берді. Mac OS X Quartz субпикселдік орналасуды пайдаланумен ерекшеленеді; ол глифтерді нақты пикселдік орналасуға мәжбүрлемейді, керісінше, әртүрлі антиалиазинг әдістерін қолданады, соның ішінде субпикселдік рендерингті, таңбалар мен сызықтарды тип дизайнерінің берген нұсқауларынан алшақтатып, бастапқы контурға жақындату үшін пайдаланады. Нәтижесінде экрандағы көрсету басылған нұсқаға өте ұқсас болады, бірақ кейде кішкентай шрифт өлшемдерінде оқу қиын болуы мүмкін. Quartz рендерингі macOS Mojave-ден бастап субпикселдік рендерингті алып тастады, оның орнына тек сұр масштабты антиалиазингке көшті. Бұл өзгеріс HiDPI "ретина" экрандары үшін қолайлы, бірақ сыртқы мониторларда мәтінді оқуды қиындатады. Басқа жүйелердің көпшілігі FreeType кітапханасын пайдаланады, ол параметрлерге байланысты Microsoft және Apple-дің нұсқалары арасындағы кез келген нәрсе болуы мүмкін; ол намектерді (hinting) және антиалиазингті қолдайды, сондай-ақ қосымша субпикселдік рендеринг пен орналасуды жүзеге асырады. FreeType сонымен қатар екі нұсқада да жоқ кейбір мүмкіндіктерді ұсынады, мысалы, түс теңгерілген субпикселдік рендеринг және гамма түзету. Қолданбалар өздерінің шрифтін көрсету шешімдерін де әкеле алады. Skia Graphics Engine (Google Chrome пайдаланады) сияқты графикалық фреймворктер кейде өздерінің шрифт рендерерін пайдаланады. Видео ойындар мен басқа 3D қолданбаларға әртүрлі SDF негізделген рендерерлер мен "Slug" сияқты жылдам, GPU негізделген рендерерлер қажет болуы мүмкін.