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
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
13 Overview of changes between 1.25.6 and 1.26.0
14 =============================================
15 - New stable release series
17 Bug 595539 - Regressions in rendering certain Thai sequences
19 Overview of changes between 1.25.5 and 1.25.6
20 =============================================
21 - Fix a couple of array overflow bugs
23 Bug 593240 - updating pango to latest git master makes things crash
24 Bug 593231 - < c99 compiler dislikes ValueRecord
26 Overview of changes between 1.25.4 and 1.25.5
27 =============================================
28 - Minor HarfBuzz code shuffling
30 Bug 592484 - invalid write in HB
31 Bug 592194 - Fix missing _SC_PAGE_SIZE macro
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
41 Bug 592131 - Add AM_SILENT_RULES
42 Bug 592036 - integer overflow bug causes misrendering of Nepali
44 Bug 591511 – hh-blob.c does not compile using mingw on windows
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
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
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
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
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
76 - Port to ATSUI backend to use CoreText instead of ATS
79 pango_gravity_get_for_script_and_width()
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
88 Overview of changes between 1.24.4 and 1.24.5
89 =============================================
90 - Build introspection again
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
96 Overview of changes between 1.24.3 and 1.24.4
97 =============================================
99 Bug 586814 – Crashes related to fontmap destruction after upgrade
101 Overview of changes between 1.24.2 and 1.24.3
102 =============================================
103 - Fix build with new automake
105 Bug 585337 – Fails to install: install: will not overwrite
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
112 Overview of changes between 1.24.1 and 1.24.2
113 =============================================
115 Bug 580987 – SIGFPE in pango_glyph_string_index_to_x
116 Bug 580273 – Font metrics functions incorrectly listed as reporting
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
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
129 - Improved Indic shaper for new Unicode 5.1 characters
131 - Bugs fixed in this release:
133 Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD
134 Bug 578336 – ABI breakage from 1.22 to 1.24 in fontmap field
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
142 Overview of changes between 1.23.0 and 1.24.0
143 =============================================
144 - pango-view improvements:
146 * pango-view -q now works without a X server.
148 * Ability to save to PS, EPS, PDF, and SVG files. Filetype is
149 detected from output file extension.
151 * New options --foreground, --background, and --annotate.
153 * Now installs a manual page, thanks to help2man.
155 - PangoFc API changes:
157 * PangoFcFont now has a "fontmap" property that subclasses can use
158 at construction time to setup the font->fontmap link.
160 * New backend-public API:
162 pango_fc_font_map_find_decoder()
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
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.
190 Add two new public macros:
192 PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING
193 PANGO_ATTRIBUTE_INDEX_TO_TEXT_END
195 Add new public enum values:
198 PANGO_WEIGHT_ULTRAHEAVY
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
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
233 Overview of changes between 1.22.3 and 1.22.4
234 =============================================
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
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
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
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
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
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
279 - Bugs fixed in this release:
280 Bug 528272 – "Error loading GPOS table 5503" when using katakana
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
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
296 - Bugs fixed in this release:
297 Bug 552993 – Romanian pangram
298 Bug 551865 – Can't change justification of a PangoLayout after first
300 Bug 551416 - pangowin32-fontcache.c: argument is different type
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
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.
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.
325 - In pango_language_get_sample_string() use default language if provided
328 - Update OpenType language-system tags to OpenType 1.5 draft intersected with
329 ISO639-3 of 2008/08/04.
332 Add a minor new public API:
334 pango_language_get_scripts()
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.
341 - Bugs fixed in this release:
342 Bug 549003 – pango_layout_set_height(): layout should not be cleared
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()
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
366 PangoRenderer::draw_glyph_item()
367 pango_renderer_draw_glyph_item()
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.
374 New public API, for iterating a PangoGlyphItem:
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()
385 Make the following previously backend-only API public:
388 pango_context_set_font_map()
390 This also means that bindings are recommended to allow
391 instantiation of pango.Context. This was discouraged before.
395 pango_font_map_create_context()
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:
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().
408 Language bindings are encouraged to bind
409 pango.Fontmap.create_context() and remove the create_context()
410 method from subclass implementations.
413 - Bugs fixed in this release:
414 Bug 547303 – pango_layout_get_cursor_pos crashes on certain text
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
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
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
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.
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
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
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
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.
483 pango_attr_type_get_name()
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()
491 - Bugs fixed in this release:
492 Bug 515432 – Add function to get bidirectional character type of a
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
501 Bug 514617 – Add pango_cairo_font_map_set_default()
502 Bug 511183 – Add pango_attr_type_get_name()
504 Overview of changes between 1.20.1 and 1.20.2
505 ==============================================
506 - Really fix build on OS X.
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.
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
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.
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
535 Bug 515484 – Pango on Windows is missing Type 1
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
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
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().
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.
562 - HarfBuzz was relicensed to a more generous and simpler license.
563 Adapt. See pango/opentype/COPYING for the new license which is
568 pango_layout_set_height()
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
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.
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.
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.
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
594 - New command-line arguments to pango-view: --height and --single-par.
596 - Make the following symbols available to engines:
603 PANGO_TYPE_OT_RULESET
604 pango_ot_info_get_type
605 pango_ot_ruleset_get_type
607 - Bugs fixed in this release:
608 Bug 508002 – change pango_layout_pixel_extents() to round logical rect
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
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.
630 PANGO_GLYPH_INVALID_INPUT
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
637 Bug 501938 – Arabic shaping broken with vertical layout with
639 Bug 501575 – Compile errors
640 Patch from Jens Granseuer
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
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.
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.
663 - Apply 'vkrn' GPOS feature in vertical writing.
665 - In pangofc, set "pangoversion" in pattern passed to fontconfig,
666 such that font configuration can condition on being driven by Pango
669 - Various optimizations and cleanups in the OpenType Layout engine,
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.
680 * Public API chance: Mark the following types as abstract:
689 PangoContext may be marked so in the future too.
691 * Make following macros public. Previously they were only
692 defined for backend/engine implementations.
695 PANGO_GLYPH_UNKNOWN_FLAG
696 PANGO_GET_UNKNOWN_GLYPH()
701 * Convenience for initializing custom attributes:
703 pango_attribute_init()
705 * Adding boxed type for PangoGlyphItem:
707 PANGO_TYPE_GLYPH_ITEM
708 pango_glyph_item_copy()
709 pango_glyph_item_get_type()
711 * Add missing copy function for a boxed type in C:
713 pango_layout_iter_copy()
715 * Add missing getter:
717 pango_layout_iter_get_layout()
719 * Convenience for writing custom PangoRenderer's:
721 pango_renderer_get_layout()
722 pango_renderer_get_layout_line()
724 * PangoFc extensions to fontconfig's pattern syntax:
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
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
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]
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
765 Overview of changes between 1.18.1 and 1.18.2
766 ==============================================
767 - Require libthai >= 0.1.9 for enabling thai-lang module
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
775 Bug 410152 – testboundaries test fails
777 Overview of changes between 1.18.0 and 1.18.1
778 ==============================================
779 - Misc bug fixes, including fix for an infinite-loop bug.
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"
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
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
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()
815 Overview of changes between 1.17.4 and 1.17.5
816 ==============================================
817 - Export PangoCairoFont and cleanup various standard macros.
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
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
830 - Bugs fixed in this release:
831 Bug 451547 – FAIL: runtests.sh
832 Bug 449543 - Ship pangoatsui.h
834 Overview of changes between 1.17.2 and 1.17.3
835 ==============================================
836 - Extensive pangocairo internal code refactoring and cleanup
840 pango_font_face_is_synthesized()
842 pango_cairo_font_get_scaled_font()
843 pango_cairo_font_map_new_for_font_type()
844 pango_cairo_font_map_get_font_type()
849 PANGO_OT_TAG_MAKE_FROM_STRING()
851 - New PangoFontFace method is_synthesized.
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
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().
874 - New engine API: pango_ot_ruleset_new_from_description().
876 - Treat Unknown script like Common and other non-"real" scripts.
879 - Misc typo fixes [Peter Moulder]
881 - Bugs fixed in this release:
883 Bug 443206 – PANGO_SCRIPT_UNKNOWN should not cause a run break
884 Patch from Martin Hosken
886 Overview of changes between 1.17.0 and 1.17.1
887 ==============================================
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.
892 - Added N'Ko support to the Arabic module. [Eugeniy Meshcheryakov]
894 - Small Indic module fix for Malayalam.
896 - Fixed font metrics returned by the ATSUI backend. [Richard Hult]
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.
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).
908 - New OpenType engine API:
910 pango_ot_ruleset_get_feature_count()
912 - Bugs fixed in this release:
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
923 Overview of changes between 1.16.4 and 1.17.0
924 ==============================================
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
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.
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
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
954 - Simplified embedded-shape rendering with pangocairo backends do.
957 - New header file: Moved PangoLanguage APIs into its own header
958 pango-language.h, which is included from pango-types.h.
960 - ATSUI backend now lists synthesized italic faces like other
962 - Misc optimizations and fixes.
964 OpenType Layout Engine Improvements:
966 - Vertical glyph variants are not selected in vertical text if the
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
975 These, plus the PANGO_LANGUAGE env var, give font designers and
976 users lots of options to provide/choose language-specific glyph
979 Only basic, arabic, and syriac modules updated to take advantage of
980 the new support so far.
982 New pango-view command line options:
990 - New public pangocairo API:
992 PangoCairoShapeRendererFunc
993 pango_cairo_context_set_shape_renderer()
994 pango_cairo_context_get_shape_renderer()
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.)
1002 - Other public API changes:
1004 New is_expandable_space member in PangoLogAttr
1005 New macro PANGO_UNITS_ROUND()
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:
1012 PANGO_OT_TAG_DEFAULT_SCRIPT
1013 PANGO_OT_TAG_DEFAULT_LANGUAGE
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()
1029 - Bugs fixed in this release:
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
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
1038 Bug 433805 – [Atsui] Approximate char/digit width width often 0
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
1044 Bug 436154 – Error building the pango.modules file while cross
1046 Bug 436988 – Adding PangoScript to PangoAnalysis
1047 Bug 437534 – pango_language_includes_script is buggy
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
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
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
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
1091 Bug 414297 – Fails to build with --enable-static
1092 --with-included-modules in thai lang module
1093 Patch from Loïc Minier
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
1109 Overview of changes between 1.15.5 and 1.15.6
1110 ==============================================
1111 - Fix possible crasher in win32 font selection [Owen Taylor]
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
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
1126 Overview of changes between 1.15.3 and 1.15.4
1127 ==============================================
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)
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]
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.
1147 - New PangoLayout query functions:
1149 pango_layout_is_wrapped()
1150 pango_layout_is_ellipsized()
1151 pango_layout_get_unknown_glyphs_count()
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.
1157 - Misc new function:
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
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.
1172 New attribute types:
1175 PANGO_ATTR_GRAVITY_HINT.
1183 PANGO_GRAVITY_IS_VERTICAL()
1185 New public functions:
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()
1196 pango_matrix_to_gravity()
1198 replaced by pango_gravity_get_for_matrix()
1200 Gravity API added in previous releases:
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
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
1216 #if defined(PANGO_VERSION_CHECK) && PANGO_VERSION_CHECK(1,15,4)
1217 pango_context_set_gravity (context, PANGO_GRAVITY_AUTO);
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
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
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
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
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.
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
1251 * New PangoMatrix methods:
1253 pango_matrix_transform_distance()
1254 pango_matrix_transform_point()
1255 pango_matrix_transform_rectangle()
1256 pango_matrix_transform_pixel_rectangle()
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.
1264 * Unit conversion helpers:
1266 pango_units_from_double()
1267 pango_units_to_double()
1268 pango_extents_to_pixels()
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
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
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
1293 Overview of changes between 1.15.1 and 1.15.2
1294 ==============================================
1296 - Improved Hangul shaper engine
1297 - Improved Indic shaper and language engines
1298 - Require libthai >= 0.1.7 for the Thai language engine
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
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.
1311 - Public macros and functions for compile- and run-time version checking:
1313 PANGO_VERSION_ENCODE()
1318 PANGO_VERSION_STRING
1319 PANGO_VERSION_CHECK()
1321 pango_version_string()
1322 pango_version_check()
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.
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.
1333 - New, readonly, version of methods that give read/write access to the
1334 internals of PangoLayout:
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()
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:
1351 http://www.google.com/codesearch?hl=en&q=+pango_layout_(iter_)%3Fget_(lines%3F%7Crun)%5B%5E_%5D&start=50&sa=N
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).
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:
1364 pango_context_set_language (context, pango_language_get_default());
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
1370 - pango_color_to_string().
1372 * Bugs fixed in this release:
1373 Bug 326099 – Setting width, indentation and ellipsizing doesn't work
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.
1379 Bug 385321 – Worst case expansion for Sinhala
1381 Red Hat Bug 211574: [hi/ml/si_LK] cursor naviation is wrong when
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
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.
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
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.
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
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.
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
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
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)
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
1487 Patch from Rahul Bhalerao
1488 Bug 358174 – Reph and Vattu forms of Assamese character RA(U+09F0)
1490 Patch from Rahul Bhalerao
1492 Overview of changes between 1.14.4 and 1.14.5
1493 ==============================================
1494 * Indic shaper 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
1505 Overview of changes between 1.14.3 and 1.14.4
1506 ==============================================
1507 * Indic shaper fixes.
1509 * Bugs fixed in this release:
1510 Bug 351223 – the conjuction of Con + 0x0d4d +0x0d31 of Malayalam is
1512 Patch from LingNing Zhang
1513 Bug 355750 – The glyphs of the conjuctions about Cons+0x0d4d+0x0d32 of
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
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
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
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
1551 Bug 351585 – API documentation issues with 2.15 release
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.
1559 Overview of changes between 1.13.4 and 1.13.5
1560 ==============================================
1561 * Indic shaper improvements.
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
1569 Overview of changes between 1.13.3 and 1.13.4
1570 ==============================================
1571 * Update to Unicode Character Database 5.0.0.
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.
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.
1586 - pango_glyph_string_get_width
1587 * Little performance improvement.
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
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]
1610 - pango_cairo_show_error_underline
1611 - pango_cairo_error_underline_path
1612 - pango_font_describe_with_absolute_size
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
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.
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
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
1641 Bug 342079 – pangoatsui-private.h missing from release
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.
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
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
1668 Bug 329483 – hinting hexbox in cairo backend doesn't handle absolute
1670 Bug 340040 – pangocairo hex box hinting falls apart with PS/PDF
1672 Bug 71033 – make size 0 fonts work
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.
1686 * Fixed many compiler warnings.
1687 * Bugs fixed in this release:
1688 332656,335840,334802,337029,337821,338343
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.
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
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
1714 * Bugs fixed in this release:
1715 330795,331038,329148,331994,331995,331996,314239,331723
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.
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.
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.
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.
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.
1763 * Misc documentation improvements.
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.
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.
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.
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]
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]
1820 Overview of changes between 1.9.0 and 1.9.1
1821 ==========================================
1822 * Support setting of font options and DPI on PangoContext for
1824 * Adapt to recent Cairo API changes
1825 * Win32 build improvements [Tor Lillqvist]
1826 * Misc bug fixes [Hans Breuer, Thomas Fitzsimmons, Kazuki IWAMOTO]
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]
1839 ============================================================
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,
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]
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]
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,
1888 * Fix crash when drawing long strings
1889 * Misc fixes [Matthias Clasen, Dan Winship]
1891 Overview of changes between 1.6.x and 1.7.0
1892 ===========================================
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
1902 * Add pango_win32_render_transformed() [Hans Breuer]
1903 * Misc fixes [Hans Breuer, Matthias Clasen, Manish Singh,
1905 * Documentation improvements
1907 ============================================================
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]
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]
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]
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]
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]
1952 ============================================================
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,
1968 * Misc bug fixes [Stanislav Brabec, Anders Carlsson, Behdad Esfahbod,
1969 Jody Goldberg, Theppitak, Sven Neumann, Manish Singh, Morten Welinder]
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]
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,
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]
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,
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]
2015 Overview of changes between 1.3.0 and 1.3.1
2016 ===========================================
2017 * Support non-Unicode font encodings when supported by fontconfig
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,
2026 * Fix header file includes to work with recent FreeType.
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
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]
2061 ============================================================
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.
2068 Overview of Changes in Pango 1.2.4
2069 ==================================
2070 * Win32 [Tor Lillqvist]
2071 - Avoid calling Uniscribe when not necessary [Hans Breuer]
2074 - Add pre-base-matra fixup code from ICU [Sivaraj Doddannan]
2075 - Port of Bengali rendering fix from ICU [Taneem Ahmed]
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]
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]
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
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]
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]
2124 ============================================================
2126 Changes between 1.1.6 and 1.2.0
2128 * Documentation fixes
2130 Changes between 1.1.5 and 1.1.6
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]
2137 Changes between 1.1.4 and 1.1.5
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
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]
2151 Changes between 1.1.3 and 1.1.4
2153 * Fix the Arabic-words-broken-by-underlines problem by
2154 stripping out non-shape affecting attributes then adding them
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
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]
2167 Changes between 1.1.2 and 1.1.3
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]
2179 Changes between 1.1.1 and 1.1.2
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+.
2198 Changes between 1.1.0 and 1.1.1
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.
2205 Changes between 1.0.x and 1.1.0
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]
2216 ============================================================
2218 Changes between 1.0.3 and 1.0.4
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]
2229 Changes between 1.0.2 and 1.0.3
2231 * Change algorithm for mapping points to pixels on
2232 Windows to match the system method. [Joaquin Cuenca Abela,
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]
2239 Changes between 1.0.1 and 1.0.2
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().
2247 Changes between 1.0.0 and 1.0.1
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]
2261 ============================================================
2263 Changes between 1.0.0 rc2 and 1.0.0
2265 * Updated README files.
2266 * Minor build fixes [Tor Lillqvist, Jacob Berkman]
2268 Changes between 1.0.0 rc1 and 1.0.0 rc2
2270 * Fix missing weight names when parsing font names [Arnaud Charlet]
2271 * Build fixes [Martin Gansser, Manish Singh]
2273 Changes between 0.26 and 1.0.0 rc1
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
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,
2285 Changes between 0.25 and 0.26
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]
2291 Changes between 0.24 and 0.25
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,
2298 Changes between 0.23 and 0.24
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]
2310 Other contributors: Mikael Hermansson, Darin Adler, Hidetoshi Tajima, Zack Rusin,
2311 Jacob Berkman, Jason Tackaberry, Evan Martin, Matthias Clasen
2313 Changes between 0.22 and 0.23
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]
2323 Other contributors: Darin Adler, Dennis Dementiev, Sebastian Klemke,
2324 Alex Larsson, Sven Neumann, Joshua Pritikin, Padraig O'Briain,
2325 Kristian Rietveld, Sebastian Wilhelmi
2327 Changes between 0.21 and 0.22
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]
2337 Other Contributors: Darin Alder, Sven Neumann, Raymond Wan
2339 Changes between 0.20 and 0.21
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,
2347 Changes between 0.19 and 0.20
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.
2356 Other contributors: Matthias Clasen, Tony Graham, Mario Motta, Sven Neumann
2358 Changes between 0.18 and 0.19
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.
2371 Changes between 0.17 and 0.18
2373 * Add PangoLanguage type for language tags, use consistently.
2374 * Add support for different font orderings for different lanuages to
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.
2386 Changes between 0.16 and 0.17
2389 * Cursor motion is now by graphemes (logical editing units) rather than
2391 * Optionally support jumping cursor instead of split cursor
2393 Changes between 0.15 and 0.16
2395 * Ability to make newlines in a PangoLayout display as regular characters
2396 (useful for, e.g., having an entry widget with embedded newlines.)
2400 Changes between 0.14 and 0.15
2402 * New version of Tamil shaper from Vikram Subramanian
2403 * Update mini-fribidi to correspond to the latest FriBidi CVS
2405 * More documentation
2406 * Various minor bug and build fixes.
2409 Changes between 0.13 and 0.14
2411 * Win32 improvements [Tor]
2412 * Much better boundary resolution using algorithms from the Unicode
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]
2423 Changes between 0.12 and 0.13
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
2442 What is new in GScript 0.1:
2450 # vim: encoding=utf-8: