Hello community, here is the log from the commit of package fontforge for openSUSE:Factory checked in at 2020-07-03 00:00:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fontforge (Old) and /work/SRC/openSUSE:Factory/.fontforge.new.3060 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fontforge" Fri Jul 3 00:00:32 2020 rev:52 rq:818039 version:20200314 Changes: -------- --- /work/SRC/openSUSE:Factory/fontforge/fontforge.changes 2020-06-02 14:33:38.874573925 +0200 +++ /work/SRC/openSUSE:Factory/.fontforge.new.3060/fontforge.changes 2020-07-03 00:01:29.317896465 +0200 @@ -1,0 +2,8 @@ +Mon Jun 29 11:27:50 UTC 2020 - Antonio Larrosa <alarr...@suse.com> + +- Add patch to support transforming bitmap glyphs from python + with one of the predefined transformations in fontforge. + * add-bitmap-transform-support.patch + (boo#1169444) + +------------------------------------------------------------------- New: ---- add-bitmap-transform-support.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fontforge.spec ++++++ --- /var/tmp/diff_new_pack.Qon3rZ/_old 2020-07-03 00:01:34.661914158 +0200 +++ /var/tmp/diff_new_pack.Qon3rZ/_new 2020-07-03 00:01:34.665914171 +0200 @@ -35,6 +35,7 @@ Patch3: support-sphinx3.patch # taken from gh#fontforge/fontforge#4284 Patch4: fix-glossary.patch +Patch5: add-bitmap-transform-support.patch BuildRequires: cairo-devel BuildRequires: cmake BuildRequires: fdupes @@ -108,6 +109,7 @@ %endif %patch3 -p1 %patch4 -p1 +%patch5 -p1 %build %cmake \ ++++++ add-bitmap-transform-support.patch ++++++ From: Antonio Larrosa <alarr...@suse.com> Subject: Add support to use bitmap font transformations from python This is needed by ttf-converter/xorg-x11-fonts in order to generate an Italic version of MUTT-ClearlyU-Wide at package build time. Index: fontforge-20200314/fontforge/python.c =================================================================== --- fontforge-20200314.orig/fontforge/python.c +++ fontforge-20200314/fontforge/python.c @@ -35,6 +35,7 @@ #include "autotrace.h" #include "autowidth2.h" #include "bitmapcontrol.h" +#include "bvedit.h" #include "cvexport.h" #include "cvimages.h" #include "cvundoes.h" @@ -11933,6 +11934,44 @@ return( -1 ); return( 0 ); } +static PyObject *PyFFFont_bitmapTransform(PyFF_Font *self, PyObject *args) { + SplineFont *sf = self->fv->sf; + BDFFont *bdf; + char *funcname; + int xoff, yoff, i; + enum bvtools type; + + if ( CheckIfFontClosed(self) ) + return( NULL ); + + if ( !PyArg_ParseTuple(args,"sii", &funcname, &xoff, &yoff)) + return( NULL ); + + if (strcmp(funcname, "fliph") == 0) + type = bvt_fliph; + else if (strcmp(funcname, "flipv") == 0) + type = bvt_flipv; + else if (strcmp(funcname, "rotate90cw") == 0) + type = bvt_rotate90cw; + else if (strcmp(funcname, "rotate90ccw") == 0) + type = bvt_rotate90ccw; + else if (strcmp(funcname, "rotate180") == 0) + type = bvt_rotate180; + else if (strcmp(funcname, "skew") == 0) + type = bvt_skew; + else if (strcmp(funcname, "transmove") == 0) + type = bvt_transmove; + else Py_RETURN( self ); + + for ( bdf=sf->bitmaps; bdf!=NULL; bdf=bdf->next ) + for ( i=0; i<bdf->glyphcnt; ++i ) + if ( bdf->glyphs[i]!=NULL ) + BCTransFunc(bdf->glyphs[i], type, xoff, yoff); + +Py_RETURN( self ); +} + + static PyObject *PyFF_Font_get_bitmapSizes(PyFF_Font *self, void *UNUSED(closure)) { PyObject *tuple; int cnt; @@ -18179,6 +18218,7 @@ Py_RETURN( self ); PyMethodDef PyFF_Font_methods[] = { { "appendSFNTName", (PyCFunction) PyFFFont_appendSFNTName, METH_VARARGS, "Adds or replaces a name in the sfnt 'name' table. Takes three arguments, a language, a string id, and the string value" }, + { "bitmapTransform", (PyCFunction) PyFFFont_bitmapTransform, METH_VARARGS, "Transforms all bitmap glyphs."}, { "close", (PyCFunction) PyFFFont_close, METH_NOARGS, "Frees up memory for the current font. Any python pointers to it will become invalid." }, { "compareFonts", (PyCFunction) PyFFFont_compareFonts, METH_VARARGS, "Compares two fonts and stores the result into a file"}, { "save", (PyCFunction) PyFFFont_Save, METH_VARARGS, "Save the current font to a sfd file" },