summaryrefslogtreecommitdiff
path: root/pango/pangofc-fontmap.c
Commit message (Collapse)AuthorAgeFilesLines
...
* New attribute types PANGO_ATTR_GRAVITY and PANGO_ATTR_GRAVITY_HINT. NewBehdad Esfahbod2007-01-161-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> * pango/pango-attributes.h: * pango/pango-attributes.c: New attribute types PANGO_ATTR_GRAVITY and PANGO_ATTR_GRAVITY_HINT. New public functions: pango_attr_gravity_new() pango_attr_gravity_hint_new() * pango/pango-context.c (update_attr_iterator), (itemize_state_init), (itemize_state_add_character), (get_shaper_and_font), (itemize_state_update_for_new_run): Handle gravity and gravity_hint attributes. * pango/pango-utils.h: * pango/pango-utils.c: New public function: pango_parse_enum() * pango/pango-markup.c (span_parse_func): Parse gravity and gravity_hint attributes for <span>. Optimize a bit. * pango/pango-markup.c (parse_absolute_size), (attr_strcmp), (span_parse_int), (span_parse_boolean), (span_parse_color), (span_parse_enum), (span_parse_func): Use pango_scan_int(), pango_color_parse(), and pango_parse_enum(). Also, ignore '-' and '_' differences when matching attribute names for <span>. * examples/renderdemo.c (parse_enum), (parse_ellipsis), (parse_gravity), (parse_gravity_hint), (parse_hinting), (parse_wrap): Use a generic parse_enum() that uses pango_parse_enum(). * modules/basic/basic-fc.c (basic_engine_shape): * pango/pangofc-fontmap.c (pango_fc_make_pattern): Use PANGO_GRAVITY_IS_VERTICAL(). * pango/pango.def: * docs/pango-sections.txt: * docs/tmpl/text-attributes.sgml: * docs/tmpl/utils.sgml: Update. svn path=/trunk/; revision=2145
* Spell-check the docs.Behdad Esfahbod2007-01-071-2/+2
| | | | svn path=/trunk/; revision=2130
* Bug 384543 – FcFontMatch misuseBehdad Esfahbod2006-12-241-1/+4
| | | | | | | | | | | | | | | | | 2006-12-23 Behdad Esfahbod <behdad@gnome.org> Bug 384543 – FcFontMatch misuse * pango/pangofc-fontmap.c (pango_fc_face_describe): Call FcConfigSubstitute and FcDefaultSubstitute before calling FcFontMatch. * pango/pangoft2.c (load_fallback_face): Call _pango_ft2_font_map_default_substitute(). * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_context_substitute): Handle the case of context == NULL.
* Bug 319808 – Patch to let pango support artifical italic, bold and boldBehdad Esfahbod2006-12-131-19/+84
| | | | | | | | | | | | 2006-12-13 Behdad Esfahbod <behdad@gnome.org> Bug 319808 – Patch to let pango support artifical italic, bold and bold italic styles for the fonts which don't have these styles. Patch from James Su * pango/pangofc-fontmap.c (pango_fc_face_describe), (create_face), (pango_fc_family_list_faces): Create fake Bold, Italic, and Bold Italic faces for fonts that do not have one.
* Make TypeInfo structs not static. Reduces relocations.Behdad Esfahbod2006-10-131-2/+2
| | | | | | | | | | | | | | | | | | | 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.
* Unset gravity on the resulting font description. We want gravity to be setBehdad Esfahbod2006-09-151-0/+4
| | | | | | | | 2006-09-15 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-fontmap.c (pango_fc_face_describe): Unset gravity on the resulting font description. We want gravity to be set on all fonts described, but not font faces.
* Support per-item gravity.Behdad Esfahbod2006-08-211-13/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-08-20 Behdad Esfahbod <behdad@gnome.org> Support per-item gravity. * pango/pango-context.c (update_attr_iterator), (itemize_state_init), (itemize_state_update_for_new_run), (itemize_state_process_run): Make per-item gravity work, by setting gravity into font description before loading fonts. Also, allow the context font description to override the gravity (but not centered_baseline.) * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new): Get gravity from font description, not context. * pango/pangofc-fontmap.c (fontset_hash_key_equal), (fontset_hash_key_hash), (fontset_hash_key_copy), (pango_fc_make_pattern), (pango_fc_font_map_get_patterns), (pango_fc_font_map_load_fontset), (pango_fc_font_description_from_pattern): Get gravity from font description, not context. Moreover, put it into pattern, and reconstruct it out of font patterns. * pango/pangofc-private.h: Define PANGO_FC_GRAVITY, which is the key we put PangoGravity into an FcPattern under.
* Correct switched return value of EAST/WEST.Behdad Esfahbod2006-08-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 2006-08-20 Behdad Esfahbod <behdad@gnome.org> * pango/pango-matrix.c (pango_matrix_to_gravity): Correct switched return value of EAST/WEST. * pango/pango-types.h (PangoGravity): Add PANGO_GRAVITY_AUTO. * pango/pango-context.h: Add pango_context_get_gravity(). * examples/renderdemo.c (parse_gravity), (parse_options): * pango/pango-context.c (pango_context_init), (update_resolved_gravity), (pango_context_set_matrix), (pango_context_set_base_gravity), (pango_context_get_gravity), (itemize_state_init), (get_shaper_and_font): * pango/pango-layout.c (line_set_resolved_dir): * pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_metrics), (pango_cairo_fc_font_glyph_extents_cache_init), (_pango_cairo_fc_font_new): * pango/pangofc-fontmap.c (pango_fc_make_pattern), (pango_fc_font_map_load_fontset): * pango/pango.def: * docs/pango-sections.txt: * docs/tmpl/main.sgml: Update to above.
* Part of Bug 348825 – pango should optimize away calls to FcFontSort asBehdad Esfahbod2006-08-171-1/+1
| | | | | | | | | 2006-08-17 Behdad Esfahbod <behdad@gnome.org> Part of Bug 348825 – pango should optimize away calls to FcFontSort as much as possible * pango/pangofc-fontmap.c: Increase FONTSET_CACHE_SIZE from 16 to 64.
* Oops. Exchange west<->east and north<->south gravities. The gravity is theBehdad Esfahbod2006-08-151-2/+2
| | | | | | | | | | | | | | | | 2006-08-15 Behdad Esfahbod <behdad@gnome.org> * docs/pango-sections.txt: * docs/tmpl/main.sgml: * examples/renderdemo.c (parse_gravity), (parse_options): * pango/pango-context.c (pango_context_init), (pango_context_get_base_gravity), (itemize_state_add_character): * pango/pango-types.h: * pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_scaled_font): * pango/pangofc-fontmap.c (pango_fc_make_pattern): Oops. Exchange west<->east and north<->south gravities. The gravity is the side that the glyph sits on. So, for normal Latin text for example, gravity is south, not north.
* Support --gravity.Behdad Esfahbod2006-08-151-5/+25
| | | | | | | | | | | | | | | 2006-08-15 Behdad Esfahbod <behdad@gnome.org> * examples/renderdemo.c (do_output), (parse_gravity), (parse_options): Support --gravity. * pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_scaled_font), (compute_glyph_extents), (_pango_cairo_fc_font_new): Load rotated scaled_fonts to handle gravity. * pango/pangofc-fontmap.c (pango_fc_make_pattern), (pango_fc_font_map_get_patterns), (pango_fc_font_map_load_fontset): Set FC_VERTICAL_LAYOUT on West and East gravity.
* Add FIXME note about handling item gravity.Behdad Esfahbod2006-08-151-0/+6
| | | | | | | | | | | 2006-08-15 Behdad Esfahbod <behdad@gnome.org> * pango/pango-context.c (itemize_state_process_run): Add FIXME note about handling item gravity. * pango/pangofc-fontmap.c (fontset_hash_key_equal), (fontset_hash_key_hash), (fontset_hash_key_copy), (pango_fc_font_map_get_patterns): Add gravity into the hask key.
* 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.
* Change g_critical to g_warning. We already handle them gracefully.Behdad Esfahbod2006-02-211-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* If locking font face failed, do not assert, just return zero glyphs withBehdad Esfahbod2006-01-291-8/+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...
* Revert last patch again :(.Behdad Esfahbod2006-01-291-86/+19
|
* Create fake Bold, Italic, and Bold Italic faces for fonts that do not haveBehdad Esfahbod2006-01-291-19/+84
| | | | | | | 2006-01-28 Behdad Esfahbod <behdad@gnome.org> * pangofc-fontmap.c: Create fake Bold, Italic, and Bold Italic faces for fonts that do not have one. (bug #319808, James Su)
* Make sure #include <config.h> is the first include in the file. (bugBehdad Esfahbod2006-01-141-0/+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/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Fix bug #323540.Behdad Esfahbod2005-12-121-39/+3
| | | | | | | | | | | | | | | | 2005-12-12 Behdad Esfahbod <behdad@gnome.org> Fix bug #323540. * pangofc-fontmap.c (get_scaled_size): The logic in there is moved and renamed into pango-utils. * pango/pango-types.h, * pango/pango-utils.c (pango_matrix_get_font_scale_factor): New function. * pango/pangocairo-fcfont.c (get_font_size): Divide pixel-size by matrix font-scale-factor, since pixel-size is scaled.
* Free ->fontset_hash. (#323498, Morten Welinder)Behdad Esfahbod2005-12-081-0/+3
| | | | | | | 2005-12-05 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-fontmap.c (pango_fc_font_map_finalize): Free ->fontset_hash. (#323498, Morten Welinder)
* Finish previous patch. Use GType private data, cache it into fcfont->priv.Behdad Esfahbod2005-11-221-1/+1
| | | | | | | | | | | | 2005-11-22 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-font.c: Finish previous patch. Use GType private data, cache it into fcfont->priv. Get rid of PANGO_FC_FONT_GET_PRIVATE (fcfont) and access fcfont->priv. (#322174, Christian Persch) * pango/pangofc-fontmap.c (pango_fc_font_map_init): Remove redundant priv = fcfontmap->priv initialization.
* Fixes #322174:Federico Mena Quintero2005-11-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-11-22 Federico Mena Quintero <federico@ximian.com> Fixes #322174: * pango/pangofc-font.h (struct _PangoFcFont): Replace the "gpointer context_key" field with "gpointer priv". This way we can access the private data quickly, instead of using g_type_instance_get_private(). * pango/pangofc-private.h: Added prototypes for _pango_fc_font_{get,set}_context_key(). * pango/pangofc-font.c (struct _PangoFcFontPrivate): Moved the "context_key" field to here. (PANGO_FC_FONT_GET_PRIVATE): Use the "priv" field instead of GType private data. (pango_fc_font_class_init): Don't register GType private data. (pango_fc_font_init): Initialize the private data here. (pango_fc_font_finalize): Free the private data. (_pango_fc_font_get_context_key): Implement. (_pango_fc_font_set_context_key): Implement. (pango_fc_font_get_glyph): Remove the g_return_val_if_fail(); it was appearing quite high in the profile. * pango/pangofc-fontmap.c (pango_fc_font_map_add): Call _pango_fc_font_set_context_key() instead of setting the fcfont->context_key directly. (_pango_fc_font_map_remove): Likewise; also use _pango_fc_font_get_context_key() instead of accessing the field directly.
* Return double instead of int. (#321891, Sebastian Bacher)Behdad Esfahbod2005-11-211-2/+2
| | | | | | | 2005-11-21 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-fontmap.c (get_scaled_size): Return double instead of int. (#321891, Sebastian Bacher)
* Compare language too. (#318168)Behdad Esfahbod2005-11-171-0/+1
| | | | | | | 2005-11-17 Behdad Esfahbod <behdad@gnome.org> * pango/pangofc-fontmap.c (fontset_hash_key_equal): Compare language too. (#318168)
* Turn various gcc warnings off. Adding const, adding static, fullyBehdad Esfahbod2005-11-041-0/+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.
* Handle context == NULL. (Reported by Behdad Esfahbod)Owen Taylor2005-07-221-1/+6
| | | | | | | 2005-07-22 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.c (get_context_matrix): Handle context == NULL. (Reported by Behdad Esfahbod)
* use GPOINTER_TO_UINT() instead of bare casts to guint.Manish Singh2005-07-221-2/+2
| | | | | | | 2005-07-21 Manish Singh <yosh@gimp.org> * pango/pangofc-fontmap.c (fontset_hash_key_hash, font_hash_key_hash): use GPOINTER_TO_UINT() instead of bare casts to guint.
* Fix an excess copy. (pango_fc_font_map_get_patterns): Add back a call toOwen Taylor2005-07-211-3/+3
| | | | | | | | 2005-07-21 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.c (pango_fc_font_map_add): Fix an excess copy. (pango_fc_font_map_get_patterns): Add back a call to FcPatternDestroy() that got dropped somehow.
* Load a fontset and return the first font to take advantage of existingOwen Taylor2005-07-211-7/+28
| | | | | | | | 2005-07-21 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.c (pango_fc_font_map_load_font): Load a fontset and return the first font to take advantage of existing caching.
* Rework handling of context-specific options: drop get_render_key() and addOwen Taylor2005-07-211-219/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-07-19 Owen Taylor <otaylor@redhat.com> * pango/pango-fcfontmap.[ch]: Rework handling of context-specific options: drop get_render_key() and add a opaque "context key" (get_context_key() and friends). Also add a function to get the resolution. * pango/pango-fcfontmap.c pango/pangofc-font.h: - Move the 'lang' into the fontset key lookup and get rid of the funky list-of-hash-tables - Make lookups of fontsets and fonts dependent on the context key for the context. - Simplify the pattern/fontset caching to have one finite-size cache rather than an infinite first-level and a finite-size second level. * pango/pangocairo.h pango/pangocairo-private.h pango/pangocairo-fontmap.c: Add pango_cairo_context_get/set_resolution(), pango_cairo_context_set/get_font_options to allow controlling the resolution and font rendering options for a specific PangoContext. * pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap pango/pangocairo-win32font.c: Implement resolution and font options handling adapt to related Cairo changes. * docs/pango-sections.txt docs/Makefile.am pango/pangowin32.c: Doc updates and build fixes. * pango/pangofc-fontmap.c (pango_fc_make_pattern): Create patterns with FC_SIZE as well as FC_PIXEL_SIZE to work around a libgnomeprint bug. (#309477)
* Add a new context_substitute() virtual function that replacesOwen Taylor2005-06-141-7/+11
| | | | | | | | | | | | | | | | 2005-05-17 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.[ch]: Add a new context_substitute() virtual function that replaces default_substitute() and adds a PangoContext argument. * pango/pangocairo.h pango/pangocairo-fontmap.c docs/pango-sections.txt: Add pango_cairo_context_set/get_hinting() to control hinting on individual contexts. * pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap.c: Implement hinting control for the for the fontconfig/cairo backend.
* Include the effect of the CTM in the FC_PIXEL_SIZE we set in theOwen Taylor2005-03-151-24/+58
| | | | | | | | | | | | | | | | | | | | | 2005-03-15 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.c: Include the effect of the CTM in the FC_PIXEL_SIZE we set in the FcPattern. (Fixes problems with getting the wrong font when drawing the same font at multiple scales. Reported by Keith Packard.) * pango/pangofc-fontmap.h pango/pangocairo-fcfontmap.c pango/pangocairo-fc.h pango/pangocairo-fontfont.c: Add the PangoFontDescription to create_font() ... we need it to get the right pixel size to combine with the CTM. * pango/pangofc-fontmap.c (pango_fc_fontmap_get_dpi): Extract out the logic for finding the DPI from the size-listing code. (pango_fc_font_map_get_render_key): Handle mix of absolute and not sizes correctly.
* Open the file with mode "wb", include cairo-png.h.Owen Taylor2005-02-031-32/+45
| | | | | | | | | | | | | | | | | | | | | | | | | 2005-02-03 Owen Taylor <otaylor@redhat.com> * examples/cairosimple.c: Open the file with mode "wb", include cairo-png.h. * examples/xftview.c examples/cairoview.c: Set WM_NORMAL_HINTS to avoid triggering a metacity bug. * examples/cairoview.c: Include cairo-xlib.h. * configure.in: Add checks for the Win32 Cairo backend. (not committing the code yet). * examples/Makefile.am pango/Makefile.am: add CAIRO_CFLAGS. * pango/pangocairo-fc.h pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap.c pango/pangofc-fontmap.[ch]: Rework Cairo/Fontconfig backend to use the current Cairo API. Make some PangoFcFontMap changes to enable that. * pango/pango/pangocairo-private.h pango/pangocairo-render.c: Update for cairo_font_t changes.
* Add checks for CairoOwen Taylor2005-01-091-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix problem where MEDIUM was getting grouped with SEMIBOLD rather thanOwen Taylor2004-12-311-1/+1
| | | | | | | | | | | | | | Fri Dec 31 10:20:55 2004 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.c (pango_fc_convert_weight_to_pango): Fix problem where MEDIUM was getting grouped with SEMIBOLD rather than NORMAL. (http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=143832) Wed Dec 22 13:21:01 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-script.c pango/pango-types.h: Fix a couple of documentation typos (#161647, Torsten Schoenfeld)
* Use FC_WEIGHT_MEDIUM, not FC_WEIGHT_NORMAL in old-fontconfig case.Owen Taylor2004-12-171-1/+1
| | | | | | | | Fri Dec 17 14:37:49 2004 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.c (pango_fc_convert_weight_to_fc): Use FC_WEIGHT_MEDIUM, not FC_WEIGHT_NORMAL in old-fontconfig case. (#161568, Vincent Noel)
* Add short and long descriptions.pango-1-8-branchpointOwen Taylor2004-12-161-21/+132
| | | | | | Thu Dec 16 14:03:32 2004 Owen Taylor <otaylor@redhat.com> * docs/tmpl/pango-renderer.sgml: Add short and long descriptions.
* Add pixel sizes for fonts (#119081, patch from Chris Lahey)Owen Taylor2004-12-161-1/+4
| | | | | | | | | | | | | | | | | | | | | 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.
* Add PANGO_WEIGHT_SEMIBOLD. (#86957, Lars Clausen)Owen Taylor2004-12-141-6/+47
| | | | | | | | | | | | | | Tue Dec 14 18:08:36 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-font.h: Add PANGO_WEIGHT_SEMIBOLD. (#86957, Lars Clausen) * pango/fonts.c: s/600/PANGO_WEIGHT_SEMIBOLD. * pango/pangofc-fontmap.c (pango_fc_convert_weight_to_fc) * pango/pangofc-fontmap.c (pango_fc_convert_weight_to_pango): Handle PANGO_WEIGHT_SEMIBOLD, use additional weights added in fontconfig-2.2.
* Cleanups from 'sparse', #149922, Kjartan MaraasOwen Taylor2004-09-221-3/+3
| | | | | | | | | | | | | | | | 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.
* Const-ification fix.Owen Taylor2004-07-101-3/+3
| | | | | | | Sat Jul 10 18:03:58 2004 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.c (pango_fc_font_map_new_font): Const-ification fix.
* Make PangoMatrix arguments const where appropriate.Owen Taylor2004-07-101-39/+8
| | | | | | | | | | | | | | | | | 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 new letter_spacing attribute.Owen Taylor2004-06-231-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Jun 23 11:17:51 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-attributes.[ch]: Add new letter_spacing attribute. * pango/pango-attributes.c (pango_attr_rise_new): Correct description; rise is in Pango units, not em-relative. * pango/pango-glyph-item.c: Break out iteration-over-clusters from ApplyAttrsState into a separate GlyphItemIter. * pango/pango-glyph-item.[ch]: New function pango_glyph_item_letter_space() to add add letter spacing to a single glyph item. * pango/pango-markup.c: Add a letter_spacing attribute. * pango/pango-layout.c: Use G_DEFINE_TYPE(). * pango/pango-layout.c (pango_layout_get_item_properties): Switch to use a structure rather than a pile of out parameters. * pango/pango-layout.c (pango_run_get_extents): Remove the unused shape_set out parameter. * pango/pangofc-decoder.[ch] pango/pangofc-fontmap.[ch]: Doc fixes. * pango/pango-types.h: Deprecate pango_get_mirror_char() * pango/pango-utils.c (pango_get_mirror_char): Add docs. * docs/pango-sections.txt docs/pango-docs.sgml: Add PangoFcDecoder and letter spacing.
* Add export of pangofc-decoder.h. Build pangofc-decoder.c.Christopher Blizzard2004-06-091-12/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Jun 9 17:32:59 2004 Christopher Blizzard <blizzard@redhat.com> * pango/Makefile.am: Add export of pangofc-decoder.h. Build pangofc-decoder.c. * pango/pangofc-decoder.h pango/pangofc-decoder.c: New files. Virtual base class for any custom font decoders. * pango/pangofc-font.c: Add new PangoFcFontPrivate structure. * pango/pangofc-font.c (pango_fc_font_class_init): Attach new private structure using g_type_class_add_private(). * pango/pangofc-font.c (pango_fc_font_finalize): Make sure to unset any decoders that are attached to the font. * pango/pangofc-font.c (pango_fc_font_get_coverage): When determining coverage, use a custom decoder if available. * pango/pangofc-font.c (pango_fc_font_has_char): When determining if a font has a character, use a custom decoder if available. * pango/pangofc-font.c (pango_fc_font_get_glyph): When doing single character to glyph convertions, use a custom decoder if available. * pango/pangofc-font.c (_pango_fc_font_get_decoder): New function. Get the custom decoder for the given font. * pango/pangofc-font.c (_pango_fc_font_set_decoder): New function. Set a custom decoder for the given font. * pango/pangofc-fontmap.c: Add structure PangoFcFindFuncInfo to keep track of callbacks to create custom decoders. Modify PangoFcFontMapPrivate by adding a list of PangoFcFontFuncInfo callbacks that have been registered. * pango/pangofc-fontmap.c (pango_fc_font_map_add_find_func): New function. Add callbacks to the fontmap that will create custom decoders when pango creates new fonts. * pango/pangofc-fontmap.c (pango_fc_font_map_finalize): Clear out any findfuncs that have been registered and notify them about destruction. * pango/pangofc-fontmap.c (pango_fc_font_map_new_font): When creating new fonts, call back to any registered find functions so they can create custom decoders for those fonts. Attach those custom decoders to the newly created fonts. * pango/pangofc-fontmap.c (_pango_fc_font_map_get_coverage): Change the argument to take a PangoFcFont instead of an FcPattern. Call _pango_fc_font_map_fc_to_coverage instead of doing the conversion inline. * pango/pangofc-fontmap.c (_pango_fc_font_map_fc_to_coverage): New function. Convert an FcCharSet to a PangoCoverage object. * pango/pangofc-fontmap.h: New declarations for pango_fc_font_map_add_decoder_find_func and PangoFcDecoderFindFunc. * pango/pangofc-private.h: New declarations for _pango_fc_font_map_fc_to_coverage, _pango_fc_font_get_decoder and _pango_fc_font_set_decoder.
* Add PangoMatrix type for affine transforms.Owen Taylor2004-05-281-20/+67
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Convert PangoStretch to and from FC_WIDTH, so we can actually getManish Singh2004-03-121-67/+157
| | | | | | | | | | | | Thu Mar 11 17:28:06 2004 Manish Singh <yosh@gimp.org> * pango/pangofc-fontmap.c: Convert PangoStretch to and from FC_WIDTH, so we can actually get fontconfig to match on condensed and expanded versions of fonts, and have the info survive a pango_fc_face_describe roundtrip. Fixes #131561. * pango/pangox-fontmap.c: Remove unused function free_coverages_foreach.
* Patch from Dov Grobgeld to add auto-direction to PangoLayout (more ofOwen Taylor2004-03-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Fri Feb 27 11:23:21 2004 Owen Taylor <otaylor@redhat.com> Patch from Dov Grobgeld to add auto-direction to PangoLayout (more of #70451) * examples/pangofttopgm.c: Add --no-auto-dir argument. * pango-layout.[ch]: Add pango_layout_set_auto_dir() defaulting to TRUE; resolve paragraph direction within a layout by propagating base direction downwards from paragraph to paragraph. * pango-context.[ch]: Add pango_itemize_with_base_dir() which overrides the base direction from the PangoContext. Mon Mar 1 10:01:58 2004 Owen Taylor <otaylor@redhat.com> * docs/tmpl/text-attributes.sgml: Document %PANGO_UNDERLINE_ERROR. * pango/pangofc-fontmap.c: Pango*Fc*FontmapPrivate. Make compile.
* Remove the INSTANCE_PRIVATE_DATA_WORKS #ifdefs, since it does work now.Owen Taylor2004-03-011-14/+1
| | | | | | | | Mon Mar 1 09:43:38 2004 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.c (pango_fc_font_map_finalize): Remove the INSTANCE_PRIVATE_DATA_WORKS #ifdefs, since it does work now.
* Use g_array_sort correctly.Noah Levitt2004-02-261-2/+5
| | | | | | 2003-02-26 Noah Levitt <nlevitt@columbia.edu> * pango/pangofc-fontmap.c: Use g_array_sort correctly.