summaryrefslogtreecommitdiff
path: root/examples/viewer.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove tests for libunicodeOwen Taylor2000-06-211-6/+7
| | | | | | | | | | | | 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.
* Use g_strtod().Owen Taylor2000-05-301-1/+7
| | | | | | | | | | | | | | | | Tue May 30 14:30:24 2000 Owen Taylor <otaylor@redhat.com> * pango/fonts.c (pango_font_description_from_string): Use g_strtod(). * pango/fonts.c (pango_font_description_to_string): Fix bug where spaces where not properly inserted into font description string. * pango/fonts.c (pango_font_get_glyph_extents): Fix some 1000 <=> PANGO_SCALE bugs. * pango/pangox-fontcache.c (pango_x_font_cache_load): Fix list manipulation bug.
* Since we require GLib-1.3, and thus can no longer build the examplesOwen Taylor2000-05-281-17/+0
| | | | | | | | | | | | | | | | Sun May 28 16:24:43 2000 Owen Taylor <otaylor@redhat.com> * examples/Makefile.am examples/viewer-qt.cc examples/viewer-qt.h: Since we require GLib-1.3, and thus can no longer build the examples against GTK+-1.2, and since there is a nasty circular dependency if we build examples against GTK+-1.3, rewrite (optional) example program in Qt. (I wasn't going to do it in Xaw or straight Xlib...) * configure.in: Added checks for Qt. * pango/pango-layout.h: Fix constness.
* Add a simple Thai shaper. (Reasonably complete but intended mostly for anOwen Taylor2000-05-081-1/+1
| | | | | | | | | | | | Mon May 8 16:19:22 2000 Owen Taylor <otaylor@redhat.com> * modules/thai/* modules/Makefile.am configure.in: Add a simple Thai shaper. (Reasonably complete but intended mostly for an example for the shape docs right now.) * pango/pangox.h (PANGO_X_GLYPH_INDEX): Protect arguments to macros.
* When handling overstrikes, try to guess a bit better how overstrike glyphsOwen Taylor2000-05-071-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add user data to PangoContextOwen Taylor2000-04-051-13/+2
| | | | | | | | | | | | | | | | | | Tue Apr 4 20:13:06 2000 Owen Taylor <otaylor@redhat.com> * pango/pango-context.h: Add user data to PangoContext * pango/pangox.[ch] examples/viewer.c: Rework system for create GC's so that the necessary information is stored on the PangoContext instead of being passed to layout_render() * pango/utils.[ch] pango/pango-context.c: fribidi-0.1.9 wants UCS-4 not UCS2; switch accordingly. * pango/fonts.c pango/pango-font.h pango/pangox.c: Add functions to get overall font metrics, possibly per-language. (Right now, just font ascent, descent.) The implementation of this for X is horribly complex.
* Fix off-by-one error for RTL runs.Owen Taylor2000-04-031-2/+13
| | | | | | | | | | | | | | | | | | | | | | | Mon Apr 3 15:16:06 2000 Owen Taylor <otaylor@redhat.com> * pango/glyphstring.c (pango_glyph_string_get_logical_widths): Fix off-by-one error for RTL runs. * configure.in: Add -lglib to AC_CHECK_LIB(fribidi...) (How did this work?) From Matt Wilson. * pango/pango-layout.c (pango_layout_check_lines): Correctly deal with handling character offsets when breaking lines. * modules/arabic/arabic.c (arabic_engine_shape): Fix problem with setting unknown glyph when no arabic-capable font found. Fri Mar 31 11:29:47 2000 Owen Taylor <otaylor@redhat.com> * pango/pangox.[ch] (pango_x_render_layout[_line]) examples/viewer.c: Add capability to render foreground / background colors. The interfaces here are possibly certainly not right, or convenient, but they should be a start.
* Memory management functions for PangoItem.Owen Taylor2000-03-131-23/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/
* Release pango-0.8Owen Taylor2000-03-101-147/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | Thu Mar 9 19:55:21 2000 Owen Taylor <otaylor@redhat.com> * Release pango-0.8 * docs/TEXT/coding-style: Added some notes about coding style within Pango. * modules/*.[ch]: New version from Karl Koehler adding support for vowels marks, better ligatures. * docs/tmpl/*: Doc updates * libpango/pango-layout.[ch] libpango/pangox/.[ch]: Add functions for handling paragraphs as 2-D objects, not simple lists of lines, to make things easier for people using pango-layout. * examples/viewer.c: Simplify using the now 2-D layout-capabable PangoLayout. * libpango/fonts.c (pango_font_{get_coverage,find_shaper}): Allow NULL language tag. * libpango/modules.c (_pango_find_map): Fix for allowing NULL language tag.
* First draft of highlevel driver. It currently only handles a paragraph asOwen Taylor2000-03-081-439/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-47/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Add functions to convert font descriptions to and from human-readableOwen Taylor2000-02-291-130/+24
| | | | | | | | | | | Mon Feb 28 19:46:35 2000 Owen Taylor <otaylor@redhat.com> * libpango/fonts.c libpango/pango-fonts.h: Add functions to convert font descriptions to and from human-readable strings. * examples/viewer.c: Use functions from libpango instead of rolling our own font-description conversion functions.
* Add size to the font description structure instead of continually passingOwen Taylor2000-02-251-5/+3
| | | | | | | | | | | | Fri Feb 25 15:04:21 2000 Owen Taylor <otaylor@redhat.com> * libpango/{fonts.c,pango-font.h,pango-context.[ch],pangox.c, pango-attributes.c,examples/viewer.c: Add size to the font description structure instead of continually passing it around as an extra argument. * libpango/pangox.c: Take screen resolution into account when choosing fonts, instead of assumming point == pixel.
* Make refcounted.Owen Taylor2000-02-161-38/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Feb 16 16:39:46 2000 Owen Taylor <otaylor@redhat.com> * libpango/pango-coverage.c (pango_coverage_get): Make refcounted. * libpango/modules.c (struct _PangoEnginePair): Since we don't currently unload engines, cache loaded engines. (Not really quite satisfactory, but should work OK) * libpango/pango-context.c (pango_context_get_font_description): Added a global font description. * libpango/modules.c (_pango_find_map): Allow NULL language tags. * libpango/pango-context.c (pango_itemize) examples/viewer.c: Switch itemize over to take a PangoAttrList. * examples/viewer.c: Conform to changes in itemization interface * libpango/font.[ch]: Add a compare function for FontDescription * libpango/pango-attributes.[ch]: Change the iteration iterface to be more convenient. * libpango/pango-context.[ch]: Add the ability to set a default font. * libpango/pango-context.[ch]: Take the font for itemization from the attributes on the text. * libpango/pangox.c: Cache currently loaded fonts, and cache coverages.
* Up version to match 0.6 release that was made yesterday.Owen Taylor2000-02-111-0/+12
| | | | | | | | | | | | | | | | | | | Thu Feb 10 23:45:27 2000 Owen Taylor <otaylor@redhat.com> * configure.in: Up version to match 0.6 release that was made yesterday. * examples/viewer.c (main): Look for fixed if sans isn't found as an initial font. * modules/Makefile.am: Add an install rule to run pango-querymodules. * modules/*/Makefile.am (module_LTLIBRARIES): Set up appropriate install rules. * libpango/Makefile.am: Break the X code out into a separate library.
* Fix some runtime and compile-time warnings.Owen Taylor2000-02-111-4/+6
| | | | | | | | | | Thu Feb 10 20:19:39 2000 Owen Taylor <otaylor@redhat.com> * examples/viewer.c: Fix some runtime and compile-time warnings. * modules/hangul/hangul.c (hangul_engine_shape): Shape the string with the unknown glyph rather than giving a warning when the font doesn't have any of the necesary charsets.
* Add style selector, rewrite family selector to use list_families().Owen Taylor2000-02-111-18/+241
| | | | | | | | | | | | Thu Feb 10 19:57:27 2000 Owen Taylor <otaylor@redhat.com> * examples/viewer.c: Add style selector, rewrite family selector to use list_families(). * libpango/pango-context.[ch] libpango/pango-font.h libpango/pangox.c libpango/fonts.c: Add calls to list families, modify list_fonts() call to take an optional "family" parameter for the purpose of listing the fonts within a family.
* updates.Owen Taylor2000-02-091-12/+1
| | | | | | | | | Wed Feb 9 14:04:35 2000 Owen Taylor <otaylor@redhat.com> * TODO: updates. * docs/*: Added some docs on font handling, both general and for X.
* Switch the option menu for a combo box.Owen Taylor2000-02-071-44/+50
| | | | | | | | | | | | | | Mon Feb 7 16:49:32 2000 Owen Taylor <otaylor@redhat.com> * examples/viewer.c (make_families_menu): Switch the option menu for a combo box. * examples/pangox_aliases: Add a demo alias file. * libpango/pangox.c: Add a font-alias mechanism allowing. * examples/viewer.c (make_font_selector): Added a spin-button for size.
* The great header file reorganization. Split up roughtly by objects.Owen Taylor2000-02-011-11/+139
| | | | | | | | | | | | | | | | | | | | | | Wed Feb 2 00:07:13 2000 Owen Taylor <otaylor@redhat.com> * libpango/pango-*.h: The great header file reorganization. Split up roughtly by objects. * libpango/pango-font.h libpango/fonts.h: Add generic font-loading and listing interfaces. * libpango/pangox.c: Implement font-listing/loading interfaces for X. * libpango/pango-context.[ch]: Flesh out context structure. Add appropriate accesors, font loading-methods, etc. * libpango/pango-coverage.[ch]: Coverage map objects. * examples/viewer.c: First stab at adding font-selection. Majorly deficient for the moment until we add font lists and fallbacks based on coverage maps.
* Updated to use new X font mechanism.Owen Taylor2000-01-181-2/+3
| | | | | | | | | Mon Jan 17 22:03:24 2000 Owen Taylor <otaylor@redhat.com> * modules/hangul/hangul.c modules/tamil/tamil.c: Updated to use new X font mechanism. * libpango/pangox.[ch]: Misc bugfixes, no longer segfaults.
* Switch GlyphStrings to have a single array of PangoGlyphInfo instead ofOwen Taylor2000-01-171-1/+1
| | | | | | | | | | | 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.
* Eliminate PangoCFont; For X, encode charset into upper 16 bits of 32 bitOwen Taylor2000-01-151-5/+5
| | | | | | | | | | | | | | | | | | | | | Sat Jan 15 01:06:45 2000 Owen Taylor <otaylor@redhat.com> * libpango/pangox.c libpango/pangox.h libpango/fonts.c libpango/glyphstring.c modules/basic/basic.c: Eliminate PangoCFont; For X, encode charset into upper 16 bits of 32 bit glyph IDs. Revise X core <=> module interfaces to support this change. Remove support for X_XLFD_FONT_RANGES, which has been disavowed by its proponents, in favor of checking metrics to figure out if the relevant characters are there. Rework operation of basic module to be faster and simple. * modules/Makefile.am: temporarily comment out Tamil and Hangul modules until I finish mucking with the X font interfaces.
* reindented. updatedOwen Taylor2000-01-131-13/+13
| | | | | | | Thu Jan 13 16:57:22 2000 Owen Taylor <otaylor@redhat.com> * examples/viewer.c: reindented. * README: updated
* Initial revisionOwen Taylor2000-01-131-0/+886