| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
When we change font scale for emulating small caps,
keep the original font around in the analysis, and use
it for calculating the run height.
Fixes: #622
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a char_offset field to PangoItem, compute it as part of
itemization and update it when splitting items. Keeping this
number around cuts down on the amount of list and utf8 walking
we need to do later.
We have to do some extra shenanigans to preserve abi in the
face of pango's open-coded structs, so we introduce a
PangoItemPrivate type that is used internally. On 64bit,
PangoItem has a 4 byte whole, so we can keep the size of
PangoItemPrivate the same. No such luck on 32bit.
|
|
|
|
|
| |
Move pango_reorder_items to pango-item.h, since
it is abou items, not about glyphs.
|
|
|
|
|
| |
Split the itemization code into its own file,
and move things around a bit.
|
| |
|
|
|
|
|
| |
Move itemize functions to pango-item.h, and move
the PangoContext typedef to pango-types.h.
|
|
|
|
| |
Add summaries, convert markup, etc.
|
|
|
|
|
| |
We don't need the deprecated and useless module
and engine types in the gir and the docs.
|
|
|
|
| |
Replace gtk-doc'isms and use gi-docgen links instead.
|
|
|
|
|
|
|
|
|
| |
Instead, reshape the pre-break run with the
soft hyphen replaced by an actual hyphen.
This is unfortunately inefficient, we copy
the entire text for this. The alternative
(scatter-gather populating the harfbuzz
buffer) is too hard to manage.
|
| |
|
|
|
|
| |
Avoid duplicate comments in struct defintions.
|
|
|
|
|
| |
This adds attrs that are overlapping the range
of the item to the extra_attrs in the analysis.
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Without this, it is hard to determine if you are 'inside the
ellipsis'. We need to know this in GTK+, e.g. to skip link
processing.
I decided not to turn the flags into an enum at the time to
avoid possible language binding problems.
https://bugzilla.gnome.org/show_bug.cgi?id=735719
|
|
|
|
| |
Patch from Rafał Mużyło.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-05-08 Behdad Esfahbod <behdad@gnome.org>
Bug 436988 – Adding PangoScript to PangoAnalysis
* pango/pango-item.h:
* pango/pango-context.c (itemize_state_add_character):
Add a 'script' member to PangoAnalysis. It's added as a guint8
in the padding available in that struct, though it's value is a
PangoScript.
* pango/pangox.c (itemize_string_foreach):
Update.
svn path=/trunk/; revision=2267
|
|
|
|
|
|
|
|
|
| |
2007-01-16 Behdad Esfahbod <behdad@gnome.org>
*.c, *.h: Replace preceding sequences of 8 spaces with tabs.
svn path=/trunk/; revision=2165
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-01-08 Behdad Esfahbod <behdad@gnome.org>
* docs/pango-sections.txt:
* docs/tmpl/glyphs.sgml:
* docs/tmpl/main.sgml:
* pango/pango-context.c (itemize_state_add_character):
* pango/pango-item.h:
* pango/pango-layout.c (pango_layout_run_get_extents):
* pango/pango-renderer.c (pango_renderer_draw_layout_line):
Don't introduce bitfields in public struct and rename PangoAnalysis.
centered_baseline to PangoAnalysis.flags and introduce
PANGO_ANALYSIS_FLAGS_CENTERED_BASELINE.
svn path=/trunk/; revision=2134
|
|
|
|
|
|
|
|
| |
2006-08-20 Behdad Esfahbod <behdad@gnome.org>
Bug 351496 – PangoAnalysis::gravity breaks binary compatibility
* pango/pango-item.h (PangoAnalysis): Use bitfields for level.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-08-15 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-layout.c (pango_layout_run_get_extents):
* pango/glyphstring.c (pango_glyph_string_extents_range):
Return if none of logical_rect or ink_rect is non-NULL.
* pango/pango-item.h (PangoAnalysis): Add new member centered_baseline
which if set, makes item rendered such that ascent == descent.
* pango/pango-context.c (itemize_state_init),
(itemize_state_add_character):
* pango/pango-renderer.c (pango_renderer_draw_layout_line):
Implement centered_baseline.
* pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_metrics): When
adjusting ascent/descent for vertical fonts, adjust strikethrough and
underline position too.
* docs/tmpl/main.sgml: Document new struct member.
|
|
|
|
|
|
|
|
|
|
| |
2006-08-15 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-item.h: Add a gravity member to PangoItem, and
* pango/pango-context.c (itemize_state_init),
(itemize_state_add_character): Propagate context base_gravity
into items.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sat Jun 9 17:36:09 2001 Owen Taylor <otaylor@redhat.com>
* pango/pango-types.h pango/pango-utils.c: Add a new PangoLanguage
type to represent language tags; these can efficiently be compared
and don't need to be copied. Also add pango_language_matches()
to match a language tag against a pattern.
* pango/pango-item.[ch] pango/pango-layout.c: Move extra_attrs
from PangoItem to PangoAnalysis. Add a language tag field to
PangoAnalysis. (#55894)
* pango/pango-attributes.[ch] (pango_attr_iterator_get_font): Return
the language tag as well.
* pango/pango-attributes.[ch]: Rename PangoAttrLang to PangoAttrLanguage,
and make it hold a PangoLanguage.
* pango/pango-context.[ch]: Rename pango_context_{get,set}_lang() to
pango_context_{get,set}_language().
* **.[ch]: Adapt to PangoLanguage and s/lang/language/ changes.
* modules/basic/basic-x.c modules/basic/tables-big.i: Add support
for ordering character sets differently for different language
tags.
* pango/itemize.c: Remove old, unused file.
* pango/pango-context.c (pango_itemize): Reduce number of mallocs
by allocating one array of PangoAnalysis instead of many arrays.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
Mon Mar 13 10:54:48 2000 Owen Taylor <otaylor@redhat.com>
* pango/pango-item.[ch]: Memory management functions for PangoItem.
* pango/*.[ch]: Random constification.
* pango/pangox.c pango/pango-layout.c pango/pango-context.c:
Add an extra_attrs field to PangoItem. Use this to handle underlining
for PangoLayout.
* examples/viewer.c (reload_font): Make paragraphs global
to save the complexity of passing it around all over the place.
* pango/pango-layout.[ch] (pango_layout_context_changed): Add
a function to reset the layout on changes to the layout's
context.
* pango/pangox.c (pango_x_make_matching_xlfd): Prefer bitmap
to scaleable if the discrepancy is < 1 pixel. (Probably not
the ideal criterion.)
* pango/pangox.c (pango_x_font_map_for_display): Fix resolution
computation error.
* pango/pango-layout.c (pango_layout_check_lines): Handle
text with embedded newlines.
* pango/pangox.c (pango_x_render_layout): Fix y to refer
to the top of the layout, not the baseline of the first
line.
* pango/pango-layout.c (process_item): Don't wrap if width is
set to -1.
* Makefile.am configure.in **/*.[ch]: move libpango/ directory
and fix all headers to install under include/pango/
|