summaryrefslogtreecommitdiff
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* Add checks for ATSUI.Anders Carlsson2005-11-221-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-11-21 Anders Carlsson <andersca@imendio.com> * configure.in: Add checks for ATSUI. * examples/Makefile.am: Only build pango-cairoview if freetype is detected. * modules/basic/Makefile.am: Add basic ATSUI module. * pango/Makefile.am: Add ATSUI files for cairo backend. * pango/pangocairo-fontmap.c: (pango_cairo_font_map_new): Support creating ATSUI font maps here. * pango/pangoatsui-fontmap.c: * pango/pangoatsui-private.h: * pango/pangoatsui.c: * pango/pangoatsui.h: * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.c: * pango/pangocairo-atsuifont.h: * pango/pangocairo-atsuifontmap.c: Add.
* Only update static mid on a match.Behdad Esfahbod2005-11-221-0/+5
| | | | | | | 2005-11-21 Behdad Esfahbod <behdad@gnome.org> * pango/pango-script.c (pango_script_for_unichar_bsearch): Only update static mid on a match.
* Fixed Sebastien's name spelling.Behdad Esfahbod2005-11-211-1/+1
|
* Return double instead of int. (#321891, Sebastian Bacher)Behdad Esfahbod2005-11-211-0/+5
| | | | | | | 2005-11-21 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-fontmap.c (get_scaled_size): Return double instead of int. (#321891, Sebastian Bacher)
* Make the Kermit notice a "no warranty" clause, to comply with LPGL.Behdad Esfahbod2005-11-211-0/+5
| | | | | | | 2005-11-21 Behdad Esfahbod <behdad@gnome.org> * examples/GLASS.utf8: Make the Kermit notice a "no warranty" clause, to comply with LPGL.
* === Released 1.11.0 ===PANGO_1_11_0Behdad Esfahbod2005-11-181-0/+8
| | | | | | | | | | 2005-11-18 Behdad Esfahbod <behdad@gnome.org> * === Released 1.11.0 === * configure.in: Version 1.11.0 * NEWS: Updated.
* Use the new support for negative offsets in g_utf8_pointer_to_offset. SoBehdad Esfahbod2005-11-181-0/+9
| | | | | | | | | | | 2005-11-18 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout.c (pango_layout_move_cursor_visually): Use the new support for negative offsets in g_utf8_pointer_to_offset. So now, we simply do: offset += g_utf8_pointer_to_offset(text+oldindex, text+newindex), instead of doing offset = g_utf8_pointer_to_offset(text, text+index) as we did before.
* Documentation improvements. (#321731)Behdad Esfahbod2005-11-181-0/+4
| | | | | | 2005-11-17 Behdad Esfahbod <behdad@gnome.org> * pango/pango-renderer.c: Documentation improvements. (#321731)
* General cleanup. (pango_font_description_unset_fields): Set fields beingBehdad Esfahbod2005-11-181-0/+8
| | | | | | | | | | 2005-11-17 Behdad Esfahbod <behdad@gnome.org> * pango/fonts.c (pango_font_description_*): General cleanup. (pango_font_description_unset_fields): Set fields being unset to their default value. (pango_font_description_hash, pango_font_description_equal): Do not use mask in these. Use all other fields unconditionally.
* const correctness fixesMatthias Clasen2005-11-171-0/+5
|
* Compare language too. (#318168)Behdad Esfahbod2005-11-171-0/+5
| | | | | | | 2005-11-17 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-fontmap.c (fontset_hash_key_equal): Compare language too. (#318168)
* Remove g_utf8_strlen that was only used to give a warning.Behdad Esfahbod2005-11-171-0/+8
| | | | | | | | | | 2005-11-17 Behdad Esfahbod <behdad@gnome.org> * pango/break.c (pango_get_log_attrs): Remove g_utf8_strlen that was only used to give a warning. * pango/break.c (pango_default_break): Add gcc-suggested parantheses around boolean expression.
* More documentation improvements.Behdad Esfahbod2005-11-171-0/+12
| | | | | | | | | | | | | | 2005-11-17 Behdad Esfahbod <behdad@gnome.org> * docs/tmpl/coverage-maps.sgml docs/tmpl/fonts.sgml docs/tmpl/glyphs.sgml docs/tmpl/layout.sgml docs/tmpl/main.sgml docs/tmpl/scripts.sgml docs/tmpl/tab-stops.sgml docs/tmpl/text-attributes.sgml pango/break.c pango/fonts.c pango/pango-fontset.c pango/pango-layout.c pango/pango-script.c pango/pango-utils.c pango/pangofc-decoder.c pango/pangofc-decoder.h pango/pangofc-font.c pango/pangofc-font.h pango/pangoxft-font.c: More documentation improvements.
* Part of #101079:Behdad Esfahbod2005-11-171-0/+11
| | | | | | | | | | | | | 2005-11-17 Behdad Esfahbod <behdad@gnome.org> Part of #101079: * pango/opentype/ftxopen.c (Load_Lookup): In extension subtables, offset is relative to the extension subtable, not the original table. (Greg Aumann) * pango/opentype/ftxgpos.c (Load_BaseArray): When reading BaseAnchor, skip offsets that are zero. Works around bug in Doulos SIL Regular.
* Various documentation improvements.Behdad Esfahbod2005-11-171-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | 2005-11-16 Behdad Esfahbod <behdad@gnome.org> * docs/pango_markup.sgml docs/tmpl/coverage-maps.sgml docs/tmpl/engines.sgml docs/tmpl/fonts.sgml docs/tmpl/freetype-fonts.sgml docs/tmpl/glyphs.sgml docs/tmpl/layout.sgml docs/tmpl/main.sgml docs/tmpl/modules.sgml docs/tmpl/opentype.sgml docs/tmpl/pango-engine-lang.sgml docs/tmpl/pango-engine-shape.sgml docs/tmpl/pango-renderer.sgml docs/tmpl/pangocairo.sgml docs/tmpl/pangofc-decoder.sgml docs/tmpl/pangofc-font.sgml docs/tmpl/pangofc-fontmap.sgml docs/tmpl/scripts.sgml docs/tmpl/tab-stops.sgml docs/tmpl/text-attributes.sgml docs/tmpl/win32-fonts.sgml docs/tmpl/x-fonts.sgml docs/tmpl/xft-fonts.sgml pango/break.c pango/ellipsize.c pango/fonts.c pango/pango-attributes.c pango/pango-color.c pango/pango-context.c pango/pango-coverage.c pango/pango-fontmap.c pango/pango-glyph-item.c pango/pango-layout.c pango/pango-markup.c pango/pango-tabs.c pango/pango-types.h pango/pango-utils.c pango/pangoft2-render.c pango/pangox.c pango/pangoxft-render.c: Various documentation improvements.
* Added % to PANGO_DIRECTION_LTR in doc comments.Behdad Esfahbod2005-11-161-0/+4
| | | | | | 2005-11-15 Behdad Esfahbod <behdad@gnome.org> * pango/pango-types.h: Added % to PANGO_DIRECTION_LTR in doc comments.
* Added % to PANGO_DIRECTION_LTR in doc comments.Behdad Esfahbod2005-11-161-0/+4
| | | | | | 2005-11-15 Behdad Esfahbod <behdad@gnome.org> * pango/pango-types.h: Added % to PANGO_DIRECTION_LTR in doc comments.
* Added redistribution permission.Behdad Esfahbod2005-11-151-0/+4
| | | | | | 2005-11-15 Behdad Esfahbod <behdad@gnome.org> * examples/GLASS.utf8: Added redistribution permission.
* Fixed bug in khmer module state table. (#320569, Jens Herden)Behdad Esfahbod2005-11-151-0/+5
| | | | | | | 2005-11-14 Behdad Esfahbod <behdad@gnome.org> * modules/khmer/khmer/khmer-fc.c: Fixed bug in khmer module state table. (#320569, Jens Herden)
* Updated Tibetan shaper from Pema Geyleg. (#313513)Behdad Esfahbod2005-11-151-0/+12
| | | | | | | | | | | | | | 2005-11-14 Behdad Esfahbod <behdad@gnome.org> Updated Tibetan shaper from Pema Geyleg. (#313513) * examples/tibetan.utf: Added. * examples/Makefile.am (EXTRA_DIST): tibetan.utf added. * modules/tibetan/tibetan-fc.c: Updated Tibetan shaper that is rewritten from scratch. Supports the number pre-combining mark, illegal sequence detection, etc.
* Added. The infamous "I Can Eat Glass" in vairous languages. Adopted fromBehdad Esfahbod2005-11-151-0/+8
| | | | | | | | | | 2005-11-14 Behdad Esfahbod <behdad@gnome.org> * examples/GLASS.utf8: Added. The infamous "I Can Eat Glass" in vairous languages. Adopted from http://www.columbia.edu/kermit/utf8.html#glass * examples/Makefile.am (EXTRA_DIST): GLASS.utf8 added.
* Respect fontconfig reassignment of pixelsize. (#317121, Funda Wang)Behdad Esfahbod2005-11-151-0/+5
| | | | | | | 2005-11-14 Behdad Esfahbod <behdad@gnome.org> * pango/pangocairo-fcfont.c: Respect fontconfig reassignment of pixelsize. (#317121, Funda Wang)
* Updates from #320666:Behdad Esfahbod2005-11-141-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | 2005-11-14 Behdad Esfahbod <behdad@gnome.org> Updates from #320666: * pango/Makefile.am: Remove pango-easy-scripts-table.h. * pango/pango-easy-scripts-table.h: Removed. The "easy" table goes into pango-scripts-table.h too. * pango/pango-script-table.h: Include "easy" table. * pango/pango-script.c: Change gunichar->script last_index caching mechanism. The caching is simply done by making int mid in the bsearch static. * tools/Makefile.am: Remove gen-easy-scripts-table.c. * tools/gen-easy-scripts-table.c: Removed. The "easy" table is generated in gen-scripts-table.pl too. * tools/gen-script-table.h: Generate "easy" table.
* Add X_CFLAGS to INCLUDES. We normally are picking them up from XFT_CFLAGS,Behdad Esfahbod2005-11-141-0/+6
| | | | | | | | 2005-11-14 Behdad Esfahbod <behdad@gnome.org> * examples/Makefile.am: Add X_CFLAGS to INCLUDES. We normally are picking them up from XFT_CFLAGS, but we don't require Xft any more for X11. (#320576)
* Remove g_utf8_strlen and work around the logic. Patch by Owen Taylor.Behdad Esfahbod2005-11-141-0/+5
| | | | | | | 2005-11-14 Behdad Esfahbod <behdad@gnome.org> * pango/break.c (pango_default_break): Remove g_utf8_strlen and work around the logic. Patch by Owen Taylor.
* Include string.h, needed for memset.Behdad Esfahbod2005-11-141-0/+8
| | | | | | | | | | 2005-11-14 Behdad Esfahbod <behdad@gnome.org> * pango/mini-fribidi/fribidi.c): Include string.h, needed for memset. * pango/mini-fribidi/fribidi.c (fribidi_analyse_string_utf8): Handle short-circuiting of the case when there are ltr letters, no rtl strongs, and base dir is weak rtl. Pointed out by Owen Taylor.
* Fix get/set typo in docs. (#321247, Masao Mutoh)Behdad Esfahbod2005-11-111-0/+5
| | | | | | | 2005-11-11 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout.c (pango_layout_get_alignment): Fix get/set typo in docs. (#321247, Masao Mutoh)
* Call get_context_info after g_return_if_fail.Behdad Esfahbod2005-11-101-0/+5
| | | | | | | 2005-11-09 Behdad Esfahbod <behdad@gnome.org> * pango/pangocairo-fontmap.c (pango_cairo_update_context): Call get_context_info after g_return_if_fail.
* Do not call strlen when length < 0. Leave it to language engines to handleBehdad Esfahbod2005-11-101-0/+5
| | | | | | | 2005-11-09 Behdad Esfahbod <behdad@gnome.org> * pango/break.c (pango_break): Do not call strlen when length < 0. Leave it to language engines to handle NULL-terminated strings.
* Short-circuit on LTR-only or RTL-only text.Behdad Esfahbod2005-11-101-1/+7
| | | | | | | | 2005-11-09 Behdad Esfahbod <behdad@gnome.org> * pango/mini-fribidi/README, pango/mini-fribidi/fribidi.patch, pango/mini-fribidi/fribidi.c: Short-circuit on LTR-only or RTL-only text.
* Remove debug line that got in accidentally.Behdad Esfahbod2005-11-091-0/+5
| | | | | | | 2005-11-09 Behdad Esfahbod <behdad@gnome.org> * pango/opentype/ftxgpos.c, pango/opentype/ftxopen.c: Remove debug line that got in accidentally.
* Set layout wrapping to PANGO_WRAP_WORD_CHAR if width is set for theBehdad Esfahbod2005-11-091-0/+15
| | | | | | | | | | | | | | | | | 2005-11-09 Behdad Esfahbod <behdad@gnome.org> * examples/renderdemo.c (make_layout): Set layout wrapping to PANGO_WRAP_WORD_CHAR if width is set for the layout. Setting width didn't have any effect previously. * pango/pango-layout.c (process_item): Remove the excess letter_spacing adjustment on the item width. (#168593, Damon Chaplin) * pango/pango-markup.c (pango_parse_markup), pango/querymodules.c: Replace g_string_new ("") with g_string_new (NULL). * pango/pangoft2.c: Use g_malloc'ed memory for unknown FreeType2 error, instead of static buffer.
* Minor clean up and adjustment.Behdad Esfahbod2005-11-091-0/+5
| | | | | | | 2005-11-09 Behdad Esfahbod <behdad@gnome.org> * modules/hebrew/.cvsignore, modules/khmer/.cvsignore, modules/tibetan/.cvsignore: Minor clean up and adjustment.
* Fixes bug #320666:Federico Mena Quintero2005-11-081-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-11-07 Federico Mena Quintero <federico@ximian.com> Fixes bug #320666: Instead of doing a bsearch() for every gunichar to map it to a PangoScript, use a precomputed table for the first 8192 code points. Also, remember the last script that we computed on each invocation; this will also help CJK and the other scripts above U+2000. This table also holds information on whether the characters in it are paired characters. We can use this to avoid doing the expensive get_pair_index() call most of the time. Many thanks to Matthias Clasen for his suggestions for this patch. * tools/gen-easy-scripts-table.c: New program to generate pango_easy_scripts_table. * tools/Makefile.am: Build gen-easy-scripts-table. * pango/pango-easy-scripts-table.h: New file with a mapping of the first 8192 Unicode characters to their corresponding scripts. The table also says whether each character has a paired char or not. * pango/Makefile.am (libpango_1_0_la_SOURCES): Add pango-easy-scripts-table.h. * pango/pango-script-table.h: Remove everything below U+2000, and add a note to that effect. * pango/pango-script.c (pango_script_for_unichar_with_last_index): New function. This is the old pango_script_for_unichar(), but it lets the caller keep around the computed index in pango_script_table. This works under the assumption that a character is likely to be in the same script block as the preceding character in a string. (pango_script_for_unichar): First, do a quick check against the pango_easy_scripts_table. Then, do the expensive check with pango_script_for_unichar_with_last_index(). (pango_script_iter_next): If the character is within the easy script range, find out if it is a paired character by using PANGO_PAIRED_CHAR_FLAG. (struct _PangoScriptIter): Add a last_index_for_script_lookup field. We use this to maintain the last-lookup index from pango_script_for_unichar_with_last_index(). (pango_script_iter_next): If the character is not within the easy script range, use pango_script_for_unichar_with_last_index(), and store the index in the last_index_for_script_lookup field of the PangoScriptIter.
* Removed. Not used for a long time, and were out of date.Behdad Esfahbod2005-11-051-0/+7
| | | | | | | | | 2005-11-04 Behdad Esfahbod <behdad@gnome.org> * pango-config.in, pango.spec.in: Removed. Not used for a long time, and were out of date. * .cvsignore: Remove pango-config and pango.spec.
* Update to handle new line-breaking types in the Unicode 4.1 UAX#14.Behdad Esfahbod2005-11-051-0/+8
| | | | | | | | | | 2005-11-04 Behdad Esfahbod <behdad@gnome.org> * pango/break.c: Update to handle new line-breaking types in the Unicode 4.1 UAX#14. (#313907) * configure.in: Bump required glib version to 2.9.0. Needed for above-mentioned line-breaking types.
* Turn various gcc warnings off. Adding const, adding static, fullyBehdad Esfahbod2005-11-041-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-11-04 Behdad Esfahbod <behdad@gnome.org> * configure.in, examples/argcontext.c examples/cairoview.c, examples/renderdemo.c, examples/renderdemo.h examples/xftview.c, modules/basic/basic-x.c, modules/hangul/hangul-fc.c, modules/hebrew/hebrew-shaper.c, modules/hebrew/hebrew-shaper.h, modules/indic/indic-fc.c, modules/indic/mprefixups.c, modules/syriac/syriac-fc.c, pango/break.c pango/fonts.c, pango/modules.c, pango/pango-coverage.c pango/pango-engine.c, pango/pango-engine.h, pango/pango-fontmap.c, pango/pango-fontset.c, pango/pango-impl-utils.h, pango/pango-layout.c, pango/pango-layout.h, pango/pango-renderer.c, pango/pango-script.c, pango/pango-utils.c, pango/pangocairo-fc.h, pango/pangocairo-font.c, pango/pangocairo-fontmap.c, pango/pangocairo-private.h, pango/pangofc-decoder.c, pango/pangofc-font.c, pango/pangofc-fontmap.c pango/pangoft2.c, pango/pangox-fontcache.c, pango/pangox-fontmap.c pango/pangox.c, pango/pangoxft-font.c, pango/querymodules.c, pango/opentype/ftglue.c, pango/opentype/ftxgpos.c, pango/opentype/ftxopen.c, pango/opentype/pango-ot-buffer.c, pango/opentype/pango-ot-info.c, pango/opentype/pango-ot-ruleset.c, tests/dump-boundaries.c, tests/testboundaries.c, tests/testcolor.c tests/testiter.c, tests/testscript.c: Turn various gcc warnings off. Adding const, adding static, fully initializing structs, match signedness in comparisons. (#317804) * tests/testscript.c, tools/gen-script-for-lang.c: (scripts_for_file): Pass error->message instead of error to fail(), which was wrong. (compare_lang): Fix typo comparing a and a instead of a and b.
* Fixes #320665:Federico Mena Quintero2005-11-041-0/+18
| | | | | | | | | | | | | | | | | | | | 2005-11-04 Federico Mena Quintero <federico@ximian.com> Fixes #320665: * pango/pangocairo-fcfont.c: Use a simple, fixed-size cache to map gunichars to glyph indices within the font. The cache is described in detail here: http://primates.ximian.com/~federico/news-2005-10.html#gtkfilechooser-profile-5 (GlyphCacheEntry): new structure to hold a gunichar and a PangoGlyph. (struct _PangoCairoFcFont): Add a char_to_glyph_cache field. (pango_cairo_fc_font_get_glyph): Allocate the char_to_glyph_cache if needed. We do it on demand because while many fonts will be alive at any one time (in order to cover the whole Unicode space), only very few of them will be actually accessed for glyph lookups. (pango_cairo_fc_font_get_glyph): Look up the gunichar in the cache, and replace the cache entry if necessary. (pango_cairo_fc_font_finalize): Free the char_to_glyph_cache.
* Use quarks for GObject data to improve performance. (Patch from FedericoBehdad Esfahbod2005-11-041-0/+8
| | | | | | | | | | 2005-11-04 Behdad Esfahbod <behdad@gnome.org> * pango/pangocairo-fontmap.c: Use quarks for GObject data to improve performance. (Patch from Federico Mena Quintero) * pango/modules.c (pango_module_load), pango/querymodules.c: Pass G_MODULE_BIND_LAZY to g_module_open. (Pointed by John Rice)
* Use macros for locking and unlocking fonts we know are valid to avoidBehdad Esfahbod2005-11-041-0/+6
| | | | | | | | 2005-11-04 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-font.c: Use macros for locking and unlocking fonts we know are valid to avoid redundant PANGO_IS_FC_FONT checks. (Review by Matthias Clasen)
* Updated to FriBidi version 0.10.7 patched to handle UTF-8 directly. MovedBehdad Esfahbod2005-11-031-0/+9
| | | | | | | | | | | 2005-11-03 Behdad Esfahbod <behdad@gnome.org> * docs/tmpl/main.sgml, pango/Makefile.am, pango/pango-context.c (itemize_state_init), pango/pango-utils.c, pango/pango-utils.h, pango/pangox.c (itemize_string_foreach), pango/mini-fribidi/*: Updated to FriBidi version 0.10.7 patched to handle UTF-8 directly. Moved pango_log2vis_get_embedding_levels to pango-utils.c instead of mini-fribidi. (#317192, review by Matthias Clasen)
* Added a --runs options, useful for profiling. Misc cleanup, freeingBehdad Esfahbod2005-11-031-0/+6
| | | | | | | | 2005-11-03 Behdad Esfahbod <behdad@gnome.org> * examples/pangoft2pgm.c, renderdemo.c, renderdemo.h: Added a --runs options, useful for profiling. Misc cleanup, freeing memory. (from #170414)
* Patches from #170414. Reviewed by Matthias Clasen.Behdad Esfahbod2005-11-031-0/+10
| | | | | | | | | | | | 2005-11-03 Behdad Esfahbod <behdad@gnome.org> Patches from #170414. Reviewed by Matthias Clasen. * pango/opentype/ftxgpos.c, pango/opentype/ftxgsub.c: Use call table to dispatch different lookup types. * pango/opentype/pango-ot-buffer.c, pango/opentype/pango-ot-ruleset.c: Small cleanup.
* Add const to gchar * members of structs. Shuts up gcc warnings. (#317676)Behdad Esfahbod2005-10-031-0/+5
| | | | | | | 2005-10-02 Behdad Esfahbod <behdad@gnome.org> * pango/pango-engine.h: Add const to gchar * members of structs. Shuts up gcc warnings. (#317676)
* unset all part colors, since when drawing just a glyph string,Owen Taylor2005-10-031-0/+9
| | | | | | | | | | | 2005-09-09 Owen Taylor <otaylor@redhat.com> * pango/pangocairo-render.c (pango_cairo_show_glyph_string): unset all part colors, since when drawing just a glyph string, prepare_run() isn't called. (#315599, Choe Hwanjin) * pango/pango-renderer.c (pango_renderer_draw_layout_line): NULL out renderer->priv->line_state.
* Removed. Not needed since 2003 or so!Behdad Esfahbod2005-09-251-0/+5
| | | | | | | 2005-09-25 Behdad Esfahbod <behdad@gnome.org> * pango/mini-fribidi/fribidi_get_type.c: Removed. Not needed since 2003 or so!
* Move the calculation of dpi and size earlier. Use the size variable instadTor Lillqvist2005-09-221-0/+15
| | | | | | | | | | | | | | | | | 2005-09-22 Tor Lillqvist <tml@novell.com> * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): Move the calculation of dpi and size earlier. Use the size variable instad of isize when looking for a matching cached font. Isize was supposed to be the same as size anyway. (Actually it was the same only when LOGPIXELSY equalled 96 (which often is the default value), see below.) * pango/pangocairo-win32fontmap.c (pango_cairo_win32_font_map_init): Set dpi to the LOGPIXELSY value instead of hardcoding 96. * pango/Makefile.am (libpangocairo_1_0_la_LIBADD): Need WIN32_LIBS now.
* Update.Tor Lillqvist2005-09-141-0/+2
| | | | | | 2005-09-14 Tor Lillqvist <tml@novell.com> * README.win32: Update.
* Use identical glyph extents cacheing as in pangocairo-fcfont.c. HugeTor Lillqvist2005-09-141-0/+5
| | | | | | | 2005-09-14 Tor Lillqvist <tml@novell.com> * pango/pangocairo-win32font.c: Use identical glyph extents cacheing as in pangocairo-fcfont.c. Huge performance improvement.
* Have a list of metrics by language instead of just one metrics.Tor Lillqvist2005-09-141-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-09-14 Tor Lillqvist <tml@novell.com> * pango/pangocairo-win32font.c (struct _PangoCairoWin32Font): Have a list of metrics by language instead of just one metrics. (pango_cairo_win32_font_get_scaled_font): Use the name cwfont instead of cffont. (free_metrics_info, pango_cairo_win32_font_finalize): Free the metrics by language list. (create_metrics_for_context): New helper function. Approximate the character and digit widths correctly. (#314114) (pango_cairo_win32_font_get_metrics): Use the list of metrics by language. Call create_metrics_for_context() to measure metrics. (_pango_cairo_win32_font_new): Keep the PangoWin32Font objects in the PangoWin32Face::cached_fonts, like the pangowin32 backend does. PangoWin32Face::cached_fonts isn't really a proper cache. It's a list with unbound length, one PangoWin32Font per size. Once there is cacheing in cairo this can be dropped presumably? What does the pangofc backend do? There are too many levels of cacheing going on: we have the stuff in pangowin32-fontcache.c (unused now with cairo), the PangoWin32FontMap::freed_fonts cache, and the PangoWin32::cached_fonts list. * pango/pangowin32-fontmap.c (pango_win32_fontmap_cache_remove, pango_win32_fontmap_cache_clear): Use GQueue API instead of manipulating pointers manually. * pango/pangowin32-private.h * pango/pangowin32.c: Move PangoWin32MetricsInfo to the private header file, as also pangocairo-win32font.c uses it.