1 2006-03-13 Behdad Esfahbod <behdad@gnome.org>
3 * === Released 1.12.0 ===
5 * configure.in: Version 1.12.0
7 * NEWS, README: Updated.
9 2006-03-03 Tor Lillqvist <tml@novell.com>
11 * pango/pangowin32-private.h (PING): Fix compilation error with
14 2006-03-01 Tor Lillqvist <tml@novell.com>
16 * pango/pango-context.c (update_metrics_from_items): Check the
17 font pointer being NULL to avoid crashes for at least one class of
18 "bad" fonts (those without a Unicode cmap) on Win32. It would
19 probably be better to prune out such fonts already in the
20 enumeration phase. That would require opening (CreateFontIndirect)
21 every font, though, to be able to check with GetFontData() whether
22 there is a Unicode cmap. Don't know how much that would slow down
25 2006-02-28 Tor Lillqvist <tml@novell.com>
27 * pango/pangowin32-private.h (PING)
29 * modules/basic/basic-win32.c: Use g_print() instead of printf()
30 for debugging output, to enable easy redirection using GLib
33 2006-02-26 Behdad Esfahbod <behdad@gnome.org>
35 * === Released 1.11.99 "Just In Case" ===
37 * configure.in: Version 1.11.99
41 2006-02-26 Behdad Esfahbod <behdad@gnome.org>
43 * pango/pango-layout.c (pango_layout_set_text): Replace each byte in
44 invalid UTF-8 sequences with '?'. (bug #331995)
46 * examples/renderdemo.c: Don't exit on invalid UTF-8 input.
48 2006-02-25 Hans Breuer <hans@breuer.org>
50 * pango/pangocairo-win32font.c(pango_cairo_win32_font_install):
51 return TRUE to glyphs rendered at all (instead of box). This may
52 be compiler specific (what to return w/o return) but fixes bug #332538
54 * pango/makefile.msc: updated
55 * pango/pango.def: just some sorting
57 2006-02-25 Behdad Esfahbod <behdad@gnome.org>
59 * examples/test-hebrew.txt: Added. Parts of Genesis.
61 * examples/Makefile.am: Adjusted.
63 2006-02-22 Behdad Esfahbod <behdad@gnome.org>
65 Bug 332167 – Void function returns value - breaks Solaris build
66 Reported by Damien Carbery
68 * pango/pangocairo-fcfont (pango_cairo_fc_font_unlock_face): Simply
71 2006-02-21 Behdad Esfahbod <behdad@gnome.org>
73 * === Released 1.11.6 ===
75 * configure.in: Version 1.11.6
79 2006-02-21 Behdad Esfahbod <behdad@gnome.org>
81 Bug 328206 – Update/remove some old files
83 * docs/TEXT/{coding-style,modules,questions,ligatures,western-design}:
86 * HACKING: Added. Renamed from docs/TEXT/coding-style.
88 * Makefile.am: Add HACKING.
90 2006-02-21 Behdad Esfahbod <behdad@gnome.org>
92 Bug 314239 – pangocairo crashes when font cannot be read
94 * pango/pangocairo-fcfont.c, pango/pangocairo-font.c: Hack up to not
95 crash if we cannot create cairo_scaled_font_t for PangoFont (font is
96 not readable, removed, etc.)
98 2006-02-21 Behdad Esfahbod <behdad@gnome.org>
100 Bug 331723 – shapers should not crash on failures
102 * modules/*/*-fc.c: Return instead of g_return_if_fail when
105 * pango/pango-engine.h (PangoEngineShape): Document that a shaper
106 should return an empty glyph string on failure.
108 2006-02-21 Behdad Esfahbod <behdad@gnome.org>
110 * pango/fonts.c, pango/glyphstring.c, pango/pango-fontmap.c,
111 pango/pango-ot-buffer.c, pango/pangocairo-font.c, pango/pangoft2.c,
112 pango/pangoxft-font.c, pango/shape.c: Change g_critical to g_warning.
113 We already handle them gracefully.
115 Bug 331994 – --disable-debug removes G_DISABLE_CAST_CHECKS
116 Patch from charlet@act-europe.fr
118 * configure.in: Do not lose PANGO_DEBUG_FLAGS when reassigning.
120 Bug 331995 – pango_layout_set_text optimization
121 Patch from charlet@act-europe.fr
123 * pango/pango-layout.c: Do not validate input text if asserts are
124 disabled. Moreover, do not truncate input text on invalid sequence.
126 Bug 331996 – avoid crashes in win32 font handling
127 Patch from charlet@act-europe.fr
129 * pango/pangofc-fontmap.c, pango/pangowin32-fontmap.c,
130 pango/pangowin32.c: if (!font) return NULL in a number of places.
132 2006-02-17 Behdad Esfahbod <behdad@gnome.org>
134 Bug 329148 – pango_glyph_item_split: assertion `split_index > 0' failed
136 * pango/ellipsize.c (init_state): Do not mistakenly set start_offset = 0.
138 2006-02-17 Behdad Esfahbod <behdad@gnome.org>
140 * pango/pango-types.h, pango/pango-font.h: Move PANGO_GLYPH_EMPTY,
141 PANGO_GLYPH_UNKNOWN_FLAG, and PANGO_GET_UNKNOWN_GLYPH from the former
142 to the latter, and only define if PANGO_ENABLE_ENGINE or
143 PANGO_ENABLE_BACKEND is set.
145 2006-02-15 Behdad Esfahbod <behdad@gnome.org>
147 Bug 331038 – pango-querymodules --help and --version
148 Patch from Antoine Dopffer.
150 * examples/renderdemo.c, pango/querymodules.c: Add --version option.
152 2006-02-13 Behdad Esfahbod <behdad@gnome.org>
154 * configure.in: Pass gnits instead of gnu to automake.
156 * AUTHORS: Contributors move to THANKS.
160 2006-02-13 Behdad Esfahbod <behdad@gnome.org>
162 * configure.in: Pass 1.6 and gnu options to automake.
164 * modules/Makefile.am: Distribute Module.mk.
166 * modules/Module.mk: Common bits for writing module Makefil.am's.
168 * modules/*/Makefile.am: Include Module.mk instead of copying common
171 2006-02-11 Behdad Esfahbod <behdad@gnome.org>
173 Bug 330795 – pango_renderer_draw_glyph segfaults when trying to call
175 Opened by Torsten Schoenfeld
177 * pango/pango-renderer.c (pango_renderer_draw_trapezoid,
178 pango_renderer_draw_glyph): Bail if method is not implemented.
180 2006-02-11 Behdad Esfahbod <behdad@gnome.org>
182 * === Released 1.11.5 ===
184 * configure.in: Version 1.11.5
188 2006-02-10 Tor Lillqvist <tml@novell.com>
190 Fix #135098 and #322510.
192 * pango/pangowin32-fontmap.c (case_insensitive_hash)
193 (case_insensitive_equal): New helper functions for string hashing
194 based on ASCII case insensitivity..
195 (logfont_nosize_hash): Use case_insensitive_hash().
196 (logfont_nosize_equal): Use case_insensitive_equal().
197 (pango_win32_font_map_init): Use the case-insensitive functions
198 for the PangoWin32FontMap::families hash table.
199 (pango_win32_font_map_load_font): Consequently we don't need to
200 lowercase the name before looking up from the hash table.
201 (get_family_name): Constify parameter.
202 (get_family_name_lowercase): Not needed any longer.
203 (pango_win32_font_description_from_logfont): New public
204 function. Code moved from pango_win32_insert_font(). Use family
205 name as such, don't lowercase it.
206 (pango_win32_insert_font): Use the above new function. Don't
207 bother looking for superfluos copies of the font entry as that
208 shouldn't ever happen. We have pruned out fonts that differ only
209 in charset already earlier.
211 * pango/pangowin32.h: Declare pango_win32_font_description_from_logfont().
213 * pango/pangowin32.def
214 * docs/pango-sections.txt: Add it here too.
216 2006-02-09 Behdad Esfahbod <behdad@gnome.org>
218 Bug 330602 – pango_parse_weight
219 Reported by Morten Welinder.
221 * pango/pango-utils.c (pango_parse_weight): Pass 10 as base to
224 2006-02-09 Behdad Esfahbod <behdad@gnome.org>
226 Bug 314548 – pango_shape() is missing const correctness
227 Patch from Antoine Dopffer.
229 * modules/arabic/arabic-fc.c, modules/basic/basic-fc.c,
230 modules/basic/basic-x.c, modules/hangul/hangul-fc.c,
231 modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c,
232 modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c,
233 modules/thai/thai-shaper.c, modules/thai/thai-shaper.h,
234 modules/tibetan/tibetan-fc.c, pango/pango-context.c,
235 pango/pango-engine-private.h, pango/pango-engine.c,
236 pango/pango-engine.h, pango/pango-glyph.h pango/pango-layout.c,
237 pango/shape.c: Make PangoAnalysis *analysis const in all shaper
240 2006-02-08 Anders Carlsson <andersca@imendio.com>
242 * configure.in: Add basic-atsui to basic_modules
244 2006-02-08 Behdad Esfahbod <behdad@gnome.org>
246 Bug 330146 – pango-view --help should list available backends
247 Patch from Antoine Dopffer.
249 * examples/renderdemo.c: Show backends in --help output.
251 2006-02-07 Behdad Esfahbod <behdad@gnome.org>
253 Bug 330289 – Fix build with gcc 2.95 (pangox.c)
255 * pango/pangox.c (get_subfonts_foreach): Fixed.
257 2006-02-07 Tor Lillqvist <tml@novell.com>
259 * examples/viewer-main.c (main): Initialise GError pointer to
260 NULL. Use waitpid() only on Unix.
262 * pango-zip.sh.in: Drop the timestamp from the zipfile names.
264 2006-02-06 Behdad Esfahbod <behdad@gnome.org>
266 * === Released 1.11.4 ===
268 * configure.in: Version 1.11.4
272 2006-02-06 Behdad Esfahbod <behdad@gnome.org>
274 As cairo 1.2 seems to be delayed infinitely, make all cairo HEAD
275 API that we use conditional, to make a release.
277 * configure.in: Depend on cairo 1.0.0 again. Check for
278 cairo_scaled_font_get_*() and cairo_scaled_font_text_extents()
281 * pango/pangocairo-font.c: Work around if the above functions are not
284 2006-02-06 Behdad Esfahbod <behdad@gnome.org>
286 * pango/pango-utils.c (pango_matrix_copy, pango_matrix_free): If
287 NULL is passed to _copy, return NULL with no warning. If NULL is
288 passed to _free, do nothing with no warning. Docs updated.
290 * examples/viewer-pangoxft.c (render_callback): Multiply x,y by
291 PANGO_SCALE, as pango_xft_render_layout takes coordinates in
292 Pango units weirdly enough.
294 * viewer-pangocairo.c (render_callback): Do cairo_translate, to
295 draw correct bounding boxes for x,y nonzero.
297 * examples/renderdemo.c (do_output): If context has an all-zero matrix
298 set, interpret it as backend does not support transformation, so
299 warn on --rotate, and do not try to rotate.
301 * examples/viewer-pangox.c (pangox_view_get_context): Set an all-zero
302 matrix on context, to negotiate that we don't support transformations.
304 2006-02-06 Behdad Esfahbod <behdad@gnome.org>
306 Bug 328067 – Install pango-view
308 Added a rather generic framework for a pango-view example. All
309 backends have their own pango*-view built, and a pango-view binary
310 is built too, that can choose backend via --backend. This one is
313 * examples/Makefile.am: Updated, to build pangox-view, pangoft2-view,
314 pangoxft-view, pangocairo-view, and pango-view.
316 * examples/viewer.h, examples/viewer-x.c, examples/viewer-x.h
317 examples/viewer-cairo.c, examples/viewer-cairo.h,
318 examples/viewer-main.c, examples/viewer-pangox.c,
319 examples/viewer-pangoft2.c, examples/viewer-pangoxft.c,
320 examples/viewer-pangocairo.c, examples/pango-view.c,
321 examples/pango-xview.c, examples/pango-ft2view.c,
322 examples/pango-xftview.c, examples/pango-cairoview.c: Added.
324 * examples/cairoview.c, examples/xftview.c, examples/pangoft2topgm.c,
325 examples/viewer-qt.cc, examples/viewer-qt.h: Removed.
327 * configure.in: Check for Cairo Xlib backend, also AC_DEFINE various
330 2006-02-06 Behdad Esfahbod <behdad@gnome.org>
332 * pango/pango-fontmap.c (pango_font_map_real_load_fontset): Warn
333 only once per font-description that cannot be loaded.
335 * pango/pangox.c: Make it not crash if no font found, like other
338 2006-02-05 Behdad Esfahbod <behdad@gnome.org>
340 * configure.in: AC_DEFINE various version components.
342 * *.c: Change various const return types to G_CONST_RETURN.
344 2006-02-04 Behdad Esfahbod <behdad@gnome.org>
346 Bug 324408 – tab can result in 0 characters
348 * pango/pango-layout.c (shape_tab): Make sure there is
349 at least an space-width of space between tab-aligned text
350 and the text before it.
352 2006-02-04 Behdad Esfahbod <behdad@gnome.org>
354 Bug 329528 – implement --wrap in examples/renderdemo.c
355 Patch from Antoine Dopffer.
357 * examples/renderdemo.c: Add --wrap option.
359 2006-02-04 Behdad Esfahbod <behdad@gnome.org>
361 * pango/pango-types.h: Change PANGO_GLYPH_EMPTY to 0x0FFFFFFF, to
362 not overlap with PANGO_GLYPH_UNKNOWN_FLAG (0x10000000).
363 Define PANGO_GET_UNKNOWN_GLYPH(wc) that simply returns
364 wc|PANGO_GLYPH_UNKNOWN_FLAG.
366 * docs/pango-sections.txt, docs/tmpl/glyphs.sgml: Document new
369 * modules/*/*.c: Use PANGO_GET_UNKNOWN_GLYPH instead of various
370 backend-specific functions.
372 * pango/pangofc-font.c, pango/pangoft.c, pango/pangoxft-font.c,
373 * pango/pangowin32.c, pango/pangox.c: Suggest using
374 PANGO_GET_UNKNOWN_GLYPH in docs.
376 * pango/pangofc-font.h: Deprecate pango_fc_font_get_unknown_glyph().
378 * pango/pangowin32.h: Deprecate pango_win32_get_unknown_glyph().
380 2006-02-04 Behdad Esfahbod <behdad@gnome.org>
382 * pango/pangoft2.c, pango/pangoft2-render.c: Move the
383 FT_IS_SFNT(font) logic into pango_ft2_get_unknown glyph.
385 2006-02-03 Behdad Esfahbod <behdad@gnome.org>
387 * configure.in: AC_DEFINE the module version, such that
388 pango-querymodules gets rebuilt after module version
391 * pango/Makefile.am: Do not set -DMODULE_VERSION.
393 2006-02-03 Behdad Esfahbod <behdad@gnome.org>
395 * configure.in: Bump pango_module_version to 1.5.0.
397 2006-02-03 Behdad Esfahbod <behdad@gnome.org>
399 * Makefile.am: Distribute autogen.sh.
401 2006-02-02 Behdad Esfahbod <behdad@gnome.org>
403 Finish the 'glyph 0' work of this morning:
404 PANGO_GLYPH_NULL that I introduced is renamed to
405 PANGO_GLYPH_EMPTY. It means, no rendering should
406 be performed. The backends however, still return
407 0 if a glyph is not found. The modules then are
408 free to replace this 0 glyph with an unknown
411 * modules/arabic/arabic-fc.c, modules/basic/basic-atsui.c,
412 modules/basic/basic-fc.c, modules/basic/basic-win32.c,
413 modules/basic/basic-x.c, modules/hangul/hangul-fc.c,
414 modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c,
415 modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c,
416 modules/thai/thai-fc.c, modules/tibetan/tibetan-fc.c,
417 pango/pangox.c, pango/pangowin32.c:
418 Adapt to above change. Backends return 0 if glyph not
421 * pango/fonts.c (pango_font_get_glyph_extents): If font
422 is not usable (!PANGO_IS_FONT (font)), return the generic
423 UNKNOWN_GLYPH metrics. This is used when your backends
424 are misconfigured and you don't find *any* font at all.
426 * pango/pango-engince.c: Add unknown glyphs in fallback
427 shaper, instead of empty glyphs.
429 * pango/shape.c: Call the fall-back shaper if shaper
430 fails, instead of generating a dummy glyph string ourselves.
432 * pango/pango-layout.c (imposed_shape, shape_tab): Use
433 PANGO_GLYPH_EMPTY instead of glyph 0.
435 * pango/pango-renderer.c (pango_renderer_draw_glyph): No-op on
436 PANGO_GLYPH_EMPTY instead of glyph 0.
438 * pango/pangocairo-atsuifont.c, pango/pangocairo-win32font.c,
439 pango/pangocairo-fcfont.c, pango/pangocairo-font.c,
440 pango/pangocairo-private.h: install_font returns a boolean now.
442 * pango/pangocairo-render.c, pango/pangoxft-render.c: Handle font
443 and hex-box failures more gracefully by drawing a generic
446 * pango/pangoft2.c, pango/pangoft2-render.c: Draw the generic
447 unknown-box glyph here too. For unknown glyphs though, if
448 the font is TTF (FT_IS_SFNT), use the zero-indexed glyph,
449 otherwise, draw a box of proper size.
451 2006-02-02 Behdad Esfahbod <behdad@gnome.org>
453 * pango/pangoft2.c: Do unknown glyph extents here too.
455 2006-02-02 Behdad Esfahbod <behdad@gnome.org>
457 * pango/pangoxft-font.c, pango/pangoxft-render.c: Guard Xft
458 backend agains crashes too.
460 2006-02-02 Behdad Esfahbod <behdad@gnome.org>
462 * modules/arabic/arabic-fc.c, modules/basic/basic-atsui.c,
463 modules/basic/basic-fc.c, modules/basic/basic-win32.c,
464 modules/basic/basic-x.c, modules/hangul/hangul-fc.c,
465 modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c,
466 modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c,
467 modules/thai/thai-fc.c, modules/tibetan/tibetan-fc.c,
468 pango/fonts.c, pango/pango-engine-private.h pango/pango-types.h,
469 pango/pangocairo-fcfont.c, pango/pangocairo-font.c,
470 pango/pangocairo-private.h, pango/pangocairo-render.c,
471 pango/pangofc-decoder.c, pango/pangofc-font.c,
472 pango/pangoft2-render.c, pango/pangoft2.c pango/pangowin32.c,
473 pango/pangox.c, pango/pangoxft-font.c pango/pangoxft-private.h,
474 pango/pangoxft-render.c, pango/shape.c: Use PANGO_GLYPH_NULL for
475 when no glyph should be drawn. Use PANGO_GLYPH_UNKNOWN_FLAG for
476 all backends to mark unknown flags. There's no need for
477 pango_font_get_unknown_glyph() anymore, since all backends know
478 how to handle PANGO_GLYPH_UNKNOWN_FLAG gracefully. We may add
479 that in the future however. (fixes bug #73147, closes bug #329524)
481 2006-02-02 Behdad Esfahbod <behdad@gnome.org>
483 * pango/pango-utils.c (read_config_file): Fix GKeyFile transition.
485 2006-02-01 Behdad Esfahbod <behdad@gnome.org>
487 * configure.in: AC_DEFINE (HAVE_CAIRO_PNG).
489 * examples/cairoview.c: Save to PNG if cairo has PNG support and
492 2006-02-01 Behdad Esfahbod <behdad@gnome.org>
494 * pango/pangocairo-font.c: For mini_font, set family to "monospace",
495 not "mono-space" which didn't work!
497 2006-02-01 Behdad Esfahbod <behdad@gnome.org>
499 * examples/xftview.c: Add a default_substitute function to set
500 correct dpi on the pattern.
502 2006-02-01 Behdad Esfahbod <behdad@gnome.org>
504 * examples/viewer-x.c, examples/viewer-x.h: Driver for X-based
505 viewer. Used by pangocairo-view and pangoxft-view currently.
507 * examples/Makefile.am, examples/cairoview.c, examples/xftview.c,
508 examples/pangoft2topgm.c, examples/renderdemo.h,
509 examples/renderdemo.c: Adjust to the above change.
511 2006-02-01 Behdad Esfahbod <behdad@gnome.org>
513 * examples/viewer.c: Removed.
515 2006-02-01 Behdad Esfahbod <behdad@gnome.org>
517 * pango/pango-utils.c, pango/pangocairo-font.c: Initialize warning
518 history structs more explicitly. (bug #329459)
520 2006-01-31 Behdad Esfahbod <behdad@gnome.org>
522 * examples/syriac.utf, examples/tibetan.utf, examples/muru.utf,
523 examples/dev-example.utf: Removed/renamed.
525 * examples/test-arabic.txt, examples/test-devanagari.txt,
526 examples/test-ipa.txt, test-syriac.txt, test-tamil.txt,
527 test-tibetan.txt: Added.
529 * examples/Makefie.am: Change pango-cairoview, pango-xftview,
530 pangoft2topgm to pangocairo-view, pangoxft-view, and pangoft2-topgm
533 2006-01-31 Behdad Esfahbod <behdad@gnome.org>
535 * pango/pangocairo-font.c (_pango_cairo_get_hex_box_info): Use
536 cairo_scaled_font_text_extents instead of cairo_text_extents.
538 2006-01-31 Behdad Esfahbod <behdad@gnome.org>
540 * configure.in: Require cairo >= 1.1.1.
542 2006-01-31 Behdad Esfahbod <behdad@gnome.org>
544 * pango/pangocairo-private.h, pango/pangocairo-font.c,
545 pango/pangocairo-render.c: Hint hexbox. Also draw a single-row
546 hexbox for very small sizes.
548 2006-01-31 Behdad Esfahbod <behdad@gnome.org>
550 Bug 328313 – Use GKeyFile for parsing pangorc
551 Patch from Antoine Dopffer.
553 * pango/pango-utils.c (read_config_file): Use GKeyFile to parse
556 2006-01-31 Behdad Esfahbod <behdad@gnome.org>
558 * pango/fonts.c, pango/glyphstring.c pango/pango-attributes.c,
559 pango/pango-color.c, pango/pango-context.c,
560 pango/pango-coverage.c, pango/pango-fontset.c,
561 pango/pango-glyph-item.c, pango/pango-item.c,
562 pango/pango-layout.c, pango/pango-ot-buffer.c,
563 pango/pango-ot-info.c, pango/pango-ot-ruleset.c,
564 pango/pango-script.c, pango/pango-tabs.c pango/pango-utils.c,
565 pango/pangocairo-fcfontmap.c, pango/pangocairo-fontmap.c,
566 pango/pangox-fontcache.c, pango/pangoxft-render.c:
567 Improve documentation for functions allocating memory,
568 on how the object should be freed.
570 2006-01-30 Behdad Esfahbod <behdad@gnome.org>
572 * === Released 1.11.3 ===
574 * configure.in: Version 1.11.3
578 2006-01-30 Behdad Esfahbod <behdad@gnome.org>
580 * pango/shape.c (pango_shape):
581 * pango/fonts.c (pango_font_get_glyph_extents):
582 * pango/pangocairo-font.c (_pango_cairo_font_install):
583 Improve error handling in high-frequency functions: Only warn
586 * pango-impl-utils.h, pangoutils.h:
587 * pangocairo-private.h, pangocairo-font.c:
588 Add machinery for above: _pango_warning_history and
589 _pango_cairo_warning_history.
591 2006-01-30 Behdad Esfahbod <behdad@gnome.org>
593 Bug 328314 – Examples should use GOption instead of argcontext.c
594 Patch from Antoine Dopffer.
596 * examples/renderdemo.c: Use GOption for parsing cmd-line
599 * examples/argcontext.c, examples/argcontext.h: Removed.
601 2006-01-30 Behdad Esfahbod <behdad@gnome.org>
603 * pango/opentype/ftxgsub.c: Handle GSUB Lookup type 8,
604 and ReverseChainContextualSubst table. (bug #149696,
605 patch from Aamir Wali)
607 2006-01-29 Behdad Esfahbod <behdad@gnome.org>
609 * modules/arabic/arabic-fc.c, modules/basic/basic-fc.c,
610 modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c,
611 modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c,
612 modules/thai/thai-ot.c, modules/thai/thai-shaper.c,
613 modules/tibetan/tibetan-fc.c: If locking font face failed,
614 do not assert, just return zero glyphs with an implicit
617 * pango/fonts.c, pango/glyphstring.c pango/modules.c,
618 pango/pango-color.c, pango/pango-context.c,
619 pango/pango-coverage.c, pango/pango-fontmap.c,
620 pango/pango-glyph-item.c, pango/pango-item.c,
621 pango/pango-layout.c, pango/pango-markup.c,
622 pango/pango-ot-buffer.c, pango/pango-script.c,
623 pango/pango-tabs.c, pango/pango-utils.c,
624 pango/pangoatsui-fontmap.c, pango/pangocairo-fcfont.c,
625 pango/pangocairo-fcfontmap.c, pango/pangocairo-fontmap.c,
626 pango/pangocairo-win32font.c, pango/pangofc-font.c,
627 pango/pangofc-fontmap.c, pango/pangoft2-fontmap.c,
628 pango/pangoft2-render.c, pango/pangoft2.c,
629 pango/pangowin32-fontcache.c, pango/pangoxft-font.c,
630 pango/pangoxft-render.c, pango/break.c pango/ellipsize.c:
631 Use g_slice for allocating all types. Also, change some
632 g_error's to g_critical's...
634 2006-01-29 Behdad Esfahbod <behdad@gnome.org>
636 Do not crash if the (win32 typically) shaper fails. Bug #304702:
638 * pango/pango-engine.c (_pango_engine_shape_shape): Set num_glyphs to
641 * pango/pango-shape.c (pango_shape): Instead of crashing if the shaper
642 failed to produce any glyphs, print out a warning message containing
643 the name of the font, and mark the font such that we don't keep
644 printing warning for the same font. Moreover, inject one whitespace
645 glyph per character, so you just see nothing, but everything works
648 2006-01-28 Behdad Esfahbod <behdad@gnome.org>
650 * .cvsusers: Removed.
652 2006-01-28 Behdad Esfahbod <behdad@gnome.org>
654 * doc/tmpl/opentype.sgml: Document PangoOTBuffer and PangoOTGlyph.
656 * pango/pango-ot-buffer.c, pango/pango-ot-info.c,
657 pango/pango-ot-ruleset.c: Document remaining symbols.
659 2006-01-28 Behdad Esfahbod <behdad@gnome.org>
661 * pango/opentype/pango-ot-*: Removed.
663 * pango/pango-ot-*: Added.
665 * pango/Makefile.am, pango/opentype/Makefile.am, doc/Makefile.am:
668 2006-01-28 Behdad Esfahbod <behdad@gnome.org>
670 * pango/pangofc-font.h, pango/pangoft2-render.c, pango/pangowin32.c,
671 pango/pangoxft-render.c, docs/tmpl/xft-fonts.sgml,
672 docs/tmp/atsui-fonts.sgml: Documentation improvements.
674 2006-01-28 Behdad Esfahbod <behdad@gnome.org>
676 * configure.in: Use AC_HELP_STRING everywhere. Bump required version
679 * doc/tmpl/pango-renderer.sgml (PANGO_TYPE_RENDER_PART): Document it.
681 2006-01-27 Behdad Esfahbod <behdad@gnome.org>
683 * modules/Makefile.am: Remove pango.modules on uninstall. (bug #328869)
685 * pango/pango-fontmap.c, pango/pangocairo-*font.c: Better error
688 2006-01-26 Behdad Esfahbod <behdad@gnome.org>
690 * pango/pangoatsui-fontmap.c: #include <modules.h>. (bug #328632)
692 2006-01-26 Behdad Esfahbod <behdad@gnome.org>
694 * pango/modules.h, pango/Makefile.am: Fix more ATSUI stuff in build
695 infrastructure. Sigh... (bug #328632)
697 2006-01-25 Behdad Esfahbod <behdad@gnome.org>
699 * configure.in: If major.minor of required and available glib versions
700 are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617)
702 * */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
704 2006-01-25 Behdad Esfahbod <behdad@gnome.org>
706 * pango/pangoatsui-fontmap.c (pango_atsui_family_class_init): Declare
709 2006-01-24 Behdad Esfahbod <behdad@gnome.org>
711 * pango/pangolayout.c (pango_layout_get_width): Improve docs to say
714 2006-01-24 Behdad Esfahbod <behdad@gnome.org>
716 * pango/pangocairo-atsuifont.c: Change cwfont to cafont in a couple
719 2006-01-24 Behdad Esfahbod <behdad@gnome.org>
721 * modules/indic/pango-indic-script.h: Removed, not used for quite a
724 2006-01-24 Behdad Esfahbod <behdad@gnome.org>
726 * examples/pangoft2.aliases: Removed based on an old ChangeLog entry
727 saying: Remove pangoft2.aliases from CVS/distribution; it is
728 no longer used. (#82736, Sven Neumann.)
730 2006-01-23 Behdad Esfahbod <behdad@gnome.org>
732 Make tests/examples do use generated pango.modules. (bug #328291)
734 * examples/pangorc, tests/pangorc: Removed. Moved to modules/.
736 * examples/pangox.aliases: Removed. Moved to pango/.
738 * examples/Makefile.am, tests/Makefile.am: Remove pango.modules
739 creation stuff, copy pangorc from $(srcdir)/../modules/pangorc
742 * examples/renderdemo.c: Add --pangorc option, default to ./pangorc.
743 Setenv PANGO_RC_FILE to whatever pangorc file decided.
745 * tests/*.c: Setenv PANGO_RC_FILE to ./pangorc.
747 * pango/pangox.aliases: Added.
749 * pango/Makefile.am: Install pangox.aliases.
751 * modules/pangorc: Added.
753 * modules/Makefile.am: Create pango.modules. Added pangorc.
755 * modules/.cvsignore, examples/.cvsignore, tests/.cvsignore: Updated.
757 2006-01-23 Behdad Esfahbod <behdad@gnome.org>
759 * modules/basic/basic-fc.c: Set cluster only on base chars, like the
762 * modules/indic/indic-fc.c: Draw an unknown glyph on missing glyphs,
763 like other modules do. (part of bug #326960, LingNing Zhang)
765 2006-01-22 Behdad Esfahbod <behdad@gnome.org>
767 * docs/TEXT/coding-style: Added "Since:" in the doc example.
769 2006-01-22 Behdad Esfahbod <behdad@gnome.org>
771 * TODO: Removed old file. Filed some bugs out of it.
773 * TODO.xml: Removed old file. Filed some bugs out of it.
775 * Makefile.am (EXTRA_DIST): Removed TODO.xml.
777 2006-01-21 Behdad Esfahbod <behdad@gnome.org>
779 * MAINTAINERS: Added.
781 * AUTHORS: Added myself to contributors.
783 * Makefile.am: Added MAINTAINERS to EXTRA_DIST.
785 2006-01-21 Behdad Esfahbod <behdad@gnome.org>
787 * pango/pangocairo-fontmap.c (pango_cairo_context_get_font_options):
790 2006-01-21 Behdad Esfahbod <behdad@gnome.org>
792 * pango/pango-utils.c (pango_matrix_get_font_scale_factor): Fix docs.
794 2006-01-21 Behdad Esfahbod <behdad@gnome.org>
796 * pango/pango-types.h, pango/pango-utils.c
797 (pango_matrix_get_font_scale_factor): Make matrix parameter const.
799 * pango/fonts.c, pango/pango-context.c, pango/pango-coverage.c,
800 pango/pango-fontset.c, pango/pango-layout.c, pango/pango-renderer.c,
801 pango/pango-types.h, pango/pango-utils.c,
802 pango/pangocairo-atsuifont.c, pango/pangofc-font.c,
803 pango/pangoft2-fontmap.c, pango/pangowin32-fontmap.c,
804 pango/pangowin32.c, pango/pangox-fontmap.c, pango/pangoxft-font.c:
805 Replace "Returns:" with "Return value:" in docs.
807 2006-01-21 Behdad Esfahbod <behdad@gnome.org>
809 Finish ATSUI module work. Bug #322022, Matthias Clasen.
811 * docs/tmpl/atsui-fonts.sgml: Added.
813 * docs/pango-docs.sgml: Updated to reflect above change.
815 * docs/pango-sections.txt: Updated to reflect above change and
816 also document Standard ATSUI symbols.
818 * pango/pangocairo-atsuifont.c
819 (pango_cairo_atsui_font_get_atsu_font_id): Add docs.
821 * pango/pangoatsui-fontmap.c: Register included ATSUI modules.
823 2006-01-20 Behdad Esfahbod <behdad@gnome.org>
825 * examples/cairosimple.c: Small fixes.
827 2006-01-20 Behdad Esfahbod <behdad@gnome.org>
829 * pango/pangocairo-font.c (_pango_cairo_get_hex_box_info): Add a
830 comment about using cairo_scaled_font_text_extents instead of
833 2006-01-16 Behdad Esfahbod <behdad@gnome.org>
835 * === Released 1.11.2 ===
837 * configure.in: Version 1.11.2
841 2006-01-16 Behdad Esfahbod <behdad@gnome.org>
843 * pango/Makefile.am: Move GLIB_CFLAGS before external libraries'
844 CFLAGS. Some formatting changes too.
846 2006-01-16 Behdad Esfahbod <behdad@gnome.org>
848 * docs/Makefile.am, examples/Makefile.am, pango/Makefile.am,
849 tests/Makefile.am: Adjust the order of *_CFLAGS to the same order
850 known to work. (Fixes bug #325588)
852 2006-01-16 Behdad Esfahbod <behdad@gnome.org>
854 Fixes bug #314675, Brian Cameron.
856 * configure.in: Handle uninstalled cairo.
858 * pangocairo-uninstalled.pc.in: Fix typo: libpangoxft->libpangocairo.
860 2006-01-16 Behdad Esfahbod <behdad@gnome.org>
862 * modules/indic/mprefixups.c (indic_mprefixups_apply): Remove unused
863 variable clusterSave that was leaking too. (bug #316466, Steve Grubbs)
865 2006-01-16 Behdad Esfahbod <behdad@gnome.org>
867 Fixes bug #71414, allowing to disable building/installing modules.
869 * configure.in: Add support for --with-dynamic-modules.
871 * */Makefile.am: Adapt to the above change.
873 2006-01-14 Behdad Esfahbod <behdad@gnome.org>
875 Draw hexbox for cairo backend. Bug #313551. Based on patch by
878 * pango/pangocairo-private.h (_PangoCairoFontIface): Add new methods:
879 get_font_face and get_scaled_font, and getters:
880 _pango_cairo_font_get_font_face, _pango_cairo_font_get_scaled_font.
882 * pango/pangocairo-private.h: Add _PangoCairoHexBoxInfo, and getter
883 _pango_cairo_get_hex_box_info, and
884 _pango_cairo_get_glyph_extents_missing.
886 * pango/pangocairo-fcfont.c, pango/pangocairo-atsuifont.c,
887 * pango/pangocairo-win32font.c: Export get_font_face and
888 get_scaled_font methods.
890 * pango/pangocairo-fcfont.c: Use _pango_cairo_get_glyph_extents_missing
893 * pango/pangocairo-font.c: Implement _pango_cairo_font_get_font_face,
894 _pango_cairo_font_get_scaled_font, _pango_cairo_get_hex_box_info, and
895 _pango_cairo_get_glyph_extents_missing.
897 * pango/pangocairo-render.c (_pango_cairo_renderer_draw_unknown_glyph):
899 * pango/pangocairo-render.c (pango_cairo_renderer_draw_glyphs):
900 Cleaned up to use the added function above.
902 2006-01-14 Behdad Esfahbod <behdad@gnome.org>
904 * */*.c, */*/*.c: Make sure #include <config.h> is the first include
905 in the file. (bug #158870, based on patch by Luis Menina)
907 2006-01-14 Behdad Esfahbod <behdad@gnome.org>
909 * pango/pango-utils.h (pango_is_zero_width): Move G_GNUC_CONST to
910 after declaration, to be compatible with gcc 2.95. (bug #326847)
912 2006-01-05 Behdad Esfahbod <behdad@gnome.org>
916 * pango/glyphstring.c,
917 * pango/pango-attributes.c,
918 * pango/pango-color.c,
919 * pango/pango-impl-utils.h,
920 * pango/pango-item.c,
921 * pango/pango-layout.c,
922 * pango/pango-tabs.c,
923 * pango/pango-utils.c,
924 * pango/pango-utils.h,
925 * pango/pangoatsui-fontmap.c,
926 * pango/pangocairo-font.c,
927 * pango/pangocairo-fontmap.c,
928 * pango/pangofc-fontmap.c,
929 * pango/pangowin32-fontmap.c,
930 * pango/pangox-fontmap.c,
932 * pango/opentype/pango-ot-info.c,
933 * pango/opentype/pango-ot-ruleset.c: Intern strings to avoid
934 unnecessary strdups in the type system. (bug #325832, Matthias Clasen)
936 2006-01-04 Behdad Esfahbod <behdad@gnome.org>
938 * docs/Makefile.am (IGNORE_HFILES): Add pangocairo-atsui.h and
939 pangoatsui-private.h.
941 * docs/pango-sections.txt: Add pango_matrix_get_font_scale_factor and
942 pango_layout_index_to_line_x that were missing.
944 * docs/tmpl/glyphs.sgml: Add pango_matrix_get_font_scale_factor where
945 other pango_matrix functions reside.
947 * docs/tmpl/layout.sgml: Add pango_layout_index_to_line_x.
949 2006-01-04 Behdad Esfahbod <behdad@gnome.org>
951 * pango/pango-context.c: Use g_slice for ShaperFontElement
952 allocation. (bug #325728, Matthias Clasen)
954 2006-01-01 Behdad Esfahbod <behdad@gnome.org>
956 * pango/pango-attributes.c: Use g_slice for various attribute types
957 allocations. (bug #325040, Matthias Clasen)
959 2005-12-27 Behdad Esfahbod <behdad@gnome.org>
961 * pango/pango-context.c (pango_context_init): Use
962 pango_font_description_set_family_static. (bug #325013, Matthias
965 2005-12-27 Behdad Esfahbod <behdad@gnome.org>
967 * pango/opentype/pango-ot-buffer.c: Use g_slice for PangoOTBuffer
968 allocation. (bug #325026, Matthias Clasen)
970 2005-12-26 Behdad Esfahbod <behdad@gnome.org>
972 * modules/arabic/arabic-fc.c,
973 * modules/basic/basic-fc.c,
974 * modules/hebrew/hebrew-fc.c,
975 * modules/syriac/syriac-fc.c: Use pango_is_zero_width() to not draw
976 zero-width characters in the OpenType shapers. (Fixes bug #324621)
978 2005-12-14 Behdad Esfahbod <behdad@gnome.org>
980 * pango/pango.def: Add pango_matrix_get_font_scale_factor. (bug
981 #323978, J. Ali Harlow)
983 2005-12-14 Behdad Esfahbod <behdad@gnome.org>
985 * pango/modules.c (pango_module_load), pango/querymodules.c: Pass
986 G_MODULE_BIND_LOCAL to g_module_open. (Pointed by Federico)
988 2005-12-12 Behdad Esfahbod <behdad@gnome.org>
990 * === Released 1.11.1 ===
992 * configure.in: Version 1.11.1
996 2005-12-12 Behdad Esfahbod <behdad@gnome.org>
998 * pango/Makefile.am: Handle module-defs-atsui.c.
1000 2005-12-12 Behdad Esfahbod <behdad@gnome.org>
1004 * pangofc-fontmap.c (get_scaled_size): The logic in there is moved
1005 and renamed into pango-utils.
1007 * pango/pango-types.h,
1008 * pango/pango-utils.c (pango_matrix_get_font_scale_factor):
1011 * pango/pangocairo-fcfont.c (get_font_size): Divide pixel-size by
1012 matrix font-scale-factor, since pixel-size is scaled.
1014 2005-12-11 Behdad Esfahbod <behdad@gnome.org>
1016 * configure.in: Undo last change. 2.9.1 has the revised
1017 g_slice_free_chain api and 2.9.2 is not released yet!
1019 2005-12-10 Behdad Esfahbod <behdad@gnome.org>
1021 * configure.in: Bump required glib version to 2.9.2 now that it's
1022 released. We are relying on the revised g_slice_free_chain api.
1024 2005-12-10 Behdad Esfahbod <behdad@gnome.org>
1026 * pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_glyph_extents):
1027 Update on missing-box drawing change. Add (!glyph) to the conditional.
1029 2005-12-08 Behdad Esfahbod <behdad@gnome.org>
1031 * pango/pangofc-fontmap.c (pango_fc_font_map_finalize): Free
1032 ->fontset_hash. (#323498, Morten Welinder)
1034 2005-12-05 Behdad Esfahbod <behdad@gnome.org>
1036 * pango/pangocairo-fcfont.c, pango/pangocairo-private.h,
1037 pango/pangocairo-render.c: Draw an empty dashed box on missing glyphs
1038 for cairo-fc backend.
1040 2005-12-05 Behdad Esfahbod <behdad@gnome.org>
1042 * pango/mini-fribidi/fribidi.c, pango/mini-fribidi/fribidi_config.h,
1043 pango/mini-fribidi/fribidi.patch: Use new g_slice API for TypeLink
1044 allocation, instead of GMemChunks.
1046 * configure.in: Bump required glib version to 2.9.1.
1048 2005-12-04 Behdad Esfahbod <behdad@gnome.org>
1050 * modules/basic/basic-fc.c: Return NULL, not FALSE!
1052 * modules/arabic-arabic-fc.c: Add 'cswh' (swash) OpenType feature, as
1053 per the Arabic OpenType spec.
1055 2005-11-30 Behdad Esfahbod <behdad@gnome.org>
1057 * examples/Makefile.am: Add GLIB_LIBS to examples explicitly. (#322885,
1060 2005-11-29 Behdad Esfahbod <behdad@gnome.org>
1062 * pango/pangocairo-fcfont.c: Add a constact fixed-size (256) cache for
1063 caching glyph extents, instead of the growing g_hash_table. The cache
1064 itself is very similar to the recent gunichar->glyph cache done by
1065 Federico. Reviewed by Matthias Clasen.
1067 2005-11-24 Matthias Clasen <mclasen@redhat.com>
1069 * pango/pango-layout.c: Fix a typo.
1071 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1073 * pango/mapping.c (pango_glyph_string_index_to_x),
1074 pango/pango-layout.c (pango_layout_iter_get_char_extents):
1075 Remove cast to double in things like a = b / c where a, b,
1076 and c are all ints. (#312469, Sven Neumann)
1078 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1080 * pango/opentyp/pango-ot-buffer.c: Fix typo in docs.
1082 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1084 * pango/querymodules.c: Tiny clean up. Simpler way to suppress
1085 gcc strict-aliasing warning. (part of #123307)
1087 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1089 * pango/fonts.c pango/pango-attributes.c pango/pango-context.c
1090 pango/pango-glyph-item.c pango/pango-layout.c
1091 pango/pango-script.c pango/pango-utils.c pango/pangofc-font.c
1092 pango/pangoft2-fontmap.c pango/opentype/pango-ot-buffer.c
1093 pango/opentype/pango-ot-ruleset.c: Added "Since:" tags to all
1094 interfaces added after Pango 1.0. (#319116, Brian Cameron)
1096 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1098 * configure.in (enable_explicit_deps): Fix typo when checking
1099 libtool config deplibs_check_method. Moreover, enable explicit
1100 deps if we get anything other than pass_all from libtool. (part of
1103 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1105 * pango/Makefile.am: Link libpangoxft with -lm. (#318210)
1107 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1109 * pango/querymodules.c: Free used memory. (#316467, Steve Grubb)
1111 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1113 * modules/hangul/hangul-fc.c (hangul_engine_shape): Fix incorrect
1114 bounds check. (#316469, Steve Grubb) Moreover, increase max_jamos
1115 eight at a time instead of three.
1117 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1119 Protect against possible division by zeros. (#316468, Steve Grubb)
1121 * pango/pango-context.c (update_metrics_from_items),
1122 pango/pango-fontset.c (pango_fontset_real_get_metrics): If count is
1123 zero, do not alter approximate_{char,digit}_width.
1125 * pango/opentype/disasm.c: Err on invalid DeltaFormat.
1127 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1129 * pango/fonts.c (pango_font_description_get_absolute_size): Remove
1130 excess "the" in docs. (#319175, Masao Mutoh)
1132 2005-11-23 Behdad Esfahbod <behdad@gnome.org>
1134 * modules/basic/basic-fc.c: Reworked basic shaper with OpenType
1135 support. (#101079, based on patch from Denis Jacquerye and Noah Levitt)
1137 * modules/basic/basic-fc.c (basic_scripts): Added Unicode 4.1 addition
1138 script PANGO_SCRIPT_GLAGOLITIC that is a "simple" script.
1140 * modules/arabic/arabic-fc.c, modules/syriac/syriac-fc.c: Replace
1141 g_utf8_to_ucs4_fast() with g_utf8_strlen()!
1143 * pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_add_feature):
1144 Remove reference in docs to pango_ot_ruleset_shape() that was
1147 2005-11-22 Behdad Esfahbod <behdad@gnome.org>
1149 * pango/pangofc-font.c: Finish previous patch. Use GType private
1150 data, cache it into fcfont->priv. Get rid of
1151 PANGO_FC_FONT_GET_PRIVATE (fcfont) and access fcfont->priv. (#322174,
1154 * pango/pangofc-fontmap.c (pango_fc_font_map_init): Remove redundant
1155 priv = fcfontmap->priv initialization.
1157 2005-11-22 Federico Mena Quintero <federico@ximian.com>
1161 * pango/pangofc-font.h (struct _PangoFcFont): Replace the
1162 "gpointer context_key" field with "gpointer priv". This way we
1163 can access the private data quickly, instead of using
1164 g_type_instance_get_private().
1166 * pango/pangofc-private.h: Added prototypes for
1167 _pango_fc_font_{get,set}_context_key().
1169 * pango/pangofc-font.c (struct _PangoFcFontPrivate): Moved the
1170 "context_key" field to here.
1171 (PANGO_FC_FONT_GET_PRIVATE): Use the "priv" field instead of GType
1173 (pango_fc_font_class_init): Don't register GType private data.
1174 (pango_fc_font_init): Initialize the private data here.
1175 (pango_fc_font_finalize): Free the private data.
1176 (_pango_fc_font_get_context_key): Implement.
1177 (_pango_fc_font_set_context_key): Implement.
1178 (pango_fc_font_get_glyph): Remove the g_return_val_if_fail(); it
1179 was appearing quite high in the profile.
1181 * pango/pangofc-fontmap.c (pango_fc_font_map_add): Call
1182 _pango_fc_font_set_context_key() instead of setting the
1183 fcfont->context_key directly.
1184 (_pango_fc_font_map_remove): Likewise; also use
1185 _pango_fc_font_get_context_key() instead of accessing the field
1188 2005-11-22 Behdad Esfahbod <behdad@gnome.org>
1190 * pango/pangoxft-font.c (_pango_xft_font_get_mini_font): Load a font
1191 suitable for viewing English text when creating mini font for hex
1194 2005-11-21 Anders Carlsson <andersca@imendio.com>
1196 Bug #322022, add ATSUI backend:
1198 * configure.in: Add checks for ATSUI.
1200 * examples/Makefile.am: Only build pango-cairoview if freetype is
1203 * modules/basic/Makefile.am: Add basic ATSUI module.
1205 * pango/Makefile.am: Add ATSUI files for cairo backend.
1207 * pango/pangocairo-fontmap.c (pango_cairo_font_map_new): Support
1208 creating ATSUI font maps here.
1210 * pango/pangoatsui-fontmap.c:
1211 * pango/pangoatsui-private.h:
1212 * pango/pangoatsui.c:
1213 * pango/pangoatsui.h:
1214 * pango/pangocairo-atsui.h:
1215 * pango/pangocairo-atsuifont.c:
1216 * pango/pangocairo-atsuifont.h:
1217 * pango/pangocairo-atsuifontmap.c: Added.
1219 2005-11-21 Behdad Esfahbod <behdad@gnome.org>
1221 * pango/pango-script.c (pango_script_for_unichar_bsearch): Only update
1222 static mid on a match.
1224 2005-11-21 Behdad Esfahbod <behdad@gnome.org>
1226 * pango/pangofc-fontmap.c (get_scaled_size): Return double instead of
1227 int. (#321891, Sebastien Bacher)
1229 2005-11-21 Behdad Esfahbod <behdad@gnome.org>
1231 * examples/GLASS.utf8: Make the Kermit notice a "no warranty" clause,
1232 to comply with LPGL.
1234 2005-11-18 Behdad Esfahbod <behdad@gnome.org>
1236 * === Released 1.11.0 ===
1238 * configure.in: Version 1.11.0
1242 2005-11-18 Behdad Esfahbod <behdad@gnome.org>
1244 * pango/pango-layout.c (pango_layout_move_cursor_visually): Use the
1245 new support for negative offsets in g_utf8_pointer_to_offset. So now,
1247 offset += g_utf8_pointer_to_offset(text+oldindex, text+newindex),
1249 offset = g_utf8_pointer_to_offset(text, text+index) as we did before.
1251 2005-11-17 Behdad Esfahbod <behdad@gnome.org>
1253 * pango/pango-renderer.c: Documentation improvements. (#321731)
1255 2005-11-17 Behdad Esfahbod <behdad@gnome.org>
1257 * pango/fonts.c (pango_font_description_*): General cleanup.
1258 (pango_font_description_unset_fields): Set fields being unset to their
1260 (pango_font_description_hash, pango_font_description_equal): Do not
1261 use mask in these. Use all other fields unconditionally.
1263 2005-11-17 Matthias Clasen <mclasen@redhat.com>
1265 * modules/hangul/tables-jamos.i: const correctness
1266 fixes found by Arjan van de Ven and gcc.
1268 2005-11-17 Behdad Esfahbod <behdad@gnome.org>
1270 * pango/pangofc-fontmap.c (fontset_hash_key_equal): Compare language
1273 2005-11-17 Behdad Esfahbod <behdad@gnome.org>
1275 * pango/break.c (pango_get_log_attrs): Remove g_utf8_strlen that was
1276 only used to give a warning.
1278 * pango/break.c (pango_default_break): Add gcc-suggested parantheses
1279 around boolean expression.
1281 2005-11-17 Behdad Esfahbod <behdad@gnome.org>
1283 * docs/tmpl/coverage-maps.sgml docs/tmpl/fonts.sgml
1284 docs/tmpl/glyphs.sgml docs/tmpl/layout.sgml
1285 docs/tmpl/main.sgml docs/tmpl/scripts.sgml
1286 docs/tmpl/tab-stops.sgml docs/tmpl/text-attributes.sgml
1287 pango/break.c pango/fonts.c pango/pango-fontset.c
1288 pango/pango-layout.c pango/pango-script.c pango/pango-utils.c
1289 pango/pangofc-decoder.c pango/pangofc-decoder.h
1290 pango/pangofc-font.c pango/pangofc-font.h
1291 pango/pangoxft-font.c: More documentation improvements.
1293 2005-11-17 Behdad Esfahbod <behdad@gnome.org>
1297 * pango/opentype/ftxopen.c (Load_Lookup): In extension subtables,
1298 offset is relative to the extension subtable, not the original
1299 table. (Greg Aumann)
1301 * pango/opentype/ftxgpos.c (Load_BaseArray): When reading BaseAnchor,
1302 skip offsets that are zero. Works around bug in Doulos SIL Regular.
1304 2005-11-16 Behdad Esfahbod <behdad@gnome.org>
1306 * docs/pango_markup.sgml docs/tmpl/coverage-maps.sgml
1307 docs/tmpl/engines.sgml docs/tmpl/fonts.sgml
1308 docs/tmpl/freetype-fonts.sgml docs/tmpl/glyphs.sgml
1309 docs/tmpl/layout.sgml docs/tmpl/main.sgml
1310 docs/tmpl/modules.sgml docs/tmpl/opentype.sgml
1311 docs/tmpl/pango-engine-lang.sgml
1312 docs/tmpl/pango-engine-shape.sgml
1313 docs/tmpl/pango-renderer.sgml docs/tmpl/pangocairo.sgml
1314 docs/tmpl/pangofc-decoder.sgml docs/tmpl/pangofc-font.sgml
1315 docs/tmpl/pangofc-fontmap.sgml docs/tmpl/scripts.sgml
1316 docs/tmpl/tab-stops.sgml docs/tmpl/text-attributes.sgml
1317 docs/tmpl/win32-fonts.sgml docs/tmpl/x-fonts.sgml
1318 docs/tmpl/xft-fonts.sgml pango/break.c pango/ellipsize.c
1319 pango/fonts.c pango/pango-attributes.c pango/pango-color.c
1320 pango/pango-context.c pango/pango-coverage.c
1321 pango/pango-fontmap.c pango/pango-glyph-item.c
1322 pango/pango-layout.c pango/pango-markup.c pango/pango-tabs.c
1323 pango/pango-types.h pango/pango-utils.c
1324 pango/pangoft2-render.c pango/pangox.c pango/pangoxft-render.c:
1325 Various documentation improvements.
1327 2005-11-15 Behdad Esfahbod <behdad@gnome.org>
1329 * pango/pango-types.h: Added % to PANGO_DIRECTION_LTR in doc comments.
1331 2005-11-15 Behdad Esfahbod <behdad@gnome.org>
1333 * examples/GLASS.utf8: Added redistribution permission.
1335 2005-11-14 Behdad Esfahbod <behdad@gnome.org>
1337 * modules/khmer/khmer/khmer-fc.c: Fixed bug in khmer module state
1338 table. (#320569, Jens Herden)
1340 2005-11-14 Behdad Esfahbod <behdad@gnome.org>
1342 Updated Tibetan shaper from Pema Geyleg. (#313513)
1344 * examples/tibetan.utf: Added.
1346 * examples/Makefile.am (EXTRA_DIST): tibetan.utf added.
1348 * modules/tibetan/tibetan-fc.c: Updated Tibetan shaper that is
1349 rewritten from scratch. Supports the number pre-combining mark,
1350 illegal sequence detection, etc.
1352 2005-11-14 Behdad Esfahbod <behdad@gnome.org>
1354 * examples/GLASS.utf8: Added. The infamous "I Can Eat Glass" in
1355 vairous languages. Adopted from
1356 http://www.columbia.edu/kermit/utf8.html#glass
1358 * examples/Makefile.am (EXTRA_DIST): GLASS.utf8 added.
1360 2005-11-14 Behdad Esfahbod <behdad@gnome.org>
1362 * pango/pangocairo-fcfont.c: Respect fontconfig reassignment of
1363 pixelsize. (#317121, Funda Wang)
1365 2005-11-14 Behdad Esfahbod <behdad@gnome.org>
1367 Updates from #320666:
1369 * pango/Makefile.am: Remove pango-easy-scripts-table.h.
1371 * pango/pango-easy-scripts-table.h: Removed. The "easy" table goes
1372 into pango-scripts-table.h too.
1374 * pango/pango-script-table.h: Include "easy" table.
1376 * pango/pango-script.c: Change gunichar->script last_index caching
1377 mechanism. The caching is simply done by making int mid in the
1380 * tools/Makefile.am: Remove gen-easy-scripts-table.c.
1382 * tools/gen-easy-scripts-table.c: Removed. The "easy" table is
1383 generated in gen-scripts-table.pl too.
1385 * tools/gen-script-table.h: Generate "easy" table.
1387 2005-11-14 Behdad Esfahbod <behdad@gnome.org>
1389 * examples/Makefile.am: Add X_CFLAGS to INCLUDES. We normally are
1390 picking them up from XFT_CFLAGS, but we don't require Xft any more
1393 2005-11-14 Behdad Esfahbod <behdad@gnome.org>
1395 * pango/break.c (pango_default_break): Remove g_utf8_strlen and
1396 work around the logic. Patch by Owen Taylor.
1398 2005-11-14 Behdad Esfahbod <behdad@gnome.org>
1400 * pango/mini-fribidi/fribidi.c): Include string.h, needed for memset.
1402 * pango/mini-fribidi/fribidi.c (fribidi_analyse_string_utf8):
1403 Handle short-circuiting of the case when there are ltr letters,
1404 no rtl strongs, and base dir is weak rtl. Pointed out by Owen Taylor.
1406 2005-11-11 Behdad Esfahbod <behdad@gnome.org>
1408 * pango/pango-layout.c (pango_layout_get_alignment): Fix get/set
1409 typo in docs. (#321247, Masao Mutoh)
1411 2005-11-09 Behdad Esfahbod <behdad@gnome.org>
1413 * pango/pangocairo-fontmap.c (pango_cairo_update_context): Call
1414 get_context_info after g_return_if_fail.
1416 2005-11-09 Behdad Esfahbod <behdad@gnome.org>
1418 * pango/break.c (pango_break): Do not call strlen when length < 0.
1419 Leave it to language engines to handle NULL-terminated strings.
1421 2005-11-09 Behdad Esfahbod <behdad@gnome.org>
1423 * pango/mini-fribidi/README, pango/mini-fribidi/fribidi.patch,
1424 pango/mini-fribidi/fribidi.c: Short-circuit on LTR-only or RTL-only
1427 2005-11-09 Behdad Esfahbod <behdad@gnome.org>
1429 * pango/opentype/ftxgpos.c, pango/opentype/ftxopen.c: Remove debug
1430 line that got in accidentally.
1432 2005-11-09 Behdad Esfahbod <behdad@gnome.org>
1434 * examples/renderdemo.c (make_layout): Set layout wrapping to
1435 PANGO_WRAP_WORD_CHAR if width is set for the layout. Setting width
1436 didn't have any effect previously.
1438 * pango/pango-layout.c (process_item): Remove the excess
1439 letter_spacing adjustment on the item width. (#168593, Damon Chaplin)
1441 * pango/pango-markup.c (pango_parse_markup), pango/querymodules.c:
1442 Replace g_string_new ("") with g_string_new (NULL).
1444 * pango/pangoft2.c: Use g_malloc'ed memory for unknown FreeType2
1445 error, instead of static buffer.
1447 2005-11-09 Behdad Esfahbod <behdad@gnome.org>
1449 * modules/hebrew/.cvsignore, modules/khmer/.cvsignore,
1450 modules/tibetan/.cvsignore: Minor clean up and adjustment.
1452 2005-11-07 Federico Mena Quintero <federico@ximian.com>
1456 Instead of doing a bsearch() for every gunichar to map it to a
1457 PangoScript, use a precomputed table for the first 8192 code
1458 points. Also, remember the last script that we computed on each
1459 invocation; this will also help CJK and the other scripts above
1462 This table also holds information on whether the characters in it
1463 are paired characters. We can use this to avoid doing the
1464 expensive get_pair_index() call most of the time.
1466 Many thanks to Matthias Clasen for his suggestions for this patch.
1468 * tools/gen-easy-scripts-table.c: New program to generate
1469 pango_easy_scripts_table.
1471 * tools/Makefile.am: Build gen-easy-scripts-table.
1473 * pango/pango-easy-scripts-table.h: New file with a mapping of the
1474 first 8192 Unicode characters to their corresponding scripts. The
1475 table also says whether each character has a paired char or not.
1477 * pango/Makefile.am (libpango_1_0_la_SOURCES): Add pango-easy-scripts-table.h.
1479 * pango/pango-script-table.h: Remove everything below U+2000, and
1480 add a note to that effect.
1482 * pango/pango-script.c (pango_script_for_unichar_with_last_index):
1483 New function. This is the old pango_script_for_unichar(), but it
1484 lets the caller keep around the computed index in
1485 pango_script_table. This works under the assumption that a
1486 character is likely to be in the same script block as the
1487 preceding character in a string.
1488 (pango_script_for_unichar): First, do a quick check against the
1489 pango_easy_scripts_table. Then, do the expensive check with
1490 pango_script_for_unichar_with_last_index().
1491 (pango_script_iter_next): If the character is within the easy
1492 script range, find out if it is a paired character by using
1493 PANGO_PAIRED_CHAR_FLAG.
1494 (struct _PangoScriptIter): Add a last_index_for_script_lookup
1495 field. We use this to maintain the last-lookup index from
1496 pango_script_for_unichar_with_last_index().
1497 (pango_script_iter_next): If the character is not within the easy
1498 script range, use pango_script_for_unichar_with_last_index(), and
1499 store the index in the last_index_for_script_lookup field of the
1502 2005-11-04 Behdad Esfahbod <behdad@gnome.org>
1504 * pango-config.in, pango.spec.in: Removed. Not used for a long time,
1505 and were out of date.
1507 * .cvsignore: Remove pango-config and pango.spec.
1509 2005-11-04 Behdad Esfahbod <behdad@gnome.org>
1511 * pango/break.c: Update to handle new line-breaking types in the
1512 Unicode 4.1 UAX#14. (#313907)
1514 * configure.in: Bump required glib version to 2.9.0. Needed for
1515 above-mentioned line-breaking types.
1517 2005-11-04 Behdad Esfahbod <behdad@gnome.org>
1519 * configure.in, examples/argcontext.c examples/cairoview.c,
1520 examples/renderdemo.c, examples/renderdemo.h examples/xftview.c,
1521 modules/basic/basic-x.c, modules/hangul/hangul-fc.c,
1522 modules/hebrew/hebrew-shaper.c, modules/hebrew/hebrew-shaper.h,
1523 modules/indic/indic-fc.c, modules/indic/mprefixups.c,
1524 modules/syriac/syriac-fc.c, pango/break.c pango/fonts.c,
1525 pango/modules.c, pango/pango-coverage.c pango/pango-engine.c,
1526 pango/pango-engine.h, pango/pango-fontmap.c,
1527 pango/pango-fontset.c, pango/pango-impl-utils.h,
1528 pango/pango-layout.c, pango/pango-layout.h,
1529 pango/pango-renderer.c, pango/pango-script.c,
1530 pango/pango-utils.c, pango/pangocairo-fc.h,
1531 pango/pangocairo-font.c, pango/pangocairo-fontmap.c,
1532 pango/pangocairo-private.h, pango/pangofc-decoder.c,
1533 pango/pangofc-font.c, pango/pangofc-fontmap.c pango/pangoft2.c,
1534 pango/pangox-fontcache.c, pango/pangox-fontmap.c pango/pangox.c,
1535 pango/pangoxft-font.c, pango/querymodules.c,
1536 pango/opentype/ftglue.c, pango/opentype/ftxgpos.c,
1537 pango/opentype/ftxopen.c, pango/opentype/pango-ot-buffer.c,
1538 pango/opentype/pango-ot-info.c,
1539 pango/opentype/pango-ot-ruleset.c, tests/dump-boundaries.c,
1540 tests/testboundaries.c, tests/testcolor.c tests/testiter.c,
1541 tests/testscript.c: Turn various gcc warnings off. Adding const,
1542 adding static, fully initializing structs, match signedness in
1543 comparisons. (#317804)
1545 * tests/testscript.c, tools/gen-script-for-lang.c:
1546 (scripts_for_file): Pass error->message instead of error to fail(),
1548 (compare_lang): Fix typo comparing a and a instead of a and b.
1550 2005-11-04 Federico Mena Quintero <federico@ximian.com>
1554 * pango/pangocairo-fcfont.c: Use a simple, fixed-size cache to map
1555 gunichars to glyph indices within the font. The cache is
1556 described in detail here:
1557 http://primates.ximian.com/~federico/news-2005-10.html#gtkfilechooser-profile-5
1558 (GlyphCacheEntry): new structure to hold a gunichar and a PangoGlyph.
1559 (struct _PangoCairoFcFont): Add a char_to_glyph_cache field.
1560 (pango_cairo_fc_font_get_glyph): Allocate the char_to_glyph_cache
1561 if needed. We do it on demand because while many fonts will be
1562 alive at any one time (in order to cover the whole Unicode space),
1563 only very few of them will be actually accessed for glyph lookups.
1564 (pango_cairo_fc_font_get_glyph): Look up the gunichar in the
1565 cache, and replace the cache entry if necessary.
1566 (pango_cairo_fc_font_finalize): Free the char_to_glyph_cache.
1568 2005-11-04 Behdad Esfahbod <behdad@gnome.org>
1570 * pango/pangocairo-fontmap.c: Use quarks for GObject data to improve
1571 performance. (Patch from Federico Mena Quintero)
1573 * pango/modules.c (pango_module_load), pango/querymodules.c: Pass
1574 G_MODULE_BIND_LAZY to g_module_open. (Pointed by John Rice)
1576 2005-11-04 Behdad Esfahbod <behdad@gnome.org>
1578 * pango/pangofc-font.c: Use macros for locking and unlocking fonts
1579 we know are valid to avoid redundant PANGO_IS_FC_FONT checks.
1580 (Review by Matthias Clasen)
1582 2005-11-03 Behdad Esfahbod <behdad@gnome.org>
1584 * docs/tmpl/main.sgml, pango/Makefile.am, pango/pango-context.c
1585 (itemize_state_init), pango/pango-utils.c, pango/pango-utils.h,
1586 pango/pangox.c (itemize_string_foreach), pango/mini-fribidi/*:
1587 Updated to FriBidi version 0.10.7 patched to handle UTF-8 directly.
1588 Moved pango_log2vis_get_embedding_levels to pango-utils.c instead
1589 of mini-fribidi. (#317192, review by Matthias Clasen)
1591 2005-11-03 Behdad Esfahbod <behdad@gnome.org>
1593 * examples/pangoft2pgm.c, renderdemo.c, renderdemo.h: Added a --runs
1594 options, useful for profiling. Misc cleanup, freeing memory. (from
1597 2005-11-03 Behdad Esfahbod <behdad@gnome.org>
1599 Patches from #170414. Reviewed by Matthias Clasen.
1601 * pango/opentype/ftxgpos.c, pango/opentype/ftxgsub.c: Use call table
1602 to dispatch different lookup types.
1604 * pango/opentype/pango-ot-buffer.c, pango/opentype/pango-ot-ruleset.c:
1607 2005-10-02 Behdad Esfahbod <behdad@gnome.org>
1609 * pango/pango-engine.h: Add const to gchar * members of structs.
1610 Shuts up gcc warnings. (#317676)
1612 2005-09-09 Owen Taylor <otaylor@redhat.com>
1614 * pango/pangocairo-render.c (pango_cairo_show_glyph_string): unset
1615 all part colors, since when drawing just a glyph string,
1616 prepare_run() isn't called. (#315599, Choe Hwanjin)
1618 * pango/pango-renderer.c (pango_renderer_draw_layout_line): NULL
1619 out renderer->priv->line_state.
1621 2005-09-25 Behdad Esfahbod <behdad@gnome.org>
1623 * pango/mini-fribidi/fribidi_get_type.c: Removed. Not needed since
1626 2005-09-22 Tor Lillqvist <tml@novell.com>
1628 * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): Move
1629 the calculation of dpi and size earlier. Use the size variable
1630 instad of isize when looking for a matching cached font. Isize was
1631 supposed to be the same as size anyway. (Actually it was the same
1632 only when LOGPIXELSY equalled 96 (which often is the default
1635 * pango/pangocairo-win32fontmap.c (pango_cairo_win32_font_map_init):
1636 Set dpi to the LOGPIXELSY value instead of hardcoding 96.
1638 * pango/Makefile.am (libpangocairo_1_0_la_LIBADD): Need WIN32_LIBS
1641 2005-09-14 Tor Lillqvist <tml@novell.com>
1643 * pango/pangocairo-win32font.c: Use identical glyph extents
1644 cacheing as in pangocairo-fcfont.c. Huge performance improvement.
1646 * README.win32: Update.
1648 2005-09-14 Tor Lillqvist <tml@novell.com>
1650 * pango/pangocairo-win32font.c (struct _PangoCairoWin32Font): Have
1651 a list of metrics by language instead of just one metrics.
1653 (pango_cairo_win32_font_get_scaled_font): Use the name cwfont
1656 (free_metrics_info, pango_cairo_win32_font_finalize): Free the
1657 metrics by language list.
1659 (create_metrics_for_context): New helper function. Approximate the
1660 character and digit widths correctly. (#314114)
1662 (pango_cairo_win32_font_get_metrics): Use the list of metrics by
1663 language. Call create_metrics_for_context() to measure metrics.
1665 (_pango_cairo_win32_font_new): Keep the PangoWin32Font objects in
1666 the PangoWin32Face::cached_fonts, like the pangowin32 backend
1669 PangoWin32Face::cached_fonts isn't really a proper cache. It's a
1670 list with unbound length, one PangoWin32Font per size. Once there
1671 is cacheing in cairo this can be dropped presumably? What does the
1672 pangofc backend do? There are too many levels of cacheing going
1673 on: we have the stuff in pangowin32-fontcache.c (unused now with
1674 cairo), the PangoWin32FontMap::freed_fonts cache, and the
1675 PangoWin32::cached_fonts list.
1677 * pango/pangowin32-fontmap.c (pango_win32_fontmap_cache_remove,
1678 pango_win32_fontmap_cache_clear): Use GQueue API instead of
1679 manipulating pointers manually.
1681 * pango/pangowin32-private.h
1682 * pango/pangowin32.c: Move PangoWin32MetricsInfo to the private
1683 header file, as also pangocairo-win32font.c uses it.
1685 2005-09-13 Tor Lillqvist <tml@novell.com>
1687 * modules/basic/basic-win32.c: Drop unused font_cache variable and
1688 the call to pango_win32_font_map_for_display() used in its
1689 initialization, which caused an extra instance of
1690 PangoWin32FontMap to be created, and fonts enumerated an extra
1693 2005-09-12 Jean Brefort <jean.brefort@normalesup.org>
1695 * pango/pango-attributes.c: (pango_attr_list_splice): Fixed typo
1698 2005-09-11 Matthias Clasen <mclasen@redhat.com>
1700 * pango/pangocairo-fontmap.c (free_context_info): Use g_free()
1701 to free g_new()-allocated data, otherwise the GLib memory profiler
1702 becomes very unhappy.
1704 2005-09-05 Behdad Esfahbod <pango@behdad.org>
1706 * pango/pango-layout.c (pango_layout_set_auto_dir): Fixed typo in
1709 2005-08-29 Behdad Esfahbod <pango@behdad.org>
1711 * pango/opentype/ottest.c, pango/opentype/disasm.c: Generate valid
1712 XML output. Dump LookupFlag too.
1714 2005-08-29 Behdad Esfahbod <pango@behdad.org>
1716 * examples/cairoview.c: Set cairo font resolution.
1718 * tests/testboundaries.c: Remove unused Hangul Jamo macros.
1720 2005-08-29 Behdad Esfahbod <pango@behdad.org>
1722 * examples/HELLO.utf8: Add a few Arabic non-spacing marks to the
1723 example. Put the line with Pango in Greek-Japanese back in.
1725 2005-08-26 Behdad Esfahbod <pango@behdad.org>
1727 * pango/break.c: Protect against future line-break type additions in
1728 glib Unicode module.
1730 2005-08-25 Tor Lillqvist <tml@novell.com>
1732 * pango/Makefile.am: Use pangocairo.def when linking libpangocairo
1733 on Windows, instead of relying on GNU ld auto-exporting all public
1736 * pango/pangocairo.def: Add missing entries. (#314420, Kazuki
1739 2005-08-24 Owen Taylor <otaylor@redhat.com>
1741 * pango/pangocairo-render.c (draw_error_underline): convert
1742 from Pango units to doubles, fix some coordinate space problems
1743 that had previously been fixed in GTK+. (#313015, Luis Villa)
1748 vim: encoding=utf-8: