1 2009-02-03 Behdad Esfahbod <behdad@gnome.org>
3 * === Released 1.23.0 ===
5 * configure.in: Version 1.23.0
9 2009-02-03 Behdad Esfahbod <behdad@gnome.org>
11 * pango/Makefile.am: Comment out gobject-introspection for now,
14 2009-02-02 Behdad Esfahbod <behdad@gnome.org>
16 * configure.in: Fix conditional.
18 2009-02-01 Behdad Esfahbod <behdad@gnome.org>
20 * pango/pangocairo-fcfont.c (pango_cairo_fc_font_class_init):
21 Don't do anything in shutdown. Was causing double-free of cairo
24 2009-01-31 Behdad Esfahbod <behdad@gnome.org>
26 * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array),
28 Allocate all array rows in a single ALLOC call. Saves over 100
29 alloc calls when loading DejaVu Sans,
31 2009-01-31 Behdad Esfahbod <behdad@gnome.org>
33 * pango/pangofc-fontmap.c (pango_fc_face_describe),
34 (pango_fc_face_list_sizes), (pango_fc_family_list_faces):
35 It's not a programming error if face->family is NULL or
36 family->fontmap is NULL. Be graceful.
38 2009-01-30 Behdad Esfahbod <behdad@gnome.org>
40 Bug 569763 – pango doesn't like font descriptions without family!
42 * pango/pangofc-fontmap.c (pango_fc_make_pattern): Don't crash is desc
43 doesn't have family set.
45 2009-01-29 Behdad Esfahbod <behdad@gnome.org>
47 * pango-view/viewer-render.c (make_layout), (get_options_string):
48 Remove default font family and size. This means default size is not
49 12 IIRC, not 18 as it was.
51 2009-01-29 Behdad Esfahbod <behdad@gnome.org>
53 * pango/opentype/harfbuzz-open.h:
54 * pango/opentype/harfbuzz-gdef.c (Make_ClassRange),
55 (HB_GDEF_Build_ClassDefinition):
56 * pango/opentype/harfbuzz-gpos.c (Load_PosClassRule),
57 (Load_ChainPosClassRule):
58 * pango/opentype/harfbuzz-gsub.c (Load_SubClassRule),
59 (Load_ChainSubClassRule):
60 * pango/opentype/harfbuzz-open.c (Load_ClassDef1),
61 (Load_ClassDef2), (_HB_OPEN_Load_ClassDefinition),
62 (_HB_OPEN_Load_EmptyClassDefinition),
63 (_HB_OPEN_Free_ClassDefinition):
64 Remove ClassDef->Defined field. This is the comment accompanying it:
66 The `Defined' field is not defined in the OpenType specification
67 but apparently needed for processing fonts like trado.ttf: This
68 font refers to a class which contains not a single element. We
69 map such classes to class 0.
71 The comment is correct that trado.ttf (MS Traditional Arabic) uses
72 such classes. However, in my testing I couldn't identify any
73 problems with the font if the special handling is removed. I also
74 processed as many fonts as I could get my hand on and trado.ttf was
75 the only not-totally-broken font hitting the special-case code.
76 DejaVu fonts hit it too, but I'm sure they do not require the
77 special-handling code. Most probably, that code introduces bugs
80 The special-casing was consuming lots of memory. EIGHT MEGABYTES
81 for loading DejaVu Sans! While this could be complete fixed, I
82 decided to remove the special-handling code altogether. I don't
83 think it will make any real difference, and if it does, we'll fix
84 fonts. Such hacks will not be in harfbuzz-ng anyway.
86 Bug originally reported by nsf.
88 2009-01-29 Behdad Esfahbod <behdad@gnome.org>
90 * pango/opentype/harfbuzz-impl.c (_hb_alloc): Use calloc(),
91 instead of malloc()ing and memset()ing.
93 2009-01-29 Behdad Esfahbod <behdad@gnome.org>
95 * pango/opentype/harfbuzz-dump-main.c (main): Remove old cruft.
97 2009-01-29 Behdad Esfahbod <behdad@gnome.org>
99 * pango/pangofc-fontmap.c (pango_fc_font_map_fini),
100 (pango_fc_font_map_shutdown): Don't disassociate family from fontmap
101 during cache_clear().
103 2009-01-29 Behdad Esfahbod <behdad@gnome.org>
105 * pango/opentype/harfbuzz-gpos.c (Load_BaseArray), (Free_BaseArray):
106 Allocate all array rows in a single ALLOC call. Saves over 2000
107 alloc calls when loading DejaVu Sans!
109 2009-01-28 Behdad Esfahbod <behdad@gnome.org>
111 Bug 560792 – Make PangoLayoutLine with line->layout==NULL renderable
113 * pango/pango-renderer.c (pango_renderer_draw_layout_line),
114 (pango_renderer_draw_glyph_item), (pango_renderer_set_matrix):
115 Handle line->layout == NULL.
117 2009-01-28 Behdad Esfahbod <behdad@gnome.org>
119 Bug 567392 – Abiword crashes in pango when opening document with
122 * pango/pango-ot-info.c (pango_ot_info_find_language),
123 (pango_ot_info_find_feature), (pango_ot_info_list_languages),
124 (pango_ot_info_list_features): Protect against more broken fonts.
126 2009-01-28 Behdad Esfahbod <behdad@gnome.org>
128 * configure.in: Bump version to 1.23.0. Not releasing yet.
130 2009-01-27 Behdad Esfahbod <behdad@gnome.org>
132 Bug 566727 – PangoFontsetLazy
134 * pango/pangofc-fontmap.c: Rework caching.
136 Cache FcFontSort results separately from PangoFontset's.
138 Add PangoFcFontset which is lazy and does not create fonts until it
141 Use FcFontMatch() and only do FcFontSort() if fallback fonts are
144 2009-01-16 Behdad Esfahbod <behdad@gnome.org>
146 * docs/pango-sections.txt:
147 * docs/tmpl/pangofc-fontmap.sgml:
148 * pango/pangocairo-fcfontmap.c
149 (pango_cairo_fc_font_map_fontset_key_substitute),
150 (pango_cairo_fc_font_map_class_init):
151 * pango/pangofc-font.c (_pango_fc_font_get_font_key),
152 (_pango_fc_font_set_font_key):
153 * pango/pangofc-fontmap.c (pango_fc_fontset_key_equal),
154 (pango_fc_fontset_key_hash), (pango_fc_fontset_key_free),
155 (pango_fc_fontset_key_copy), (pango_fc_fontset_key_get_language),
156 (pango_fc_fontset_key_get_description),
157 (pango_fc_fontset_key_get_matrix),
158 (pango_fc_fontset_key_get_absolute_size),
159 (pango_fc_fontset_key_get_resolution),
160 (pango_fc_fontset_key_get_context_key), (pango_fc_font_key_hash),
161 (pango_fc_font_map_init), (_pango_fc_font_map_remove),
162 (pango_fc_make_pattern), (pango_fc_font_map_new_font),
163 (pango_fc_default_substitute), (pango_fc_fontset_key_make_pattern),
164 (pango_fc_font_map_get_patterns):
165 * pango/pangofc-fontmap.h:
166 Use new type PangoFcFontset for pattern substitution.
168 2009-01-09 Behdad Esfahbod <behdad@gnome.org>
170 Bug 567165 – Apply all pattern matrices
172 * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new):
173 * pango/pangofc-fontmap.c (pango_fc_font_map_new_font):
174 Apply all FC_MATRIX values, not just the first one. Fixes synthetic
175 italic rotated text with ft2 and xft backends. Can't believe no one
176 ever noticed that they are broken...
178 2009-01-09 Behdad Esfahbod <behdad@gnome.org>
182 Autogenerage pango.types. Remove it from repository, but dist it.
184 2009-01-09 Behdad Esfahbod <behdad@gnome.org>
186 * docs/pango-sections.txt:
187 * docs/tmpl/pangofc-fontmap.sgml:
188 * docs/tmpl/text-attributes.sgml:
189 * pango/pangocairo-fc.h:
190 * pango/pangocairo-fcfont.c (get_font_size), (get_gravity_class),
191 (get_gravity), (_pango_cairo_fc_font_new):
192 * pango/pangocairo-fcfontmap.c
193 (pango_cairo_fc_font_map_font_key_substitute),
194 (pango_cairo_fc_font_map_create_font),
195 (pango_cairo_fc_font_map_class_init):
196 * pango/pangofc-font.c (_pango_fc_font_get_font_key),
197 (_pango_fc_font_set_font_key):
198 * pango/pangofc-fontmap.c (pango_fc_font_key_equal),
199 (pango_fc_font_key_hash), (pango_fc_font_key_free),
200 (pango_fc_font_key_copy), (get_context_matrix),
201 (pango_fc_font_key_init), (pango_fc_font_key_get_pattern),
202 (pango_fc_font_key_get_matrix),
203 (pango_fc_font_key_get_context_key), (pango_fc_font_map_init),
204 (pango_fc_font_map_class_init), (pango_fc_font_map_add),
205 (_pango_fc_font_map_remove), (pango_fc_make_pattern),
206 (pango_fc_font_map_new_font), (pango_fc_default_substitute),
207 (pango_fc_font_map_get_patterns), (pango_fc_font_map_load_fontset):
208 * pango/pangofc-fontmap.h:
209 * pango/pangofc-private.h:
210 Change PangoFc font loading API such that PangoContext is not passed
211 down. We use a new opaque struct called PangoFcFontKey. This struct
212 is in fact our font hash key. This avoids problems where previously
213 we were using context members that were not necessarily considered
214 by the pangofc layer when caching.
215 This is in preparation for lazy loading of fonts in the pangofc fontmap.
217 2009-01-09 Behdad Esfahbod <behdad@gnome.org>
219 * pango/pangocairo-atsuifont.c (_pango_cairo_atsui_font_new):
220 * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new):
221 * pango/pangocairo-font.c (_pango_cairo_font_private_initialize):
222 * pango/pangocairo-private.h:
223 * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new):
224 Remove desc argument from _pango_cairo_font_private_initialize().
225 Replace it with gravity, the only thing from desc we actually needed.
226 This is in preparation for lazy loading of fonts in the pangofc fontmap.
228 2009-01-09 Behdad Esfahbod <behdad@gnome.org>
230 * pango/pangofc-fontmap.c (font_hash_key_equal):
231 Avoid context key comparison if any of the keys is NULL.
233 2009-01-09 Behdad Esfahbod <behdad@gnome.org>
235 * pango/pangocairo-atsuifont.c (_pango_cairo_atsui_font_new):
236 * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new):
237 * pango/pangocairo-font.c (_pango_cairo_font_private_initialize):
238 * pango/pangocairo-private.h:
239 * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new):
240 Remove context argument from _pango_cairo_font_private_initialize().
241 Replace it with pango_ctm and font_options, the only things from
242 context we actually needed. This is in preparation for lazy loading
243 of fonts in the pangofc fontmap.
245 2009-01-20 Johan Dahlin <jdahlin@async.com.br>
247 Bug 567934 – Add introspection support inside pango
251 * pango/pango-attributes.c:
252 * pango/pango-layout.c:
254 2009-01-08 Behdad Esfahbod <behdad@gnome.org>
256 * pango/pangofc-fontmap.c (pango_fc_font_map_get_patterns):
257 Protect against a NULL context.
259 2009-01-08 Behdad Esfahbod <behdad@gnome.org>
261 * pango/pango-context.c (itemize_state_process_run):
262 Improve warning message.
264 2009-01-08 Behdad Esfahbod <behdad@gnome.org>
266 Bug 549532 – Correction to the sample string for Hindi in
267 pango-language-sample-table.h
269 * pango/pango-language-sample-table.h:
270 Improve Hindi sample text.
272 2009-01-07 Behdad Esfahbod <behdad@gnome.org>
274 Bug 566726 – Minor optimization
276 * pango/pango-context.c (get_shaper_and_font):
277 Don't walk the fontset if there are no engines.
279 2009-01-07 Behdad Esfahbod <behdad@gnome.org>
281 Bug 566941 – Add PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING and
282 PANGO_ATTRIBUTE_INDEX_TO_TEXT_END
284 * docs/pango-sections.txt:
285 * docs/tmpl/text-attributes.sgml:
286 * pango/pango-attributes.c (pango_attribute_init):
287 * pango/pango-attributes.h:
288 Add two new public macros:
290 PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING
291 PANGO_ATTRIBUTE_INDEX_TO_TEXT_END
293 2009-01-06 Behdad Esfahbod <behdad@gnome.org>
295 Bug 551469 – Fold '@' to '-' when parsing PangoLanguages
297 * pango/pango-language.c: Fold '@' to '-' when parsing PangoLanguages.
299 2009-01-06 Behdad Esfahbod <behdad@gnome.org>
301 Bug 328206 – Update/remove some old files
304 * docs/TEXT/glossary:
305 Remove some old files.
307 2009-01-06 Behdad Esfahbod <behdad@gnome.org>
309 Bug 328206 – Update/remove some old files
312 * tools/add-copyright:
313 * tools/compress-table.pl:
315 * tools/maps/tis-620:
316 Remove some old files.
318 2009-01-06 Behdad Esfahbod <behdad@gnome.org>
321 * tools/gen-script-for-lang.c:
322 * tools/gen-script-for-lang-new.c:
323 Remove the old gen-script-for-lang tool, rename the new one to it.
325 2009-01-06 Behdad Esfahbod <behdad@gnome.org>
327 Bug 166709 – Handle font variants more consistently
329 * configure.in: Require fontconfig >= 2.5.0
331 * pango/fonts.c: Parse "Roman" as style=normal instead of
332 weight=normal. Doesn't make much difference in reality.
334 * pango/pangofc-fontmap.c (pango_fc_convert_weight_to_fc),
335 (pango_fc_convert_weight_to_pango): Update to reflect newly
338 2009-01-06 Behdad Esfahbod <behdad@gnome.org>
340 Bug 166709 – Handle font variants more consistently
342 * pango/pango-font.h:
343 Add enum values PANGO_WEIGHT_BOOK and PANGO_WEIGHT_ULTRAHEAVY.
346 * docs/tmpl/fonts.sgml:
347 Add new weights with their aliases, as well as aliasing "Roman" to the
350 2009-01-06 Behdad Esfahbod <behdad@gnome.org>
352 * pango/fonts.c (pango_font_description_to_filename):
353 Make it Unicode safe.
355 2009-01-06 Behdad Esfahbod <behdad@gnome.org>
357 * pango/fonts.c (find_field), (parse_field), (pango_parse_style),
358 (pango_parse_variant), (pango_parse_weight), (pango_parse_stretch):
359 Move the parse_*() functions in fonts.c and have them share tables
360 with pango_font_description_to/from_string().
362 * pango/pango-utils.c (parse_int), (pango_parse_enum):
363 Accept integers in pango_parse_enum().
365 2009-01-06 Behdad Esfahbod <behdad@gnome.org>
367 Bug 166676 – pango_fc_font_map_finalize
369 * pango/pangofc-fontmap.c (pango_fc_font_map_finalize),
370 (pango_fc_face_describe), (pango_fc_face_list_sizes),
371 (pango_fc_face_finalize), (pango_fc_face_class_init),
372 (pango_fc_family_list_faces), (pango_fc_family_finalize),
373 (pango_fc_family_class_init):
374 Finalize families and faces.
376 2009-01-06 Tor Lillqvist <tml@iki.fi>
378 Bug 164001 - pango-querymodules doesn't work uninstalled on win32
380 * pango/pango-utils.c (pango_get_lib_subdirectory): When running
381 against an uninstalled, compile-time DLL, in the libtool-style
382 .libs folder, use the compile-time install prefix.
384 2009-01-03 Behdad Esfahbod <behdad@gnome.org>
386 Bug 384362 – pango can't select some font styles
388 * pango/pango-font.h:
389 Add enum values PANGO_WEIGHT_THIN and PANGO_WEIGHT_MEDIUM to
392 * pango/fonts.c: Parse "Thin", "Extra-Light", "Regular", "Demi-Bold",
393 "Extra-Bold", and "Black" as weight descriptors (from the OpenType
396 2009-01-03 Behdad Esfahbod <behdad@gnome.org>
398 Bug 168085 – numeric styles in pango_font_description_to_string()
400 * pango/fonts.c (parse_int), (find_field), (find_field_any),
401 (append_field), (pango_font_description_to_string):
402 Print-out, and parse, numeric styles correctly. Things like
403 "DejaVu Sans weight=100" parse correctly now.
405 2009-01-03 Behdad Esfahbod <behdad@gnome.org>
407 Bug 529591 – Code related to malayalam is misplaced.
408 Patch from Rahul Bhalerao
410 * modules/indic/indic-ot.c (indic_ot_reorder): Fix it.
412 2009-01-02 Behdad Esfahbod <behdad@gnome.org>
414 Bug 515807 – Don't bind modules lazily
416 * pango/modules.c (pango_module_load): Don't bind modules lazy.
418 2009-01-02 Behdad Esfahbod <behdad@gnome.org>
420 Bug 512662 – Update check.docs for pango-undeclared.txt
424 Sync to the version in cairo.
426 2009-01-02 Behdad Esfahbod <behdad@gnome.org>
428 * pango-view/viewer-main.c (main):
429 * pango-view/viewer-pangocairo.c (pangocairo_view_render):
430 * pango-view/viewer-pangoft2.c (pangoft2_view_render):
431 * pango-view/viewer-pangox.c (pangox_view_render):
432 * pango-view/viewer-pangoxft.c (pangoxft_view_render):
433 * pango-view/viewer.h:
434 Make sure we measure layout with the same surface type as the
435 final target. Also reduces fonts loaded by the pangocairo backend.
437 2009-01-02 Behdad Esfahbod <behdad@gnome.org>
439 * pango/pangocairo-context.c (_pango_cairo_update_context):
440 Completely ignore CTM translation offsets.
442 2009-01-02 Behdad Esfahbod <behdad@gnome.org>
444 * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_finalize):
445 * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize):
446 Finalize FreeType library after finalizing the FC fontmap. Fixes
447 segfault in the PangoFT2FontMap's finalize.
449 2009-01-02 Behdad Esfahbod <behdad@gnome.org>
451 * pango/pango-context.c (shaper_font_element_destroy),
452 (get_shaper_font_cache), (shaper_font_cache_insert),
453 (get_shaper_and_font_foreach), (itemize_state_process_run):
454 Fix possible reference leak when fallback is disabled.
456 2008-12-26 Behdad Esfahbod <behdad@gnome.org>
458 Bug 565644 – Maybe pango_font_descriptions_free is deprecated
460 * pango/fonts.c: Adjust docs.
462 2008-12-26 Behdad Esfahbod <behdad@gnome.org>
464 * pango-view/viewer-pangocairo.c (pangocairo_view_destroy):
465 Call cairo_debug_reset_static_data().
467 2008-12-25 Behdad Esfahbod <behdad@gnome.org>
469 * modules/arabic/arabic-fc.c (arabic_engine_shape):
470 * modules/arabic/arabic-lang.c (arabic_engine_break):
471 * modules/basic/basic-fc.c (basic_engine_shape):
472 * modules/basic/basic-x.c (find_char), (conv_8bit), (conv_eucjp),
473 (conv_16bit), (conv_16bit_MSB_on), (conv_gb18030_1), (conv_euctw),
474 (conv_ucs4), (basic_engine_shape), (basic_engine_covers):
475 * modules/hangul/hangul-fc.c (hangul_engine_shape):
476 * modules/hebrew/hebrew-fc.c (add_cluster), (fallback_shape):
477 * modules/indic/indic-lang.c (indic_engine_break):
478 * modules/khmer/khmer-fc.c (khmer_engine_shape):
479 * modules/syriac/syriac-fc.c (syriac_engine_shape):
480 * modules/thai/thai-fc.c (get_glyph_index_tis),
481 (thai_engine_shape), (thai_make_unknown_glyph):
482 * modules/thai/thai-lang.c (thai_engine_break):
483 * modules/thai/thai-shaper.c (get_glyphs_list):
484 * modules/tibetan/tibetan-fc.c (tibetan_engine_shape):
485 Fix all warnings in modules/.
487 2008-12-25 Behdad Esfahbod <behdad@gnome.org>
489 * pango-view/viewer-main.c (main):
490 * pango-view/viewer-pangocairo.c (pangocairo_view_create),
491 (transform_callback), (pangocairo_view_render),
492 (pangocairo_view_write):
493 * pango-view/viewer-pangoft2.c (substitute_func),
494 (pangoft2_view_create), (pangoft2_view_create_surface),
495 (pangoft2_view_destroy_surface), (render_callback),
496 (pangoft2_view_render), (pangoft2_view_write):
497 * pango-view/viewer-pangox.c (render_callback):
498 * pango-view/viewer-pangoxft.c (default_substitute),
500 * pango-view/viewer-render.c (parse_enum), (parse_align),
501 (parse_ellipsis), (parse_gravity), (parse_gravity_hint),
502 (parse_hinting), (parse_wrap), (parse_backend), (show_version):
503 * pango-view/viewer-x.c (x_view_init):
504 Fix all warnings in pango-view/
506 2008-12-25 Behdad Esfahbod <behdad@gnome.org>
508 * pango/pangofc-fontmap.c (pango_fc_font_map_finalize),
509 (pango_fc_font_map_shutdown):
510 Cleanup fontmap finalization.
512 2008-12-25 Behdad Esfahbod <behdad@gnome.org>
514 Bug 469049 – Fix all compiler warnings
516 * pango-view/viewer-pangocairo.c (render_callback):
517 * pango/fonts.c (append_field), (pango_font_description_to_string):
518 * pango/opentype/harfbuzz-dump.c:
519 * pango/pango-bidi-type.c (pango_log2vis_get_embedding_levels):
520 * pango/pango-coverage.c (pango_coverage_set):
521 * pango/pango-markup.c (span_parse_func):
522 * pango/pango-renderer.c
523 (pango_renderer_default_draw_error_underline):
524 * pango/pango-utils.c (pango_scan_string):
525 * pango/pangocairo-render.c (pango_cairo_renderer_draw_trapezoid),
526 (draw_error_underline), (pango_cairo_renderer_class_init):
527 Fix all the remaining warnings.
529 2008-12-25 Behdad Esfahbod <behdad@gnome.org>
531 * pango/modules.c (pango_module_load), (script_info_free):
532 * pango/opentype/harfbuzz-gpos.c (HB_Load_GPOS_Table):
533 * pango/pango-bidi-type.c:
534 * pango/pango-coverage.c (pango_coverage_ref),
535 (pango_coverage_unref):
536 * pango/pango-engine.c (pango_engine_shape_real_covers),
537 (fallback_engine_shape), (fallback_engine_covers):
538 * pango/pango-fontmap.c (pango_font_map_init):
539 * pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize),
540 (pango_ot_ruleset_new):
541 * pango/pangofc-decoder.c (pango_fc_decoder_init),
542 (pango_fc_decoder_class_init):
543 * pango/pangofc-font.c (pango_fc_font_find_shaper),
544 (pango_fc_font_get_coverage):
545 * pango/pangofc-fontmap.c (pango_fc_font_map_list_families),
546 (pango_fc_make_pattern), (pango_fc_font_map_get_patterns),
547 (get_first_font), (_pango_fc_font_map_get_coverage),
548 (cleanup_font), (pango_fc_font_description_from_pattern),
549 (pango_fc_face_list_sizes), (pango_fc_family_list_faces):
550 * pango/pangoft2-fontmap.c (pango_ft2_font_map_get_resolution):
551 * pango/pangoft2-render.c (pango_ft2_renderer_init),
552 (pango_ft2_renderer_draw_trapezoid):
553 * pango/pangoft2.c (pango_ft2_font_get_face),
554 (pango_ft2_font_real_unlock_face),
555 (pango_ft2_free_glyph_info_callback):
558 2008-12-25 Behdad Esfahbod <behdad@gnome.org>
560 * pango/break.c (pango_default_break):
561 * pango/fonts.c (find_field_any), (pango_font_class_init),
562 (pango_font_init), (pango_font_metrics_ref),
563 (pango_font_metrics_unref), (pango_font_family_class_init),
564 (pango_font_family_init), (pango_font_face_class_init),
565 (pango_font_face_init):
566 * pango/pango-attributes.c (pango_attr_list_ref),
567 (pango_attr_list_unref), (pango_attr_iterator_get_font):
568 * pango/pango-layout.c (pango_layout_set_height), (extents_free),
569 (no_shape_filter_func), (pango_layout_line_ref),
570 (pango_layout_line_unref), (pango_layout_get_item_properties):
571 * pango/pango-markup.c (end_element_handler), (text_handler),
572 (b_parse_func), (big_parse_func), (span_parse_func),
573 (i_parse_func), (markup_parse_func), (s_parse_func),
574 (sub_parse_func), (sup_parse_func), (small_parse_func),
575 (tt_parse_func), (u_parse_func):
576 * pango/pango-ot-info.c (get_glyph_class):
577 * pango/pango-renderer.c (get_item_properties),
578 (pango_renderer_default_prepare_run):
579 * pango/pango-utils.c (_pango_shape_shape):
580 * pango/pangocairo-fcfontmap.c
581 (pango_cairo_fc_font_map_get_font_type),
582 (pango_cairo_fc_font_map_context_substitute),
583 (pango_cairo_fc_font_map_context_key_get),
584 (pango_cairo_fc_font_map_context_key_copy),
585 (pango_cairo_fc_font_map_context_key_free),
586 (pango_cairo_fc_font_map_context_key_hash),
587 (pango_cairo_fc_font_map_context_key_equal):
588 * pango/pangocairo-fontmap.c
589 (pango_cairo_font_map_new_for_font_type),
590 (pango_cairo_font_map_set_default):
591 * pango/pangocairo-render.c (pango_cairo_renderer_init):
592 * pango/pangox-fontcache.c (free_cache_entry):
593 * pango/pangox-fontmap.c (close_display_cb),
594 (list_families_foreach), (pango_x_font_map_load_font),
596 * pango/pangox.c (average_width_foreach), (subfonts_foreach),
597 (pango_x_font_find_shaper), (pango_x_get_unknown_glyph),
598 (pango_x_get_item_properties), (pango_x_apply_ligatures),
599 (pango_x_font_get_unknown_glyph):
600 * pango/pangoxft-fontmap.c (pango_xft_font_map_init),
602 * pango/querymodules.c (show_version):
605 2008-12-22 Behdad Esfahbod <behdad@gnome.org>
607 Bug 565379 – pango_font_description_better_match some style attributes
608 of old_match are not checked
610 * pango/fonts.c: Improve docs.
612 2008-12-17 Behdad Esfahbod <behdad@gnome.org>
614 Bug 564877 – pango-engine.h: PANGO_MODULE_PREFIX and G_MODULE_EXPORT
616 * pango/pango-engine.h: Don't add G_MODULE_EXPORT. This
617 roles back a change introduced in 1.22.4.
619 2008-12-15 Behdad Esfahbod <behdad@gnome.org>
621 * === Released 1.22.4 ===
623 * configure.in: Version 1.22.4
627 2008-12-15 Behdad Esfahbod <behdad@gnome.org>
629 Bug 564644 – Not complete description of the
630 pango_font_description_better_match function
632 * pango/fonts.c: Improve docs even more.
634 2008-12-15 Behdad Esfahbod <behdad@gnome.org>
636 Bug 564644 – Not complete description of the
637 pango_font_description_better_match function
639 * pango/fonts.c: Improve docs.
641 2008-12-14 Behdad Esfahbod <behdad@gnome.org>
643 Bug 563898 – Generated output is not deterministic
645 * docs/pango-querymodules.xml:
646 * docs/pango_markup.sgml:
647 Add section ids, such that generated HTML is deterministic.
649 2008-12-09 Behdad Esfahbod <behdad@gnome.org>
651 * pango/pangoxft-font.c (pango_xft_font_init),
652 (load_fallback_font): Don't call exit(). Let us crash.
654 2008-12-09 Behdad Esfahbod <behdad@gnome.org>
656 Bug 563803 – pango_renderer_finalize fails to call parent finalize
658 * pango/pango-renderer.c (pango_renderer_class_init),
659 (pango_renderer_finalize): Call parent finalize.
661 * pango/pango-renderer.c (add_strikethrough),
662 (pango_renderer_default_draw_glyph_item),
663 (pango_renderer_default_draw_error_underline):
666 2008-12-07 Behdad Esfahbod <behdad@gnome.org>
668 Bug 499626 – Space should be optional after comma in
669 PangoFontDescription input string
671 * pango/fonts.c (getword): Don't require space after comma.
673 2008-12-07 Behdad Esfahbod <behdad@gnome.org>
675 Bug 499624 – Spaces around commas in PangoFontDescription family name
678 * pango/fonts.c (pango_font_description_from_string):
679 * pango/pangofc-fontmap.c (pango_fc_make_pattern):
680 Do it in pango_font_description_from_string() instead of pangofc
683 2008-12-07 Behdad Esfahbod <behdad@gnome.org>
685 Bug 499624 – Spaces around commas in PangoFontDescription family name
688 * pango/pangofc-fontmap.c (pango_fc_make_pattern): Trim family strings
689 before adding to pattern.
691 2008-12-07 Behdad Esfahbod <behdad@gnome.org>
693 Bug 563557 – set g_get_prgname() in fc pattern
695 * docs/pango-sections.txt:
696 * pango/pangofc-fontmap.c (pango_fc_make_pattern):
697 * pango/pangofc-fontmap.h:
698 Add PANGO_FC_PRGNAME which is the fontconfig element "pangoprgname".
699 Populate it on all our fontconfig search patterns using
700 g_get_prgname(). See bug for sample use.
702 2008-12-07 Behdad Esfahbod <behdad@gnome.org>
704 * pango/pango-engine.h: Add G_MODULE_EXPORT annotation for modules.
706 2008-12-07 Behdad Esfahbod <behdad@gnome.org>
708 * pango/pango-context.c (pango_context_get_metrics):
709 Fix docs re NULL language. Also allow NULL desc.
711 2008-12-06 Behdad Esfahbod <behdad@gnome.org>
713 * pango/pangocairo-font.c
714 (_pango_cairo_font_private_get_scaled_font):
715 Add more debug info if creating scaled font failed.
717 2008-12-05 Behdad Esfahbod <behdad@gnome.org>
719 Bug 563356 – The input area of firefox and the blank width after text
720 in gnome-menu was stretched too wide, under pango-1.22.3
722 * docs/tmpl/fonts.sgml:
723 * pango/pango-impl-utils.h:
724 * pango/pangocairo-atsuifont.c
725 (pango_cairo_atsui_font_create_metrics_for_context):
726 * pango/pangocairo-win32font.c
727 (pango_cairo_win32_font_create_metrics_for_context):
728 * pango/pangofc-font.c (pango_fc_font_create_metrics_for_context):
729 For approximate_char_width calculation take each char's width into
730 account. That is, do a weighted average instead of uniform average.
731 g_unichar_iszerowidth() chars count as 0, g_unichar_iswide() chars
732 count 2, and the rest count as 1. Pretty much wcwidth() behavior.
733 See bug report for rationale.
735 2008-11-28 Behdad Esfahbod <behdad@gnome.org>
737 Bug 562574 – Pangocariowin32 is leaking every cairo font it ever
740 * pango/pangocairo-atsuifont.c (pango_cairo_atsui_font_finalize):
741 * pango/pangocairo-win32font.c (pango_cairo_win32_font_finalize):
742 Finalize shared pangocairo font resources. Oops!
744 * pango/pangocairo-font.c (_pango_cairo_font_private_finalize):
745 Protect against multiple calls to finalize. This is practiced by the
746 pangocairo-fcfont when a font is shutdown and then finalized.
748 2008-11-26 Behdad Esfahbod <behdad@gnome.org>
750 * examples/cairotwisted.c (parametrize_path), (point_on_path):
751 Handle close_path correctly.
753 2008-11-23 Behdad Esfahbod <behdad@gnome.org>
755 * === Released 1.22.3 ===
757 * configure.in: Version 1.22.3
761 2008-11-22 Theppitak Karoonboonyanan <thep@linux.thai.net>
763 * modules/thai/thai-lang.c (thai_engine_break):
764 Minor indentation fixes for previous commit.
766 2008-11-22 Chris Wilson <chris@chris-wilson.co.uk>
768 Bug 561740 – Use stack allocation for thai_engine_break
770 * modules/thai/thai-lang.c (utf8_to_tis), (thai_engine_break):
771 Small tweak to allocate small, temporary arrays on the stack.
773 2008-11-21 Behdad Esfahbod <behdad@gnome.org>
775 Bug 561779 – incorrect calculations in pango_matrix_concat
778 * pango/pango-matrix.c (pango_matrix_concat): Fix bug in y0
781 2008-11-19 Behdad Esfahbod <behdad@gnome.org>
783 Bug 560730 – pango 1.22.2 build failure on Solaris 10, too many array
784 initializers in pango-language.c
786 * pango/pango-language.c: Don't use anonymous struct.
788 2008-11-19 Behdad Esfahbod <behdad@gnome.org>
790 * pango/pango-ot-info.c (pango_ot_info_get_gdef),
791 (pango_ot_info_get_gsub), (pango_ot_info_get_gpos):
792 Write error code in capital hex.
794 2008-10-28 Behdad Esfahbod <behdad@gnome.org>
796 * === Released 1.22.2 ===
798 * configure.in: Version 1.22.2
802 2008-10-28 Behdad Esfahbod <behdad@gnome.org>
804 Bug 558254 – Internal reference handling messed up
806 * pango/pangofc-font.c (pango_fc_font_get_coverage):
807 * pango/pangofc-fontmap.c (pango_fc_font_map_finalize):
808 Make sure fonts->fontmap is set to NULL when fontmap finalizes.
810 2008-10-27 Richard Hult <richard@imendio.com>
812 Bug 558107 – is_monospace always returns FALSE in pangoatsui
814 * pango/pangoatsui-fontmap.c: (pango_atsui_family_is_monospace),
815 (pango_atsui_font_map_init): Mark families whose faces have the
816 NSFixedPitchFontMask set as monospaced, and use this in the
817 is_monospace implementation.
819 2008-10-23 Behdad Esfahbod <behdad@gnome.org>
821 Bug 557620 – pango_font_description_from_string not correct
823 * pango/fonts.c (find_field_any): Fix parsing of "normal" when
824 not at the end of string.
826 2008-10-20 Behdad Esfahbod <behdad@gnome.org>
828 * === Released 1.22.1 ===
830 * configure.in: Version 1.22.1
834 2008-10-14 Behdad Esfahbod <behdad@gnome.org>
836 Bug 528272 – "Error loading GPOS table 5503" when using katakana
839 * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array): Skip parsing
842 2008-10-10 Behdad Esfahbod <behdad@gnome.org>
844 Bug 552107 – Small libtool fixes
846 * configure.in: Regenerate libtool early, quote $deplibs_check_method.
847 Patch by Patryk Zawadzki
849 2008-10-10 Kjartan Maraas <kmaraas@gnome.org>
851 * pango/pangox.c: (get_context_info): Fix a gcc warning.
853 2008-10-06 Christian Persch <chpe@gnome.org>
855 Bug 539623 – document that pango_color_parse accepts NULL
857 * pango/pango-color.c: Clarify docs.
859 2008-10-06 Behdad Esfahbod <behdad@gnome.org>
861 Bug 555219 – Memory leak when using pango_layout_iter_copy
862 Patch from Falk Rohsiepe
864 * pango/pango-layout.c (pango_layout_iter_copy): Use gslice, not
867 2008-09-29 Behdad Esfahbod <behdad@gnome.org>
869 * pango/opentype/harfbuzz-gpos.c (Position_CursiveChain):
870 Fix left-to-right positioning. Reported by Peter Hunter.
872 2008-09-22 Behdad Esfahbod <behdad@gnome.org>
874 Bug 553345 – Japanese pangram.
875 Patch from Takeshi AIHANA
877 * pango/pango-language-sample-table.h: Improve Japanese text.
879 2008-09-22 Behdad Esfahbod <behdad@gnome.org>
881 * === Released 1.22.0 ===
883 * configure.in: Version 1.22.0
887 2008-09-22 Behdad Esfahbod <behdad@gnome.org>
890 * pango/pangocairo-render.c
891 (pango_cairo_renderer_show_text_glyphs), (save_current_point):
892 Update to cairo-1.7.6 API.
894 2008-09-20 Behdad Esfahbod <behdad@gnome.org>
896 Bug 552993 – Romanian pangram
898 * pango/pango-language-sample-table.h: New Romanian sample text
901 2008-09-18 Tor Lillqvist <tml@novell.com>
903 * pango-zip.sh.in: Drop pango.aliases as we have a default such
906 2008-09-13 Tor Lillqvist <tml@novell.com>
908 * pango/pango-utils.c: Don't use the deprectated
909 g_win32_get_package_installation_subdirectory(). Use
910 g_win32_get_package_installation_directory_of_module()
911 instead. Also, don't use the deprecated silly
912 G_WIN32_DLLMAIN_FOR_DLL_NAME() macro, but an explicit minimal
913 DllMain() that just saves the DLL handle.
915 2008-09-11 Behdad Esfahbod <behdad@gnome.org>
917 Bug 551865 – Can't change justification of a PangoLayout after first
920 * pango/pango-layout.c (pango_layout_set_attributes),
921 (pango_layout_set_font_description), (pango_layout_set_justify),
922 (pango_layout_set_alignment), (pango_layout_set_tabs):
923 Invalidate layout after property change. Oops!
925 2008-09-08 Tor Lillqvist <tml@novell.com>
927 Bug 551416 - pangowin32-fontcache.c: argument is different type
929 * pango/pangowin32-fontcache.c: Pass address of int to
932 2008-09-08 Behdad Esfahbod <behdad@gnome.org>
934 * === Released 1.21.6 ===
936 * configure.in: Version 1.21.6
940 2008-09-03 Alberto Ruiz <aruiz@gnome.org>
942 Bug 550659 – configure.in ignores a win32 backend only scenario
944 * configure.in: Added $have_win32 check
946 2008-08-28 Behdad Esfahbod <behdad@gnome.org>
948 Bug 549758 – Swedish font sample text could use punctuation
950 * pango/pango-language-sample-table.h: Add final punctuation to many
951 that were missing one.
953 2008-08-27 Behdad Esfahbod <behdad@gnome.org>
955 Bug 549522 – New pt_BR pangram for pango
957 * pango/pango-language-sample-table.h: Change pt_BR string as per
958 Leonardo Ferreira Fontenelle's suggestion.
960 2008-08-26 Behdad Esfahbod <behdad@gnome.org>
962 Bug 549520 – fr sample string
964 * pango/pango-language-sample-table.h: Change French sample string
965 as per Vincent Untz's suggestion.
967 2008-08-26 Behdad Esfahbod <behdad@gnome.org>
969 * === Released 1.21.5 ===
971 * configure.in: Version 1.21.5
975 2008-08-22 Behdad Esfahbod <behdad@gnome.org>
977 Bug 549003 – pango_layout_set_height(): layout should not be cleared
980 * pango/pango-layout-private.h:
981 * pango/pango-layout.c (pango_layout_init),
982 (pango_layout_set_height), (pango_layout_get_line_count),
983 (pango_layout_clear_lines), (add_line):
984 Don't invalidate layout if the new height does not force
987 2008-08-22 Richard Hult <richard@imendio.com>
989 * pango/pangoatsui.c: (_pango_atsui_font_set_font_map): Fix build,
992 2008-08-22 Behdad Esfahbod <behdad@gnome.org>
994 * pango/fonts.c (pango_font_metrics_ref),
995 (pango_font_metrics_unref):
996 * pango/pango-attributes.c (pango_attr_list_ref),
997 (pango_attr_list_unref):
998 * pango/pango-coverage.c (pango_coverage_ref),
999 (pango_coverage_unref):
1000 * pango/pango-layout.c (pango_layout_line_ref),
1001 (pango_layout_line_unref):
1002 * pango/pangowin32-fontcache.c (cache_entry_unref),
1003 (pango_win32_font_cache_loadw):
1004 * pango/pangox-fontcache.c (cache_entry_unref),
1005 (pango_x_font_cache_load):
1006 Use atomic reference counting.
1008 Pango may not be thread safe yet, but fixing it little by little
1009 is easier than doing all in one round.
1011 2008-08-22 Behdad Esfahbod <behdad@gnome.org>
1013 Bug 143542 – PangoFT2Fontmap leak
1016 * pango/pangoatsui.c (pango_atsui_font_finalize),
1017 (_pango_atsui_font_set_font_map):
1018 * pango/pangocairo-font.c (_pango_cairo_font_get_metrics),
1019 (_pango_cairo_font_private_get_hex_box_info):
1020 * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new):
1021 * pango/pangofc-font.c (pango_fc_font_get_metrics):
1022 * pango/pangofc-fontmap.c (pango_fc_font_map_add),
1023 (_pango_fc_font_map_remove), (cleanup_font):
1024 * pango/pangowin32-fontmap.c (pango_win32_font_neww),
1025 (pango_win32_font_map_real_find_font):
1026 * pango/pangowin32.c (pango_win32_font_finalize):
1027 * pango/pangox-fontmap.c (pango_x_font_map_load_font):
1028 * pango/pangox.c (pango_x_font_new), (pango_x_font_finalize):
1029 Make the reference the font->fontmap reference weak.
1031 The code for setting the reference must look like this:
1033 g_assert (font->fontmap == NULL);
1034 font->fontmap = (PangoFontMap *) fontmap;
1035 g_object_add_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap);
1037 And releasing it like:
1039 g_assert (font->fontmap != NULL);
1040 g_object_remove_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap);
1041 font->fontmap = NULL;
1043 I have converted all fontmaps. The win32 and atsui ones can
1044 use some simple testing.
1046 The PangoFc fonts actually don't need the weakref as the fontmap
1047 already provides a similar link by itself.
1049 2008-08-20 Murray Cumming <murrayc@murrayc.com>
1051 * pango/pango-language.c: pango_language_get_scripts(): Fix a
1052 tiny typo in the documentation.
1054 2008-08-20 Behdad Esfahbod <behdad@gnome.org>
1056 * pango/pango-language.c (pango_language_private_init),
1057 (pango_language_get_private), (pango_language_from_string),
1058 (find_best_lang_match), (find_best_lang_match_cached),
1059 (pango_language_get_sample_string), (pango_language_get_scripts):
1060 Cache language information to avoid bsearch()ing all the time.
1062 2008-08-20 Behdad Esfahbod <behdad@gnome.org>
1064 * pango/pango-language.c (find_best_lang_match),
1065 (pango_language_get_sample_string), (pango_language_get_scripts),
1066 (pango_script_get_sample_language):
1067 Cleanup bsearching in language arrays.
1069 Add some language codes for scripts.
1071 2008-08-20 Behdad Esfahbod <behdad@gnome.org>
1073 Bug 314094 – Get rid of poutpourri default sample string
1075 * pango/pango-language-sample-table.h:
1076 * pango/pango-language.c (pango_language_get_sample_string):
1077 Use default language if provided language to get_sample_string()
1080 2008-08-19 Behdad Esfahbod <behdad@gnome.org>
1082 Bug 473806 – Improve pango_language_get_sample_string()
1085 * pango/Makefile.am:
1086 * pango/pango-language-sample-table.h:
1087 * pango/pango-language.c (pango_language_get_sample_string):
1088 Add language sample texts that are actually usable. Compiled from
1089 a variety of sources. See pango-language-sample-table.h.
1091 2008-08-19 Behdad Esfahbod <behdad@gnome.org>
1093 * pango-view/GLASS.txt:
1094 * pango/pango-ot-tag.c:
1095 Various corrections.
1097 2008-08-18 Behdad Esfahbod <behdad@gnome.org>
1099 Bug 473805 – Add API enumerating scripts for a language
1102 * docs/pango-sections.txt:
1103 * docs/tmpl/scripts.sgml:
1104 * docs/tmpl/text-attributes.sgml:
1105 * docs/tmpl/utils.sgml:
1106 * pango/pango-language.c (pango_language_get_scripts),
1107 (pango_language_includes_script),
1108 (pango_script_get_sample_language):
1109 * pango/pango-language.h:
1110 * pango/pango-script.c:
1112 Add a minor new public API:
1114 pango_language_get_scripts()
1116 This is what pango_language_includes_script() has been using
1117 internally. Previously one had to call that function over all
1118 possible script values to determine which scripts a language
1119 uses. The new API makes that much easier.
1121 2008-08-18 Behdad Esfahbod <behdad@gnome.org>
1123 * pango/pango-language.h:
1124 * pango/pango-script.h:
1125 Fix cyclic header ordering and move pango_language_* to
1128 2008-08-18 Behdad Esfahbod <behdad@gnome.org>
1130 Bug 470895 – Improve OpenType language tag list
1132 * pango/pango-ot-tag.c: Update to OpenType 1.5 draft, intersected with
1133 ISO639-3 of 2008/08/04.
1135 2008-08-12 Sven Herzberg <sven@imendio.com>
1137 Bug 547432 – Deprecation of pango_(backend)_font_map_create_context()
1139 reviewed by: Behdad Esfahbod
1141 * pango/pangocairo-fontmap.c,
1142 * pango/pangofc-fontmap.c,
1143 * pango/pangoft2-fontmap.c,
1144 * pango/pangowin32.c,
1146 * pango/pangoxft-fontmap.c: use "Deprecated:" for deprecation messages;
1147 fix the deprecation version number
1149 2008-08-11 Behdad Esfahbod <behdad@gnome.org>
1151 * === Released 1.21.4 ===
1153 * configure.in: Version 1.21.4
1157 2008-08-11 Behdad Esfahbod <behdad@gnome.org>
1159 Bug 547303 – pango_layout_get_cursor_pos crashes on certain text
1162 * pango/pango-layout.c (pango_layout_get_cursor_pos): Handle cursor
1163 position in the middle of a "\r\n" cluster.
1165 2008-08-06 Behdad Esfahbod <behdad@gnome.org>
1167 * pango/pangocairo-render.c (pango_cairo_renderer_draw_glyph_item):
1168 Fix cluster iteration.
1170 2008-08-06 Behdad Esfahbod <behdad@gnome.org>
1172 * pango/pangocairo-render.c
1173 (pango_cairo_renderer_show_text_glyphs),
1174 (pango_cairo_renderer_draw_glyphs),
1175 (pango_cairo_renderer_draw_glyph_item):
1176 Implement draw_glyph_item using cairo_show_text_glyphs().
1178 * configure.in: Require cairo >= 1.7.1
1180 2008-08-06 Behdad Esfahbod <behdad@gnome.org>
1182 Fedora Bug 457883 - Sindhi Characters are not supported in
1183 pango [U+097B-U+097F]
1184 Patch from Pravin Satpute
1186 * modules/indic/indic-ot-class-tables.c: Add [U+097B-U+097F].
1188 2008-08-06 Behdad Esfahbod <behdad@gnome.org>
1190 Bug 441654 – prefix fails when more than one base characters (as
1191 conjuncts) present after a half form the next prefix renders
1193 Patch from Rahul Bhalerao
1195 * modules/indic/mprefixups.c (indic_mprefixups_apply):
1196 Do what I was told to do.
1198 2008-08-06 Behdad Esfahbod <behdad@gnome.org>
1200 Bug 546534 – pango_cairo_font_map_set_default(NULL) errs
1202 * pango/pangocairo-fontmap.c (pango_cairo_font_map_set_default):
1205 2008-08-06 Behdad Esfahbod <behdad@gnome.org>
1207 Bug 431394 – Use pango_glyph_item_iter in more places
1209 * pango/glyphstring.c (pango_glyph_string_get_logical_widths):
1210 Use pango_glyph_item_iter for cluster iteration.
1212 2008-08-06 Behdad Esfahbod <behdad@gnome.org>
1214 Bug 377948 – Make pango_glyph_item_iter public
1216 * pango/pango-glyph-item.c (pango_glyph_item_iter_copy),
1217 (pango_glyph_item_iter_free), (pango_glyph_item_iter_get_type),
1218 (pango_glyph_item_iter_next_cluster),
1219 (pango_glyph_item_iter_prev_cluster),
1220 (pango_glyph_item_iter_init_start),
1221 (pango_glyph_item_iter_init_end), (pango_glyph_item_apply_attrs),
1222 (pango_glyph_item_letter_space):
1223 * pango/pango-glyph-item.h:
1224 New public API, for iterating a PangoGlyphItem:
1227 PANGO_TYPE_GLYPH_ITEM_ITER
1228 pango_glyph_item_iter_copy()
1229 pango_glyph_item_iter_free()
1230 pango_glyph_item_iter_init_start()
1231 pango_glyph_item_iter_init_end()
1232 pango_glyph_item_iter_next_cluster()
1233 pango_glyph_item_iter_prev_cluster()
1236 * docs/tmpl/glyphs.sgml:
1237 * docs/pango-sections.txt:
1238 * pango/Makefile.am:
1239 * pango/ellipsize.c (line_iter_next_cluster),
1240 (line_iter_prev_cluster), (find_initial_span):
1241 * pango/pango-layout.c (justify_words):
1244 * pango/pango-glyph-item-private.h:
1247 2008-08-05 Behdad Esfahbod <behdad@gnome.org>
1249 * pango/pango-context.c:
1250 * pango/pango-context.h:
1251 Make the following API public:
1254 pango_context_set_font_map()
1256 * pango/pango-fontmap.c (pango_font_map_create_context):
1257 * pango/pango-fontmap.h:
1260 pango_font_map_create_context()
1262 * pango/pangocairo-context.c (pango_cairo_create_context):
1263 * pango/pangocairo-font.c (_pango_cairo_font_get_metrics),
1264 (_pango_cairo_font_private_get_hex_box_info):
1265 * pango/pangocairo-fontmap.c (pango_cairo_font_map_create_context):
1266 * pango/pangocairo.h:
1267 Deprecate pango_cairo_font_map_create_context().
1269 * pango/pangofc-font.c (pango_fc_font_get_metrics):
1270 * pango/pangofc-fontmap.c (pango_fc_font_map_create_context):
1271 * pango/pangofc-fontmap.h:
1272 Deprecate pango_fc_font_map_create_context().
1274 * pango/pangoft2-fontmap.c (pango_ft2_font_map_create_context),
1275 (pango_ft2_get_context):
1277 Deprecate pango_ft2_font_map_create_context().
1279 * pango/pangowin32.c (pango_win32_get_context),
1280 (pango_win32_font_get_metrics):
1281 * pango/pangowin32.h:
1282 Deprecate pango_win32_get_context().
1284 * pango/pangoxft-font.c (_pango_xft_font_get_mini_font):
1285 * pango/pangoxft-fontmap.c (pango_xft_get_context):
1287 Deprecate pango_xft_get_context().
1289 * pango/pangox-fontmap.c (pango_x_font_map_for_display):
1290 * pango/pangox.c (get_context_info), (pango_x_get_context),
1291 (pango_x_context_set_funcs), (pango_x_render_layout_line):
1292 Deprecate pango_x_get_context(), again.
1294 * docs/pango-sections.txt:
1295 * docs/tmpl/fonts.sgml:
1296 * pango-view/viewer-pangocairo.c (pangocairo_view_get_context):
1297 * pango-view/viewer-pangoft2.c (pangoft2_view_get_context):
1298 * pango-view/viewer-pangox.c (pangox_view_get_context):
1299 * pango-view/viewer-pangoxft.c (pangoxft_view_get_context):
1304 2008-07-30 Behdad Esfahbod <behdad@gnome.org>
1306 Bug 472625 – Add draw_glyph_item() to PangoRenderer
1308 * docs/pango-sections.txt:
1309 * docs/tmpl/pango-renderer.sgml:
1310 * pango/pango-renderer.c:
1311 * pango/pango-renderer.h:
1314 PangoRenderer::draw_glyph_item()
1315 pango_renderer_draw_glyph_item()
1317 Make layout and layout-line default renderers go through
1318 draw_glyph_item(), which then by default falls back to
1319 draw_glyphs(). The advantage in draw_glyph_item() is that it
1320 has access to the text and cluster information.
1322 2008-07-30 Behdad Esfahbod <behdad@gnome.org>
1324 * docs/tmpl/text-attributes.sgml: Fix doc build warning.
1326 2008-07-19 Behdad Esfahbod <behdad@gnome.org>
1328 * pango/pango-layout.c (process_line): Justify lines broken by U+2028
1329 LINE SEPARATOR. Also affects return value of pango_layout_is_wrapped().
1331 2008-08-06 Tor Lillqvist <tml@novell.com>
1333 * pango/Makefile.am (install-def-files): Add a mkdir to be sure
1334 the destination directory exists before copying files there.
1336 * configure.in: On Windows set LIB_EXE_MACHINE_FLAG to X86 or X64
1337 depending on host architecture.
1339 * pango/Makefile.am: Use it when running lib.exe.
1341 2008-08-04 Tor Lillqvist <tml@novell.com>
1343 * pango/Makefile.am: Don't attempt to build the MS import
1344 libraries for libpangoft2 unless HAVE_FREETYPE.
1346 2008-08-03 Tor Lillqvist <tml@novell.com>
1348 * pango/pango-bidi-type.c: Include <string.h> for strlen()
1351 2008-06-29 Behdad Esfahbod <behdad@gnome.org>
1353 Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
1355 * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Fix reverse
1356 loops for type 8 lookups.
1358 2008-06-26 Kristian Rietveld <kris@imendio.com>
1360 * configure.in: require glib trunk (for newer glib-mkenums).
1362 * pango/Makefile.am: when generating pango-enum-types.h use
1363 @ENUMPREFIX@ instead of hard coding the prefix.
1365 2008-06-24 Behdad Esfahbod <behdad@gnome.org>
1367 Bug 540036 – Doesn't link to fontconfig
1369 * pango/Makefile.am: Explicitly include FREETYPE_LIBS for pangoxft.
1371 2008-06-23 Behdad Esfahbod <behdad@gnome.org>
1373 Bug 380094 – Fix split matra rendering bug for Kannada language
1375 * modules/indic/indic-ot-class-tables.c: Fix Indic class for
1378 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
1380 * *.[ch]: Include "config.h" instead of <config.h>
1382 find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
1383 Rubberstamped by Behdad
1385 2008-06-18 Behdad Esfahbod <behdad@gnome.org>
1387 Bug 536017 – Remove SF_MPRE_FIXUP from Sinhala script flags
1390 * modules/indic/indic-ot-class-tables.c: Just freakin' do it.
1391 I have no idea if it's right or wrong. Just that I've been
1392 pestered enough to do it. Time will tell...
1394 2008-06-16 Behdad Esfahbod <behdad@gnome.org>
1396 * === Released 1.21.3 ===
1398 * configure.in: Version 1.21.3
1402 2008-06-16 Behdad Esfahbod <behdad@gnome.org>
1404 Bug 538661 – Improve pango_cairo_context_update_context()
1406 * pango/pangocairo-context.c (_pango_cairo_update_context):
1407 Relayout only if merged options changed.
1409 2008-06-09 Behdad Esfahbod <behdad@gnome.org>
1411 Bug 536190 – Make pango_fc_font_map_clear_cache() public?
1413 * pango/pangofc-fontmap.c:
1414 * pango/pangofc-fontmap.h:
1415 Make pango_fc_font_map_clear_cache() public.
1417 2008-06-09 Behdad Esfahbod <behdad@gnome.org>
1419 Bug 537258 – Add a pango_language_to_string() function
1421 * docs/tmpl/text-attributes.sgml:
1422 * pango/pango-language.c (pango_language_to_string):
1423 * pango/pango-language.h:
1425 Add a function implementation of pango_language_to_string().
1426 The macro is still available. To be removed in a cycle or two from
1429 2008-06-09 Behdad Esfahbod <behdad@gnome.org>
1431 Bug 537257 – pango_language_from_string(NULL) not happy
1433 * pango/pango-language.c (pango_language_from_string):
1436 2008-06-09 Behdad Esfahbod <behdad@gnome.org>
1438 Bug 537186 – Make PangoFcFont pattern property readable
1440 * pango/pangofc-font.c (pango_fc_font_class_init),
1441 (pango_fc_font_get_property): Make it readable.
1443 2008-06-02 Behdad Esfahbod <behdad@gnome.org>
1445 * === Released 1.21.2 ===
1447 * configure.in: Version 1.21.2
1451 2008-05-28 Behdad Esfahbod <behdad@gnome.org>
1453 Bug 510299 – OpenType font variants are broken with ATSUI/Cairo
1455 * pango/fonts.c (field_matches), (find_field): Ignore dashes when
1456 matching fong description fields.
1458 2008-05-28 Tor Lillqvist <tml@novell.com>
1460 * pango/pangowin32-fontmap.c (synthesize_foreach)
1461 (_pango_win32_font_map_init): Rework face synthesis once
1462 again. Code is simpler now, and we don't needlessly synthesize
1463 bold weights for fonts that have a real semi-bold weight, like
1464 Lucida Sans. (The bold weight ended up looking like the semi-bold
1466 (pango_win32_font_description_from_logfont)
1467 (pango_win32_font_description_from_logfontw): Recognize the
1468 semi-bold weight interval.
1470 Map words that indicate weight and slant in the font name into the
1471 corresponding Pango font description settings, and strip those
1472 words from the family name. This maps for instance the DejaVu
1473 Sans, DejaVu Sans Condensed and DejaVu Sans Light fonts into a
1474 single DejaVu Sans family with styles Ultra-Light, Condensed,
1475 Normal, Oblique Condensed, Oblique, Bold Condensed, Bold, Bold
1476 Oblique Condensed, and Bold Oblique, which is nice.
1478 2008-05-27 Tor Lillqvist <tml@novell.com>
1480 * pango/pangowin32-fontmap.c (pango_win32_family_list_faces):
1481 After the change to how the standard pseudo font families are set
1482 up below, we don't need to prune out duplicate face names any
1485 2008-05-27 Tor Lillqvist <tml@novell.com>
1487 Bug 436363 - Bold and Bold Italic style of MS-Mincho font are not
1488 listed in GtkFontSelection
1490 * pango/pangowin32-fontmap.c: Synthesize also Bold and Bold Italic
1491 (or Oblique) faces when feasible. Don't synthesize these for
1492 decorative or script fonts. Kill the magic code snippet mentioned
1493 below. Instead, explicitly create font families for the standard
1494 pseudo fonts that correspond to the first existing font of the
1495 corresponding built-in alias list. Use the face style name Oblique
1496 for slanted sans and monospace fonts, not Italic.
1498 2008-05-27 Tor Lillqvist <tml@novell.com>
1500 * pango/pangowin32-fontmap.c (pango_win32_family_list_faces):
1501 Prune duplicated face names. Makes the GTK+ font selector look a
1502 bit saner for the "sans", "serif" and "monospace" standard pseudo
1503 font families with just one instance of each style.
1505 That we get duplicated styles in the first place is because of the
1506 magic code snippet in pango_win32_insert_font() that sets up the
1507 list of faces for the standard pseudo font families. I don't like
1508 that code but without it these families wouldn't currently show up
1509 in the font selector at all.
1511 A problem is still that the magic code blindly adds all random
1512 fonts that claim to be FF_ROMAN to the list of faces for the
1513 "serif" family, etc. I think it would be preferrable to do it only
1514 for well-known sensible fonts. That would be those that are listed
1515 in builtin_aliases in pango-utils.c, I guess.
1517 2008-05-26 Tor Lillqvist <tml@novell.com>
1519 * pango/pangowin32-private.h
1520 * pango/pangowin32-fontmap.c: Drop the PangoWin32FontMap::n_fonts
1521 field which wasn't really used for anything. Rename the field
1522 PangoWin32Family::font_entries to faces. Rename some local
1523 variables to be more consistently named.
1525 2008-05-26 Tor Lillqvist <tml@novell.com>
1527 * pango/pangowin32.c
1528 * pango/pangowin32-fontmap.c: Some whitespace cleanup.
1530 2008-05-26 Tor Lillqvist <tml@novell.com>
1532 * pango/pangowin32-private.h
1533 * pango/pangowin32-fontmap.c: Drop the PangoWin32SizeInfo struct
1534 and the hash table mapping from the relevant part of a LOGFONTW
1535 struct to a list of PangoWin32SizeInfos in PangoWin32FontMap. It
1536 seems that each list was always of length one anyway, so instead
1537 just map directly to each such single list member, also a LOGFONTW
1538 struct. Actually I wonder whether this map is needed at all, will
1541 2008-05-23 Tor Lillqvist <tml@novell.com>
1543 * pango/pango-utils.c: Revert the addition of the alias
1544 "sansserif". The correct name is "sans-serif", and "sans" should
1545 also be accepted. If something uses "sansserif" it is wrong. (I
1546 saw it in some sample svg files in librsvg.)
1548 2008-05-20 Tor Lillqvist <tml@novell.com>
1550 * pango/pango-utils.c: Add alias "sansserif" to the builtin
1551 aliases on Win32. Same contents as "sans" and "sans-serif".
1553 2008-05-20 Tor Lillqvist <tml@novell.com>
1555 Bug 523193 – Vista Hebrew, CJK fonts to builtin win32 pango aliases
1557 Patch by Daniel Atallah.
1559 * pango/pango-utils.c: Add fonts from Vista to the builtin
1560 aliases. Also add Lucida Sans Unicode and Lucida Console.
1562 2008-05-13 Behdad Esfahbod <behdad@gnome.org>
1564 * === Released 1.21.1 ===
1566 * configure.in: Version 1.21.1
1570 2008-05-03 Behdad Esfahbod <behdad@gnome.org>
1572 Bug 531242 – Leak when calculating win32 font coverage
1573 Patch from Daniel Atallah
1575 * pango/pangowin32.c (pango_win32_font_calc_coverage): Plug leak.
1577 2008-04-30 Behdad Esfahbod <behdad@gnome.org>
1579 Bug 530757 – Docs build breaks because of hash sign in URL in <ulink...>
1581 * docs/tmpl/main.sgml: Make it build.
1583 2008-04-30 Behdad Esfahbod <behdad@gnome.org>
1585 Bug 530685 – Pango no longer using cairo as a backend as of pango 1.19.4
1587 * configure.in: Be more verbose about cairo font backends found.
1589 2008-04-28 Behdad Esfahbod <behdad@gnome.org>
1591 * pango-view/viewer-main.c (main): Wait for convert(1) to finish.
1592 Patch by Jamie Guinan.
1594 2008-04-24 Behdad Esfahbod <behdad@gnome.org>
1596 Part of Bug 97545 – Make pango_default_break follow Unicode TR #29
1598 * docs/tmpl/main.sgml:
1599 * pango/break.c (pango_default_break):
1600 * pango/pango-break.h:
1601 * tests/testboundaries_ucd.c (main):
1602 Add new PangoLogAttr member is_word_boundary, that implements UAX#29's
1603 Word Boundaries semantics. Test fully passes for it.
1605 2008-04-24 Behdad Esfahbod <behdad@gnome.org>
1607 Part of Bug 97545 – Make pango_default_break follow Unicode TR #29
1608 Patch from Noah Levitt
1610 * tests/Makefile.am:
1611 * tests/runtests.sh.in:
1612 * tests/testboundaries_ucd.c (count_attrs), (parse_line),
1613 (attrs_equal), (make_test_string), (do_test), (main):
1614 Add test driver for UAX#14 and UAX#29 test data from Unicode Character
1615 Databse. Just drop the following four files in pango/tests for it to
1618 GraphemeBreakTest.txt
1620 SentenceBreakTest.txt
1623 2008-04-24 Behdad Esfahbod <behdad@gnome.org>
1625 Part of Bug 97545 – Make pango_default_break follow Unicode TR #29
1627 * pango/break.c (pango_default_break): Make Grapheme Boundary code
1628 exactly follow UAX#29 of Unicode 5.1.0
1630 2008-04-24 Behdad Esfahbod <behdad@gnome.org>
1632 * pango/break.c (pango_default_break): Update GraphemeBoundary to
1633 Unicode 5.1.0. Pretty close now. Passes the TR14 test.
1635 2008-04-24 Behdad Esfahbod <behdad@gnome.org>
1637 * pango/break.c (pango_default_break): Allow line break at the end of
1638 string. UAX#14 rule LB3 says "Always break at the end of text."
1639 With this test, Pango passes the LineBreakTest.txt, sans the bug in
1640 the test file that I've already reported to unicoRe.
1642 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1644 * === Released 1.21.0 ===
1646 * configure.in: Version 1.21.0
1650 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1652 * ChangeLog.pre-1-20:
1656 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1658 * docs/pango-docs.sgml:
1659 * docs/pango-sections.txt:
1660 * docs/tmpl/bidi.sgml:
1661 * docs/tmpl/main.sgml:
1662 * docs/tmpl/vertical.sgml:
1663 * pango/pango-bidi-type.c (pango_log2vis_get_embedding_levels),
1664 (pango_unichar_direction), (pango_get_mirror_char):
1665 * pango/pango-bidi-type.h:
1666 * pango/pango-types.h:
1667 * pango/pango-utils.c:
1668 Group bidi stuff together. Add a section in the docs for them.
1670 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1672 Bug 515432 – Add function to get bidirectional character type of a
1674 Patch from Jürg Billeter
1676 * docs/pango-sections.txt:
1677 * docs/tmpl/layout.sgml:
1678 * docs/tmpl/main.sgml:
1679 * docs/tmpl/pangocairo.sgml:
1680 * pango/Makefile.am:
1681 * pango/pango-bidi-type.c (pango_bidi_type_for_unichar):
1682 * pango/pango-bidi-type.h:
1683 * pango/pango-types.h:
1684 * pango/pango-utils.c (pango_log2vis_get_embedding_levels),
1685 (pango_unichar_direction):
1691 pango_bidi_type_get_type()
1692 pango_bidi_type_for_unichar()
1694 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1696 Bug 517119 – Add pango_cairo_create_context()
1698 * docs/pango-sections.txt:
1699 * pango/pangocairo-context.c (pango_cairo_create_context),
1700 (pango_cairo_create_layout):
1701 * pango/pangocairo.def:
1702 * pango/pangocairo.h:
1705 pango_cairo_create_context()
1707 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1709 Bug 404416 – pango_layout_get_baseline or something
1711 * docs/pango-sections.txt:
1712 * pango/pango-layout.c (pango_layout_get_baseline):
1713 * pango/pango-layout.h:
1717 pango_layout_get_baseline()
1719 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1721 Bug 474706 – cairo hexbox looks ugly
1723 * pango/pangocairo-font.c
1724 (_pango_cairo_font_private_get_hex_box_info):
1725 Tweak minifont size a bit. Also propagate font options correctly.
1727 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1729 Bug 490669 – add some <span> attribute aliases
1731 * docs/pango_markup.sgml:
1732 * pango/pango-markup.c (span_parse_func):
1733 Add fgcolor, bgcolor, font, font_size, font_weight, font_variant, ...
1735 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1737 Bug 501334 – Make pango_cairo_[show_]*[_path]() functions preserve
1740 * pango/pangocairo-render.c (_pango_cairo_renderer_draw_box_glyph),
1741 (_pango_cairo_renderer_draw_unknown_glyph), (acquire_renderer),
1742 (release_renderer), (save_current_point), (restore_current_point),
1743 (_pango_cairo_do_glyph_string), (_pango_cairo_do_layout_line),
1744 (_pango_cairo_do_layout):
1745 Preserve current point around pango_cairo_* functions().
1747 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1750 * pango/pangocairo-atsui.h:
1751 * pango/pangocairo-atsuifont.c
1752 (pango_cairo_atsui_font_create_font_face):
1753 * pango/pangocairo-fontmap.c
1754 (pango_cairo_font_map_new_for_font_type):
1755 Require cairo >= 1.6.4. Remove compat cruft that were added to
1756 support older cairo that had cairo-atsui instead of cairo-quartz-font.
1758 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1760 Bug 514617 – Add pango_cairo_font_map_set_default()
1762 * docs/pango-sections.txt:
1763 * docs/tmpl/pangocairo.sgml:
1764 * pango/pangocairo-fontmap.c (pango_cairo_font_map_get_default),
1765 (pango_cairo_font_map_set_default):
1766 * pango/pangocairo.def:
1767 * pango/pangocairo.h:
1770 pango_cairo_font_map_set_default()
1772 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1774 * docs/pango-docs.sgml: Add index of new API in 1.22.
1776 2008-04-21 Behdad Esfahbod <behdad@gnome.org>
1778 Bug 511183 – Add pango_attr_type_get_name()
1780 * docs/pango-sections.txt:
1781 * docs/tmpl/text-attributes.sgml:
1782 * pango/pango-attributes.c (pango_attr_type_register),
1783 (pango_attr_type_get_name):
1784 * pango/pango-attributes.h:
1788 pango_attr_type_get_name()
1790 2008-04-20 Behdad Esfahbod <behdad@gnome.org>
1792 * pango/pango-ot-info.c (pango_ot_info_get_gdef),
1793 (pango_ot_info_get_gsub), (pango_ot_info_get_gpos):
1794 Write out HarfBuzz errors as hex.
1796 2008-04-09 Behdad Esfahbod <behdad@gnome.org>
1798 * === Released 1.20.2 ===
1800 * configure.in: Version 1.20.2
1804 2008-04-09 Behdad Esfahbod <behdad@gnome.org>
1806 * pango/pangocairo-atsui.h:
1807 * pango/pangocairo-atsuifont.c:
1808 Really fix build without cairo-atsui.
1810 2008-04-08 Behdad Esfahbod <behdad@gnome.org>
1812 * === Released 1.20.1 ===
1814 * configure.in: Version 1.20.1
1818 2008-04-08 Behdad Esfahbod <behdad@gnome.org>
1820 Bug 491553 – Update to Unicode 5.1.0
1822 * docs/tmpl/scripts.sgml:
1823 * pango/mini-fribidi/README:
1824 * pango/mini-fribidi/fribidi_tab_char_type_2.i:
1825 * pango/pango-script-lang-table.h:
1826 * pango/pango-script.h:
1827 Update to Unicode Character Databse 5.1.0. This adds new entries to
1828 the PangoScript enum. Requires glib >= 2.16.3 for the update Unicode
1829 data there, but not bumping the requirement in a stable point release.
1831 2008-04-08 Behdad Esfahbod <behdad@gnome.org>
1834 * pango/pangocairo-atsui.h:
1835 * pango/pangocairo-atsuifont.c:
1836 Try making our OS X stuff compile with latest cairo 1.5.x snapshots
1837 that renamed cairo-atsui to cairo-quartz-font.
1839 2008-04-08 Behdad Esfahbod <behdad@gnome.org>
1841 * configure.in: Fix check for Carbon/Carbon.h availability. Oops!
1843 2008-03-21 Behdad Esfahbod <behdad@gnome.org>
1845 * pango/pango-layout.c (get_x_offset): When doing ALIGN_CENTER,
1846 round line offset to whole pixel if hinting.
1848 2008-03-11 Richard Hult <richard@imendio.com>
1850 * pango/pangocairo-atsuifont.c (_pango_cairo_atsui_font_new):
1851 Adapt the shear matrix for synthesized italic to work with cairo
1852 1.5.13+, where the quartz surface has been fixed for transformed
1858 vim: encoding=utf-8: