summaryrefslogtreecommitdiff
path: root/pango/mapping.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix some incorrect edge cases for RTL text. (#102952, Padraig O'Briain)Owen Taylor2003-05-021-14/+44
| | | | | | | | Fri May 2 17:20:23 2003 Owen Taylor <otaylor@redhat.com> * pango/mapping.c (pango_glyph_string_x_to_index): Fix some incorrect edge cases for RTL text. (#102952, Padraig O'Briain)
* Some unit fixups (#96335)Owen Taylor2002-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | Fri Dec 20 11:59:22 2002 Owen Taylor <otaylor@redhat.com> Some unit fixups (#96335) * pango/pango-layout.c pango/pango-mapping.c: Fix occurrences of "in thousandths of a device unit" to say "in #PangoGlyphUnit" which will give a link to the PangoGlyphUnit docs. * docs/tmpl/text-attributes.sgml: Change 1000 to PANGO_SCALE. * docs/tmpl/glyphs.sgml: Fix docs for PangoGlyphUnit, fix mention of value of PANGO_SCALE from 1000 to 1024. * pango/pango-layout.c (pango_layout_line_get_x_ranges): Fix the docs for @ranges so it doesn't sound like the coordinates are in pixels.
* Trivial s/foo/foo_/ fixes to make pango.h includable with -WshadowSoeren Sandmann2002-11-081-2/+2
| | | | | | | | | | | | | | | | | | | 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).
* Use ISO C99 varargs when available.Owen Taylor2001-05-181-16/+12
| | | | | | | | | | | | | | | | | | | | | | 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 pango_shape and pango_reorder_items in here.Havoc Pennington2000-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-15 Havoc Pennington <hp@pobox.com> * pango/pango-glyph.h: move pango_shape and pango_reorder_items in here. * pango/pango-break.h: move most of pango.h in here, so that pango.h can be the only file that includes pango-enum-types.h, so that changing any header doesn't end up rebuilding all of pango due to a rebuild of pango-enum-types.h. * pango/makeenums.pl: script to generate pango-enum-types.[hc] * pango/Makefile.am (pango_headers): built pango-enum-types.h, pango-enum-types.c that do enum type registration; add pango-break.h; do some assorted rearranging to handle the built headers * pango/pango.h: moved most of it to pango-break.h * pango/break.c: include individual headers, not pango.h * pango/shape.c: ditto * pango/reorder-items.c: ditto * pango/querymodules.c: ditto * pango/pango-layout.c: ditto * pango/pango-indic.c: ditto * pango/mapping.c: ditto * pango/itemize.c: ditto * pango/fonts.c: ditto
* Remove tests for libunicodeOwen Taylor2000-06-211-4/+3
| | | | | | | | | | | | Wed Jun 21 12:11:56 2000 Owen Taylor <otaylor@redhat.com> * configure.in: Remove tests for libunicode * pango/utils.[ch]: Removed. The functions from here are now in GLib. * **.[ch]: Removed use of libunicode and utils.c in favor of Unicode functions in GLib. Requires latest GLib from CVS.
* When handling overstrikes, try to guess a bit better how overstrike glyphsOwen Taylor2000-05-071-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sun May 7 00:00:00 2000 Owen Taylor <otaylor@redhat.com> * modules/basic/basic.c (basic_engine_shape): When handling overstrikes, try to guess a bit better how overstrike glyphs are positioned in the font. (Now works with more of glyphs from clearlyu, though not the Hebrew accents in that font) * examples/HELLO.utf8: Insert tab characters to keep the columns in the right order for either global direction. Insert left-to-right marks in a few places to keep leading and trailing punctuation in the right place. * modules/basic/basic.c (basic_engine_shape): Don't show RLM and LRM * pango/glyphstring.c (pango_glyph_string_extents): Use the logical width set in the glyph string rather than that from the font's metrics. * pango/pangox.c (pango_x_render): Treat glyph index 0 as special - representing invisible, 0 size character. We need this sometimes, and it is easier and faster to have this special case than to shape a space. * pango/pango-context.c (pango_itemize): Put tabs into separate items. (Sort of lame hack, we do this to make line breaking with tab handling simpler) * examples/viewer.c (checkbutton_toggled): Notify all the layouts that the context has changed so the RTL base dir change actually takes effect.
* Fix handling of positions at character limits.Owen Taylor2000-04-041-2/+5
| | | | | | | | | | Mon Apr 3 20:30:20 2000 Owen Taylor <otaylor@redhat.com> * pango/mapping.c (pango_glyph_string_x_to_index): Fix handling of positions at character limits. * modules/basic/basic.c (basic_engine_shape): Fix bug that was causing mirrored characters not to mirror.
* Memory management functions for PangoItem.Owen Taylor2000-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/
* First draft of highlevel driver. It currently only handles a paragraph asOwen Taylor2000-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Mar 8 13:34:57 2000 Owen Taylor <otaylor@redhat.com> * libpango/pango-layout.[ch]: First draft of highlevel driver. It currently only handles a paragraph as a list of lines, but it is probably necessary to make it handle 2D layout for a paragraph as well * examples/viewer.c: Move over to new layout driver (much of the code moved into pango-layout.c) * libpango/glyphs.c libpango/pango-glyphs.h: Fixes to get_extents(), add pango_glyph_string_get_logical_widths. * libpango/pango-itemize.c: Handle 0-length text properly. * libpango/pangox.c: When loading particular sized fonts, use the original XLFD, since XFree86 doesn't handle wildcards in aliases properly. * libpango/pangox.[ch] (pango_x_render_layout_line): Add function to render an entire PangoLayoutLine. * libpango/reorder-items.c: Add a note to the effect that pango_reorder_items() is basically replaced by a similar function in PangoLayout. Wed Mar 8 10:58:56 2000 Owen Taylor <otaylor@redhat.com> * modules/arabic/arconv.c (shapecount): Fix from Karl Koehler to joining behavior. * modules/Makefile.am modules/arabic/*: Added arabic shaper from Karl Koehler <koehler@or.uni-bonn.de> * modules/basic/tables-{small,big}.i: Remove arabic from the ranges that the basic shaper marks as "exact". * examples/HELLO.utf8: Partially alphabetize, add arabic.
* Convert log_clusters[] use from char offsets to byte offset - should makeOwen Taylor2000-03-071-72/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mon Mar 6 20:55:32 2000 Owen Taylor <otaylor@redhat.com> * libpango/mapping.c example/viewer.c: * modules/hangul/hangul.c modules/basic/basic.c modules/tamil/tamil.c: Convert log_clusters[] use from char offsets to byte offset - should make it easier to have all interface deal with stuff in byte offsets. * libpango/mapping.c libpango/pango-glyph.h: Rename x_to_cp and cp_to_x to make them "member functions" of glyph_string. * libpango/pango-types.h: Add a rectangle type for use in storing glyph/glyph-string extents, plus macros for extracting ascent/descent. * libpango/fonts.c libpango/pango-font.h libpango/pangox.c: Virtualize glyph extents function into the font. * libpango/pangox.c modules/*/*.c examples/viewer.c: Convert over to new rationalized unit system - everything in 1000ths of a point or 1000ths of a glyph unit. * libpango/pango-glyph.h libpango/glyphstring.c: Add function to get extents of a glyph string. (We may want to fastpath the width in the future, since getting the width seems to be a very common and time-critical operation)
* Switch GlyphStrings to have a single array of PangoGlyphInfo instead ofOwen Taylor2000-01-171-15/+15
| | | | | | | | | | | Sat Jan 15 03:17:35 2000 Owen Taylor <otaylor@redhat.com> * pango/glyphstring.c pango/mapping.c pango/pangox.c modules/basic.c examples/viewer.c: Switch GlyphStrings to have a single array of PangoGlyphInfo instead of multiple arrays. Rename PangoGlyphIndex to PangoGlyph.
* Initial revisionOwen Taylor2000-01-131-0/+275