| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Apply horizontal displacements for superscripts and subscripts
that are provided in font metrics. This noticably improves the
placement of superscripts in italics.
Currently, we only apply these displacements in post-processing,
and ignore the width changes during line-breaking. This could
be improved by moving the baseline handling into the line-breaking
proper.
|
|
|
|
|
|
|
| |
Add a way to justify the last line in a justified
paragraph.
Fixes: #74
|
|
|
|
|
|
|
| |
When shaping the ellipsis, use the same shape flags
we use for the rest of the layout, otherwise we end
up with subtle size differences between an ellipsized
text and a plain …
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If line-spacing is set to a non-zero value,
we place lines so that
baseline2 = baseline1 + line-spacing * height2
where height2 is the line height of the
second line. In this case, we ignore
spacing.
If line-spacing is set to zero, spacing
is applied as before.
|
|
|
|
|
|
|
|
| |
Since PangoLayout caches the amount of lines it contains in
->line_count, we can use this to pre-allocate an Extents array of the
appropriate size.
https://bugzilla.gnome.org/show_bug.cgi?id=788643
|
|
|
|
|
|
|
| |
And add _pango_layout_get_iter as well as _pango_layout_iter_destroy
that can be used for internal, stack allocated PangoLayoutIters.
https://bugzilla.gnome.org/show_bug.cgi?id=788643
|
|
|
|
|
|
|
|
|
| |
We track changes in the PangoContext and automatically call
pango_layout_context_changed() when needed, plus we track
changes in the layout and let apps know via pango_layout_get_serial
when the layout changed and needs to be redrawn.
https://bugzilla.gnome.org/show_bug.cgi?id=340066
|
|
|
|
| |
Use memcpy() to copy value fields so we don't miss any.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-08-22 Behdad Esfahbod <behdad@gnome.org>
Bug 549003 – pango_layout_set_height(): layout should not be cleared
unless required
* pango/pango-layout-private.h:
* pango/pango-layout.c (pango_layout_init),
(pango_layout_set_height), (pango_layout_get_line_count),
(pango_layout_clear_lines), (add_line):
Don't invalidate layout if the new height does not force
ellipsization.
svn path=/trunk/; revision=2707
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-01-14 Behdad Esfahbod <behdad@gnome.org>
Bug 469313 – Add pango_layout_set_height()
Bug 508179 – PangoGlyphUnit confusion
* pango/pango-layout.h:
* pango/pango-layout-private.h:
* pango/pango-layout.c:
* pango/ellipsize.c (_pango_layout_line_ellipsize):
New public API:
pango_layout_set_height()
See docs for semantics. Currently only negative height values (number
of lines) is implemented.
* pango-view/viewer-render.c (make_layout), (output_body),
(parse_options):
Implement --height.
* pango/pango.def:
* docs/pango-sections.txt:
* docs/tmpl/layout.sgml:
Update.
2008-01-14 Behdad Esfahbod <behdad@gnome.org>
Bug 508179 – PangoGlyphUnit confusion
* pango/pangowin32.c:
* pango/glyphstring.c:
* pango/pango-layout.c (process_item): Remove all traces of
#PangoGlyphUnit
svn path=/trunk/; revision=2542
|
|
|
|
| |
svn path=/trunk/; revision=2244
|
|
|
|
|
|
|
|
|
|
| |
2007-05-02 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-layout-private.h: Remove stale prototype of
_pango_layout_iter_get_line_readonly().
svn path=/trunk/; revision=2243
|
|
|
|
|
|
|
|
|
| |
2007-01-16 Behdad Esfahbod <behdad@gnome.org>
*.c, *.h: Drop trailing whitespace.
svn path=/trunk/; revision=2163
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-01-16 Behdad Esfahbod <behdad@gnome.org>
Bug 328585 – Need to know if a layout has unknown glyphs
Patch from LingNing Zhang
* pango/pango-layout-private.h:
* pango/pango-layout.c (pango_layout_init), (pango_layout_copy),
(pango_layout_get_unknown_glyphs_count),
(pango_layout_clear_lines):
* pango/pango-layout.h:
New public function:
pango_layout_get_unknown_glyphs_count()
* pango/pango.def:
* docs/tmpl/layout.sgml:
* docs/pango-sections.txt:
Update.
svn path=/trunk/; revision=2162
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-01-16 Behdad Esfahbod <behdad@gnome.org>
Part of Bug 326693 – PangoLayouts should be query-able about their
effective properties (width / wrapped / ellipsized / etc)
* pango/pango-layout-private.h:
* pango/pango-layout.c (pango_layout_init), (pango_layout_copy),
(pango_layout_is_wrapped), (pango_layout_clear_lines),
(process_line):
* pango/pango-layout.h:
New public function:
pango_layout_is_wrapped()
* pango/pango.def:
* docs/tmpl/layout.sgml:
* docs/pango-sections.txt:
Update.
svn path=/trunk/; revision=2160
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-01-16 Behdad Esfahbod <behdad@gnome.org>
Bug 363510 – Ability to query whether a PangoLayout is effectively
ellipsized (as opposed to the set_ellpisize()/get_ellipsize() methods
which only set a request, or return the set request respectively)
Patch from Milosz Derezynski
* pango/pango-layout.h:
* pango/ellipsize.c (_pango_layout_line_ellipsize):
* pango/pango-layout-private.h:
* pango/pango-layout.c (pango_layout_init), (pango_layout_copy),
(pango_layout_is_ellipsized), (pango_layout_clear_lines),
(pango_layout_line_postprocess):
New public function:
pango_layout_is_ellipsized()
* pango/pango.def:
* docs/tmpl/layout.sgml:
* docs/pango-sections.txt:
Update.
svn path=/trunk/; revision=2150
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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().
|
|
Wed Jul 14 17:47:38 2004 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.[ch] pango/ellipsize.c pango/Makefile.am:
Add PangoEllipsizeMode, pango_layout_set_ellipsize(), implement.
(#59071)
* pango/pango-layout-private.h pango/pango-layout.c:
Move PangoLayout structure into a separate header file.
* pango/pango-glyph-item.[ch]: Add pango_glyph_item_free().
* pango/pango-glyph-item-private.h pango/pango-glyph-item.c:
Internally export the PangoGlyphItemIter functionality.
* examples/renderdemo.[ch]: Add --ellipsize option.
|