This repository has been archived by the owner on Aug 19, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6,387 changed files
with
1,233,244 additions
and
1 deletion.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,12 @@ | ||
# source-publish | ||
Sources used in Intel Python that have a license that requires publication: GPL, LGPL, MPL | ||
Sources used in Intel Python with a license that requires publication: GPL, LGPL, MPL | ||
|
||
Each of the subdirectories is a component in Intel Python that has a license | ||
that requires publication of the sources. This includes GPL, LGPL, and MPL. We | ||
are publishing the original sources including any patches. Each component has | ||
its own license, so we do not provide a license for this repo. The repo is | ||
tagged with the release of Intel Python that uses it. | ||
|
||
If you need the sources for a component that is not included here, please | ||
contact [email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
Josh Aas <[email protected]> Memory leak fix for quartz backend | ||
Daniel Amelang <[email protected]> Many (magic) floating-point optimizations | ||
Shawn T. Amundson <[email protected]> Build fix | ||
Olivier Andrieu <[email protected]> PNG backend | ||
Peter Dennis Bartok <[email protected]> Bug fix for clipping | ||
Dave Beckett <[email protected]> Build fixes, Debian packaging | ||
Kai-Uwe Behrmann <[email protected]> SVG bug fixes | ||
Christian Biesinger <[email protected]> BeOS backend | ||
Billy Biggs <[email protected]> Pixman code merge. Optimization. Fixes for subtle rendering bugs. | ||
Hans Breuer <[email protected]> win32 bug fixes, build fixes, and improvements | ||
Brian Cameron <[email protected]> Flag bug in Sun's X server | ||
Carlos Garcia Campos <[email protected]> libspectre integration into the test-suite | ||
Andrea Canciani <[email protected]> Bugs, quartz backend improvements and type 6/7 patterns. | ||
Damien Carbery <[email protected]> Build fixes | ||
Andrew Chant <[email protected]> Adding const where needed | ||
Steve Chaplin <[email protected]> Bug fixes for PNG reading | ||
Tomasz Cholewo <[email protected]> Bug fixes | ||
Manu Cornet <[email protected]> SVG build fix | ||
Frederic Crozat <[email protected]> Fix test suite for OPD platforms (IA64 or PPC64) | ||
Julien Danjou <[email protected]> XCB fixes | ||
Radek Doulík <[email protected]> Bug report and test case | ||
John Ehresman <[email protected]> Build fixes for win32 | ||
John Ellson <[email protected]> First font/glyph extents functions | ||
Michael Emmel <[email protected]> DirectFB backend | ||
Miklós Erdélyi <[email protected]> Fix typo leading to a crash | ||
Behdad Esfahbod <[email protected]> Huge piles of bug fixes, improvements, and general maintenance | ||
Larry Ewing <[email protected]> Test case for group-clip | ||
Brian Ewins <[email protected]> ATSUI maintenance (first success at making it really work) | ||
Bertram Felgenhauer <[email protected]> Fixes for subtle arithmetic errors | ||
Damian Frank <[email protected]> Build system improvements for win32 | ||
Bdale Garbee <[email protected]> Provided essential support for cairo achitecture sessions | ||
Jens Granseuer <[email protected]> Fixes to generate proper compiler flags | ||
Laxmi Harikumar <[email protected]> Build fix | ||
J. Ali Harlow <[email protected]> win32 backend updates | ||
Mathias Hasselmann <[email protected]> Significant reduction of calls to malloc | ||
Richard Henderson <[email protected]> "slim" macros for better shared libraries | ||
James Henstridge <[email protected]> Build fixes related to freetype | ||
Graydon Hoare <[email protected]> Support for non-render X server, first real text support | ||
Thomas Hunger <[email protected]> Initial version of cairo_in_stroke/fill | ||
Thomas Jaeger <[email protected]> Extended repeat modes for X | ||
Björn Lindqvist <[email protected]> Performance test cases | ||
Kristian Høgsberg <[email protected]> PDF backend, PS backend with meta-surfaces | ||
Amaury Jacquot <[email protected]> Documentation review, appplication testing | ||
Adrian Johnson <[email protected]> PDF backend improvement | ||
Michael Johnson <[email protected]> Bug fix for pre-C99 compilers | ||
Jonathon Jongsma <[email protected]> Fix documentation typos | ||
Øyvind Kolås <[email protected]> OpenVG backend, Bug fixes. Better default values. | ||
Martin Kretzschmar <[email protected]> Arithmetic fix for 64-bit architectures | ||
Mathieu Lacage <[email protected]> several bug/typo fixes | ||
Dominic Lachowicz <[email protected]> PDF conformance fix, fix image surface to zero out contents | ||
Alexander Larsson <[email protected]> Profiling and performance fixes. | ||
Tor Lillqvist <[email protected]> win32 build fixes, build scripts | ||
Jinghua Luo <[email protected]> Add bitmap glyph transformation, many freetype and glitz fixes | ||
Luke-Jr <[email protected]> Build fix for cross-compiling | ||
Kjartan Maraas <[email protected]> Several fixes for sparse, lots of debug help for multi-thread bugs | ||
Nis Martensen <[email protected]> Bug fix for sub paths | ||
Jordi Mas <[email protected]> Bug fix for cairo_show_text | ||
Nicholas Miell <[email protected]> Fixes for linking bugs on AMD64 | ||
Eugeniy Meshcheryakov <[email protected]> PS/PDF font subsetting improvements | ||
Zakharov Mikhail <[email protected]> Build fix for HP-UX | ||
Christopher (Monty) Montgomery <[email protected]> Performnace fix (subimage_copy), multi-thread testing | ||
Tim Mooney <[email protected]> Fix test suite to compile with Solaris compiler | ||
Jeff Muizelaar <[email protected]> Patient, painful, pixman code merge. Many fixes for intricacies of dashing. | ||
Yevgen Muntyan <[email protected]> win32 build fix | ||
Declan Naughton <[email protected]> Fix documentation typos | ||
Peter Nilsson <[email protected]> Glitz backend | ||
Henning Noren <[email protected]> Fix memory leak | ||
Geoff Norton <[email protected]> Build fixes | ||
Robert O'Callahan <[email protected]> Const-correctness fixes, several new API functions for completeness (and to help mozilla) | ||
Ian Osgood <[email protected]> XCB backend maintenance | ||
Benjamin Otte <[email protected]> Refinements to cairo/perf timing, OpenGL backend fixups, random fixes | ||
Mike Owens <[email protected]> Bug fixes | ||
Emmanuel Pacaud <[email protected]> SVG backend | ||
Keith Packard <[email protected]> Original concept, polygon tessellation, dashing, font metrics rewrite | ||
Stuart Parmenter <[email protected]> Original GDI+ backend, win32 fixes | ||
Alfred Peng <[email protected]> Fixes for Sun compilers and for a memory leak | ||
Christof Petig <[email protected]> Build fixes related to freetype | ||
Joonas Pihlaja <[email protected]> Huge improvements to the tessellator performance | ||
Mart Raudsepp <[email protected]> Build fixes | ||
David Reveman <[email protected]> New pattern API, glitz backend | ||
Calum Robinson <[email protected]> Quartz backend | ||
Pavel Roskin <[email protected]> Several cleanups to eliminate warnings | ||
Tim Rowley <[email protected]> Quartz/ATSUI fixes, X server workarounds, win32 glyph path support, test case to expose gradient regression | ||
Soeren Sandmann <[email protected]> Lots of MMX love for pixman compositing | ||
Uli Schlachter <[email protected]> Some more XCB fixes | ||
Torsten Schönfeld <[email protected]> Build fixes | ||
Jamey Sharp <[email protected]> Surface/font backend virtualization, XCB backend | ||
Jason Dorje Short <[email protected]> Build fixes and bug fixes | ||
Jeff Smith <[email protected]> Fixes for intricacies of stroking code | ||
Travis Spencer <[email protected]> XCB backend fix | ||
Bill Spitzak <[email protected]> Build fix to find Xrender.h without xrender.pc | ||
Zhe Su <[email protected]> Add support for fontconfig's embeddedbitmap option | ||
Owen Taylor <[email protected]> Font rewrite, documentation, win32 backend | ||
Pierre Tardy <[email protected]> EGL support and testing, OpenVG backend | ||
Karl Tomlinson <[email protected]> Optimisation and obscure bug fixes (mozilla) | ||
Alp Toker <[email protected]> Fix several code/comment typos | ||
Malcolm Tredinnick <[email protected]> Documentation fixes | ||
David Turner <[email protected]> Optimize gradient calculations | ||
Kalle Vahlman <[email protected]> Allow perf reports to be compared across different platforms | ||
Sasha Vasko <[email protected]> Build fix to compile without xlib backend | ||
Vladimir Vukicevic <[email protected]> Quartz backend rewrite, win32/quartz maintenance | ||
Jonathan Watt <[email protected]> win32 fixes | ||
Peter Weilbacher <[email protected]> OS/2 backend | ||
Dan Williams <[email protected]> Implemnt MMX function to help OLPC | ||
Chris Wilson <[email protected]> Large-scale robustness improvements, (warn_unsed_result and malloc failure injection) | ||
Carl Worth <[email protected]> Original library, support for paths, images | ||
Richard D. Worth <[email protected]> Build fixes for cygwin | ||
Kent Worsnop <[email protected]> Fix PDF dashing bug | ||
Dave Yeo <[email protected]> Build fix for win32 | ||
|
||
(please let us know if we have missed anyone) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
Here's an effort to document some of the academic work that was | ||
referenced during the implementation of cairo. It is presented in the | ||
context of operations as they would be performed by either | ||
cairo_stroke() or cairo_fill(): | ||
|
||
Given a Bézier path, approximate it with line segments: | ||
|
||
The deCasteljau algorithm | ||
"Outillages methodes calcul", P de Casteljau, technical | ||
report, - Andre Citroen Automobiles SA, Paris, 1959 | ||
|
||
That technical report might be "hard" to find, but fortunately | ||
this algorithm will be described in any reasonable textbook on | ||
computational geometry. Two that have been recommended by | ||
cairo contributors are: | ||
|
||
"Computational Geometry, Algorithms and Applications", M. de | ||
Berg, M. van Kreveld, M. Overmars, M. Schwarzkopf; | ||
Springer-Verlag, ISBN: 3-540-65620-0. | ||
|
||
"Computational Geometry in C (Second Edition)", Joseph | ||
O'Rourke, Cambridge University Press, ISBN 0521640105. | ||
|
||
Then, if stroking, construct a polygonal representation of the pen | ||
approximating a circle (if filling skip three steps): | ||
|
||
"Good approximation of circles by curvature-continuous Bezier | ||
curves", Tor Dokken and Morten Daehlen, Computer Aided | ||
Geometric Design 8 (1990) 22-41. | ||
|
||
Add points to that pen based on the initial/final path faces and take | ||
the convex hull: | ||
|
||
Convex hull algorithm | ||
|
||
[Again, see your favorite computational geometry | ||
textbook. Should cite the name of the algorithm cairo uses | ||
here, if it has a name.] | ||
|
||
Now, "convolve" the "tracing" of the pen with the tracing of the path: | ||
|
||
"A Kinetic Framework for Computational Geometry", Leonidas | ||
J. Guibas, Lyle Ramshaw, and Jorge Stolfi, Proceedings of the | ||
24th IEEE Annual Symposium on Foundations of Computer Science | ||
(FOCS), November 1983, 100-111. | ||
|
||
The result of the convolution is a polygon that must be filled. A fill | ||
operations begins here. We use a very conventional Bentley-Ottmann | ||
pass for computing the intersections, informed by some hints on robust | ||
implementation courtesy of John Hobby: | ||
|
||
John D. Hobby, Practical Segment Intersection with Finite | ||
Precision Output, Computation Geometry Theory and | ||
Applications, 13(4), 1999. | ||
|
||
http://cm.bell-labs.com/who/hobby/93_2-27.pdf | ||
|
||
Hobby's primary contribution in that paper is his "tolerance square" | ||
algorithm for robustness against edges being "bent" due to restricting | ||
intersection coordinates to the grid available by finite-precision | ||
arithmetic. This is one algorithm we have not implemented yet. | ||
|
||
We use a data-structure called Skiplists in the our implementation | ||
of Bentley-Ottmann: | ||
|
||
W. Pugh, Skip Lists: a Probabilistic Alternative to Balanced Trees, | ||
Communications of the ACM, vol. 33, no. 6, pp.668-676, 1990. | ||
|
||
http://citeseer.ist.psu.edu/pugh90skip.html | ||
|
||
The random number generator used in our skip list implementation is a | ||
very small generator by Hars and Petruska. The generator is based on | ||
an invertable function on Z_{2^32} with full period and is described | ||
in | ||
|
||
Hars L. and Petruska G., | ||
``Pseudorandom Recursions: Small and Fast Pseurodandom | ||
Number Generators for Embedded Applications'', | ||
Hindawi Publishing Corporation | ||
EURASIP Journal on Embedded Systems | ||
Volume 2007, Article ID 98417, 13 pages | ||
doi:10.1155/2007/98417 | ||
|
||
http://www.hindawi.com/getarticle.aspx?doi=10.1155/2007/98417&e=cta | ||
|
||
From the result of the intersection-finding pass, we are currently | ||
computing a tessellation of trapezoids, (the exact manner is | ||
undergoing some work right now with some important speedup), but we | ||
may want to rasterize directly from those edges at some point. | ||
|
||
Given the set of tessellated trapezoids, we currently execute a | ||
straightforward, (and slow), point-sampled rasterization, (and | ||
currently with a near-pessimal regular 15x17 grid). | ||
|
||
We've now computed a mask which gets fed along with the source and | ||
destination into cairo's fundamental rendering equation. The most | ||
basic form of this equation is: | ||
|
||
destination = (source IN mask) OP destination | ||
|
||
with the restriction that no part of the destination outside the | ||
current clip region is affected. In this equation, IN refers to the | ||
Porter-Duff "in" operation, while OP refers to a any user-selected | ||
Porter-Duff operator: | ||
|
||
T. Porter & T. Duff, Compositing Digital Images Computer | ||
Graphics Volume 18, Number 3 July 1984 pp 253-259 | ||
|
||
http://keithp.com/~keithp/porterduff/p253-porter.pdf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
If you find a bug in cairo we would love to hear about it. We're also | ||
trying to make cairo better, and learning about the bugs that users | ||
encounter is an essential part of that. So we really appreciate the | ||
extra effort users put in to providing high-quality bug reports. | ||
|
||
There are two acceptable ways to report cairo bugs, and you can choose | ||
which you prefer: | ||
|
||
1) Bugzilla bug tracking database: | ||
|
||
You can use the following web interface to report new bugs, follow | ||
up on previous bug reports, and search for existing, known | ||
bugs. Just use the "cairo" product: | ||
|
||
http://bugs.freedesktop.org | ||
|
||
It is necessary to go through a quick account creation process, | ||
(with email address verification), in order to be able to report | ||
new bugs in bugzilla. We apologize for any inconvenience that might | ||
cause, and hope it won't prevent you from reporting bugs. | ||
|
||
2) Cairo mailing list: | ||
|
||
For people who cannot stand the bugzilla interface, you can just | ||
send an email to cairo mailing list ([email protected]). The | ||
mailing list only allows posting from subscribers, so use the | ||
following page for subscription instructions: | ||
|
||
http://cairographics.org/lists | ||
|
||
Again, we apologize for any inconvenience this subscription step | ||
might cause, but we've found it necessary to require this in order | ||
to enjoy spam-free discussions on the list. | ||
|
||
If you don't actually _want_ to be a subscriber to the mailing | ||
list, but just want to be able to send a message, the easiest thing | ||
to do is to go through the subscription process, and then use the | ||
preferences page to disable message delivery to your address. | ||
|
||
Which of the above you use to report bugs depends on your own | ||
preferences. Some people find just typing an email message much easier | ||
than using the web-based forms on bugzilla. Others greatly prefer the | ||
ability to check back on a specific bug entry in bugzilla without | ||
having to ask on the mailing list if an issue has been resolved. | ||
|
||
Regardless of which method you use, here are some general tips that | ||
will help you improve the quality of your bug report, (which will help | ||
in getting the bug fixed sooner): | ||
|
||
1) Check to see if the bug has been reported already. It's pretty easy | ||
to run a search or two against the cairo product in the | ||
http://bugs.freedesktop.org bugzilla database. Another place to | ||
look for known bugs is the cairo ROADMAP: | ||
|
||
http://cairographics.org/ROADMAP | ||
|
||
which shows a planned schedule of releases and which bug fixes are | ||
being planned for each release. | ||
|
||
2) Provide an accurate description of the bug with detailed steps for | ||
how we can reproduce the problem. | ||
|
||
3) If possible provide a minimal test case demonstrating the bug. A | ||
great test case would be a minimal self-contained function in C or | ||
python or whatever language you are using for cairo. The function | ||
might accept nothing more than a cairo context, (cairo_t* in C). | ||
|
||
4) If you feel like being particularly helpful, you could craft this | ||
minimal test case in the form necessary for cairo's test | ||
suite. This isn't much more work than writing a minimal | ||
function. Just look at the cairo/test/README file and imitate the | ||
style of existing test cases. | ||
|
||
If you do submit a test case, be sure to include Copyright | ||
information, (with the standard MIT licensing blurb if you want us | ||
to include your test in the test case). Also, including a reference | ||
image showing the expected result will be extremely useful. | ||
|
||
5) Finally, the best bug report also comes attached with a patch to | ||
cairo to fix the bug. So send this too if you have it! Otherwise, | ||
don't worry about it and we'll try to fix cairo when we can. | ||
|
||
Thanks, and have fun with cairo! | ||
|
||
-Carl |
Oops, something went wrong.