-
Notifications
You must be signed in to change notification settings - Fork 171
/
ChangeLog
24104 lines (17137 loc) · 873 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2008-11-05 Marek Habersack <mhabersack@novell.com>
* configure.in: always call AC_PROG_CXX, fixes compilation on
OpenSuSE 11.1b4
commit 08a804806355d99d7968976d6afb98bbc0f2613d
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 11 14:33:12 2008 -0700
Increment version to 1.6.4
configure.in | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit a96176e12fa99b293453fa0321b1dfa4fd242917
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 11 14:32:37 2008 -0700
NEWS: Add notes for cairo 1.6.4
NEWS | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
commit 32e576382bc08ffaf98ebfc11c96e1453c437bbe
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 11 14:13:03 2008 -0700
Prevent cairo from being linked unnecessarilly with g++
The beos backend involves a source file written in C++.
Apparently, automake sees the conditional inclusion of
that source file and insists on doing the final link of
cairo with g++ even though that file isn't being compiled
at all.
We definitely don't want that as it makes libcairo link
and depend on libstdc++ unnecessarily, (which can break
distribution packaging when not expecting it, etc.).
src/Makefile.am | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
commit 8f1c8d4b26d6da11101c51ef388d1dcc7177cfb4
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 11 13:48:38 2008 -0700
Revert "[xlib] Add locking around GC cache."
This reverts commit 9cfd82e87b60c0d65e9cafda026cb9a498874575.
The fix was broken as it introduced crashes by calling
XSetClipMask with a NULL GC, (basically a reintroduction
of the bug originally fixed here:
7802de6d5edaf998c98b141870dc2c6b4c0f3e91
Let's revert for sake of the release, and fix this correctly
on master.
src/cairo-xlib-private.h | 1 -
src/cairo-xlib-screen.c | 31 ++++++++++---------------------
2 files changed, 10 insertions(+), 22 deletions(-)
commit a5770c3335fccd1591f2cd58ab950a6eba77f271
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 11 10:05:18 2008 -0700
Increment version to 1.6.3 after the 1.6.2 release
configure.in | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 5bc6fd71398f8aa902fcffe2da5d1e70fb94aa8a
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 11 09:52:28 2008 -0700
Increment version to 1.6.2
configure.in | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 0c32497c3447d6d02d45a14ff4c400b6d1ea37da
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 11 09:50:53 2008 -0700
NEWS: Add notes for 1.6.2 release
NEWS | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
commit 9cfd82e87b60c0d65e9cafda026cb9a498874575
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu Apr 10 14:49:47 2008 +0100
[xlib] Add locking around GC cache.
The per-screen cached of most-recently freed GCs lacks suitable locking
for it to be threadsafe.
(cherry picked from commit dc714106e156cb7901e376c0935922446ae9bcdf)
src/cairo-xlib-private.h | 1 +
src/cairo-xlib-screen.c | 31 +++++++++++++++++++++----------
2 files changed, 22 insertions(+), 10 deletions(-)
commit cf057c1e8603014033c079189369e91aecac2adf
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Fri Apr 11 21:42:19 2008 +0930
PS: Fix inefficient implementation of Tm/Td operators that was crashing printers
The Td and Tm operator emulation were setting the font matrix like this:
/some_font [xx yx xy yy x0 y0] selectfont
where [xx yx xy yy] is the font matrix and [x0 y0] is the position of
the first glyph to be drawn. This seemed to be the easiest way to
emulate the Tm operator since the six arguments to Tm required by PDF
are xx,yx,xy,yy,x0,y0.
Before the switch to pdf-operators the font matrix was set like this:
/somefont [xx yx xy yy 0 0] selectfont x0 y0 moveto
The selectfont operator is equivalent to calling findfont, makefont,
and setfont. The makefont operator creates a new font dictionary for
specified font that contains the specified font matrix. The
description of the makefont operator in the PostScript Language
Reference Manual states:
"The interpreter keeps track of font dictionaries recently created
by makefont. Calling makefont multiple times with the same font and
matrix will usually return the same font rather than create a new
one."
So the emulation of Tm and Td was creating a new font dictionary every
time a text string was displayed due to the change in the translation
components of the font matrix. Previously the font dictionary was
re-used as with the translation components of the matrix set to zero,
the font matrix did not change frequently.
Some printers did not handle well the frequent creation a font
dictionary every time a few glyphs were displayed.
Fix this by ensuring the translation components of the font matrix
used in the emulation of Tm and Td operators is always set to
zero. Use moveto instead for the translation components.
(cherry picked from commit c5814d2aa3cb68a13bc9cc8b6a47f660febcad71)
src/cairo-ps-surface.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
commit eac9251d9a78e8d7bf00098b367a5176ed7dbce6
Author: Carl Worth <cworth@cworth.org>
Date: Thu Apr 10 18:02:59 2008 -0700
Increment version to 1.6.1 after 1.6.0 release
configure.in | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit d6263bec89bcd1565fb0f56a9840cd6f7761097f
Author: Carl Worth <cworth@cworth.org>
Date: Thu Apr 10 17:34:41 2008 -0700
Increment cairo version to 1.6.0
configure.in | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit 709805c26f567b7fa90d04e701ccbf1cccc34da7
Author: Carl Worth <cworth@cworth.org>
Date: Thu Apr 10 17:33:51 2008 -0700
NEWS: Add notes for 1.6.0 release
NEWS | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 190 insertions(+), 8 deletions(-)
commit aadbaf7d990d0d5cd7c25cc856dbcfcc357b44f1
Author: Carl Worth <cworth@cworth.org>
Date: Tue Apr 8 02:45:56 2008 -0700
Increment version to 1.5.20
configure.in | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 8f123d035af0c02dc0a668a073410756edafbdd6
Author: Carl Worth <cworth@cworth.org>
Date: Tue Apr 8 02:45:31 2008 -0700
NEWS: Add notes for 1.5.20 snapshot
NEWS | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 47 insertions(+), 0 deletions(-)
commit f7dea9a8d3da7f57286db4b1b6300726483a0d76
Author: Carl Worth <cworth@cworth.org>
Date: Tue Apr 8 02:28:52 2008 -0700
Fix distcheck by renaming large-source-ref.c to large-source-ref.png (oops!)
test/large-source-ref.c | Bin 137 -> 0 bytes
test/large-source-ref.png | Bin 0 -> 137 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
commit c26a7de9707e26d0552b0fedcd4bf2e0ba6542b2
Author: Carl Worth <cworth@cworth.org>
Date: Tue Apr 8 01:54:27 2008 -0700
Prevent potentially infinite wandering through memeory in _cairo_hull_prev_valid
It is possible for _cairo_hull_prev_valid to be called just once
right before the calling loop is going to terminate. In this
case we really don't want to walk off the beginning of the
array and start wandering.
Thanks to Jonathan Watt for noticing this problem:
https://bugzilla.mozilla.org/show_bug.cgi?id=306649#c21
src/cairo-hull.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
commit c19133eb9ab31bbdc7e82573033e513e9eb867f2
Author: Carl Worth <cworth@cworth.org>
Date: Tue Apr 8 01:34:37 2008 -0700
Revert "[test] Repeat tests using cairo_push_group()."
This reverts commit 07122e64fa9529e7ba9323988a5af1d1e7c2c55f.
The extra testing did find a pdf bug, and that should be fixed,
but the extra maintenance burden of running another iteration
of all tests does not seem justfied at all---particularly since
it looks like dozens of new reference images would be needed
for the svg backend.
Also, the new "failures" of the image backend with this new
testing look like a misunderstanding of exactly what the new
testing is actually drawing.
test/cairo-test.c | 119 +++++++---------------------------------------------
1 files changed, 16 insertions(+), 103 deletions(-)
commit c1f7655f2fd5373a74d3fbf5977ebbd84e401e25
Author: Carl Worth <cworth@cworth.org>
Date: Tue Apr 8 00:40:58 2008 -0700
Check surface->status and finished in cairo_surface_write_to_png
Without these checks, a user could hit an assertion failure
by passing a finished surface to cairo_surface_write_to_png.
Now we return a nice CAIRO_STATUS_SURFACE_FINISHED error in
that case instead.
src/cairo-png.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
commit 33c54ed240b319acb28ef370eef5188ad42a5737
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 22:14:04 2008 +0100
[test] Add large-source to exercise handling of massive images.
This test exercises https://bugzilla.mozilla.org/show_bug.cgi?id=424333.
The test is expected to fail due to issues with pixman, but cairo
should fail gracefully and neither crash nor cause XErrors.
test/.gitignore | 1 +
test/Makefile.am | 3 +
test/large-source-ref.c | Bin 0 -> 137 bytes
test/large-source.c | 109 +++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 113 insertions(+), 0 deletions(-)
commit 4924d4d928666981f3e64bec685e8f90e524e62e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 23:48:36 2008 +0100
[cairo-xlib] Do not create surface with mismatching Visual and PictFormat.
As identified by Vladimir Vukicevic,
_cairo_xlib_surface_create_similar_with_format() was erroneously passing
down the source Visual when creating a surface with a different
XRenderPictFormat.
src/cairo-xlib-surface.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 9aac5916bcb4a3e62194315b12961d97f193a585
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 23:42:47 2008 +0100
[test/xlib-surface] Check for mismatching Visuals and XRenderPictFormats
Vladimir Vukicevic reported that surfaces were being created with
mismatching Visuals and XRenderPictFormats - and demonstated here.
test/xlib-surface.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 63 insertions(+), 0 deletions(-)
commit f6afba8f5453b8e3af9101fa2cde4c05a67f6d4b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 23:25:57 2008 +0100
[cairo-xlib] Create Pixmap using depth from xrender_format.
Use the depth as specified by the xrender_format when creating the
pixmap (as opposed to a guess based on the cairo_format_t).
src/cairo-xlib-surface.c | 21 ++-------------------
1 files changed, 2 insertions(+), 19 deletions(-)
commit 922fefdde4af28f9fc1e42fcba1b315980b01dc7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 23:06:18 2008 +0100
[cairo-xlib] Handle missing RENDER during similar surface creation
If the xserver doesn't support the RENDER extension or simply doesn't
have the matching PictFormat then xrender_format might be NULL. Check
and fallback in this case.
src/cairo-xlib-surface.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
commit 07122e64fa9529e7ba9323988a5af1d1e7c2c55f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 22:00:51 2008 +0100
[test] Repeat tests using cairo_push_group().
Test surfaces using similar surfaces with both CONTENT_COLOR and
CONTENT_COLOR_ALPHA, if applicable. This seems justified by the apparent
bugs in the pdf backend when going from an ARGB32 similar surface to
a destination RGB24 surface as well as isolated bugs in the image
backend.
The original goal was to try and trick the test suite into producing
a xlib surface with mismatching Visual/XRenderPictFormat. This succeeds,
although with a little bit of brute force in the xlib backend, but the
search to reproduce a BadMatch error fruitless.
test/cairo-test.c | 119 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 103 insertions(+), 16 deletions(-)
commit e04e4262386b8735d2ceabbc187405cace89dc80
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 10:56:38 2008 +0100
[test/get-xrender-format] Free static data on exit.
Free the internal caches so that valgrind reports zero leaks.
test/get-xrender-format.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
commit e57ef66fab7cb05b84175b3cfb5c032150cfa682
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 10:51:27 2008 +0100
[test/xlib-surface] Zero pixel buffers before use.
As we only use RGB24 surface data the alpha channel is undefined, so
zero it to prevent valgrind warnings.
test/xlib-surface.c | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
commit d0672e85ef120a4e3cd0dfcbdb717afbf9526f17
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 10:42:57 2008 +0100
[test/surface-source] Skip tests if we cannot create the source surface.
Check that the test environment supports the desired source and avoid
triggering asserts in the test routines.
test/glitz-surface-source.c | 15 ++++++++++-----
test/surface-source.c | 8 ++++++++
2 files changed, 18 insertions(+), 5 deletions(-)
commit 056d3c853e6660db31ee4a50d0e990a6013aa703
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon Apr 7 10:35:04 2008 +0100
[test/stroke-image] Fix memleak.
Release the temporary image surface after setting it as the source.
test/stroke-image.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
commit e460e586d7d093c1e03052efa3bfb45a2d5cf6ef
Author: Carl Worth <cworth@cworth.org>
Date: Mon Apr 7 22:02:44 2008 -0700
Update several pdf-specific reference images
I don't know if we made minor changes to the pdf backend, or
if this was due to a poppler change, (we recently bumped the
poppler required for testing up to 0.8.0), but any way around
it these test results look just as good as the reference images
they are replacing.
test/Makefile.am | 2 ++
test/clip-operator-pdf-argb32-ref.png | Bin 11429 -> 11145 bytes
test/ft-text-vertical-layout-type1-pdf-ref.png | Bin 0 -> 3604 bytes
test/ft-text-vertical-layout-type3-pdf-ref.png | Bin 0 -> 3634 bytes
test/push-group-pdf-ref.png | Bin 2694 -> 2807 bytes
test/push-group-pdf-rgb24-ref.png | Bin 2611 -> 2714 bytes
6 files changed, 2 insertions(+), 0 deletions(-)
commit fdcd1445846b59d2ffd1780dd0f6d70169036ad4
Author: Carl Worth <cworth@cworth.org>
Date: Mon Apr 7 13:30:59 2008 -0700
Add filter-bilinear-extents to the XFAIL list
This test case does show a bug, and we have lots of ideas on how
to fix the bug, but we want to wait until after the 1.6 release
before we fix it. See:
http://bugs.freedesktop.org/show_bug.cgi?id=15349
test/Makefile.am | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
commit 36246c51ba720713ebf93573da29b098e87f0bd0
Author: Carl Worth <cworth@cworth.org>
Date: Mon Apr 7 12:10:24 2008 -0700
Revert "_cairo_pattern_get_extents: Fix to allow for expansion based on filter"
This reverts commit 731e121c802a7b1c3429d1bde7a93bc471d70880.
This commit introduced various problems, (some likely noticeable
in the test suite, and others perhaps not). For some details, see
the latest comments in the original bug report leading to the
fix now being reverted:
http://bugs.freedesktop.org/show_bug.cgi?id=15349
src/cairo-pattern.c | 22 ----------------------
1 files changed, 0 insertions(+), 22 deletions(-)
commit c88adb6aee650c8c544b212f539bd5da9ed88734
Author: Carl Worth <cworth@cworth.org>
Date: Mon Apr 7 16:09:03 2008 -0700
Add svg-specific reference images for smask and smask-mask
The most recent change for the mask_id allocation fixes these
two test, (it fixes mask-image-mask as well, but it didn't need
a new reference image).
test/Makefile.am | 2 ++
test/smask-mask-svg-ref.png | Bin 0 -> 2529 bytes
test/smask-svg-ref.png | Bin 0 -> 3634 bytes
3 files changed, 2 insertions(+), 0 deletions(-)
commit 164e9c195c16fbed08539b859a06cc6f042fb5d9
Author: Carl Worth <cworth@cworth.org>
Date: Mon Apr 7 15:50:22 2008 -0700
SVG: Fix generation of mask_id identifiers
In tests such as smask-mask (and others) the cairo_mask operation
is used in the construction of a mask. In this case, the single
document->mask_id value was being incremented at inappropriate
times.
We fix this by adding a new _cairo_svg_document_allocate_mask_id
that returns the current value and increments it. That way,
callers can hold onto this reliable value for the desired lifetime
that the code needs the identifier.
src/cairo-svg-surface.c | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
commit 8aa306ec08dcf0ae8803cdb1bda0fb31658f9e83
Author: Carl Worth <cworth@cworth.org>
Date: Mon Apr 7 14:17:40 2008 -0700
Add svg-specific reference images for smask-fill, smask-paint, and smask-text tests
test/Makefile.am | 3 +++
test/smask-fill-svg-ref.png | Bin 0 -> 1166 bytes
test/smask-paint-svg-ref.png | Bin 0 -> 2612 bytes
test/smask-text-svg-ref.png | Bin 0 -> 1886 bytes
4 files changed, 3 insertions(+), 0 deletions(-)
commit 3d86023281d7d18ad72be85ad8b53c29f20dfc7e
Author: Carl Worth <cworth@cworth.org>
Date: Mon Apr 7 14:09:32 2008 -0700
Add ps-specific reference images for smask and smask-text tests
test/Makefile.am | 2 ++
test/smask-ps-ref.png | Bin 0 -> 3669 bytes
test/smask-text-ps-ref.png | Bin 0 -> 2023 bytes
3 files changed, 2 insertions(+), 0 deletions(-)
commit f2a94c84a160f205ee72cc0c538a556d7d611e7b
Author: Carl Worth <cworth@cworth.org>
Date: Mon Apr 7 13:03:58 2008 -0700
Add underscore prefix to private _cairo_pdf_surface_set_size_internal
src/cairo-pdf-surface.c | 48 +++++++++++++++++++++++-----------------------
1 files changed, 24 insertions(+), 24 deletions(-)
commit 3d22902fa37623a56dee9e4a20d0dc215deabd72
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Sun Apr 6 19:29:25 2008 +0930
Add PDF ref images for the smask tests
These tests render correctly in acroread 8.1.
test/Makefile.am | 7 +++++++
test/smask-fill-pdf-ref.png | Bin 0 -> 1075 bytes
test/smask-image-mask-pdf-ref.png | Bin 0 -> 421 bytes
test/smask-mask-pdf-ref.png | Bin 0 -> 3731 bytes
test/smask-paint-pdf-ref.png | Bin 0 -> 3800 bytes
test/smask-pdf-ref.png | Bin 0 -> 3800 bytes
test/smask-stroke-pdf-ref.png | Bin 0 -> 449 bytes
test/smask-text-pdf-ref.png | Bin 0 -> 1806 bytes
8 files changed, 7 insertions(+), 0 deletions(-)
commit 688fbc24c38119a505e54a8a2fd0e71e988bf969
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Sun Apr 6 19:04:27 2008 +0930
PDF: Add a function for changing the surface size
The smask-fill test was failing for PDF output because in some places
where the surface size is changed (eg when emitting patterns or
smasks) the cairo_to_pdf matrix was not updated.
Fix this by adding a function to handle the surface size change and
replace all the duplicated code for changing surface size with a call
to this function.
src/cairo-pdf-surface.c | 69 ++++++++++++++++++++++------------------------
1 files changed, 33 insertions(+), 36 deletions(-)
commit 6e5e852f739b63f0325927c70e4d4456c60d0ba9
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 03:25:58 2008 -0700
Increment cairo version to 1.5.19 after the 1.5.18 snapshot
configure.in | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 6d6c8aa643603c2b5fd7baedc897d4698ba8bafb
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 03:11:04 2008 -0700
Increment cairo version to 1.5.18 and library versioning to 19:1:17
configure.in | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 44cd51ada62f831e4fddd363797b3ad4568fb443
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 03:10:07 2008 -0700
NEWS: Add notes for 1.5.18 snapshot
NEWS | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 111 insertions(+), 0 deletions(-)
commit 3f5ce00e99bcbb17594441301ad0845007d0aedf
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 03:09:45 2008 -0700
Add missing parens() to function name in gtk-doc comment
src/cairo.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit c08e2ba974ad7f5d9343d0d815a00a8e9ad51f81
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 02:56:19 2008 -0700
Document default opaque black source pattern.
src/cairo.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
commit e07e1b7bbbac59ae2ea25ed762c017b477e22cc4
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 02:47:32 2008 -0700
Document many more defaults
Including: fallback_resolution, fill_rule, line_cap, line_join,
miter_limit, font_face, font_size, and operator.
src/cairo-surface.c | 3 +++
src/cairo.c | 30 ++++++++++++++++++++++++++----
src/cairo.h | 10 +++++++++-
3 files changed, 38 insertions(+), 5 deletions(-)
commit a55669c325c341fa6175a193cb0d6fa30b8247c9
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 02:17:33 2008 -0700
Document toy nature of cairo_select_font_face
src/cairo.c | 32 ++++++++++++++++++++++++++------
1 files changed, 26 insertions(+), 6 deletions(-)
commit d1fe0084405a49f33d4ab6d80e9398e281483900
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 02:17:09 2008 -0700
Document default extend modes
src/cairo-pattern.c | 3 +++
src/cairo.h | 9 +++++++--
2 files changed, 10 insertions(+), 2 deletions(-)
commit abe6f9541eb1fe10c063540dbffe3499ec8a9d3e
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 02:01:04 2008 -0700
Document EXTEND_REFLECT and EXTEND_PAD as implemented for surfaces since 1.6
src/cairo.h | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit 657b348e0172f3b5f2c91a406c2eca039a790ca1
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 01:57:45 2008 -0700
README: Update dependencies
README | 139 +++++++++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 89 insertions(+), 50 deletions(-)
commit c642a401959c183de2afa3fba2c4206aa0fdbc0c
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 01:13:17 2008 -0700
Revert "[README] Remove the Dependencies section as it falls out of date easily"
This reverts commit 5f38e215ed4ec930492ee373db37a767d85a6ee8.
It's true that the dependencies can fall out of date, but it's really
unkind to not provide users with this information. I think we can
compromise by committing to update this information before major
releases.
README | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 89 insertions(+), 0 deletions(-)
commit b61d1b01e94b3d8daa288b8d5d183f093d989582
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 01:07:32 2008 -0700
Change default filter from BEST to GOOD
Right now the two filters are implemented identically, so there's
no real change for now. But in the future, it's conceivable that an
X server could implement some crazy, high-quality filter for BEST
without regard to performance, (since that's what BEST means).
Meanwhile, GOOD actually captures what we want by default which is
a good mix of both quality and performance.
src/cairoint.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 14b056945cef7e016ec07c87725348f3f0649d9f
Author: Carl Worth <cworth@cworth.org>
Date: Sun Apr 6 00:34:59 2008 -0700
Update smask-text reference image
It appears the reference image wasn't generated on a gold-standard
machine, (and yes, the gold standard is, *ahem* whatever happens
to match what Carl's machine does---eventually we'll make the test-
based tests less picky about system configuration like this).
test/smask-text-ref.png | Bin 1796 -> 1739 bytes
1 files changed, 0 insertions(+), 0 deletions(-)
commit 3a89bf4a1dd37852ca603c2ba472de73959dc69a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sat Apr 5 22:01:24 2008 +0100
[test] Remove some redundant evals from the summary.
In a couple of places we used eval to execute a simple assignment -
complete overkill.
test/Makefile.am | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
commit fc0a2988cdcbc54292377b00fe9a82b4a7407918
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sat Apr 5 21:58:10 2008 +0100
[test] Disable jobserver with make check.
make -j check has the unfortunate side-effect of performing the summary
before the TESTS have completed, both hiding in the stream of test
output and making it useless. Forcibly disable the jobserver so that the
summary is always last at the expense of not compiling the tests in parallel.
test/Makefile.am | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
commit ae6fbe9e6e153a917f3ae8d733e88303e2816b2b
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Sun Apr 6 01:08:31 2008 +1030
scaled-font-subsets: Special case .notdef in a new subset
If the .notdef glyph is the first glyph in the subset to be mapped in
scaled font, we do not know if the subset will scaled or unscaled. We
can put it in the unscaled subset as Type1-fallback will embded an
empty glyph if it can not get the path.
src/cairo-scaled-font-subsets.c | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
commit 0d5902b7167f8cb4bfc96fd813003cd220441151
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Sat Apr 5 23:33:29 2008 +1030
Type1-fallback: Use correct glyph metrics for .notdef glyph
Bug 15348 references the following PDF that was printing incorrectly
when running through poppler and cairo to generate PostScript.
http://launchpadlibrarian.net/12921700/UbuntuDesktop.pdf
The PostScript output had too much space between each word causing
strings of glyphs printed with the TJ operator to overlap.
The original PDF file contains an CFF font with CID Identity-H
encoding. The PDF file is using character code 0 (glyph 0 due to
Identity-H encoding) as a space character. The CFF specification
defines glyph 0 to be the .notdef glyph.
The PS backend subsets CFF fonts as a Type1-fallback
font. Type1-fallback creates it's own empty .notdef glyph with an
arbitrary glyph advance of 500. The problem here is the TJ operator
used to output the glyphs depends on the glyph advance being
correct. pdf-operators.c uses the glyph advance returned by
_scaled_glyph_init(). However the PostScript interpreter sees the
glyph advance of 500 for .notdef. This problem does not occur when
generating PDF as the PDF font dictionary contains an list of glyph
advances that override the font metrics.
Fix this by making Type1-fallback not treat .notdef as special and to
create it the path and metrics obtained from _scaled_glyph_init(). As
a special case, make it not fail if _scaled_glyph_init() is unable to
return a path for .notdef. This was probably the reason Type1-fallback
previously created it's own .notdef glyph as calling
_scaled_glyph_init(_GLYPH_INFO_PATH) for glyph 0 returns
CAIRO_INT_STATUS_UNSUPPORTED for some fonts.
This ensures the Type1-fallback font metrics match the metrics used
by pdf-operators.c to position the glyphs. This also results in the
removal of some duplicated code.
src/cairo-type1-fallback.c | 92 ++++++++++++++------------------------------
1 files changed, 29 insertions(+), 63 deletions(-)
commit 03d2b098ff245ff6724b1d83a121f5ce9dcd0b51
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Sat Apr 5 21:15:15 2008 +1030
Type1-fallback: Use correct glyph advance in Type 1 charstrings
5050c55f93af fixed type1-fallback to use the glyph advance instead of
glyph width in the stored glyph metrics in the font. However it did
not fix the same bug in Type 2 charstrings (used by CFF fallback in
PDF). This problem was not noticed since the glyph widths in the PDF
font dictionary overrides these values.
Fix this in case any software reading cairo PDFs uses these values.
src/cairo-type1-fallback.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 40cee8c57879d37d77c5a93de8f7bdef28851923
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Sat Apr 5 20:53:39 2008 +1030
Add assert to scaled_glyph_lookup in scaled-font-subsets
If _cairo_scaled_glyph_lookup() returns CAIRO_INT_STATUS_UNSUPPORTED
it will be caught by the ASSERT_NOT_REACHED in
_emit_unscaled_font_subset in PS/PDF. It is more useful to catch this
closer to the source.
src/cairo-scaled-font-subsets.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
commit 93536bf3ac251d17c4d8630cad93c37b0d4a8326
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sat Apr 5 09:31:22 2008 +0100
[test] Summarise failures per backend.
Enhance the test failure summary to list the tests that failed per
backend.
test/Makefile.am | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
commit 731e121c802a7b1c3429d1bde7a93bc471d70880
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 4 19:00:28 2008 -0700
_cairo_pattern_get_extents: Fix to allow for expansion based on filter
This fixes the filter-bilinear-extents test case and the
related bug entry:
bad clipping with EXTEND_NONE
http://bugs.freedesktop.org/show_bug.cgi?id=15349
Though there are still differences in the PDF and PostScript
backends, (primarily because we can't capture cairo's filter
modes in those file formats).
src/cairo-pattern.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
commit 04608952e2efb9bffaa131ab39780c3e1a7430ba
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 4 18:56:38 2008 -0700
Replace open-coded transformation with a call to _cairo_matrix_transform_bounding_box
It's a wonderful feeiling to remove duplicate code.
src/cairo-pattern.c | 61 ++++++++++++++++++++++----------------------------
1 files changed, 27 insertions(+), 34 deletions(-)
commit 89567f9278c002ac5e4e25ddccec88b1b1eea420
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 4 18:28:23 2008 -0700
Add new filter-bilinear-extents test
This test exercises code that computes the extents of a surface
pattern with CAIRO_FILTER_BILINEAR, (where the filtering
effectively increases the extents of the pattern).
The original bug was reported by Owen Taylor here:
bad clipping with EXTEND_NONE
http://bugs.freedesktop.org/show_bug.cgi?id=15349
test/.gitignore | 1 +
test/Makefile.am | 2 +
test/filter-bilinear-extents-ref.png | Bin 0 -> 1340 bytes
test/filter-bilinear-extents.c | 91 ++++++++++++++++++++++++++++++++++
4 files changed, 94 insertions(+), 0 deletions(-)
commit 80f7aa03b35921a96683a0442f885c4b8335f3d9
Author: Carl Worth <cworth@cworth.org>
Date: Fri Apr 4 11:29:47 2008 -0700
Enable buggy_repeat workaround for X.Org servers < 1.4
This covers the known-to-broken 1.3 servers such as appeared
in Fedora 8. It also leaves the workaround off, (since it's
a severe slowdown), for the known-to-be-working 1.4.99.901
server as appears in Fedora 9 Betas.
src/cairo-xlib-display.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
commit 2c8ead12a64d0deff4dc9e32c60f2815fe7c4a63
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Apr 4 17:46:54 2008 +0100
[xlib] Avoiding sending glyphs > XMaxRequestSize.
XRenderAddGlyph() does not split its image data across multiple requests
and so the glyph surface must be smaller than XMaxRequestSize or else
the server will disconnect the client, causing "Fatal IO error 104".
As this will require an extension to the XRender spec, we can work
around the issue by using our fallbacks if we detect that the glyph will
be too large for a single request.
See bugs https://bugs.freedesktop.org/show_bug.cgi?id=4339 and
http://bugs.freedesktop.org/show_bug.cgi?id=13266 for examples.
src/cairo-xlib-surface.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
commit a4f94624b2f4a85bafbc2dc01b08788a7a88deba
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Apr 4 15:56:22 2008 +0100
[test] Add bilevel image test case.
Add a simple test to exercise the embedding of an image with a bilevel
alpha channel into a postscript level 3 document.
test/.gitignore | 1 +
test/Makefile.am | 2 +
test/bilevel-image-ref.png | Bin 0 -> 131 bytes
test/bilevel-image.c | 68 ++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 71 insertions(+), 0 deletions(-)
commit f72799a2520feb7ed04fd14e53db59fe697a58d1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Apr 4 14:15:58 2008 +0100
[configure.in] Add a link to the LTP homepage.
If ./configure --enable-gcov fails due to a missing LTP package, then
include a link to LTP homepage in the error message.
configure.in | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
commit c0593d16c7f2ca9c1ba4d05b6cbf3cf9c2f0524b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Apr 4 12:53:13 2008 +0100
[pdf] Copy the glyphs for use within an smask group.
When constructing an smask group using PDF_SHOW_GLYPHS, we need a copy
of the glyphs else they'll be freed be we use them (in _show_page()).
src/cairo-pdf-surface.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
commit a74db7e7bc092533d244123ea2ae272edf3f5d8f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Apr 4 12:34:40 2008 +0100
[test] Exercise "soft" masks.
PDF has a concept of "soft" masks, for which it is able to construct a
mask out of PDF drawing operations. These tests exercise constructing
various masks using the high level drawing operations.
test/.gitignore | 7 ++
test/Makefile.am | 14 +++++
test/smask-fill-ref.png | Bin 0 -> 1223 bytes
test/smask-fill.c | 83 ++++++++++++++++++++++++++
test/smask-image-mask-ref.png | Bin 0 -> 643 bytes
test/smask-image-mask.c | 92 +++++++++++++++++++++++++++++
test/smask-mask-ref.png | Bin 0 -> 2523 bytes
test/smask-mask.c | 107 +++++++++++++++++++++++++++++++++
test/smask-paint-ref.png | Bin 0 -> 2639 bytes
test/smask-paint.c | 90 ++++++++++++++++++++++++++++
test/smask-ref.png | Bin 0 -> 3587 bytes
test/smask-stroke-ref.png | Bin 0 -> 1845 bytes
test/smask-stroke.c | 83 ++++++++++++++++++++++++++
test/smask-text-ref.png | Bin 0 -> 1796 bytes
test/smask-text.c | 92 +++++++++++++++++++++++++++++
test/smask.c | 130 +++++++++++++++++++++++++++++++++++++++++
16 files changed, 698 insertions(+), 0 deletions(-)
commit 2d42f5ac27494f2bfd75e7bba42fd36783e053eb
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Fri Apr 4 20:29:12 2008 +1030
TrueType: Fix buffer check
bb76eb50 added some checks to ensure we do not read past the end of
the buffer for the loaded glyph. However the checks assumed
tt_composite_glyph_t has a fixed size. tt_composite_glyph_t has a
variable size that depends on the values with the struct.
src/cairo-truetype-subset.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
commit 7dbb2dec33bb91b3d89a8072283297025817d0c6
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Fri Apr 4 19:48:55 2008 +1030
TrueType: Remove assert
If the status is UNSUPPORTED we should let type1-fallback subset it.
src/cairo-truetype-subset.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
commit 6192001816053403b8e51fc2aa44cf6d0a9baece
Author: Adrian Johnson <ajohnson@redneon.com>
Date: Fri Apr 4 19:26:00 2008 +1030
Add PS reference image for ft-show-glyphs-table