| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Avoid modifying hashtable while walking it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug 578336 – ABI breakage from 1.22 to 1.24 in fontmap field of PangoFcFont
Commit 9305b9a9995e84ace3818a90346820ef8c47a3ce introduced a "fontmap"
property in PangoFcFont and expected all subclasses to set it upon
construction. And PangoFcFontSet was changed to not set fcfont->fontmap
anymore.
Relax this change to make it backward compatible by:
1) Making "fontmap" property a not-construct-only property
2) In PangoFcFontSet, set "fontmap" if not already set
This should make it backward compatible, while allowing new code to set the
property instead of relying on PangoFcFontSet to do it.
|
|
|
|
| |
Don't crash when no fonts installed.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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()
|
|
|
|
| |
Now that we keep a lot fewer objects per fontset, increase the cache size.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-31 Behdad Esfahbod <behdad@gnome.org>
* pango/pangofc-fontmap.c (pango_fc_face_describe),
(pango_fc_face_list_sizes), (pango_fc_family_list_faces):
It's not a programming error if face->family is NULL or
family->fontmap is NULL. Be graceful.
svn path=/trunk/; revision=2823
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-30 Behdad Esfahbod <behdad@gnome.org>
Bug 569763 – pango doesn't like font descriptions without family!
* pango/pangofc-fontmap.c (pango_fc_make_pattern): Don't crash is desc
doesn't have family set.
svn path=/trunk/; revision=2821
|
|
|
|
|
|
|
|
|
|
| |
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango-view/viewer-render.c (make_layout), (get_options_string):
Remove default font family and size. This means default is "serif 12"
now, instead of previous "sans 18".
svn path=/trunk/; revision=2820
|
|
|
|
|
|
|
|
|
|
| |
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/pangofc-fontmap.c (pango_fc_font_map_fini),
(pango_fc_font_map_shutdown): Don't disassociate family from fontmap
during cache_clear().
svn path=/trunk/; revision=2816
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-27 Behdad Esfahbod <behdad@gnome.org>
Bug 566727 – PangoFontsetLazy
* pango/pangofc-fontmap.c: Rework caching.
Cache FcFontSort results separately from PangoFontset's.
Add PangoFcFontset which is lazy and does not create fonts until it
really needs to.
Use FcFontMatch() and only do FcFontSort() if fallback fonts are
needed.
svn path=/trunk/; revision=2809
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-09 Behdad Esfahbod <behdad@gnome.org>
Bug 567165 – Apply all pattern matrices
* pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new):
* pango/pangofc-fontmap.c (pango_fc_font_map_new_font):
Apply all FC_MATRIX values, not just the first one. Fixes synthetic
italic rotated text with ft2 and xft backends. Can't believe no one
ever noticed that they are broken...
svn path=/trunk/; revision=2808
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-09 Behdad Esfahbod <behdad@gnome.org>
* docs/pango-sections.txt:
* docs/tmpl/pangofc-fontmap.sgml:
* docs/tmpl/text-attributes.sgml:
* pango/pangocairo-fc.h:
* pango/pangocairo-fcfont.c (get_font_size), (get_gravity_class),
(get_gravity), (_pango_cairo_fc_font_new):
* pango/pangocairo-fcfontmap.c
(pango_cairo_fc_font_map_font_key_substitute),
(pango_cairo_fc_font_map_create_font),
(pango_cairo_fc_font_map_class_init):
* pango/pangofc-font.c (_pango_fc_font_get_font_key),
(_pango_fc_font_set_font_key):
* pango/pangofc-fontmap.c (pango_fc_font_key_equal),
(pango_fc_font_key_hash), (pango_fc_font_key_free),
(pango_fc_font_key_copy), (get_context_matrix),
(pango_fc_font_key_init), (pango_fc_font_key_get_pattern),
(pango_fc_font_key_get_matrix),
(pango_fc_font_key_get_context_key), (pango_fc_font_map_init),
(pango_fc_font_map_class_init), (pango_fc_font_map_add),
(_pango_fc_font_map_remove), (pango_fc_make_pattern),
(pango_fc_font_map_new_font), (pango_fc_default_substitute),
(pango_fc_font_map_get_patterns), (pango_fc_font_map_load_fontset):
* pango/pangofc-fontmap.h:
* pango/pangofc-private.h:
Change PangoFc font loading API such that PangoContext is not passed
down. We use a new opaque struct called PangoFcFontKey. This struct
is in fact our font hash key. This avoids problems where previously
we were using context members that were not necessarily considered
by the pangofc layer when caching.
This is in preparation for lazy loading of fonts in the pangofc fontmap.
svn path=/trunk/; revision=2804
|
|
|
|
|
|
|
|
|
| |
2009-01-09 Behdad Esfahbod <behdad@gnome.org>
* pango/pangofc-fontmap.c (font_hash_key_equal):
Avoid context key comparison if any of the keys is NULL.
svn path=/trunk/; revision=2802
|
|
|
|
| |
svn path=/trunk/; revision=2799
|
|
|
|
|
|
|
|
|
| |
2009-01-08 Behdad Esfahbod <behdad@gnome.org>
* pango/pangofc-fontmap.c (pango_fc_font_map_get_patterns):
Protect against a NULL context.
svn path=/trunk/; revision=2797
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-06 Behdad Esfahbod <behdad@gnome.org>
Bug 166709 – Handle font variants more consistently
* configure.in: Require fontconfig >= 2.5.0
* pango/fonts.c: Parse "Roman" as style=normal instead of
weight=normal. Doesn't make much difference in reality.
* pango/pangofc-fontmap.c (pango_fc_convert_weight_to_fc),
(pango_fc_convert_weight_to_pango): Update to reflect newly
added weights.
svn path=/trunk/; revision=2788
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-06 Behdad Esfahbod <behdad@gnome.org>
Bug 166676 – pango_fc_font_map_finalize
* pango/pangofc-fontmap.c (pango_fc_font_map_finalize),
(pango_fc_face_describe), (pango_fc_face_list_sizes),
(pango_fc_face_finalize), (pango_fc_face_class_init),
(pango_fc_family_list_faces), (pango_fc_family_finalize),
(pango_fc_family_class_init):
Finalize families and faces.
svn path=/trunk/; revision=2784
|
|
|
|
|
|
|
|
|
|
| |
2008-12-25 Behdad Esfahbod <behdad@gnome.org>
* pango/pangofc-fontmap.c (pango_fc_font_map_finalize),
(pango_fc_font_map_shutdown):
Cleanup fontmap finalization.
svn path=/trunk/; revision=2768
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-12-25 Behdad Esfahbod <behdad@gnome.org>
* pango/modules.c (pango_module_load), (script_info_free):
* pango/opentype/harfbuzz-gpos.c (HB_Load_GPOS_Table):
* pango/pango-bidi-type.c:
* pango/pango-coverage.c (pango_coverage_ref),
(pango_coverage_unref):
* pango/pango-engine.c (pango_engine_shape_real_covers),
(fallback_engine_shape), (fallback_engine_covers):
* pango/pango-fontmap.c (pango_font_map_init):
* pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize),
(pango_ot_ruleset_new):
* pango/pangofc-decoder.c (pango_fc_decoder_init),
(pango_fc_decoder_class_init):
* pango/pangofc-font.c (pango_fc_font_find_shaper),
(pango_fc_font_get_coverage):
* pango/pangofc-fontmap.c (pango_fc_font_map_list_families),
(pango_fc_make_pattern), (pango_fc_font_map_get_patterns),
(get_first_font), (_pango_fc_font_map_get_coverage),
(cleanup_font), (pango_fc_font_description_from_pattern),
(pango_fc_face_list_sizes), (pango_fc_family_list_faces):
* pango/pangoft2-fontmap.c (pango_ft2_font_map_get_resolution):
* pango/pangoft2-render.c (pango_ft2_renderer_init),
(pango_ft2_renderer_draw_trapezoid):
* pango/pangoft2.c (pango_ft2_font_get_face),
(pango_ft2_font_real_unlock_face),
(pango_ft2_free_glyph_info_callback):
Fix more warnings.
svn path=/trunk/; revision=2766
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-12-07 Behdad Esfahbod <behdad@gnome.org>
Bug 499624 – Spaces around commas in PangoFontDescription family name
should be trimmed
* pango/fonts.c (pango_font_description_from_string):
* pango/pangofc-fontmap.c (pango_fc_make_pattern):
Do it in pango_font_description_from_string() instead of pangofc
backend.
svn path=/trunk/; revision=2753
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-12-07 Behdad Esfahbod <behdad@gnome.org>
Bug 499624 – Spaces around commas in PangoFontDescription family name
should be trimmed
* pango/pangofc-fontmap.c (pango_fc_make_pattern): Trim family strings
before adding to pattern.
svn path=/trunk/; revision=2752
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-12-07 Behdad Esfahbod <behdad@gnome.org>
Bug 563557 – set g_get_prgname() in fc pattern
* docs/pango-sections.txt:
* pango/pangofc-fontmap.c (pango_fc_make_pattern):
* pango/pangofc-fontmap.h:
Add PANGO_FC_PRGNAME which is the fontconfig element "pangoprgname".
Populate it on all our fontconfig search patterns using
g_get_prgname(). See bug for sample use.
svn path=/trunk/; revision=2751
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-10-28 Behdad Esfahbod <behdad@gnome.org>
Bug 558254 – Internal reference handling messed up
* pango/pangofc-font.c (pango_fc_font_get_coverage):
* pango/pangofc-fontmap.c (pango_fc_font_map_finalize):
Make sure fonts->fontmap is set to NULL when fontmap finalizes.
svn path=/trunk/; revision=2734
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-08-22 Behdad Esfahbod <behdad@gnome.org>
Bug 143542 – PangoFT2Fontmap leak
* pango/fonts.c:
* pango/pangoatsui.c (pango_atsui_font_finalize),
(_pango_atsui_font_set_font_map):
* pango/pangocairo-font.c (_pango_cairo_font_get_metrics),
(_pango_cairo_font_private_get_hex_box_info):
* pango/pangocairo-win32font.c (_pango_cairo_win32_font_new):
* pango/pangofc-font.c (pango_fc_font_get_metrics):
* pango/pangofc-fontmap.c (pango_fc_font_map_add),
(_pango_fc_font_map_remove), (cleanup_font):
* pango/pangowin32-fontmap.c (pango_win32_font_neww),
(pango_win32_font_map_real_find_font):
* pango/pangowin32.c (pango_win32_font_finalize):
* pango/pangox-fontmap.c (pango_x_font_map_load_font):
* pango/pangox.c (pango_x_font_new), (pango_x_font_finalize):
Make the reference the font->fontmap reference weak.
The code for setting the reference must look like this:
g_assert (font->fontmap == NULL);
font->fontmap = (PangoFontMap *) fontmap;
g_object_add_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap);
And releasing it like:
g_assert (font->fontmap != NULL);
g_object_remove_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap);
font->fontmap = NULL;
I have converted all fontmaps. The win32 and atsui ones can
use some simple testing.
The PangoFc fonts actually don't need the weakref as the fontmap
already provides a similar link by itself.
svn path=/trunk/; revision=2704
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-08-12 Sven Herzberg <sven@imendio.com>
Bug 547432: Deprecation of pango_(backend)_font_map_create_context()
not clean
reviewed by: Behdad Esfahbod
* pango/pangocairo-fontmap.c,
* pango/pangofc-fontmap.c,
* pango/pangoft2-fontmap.c,
* pango/pangowin32.c,
* pango/pangox.c,
* pango/pangoxft-fontmap.c: use "Deprecated:" for deprecation messages;
fix the deprecation version number
svn path=/trunk/; revision=2689
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-09 Behdad Esfahbod <behdad@gnome.org>
Bug 536190 – Make pango_fc_font_map_clear_cache() public?
* pango/pangofc-fontmap.c:
* pango/pangofc-fontmap.h:
Make pango_fc_font_map_clear_cache() public.
svn path=/trunk/; revision=2652
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-09 Dominic Lachowicz <domlachowicz@gmail.com>
Bug 515484 – Variable is initialized twice
* pango/pangofc-fontmap.c (_pango_fc_font_map_fc_to_coverage):
Variable was initialized twice.
svn path=/trunk/; revision=2564
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/trunk/; revision=2481
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-10-25 Behdad Esfahbod <behdad@gnome.org>
* pango/pangofc-fontmap.c (pango_fc_font_map_get_patterns):
Call FcFontSetDestroy() instead of FcFontSetSortDestroy().
These days they are the same, but previously the latter was
not freeing the actual patterns. But we don't need the
sort patterns, so this retroactively fixes a leak in older
versions!
svn path=/trunk/; revision=2479
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
Bug 478865 – Drastically reduce number of PangoFont objects created
for rotating text
* pango/pangofc-fontmap.c (fontset_hash_key_hash),
(get_scaled_size), (pango_fc_font_map_get_patterns):
Use a Pango-unit int for scaled-size instead of double.
Merges even more queries...
svn path=/trunk/; revision=2473
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
Bug 478865 – Drastically reduce number of PangoFont objects created
for rotating text
* pango/pangofc-fontmap.c (fontset_hash_key_equal),
(fontset_hash_key_hash), (fontset_hash_key_copy),
(get_scaled_size), (pango_fc_font_map_get_patterns):
Only keep scaled-size in fontset hash, instead of unscaled-size
and context matrix.
svn path=/trunk/; revision=2472
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
Bug 472924 – Mark some classes abstract
* pango/fonts.c:
* pango/pango-fontmap.c:
* pango/pangofc-font.c:
* pango/pangofc-fontmap.c:
Public API chance:
Mark the following types as abstract:
PangoFont
PangoFontFace
PangoFontFamily
PangoFontMap
PangoFcFont
PangoFcFontMap
svn path=/trunk/; revision=2465
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-10-24 Behdad Esfahbod <behdad@gnome.org>
Bug 471601 – Pass pango version information to fontconfig
* pango/pangofc-fontmap.h:
New public API:
PANGO_FC_GRAVITY
PANGO_FC_VERSION
* pango/pangofc-fontmap.c (pango_fc_make_pattern):
Set PANGO_FC_VERSION in pattern.
* docs/pango-sections.txt:
* docs/tmpl/pangofc-fontmap.sgml:
Update.
svn path=/trunk/; revision=2461
|
|
|
|
|
|
|
|
|
| |
2007-09-21 Behdad Esfahbod <behdad@gnome.org>
* pango/pangofc-fontmap.c: Fix typo in comments.
svn path=/trunk/; revision=2428
|