| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
2007-01-04 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-utils.c: Improve docs, and mention
g_unichar_iszerowidth().
svn path=/trunk/; revision=2127
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-01-04 Behdad Esfahbod <behdad@gnome.org>
Part of Bug 332266 – gdk_draw_layout fails for coordinates >= 2^21
* pango/pango-types.h:
* pango/pango-matrix.c: New public API:
pango_matrix_transform_distance()
pango_matrix_transform_point()
pango_matrix_transform_rectangle()
pango_matrix_transform_pixel_rectangle()
* pango/pango-utils.h:
* pango/pango-utils.c: New public API:
pango_units_from_double()
pango_units_to_double()
pango_extents_to_pixels()
* pango/pango-layout.c (pango_layout_get_pixel_extents),
(pango_layout_line_get_pixel_extents): Use pango_extents_to_pixels().
* pango/pangocairo-fcfont.c:
(pango_cairo_fc_font_glyph_extents_cache_init),
(compute_glyph_extents): Use pango_units_from_double().
* examples/renderdemo.c (do_output): Use
pango_matrix_transform_pixel_rectangle();
* pango/pango.def:
* docs/pango-sections.txt:
* docs/tmpl/glyphs.sgml: Update.
svn path=/trunk/; revision=2126
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-01-03 Behdad Esfahbod <behdad@gnome.org>
Bug 390877 – Don't feed pango-features.h to glib-mkenums
Patch from Yevgen Muntyan
* pango/Makefile.am: Move pango-features.h to pangoinclude_HEADERS.
svn path=/trunk/; revision=2124
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
2006-12-23 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-utils.c (pango_language_get_default): Improve docs.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-19 Behdad Esfahbod <behdad@gnome.org>
Bug 326099 – Setting width, indentation and ellipsizing doesn't work
as I would expect
* pango/ellipsize.c (_pango_layout_line_ellipsize): Account for
indentation when deciding what width to ellipsize for.
* pango/pango-layout.c (get_alignment): Don't bother about
conditioning on the line direction for center alignment.
|
|
|
|
|
|
|
|
| |
2006-12-17 Behdad Esfahbod <behdad@gnome.org>
* pango/pangocairo-render.c (pango_cairo_renderer_draw_glyphs):
Avoid some floating-point operations by caching the y value for the
baseline, using it for glyphs having y_offset of 0.
|
|
|
|
|
|
|
|
|
| |
2006-12-15 Frederic Crozat <fcrozat@mandriva.com>
Bug 385478 – Fix tests on OPD platform
* pango/check.defs: Fix tests on OPD platform to report correct
symbols name.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
2006-12-13 Gwenole Beauchesne <gbeauchesne@mandriva.com>
Bug 385478 – Fix tests on OPD platform
* pango/check.defs: Improve symbols extraction for OPD-based
platforms (e.g. ppc64, ia64).
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-07 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-layout-private.h:
* pango/pango-layout.c (pango_layout_get_extents_internal),
(pango_layout_get_extents), (pango_layout_clear_lines),
(pango_layout_line_leaked), (pango_layout_line_get_extents),
(pango_layout_iter_copy), (pango_layout_get_iter),
(pango_layout_iter_get_layout_extents):
Cache layout ink and logical extents.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-06 Behdad Esfahbod <behdad@gnome.org>
* configure.in:
* pango/Makefile.am:
New generated public header file pango-features.h. Currently contains
the version information. In the future, can be expanded to define
which backends have been enabled, etc.
* pango/pango.def:
* pango/pango-utils.h:
* pango/pango-utils.c:
New public macros and functions: PANGO_VERSION_ENCODE(),
PANGO_VERSION_MAJOR, PANGO_VERSION_MINOR, PANGO_VERSION_MICRO,
PANGO_VERSION, PANGO_VERSION_STRING, PANGO_VERSION_CHECK(),
pango_version(), pango_version_string(), pango_version_check().
* docs/pango-docs.sgml:
* docs/pango-sections.txt:
* docs/tmpl/pango-version.sgml:
Docs for new symbols, in a new section.
* examples/renderdemo.c (show_version):
If run-time Pango lib version is different than the compile-time one,
show that one too.
* pango/pango.h:
#include <pango-utils.h> as well as almost all other public pango-*.h
headers (though, the other ones were already included indirectly).
The only public pango-*.h header pango.h shouldn't include are
pango-ot.h (which is really misnamed) and pango-modules.h (that should
not be needed by 99.99% users anyway).
* docs/Makefile.am:
* docs/check.docs: Test to check that all symbols are documented and
properly hooked into documentation tree.
* pango/pango.rc.in:
* pango/pangoft2.rc.in:
* pango/pangowin32.rc.in:
Update, reflecting some internal symbol changes.
* pango/check.defs: Improve.
|
|
|
|
|
|
|
|
|
| |
2006-12-06 Behdad Esfahbod <behdad@gnome.org>
* examples/renderdemo.c (do_output): Set context language to
pango_language_get_default() instead of hardcoding "en-US".
* pango/pango-utils.c (pango_language_get_default): Improve docs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-06 Behdad Esfahbod <behdad@gnome.org>
Bug 333982 – Fallback to $LANG whenever NULL PangoLanguage is used
Patch from LingNing Zhang
* docs/pango-sections.txt:
* docs/tmpl/utils.sgml:
* pango/pango-context.c:
* pango/pango-types.h:
* pango/pango-utils.c (_pango_get_lc_ctype),
(pango_language_get_default):
* pango/pango.def:
New public function pango_language_get_default(). Note that, this
does not make Pango fallback to the default language automatically,
but the user can use this function to set the default language of the
locale on a context:
pango_context_set_language (context, pango_language_get_default());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-06 Behdad Esfahbod <behdad@gnome.org>
Bug 373856 – Wish: Function to convert a GdkColor to a string
Patch from Matthew Barnes
* docs/pango-sections.txt:
* docs/tmpl/text-attributes.sgml:
* pango/pango-attributes.h:
* pango/pango.def:
* pango/pango-color.c (pango_color_to_string):
New public function pango_color_to_string().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-05 Behdad Esfahbod <behdad@gnome.org>
* docs/pango-sections.txt:
* docs/tmpl/layout.sgml:
* pango/pango-layout.c (pango_layout_get_lines_readonly),
(pango_layout_get_line_readonly),
(pango_layout_iter_get_run_readonly),
(_pango_layout_iter_get_line), (pango_layout_iter_get_line),
(pango_layout_iter_get_line_readonly):
* pango/pango-layout.h:
* pango/pango-renderer.c (pango_renderer_draw_layout):
* pango/pango.def:
Add new functions:
pango_layout_iter_get_line_readonly()
pango_layout_get_lines_readonly()
pango_layout_iter_get_line_readonly()
pango_layout_iter_get_run_readonly()
These should be used when you do not intend to modify the run/line,
which is more than most of the time. So, update your app, benefit
from more optimizations (in this case, line extents caching)!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-04 Behdad Esfahbod <behdad@gnome.org>
Bug 135683 – Cache glyphstring extents
* pango/pango-layout.c (pango_layout_get_lines),
(pango_layout_get_line), (pango_layout_line_leaked),
(pango_layout_line_get_extents), (pango_layout_line_new),
(pango_layout_iter_get_run), (pango_layout_iter_get_line):
Cache line extents. Line extents are cached only if the user doesn't
have a pointer to the line or any of its runs. Functions that give
away such pointers mark the line as "leak"ed.
* pango/pango-layout.c (pango_layout_index_to_line_and_extents),
(pango_layout_xy_to_index), (pango_layout_index_to_pos):
Use _pango_layout_iter_get_line() which is like
pango_layout_iter_get_line() but doesn't leak the line.
* pango/pango-layout-private.h: Add pango_layout_iter_get_line()
duplicate _pango_layout_iter_get_line_readonly() that doesn't leak
the line.
* pango/pango-renderer.c (pango_renderer_draw_layout): Use
_pango_layout_iter_get_line_readonly().
|
|
|
|
|
|
|
|
|
| |
2006-12-04 Behdad Esfahbod <behdad@gnome.org>
* pango/pangocairo-render.c (_pango_cairo_renderer_draw_frame):
Improve upon last change. Suggested by Carl Worth: use
cairo_rectangle(x + width, y, -width, height) to do a rectangle with
the other orientation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-04 Behdad Esfahbod <behdad@gnome.org>
* pango/pangocairo-render.c (_pango_cairo_renderer_draw_frame),
(_pango_cairo_renderer_draw_box_glyph),
(_pango_cairo_renderer_draw_unknown_glyph):
Fix handling of boxes drawn in do_path mode. Previously we were
doing one rectangle and stroke it if in show mode, and leave it alone
if in path mode. That doesn't really work. Now we do two rectangles,
for the outer and inner rects of the box border, but with different
orientations, such that pango_cairo_layout_path(); cairo_fill(); works
for hexboxes now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-04 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-renderer.c (pango_renderer_draw_layout_line),
(pango_renderer_draw_glyphs), (pango_renderer_draw_rectangle),
(pango_renderer_draw_error_underline),
(pango_renderer_draw_trapezoid), (pango_renderer_draw_glyph),
(pango_renderer_activate), (pango_renderer_deactivate),
(pango_renderer_set_color), (pango_renderer_get_color),
(pango_renderer_part_changed), (pango_renderer_prepare_run),
(pango_renderer_set_matrix): Replace PANGO_IS_RENDERER with
PANGO_IS_RENDERER_FAST that is just a NULL-check.
|
|
|
|
|
|
|
|
|
|
|
| |
2006-12-01 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-layout.c (pango_layout_run_get_width), (update_run),
(pango_layout_iter_copy), (pango_layout_iter_get_run_extents):
Don't cache run_logical_rect in PangoLayoutIter. Just cache run_width
that can be fastly computed using pango_glyph_string_get_width().
Avoids one pango_font_get_glyph_extents() call per glyph per layout
rendering. We are down to 1 now.
|
|
|
|
|
|
|
|
|
|
| |
2006-11-30 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-layout.c (pango_layout_get_extents_internal): Rework
the way we compute the real_width to avoid calling
pango_layout_get_extents(), and so, avoid one
pango_font_get_glyph_extents() call per glyph per layout rendering.
We now make 2 such calls.
|
|
|
|
|
|
|
|
|
| |
2006-11-30 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-renderer.c (pango_renderer_draw_layout_line):
Don't call into pango_glyph_string_extents() if we don't need anything
out of it! (Ok, that function returns immediately in that case, but
still, avoiding the call overhead.)
|
|
|
|
|
|
|
| |
2006-11-30 Behdad Esfahbod <behdad@gnome.org>
* pango/pangocairo-render.c (acquire_renderer), (release_renderer):
Use G_LOCK_* wrappers for GStaticMutex.
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-11-28 Behdad Esfahbod <behdad@gnome.org>
* pango/pangocairo-font.c (_pango_cairo_font_install),
(_pango_cairo_font_get_font_face),
(_pango_cairo_font_get_scaled_font):
* pango/pangocairo-private.h:
* pango/pangocairo-render.c (pango_cairo_renderer_draw_glyphs):
Revert two of the cast changes from last commit, to make sure the
test-pangocairo-fontmap-mismatch test doesn't crash.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-11-28 Behdad Esfahbod <behdad@gnome.org>
* pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_font_face),
(pango_cairo_fc_font_install), (pango_cairo_fc_font_finalize),
(pango_cairo_fc_font_get_metrics), (pango_cairo_fc_font_shutdown),
(_pango_cairo_fc_font_new):
* pango/pangocairo-fcfontmap.c
(pango_cairo_fc_font_map_set_resolution),
(pango_cairo_fc_font_map_get_resolution_cairo),
(pango_cairo_fc_font_map_get_renderer),
(pango_cairo_fc_font_map_finalize),
(pango_cairo_fc_font_map_get_resolution_fc),
(pango_cairo_fc_font_map_create_font):
* pango/pangocairo-font.c (_pango_cairo_font_install),
(_pango_cairo_font_get_font_face),
(_pango_cairo_font_get_scaled_font),
(_pango_cairo_font_get_hex_box_info):
* pango/pangocairo-fontmap.c (pango_cairo_create_layout):
* pango/pangocairo-render.c (set_color),
(_pango_cairo_renderer_draw_unknown_glyph),
(pango_cairo_renderer_draw_glyphs),
(pango_cairo_renderer_draw_rectangle),
(pango_cairo_renderer_draw_error_underline):
Use simple, fast, casts instead of PANGO_CAIRO_*() macros where the
object cannot have reached us if it wasn't of the right type.
|
|
|
|
|
|
|
|
|
|
|
| |
2006-11-25 Behdad Esfahbod <behdad@gnome.org>
* pango/pangocairo-render.c (acquire_renderer), (release_renderer),
(_pango_cairo_do_glyph_string), (_pango_cairo_do_layout_line),
(_pango_cairo_do_layout): Make renderer-cache really thread-safe this
time. Last try was not quite thread-safe theoretically, because
pointer assignments are not necessarily atomic on some archs. Anyway,
this one should do it.
|
|
|
|
|
|
|
|
|
|
| |
2006-11-22 Behdad Esfahbod <behdad@gnome.org>
Bug 377975 – bug in _pango_glyph_item_iter_next_cluster
* pango/pango-glyph-item.c (_pango_glyph_item_iter_next_cluster),
(_pango_glyph_item_iter_prev_cluster): Fix condition for ending a
cluster.
|
|
|
|
|
|
| |
2006-11-21 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-glyph-item.c: Fix typo in private docs.
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-11-20 Behdad Esfahbod <behdad@gnome.org>
Bug 356666 – pango is not thread-safe, nautilus does not honour that
* pango/pangocairo-render.c (acquire_renderer), (release_renderer),
(_pango_cairo_do_glyph_string), (_pango_cairo_do_layout_line),
(_pango_cairo_do_layout): Instead of using a per-fontmap renderer, use
a locally cached one, but make sure only one thread uses the cached
renderer. Fixes the raciest point in pangocairo.
|
|
|
|
|
|
|
|
|
| |
2006-11-14 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-context.c (itemize_state_process_run): Choose
shaper/font for unassigned Unicode codepoints too. This is needed to
be able to render scripts being encoded before next version of Unicode
is out.
|
|
|
|
|
|
|
|
|
| |
2006-11-08 Behdad Esfahbod <behdad@gnome.org>
Bug 369670 – Crash when selecting text using the keyboard
* pango/pango-layout.c (pango_layout_move_cursor_visually): Don't
index vis2log_map[] with a negative value.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-11-02 Behdad Esfahbod <behdad@gnome.org>
Bug 369670 – Checked g_free calls
* pango/pango-coverage.c (pango_coverage_unref):
* pango/pango-layout.c (pango_layout_finalize),
(pango_layout_set_text):
* pango/pangofc-font.c (pango_fc_font_finalize):
* pango/pangox-fontmap.c (pango_x_font_map_read_alias_file):
Remove redundant checks before g_free() calls.
|
|
|
|
|
|
|
|
| |
2006-10-24 Behdad Esfahbod <behdad@gnome.org>
* pango/pangoft2-fontmap.c (pango_ft2_font_map_class_init),
(pango_ft2_font_map_get_resolution): Implement get_resolution for FT2
fontmaps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-10-13 Behdad Esfahbod <behdad@gnome.org>
Bug 361938 – Can't include *-lang modules (./configure
--with-included-modules fails)
* configure.in:
* modules/Makefile.am:
* pango/.cvsignore:
* pango/Makefile.am:
* pango/modules.c (init_modules):
* pango/modules.h:
Make included language engines work.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
2006-09-25 Behdad Esfahbod <behdad@gnome.org>
Bug 357686 – pangocairo-font.c: illegal g_object_unref in
pango_cairo_font_get_hex_box_info
* pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info): Remove
wrong g_object_unref (fontmap).
|
|
|
|
|
|
|
|
|
|
|
| |
2006-09-18 Behdad Esfahbod <behdad@gnome.org>
* tools/gen-script-table.pl:
* pango/pango-script-table.h:
* pango/pango-script.c (pango_script_for_unichar): Minor
simplification.
* tests/testscript.c (test_script_lookup): Update to pass.
|
|
|
|
|
|
|
| |
2006-09-18 Behdad Esfahbod <behdad@gnome.org>
* pango/pangoft2-render.c (pango_ft2_font_render_glyph): Remove a
couple of unnecessary static variables.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-09-18 Behdad Esfahbod <behdad@gnome.org>
Bug 356194 – more pango_get_log_attrs problems
* pango/break.c (tailor_break): New function. Simply calls the
script_break() function of the language engine, if any.
* pango/break.c (pango_break): Call pango_default_break()
unconditionally. Call tailor_break() on top of the result to tailor
it using the language engines, if any.
* pango/break.c (tailor_segment): Call tailor_break() on the segment,
and make sure the log_attrs for the first position are not corrupted.
* pango/break.c (pango_get_log_attrs): Call pango_default_break() on
the entire paragraph, and call tailor_segment on each segment.
* pango/pango-engine.h: Update docs about *script_break()'s behavior.
|
|
|
|
|
|
|
|
|
| |
2006-09-15 Behdad Esfahbod <behdad@gnome.org>
Bug 355820 – pango_get_log_attrs broken
* pango/break.c (break_it), (pango_get_log_attrs): Use PangoScriptIter
to itemize text, instead of pango_script_for_unichar().
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
2006-09-13 Behdad Esfahbod <behdad@gnome.org>
Bug 355550 – Miscalculation of logical attributes in
pango_get_log_attrs()
Patch from Theppitak Karoonboonyanan
* pango/break.c (pango_get_log_attrs): Pass the correct lang_engine to
pango_break().
|
|
|
|
|
|
|
| |
2006-09-13 Behdad Esfahbod <behdad@gnome.org>
* pango/modules.c (pango_engine_pair_get_engine): Err about failing to
load engine only once per module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-09-13 Behdad Esfahbod <behdad@gnome.org>
Part of Bug 355782 – Misaligned extents in pango
* pango/pango-layout.c (pango_layout_get_extents_internal),
(pango_layout_get_extents), (pango_layout_iter_copy),
(pango_layout_get_iter), (pango_layout_iter_get_line_extents):
Add a new internal member layout_width to PangoLayoutIter. Set it up
in pango_layout_get_extents_internal and use in
pango_layout_iter_get_line_extents to fix misalignment of ink link
extents.
|
|
|
|
|
|
|
|
|
| |
2006-09-13 Behdad Esfahbod <behdad@gnome.org>
"Thou shalt not touch code that does not fit in thy brain."
* pango/pango-layout.c (update_cluster): Add cluster_start_index
parameter back in.
|
|
|
|
|
|
|
|
|
| |
2006-09-13 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-engine.h: Remove unnecessary 'static' in type definition
that causes a relocation.
* pango/shape.c (pango_shape): Make sure last_cluster is invalid.
|
| |
|