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