The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз векторной графической библиотеки Cairo 1.18.0

23.09.2023 21:04

После 5 лет разработки представлен новый стабильный релиз векторной графической библиотеки Cairo 1.18.0. Код Cairo распространяется под лицензиями LGPL и Mozilla Public License.

Cairo предоставляет унифицированный программный интерфейс для векторного формирования изображений, похожий на операции рисования в PostScript и PDF, но не зависящий от отдельных механизмов вывода. Формирование 2D-графики может производиться при помощи различных бэкендов вывода, от стандартного вывода на экран через X Window System, Quartz и Win32, до генерации PostScript, PDF, SVG и задействования XCB. Кроме функций, напоминающих операторы рисования PostScript и PDF, API библиотеки предоставляет такие дополненные возможности, как трансформация изображений (масштабирование, поворот, вращение и т.п.), создание полупрозрачных объектов и рендеринг текста.

В новой версии:

  • Для PDF реализована поддержка цветных шрифтов в формате Type 3.
  • Автоматически включена поверхность Tee, обеспечивающая перенаправление ввода в другие поверхности (используется в Firefox).
  • Решены проблемы в шрифтовом бэкенде DWrite.
  • Улучшены поверхности Quartz, в которых ускорены операции отрисовки и задействовано цветовое пространство основного экрана.
  • Добавлен API для применения dithering-фильтра из Pixman.
  • Удалена утилита cairo-sphinx.
  • Удалена поверхность XML, которая была отключена по умолчанию и не использовалась в дистрибутивах.
  • Удалены бэкенды и платформы: Qt4, BeOS, OS/2, DirectFB, DRM, Cogl, OpenVG и OpenGL.


  1. Главная ссылка к новости (https://www.cairographics.org/...)
  2. OpenNews: Релиз графической библиотеки Cairo 1.12.0
  3. OpenNews: Fog - библиотека векторной графики, альтернативная Cairo и Skia
  4. OpenNews: В стандарт C++ предложено добавить API на основе свободной графической библиотеки Cairo
  5. OpenNews: Работа над GTK5 начнётся в конце года. Намерение разрабатывать GTK на языках, отличных от Си
  6. OpenNews: Доступен графический тулкит GTK 4.12
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59804-cairo
Ключевые слова: cairo, vector, gtk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (41) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:18, 23/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > "Mozilla Public License"

    Mozilla чем угодно занимается, только не браузером!

     
     
  • 2.2, НяшМяш (ok), 21:24, 23/09/2023 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Ведь лицензия это что-то, что требует постоянного внимания и поддержки.
     
  • 2.29, Kuromi (ok), 17:48, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Мозилла Кайро не разрабатывает. Она в общем-то не так уж сильно его и использует сейчас, а вот было время когда переход на Кайро дал им кучу плюшек, напрмиер сохранение страниц как PDF.
     

  • 1.3, Аноним (3), 21:38, 23/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    >Удалены бэкенды и платформы: Qt4, BeOS, OS/2, DirectFB, DRM, Cogl и OpenVG.

    Да, некоторое время назад до неё добрались гномеры.

     
     
  • 2.12, Анонин (?), 10:19, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Алё, поддержка Qt4 закончилась еще в 2015 году. Это было 8 лет назад!
    После этого вышли 4 LTS версии Qt5 и две Qt6.
    Сколько вы еще предлагаете тянуть этот хлам?
     
     
  • 3.37, Аноним (37), 19:27, 25/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Работает - не трожь. Есть ли хоть одна разумная причина по вырезанию фич?
     
     
  • 4.42, thhh (?), 07:58, 28/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если фитча не используется, то нет необходимости тратить ресурсы на ее поддержание. Это разумная причина.
     
  • 2.14, llolik (ok), 11:28, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    А если по пунктам (которые уже больше года, как оглашены https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/285 ):
    * Qt4 - EOL 2015, требует компилятора С++ в зависимостях
    * Cogl - заброшен. Никем не поддерживается с 2016 г.
    * OpenVG, BeOS - не поддерживается meson-ом. BeOS требует компилятора С++ в зависимостях. От себя: и оба мертвы.
    * OS/2 - последний раз собиралось в Cairo 1.12 (2006). Сломано.
    * DRM, DirectFB - эксперименты, которые уже 10 лет как заброшены (да и вообще сломаны, как я понял.)

    Т.е., по факту, эти самые гномеры выгребли кучу замшелого кода, который никому уже давно не нужен, разгребли зависимости, осовременили сборку и, в принципе, ИМХО приводят давно стагнировавший проект в порядок (если смотреть в git log). Но анонимы опеннета всё равно априори недовольны.

     
     
  • 3.16, Аноним (3), 12:14, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Промышленное ПО, в котором сабж можно найти, всё ещё работоспособно и поддерживается (включая платформу в лице 7 по-моему). Гномеры просто не хотят, чтобы кто-то ещё мог применять там, где конкретно эта либа необходима. Ну а месон весь провонялся гномом, например, с autotools atk-bridge легко вычищался из зависимостей бинарей. Кроме того гном подразумевает вендорлок и проблемы со всеми платформами, прошли времена, когда гтк был свободным.
     
     
  • 4.20, llolik (ok), 12:51, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Промышленное ПО, в котором сабж можно найти, всё ещё работоспособно и поддерживается
    > (включая платформу в лице 7 по-моему).

    Вопрос: за каким лешим там может потребоваться НОВАЯ версия Кайры?

    > Гномеры просто не хотят, чтобы кто-то ещё мог применять там, где конкретно эта либа необходима.

    Гномеры так-то спрашивали, кому это надо. Желающих не обнаружилось. Если никто не собирается поддерживать, то, очевидно, никому и не нужно.

    > Кроме того гном подразумевает вендорлок и проблемы со всеми платформами, прошли времена, когда гтк был свободным.

    Почему именно ты не занимаешь поддержкой какой-то платформы? Все должны персонально тебе бесплатно делать хорошо? Чем персонально ты за это заплатил (поддержка платформы в GTK - это тоже плата своим временем)? Очень интересно рассуждать о свободе, когда кто-то за это платит (в том числе своим временем).

     
     
  • 5.28, Аноним (3), 17:19, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это сознательный урон по всему опенсорсу [s]со стороны сотрудников IMB[/s]. Ожидаемо от голубых, но видеть, что подобные практики находят защитников, довольно странно. Естественно, что желающих взять на себя сопровождение платформы нет. Взаимодействие с корпоративными выкидышами из фридесктоп это проблема ещё та.
     
  • 3.18, maximnik0 (?), 12:24, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >DirectFB - эксперименты, которые уже 10 лет как заброшены (да и вообще сломаны, как я понял.)

    Не совсем так, оригинал да заброшен,форк ещё шевелиться.Derectfb2 , обновление год назад.

     
     
  • 4.21, llolik (ok), 12:53, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >>DirectFB - эксперименты, которые уже 10 лет как заброшены (да и вообще сломаны, как я понял.)
    > Не совсем так, оригинал да заброшен,форк ещё шевелиться.Derectfb2 , обновление год назад.

    Имелся ввиду не сам Dfb, а бэкенд в Кайре. Текущий давно заброшен, под Dfb2, вроде, и не было.


     
  • 3.19, Анонус (?), 12:28, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > и оба мертвы

    Вроде недавно было большое обновление Гайки. Хотя там наверное можно и через Qt рисовать.

     
     
  • 4.22, llolik (ok), 12:56, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не уверен, что они прямо этим бэкендом и пользовались. Где-то на ЛОРе был X512 (один из разработчиков Гайки). Можно у него спросить.
     
  • 3.34, Бывалый смузихлёб (?), 07:15, 25/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но так и осталось неясным: чего хорошего в выкидывании того что уже сделано и работает, особенно для штуковины, которая типо очень много всего поддерживает
    Мало ли у кого какие варианты использования
     
     
  • 4.35, llolik (ok), 08:52, 25/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Но так и осталось неясным: чего хорошего в выкидывании того что уже сделано и работает

    Так в том-то и дело, что из этого всего, что выкинули, работает, разве что, Qt4. Остальное или сломано (и, соответственно, надо кому-то чинить), или и не особо работало (эксперименты), или уже в живой природе не обнаружено. На починку и актуализацию этого всего нужны силы, т.е. заинтересованные люди. По результатам больше года (когда было оглашено решение удалить неактуальные бэкенды) этих самых людей не обнаружилось. Значит, никому особенно и не нужно.

     
  • 4.36, Анонин (?), 12:30, 25/09/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А вы PR посмотрите https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/285/diffs
    87 files +14 −41395

    Выкинули кучу ifdef и специфических файлов. Почистили зависимости.
    Код стал меньше, чище и читабельнее. На целые 41к строк.
    Разве это не повод для радости?

    При этом никто не пострадал, тк. желающих поддерживать не было, а остальные могут использовать предыдущую версию (если заставят ее работать, хехе)

     
  • 3.39, An2 (?), 10:14, 26/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > не поддерживается meson-ом

    Вот это аргумент. Разве C код не намного ценнее какой-то системы сборки?

    > Cogl - заброшен.

    Это там так называют "система сборки не переведена на meson"?

     
     
  • 4.41, llolik (ok), 11:19, 26/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот это аргумент. Разве C код не намного ценнее какой-то системы сборки?

    Все вопросы сводятся к одному, на самом деле - этот бэкенд кем-то, вообще, продолжает использоваться или нет. За год, насколько я понял, откликнувшихся - 0.

    > Это там так называют "система сборки не переведена на meson"?

    Нет. Это называется "написавший и сопровождающий этот код куда-то срулил и больше заинтересованных разбираться в этом коде и заниматься им нет (желающих не объявилось) с 2016 года". Как я понял, в зоне видимости околонулевое число активных разработок, его задействующих. Необходимость в сопровождении выглядит сомнительной.

    Вообще, хочешь, чтобы бэкенд был - не проблема: идёшь в список рассылки (или в gitlab ли где там гномеры общаются) и пишешь тред, что-то типа "я готов сопровождать <backend-name> в Cairo, вот мои патчи, верните". Вот это будет конструктивно. В подавляющем большинстве СПО проектов (и в Гноме внезапно тоже) это так работает.

     

  • 1.4, ИмяХ (?), 22:03, 23/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем это лучше AGG?
     
     
  • 2.8, Аноним (8), 04:25, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Written in C++

    Думаю можно не объяснять. Плюсы -- вещь в себе. Пользоваться плюсовой библиотекой можно только из плюсов. А кайро можно вызывать хоть из vala, хоть из питона, хоть из си, хоть из яваскрипта, хоть из раста, хоть из перла. Твой УГГ такого уровня многоязычности уже достиг?

     
     
  • 3.9, Аноним (9), 05:12, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Пользоваться плюсовой библиотекой можно только из плюсов.

    Добавляется C обертка - и можно пользоваться откуда угодно.

     
     
  • 4.13, Аноним (13), 10:55, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    зачем тогда на плюсах писать стараться придумывать интерфейсы и классы чтобы потом всё слить в один неймспейс Си?
     
     
  • 5.17, Аноним (17), 12:19, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чтобы в языках с классами использовать. Типа, D, Python, которые могут в C++ ABI. Собственно, в самом C++ использовать.
     
     
  • 6.23, Аноним (13), 13:47, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    у С++ появился стабильный ABI ?
     
     
  • 7.25, Аноним (17), 14:20, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    D и Python ориентируются на ABI от проекта GCC. Гулял ранее по сети документ от инженеров MS, в котором предлагалось именно этот ABI принять в качестве стандарта.
     
     
  • 8.38, Аноним (3), 22:23, 25/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Все программы приходится пересобирать когда обновляется любая плюсовая либа из з... текст свёрнут, показать
     

  • 1.5, Аноним (5), 22:19, 23/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Qt4 зря удалили, всё ещё актуальна.
     
     
  • 2.6, kawaii boy (?), 00:00, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    «Qt4 зря удалили, всё ещё актуальна.»
    В Кубунту 14.04.
     
     
  • 3.7, Ре (?), 04:00, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Надо будет можно на любой системе использовать , qt4 это как то с чего все своровали бекенд и сбежали на версии выше пока не попались , используется так же в win 7
     
  • 3.10, Райан Гослинг (?), 05:13, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    апрельские убунты 14 года всё ещё актуальны до 2024, если что
     
     
  • 4.11, Аноним (9), 05:17, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но софт-то под Qt 4 уже никто не пишет, ибо зачем? Даже в 14й Убунте есть пакет Qt 5 (правда, тоже жутко древней версии).
     
     
  • 5.24, Аноним (5), 14:00, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Qt5 требует OpenGL, если есть только софтовый рендер, то на пустом месте рост загрузки проца. Поэтому Qt4 остаётся актуальным и для новых разработок.
     
     
  • 6.26, Анонин (?), 14:46, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А где это нет OpenGL и при том можно запустить Qt4?
     
  • 6.27, Аноним (9), 15:49, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Qt5 требует OpenGL, если есть только софтовый рендер, то на пустом месте рост загрузки проца.

    Нет, не требует. У него даже есть флаг -no-opengl при сборке.

     
     
  • 7.30, Аноним (5), 19:25, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Билдятся ли с такой опцией QtGui/QtWidgets модули?
     
     
  • 8.33, Аноним (9), 21:24, 24/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, это опция qtbase ... текст свёрнут, показать
     

  • 1.15, Аноним (15), 12:07, 24/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    В новости почему-то ни слова о том, что:
    1) Firefox уже лет десять как отказался от Cairo (перешёл на гугловскую Skia).
    2) GTK4 уже года три как большей частью отказался от Cairo (рендерит виджеты напрямую через OpenGL/Vulkan, а Cairo используется только в качестве фолбека для софтварного рендеринга)
    3) LibreOffice аналогично несколько лет назад перешёл с Cairo на Skia.

    Выводы для Cairo, увы, неутешительные.

     
  • 1.32, iZEN (ok), 20:57, 24/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Аналог Windows GDI.
     
  • 1.40, An2 (?), 10:17, 26/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > и задействования OpenGL, XCB и DirectFB.

    Это описание уже не актуально. Ниже стоит:

    > Удалены бэкенды и платформы: Qt4, BeOS, OS/2, DirectFB, DRM, Cogl и OpenVG.

    А ещё стоит упомянуть и удаление OpenGL бэкенда:

    Drop cairo-gl
    https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/287

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру