Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package fcft for openSUSE:Factory checked in 
at 2021-12-09 19:45:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fcft (Old)
 and      /work/SRC/openSUSE:Factory/.fcft.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fcft"

Thu Dec  9 19:45:41 2021 rev:9 rq:937363 version:2.5.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/fcft/fcft.changes        2021-11-13 
22:49:12.089281050 +0100
+++ /work/SRC/openSUSE:Factory/.fcft.new.2520/fcft.changes      2021-12-09 
19:46:19.189153778 +0100
@@ -1,0 +2,10 @@
+Wed Dec  8 19:43:55 UTC 2021 - Arnav Singh <opens...@arnavion.dev>
+
+- Update to 2.5.1:
+  * fcft_set_scaling_filter now applies to color bitmap fonts only,
+    ie emoji fonts.
+  * Fixed incorrect value of FCFT_SCALING_FILTER_CUBIC constant.
+  * Fixed pixman errors and program freezes when scaling bitmap fonts to
+    very small sizes.
+
+-------------------------------------------------------------------

Old:
----
  fcft-2.5.0.tar.gz

New:
----
  fcft-2.5.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fcft.spec ++++++
--- /var/tmp/diff_new_pack.9gVSE1/_old  2021-12-09 19:46:19.857154099 +0100
+++ /var/tmp/diff_new_pack.9gVSE1/_new  2021-12-09 19:46:19.857154099 +0100
@@ -18,7 +18,7 @@
 
 %define libname libfcft3
 Name:           fcft
-Version:        2.5.0
+Version:        2.5.1
 Release:        0
 Summary:        A library for font loading and glyph rasterization using 
FreeType/pixman
 License:        MIT

++++++ fcft-2.5.0.tar.gz -> fcft-2.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/CHANGELOG.md new/fcft/CHANGELOG.md
--- old/fcft/CHANGELOG.md       2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/CHANGELOG.md       2021-12-08 17:44:33.000000000 +0100
@@ -1,5 +1,6 @@
 # Changelog
 
+* [2.5.1](#2-5-1)
 * [2.5.0](#2-5-0)
 * [2.4.6](#2-4-6)
 * [2.4.5](#2-4-5)
@@ -28,6 +29,34 @@
 * [1.1.7](#1-1-7)
 
 
+## 2.5.1
+
+### Added
+
+* Meson command line option `-Ddocs` to force disable or enable
+  building manual pages and installing changelog and readme files
+
+
+### Changed
+
+* `scdoc` is optional and detected automatically
+* `fcft_set_scaling_filter()` now applies to color bitmap fonts only
+  (i.e. emoji fonts). Applying e.g. cubic or lanczos3 on regular text
+  glyphs simply does not look good.
+
+
+### Fixed
+
+* `FCFT_SCALING_FILTER_CUBIC` incorrectly being mapped to ???lanczos3???.
+* Pixman errors and program freezes when scaling bitmap fonts to very
+  small sizes (https://codeberg.org/dnkl/foot/issues/830).
+
+
+### Contributors
+
+*  Alibek Omarov
+
+
 ## 2.5.0
 
 ### Added
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/PKGBUILD new/fcft/PKGBUILD
--- old/fcft/PKGBUILD   2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/PKGBUILD   2021-12-08 17:44:33.000000000 +0100
@@ -1,5 +1,5 @@
 pkgname=fcft
-pkgver=2.5.0
+pkgver=2.5.1
 pkgrel=1
 pkgdesc="Simple font loading and glyph rasterization library"
 changelog=CHANGELOG.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/README.md new/fcft/README.md
--- old/fcft/README.md  2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/README.md  2021-12-08 17:44:33.000000000 +0100
@@ -129,7 +129,7 @@
 * Development packages of the run-time dependencies
 * meson
 * ninja
-* scdoc
+* scdoc (_optional_, enabled automatically or disabled with `-Ddocs=disabled`)
 * [tllist](https://codeberg.org/dnkl/tllist)
 * [check](https://libcheck.github.io/check/) (_optional_, for unit tests)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_capabilities.3.scd 
new/fcft/doc/fcft_capabilities.3.scd
--- old/fcft/doc/fcft_capabilities.3.scd        2021-11-13 12:49:41.000000000 
+0100
+++ new/fcft/doc/fcft_capabilities.3.scd        2021-12-08 17:44:33.000000000 
+0100
@@ -1,4 +1,4 @@
-fcft_capabilities(3) "2.5.0" "fcft"
+fcft_capabilities(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_clone.3.scd 
new/fcft/doc/fcft_clone.3.scd
--- old/fcft/doc/fcft_clone.3.scd       2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/doc/fcft_clone.3.scd       2021-12-08 17:44:33.000000000 +0100
@@ -1,4 +1,4 @@
-fcft_clone(3) "2.5.0" "fcft"
+fcft_clone(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_destroy.3.scd 
new/fcft/doc/fcft_destroy.3.scd
--- old/fcft/doc/fcft_destroy.3.scd     2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/doc/fcft_destroy.3.scd     2021-12-08 17:44:33.000000000 +0100
@@ -1,4 +1,4 @@
-fcft_destroy(3) "2.5.0" "fcft"
+fcft_destroy(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_from_name.3.scd 
new/fcft/doc/fcft_from_name.3.scd
--- old/fcft/doc/fcft_from_name.3.scd   2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/doc/fcft_from_name.3.scd   2021-12-08 17:44:33.000000000 +0100
@@ -1,4 +1,4 @@
-fcft_from_name(3) "2.5.0" "fcft"
+fcft_from_name(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_glyph_rasterize.3.scd 
new/fcft/doc/fcft_glyph_rasterize.3.scd
--- old/fcft/doc/fcft_glyph_rasterize.3.scd     2021-11-13 12:49:41.000000000 
+0100
+++ new/fcft/doc/fcft_glyph_rasterize.3.scd     2021-12-08 17:44:33.000000000 
+0100
@@ -1,4 +1,4 @@
-fcft_glyph_rasterize(3) "2.5.0" "fcft"
+fcft_glyph_rasterize(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_grapheme_rasterize.3.scd 
new/fcft/doc/fcft_grapheme_rasterize.3.scd
--- old/fcft/doc/fcft_grapheme_rasterize.3.scd  2021-11-13 12:49:41.000000000 
+0100
+++ new/fcft/doc/fcft_grapheme_rasterize.3.scd  2021-12-08 17:44:33.000000000 
+0100
@@ -1,4 +1,4 @@
-fcft_grapheme_rasterize(3) "2.5.0" "fcft"
+fcft_grapheme_rasterize(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_kerning.3.scd 
new/fcft/doc/fcft_kerning.3.scd
--- old/fcft/doc/fcft_kerning.3.scd     2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/doc/fcft_kerning.3.scd     2021-12-08 17:44:33.000000000 +0100
@@ -1,4 +1,4 @@
-fcft_kerning(3) "2.5.0" "fcft"
+fcft_kerning(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_log_init.3.scd 
new/fcft/doc/fcft_log_init.3.scd
--- old/fcft/doc/fcft_log_init.3.scd    2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/doc/fcft_log_init.3.scd    2021-12-08 17:44:33.000000000 +0100
@@ -1,4 +1,4 @@
-fcft_log_init(3) "2.5.0" "fcft"
+fcft_log_init(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_precompose.3.scd 
new/fcft/doc/fcft_precompose.3.scd
--- old/fcft/doc/fcft_precompose.3.scd  2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/doc/fcft_precompose.3.scd  2021-12-08 17:44:33.000000000 +0100
@@ -1,4 +1,4 @@
-fcft_precompose(3) "2.5.0" "fcft"
+fcft_precompose(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_set_emoji_presentation.3.scd 
new/fcft/doc/fcft_set_emoji_presentation.3.scd
--- old/fcft/doc/fcft_set_emoji_presentation.3.scd      2021-11-13 
12:49:41.000000000 +0100
+++ new/fcft/doc/fcft_set_emoji_presentation.3.scd      2021-12-08 
17:44:33.000000000 +0100
@@ -1,4 +1,4 @@
-fcft_set_emoji_presentation(3) "2.5.0" "fcft"
+fcft_set_emoji_presentation(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_set_scaling_filter.3.scd 
new/fcft/doc/fcft_set_scaling_filter.3.scd
--- old/fcft/doc/fcft_set_scaling_filter.3.scd  2021-11-13 12:49:41.000000000 
+0100
+++ new/fcft/doc/fcft_set_scaling_filter.3.scd  2021-12-08 17:44:33.000000000 
+0100
@@ -1,4 +1,4 @@
-fcft_set_scaling_filter(3) "2.5.0" "fcft"
+fcft_set_scaling_filter(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_size_adjust.3.scd 
new/fcft/doc/fcft_size_adjust.3.scd
--- old/fcft/doc/fcft_size_adjust.3.scd 2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/doc/fcft_size_adjust.3.scd 2021-12-08 17:44:33.000000000 +0100
@@ -1,4 +1,4 @@
-fcft_size_adjust(3) "2.5.0" "fcft"
+fcft_size_adjust(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_text_run_destroy.3.scd 
new/fcft/doc/fcft_text_run_destroy.3.scd
--- old/fcft/doc/fcft_text_run_destroy.3.scd    2021-11-13 12:49:41.000000000 
+0100
+++ new/fcft/doc/fcft_text_run_destroy.3.scd    2021-12-08 17:44:33.000000000 
+0100
@@ -1,4 +1,4 @@
-fcft_text_run_destroy(3) "2.5.0" "fcft"
+fcft_text_run_destroy(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/fcft_text_run_rasterize.3.scd 
new/fcft/doc/fcft_text_run_rasterize.3.scd
--- old/fcft/doc/fcft_text_run_rasterize.3.scd  2021-11-13 12:49:41.000000000 
+0100
+++ new/fcft/doc/fcft_text_run_rasterize.3.scd  2021-12-08 17:44:33.000000000 
+0100
@@ -1,4 +1,4 @@
-fcft_text_run_rasterize(3) "2.5.0" "fcft"
+fcft_text_run_rasterize(3) "2.5.1" "fcft"
 
 # NAME
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/doc/meson.build new/fcft/doc/meson.build
--- old/fcft/doc/meson.build    2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/doc/meson.build    2021-12-08 17:44:33.000000000 +0100
@@ -1,6 +1,5 @@
 sh = find_program('sh', native: true)
 
-scdoc = dependency('scdoc', native: true)
 scdoc_prog = find_program(scdoc.get_pkgconfig_variable('scdoc'), native: true)
 
 foreach man_src : ['fcft_capabilities.3.scd',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/fcft.c new/fcft/fcft.c
--- old/fcft/fcft.c     2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/fcft.c     2021-12-08 17:44:33.000000000 +0100
@@ -95,6 +95,7 @@
 
     bool antialias;
     bool embolden;
+    bool is_color;
     int render_flags_normal;
     int render_flags_subpixel;
 
@@ -111,7 +112,6 @@
     FcPattern *pattern;
     FcCharSet *charset;
     FcLangSet *langset;
-    bool is_color;
     struct instance *font;
 
     /* User-requested size(s) - i.e. sizes from *base* pattern */
@@ -546,6 +546,10 @@
     if (FcPatternGetBool(pattern, FC_OUTLINE, 0, &outline) != FcResultMatch)
         outline = FcTrue;
 
+    FcBool is_color;
+    if (FcPatternGetBool(pattern, FC_COLOR, 0, &is_color) != FcResultMatch)
+        is_color = FcFalse;
+
     double pixel_fixup = 1.;
     bool fixup_estimated = false;
     if (FcPatternGetDouble(pattern, "pixelsizefixupfactor", 0, &pixel_fixup) 
!= FcResultMatch) {
@@ -684,6 +688,7 @@
     font->load_flags = load_target | load_flags | FT_LOAD_COLOR;
     font->antialias = fc_antialias;
     font->embolden = fc_embolden;
+    font->is_color = is_color;
     font->render_flags_normal = render_flags_normal;
     font->render_flags_subpixel = render_flags_subpixel;
     font->pixel_size_fixup = pixel_fixup;
@@ -946,10 +951,6 @@
         if (FcPatternGetLangSet(pattern, FC_LANG, 0, &langset) != 
FcResultMatch)
             langset = NULL;
 
-        FcBool is_color;
-        if (FcPatternGetBool(pattern, FC_COLOR, 0, &is_color) != FcResultMatch)
-            is_color = FcFalse;
-
         double req_px_size = -1., req_pt_size = -1.;
         FcPatternGetDouble(base_pattern, FC_PIXEL_SIZE, 0, &req_px_size);
         FcPatternGetDouble(base_pattern, FC_SIZE, 0, &req_pt_size);
@@ -1051,7 +1052,6 @@
                         .pattern = pattern,
                         .charset = FcCharSetCopy(charset),
                         .langset = langset != NULL ? FcLangSetCopy(langset) : 
NULL,
-                        .is_color = is_color == FcTrue,
                         .font = primary,
                         .req_px_size = req_px_size,
                         .req_pt_size = req_pt_size}));
@@ -1074,10 +1074,6 @@
                 if (FcPatternGetLangSet(fallback_pattern, FC_LANG, 0, 
&fallback_langset) != FcResultMatch)
                     fallback_langset = NULL;
 
-                FcBool fallback_is_color;
-                if (FcPatternGetBool(fallback_pattern, FC_COLOR, 0, 
&fallback_is_color) != FcResultMatch)
-                    fallback_is_color = FcFalse;
-
                 FcPatternGetDouble(base_pattern, FC_PIXEL_SIZE, 0, 
&req_px_size);
                 FcPatternGetDouble(base_pattern, FC_SIZE, 0, &req_pt_size);
 
@@ -1085,7 +1081,6 @@
                             .pattern = fallback_pattern,
                             .charset = FcCharSetCopy(fallback_charset),
                             .langset = fallback_langset != NULL ? 
FcLangSetCopy(fallback_langset) : NULL,
-                            .is_color = fallback_is_color == FcTrue,
                             .req_px_size = req_px_size,
                             .req_pt_size = req_pt_size}));
             }
@@ -1096,7 +1091,6 @@
                         .pattern = pattern,
                         .charset = FcCharSetCopy(charset),
                         .langset = langset != NULL ? FcLangSetCopy(langset) : 
NULL,
-                        .is_color = is_color == FcTrue,
                         .req_px_size = req_px_size,
                         .req_pt_size = req_pt_size}));
         }
@@ -1496,7 +1490,10 @@
     int x = inst->face->glyph->bitmap_left;
     int y = inst->face->glyph->bitmap_top;
 
-    if (inst->pixel_size_fixup != 1.) {
+    if (inst->pixel_size_fixup == 0.)
+        x = y = width = rows = 0;
+
+    else if (inst->pixel_size_fixup != 1.) {
         struct pixman_f_transform scale;
         pixman_f_transform_init_scale(
             &scale,
@@ -1507,7 +1504,11 @@
         pixman_transform_from_pixman_f_transform(&_scale, &scale);
         pixman_image_set_transform(pix, &_scale);
 
-        switch (scaling_filter) {
+        const enum fcft_scaling_filter filter_to_use = inst->is_color
+            ? scaling_filter
+            : FCFT_SCALING_FILTER_BILINEAR;
+
+        switch (filter_to_use) {
         case FCFT_SCALING_FILTER_NONE:
             break;
 
@@ -1526,7 +1527,10 @@
              *   - find out how the subsample_bit_{x,y} parameters should be 
set
              */
             int param_count = 0;
-            pixman_kernel_t kernel = PIXMAN_KERNEL_LANCZOS3;
+            pixman_kernel_t kernel = filter_to_use == FCFT_SCALING_FILTER_CUBIC
+                ? PIXMAN_KERNEL_CUBIC
+                : PIXMAN_KERNEL_LANCZOS3;
+
             pixman_fixed_t *params = 
pixman_filter_create_separable_convolution(
                 &param_count,
                 pixman_double_to_fixed(1. / inst->pixel_size_fixup),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/meson.build new/fcft/meson.build
--- old/fcft/meson.build        2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/meson.build        2021-12-08 17:44:33.000000000 +0100
@@ -1,5 +1,5 @@
 project('fcft', 'c',
-        version: '2.5.0',  # Don't forget to update version in man pages
+        version: '2.5.1',  # Don't forget to update version in man pages
         license: 'MIT',
         meson_version: '>=0.54.0',
         default_options: [
@@ -20,7 +20,7 @@
 so_version = [
   '3',      # MAJOR: increment on non-backward compatible ABI changes
   '5',      # MINOR: increment with backward compatible ABI changes
-  '0',      # PATCH: increment with non-ABI affecting changes
+  '1',      # PATCH: increment with non-ABI affecting changes
 ]
 
 is_debug_build = get_option('buildtype').startswith('debug')
@@ -135,15 +135,19 @@
     fcft_lib,
     description : 'Simple font loading and glyph rasterization library')
 
-  install_data(
-    'LICENSE', 'README.md', 'CHANGELOG.md',
-    install_dir: join_paths(get_option('datadir'), 'doc', 'fcft'))
+  scdoc = dependency('scdoc', native: true, required: get_option('docs'))
+  if scdoc.found()
+    install_data(
+      'LICENSE', 'README.md', 'CHANGELOG.md',
+      install_dir: join_paths(get_option('datadir'), 'doc', 'fcft'))
 
-  subdir('doc')
+    subdir('doc')
+  endif
 endif
 
 summary(
   {
+    'Documentation': not meson.is_subproject() and scdoc.found(),
     'Grapheme shaping': harfbuzz1.found() or harfbuzz2.found(),
     'Run shaping': harfbuzz2.found() and utf8proc.found(),
     'Test text shaping': get_option('test-text-shaping'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcft/meson_options.txt new/fcft/meson_options.txt
--- old/fcft/meson_options.txt  2021-11-13 12:49:41.000000000 +0100
+++ new/fcft/meson_options.txt  2021-12-08 17:44:33.000000000 +0100
@@ -1,4 +1,7 @@
 option(
+    'docs', type: 'feature',
+    description: 'Build and install documentation (man pages, readme, 
changelog, license etc).')
+option(
     'grapheme-shaping', type: 'feature',
     description: 'enables shaping of individual grapheme clusters')
 option(

Reply via email to