Upload tizen 2.0 beta source
[external/pango1.0.git] / ChangeLog.pre-1-20
1 2008-03-10  Behdad Esfahbod  <behdad@gnome.org>
2
3         * === Released 1.20.0 ===
4
5         * configure.in: Version 1.20.0
6
7         * NEWS: Updated.
8
9 2008-02-28  Behdad Esfahbod  <behdad@gnome.org>
10
11         Bug 518084 – Thai is not Virama language
12         Patch from Theppitak Karoonboonyanan
13
14         * pango/break.c: Remove Thai Phinthu from VIRAMA()
15
16 2008-02-25  Behdad Esfahbod  <behdad@gnome.org>
17
18         * === Released 1.19.4 ===
19
20         * configure.in: Version 1.19.4
21
22         * NEWS: Updated.
23
24 2008-02-25  Behdad Esfahbod  <behdad@gnome.org>
25
26         Bug 511172 – pango_layout_set_height() with positive height always
27         shows at least two lines
28
29         * pango/pango-layout.c (should_ellipsize_current_line),
30         (pango_layout_check_lines),
31         (pango_layout_get_empty_extents_at_index),
32         (pango_layout_line_get_empty_extents):
33         Initialize line_height using empty-line extents.
34
35 2008-02-25  Tor Lillqvist  <tml@novell.com>
36
37         Bug 515484 – Uniscribe interface handles surrogate
38         pairs incorrectly
39
40         * modules/basic/basic-win32.c (itemize_shape_and_place): Pass
41         correctly offset wchar string to set_up_pango_log_clusters() so
42         that when it passes the string on to unichar_index(), that
43         function notices the surrogate pairs correctly.
44
45 2008-02-24  Tor Lillqvist  <tml@novell.com>
46
47         Bug 515484 – Pango on Windows is missing Type 1
48         font support
49         Patch from Adrian Johnson.
50         
51         * pango/pangowin32-private.h (PangoWin32Face): Add has_cmap field
52         that tells whether the font has a cmap or not. A Type 1 font
53         doesn't.
54
55         * pango/pangowin32.c (pango_win32_font_get_type1_glyph_index): New
56         static function. Uses GetGlyphIndicesW() to get the glyph indices
57         for Type 1 fonts. Possibly also TrueType fonts that for some
58         reason lack the cmap formats we understand.
59         (pango_win32_font_calc_type1_coverage): New static function. Uses
60         GetFontUnicodeRanges() to get the coverage for Type 1 fonts, and
61         possibly TrueType fonts that lack the cmap formats we understand.
62         (pango_win32_font_get_glyph_index): Set has_cmap to false if the
63         font doesn't have a cmap. Call
64         pango_win32_font_get_type1_glyph_index() in that case.
65         (pango_win32_font_calc_coverage): Set has_cmap to false if the
66         font doesn't have a cmap. Call
67         pango_win32_font_calc_type1_coverage() in that case.
68         
69         * pango/pangowin32-fontmap.c (pango_win32_enum_proc): Accept also
70         Type 1 fonts.
71         (pango_win32_insert_font): Initialise has_cmap tentativaly to True.
72
73 2008-02-21  Kristian Rietveld  <kris@imendio.com>
74
75         * modules/basic/basic-atsui.c (basic_engine_shape): free the
76         ATSU style and utf16 string at the end.
77
78 2008-02-17  Behdad Esfahbod  <behdad@gnome.org>
79
80         Bug 517083 – pango modules: wrong fallback adding code?
81
82         * pango/modules.c (map_add_engine): Fix typo.
83
84 2008-02-17  Behdad Esfahbod  <behdad@gnome.org>
85
86         * pango/pango-layout.c: Improve docs.
87
88 2008-02-15  Behdad Esfahbod  <behdad@gnome.org>
89
90         * pango/pango-layout.c: Improve docs.
91
92 2008-02-14  Tor Lillqvist  <tml@novell.com>
93
94         Bug 515484 – Pango on Windows is missing non-TrueType 
95         font support
96         Patch from Adrian Johnson.
97
98         * pango/pangowin32-fontmap.c (pango_win32_enum_proc): Accept also
99         OpenType/PS fonts. Interpret the metrics parameter as a
100         NEWTEXTMETRICW struct and check the ntmFlags field.
101
102 2008-02-13  Sven Neumann  <sven@gimp.org>
103
104         * pango/pangoft2.c: indentation.
105
106 2008-02-09  Dominic Lachowicz <domlachowicz@gmail.com>
107
108         Bug 515484 – Variable is initialized twice
109
110         * pango/pangofc-fontmap.c (_pango_fc_font_map_fc_to_coverage):
111         Variable was initialized twice.
112         
113 2008-02-08  Behdad Esfahbod  <behdad@gnome.org>
114
115         Bug 504810 – Samvruthokaram (combination of U+0D41 and U+0D4D) is not
116         rendered correctly
117         Patch from Praveen A
118
119         * modules/indic/indic-ot-class-tables.c:
120         * modules/indic/indic-ot.c (indic_ot_reorder):
121         "Fix" it.
122
123 2008-01-29  Behdad Esfahbod  <behdad@gnome.org>
124
125         * configure.in: Oops.  Add fontconfig cflags/libs with freetype's.
126
127 2008-01-29  Behdad Esfahbod  <behdad@gnome.org>
128
129         Bug 496244 – Don't use freetype-config, use pkg-config
130
131         * configure.in:
132         Don't use freetype-config.  Also cleanup lots of old stale macros
133         around configure.in.
134
135         * pango-uninstalled.pc.in:
136         * pango.pc.in:
137         * pangocairo-uninstalled.pc.in:
138         * pangocairo.pc.in:
139         * pangoft2-uninstalled.pc.in:
140         * pangoft2.pc.in:
141         * pangowin32.pc.in:
142         * pangox-uninstalled.pc.in:
143         * pangox.pc.in:
144         * pangoxft-uninstalled.pc.in:
145         * pangoxft.pc.in:
146         And cleaned up all the pkg-config files as a result.
147
148 2008-01-28  Behdad Esfahbod  <behdad@gnome.org>
149
150         Bug 512566 – dont' use deprecated macro
151         Patch from Christian Persch
152
153         * tests/test-ot-tags.c:
154         * tests/testscript.c:
155         Replace G_GNUC_PRETTY_FUNCTION by G_STRFUNC
156
157 2008-01-28  Wouter Bolsterlee  <wbolster@svn.gnome.org>
158
159         Bug 512473 – [patch] gtk-doc warnings
160
161         * pango/pango-context.c:
162         * pango/pango-fontmap.c:
163         * pango/pango-utils.c:
164         * pango/pangofc-fontmap.h:
165         * pango/pangox.c:
166         * pango/reorder-items.c:
167         Fixed gtk-doc warnings.
168
169 2008-01-21  Behdad Esfahbod  <behdad@gnome.org>
170
171         * === Released 1.19.3 ===
172
173         * configure.in: Version 1.19.3
174
175         * NEWS: Updated.
176
177 2008-01-21  Behdad Esfahbod  <behdad@gnome.org>
178
179         * pango/pango-layout.c (pango_layout_set_height()): Mark behavior as
180         undefined if height is not -1 and ellipsize mode is
181         PANGO_ELLIPSIZE_NONE.
182
183 2008-01-21  Behdad Esfahbod  <behdad@gnome.org>
184
185         Bug 508002 – change pango_layout_pixel_extents() to round logical rect
186         to be inclusive
187
188         * pango/pango-layout.c (pango_layout_get_pixel_extents),
189         (pango_layout_line_get_pixel_extents): Round extents to pixels
190         inclusively.  That is, pass both ink_rect and logical_rect as first
191         argument to pango_extents_to_pixels().
192
193         * pango/pango-matrix.c (pango_matrix_transform_pixel_rectangle):
194         Fix rounding.
195
196         * pango/pango-types.h:
197         * docs/tmpl/glyphs.sgml:
198         * pango/pango-utils.c (pango_extents_to_pixels):
199         Rename pango_extents_to_pixels() function arguments from @ink_rect and
200         @logical_rect to @inclusive and @nearest.  Given that this API is a
201         fairly new addition and not commonly used, language bindings are
202         encouraged to update their argument names accordingly.  Moreover, they
203         are encouraged to wrap this function as two different calls:
204         extents_to_pixels_inclusive() and extents_to_pixels_nearest(), or
205         similar conventions that best reflect their native language.
206
207 2008-01-16  Behdad Esfahbod  <behdad@gnome.org>
208
209         * pango/opentype/Makefile.am: Remove COPYING.GPL and COPYING.FTL that
210         are no longer there.
211
212 2008-01-15  Behdad Esfahbod  <behdad@gnome.org>
213
214         * pango/opentype/*:
215         HarfBuzz was relicensed to a more generous and simpler license.
216         Adapt.  See pango/opentype/COPYING for the new license which is
217         LGPL-compatible.
218
219 2008-01-15  Behdad Esfahbod  <behdad@gnome.org>
220
221         * pango/pango-layout.c (debug), (process_line),
222         (pango_layout_line_postprocess): Minor cleanup.
223
224 2008-01-15  Behdad Esfahbod  <behdad@gnome.org>
225
226         Bug 469313 – Add pango_layout_set_height()
227
228         * pango/pango-layout.c (get_x_offset),
229         (should_ellipsize_current_line), (add_line), (process_line),
230         (pango_layout_check_lines), (pango_layout_line_get_width),
231         (pango_layout_line_get_x_ranges), (justify_words),
232         (pango_layout_line_postprocess):
233         Implement height >= 0;  There are still bugs left.  Most notably,
234         there will be at least two lines showed no matter how small height is.
235
236 2008-01-14  Behdad Esfahbod  <behdad@gnome.org>
237
238         Bug 469313 – Add pango_layout_set_height()
239
240         * pango/pango-layout.h:
241         * pango/pango-layout-private.h:
242         * pango/pango-layout.c:
243         * pango/ellipsize.c (_pango_layout_line_ellipsize):
244         New public API:
245
246                 pango_layout_set_height()
247         
248         See docs for semantics.  Currently only negative height values (number
249         of lines) is implemented.
250
251         * pango-view/viewer-render.c (make_layout), (output_body),
252         (parse_options):
253         Implement --height.
254
255         * pango/pango.def:
256         * docs/pango-sections.txt:
257         * docs/tmpl/layout.sgml:
258         Update.
259
260 2008-01-14  Behdad Esfahbod  <behdad@gnome.org>
261
262         Bug 508179 – PangoGlyphUnit confusion
263
264         * pango/pangowin32.c:
265         * pango/glyphstring.c:
266         * pango/pango-layout.c (process_item): Remove all traces of
267         #PangoGlyphUnit
268
269 2008-01-08  Behdad Esfahbod  <behdad@gnome.org>
270
271         Bug 508381 – indent and center alignment don't mix
272
273         * pango/pango-layout.c: Ignore indent if aligned center, and document
274         so.  This assumption was present in some places and not the others.
275         Fixed now.
276
277 2008-01-08  Behdad Esfahbod  <behdad@gnome.org>
278
279         Bug 508007 – Add option for single-paragraph mode to pango-view
280
281         * pango-view/viewer-render.c (make_layout), (parse_options): Add
282         --single-par option to pango-view.
283
284 2008-01-08  Behdad Esfahbod  <behdad@gnome.org>
285
286         * pango/pango-layout.c (ensure_tab_width), (process_line),
287         (pango_layout_get_effective_attributes),
288         (pango_layout_check_lines): Minor cleanup.  Attributes are initialized
289         with start/end_index to apply to entire text now, no need to
290         initialize them explicitly anymore.
291
292 2007-12-29  Behdad Esfahbod  <behdad@gnome.org>
293
294         Bug 506284 – docs typo for pango_coverage_unref
295         Patch from Christian Persch
296
297         * pango/pango-coverage.c (pango_coverage_unref): Fix typo in docs.
298
299 2007-12-21  Behdad Esfahbod  <behdad@gnome.org>
300
301         * docs/Makefile.am: Check for dummy man pages in dist-local.
302
303 2007-12-21  Behdad Esfahbod  <behdad@gnome.org>
304
305         Bug 504802 – build failure: No rule to make target
306         `pango-querymodules.1', needed by `all-am'. Stop.
307
308         * docs/Makefile.am: Create dummy pango-querymodules.1 if it doesn't
309         exsits (SVN checkout) and --enable-man is not used.
310
311 2007-12-19  Behdad Esfahbod  <behdad@gnome.org>
312
313         Bug 504585 – pango-querymodules.1 syntax error
314
315         * Makefile.am:
316         * docs/Makefile.am:
317         * docs/pango-querymodules.1:
318         Fix man-page generation rule, also remove pango-querymodules.1 from
319         SVN so it's regenerated from XML at dist time.
320
321 2007-12-19  Behdad Esfahbod  <behdad@gnome.org>
322
323          Red Hat Bug 426178: gtkdoc-scan fails on pango
324
325         * docs/pango-sections.txt:
326         * pango/pango-ot-private.h:
327         * pango/pango-ot.h:
328         Make the following symbols available to engines:
329
330                 PANGO_IS_OT_INFO
331                 PANGO_IS_OT_RULESET
332                 PANGO_OT_INFO
333                 PANGO_OT_RULESET
334                 PANGO_TYPE_OT_INFO
335                 PANGO_TYPE_OT_RULESET
336                 pango_ot_info_get_type
337                 pango_ot_ruleset_get_type
338
339 2007-12-17  Behdad Esfahbod  <behdad@gnome.org>
340
341         * === Released 1.19.2 ===
342
343         * configure.in: Version 1.19.2
344
345         * NEWS: Updated.
346
347 2007-12-13  Benjamin Otte  <otte@gnome.org>
348
349         * configure.in: use pkg-config to detect cairo features
350
351 2007-12-10  Behdad Esfahbod  <behdad@gnome.org>
352
353         * configure.in: Better fix: set both LIBS and LDFLAGS.
354
355 2007-12-10  Behdad Esfahbod  <behdad@gnome.org>
356
357         Bug 502926 – pango-1.16.4 configure bug: can fail to accept cairo
358
359         * configure.in: Fix cairo library checking.
360
361 2007-12-10  Behdad Esfahbod  <behdad@gnome.org>
362
363         * pango/pangocairo-fontmap.c: Improve
364         pango_cairo_font_map_get_default() docs.
365
366 2007-12-10  Behdad Esfahbod  <behdad@gnome.org>
367
368         Bug 399573 – replace strtoul in pango-markup.c with pango_scan_int()
369
370         * pango/pango-markup.c (span_parse_func): Use pango_scan_int() and
371         improve error message on parse failure.
372
373 2007-12-10  Behdad Esfahbod  <behdad@gnome.org>
374
375         Bug 478914 – Use something invalid instead of '?' when validating
376         input text
377
378         * pango/pango-layout.c (pango_layout_set_text): Set invalid input
379         bytes to -1, which gives a unichar value of -1, and eventually a
380         glyph value of -1, aka PANGO_GLYPH_INVALID_INPUT.
381
382         * pango/fonts.c (pango_font_get_glyph_extents),
383         (pango_font_get_metrics), (pango_font_get_font_map):
384         * pango/modules.c (build_map):
385         * pango/pango-context.c (get_script), (get_shaper_and_font),
386         (string_from_script), (itemize_state_process_run):
387         * pango/pango-coverage.c (pango_coverage_get):
388         * pango/pango-impl-utils.h:
389         * pango/pango-utils.c:
390         * pango/pangocairo-font.c (pango_cairo_font_get_scaled_font),
391         (_pango_cairo_font_private_get_hex_box_info),
392         (_pango_cairo_font_private_get_glyph_extents_missing):
393         * pango/pangocairo-private.h:
394         * pango/pangocairo-render.c (_pango_cairo_renderer_draw_frame),
395         (_pango_cairo_renderer_draw_box_glyph),
396         (_pango_cairo_renderer_draw_unknown_glyph):
397         * pango/pangofc-fontmap.c (pango_fc_font_map_get_patterns):
398         * pango/pangoft2-private.h:
399         * pango/pangoft2-render.c (pango_ft2_font_render_box_glyph),
400         (pango_ft2_font_render_glyph), (pango_ft2_renderer_draw_glyph):
401         * pango/pangoft2.c (pango_ft2_font_get_face),
402         (pango_ft2_font_get_glyph_extents):
403         * pango/pangox.c (pango_x_find_subfont), (pango_x_render):
404         * pango/pangoxft-font.c (_pango_xft_font_get_mini_font),
405         (get_glyph_extents_missing), (pango_xft_font_get_font):
406         * pango/pangoxft-private.h:
407         * pango/pangoxft-render.c (get_total_matrix), (draw_box),
408         (_pango_xft_renderer_draw_box_glyph),
409         (_pango_xft_renderer_draw_unknown_glyph),
410         (pango_xft_renderer_draw_glyphs):
411         * pango/shape.c (pango_shape):
412         Render PANGO_GLYPH_INVALID_INPUT to a single-width box with a cross
413         inside.  Also cleanup spewed warnings and warn at the source, where
414         we fail to find a shaper, instead of at every location that we see
415         a NULL font.
416
417         * pango/pango-font.h:
418         * docs/pango-sections.txt:
419         * docs/tmpl/glyphs.sgml:
420         New public macro:
421
422                 PANGO_GLYPH_INVALID_INPUT
423
424 2007-12-05  Behdad Esfahbod  <behdad@gnome.org>
425
426         * examples/cairotwisted.c (point_on_path): Optimize double math.
427
428 2007-12-05  Behdad Esfahbod  <behdad@gnome.org>
429
430         Bug 501938 – Arabic shaping broken with vertical layout with
431         vertical-hint=line
432
433         * modules/arabic/arabic-fc.c (arabic_engine_shape): Take gravity into
434         equation when deciding whether to shape visually or logically.
435
436 2007-12-05  Behdad Esfahbod  <behdad@gnome.org>
437
438         * pango-view/viewer-pangocairo.c (render_callback): Fix assertion
439         in pango_gravity_get_rotation().
440
441 2007-12-04  Behdad Esfahbod  <behdad@gnome.org>
442
443         Bug 501575 – Compile errors
444         Patch from Jens Granseuer
445
446         * pango/opentype/harfbuzz-stream.c (_hb_font_goto_table):
447         * pango/pango-utils.c (handle_alias_line):
448         Fix C99ism.
449
450 2007-12-03  Behdad Esfahbod  <behdad@gnome.org>
451
452         * === Released 1.19.1 ===
453
454         * configure.in: Version 1.19.1
455
456         * NEWS: Updated.
457
458 2007-12-03  Behdad Esfahbod  <behdad@gnome.org>
459
460         Bug 501317 – "and" found where word should be "an"
461
462         * docs/tmpl/layout.sgml: Fix typo.
463
464 2007-12-03  Behdad Esfahbod  <behdad@gnome.org>
465
466         * examples/cairotwisted.c: Add some more comments to document
467         the math involved.
468
469 2007-11-30  Behdad Esfahbod  <behdad@gnome.org>
470
471         * examples/cairotwisted.c (two_points_distance), (curve_length),
472         (parametrize_path), (point_on_path), (draw_twisted), (main):
473         Document cairotwisted example.
474
475 2007-11-29  Behdad Esfahbod  <behdad@gnome.org>
476
477         * example/cairo*.c: Add some documentation.
478
479 2007-11-29  Behdad Esfahbod  <behdad@gnome.org>
480
481         Bug 485536 – underline_position can be zero
482
483         * pango/pango-utils.c (pango_cairo_quantize_line_geometry):
484         Document that returned position may be zero.
485
486         * pango/pangocairo-win32font.c
487         (pango_cairo_win32_font_create_metrics_for_context):
488         * pango/pangofc-font.c (get_face_metrics):
489         Handle case of underline_position==0 after rounding.
490
491 2007-11-29  Behdad Esfahbod  <behdad@gnome.org>
492
493         Bug 500549 – pangocairo.h should include pango.h and cairo.h
494
495         * pango/pangocairo.h: #include <pango/pango.h>
496
497 2007-11-23  Behdad Esfahbod  <behdad@gnome.org>
498
499         * docs/check.docs: Make it reusable by not hardcoding "pango".
500
501 2007-11-23  Behdad Esfahbod  <behdad@gnome.org>
502
503         * pango/opentype/harfbuzz-impl.c: Remove unused macro.
504
505 2007-11-18  Behdad Esfahbod  <behdad@gnome.org>
506
507         * docs/Makefile.am: Replace GNU-specific syntax with more general one.
508
509 2007-11-16  Tor Lillqvist  <tml@novell.com>
510
511         * pango/pango-utils.c (handle_alias_line): Factor out the common
512         code from read_builtin_aliases() and read_alias_file(). (#492517)
513
514 2007-11-09  Behdad Esfahbod  <behdad@gnome.org>
515
516         * pango/Makefile.am: Include ATSUI included modules.
517
518 2007-11-08  Behdad Esfahbod  <behdad@gnome.org>
519
520         Bug 495091 – pango-utils.c:variable is declared at middle of block
521
522         * pango/pango-utils.c (read_builtin_aliases): Move variable
523         declaraction before code.
524
525 2007-11-07  Behdad Esfahbod  <behdad@gnome.org>
526
527         * pango/opentype/*: And some more.
528
529 2007-11-07  Behdad Esfahbod  <behdad@gnome.org>
530
531         * pango/opentype/*: Some more cleanup and merging.
532
533 2007-11-05  Behdad Esfahbod  <behdad@gnome.org>
534
535         * tools/gen-script-for-lang-new.c (scripts_for_lang), (main):
536         Update to new propsed language enumeration API for fontconfig.
537
538 2007-11-02  Tor Lillqvist  <tml@novell.com>
539
540         * pango/pango-utils.c (read_builtin_aliases, pango_load_aliases):
541         On Windows store the default aliases file in a string
542         array. (#492517)
543
544         Compared to the pango.aliases file as distributed with my most
545         recent Windows builds there are some changes: Add the DejaVu fonts
546         as the first ones listed for the generic sans, serif and mono font
547         names. Use Tahoma instead of Arial for sans, and Georgia instead
548         of Times New Roman for serif (to be used if the DejaVu fonts
549         aren't present). Add Arial Unicode MS (a font with quite large
550         coverage that comes with MS Office and thus is often
551         available). Add Sylfaen (the Armenian and Georgian font bundled
552         with Windows).
553
554         When using the MS-Windows theme the font used by GTK+ will the
555         system UI one. Both fonts typically used as system fonts, Tahoma
556         (on XP) and Segoe UI (on Vista), are aliased here.
557
558         * pango/pango-utils.c (read_alias_file): Accept also a quoted
559         string for the left-hand side of an aliases file line. This is to
560         enable aliasing fonts with spaces in their name, like "Segoe UI"
561         which is the default system font on Vista. (#492504) (With the
562         above built-in default aliases lists, no actual pango.aliases file
563         is longer required on Windows for non-Latin script support,
564         though.)
565
566 2007-10-30  Behdad Esfahbod  <behdad@gnome.org>
567
568         * docs/pango-sections.txt:
569         * docs/tmpl/main.sgml:
570         * docs/tmpl/vertical.sgml:
571         Improve vertical docs.
572
573 2007-10-29  Behdad Esfahbod  <behdad@gnome.org>
574
575         * === Released 1.19.0 ===
576
577         * configure.in: Version 1.19.0
578
579         * NEWS: Updated.
580
581 2007-10-28  Behdad Esfahbod  <behdad@gnome.org>
582
583         * pango/pango-script-lang-table.h:
584         * tools/gen-script-for-lang-new.c:
585         Sort scripts based on frequency.
586
587         * tools/Makefile.am: Don't build anything by default.
588
589 2007-10-26  Murray Cumming  <murrayc@murrayc.com>
590
591         * docs/pango_markup.sgml: Adds a link to 
592         pango_font_description_from_string() so that the font_desc 
593         attribute is not so mysterious. Bug #490661.
594
595 2007-10-26  Behdad Esfahbod  <behdad@gnome.org>
596
597         * tools/Makefile.am:
598         * tools/gen-script-for-lang-new.c:
599         Functional dup of gen-script-for-lang that uses FcGetLangs() and
600         FcCharSetForLang() instead of parsing .orth files.
601
602 2007-10-26  Behdad Esfahbod  <behdad@gnome.org>
603
604         * pango/pango-script-lang-table.h: Update for fontconfig-2.4.91.
605
606 2007-10-25  Behdad Esfahbod  <behdad@gnome.org>
607
608         * pango/pangofc-fontmap.c (pango_fc_font_map_get_patterns):
609         Call FcFontSetDestroy() instead of FcFontSetSortDestroy().
610         These days they are the same, but previously the latter was
611         not freeing the actual patterns.  But we don't need the
612         sort patterns, so this retroactively fixes a leak in older
613         versions!
614
615 2007-10-25  Behdad Esfahbod  <behdad@gnome.org>
616
617         * pango/opentype/*: Even more cleanup and more type renames.
618
619 2007-10-25  Behdad Esfahbod  <behdad@gnome.org>
620
621         * pango/opentype/*: More cleanup, remove redundant error types.
622
623 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
624
625         * pango/opentype/*: Rename ftglue.c to harfbuzz-impl.c and more
626         type renames and moving code around.
627
628 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
629
630         * pango/opentype/*: New header file harfbuzz-global.h.  Rename
631         FT_* int types to HB_* types.
632
633 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
634
635         * pango/opentype/harfbuzz-gpos-private.h:
636         * pango/opentype/harfbuzz-gsub-private.h:
637         Add commented-out dummy struct for Extension lookups.
638
639 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
640
641         Bug 478865 – Drastically reduce number of PangoFont objects created
642         for rotating text
643
644         * pango/pangofc-fontmap.c (fontset_hash_key_hash),
645         (get_scaled_size), (pango_fc_font_map_get_patterns):
646         Use a Pango-unit int for scaled-size instead of double.
647         Merges even more queries...
648
649 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
650
651         Bug 478865 – Drastically reduce number of PangoFont objects created
652         for rotating text
653
654         * pango/pangofc-fontmap.c (fontset_hash_key_equal),
655         (fontset_hash_key_hash), (fontset_hash_key_copy),
656         (get_scaled_size), (pango_fc_font_map_get_patterns):
657         Only keep scaled-size in fontset hash, instead of unscaled-size
658         and context matrix.
659
660 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
661
662         Bug 471568 – Optimizations in _pango_cairo_update_context()
663
664         * pango/pangocairo-context.c (_pango_cairo_update_context):
665         Skip change notification about matrix changes if merged font
666         options for the context set metrics hinting to off.
667
668 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
669
670         Bug 489909 – pango_cairo_update_context() should ignore matrix
671         translation
672
673         * pango/pangocairo-context.c (_pango_cairo_update_context):
674         Just compare the first four doubles of matrices for change
675         notification purposes.
676
677 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
678
679         Bug 486951 – ChangeLog.pre-1-18
680
681         * Makefile.am:
682         * ChangeLog.pre-1-18:
683         Split ChangeLog.
684
685 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
686
687         * pango/glyphstring.c (pango_glyph_string_copy),
688         (pango_glyph_string_free):
689         Fix another Oops of mine from recent commits.
690
691 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
692
693         Bug 472924 – Mark some classes abstract
694
695         * pango/fonts.c:
696         * pango/pango-fontmap.c:
697         * pango/pangofc-font.c:
698         * pango/pangofc-fontmap.c:
699         Public API chance:
700         Mark the following types as abstract:
701
702                 PangoFont
703                 PangoFontFace
704                 PangoFontFamily
705                 PangoFontMap
706                 PangoFcFont
707                 PangoFcFontMap
708
709 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
710
711         Bug 472303 – Make PANGO_GLYPH_EMPTY and PANGO_GLYPH_UNKNOWN_FLAG public
712
713         * pango/pango-font.h: Make PANGO_GLYPH_EMPTY, PANGO_GLYPH_UNKNOWN_FLAG,
714         and PANGO_GET_UNKNOWN_GLYPH() public.  Previously they were only
715         defined for backend/engine implementations.
716
717 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
718
719         Bug 471601 – Pass pango version information to fontconfig
720
721         * pango/pangofc-fontmap.h:
722         New public API:
723         
724                 PANGO_FC_GRAVITY
725                 PANGO_FC_VERSION
726
727         * pango/pangofc-fontmap.c (pango_fc_make_pattern):
728         Set PANGO_FC_VERSION in pattern.
729
730         * docs/pango-sections.txt:
731         * docs/tmpl/pangofc-fontmap.sgml:
732         Update.
733
734 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
735
736         Bug 472629 – Add pango_renderer_get_layout(_line)
737
738         * pango/pango-renderer.h:
739         * pango/pango-renderer.c:
740         New public API:
741
742                 pango_renderer_get_layout()
743                 pango_renderer_get_layout_line()
744
745         * pango/pangocairo-render.c (pango_cairo_renderer_draw_shape),
746         (release_renderer), (_pango_cairo_do_layout_line),
747         (_pango_cairo_do_layout): Use above API to simplify
748         shape_renderer implementation.
749
750         * pango/pango.def:
751         * docs/pango-sections.txt:
752         * docs/tmpl/pango-renderer.sgml:
753         Update.
754
755 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
756
757         * pango/pango-attributes.c: Fix couple Oopses from my last
758         commit.
759
760 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
761
762         Bug 469641 – Initialize attribute start/end to [0..MAXUINT]
763
764         * pango/pango-attributes.h:
765         * pango/pango-attributes.c:
766         New public API:
767         
768                 pango_attribute_init()
769
770         * pango/pango-attributes.c:
771         (pango_attr_string_new), (pango_attr_language_new),
772         (pango_attr_color_new), (pango_attr_int_new),
773         (pango_attr_float_new), (pango_attr_size_new_internal),
774         (pango_attr_font_desc_new), (pango_attr_shape_new_with_data):
775         Initialize attributes using pango_attribute_init().
776
777         * pango/pango.def:
778         * docs/pango-docs.sgml:
779         * docs/pango-sections.txt:
780         * docs/tmpl/text-attributes.sgml:
781         Update.
782
783 2007-10-24  Behdad Esfahbod  <behdad@gnome.org>
784
785         Bug 471577 – GBoxed GType for PangoGlyphItem
786
787         * pango/pango-glyph-item.h:
788         * pango/pango-glyph-item.c:
789         New public API:
790
791                 PANGO_TYPE_GLYPH_ITEM
792                 pango_glyph_item_copy()
793                 pango_glyph_item_get_type()
794
795         * pango/pango-layout.c:
796         New public API:
797         
798                 pango_layout_iter_copy()
799
800         * pango/fonts.c (pango_font_description_copy),
801         (pango_font_description_copy_static),
802         (pango_font_description_free), (pango_font_descriptions_free),
803         (pango_font_metrics_ref), (pango_font_metrics_unref):
804         * pango/glyphstring.c (pango_glyph_string_copy),
805         (pango_glyph_string_free):
806         * pango/pango-attributes.c (pango_attr_list_ref),
807         (pango_attr_list_unref), (pango_attr_list_copy):
808         * pango/pango-color.c (pango_color_copy), (pango_color_free):
809         * pango/pango-item.c (pango_item_copy), (pango_item_free):
810         * pango/pango-layout.c (pango_layout_line_ref),
811         (pango_layout_line_unref), (pango_layout_iter_copy),
812         (pango_layout_iter_free):
813         * pango/pango-layout.h:
814         * pango/pango-matrix.c (pango_matrix_copy), (pango_matrix_free):
815         Update all copy/free functions to accept NULL as legitimate input.
816         Previously all were g_return_[val_]if_fail()ing it.
817
818         * pango/pango.def:
819         * docs/pango-sections.txt:
820         * docs/tmpl/glyphs.sgml:
821         * docs/tmpl/layout.sgml:
822         Update.
823
824 2007-10-22  Behdad Esfahbod  <behdad@gnome.org>
825
826         Bug 471571 – Add pango_layout_iter_get_layout()
827
828         * pango/pango-layout.h:
829         * pango/pango-layout.c: 
830         New public API:
831
832                 pango_layout_iter_get_layout()
833
834         * docs/pango-sections.txt:
835         * docs/tmpl/layout.sgml:
836         * pango/pango.def:
837
838 2007-10-22  Behdad Esfahbod  <behdad@gnome.org>
839
840         * docs/tmpl/layout.sgml: Remove obsolete comment. PangoLayoutRun
841         is not deprecated.  It's just same type as PangoGlyphItem.
842
843 2007-10-21  Behdad Esfahbod  <behdad@gnome.org>
844
845         * pango/pango-layout.h: Remove obsolete comment. PangoLayoutRun is
846         not deprecated.  It's just same type as PangoGlyphItem.
847
848 2007-10-21  Behdad Esfahbod  <behdad@gnome.org>
849
850         Bug 488840 – harfbuzz: protect against ligid overflow
851
852         * pango/opentype/harfbuzz-buffer.c (_hb_buffer_allocate_ligid):
853         Never return zero, even in case of overflow.
854
855         * pango/opentype/harfbuzz-impl.h: Define dummy HB_LIKELY() and
856         HB_UNLIKELY(), to be filled later.
857
858 2007-10-20  Behdad Esfahbod  <behdad@gnome.org>
859
860         * examples/cairotwisted.c (curve_length): Implement bezier curve
861         length function that flattens the curve and sum the length of straight
862         lines approximating it.
863
864 2007-10-15  Behdad Esfahbod  <behdad@gnome.org>
865
866         Bug 483600 – Leak of font family name in
867         pango_win32_font_description_from_logfont(w)
868         Patch from Daniel Atallah
869
870         * pango/pangowin32-fontmap.c
871         (pango_win32_font_description_from_logfont),
872         (pango_win32_font_description_from_logfontw):
873         Free family.
874
875 2007-10-15  Behdad Esfahbod  <behdad@gnome.org>
876
877         Bug 486932 – Apply vkrn GPOS feature in vertical writing
878
879         * modules/basic/basic-fc.c (basic_engine_shape): Apply vkrn
880         GPOS feature in vertical writing mode.  Previously we had
881         no GPOS feature for vertical mode.
882
883 2007-10-15  Behdad Esfahbod  <behdad@gnome.org>
884
885         Bug 481537 – compiler warning fixes
886         Patch from Kjartan Maraas
887
888         * pango/break.c (pango_get_log_attrs):
889         * pango/pango-attributes.c (pango_attr_list_insert_internal):
890         * pango/pango-layout.c (process_item), (justify_clusters):
891         * pango/pango-markup.c (span_parse_boolean):
892         * pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize),
893         (pango_ot_ruleset_new):
894         * pango/pango-utils.c (pango_scan_int):
895         * pango/pangocairo-font.c (_pango_cairo_font_install):
896         * pango/pangofc-font.c (pango_fc_font_create_metrics_for_context):
897         * pango/pangoft2.c (load_fallback_face):
898         * pango/pangox-fontmap.c (pango_x_get_coverage_win):
899         * pango/pangox.c (itemize_string_foreach):
900         Fix warnings.
901
902 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
903
904         Bug 485566 – Cache one OpenType Buffer
905
906         * pango/pango-ot-buffer.c (acquire_buffer), (release_buffer),
907         (pango_ot_buffer_new), (pango_ot_buffer_destroy):
908         * pango/pango-ot-private.h:
909         Cache one HB_Buffer that is acquired using a lock.  A new one is
910         created if the shared buffer is locked.  The shared buffer is
911         cleared when released.  May want to make it free shared buffer if
912         buffer->allocated is too large.  Not sure.
913
914 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
915
916         * pango/opentype/*: Mark internal symbols as HB_INTERNAL and
917         define that to static in harfbuzz.c.
918
919         * pango/opentype/harfbuzz-buffer-internal.h: New file.
920
921 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
922
923         * pango/opentype/ftglue.[ch]: Remove FTGLUE_API/APIDEF cruft.
924
925 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
926
927         * pango/opentype/Makefile.am: Build harfbuzz.c instead of individual
928         source files, to let compiler go wild with optimizations!
929
930 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
931
932         * pango/opentype/harfbuzz.c: Same here.
933
934 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
935
936         * pango/opentype/Makefile.am: Don't include harfbuzz-dump.[ch] in
937         libharfbuzz.a.  Those are just used by the harfbuzz-dump tool.
938
939 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
940
941         * pango/opentype/harfbuzz-buffer.c: Some more cleanup.
942
943 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
944
945         * pango/opentype/harfbuzz-buffer.c: Move some code around.
946
947 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
948
949         * pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace to
950         buffer->separate_out with the inverted meaning, such that buffer
951         is initialization is memset(0).
952
953 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
954
955         * pango/opentype/*: Allocate buffer->positions lazily.
956
957 2007-10-11  Behdad Esfahbod  <behdad@gnome.org>
958
959         Bug 485621 – Get rid of freetype memory allocator in harfbuzz
960
961         * pango/opentype/*: Remove all occurences of FT_Memory.  Use
962         malloc/realloc/free directly.
963
964         * pango/pango-ot*: Update to above.
965
966 2007-10-10  Behdad Esfahbod  <behdad@gnome.org>
967
968         Bug 485559 – Boston Summit HarfBuzz optimizations
969
970         * pango/opentype/*: HarfBuzz hacking to:
971
972           - Rename last remaining FT_Err stuff to HB_Err.
973
974           - Fix a couple invalid table paths to be permissive so
975             fonts work better.  Particularly GDEF table for Nafees
976             Nastaliq is loaded and works great now.
977
978           - Optimize harfbuzz buffer to not copy/swap for simple
979           one-to-one and "copy" GSUB operations.
980
981         * pango/pango-ot*: Update to FT_Err to HB_Err renaming.
982
983 2007-09-21  Behdad Esfahbod  <behdad@gnome.org>
984
985         * pango/pangofc-fontmap.c: Fix typo in comments.
986
987 2007-09-17  Behdad Esfahbod  <behdad@gnome.org>
988
989         * === Released 1.18.2 ===
990
991         * configure.in: Version 1.18.2
992
993         * NEWS: Updated.
994
995 2007-09-07  Behdad Esfahbod  <behdad@gnome.org>
996
997         Bug 474708 – pangocairo leaks memory
998
999         * pango-view/viewer-pangocairo.c (pangocairo_view_create):
1000         Use pango_cairo_font_map_new() instead of
1001         pango_cairo_font_map_get_default(), so the font map is freed at the
1002         end so we can use valgrind to detect leaks without noise.
1003
1004 2007-09-07  Behdad Esfahbod  <behdad@gnome.org>
1005
1006         Part of Bug 474708 – pangocairo leaks memory
1007
1008         * pango/pangocairo-font.c
1009         (_pango_cairo_font_private_get_hex_box_info):
1010         Fix a couple leaks.
1011
1012         * pango/pangocairo-atsui.h:
1013         * pango/pangocairo-atsuifontmap.c
1014         (pango_cairo_atsui_font_map_finalize):
1015         * pango/pangocairo-fc.h:
1016         * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_finalize):
1017         * pango/pangocairo-win32.h:
1018         * pango/pangocairo-win32fontmap.c
1019         (pango_cairo_win32_font_map_finalize):
1020         Remove unused leftover renderer variable.
1021
1022         * pango/pangofc-fontmap.c (pango_fc_font_map_finalize): Fix thinko.
1023
1024 2007-09-07  Behdad Esfahbod  <behdad@gnome.org>
1025
1026         * pango/pangox-fontcache.c (free_cache_entry),
1027         (pango_x_font_cache_free), (pango_x_font_cache_new),
1028         (pango_x_font_cache_load):
1029         * pango/pangox-fontmap.c (pango_x_font_map_finalize),
1030         (pango_x_insert_font):
1031         * pango/pangox.c (free_context_info), (pango_x_get_context),
1032         (pango_x_font_init), (pango_x_font_get_metrics),
1033         (pango_x_insert_subfont), (free_metrics_info),
1034         (pango_x_font_finalize):
1035         Switch some g_new (*, 1) to g_slice_new ()... I know...
1036
1037 2007-09-07  Behdad Esfahbod  <behdad@gnome.org>
1038
1039         Patch from Chris Wilson
1040
1041         * pango/pangoft2.c (load_fallback_face): Use g_error() instead
1042         of g_warning()+exit().
1043
1044 2007-09-02  Mathias Hasselmann  <mathias.hasselmann@gmx.de>
1045
1046         Bug 472891 – Bad consistency check in pango_get_log_attrs
1047
1048         * pango/break.c: Invert the consistency check.
1049
1050 2007-08-29  Behdad Esfahbod  <behdad@gnome.org>
1051
1052         Bug 302952 – The placement of a diacritic marks for an arabic ligature
1053         is not correct
1054
1055         * pango/opentype/harfbuzz-buffer.c (hb_buffer_allocate_ligid): Don't
1056         use zero as allocated ligature id.  Zero means no ligature id.
1057
1058 2007-08-28  Behdad Esfahbod  <behdad@gnome.org>
1059
1060         * pango/pango-ot-ruleset.c (pango_ot_ruleset_init),
1061         (pango_ot_ruleset_new): Move ruleset initialization to _init()
1062         instead of _new().
1063
1064 2007-08-28  Behdad Esfahbod  <behdad@gnome.org>
1065
1066         Bug 410152 – testboundaries test fails
1067
1068         * configure.in: Require libthai >= 0.1.9
1069
1070 2007-08-27  Behdad Esfahbod  <behdad@gnome.org>
1071
1072         * === Released 1.18.1 ===
1073
1074         * configure.in: Version 1.18.1
1075
1076         * NEWS: Updated.
1077
1078 2007-08-24  Behdad Esfahbod  <behdad@gnome.org>
1079
1080         Bug 470042 – missing Macedonian OT tag
1081         Patch from Denis Jacquerye
1082
1083         * pango/pango-ot-tag.c: Add Macedoninan language tag.
1084
1085 2007-08-21  Behdad Esfahbod  <behdad@gnome.org>
1086
1087         Bug 468953 – pango-renderer.c: using function without prototype
1088
1089         * pango/pango-renderer.c: #include <pango-impl-utils.h>
1090
1091 2007-08-21  Behdad Esfahbod  <behdad@gnome.org>
1092
1093         Bug 463430 – Gets stuck while "formatting message"
1094
1095         * pango/opentype/harfbuzz-gpos.c (Lookup_PairPos1),
1096         (Lookup_PairPos2), (Lookup_PairPos), (Do_ContextPos):
1097         * pango/opentype/harfbuzz-gsub.c (Do_ContextSubst):
1098         Change type of intermediate index variable from FT_UShort to
1099         FT_ULong as it was overlowing with more than 65536 glyphs.
1100
1101 2007-08-20  Behdad Esfahbod  <behdad@gnome.org>
1102
1103         * README: Remove reference to required version of glib.  It falls
1104         out of synch every single time.
1105
1106 Local Variables:
1107 coding: utf-8
1108 End:
1109 vim: encoding=utf-8: