-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
2459 lines (2070 loc) · 97.3 KB
/
NEWS
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
Overview of changes between 1.26.1 and 1.26.2
=============================================
- Fix non-standard C++ usage
- Fix OpenType mark ligation
- Bugs fixed:
Bug 602823 - void function cannot return value
Bug 602660 - [HB] don't use flexible arrays
Bug 602408 - Invalid C++ code breaks compile with Sun C++ Compiler
Overview of changes between 1.26.0 and 1.26.1
=============================================
- Finally fix GPOS positioning and kerning with non-identity cairo matrices
- [HB] Fix lookup_flag ignoring
- Fix leak with non-mmapped fonts
- Allow using uninstalled glib
- Bugs fixed:
Bug 341481 - pangocairo kerning problem with nonidentity scaling
Bug 587768 - [patch] Don't build pango-view twice
Bug 594101 - [Indic] character class data updates to support unicode 5.1
Bug 596837 - Typo in pango_cairo_show_layout documentation
Overview of changes between 1.25.6 and 1.26.0
=============================================
- New stable release series
- Bugs fixed:
Bug 595539 - Regressions in rendering certain Thai sequences
Overview of changes between 1.25.5 and 1.25.6
=============================================
- Fix a couple of array overflow bugs
- Bugs fixed:
Bug 593240 - updating pango to latest git master makes things crash
Bug 593231 - < c99 compiler dislikes ValueRecord
Overview of changes between 1.25.4 and 1.25.5
=============================================
- Minor HarfBuzz code shuffling
- Bugs fixed:
Bug 592484 - invalid write in HB
Bug 592194 - Fix missing _SC_PAGE_SIZE macro
Overview of changes between 1.25.3 and 1.25.4
=============================================
- Fix various possible overflows in HarfBuzz
- Improve HB font sanitizing
- Improved win32 performance
- Really fix ming32 build issues
- Re-enable introspection
- Bugs fixed:
Bug 592131 - Add AM_SILENT_RULES
Bug 592036 - integer overflow bug causes misrendering of Nepali
characters
Bug 591511 – hh-blob.c does not compile using mingw on windows
Overview of changes between 1.25.2 and 1.25.3
=============================================
- Fix couple of crashers
- Enforce -fno-exceptions better, should fix build issues for
distros on x86-64.
- Call mprotect() only when available.
- New public API: pango_glyph_item_get_logical_widths()
- Remove G_GNUC_PURE attr from pango_glyph_string_get_width()
- Fix buffer corruption in HarfBuzz
- Bugs fixed:
Bug 591413 – needs to link with libstdc++
Bug 591511 – hb-blob.c does not compile using mingw on windows
Bug 591557 – [HB] crash scrolling the evolution message list
Bug 591576 – crashed with SIGSEGV at pango
Bug 591465 – Gimp crashes upon opening the font selection dialog
Overview of changes between 1.25.1 and 1.25.2
=============================================
- Tweak C++ compiler options. If you get link errors with gcc on
x86-64 about __gxx_personality_v0(), make sure your CXXFLAGS does
not have -fexceptions. This will be fixed in Pango itself later.
- Fix crasher with gzipped fonts.
Bug 591409 – crash in firefox. Handle non-mmapped FT_Face
Overview of changes between 1.24.5 and 1.25.1
=============================================
- Merge harfbuzz-ng: brand new OpenType Layout engine
Currently is not very portable. Will be fixed as
reports come in.
- Port to ATSUI backend to use CoreText instead of ATS
- New public API:
pango_gravity_get_for_script_and_width()
- Misc bug fixes
Bug 590042 – pango-view.1 manpage should not be gzipped
Bug 410169 – gravity problem with Common chars
Bug 589113 – Some characters rotated incorrectly in vertical text
Bug 582851 -- Little fix for compiling with Cygwin
Bug 588060 -- Fonts missing on Cygwin
Overview of changes between 1.24.4 and 1.24.5
=============================================
- Build introspection again
- Misc bug fixes
Bug 589133 – Firefox 3.5 complains about invalid weak references
Bug 585806 – crash during pango_fc_font_map_shutdown
Bug 588678 – pango crash: install a new theme from
Overview of changes between 1.24.3 and 1.24.4
=============================================
- Misc bug fixes
Bug 586814 – Crashes related to fontmap destruction after upgrade
Overview of changes between 1.24.2 and 1.24.3
=============================================
- Fix build with new automake
- Misc bug fixes
Bug 585337 – Fails to install: install: will not overwrite
just-created
Bug 585164 – 'man preload' shows man page for pango-view
Bug 584328 – Persian sample text is not good
Bug 583250 – pango_font_metrics_get_approximate_char_width is
wrong when LANG=fa_IR
Overview of changes between 1.24.1 and 1.24.2
=============================================
- Misc bug fixes
Bug 580987 – SIGFPE in pango_glyph_string_index_to_x
Bug 580273 – Font metrics functions incorrectly listed as reporting
point sizes
Bug 579694 – Cygwin parallel-build patch
Bug 578944 – pango-1.24.1 fails its testsuite
Bug 578935 – Syntax error (missing semicolon) in
pango/pangowin32-fontmap.c
Overview of changes between 1.24.0 and 1.24.1
=============================================
- Fix a couple of crashers
- Fix minor pangofc API semantics breakage
- Better handle SFNT fonts in dfont containers
- Improved docs
- Improved Indic shaper for new Unicode 5.1 characters
- Misc bug fixes
- Bugs fixed in this release:
Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD
Bug 578336 – ABI breakage from 1.22 to 1.24 in fontmap field
of PangoFcFont
Bug 556132 – gnome-panel crashed with SIGSEGV in
g_cclosure_marshal_VOID__BOXED()
Bug 571291 – Unicode 5.1 support in pango - Indic Lanuages
Bug 576298 – Fails to link pango-view if --without-x is specified
but cairo has X11 support
Overview of changes between 1.23.0 and 1.24.0
=============================================
- pango-view improvements:
* pango-view -q now works without a X server.
* Ability to save to PS, EPS, PDF, and SVG files. Filetype is
detected from output file extension.
* New options --foreground, --background, and --annotate.
* Now installs a manual page, thanks to help2man.
- PangoFc API changes:
* PangoFcFont now has a "fontmap" property that subclasses can use
at construction time to setup the font->fontmap link.
* New backend-public API:
pango_fc_font_map_find_decoder()
- Misc optimizations
- Build fixes
- Misc bug fixes
- Bugs fixed in this release:
Bug 547963 – man page for pango-view
Bug 502804 – pango-view or pangocairo-view option to annotate
Bug 502801 – per-backend pango-view options
Bug 502805 – pango-view option for foreground/background color
Red Hat Bug 490331 - Crash of galeon in libpango
Bug 523166 – pango-view opens display even when invoked with -q
Bug 567160 – Share cmap cache between PangoFcFont's of the same face
Red Hat Bug 487593 - crash changing language in gdm
Bug 572662 – Remove deprecated GTK+ symbols
Bug 572529 – Poor -I ordering can break build
Overview of changes between 1.22.4 and 1.23.0
=============================================
- Change the PangoFc font loading API to allow for lazy loading of fonts.
- Add private PangoFcFontset that loads fallback fonts as needed.
- Call FcFontMatch() and only if fallback fonts are needed call FcFontSort().
- Optimize HarfBuzz number of malloc calls
- Don't malloc megs of unused memory in HarfBuzz
- Print-out, and parse, numeric styles correctly. Things like
"DejaVu Sans weight=100" parse as font description now.
- New public API:
Add two new public macros:
PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING
PANGO_ATTRIBUTE_INDEX_TO_TEXT_END
Add new public enum values:
PANGO_WEIGHT_BOOK
PANGO_WEIGHT_ULTRAHEAVY
PANGO_WEIGHT_THIN
PANGO_WEIGHT_MEDIUM
- Misc bug fixes
- Bugs fixed in this release:
Bug 569763 – pango doesn't like font descriptions without family!
Bug 560792 – Make PangoLayoutLine with line->layout==NULL renderable
Bug 567392 – Abiword crashes in pango when opening document with
certain locales
Bug 566727 – PangoFontsetLazy
Bug 567165 – Apply all pattern matrices
Bug 567934 – Add introspection support inside pango
Bug 549532 – Correction to the sample string for Hindi in
pango-language-sample-table.h
Bug 566726 – Minor optimization
Bug 566941 – Add PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING and
PANGO_ATTRIBUTE_INDEX_TO_TEXT_END
Bug 551469 – Fold '@' to '-' when parsing PangoLanguages
Bug 328206 – Update/remove some old files
Bug 166709 – Handle font variants more consistently
Bug 166676 – pango_fc_font_map_finalize
Bug 164001 - pango-querymodules doesn't work uninstalled on win32
Bug 384362 – pango can't select some font styles
Bug 168085 – numeric styles in pango_font_description_to_string()
Bug 529591 – Code related to malayalam is misplaced.
Patch from Rahul Bhalerao
Bug 515807 – Don't bind modules lazily
Bug 512662 – Update check.docs for pango-undeclared.txt
Bug 565644 – Maybe pango_font_descriptions_free is deprecated
Bug 469049 – Fix all compiler warnings
Bug 565379 – pango_font_description_better_match some style attributes
of old_match are not checked
Bug 564877 – pango-engine.h: PANGO_MODULE_PREFIX and G_MODULE_EXPORT
Overview of changes between 1.22.3 and 1.22.4
=============================================
- Misc bug fixes
- Improved docs
- Bugs fixed in this release:
Bug 564644 – Not complete description of the
pango_font_description_better_match function
Bug 563898 – Generated output is not deterministic
Bug 563803 – pango_renderer_finalize fails to call parent finalize
Bug 499626 – Space should be optional after comma in
PangoFontDescription input string
Bug 499624 – Spaces around commas in PangoFontDescription family name
should be trimmed
Bug 563557 – set g_get_prgname() in fc pattern
Bug 563356 – The input area of firefox and the blank width after text
in gnome-menu was stretched too wide, under pango-1.22.3
Bug 562574 – Pangocariowin32 is leaking every cairo font it ever
creates
Overview of changes between 1.22.2 and 1.22.3
=============================================
- Minor bug fix with matrix operations
- Fix build with older compilers
- Bugs fixed in this release:
Bug 561779 – incorrect calculations in pango_matrix_concat
implementation
Bug 560730 – pango 1.22.2 build failure on Solaris 10, too many array
initializers in pango-language.c
Bug 561740 – Use stack allocation for thai_engine_break
Overview of changes between 1.22.1 and 1.22.2
=============================================
- Fix crasher when a PangoFcFontMap was freed before its fonts.
- Mark monospace fonts as monospace in the pangoatsui backend.
- Fix font description parsing to better handle "normal".
- Bugs fixed in this release:
Bug 558254 – Internal reference handling messed up
Bug 558107 – is_monospace always returns FALSE in pangoatsui
Bug 557620 – pango_font_description_from_string not correct
Overview of changes between 1.22.0 and 1.22.1
=============================================
- Fix crasher when freeing PangoLayoutIter's
- Fix loading of bogus OpenType anchor tables
- Fix OpenType CursiveChain positioning
- Misc bug fixes
- Bugs fixed in this release:
Bug 528272 – "Error loading GPOS table 5503" when using katakana
characters
Bug 552107 – Small libtool fixes
Patch by Patryk Zawadzki
Bug 539623 – document that pango_color_parse accepts NULL
Bug 555219 – Memory leak when using pango_layout_iter_copy
Patch from Falk Rohsiepe
Bug 553345 – Japanese pangram.
Patch from Takeshi AIHANA
Overview of changes between 1.21.6 and 1.22.0
=============================================
- Require cairo >= 1.7.6.
- Improved Romanian sample text
- Don't use deprecated glib win32 API
- Misc bug fixes
- Bugs fixed in this release:
Bug 552993 – Romanian pangram
Bug 551865 – Can't change justification of a PangoLayout after first
draw
Bug 551416 - pangowin32-fontcache.c: argument is different type
Overview of changes between 1.21.5 and 1.21.6
=============================================
- Win32 cross-compiling build system fix
- Improve language sample strings.
- Bugs fixed in this release:
Bug 550659 – configure.in ignores a win32 backend only scenario
Bug 549758 – Swedish font sample text could use punctuation
Bug 549522 – New pt_BR pangram for pango
Bug 549520 – fr sample string
Overview of changes between 1.21.4 and 1.21.5
=============================================
- Make the reference the font->fontmap reference weak. Previously all
fontmaps had circular references to their fonts and back, making them
leak instead of being freed upon finalization. Now they all clean after
themselves. There's a slight semantic change though, that a PangoFont does
not keep its fontmap alive anymore, so that's up to the user. But then
again, finalizing fontmaps is not a good idea to begin with.
- Improve pango_language_get_sample_string() to add language sample texts that
are actually usable. Compiled from a variety of sources.
See pango-language-sample-table.h.
- In pango_language_get_sample_string() use default language if provided
language is NULL.
- Update OpenType language-system tags to OpenType 1.5 draft intersected with
ISO639-3 of 2008/08/04.
- New API additions:
Add a minor new public API:
pango_language_get_scripts()
This is what pango_language_includes_script() has been using
internally. Previously one had to call that function over all
possible script values to determine which scripts a language
uses. The new API makes that much easier.
- Bugs fixed in this release:
Bug 549003 – pango_layout_set_height(): layout should not be cleared
unless required
Bug 143542 – PangoFT2Fontmap leak
Bug 314094 – Get rid of poutpourri default sample string
Bug 473806 – Improve pango_language_get_sample_string()
Bug 473805 – Add API enumerating scripts for a language
Bug 470895 – Improve OpenType language tag list
Bug 547432 – Deprecation of pango_(backend)_font_map_create_context()
not clean
Overview of changes between 1.21.3 and 1.21.4
=============================================
- Use cairo_show_text_glyphs() if target cairo surface supports that.
This is done by adding a new PangoRenderer method, draw_glyph_item().
Custom PangoRenderer implementations that delegate to pango_cairo
may want to implement this method if they target PDF files.
- Requires cairo >= 1.7.4 now
- Win32 build improvements
- Justify lines broken by U+2028 LINE SEPARATOR
- Various small fixes and improvements
- New API additions:
New public API:
PangoRenderer::draw_glyph_item()
pango_renderer_draw_glyph_item()
Make layout and layout-line default renderers go through
draw_glyph_item(), which then by default falls back to
draw_glyphs(). The advantage in draw_glyph_item() is that it
has access to the text and cluster information.
New public API, for iterating a PangoGlyphItem:
PangoGlyphItemIter
PANGO_TYPE_GLYPH_ITEM_ITER
pango_glyph_item_iter_copy()
pango_glyph_item_iter_free()
pango_glyph_item_iter_init_start()
pango_glyph_item_iter_init_end()
pango_glyph_item_iter_next_cluster()
pango_glyph_item_iter_prev_cluster()
Make the following previously backend-only API public:
pango_context_new()
pango_context_set_font_map()
This also means that bindings are recommended to allow
instantiation of pango.Context. This was discouraged before.
New public API:
pango_font_map_create_context()
This is equivalent to pango_context_new() followed by an
immediate pango_context_set_font_map(). This change also
deprecates various per-fontmap-type context constructors:
Deprecate pango_cairo_font_map_create_context().
Deprecate pango_fc_font_map_create_context().
Deprecate pango_ft2_font_map_create_context().
Deprecate pango_win32_get_context().
Deprecate pango_xft_get_context().
Deprecate pango_x_get_context().
Language bindings are encouraged to bind
pango.Fontmap.create_context() and remove the create_context()
method from subclass implementations.
- Bugs fixed in this release:
Bug 547303 – pango_layout_get_cursor_pos crashes on certain text
buffers
Fedora Bug 457883 - Sindhi Characters are not supported in
pango [U+097B-U+097F]
Patch from Pravin Satpute
Bug 441654 – prefix fails when more than one base characters (as
conjuncts) present after a half form the next prefix renders
incorrectly
Patch from Rahul Bhalerao
Bug 546534 – pango_cairo_font_map_set_default(NULL) errs
Bug 431394 – Use pango_glyph_item_iter in more places
Bug 377948 – Make pango_glyph_item_iter public
Bug 472625 – Add draw_glyph_item() to PangoRenderer
Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
Bug 540036 – Doesn't link to fontconfig
Bug 380094 – Fix split matra rendering bug for Kannada language
Bug 536017 – Remove SF_MPRE_FIXUP from Sinhala script flags
Patch by Harshula
Overview of changes between 1.21.2 and 1.21.3
==============================================
- Various small fixes and improvements
- Bugs fixed in this release:
Bug 538661 – Improve pango_cairo_context_update_context()
Bug 536190 – Make pango_fc_font_map_clear_cache() public?
Bug 537258 – Add a pango_language_to_string() function
Bug 537257 – pango_language_from_string(NULL) not happy
Bug 537186 – Make PangoFcFont pattern property readable
Overview of changes between 1.21.1 and 1.21.2
==============================================
- Various win32 font handling improvements
- Bugs fixed in this release:
Bug 510299 – OpenType font variants are broken with ATSUI/Cairo
Bug 436363 - Bold and Bold Italic style of MS-Mincho font are not
listed in GtkFontSelection
Bug 523193 – Vista Hebrew, CJK fonts to builtin win32 pango aliases
Patch by Daniel Atallah.
Overview of changes between 1.21.0 and 1.21.1
==============================================
- Partial work to make pango_break() exactly follow Unicode TR#14 and TR#29.
The Grapheme Boundaries and Word Boundaries now work. For word boundaries,
a new member was added to PangoLogAttr. Sentence Boundaries and Line Breaks
to follow in the next release.
- Err if no cairo font backends found
- Misc bug fixes
- New public API:
Add new PangoLogAttr member is_word_boundary, that implements UAX#29's
Word Boundaries semantics. The is_word_start and is_word_end members
will change implementation later on to be consitent with the word
boundaries.
- Bugs fixed in this release:
Bug 531242 – Leak when calculating win32 font coverage
Patch from Daniel Atallah
Bug 530757 – Docs build breaks because of hash sign in URL in <ulink...>
Bug 530685 – Pango no longer using cairo as a backend as of pango 1.19.4
Part of Bug 97545 – Make pango_default_break follow Unicode TR #29
Overview of changes between 1.20.2 and 1.21.0
==============================================
- Require cairo >= 1.6.4.
- Write out HarfBuzz errors as hex.
- Add a section in the docs for bidirectional text.
- Improved hex-box rendering in the cairo backend.
- Add some aliases for <span> tag attributes.
- Preserve current-point around pango_cairo_* functions.
- New public API:
pango_attr_type_get_name()
enum PangoBidiType;
pango_bidi_type_get_type()
pango_bidi_type_for_unichar()
pango_layout_get_baseline()
pango_cairo_create_context()
pango_cairo_font_map_set_default()
- Bugs fixed in this release:
Bug 515432 – Add function to get bidirectional character type of a
unicode character
Patch from Jürg Billeter
Bug 517119 – Add pango_cairo_create_context()
Bug 404416 – pango_layout_get_baseline or something
Bug 474706 – cairo hexbox looks ugly
Bug 490669 – add some <span> attribute aliases
Bug 501334 – Make pango_cairo_[show_]*[_path]() functions preserve
current point
Bug 514617 – Add pango_cairo_font_map_set_default()
Bug 511183 – Add pango_attr_type_get_name()
Overview of changes between 1.20.1 and 1.20.2
==============================================
- Really fix build on OS X.
Overview of changes between 1.20.0 and 1.20.1
==============================================
- Update to Unicode Character Databse 5.1.0. This adds new entries to
the PangoScript enum. Requires glib >= 2.16.3 for the update Unicode
data there, but not bumping the requirement in a stable point release.
- Try making our OS X stuff compile with latest cairo 1.5.x snapshots
that renamed cairo-atsui to cairo-quartz-font, as well as older versions.
- Minor bug fixes.
Overview of changes between 1.19.4 and 1.20.0
==============================================
- New stable release!
- Bugs fixed in this release:
Bug 518084 – Thai is not Virama language
Patch from Theppitak Karoonboonyanan
Overview of changes between 1.19.3 and 1.19.4
==============================================
- Make Win32 backend be able to use Type1 fonts
- Fixed blocker bug with pango_layout_set_height() and positive height.
- Fixed small leak in ATSUI backend.
- Improved docs.
- Bugs fixed in this release:
Bug 511172 – pango_layout_set_height() with positive height always
shows at least two lines
Bug 515484 – Uniscribe interface handles surrogate
pairs incorrectly
Bug 515484 – Pango on Windows is missing Type 1
font support
Patch from Adrian Johnson.
Bug 517083 – pango modules: wrong fallback adding code?
Bug 515484 – Variable is initialized twice
Bug 504810 – Samvruthokaram (combination of U+0D41 and U+0D4D) is not
rendered correctly
Patch from Praveen A
Bug 496244 – Don't use freetype-config, use pkg-config
Bug 512566 – dont' use deprecated macro
Patch from Christian Persch
Bug 512473 – [patch] gtk-doc warnings
Overview of changes between 1.19.2 and 1.19.3
==============================================
- pango_layout_get_pixel_extents() and pango_layout_line_get_pixel_extents()
now round extents to pixels inclusively. That is, pass both ink_rect and
logical_rect as first argument to pango_extents_to_pixels().
- Rename pango_extents_to_pixels() function arguments from @ink_rect and
@logical_rect to @inclusive and @nearest. Given that this API is a
fairly new addition and not commonly used, language bindings are
encouraged to update their argument names accordingly. Moreover, they
are encouraged to wrap this function as two different calls:
extents_to_pixels_inclusive() and extents_to_pixels_nearest(), or
similar conventions that best reflect their native language.
- HarfBuzz was relicensed to a more generous and simpler license.
Adapt. See pango/opentype/COPYING for the new license which is
LGPL-compatible.
- New public API:
pango_layout_set_height()
This sets the height to which the #PangoLayout should be ellipsized at.
There are two different behaviors, based on whether @height is positive or
negative.
If @height is positive, it will be the maximum height of the layout. Only
lines would be shown that would fit, and if there is any text ommitted, an
ellipsis added. At least one line is included in each paragraph regardless
of how small the height value is. A value of zero will render exactly one
line for the entire layout.
If @height is negative, it will be the (negative of) maximum number of lines
per paragraph. That is, the total number of lines shown may well be more
than this value if the layout contains multiple paragraphs of text. The
default value of -1 means that first line of each paragraph is ellipsized.
Height setting only has effect if a positive width is set on @layout and
ellipsization mode of @layout is not %PANGO_ELLIPSIZE_NONE.
The behavior is undefined if a height other than -1 is set and ellipsization
mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the future.
There are still bugs remaining to be fixed, notably bug 511172 (which will
be fixed before 1.20), and bug 511171 (which will be fixed in a future
version).
- New command-line arguments to pango-view: --height and --single-par.
- Make the following symbols available to engines:
PANGO_IS_OT_INFO
PANGO_IS_OT_RULESET
PANGO_OT_INFO
PANGO_OT_RULESET
PANGO_TYPE_OT_INFO
PANGO_TYPE_OT_RULESET
pango_ot_info_get_type
pango_ot_ruleset_get_type
- Bugs fixed in this release:
Bug 508002 – change pango_layout_pixel_extents() to round logical rect
to be inclusive
Bug 469313 – Add pango_layout_set_height()
Bug 508179 – PangoGlyphUnit confusion
Bug 508381 – indent and center alignment don't mix
Bug 508007 – Add option for single-paragraph mode to pango-view
Bug 506284 – docs typo for pango_coverage_unref
Patch from Christian Persch
Bug 504802 – build failure: No rule to make target
`pango-querymodules.1', needed by `all-am'. Stop.
Bug 504585 – pango-querymodules.1 syntax error
Red Hat Bug 426178: gtkdoc-scan fails on pango
Overview of changes between 1.19.1 and 1.19.2
==============================================
- Render a crossed box for each invalid input byte to pango_layout_set_text().
Previously we rendered an ASCII question mark instead. The crossed box has
a glyph of value of PANGO_GLYPH_INVALID_INPUT.
- Use pkg-config to detect cairo features [Benjamin Otte]
- Improved docs. Particularly, examples/cairo*.c have inline docs now.
- New public macro:
PANGO_GLYPH_INVALID_INPUT
- Bugs fixed in this release:
Bug 502926 – pango-1.16.4 configure bug: can fail to accept cairo
Bug 399573 – replace strtoul in pango-markup.c with pango_scan_int()
Bug 478914 – Use something invalid instead of '?' when validating
input text
Bug 501938 – Arabic shaping broken with vertical layout with
vertical-hint=line
Bug 501575 – Compile errors
Patch from Jens Granseuer
Overview of changes between 1.19.0 and 1.19.1
==============================================
- Various cleanup in the HarfBuzz code and merging with upstream/Qt changes.
- Built-in pango.aliases file for Win32 default aliases.
- Document cairo examples and misc documentation improvements.
- Bugs fixed in this release:
Bug 485536 – underline_position can be zero
Bug 500549 – pangocairo.h should include pango.h and cairo.h
Bug 492517 – Built-in default aliases file
Bug 495091 – pango-utils.c:variable is declared at middle of block
Overview of changes between 1.18.3 and 1.19.0
==============================================
- Update list of languages to that of fontconfig-2.4.91.
- Various optimizations, making rendering the same Pango layout using
changing cairo matrices much faster.
- Make sure all boxed type copy/free functions accept NULL as legitimate
input. Previously most were g_return_[val_]if_fail()ing it. This is
mostly for convenience when writing code in C.
- Apply 'vkrn' GPOS feature in vertical writing.
- In pangofc, set "pangoversion" in pattern passed to fontconfig,
such that font configuration can condition on being driven by Pango
or not.
- Various optimizations and cleanups in the OpenType Layout engine,
aka HarfBuzz.
- Changed APIs:
* All PangoAttribute constructors are changed to initialize the
attribute to the range [0..MAXUINT]. The range was undefined
previously. All custom attribute constructors are recommended
to call the new pango_attribute_init() to do the same.
* Public API chance: Mark the following types as abstract:
PangoFont
PangoFontFace
PangoFontFamily
PangoFontMap
PangoFcFont
PangoFcFontMap
PangoContext may be marked so in the future too.
* Make following macros public. Previously they were only
defined for backend/engine implementations.
PANGO_GLYPH_EMPTY
PANGO_GLYPH_UNKNOWN_FLAG
PANGO_GET_UNKNOWN_GLYPH()
- New public API:
* Convenience for initializing custom attributes:
pango_attribute_init()
* Adding boxed type for PangoGlyphItem:
PANGO_TYPE_GLYPH_ITEM
pango_glyph_item_copy()
pango_glyph_item_get_type()
* Add missing copy function for a boxed type in C:
pango_layout_iter_copy()
* Add missing getter:
pango_layout_iter_get_layout()
* Convenience for writing custom PangoRenderer's:
pango_renderer_get_layout()
pango_renderer_get_layout_line()
* PangoFc extensions to fontconfig's pattern syntax:
PANGO_FC_GRAVITY
PANGO_FC_VERSION
- Bugs fixed in this release:
Bug 490661 – Pango Markup: Link to font_desc syntax explanation
Based on patch from Chris Toshok
Bug 489909 – pango_cairo_update_context() should ignore matrix
translation
Bug 488840 – harfbuzz: protect against ligid overflow
Bug 486932 – Apply vkrn GPOS feature in vertical writing
Bug 486951 – ChangeLog.pre-1-18
Bug 485621 – Get rid of freetype memory allocator in harfbuzz
Bug 485566 – Cache one OpenType Buffer
Bug 485559 – Boston Summit HarfBuzz optimizations
Bug 481537 – compiler warning fixes
Patch from Kjartan Maraas
Bug 478865 – Drastically reduce number of PangoFont objects created
for rotating text
Bug 472924 – Mark some classes abstract
Bug 472629 – Add pango_renderer_get_layout(_line)
Bug 472303 – Make PANGO_GLYPH_EMPTY and PANGO_GLYPH_UNKNOWN_FLAG public
Bug 471601 – Pass pango version information to fontconfig
Bug 471577 – GBoxed GType for PangoGlyphItem
Bug 471571 – Add pango_layout_iter_get_layout()
Bug 471568 – Optimizations in _pango_cairo_update_context()
Bug 469641 – Initialize attribute start/end to [0..MAXUINT]
Overview of changes between 1.18.2 and 1.18.3
==============================================
- Two OpenType engine fixes. Makes Nafees Nastaliq font
work great, and avoids warnings with some other fonts.
- Fix minor leak in win32 backend.
- Bugs fixed in this release:
Bug 483600 – Leak of font family name in
pango_win32_font_description_from_logfont(w)
Patch from Daniel Atallah
Overview of changes between 1.18.1 and 1.18.2
==============================================
- Require libthai >= 0.1.9 for enabling thai-lang module
- Misc bug fixes
- Bugs fixed in this release:
Bug 474708 – pangocairo leaks memory
Bug 472891 – Bad consistency check in pango_get_log_attrs
Patch from Mathias Hasselmann
Bug 302952 – The placement of a diacritic marks for an arabic ligature
is not correct
Bug 410152 – testboundaries test fails
Overview of changes between 1.18.0 and 1.18.1
==============================================
- Misc bug fixes, including fix for an infinite-loop bug.
- Bugs fixed in this release:
Bug 470042 – missing Macedonian OT tag
Patch from Denis Jacquerye
Bug 468953 – pango-renderer.c: using function without prototype
Bug 463430 – Gets stuck while "formatting message"
Overview of changes between 1.17.5 and 1.18.0
==============================================
- Make pango_script_for_unichar() just call g_unichar_get_script(),
and document that PangoScript and GUnicodeScript are interchangeable
enumerations.
- Misc bug fixes
- Bugs fixed in this release:
Bug 348348 – Add a way to get the script name of a gunichar
Bug 451682 – Cursor positioning for Sinhala is broken
Based on patch from Harshula
Bug 462137 – memory corruption in pango_default_break
Bug 462420 – Clicking on pixbuf should move the cursor to the position
nearest to the click point
Bug 462630 – pango_cairo_context_set_font_options() and some others
don't have a Since: tag
Bug 464183 – Minimum tab width enforcement in pango-layout breaks
TabArray positions
Patch by David Trowbridge
Bug 464270 – ellipsize doesn't work consistent
Bug 465174 – TextView is ignoring multiple consecutive \t's
Bug 466755 – pango hangul is crashing in gnome-about because it is
failing to retrieve a font.
Bug 467056 – Shape attribute handling is not consistent
Bug 467077 – Remove special-case for shape attribute in
pango_layout_line_index_to_x()
Overview of changes between 1.17.4 and 1.17.5
==============================================
- Export PangoCairoFont and cleanup various standard macros.
- Bugs fixed in this release:
Bug 150883 – Unicode LRO defect
Bug 449482 – Build error when xft not present
Part of Bug 347236 – provide pango_cairo_font_get_scaled_font
Overview of changes between 1.17.3 and 1.17.4
==============================================
- Refactored the ATSUI font backend and install pangoatsui.h
that has a single function pango_atsui_font_get_atsu_font_id() and
a couple of types.
- Bugs fixed in this release:
Bug 451547 – FAIL: runtests.sh
Bug 449543 - Ship pangoatsui.h
Overview of changes between 1.17.2 and 1.17.3
==============================================
- Extensive pangocairo internal code refactoring and cleanup
- New public API:
pango_font_face_is_synthesized()
pango_cairo_font_get_scaled_font()
pango_cairo_font_map_new_for_font_type()
pango_cairo_font_map_get_font_type()
- New engine macros:
PANGO_OT_TAG_MAKE()
PANGO_OT_TAG_MAKE_FROM_STRING()
- New PangoFontFace method is_synthesized.
- Misc bug fixes
- Bugs fixed in this release:
Bug 337593 – move glyph extents code (and cache) from
pangocairo-*font.c into pangocairo-font.c
Bug 347235 – Add pango_cairo_font_map_get_font_type
Bug 347236 – provide pango_cairo_font_get_scaled_font
Bug 353291 – Provide pango_cairo_font_map_new_for_font_type
Bug 438801 – underline should add "error" type.
Bug 440588 – Add pango_font_face_is_synthesized()
Bug 445832 – pango_cairo_update_layout() always invalidates layout
Bug 446018 – Bus error in the pango_ot_tag_from_language()
Bug 446355 – the parsing with pango_parse_markup is not coherent
Bug 447189 – fonts.c: pango_font_face_is_synthesized returns NULL
Bug 447568 – improve docs on what absolute size means
Bug 448342 – pango_layout_index_to_line_x() counts lines from 1
Overview of changes between 1.17.1 and 1.17.2
==============================================
- Rename recently added pango_ot_ruleset_get_for() to
pango_ot_ruleset_get_for_description().
- New engine API: pango_ot_ruleset_new_from_description().
- Treat Unknown script like Common and other non-"real" scripts.
[Martin Hosken]
- Misc typo fixes [Peter Moulder]
- Bugs fixed in this release:
Bug 443206 – PANGO_SCRIPT_UNKNOWN should not cause a run break
Patch from Martin Hosken
Overview of changes between 1.17.0 and 1.17.1
==============================================
- Ported the rest of OpenType shapers to the new OpenType APIs and
added standard features to them: Hebrew, Indic, Khmer, Thai, and Tibetan.
- Added N'Ko support to the Arabic module. [Eugeniy Meshcheryakov]
- Small Indic module fix for Malayalam.
- Fixed font metrics returned by the ATSUI backend. [Richard Hult]
- Make itemization use pango_language_get_default() if context has no
language set on it. Ditto for pango_context_get_metrics() if both
input language and context language are NULL.
- Improved documentation on vertical text, also added stability note
to those parts of Pango API that are not indefinitely stable (shaper
and language engine APIs).
- Misc bug fixes.
- New OpenType engine API:
pango_ot_ruleset_get_feature_count()
- Bugs fixed in this release:
Bug 357790 – Rendering problem for malayalam consonant RA (U+0D30)
Bug 385168 – indic, khmer, and tibetan modules don't apply ccmp
Bug 385477 – kern feature is not supported in OpenType layout for Tibetan.
Bug 433805 - [Atsui] Approximate char/digit width width often 0
Bug 436699 – N'Ko support
Bug 438705 – Test runs non-existent "/bin/bash" on HP-UX 11.11
Bug 438814 – synaptic crash with pango 1.17.0
Bug 440603 – Minor ABI change
Overview of changes between 1.16.4 and 1.17.0
==============================================
General:
- Text justification. A simple justification algorithm is implemented
that tries to justify by expanding spaces in the line, and if none
found, by adjust letter spacing. [Based on patch by Mathias
Hasselmann]
- The pango_script_get_sample_language() function is modified to use
the value of environment variables PANGO_LANGUAGE or LANGUAGE
(checked in that order) to make guess better languages for scripts.
The env var should be a list of language tags, like "en:fa" for
example where in effect makes Pango choose Persian (fa) fonts
instead of Arabic (ar) fonts when a run of text in the Arabic script
is found in an otherwise non-Arabic layout.
This trick is also useful for East Asian languages. For example a
Japanese user that cannot set her primary language to Japanese can
still set PANGO_LANGUAGE="ja" and Pango will map CJK characters to
Japanese.
The LANGUAGE env var is a standard gettext variable listing
languages the user wants to receive UI translated messages in.
However, since most packages don't provide separate English
translations, setting LANGUAGE="en:ja" doesn't have the intended
effect and UI messages will be shown in Japanese. For these
situations one can use LANGUAGE="en:C:ja". Pango skips the special
language tag 'C'.
- Simplified embedded-shape rendering with pangocairo backends do.
[Richard Hult]
- New header file: Moved PangoLanguage APIs into its own header
pango-language.h, which is included from pango-types.h.
- ATSUI backend now lists synthesized italic faces like other
- Misc optimizations and fixes.
OpenType Layout Engine Improvements:
- Vertical glyph variants are not selected in vertical text if the
font supports them.
- Instead of hardcoded OpenType script tag in each module, and using
Default Language System unconditionally, Pango will now find and use
the script/lang-sys pair that best matches the detected script and
language of a run of text. Moreover, it also applies the OpenType
'locl' feature.
These, plus the PANGO_LANGUAGE env var, give font designers and
users lots of options to provide/choose language-specific glyph
variants.
Only basic, arabic, and syriac modules updated to take advantage of
the new support so far.
New pango-view command line options:
--align
--justify
--language
Public API Changes:
- New public pangocairo API: