summaryrefslogtreecommitdiff
path: root/pango/pango-layout.h
Commit message (Collapse)AuthorAgeFilesLines
* Add pango_layout_get_directionMatthias Clasen2019-10-311-1/+4
| | | | | | | This lets callers access to resolved text direction of a layout. GTK needs this. Closes: https://gitlab.gnome.org/GNOME/pango/issues/14
* docs: Fix parameter name mismatchesMatthias Clasen2019-07-121-1/+1
| | | | gtk-doc doesn't like these.
* layout: Add line-spacingMatthias Clasen2019-07-051-0/+5
| | | | | | | | | | | | | | 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.
* Add line heights to layout linesMatthias Clasen2019-07-051-0/+4
| | | | Add a getter for the line height of a layout line.
* docs: Fix some introspection annotation syntaxPhilip Withnall2017-04-081-1/+1
| | | | | | Signed-off-by: Philip Withnall <withnall@endlessm.com> https://bugzilla.gnome.org/show_bug.cgi?id=778663
* Decorate the symbols in the headers with version macrosChun-wei Fan2016-06-291-0/+87
| | | | | | | From the last commit, decorate all the symbols with the version macros. Also add the version macros in the docs. https://bugzilla.gnome.org/show_bug.cgi?id=767587
* Minor doc fixBehdad Esfahbod2015-05-051-0/+3
|
* Bug 685167 - migrate docs to no-tmpl flavourBehdad Esfahbod2013-09-271-0/+43
| | | | Patch from Rafał Mużyło.
* Track changes in layout and dependencies via serialsAlexander Larsson2012-12-061-0/+1
| | | | | | | | | 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
* Annotations: add missing colons after symbol namesPavel Holejsovsky2012-06-041-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=677407
* Stop using G_CONST_RETURN in PangoRyan Lortie2011-06-091-1/+1
| | | | | | | G_CONST_RETURN is headed for deprecation (as per bug #644611). Stop using it in Pango. https://bugzilla.gnome.org/show_bug.cgi?id=652202
* MinorBehdad Esfahbod2011-05-161-2/+2
|
* Provide access to PangoLayout.n_charsMatthias Clasen2011-05-161-0/+2
| | | | | | | This lets us avoid a bunch of g_utf8_strlen() calls, when Pango is already maintaining this information anyway. https://bugzilla.gnome.org/show_bug.cgi?id=650208
* Add a readonly version of pango_layout_get_log_attrs()Matthias Clasen2011-05-161-0/+3
| | | | | | | Otherwise, we are forced to either make many unnecessary copies or pass the log attrs around alongside the layout in APIs operating on the attrs. https://bugzilla.gnome.org/show_bug.cgi?id=650170
* Bug 404416 – pango_layout_get_baseline or somethingBehdad Esfahbod2008-04-211-0/+1
| | | | | | | | | | | | | | | | | 2008-04-21 Behdad Esfahbod <behdad@gnome.org> Bug 404416 – pango_layout_get_baseline or something * docs/pango-sections.txt: * pango/pango-layout.c (pango_layout_get_baseline): * pango/pango-layout.h: * pango/pango.def: New public API: pango_layout_get_baseline() svn path=/trunk/; revision=2605
* Bug 469313 – Add pango_layout_set_height() Bug 508179 – PangoGlyphUnitBehdad Esfahbod2008-01-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Bug 471577 – GBoxed GType for PangoGlyphItemBehdad Esfahbod2007-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-10-24 Behdad Esfahbod <behdad@gnome.org> Bug 471577 – GBoxed GType for PangoGlyphItem * pango/pango-glyph-item.h: * pango/pango-glyph-item.c: New public API: PANGO_TYPE_GLYPH_ITEM pango_glyph_item_copy() pango_glyph_item_get_type() * pango/pango-layout.c: New public API: pango_layout_iter_copy() * pango/fonts.c (pango_font_description_copy), (pango_font_description_copy_static), (pango_font_description_free), (pango_font_descriptions_free), (pango_font_metrics_ref), (pango_font_metrics_unref): * pango/glyphstring.c (pango_glyph_string_copy), (pango_glyph_string_free): * pango/pango-attributes.c (pango_attr_list_ref), (pango_attr_list_unref), (pango_attr_list_copy): * pango/pango-color.c (pango_color_copy), (pango_color_free): * pango/pango-item.c (pango_item_copy), (pango_item_free): * pango/pango-layout.c (pango_layout_line_ref), (pango_layout_line_unref), (pango_layout_iter_copy), (pango_layout_iter_free): * pango/pango-layout.h: * pango/pango-matrix.c (pango_matrix_copy), (pango_matrix_free): Update all copy/free functions to accept NULL as legitimate input. Previously all were g_return_[val_]if_fail()ing it. * pango/pango.def: * docs/pango-sections.txt: * docs/tmpl/glyphs.sgml: * docs/tmpl/layout.sgml: Update. svn path=/trunk/; revision=2457
* Bug 471571 – Add pango_layout_iter_get_layout()Behdad Esfahbod2007-10-221-3/+4
| | | | | | | | | | | | | | | | 2007-10-22 Behdad Esfahbod <behdad@gnome.org> Bug 471571 – Add pango_layout_iter_get_layout() * docs/pango-sections.txt: * docs/tmpl/layout.sgml: * pango/pango-layout.c (pango_layout_iter_get_layout): * pango/pango-layout.h: * pango/pango.def: Add trivial yet missing pango_layout_iter_get_layout(). svn path=/trunk/; revision=2456
* Remove obsolete comment. PangoLayoutRun is not deprecated. It's just sameBehdad Esfahbod2007-10-221-1/+0
| | | | | | | | | | 2007-10-21 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout.h: Remove obsolete comment. PangoLayoutRun is not deprecated. It's just same type as PangoGlyphItem. svn path=/trunk/; revision=2454
* Add G_GNUC_CONST and G_GNUC_PURE annotations.Behdad Esfahbod2007-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-11 Behdad Esfahbod <behdad@gnome.org> * pango/pango-attributes.h: * pango/pango-font.h: * pango/pango-glyph.h: * pango/pango-gravity.h: * pango/pango-language.h: * pango/pango-layout.h: * pango/pango-matrix.h: * pango/pango-ot-private.h: * pango/pango-ot.h: * pango/pango-renderer.h: * pango/pango-script.h: * pango/pango-tabs.h: * pango/pango-utils.h: * pango/pangoatsui-private.h: * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.h: * pango/pangocairo-fc.h: * pango/pangocairo-private.h: * pango/pangocairo-win32.h: * pango/pangocairo.h: * pango/pangofc-decoder.h: * pango/pangofc-font.h: * pango/pangofc-fontmap.h: * pango/pangoft2-private.h: * pango/pangoft2.h: * pango/pangowin32-private.h: * pango/pangox-private.h: * pango/pangoxft-render.h: * pango/pangoxft.h: Add G_GNUC_CONST and G_GNUC_PURE annotations. svn path=/trunk/; revision=2345
* *.c, *.h: Replace preceding sequences of 8 spaces with tabs.Behdad Esfahbod2007-01-161-24/+24
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Replace preceding sequences of 8 spaces with tabs. svn path=/trunk/; revision=2165
* *.c, *.h: Drop trailing whitespace.Behdad Esfahbod2007-01-161-2/+2
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Drop trailing whitespace. svn path=/trunk/; revision=2163
* Bug 328585 – Need to know if a layout has unknown glyphs Patch fromBehdad Esfahbod2007-01-161-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Align spaces.Behdad Esfahbod2007-01-161-2/+2
| | | | svn path=/trunk/; revision=2161
* Part of Bug 326693 – PangoLayouts should be query-able about theirBehdad Esfahbod2007-01-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Bug 363510 – Ability to query whether a PangoLayout is effectivelyBehdad Esfahbod2007-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Spell-check the docs.Behdad Esfahbod2007-01-071-2/+2
| | | | svn path=/trunk/; revision=2130
* Add new functions: pango_layout_iter_get_line_readonly()Behdad Esfahbod2006-12-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | 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)!
* Bug 351496 – PangoAnalysis::gravity breaks binary compatibilityBehdad Esfahbod2006-08-201-1/+1
| | | | | | | | 2006-08-20 Behdad Esfahbod <behdad@gnome.org> Bug 351496 – PangoAnalysis::gravity breaks binary compatibility * pango/pango-item.h (PangoAnalysis): Use bitfields for level.
* Turn various gcc warnings off. Adding const, adding static, fullyBehdad Esfahbod2005-11-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Based on patch from Gustavo J. A. M. Carneiro (#305975)Owen Taylor2005-07-221-2/+7
| | | | | | | | | | | | | | 2005-07-21 Owen Taylor <otaylor@redhat.com> Based on patch from Gustavo J. A. M. Carneiro (#305975) * pango/pango-layout.[ch] (pango_layout_line_ref) pango/pango-attributes.[ch] (pango_attr_list_ref): Return the argument to _ref() functions. * pango/pango-item.[ch]: Register PangoItem boxed type. * pango/pango-layout.[ch]: Register PangoLayoutLine boxed type.
* Add. (#153548, Morten Welinder)Owen Taylor2004-12-131-0/+3
| | | | | | | | | | Mon Dec 13 14:44:40 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-layout.[ch] pango/pango.def docs/pango-sections.txt: Add. (#153548, Morten Welinder) * pango/pango-layout.c (pango_layout_set_font_description): Guard against the same description being set back.
* Add PangoEllipsizeMode, pango_layout_set_ellipsize(), implement. (#59071)Owen Taylor2004-07-141-0/+24
| | | | | | | | | | | | | | | | | | 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.
* Fix bug with using wrong uline value.Owen Taylor2004-06-241-1/+4
| | | | | | | Thu Jun 24 00:50:46 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-layout.c (pango_layout_run_get_extents): Fix bug with using wrong uline value.
* Patch from Dov Grobgeld to add auto-direction to PangoLayout (more ofOwen Taylor2004-03-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Add --indent=n option.Noah Levitt2003-11-251-0/+1
| | | | | | | | | 2003-11-25 Noah Levitt <nlevitt@columbia.edu> * examples/pangoft2topgm.c: Add --indent=n option. * pango/pango-layout.[ch]: Indent the first line of every paragraph, not just the first line in the layout. (#66626)
* Rename PangoLayoutRun to PangoGlyphItem (with a typedef for compat), addOwen Taylor2002-12-031-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sun Nov 17 23:28:26 2002 Owen Taylor <otaylor@redhat.com> * pango/pango-glyph-item.[ch] pango/pango-layout.h: Rename PangoLayoutRun to PangoGlyphItem (with a typedef for compat), add pango_glyph_item_split(), pango_glyph_item_apply_attrs(). * pango/pango-attributes.[ch]: Add pango_attr_list_filter(), pango_attr_iterator_get_attrs(). * pango/pango-layout.c: Remove attributes that don't affect shaping before shaping, shape and then add them back. Fixes the infamous "underscores break arabic shaping" bug (#83058) * pango/pango-item.h: Remove an extraneous include. * pango/pango-layout.c (imposed_shape): Fix bytes/chars problem for glyph->log_clusters. * pango/pango-layout.c (cluster_end_index) * pango/pango-layout.c (pango_layout_iter_next_cluster): Fix confusion between global indices and run-relative indices. * docs/tmpl/glyphs.sgml: Improve docs for log_clusters. * docs/*: Document new API and PangoOTRuleset
* Trivial s/foo/foo_/ fixes to make pango.h includable with -WshadowSoeren Sandmann2002-11-081-7/+7
| | | | | | | | | | | | | | | | | | | Fri Nov 8 20:02:09 2002 Soeren Sandmann <sandmann@daimi.au.dk> * docs/tmpl/coverage-maps.sgml: * docs/tmpl/glyphs.sgml: * docs/tmpl/layout.sgml: * docs/tmpl/x-fonts.sgml: * pango/mapping.c: * pango/pango-coverage.c: * pango/pango-coverage.h: * pango/pango-glyph.h: * pango/pango-layout.c: * pango/pango-layout.h: * pango/pangox.h: Trivial s/foo/foo_/ fixes to make pango.h includable with -Wshadow (#91680).
* Add, implement and document PANGO_WRAP_WORD_CHARAlexander Larsson2002-10-041-1/+2
| | | | | | | | 2002-10-04 Alexander Larsson <alexl@redhat.com> * pango/pango-layout.[ch]: * docs/tmpl/layout.sgml: Add, implement and document PANGO_WRAP_WORD_CHAR
* Up to 0.19.Owen Taylor2001-09-181-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tue Sep 18 15:47:08 2001 Owen Taylor <otaylor@redhat.com> * configure.in (PANGO_MINOR_VERSION): Up to 0.19. * pango/pango-font.h pango/pango-fontmap.[ch] pango/fonts.c pango/pangoxft-fontmap.c pango/pangoft-fontmap.c pango/pango-context.[ch] pango/pangox-fontmap.c: Add new PangoFontFace and PangoFontFamily object types, and change the font listing API to list faces and families, instead of face names and font descriptions. * pango/pango-font.h pango/fonts.c: Make PangoFontDescription an opaque heap-allocated structure, add accessors and convenience functions. * pango/pango-font.h pango/pango-private.h: Make PangoFontMetrics heap allocated, protect the structure definition with #ifdef PANGO_ENABLE_BACKEND, and add getters for the fields. * pango/pango-attributes.[ch] ( pango_attr_iterator_get_font): instead of providing a base font description and one to fill in, provide a single font description to modify based on the attributes. * pango/pango-attributes.[ch]: Fix PangoAttrFontDesc to have a PangoFontDescription by reference, not by value. * pango/pango-utils.[ch]: make pango_parse_style() and friends take pointers to individual enumerations instead of to a PangoFontDescription structure. * pango/*.c: Fix for the PangoFontDescription and PangoFontMetrics changes. * pango/pango-{break,engine,indic,ot,xft}.h pango/Makefile.am pango/opentype/Makefile.am: Protect portions with PANGO_ENABLE_ENGINE to shrink the public API. * modules/*/Makefile.am: -DPANGO_ENABLE_ENGINE. * pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c: Move pango_x_font_get_unknown_glyph() into public header since it is used from modules. * pango/pango-{context,font,fontmap,modules.utils}.h pango/Makefile.am: Protect portions with PANGO_ENABLE_BACKEND to shrink the public API. * pango/*.h: Use G_BEGIN/END_DECLS * examples/viewer-qt.[cc,h]: Fix for changes to font listing API, PangoFontDescription. * pango/pango-indic.h modules/indic/*: Since we install this header fix it up to Pango conventions, namespece ZERO_WIDTH_JOINER, ZERO_WIDTH_NON_JOINER. * docs/pango-sections.txt: Updated.
* Add a 'strong' parameter to allow moving either the strong or the weakOwen Taylor2001-06-081-0/+1
| | | | | | | | Thu Jun 7 14:06:25 2001 Owen Taylor <otaylor@redhat.com> * pango/pango-layout.c (pango_layout_move_cursor_visually): Add a 'strong' parameter to allow moving either the strong or the weak cursor visually, instead of the strong cursor.
* Use ISO C99 varargs when available.Owen Taylor2001-05-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | Fri May 18 11:30:57 2001 Owen Taylor <otaylor@redhat.com> * pango/opentype/disasm.c: Use ISO C99 varargs when available. Thu May 17 11:16:23 2001 Owen Taylor <otaylor@redhat.com> * pango/mapping.c: Fixup docs, remove some FIXMEs that are no longer applicable. * pango/pango-layout.c: Move by graphemes, not characters. * pango/pango-layout.c (pango_layout_line_x_to_index): Position at the closest grapheme boundary, not at character boundaries. * pango/pango-layout.c (pango_layout_line_index_to_x): Return positions of grapheme boundaries, not character boundaries.
* Move some fontmap stuff to pangox-private.h to access fontmap->resolutionHavoc Pennington2001-04-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 2001-04-27 Havoc Pennington <hp@redhat.com> * pango/pangox-fontmap.c: Move some fontmap stuff to pangox-private.h to access fontmap->resolution in pangox.c * pango/pangox.c (get_font_metrics_from_subfonts): multiply avg. width by PANGO_SCALE, and consider that avg width from X is in decipoints * modules/basic/basic-x.c: mark some chars unknown when shaping, with a flag PANGO_X_UNKNOWN_FLAG * pango/pangox.c (pango_x_font_get_metrics): use lookup_lang not lang when calling get_font_metrics_from_string (pango_x_render): render unknown chars * pango/pango-layout.c: (pango_layout_set_single_paragraph_mode): add mode where we don't break on para separators, instead we shape them and display glyphs (pango_layout_get_single_paragraph_mode): getter for above (pango_layout_check_lines): handle single paragraph mode
* properly update the tail of the list (pango_attr_list_change): flip orderHavoc Pennington2001-02-131-1/+1
| | | | | | | | | | | | | | | | | | 2001-02-12 Havoc Pennington <hp@redhat.com> * pango/pango-attributes.c (pango_attr_list_insert_internal): properly update the tail of the list (pango_attr_list_change): flip order of tmp_list2 = tmp_list2->next and prev2 = tmp_list2 to avoid setting prev2 and tmp_list2 to the same value thus creating a mangled list. * pango/pango-layout.c (pango_layout_xy_to_index): When returning FALSE, set the index/trailing to the nearest location, instead of setting them to 0. (pango_layout_line_x_to_index): Fix a bug where line->start_index wasn't used. Return boolean for whether we had to clamp the value to get an index.
* New functionHavoc Pennington2001-01-231-0/+1
| | | | | | 2001-01-23 Havoc Pennington <hp@redhat.com> * pango/pango-layout.c (pango_layout_copy): New function
* s/is_break/is_line_break/g;Havoc Pennington2001-01-221-0/+8
| | | | | | | | | | | | | | | 2001-01-22 Havoc Pennington <hp@redhat.com> * tests/testboundaries.c (check_line_char): s/is_break/is_line_break/g; * pango/pango-layout.c, pango/pango-layout.h: Add PangoWrapMode for PangoLayout * pango/break.c (pango_default_break): implement char break log attr * pango/pango-break.h (struct _PangoLogAttr): rename is_break is_line_break, add is_char_break field
* delete lang engineHavoc Pennington2000-12-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-30 Havoc Pennington <hp@pobox.com> * modules/thai/thai.c: delete lang engine * modules/tamil/tamil.c: delete lang engine (tamil_engine_x_new): fix type tag for shape engine * modules/indic/myanmar.c: delete lang engine (pango_engine_x_new): fix type tag for shape engine * modules/indic/gurmukhi.c: delete lang engine (pango_indic_engine_x_new): fix type tag for shape engine * modules/indic/gujarati.c: delete lang engine (pango_indic_engine_x_new): fix type tag for shape engine * modules/indic/devanagari.c: delete lang engine (pango_indic_engine_x_new): fix type tag for shape engine * modules/indic/pango-indic-script.h (SCRIPT_ENGINE_DEFINITION): delete lang engine * modules/indic/bengali.c: delete the lang engine (pango_indic_engine_x_new): fix type tag for shape engine * modules/hangul/hangul.c: delete the lang engine (hangul_engine_x_new): fix type tag for shape engine * modules/basic/basic.c: delete the lang engine (basic_engine_x_new): fix type tag for shape engine * modules/basic/basic-win32.c: delete the lang engine (basic_engine_win32_new): this was a shape engine, use correct type tag * modules/basic/basic-ft2.c: delete the lang engine * modules/arabic/arabic.c: Delete the lang engine (arabic_engine_x_new): this is a shape engine, not a lang engine, fix type tag * pango/pango-layout.c (pango_layout_index_to_line_x): handle the fact that paragraph delimiters aren't in the layout lines (pango_layout_index_to_pos): update to handle paragraph delimiters * pango/break.c (pango_find_paragraph_boundary): New function to find paragraph boundaries * pango/pango-layout.c (get_items_log_attrs): don't separate calls to pango_break() when directional level changes * pango/pango-layout.h (struct _PangoLayoutLine): put start index of the line into the struct * pango/pango-layout.c (pango_layout_get_cursor_pos): Fixups to reflect the fact that paragraph separators are removed from the input text. * pango/pango-layout.c (can_break_at): don't special-case start of line and whitespace-following-alphabetic here, because pango_break() already handles that properly * tests/testboundaries.c, tests/Makefile.am, tests/runtests.sh: Add directory for test programs, and a script to run them all * configure.in: Create Makefile in tests * pango/break.c (pango_break): Try for a real implementation of the Unicode text boundary algorithms (pango_get_log_attrs): Allow length to be -1 * pango/pango-context.c (pango_itemize): use pango_item_new(), assert that items added to the list are sane. * pango/pango-layout.c (pango_layout_check_lines): Reimplement to honor the paragraph boundaries from pango_break() * pango/pango-layout.c (process_item): use pango_item_split() here * pango/pango-item.c (pango_item_split): New function to split an item into two items
* Add new PangoLayoutIter entry pointsHavoc Pennington2000-11-131-0/+37
| | | | | | | | | | | | | | | | | | 2000-11-13 Havoc Pennington <hp@redhat.com> * docs/pango-sections.txt: Add new PangoLayoutIter entry points * pango/glyphstring.c (pango_glyph_string_extents_range): New function * pango/pango-layout.c: Create PangoLayoutIter for iterating over a layout's visual elements * pango/pango-layout.c (pango_layout_check_lines): plug a memleak (attr iterator not freed) * pango/pango-tabs.c (pango_tab_array_free): plug a memleak (array->tabs not freed)
* Add accessor to get the text from the layoutHavoc Pennington2000-11-121-0/+1
| | | | | | | 2000-11-12 Havoc Pennington <hp@pobox.com> * pango/pango-layout.c (pango_layout_get_text): Add accessor to get the text from the layout
* Add a new attribute for scaling a font; also required addingHavoc Pennington2000-11-011-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-01 Havoc Pennington <hp@pobox.com> * pango/pango-attributes.c (pango_attr_scale_new): Add a new attribute for scaling a font; also required adding PangoAttrFloat. (pango_attr_iterator_get_font): Add PANGO_ATTR_SCALE handling. * pango/pango-utils.c (pango_parse_stretch): Take a plain string not a GString (pango_parse_weight): ditto (pango_parse_variant): ditto (pango_parse_style): ditto * pango/pangox-fontmap.c (pango_x_font_map_read_alias_file): pass GString::str instead of the GString itself to pango_parse_* * pango/pangoft2-fontmap.c (pango_ft2_insert_face): ditto * pango/pangowin32-fontmap.c (pango_win32_font_map_read_alias_file): ditto * pango/pango-layout.c (get_tab_pos): adapt to new pango_itemize() signature (pango_layout_check_lines): Raise attr list copy/creation out of the loop over paragraphs. Adapt to pango_itemize() changes. * pango/pango-context.c (pango_itemize): pass in a starting index and a cached iterator (add_engines): Easy optimization, pass in n_chars instead of recomputing it. Also, pass on the start index and cached iterator. * docs/pango-sections.txt: Add new stuff docs/pango_markup.sgml: Docs on markup format * pango/pango-layout.c (pango_layout_get_attributes): New function to retrieve the AttrList from a layout (pango_layout_set_markup): Set layout from markup (pango_layout_set_markup_with_accel): Set layout from markup including accelerator parsing. * pango/pango-attributes.h (pango_parse_markup): New function to convert a tag string to an attribute list * pango/pango-markup.c (pango_parse_markup): implement * docs/Makefile.am, docs/pango-docs.sgml, docs/pango-sections.txt, docs/pango_markup.sgml: oooooh, documentation for the above patch! * docs/tmpl/pango-unused.sgml: Remove from CVS; just causes problems, and was full of checked-in conflict markers.