summaryrefslogtreecommitdiff
path: root/pango/pangoxft-font.c
Commit message (Collapse)AuthorAgeFilesLines
* [pangofc] Add a "fontmap" property to PangoFcFontBehdad Esfahbod2009-03-131-0/+1
| | | | | | | | | | | Gecko uses its own PangoFcFontMap subclass with its own PangoFontSet. Previously we were setting font->fontmap in our own private PangoFcFontSet. Now it's up to the PangoFcFont subclass to set it when creating the new font object. Also adds the following backend-public symbol: pango_fc_font_map_find_decoder()
* Don't call exit(). Let us crash.Behdad Esfahbod2008-12-091-7/+1
| | | | | | | | | 2008-12-09 Behdad Esfahbod <behdad@gnome.org> * pango/pangoxft-font.c (pango_xft_font_init), (load_fallback_font): Don't call exit(). Let us crash. svn path=/trunk/; revision=2756
* Make the following API public:Behdad Esfahbod2008-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Bug 478914 – Use something invalid instead of '?' when validating inputBehdad Esfahbod2007-12-101-17/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* *.c, *.h: Removed spaces followed b tabs.Behdad Esfahbod2007-01-161-2/+2
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Removed spaces followed b tabs. svn path=/trunk/; revision=2166
* *.c, *.h: Replace preceding sequences of 8 spaces with tabs.Behdad Esfahbod2007-01-161-4/+4
| | | | | | | | | 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-34/+34
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Drop trailing whitespace. svn path=/trunk/; revision=2163
* Spell-check the docs.Behdad Esfahbod2007-01-071-3/+3
| | | | svn path=/trunk/; revision=2130
* Update docs to note a size value of zero may have been set explicitly.Behdad Esfahbod2006-05-111-2/+2
| | | | | | | | | | | | | | | | | | 2006-05-11 Behdad Esfahbod <behdad@gnome.org> * pango/fonts.c (pango_font_description_set_size): Update docs to note a size value of zero may have been set explicitly. * pango/pango-context.c (pango_context_load_font): Don't warn if font size if zero. * pango/pangoatsui-fontmap.c (pango_atsui_font_map_load_font): * pango/pangox-fontmap.c (pango_x_font_map_load_font): Don't return if size is zero (probably will fail with no fonts found.) * pango/pangoxft-fontmap.c (pango_xft_font_map_default_substitute): * Xft chokes on size zero. Reassing PIXEL_SIZE to 1.0 if it's zero.
* Bug 307196 – Unhinted fonts are measured incorrectly and drawingBehdad Esfahbod2006-04-291-0/+6
| | | | | | | | | | | | | | | 2006-04-29 Behdad Esfahbod <behdad@gnome.org> Bug 307196 – Unhinted fonts are measured incorrectly and drawing problems occur as a result * pango/pangofc-font.c (get_face_metrics), (pango_fc_font_get_raw_extents): * pango/pangoxft-font.c (_pango_xft_font_new): Rollback previous change that forced metrics hinting always on. * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new): Set fcfont metrics hinting based on cairo font options.
* Don't use is_hinted. Metrics are always hinted now.Behdad Esfahbod2006-04-281-6/+0
| | | | | | | | | | | 2006-04-28 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-font.c (get_face_metrics), (pango_fc_font_get_raw_extents): Don't use is_hinted. Metrics are always hinted now. * pango/pangoxft-font.c (_pango_xft_font_new): Remove hack that forced is_hinted to TRUE.
* Change g_critical to g_warning. We already handle them gracefully.Behdad Esfahbod2006-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 2006-02-21 Behdad Esfahbod <behdad@gnome.org> * pango/fonts.c, pango/glyphstring.c, pango/pango-fontmap.c, pango/pango-ot-buffer.c, pango/pangocairo-font.c, pango/pangoft2.c, pango/pangoxft-font.c, pango/shape.c: Change g_critical to g_warning. We already handle them gracefully. Bug 331994 – --disable-debug removes G_DISABLE_CAST_CHECKS Patch from charlet@act-europe.fr * configure.in: Do not lose PANGO_DEBUG_FLAGS when reassigning. Bug 331995 – pango_layout_set_text optimization Patch from charlet@act-europe.fr * pango/pango-layout.c: Do not validate input text if asserts are disabled. Moreover, do not truncate input text on invalid sequence. Bug 331996 – avoid crashes in win32 font handling Patch from charlet@act-europe.fr * pango/pangofc-fontmap.c, pango/pangowin32-fontmap.c, pango/pangowin32.c: if (!font) return NULL in a number of places.
* Change PANGO_GLYPH_EMPTY to 0x0FFFFFFF, to not overlap withBehdad Esfahbod2006-02-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 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-20/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Guard Xft backend agains crashes too.Behdad Esfahbod2006-02-021-2/+15
| | | | | | | 2006-02-02 Behdad Esfahbod <behdad@gnome.org> * pango/pangoxft-font.c, pango/pangoxft-render.c: Guard Xft backend agains crashes too.
* Use PANGO_GLYPH_NULL for when no glyph should be drawn. UseBehdad Esfahbod2006-02-021-28/+16
| | | | | | | | | | | | | | | | | | | | | | | 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)
* If locking font face failed, do not assert, just return zero glyphs withBehdad Esfahbod2006-01-291-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-29 Behdad Esfahbod <behdad@gnome.org> * modules/arabic/arabic-fc.c, modules/basic/basic-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-ot.c, modules/thai/thai-shaper.c modules/tibetan/tibetan-fc.c: If locking font face failed, do not assert, just return zero glyphs with an implicit warning. * pango/fonts.c, pango/glyphstring.c pango/modules.c pango/pango-color.c, pango/pango-context.c pango/pango-coverage.c, pango/pango-fontmap.c pango/pango-glyph-item.c, pango/pango-item.c pango/pango-layout.c, pango/pango-markup.c pango/pango-ot-buffer.c, pango/pango-script.c pango/pango-tabs.c, pango/pango-utils.c pango/pangoatsui-fontmap.c, pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap.c, pango/pangocairo-fontmap.c pango/pangocairo-win32font.c, pango/pangofc-font.c pango/pangofc-fontmap.c, pango/pangoft2-fontmap.c pango/pangoft2-render.c, pango/pangoft2.c pango/pangowin32-fontcache.c, pango/pangoxft-font.c pango/pangoxft-render.c, pango/break.c pango/ellipsize.c: Use g_slice for allocating all types. Also, change some g_error's to g_critical's...
* Make matrix parameter const.Behdad Esfahbod2006-01-211-3/+3
| | | | | | | | | | | | | | | 2006-01-21 Behdad Esfahbod <behdad@gnome.org> * pango/pango-types.h, pango/pango-utils.h (pango_matrix_get_font_scale_factor): Make matrix parameter const. * pango/fonts.c, pango/pango-context.c, pango/pango-coverage.c, pango/pango-fontset.c, pango/pango-layout.c, pango/pango-renderer.c, pango/pango-types.h, pango/pango-utils.c, pango/pangocairo-atsuifont.c, pango/pangofc-font.c, pango/pangoft2-fontmap.c, pango/pangowin32-fontmap.c, pango/pangowin32.c, pango/pangox-fontmap.c, pango/pangoxft-font.c: Replace "Returns:" with "Return value:" in docs.
* Make sure #include <config.h> is the first include in the file. (bugBehdad Esfahbod2006-01-141-1/+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)
* Load a font suitable for viewing English text when creating mini font forBehdad Esfahbod2005-11-221-2/+9
| | | | | | | | 2005-11-22 Behdad Esfahbod <behdad@gnome.org> * pango/pangoxft-font.c (_pango_xft_font_get_mini_font): Load a font suitable for viewing English text when creating mini font for hex boxes. (#312477)
* More documentation improvements.Behdad Esfahbod2005-11-171-3/+3
| | | | | | | | | | | | | | 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.
* Turn various gcc warnings off. Adding const, adding static, fullyBehdad Esfahbod2005-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Force on metrics hinting for all Xft fonts (this fixes font metrics -Owen Taylor2005-07-211-0/+6
| | | | | | | | | 2005-07-21 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (_pango_xft_font_new): Force on metrics hinting for all Xft fonts (this fixes font metrics - glyph metrics were fixed earlier). (#307196, Alex Jones)
* Go back to using Xft-reported metrics for all non-transformed fonts.Owen Taylor2005-03-021-1/+1
| | | | | | | | | | | 2005-03-02 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (pango_xft_font_get_glyph_extents): Go back to using Xft-reported metrics for all non-transformed fonts. Reporting non-integer glyph metrics for fonts where people have disabled hinting in their config causes various problems. (reported variously, including #167801, Adam Sampson)
* Fix a typo in the last commit (Manish Singh)Owen Taylor2005-03-011-1/+1
| | | | | | | 2005-03-01 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c: Fix a typo in the last commit (Manish Singh)
* Delete FC_SPACING value out of pattern before passing it to Xft, toOwen Taylor2005-03-011-1/+4
| | | | | | | | | 2005-03-01 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (xft_font_get_font): Delete FC_SPACING value out of pattern before passing it to Xft, to prevent Xft clipping characters and trashing metrics. (#164879, Billy Biggs)
* Add pixel sizes for fonts (#119081, patch from Chris Lahey)Owen Taylor2004-12-161-3/+14
| | | | | | | | | | | | | | | | | | | | | Wed Dec 15 22:09:42 2004 Owen Taylor <otaylor@redhat.com> Add pixel sizes for fonts (#119081, patch from Chris Lahey) * pango/fonts.c pango/pango-font.h: Add pango_font_description_set_absolute_size(), pango_font_description_get_size_is_absolute() * pango/pango-attributes.[ch]: Add pango_attr_size_new_absolute(), change PANGO_ATTR_SIZE from PangoAttrInt to PangoAttrSize (preserves compat because first component is identical) * pango/pangowin32-fontmap.c (pango_win32_font_map_load_font): For absolute sizes, convert pixels to points, before calling pango_win32_font_new(). * pango/pangofc-fontmap.c pango/pangoft2.c pango/pangoxft-font.c: Handle absolute sizes.
* Fix double multiplication by PANGO_SCALE. (#157419, Matthias Clasen)Owen Taylor2004-11-211-4/+4
| | | | | | | | | | | | | | Sat Nov 20 23:50:40 2004 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (get_glyph_extents_missing): Fix double multiplication by PANGO_SCALE. (#157419, Matthias Clasen) * pango/pangoxft-render.c (box_in_bounds): Fix sign typo. * pango/pangoxft-render.c (pango_xft_renderer_draw_glyphs): * pango/pangoxft-font.c (get_glyph_extents_missing): Adjust vertical positioning so that we get integral positioning of the box without a transform.
* Up version to 1.7.0.Owen Taylor2004-09-241-253/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fri Sep 24 12:59:22 2004 Owen Taylor <otaylor@redhat.com> * configure.in: Up version to 1.7.0. * pango/pango-renderer.[ch] pango/pango.h pango/Makefile.am: Add PangoRenderer, a base class that is subclassed to produce rendering drivers for different backends and purposes. * pango/pangoft2-private.h pango/pangoft2-render.c pango/pangoft2.c: Move rendering into pangoft2-render.c, use PangoRenderer. * pango/pangoft2-fontmap.c pango/pangoft2-private.h: Add _pango_ft2_font_map_get_renderer() to retrieve a singleton fontmap for the fontmap. * pango/pangoxft-render.[ch] pango/pangoxft.c pango/Makefile.am: Make Xft rendering use PangoRenderer, add publically visible, subclassable PangoXftRenderer. * pango/pangoxft-fontmap.c pango/pangoxft-private.h: Add _pango_xft_font_map_get_renderer() to retrieve a singleton fontmap for the fontmap. * examples/xftview.c examples/Makefile.am: Add a test program using the Xft backend. * docs/*: Update minimally for PangoRenderer.
* Use get_glyph_extents_raw() when hinting is disabled as well as when weOwen Taylor2004-09-221-1/+1
| | | | | | | | | | | | Wed Sep 22 16:15:40 2004 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (pango_xft_font_get_glyph_extents): Use get_glyph_extents_raw() when hinting is disabled as well as when we are transforming. (#152529, Vincent Noel) * pango/pangofc-font.c (pango_fc_font_get_raw_extents): Duplicate the fix for non-scalable fonts from get_face_metrics() here as well.
* mini_width/height are still (before render patch) in pixels, not PangoOwen Taylor2004-07-261-4/+4
| | | | | | | | Mon Jul 26 15:55:03 2004 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (get_glyph_extents_missing): mini_width/height are still (before render patch) in pixels, not Pango units.
* Need to export this function as a symbol if not in the header file sinceOwen Taylor2004-07-191-6/+6
| | | | | | | | | Fri Jul 16 10:29:40 2004 Owen Taylor <otaylor@redhat.com> * pango/pangofc-font.c pango/pangofc-private.h (pango_fc_font_get_raw_extents): Need to export this function as a symbol if not in the header file since it is used by PangoXft.
* Fix C99ism. (#147415, self.)Morten Welinder2004-07-121-1/+1
| | | | | | | 2004-07-12 Morten Welinder <terra@gnome.org> * pango/pangoxft-font.c (get_glyph_extents_xft): Fix C99ism. (#147415, self.)
* Make PangoMatrix arguments const where appropriate.Owen Taylor2004-07-101-35/+9
| | | | | | | | | | | | | | | | | Sat Jul 10 17:33:38 2004 Owen Taylor <otaylor@redhat.com> * pango/pangoft2-private.h pango/pangoft2-render.c pango/pango-context.[ch] pango/pangoft2.[ch] pango/pango-utils. pango/pango-types.h pango/pangofc-fontmap.c: Make PangoMatrix arguments const where appropriate. * pango/pango-context.c pango/fonts.c pango/pangofc-font.c pangofc-fontmap.c pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoxft-font.c pango/pangoxft-fontmap.c pango/pangowin32-fontmap.c: Use G_DEFINE_TYPE comprehensively. * pango/pangoft2-private.h pangoft2.c: Un-staticify pango_ft2_font_get_type.
* Add hinted/transform flags to the font structure to allow efficientOwen Taylor2004-07-101-42/+115
| | | | | | | | | | | | | | | | | | Sat Jul 10 16:39:44 2004 Owen Taylor <otaylor@redhat.com> * pango/pangofc-font.[ch]: Add hinted/transform flags to the font structure to allow efficient conditionalization of behavior rather than repeatedly extracting the information from the FcPattern. * pango/pangofc-font.c pango/pangofc-private.h pango/pangoft2.c: Move the glyph metrics computation into a _pango_fc_font_get_raw_extents() function that can be shared with the Xft backend. * pango/pangoxft.c: When a transform is in effect, don't get glyph extents from Xft ... they are device space and not useful, use _pango_fc_font_get_raw_extents() instead.
* Draw 6-digit hex boxes for > U+FFFF. (#101081)Noah Levitt2003-11-181-19/+32
| | | | | | | 2003-11-18 Noah Levitt <nlevitt@columbia.edu> * pango/pangxft-font.c (pango_xft_real_render): Draw 6-digit hex boxes for > U+FFFF. (#101081)
* Make pangoxft depend on pangoft2.Owen Taylor2003-08-031-243/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | Sat Aug 2 14:33:28 2003 Owen Taylor <otaylor@redhat.com> * pango/Makefile.am (libpangoxft_1_0_la_LIBADD): Make pangoxft depend on pangoft2. * pango/pangofc-fontmap.[ch]: Make pangofc-fontmap.cI into a real base class. * pango/pangofc-font.[ch]: Move some of the pangoxft/ pangoft2 implementation here. * pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoft2-private.h pango/pangoxft-font.c pango/pangoxft2-fontmap.c pango/pangoxft-private.h: Adapt to the new scheme * modules/*/Makefile.am Modules/*/*/*-fc.c: Don't build separate FT2 and Xft shapers, just build one Fc shaper. * docs/pango-sections.txt docs/pango-docs.sgml docs/tmpl/pangofc-font{,map}.sgml: Basic docs for the new stuff. * configure.in: Up pango_module_version to 1.4.0.
* Add API to kern a complete glyph string. Remove API to kern individualSoeren Sandmann2003-08-021-30/+28
| | | | | | | | | | | | | | | | | | | | | | Sat Aug 2 16:40:19 2003 Soeren Sandmann <sandmann@daimi.au.dk> Add API to kern a complete glyph string. Remove API to kern individual glyph pairs. * modules/basic/basic-fc.c (basic_engine_shape): use pango_fc_font_kern_glyphs() instead of pango_fc_font_get_kerning(). * pango/pangoft2.c (pango_ft2_font_real_kern_glyphs): add this function, remove pango_ft2_font_real_get_kerning(). * pango/pangoxft-font.c (pango_xft_font_real_kern_glyphs): add this function, remove pango_xft_font_real_get_kerning(). * pango/pangofc-font.c (pango_fc_font_kern_glyphs): new function. Remove pango_fc_font_get_kerning(). * pango/pangofc-font.h: remove pango_fc_font_get_kerning(), add pango_fc_font_kern_glyphs().
* Make sure the face is unlocked before returning from ↵Keith Packard2003-06-021-2/+8
| | | | pango_xft_font_real_get_kerning
* Get the fontnmap for the right screen (#113452, Morten Welinder)Owen Taylor2003-05-271-2/+3
| | | | | | | | Tue May 27 15:01:24 2003 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (pango_xft_font_get_metrics): Get the fontnmap for the right screen (#113452, Morten Welinder)
* Switch over the way that module entry points work, taking advantage of theOwen Taylor2003-04-141-23/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mon Apr 14 06:02:34 2003 Owen Taylor <otaylor@redhat.com> * modules/thai/{thai-fc.c,thai-shaper.c,thai-x.c}: * modules/*/*-{xft,x,win32.c} pango/pango-engine.h modules/*/Makefile.am: Switch over the way that module entry points work, taking advantage of the new automake capability for per-target CFLAGS for shared sources. * pango/pangofc-font.[ch] pango/pangoxft-font.c pango/pangoft2.c: Add a base class for PangoXft and PangoFT2 font classes so code can be shared between FT2 and Xft backends. * configure.in modules/*/Makefile.am modules/{arabic,basic,hangul,hebrew,indic,thai}: Move *-xft.c to *-fc.c and share between Xft and FT2 backends; adds FT2 backend capabilities for hangul/indic/thai. * pango/pangoxft.h pango/pangoft2.h: Deprecate APIs that moved into PangoFcFont * modules/basic/basic-fc.c (set_glyph): Add kerning handling from FT2 backend.
* Add an --enable-debug configure argument defaulting to 'yes' for unstableOwen Taylor2003-02-171-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Mon Feb 17 13:06:39 2003 Owen Taylor <otaylor@redhat.com> * configure.in **/Makefile.am: Add an --enable-debug configure argument defaulting to 'yes' for unstable releases and 'minimum' for stable releases. For minimum, -DG_DISABLE_CAST_CHECKS. * pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c pango/pangoxft-fontmap.c: Add caching of fontsets (#104495, initial patch and review by Soeren Sandmann) * pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c pango/pangoxft-fontmap.c pango/pangoft2-private.h pango/pangoxft-private.h: Remove cache of recently freed fonts; not necessary now that we cache fontsets. * pango/pangofc-fontmap.cI (pango_fc_pattern_set_free): Rename from pango_fc_font_set_free to reflect what it actually does. * pango/pangofc-fontmap.cI pango/pangoft-fontmap.c pango/pangoxft-fontmap.c: Combine clear-the-cache functions; we didn't need separate clear-the-font-cache and clear-the-pattern-cache functions.
* Roughly clip glyphs into the X coordinate area to avoid wrap-around.Owen Taylor2002-12-071-11/+17
| | | | | | | | 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)
* Mark 1.2 API additions, fix some doc comments.Matthias Clasen2002-11-281-0/+8
| | | | | | | | | | | | * pango/pangoxft-fontmap.c: * pango/pangoxft-font.c: * pango/pangowin32.c: * pango/pangoft2-fontmap.c: Mark 1.2 API additions, fix some doc comments. * pango/pangoft2-fontmap.c (pango_ft2_font_map_set_default_substitute): Implement this function. (#99850)
* Get rid of unnecessary casts for g_object_{ref,unref}Manish Singh2002-10-141-3/+3
| | | | | | | | | | 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}
* Released 1.1.1.PANGO_1_1_1Owen Taylor2002-08-201-5/+6
| | | | | | | | | | | | | | | Tue Aug 20 17:31:39 2002 Owen Taylor <otaylor@redhat.com> * Released 1.1.1. * configure.in: Update versions numbers. * NEWS: Updated. * docs/pango-sections.txt: Updated. * pango/pangoxft-font.c (pango_xft_font_[un]lock_face): Fix docs.
* Delete the FC_PATTERN out of the result of FcFontRenderPrepare(), becauseOwen Taylor2002-08-191-22/+29
| | | | | | | | | | | | | | | | | | | Mon Aug 19 14:07:02 2002 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.cI (pango_fc_font_map_get_patterns): Delete the FC_PATTERN out of the result of FcFontRenderPrepare(), because it makes identical fonts look like not identical fonts. * pango/pangofc-fontmap.cI (uniquify_pattern): pango/pangoft-fontmap.c pango/pangoxft-fontmap.c: Use a hash table to uniquify the patterns we cache to save memory and speed lookups. * pango/pangoxft-font.c (pango_xft_font_get_font): Split into a public wrappper (with g_return_if_fail()) around a static internal function (without check). * pango/pangoxft-fontmap.c (_pango_xft_font_map_get_info): Remove checked cast, since it was showing up high on profiles.
* Move the common code between PangoXftFontmap and PangoFT2Fontmap into aOwen Taylor2002-08-161-61/+1
| | | | | | | | | | | | | Fri Aug 16 17:49:38 2002 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.cI pango/pangoxft-fontmap.c pango/pangoft2-fontmap.c pango/pangoxft-private.h pango/pangoft2-private.h pango/pangoxft-font.c pango/pangoft2.h: Move the common code between PangoXftFontmap and PangoFT2Fontmap into a new file that is included from both with appropriate #defines. This provides most of the recent Xft backend improvements for the FT2 backend as well.
* Fix accidentally exported set_unicode_charmap() andOwen Taylor2002-08-081-2/+2
| | | | | | | | | | Thu Aug 8 19:14:09 2002 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-font.c (load_fallback_font): Fix accidentally exported set_unicode_charmap() and load_fallback_face/font(). (Jacob Berkman, #90245) * configure.in: Up PANGO_MODULE_VERSION to 1.1.0.