Skip to content
This repository has been archived by the owner on Aug 19, 2024. It is now read-only.

Commit

Permalink
2017.0.1-1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
rscohn2 committed Dec 10, 2016
1 parent e74c449 commit 088ec2d
Show file tree
Hide file tree
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.
12 changes: 11 additions & 1 deletion README.md
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]

111 changes: 111 additions & 0 deletions cairo/cairo-1.12.18/AUTHORS
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)
109 changes: 109 additions & 0 deletions cairo/cairo-1.12.18/BIBLIOGRAPHY
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
85 changes: 85 additions & 0 deletions cairo/cairo-1.12.18/BUGS
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
Loading

0 comments on commit 088ec2d

Please sign in to comment.