summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-07-18image compositor: Support subpixel positioningMatthias Clasen3-3/+25
Support subpixel positioning with a 4x4 subpixel grid. When compositing glyphs in the image compositor, we store the subpixel phases in the high bits of the glyph index. The _cairo_scaled_glyph_index() macro has been updated to discard these bits. By storing the phases in the glyph index, the glyph cache just keeps working. When loading a glyph, the Freetype font backend shifts the outline according to the phases.
2019-05-30ft-font: Fix color font supportFlorian Müllner1-3/+3
FT_PIXEL_MODE_BGRA is an enum member, not a define, so it always appears as 0 in the preprocessor conditions added in commit c0ed8ce1a11. There is an existing define for color font support, use that instead.
2019-05-10Fix off-by-one bug in tor22-scan-converter.Antony Lee1-2/+5
This makes the implementation in tor22-scan-converter match the one in tor-scan-converter.
2019-05-10add a test to exercise tor22 spans allocation code pathMassimo Valentini3-0/+33
2019-03-25.gitlab-ci.yml: Temporarily switch to Fedora rawhideUli Schlachter1-1/+4
Since commit a34cb719cd9cb4f0, we need pixman >= 0.36, which is not yet in the latest Fedora. Thus, this switches to Fedora rawhide to make things work again. Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-03-14Disable sphinx build if PNG support is disabledVasilij Schneidermann1-1/+1
2019-03-12Don't use deprecated rsvg_set_default_dpi()Federico Mena Quintero2-6/+2
Use rsvg_handle_set_dpi() instead.
2019-03-03Revert "clip-boxes: Drop too-early return"Bryce Harrington1-0/+1
This reverts commit cb871c6c692af68d8e0bf9e26472af45435f8a2c. The original code is badly, but removing the early return leads to crashes. This code will need a lot more attention to get right, for now at least go back to the original behavior. Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/358#note_125270
2019-02-01gitignore: gtk-doc.m4Bryce Harrington1-0/+1
This file is generated by the dist release scripts.
2019-02-01surface: Fix spelling fixBryce Harrington1-1/+1
2019-02-01cairo: Fix Since number for new color formatsBryce Harrington1-2/+2
2019-02-01tags: Don't ignore tag on empty pagesAdrian Johnson2-2/+3
Issue 357
2019-01-31Start 1.17.2+1 developmentBryce Harrington1-1/+1
2019-01-31Release 1.17.21.17.2Bryce Harrington2-3/+24
2019-01-31Misc. typosluz.paz36-56/+56
Found via `codespell -i 3 -w -I ../cairo-word-whitelist.txt -L tim,ned,uint` Follow up of 12cb59be7da Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
2019-01-31clip-boxes: Drop too-early returnBryce Harrington1-1/+0
The indentation of this line suggests it is a typo. In any case it causes the function to unconditionally return immediately, thereby shortcircuiting it entirely, which does not appear to be the intended behavior. Fixes: https://gitlab.com/cairo/cairo/issues/2
2019-01-16scaled-subsets: always include glyphs maps to character 0Adrian Johnson1-7/+2
Issue 354
2019-01-09Merge branch 'ft-crash' of gitlab.freedesktop.org:carlosgc/cairoUli Schlachter1-0/+4
2019-01-07png: Add support for 16 bpc png reading as floating point formatMaarten Lankhorst1-8/+60
Similar to writing png, don't squash 16 bpc to 8 bpc and create a float surface to contain the image. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
2019-01-07png: Add support for writing new floating point formats as 16 bpc png.Maarten Lankhorst1-11/+97
_cairo_image_surface_coerce will round down the image to a lower bpp when using one of the floating point formats, so don't coerce those. This makes the code actually work for those formats. Because a float takes more storage than u16, we have to convert float to u16 before calling png_write_image, because png_write doesn't give us back the original row data, but an in-place copy. With these changes we can dump floating point files with the highest possible accuracy, with floats clamped between 0 and 1. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
2019-01-07Add support for RGBA128F and RGB96F formats.Maarten Lankhorst17-4/+127
IGT wants to add support for planes with a bit depth >10, which requires a higher precision format than we have currently. I'm using RGBA as format, because of its existence in OpenGL. With the new formats we can directly convert our bytes to half float, or multiply a colro vector with a matrix to go to the Y'CbCr colorspace. This requires pixman 0.36.0, so bump the version requirement. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
2019-01-07cairo-trace: Simplify bigendian case in emit_image.Maarten Lankhorst1-20/+5
All the cases are the same, except len is different. Use the already calculated len parameter to handle all cases except RGB24 the same. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Suggested-by: Bryce Harrington <bryce@bryceharrington.org> Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
2018-12-31tag_attributes: Allow decimal points in non decimal point localesAdrian Johnson1-2/+21
Issue #347
2018-12-16Remove all traces of NUM_THREADSUli Schlachter2-3/+2
The code that looked at CAIRO_TEST_NUM_THREADS was removed seven years ago in commit 6ef9779a6f5cb8, because it was dead code. I have not managed to figure out how long exactly this code was dead already. This commit removes the last traces of NUM_THREADS. Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-12-16.gitlab-ci.yml: Do a verbose buildUli Schlachter1-1/+1
With VERBOSE=1, a lot more stuff is printed while make runs. Perhaps most interestingly, this prints the output of a failed test after the test failed. Thus, this gives us the output of the test suite. Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-12-13[cairo-ft-font.c] conditionalize the changes by 3ec4aa24 on 2018-07-16 for ↵suzuki toshiya1-0/+10
legacy FreeType2 without color font feature
2018-12-02ps: fix invalid matrix in eps embeddingAdrian Johnson2-0/+7
2018-11-19ft: Use FT_Done_MM_Var instead of free when available in ↵Carlos Garcia Campos1-0/+4
cairo_ft_apply_variations Fixes a crash when using freetype >= 2.9
2018-11-11CI: Fix Docker image urisJordan Petridis1-4/+4
Images where migrated a couple months ago to the GNOME gitlab instance.
2018-10-25pdf: add missing flushAdrian Johnson1-0/+5
Issue #342
2018-10-24doc: fix link tags code exampleAdrian Johnson1-18/+17
The old code did not work.
2018-10-22RELEASING: Bugzilla no longer needs updatedBryce Harrington1-11/+9
2018-10-21type1: fallback if the font matrix is not a uniform scaleAdrian Johnson1-0/+5
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1790242
2018-10-19Bump version for 1.17.1Bryce Harrington1-2/+2
2018-10-191.16.0 release1.16.0Bryce Harrington3-2/+162
Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
2018-10-17test: Free resources in pdf2pngBryce Harrington1-0/+2
Patch proposed by Bofa. Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/317 Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
2018-10-17win32: Fix regression with text containing space characterBryce Harrington1-1/+1
Converting a series of glyphs to a path triggers an out of memory error if there is a space glyph (bytesGlyph==0). The regression was introduced by commit 19982393 in cairo-win32-font.c:107. The behavior of malloc(0) is not well defined - it can return NULL on some platforms, or an arbitrary (non-allocated) pointer on other platforms. Commit 19982393 introduced sanity by enforcing that NULL is always returned in this situation, which inappropriately triggers the OOM check in _cairo_win32_scaled_font_init_glyph_path(). Instead, special case the handling for bytesGlyph==0. Patch authored by Uli Schlachter, based on fix proposed by lb90. Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/339 Reference: https://gitlab.gnome.org/GNOME/pango/issues/323 Reviewed-by: Bryce Harrington <bryce@bryceharrington.org>
2018-10-17Drop skia backendBryce Harrington10-3540/+1
Commit 38806bc3 already disabled the backend from use, now drop the code.
2018-10-16Use HTTPS URLs for gnome.org domainsPaul Menzel4-6/+6
Run the command below suggested by geirha in ##sed@irc.freenode.net. git grep -l 'http://.*gnome.org' | xargs sed -i 's|http\(://\([[:alnum:].-]*\.\)\{0,1\}gnome\.org\)|https\1|g' Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
2018-10-16Use HTTPS URLs for freedesktop.org domainsPaul Menzel19-77/+77
Run the command below suggested by geirha in ##sed@irc.freenode.net. git grep -l 'http://.*freedesktop.org' | xargs sed -i 's|http\(://\([[:alnum:].-]*\.\)\{0,1\}freedesktop\.org\)|https\1|g' Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
2018-10-16Use HTTPS URLs for cairographics.org domainsPaul Menzel30-79/+79
Run the command below suggested by geirha in ##sed@irc.freenode.net. git grep -l 'http://.*cairographics.org' | xargs sed -i 's|http\(://\([[:alnum:].-]*\.\)\{0,1\}cairographics\.org\)|https\1|g' Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
2018-10-16Revert "Correctly decode Adobe CMYK JPEGs in PDF export"Bryce Harrington3-24/+0
From further testing and investigation it appears that many PDF viewers already have a workaround to invert Adobe CMYK JPEGs, so our generated PDFs display incorrectly with those viewers due to double-inversion. Further investigation will be needed to find a better solution that doesn't cause regression for some PDF viewers; perhaps PDF viewers that lack this inversion workaround should be changed to include it. For now we'll drop the patch to avoid shipping the regression in 1.16.0. This reverts commit b207a932a2d3740984319dffd58a0791580597cd. Reference: https://bugs.freedesktop.org/show_bug.cgi?id=97612 Fixes: https://gitlab.freedesktop.org/cairo/cairo/issues/156
2018-10-16RELEASING: Clarify how to add the news itemBryce Harrington1-1/+4
2018-09-20Bump version for 1.15.15Bryce Harrington1-1/+1
2018-09-201.15.14 release1.15.14Bryce Harrington2-1/+57
Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
2018-09-14doc: Drop tmpl supportBryce Harrington2-24/+4
Fix distcheck by dropping use of the now-obsolete gtkdoc-mktmpl. In preparation for the upcoming 1.16 release, I've made a few changes to get distcheck to pass. I also updated it to run on Ubuntu 18.04, but found that on newer distros distcheck won't run due to missing gtkdoc-mktmpl, which has been deprecated upstream for some time. The patch below disables everything that references it, and enables distcheck to finish successfully. Unfortunately, this probably regresses portions of our document generation, and thus will need some reimplementation work. Anyone got time to investigate a better solution for this?
2018-09-14Normalize one more test image with minor gradient differencesBryce Harrington2-0/+0
For me, with this fix, the base image test cases now pass 100%, when running: make test TARGETS=image FORMAT=rgba Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
2018-09-14Normalize more test reference images with minor text rendering differencesBryce Harrington20-0/+0
The discrepancies in these tests appear to all be font rendering / antialiasing, probably due to algorithmic changes in Pixman. Some of these reference images were updated in Federico's recent patch, so the fact that they differ on my system may indicate there may be some system dependencies beyond just pixman, that can cause test result variation from person to person. Ideally, these would be isolated and the tests modified to not have such dependencies. Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
2018-09-05gstate: Minor grammar copyeditBryce Harrington1-1/+1
2018-09-05Normalize test reference images with minor text rendering differencesFederico Mena Quintero34-0/+0
[In testing, I was able to reproduce Federico's results for most, but not all, of the test images. There might be some additional platform-specific discrepancies that need ironed out, but this is a solid step forward in any case. Results for a quick run against just the image backend on my system: --bryce] Signed-off-by: Bryce Harrington <bryce@bryceharrington.org> Bryce Harrington <bryce@bryceharrington.org> Signed-off-by: Bryce Harrington <b.harrington@samsung.com>