summaryrefslogtreecommitdiff
path: root/pango/pangox.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix warnings.Behdad Esfahbod2008-12-261-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-12-25 Behdad Esfahbod <behdad@gnome.org> * pango/break.c (pango_default_break): * pango/fonts.c (find_field_any), (pango_font_class_init), (pango_font_init), (pango_font_metrics_ref), (pango_font_metrics_unref), (pango_font_family_class_init), (pango_font_family_init), (pango_font_face_class_init), (pango_font_face_init): * pango/pango-attributes.c (pango_attr_list_ref), (pango_attr_list_unref), (pango_attr_iterator_get_font): * pango/pango-layout.c (pango_layout_set_height), (extents_free), (no_shape_filter_func), (pango_layout_line_ref), (pango_layout_line_unref), (pango_layout_get_item_properties): * pango/pango-markup.c (end_element_handler), (text_handler), (b_parse_func), (big_parse_func), (span_parse_func), (i_parse_func), (markup_parse_func), (s_parse_func), (sub_parse_func), (sup_parse_func), (small_parse_func), (tt_parse_func), (u_parse_func): * pango/pango-ot-info.c (get_glyph_class): * pango/pango-renderer.c (get_item_properties), (pango_renderer_default_prepare_run): * pango/pango-utils.c (_pango_shape_shape): * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_get_font_type), (pango_cairo_fc_font_map_context_substitute), (pango_cairo_fc_font_map_context_key_get), (pango_cairo_fc_font_map_context_key_copy), (pango_cairo_fc_font_map_context_key_free), (pango_cairo_fc_font_map_context_key_hash), (pango_cairo_fc_font_map_context_key_equal): * pango/pangocairo-fontmap.c (pango_cairo_font_map_new_for_font_type), (pango_cairo_font_map_set_default): * pango/pangocairo-render.c (pango_cairo_renderer_init): * pango/pangox-fontcache.c (free_cache_entry): * pango/pangox-fontmap.c (close_display_cb), (list_families_foreach), (pango_x_font_map_load_font), (ignore_error): * pango/pangox.c (average_width_foreach), (subfonts_foreach), (pango_x_font_find_shaper), (pango_x_get_unknown_glyph), (pango_x_get_item_properties), (pango_x_apply_ligatures), (pango_x_font_get_unknown_glyph): * pango/pangoxft-fontmap.c (pango_xft_font_map_init), (close_display_cb): * pango/querymodules.c (show_version): Fix warnings. svn path=/trunk/; revision=2765
* Fix a gcc warning.Kjartan Maraas2008-10-101-1/+1
| | | | | | | | 2008-10-10 Kjartan Maraas <kmaraas@gnome.org> * pango/pangox.c: (get_context_info): Fix a gcc warning. svn path=/trunk/; revision=2728
* Bug 143542 – PangoFT2Fontmap leakBehdad Esfahbod2008-08-221-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-08-22 Behdad Esfahbod <behdad@gnome.org> Bug 143542 – PangoFT2Fontmap leak * pango/fonts.c: * pango/pangoatsui.c (pango_atsui_font_finalize), (_pango_atsui_font_set_font_map): * pango/pangocairo-font.c (_pango_cairo_font_get_metrics), (_pango_cairo_font_private_get_hex_box_info): * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): * pango/pangofc-font.c (pango_fc_font_get_metrics): * pango/pangofc-fontmap.c (pango_fc_font_map_add), (_pango_fc_font_map_remove), (cleanup_font): * pango/pangowin32-fontmap.c (pango_win32_font_neww), (pango_win32_font_map_real_find_font): * pango/pangowin32.c (pango_win32_font_finalize): * pango/pangox-fontmap.c (pango_x_font_map_load_font): * pango/pangox.c (pango_x_font_new), (pango_x_font_finalize): Make the reference the font->fontmap reference weak. The code for setting the reference must look like this: g_assert (font->fontmap == NULL); font->fontmap = (PangoFontMap *) fontmap; g_object_add_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap); And releasing it like: g_assert (font->fontmap != NULL); g_object_remove_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap); font->fontmap = NULL; I have converted all fontmaps. The win32 and atsui ones can use some simple testing. The PangoFc fonts actually don't need the weakref as the fontmap already provides a similar link by itself. svn path=/trunk/; revision=2704
* Bug 547432: Deprecation of pango_(backend)_font_map_create_context() notSven Herzberg2008-08-121-3/+3
| | | | | | | | | | | | | | | | | | | 2008-08-12 Sven Herzberg <sven@imendio.com> Bug 547432: Deprecation of pango_(backend)_font_map_create_context() not clean reviewed by: Behdad Esfahbod * pango/pangocairo-fontmap.c, * pango/pangofc-fontmap.c, * pango/pangoft2-fontmap.c, * pango/pangowin32.c, * pango/pangox.c, * pango/pangoxft-fontmap.c: use "Deprecated:" for deprecation messages; fix the deprecation version number svn path=/trunk/; revision=2689
* Make the following API public:Behdad Esfahbod2008-08-061-33/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-08-05 Behdad Esfahbod <behdad@gnome.org> * pango/pango-context.c: * pango/pango-context.h: Make the following API public: pango_context_new() pango_context_set_font_map() * pango/pango-fontmap.c (pango_font_map_create_context): * pango/pango-fontmap.h: New public API: pango_font_map_create_context() * pango/pangocairo-context.c (pango_cairo_create_context): * pango/pangocairo-font.c (_pango_cairo_font_get_metrics), (_pango_cairo_font_private_get_hex_box_info): * pango/pangocairo-fontmap.c (pango_cairo_font_map_create_context): * pango/pangocairo.h: Deprecate pango_cairo_font_map_create_context(). * pango/pangofc-font.c (pango_fc_font_get_metrics): * pango/pangofc-fontmap.c (pango_fc_font_map_create_context): * pango/pangofc-fontmap.h: Deprecate pango_fc_font_map_create_context(). * pango/pangoft2-fontmap.c (pango_ft2_font_map_create_context), (pango_ft2_get_context): * pango/pangoft2.h: Deprecate pango_ft2_font_map_create_context(). * pango/pangowin32.c (pango_win32_get_context), (pango_win32_font_get_metrics): * pango/pangowin32.h: Deprecate pango_win32_get_context(). * pango/pangoxft-font.c (_pango_xft_font_get_mini_font): * pango/pangoxft-fontmap.c (pango_xft_get_context): * pango/pangoxft.h: Deprecate pango_xft_get_context(). * pango/pangox-fontmap.c (pango_x_font_map_for_display): * pango/pangox.c (get_context_info), (pango_x_get_context), (pango_x_context_set_funcs), (pango_x_render_layout_line): Deprecate pango_x_get_context(), again. * docs/pango-sections.txt: * docs/tmpl/fonts.sgml: * pango-view/viewer-pangocairo.c (pangocairo_view_get_context): * pango-view/viewer-pangoft2.c (pangoft2_view_get_context): * pango-view/viewer-pangox.c (pangox_view_get_context): * pango-view/viewer-pangoxft.c (pangoxft_view_get_context): * pango/check.defs: * pango/pango.def: Update. svn path=/trunk/; revision=2675
* Include "config.h" instead of <config.h> Command used: find -nameJohan Dahlin2008-06-221-1/+1
| | | | | | | | | | | | 2008-06-21 Johan Dahlin <jdahlin@async.com.br> * *.[ch]: Include "config.h" instead of <config.h> Command used: find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g' Rubberstamped by Behdad svn path=/trunk/; revision=2657
* Fixed gtk-doc warnings.Wouter Bolsterlee2008-01-281-1/+1
| | | | | | | | | | | | | | | 2008-01-28 Wouter Bolsterlee <wbolster@svn.gnome.org> * pango/pango-context.c: * pango/pango-fontmap.c: * pango/pango-utils.c: * pango/pangofc-fontmap.h: * pango/pangox.c: * pango/reorder-items.c: Fixed gtk-doc warnings. svn path=/trunk/; revision=2555
* Bug 478914 – Use something invalid instead of '?' when validating inputBehdad Esfahbod2007-12-101-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-12-10 Behdad Esfahbod <behdad@gnome.org> Bug 478914 – Use something invalid instead of '?' when validating input text * pango/pango-layout.c (pango_layout_set_text): Set invalid input bytes to -1, which gives a unichar value of -1, and eventually a glyph value of -1, aka PANGO_GLYPH_INVALID_INPUT. * pango/fonts.c (pango_font_get_glyph_extents), (pango_font_get_metrics), (pango_font_get_font_map): * pango/modules.c (build_map): * pango/pango-context.c (get_script), (get_shaper_and_font), (string_from_script), (itemize_state_process_run): * pango/pango-coverage.c (pango_coverage_get): * pango/pango-impl-utils.h: * pango/pango-utils.c: * pango/pangocairo-font.c (pango_cairo_font_get_scaled_font), (_pango_cairo_font_private_get_hex_box_info), (_pango_cairo_font_private_get_glyph_extents_missing): * pango/pangocairo-private.h: * pango/pangocairo-render.c (_pango_cairo_renderer_draw_frame), (_pango_cairo_renderer_draw_box_glyph), (_pango_cairo_renderer_draw_unknown_glyph): * pango/pangofc-fontmap.c (pango_fc_font_map_get_patterns): * pango/pangoft2-private.h: * pango/pangoft2-render.c (pango_ft2_font_render_box_glyph), (pango_ft2_font_render_glyph), (pango_ft2_renderer_draw_glyph): * pango/pangoft2.c (pango_ft2_font_get_face), (pango_ft2_font_get_glyph_extents): * pango/pangox.c (pango_x_find_subfont), (pango_x_render): * pango/pangoxft-font.c (_pango_xft_font_get_mini_font), (get_glyph_extents_missing), (pango_xft_font_get_font): * pango/pangoxft-private.h: * pango/pangoxft-render.c (get_total_matrix), (draw_box), (_pango_xft_renderer_draw_box_glyph), (_pango_xft_renderer_draw_unknown_glyph), (pango_xft_renderer_draw_glyphs): * pango/shape.c (pango_shape): Render PANGO_GLYPH_INVALID_INPUT to a single-width box with a cross inside. Also cleanup spewed warnings and warn at the source, where we fail to find a shaper, instead of at every location that we see a NULL font. * pango/pango-font.h: * docs/pango-sections.txt: * docs/tmpl/glyphs.sgml: New public macro: PANGO_GLYPH_INVALID_INPUT svn path=/trunk/; revision=2519
* Bug 481537 – compiler warning fixes Patch from Kjartan MaraasBehdad Esfahbod2007-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 2007-10-15 Behdad Esfahbod <behdad@gnome.org> Bug 481537 – compiler warning fixes Patch from Kjartan Maraas * pango/break.c (pango_get_log_attrs): * pango/pango-attributes.c (pango_attr_list_insert_internal): * pango/pango-layout.c (process_item), (justify_clusters): * pango/pango-markup.c (span_parse_boolean): * pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize), (pango_ot_ruleset_new): * pango/pango-utils.c (pango_scan_int): * pango/pangocairo-font.c (_pango_cairo_font_install): * pango/pangofc-font.c (pango_fc_font_create_metrics_for_context): * pango/pangoft2.c (load_fallback_face): * pango/pangox-fontmap.c (pango_x_get_coverage_win): * pango/pangox.c (itemize_string_foreach): Fix warnings. svn path=/trunk/; revision=2444
* Switch some g_new (*, 1) to g_slice_new ()... I know...Behdad Esfahbod2007-09-071-7/+14
| | | | | | | | | | | | | | | | | | 2007-09-07 Behdad Esfahbod <behdad@gnome.org> * pango/pangox-fontcache.c (free_cache_entry), (pango_x_font_cache_free), (pango_x_font_cache_new), (pango_x_font_cache_load): * pango/pangox-fontmap.c (pango_x_font_map_finalize), (pango_x_insert_font): * pango/pangox.c (free_context_info), (pango_x_get_context), (pango_x_font_init), (pango_x_font_get_metrics), (pango_x_insert_subfont), (free_metrics_info), (pango_x_font_finalize): Switch some g_new (*, 1) to g_slice_new ()... I know... svn path=/trunk/; revision=2423
* Add G_UNLIKELY() to type registration block in _get_type() functions.Behdad Esfahbod2007-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-20 Behdad Esfahbod <behdad@gnome.org> * pango/fonts.c (pango_font_description_get_type), (pango_font_metrics_get_type): * pango/glyphstring.c (pango_glyph_string_get_type): * pango/pango-attributes.c (pango_attr_list_get_type): * pango/pango-color.c (pango_color_get_type): * pango/pango-item.c (pango_item_get_type): * pango/pango-language.c (pango_language_get_type): * pango/pango-layout.c (pango_layout_line_get_type), (pango_layout_iter_get_type): * pango/pango-matrix.c (pango_matrix_get_type): * pango/pango-ot-info.c (pango_ot_info_get_type): * pango/pango-ot-ruleset.c (pango_ot_ruleset_get_type): * pango/pango-tabs.c (pango_tab_array_get_type): * pango/pangoatsui-fontmap.c (pango_atsui_family_get_type), (pango_atsui_face_get_type): * pango/pangofc-fontmap.c (pango_fc_face_get_type), (pango_fc_family_get_type): * pango/pangowin32-fontmap.c (pango_win32_family_get_type), (pango_win32_face_get_type): * pango/pangox-fontmap.c (pango_x_font_map_get_type), (pango_x_face_get_type), (pango_x_family_get_type): * pango/pangox.c (pango_x_font_get_type): Add G_UNLIKELY() to type registration block in _get_type() functions. svn path=/trunk/; revision=2364
* Bug 436988 – Adding PangoScript to PangoAnalysisBehdad Esfahbod2007-05-081-3/+1
| | | | | | | | | | | | | | | | | | 2007-05-08 Behdad Esfahbod <behdad@gnome.org> Bug 436988 – Adding PangoScript to PangoAnalysis * pango/pango-item.h: * pango/pango-context.c (itemize_state_add_character): Add a 'script' member to PangoAnalysis. It's added as a guint8 in the padding available in that struct, though it's value is a PangoScript. * pango/pangox.c (itemize_string_foreach): Update. svn path=/trunk/; revision=2267
* *.c, *.h: Replace preceding sequences of 8 spaces with tabs.Behdad Esfahbod2007-01-161-86/+86
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Replace preceding sequences of 8 spaces with tabs. svn path=/trunk/; revision=2165
* *.c, *.h: Drop trailing whitespace.Behdad Esfahbod2007-01-161-119/+119
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Drop trailing whitespace. svn path=/trunk/; revision=2163
* Use pango_layout(_iter)?_get_line_readonly() instead ofBehdad Esfahbod2007-01-161-1/+1
| | | | | | | | | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> * examples/cairotwisted.c (draw_text): * pango/pangocairo-win32font.c (max_glyph_width): * pango/pangofc-font.c (max_glyph_width): * pango/pangowin32.c (max_glyph_width), (pango_win32_render_layout): * pango/pangox.c (pango_x_render_layout): Use pango_layout(_iter)?_get_line_readonly() instead of pango_layout(_iter)?_get_line(). svn path=/trunk/; revision=2146
* Spell-check the docs.Behdad Esfahbod2007-01-071-2/+2
| | | | svn path=/trunk/; revision=2130
* Make TypeInfo structs not static. Reduces relocations.Behdad Esfahbod2006-10-131-1/+1
| | | | | | | | | | | | | | | | | | | 2006-10-13 Behdad Esfahbod <behdad@gnome.org> * pango/pango-ot-info.c (pango_ot_info_get_type): * pango/pango-ot-ruleset.c (pango_ot_ruleset_get_type): * pango/pangoatsui-fontmap.c (pango_atsui_family_get_type), (pango_atsui_face_get_type): * pango/pangocairo-font.c (pango_cairo_font_get_type): * pango/pangocairo-fontmap.c (pango_cairo_font_map_get_type): * pango/pangofc-fontmap.c (pango_fc_face_get_type), (pango_fc_family_get_type): * pango/pangowin32-fontmap.c (pango_win32_family_get_type), (pango_win32_face_get_type): * pango/pangox-fontmap.c (pango_x_font_map_get_type), (pango_x_face_get_type), (pango_x_family_get_type): * pango/pangox.c (pango_x_font_get_type): Make TypeInfo structs not static. Reduces relocations.
* Bug 355435 – Invalid calls to pango_map_get_engine() Patch fromBehdad Esfahbod2006-09-111-1/+3
| | | | | | | | | | | | | | 2006-09-11 Behdad Esfahbod <behdad@gnome.org> Bug 355435 – Invalid calls to pango_map_get_engine() Patch from Theppitak Karoonboonyanan * pango/break.c (pango_get_log_attrs): * pango/pango-renderer.c (add_underline): * pango/pangofc-font.c (pango_fc_font_find_shaper): * pango/pangowin32.c (pango_win32_font_find_shaper): * pango/pangox.c (pango_x_font_find_shaper): Pass a PangoScript to pango_map_get_engine, not a gunichar!
* Minor doc syntax update.Behdad Esfahbod2006-08-311-1/+1
| | | | | | | 2006-08-31 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout.c, pango/pangox-fontmap.c, pango/pangox.c: Minor doc syntax update.
* Check for nullity somewhere else.Behdad Esfahbod2006-04-131-21/+24
| | | | | | | 2006-04-13 Behdad Esfahbod <behdad@gnome.org> * pango/pangox.c (get_font_metrics_from_subfonts): Check for nullity somewhere else.
* Fix minor bugs reported by the Coverity scan report.Behdad Esfahbod2006-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 2006-04-10 Behdad Esfahbod <behdad@gnome.org> Fix minor bugs reported by the Coverity scan report. * pango/opentype/harfbuzz-gdef.c (HB_GDEF_Build_ClassDefinition): * pango/opentype/harfbuzz-gpos.c (HB_GPOS_Query_Scripts), (HB_GPOS_Query_Languages), (HB_GPOS_Query_Features): Do not access structs before we check them for nullity. * pango/pango-layout.c (pango_layout_index_to_line), (pango_layout_index_to_line_and_extents), (pango_layout_index_to_pos): Check for invalid iterators outside the loop, so we don't crash. * pango/pango-layout.c (pango_layout_line_x_to_index): Set char_trailing instead of trailing in one of too many paths. Should have been a typo. * pango/pangox.c (get_font_metrics_from_subfonts): Check for nullity somewhere.
* Hook up pango-utils.h into the documentation, as we are installing itBehdad Esfahbod2006-03-311-1/+1
| | | | | | | | 2006-03-30 Behdad Esfahbod <behdad@gnome.org> Hook up pango-utils.h into the documentation, as we are installing it anyway. Move some internal stuff to pango-impl-utils.h and make source files include that instead.
* Bug 330289 – Fix build with gcc 2.95 (pangox.c)Behdad Esfahbod2006-02-081-1/+4
| | | | | | | | 2006-02-07 Behdad Esfahbod <behdad@gnome.org> Bug 330289 – Fix build with gcc 2.95 (pangox.c) * pango/pangox.c (get_subfonts_foreach): Fixed.
* Warn only once per font-description that cannot be loaded.Behdad Esfahbod2006-02-061-38/+83
| | | | | | | | | | 2006-02-06 Behdad Esfahbod <behdad@gnome.org> * pango/pango-fontmap.c (pango_font_map_real_load_fontset): Warn only once per font-description that cannot be loaded. * pango/pangox.c: Make it not crash if no font found, like other backends.
* Change PANGO_GLYPH_EMPTY to 0x0FFFFFFF, to not overlap withBehdad Esfahbod2006-02-051-5/+5
| | | | | | | | | | | | | | | | | | | | | | | 2006-02-04 Behdad Esfahbod <behdad@gnome.org> * pango/pango-types.h: Change PANGO_GLYPH_EMPTY to 0x0FFFFFFF, to not overlap with PANGO_GLYPH_UNKNOWN_FLAG (0x10000000). Define PANGO_GET_UNKNOWN_GLYPH(wc) that simply returns wc|PANGO_GLYPH_UNKNOWN_FLAG. * docs/pango-sections.txt, docs/tmpl/glyphs.sgml: Document new symbols. * modules/*/*.c: Use PANGO_GET_UNKNOWN_GLYPH instead of various backend-specific functions. * pango/pangofc-font.c, pango/pangoft.c, pango/pangoxft-font.c, * pango/pangowin32.c, pango/pangox.c: Suggest using PANGO_GET_UNKNOWN_GLYPH in docs. * pango/pangofc-font.h: Deprecate pango_fc_font_get_unknown_glyph(). * pango/pangowin32.h: Deprecate pango_win32_get_unknown_glyph().
* Finish the 'glyph 0' work of this morning: PANGO_GLYPH_NULL that IBehdad Esfahbod2006-02-031-83/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-02-02 Behdad Esfahbod <behdad@gnome.org> Finish the 'glyph 0' work of this morning: PANGO_GLYPH_NULL that I introduced is renamed to PANGO_GLYPH_EMPTY. It means, no rendering should be performed. The backends however, still return 0 if a glyph is not found. The modules then are free to replace this 0 glyph with an unknown character. * modules/arabic/arabic-fc.c, modules/basic/basic-atsui.c, modules/basic/basic-fc.c, modules/basic/basic-win32.c, modules/basic/basic-x.c, modules/hangul/hangul-fc.c, modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c, modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c, modules/thai/thai-fc.c, modules/tibetan/tibetan-fc.c, pango/pangox.c, pango/pangowin32.c: Adapt to above change. Backends return 0 if glyph not found. * pango/fonts.c (pango_font_get_glyph_extents): If font is not usable (!PANGO_IS_FONT (font)), return the generic UNKNOWN_GLYPH metrics. This is used when your backends are misconfigured and you don't find *any* font at all. * pango/pango-engince.c: Add unknown glyphs in fallback shaper, instead of empty glyphs. * pango/shape.c: Call the fall-back shaper if shaper fails, instead of generating a dummy glyph string ourselves. * pango/pango-layout.c (imposed_shape, shape_tab): Use PANGO_GLYPH_EMPTY instead of glyph 0. * pango/pango-renderer.c (pango_renderer_draw_glyph): No-op on PANGO_GLYPH_EMPTY instead of glyph 0. * pango/pangocairo-atsuifont.c, pango/pangocairo-win32font.c, pango/pangocairo-fcfont.c, pango/pangocairo-font.c, pango/pangocairo-private.h: install_font returns a boolean now. * pango/pangocairo-render.c, pango/pangoxft-render.c: Handle font and hex-box failures more gracefully by drawing a generic unknown-box glyph. * pango/pangoft2.c, pango/pangoft2-render.c: Draw the generic unknown-box glyph here too. For unknown glyphs though, if the font is TTF (FT_IS_SFNT), use the zero-indexed glyph, otherwise, draw a box of proper size.
* Use PANGO_GLYPH_NULL for when no glyph should be drawn. UseBehdad Esfahbod2006-02-021-11/+9
| | | | | | | | | | | | | | | | | | | | | | | 2006-02-02 Behdad Esfahbod <behdad@gnome.org> * modules/arabic/arabic-fc.c, modules/basic/basic-atsui.c, modules/basic/basic-fc.c, modules/basic/basic-win32.c, modules/basic/basic-x.c, modules/hangul/hangul-fc.c, modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c, modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c, modules/thai/thai-fc.c, modules/tibetan/tibetan-fc.c, pango/fonts.c, pango/pango-engine-private.h pango/pango-types.h, pango/pangocairo-fcfont.c, pango/pangocairo-font.c, pango/pangocairo-private.h, pango/pangocairo-render.c, pango/pangofc-decoder.c, pango/pangofc-font.c, pango/pangoft2-render.c, pango/pangoft2.c pango/pangowin32.c, pango/pangox.c, pango/pangoxft-font.c pango/pangoxft-private.h, pango/pangoxft-render.c, pango/shape.c: Use PANGO_GLYPH_NULL for when no glyph should be drawn. Use PANGO_GLYPH_UNKNOWN_FLAG for all backends to mark unknown flags. There's no need for pango_font_get_unknown_glyph() anymore, since all backends know how to handle PANGO_GLYPH_UNKNOWN_FLAG gracefully. We may add that in the future however. (fixes bug #73147, closes bug #329524)
* Make sure #include <config.h> is the first include in the file. (bugBehdad Esfahbod2006-01-141-2/+1
| | | | | | | 2006-01-14 Behdad Esfahbod <behdad@gnome.org> * */*.c, */*/*.c: Make sure #include <config.h> is the first include in the file. (bug #158870, based on patch by Luis Menina)
* pango/Makefile.am, pango/fonts.c, pango/glyphstring.c,Behdad Esfahbod2006-01-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-05 Behdad Esfahbod <behdad@gnome.org> * pango/Makefile.am, * pango/fonts.c, * pango/glyphstring.c, * pango/pango-attributes.c, * pango/pango-color.c, * pango/pango-impl-utils.h, * pango/pango-item.c, * pango/pango-layout.c, * pango/pango-tabs.c, * pango/pango-utils.c, * pango/pango-utils.h, * pango/pangoatsui-fontmap.c, * pango/pangocairo-font.c, * pango/pangocairo-fontmap.c, * pango/pangofc-fontmap.c, * pango/pangowin32-fontmap.c, * pango/pangox-fontmap.c, * pango/pangox.c, * pango/opentype/pango-ot-info.c, * pango/opentype/pango-ot-ruleset.c: Intern strings to avoid unnecessary strdups in the type system. (bug #325832, Matthias Clasen)
* Various documentation improvements.Behdad Esfahbod2005-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Turn various gcc warnings off. Adding const, adding static, fullyBehdad Esfahbod2005-11-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Updated to FriBidi version 0.10.7 patched to handle UTF-8 directly. MovedBehdad Esfahbod2005-11-031-9/+1
| | | | | | | | | | | 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)
* map get_font_map to the right function.Manish Singh2005-02-251-0/+1
| | | | | | | | | Fri Feb 25 12:14:24 2005 Manish Singh <yosh@gimp.org> * pango/pangofc-font.c (pango_fc_font_class_init): map get_font_map to the right function. * pango/pangox.c (pango_x_font_class_init): fill in get_font_map.
* PangoCairoFontMap for win32 fonts.Owen Taylor2005-02-241-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-02-24 Owen Taylor <otaylor@redhat.com> * pango/pangocairo-win32.h pango/pangocairo-win32font.c pango/pangocairo-win32fontmap.c pango/Makefile.am: PangoCairoFontMap for win32 fonts. * pango/pangocairo-fontmap.c: Use PangoCairoWin32FontMap when available. * pango/pangowin32.h pango/pangowin32-fontmap.h pango/pangowin32.c: Add virtual pango_win32_font_select_font() to prepare a DC for use with a PangoWin32Font, and to release, pango_win32_font_scale_font() to get logical unit => Pango units scale, pango_win32_font_done_font() to release resources. * pango/pangowin32-fontmap.[ch]: Add a find_font() virtual method to allow subclasses that change how PangoFont lookup and creation happens. * pango/pangowin32-fontmap.c: Move initialization into pango_win32_font_map_init() to facilitate derivation. * pango/pangowin2.c pango/pangowin32-fontmap.c pango/pangowin32-private.h: Move PangoWin32Font/PangoWin32FontMap definitions into pangowin32-private.h to allow derivation for PangoCairoWin32Font. * modules/basic/basic-win32.c: Use pango_win32_font_select_font() and friends. * modules/basic/basic-win32.c: Use g_utf8_to_utf16 instead of g_convert for simplicity and speed. * pango/fonts.c (pango_font_get_font_map) pango/pango-font.h pango/pangofc-font.c pango/pangowin32.c pango/pango.c pango/pango.def docs/pango-sections.txt: Add a virtual function to get the fontmap for a font. * pango/pangocairo-render.c: Use pango_font_get_font_map() rather than PangoFcFontMap hack. * pango/pango-types.h: Move the declaration of PangoFontMap here to avoid interactions between pango-font.h and pango-fontmap.h. * pango/pangocairo.h: Remove accidental include of pangofc-fontmap.h.
* Add some missing statics. (#142299, Morten Welinder)Owen Taylor2004-05-271-2/+2
| | | | | | | Thu May 27 15:42:20 2004 Owen Taylor <otaylor@redhat.com> * pango/pangox-fontmap.c pango/pangox.c: Add some missing statics. (#142299, Morten Welinder)
* Fix up off-by-one for right bound when drawing PANGO_UNDERLINE_ERROR.Owen Taylor2004-02-291-1/+1
| | | | | | | | Sun Feb 29 15:54:51 2004 Owen Taylor <otaylor@redhat.com> * pango/pangowin32.c pango/pangox.c pango/pangoft2.c: Fix up off-by-one for right bound when drawing PANGO_UNDERLINE_ERROR.
* un Feb 29 15:31:09 2004 Owen Taylor <otaylor@redhat.com>Owen Taylor2004-02-291-0/+21
| | | | | | | | | | | | | Patch from Nicolas Setton, #114237 * pango/pango-attributes.h pango/pango-markup.c: Add a new underline type, PANGO_UNDERLINE_ERROR. * pango/pangowin32.c pango/pangox.c pango/pangoft2.c: Implement drawing of PANGO_UNDERLINE_ERROR. * pango/pango-layout.c (pango_layout_run_get_extents): Handle PANGO_UNDERLINE_ERROR.
* Remove.Owen Taylor2003-08-021-459/+14
| | | | | | | | | | | | Sat Aug 2 14:10:31 2003 Owen Taylor <otaylor@redhat.com> * pango/Makefile.am pango/pango-intset.[ch] pango/pango-indic.[ch]: Remove. * pango/pangox.c (pango_x_apply_ligatures): Make a noop, remove associated code. * pango/pangox-fontmap.c pango/pangox.[ch]: Deprecate everything.
* Patch from Morten Welinder to collect characters into runs of the sameOwen Taylor2003-05-271-14/+47
| | | | | | | | | Tue May 27 16:06:34 2003 Owen Taylor <otaylor@redhat.com> * pango/pangox.c (pango_x_render): Patch from Morten Welinder to collect characters into runs of the same font with natural offsets before drawing them. (#106892, Morten Welinder)
* Use g_object_new() rather than g_type_create_instance() (Patch fromOwen Taylor2003-05-271-1/+1
| | | | | | | | | | | | Tue May 27 12:32:43 2003 Owen Taylor <otaylor@redhat.com> * pango/pango-context.c (pango_context_new) pango/pango-layout.c (pango_context_new) pango/pango-win32.c (pango_win32_font_map_for_display) pango/pangox-fontmap.c (pango_x_font_map_for_display) pango/pangox.c (pango_x_font_new): Use g_object_new() rather than g_type_create_instance() (Patch from Benjamin Otte, #112786)
* pango/pangoft2.c (pango_ft2_render_layout) pango/pangowin32.cSven Neumann2003-04-021-58/+18
| | | | | | | | | | 2003-04-02 Sven Neumann <sven@gimp.org> * pango/pangoft2.c (pango_ft2_render_layout) * pango/pangowin32.c (pango_win32_render_layout) * pango/pangox.c (pango_x_render_layout): use a PangoLayoutIter to iterate over the lines and let render_layout_line() do the actual rendering. Fixes bug #105292.
* Draw the unknown glyph box with X primitives rather than hoping that someOwen Taylor2002-12-091-85/+86
| | | | | | | | | | | | | Sun Dec 8 22:57:55 2002 Owen Taylor <otaylor@redhat.com> * pango/pangox.c: Draw the unknown glyph box with X primitives rather than hoping that some font has an actualpainting unknown glyph... that code was apparently still working badly. Use "en" not NULL as the language tags for getting the metrics for the return glyph and the unknown character glyph... NULL gives too large results. (#98245, Based on a patch from Morten Welinder.)
* Roughly clip glyphs into the X coordinate area to avoid wrap-around.Owen Taylor2002-12-071-13/+27
| | | | | | | | Fri Dec 6 23:07:58 2002 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (pango_xft_real_render) pango/pangox.c (pango_x_render): Roughly clip glyphs into the X coordinate area to avoid wrap-around. (#73199)
* Get rid of unnecessary casts for g_object_{ref,unref}Manish Singh2002-10-141-2/+2
| | | | | | | | | | Mon Oct 14 15:39:41 2002 Manish Singh <yosh@gimp.org> * pango/pango-context.c pango/pango-layout.c pango/pangoft2.c pango/pangowin32-fontmap.c pango/pangowin32.c pango/pangox-fontmap.c pango/pangox.c pango/pangoxft-font.c pango/pangoxft-fontmap.c pango/testfonts.c pango/opentype/pango-ot-ruleset.c: Get rid of unnecessary casts for g_object_{ref,unref}
* Make charset ordering more important than ordering in the fontOwen Taylor2002-07-311-3/+4
| | | | | | | | | Wed Jul 31 14:41:07 2002 Owen Taylor <otaylor@redhat.com> * pango/pangox.c (pango_x_list_subfonts): Make charset ordering more important than ordering in the font specfication, and document the previously undocumented ordering. (#88562, Brian Yuan.)
* Add a implementation of strtok_r (copied from glibc) for machines thatOwen Taylor2002-05-131-8/+48
| | | | | | | | | | | | Mon May 13 14:58:12 2002 Owen Taylor <otaylor@redhat.com> * pango/pangox.c configure.in: Add a implementation of strtok_r (copied from glibc) for machines that don't have it. (#79472, Jacob Berkman.) * pango/querymodules.c: Use printf() rather than g_print, since we don't want encoding conversion. (#77341)
* Rewrite average_digit_width computation to go through the same shapingOwen Taylor2002-03-251-105/+147
| | | | | | | | | | | | | | | | | Mon Mar 25 14:52:29 2002 Owen Taylor <otaylor@redhat.com> * pango/pangox.c (pango_x_font_get_metrics): Rewrite average_digit_width computation to go through the same shaping hack as the average_char_width code. (Part of #53425) * pango/pangox.c (pango_x_font_describe): Implement except for results of pango_x_font_load(). * pango/pangox.c (pango_x_load_font): Document as "don't use". * pango/pangox.[ch] (pango_x_load_font): Add missing const.
* Fix problem with returned width on lines other than the first lineOwen Taylor2001-12-101-1/+1
| | | | | | | | | | Mon Dec 10 09:18:09 2001 Owen Taylor <otaylor@redhat.com> * pango/pango-layout.c (pango_layout_index_to_pos): Fix problem with returned width on lines other than the first line (#66274). * pango/pangox,ft2,win32.c (pango_*_render_layout): Fix problem where indent wasn't honored (#66275). [ Note, however, there are remaining problems - see, #66626 ]
* acconfig.h support for --with-xftconfig-dir= path to system XftConfig fileManish Singh2001-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | 2001-11-24 Manish Singh <yosh@gimp.org> * acconfig.h * configure.in: support for --with-xftconfig-dir= path to system XftConfig file * pango/pango-utils.c * pango/pangox.c: include "config.h", not <config.h> * pango/pangoxft-fontmap.c: this file is pangoxft-fontmap.c, not pangoxft-fontmap.h :) * pango/mini-xft/minixftint.h * pango/mini-xft/minixftinit.c: add code for searching common locations for the XftConfig file. We search MINI_XFTCONFIG_DIR if configure defines it for us (as above), then $sysconfdir, then (only on !_WIN32) /etc/X11 and /usr/X11R6/lib/X11.
* Check for LEX and YACC. This will be made optional later, with the buildAlexander Larsson2001-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-11-17 Alexander Larsson <alla@lysator.liu.se> * configure.in: Check for LEX and YACC. This will be made optional later, with the build sources checked in to cvs. Generate pango/mini-xft/Makefile * modules/basic/basic-ft2.c: Use the new pangoft2 API. * pango/Makefile.am: Build mini-xft. Add new files. * pango/pango-context.[ch]: Support only one fontmap per context. Use pango_font_map_load_fontset() and PangoFontset instead of internal fontset. * pango/pango-fontmap.[ch]: New virtual function pango_font_map_load_fontset() and default implementation that uses pango_font_map_load_font(). * pango/pango-utils.[ch] (pango_lookup_aliases): Utility function for looking up aliases. This can be used by backend that has no backend specific aliases. * pango/pangoft2-fontcache.c: Removed file. * pango/pangoft2-fontmap.c: * pango/pangoft2-private.h: * pango/pangoft2.c: * pango/pangoft2.h: Major rewrite. Doesn't handle fontsets. Uses mini-xft so that it will always match the PangoXft backend. Simplified the public API. * pango/pangowin32.c: * pango/pangox.c: pango_context_add_font_map -> pango_context_set_font_map * pango/pangoxft-font.c: * pango/pangoxft-fontmap.c: * pango/pangoxft-private.h: New code to handle fontsets. * pango/mini-xft/*: Mini version of libXft from XFree86 in order to have the pangoFT2 and pangXft backends have same config files and generate the same fonts.