44,3
рейтинг
7 сентября 2013 в 10:26

Разработка → Незаметный релиз FreeType 2.5 — прорыв в рендеринге шрифтов

image Проект FreeType — это библиотека, которая используется для растеризации шрифтов и операций над ними. В частности используется для отображения шрифтов в X11.

Долгое время в FreeType была по умолчанию отключена поддержка правильного хинтинга TrueType-файлов через встроенный байт-код шрифта, поскольку данная технология попадала под патенты Apple. Для обхода патентов, сборки FreeType по умолчанию использовали незапатентованный алгоритм авто-хинтинга. В мае 2010 года срок патентов истек, и начиная с версии 2.4.0, FreeType по умолчанию использует правильный хинтинг через интерпретатор байт-кода шрифта.

Дальше — больше. В конце 2012 был объявлен сбор денег на развитие проекта. А в июне 2013 фандрайзинговая кампания успешно завершилась, принеся проекту 20 тысяч долларов. Тем временем компании Adobe (которая раньше мешала техническому прогрессу своими патентами!) и Google совместно внесли ряд улучшений, которые, в частности, значительно улучшили работу приснопамятного хинтинга на всех поддерживаемых проектом платформах. Вместе с рядом других улучшений это привело к выпуску новой версии — FreeType 2.5.

Особенности релиза
CHANGES BETWEEN 2.4.12 and 2.5

I. IMPORTANT BUG FIXES

— The cache manager function `FTC_Manager_Reset' didn't flush the
cache.

II. IMPORTANT CHANGES

— Behdad Esfahbod (on behalf of Google) contributed support for
color embedded bitmaps (eg. color emoji).

A new load flag, FT_LOAD_COLOR, makes FreeType load color
embedded-bitmaps, following this draft specification

color-emoji.googlecode.com/git/specification/v1.html

which defines two new SFNT tables, `CBDT' and `CBLC' (named and
modeled after `EBDT' and `EBLC', respectively). The color
bitmaps are stored in the new FT_PIXEL_MODE_BGRA format to
represent BGRA pre-multiplied sRGB images. If PNG support is
available, PNG color images as defined in the same proposed
specification are supported also.

Note that color bitmaps are converted to grayscale if client
didn't ask for color.

— As announced in the previous release, the old FreeType CFF
engine is now disabled by default. It can be conditionally
compiled by defining the configuration macro
CFF_CONFIG_OPTION_OLD_ENGINE.

— As announced in the previous release, all code related to macro
FT_CONFIG_OPTION_OLD_INTERNALS has been removed, thus becoming
obsolete.

III. MISCELLANEOUS

— The property API (`FT_Property_Get' and `FT_Property_Set') is
now declared as stable.

The exception, however, are the experimental auto-hinter
properties `glyph-to-script-map' and `fallback-script' which are
subject to change in a forthcoming release.

— `ftview' has been updated to support color embedded bitmaps; it
can be toggled on and off with key `c'. The small cache toggle
is now key `K'.

— It is now possible to control the version of the TrueType
hinting engine using the new `interpreter-version' property of
the `truetype' module: Versions 35 and 38 (the default) are
supported, which roughly corresponds to disable and enable
subpixel hinting support, respectively.

In both `ftview' and `ftdiff', switching between the two
versions can be done with key `H'. In the `ftbench' demo
program, command line option `-H' has been extended to activate
the non-default interpreter version.

— The `ttdebug' program has been further improved. In particular,
it accepts a new command line option `-H' to select the hinting
engine.

— Another round of TrueType subpixel hinting fixes.

— The `apinames' tool can now create an import file for NetWare.

— 64bit compilation of the new CFF engine was buggy.

— Some fixes to improve robustness in memory-tight situations.

1.
image

2.
image
FreeType Using the Old CFF Rasterizer with Light Auto Hint (most common setting)

image
FreeType Using the Adobe CFF Rasterizer (now the default CFF rasterizer)

Как ни странно, но больше всех в данном случае выигрывает ReactOS, соврешенно бесплатно получив продвинутый шрифтовой движок.
Речицкий Александр @Jeditobe
карма
33,2
рейтинг 44,3
it-евангелист
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (22)

  • +11
    … выигрывает ReactOS, соврешенно бесплатно получив продвинутый шрифтовой движок.


    После ревизии 60000 будем обновлять FreeType :-)
  • +32
    FreeType 2.5
    2013-06-19


    image
  • +4
    Новость о прорыве без изображений со сравнение было/стало? Пффф…
    • +2
      Добавил картинку из новости с сайта Адоба по ссылке из топика.
  • +9
    Как ни странно, но больше всех в данном случае выигрывает ReactOS

    А линукс, андроид не? Сколько тех юзеров ReactOS и сколько Линукса+Андроида…
    • +3
      Ну дак и что? Делалось для них специально, фактически это был вынужденный шаг Гугла, он тратил деньги на улучшение своей платформы. А ReactOS это все бесплатно достанется, без материальных и человеческих затрат, по принципам opencource-сообщества.
      • 0
        С каких пор линукс является платформой гугла?
        • +5
          А андроид — не платформа гугла?
          • +4
            Андроид да. Тем не менее пользователей линукса в десятки тысяч раз больше, чем пользователей РеактОС(Они вообще существуют кроме бета тестеров и разрабочиков самой ОС?).
            И они так же абсолютно бесплатно получают FreeType 2.5
            • 0
              Единственный раз видел работающую ReactOS. На кассе в супермаркете.
  • 0
    Можно ли теперь заметить улучшения в обычных шрифтах TTF или нужны только шрифты OpenType с CFF?
    • +1
      Только otf, только хардкор.
      This contribution has absolutely nothing to do with TrueType fonts normal users normally encounter.

      Yes, this rasterizer 'only' supports .otf fonts, however as far as I know pretty much all new fonts, including pretty much all the Google webfonts are available in .otf format. Also you can convert between the formats, chances are something is lost in the translation, that I am unsure of.


      phoronix.com/forums/showthread.php?80261-Adobe-Open-Sources-CFF-Rasterizer-For-FreeType
      • 0
        Спасибо за ссылку.
        Выходит, даже наличия .otf формата недостаточно, нужно смотреть есть ли в шрифте PostScript CFF glyphs.
  • +1
    Как ни странно, но больше всех в данном случае выигрывает ReactOS, соврешенно бесплатно получив продвинутый шрифтовой движок.

    А почему, скажем, не Haiku? ( www.haiku-os.org )
    • 0
      Я не знаю, используют ли они FreeType. Если да, то им тоже повезло.
      На самом деле у РеактОСа есть еще проблемы с отображением шрифтов в Хроме, поэтому я надеюсь, что шрифтовой движок, к которому приложили руки сотрудники Гугла, поможет их устранить.
      • +1
        Используют конечно. FreeType используют все! :-)
  • –2
    Сглаживание — раздражает
    • 0
      Вот да. В чём смысл поддержки этого хинтинга, если под виндой тот же freesans выглядит настолько ужасно, что хочется разбить либо глаза, либо экран, либо руки создателя сайта, вставившего этот шрифт. А всё из-за того, что разработчики этого шрифта поленились сделать хинтинг [ибо со сглаживанием всё выглядит нормально, но не у всех глаза нормально реагируют на красноту-синеву от сглаживания, да и вообще глазам нужен чёткий перепад яркости, чтобы сфокусироваться].
      • 0
        Что самое парадоксальное: я еще понимаю — Linux, но Microsoft отказывается от собственных классических технически совершенных шрифтов TTF в пользу какой-то гадости типа calibri, cambria — шрифтов, выглядящих коряво без сглаживания.
  • 0
    Немножко не в тему, но не появилось ли под windows хорошей замены рендера шрифтов?
    Конечно же есть gdipp, но он уже давно не обновлялся и всё чаще встречаются приложения которые приходится вносить в исключения.
    • 0
      Можно попробовать MacType.
  • 0
    Комфортно на шрифты могу смотреть только на свой HTC One :)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.