á¡ááááºá¡ááŒáœááºáá±ážááá·áºáááºážáááºážááᯠá¡áá¯á¶ážááŒá¯áá°á¡áá»áá¯á·ááẠPango áá¬ážááŸááºáž 1.43 á០1.44 ááá¯á· á¡ááá·áºááŒáŸáá·áºáááºááá·áºá¡áá« áááááŒá¯ááááŒáá±áááºá kerning á¡áá»áá¯á·áá±á¬ áá±á¬áá·áºáááá¬ážá
á¯áá»á¬áž ááá¯ááá¯ážáá¬áááºá ááá¯á·ááá¯áẠá¡ááŒááºá·á¡á áá»áá¯áž.
ááŒá¿áá¬á á
á¬ááŒáá·áºááá¯ááºááŒá±á¬áá·áºáá«á áááºááᯠá¡áá¯á¶ážááŒá¯ááŸá¯ááŸááŒá±á¬ááºážáá²á·áááºá FreeType áá±á¬áá·áºáá»á¬ážá kerning (glyphs á¡ááŒá¬ážá¡ááœá¬á¡áá±áž) á¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºá¡ááœáẠHarfBuzzááŸáá·áº áá±á¬ááºááá¯ááºážááœáẠdeveloper áá»á¬ážá áá¯á¶ážááŒááºáá²á·ááŒáááºá ááá±á¬ááºáá¶áá«á "á¡ááááºá¡ááŒáœááº" áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯á áá±á¬áá·áºááᯠáá»á±á¬ááœá±á·á
á±ááŒááºážá ááŒáá·áºáá¬ážáá±á¬ pixel ááááºáááºážá (Hi-DPI) ááŸááá±á¬ áááºáá¬ážááŒááºáá»á¬ážááœáẠâá¡ááááºá¡ááŒáœááºá¡ááŒáá·áºá¡á
á¯á¶â ááŸááœá²á á¡ááŒá¬ážá¡ááááºá¡ááŒáœááºáááºážáááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá« áá±á¬áá·áºáá»á¬ážááŒáááŒááºážááá¯ááºáᬠááŒá¿áá¬áá»á¬áž áááŒá
áºááœá¬ážááŒá±á¬ááºáž ááŸááºáá¬ážááá«áááºá
á¡ááœá± ááŒá¿áá¬ááááºááá¯ááºáá¬ááœá±ážááœá±ážááŸá¯á០HarfBuzz developer (Behdad Esfahbod)
á¡ááááºá¡ááŒáœááºáá¯á¶á
á¶áá»á¬ážá¡ááŒáẠá¡ááŒá¬áž á¡ááááºá¡ááŒáœááºáá¯á¶á
á¶áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááẠááŒáá¯ážá
á¬ážáá²á·áá±á¬áºáááºážá áááºážááẠWindows 2 ááŸá ClearType v7 ááŸáá·áº áá®ážá
ááºáá±á¬ áá±á¬áá·áºááŒáááŸá¯ááá¯áᬠáá±ážá
áœááºážááá¯ááºááŒá®ážá áá»áœááºá¯ááºáá¡ááŒááºá¡áá ááŸáááŒá®ážáá¬ážááŒá±ááŸááºážáá»ááºá¡á¬ážáá¯á¶ážá á¡áá±á¬ááºážáá¯á¶áž rendering áá«ááŸáááá·áº Windows XNUMX ááŸá ClearType vXNUMX ááŸáá·áº áá®ážá
ááºáá«áááºá
ááŸááºáááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠáááºážá¡á¬áž ááá±á¬ááºáá¶áá±á¬á·ááŒá±á¬ááºáž áá¯á¶ážááŒááºáá²á·áááºá áááºááŒá¬áá¯á¶áá±á«áºááŒááºážááᯠáá»áá·áºáá¯á¶ážááẠááŒáá¯ážá
á¬ážááá¯ááºááẠááá¯á·ááá¯áẠá¡ááŒá¬ážáá
áºáá¯áá¯ááᯠááŸá¬ááœá±ááẠááŒáá¯ážá
á¬ážááá¯ááºáááºá Open Source ááᯠáá¯á¶ážáá±áᬠáá¬ážáááºáá¬ážá
áááºáá±á¬ááºážááœá±ážááœá±ážááŸá¯áá±á¬ááºáááºááœá²
áá±á¬ááºáááºááœá²ááŸááºáá»ááºáá»á¬ážááœáẠdeveloper ááŸááºážááŒáá²á·áááºá¡ááá¯áá« open source áá±á¬á·ááºáá²ááẠááœá±ážáá»ááºááœáá·áºááᯠáá±ážáá±á¬ááºááŒá®áž áááºááŸáá¡ááŒá±á¡áá±á¡á¬áž ááá»á±áááºáá°áá»á¬ážááᯠPango á áááºážááœá²áá
áºáá¯ááᯠáááºáá®ážááá¯ááºáááºá HarfBuzz á developer áá»á¬ážááẠáááºážá ááŒá¯ááŒááºááááºážááááºážááŸá¯ááŸáá·áº áááºážááœááºááŒá¯áá¯ááºáá±á¬ áá¯á¶ážááŒááºáá»ááºáá»á¬ážááᯠááœáŸááºážááá¯ážááá¯ááºáááºááá¯ááºáá±á Behdad Esfahbod á áááºááŸá HarfBuzz ááááºážááááºážáá° á ááŸá
áºáá¯áá¯á¶áž
á
á®áá¶ááááºážáá»á¬ážáá°ááẠRed Hat ááŸáá·áº 10 ááŸá
áºáá»á±á¬áºááŒá¬ ááááºáááºáá²á·áá² Pango ááááºážááááºážáá°ááá¯ááºááŒá±á¬ááºáž áá±á¬áºááŒáá²á·áááºá 2010 áá¯ááŸá
áºááŸá
áááºá Google ááá¯á·ááŒá±á¬ááºážááœáŸá±á·áá²á·ááŒá®áž ááááºá áááºážáááá¯ááºáá±ážááá¯ááºáá¬ááá±á¬áá»ááºááŒá
áºááá·áº HarfBuzz ááŸáá·áºáᬠáá¯ááºáá±á¬ááºáá²á·áááºá HarfBuzz áááááºážáá»á¯ááºáá°ážá rendering process ááŸáá·áº Pango ááẠáááºážááááºá០áá±á¬ááºážááá¯áá¬ážáá±á¬ á¡ááááºá¡ááŒáœááºáá¯ááºáá»á¬ážááᯠá¡á
á¬ážááá¯ážááá¯ááºáááºá
áá±á¬ááºááẠHarfBuzz developer á¡áá±ážá¡áááºHarfBuzz ááẠáá±á¬áá·áºáá¯á¶áá±á«áºááŒááºážá
áá
áºááá¯ááºááá·áºá¡ááŒáẠáááºážááááá¯áá¬áááºáá¬á០á¡ááááºá¡ááŒáœááºáá»á¬ážááᯠááá¶á·ááá¯ážááá¯ááºáá±á¬ááŒá±á¬áá·áº ááŒá¿áá¬ááẠPango áááºááœáẠááŸááá±áááºá Pagno ááẠá¡ááááºá¡ááŒáœááºááᯠáááºáááºááááºážááááºážáá¬ážááẠááá¯á¡ááºáá«áá HarfBuzz ááá¯á·ááŒá±á¬ááºážááŒááºážááẠáááºážááá¶á·ááá¯ážááŸá¯á¡áá±á«áº á¡á¬ážááá¯ážááẠááœá±ážáá»ááºááŸá¯ááá¯ááºáá«á IN á¡áááºá¡ááœá±ážááŒááºá· HarfBuzz ááœáẠá¡ááááºá¡ááŒáœááºááŒááŒááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠááŒááºážááá¯áááŒááºážá¡ááŒá±á¬ááºážáááºážááŸá¬ á¡áá»áá¯á·áá±á¬ á¡ááááºá¡ááŒáœááºáá¯ááºáá»á¬ážááẠglyph á áá°áááºážá¡áá»ááºááᯠááŒá±á¬ááºážáá²ááœá¬ážá
á±ááŒá®áž á€ááŒá±á¬ááºážáá²ááŸá¯ááẠpixel á¡ááœááºá¡á
á¬ážáá±á«áºááœááºáá°áááºáá±á¬ááŒá±á¬áá·áº ááŒá
áºáááºá Pango ááẠááááºá á¡ááááºá¡ááŒáœááºááŒá±á¬ááŒááºážááᯠáá¶á·ááá¯ážáá±ážááá·áº FreeType ááŸáá
áºááá·áº á¡áá¬ážáá°áá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºáá²á·áá±á¬áºáááºáž áááºážááá¯á·áá¡ááœááºá¡á
á¬ážááᯠá¡ááá¯ážá¡áá¬ážáááŸááá² ááá
áºááºáá»á¬ážááᯠááá¯ááºááœááºááá·áº HarfBuzz ááá¯á· ááŒá±á¬ááºážáá²á·áááºá ááá¯á·ááŒá±á¬áá·áº Pango ááá¯á¡áá¯á¶ážááŒá¯áá±á
áẠááŒá¯á¶ááœá±á·áááá·áºááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážááŒááºážááẠHarfBuzz ááá¬áááºááá¯ááºáá² Pango ááá¬áááºááŒá
áºáááºá
á¡áá¯á¶ážá
áœááºáá±á¬ Behdad Esfahbod áá¯á¶ááŸáááºáá¯ááºáá± Linux font stack á ááŒá®ážáá¬ážáá±á¬ áá±á¬ááºááŒá±á¬ááºážááŒááºááŸá¯á Google ááá¯á· áá°ááœááºááœá¬ááœá¬ážááŒá®ážáá±á¬ááºá Pango ááŸáá·áº Cairo á
á¬ááŒáá·áºááá¯ááºáá»á¬ážááẠáááºááœá±á·á¡á¬ážááŒáá·áº á
áœáá·áºáá
áºáá¶áá²á·áááŒá®áž áá¯á¶á·ááá¯ááºážááœá¬ážáá²á·áááºá HarfBuzz ááœááºá Red Hat ááẠGTK ááŸáá·áº Glib ááá¯á·ááᯠá¡á¬áá¯á¶á
áá¯ááºáá¬ážáá±á¬áºáááºáž ááá¯ááºáá»á±á¬áá®ááœá±ááŒá
áºá
á±ááá¯ááºáá±á¬ ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬áá±á¬áá·áºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡áá±á«áº á¡á¬áá¯á¶á
áá¯ááºáá¯ááºáá±á¬ááºáá²á·áááºá á¡áá»áááºááŒá¬áá¬áááºááŸáá·áºá¡áá»áŸá ááŒá±á¬ááºážáá²ááá¯ááºáá±á¬áá±á¬áá·áºáááºáááºááœáẠááá¯ážáááºááŸá¯áá»á¬ážááᯠFreeTypeá fontconfig ááŸáá·áº Cairo ááá¯á· ááœáŸá²ááŒá±á¬ááºážáá²á·áá±á¬áºáááºáž developer áá»á¬ážáááŸáááŒááºážááŒá±á¬áá·áº Pango ááœáẠáááŒá®ážááŒááºáá±ážáá«á Pango ááŸá API á¡áá
áºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºááᯠFontMap abstraction ááŸáááá·áº áá±á¬ááºáá¶á·áá±ážáá¬ážááŒá®áž FreeType-based backends áá»á¬ážá¡ááœááºáᬠáá¶á·ááá¯ážáá±ážáá¬ážáá«áááºá Windows ááŸáá·áº macOS á¡ááœáẠbackend áá»á¬ážááᯠ10 ááŸá
áºáá»á±á¬áºááŒá¬ áááááºážááááºážáá¬ážááá¯ááºáá²á·áá«á
ááá¯ááá¯ááºážááºáááááá¬áá»á¬ážááŸáá·áº ááá±á¬ááºáá¬áá»á¬áž ááá¯ážáá»á²á·ááŒá®ážáá±á¬ááºá Microsoft ááẠWindows 8 ááœáẠsubpixel áá±á¬áá·áºáá±á¬áºááŒááºážááŸáá·áº GDI áá¯á¶á
ᶠrendering ááá¯á·ááᯠáá¶á·ááá¯ážááŒááºážááᯠáááºááá·áºáá²á·áááºá macOS ááẠrendering ááᯠá¡ááŒá²áá¶á·ááá¯ážáá¬ážááŒá®ážá á€ááœá±ážááœá±ážááŸá¯ááœáẠâblurryâ áá¯áá±á«áºáááºá 2018 áá¯ááŸá
áºááŸá
áá HarfBuzz developer á¡áá»á¬ážá¡ááŒá¬ážááẠPango ááá¯á· ááŸá
áºáá»á¬ážáá
áºáá»áŸá±á¬áẠáááºááá·áºáá¬ážáá±á¬ HarfBuzz áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá°áá±á¬ááºáá¬ááẠááŒáá¯ážáááºážáá²á·ááŒáááºá GTK4 áááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááŸáá·áºá¡ááŒáá¯ááºá Pixel rendering ááŸáá·áº scalable layout á¡ááŒá¬ážááá·áºáá»ááºááŸá¯ááá¯ááá¯ááá¯ááá¯ážááœá¬ážá
á±ááá·áº linear text scaling ááá¯áááºááœáŸááºážááá·áº OpenGL-based rendering ááá¯á·á¡áá°ážá¡ááŒá±á¬ááºážááŒá¯áá¯ááºáá²á·áááºá
LibreOfficeá Chrome ááŸáá·áº Firefox ááá¯á·ááẠáá
áºááŒá±áá¯á¶áá±á¬áá·áºáá»á¬ážááŸáá·áº Type1 áá±á¬áºáááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááᯠáááºááá¯ááºážááá¯ááºááŒááºážááŒáá·áº HarfBuzz ááᯠá
á¯á
ááºážáá¬ážáá±á¬ áá¯á¶ááá¹áá¬ááºá¡ááºáá»ááºá¡ááŒá
Ạá¡áá¯á¶ážááŒá¯áá²á·áááºá áá
áºááŒá±áá¯á¶áá±á¬áá·áºáá»á¬ážá¡ááœááºá ááá¯á¡ááºáá°áá»á¬ážááẠáááºážááá¯á·á¡á¬áž OpenType ááœááºááááºáá¬á¡ááŒá
áºááá¯á· ááŒá±á¬ááºážáá²ááẠáá±á¬ááºážááá¯áá²á·áááºá HarfBuzz á¡ááœáẠType1 ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠAdobe ááá¯á· áá±á¬ááºážááá¯áá»ááºáá
áºáᯠáá±ážááá¯á·áá²á·áá±á¬áºáááºáž áááºážááá¯á·ááá¯ááºááá¯ááºá Type1 ááᯠááá¯ááŸá
áºááœáẠáá¶á·ááá¯ážááŸá¯ áááºááá¯ááºážáá±á¬á·áááºááŒá
áºáá±á¬ááŒá±á¬áá·áº áááºážááœáẠáááºááá·áºá¡áá»ááºá០áááŸáááŒá±á¬ááºáž ááŒááºáááºááŒá±ááŒá¬ážáá²á·áááºá
á¡ááá·áºááŒáá·áºáááºážááá¬áá»á¬ážááᯠá¡áá®ááá¯ááºááá¯ááºáááºá Pango á
á¬ááŒáá·áºááá¯ááºá¡ááœáẠHarfBuzz ááá¯á·ááŒá±á¬ááºážááẠá¡áá¬ážáá°áá¯á¶ážááŒááºáá»ááºááᯠááŒá¯áá¯ááºáá²á·áááºá á
á»á±ážááŸá¯ááºážááẠááœááºáá²á·ááá·áº ááŸá
Ạ20 á០á¡áá»áá¯á·áá±á¬ áááºážááá¬áá±á¬ááºážáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºááá·áºááœá¬ážáá²á·áááºá á¡ááá·áºá¡áááºááŸááá±á¬ á¡áááºážá¡ááŒá
áºáá»á¬áž ááŒá±á¬áá·áº developer áá»á¬ážááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¯ááºáá±á¬ááºááẠáááºáá»á¬áž áá¯á¶áá¯á¶áá±á¬ááºáá±á¬áẠáááŸáááŒááŒá®áž áááºážááá¬áá±á¬ááºážáá»á¬ážááᯠááááºážááááºážááẠá
áááºáááºá
á¬ážáá°áá»á¬ážááẠáááºážááá¯á· áá»á±á¬ááºáá¯á¶ážáá±áá±á¬ áá¯ááºáá±á¬ááºááá¯ááºá
áœááºážááᯠááááºážááááºážááẠá¡áááºááá·áºááŒá
áºááá·áºáá°ááᯠááŸá¬ááœá±ááẠááŒáá¯ážá
á¬ážááá¯ááºááŒá±á¬ááºáž ááœáŸááºááŒáá¬ážáááºá ááŸáá¯ááºážááŸááºááŸá¯á¡áá±ááŒáá·áºá ááá»á±áááºáá°áá»á¬ážááẠMate ááŸáá·áº Cinnamon ááá±á¬áá»ááºáá»á¬ážááá±á¬ááºá¡ááœááºáž áá±ááºááá®áá±á¬á·áá±á¬ GNOME3 áááºážááá¬áá»á¬áž áááºáááºááœá¶á·ááŒáá¯ážááá¯ážáááºáá¬ááŒá®ážáá±á¬áẠGNOME2 ááᯠáá±ážá¡ááºáááºá Pango ááœááºáááºáž á¡áá¬ážáá°áááºá ááŸá¬áá°áá°áá»á¬áž áááŸááá±ážáá«á
source: opennet.ru