test release infrastructure
[profile/ivi/pango.git] / NEWS
1 Overview of changes between 1.29.5 and 1.30.0
2 =============================================
3 - 667799 - Fix cross-compiling bug in configure.in
4 - 664125 - Zero-width spaces cause missing characters
5 - CoreText backend: implement font fallbacks
6 - CoreText backend: make more robust against broken fonts
7 - CoreText backend: make shaping engine more robust
8 - CoreText backend: Guard against glyph count of zero
9 - Win32 build fixes
10
11 Overview of changes between 1.29.4 and 1.29.5
12 =============================================
13 - Documentation fixes
14 - Build fixes for ATSUI backend
15 - Add more Chinese poetry
16 - Fix ChanContext backtrack matching with GPOS
17 - Bug 653985 - Pango 1.29.x make GTK3-demo.exe crashed in Windows
18 - Bug 635399 - Add C include and exported packages information to GIRs
19 - Bug 658561 - Double free after calling Pango.Context.get_font_des...
20 - Bug 656014 - Missing GIR annotation/wrapper for pango_layout_get_...
21 - Bug 654689 - Slightly broken Introspection build
22 - Bug 403499 - Text Attribute Markup page does not describe charact...
23 - Bug 650456 - Visual C++ 2010 Project Files to compile Pango
24 - Bug 653985 - Pango 1.29.x make GTK3-demo.exe crashed in Windows
25 - Bug 661612 - Add deprecation attributes to deprecated functions
26
27 Overview of changes between 1.29.1 and 1.29.3
28 =============================================
29 - Minor fix in 1.29.1 tarball
30
31 Overview of changes between 1.28.4 and 1.29.1
32 =============================================
33 - Lots of introspection markup added
34 - Misc fixes
35
36 Overview of changes between 1.28.3 and 1.28.4
37 =============================================
38 - Various introspection annotation fixes
39 - Build fixes
40 - Require glib >= 2.24.0
41 - Bugs fixed:
42     Bug 636348 - Hex boxes are incorrectly scaled with non identity cairo scale
43     Bug 639882 - Heap corruption in font parsing with FreeType2 backend
44
45 Overview of changes between 1.28.2 and 1.28.3
46 =============================================
47 - Bugs fixed:
48     Bug 630857 - introspection: Use --include-uninstalled
49
50 Overview of changes between 1.28.1 and 1.28.2
51 =============================================
52 - Reduce DLL hijack risk and simplify code in basic-win32 module
53 - Improve performance on Windows especially for non-Latin scripts
54 - Bugs fixed:
55     Bug 628497 - Crash in pango_layout_line_get_extents at pango-layout.c
56     Bug 626966 - SIGFPE _hb_sanitize_array
57     Bug 629632 - configure bug
58     Bug 625807 - approximate character width is 0 on pangoft2
59
60 Overview of changes between 1.28.0 and 1.28.1
61 =============================================
62 - pango-view now accepts --margin
63 - Various HarfBuzz bug fixes
64 - Build fixes
65 - Bugs fixed:
66     Bug 582698 - Support CSS-style margin specification
67     Bug 621612 - VPATH build fix
68     Bug 605870 - Incorrect shaping for Syriac
69     Bug 457990 - font metrics are not converted to user space in cairo backend
70     Bug 613015 - [HB] Does not sanitize Device tables referenced from ValueRecords
71
72 Overview of changes between 1.27.1 and 1.28.0
73 =============================================
74 - [HB] Fix leak when duplicating blob
75 - Misc bug fixes
76 - Bugs fixed:
77     Bug 611033 - Layout using ATSUI fontmap treats absolute font sizes a...
78     Bug 605655 - Pango 1.26.2 introduces kerning bug
79     Bug 611229 - Pango reads from uninitialized memory
80     Bug 594101 - [Indic] needed character class data updates to support unicode 5.1
81     Bug 345066 - backspace changes independent indic characters
82     Bug 609326 - Complex script shaping failed in the FT2 backend on Windows
83     Bug 604128 - Applications crash when displaying Hebrew characters
84     Bug 608923 - Incorrect/broken ligatures on MacOS
85     Bug 610791 - checks fail for unused documented symbols
86
87 Overview of changes between 1.26.2 and 1.27.1
88 =============================================
89 - Enable introspection again
90 - Misc HarfBuzz bug fixes
91 - Improve PangoLayout line breaking
92 - Revert usage of CoreText in ATSUI backend
93 - Fix FT_Face finalizer call
94 - Bugs fixed:
95     Bug 593240 - (pangoosx) Crash / infinite loop with Mac OS X
96     Bug 610183 - Pango doesn't compile with gcc 3.3.3
97     Bug 582697 - Add pango-view --pixels option
98
99 Overview of changes between 1.26.1 and 1.26.2
100 =============================================
101 - Fix non-standard C++ usage
102 - Fix OpenType mark ligation
103 - Bugs fixed:
104     Bug 602823 - void function cannot return value
105     Bug 602660 - [HB] don't use flexible arrays
106     Bug 602408 - Invalid C++ code breaks compile with Sun C++ Compiler
107
108 Overview of changes between 1.26.0 and 1.26.1
109 =============================================
110 - Finally fix GPOS positioning and kerning with non-identity cairo matrices
111 - [HB] Fix lookup_flag ignoring
112 - Fix leak with non-mmapped fonts
113 - Allow using uninstalled glib
114 - Bugs fixed:
115     Bug 341481 - pangocairo kerning problem with nonidentity scaling
116     Bug 587768 - [patch] Don't build pango-view twice
117     Bug 594101 - [Indic] character class data updates to support unicode 5.1
118     Bug 596837 - Typo in pango_cairo_show_layout documentation
119
120 Overview of changes between 1.25.6 and 1.26.0
121 =============================================
122 - New stable release series
123 - Bugs fixed:
124         Bug 595539 - Regressions in rendering certain Thai sequences
125
126 Overview of changes between 1.25.5 and 1.25.6
127 =============================================
128 - Fix a couple of array overflow bugs
129 - Bugs fixed:
130     Bug 593240 - updating pango to latest git master makes things crash
131     Bug 593231 - < c99 compiler dislikes ValueRecord
132
133 Overview of changes between 1.25.4 and 1.25.5
134 =============================================
135 - Minor HarfBuzz code shuffling
136 - Bugs fixed:
137     Bug 592484 -  invalid write in HB
138     Bug 592194 -  Fix missing _SC_PAGE_SIZE macro
139
140 Overview of changes between 1.25.3 and 1.25.4
141 =============================================
142 - Fix various possible overflows in HarfBuzz
143 - Improve HB font sanitizing
144 - Improved win32 performance
145 - Really fix ming32 build issues
146 - Re-enable introspection
147 - Bugs fixed:
148     Bug 592131 -  Add AM_SILENT_RULES
149     Bug 592036 - integer overflow bug causes misrendering of Nepali
150             characters
151     Bug 591511 – hh-blob.c does not compile using mingw on windows
152
153 Overview of changes between 1.25.2 and 1.25.3
154 =============================================
155 - Fix couple of crashers
156 - Enforce -fno-exceptions better, should fix build issues for
157   distros on x86-64.
158 - Call mprotect() only when available.
159 - New public API: pango_glyph_item_get_logical_widths()
160 - Remove G_GNUC_PURE attr from pango_glyph_string_get_width()
161 - Fix buffer corruption in HarfBuzz
162 - Bugs fixed:
163     Bug 591413 – needs to link with libstdc++
164     Bug 591511 – hb-blob.c does not compile using mingw on windows
165     Bug 591557 – [HB] crash scrolling the evolution message list
166     Bug 591576 – crashed with SIGSEGV at pango
167     Bug 591465 – Gimp crashes upon opening the font selection dialog
168
169 Overview of changes between 1.25.1 and 1.25.2
170 =============================================
171 - Tweak C++ compiler options.  If you get link errors with gcc on
172   x86-64 about __gxx_personality_v0(), make sure your CXXFLAGS does
173   not have -fexceptions.  This will be fixed in Pango itself later.
174 - Fix crasher with gzipped fonts.
175     Bug 591409 – crash in firefox.  Handle non-mmapped FT_Face
176
177 Overview of changes between 1.24.5 and 1.25.1
178 =============================================
179 - Merge harfbuzz-ng: brand new OpenType Layout engine
180   Currently is not very portable.  Will be fixed as
181   reports come in.
182
183 - Port to ATSUI backend to use CoreText instead of ATS
184 - New public API:
185
186         pango_gravity_get_for_script_and_width()
187
188 - Misc bug fixes
189     Bug 590042 – pango-view.1 manpage should not be gzipped
190     Bug 410169 – gravity problem with Common chars
191     Bug 589113 – Some characters rotated incorrectly in vertical text
192     Bug 582851 -- Little fix for compiling with Cygwin
193     Bug 588060 -- Fonts missing on Cygwin
194
195 Overview of changes between 1.24.4 and 1.24.5
196 =============================================
197 - Build introspection again
198 - Misc bug fixes
199         Bug 589133 – Firefox 3.5 complains about invalid weak references
200         Bug 585806 – crash during pango_fc_font_map_shutdown
201         Bug 588678 – pango crash: install a new theme from
202
203 Overview of changes between 1.24.3 and 1.24.4
204 =============================================
205 - Misc bug fixes
206     Bug 586814 – Crashes related to fontmap destruction after upgrade
207
208 Overview of changes between 1.24.2 and 1.24.3
209 =============================================
210 - Fix build with new automake
211 - Misc bug fixes
212     Bug 585337 – Fails to install: install: will not overwrite
213         just-created
214     Bug 585164 – 'man preload' shows man page for pango-view
215     Bug 584328 – Persian sample text is not good
216     Bug 583250 – pango_font_metrics_get_approximate_char_width is
217             wrong when LANG=fa_IR
218
219 Overview of changes between 1.24.1 and 1.24.2
220 =============================================
221 - Misc bug fixes
222     Bug 580987 – SIGFPE in pango_glyph_string_index_to_x
223     Bug 580273 – Font metrics functions incorrectly listed as reporting
224             point sizes
225     Bug 579694 – Cygwin parallel-build patch
226     Bug 578944 – pango-1.24.1 fails its testsuite
227     Bug 578935 – Syntax error (missing semicolon) in
228             pango/pangowin32-fontmap.c
229
230 Overview of changes between 1.24.0 and 1.24.1
231 =============================================
232 - Fix a couple of crashers
233 - Fix minor pangofc API semantics breakage
234 - Better handle SFNT fonts in dfont containers
235 - Improved docs
236 - Improved Indic shaper for new Unicode 5.1 characters
237 - Misc bug fixes
238 - Bugs fixed in this release:
239
240     Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD
241     Bug 578336 – ABI breakage from 1.22 to 1.24 in fontmap field
242         of PangoFcFont
243     Bug 556132 – gnome-panel crashed with SIGSEGV in
244         g_cclosure_marshal_VOID__BOXED()
245     Bug 571291 – Unicode 5.1 support in pango - Indic Lanuages
246     Bug 576298 – Fails to link pango-view if --without-x is specified
247         but cairo has X11 support
248
249 Overview of changes between 1.23.0 and 1.24.0
250 =============================================
251 - pango-view improvements:
252
253   * pango-view -q now works without a X server.
254
255   * Ability to save to PS, EPS, PDF, and SVG files.  Filetype is
256     detected from output file extension.
257
258   * New options --foreground, --background, and --annotate.
259
260   * Now installs a manual page, thanks to help2man.
261
262 - PangoFc API changes:
263
264   * PangoFcFont now has a "fontmap" property that subclasses can use
265     at construction time to setup the font->fontmap link.
266
267   * New backend-public API:
268
269         pango_fc_font_map_find_decoder()
270
271 - Misc optimizations
272 - Build fixes
273 - Misc bug fixes
274 - Bugs fixed in this release:
275     Bug 547963 – man page for pango-view
276     Bug 502804 – pango-view or pangocairo-view option to annotate
277     Bug 502801 – per-backend pango-view options
278     Bug 502805 – pango-view option for foreground/background color
279     Red Hat Bug 490331 -  Crash of galeon in libpango
280     Bug 523166 – pango-view opens display even when invoked with -q
281     Bug 567160 – Share cmap cache between PangoFcFont's of the same face
282     Red Hat Bug 487593 -  crash changing language in gdm
283     Bug 572662 – Remove deprecated GTK+ symbols
284     Bug 572529 – Poor -I ordering can break build
285
286 Overview of changes between 1.22.4 and 1.23.0
287 =============================================
288 - Change the PangoFc font loading API to allow for lazy loading of fonts.
289 - Add private PangoFcFontset that loads fallback fonts as needed.
290 - Call FcFontMatch() and only if fallback fonts are needed call FcFontSort().
291 - Optimize HarfBuzz number of malloc calls
292 - Don't malloc megs of unused memory in HarfBuzz
293 - Print-out, and parse, numeric styles correctly.  Things like
294   "DejaVu Sans weight=100" parse as font description now.
295 - New public API:
296
297         Add two new public macros:
298
299                 PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING
300                 PANGO_ATTRIBUTE_INDEX_TO_TEXT_END
301
302         Add new public enum values:
303         
304                 PANGO_WEIGHT_BOOK
305                 PANGO_WEIGHT_ULTRAHEAVY
306                 PANGO_WEIGHT_THIN
307                 PANGO_WEIGHT_MEDIUM
308
309 - Misc bug fixes
310 - Bugs fixed in this release:
311         Bug 569763 – pango doesn't like font descriptions without family!
312         Bug 560792 – Make PangoLayoutLine with line->layout==NULL renderable
313         Bug 567392 – Abiword crashes in pango when opening document with
314                 certain locales
315         Bug 566727 – PangoFontsetLazy
316         Bug 567165 – Apply all pattern matrices
317         Bug 567934 – Add introspection support inside pango
318         Bug 549532 – Correction to the sample string for Hindi in
319                 pango-language-sample-table.h
320         Bug 566726 – Minor optimization
321         Bug 566941 – Add PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING and
322                 PANGO_ATTRIBUTE_INDEX_TO_TEXT_END
323         Bug 551469 – Fold '@' to '-' when parsing PangoLanguages
324         Bug 328206 – Update/remove some old files
325         Bug 166709 – Handle font variants more consistently
326         Bug 166676 – pango_fc_font_map_finalize
327         Bug 164001 - pango-querymodules doesn't work uninstalled on win32
328         Bug 384362 – pango can't select some font styles
329         Bug 168085 – numeric styles in pango_font_description_to_string()
330         Bug 529591 – Code related to malayalam is misplaced.
331                 Patch from Rahul Bhalerao
332         Bug 515807 – Don't bind modules lazily
333         Bug 512662 – Update check.docs for pango-undeclared.txt
334         Bug 565644 – Maybe pango_font_descriptions_free is deprecated
335         Bug 469049 – Fix all compiler warnings
336         Bug 565379 – pango_font_description_better_match some style attributes
337                 of old_match are not checked
338         Bug 564877 – pango-engine.h: PANGO_MODULE_PREFIX and G_MODULE_EXPORT
339
340 Overview of changes between 1.22.3 and 1.22.4
341 =============================================
342 - Misc bug fixes
343 - Improved docs
344 - Bugs fixed in this release:
345         Bug 564644 – Not complete description of the
346                 pango_font_description_better_match function
347         Bug 563898 – Generated output is not deterministic
348         Bug 563803 – pango_renderer_finalize fails to call parent finalize
349         Bug 499626 – Space should be optional after comma in
350                 PangoFontDescription input string
351         Bug 499624 – Spaces around commas in PangoFontDescription family name
352                 should be trimmed
353         Bug 563557 – set g_get_prgname() in fc pattern
354         Bug 563356 – The input area of firefox and the blank width after text
355                 in gnome-menu was stretched too wide, under pango-1.22.3
356         Bug 562574 – Pangocariowin32 is leaking every cairo font it ever
357                 creates
358
359 Overview of changes between 1.22.2 and 1.22.3
360 =============================================
361 - Minor bug fix with matrix operations
362 - Fix build with older compilers
363 - Bugs fixed in this release:
364         Bug 561779 – incorrect calculations in pango_matrix_concat
365                 implementation
366         Bug 560730 – pango 1.22.2 build failure on Solaris 10, too many array
367                 initializers in pango-language.c
368         Bug 561740 – Use stack allocation for thai_engine_break
369
370 Overview of changes between 1.22.1 and 1.22.2
371 =============================================
372 - Fix crasher when a PangoFcFontMap was freed before its fonts.
373 - Mark monospace fonts as monospace in the pangoatsui backend.
374 - Fix font description parsing to better handle "normal".
375 - Bugs fixed in this release:
376         Bug 558254 – Internal reference handling messed up
377         Bug 558107 – is_monospace always returns FALSE in pangoatsui
378         Bug 557620 – pango_font_description_from_string not correct
379
380 Overview of changes between 1.22.0 and 1.22.1
381 =============================================
382 - Fix crasher when freeing PangoLayoutIter's
383 - Fix loading of bogus OpenType anchor tables
384 - Fix OpenType CursiveChain positioning
385 - Misc bug fixes
386 - Bugs fixed in this release:
387         Bug 528272 – "Error loading GPOS table 5503" when using katakana
388                 characters
389         Bug 552107 – Small libtool fixes
390                 Patch by Patryk Zawadzki
391         Bug 539623 – document that pango_color_parse accepts NULL
392         Bug 555219 – Memory leak when using pango_layout_iter_copy
393                 Patch from Falk Rohsiepe
394         Bug 553345 – Japanese pangram.
395                 Patch from  Takeshi AIHANA
396
397 Overview of changes between 1.21.6 and 1.22.0
398 =============================================
399 - Require cairo >= 1.7.6.
400 - Improved Romanian sample text
401 - Don't use deprecated glib win32 API
402 - Misc bug fixes
403 - Bugs fixed in this release:
404         Bug 552993 – Romanian pangram
405         Bug 551865 – Can't change justification of a PangoLayout after first
406                 draw
407         Bug 551416 - pangowin32-fontcache.c: argument is different type
408
409 Overview of changes between 1.21.5 and 1.21.6
410 =============================================
411 - Win32 cross-compiling build system fix
412 - Improve language sample strings.
413 - Bugs fixed in this release:
414         Bug 550659 – configure.in ignores a win32 backend only scenario
415         Bug 549758 – Swedish font sample text could use punctuation
416         Bug 549522 – New pt_BR pangram for pango
417         Bug 549520 – fr sample string
418
419 Overview of changes between 1.21.4 and 1.21.5
420 =============================================
421 - Make the reference the font->fontmap reference weak.  Previously all
422   fontmaps had circular references to their fonts and back, making them
423   leak instead of being freed upon finalization.  Now they all clean after
424   themselves.  There's a slight semantic change though, that a PangoFont does
425   not keep its fontmap alive anymore, so that's up to the user.  But then
426   again, finalizing fontmaps is not a good idea to begin with.
427
428 - Improve pango_language_get_sample_string() to add language sample texts that
429   are actually usable.  Compiled from a variety of sources.
430   See pango-language-sample-table.h.
431
432 - In pango_language_get_sample_string() use default language if provided
433   language is NULL.
434
435 - Update OpenType language-system tags to OpenType 1.5 draft intersected with
436   ISO639-3 of 2008/08/04.
437
438 - New API additions:
439         Add a minor new public API:
440
441                 pango_language_get_scripts()
442         
443         This is what pango_language_includes_script() has been using
444         internally.  Previously one had to call that function over all
445         possible script values to determine which scripts a language
446         uses.  The new API makes that much easier.
447
448 - Bugs fixed in this release:
449         Bug 549003 – pango_layout_set_height(): layout should not be cleared
450                      unless required
451         Bug 143542 – PangoFT2Fontmap leak
452         Bug 314094 – Get rid of poutpourri default sample string
453         Bug 473806 – Improve pango_language_get_sample_string()
454         Bug 473805 – Add API enumerating scripts for a language
455         Bug 470895 – Improve OpenType language tag list
456         Bug 547432 – Deprecation of pango_(backend)_font_map_create_context()
457                      not clean
458
459 Overview of changes between 1.21.3 and 1.21.4
460 =============================================
461 - Use cairo_show_text_glyphs() if target cairo surface supports that.
462   This is done by adding a new PangoRenderer method, draw_glyph_item().
463   Custom PangoRenderer implementations that delegate to pango_cairo
464   may want to implement this method if they target PDF files.
465 - Requires cairo >= 1.7.4 now
466 - Win32 build improvements
467 - Justify lines broken by U+2028 LINE SEPARATOR
468 - Various small fixes and improvements
469 - New API additions:
470
471         New public API:
472
473                 PangoRenderer::draw_glyph_item()
474                 pango_renderer_draw_glyph_item()
475
476         Make layout and layout-line default renderers go through
477         draw_glyph_item(), which then by default falls back to
478         draw_glyphs().  The advantage in draw_glyph_item() is that it
479         has access to the text and cluster information.
480
481         New public API, for iterating a PangoGlyphItem:
482
483                 PangoGlyphItemIter
484                 PANGO_TYPE_GLYPH_ITEM_ITER
485                 pango_glyph_item_iter_copy()
486                 pango_glyph_item_iter_free()
487                 pango_glyph_item_iter_init_start()
488                 pango_glyph_item_iter_init_end()
489                 pango_glyph_item_iter_next_cluster()
490                 pango_glyph_item_iter_prev_cluster()
491
492         Make the following previously backend-only API public:
493
494                 pango_context_new()
495                 pango_context_set_font_map()
496
497         This also means that bindings are recommended to allow
498         instantiation of pango.Context.  This was discouraged before.
499
500         New public API:
501
502                 pango_font_map_create_context()
503
504         This is equivalent to pango_context_new() followed by an
505         immediate pango_context_set_font_map().  This change also
506         deprecates various per-fontmap-type context constructors:
507
508         Deprecate pango_cairo_font_map_create_context().
509         Deprecate pango_fc_font_map_create_context().
510         Deprecate pango_ft2_font_map_create_context().
511         Deprecate pango_win32_get_context().
512         Deprecate pango_xft_get_context().
513         Deprecate pango_x_get_context().
514
515         Language bindings are encouraged to bind
516         pango.Fontmap.create_context() and remove the create_context()
517         method from subclass implementations.
518
519
520 - Bugs fixed in this release:
521         Bug 547303 – pango_layout_get_cursor_pos crashes on certain text
522                 buffers
523         Fedora Bug 457883 - Sindhi Characters are not supported in
524                 pango [U+097B-U+097F]
525                 Patch from Pravin Satpute
526         Bug 441654 – prefix fails when more than one base characters (as
527                 conjuncts) present after a half form the next prefix renders
528                 incorrectly
529                 Patch from  Rahul Bhalerao
530         Bug 546534 – pango_cairo_font_map_set_default(NULL) errs
531         Bug 431394 – Use pango_glyph_item_iter in more places
532         Bug 377948 – Make pango_glyph_item_iter public
533         Bug 472625 – Add draw_glyph_item() to PangoRenderer
534         Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
535         Bug 540036 – Doesn't link to fontconfig
536         Bug 380094 – Fix split matra rendering bug for Kannada language
537         Bug 536017 – Remove SF_MPRE_FIXUP from Sinhala script flags
538                 Patch by Harshula
539
540 Overview of changes between 1.21.2 and 1.21.3
541 ==============================================
542 - Various small fixes and improvements
543 - Bugs fixed in this release:
544         Bug 538661 – Improve pango_cairo_context_update_context()
545         Bug 536190 – Make pango_fc_font_map_clear_cache() public?
546         Bug 537258 – Add a pango_language_to_string() function
547         Bug 537257 – pango_language_from_string(NULL) not happy
548         Bug 537186 – Make PangoFcFont pattern property readable
549
550 Overview of changes between 1.21.1 and 1.21.2
551 ==============================================
552 - Various win32 font handling improvements
553 - Bugs fixed in this release:
554         Bug 510299 – OpenType font variants are broken with ATSUI/Cairo
555         Bug 436363 - Bold and Bold Italic style of MS-Mincho font are not
556                 listed in GtkFontSelection
557         Bug 523193 – Vista Hebrew, CJK fonts to builtin win32 pango aliases
558                 Patch by Daniel Atallah.
559
560 Overview of changes between 1.21.0 and 1.21.1
561 ==============================================
562 - Partial work to make pango_break() exactly follow Unicode TR#14 and TR#29.
563   The Grapheme Boundaries and Word Boundaries now work.  For word boundaries,
564   a new member was added to PangoLogAttr.  Sentence Boundaries and Line Breaks
565   to follow in the next release.
566 - Err if no cairo font backends found
567 - Misc bug fixes
568 - New public API:
569         Add new PangoLogAttr member is_word_boundary, that implements UAX#29's
570         Word Boundaries semantics.  The is_word_start and is_word_end members
571         will change implementation later on to be consitent with the word
572         boundaries.
573
574 - Bugs fixed in this release:
575         Bug 531242 – Leak when calculating win32 font coverage
576                 Patch from Daniel Atallah
577         Bug 530757 – Docs build breaks because of hash sign in URL in <ulink...>
578         Bug 530685 – Pango no longer using cairo as a backend as of pango 1.19.4
579         Part of Bug 97545 – Make pango_default_break follow Unicode TR #29
580
581 Overview of changes between 1.20.2 and 1.21.0
582 ==============================================
583 - Require cairo >= 1.6.4.
584 - Write out HarfBuzz errors as hex.
585 - Add a section in the docs for bidirectional text.
586 - Improved hex-box rendering in the cairo backend.
587 - Add some aliases for <span> tag attributes.
588 - Preserve current-point around pango_cairo_* functions.
589 - New public API:
590         pango_attr_type_get_name()
591         enum PangoBidiType;
592         pango_bidi_type_get_type()
593         pango_bidi_type_for_unichar()
594         pango_layout_get_baseline()
595         pango_cairo_create_context()
596         pango_cairo_font_map_set_default()
597
598 - Bugs fixed in this release:
599         Bug 515432 – Add function to get bidirectional character type of a
600                 unicode character
601                 Patch from Jürg Billeter
602         Bug 517119 – Add pango_cairo_create_context()
603         Bug 404416 – pango_layout_get_baseline or something
604         Bug 474706 – cairo hexbox looks ugly
605         Bug 490669 – add some <span> attribute aliases
606         Bug 501334 – Make pango_cairo_[show_]*[_path]() functions preserve
607                 current point
608         Bug 514617 – Add pango_cairo_font_map_set_default()
609         Bug 511183 – Add pango_attr_type_get_name()
610
611 Overview of changes between 1.20.1 and 1.20.2
612 ==============================================
613 - Really fix build on OS X.
614
615 Overview of changes between 1.20.0 and 1.20.1
616 ==============================================
617 - Update to Unicode Character Databse 5.1.0.  This adds new entries to
618   the PangoScript enum.  Requires glib >= 2.16.3 for the update Unicode
619   data there, but not bumping the requirement in a stable point release.
620 - Try making our OS X stuff compile with latest cairo 1.5.x snapshots
621   that renamed cairo-atsui to cairo-quartz-font, as well as older versions.
622 - Minor bug fixes.
623
624 Overview of changes between 1.19.4 and 1.20.0
625 ==============================================
626 - New stable release!
627 - Bugs fixed in this release:
628         Bug 518084 – Thai is not Virama language
629                 Patch from Theppitak Karoonboonyanan
630
631 Overview of changes between 1.19.3 and 1.19.4
632 ==============================================
633 - Make Win32 backend be able to use Type1 fonts
634 - Fixed blocker bug with pango_layout_set_height() and positive height.
635 - Fixed small leak in ATSUI backend.
636 - Improved docs.
637 - Bugs fixed in this release:
638         Bug 511172 – pango_layout_set_height() with positive height always
639                 shows at least two lines
640         Bug 515484 – Uniscribe interface handles surrogate
641                 pairs incorrectly
642         Bug 515484 – Pango on Windows is missing Type 1
643                 font support
644                 Patch from Adrian Johnson.
645         Bug 517083 – pango modules: wrong fallback adding code?
646         Bug 515484 – Variable is initialized twice
647         Bug 504810 – Samvruthokaram (combination of U+0D41 and U+0D4D) is not
648                 rendered correctly
649                 Patch from Praveen A
650         Bug 496244 – Don't use freetype-config, use pkg-config
651         Bug 512566 – dont' use deprecated macro
652                 Patch from Christian Persch
653         Bug 512473 – [patch] gtk-doc warnings
654
655 Overview of changes between 1.19.2 and 1.19.3
656 ==============================================
657 - pango_layout_get_pixel_extents() and pango_layout_line_get_pixel_extents()
658   now round extents to pixels inclusively.  That is, pass both ink_rect and
659   logical_rect as first argument to pango_extents_to_pixels().
660
661 - Rename pango_extents_to_pixels() function arguments from @ink_rect and
662   @logical_rect to @inclusive and @nearest.  Given that this API is a
663   fairly new addition and not commonly used, language bindings are
664   encouraged to update their argument names accordingly.  Moreover, they
665   are encouraged to wrap this function as two different calls:
666   extents_to_pixels_inclusive() and extents_to_pixels_nearest(), or
667   similar conventions that best reflect their native language.
668
669 - HarfBuzz was relicensed to a more generous and simpler license.
670   Adapt.  See pango/opentype/COPYING for the new license which is
671   LGPL-compatible.
672
673 - New public API:
674
675         pango_layout_set_height()
676
677   This sets the height to which the #PangoLayout should be ellipsized at.
678   There are two different behaviors, based on whether @height is positive or
679   negative.
680
681   If @height is positive, it will be the maximum height of the layout.  Only
682   lines would be shown that would fit, and if there is any text ommitted, an
683   ellipsis added.  At least one line is included in each paragraph regardless
684   of how small the height value is.  A value of zero will render exactly one
685   line for the entire layout.
686
687   If @height is negative, it will be the (negative of) maximum number of lines
688   per paragraph.  That is, the total number of lines shown may well be more
689   than this value if the layout contains multiple paragraphs of text.  The
690   default value of -1 means that first line of each paragraph is ellipsized.
691
692   Height setting only has effect if a positive width is set on @layout and
693   ellipsization mode of @layout is not %PANGO_ELLIPSIZE_NONE.
694   The behavior is undefined if a height other than -1 is set and ellipsization
695   mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the future.
696
697   There are still bugs remaining to be fixed, notably bug 511172 (which will
698   be fixed before 1.20), and bug 511171 (which will be fixed in a future
699   version).
700
701 - New command-line arguments to pango-view: --height and --single-par.
702
703 - Make the following symbols available to engines:
704
705         PANGO_IS_OT_INFO
706         PANGO_IS_OT_RULESET
707         PANGO_OT_INFO
708         PANGO_OT_RULESET
709         PANGO_TYPE_OT_INFO
710         PANGO_TYPE_OT_RULESET
711         pango_ot_info_get_type
712         pango_ot_ruleset_get_type
713
714 - Bugs fixed in this release:
715         Bug 508002 – change pango_layout_pixel_extents() to round logical rect
716                 to be inclusive
717         Bug 469313 – Add pango_layout_set_height()
718         Bug 508179 – PangoGlyphUnit confusion
719         Bug 508381 – indent and center alignment don't mix
720         Bug 508007 – Add option for single-paragraph mode to pango-view
721         Bug 506284 – docs typo for pango_coverage_unref
722                 Patch from Christian Persch
723         Bug 504802 – build failure: No rule to make target
724                 `pango-querymodules.1', needed by `all-am'. Stop.
725         Bug 504585 – pango-querymodules.1 syntax error
726         Red Hat Bug 426178: gtkdoc-scan fails on pango
727
728 Overview of changes between 1.19.1 and 1.19.2
729 ==============================================
730 - Render a crossed box for each invalid input byte to pango_layout_set_text().
731   Previously we rendered an ASCII question mark instead.  The crossed box has
732   a glyph of value of PANGO_GLYPH_INVALID_INPUT.
733 - Use pkg-config to detect cairo features [Benjamin Otte]
734 - Improved docs.  Particularly, examples/cairo*.c have inline docs now.
735 - New public macro:
736
737         PANGO_GLYPH_INVALID_INPUT
738
739 - Bugs fixed in this release:
740         Bug 502926 – pango-1.16.4 configure bug: can fail to accept cairo
741         Bug 399573 – replace strtoul in pango-markup.c with pango_scan_int()
742         Bug 478914 – Use something invalid instead of '?' when validating
743                 input text
744         Bug 501938 – Arabic shaping broken with vertical layout with
745                 vertical-hint=line
746         Bug 501575 – Compile errors
747                 Patch from Jens Granseuer
748
749 Overview of changes between 1.19.0 and 1.19.1
750 ==============================================
751 - Various cleanup in the HarfBuzz code and merging with upstream/Qt changes.
752 - Built-in pango.aliases file for Win32 default aliases.
753 - Document cairo examples and misc documentation improvements.
754 - Bugs fixed in this release:
755         Bug 485536 – underline_position can be zero
756         Bug 500549 – pangocairo.h should include pango.h and cairo.h
757         Bug 492517 – Built-in default aliases file
758         Bug 495091 – pango-utils.c:variable is declared at middle of block
759
760 Overview of changes between 1.18.3 and 1.19.0
761 ==============================================
762 - Update list of languages to that of fontconfig-2.4.91.
763 - Various optimizations, making rendering the same Pango layout using
764   changing cairo matrices much faster.
765
766 - Make sure all boxed type copy/free functions accept NULL as legitimate
767   input.  Previously most were g_return_[val_]if_fail()ing it.  This is
768   mostly for convenience when writing code in C.
769
770 - Apply 'vkrn' GPOS feature in vertical writing.
771
772 - In pangofc, set "pangoversion" in pattern passed to fontconfig,
773   such that font configuration can condition on being driven by Pango
774   or not.
775
776 - Various optimizations and cleanups in the OpenType Layout engine,
777   aka HarfBuzz.
778
779
780 - Changed APIs:
781
782   * All PangoAttribute constructors are changed to initialize the
783     attribute to the range [0..MAXUINT].  The range was undefined
784     previously.  All custom attribute constructors are recommended
785     to call the new pango_attribute_init() to do the same.
786
787   * Public API chance: Mark the following types as abstract:
788
789         PangoFont
790         PangoFontFace
791         PangoFontFamily
792         PangoFontMap
793         PangoFcFont
794         PangoFcFontMap
795
796     PangoContext may be marked so in the future too.
797
798   * Make following macros public.  Previously they were only
799     defined for backend/engine implementations.
800
801         PANGO_GLYPH_EMPTY
802         PANGO_GLYPH_UNKNOWN_FLAG
803         PANGO_GET_UNKNOWN_GLYPH()
804
805
806 - New public API:
807         
808   * Convenience for initializing custom attributes:
809
810         pango_attribute_init()
811
812   * Adding boxed type for PangoGlyphItem:
813
814         PANGO_TYPE_GLYPH_ITEM
815         pango_glyph_item_copy()
816         pango_glyph_item_get_type()
817
818   * Add missing copy function for a boxed type in C:
819
820         pango_layout_iter_copy()
821
822   * Add missing getter:
823
824         pango_layout_iter_get_layout()
825
826   * Convenience for writing custom PangoRenderer's:
827
828         pango_renderer_get_layout()
829         pango_renderer_get_layout_line()
830
831   * PangoFc extensions to fontconfig's pattern syntax:
832
833         PANGO_FC_GRAVITY
834         PANGO_FC_VERSION
835
836
837 - Bugs fixed in this release:
838         Bug 490661 – Pango Markup: Link to font_desc syntax explanation
839                 Based on patch from Chris Toshok
840         Bug 489909 – pango_cairo_update_context() should ignore matrix
841                 translation
842         Bug 488840 – harfbuzz: protect against ligid overflow
843         Bug 486932 – Apply vkrn GPOS feature in vertical writing
844         Bug 486951 – ChangeLog.pre-1-18
845         Bug 485621 – Get rid of freetype memory allocator in harfbuzz
846         Bug 485566 – Cache one OpenType Buffer
847         Bug 485559 – Boston Summit HarfBuzz optimizations
848         Bug 481537 – compiler warning fixes
849                 Patch from Kjartan Maraas
850         Bug 478865 – Drastically reduce number of PangoFont objects created
851                 for rotating text
852         Bug 472924 – Mark some classes abstract
853         Bug 472629 – Add pango_renderer_get_layout(_line)
854         Bug 472303 – Make PANGO_GLYPH_EMPTY and PANGO_GLYPH_UNKNOWN_FLAG public
855         Bug 471601 – Pass pango version information to fontconfig
856         Bug 471577 – GBoxed GType for PangoGlyphItem
857         Bug 471571 – Add pango_layout_iter_get_layout()
858         Bug 471568 – Optimizations in _pango_cairo_update_context()
859         Bug 469641 – Initialize attribute start/end to [0..MAXUINT]
860
861
862 Overview of changes between 1.18.2 and 1.18.3
863 ==============================================
864 - Two OpenType engine fixes.  Makes Nafees Nastaliq font
865   work great, and avoids warnings with some other fonts.
866 - Fix minor leak in win32 backend.
867 - Bugs fixed in this release:
868         Bug 483600 – Leak of font family name in
869         pango_win32_font_description_from_logfont(w)
870         Patch from Daniel Atallah
871
872 Overview of changes between 1.18.1 and 1.18.2
873 ==============================================
874 - Require libthai >= 0.1.9 for enabling thai-lang module
875 - Misc bug fixes
876 - Bugs fixed in this release:
877         Bug 474708 – pangocairo leaks memory
878         Bug 472891 – Bad consistency check in pango_get_log_attrs
879                 Patch from Mathias Hasselmann
880         Bug 302952 – The placement of a diacritic marks for an arabic ligature
881                 is not correct
882         Bug 410152 – testboundaries test fails
883
884 Overview of changes between 1.18.0 and 1.18.1
885 ==============================================
886 - Misc bug fixes, including fix for an infinite-loop bug.
887
888 - Bugs fixed in this release:
889         Bug 470042 – missing Macedonian OT tag
890                 Patch from Denis Jacquerye
891         Bug 468953 – pango-renderer.c: using function without prototype
892         Bug 463430 – Gets stuck while "formatting message"
893
894 Overview of changes between 1.17.5 and 1.18.0
895 ==============================================
896 - Make pango_script_for_unichar() just call g_unichar_get_script(),
897   and document that PangoScript and GUnicodeScript are interchangeable
898   enumerations.
899
900 - Misc bug fixes
901
902 - Bugs fixed in this release:
903         Bug 348348 – Add a way to get the script name of a gunichar
904         Bug 451682 – Cursor positioning for Sinhala is broken
905                 Based on patch from Harshula
906         Bug 462137 – memory corruption in pango_default_break
907         Bug 462420 – Clicking on pixbuf should move the cursor to the position
908                 nearest to the click point
909         Bug 462630 – pango_cairo_context_set_font_options() and some others
910                 don't have a Since: tag
911         Bug 464183 – Minimum tab width enforcement in pango-layout breaks
912                 TabArray positions
913                 Patch by David Trowbridge
914         Bug 464270 – ellipsize doesn't work consistent
915         Bug 465174 – TextView is ignoring multiple consecutive \t's
916         Bug 466755 – pango hangul is crashing in gnome-about because it is
917                 failing to retrieve a font.
918         Bug 467056 – Shape attribute handling is not consistent
919         Bug 467077 – Remove special-case for shape attribute in
920                 pango_layout_line_index_to_x()
921
922 Overview of changes between 1.17.4 and 1.17.5
923 ==============================================
924 - Export PangoCairoFont and cleanup various standard macros.
925
926 - Bugs fixed in this release:
927         Bug 150883 – Unicode LRO defect
928         Bug 449482 – Build error when xft not present
929         Part of Bug 347236 – provide pango_cairo_font_get_scaled_font
930
931 Overview of changes between 1.17.3 and 1.17.4
932 ==============================================
933 - Refactored the ATSUI font backend and install pangoatsui.h
934   that has a single function pango_atsui_font_get_atsu_font_id() and
935   a couple of types.
936
937 - Bugs fixed in this release:
938         Bug 451547 – FAIL: runtests.sh
939         Bug 449543 - Ship pangoatsui.h
940
941 Overview of changes between 1.17.2 and 1.17.3
942 ==============================================
943 - Extensive pangocairo internal code refactoring and cleanup
944
945 - New public API:
946
947         pango_font_face_is_synthesized()
948
949         pango_cairo_font_get_scaled_font()
950         pango_cairo_font_map_new_for_font_type()
951         pango_cairo_font_map_get_font_type()
952
953 - New engine macros:
954         
955         PANGO_OT_TAG_MAKE()
956         PANGO_OT_TAG_MAKE_FROM_STRING()
957
958 - New PangoFontFace method is_synthesized.
959
960 - Misc bug fixes
961 - Bugs fixed in this release:
962         Bug 337593 – move glyph extents code (and cache) from
963                 pangocairo-*font.c into pangocairo-font.c
964         Bug 347235 – Add pango_cairo_font_map_get_font_type
965         Bug 347236 – provide pango_cairo_font_get_scaled_font
966         Bug 353291 – Provide pango_cairo_font_map_new_for_font_type
967         Bug 438801 – underline should add "error" type.
968         Bug 440588 – Add pango_font_face_is_synthesized()
969         Bug 445832 – pango_cairo_update_layout() always invalidates layout
970         Bug 446018 – Bus error in the pango_ot_tag_from_language()
971         Bug 446355 – the parsing with pango_parse_markup is not coherent
972         Bug 447189 – fonts.c: pango_font_face_is_synthesized returns NULL
973         Bug 447568 – improve docs on what absolute size means
974         Bug 448342 – pango_layout_index_to_line_x() counts lines from 1
975
976 Overview of changes between 1.17.1 and 1.17.2
977 ==============================================
978 - Rename recently added pango_ot_ruleset_get_for() to
979   pango_ot_ruleset_get_for_description().
980
981 - New engine API: pango_ot_ruleset_new_from_description().
982
983 - Treat Unknown script like Common and other non-"real" scripts.
984   [Martin Hosken]
985
986 - Misc typo fixes [Peter Moulder]
987
988 - Bugs fixed in this release:
989
990         Bug 443206 – PANGO_SCRIPT_UNKNOWN should not cause a run break
991         Patch from Martin Hosken
992
993 Overview of changes between 1.17.0 and 1.17.1
994 ==============================================
995
996 - Ported the rest of OpenType shapers to the new OpenType APIs and
997   added standard features to them: Hebrew, Indic, Khmer, Thai, and Tibetan.
998
999 - Added N'Ko support to the Arabic module. [Eugeniy Meshcheryakov]
1000
1001 - Small Indic module fix for Malayalam.
1002
1003 - Fixed font metrics returned by the ATSUI backend. [Richard Hult]
1004
1005 - Make itemization use pango_language_get_default() if context has no
1006   language set on it.  Ditto for pango_context_get_metrics() if both
1007   input language and context language are NULL.
1008
1009 - Improved documentation on vertical text, also added stability note
1010   to those parts of Pango API that are not indefinitely stable (shaper
1011   and language engine APIs).
1012
1013 - Misc bug fixes.
1014
1015 - New OpenType engine API:
1016
1017         pango_ot_ruleset_get_feature_count()
1018
1019 - Bugs fixed in this release:
1020
1021         Bug 357790 – Rendering problem for malayalam consonant RA (U+0D30)
1022         Bug 385168 – indic, khmer, and tibetan modules don't apply ccmp
1023         Bug 385477 – kern feature is not supported in OpenType layout for Tibetan.
1024         Bug 433805 - [Atsui] Approximate char/digit width width often 0
1025         Bug 436699 – N'Ko support
1026         Bug 438705 – Test runs non-existent "/bin/bash" on HP-UX 11.11
1027         Bug 438814 – synaptic crash with pango 1.17.0
1028         Bug 440603 – Minor ABI change
1029
1030 Overview of changes between 1.16.4 and 1.17.0
1031 ==============================================
1032
1033 General:
1034
1035 - Text justification.  A simple justification algorithm is implemented
1036   that tries to justify by expanding spaces in the line, and if none
1037   found, by adjust letter spacing.  [Based on patch by Mathias
1038   Hasselmann]
1039
1040 - The pango_script_get_sample_language() function is modified to use
1041   the value of environment variables PANGO_LANGUAGE or LANGUAGE
1042   (checked in that order) to make guess better languages for scripts.
1043   The env var should be a list of language tags, like "en:fa" for
1044   example where in effect makes Pango choose Persian (fa) fonts
1045   instead of Arabic (ar) fonts when a run of text in the Arabic script
1046   is found in an otherwise non-Arabic layout.
1047
1048   This trick is also useful for East Asian languages.  For example a
1049   Japanese user that cannot set her primary language to Japanese can
1050   still set PANGO_LANGUAGE="ja" and Pango will map CJK characters to
1051   Japanese.
1052
1053   The LANGUAGE env var is a standard gettext variable listing
1054   languages the user wants to receive UI translated messages in.
1055   However, since most packages don't provide separate English
1056   translations, setting LANGUAGE="en:ja" doesn't have the intended
1057   effect and UI messages will be shown in Japanese.  For these
1058   situations one can use LANGUAGE="en:C:ja".  Pango skips the special
1059   language tag 'C'.
1060
1061 - Simplified embedded-shape rendering with pangocairo backends do.
1062   [Richard Hult]
1063
1064 - New header file: Moved PangoLanguage APIs into its own header
1065   pango-language.h, which is included from pango-types.h.
1066
1067 - ATSUI backend now lists synthesized italic faces like other
1068
1069 - Misc optimizations and fixes.
1070
1071 OpenType Layout Engine Improvements:
1072
1073 - Vertical glyph variants are not selected in vertical text if the
1074   font supports them.
1075
1076 - Instead of hardcoded OpenType script tag in each module, and using
1077   Default Language System unconditionally, Pango will now find and use
1078   the script/lang-sys pair that best matches the detected script and
1079   language of a run of text.  Moreover, it also applies the OpenType
1080   'locl' feature.
1081   
1082   These, plus the PANGO_LANGUAGE env var, give font designers and
1083   users lots of options to provide/choose language-specific glyph
1084   variants.
1085   
1086   Only basic, arabic, and syriac modules updated to take advantage of
1087   the new support so far.
1088
1089 New pango-view command line options:
1090
1091         --align
1092         --justify
1093         --language
1094
1095 Public API Changes:
1096
1097 - New public pangocairo API:
1098
1099         PangoCairoShapeRendererFunc
1100         pango_cairo_context_set_shape_renderer() 
1101         pango_cairo_context_get_shape_renderer() 
1102
1103   These are used by the default pangocairo renderer to render shape
1104   attributes (see examples/cairoshape.c).  Cairo-based PangoRenderer
1105   implementations outside Pango may want to implement the draw_shape()
1106   method similarly to provide compatibility with these new APIs.  (See
1107   bug #437533 for GdkPangoRenderer for example.)
1108
1109 - Other public API changes:
1110
1111         New is_expandable_space member in PangoLogAttr
1112         New macro PANGO_UNITS_ROUND()
1113
1114 - New OpenType engine API.  These are engine API, for use by Pango
1115   modules, and typically need not to be bound by language bindings:
1116
1117         PANGO_OT_NO_FEATURE
1118         PANGO_OT_NO_SCRIPT
1119         PANGO_OT_TAG_DEFAULT_SCRIPT
1120         PANGO_OT_TAG_DEFAULT_LANGUAGE
1121         PangoOTFeatureMap
1122         PangoOTRulesetDescription
1123         pango_ot_ruleset_get_for()
1124         pango_ot_ruleset_new_for()
1125         pango_ot_ruleset_maybe_add_feature()
1126         pango_ot_ruleset_maybe_add_features()
1127         pango_ot_ruleset_description_hash()
1128         pango_ot_ruleset_description_equal()
1129         pango_ot_ruleset_description_copy()
1130         pango_ot_ruleset_description_free()
1131         pango_ot_tag_from_script()
1132         pango_ot_tag_to_script()
1133         pango_ot_tag_from_language()
1134         pango_ot_tag_to_language()
1135
1136 - Bugs fixed in this release:
1137
1138         Bug 64538 – pango_layout_set_justify() doesn't work
1139         Bug 325714 – Pango should respect $LANGUAGE
1140         Bug 414264 – Pango vertical writing support is different with real
1141                      CJK usage.
1142         Bug 416515 – Time is not aligned with date on vertical panel
1143         Bug 429397 – Updated MS Mincho/Gothic are not listed in font dialog
1144                      properly on Vista/
1145         Bug 433805 – [Atsui] Approximate char/digit width width often 0
1146                      (worked around)
1147         Bug 434160 - [atsui] Italic versions of some faces can't be created
1148         Bug 435709 – pango_cairo_context_[sg]et_shape_renderer()
1149         Bug 355789 – Pango misaligns word-wrapped text due to trailing
1150                      whitespace
1151         Bug 436154 – Error building the pango.modules file while cross
1152                      compiling
1153         Bug 436988 – Adding PangoScript to PangoAnalysis
1154         Bug 437534 – pango_language_includes_script is buggy
1155
1156 Overview of changes between 1.16.3 and 1.16.4
1157 ==============================================
1158 - Add new configure option --disable-doc-cross-references and make
1159   sure releases are made using it.  Distributions are encouraged to
1160   build with --enable-gtk-doc such that their Pango docs correctly
1161   cross reference glib and cairo docs.
1162 - Bugs fixed in this release:
1163         Bug 432991 – developer docs for libpango are broken
1164
1165 Overview of changes between 1.16.2 and 1.16.3
1166 ==============================================
1167 - Quantize kerning value if metrics hinting is on.  This greatly improves
1168   screen text rendering with certain fonts like DejaVu Sans.
1169   See: http://behdad.org/blog/mces/image/metricshinting-kerning.png
1170 - Improved hex-box positioning in the cairo backend
1171
1172 Overview of changes between 1.16.1 and 1.16.2
1173 ==============================================
1174 - Fixed various bug in the OpenType Layout code (HarfBuzz)
1175 - Improved documentation
1176 - Improved ATSUI backend
1177 - Misc build system fixes
1178 - Bugs fixed in this release:
1179         Bug 417946 – pangowin32-fontmap.c:using function without prototype
1180         Bug 419262 - Don't create coverage every time it's asked for
1181
1182 Overview of changes between 1.16.0 and 1.16.1
1183 ==============================================
1184 - Improved Win32 backend: The Win32 backend has been
1185   updated to always require Uniscribe at compile-time (it still
1186   is optional at run-time), and to use the wide-character variants
1187   of Windows APIs which improves the backend in many ways.  The
1188   1.16.0 release is obsolete as far as the Win32 backend is
1189   concerned, and official DLLs were not built for it.
1190 - Misc build system fixes
1191 - Bugs fixed in this release:
1192         Bug 110521 – can't find bold and/or italic fonts on win32
1193         Bug 120195 – there are some functions in pangowin32-fontmap.c that
1194                 might maybe should be static
1195         Bug 407315 – Use wide character Win32 API in the pangowin32 code
1196         Bug 412654 – SED variable undefined in the `libtool --config' output
1197                 used by configure
1198         Bug 414297 – Fails to build with --enable-static
1199                 --with-included-modules in thai lang module
1200                 Patch from Loïc Minier
1201
1202 Overview of changes between 1.15.6 and 1.16.0
1203 ==============================================
1204 - Improved docs, with an object hierarchy and cross references to glib and
1205   cairo docs now (may require rebuilding the docs to correctly detect glib
1206   and cairo prefixes).
1207 - Improved font selection for space characters
1208 - Misc build system fixes
1209 - Bugs fixed in this release:
1210         Bug 407087 – autogen.sh wants automake-1.7
1211         Bug 409212 – Missing link flag prevents build with "-z defs" ld flags
1212                      Patch from Loïc Minier
1213         Bug 355987 – choosing font/shaper for spaces breaks Arabic runs on
1214                      spaces
1215
1216 Overview of changes between 1.15.5 and 1.15.6
1217 ==============================================
1218 - Fix possible crasher in win32 font selection [Owen Taylor]
1219 - Misc build fixes.
1220 - Bugs fixed in this release:
1221         Bug 399738 – pango 1.15.5 won't compile on Mac OS X: 'FC_HINT_STYLE'
1222                 undeclared (first use in this function)
1223         Bug 404295 – Crash initializing pango-win32 fontmap
1224
1225 Overview of changes between 1.15.4 and 1.15.5
1226 ==============================================
1227 - Fix the "menu accels are two chars wide" bug that was introduced in 1.15.4
1228 - Respect FC_HINT_STYLE in the ft2 backend.  Patch has been in Fedora for ages.
1229 - Require automake 1.9
1230 Bugs fixed in this release:
1231         Bug 398238 – pangorc file missing from tests directory
1232
1233 Overview of changes between 1.15.3 and 1.15.4
1234 ==============================================
1235 General:
1236 - Finish vertical text support.
1237 - Fix various bugs that could cause ellipsization to stop prematurely.
1238 - Fix rendering of background color being off in presence of rise attribute.
1239 - Improved text-on-path example (examples/cairotwisted.c)
1240
1241 Win32 Improvements:
1242 - Don't check for X and don't warn about missing fontconfig. [Tor Lillqvist]
1243 - Automatically use -mms-bitfields on Windows when building with gcc. [Tor]
1244 - Update makefile.msv. [Hans Breuer]
1245
1246 Code base cleanups:
1247 - Whitespace cleanups.  Hopefully patches still apply using patch -l
1248 - Replace C++-style // comments with C-style /* */ ones.
1249 - Move the pango-view tool from examples/ into pango-view/.  The examples/
1250   dir is still available and for simple examples only.
1251
1252 Public API changes:
1253
1254 - New PangoLayout query functions:
1255
1256         pango_layout_is_wrapped()
1257         pango_layout_is_ellipsized()
1258         pango_layout_get_unknown_glyphs_count()
1259
1260   The is_wrapped and is_ellipsized functions return whether the layout
1261   had to wrap/ellipsize any paragraphs, as opposed to the get_wrap and
1262   get_ellipsize that return the wrap/ellipsize mode set.
1263
1264 - Misc new function:
1265         pango_parse_enum()
1266
1267   This is more a convenience function for internal use, but set public
1268   to go with other pango_parse_* functions.  Bindings should feel free
1269   to ignore this.
1270
1271
1272 - New header files:
1273
1274   Moved gravity and matrix stuff into their own header files pango-gravity.h
1275   and pango-matrix.h.  Both are included from pango-types.h.
1276
1277 - Vertical text:
1278
1279   New attribute types:
1280
1281         PANGO_ATTR_GRAVITY
1282         PANGO_ATTR_GRAVITY_HINT.
1283
1284   New enum type:
1285
1286         PangoGravityHint
1287
1288   New macro:
1289
1290         PANGO_GRAVITY_IS_VERTICAL()
1291
1292   New public functions:
1293
1294         pango_attr_gravity_new()
1295         pango_attr_gravity_hint_new()
1296         pango_gravity_hint_get_type
1297         pango_context_set_gravity_hint()
1298         pango_context_get_gravity_hint()
1299         pango_gravity_get_for_matrix()
1300         pango_gravity_get_for_script()
1301
1302   Removed:
1303         pango_matrix_to_gravity()
1304
1305   replaced by pango_gravity_get_for_matrix()
1306   
1307   Gravity API added in previous releases:
1308
1309         PangoGravity
1310         pango_gravity_get_type
1311         pango_context_get_base_gravity
1312         pango_context_get_gravity
1313         pango_context_set_base_gravity
1314         pango_font_description_get_gravity
1315         pango_font_description_set_gravity
1316         pango_gravity_to_rotation
1317
1318   A tip on using the vertical text support: If you just want to get correct
1319   behavior in rotated labels (say, vertical Chinese/Japanese, but rotated
1320   Latin, etc), all you need to do is to set the context gravity to
1321   PANGO_GRAVITY_AUTO.  You can do this for example
1322
1323         #if defined(PANGO_VERSION_CHECK) && PANGO_VERSION_CHECK(1,15,4)
1324           pango_context_set_gravity (context, PANGO_GRAVITY_AUTO);
1325         #endif
1326
1327 Bugs fixed in this release:
1328         Bug 395328 – Map kATSDeletedGlyphcode to PANGO_GLYPH_EMPTY
1329         Bug 397337 – Use is_ellipsized and is_wrapped to optimize property
1330                      changes
1331         Bug 328585 – Need to know if a layout has unknown glyphs
1332                      Patch from LingNing Zhang
1333         Bug 326693 – PangoLayouts should be query-able about their
1334                      effective properties (width / wrapped / ellipsized / etc)
1335         Bug 397327 – pango-layout.c: 'pango_layout_is_ellipsized' must return
1336                      a value
1337         Bug 323173 – Add layout of mixed direction text for vertical layout
1338         Bug 394453 – Use -mms-bitfields
1339         Bug 392628 – Don't check for X on win32
1340
1341
1342 Overview of changes between 1.15.2 and 1.15.3
1343 ==============================================
1344 - Fix Hangul crasher and other Hangul bugs introduced in 1.15.2
1345 - Spell-checked docs
1346 - Build fixes
1347 - Don't introduce bitfields in public structs.  This changes some public API
1348   that was broken in the 1.15 series.  The new struct is backward compatible
1349   with the older Pango series, but not with earlier 1.15.x devel releases.
1350
1351 - New Public API:
1352
1353   * PangoAnalysis.flags and PANGO_ANALYSIS_FLAGS_CENTERED_BASELINE.  These are
1354     mostly only useful for the vertical text support in Pango, but language
1355     bindings probably want to update their bindings for PangoAnalysis to
1356     include these.
1357
1358   * New PangoMatrix methods:
1359
1360         pango_matrix_transform_distance()
1361         pango_matrix_transform_point()
1362         pango_matrix_transform_rectangle()
1363         pango_matrix_transform_pixel_rectangle()
1364
1365     The transform_rectangle methods are particularly useful when an
1366     app/toolkit wants to know the extents of a rotated layout in device
1367     coordinates.  It will be used by Gtk+ for example, and is used by the
1368     pango-view tool too.  The _pixel_ variant takes a PangoRectangle in device
1369     units instead of Pango units.
1370
1371   * Unit conversion helpers:
1372
1373         pango_units_from_double()
1374         pango_units_to_double()
1375         pango_extents_to_pixels()
1376
1377     The first two just convert between Pango units (fixed precision) and
1378     double floating-point numbers.  The current implementations are as simple
1379     as "(int)floor (d * PANGO_SCALE + 0.5)" and "(double)i / PANGO_SCALE", but
1380     the idea is to have optimized versions of these that do not use the FPU in
1381     the future.  That will be appreciated by embedded devices without FPU
1382     units.  Since the functionality can be generally useful, the API is made
1383     public.
1384
1385     The pango_extents_to_pixels() function in conjunction with
1386     pango_matrix_transform_rectangle() makes it possible to convert extents to
1387     device space and round then, instead of having to transform rounded
1388     user-space extents.
1389
1390 - Bugs fixed in this release:
1391         Bug 351496 – PangoAnalysis::gravity breaks binary compatibility
1392         Bug 388702 – Crash when there's no Hangul glyph in the font.
1393         Bug 384543 – FcFontMatch misuse
1394         Bug 392789 – vpath build fails in basic module
1395                      Patch from J. Ali Harlow
1396         Bug 390877 – Don't feed pango-features.h to glib-mkenums
1397                      Patch from Yevgen Muntyan
1398
1399
1400 Overview of changes between 1.15.1 and 1.15.2
1401 ==============================================
1402 * Engines:
1403   - Improved Hangul shaper engine
1404   - Improved Indic shaper and language engines
1405   - Require libthai >= 0.1.7 for the Thai language engine
1406
1407 * Optimizations:
1408   - Avoid some floating-point operations.  Should cut the number of float
1409     ops per expose event in pangocairo to a half.
1410   - Cache ink and logical extents for PangoLayout
1411
1412 * New Public API:
1413
1414   - New, generated, public header file pango-features.h.  Included by
1415     pango.h.  Currently contains the version information.  In the future,
1416     can be expanded to define which backends have been enabled, etc.
1417
1418   - Public macros and functions for compile- and run-time version checking:
1419
1420         PANGO_VERSION_ENCODE()
1421         PANGO_VERSION_MAJOR
1422         PANGO_VERSION_MINOR
1423         PANGO_VERSION_MICRO
1424         PANGO_VERSION
1425         PANGO_VERSION_STRING
1426         PANGO_VERSION_CHECK()
1427         pango_version()
1428         pango_version_string()
1429         pango_version_check()
1430
1431     The scheme chosen here is a mixture of approaches taken by glib and cairo.
1432     The advantage over the glib model is that there are no public variables,
1433     but it still gives access to a string and numerical representation of the
1434     version number at compile- and run-time.
1435     
1436     The macros enable conditional compilation of code depending on newer Pango
1437     APIs, while the runtime functions allow refusing to run against old
1438     versions of the library.
1439
1440   - New, readonly, version of methods that give read/write access to the
1441     internals of PangoLayout:
1442
1443         pango_layout_get_line_readonly()
1444         pango_layout_get_lines_readonly()
1445         pango_layout_iter_get_line_readonly()
1446         pango_layout_iter_get_run_readonly()
1447
1448     These should be used when you do not intend to modify the run/line,
1449     which is most of the time the case.  The only exception known to me
1450     is Firefox that adjusts glyph widths to do justification.  Most other
1451     uses that do not write to the returned structs (or structs accessible from
1452     them) should be ported to the new readonly API to benefit from major
1453     optimizations (in this case, line extents caching).  The list includes,
1454     but is not limited to, Gtk+, SWT, ClassPath, gnome-applets, libgnomeprint,
1455     xmlroff, GtkMathView, Conglomerate, Dia, Anjuta, wxWindows, The Gimp, 
1456     and various other applications/libraries:
1457
1458       http://www.google.com/codesearch?hl=en&q=+pango_layout_(iter_)%3Fget_(lines%3F%7Crun)%5B%5E_%5D&start=50&sa=N
1459
1460     Worth noting here is that, many uses of pango_layout_get_lines() can be
1461     replaced by a pango_layout_get_iter() that works both more elegantly and
1462     more efficiently.  The versioning macros introduced in this release can be
1463     used to make code use these new symbols without breaking compilation
1464     against older Pango (though, such code compiled with the new Pango cannot
1465     be run against an older Pango).
1466
1467   - pango_language_get_default(): Note that, this does not make Pango
1468     fallback to the default language automatically (yet), but the user can
1469     use this function to set the default language of the locale on a context:
1470
1471           pango_context_set_language (context, pango_language_get_default());
1472
1473     This essentially deprecates gtk_get_default_language().  The pango-view
1474     tool has been updated to use this feature, so it now respects $LANG when
1475     choosing fonts.
1476
1477   - pango_color_to_string().
1478
1479 * Bugs fixed in this release:
1480         Bug 326099 – Setting width, indentation and ellipsizing doesn't work
1481                      as I would expect
1482         Bug 385478 – Fix tests on OPD platform
1483         Bug 319808 – Patch to let pango support artifical italic, bold and
1484                      bold italic styles for the fonts which don't have these styles.
1485                      Patch from James Su
1486         Bug 385321 – Worst case expansion for Sinhala
1487                      Patch from Harshula
1488         Red Hat Bug 211574: [hi/ml/si_LK] cursor naviation is wrong when
1489                      using ZWJ (200d)
1490                      Patch from LingNing Zhang
1491         Red Hat Bug 216424: [te_IN] pango - consonant + dependent vowel (ai)
1492                      Composed char is not rendering properly
1493                      Patch from LingNing Zhang
1494         Bug 373856 – Wish: Function to convert a GdkColor to a string
1495                      Patch from Matthew Barnes
1496         Red Hat Bug 216850: Issue in combination with vowels (ml_IN)
1497                      Patch from LingNing Zhang
1498         Bug 382437 – tests/testboundaries fails
1499         Bug 333982 – Fallback to $LANG whenever NULL PangoLanguage is used
1500                      Patch from LingNing Zhang
1501
1502 Overview of changes between 1.15.0 and 1.15.1
1503 ==============================================
1504 * Add Thai langauage engine. (currently makes tests/testboundary fail.)
1505 * Add Lao and improved Thai sample text.
1506 * Improved Indic module.
1507 * Output correct path for hexboxes in pango_cairo_layout_path().
1508 * Implement get_resolution method for the FT2 fontmap.  Shouldn't make
1509   any difference whatsoever.  Open a bug if it does.
1510 * Misc small fixes.
1511
1512 * Optimizations:
1513   - Rework PangoLayout algorithms to avoid calling a recursive call to
1514     pango_layout_get_extents().  Avoids one pango_font_get_glyph_extents()
1515     call per glyph per layout rendering.  We now make 2 such calls.
1516   - Don't cache run_logical_rect in PangoLayoutIter.
1517     Avoids one pango_font_get_glyph_extents() call per glyph per layout
1518     rendering.  We are down to 1 now.
1519   - Cache line extents.  This avoids the final pango_font_get_glyph_extents()
1520     call per glyph per layout rendering.  Now we don't make any
1521     pango_font_get_glyph_extents() calls when rendering a layout (some
1522     conditions apply)!
1523   - Replace PANGO_IS_RENDERER with PANGO_IS_RENDERER_FAST for most
1524     internal uses, that is, just a NULL-check.
1525   - Use simple, fast, casts instead of PANGO_CAIRO_*() macros where the
1526     object cannot have reached us if it wasn't of the right type.
1527
1528 * Bugs fixed in this release:
1529         Bug 135683 – Cache glyphstring extents
1530         Red Hat Bug 211964: [ta] Rendering issue with Tamil
1531                 Patch from LingNing Zhang
1532         Red Hat Bug 213632: ZWJ (200d) and ZWNJ (200c) showing same output
1533                 Patch from LingNing Zhang
1534         Bug 371388 – Add Thai langauage engine
1535                 Patch from Theppitak Karoonboonyanan
1536         Bug 377975 – bug in _pango_glyph_item_iter_next_cluster
1537         Bug 369670 – Checked g_free calls
1538
1539 Changes that also appeared between 1.14.7 and 1.14.8
1540 =====================================================
1541 * Improved thread-safety.  Pango is still NOT thread-safe, but this fixes
1542   lots of crashes using pangocairo from multiple threads.
1543 * Fix out-of-bounds array access.
1544 * Improved Indic shaper.
1545 * Improved Arabic language engine.
1546 * Choose shaper/font for unassigned Unicode codepoints.
1547 * Build fixes.
1548 * Bugs fixed in this release:
1549         Bug 356666 – pango is not thread-safe, nautilus does not honour that
1550         Bug 352795 – configure.in: Bug in "checking Whether to write
1551                      dependencies into .pc files"
1552         Bug 350132 – backspacing doesn't work properly for Arabic
1553         Bug 330407 – Multiple dependant vowel signs (indic) displayed as one
1554         Patch from LingNing Zhang
1555
1556 Overview of changes between 1.14.7 and 1.15.0
1557 ==============================================
1558 * Add basic support for vertical text.  (PangoGravity and related API)
1559 * New PangoCairo example (examples/cairotwisted) to lay text out on a path
1560 * Fix various bugs in the way language engines are used.  Add simple Arabic
1561   and Indic language engines. (Backported to 1.14.6)
1562 * Step module interface version up to 1.6.0
1563 * Misc small cleanups.
1564 * Bugs fixed in this release:
1565         Bug 330407 – Multiple dependant vowel signs (indic) displayed as one
1566         Bug 359043 – PangoRenderer does not show in API docs
1567         Bug 359046 – renderdemo.c unconditionally use GLib 2.12
1568         Bug 357228 – Remove aix specific hack from configure.in
1569         Part of Bug 350132 – backspacing doesn't work properly for Arabic
1570         Bug 356194 – more pango_get_log_attrs problems
1571         Bug 355820 – pango_get_log_attrs broken
1572         Bug 352811 – SIGSEGV with pango(cairo)-view on HP-UX
1573         Bug 351496 – PangoAnalysis::gravity breaks binary compatibility
1574         Bug 351585 – API documentation issues with 2.15 release
1575
1576 Overview of changes between 1.14.6 and 1.14.7
1577 ==============================================
1578 * Fixed broken build with included lang modules.
1579 * Bugs fixed in this release:
1580         Bug 361938 – Can't include *-lang modules (./configure
1581                      --with-included-modules fails)
1582
1583 Overview of changes between 1.14.5 and 1.14.6
1584 ==============================================
1585 * Backport language-engine handling fixes from HEAD.
1586 * Add simple Arabic and Indic language engines.
1587 * Indic shaper fixes.
1588 * Bugs fixed in this release:
1589         Bug 353877 – Sinhala is_cursor_position and
1590                      backspace_deletes_character issues
1591                      Patch from Akira TAGOH
1592         Bug 358224 – Telugu Character U+0C31 does not render its below-base
1593                      form.
1594                      Patch from Rahul Bhalerao
1595         Bug 358174 – Reph and Vattu forms of Assamese character RA(U+09F0)
1596                      are not rendered.
1597                      Patch from Rahul Bhalerao
1598
1599 Overview of changes between 1.14.4 and 1.14.5
1600 ==============================================
1601 * Indic shaper fixes.
1602 * Misc bug fixes.
1603 * Bugs fixed in this release:
1604         Bug 356685 – [or_IN] Rendering of consonant+0x0B4D+0x0B2F is wrong
1605                      Patch from Rahul Bhalerao
1606         Bug 357790 – Rendering problem for malayalam consonant RA (U+0D30)
1607                      Patch from Rahul Bhalerao
1608         Bug 349813 – typo in docs for pango_layout_move_cursor_visually
1609         Bug 357686 – pangocairo-font.c: illegal g_object_unref in
1610                      pango_cairo_font_get_hex_box_info
1611
1612 Overview of changes between 1.14.3 and 1.14.4
1613 ==============================================
1614 * Indic shaper fixes.
1615 * Misc bug fixes.
1616 * Bugs fixed in this release:
1617         Bug 351223 – the conjuction of Con + 0x0d4d +0x0d31 of Malayalam is
1618                      wrong
1619                      Patch from LingNing Zhang
1620         Bug 355750 – The glyphs of the conjuctions about Cons+0x0d4d+0x0d32 of
1621                      Malayalm are wrong.
1622                      Patch from LingNing Zhang
1623         Bug 349876 – U+0x0904 of Devanagari need be "independent vowel", but
1624                      it is "reserved" in Pango
1625                      Patch from LingNing Zhang
1626         Bug 355550 – Miscalculation of logical attributes in
1627                      pango_get_log_attrs()
1628                      Patch from Theppitak Karoonboonyanan
1629         Bug 355697 – The IndicOTClassTable of Oriya has a error.
1630         Bug 355782 – Misaligned extents in pango
1631         Bug 355605 – hexbox with 0000 in it
1632         Bug 355435 – Invalid calls to pango_map_get_engine()
1633                      Patch from Theppitak Karoonboonyanan
1634         Bug 347146 – underline/overstrike spaces
1635         Bug 352535 – Ink extents of empty glyph
1636
1637 Overview of changes between 1.14.2 and 1.14.3
1638 ==============================================
1639 * Win32 build improvement. [Tor Lillqist]
1640 * Bugs fixed in this release:
1641         Bug 353525 – libpangoft2-1.0.so.0: undefined reference to
1642                      `pango_font_description_get_gravity'
1643         Bug 349813 – typo in docs for pango_layout_move_cursor_visually
1644
1645 Overview of changes between 1.14.1 and 1.14.2
1646 ==============================================
1647 * Find shaper/font for Private Use and space characters.
1648   Part of Bug 145275 – Font selection for space characters
1649
1650 Overview of changes between 1.14.0 and 1.14.1
1651 ==============================================
1652 * Increased fontset cache size from 16 to 64.  This should make
1653   firefox+pango A LOT faster.
1654 * Bugs fixed in this release:
1655         Bug 352114 – pango-1.14: generated docs still contain old example code
1656         Part of Bug 348825 – pango should optimize away calls to FcFontSort as
1657                              much as possible
1658         Bug 351585 – API documentation issues with 2.15 release
1659
1660
1661 Overview of changes between 1.13.5 and 1.14.0
1662 ==============================================
1663 * Make pango-view accept non-ASCII --text.
1664 * Require cairo-1.2.2 for the important bug fixes it has.
1665
1666 Overview of changes between 1.13.4 and 1.13.5
1667 ==============================================
1668 * Indic shaper improvements.
1669 * Misc fixes.
1670 * Bugs fixed in this release:
1671         Bug 121672 – Ra (vattu) not rendered properly in Malayalam
1672                      Patch from LingNing Zhang
1673         Bug 335811 – Some conjugates of Malayalam are wrong.
1674                      Patch from LingNing Zhang
1675
1676 Overview of changes between 1.13.3 and 1.13.4
1677 ==============================================
1678 * Update to Unicode Character Database 5.0.0.
1679 * Misc fixes.
1680 * Bugs fixed in this release:
1681         Bug 336282 – Update to Unicode Character Database 5.0.0
1682         Bug 347073 – Allow empty GPOS table
1683         Bug 347021 – atsui crash when a matching font cannot be found.
1684                      Patch from Brian Tarricone.
1685
1686 Overview of changes between 1.13.2 and 1.13.3
1687 ==============================================
1688 * Improved build system.  Using gnome-autogen.sh now.
1689   (gnome-common needed for bootstrapping)
1690 * Improved documentation.  Docs now include list of new API for
1691   each stable version of Pango.
1692 * New public API:
1693         - pango_glyph_string_get_width
1694 * Little performance improvement.
1695 * Misc fixes.
1696 * Bugs fixed in this release:
1697         Bug 330603 – pango_scan_int invokes undefined behaviour
1698         Bug 315599 – PangoAttribute remains in wrong context.
1699         Bug 163677 – pango_attr_list_splice: inconsistent docs
1700                      Patch from Morten Welinder
1701         Bug 345070 – [ml_IN] not render for combination with ZWJ
1702                      Patch from LingNing Zhang
1703         Bug 345274 – list of new symbols for each version is missing in docs
1704                      Patch from Priit Laes
1705         Bug 346297 – autogen doesn't work with automake-1.6
1706                      Patch from Priit Laes
1707         Bug 135683 – Cache glyphstring extents
1708         Bug 344766 – Memory leak in get_ruleset() in modules/basic/basic-fc.c
1709         Bug 345600 – cvs build error in pango/opentype/Makefile
1710         Bug 345511 – -no-undefined problem with new libtool
1711
1712 Overview of changes between 1.13.1 and 1.13.2
1713 ==============================================
1714 * Improved hexbox drawing, and font metrics calculations.
1715 * Synthesize italic variants on win32 [Hans Breuer]
1716 * New public API:
1717         - pango_cairo_show_error_underline
1718         - pango_cairo_error_underline_path
1719         - pango_font_describe_with_absolute_size
1720 * Misc fixes.
1721 * Bugs fixed in this release:
1722         Bug 326960 – hex box drawing for win32 and atsui backends of cairo
1723         Bug 343717 – License information in unclear.
1724         Bug 343355 – Add pango_cairo_show_error_underline &
1725                      pango_cairo_error_underline_path
1726         Bug 343966 – pango Cygwin build fixes
1727                      Patch from Cygwin Ports maintainer.
1728         Bug 343796 – Italic Chinese character can't be show correctly in
1729                      Win32.
1730         Bug 314114 – max_x_advance not appropriate for
1731                      approximate_(char|digit)_width
1732         Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
1733                      and have many cpu usage.
1734                      Patch from Yong Li.
1735         Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct
1736                      when using MarkAttchmentType
1737                      Patch from Tin Myo Htet.
1738         Bug 333984 – pango_language_from_string improvements
1739         Bug 125378 – Better underline thickness handling
1740         Bug 339730 – Pango needlessly falls back away from a Type 1 font into
1741                      a TTF font
1742         Bug 342562 – Support absolute sizes in
1743                      pango_font_description_to/from_string
1744         Bug 341922 – pango should handle more characters as zero width
1745                      Patch from Roozbeh Pournader
1746         Bug 342525 – With PangoFc and PangoWin32, approximate digit width is
1747                      not what it says
1748         Bug 342079 – pangoatsui-private.h missing from release
1749
1750 Overview of changes between 1.13.0 and 1.13.1
1751 ==============================================
1752 * Increased robustness against broken pango.modules
1753 * Improved build infrastructure:
1754   - Remove CAIRO_CFLAGS from pangocairo.pc.in, as it Require's cairo already.
1755   - Use -no-undefined on Unix too.
1756 * Improved documentation.
1757 * Misc fixes.
1758 * Bugs fixed in this release:
1759         Bug 307196 – Unhinted fonts are measured incorrectly and drawing
1760                      problems occur as a result
1761         Bug 329547 – pango_layout_get_pixel_extents and
1762                      pango_layout_get_pixel_size cause off-by-one metrics
1763         Bug 339747 – pango_font_metrics_get_approximate_digit_width docs
1764         Bug 339749 – pango_language_from_string issues
1765                      Patch from Morten Welinder.
1766         Bug 333771 – Use gmodule-no-export-2.0 instead of gmodule-2.0 in
1767                      pango-uninstalled.pc.in
1768         Bug 337594 – pango_glyph_string_extents_range possible bug
1769         Bug 329664 – Move gunichar_to_glyph cache from PangoCairoFcFont to
1770                      PangoFcFont
1771                      Patch from LingNing Zhang.
1772         Bug 322374 – Examples does not build on MacOS X
1773         Bug 340229 – pango_font_description_from_string does not do bound
1774                      checking
1775         Bug 329483 – hinting hexbox in cairo backend doesn't handle absolute
1776                      font size
1777         Bug 340040 – pangocairo hex box hinting falls apart with PS/PDF
1778                      backends
1779         Bug 71033 – make size 0 fonts work
1780
1781 Overview of changes between 1.12.0 and 1.13.0
1782 ==============================================
1783 * Fix incorrect rendering when in x86 64-bit precision mode
1784   https://bugs.freedesktop.org/show_bug.cgi?id=5200
1785 * Fix non-OpenType fonts losing kerning in 1.12.0 [#336026, Denis Jacquerye]
1786 * Fix blurred underlines on Win32 [#332656, Tor Lillqvist]
1787 * Build fix when having both Win32 and FreeType cairo backends available
1788   [#337502, Alexander Larsson]
1789 * Moved the OpenType Layout code into a new project called HarfBuzz:
1790   http://www.freedesktop.org/wiki/Software/HarfBuzz
1791 * Improved documentation.
1792 * Misc bug fixes.
1793 * Fixed many compiler warnings.
1794 * Bugs fixed in this release:
1795   332656,335840,334802,337029,337821,338343
1796
1797 Overview of changes between 1.11.99 and 1.12.0
1798 ==============================================
1799 * Compilations fixes for MSVC. [#333115, Tor Lillqvist]
1800 * More NULL-check against unusable fonts, helps with Win32 fonts without
1801   a Unicode cmap. [Tor]
1802 * Use g_print instead of printf for debugging output in Win32 backend.
1803   [#332855, Tor]
1804
1805 Overview of changes between 1.11.6 and 1.11.99
1806 ==============================================
1807 * Fix problem recently introduced that made Win32 backend render boxes
1808   only. [#332538, Hans Breuer]
1809 * Insert '?' chars instead of invalid UTF-8 sequences in
1810   pango_layout_set_text [#33195]
1811 * Bugs fixed in this release:
1812   332167,332538,331995
1813
1814 Overview of changes between 1.11.5 and 1.11.6
1815 =============================================
1816 * Do not export macros PANGO_GLYPH_EMPTY, PANGO_GLYPH_UNKNOWN_FLAG and
1817   PANGO_GET_UNKNOWN_GLYPH publicly; just in the engine/backend interface.
1818 * Fix a few crashers, especially when a font cannot be read. [#314239]
1819 * Change some g_critical's to g_warning, where it's not application's
1820   fault. [#331723]
1821 * Bugs fixed in this release:
1822   330795,331038,329148,331994,331995,331996,314239,331723
1823
1824 Overview of changes between 1.11.4 and 1.11.5
1825 =============================================
1826 * Cleanup work on the win32 backend.  Families are not listed all
1827   in lower case anymore.
1828 * New public function: pango_win32_font_description_from_logfont.
1829 * pango-view accepts --wrap now, and lists backends in --help output.
1830 * A couple minor bug fixes.
1831
1832 Overview of changes between 1.11.3 and 1.11.4
1833 =============================================
1834 * Major change in the low-level interface of Pango.  The special value
1835   PANGO_GLYPH_EMPTY is now defined to mean a "draw nothing" glyph.  This
1836   was what glyph 0 was used for previously.  As a result, bumped up the
1837   Pango module version, meaning that modules compiled against earlier
1838   versions are probably not compatible with this release. [#73147]
1839 * New framework in examples for building a binary called pango-view,
1840   that can be used to render a text file using any of the available
1841   backends.  This is installed into bindir now.
1842 * Enhancements to the FT2 backend, to draw boxes on missing glyphs.
1843 * Better hexbox drawing for cairo backend:  Hinting hexbox, and
1844   drawing a single-row hexbox for very small font sizes.
1845 * Improved documentation.
1846
1847 Overview of changes between 1.11.2 and 1.11.3
1848 =============================================
1849 * Do not crash if the shapers fail.
1850 * Use g_slice for various struct allocations.
1851 * 100% symbol coverage in docs.
1852 * Misc bug fixes and documentation improvements.
1853 * Janitory works, like removing unneeded files.
1854
1855 Overview of changes between 1.11.1 and 1.11.2
1856 =============================================
1857 * Draw hex box on missing glyphs for cairo-fc backend.
1858 * New --with-dynamic-modules option added to configure.
1859 * Use g_slice for various small memory allocations [Matthias Clasen]
1860 * Misc bug fixes, optimizations, and documentation improvements.
1861
1862 Overview of changes between 1.11.0 and 1.11.1
1863 =============================================
1864 * ATSUI support for the cairo backend. [Anders Carlsson]
1865 * Fixed a couple of regressions with font size and scaling.
1866 * Draw a dashed empty box on missing glyphs for cairo-fc backend.
1867 * Support OpenType features for basic (Latin/Greek/...) module.
1868 * Support swash feature in Arabic module.
1869 * Misc bug fixes.
1870 * Misc documentation improvements.
1871
1872 Optimizations:
1873
1874 * Cache GObject private data in PangoFcFont.priv [Federico Mena Quintero]
1875 * Add a constant-sized light-weight cache for glyph extents.
1876 * Use g_slice_* instead of GMemChunk in mini-fribidi.
1877
1878
1879 Overview of changes between 1.10.1 and 1.11.0
1880 =============================================
1881 * Line-breaking algorithm updated to Unicode 4.1.
1882 * Code borrowed from GNU FriBidi resynched to version 1.0.7.
1883 * New improved Tibetan shaper module. [Pema Geyleg]
1884 * Bug fix in Khmer shaper module. [Jens Herden]
1885 * Respect fontconfig reassignment of font pixelsize. [Funda Wang]
1886 * Make OpenType GPOS handling more robust/correct. [Greg Aumann]
1887 * Various documentation fixes and improvements.
1888 * Various gcc warning fixes.
1889 * Misc bug fixes.
1890
1891 Optimizations:
1892
1893 * Add a lazy fixed-size per-font cache to map characters to glyphs,
1894   in the cairo backend. [Federico Mena Quintero]
1895 * Optimize character to script mapping by adding a linear table for
1896   characters < U+2000, and also caching the last mid point in
1897   bsearch. [Federico, Matthias Clasen]
1898 * Enabled mini-fribidi's trashstack instead of direct mallocs.
1899 * Short circuit the bidi algorithm for provably unidirectional text.
1900 * Make mini-fribidi process UTF-8 directly.
1901 * Several strlen and g_utf8_strlen calls removed. [Owen Taylor, Billy Biggs]
1902 * Use call tables in the OpenType layout code.
1903 * Use quarks for accessing GObject data. [Federico]
1904 * Open Pango modules with lazy-bind flags. [John Rice]
1905 * Use new negative offsets in g_utf8_pointer_to_offset to avoid
1906   scanning from the beginning of line on cursor movement.
1907 * Avoid redundant PANGO_IS_FC_FONT checks.
1908
1909 Overview of changes between 1.10.0 and 1.10.1
1910 =============================================
1911 * Add various forms of caching to the Win32 backend, greatly
1912   improving performance [Tor Lillqvist]
1913 * Fix problem with colors leaking from a Pango item to 
1914   subsequently drawn strings. [Choe Hwanjin]
1915 * Fix bug where error underlines would be drawn 1024 times
1916   too big in the Cairo backend. [Luis Villa]
1917 * Misc bug and build fixes [Jean Brefort, Matthias Clasen, 
1918   Behdad Esfahbod, Kazuki Iwamoto]
1919
1920 Overview of changes between 1.9.1 and 1.10.0
1921 ============================================
1922 * Update script tables, bidi tables, and Arabic joining tables for Unicode 4.1 
1923   [Roozbeh Pournader, Behdad Esfahbod]
1924 * Misc bug and build fixes [Sebastien Bacher, Hans Breuer, Behdad, 
1925   J. Ali Harlow, Tor Lillqvist, Keith Packard, Vittorio Palmisano, Manish Singh]
1926
1927 Overview of changes between 1.9.0 and 1.9.1
1928 ==========================================
1929 * Support setting of font options and DPI on PangoContext for
1930   the Cairo backend.
1931 * Adapt to recent Cairo API changes
1932 * Win32 build improvements [Tor Lillqvist]
1933 * Misc bug fixes [Hans Breuer, Thomas Fitzsimmons, Kazuki IWAMOTO]
1934         
1935 Overview of changes between 1.8.x and 1.9.x
1936 ===========================================
1937 * Add Cairo support; PangoCairoFontmap is an interface with
1938   implementations for Fontconfig fonts and Win32 fonts
1939 * Extend PangoFcFontmap to allow more customization by subclasses
1940 * Handle NULL language better for pango_context_get_metrics()
1941 * misc optimization [Paolo Borelli, Behdad Esfahbod]
1942 * Misc bug and build fixes [Hans Breuer, Damien Carbery, 
1943   Keith Packard, Manish Singh]
1944 * Doc fixes [Tim Janik]
1945
1946 ============================================================
1947
1948 Overview of changes between 1.8.1 and 1.8.2
1949 ===========================================
1950 * Add Khmer support [Jens Herden, Javier Sola]
1951 * Fix bugs and crashes in the operation of PangoLayoutIter [Amit Aronovitch]
1952 * Increase sharing of data between different copies of Pango
1953   [Tommi Komulainen, Ross Burton]
1954 * Remove dependence of opentype code on FreeType internals [David Turner,
1955   Behdad Esfahbod]
1956 * Cache metrics for the Win32 backend [Tor Lillqvist]
1957 * Improve handling of RTL text when passing it to Uniscribe [Tor]
1958 * Support for TrueType fonts on Win32 with characters outside the BMP [Tor]
1959 * Handle alpha in XftColors again. [Mikael Magnusson]
1960 * Better handling of MacThai encoded fonts [Theppitak Karoonboonyanan]
1961 * Handle zero width chars properly in Hangul backend 
1962   [Young-Ho Cha, Changwoo Ryu]
1963 * Fix Oriya character classification [Gora Mohanty, Gautam Sengupta]
1964 * PangoAttrIterator bug fixes [Morten Welinder]
1965 * Clean up copyright/licensing information [William N. Ray]
1966 * Misc bug and build fixes [Sebastien Bacher, Brandon Bergren,
1967   Chris Blizzard, Paolo Borelli, Behdad, Harshula, Alex Jones, Aivars Kalvans, 
1968   Stepan Kasal,  Karel Kulhavy, Ryan Lortie, Ben Maurer, Sukhjinder Sidhu, 
1969   Manish Singh, Emil Soleyman-Zomalan, Morten]
1970
1971 Overview of changes between 1.8.0 and 1.8.1
1972 ===========================================
1973 * Fix several problems with conjuct formation in Sinhala [Harshula]
1974 * Fix problems that were causing fonts to be missized and
1975   not print in GtkHTML [Ross Burton]
1976 * Fix compilation with old fontconfig [Vincent Noel] and
1977   old FreeType [Andrew P. Lentvorski, Jr]
1978 * Work around problem with glyphs in monospace fonts being truncated
1979   by Xft [Billy Biggs]
1980 * Misc bug fixes [Damon Chaplin, Matthias Clasen, Kees Cook, Nick Lamb, 
1981   Adam Sampson,Manish Singh, Morten Welinder]
1982 * Misc build fixes [Sebastien Bacher, Matthias Clasen, Tor Lillquist]
1983 * Doc improvements [Torsten Schoenfeld, Billy Biggs, Morten Welinder]
1984
1985 Overview of changes between 1.7.0 and 1.8.0
1986 ===========================================
1987 * Add Sinhala support to the Indic module [Anuradha Ratnaweera]
1988 * Add Tibetan module [G Karunakar, Pema Geyleg]
1989 * Support pixel sizes for fonts [Chris Lahey]
1990 * Add pango_layout_get_font_description() [Morten Welinder]
1991 * Add PANGO_WEIGHT_SEMIBOLD [Lars Clausen]
1992 * Report underline metrics on Win32 [Tor]
1993 * Handle GLib-2.6.0 win32 filename encoding changes [Tor Lillqvist,
1994   Robert Ögren]
1995 * Fix crash when drawing long strings
1996 * Misc fixes [Matthias Clasen, Dan Winship]
1997
1998 Overview of changes between 1.6.x and 1.7.0
1999 ===========================================
2000
2001 * Add PangoRenderer, a subclassable driver object holding the 
2002   logic for rendering PangoLayout.
2003 * Support transformed rendering for the Xft backend
2004 * Add Lao support in Thai Module [Theppitak Karoonboonyanan]
2005 * Support Thai OpenType fonts [Theppitak]
2006 * Add Syriac module [Emil Soleyman-Zomalan]
2007 * Add underline-color and strikethrough-color attributes
2008   [Morten Welinder]
2009 * Add pango_win32_render_transformed() [Hans Breuer]
2010 * Misc fixes [Hans Breuer, Matthias Clasen, Manish Singh,
2011    Morten Welinder]
2012 * Documentation improvements
2013
2014 ============================================================
2015
2016 Overview of changes since 1.6.0
2017 ===============================
2018 * Fix several problem when computing font and selecting fonts
2019   metrics for CJK [Felipe Heidrich, Federic Zhang]
2020 * Win32 bug fixes [Tor Lillqvist, Kazuki Iwamoto, Ivan Wong]
2021 * Misc bug fixes [Vincent Berger, Paolo Borelli, Behdad Esfahbod, 
2022   Leon Ho, Arun M, Kjartan Maraas, Vincent Noel, Christian Persch, 
2023   Enrico Scholz, Sukhjinder Sidhu, Morten Welinder]
2024
2025 Overview of changes between 1.5.2 and 1.6.0
2026 ===========================================
2027 * Add OpenType support for Hebrew [Dov Grobgeld]
2028 * Win32 bug and build fixes [Tor Lillqvist, Hans Breuer, John Ehresman]
2029 * Misc bug fixes [Behdad Esfahbod, Jatin Nansi]
2030
2031 Overview of changes between 1.5.1 and 1.5.2
2032 ===========================================
2033 * Support 'init' feature for Bengali [Sayamindu Dasgupta]
2034 * Allow 32-bit property fields in OpenType code
2035 * Optimize repeated property lookups in OpenType code
2036 * Misc bug fixes [Behdad, Keith Sharp, Morten Welinder]
2037
2038 Overview of changes between 1.5.0 and 1.5.1
2039 ===========================================
2040 * Add ellipsization support to PangoLayout
2041 * Add pango_context_get_font_map().
2042 * Fix metrics for the Xft backend when a transform is in effect
2043 * Separate out backend-independent parts of pangoft2topgm for
2044   future rendering testbeds.
2045 * Code cleanups (use G_DEFINE_TYPE, make PangoMatrix parameters const)
2046 * Add a GType for PangoMatrix [Torsten Schoenfeld]
2047 * Misc bug fixes [Morten Welinder]
2048
2049 Overview of changes between 1.4.x and 1.5.0
2050 ===========================================
2051 * Allow applications to provide custom font decoders [Chris Blizzard]
2052 * Add support for setting a transformation matrix on a PangoContext
2053 * Add support for rotated rendering to the FT2 backend
2054 * Add metrics for underline and strikethrough position and thickness.
2055 * Add letter-spacing attribute and implement in PangoLayout
2056 * OpenType support in Thai Module [Theppitak Karoonboonyanan]
2057 * Add Add PANGO_TYPE_LAYOUT_ITER [Johan Dahlin]
2058
2059 ============================================================
2060
2061 Overview of changes between 1.4.0 and 1.4.1
2062 ===========================================
2063 * Win32 bug fixes [Tor Lillqvist, John Ehresman]
2064 * Thai rendering improvements including OpenType support
2065   [Theppitak Karoonboonyanan]
2066 * Fix common crash in Hangul shaper [Changwoo Ryu]
2067 * Fix various problems with language tag selection [Frederic Zhang]
2068 * Documentation improvements [Felipe Heidrich, Doug Quale]
2069 * Fix crash in line break code [Jeroen Zwartepoorte, Billy Biggs]
2070 * Build fixes [J. Ali Harlow, Noah Misch]
2071 * OpenType engine fixes [Kailash C. Chowksey, Sayamindu Dasgupta, Aamir Wali,
2072   Masatake YAMATO, Soheil Hassas Yeganeh]
2073 * Indic module bug fixes [Chris Blizzard, Rajkumar S, Taneem Ahmed,
2074   Jungshik Shin]
2075 * Misc bug fixes [Stanislav Brabec, Anders Carlsson, Behdad Esfahbod, 
2076   Jody Goldberg, Theppitak, Sven Neumann, Manish Singh, Morten Welinder]
2077
2078 Overview of changes between 1.3.6 and 1.4.0
2079 ===========================================
2080 * Use FC_WIDTH when available so that multiple width fonts are
2081   selected properly [Manish Singh]
2082
2083 Overview of changes between 1.3.5 and 1.3.6
2084 ===========================================
2085 * Improve handling of some Kannada vowels [Kailash C. Chowksey]
2086 * Fix problem with excess symbol exports on Linux [James Henstridge]
2087 * Win32 build fixes [Hans Breuer, John Ehresman, Tor Lillqvist, Cedric Gustin, 
2088   J. Ali Harlow]
2089
2090 Overview of changes between 1.3.3 and 1.3.5
2091 ===========================================
2092 * Add support for automatically determining the base direction for
2093   PangoLayout from the contained text [Dov Grobgeld]
2094 * Major rework of internal opentype interfaces to fix
2095   problems with GPOS. Turn on GPOS handling for Arabic.
2096 * Add a PangoAttribute to turn off font fallback [Noah Levitt]
2097 * Add wavy error-indication underlines [Nicolas Setton]
2098 * Improve handling of BENGALI LETTER A/E [Sayamindu Dasgupta]
2099 * Win32 bug fixes and improvements [J. Ali Harlow, Hans Breuer]
2100 * Misc bug fixes [Noah, Roozbeh Pournader]
2101
2102 Overview of changes between 1.3.2 and 1.3.3
2103 ===========================================
2104 * Add pango_font_face_list_sizes() [Noah Levitt]
2105 * Add pango_font_family_is_monospace [Noah]
2106 * Do OpenType processing for CFF fonts [Manjunath Sripadarao]
2107 * Fix wrong sign for GPOS vertical positioning
2108 * Fix up -uninstalled .pc files [Laszlo Peter]
2109 * Misc bug and build fixes fixes [Rodney Dawes, Theppitak Karoonboonyanan,
2110   Noah, Kjartan Maraas, Julio M. Merino Vidal, Christian Persch, 
2111   Torsten Schoenfeld, Manish Singh, Mariano Suárez-Alvarez, Morten Welinder,
2112   Masatake YAMATO]
2113
2114 Overview of changes between 1.3.1 and 1.3.2
2115 ===========================================
2116 * Correct a mixup between ZWJ and ZWNJ in the Arabic
2117   engine  [Roozbeh Pournader]
2118 * Build and bug fixes for Win32  [Hans Breuer]
2119 * Fix a problem with RTL scripts on Win32  [Tor Lillqvist, Shoshannah Forbes]
2120 * Documentation improvements  [Ross Burton, Matthias Clasen]
2121
2122 Overview of changes between 1.3.0 and 1.3.1
2123 ===========================================
2124 * Support non-Unicode font encodings when supported by fontconfig
2125   [Sven Neumann]
2126 * Draw 6-digit hex boxes for > U+FFFF [Noah Levitt]
2127 * Update to latest fribidi [Noah]
2128 * Honor U+2028 LINE SEPARATOR [Noah]
2129 * Fix a problem with iteration by chars [Mariano Suárez-Alvarez]
2130 * Misc bug and build fixes [Jeff Bonggren, Martin Kretzschmar, 
2131   Noah, Sven Neumann, Padraig O'Briain, Manish Singh, 
2132   Morten Welinder]
2133 * Fix header file includes to work with recent FreeType.
2134
2135 Overview of changes between 1.2.x and 1.3.0
2136 ===========================================
2137 * Share modules between the FT2 and Xft backend. Export PangoFcFont
2138   and PangoFcFontMap base classes so that other fontconfig based
2139   backends can be written and use these same modules.
2140 * Redo module system to use GTypeModule and work much like GTK+ theme
2141   engines and input method modules.
2142 * Change modules to declare coverage by script, rather than by code
2143   point. Add a ->covers callback so that modules can dynamically
2144   decide whether they can cover a particular codepoint with a given
2145   font. (This will allow multiple modules to handle a script for
2146   different types fonts.)
2147 * Complete rewrite of itemization pass. Now uses script information to
2148   improve language tags. This solves problems with incorrect language
2149   tags resulting in drastically wrong fonts being selected by
2150   fontconfig.
2151 * Add backspace-deletes-character PangoLogAttr; will allow proper
2152   deletion behavior for non-Western scripts.  [Noah Levitt]
2153 * Add pango_fc_font_kern_glyphs(), which speeds up kerning a lot over
2154   doing it pair-by-pair. [Soeren Sandmann]. Kern in the Xft backend as
2155   well as the FT2 backend.
2156 * Remove the X font backend, except a minimal set of stubs to maintain
2157   binary compatibility.
2158 * Many improvements to pangoft2topgm to allow displaying PangoMarkup,
2159   saving to different file formats, etc.
2160 * Convert build system to automake-1.7; many cleanups and
2161   improvements. [James Henstridge]
2162 * Documentation additions and improvements [Matthias Clasen, Martin
2163   Pool]; add man pages for the included binaries.  [Matthias]
2164 * Misc bug and build fixes [Josh Beam, Tony Graham, Kaushal Kumar,
2165   Noah, Mehran Mehr, Soeren, Morten Welinder]
2166 * Win32 build fixes [Tor Lillqvist, Hans Breuer]
2167
2168 ============================================================
2169
2170 Overview of Changes in Pango 1.2.5
2171 ==================================
2172 * Fix a problem where the indic-xft shaper didn't get linked
2173   against all necessary files.
2174
2175 Overview of Changes in Pango 1.2.4
2176 ==================================
2177 * Win32 [Tor Lillqvist]
2178   - Avoid calling Uniscribe when not necessary [Hans Breuer]
2179   - Build fixes
2180 * Indic shaper
2181   - Add pre-base-matra fixup code from ICU [Sivaraj Doddannan]
2182   - Port of Bengali rendering fix from ICU [Taneem Ahmed]
2183 * OpenType
2184   - Port various fixes by Werner Lemberg from FreeType version
2185   - Port various fixes by Lars Knoll from Qt version
2186   - Many other bug fixes [Kailash C. Chowksey, Me]
2187 * Fix bugs in FT2 rendering code [Sven Neumann]
2188 * Remove Qt-based example program; was causing compilation problems 
2189   for a lot of people.
2190 * Doc fixes [Noah Levitt]
2191 * Misc bug fixes [Dave Cuthbert, Damon Chaplin, Christophe Fergeau,
2192   Tony Graham, Morten Welinder]
2193 * Build fixes [Sven Neumann, Benedikt Spranger]
2194
2195 Overview of Changes in Pango 1.2.3
2196 ==================================
2197 * Fix operation with --disable-debug [Jeff Waugh]
2198 * Improve handling of ink rectangle extents for empty runs
2199 * Fix problem with keynav at line boundaries for RTL text [Matthias Clasen]
2200
2201 Overview of Changes in Pango 1.2.2
2202 ==================================
2203 * Cache fontsets for the Xft and FT2 backends, a large speedup for short 
2204   strings [Owen Taylor, Soeren Sandmann]
2205 * Make built in rendering functions, especially the FT2 one,
2206    work more like the GDK implementation [Sven Neumann]
2207 * Add an indic-ft2 module [Kapil Chowskey], 
2208   Add a thai-ft2 module [Theppitak Karoonboonyanan]
2209 * Optimize pango_x_render() by drawing multiple character with
2210   a single request when possible [Morten Welinder]
2211 * Change the handling of attributes that cover only partial glyphs
2212   [Owen, Taneem Ahmed, Sunil Mohan Adapa]
2213 * Fix problems with Arial Unicode and the Opentype code [Owen, Noah Levitt]
2214 * Fix common crash for fonts missing a GDEF table
2215 * Fix common portability problem with informative output at end 
2216   of configure.
2217 * Build cleanups and fixes [Tim Mooney, Chris Ross, Akira Tagoh, 
2218   Will Partain, James Su]
2219 * Miscellaneous bug fixes and cleanups [Simon Budig, Rick Jones, 
2220   Noah, Padraig O'Briain, Benjamin Otte, Andrey Panov, Federic Zhang]
2221 * Documentation fixes [Tim, Sven]
2222
2223 Overview of Changes in Pango 1.2.1
2224 ==================================
2225 * Handle older TrueType Open Arabic fonts.
2226 * Make Win32 backend handle a common TrueType font bug [Tor Lillqvist]
2227 * Fix crash with some non-BMP characters [Morten Welinder]
2228 * Avoid crashing on font descriptions like " 12" [Padraig O'Briain]
2229 * Minor build fixes [Rich Burridge, Sven Neumann]
2230
2231 ============================================================
2232
2233 Changes between 1.1.6 and 1.2.0
2234
2235 * Documentation fixes
2236
2237 Changes between 1.1.5 and 1.1.6
2238
2239 * Fix crash with isolated Hangul tone marks.
2240 * Improve font solection for Hangul tone marks
2241 * Improve range definitions for basic-xft [Jungshik Shin]
2242 * Docs improvements [Matthias Clasen]
2243
2244 Changes between 1.1.4 and 1.1.5
2245
2246 * Fix wrap-around coordinate problems for X, Xt.
2247 * Draw unknown character boxes with X primitives for the
2248   X backend instead of hoping for a suitable glyph [Morten Welinder]
2249 * Fix crash with FT2 arabic shaper from using face->generic.data
2250   for two things.
2251 * For Xft/FT2, give an informative error mesage when no fonts are found.
2252 * Support shape modules with ranges beyond the BMP [Federic Zhang]
2253 * Use octal escapes rather than literal UTF-8 [Arnaud Charlet]
2254 * Use g_[sf]printf where appropriate [Matthias Clasen]
2255 * Doc improvements [Matthias]
2256 * Misc build and bug fixes [Tony Graham, Kjartan Maraas]
2257
2258 Changes between 1.1.3 and 1.1.4
2259
2260 * Fix the Arabic-words-broken-by-underlines problem by
2261   stripping out non-shape affecting attributes then adding them
2262   back after shaping.
2263 * Hangul shaper fixes [Changwoo Ryu, Jungshik Shin]
2264 * Handle compatability ideographs in basic-x shaper [Federic Zhang]
2265 * Rename function parameters to avoid shadowing system headres
2266   [Soeren Sandmann]
2267 * Fix memory leak in Win32 backend [Tor Lillqvist]
2268 * Fix crasher problem with non-BMP characters [He Qiangqiang]
2269 * Implement pango_ft2_font_map_set_default_substitute() [Matthias Clasen]
2270 * Doc improvements [Matthias Clasen, Michael R. Walton, Jungshik Shin]
2271 * Misc bug and build fixes [Dagfinn I. Mannsåker, Tony Graham,
2272   Dan Mills, Sebastian Wilhelmi]
2273
2274 Changes between 1.1.2 and 1.1.3
2275
2276 * Hangul module bug fixes and improvements [Changwoo Ryu, Jungshik Shin]
2277   - Move rendering of precomposed characters to hangul-xft shaper
2278   - Handle Hangul tone marks
2279 * Win32 improvements [Tor Lillqvist]
2280   - Use Uniscribe when present
2281 * Some doc build fixes [Matthias Clasen]
2282 * Code cleanup [Manish Singh]
2283 * Fix assertion failure in PangoLayout [Alex Larsson]
2284 * Fix memory leak when freeing fontmaps [Sven Neumann]
2285
2286 Changes between 1.1.1 and 1.1.2
2287
2288 * Add a new wrap mode for PangoLayout - PANGO_WRAP_WORD_CHAR [Alex Larsson]
2289 * Win32 work [Tor Lillqvist]
2290   - Handle choosing the right font for CJK languages based on language tags. 
2291   - Fix boxes showing up for tabs [Florent Duguet]
2292   - Better handling of finding ASCII font names.
2293   - Cygwin compilation fix [Masahiro Sakai]
2294   - Fix --with-included-modules on win32 [Arnaud Charlet]
2295   - Various build fixes and cleanups
2296 * Indic module improvements [Eric Mader]
2297 * Fixes to generic OpenType handling [Eric]
2298 * Improve language specific charset ordering basic-x11 [James Su, Brian Yuan]
2299 * Some merges of fixes by Werner Lemberg to the original 
2300   FreeType OpenType code.
2301 * Robustify and otherwise improve pango_color_parse() [Matthias Clasen]
2302 * Some cross-compiling fixes [J. Ali Harlow]
2303 * Bug fix for pango_scan_int() needed for recent GTK+.
2304
2305 Changes between 1.1.0 and 1.1.1
2306
2307 * Merge a lot of the code between the Xft and FT2 backend,
2308   so that the FT2 backend gets the recent improvements to Xft.
2309 * Add proper language tag support to the Xft/FT2 backends.
2310 * Various effienciency fixes for the Xft/FT2 backends.
2311
2312 Changes between 1.0.x and 1.1.0
2313
2314 * Support for version 2 of the Xft library. [Keith Packard]
2315 * Convert the freetype backend over to using fontconfig,
2316   instead of MiniXft for font cataloging.
2317 * A port of the Indic OpenType code from ICU to Pango. [Eric Mader]
2318 * A new hangul-xft [Changwoo Ryu]
2319 * Bug-fixes to the OpenType handling code.
2320 * Various cleanups to the PangoXft and PangoFT2 public APIs.
2321 * Docs switched over to DocBook XML. [Matthias Clasen]
2322
2323 ============================================================
2324
2325 Changes between 1.0.3 and 1.0.4
2326
2327 * Add Thai shaper for Xft  [Theppitak Karoonboonyanan]
2328 * Support GB-18030, BIG5-HKSCS, CNS-11643, GBK encodings for
2329   basic-x shaper [Qingjiang (Brian) Yuan]
2330 * Support ksc5601.1992-3 fonts in hangul-x shpaer 
2331   [Qingjiang (Brian) Yuan, Changwoo Ryu]
2332 * Support new Arabic characters in Unicode 3.2 [Roozbeh Pournader]
2333 * Bug fixes [Jacob Berkman, Arnaud Charlet, David L. Cooper II, 
2334   Choe Hwangjin, Alex Larsson, Sven Neumann, Matthias Warkus, Yao Zhang]
2335
2336 Changes between 1.0.2 and 1.0.3
2337
2338 * Change algorithm for mapping points to pixels on
2339   Windows to match the system method. [Joaquin Cuenca Abela,
2340   Tor Lillqvist]
2341 * Fix family listing for the FT2 backend. [Sven Neumann]
2342 * Fix memory leak in pango_font_real_get_metrics() [Matthias Clasen]
2343 * Some compilation warning fixes. [David L. Cooper II]
2344 * Fix passing attr_list == NULL to pango_parse_markip [Andreas J. Guelzow]
2345
2346 Changes between 1.0.1 and 1.0.2
2347
2348 * Support building with FreeType 2.1.0
2349 * List Sans,Serif,Monospace when listing fonts for the
2350   Xft and FT2 backends. (Xavier Cho)
2351 * Portability fixes. (David L. Cooper II, Jacob Berkman)
2352 * Fix problem with pango-querymodules using g_print().
2353
2354 Changes between 1.0.0 and 1.0.1
2355
2356 * Documentation improvements [Matthias Clasen]
2357 * Use new API in FreeType 2.0.9 to greatly speed up coverage
2358   calculation for Xft and FT2 backends.
2359 * Some fixes for reading of OpenType tables.
2360 * Add -D_REENTRANT to compilation when necessary. [Sven Neumann]
2361 * Try and enable ClearType for Win32 backend. [Tor Lillqvist]
2362 * Fixes for Korean glyphs in the basic-x shaper [Changwoo Ryu]
2363 * Improvements for computation of average char/digit width [Sven Neumann]
2364 * Bug and error reporting fixes 
2365   [Arnaud Charlet, Erwann Chenede, Mikael Hallendal, Stefan Israelsson, 
2366    Alex Larsson, Soeren Sandmann, Dan Winship]
2367
2368 ============================================================
2369
2370 Changes between 1.0.0 rc2 and 1.0.0
2371
2372 * Updated README files.
2373 * Minor build fixes [Tor Lillqvist, Jacob Berkman]
2374
2375 Changes between 1.0.0 rc1 and 1.0.0 rc2
2376
2377 * Fix missing weight names when parsing font names [Arnaud Charlet]
2378 * Build fixes [Martin Gansser, Manish Singh]
2379
2380 Changes between 0.26 and 1.0.0 rc1
2381
2382 * Try to build libraries with only shared library dependencies
2383   on Xft to deal with transition to Xft2.
2384 * Efficiency improvements for Xft backend
2385 * Bug, build and portability fixes
2386
2387 Contributors: Jacob Berkman, Abel Cheung, David L. Cooper II, 
2388   Miroslaw Dobrzanski-Neumann, , Dov Grobgeld, Alex Larsson, Tor Lillqvist, 
2389   Sven Neumann, Gediminas Paulauskas, Manish Singh, Raymond Wan, 
2390   Richard Warren.
2391
2392 Changes between 0.25 and 0.26
2393
2394 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
2395 * Fix zero-width characters being displayed [Sven Neumann]
2396 * Add some padding to class structures [Owen Taylor]
2397
2398 Changes between 0.24 and 0.25
2399
2400 * Win32 fixes [Tor Lillqvist, Hans Breuer]
2401 * Cleanup of <ctype.h> [Darin Adler]
2402 * Bug and build fixes [Anders Carlsson, Sven Neumann, Havoc Pennington,
2403   Morten Welinder]
2404
2405 Changes between 0.23 and 0.24
2406
2407 * Win32 backend improvements [Tor Lillqvist]
2408 * Doc improvements [Havoc Pennington, Dennis Bjorklund]
2409 * Fix problem where "foo\n" was treated as one paragraph by pango-layout,
2410   not two. [Arjan J. Molenaar, Owen Taylor]
2411 * Add glyph caching to FT2 backend [Alex Larsson]
2412 * Try to make configure checks for Qt-based example more robust [Owen]
2413 * New example program for FT2 backend [Dov Grobgeld]
2414 * Arabic shaper for FT2 backend [Andreas Bogk, Sven Neumann]
2415 * Bug fixes
2416
2417 Other contributors: Mikael Hermansson, Darin Adler, Hidetoshi Tajima, Zack Rusin, 
2418   Jacob Berkman, Jason Tackaberry, Evan Martin, Matthias Clasen
2419
2420 Changes between 0.22 and 0.23
2421
2422 * Documentation improvements [Matthias Clasen]
2423 * Win32 fixes [Hans Breuer]
2424 * Improve search for XftConfig [Manish Singh]
2425 * Fixes for crashes in Hangul shaper [Owen Taylor]
2426 * Improvements to Arabic shapers for X and Xft [Roozbeh Pournader]
2427 * Add jisx0212, jisx0201, Big5 support to basic shaper [HideToshi Tajima]
2428 * Many bug fixes
2429
2430 Other contributors: Darin Adler, Dennis Dementiev, Sebastian Klemke, 
2431   Alex Larsson, Sven Neumann, Joshua Pritikin, Padraig O'Briain, 
2432   Kristian Rietveld, Sebastian Wilhelmi
2433
2434 Changes between 0.21 and 0.22
2435
2436 * Documentation improvements [Matthias Clasen]
2437 * Win32 fixes [Tor Lillqvist, Hans Breuer]
2438 * Improve line-breaking algorithm to not be O(n^2) [Alex Larsson]
2439 * API addition to render to Xrender drawable
2440 * Restructure so that "font sets" are handled by the core 
2441   for all backends [Alex]
2442 * Use the Xft font configuration scheme for the FT2 backend as well [Alex]
2443
2444 Other Contributors: Darin Alder, Sven Neumann, Raymond Wan
2445
2446 Changes between 0.20 and 0.21
2447
2448 * Documentation improvements. [Matthias Clasen, Sven Neumann]
2449 * pango_break() now reports n + 1 attributes for n characters, not n. [Havoc Pennington]
2450 * Win32 fixes, including support for configure.in on Win32. [Tor Lillqvist]
2451 * Bug fixes [Tony Graham, Eric Lemings, Manish Singh, Sven Neumann, Matt Wilson, 
2452              Frank Belew]
2453
2454 Changes between 0.19 and 0.20
2455
2456 * Change PangoFontDescription to save values for unset fields
2457 * Fix for compilation with FreeType 2.0.4 [Havoc Pennington]
2458 * Add PANGO_TYPE_FONT_METRICS [James Henstridge]
2459 * Win32 fixes and updates [Hans Breuer
2460 * PangoLayout bug fixes [Alex Larsson, Padraig O'Briain]
2461 * Misc fixes and cleanups.
2462
2463 Other contributors: Matthias Clasen, Tony Graham, Mario Motta, Sven Neumann
2464
2465 Changes between 0.18 and 0.19
2466
2467 * Change font listing API to be more extensible. Instead of
2468   using family names and 
2469 * Make PangoMetrics and PangoFontDescription opaque heap-allocated
2470   structures to allow extension going forward.
2471 * Allow for PangoFontDescription structures with unspecified
2472   style/variant/stretch/weight.
2473 * Add PANGO_ENABLE_BACKEND and PANGO_ENABLE_ENGINE #defines to
2474   protect parts of the API where we don't want to guarantee
2475   source binary compatibility for 1.x.
2476 * Bug fixes.
2477
2478 Changes between 0.17 and 0.18
2479
2480 * Add PangoLanguage type for language tags, use consistently.
2481 * Add support for different font orderings for different lanuages to
2482   basic shaper.
2483 * Win32 fixes [Alex,Hans]
2484 * Add pango_context_get_metrics() to get metrics for a font description
2485 * Add GTypes for various types [James]
2486 * Lots of warning fixes [Darin]
2487 * Fix to PangoLayout for lines with only tabs on them [Matthias]
2488 * Improve compositing of glyphs for pangoft2 backend [Sven]
2489 * Export pango_color_parse().
2490 * Adapt to changes in GLib.
2491 * Build and bug fixes.
2492
2493 Changes between 0.16 and 0.17
2494
2495 * Build/bug fixes
2496 * Cursor motion is now by graphemes (logical editing units) rather than 
2497   by characters
2498 * Optionally support jumping cursor instead of split cursor
2499
2500 Changes between 0.15 and 0.16
2501
2502 * Ability to make newlines in a PangoLayout display as regular characters
2503   (useful for, e.g., having an entry widget with embedded newlines.)
2504 * Build fixes
2505 * Bug fixes
2506
2507 Changes between 0.14 and 0.15
2508
2509 * New version of Tamil shaper from Vikram Subramanian
2510 * Update mini-fribidi to correspond to the latest FriBidi CVS
2511 * Win32 fixes
2512 * More documentation
2513 * Various minor bug and build fixes. 
2514
2515
2516 Changes between 0.13 and 0.14
2517
2518 * Win32 improvements [Tor]
2519 * Much better boundary resolution using algorithms from the Unicode
2520   standard [Havoc]
2521 * Initial support for anti-aliased TrueType and OpenType fonts
2522   using the Xft and Xrender libraries from XFree86 4. [Owen]
2523 * Fix the FreeType support on Unix so it can be used for the frame-buffer 
2524   port of GTK+. [Alex]
2525 * Fix up module building [Alex]
2526 * Add average-character-width font metric [Havoc]
2527 * Bug fixes
2528
2529
2530 Changes between 0.12 and 0.13
2531
2532 * Win32 Support [Tor]
2533 * Per-display caching of font coverage on the root window  [Owen]
2534 * Handling of embedded non-characters in PangoLayout [Elliot]
2535 * Mapping table fixes and improvements [KUSANO Takayuki, Abigail, Owen]
2536 * Adjustable tab handling in PangoLayout [Havoc]
2537 * Add relative font-scaling attribute [Havoc]
2538 * Add function to convert XML/GMarkup description to a PangoAttrList [Havoc]
2539 * New version of Arabic shaper [Karl]
2540 * Enhanced Indic support with ligature tables from the font and
2541   many more languages [Abigail]
2542 * Include FriBidi core that provides the features that Pango needs and
2543   can be used instead of separately installed fribidi. [Owen]
2544 * Add PangoLayoutIterator that abstracts the geometry operations for
2545   iterating over the lines/items/clusters/chars in a layout [Havoc]
2546 * Bug fixes, and more bug fixes
2547
2548
2549 What is new in GScript 0.1:
2550
2551 * Initial release
2552
2553
2554 # Local Variables:
2555 # coding: utf-8
2556 # End:
2557 # vim: encoding=utf-8: