Upload tizen 2.0 beta source
[external/pango1.0.git] / ChangeLog.pre-1-18
1 2007-08-20  Behdad Esfahbod  <behdad@gnome.org>
2
3         * === Released 1.18.0 ===
4
5         * configure.in: Version 1.18.0
6
7         * NEWS: Updated.
8
9 2007-08-20  Behdad Esfahbod  <behdad@gnome.org>
10
11         Bug 348348 – Add a way to get the script name of a gunichar
12
13         * configure.in: Require glib 2.14, for GUnicodeScript stuff.
14
15         * docs/tmpl/scripts.sgml: Document that #PangoScript is
16         interchangeable with GUnicodeScript.
17
18         * pango/pango-script.c (pango_script_for_unichar): Use
19         g_unichar_get_script(), and document it.
20
21         * tools/Makefile.am:
22         * tools/gen-script-table.pl:
23         * pango/Makefile.am:
24         * pango/pango-script-table.h:
25         Remove pango-script-table.h and its generator.
26
27         * pango/pango-gravity.c (get_script_properties):
28         * pango/pango-language.c (pango_script_get_sample_language):
29         * pango/pango-ot-tag.c (pango_ot_tag_from_script):
30         Protect against unexpected script values.
31
32 2007-08-20  Behdad Esfahbod  <behdad@gnome.org>
33
34         * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Don't
35         ignore error return value of hb_buffer_copy_output_glyph().  Patch
36         sent to harfbuzz-list.
37
38 2007-08-15  Behdad Esfahbod  <behdad@gnome.org>
39
40         Bug 462630 – pango_cairo_context_set_font_options() and some others
41         don't have a Since: tag
42
43         * pango/pangocairo-context.c: Add missing Since tags to docs.
44
45 2007-08-15  Behdad Esfahbod  <behdad@gnome.org>
46
47         Bug 467077 – Remove special-case for shape attribute in
48         pango_layout_line_index_to_x()
49
50         * pango/pango-layout.c (pango_layout_line_index_to_x): Remove
51         special-casing for shape-attribute runs.  It all works because
52         pango_glyph_string_index_to_x() is perfectly correct to run on glyphs
53         returned by _pango_shape_shape().
54
55 2007-08-15  Behdad Esfahbod  <behdad@gnome.org>
56
57         Bug 462420 – Clicking on pixbuf should move the cursor to the position
58         nearest to the click point
59
60         * pango/pango-layout.c (pango_layout_line_x_to_index): Remove
61         special-casing for shape-attribute runs.  It all works because
62         pango_glyph_string_x_to_index() is perfectly correct to run on glyphs
63         returned by _pango_shape_shape().
64
65 2007-08-15  Behdad Esfahbod  <behdad@gnome.org>
66
67         Bug 467056 – Shape attribute handling is not consistent
68
69         * pango/pango-impl-utils.h:
70         * pango/pango-layout.c (pango_layout_line_index_to_x), (shape_run),
71         (pango_layout_line_x_to_index), (pango_layout_run_get_extents),
72         (update_run):
73         * pango/pango-renderer.c (pango_renderer_draw_layout_line):
74         * pango/pango-utils.c (_pango_shape_shape),
75         (_pango_shape_get_extents):
76         Fix handling of extents for shaped runs.  Previsouly a shaped run
77         with more than one character was not correctly positioned.
78
79 2007-08-14  Behdad Esfahbod  <behdad@gnome.org>
80
81         Bug 466755 – pango hangul is crashing in gnome-about because it is
82         failing to retrieve a font.
83
84         * pango/pangofc-font.c (pango_fc_font_real_get_glyph),
85         (pango_fc_font_kern_glyphs), (pango_fc_font_get_raw_extents):
86         Protect against NULL face.
87
88         * pango/shape.c (pango_shape): Improve error message by writing
89         out shaping engine type name and the text too.
90
91 2007-08-14  Behdad Esfahbod  <behdad@gnome.org>
92
93         * pango/pango-script.h (pango_script_for_unichar): Mark G_GNUC_CONST.
94
95 2007-08-09  Behdad Esfahbod  <behdad@gnome.org>
96
97         Bug 465174 – TextView is ignoring multiple consecutive \t's
98
99         * pango/pango-layout.c (get_tab_pos), (shape_tab): Fix two problems
100         introduced with fix for bug 464183.  The code now semantically
101         matches what it was before changes leading to revision 1734 for
102         the case that user has set no tabs.
103
104 2007-08-08  Behdad Esfahbod  <behdad@gnome.org>
105
106         * docs/check.docs: Fix typo.
107
108 2007-08-07  Behdad Esfahbod  <behdad@gnome.org>
109
110         Bug 464270 – ellipsize doesn't work consistent
111
112         * pango/pango-glyph-item.c (_pango_glyph_item_iter_prev_cluster):
113         Fix.  Was jumping two clusters at a time.  Oops!
114
115         * pango/ellipsize.c (init_state): Minor cleanup.
116
117 2007-08-07  Behdad Esfahbod  <behdad@gnome.org>
118
119         * MAINTAINERS: Add Userid field.
120
121 2007-08-07  Behdad Esfahbod  <behdad@gnome.org>
122
123         Bug 464183 – Minimum tab width enforcement in pango-layout breaks
124         TabArray positions
125         Patch by David Trowbridge
126
127         * pango/pango-layout.c (get_tab_pos), (shape_tab): Don't enforce any
128         minimum space between tabs if tab-array is set on the layout.
129
130 2007-08-01  Behdad Esfahbod  <behdad@gnome.org>
131
132         * pango/Makefile.am:
133         * pango/glyphstring.c (pango_glyph_string_index_to_x),
134         (pango_glyph_string_x_to_index):
135         * pango/mapping.c:
136         Move contents of mapping.c to glyphstring.c where they belong.
137
138         * pango/pango-layout.c (pango_layout_line_x_to_index):
139         Fix typo.
140
141 2007-08-01  Behdad Esfahbod  <behdad@gnome.org>
142
143         Bug 451682 – Cursor positioning for Sinhala is broken
144         Based on patch from Harshula
145
146         * modules/indic/indic-lang.c (indic_engine_break): Fix bug that
147         I introduced in the patch.
148
149 2007-07-31  Behdad Esfahbod  <behdad@gnome.org>
150
151         Bug 451682 – Cursor positioning for Sinhala is broken
152         Based on patch from Harshula
153
154         * modules/indic/indic-lang.c (not_cursor_position),
155         (indic_engine_break):
156         Clean up cursor position stuff.
157
158 2007-07-31  Behdad Esfahbod  <behdad@gnome.org>
159
160         Bug 462137 – memory corruption in pango_default_break
161
162         * pango/break.c (pango_default_break): Handle the case of
163         an empty string correctly.
164
165 2007-07-30  Behdad Esfahbod  <behdad@gnome.org>
166
167         * === Released 1.17.5 ===
168
169         * configure.in: Version 1.17.5
170
171         * NEWS: Updated.
172
173 2007-07-24  Behdad Esfahbod  <behdad@gnome.org>
174
175         Bug 150883 – Unicode LRO defect
176
177         * modules/arabic/arabic-fc.c (arabic_engine_shape):
178         * modules/arabic/arabic-ot.c (Get_Joining_Class),
179         (Arabic_Assign_Properties):
180         * modules/arabic/arabic-ot.h:
181         Correctly handle Arabic shaping in left-to-right runs.
182
183 2007-07-21  Behdad Esfahbod  <behdad@gnome.org>
184
185         Part of Bug 347236 – provide pango_cairo_font_get_scaled_font
186
187         * docs/Makefile.am:
188         * docs/pango-sections.txt:
189         * docs/tmpl/atsui-fonts.sgml:
190         * docs/tmpl/opentype.sgml:
191         * docs/tmpl/pango-engine-lang.sgml:
192         * docs/tmpl/pango-engine-shape.sgml:
193         * docs/tmpl/pangocairo.sgml:
194         * pango/pangoatsui.h:
195         * pango/pangocairo-atsuifont.h:
196         * pango/pangocairo-font.c (pango_cairo_font_get_scaled_font):
197         * pango/pangocairo-private.h:
198         * pango/pangocairo.h:
199         Export PangoCairoFont and cleanup various standard macros.
200
201 2007-07-21  Behdad Esfahbod  <behdad@gnome.org>
202
203         Bug 449482 – Build error when xft not present
204
205         * docs/Makefile.am: Make docs build without xft.
206
207 2007-07-21  Behdad Esfahbod  <behdad@gnome.org>
208
209         * modules/arabic/arabic-fc.c:
210         * modules/basic/basic-fc.c:
211         * modules/hebrew/hebrew-fc.c:
212         * modules/syriac/syriac-fc.c:
213         * modules/thai/thai-fc.c:
214         Update copyright headers.
215
216 2007-07-10  Behdad Esfahbod  <behdad@gnome.org>
217
218         * modules/basic/basic-atsui.c: Remove list of supported scripts.
219         Supporting all is what we really want and that's already there.
220
221 2007-07-05  Behdad Esfahbod  <behdad@gnome.org>
222
223         * modules/basic/Makefile.am:
224         * modules/basic/basic-fc.c:
225         * modules/basic/basic-win32.c:
226         * modules/basic/basic-x.c:
227         * modules/basic/basic-common.h:
228         Remove unused empty header file basic-common.h
229
230 2007-07-02  Behdad Esfahbod  <behdad@gnome.org>
231
232         * === Released 1.17.4 ===
233
234         * configure.in: Version 1.17.4
235
236         * NEWS: Updated.
237
238 2007-06-27  Behdad Esfahbod  <behdad@gnome.org>
239
240         Bug 451547 – FAIL: runtests.sh
241
242         * tests/Makefile.am: Don't run tests if cross-compiling.
243         (though cross-compiling tests work under scratchbox, so I'm not
244         quite sure how good this change is.)
245
246 2007-06-26  Richard Hult  <richard@imendio.com>
247
248         * pango/pangoatsui.c: (_pango_atsui_font_set_atsu_font_id):
249         * pango/pangocairo-atsuifont.c:
250         (pango_cairo_atsui_font_create_metrics_for_context),
251         (_pango_cairo_atsui_font_new): Move the remaining uses of font_id
252         from PangoCairoATSUIFont to PangoATSUIFont.
253
254 2007-06-24  Richard Hult  <richard@imendio.com>
255
256         Bug 449543 - Ship pangoatsui.h
257
258         * pango/pangoatsui-fontmap.c:
259         * pango/pangoatsui-private.h:
260         * pango/pangoatsui.c:
261         * pango/pangoatsui.h:
262         * pango/pangocairo-atsuifont.c:
263         * pango/pangocairo-atsuifont.h: Move get_atsu_font_id from the
264         cairo atsui font class to the atsui base class. Make the members
265         of the atsui font private and adapt all users of them.
266
267         * pango/Makefile.am: Ship pangoatsui.h.
268
269         * modules/basic/basic-atsui.c: (basic_engine_shape): Adapt to the
270         above changes.
271
272 2007-06-21  Behdad Esfahbod  <behdad@gnome.org>
273
274         * docs/pango.types: Add missing types.
275
276 2007-06-20  Behdad Esfahbod  <behdad@gnome.org>
277
278         * pango/fonts.c (pango_font_description_get_type),
279         (pango_font_metrics_get_type):
280         * pango/glyphstring.c (pango_glyph_string_get_type):
281         * pango/pango-attributes.c (pango_attr_list_get_type):
282         * pango/pango-color.c (pango_color_get_type):
283         * pango/pango-item.c (pango_item_get_type):
284         * pango/pango-language.c (pango_language_get_type):
285         * pango/pango-layout.c (pango_layout_line_get_type),
286         (pango_layout_iter_get_type):
287         * pango/pango-matrix.c (pango_matrix_get_type):
288         * pango/pango-ot-info.c (pango_ot_info_get_type):
289         * pango/pango-ot-ruleset.c (pango_ot_ruleset_get_type):
290         * pango/pango-tabs.c (pango_tab_array_get_type):
291         * pango/pangoatsui-fontmap.c (pango_atsui_family_get_type),
292         (pango_atsui_face_get_type):
293         * pango/pangofc-fontmap.c (pango_fc_face_get_type),
294         (pango_fc_family_get_type):
295         * pango/pangowin32-fontmap.c (pango_win32_family_get_type),
296         (pango_win32_face_get_type):
297         * pango/pangox-fontmap.c (pango_x_font_map_get_type),
298         (pango_x_face_get_type), (pango_x_family_get_type):
299         * pango/pangox.c (pango_x_font_get_type):
300         Add G_UNLIKELY() to type registration block in _get_type() functions.
301
302 2007-06-18  Behdad Esfahbod  <behdad@gnome.org>
303
304         * === Released 1.17.3 ===
305
306         * configure.in: Version 1.17.3
307
308         * NEWS: Updated.
309
310 2007-06-18  Behdad Esfahbod  <behdad@gnome.org>
311
312         Bug 448342 – pango_layout_index_to_line_x() counts lines from 1
313
314         * pango/pango-layout.c (pango_layout_index_to_line):
315         Count lines from zero, not one!
316
317 2007-06-18  Behdad Esfahbod  <behdad@gnome.org>
318
319         * configure.in:
320         * tests/cxx-test.C: Include pangocairo.h too.
321
322 2007-06-18  Behdad Esfahbod  <behdad@gnome.org>
323
324         Bug 447568 – improve docs on what absolute size means
325
326         * pango/fonts.c: Improve docs.
327
328 2007-06-15  Hans Breuer  <hans@breuer.org>
329
330         * pango/makefile.msc : updated
331
332 2007-06-14  Behdad Esfahbod  <behdad@gnome.org>
333
334         * pango/pangocairo-font.c
335         (_pango_cairo_font_private_scaled_font_data_destroy):
336         Check for NULL before dereferencing.  Patch from Keith Packard.
337
338 2007-06-13  Behdad Esfahbod  <behdad@gnome.org>
339
340         Bug 447189 – fonts.c: pango_font_face_is_synthesized returns NULL
341
342         * pango/fonts.c (pango_font_face_is_synthesized): Fix
343         return value.
344
345 2007-06-12  Behdad Esfahbod  <behdad@gnome.org>
346
347         * pango/pango-attributes.c (pango_attr_font_desc_equal):
348         Compare set fields of two font descriptions for equality
349         too, as pango_font_description_equal() doesn't check the
350         mask.
351
352 2007-06-12  Richard Hult  <richard@imendio.com>
353
354         * pango/pangocairo-atsuifontmap.c: Implement
355         get_font_type().
356
357 2007-06-12  Tor Lillqvist  <tml@novell.com>
358
359         * pango/pangocairo-win32fontmap.c: Implement
360         PangoCairoWin32FontMap::get_font_type().
361
362 2007-06-12  Tor Lillqvist  <tml@novell.com>
363
364         * pango/pangowin32-private.h (struct PangoWin32Face): Add
365         is_synthetic field.
366
367         * pango/pangowin32-fontmap.c: Implement
368         PangoWin32Face::is_synthesized().
369
370         * pango/pangocairo-win32font.c
371         * pango/pangocairo-win32fontmap.c: Update for the changes to
372         PangoCairoFontMap and PangoCairoFont.
373
374 2007-06-12  Behdad Esfahbod  <behdad@gnome.org>
375
376         Bug 445832 – pango_cairo_update_layout() always invalidates layout
377
378         * pango/pangocairo-context.c (_pango_cairo_update_context),
379         (pango_cairo_update_context), (pango_cairo_update_layout):
380         Don't invalidate layout if matrix and font options didn't change.
381
382 2007-06-11  Behdad Esfahbod  <behdad@gnome.org>
383
384         * pango/pango-attributes.h:
385         * pango/pango-font.h:
386         * pango/pango-glyph.h:
387         * pango/pango-gravity.h:
388         * pango/pango-language.h:
389         * pango/pango-layout.h:
390         * pango/pango-matrix.h:
391         * pango/pango-ot-private.h:
392         * pango/pango-ot.h:
393         * pango/pango-renderer.h:
394         * pango/pango-script.h:
395         * pango/pango-tabs.h:
396         * pango/pango-utils.h:
397         * pango/pangoatsui-private.h:
398         * pango/pangocairo-atsui.h:
399         * pango/pangocairo-atsuifont.h:
400         * pango/pangocairo-fc.h:
401         * pango/pangocairo-private.h:
402         * pango/pangocairo-win32.h:
403         * pango/pangocairo.h:
404         * pango/pangofc-decoder.h:
405         * pango/pangofc-font.h:
406         * pango/pangofc-fontmap.h:
407         * pango/pangoft2-private.h:
408         * pango/pangoft2.h:
409         * pango/pangowin32-private.h:
410         * pango/pangox-private.h:
411         * pango/pangoxft-render.h:
412         * pango/pangoxft.h:
413         Add G_GNUC_CONST and G_GNUC_PURE annotations.
414
415 2007-06-11  Behdad Esfahbod  <behdad@gnome.org>
416
417         * pango/pango-ot.h: New engine public macros:
418         
419                 PANGO_OT_TAG_MAKE()
420                 PANGO_OT_TAG_MAKE_FROM_STRING()
421
422         * docs/pango-sections.txt:
423         * docs/tmpl/opentype.sgml:
424         Update.
425
426 2007-06-11  Behdad Esfahbod  <behdad@gnome.org>
427
428         Bug 446018 – Bus error in the pango_ot_tag_from_language()
429
430         * pango/pango-ot-tag.c (pango_ot_tag_from_script),
431         (pango_ot_tag_to_script), (pango_ot_tag_from_language),
432         (pango_ot_tag_to_language): Make sure int access is
433         aligned.
434
435 2007-06-12  Richard Hult  <richard@imendio.com>
436
437         * pango/pangoatsui-fontmap.c (pango_atsui_face_is_synthesized):
438         Implement is_synthesized for the ATSUI backend.
439
440 2007-06-11  Behdad Esfahbod  <behdad@gnome.org>
441
442         Bug 440588 – Add pango_font_face_is_synthesized()
443
444         * pango/pango-font.h:
445         * pango/fonts.c:
446         New PangoFontFace method is_synthesized.
447         New public API:
448
449                 pango_font_face_is_synthesized()
450
451         * pango/pangofc-fontmap.c (pango_fc_face_is_synthesized):
452         Implement new method.
453
454         * docs/pango-sections.txt:
455         * docs/tmpl/fonts.sgml:
456         * pango/pango.def:
457         Update.
458
459 2007-06-12  Richard Hult  <richard@imendio.com>
460
461         * pango/pangocairo-atsuifont.c:
462         * pango/pangocairo-atsuifontmap.c: Update for the changes to
463         PangoCairoFontMap and PangoCairoFont.
464
465 2007-06-11  Behdad Esfahbod  <behdad@gnome.org>
466
467         Bug 446355 – the parsing with pango_parse_markup is not coherent
468
469         * pango/pango-markup.c (pango_parse_markup): Use
470         pango_attr_list_insert() instead of pango_attr_list_change() as
471         merging adjacent attributes of the same kind is not a safe operation
472         and can change the derived font of a segment in an unexpected and
473         incorrect way.
474
475 2007-06-11  Behdad Esfahbod  <behdad@gnome.org>
476
477         * pango/pangocairo-fontmap.c: Make sure all enabled font backends
478         included (reported by Vincent Isambart).
479
480 2007-06-11  Behdad Esfahbod  <behdad@gnome.org>
481
482         * docs/pango_markup.sgml: Add 'gravity', 'gravity_hint', and
483         'letter_spacing' span attributes.
484
485 2007-06-11  Behdad Esfahbod  <behdad@gnome.org>
486
487         Bug 438801 – underline should add "error" type.
488
489         * docs/pango_markup.sgml: Add "error" underline type to docs.
490
491 2007-06-10  Behdad Esfahbod  <behdad@gnome.org>
492
493         Bug 347236 – provide pango_cairo_font_get_scaled_font
494         Bug 347235 – Add pango_cairo_font_map_get_font_type
495         Bug 353291 – Provide pango_cairo_font_map_new_for_font_type
496
497         * pango/pangocairo-font.c: New public API:
498
499                 pango_cairo_font_get_scaled_font()
500
501         * pango/pangocairo-fontmap.c: New public API:
502
503                 pango_cairo_font_map_new_for_font_type()
504                 pango_cairo_font_map_get_font_type()
505
506         * pango/pangocairo-fcfontmap.c:
507         Implement get_font_type() method.
508
509         * pango/pangocairo.h:
510         * pango/pangocairo-private.h:
511         * docs/pango-sections.txt:
512         * docs/tmpl/pangocairo.sgml:
513         * pango/pangocairo.def:
514         Update.
515
516 2007-06-09  Behdad Esfahbod  <behdad@gnome.org>
517
518         Bug 337593 – move glyph extents code (and cache) from
519         pangocairo-*font.c into pangocairo-font.c
520
521         * pango/pangocairo-fontmap.c:
522         * pango/pangocairo-fcfontmap.c:
523         Remove per-fontmap renderer.  We've not been using it for a while
524         and there is no reason to use it.
525
526         * pango/pangocairo-font.c
527         * pango/pangocairo-fcfont.c:
528         Most most code (including glyph extents caching) from fcfont.c to
529         font.c.  Simplifies individual backends a lot. ATSUI and Win32
530         cairo backends should adapt.
531
532         * pango/pangocairo-render.c
533         * pango/pangocairo-private.h:
534         Update to reflect above changes.
535
536 2007-06-05  Behdad Esfahbod  <behdad@gnome.org>
537
538         * pango/fonts.c (pango_font_description_merge),
539         (pango_font_description_merge_static),
540         (pango_font_description_copy),
541         (pango_font_description_copy_static),
542         (pango_font_description_hash), (pango_font_description_to_string),
543         (pango_font_description_to_filename):
544         Add missing g_return_if_fail()s.  Pointed out by fcrozat.
545
546 2007-06-04  Behdad Esfahbod  <behdad@gnome.org>
547
548         * pango/shape.c (pango_shape): Zero glyphs->num_glyphs before
549         calling into shape engine.
550
551         * pango/pango-engine.c (fallback_engine_shape): Improve, to support
552         clusters and what not.
553
554         * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info):
555         Use "pango_script_get_sample_language (PANGO_SCRIPT_LATIN)" instead
556         of hardcoding "en".
557         Handle cairo_scaled_font_extents() failure.
558
559 2007-06-04  Behdad Esfahbod  <behdad@gnome.org>
560
561         * === Released 1.17.2 ===
562
563         * configure.in: Version 1.17.2
564
565         * NEWS: Updated.
566
567 2007-06-03  Behdad Esfahbod  <behdad@gnome.org>
568
569         * docs/tmpl/main.sgml:
570         * pango/pango-layout.c (process_item):
571         * pango/pango-ot-info.c:
572         * pango/pango-renderer.c (pango_renderer_draw_layout_line):
573         Fix various typos reported by Peter Moulder.
574
575 2007-06-03  Behdad Esfahbod  <behdad@gnome.org>
576
577         * docs/pango-sections.txt:
578         * docs/tmpl/opentype.sgml:
579         * modules/arabic/arabic-fc.c (arabic_engine_shape):
580         * modules/basic/basic-fc.c (basic_engine_shape):
581         * modules/hebrew/hebrew-fc.c (hebrew_engine_shape):
582         * modules/indic/indic-fc.c (indic_engine_shape):
583         * modules/khmer/khmer-fc.c (khmer_engine_shape):
584         * modules/syriac/syriac-fc.c (syriac_engine_shape):
585         * modules/thai/thai-fc.c (thai_engine_shape):
586         * modules/tibetan/tibetan-fc.c (tibetan_engine_shape):
587         * pango/pango-ot-ruleset.c (pango_ot_ruleset_get_for_description),
588         (pango_ot_ruleset_new_from_description):
589         * pango/pango-ot.h:
590         * pango/pangoft2.def:
591         Rename pango_ot_ruleset_get_for() to
592         pango_ot_ruleset_get_for_description().
593
594         New engine API: pango_ot_ruleset_new_from_description().
595
596 2007-06-02  Behdad Esfahbod  <behdad@gnome.org>
597
598         Bug 443206 – PANGO_SCRIPT_UNKNOWN should not cause a run break
599         Patch from Martin Hosken
600
601         * pango/pango-script.c: Treat Unknown script like Common and other
602         non-"real" scripts.
603
604 2007-05-31  Behdad Esfahbod  <behdad@gnome.org>
605
606         * pango/pango-layout.c: Improve docs.
607
608 2007-05-28  Behdad Esfahbod  <behdad@gnome.org>
609
610         * === Released 1.17.1 ===
611
612         * configure.in: Version 1.17.1
613
614         * NEWS: Updated.
615
616 2007-05-28  Behdad Esfahbod  <behdad@gnome.org>
617
618         * pango-view/test-mixed.markup:
619         * pango-view/test-mixed.txt:
620         Fix Japanese text.  Patch from Ben Konrath
621
622 2007-05-25  Behdad Esfahbod  <behdad@gnome.org>
623
624         * pango/mini-fribidi/fribidi_tab_char_type_2.i:
625         Fix wrong Unicode version in header.
626
627 2007-05-24  Behdad Esfahbod  <behdad@gnome.org>
628
629         Bug 357790 – Rendering problem for malayalam consonant RA (U+0D30)
630
631         * modules/indic/indic-ot-class-tables.c:
632         * modules/indic/indic-ot.c (indic_ot_reorder):
633         Commit remaining fix for malayalam.
634
635 2007-05-24  Behdad Esfahbod  <behdad@gnome.org>
636
637         * docs/tmpl/opentype.sgml:
638         * docs/tmpl/pango-engine-lang.sgml:
639         * docs/tmpl/pango-engine-shape.sgml:
640         Add stability note.
641
642 2007-05-24  Behdad Esfahbod  <behdad@gnome.org>
643
644         * docs/tmpl/vertical.sgml: Document how Pango's vertical text support
645         works.
646
647 2007-05-23  Behdad Esfahbod  <behdad@gnome.org>
648
649         Part of Bug 440603 – Minor ABI change
650
651         * pango/pango-context.c (pango_context_init),
652         (pango_context_set_language), (pango_context_get_language):
653         Make itemization use pango_language_get_default() if context has no
654         language set on it.  Ditto for pango_context_get_metrics() if both
655         input language and context language are NULL.
656
657 2007-05-22  Behdad Esfahbod  <behdad@gnome.org>
658
659         * pango-view/Makefile.am:
660         * pango-view/test-nko.txt:
661         New test text for N'Ko.
662
663 2007-05-22  Behdad Esfahbod  <behdad@gnome.org>
664
665         Bug 440603 – Minor ABI change
666
667         * pango/pango-language.c (pango_language_includes_script):
668         * pango/pango-ot-tag.c (pango_ot_tag_from_language):
669         Accept language == NULL as legitimate input.
670
671 2007-05-20  Richard Hult  <richard@imendio.com>
672
673         * pango/pangocairo-atsuifont.c: (_pango_cairo_atsui_font_new): Improve
674         the fix for bug #433805 so that the metrics actually are right, thanks
675         to Mitch for noticing and debugging help.
676
677 2007-05-16  Behdad Esfahbod  <behdad@gnome.org>
678
679         Bug 438705 – Test runs non-existent "/bin/bash" on HP-UX 11.11
680
681         * docs/check.docs:
682         * pango/check.defs:
683         Use /bin/sh instead of /bin/bash.
684
685 2007-05-16  Behdad Esfahbod  <behdad@gnome.org>
686
687         * pango-view/Makefile.am:
688         * pango-view/test-opentype-language.markup:
689         Add a test file showing off OpenType language-system support
690         used with DejaVu Sans.
691
692 2007-05-16  Behdad Esfahbod  <behdad@gnome.org>
693
694         Bug 438814 – synaptic crash with pango 1.17.0
695
696         * pango/pango-layout.c (process_item): Make sure we find some break
697         point even if overflowing the line.
698
699 2007-05-15  Behdad Esfahbod  <behdad@gnome.org>
700
701         * modules/hebrew/hebrew-fc.c (hebrew_engine_shape):
702         Port to new OpenType APIs.  Add standard features.
703
704 2007-05-15  Behdad Esfahbod  <behdad@gnome.org>
705
706         * modules/thai/Makefile.am:
707         * modules/thai/thai-fc.c (thai_get_font_info), (thai_engine_shape),
708         (thai_make_unknown_glyph):
709         * modules/thai/thai-shaper.c (get_glyphs_list), (add_cluster),
710         (thai_set_glyphs):
711         * modules/thai/thai-shaper.h:
712         Port to new OpenType APIs and cleanup a bit.  Add standard features.
713
714         * modules/thai/thai-ot.c:
715         * modules/thai/thai-ot.h:
716         Removed.  Not needed anymore.
717
718 2007-05-15  Behdad Esfahbod  <behdad@gnome.org>
719
720         Bug 385168 – indic, khmer, and tibetan modules don't apply ccmp
721         Bug 385477 – kern feature is not supported in OpenType layout for
722         Tibetan.
723
724         * modules/khmer/khmer-fc.c (khmer_engine_shape):
725         * modules/tibetan/tibetan-fc.c (tibetan_engine_shape):
726         Port to new OpenType APIs.  Add standard features (ccmp,
727         locl, calt, kern, mark, mkmk).
728
729 2007-05-15  Behdad Esfahbod  <behdad@gnome.org>
730
731         * modules/indic/indic-fc.c:
732         Add ccmp, locl, calt; kern, mark, and mkmk features.
733
734 2007-05-15  Behdad Esfahbod  <behdad@gnome.org>
735
736         * pango/pango-ot.h:
737         * pango/pango-ot-private.h:
738         * pango/pango-ot-ruleset.c (pango_ot_ruleset_add_feature),
739         (pango_ot_ruleset_get_feature_count):
740         Add new engine API:
741
742                 pango_ot_ruleset_get_feature_count()
743
744         * docs/pango-sections.txt:
745         * docs/tmpl/opentype.sgml:
746         * pango/pangoft2.def:
747         Updated.
748
749 2007-05-15  Behdad Esfahbod  <behdad@gnome.org>
750
751         * modules/arabic/arabic-fc.c (arabic_engine_shape):
752         * modules/basic/basic-fc.c (basic_engine_shape):
753         * modules/syriac/syriac-fc.c (syriac_engine_shape):
754         Move ruleset creation after populating buffer.
755
756 2007-05-15  Behdad Esfahbod  <behdad@gnome.org>
757
758         * modules/indic/indic-fc.c (indic_engine_shape), (create):
759         Port to new OpenType APIs.
760
761 2007-05-15  Behdad Esfahbod  <behdad@gnome.org>
762
763         Bug 436699 – N'Ko support
764         Patch by Eugeniy Meshcheryakov
765
766         * modules/arabic/arabic-fc.c (create):
767         * modules/arabic/arabic-ot.c (Get_Joining_Class):
768         Add N'Ko support to the Arabic module.
769
770 2007-05-15  Richard Hult  <richard@imendio.com>
771
772         Bug 433805 - [Atsui] Approximate char/digit width width often 0
773
774         * pango/pangocairo-atsuifont.c:
775         (pango_cairo_atsui_font_get_metrics): Improve the metrics so it really
776         is average instead of max glyph width. Also keep the metrics per 
777         language in the font so it's not constantly recreated.
778         (pango_cairo_atsui_font_describe_absolute): Implement.
779
780         * pango/pangocairo-atsuifontmap.c: Set default resolution.
781
782 2007-05-15  Behdad Esfahbod  <behdad@gnome.org>
783
784         * pango-view/Makefile.am: Add various test txt files recently
785         added.
786
787         * pango-view/test-mixed.markup: A language-tagged version of
788         test-mixed.txt.
789
790 2007-05-14  Behdad Esfahbod  <behdad@gnome.org>
791
792         * === Released 1.17.0 ===
793
794         * configure.in: Version 1.17.0
795
796         * NEWS: Updated.
797
798 2007-05-14  Behdad Esfahbod  <behdad@gnome.org>
799
800         Bug 325714 – Pango should respect $LANGUAGE
801
802         * pango/pango-language.c (pango_language_matches),
803         (parse_default_languages), (_pango_script_get_default_language),
804         (pango_script_get_sample_language):
805         Make pango_script_get_sample_language() use the value of env var
806         PANGO_LANGUAGE or LANGUAGE (checked in that order) to make better
807         guesses.  The env var should be a list of language tags, like "en:fa"
808         for example where makes Pango choose Persian (fa) fonts instead of
809         Arabic (ar) fonts...
810
811 2007-05-14  Behdad Esfahbod  <behdad@gnome.org>
812
813         * pango/pango-language.c (pango_script_get_sample_language):
814         * pango/pango-script.c: Move pango_script_get_sample_language()
815         from pango-script.c to pango-language.c.  Fits better.
816
817 2007-05-14  Behdad Esfahbod  <behdad@gnome.org>
818
819         Part of Bug 325714 – Pango should respect $LANGUAGE
820         Bug 414264 – Pango vertical writing support is different with real
821         CJK usage.
822
823         * modules/arabic/arabic-fc.c (arabic_engine_shape):
824         * modules/basic/basic-fc.c (basic_engine_shape):
825         * modules/syriac/syriac-fc.c (syriac_engine_shape):
826         Remove fallback_shape() paths.  Remove get_ruleset().
827         Use pango_ot_ruleset_get_for(), that correctly works for multiple
828         languages.  Also makes basic shaper apply the 'vert' feature for
829         vertical text.  Removes a net 500 lines.
830
831         Other OpenType modules need to be ported over time, however some
832         extensions may be needed.  For example, the Hebrew shaper uses
833         fallback code if no GPOS tables are available.  Currently using
834         pango_ot_ruleset_get_for() one cannot see which features were
835         found.
836
837 2007-05-14  Behdad Esfahbod  <behdad@gnome.org>
838
839         Part of Bug 414264 – Pango vertical writing support is different with
840         real CJK usage.
841
842         * pango-view/test-mixed.txt: Add a line of Japanese text that
843         has brackets that should be rotated in vertical text.
844
845 2007-05-14  Behdad Esfahbod  <behdad@gnome.org>
846
847         Part of Bug 325714 – Pango should respect $LANGUAGE
848
849         * pango/pango-ot.h:
850         * pango/pango-ot-ruleset.c (pango_ot_ruleset_get_for),
851         (pango_ot_ruleset_description_hash),
852         (pango_ot_ruleset_description_equal),
853         (pango_ot_ruleset_description_copy),
854         (pango_ot_ruleset_description_free):
855         Add new engine API:
856
857                 PangoOTRulesetDescription
858                 pango_ot_ruleset_get_for()
859                 pango_ot_ruleset_description_hash()
860                 pango_ot_ruleset_description_equal()
861                 pango_ot_ruleset_description_copy()
862                 pango_ot_ruleset_description_free()
863         
864         The main addition is pango_ot_ruleset_get_for() that
865         takes a ruleset description, ie. script/language and list
866         of GSUB/GPOS features to apply, and returns a ruleset.
867         It manages all the work to cache rulesets, so modules
868         don't have to do that anymore.  Given that modules do not
869         deal with just one ruleset anymore (because we want to
870         respect language, and allow user-selected features), this
871         makes their life way easier.
872
873         * docs/pango-sections.txt:
874         * docs/tmpl/opentype.sgml:
875         Update.
876
877 2007-05-14  Behdad Esfahbod  <behdad@gnome.org>
878
879         * pango/pango-ot-buffer.c (pango_ot_buffer_get_glyphs),
880         (pango_ot_buffer_output):
881         * pango/pango-ot-ruleset.c (pango_ot_ruleset_substitute),
882         (pango_ot_ruleset_position):
883         * pango/pango-ot.h:
884         Mark some arguments const.
885
886 2007-05-13  Behdad Esfahbod  <behdad@gnome.org>
887
888         Part of Bug 325714 – Pango should respect $LANGUAGE
889
890         * pango/pango-ot.h:
891         * pango/pango-ot-private.h:
892         * pango/pango-ot-tag.c (pango_ot_tag_from_script),
893         (pango_ot_tag_from_language):
894         * pango/pango-ot-info.c (pango_ot_info_find_script),
895         (pango_ot_info_find_language), (pango_ot_info_find_feature),
896         (pango_ot_info_list_languages), (pango_ot_info_list_features):
897         * pango/pango-ot-ruleset.c (pango_ot_ruleset_new),
898         (pango_ot_ruleset_new_for), (pango_ot_ruleset_add_feature),
899         (pango_ot_ruleset_maybe_add_feature),
900         (pango_ot_ruleset_maybe_add_features):
901         Add new engine API:
902
903                 PANGO_OT_NO_FEATURE
904                 PANGO_OT_NO_SCRIPT
905                 PANGO_OT_TAG_DEFAULT_SCRIPT
906                 PANGO_OT_TAG_DEFAULT_LANGUAGE
907                 pango_ot_ruleset_new_for()
908                 pango_ot_ruleset_maybe_add_feature()
909                 pango_ot_ruleset_maybe_add_features()
910         
911         Using pango_ot_ruleset_new_for() and
912         pango_ot_ruleset_maybe_add_features() drastically simplifies ruleset
913         building in modules, and does correct script and language selection
914         too.  Modules need to be updated to use it though.
915
916         * docs/pango-docs.sgml:
917         * docs/pango-sections.txt:
918         * docs/tmpl/opentype.sgml:
919         Update.
920
921 2007-05-13  Behdad Esfahbod  <behdad@gnome.org>
922
923         * pango-view/viewer-render.c (do_output), (parse_options):
924         Add --language.
925
926 2007-05-10  Behdad Esfahbod  <behdad@gnome.org>
927
928         * modules/arabic/arabic-fc.c (maybe_add_gsub_feature),
929         (maybe_add_gpos_feature), (get_ruleset):
930         * modules/basic/basic-fc.c (get_ruleset):
931         * modules/hebrew/hebrew-fc.c (maybe_add_gsub_feature),
932         (maybe_add_gpos_feature), (get_ruleset):
933         * modules/indic/indic-fc.c (maybe_add_GSUB_feature),
934         (maybe_add_GPOS_feature):
935         * modules/khmer/khmer-fc.c (maybe_add_GSUB_feature),
936         (maybe_add_GPOS_feature):
937         * modules/syriac/syriac-fc.c (maybe_add_gsub_feature),
938         (maybe_add_gpos_feature), (get_ruleset):
939         * modules/thai/thai-ot.c (maybe_add_gsub_feature),
940         (maybe_add_gpos_feature), (thai_ot_get_ruleset),
941         (lao_ot_get_ruleset):
942         * modules/tibetan/tibetan-fc.c (maybe_add_GSUB_feature),
943         (maybe_add_GPOS_feature):
944         Use PANGO_OT_DEFAULT_LANGUAGE and PANGO_OT_ALL_GLYPHS instead
945         of hardcoded 0xFFFF.
946
947 2007-05-10  Behdad Esfahbod  <behdad@gnome.org>
948
949         * ChangeLog.pre-1-16: Split ChangeLog.
950
951 2007-05-10  Behdad Esfahbod  <behdad@gnome.org>
952
953         * pango/Makefile.am:
954         * pango/pango-ot.h:
955         * pango/pango-ot-tag.c (pango_ot_tag_from_script),
956         (pango_ot_tag_to_script), (lang_compare_first_component),
957         (pango_ot_tag_from_language), (pango_ot_tag_to_language):
958         New public API:
959
960                 PANGO_OT_DEFAULT_SCRIPT
961                 pango_ot_tag_from_script()
962                 pango_ot_tag_to_script()
963                 pango_ot_tag_from_language()
964                 pango_ot_tag_to_language()
965
966         * tests/Makefile.am:
967         * tests/test-ot-tags.c:
968         Test case for new functions.
969
970         * pango/pangoft2.def:
971         * docs/pango-docs.sgml:
972         * docs/pango-sections.txt:
973         * docs/tmpl/main.sgml:
974         * docs/tmpl/opentype.sgml:
975         Updated.
976
977 2007-05-10  Behdad Esfahbod  <behdad@gnome.org>
978
979         Bug 437534 – pango_language_includes_script is buggy
980
981         * pango/pango-language.c (lang_compare_first_component),
982         (lang_info_compare), (script_for_lang_compare),
983         (pango_language_includes_script): Fix script_for_lang table lookup.
984
985 2007-05-10  Behdad Esfahbod  <behdad@gnome.org>
986
987         * pango/pangofc-fontmap.c (pango_fc_font_description_from_pattern),
988         (pango_fc_face_describe): Don't set gravity in
989         pango_fc_font_description_from_pattern() if it was not set on the
990         pattern.  This is a bit different from other properties, but that
991         really is how gravity works (unlike say weight that not having it said
992         means normal weight).
993
994 2007-05-09  Behdad Esfahbod  <behdad@gnome.org>
995
996         * pango/pango-script-lang-table.h:  Update from latest fontconfig
997         sources.
998
999         * tools/gen-script-for-lang.c (scripts_for_line): Make it handle
1000         PANGO_SCRIPT_UNKNOWN.
1001
1002 2007-05-09  Behdad Esfahbod  <behdad@gnome.org>
1003
1004         * pango/pango-language.c (script_for_lang_compare),
1005         (pango_language_includes_script):
1006         * pango/pango-script.c: Move pango_language_includes_script() from
1007         pango-script.c to pango-language.c that it belongs.
1008
1009 2007-05-08  Behdad Esfahbod  <behdad@gnome.org>
1010
1011         * pango/pango-matrix.h: Minor include reordering.
1012
1013 2007-05-08  Behdad Esfahbod  <behdad@gnome.org>
1014
1015         * pango/Makefile.am:
1016         * pango/pango-script.h:
1017         * pango/pango-types.h:
1018         * pango/pango-utils.c:
1019         * pango/pango-language.c:
1020         * pango/pango-language.h:
1021         Move PangoLanguage stuff into pango-language.[ch]
1022
1023 2007-05-08  Behdad Esfahbod  <behdad@gnome.org>
1024
1025         Bug 436988 – Adding PangoScript to PangoAnalysis
1026
1027         * pango/pango-item.h:
1028         * pango/pango-context.c (itemize_state_add_character):
1029         Add a 'script' member to PangoAnalysis.  It's added as a guint8
1030         in the padding available in that struct, though it's value is a
1031         PangoScript.
1032
1033         * pango/pangox.c (itemize_string_foreach):
1034         Update.
1035
1036 2007-05-08  Behdad Esfahbod  <behdad@gnome.org>
1037
1038         Bug 416515 – Time is not aligned with date on vertical panel
1039
1040         * pango/pango-context.c (itemize_state_init),
1041         (itemize_state_update_for_new_run): centered_baseline should only
1042         be set from context->resolved_gravity and never changed through
1043         markup.  This means that pango_context_set_base_gravity has no
1044         equivalent markup.  Doesn't sound limiting to me: you need to rotate
1045         the layout to get real vertical, so it's not just a matter of markup
1046         anyway.  At least not at this point.
1047
1048 2007-05-07  Behdad Esfahbod  <behdad@gnome.org>
1049
1050         Bug 436154 – Error building the pango.modules file while cross
1051         compiling
1052
1053         * modules/Makefile.am: Make local pango.module generation work with
1054         cross-compilation.
1055
1056 2007-05-05  Richard Hult  <richard@imendio.com>
1057
1058         Bug 434160 - [atsui] Italic versions of some faces can't be created
1059
1060         * pango/pangoatsui-fontmap.c:
1061         * pango/pangoatsui-private.h:
1062         * pango/pangocairo-atsuifont.c: Follow the other backends and create
1063         italic faces when they are not available. Apply synthetic italic
1064         in two cases, when the font manager hands out italic faces that are
1065         not in fact italic, and for the ones we've created ourselves.
1066
1067 2007-05-04  Behdad Esfahbod  <behdad@gnome.org>
1068
1069         Bug 435709 – pango_cairo_context_[sg]et_shape_renderer()
1070
1071         * pango/pangocairo.h:
1072         * pango/pangocairo-context.c:
1073         * pango/pangocairo-render.c:
1074         New API
1075
1076                 PangoCairoShapeRendererFunc and
1077                 pango_cairo_context_[sg]et_shape_renderer() 
1078
1079         * docs/pango-sections.txt, docs/tmpl/pangocairo.sgml: Document new API.
1080
1081         * examples/Makefile.am, examples/cairoshape.c: New example to show off
1082         new API/feature.
1083
1084 2007-05-04  Behdad Esfahbod  <behdad@gnome.org>
1085
1086         * pango/Makefile.am:
1087         * pango/pangocairo-context.c:
1088         * pango/pangocairo-fontmap.c:
1089         Rip non-fontmap stuff from pangocairo-fontmap.c into
1090         pangocairo-context.c.
1091
1092 2007-05-03  Behdad Esfahbod  <behdad@gnome.org>
1093
1094         * pango/pango-context.c (pango_itemize): Improve docs about freeing
1095         returned items.
1096
1097 2007-05-03  Behdad Esfahbod  <behdad@gnome.org>
1098
1099         * pango-view/test-long-paragraph.txt: New test text that contains a
1100         Persian monologue by YarAli PourMoghaddam which is a single paragraph
1101         of more than 10,000 chars and 2,400 words.  Used for testing the
1102         effect of previous change.
1103
1104 2007-05-03  Behdad Esfahbod  <behdad@gnome.org>
1105
1106         * pango/pango-layout.c (process_item): When breaking item to fit it
1107         into current line, go from the beginning, adding char at a time until
1108         it doesn't fit anymore instead of removing chars from the end.  The
1109         difference is a O(n) as opposed to O(n^2) algorithm were n is the
1110         number of lines in the paragraph (assuming constant chars per line).
1111
1112 2007-05-03  Behdad Esfahbod  <behdad@gnome.org>
1113
1114         * pango-view/viewer-render.c (output_body), (do_output): Save
1115         one layout rendering per view.  Down to two from three now.
1116
1117 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1118
1119         * pango-view/test-justify.txt: New test text with long Latin and
1120         Arabic lines, suitable for --justify testing.
1121
1122 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1123
1124         Bug 64538 – pango_layout_set_justify() doesn't work
1125
1126         * pango/pango-layout.c (process_item), (justify_clusters),
1127         (justify_words): If no space found, justify by inserting space
1128         between clusters.
1129
1130 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1131
1132         * pango/pango-glyph-item.c (pango_glyph_item_letter_space):
1133         * pango/pango-item.c (pango_item_split):
1134         * pango/pango-layout.c (distribute_letter_spacing), (shape_run),
1135         (debug), (process_item), (process_line), (pad_glyphstring_right),
1136         (pad_glyphstring_left), (zero_line_final_space),
1137         (adjust_line_letter_spacing), (pango_layout_line_postprocess):
1138         Fix letter-spacing with justification.  We now distribute
1139         letter-spacing equally on both sides of clusters, instead of putting
1140         it all on one side.
1141
1142 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1143
1144         Bug 64538 – pango_layout_set_justify() doesn't work
1145
1146         * pango/pango-layout.c (zero_line_final_space), (justify_clusters),
1147         (justify_words), (pango_layout_line_postprocess): Implement
1148         justification by expanding spaces!
1149         Based on early patch from Mathias Hasselmann.
1150
1151 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1152
1153         Patch from Mathias Hasselmann
1154
1155         * docs/tmpl/main.sgml:
1156         * pango/break.c (pango_default_break):
1157         * pango/pango-break.h:
1158         Add is_expandable_space to PangoLogAttr.
1159
1160 2007-05-02  Mathias Hasselmann  <mathias.hasselmann@gmx.de>
1161
1162         * pango-view/viewer-render.c (make_layout), (parse_options):
1163         Add --justify.
1164
1165 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1166
1167         Bug 355789 – Pango misaligns word-wrapped text due to trailing
1168         whitespace
1169
1170         * pango/pango-layout.c (zero_line_final_space),
1171         (pango_layout_line_postprocess): Make logical-final whitespace
1172         on wrapped lines zero-width.
1173
1174 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1175
1176         * pango/pango-layout.c (process_line), (pango_layout_check_lines):
1177         Keep track of line start_offset in break state.
1178
1179 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1180
1181         * pango/pango-layout.c (process_line),
1182         (pango_layout_line_postprocess): Add a "wrapped" argument to
1183         pango_layout_line_postprocess().  Going to use it for eg whether we
1184         should justify the line.
1185
1186 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1187
1188         * pango/pango-layout.c (process_line): Set is_wrapped to true on
1189         BREAK_EMPTY_FIT too.
1190
1191 2007-05-02  Behdad Esfahbod  <behdad@gnome.org>
1192
1193         * pango/pango-layout-private.h: Remove stale prototype of
1194         _pango_layout_iter_get_line_readonly().
1195
1196 2007-05-01  Behdad Esfahbod  <behdad@gnome.org>
1197
1198         * pango/pango-layout.c (get_items_log_attrs): Add note about
1199         how we should not be using pango_break() here.
1200
1201 2007-04-28  Mathias Hasselmann  <mathias.hasselmann@gmx.de>
1202
1203         * pango-view/viewer-render.c (make_layout), (parse_alignment),
1204         (parse_options): Add option for testing text alignment.
1205
1206 2007-04-30  Behdad Esfahbod  <behdad@gnome.org>
1207
1208         * pango/opentype/Makefile.am: Link freetype to harfbuzz-dump, for
1209         those systems that don't track dependencies automatically.
1210
1211 2007-04-30  Behdad Esfahbod  <behdad@gnome.org>
1212
1213         * docs/pango-sections.txt:
1214         * docs/tmpl/glyphs.sgml:
1215         Add PANGO_UNITS_ROUND to docs.
1216
1217 2007-04-30  Behdad Esfahbod  <behdad@gnome.org>
1218
1219         * pango/pango-types.h: Move PANGO_UNITS_ROUND here...
1220         * pango/pangofc-private.h: ...from here.
1221
1222         * pango/pango-gravity.c: Document that pango_gravity_to_rotation()
1223         returns angle in radians but pango_matrix_rotate() takes degrees.
1224
1225         * pango/pango-layout.c (pango_layout_run_get_extents):
1226         * pango/pango-renderer.c (pango_renderer_draw_layout_line):
1227         Retain metrics hinting when centering baseline (used for Latin, etc
1228         in vertical mode).
1229
1230         * pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_metrics),
1231         (pango_cairo_fc_font_glyph_extents_cache_init): Respect metrics
1232         hinting setting when moving glyphs around for vertical writing.
1233
1234         * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new): Apply
1235         the gravity rotation before the pattern's matrix, such that
1236         vertical text gets correct italic direction.
1237
1238         * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info):
1239         Make hexbox font inherit most properties from the current font.
1240         That is, bold hexbox digits for a bold font, etc.
1241
1242 2007-04-30  Tor Lillqvist  <tml@novell.com>
1243
1244         * pango/pangowin32-fontmap.c (get_family_nameA, get_family_nameW):
1245         A font name in encoding UCS4_ENCODING_ID actually is in UTF-16,
1246         not UCS-4. (#429397, Akihiro Okamura)
1247
1248 2007-04-27  Richard Hult  <richard@imendio.com>
1249
1250         * modules/basic/basic-atsui.c (basic_engine_shape): Correct the
1251         signature by making PangoAnalysis const, fixes build warning.
1252
1253 2007-04-27  Richard Hult  <richard@imendio.com>
1254
1255         * pango/pangocairo-atsuifont.c (pango_cairo_atsui_font_get_metrics): 
1256         Use maxAdvanceWidth instead of avgAdvanceWidth, the latter is 0 for
1257         many fonts. This is a temporary solution, see bug #433805 for details.
1258
1259 2007-04-27  Behdad Esfahbod  <behdad@gnome.org>
1260
1261         * === Released 1.16.4 ===
1262
1263         * configure.in: Version 1.16.4
1264
1265         * NEWS: Updated.
1266
1267 2007-04-27  Behdad Esfahbod  <behdad@gnome.org>
1268
1269         Bug 432991 – developer docs for libpango are broken
1270
1271         * configure.in: Add --disable-doc-cross-references.
1272
1273         * docs/Makefile.am: Make sure --disable-doc-cross-references is
1274         set in order to make dist.
1275
1276         * Makefile.am: Add --disable-doc-cross-references to
1277         DISTCHECK_CONFIGURE_FLAGS.
1278
1279 2007-04-23  Behdad Esfahbod  <behdad@gnome.org>
1280
1281         * === Released 1.16.3 ===
1282
1283         * configure.in: Version 1.16.3
1284
1285         * NEWS: Updated.
1286
1287 2007-04-18  Behdad Esfahbod  <behdad@gnome.org>
1288
1289         * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info):
1290         Improved hexbox position.
1291
1292 2007-04-12  Behdad Esfahbod  <behdad@gnome.org>
1293
1294         * pango/pango-ot-buffer.c (apply_gpos_ltr), (apply_gpos_rtl),
1295         (pango_ot_buffer_output):
1296         * pango/pango-types.h:
1297         * pango/pangofc-font.c (pango_fc_font_kern_glyphs):
1298         * pango/pangofc-private.h:
1299         Quantize kerning adjustment, otherwise all the metrics hinting
1300         effort will be ruined by a non-whole-pixel kerning value.
1301         In the future we want to take lsb_delta and rsb_delta into the
1302         game before quantizing the adjustment here, but we don't have
1303         those values handy right now.
1304
1305 2007-04-09  Behdad Esfahbod  <behdad@gnome.org>
1306
1307         * === Released 1.16.2 ===
1308
1309         * configure.in: Version 1.16.2
1310
1311         * NEWS: Updated.
1312
1313 2007-04-03  Behdad Esfahbod  <behdad@gnome.org>
1314
1315         * pango/opentype/harfbuzz-gdef.c (_HB_GDEF_Check_Property):
1316         * pango/opentype/harfbuzz-gpos.c (HB_Done_GPOS_Table),
1317         (Lookup_PairPos):
1318         * pango/opentype/harfbuzz-open.c (Get_Class1):
1319         Copy fixes from harfbuzz stable branch.  Includes a leak fix,
1320         a kerning fix, and an array out-of-bound access fix.
1321
1322 2007-04-01  Behdad Esfahbod  <behdad@gnome.org>
1323
1324         * modules/Makefile.am: Add EXEEXT around to make it build on OS/2
1325         Patch from Dave Yeo.
1326
1327 2007-03-18  Richard Hult  <richard@imendio.com>
1328
1329         Bug 419262 - Don't create coverage every time it's asked for
1330
1331         * pango/pangoatsui.c: (pango_atsui_font_get_coverage):
1332         * pango/pangoatsui-fontmap.c: Pass around a PangoATSUIFace instead of
1333         the postscript name string. Move the coverage creation from the font to
1334         the face, and get the coverage from the face instead of creating it 
1335         every time.
1336
1337         * pango/pangocairo-atsui.h:
1338         * pango/pangocairo-atsuifont.c: (_pango_cairo_atsui_font_new): Use the
1339         face instead of the postscript name.
1340
1341         * pango/pangoatsui-private.h:
1342         * pango/pangocairo-atsuifontmap.c: Add getters for the postscript name
1343         and coverage for the face.
1344
1345 2007-03-14  Tor Lillqvist  <tml@novell.com>
1346
1347         * pango/pangowin32-fontmap.c: Add missing declaration of
1348         pango_win32_family_get_type(). (#417946, Ivan Wong)
1349
1350 2007-03-12  Behdad Esfahbod  <behdad@gnome.org>
1351
1352         * docs/pango-sections.txt:
1353         * pango/pangowin32-fontmap.c:
1354         * pango/pangowin32.c:
1355         Add new symbols to docs.
1356
1357 2007-03-12  Behdad Esfahbod  <behdad@gnome.org>
1358
1359         * === Released 1.16.1 ===
1360
1361         * configure.in: Version 1.16.1
1362
1363         * NEWS: Updated.
1364
1365         * README: Updated.
1366
1367 2007-03-10  Tor Lillqvist  <tml@novell.com>
1368
1369         * pango/pangowin32-private.h
1370         * pango/pangowin32.c
1371         * pango/pangowin32-fontcache.c
1372         * pango/pangowin32-fontmap.c
1373         * pango/pangocairo-win32font.c
1374         * pango/pangowin32.def: Move functions defined in one file and
1375         used in another to the file where used, make them static, and drop
1376         from pangowin32-private.h. Prefix all private non-static functions
1377         with underscore. Also functions used only by the pangocairo DLL
1378         are considered private. (#120195)
1379
1380 2007-03-10  Tor Lillqvist  <tml@novell.com>
1381
1382         * README: Uniscribe is optional only at run-time.
1383
1384 2007-03-07  Tor Lillqvist  <tml@novell.com>
1385
1386         * configure.in
1387         * modules/basic/Makefile.am
1388         * modules/basic/basic-win32.c: Make building with Uniscribe (using
1389         the <usp10.h> header) mandatory. Mingw's w32api headers do include
1390         usp10.h now so one doesn't need to copy it from the Platform SDK
1391         any longer. At runtime using Uniscribe is still optional,
1392         depending on whether usp10.dll is found or not. I think it
1393         isn't necessarily present on Windows 2000 machines, for instance.
1394
1395         * modules/basic/basic-win32.c (lang_name): Instead of a hardcoded
1396         case statement, use GetLocaleInfo() to get the language ISO639
1397         code.
1398         (charset_name): Remove, unused.
1399         (itemize_shape_and_place, uniscribe_shape, basic_engine_shape):
1400         Constify the PangoAnalysis parameter to match the prototype of
1401         PangoEngineShapeClass::script_shape().
1402
1403 2007-03-03  Behdad Esfahbod  <behdad@gnome.org>
1404
1405         Bug 414297 – Fails to build with --enable-static
1406                 --with-included-modules in thai lang module
1407         Patch from Loïc Minier
1408
1409         * modules/thai/Makefile.am: Include LIBTHAI_LIBS in static module
1410         too.
1411
1412 2007-02-27  Behdad Esfahbod  <behdad@gnome.org>
1413
1414         Bug 412654 – SED variable undefined in the `libtool --config' output
1415         used by configure
1416
1417         * configure.in: export SED before calling libtool
1418
1419 2007-02-26  Tor Lillqvist  <tml@novell.com>
1420
1421         This change was supposed to go in the trunk before 1.16.0, but it
1422         didn't quite get there in time. So, to have a clear cut for this
1423         somewhat fundamental change in underlying workings (although there
1424         should be no user-visible changes), I will build and distribute
1425         Win32 binaries only starting from 1.16.1.
1426
1427         Use wide character API for fonts on Windows. Rename functions and
1428         variables that deal with LOGFONTW structs to emphasize
1429         this. (#407315)
1430
1431         * pango/pangowin32.c
1432         * pango/pangowin32-fontcache.c
1433         * pango/pangowin32-fontmap.c: Use LOGFONTW all over the place
1434         instead of LOGFONT, and adapt code accordingly. Use wide character
1435         Win32 API.
1436
1437         * pango/pangowin32.c (pango_win32_font_neww): Renamed from
1438         pango_win32_font_new(), as it now takes a LOGFONTW pointer. This
1439         is a private function and can be renamed though it is exported as
1440         it is used from the pangocairo DLL.
1441         (pango_win32_font_logfont): Mention explicitly in doc comment that
1442         it returns a LOGFONTA, and recommend to use
1443         pango_win32_font_logfontw() instead.
1444         (pango_win32_font_logfontw): New function.
1445
1446         * pango/pangowin32-fontcache.c
1447         (pango_win32_font_cache_load): Must keep this function that takes
1448         a LOGFONTA pointer as it is declared in the public header.
1449         (pango_win32_font_cache_loadw): New public function that takes a
1450         LOGFONTW pointer.
1451
1452         * pango/pangowin32-fontmap.c
1453         (pango_win32_font_description_from_logfont): Mention explicitly in
1454         the doc comment that it takes a LOGFONTA pointer.
1455         (pango_win32_font_description_from_logfontw): New public function
1456         that takes a LOGFONTW pointer.
1457         (pango_win32_make_matching_logfontw): Rename from
1458         pango_win32_make_matching_logfont() to emphasize it takes a
1459         LOGFONTW pointer.
1460
1461         * pango/pangowin32.h: Declare new public functions.
1462
1463         * pango/pangowin32-private.h: Declare new private functions, drop
1464         removed ones.
1465
1466         * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new):
1467         Simplify now that we call pango_win32_make_matching_logfontw().
1468
1469         * pango/pangowin32.def: Add new functions, rename internal
1470         functions that now use LOGFONTW.
1471
1472 2007-02-26  Tor Lillqvist  <tml@novell.com>
1473
1474         Fix brokenness in the code that tries to ensure that all fonts
1475         also have italic variants. Now the code hopefully actually does
1476         what it was supposed to. (Which is not necessarily the right thing
1477         to do, though. It can be argued that we should not list
1478         synthesized italic font styles, we should just silently generate
1479         them if asked for. We don't want synthesized italic (or synthesized
1480         bold) styles showing up in the font selector. They don't show up
1481         when using a fontconfig-based Pango backend either.) (#110521)
1482         
1483         * pango/pangowin32-fontmap.c
1484         (logfont_nosize_hash, logfont_nosize_equal): Don't use the
1485         lfItalic field as such, just its nonzeroness. When being
1486         enumerated, italic fonts show up with lfItalic=255, but our code
1487         looks up italic versions of fonts by passing a key LOGFONT with
1488         lfItalic=1.
1489         (first_match): Not needed any more, see below.
1490         (ensure_italic): This is now called on the entries in the
1491         size_infos hash table, not families. The code used to randomly
1492         look for the first matching font in size_infoswith the family name
1493         being handled.
1494         (pango_win32_font_map_init): Iterate through the size_infos hash
1495         table with ensure_italic, not through the families table.
1496
1497         * pango/pangowin32-fontcache.c
1498         (logfontw_hash, logfontw_equal): Look at just nonzeroness of
1499         lfItalic here, too.
1500
1501 Local Variables:
1502 coding: utf-8
1503 End:
1504 vim: encoding=utf-8: