summaryrefslogtreecommitdiff
path: root/pango/pangoft2.c
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Warn only once per font-description that cannot be loaded.Behdad Esfahbod2006-02-061-2/+2
| | | | | | | | | | 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.
* AC_DEFINE various version components.Behdad Esfahbod2006-02-051-1/+1
| | | | | | | | 2006-02-05 Behdad Esfahbod <behdad@gnome.org> * configure.in: AC_DEFINE various version components. * *.c: Change various const return types to G_CONST_RETURN.
* Change PANGO_GLYPH_EMPTY to 0x0FFFFFFF, to not overlap withBehdad Esfahbod2006-02-051-3/+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().
* Move the FT_IS_SFNT(font) logic into pango_ft2_get_unknown glyph.Behdad Esfahbod2006-02-041-8/+13
| | | | | | | 2006-02-04 Behdad Esfahbod <behdad@gnome.org> * pango/pangoft2.c, pango/pangoft2-render.c: Move the FT_IS_SFNT(font) logic into pango_ft2_get_unknown glyph.
* Finish the 'glyph 0' work of this morning: PANGO_GLYPH_NULL that IBehdad Esfahbod2006-02-031-27/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Do unknown glyph extents here too.Behdad Esfahbod2006-02-021-2/+12
| | | | | | 2006-02-02 Behdad Esfahbod <behdad@gnome.org> * pango/pangoft2.c: Do unknown glyph extents here too.
* Use PANGO_GLYPH_NULL for when no glyph should be drawn. UseBehdad Esfahbod2006-02-021-0/+11
| | | | | | | | | | | | | | | | | | | | | | | 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/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 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)
* Set layout wrapping to PANGO_WRAP_WORD_CHAR if width is set for theBehdad Esfahbod2005-11-091-1/+4
| | | | | | | | | | | | | | | | | 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.
* Turn various gcc warnings off. Adding const, adding static, fullyBehdad Esfahbod2005-11-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add checks for CairoOwen Taylor2005-01-091-34/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sat Jan 8 16:46:37 2005 Owen Taylor <otaylor@redhat.com> * configure.in: Add checks for Cairo * pango/Makefile.am: Add libpangocairo. * pango/pangocairo-font.c pango/pangocairo-fontmap.c pango/pangocairo.h pango/pangocairo-private.h pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap.c pango/pangocairo-fc.h: Start of a Cairo/FreeType backend. * pango/pangofc-fontmap.[ch]: Add a "get_render_key" virtual function to allow subclasses to specialize the details of how caching works. Add a default implementation that's a little more sophisticated than what was there before. * pango/pangoft2-private.h pangofc-font.c pangoft2.c: Move default implementations of has_char(), get_glyph() to the base class. * pango/pangofc-private.h pango/pangoft2-private.h: Move PANGO_UNITS_26_6 and friends to pango/pangofc-private.h. * examples/renderdemo.[ch] examples/pangoft2topgm.c examples/xftview.c: Allow passing in a custom function to transform drawing. * examples/Makefile.am examples/cairoview.c: Add a Cairo/Xlib example program. * examples/cairosimple.c: Simple Cairo example with output to a PNG. * pango/pango-layout.c (pango_layout_line_get_extents): Fix bug where line ink rect was always including 0, 0.
* Add pixel sizes for fonts (#119081, patch from Chris Lahey)Owen Taylor2004-12-161-2/+2
| | | | | | | | | | | | | | | | | | | | | 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.
* Up version to 1.7.0.Owen Taylor2004-09-241-562/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Cleanups from 'sparse', #149922, Kjartan MaraasOwen Taylor2004-09-221-1/+1
| | | | | | | | | | | | | | | | Wed Sep 22 14:07:47 2004 Owen Taylor <otaylor@redhat.com> Cleanups from 'sparse', #149922, Kjartan Maraas * pango/pango-utils.c (read_config): () => (void) in definition. * pango/pangofc-fontmap.c (pango_fc_font_map_list_families): Initialize *n_families, not n_families. * pango/pangofc-fontmap.c pango/pangoft2.c opentype/ftxgdef.c opentype/ftxgpos.c opentype/ftxgsub.c: : Fix various 0/NULL confusion.
* === Released 1.6.0 ===PANGO_1_6_0Owen Taylor2004-09-141-0/+6
| | | | | | | | | | | | | | | | | Mon Sep 13 17:38:58 2004 Owen Taylor <otaylor@redhat.com> * === Released 1.6.0 === * configure.in: Update versions for 1.6.0 * NEWS: Update. * README: Minor tweak. * pango/fonts.c pango/pango-context.c pango/pango-types.h pango/pango-utils.c pango/pangoft2.c pango/pango-layout.c pango/opentype/pango-ot-buffer.c: Add a bunch of missing Since: 1.6.
* Need to export this function as a symbol if not in the header file sinceOwen Taylor2004-07-191-4/+4
| | | | | | | | | 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.
* Add _pango prefix for _pango_ft2_font_get_cache_glyph_data and friendsOwen Taylor2004-07-101-10/+10
| | | | | | | | Sat Jul 10 17:45:05 2004 Owen Taylor <otaylor@redhat.com> * pango/pangoft2-private.h: Add _pango prefix for _pango_ft2_font_get_cache_glyph_data and friends defined only in private header file.
* Make PangoMatrix arguments const where appropriate.Owen Taylor2004-07-101-58/+21
| | | | | | | | | | | | | | | | | 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-53/+7
| | | | | | | | | | | | | | | | | | 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.
* *** empty log message ***Owen Taylor2004-06-211-1/+3
|
* For cleanliness, unref the fontmap if we get an error from FreeType.Owen Taylor2004-06-211-3/+15
| | | | | | | | | | | Mon Jun 21 11:29:39 2004 Owen Taylor <otaylor@redhat.com> * pango/pangoft2-fontmap.c (pango_ft2_font_map_new): For cleanliness, unref the fontmap if we get an error from FreeType. (#143524, Morten Welinder) * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize): Deal with NULL ft2fontmap->library.
* Add PangoMatrix type for affine transforms.Owen Taylor2004-05-281-111/+248
| | | | | | | | | | | | | | | | | | | | | | | | Fri May 28 11:39:39 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-types.h pango/pango-utils.c: Add PangoMatrix type for affine transforms. * configure.in pango.pc.in pango/Makefile.am: Add a -lm dependency for PangoMatrix operations. * pango/pango-context.[ch]: Add pango_context_set/get_matrix(). * pango/pangoft2-render.c pango/pangoft2-private.h: Add code for drawing antialiased transformed rectangles and squiggly error underlines. * pango/pangoft2.[ch]: Add pango_ft2_render_transformed(), pango_ft2_render_layout_subpixel(), pango_ft2_render_layout_line_subpixel(), implement transformed rendering. * pango/pangofc-font.c: Pass any transformation matrix on to fontconfig when creating the pattern for a PangoFcFont.
* 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/+23
| | | | | | | | | | | | | 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.
* reverted the patch for bug #123602 since I only applied it accidentally. ISven Neumann2003-11-201-39/+8
| | | | | | | | | | | 2003-11-20 Sven Neumann <sven@gimp.org> * pango/pangoft2-fontmap.c: reverted the patch for bug #123602 since I only applied it accidentally. I still believe the patch should go in though. * pango/pangoft2.c: really applied the fix for #101856 as described below.
* Switch over to recommended Freetype system of include ft2build.h thenOwen Taylor2003-11-011-2/+0
| | | | | | | | | | | | | | Sat Nov 1 09:32:15 2003 Owen Taylor <otaylor@redhat.com> * pango/pango-ot.h pango/pangofc-font.h modules/indic/indic-ot.h pango/pangoft2.c pango/opentype/pango-ot-info.c pango/opentype/pango-ot-ruleset.c pango/opentype/ottest.c pango/opentype/ftxopen.[ch] pango/opentype/ftxgdef.c pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c: Switch over to recommended Freetype system of include ft2build.h then #include FT_FREETYPE_H. Fixes ftmodule.h problem with current Freetype CVS. (#125548)
* Make pangoxft depend on pangoft2.Owen Taylor2003-08-031-204/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-33/+62
| | | | | | | | | | | | | | | | | | | | | | 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().
* removed redundant call to pango_layout_line_get_extents() (#116822).Sven Neumann2003-07-241-56/+74
| | | | | | | | | | 2003-07-25 Sven Neumann <sven@gimp.org> * pango/pangoft2.c (pango_ft2_render_layout_line): removed redundant call to pango_layout_line_get_extents() (#116822). * pango/pangoft2.c (pango_ft2_render): fixed source bitmap offset for the monochrome case; some code cleanup (#116837).
* added support for rise, strikethru and shape attributes. (#109900).Sven Neumann2003-05-281-70/+97
| | | | | | | 2003-05-28 Sven Neumann <sven@gimp.org> * pango/pangoft2.c (pango_ft2_render): added support for rise, strikethru and shape attributes. (#109900).
* Fix some stupid type registration/ class size problems from last commit.Owen Taylor2003-04-151-3/+3
| | | | | | | Tue Apr 15 00:07:21 2003 Owen Taylor <otaylor@redhat.com> * pango/pangoft2.[ch]: Fix some stupid type registration/ class size problems from last commit.
* Switch over the way that module entry points work, taking advantage of theOwen Taylor2003-04-141-23/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* disable antialiasing if requested. Fixes bug #109370.Sven Neumann2003-04-031-13/+30
| | | | | | | | | | | 2003-04-03 Sven Neumann <sven@gimp.org> * pango/pangoft2.c (pango_ft2_font_get_face) (pango_ft2_font_render_glyph): disable antialiasing if requested. Fixes bug #109370. * pango/pangoft2.c (pango_ft2_render): fixed rendering of monochrome bitmaps.
* pango/pangoft2.c (pango_ft2_render_layout) pango/pangowin32.cSven Neumann2003-04-021-66/+21
| | | | | | | | | | 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.
* 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.
* fix a typo in the @bitmap argument description. s/line/layoutChema Celorio2003-02-161-1/+1
| | | | | | | Sun Feb 16 09:10:12 2003 Chema Celorio <chema@celorio.com> * pango/pangoft2.c (pango_ft2_render_layout): fix a typo in the @bitmap argument description. s/line/layout
* Print out an informative error message and exit(1) if no fonts are found.Owen Taylor2002-12-071-5/+2
| | | | | | | | | | | Sat Dec 7 01:05:25 2002 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.cI (pango_fc_font_map_get_patterns): Print out an informative error message and exit(1) if no fonts are found. (#98672) * pango/pangoft2.c (pango_ft2_font_get_face): Fix some bugs in the last commit.
* Don't use face->generic.data to hold the size the face is currently setOwen Taylor2002-12-071-17/+11
| | | | | | | | | | Sat Dec 7 00:10:02 2002 Owen Taylor <otaylor@redhat.com> * pango/pangoft2.c (pango_ft2_font_get_face): Don't use face->generic.data to hold the size the face is currently set to; we don't need it currently and it interferes with the use of face->generic.data for OpenType data. (#93822, frequently reported bug)
* Convert [sf]printf to g_[sf]printf, or, where appropriate g_printerr().Owen Taylor2002-12-061-2/+2
| | | | | | | | | | | | Fri Dec 6 18:07:48 2002 Owen Taylor <otaylor@redhat.com> * modules/indic/devanagari-x.c, pango/modules.c pango/pango-utils.c pango/pangoft2.c pango/querymodules.c: Convert [sf]printf to g_[sf]printf, or, where appropriate g_printerr(). (Based on patch from Matthias Clasen, #99321) * configure.in: Require glib-2.1.3.
* Get rid of unnecessary casts for g_object_{ref,unref}Manish Singh2002-10-141-4/+4
| | | | | | | | | | 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}
* Move the common code between PangoXftFontmap and PangoFT2Fontmap into aOwen Taylor2002-08-161-59/+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.
* don't access the old (invalid) face pointer after loading a fallback faceSven Neumann2002-07-221-3/+3
| | | | | | | | 2002-07-22 Sven Neumann <sven@gimp.org> * pango/pangoft2.c (pango_ft2_font_get_face): don't access the old (invalid) face pointer after loading a fallback face because we couldn't set the unicode charmap.
* on Jul 15 14:56:34 2002 Owen Taylor <otaylor@redhat.com>Owen Taylor2002-07-151-7/+10
| | | | | | | | | | | * pango/pangoft2.c (pango_ft2_font_get_face): Move setting of load_flags before we do any checks for the font so they apply to the fallback font as well. * pango/pangoft2.c (pango_ft2_font_get_face): Supply FT_LOAD_NO_BITMAP as temporary workaround for problems with embedded bitmaps, since we can't render bitmap fonts at the moment.
* Fix some typos.Owen Taylor2002-07-031-4/+6
| | | | | | Wed Jul 3 18:54:14 2002 Owen Taylor <otaylor@redhat.com> * pango/pangoft2.c: Fix some typos.
* Be more robust when trying to set the unicode character map on the font.Owen Taylor2002-07-031-46/+105
| | | | | | | | | | | Wed Jul 3 18:39:45 2002 Owen Taylor <otaylor@redhat.com> * pango/pangoft2.c pango/pangoxft-font.c: Be more robust when trying to set the unicode character map on the font. * pango/pangoft2.c pango/pangoft2-private.h: Obey FC_HINTING, FC_AUTOHINT.
* New function to allow tweaking of FcPattern default substitution (forOwen Taylor2002-07-031-44/+0
| | | | | | | | | | | | | | | | | Mon Jul 1 19:45:10 2002 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-fontmap.c (pango_xft_set_default_substitute): New function to allow tweaking of FcPattern default substitution (for XSETTINGS support.) * pango/pangoft2-fontmap.c pango/pangoft2.[ch] pango/pangoft2-private.h: Rationalize DPI and context creation by adding: pango_ft2_font_map_new() pango_ft2_font_map_set_resolution() pango_ft2_font_map_set_default_substitute() pango_ft2_font_map_create_context()
* on Jun 3 18:56:09 2002 Owen Taylor <otaylor@redhat.com>Owen Taylor2002-06-041-26/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xft2 and fontconfig conversion, based largely on a patch from Keith Packard. * configure.in acconfig.h: Add checks for fontconfig, switch Xft checks to switch for Xft2 using pkg-config. * pangoxft.pc.in pangoxft.pc.in modules/{arabic,basic,hebrew,indic,tamil}/Makefile.am pango/Makefile.am: Reflect new Xft/fontconfig dependencies. * pango/pangoxft-private.h pango/pangoxft-fontmap.c modules/arabic/arabic-xft.c modules/indic/indic-xft.c: Switch over to using Xft2 and fontconfig. * pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoft2-private.h pango/pango/Makefile.am: Remove usage of mini-xft in favor of fontconfig. * pango/pango-ot.h pango/opentype/pango-ot-info.c pango/pangoxft.h modules/arabic/arabic-{xft,ft2}.c modules/indic/indic-xft.c: Attach OpenType information directly to the FT_Face structure using FT_Generic. * modules/tamil/Makefile.am modules/tamil/tamil-xft.c configure.in: Remove this module, no longer needed. * pango/pangoxft-font.c (pango_xft_real_render): Coalesce calls to Xft rendering functions.