Thu Jul 6 15:16:28 2000 Owen Taylor * docs/pango-sections.txt docs/tmpl/*: Update 2000-07-03 Havoc Pennington * pango/pango-layout.c (pango_layout_index_to_pos): Handle the case where the byte offset is outside the layout. Sun Jul 2 18:06:01 2000 Owen Taylor * pango/pango-layout.c (get_tab_pos): Fix up set_font_description() for tab spaces. Sun Jul 2 17:59:56 2000 Owen Taylor * pango/pango-attributes.[ch] (pango_attr_list_insert_before): New function that inserts before other attributes with matching start index. * pango/pango-layout.[ch] (pango_layout_set_font_description): Add the ability to set a default font description on the layout, overriding the font description from the context. Sun Jul 2 17:19:11 2000 Owen Taylor * pango/pango-types.h: Add a PANGO_PIXELS macro to convert from pango units to device units and round. * pango/pango-layout.[ch]: Add convenience functions pango_layout_get_pixel_extents, pango_layout_get_size, pango_layout_get_pixel_size pango_layout_line_get_pixel_extents. Fri Jun 30 16:46:31 2000 Owen Taylor * pango/pango-utils.[ch] Makefile.am: A bunch of simple functions for reading from files, manipulating strings as necessary for config files. Also, a simple gnome-config/win.ini style config file reader. * pango/modules.c: Remove DOTFILES stuff. Instead, read names of modules file from pangorc. (Which can be set from PANGO_RC_FILE). Rewrite parsing code using pango-utils.c. * pango/pangox-fontmap.c: Read list of files from PangoX/AliasFiles key. Rewrite parsing code for alias files using pango-utils.c. * examples/pangox.aliases: Move to new name from pangox_aliases, reformat using new parsing code. * examples/pangorc (AliasFiles) examples/pango-viewer: Add a pangorc file for in-place testing. * pango/querymodules.c (main): Add comment to the top of the output indicating that the file should not be hand-edited. Thu Jun 29 18:13:47 2000 Owen Taylor * pango/pango-coverage.c: Fix various aspects of expanding coverage tables beyond the first 256 blocks. (Based on patch from ChiDeok Hwang.) Thu Jun 29 16:35:41 2000 Owen Taylor * modules/arabic/{*.c,Makefile.am}: New version from Karl Koehler merged with the changes for the GLib unicode functions. Wed Jun 21 12:11:56 2000 Owen Taylor * 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. 2000-06-14 Havoc Pennington * pango/pango-attributes.c (pango_attr_list_copy): Function to copy the attribute list. 2000-06-13 Havoc Pennington * pango/pango-layout.h: Convert PangoLayout to GObject * pango/pango-context.h: Convert to PangoContext to GObject 2000-06-11 Elliot Lee * pango/fonts.c (pango_font_description_compare): g_strcasecmp returns 0 when strings are equal - negate return value. 2000-06-09 Elliot Lee * pango/pango-coverage.[ch]: Return 'coverage' from pango_coverage_ref. 2000-06-08 Elliot Lee * modules/Makefile.am: Add DOTMODULESDIR define to make it easier to change location of .modules files. * pango/modules.c: Likewise. Also scan the config directory for multiple config files instead of pango.modules. Also fclose() opened files. Thu Jun 8 14:43:35 2000 Owen Taylor * pango/pango-modules.h: pango/Makefile.am: Add a new header pango-modules.h to export a few parts of the modules API needed by code for new types of fonts. 2000-06-08 Elliot Lee * pango-config.in: Include X_LIBS in libraries for 'pangox' target. 2000-06-07 Havoc Pennington * pango/pango-attributes.c (pango_attr_iterator_copy): New function to copy a PangoAttrIterator. Mon Jun 5 20:45:12 2000 Owen Taylor * pango/pangox-fontmap.c (pango_x_shutdown_display): Add a function to free cached information for a particular display. (This is basically pango_x_fontmap_destroy()) * pango/pangox.c pango/pangox-private.h pango/pangox-fontmap.c: Make a XFont always keep a pointer to (and ref) a fontmap. Mon Jun 5 15:56:25 2000 Owen Taylor * pango/pangox-fontmap.c (pango_x_font_map_for_display): Remove excessive ref. * pango/pangox-fontcache.c (pango_x_font_cache_unload): Fix problem with unloading fonts. * pango/pangox-fontmap.c pango/pangox-private.h pangox/pangox.c: Add a simple cache for PangoXFonts; get rid of the eternal caching of all fonts. Wed May 31 16:11:46 2000 Owen Taylor * pango/pango-fontmap.h (struct _PangoFontMapClass): Remove unused destroy vfunc. Sat Jun 3 06:01:38 Pablo Saratxaga * modules/thai/thai.c: added other common X11 font encoding names fortis-620 fonts. Thu Jun 1 13:04:06 CEST 2000 Paolo Molaro * configure.in: look for qt also in /usr/lib/qt2. Wed May 31 10:46:53 2000 Owen Taylor * configure.in: Release 0.11 * pango.spec.in: Add missing make command. * modules/basic/Makefile.am (EXTRA_DIST): Fix up extra-dist. * pango/Makefile.am (libpangox_la_SOURCES): Add pangox-private.h Tue May 30 14:30:24 2000 Owen Taylor * 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. Mon May 29 13:22:36 2000 Owen Taylor * pango/pangox.c pango/pangox.h (pango_x_font_subfont_xlfd): New function to retrieve the XLFD for a given subfont. Mon May 29 11:14:34 2000 Owen Taylor * pango/pangox-fontcache.c (pango_x_font_cache_load): Fix bug in MRU list code. * pango/pango-layout.c (pango_layout_check_lines): Fix infinite loop in the case where the first item doesn't fit, but whitespace follows that must go onto the same line. * examples/viewer-qt.h: Minor changes so it compiles with Qt-2.0. (Though the utf8 codec in Qt-2.0 seems to be slightly buggy.) Sun May 28 16:24:43 2000 Owen Taylor * 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. Sat May 27 22:05:53 2000 Owen Taylor * pango/Makefile.am (pangoinclude_HEADERS): Install pango-fontmap.h. * pango/pangox-fontcache.c pango/pangox.h: Add a simple cache from XLFD => font struct. * pango/pango-fontmap.c: Use this when loading and unloading fonts. Sat May 27 21:57:03 2000 Owen Taylor * pango/pango-context.c (pango_context_add_font_map): Ref font map. Sat May 27 21:06:13 2000 Owen Taylor * modules/thai/thai.c modules/basic/basic: s/pango_font_set_data/g_object_set_qdata/ * pango/*.c: s/pango_font_[un]ref/g_object_un[ref] * pango/pango-font.h fonts.c: GObject'ify PangoFont. Sat May 27 20:36:56 2000 Owen Taylor * pango/Makefile.am configure.in: Add libgobject. * pango/pango-fontmap.[ch]: GObject'ify PangoFontMap. (Pango now requires GLib-1.3 to compile) * pango/pangox-fontmap.c pango/pangox-private.h: Break the fontmap code in libpangox out into a separate file. Tue May 23 10:32:25 2000 Owen Taylor * pango/pango-layout.c (pango_layout_set_text): Allow -1 for the length. 2000-05-24 Matt Wilson * modules/basic/basic.c (conv_8bit): use size_t for arguments to iconv, not int. Fixes 64 bit platforms. * modules/basic/basic.c (conv_euc): likewise Mon May 22 18:19:32 2000 Owen Taylor * pango/pango-layout.c (process_item): Fix <, <= confusion. Thu May 18 17:30:00 2000 Robert Brady * fonts/devnag18.bdf: Fix advance widths of some glyphs. Tue May 9 22:09:42 2000 Owen Taylor * pango/pango-types.h (PANGO_SCALE): Change PANGO_SCALE from 1000 to 1024. Wee! Optimization! Actual performance increase is ~1-2% probably not worth keeping it 1024, but I'll leave it this way for a little bit. * pango/pango-layout.c (pango_layout_unref): Free the actual layout structure as well. * pango/pangox.c: Various optimizations of the code for looking up characters. (mark a few functions inline, precompute signficiant quantities) Tue May 9 03:22:11 2000 Owen Taylor * pango/pango-layout.c (pango_layout_check_lines): Fix memory leak by freeing correct list. * pango/pango-context.c (pango_context_get_font_description): Change to return a pointer to the context's font description instead of a copy. Not quite 100% kosher but a lot more efficient than the previous. (Should we just refcount font descriptions and get it over with?) Mon May 8 16:39:48 2000 Owen Taylor * pango/pango-layout.c (free_run): Call pango_item_free to free items properly including attributes. Mon May 8 16:19:22 2000 Owen Taylor * 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. Sun May 7 06:15:34 2000 Owen Taylor * 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. Fri May 5 18:56:45 2000 Owen Taylor * pango/break.c (pango_break): Add ZWS to hacky break algorithm. * modules/basic/basic.c (basic_engine_shape): Special case zero-width-space as a temporary hack. (What's the right solution?) * modules/basic/tables-big.i: Added support for TIS-620 encoding. * configure.in pango/modules.[ch] pango/Makefile.am modules/**: First stab at support for linking modules directly into Pango. Add a --with-included-modules= flag that causes the specified modules to be built as convenience libraries and linked directly into libpangox. Tue May 2 22:59:52 2000 Owen Taylor * modules/basic/basic.c: Get rid of link list of masks in cache structure in favor of an array. (This is easy to do now since we already have linear indices for the masks from the new table format.) * pango/modules.c pango/pango-context.c pango/pangox.c: Modify _pango_find_map() to take quarks for the engine type and render type instead of strings. Get rid of the map hash table in favor of a GList with the most recently used map at the beginning. * pango/modules.[ch] pango/pango-context.c pango/pangox.c: Add some utility functions for getting the engine for a particular character in a map. Using modules.c knowledge of map structure, this allows us to save a bunch of useless strcmps. * pango/pango-context.c (add_engines): Remove unused lookup of shape mask. * modules/basic/tables-{small,big}.i modules/basic/basic.c tools/compress-table.pl: Reencode mask table to avoid binary searches and save a bit of space. * modules/basic/basic.c (find_converter): Get rid of gratuitous use of hash tables for looking up iconv converters. * modules/basic/tables-{small,big}.i modules/basic/basic.c: Use conv_ucs4 instead of conv_8bit for latin-1. * pango/pango-layout.c: Avoid calling pango_glyph_string_extents() - just add up the widths from shaping. Tue May 2 19:16:17 PDT 2000 Manish Singh * examples/Makefile.am: typo fix Mon May 1 15:04:02 PDT 2000 Manish Singh * configure.in: add support for fribidi-config (needs fribidi v0.1.10 or higher). Also actually use the FOO_CONFIG variable filled by AC_PATH_PROG for --cflags and --libs. * examples/Makefile.am * pango/Makefile.am: use $(FRIBIDI_LIBS) Mon May 1 11:58:55 2000 Owen Taylor * modules/arabic/*: Misc bug fixes from Karl Koehler. Wed Apr 26 19:55:40 2000 Owen Taylor * configure.in: Add checks looking for iconv in libiconv. (Thanks to Ross Campbell for helping me test this out.) Mon Apr 24 22:51:06 2000 Owen Taylor * configure.in: Released 0.10 * modules/arabic/*: Update from Karl Koehler, including support for LangBox fonts Mon Apr 24 20:28:31 2000 Owen Taylor * docs/**: Updates for recent API changes. Mon Apr 24 18:09:29 2000 Owen Taylor * pango/pango-layout.c (pango_layout_line_get_empty_extents): Come up with a reasonable guess for metrics for empty lines based on the font metrics. * modules/devanagari/devanagari.c (devanagari_engine_shape): A couple of trivial fixups to make things compile. Sun Apr 23 23:33:10 2000 Owen Taylor * pango/pango-layout.c (pango_layout_move_cursor_visually): New function for visual (left-right, not forward-back) cursor navigation within a layout. Thu Apr 20 22:16:39 2000 Owen Taylor * pango/pango-layout.c (pango_layout_line_x_to_index): As a hack, for x-positions at the edge of a line, fudge the position to be one before the line end (which is, for programs that don't properly handle the trailing flag), instead of at the end of the line. This works fine for whitespace-broken languages, but won't work right for languages that don't use whitespace to break lines. (GtkText* needs to keep track of whether a cursor is trailing or not) * pango/pango-layout.c (pango_layout_check_lines): Prohibit breaking a line at a non-whitespace -> space transition. (So that we never put wrap single character of whitespace at the beginning of a line) * pango/break.c (pango_break): Always allow a break before the first char. * pango/pango-layout.c (pango_layout_line_x_to_index): Remove the return value from the function, make it return the appropriate index depending on the base direction of the layoutt. Fri Apr 7 03:08:09 2000 Owen Taylor * configure.in (UNICODE_LIBS): Add back in flockfile check which was accidentally removed. 2000-04-21 Robert Brady * modules/devanagari/dev-ligatures.h: Add some more ligature mappings. * modules/devanagari.c: New version, now syllable-based, with proper RA handling. Mon Apr 17 12:04:20 2000 Owen Taylor * pango/pango-layout.[ch]: Add a function pango_layout_line_get_x_ranges(), to allow handling selections not as attributes. Which is necessary, since currently setting the background/foreground results in splitting shaped runs. Fri Apr 14 13:20:05 2000 Owen Taylor * pango/pango-layout.c (pango_layout_check_lines): Fix bug with indent handling. * pango/pango-layout.c (process_item): Never break a line at a non-break position, even if that position ends an item. Fri Apr 14 10:43:09 2000 Owen Taylor * pango/pangox.c (pango_x_render_layout_line): Fix a missing PANGO_SCALE factor for UNDERLINE_SINGLE. * pango/pango-layout.c (pango_layout_get_cursor_pos): New function to determine cursor positions corresponding to a particular index. Wed Apr 12 15:44:22 2000 Owen Taylor * pango/pango-attributes.[ch]: Add PANGO_ATTR_FONT_DESC, which allows an entire font description to be specified as a single attribute, instead of as 6 separate attributes. Wed Apr 12 13:59:22 2000 Owen Taylor * configure.in modules/Makefile.am modules/devanagari/*: Added Devanagari shaper from Robert Brady * examples/HELLO.utf8: Added Hindi from Emacs * examples/dev-example.utf: Some syllable strings for testing the Devanagari shaper. * examples/pangox_aliases: Added -*-devanagari-medium-r-normal--*-*-*-*-*-*-iso10646-dev * fonts/devnag18.bdf fonts/devnag.README: Devanagari font from http://crl.NMSU.Edu/~mleisher/devnag.html currently required for operation of the devanagari shaper. Tue Apr 4 22:03:42 2000 Owen Taylor * configure.in: Released 0.9 * modules/arabic/arabic.c (find_unic_font): Keep on searching past the first iso-10646 font if the first font doesn't have the required ligatures. Tue Apr 4 20:56:29 2000 Owen Taylor * docs/tmpl/* docs/Makefile.am docs/pango-sections.txt pango/pango-attributes.c pango/pangox.c: Doc updates. Tue Apr 4 20:13:06 2000 Owen Taylor * 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. Mon Apr 3 20:30:20 2000 Owen Taylor * 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. Mon Apr 3 15:16:06 2000 Owen Taylor * 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 * 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. Thu Mar 30 17:06:39 2000 Owen Taylor * modules/arabic/*.[ch]: New version of Arabic module from Karl Koehler, supporting: - More extensive ligatures - Some Hamza handling - Vowel marks - mule-arabic font - LangBox font - Persian (farsi) (needs testing) Thu Mar 30 16:49:06 2000 Owen Taylor * modules/basic/basic.c pango/utils.c (find_converter): Use "UTF-8" with the dash as the charset name for utf-8. (Change suggested by Adrian Havill ) * pango/pango-layout.[ch]: Add function to get logical attributes of the text string. Mon Mar 13 11:47:53 2000 Owen Taylor * pango/pango-layout.c pango/pangox.c (pango_x_render_layout): Handle right alignment for width == -1, align within total width of layout. Mon Mar 13 10:54:48 2000 Owen Taylor * 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/ Thu Mar 9 19:55:21 2000 Owen Taylor * 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. Wed Mar 8 13:34:57 2000 Owen Taylor * 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 * modules/arabic/arconv.c (shapecount): Fix from Karl Koehler to joining behavior. * modules/Makefile.am modules/arabic/*: Added arabic shaper from Karl Koehler * 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. Mon Mar 6 21:03:28 2000 Owen Taylor * libpango/pango-layout.[ch]: Started work on highlevel layout driver. Mon Mar 6 20:55:32 2000 Owen Taylor * 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) Mon Feb 28 19:46:35 2000 Owen Taylor * 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. Fri Feb 25 15:04:21 2000 Owen Taylor * 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. Fri Feb 25 12:32:01 2000 Owen Taylor * configure.in examples/Makefile.am: If GTK+ test fails, just skip the example program. * pango-config.in pango.spec.in: Add a simple pango-config script to the build. (pango-config --libs pangox really should add the X libraries, but we'll omit that for the moment.) Sat Feb 19 18:51:35 2000 Owen Taylor * libpango/pangox.c (pango_x_make_matching_xlfd): Fix problem where charsets specified in alias files where being ignored and treated as wildcards. Sat Feb 19 17:46:49 2000 Owen Taylor * README: Fix Dov's name. Wed Feb 16 19:55:05 2000 Owen Taylor * configure.in: Release 0.7 * examples/Makefile.am (aliasdir): Install example pangox_aliases file. * examples/Makefile.am (bin_PROGRAMS): Install pango-viewer. * docs/tmpl/*: Updated templates. Wed Feb 16 16:39:46 2000 Owen Taylor * 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. Tue Feb 15 02:35:56 2000 Owen Taylor * docs/**: Add documentation for attributes. * Makefile.am libpango/pango-attributes.[ch]: Finish initial implementation of attributes APIs. Mon Feb 14 22:04:38 2000 Owen Taylor * libpango/pango-attributes.[ch]: Start of attribute lists. Fri Feb 11 16:04:50 2000 Owen Taylor * libpango/Makefile.am: make dist fixups. * Makefile.am pango.spec.in: Add a spec file * examples/HELLO.utf8: Change Maltese to a different phrase to include some unique Maltese characters. (Suggestion from Steven R. Loomis) * libpango/Makefile.am modules/Makefile.am libpango/modules.c: Move pango.modules file to /var Thu Feb 10 23:45:49 2000 Owen Taylor * docs/**: Added recent API changes. * libpango/pango-context.c: Doc comment fixes * configure.in: Add in directories from unicode-config when running AC_CHECK_LIB on libunicode. Thu Feb 10 23:45:27 2000 Owen Taylor * 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. Thu Feb 10 20:19:39 2000 Owen Taylor * 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. Thu Feb 10 19:57:27 2000 Owen Taylor * 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. Wed Feb 9 14:04:35 2000 Owen Taylor * TODO: updates. * docs/*: Added some docs on font handling, both general and for X. Tue Feb 8 15:05:17 2000 Owen Taylor * libpango/pangox.c: Moved the primary size and charset matching inside of Pango instead of on the font server. This allows us to do better matching, and only scale scaleable fonts, and not scale bitmaps. Also, match size and charset simultaneously, so that we can handle the cases where all sizes are not available in all charsets better. Mon Feb 7 20:27:35 2000 Owen Taylor * libpango/pangox.c (pango_x_names_for_size): Start at reworking code to do size and charset lookups simultaneously. twill compile once I get home. Mon Feb 7 16:49:32 2000 Owen Taylor * 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. Wed Feb 2 20:49:21 2000 Owen Taylor * libpango/pangox.c (pango_x_get_unknown_glyph): Add a call to get a glyph for unknown an unknown char. * modules/basic/basic.c: use pango_x_get_unknown_glyph. * libpango/utils.[ch] (_pango_guchar4_to_utf8): Added util function for coverting wide chars to utf8. * libpango/pangox.c (pango_x_font_get_coverage pango_x_font_get_shaper): Initial implementations. Wed Feb 2 11:12:12 2000 Owen Taylor * libpango/pango-types.h: Conditionally define G_N_ELEMENTS() when using glib-1.3. * modules/basic/basic.c modules/hangul/hangul.c modules/tamil/tamil.c: Replace MEMBERS() with G_N_ELEMENTS(). * libpango/pango-engine.h: Added a get_coverage() function to the PangoEngineShape vtable. * modules/basic/basic.c modules/hangul/hangul.c modules/tamil/tamil.c: Added get_coverage() functions. The basic.c one is incredibly inefficient (but caching may make that matter that much). The Hangul one needs checking. Wed Feb 2 00:07:13 2000 Owen Taylor * 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. Thu Jan 27 16:50:51 2000 Owen Taylor * docs/**: Updates to match recent API changes. Mon Jan 17 22:03:24 2000 Owen Taylor * modules/hangul/hangul.c modules/tamil/tamil.c: Updated to use new X font mechanism. * libpango/pangox.[ch]: Misc bugfixes, no longer segfaults. Mon Jan 17 18:29:39 2000 Owen Taylor * libpango/pangox.[ch] modules/basic/basic.c: back away from the strict charset model to having subfonts arbitrarily indexed. The charset-index model didn't allow proper fallbacks. Add a function pango_x_list_subfonts() function that lists subfonts in the proper order for a given list of charsets. (segfaults currently, will fix pronto) Sat Jan 15 03:17:35 2000 Owen Taylor * 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. Sat Jan 15 01:06:45 2000 Owen Taylor * 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. Fri Jan 14 12:08:43 2000 Owen Taylor * examples/HELLO.utf8: Add Pango properly spelled. * **/Makefile.am: make dist fixes. Thu Jan 13 17:49:45 2000 Owen Taylor * TODO: Updated. Thu Jan 13 16:57:22 2000 Owen Taylor * examples/viewer.c: reindented. * README: updated Wed Jan 12 16:49:03 2000 Owen Taylor * Huge rename from GScript to Pango. * modules/tamil/* examples/muru.utf fonts/tscakaram.pcf: Tamil module from Sivaraj Doddannan Mon Aug 2 18:32:59 1999 Owen Taylor * configure.in: Check for libunicode. * examples/viewer.c libgscript/break.c libgscript/itemize.c modules/basic/basic.c: Use libunicode functions for conversion. * modules/basic/basic.c: Add support for simple accent composition; fix bidi swapping to correctly swap clusters as a unit. 1999-07-26 * libgscript/mapping.c (g_script_cp_to_x): Fix buggy algorithm. 1999-07-31 Changwoo Ryu * modules/hangul/Makefile.am (EXTRA_DIST): Added tables-*.i files. 1999-07-29 Raja R Harinath * modules/hangul/Makefile.am (INCLUDES): Use -I$(top_srcdir)/libgscript. 1999-07-30 Changwoo Ryu * modules/hangul/*, Makefile.am, configure.in: Added the Hangul shaping module. Wed Jul 28 14:45:00 1999 Owen Taylor * Released version 0.4 Wed Jul 28 14:43:41 1999 Owen Taylor * libgscript/reorder-items.c: Return NULL correctly. * libgscript/mapping.c: Fixed buggy algorithm for cp to x. Fixed reversed interpolation for x to cp. Wed Jul 28 14:42:40 1999 Owen Taylor * libgscript/mapping.c: Fix bugs Thu Jul 22 09:36:08 1999 Owen Taylor * Released version 0.3 Wed Jul 21 18:46:14 1999 Owen Taylor * libgscript/gscriptx.c (g_script_x_extents): Fix same off-by-one bug here too... Wed Jul 21 18:44:55 1999 Owen Taylor * libgscript/gscriptx.c (g_script_x_glyph_extents): Fix an off-by-one error in computing indexes into the per-char information. Tue Jul 20 20:09:09 1999 Owen Taylor * docs/tmpl/engines.sgml: First pass at documenting engine interfaces. Tue Jul 20 16:10:48 1999 Owen Taylor * **: Documentation improvements. Tue Jul 20 15:05:45 1999 Owen Taylor * modules/basic/{basic.c,tables-{big,small}.i}: Rewrote basic module to support subset fonts meaningfully. This meant revising the algorithm used to look up a font for each character independently. Which required aggresive caching here and in the font code to give half-way decent performance. Added support for ISO-10646-1 fonts. * libgscript/fonts.c (g_script_font_[get/set]_data): Add the ability to add user data to a font. * libgscript/gscriptx.[ch]: Add functions to allow: - Querying all XLFD's matching a set of character sets for a font. - Loading a component font with a particular XLFD. - Finding the range of present characters for a given XLFD. Also added tons of caching. Wed Jul 14 19:11:41 1999 Owen Taylor * libgscript/gscriptx.c (g_script_x_glyph_extents): Fixed min/max confusion. Mon Jul 12 17:14:53 1999 Owen Taylor * docs/TEXT/glossary (CFont): Expanded. * libgscript/fonts.c (g_script_cfont_unref): Fixed leak. (Pointed out by Raph) * libgscript/gscriptx.c: Handle the case where fontstruct->per_char == NULL. Sun Jul 11 23:44:42 1999 Owen Taylor * Made version 0.2 * **/Makefile.am: Fixes for srcdir != builddir Sun Jul 11 23:41:19 1999 Owen Taylor * docs/tmpl/glyphs.sgml: SGML fix. Sun Jul 11 22:53:11 1999 Owen Taylor * libgscript/mapping.c: Implemented g_script_cp_to_x() and g_script_x_to_cp(). * examples/viewer.c: Added clicking on a character to identify it as a test of the above. * gscript/gscript.h gscript/gglyphstring.c modules/basic/basic.c: Add another field into the GGlyphString which holds a mapping from glyphs to logical clusters. * libgscript/gscript.h (struct _GScriptLangRange): Make it start-length like everything else, not start-end. Sun Jul 11 00:18:56 1999 Owen Taylor * docs/tmpl/gscript-x.sgml: Fix sgml error. Sat Jul 10 23:40:40 1999 Owen Taylor * modules/basic/basic.c: Added ability to use multibyte character sets. (Right now, they have to be converted by iconv into EUC encoding, but that can easily be extended). Added simply CJK support. This really bloats and slows down the module because the range-based encoding we use to map characters onto character-sets wasn't designed for CJK-style charsets. But it's better than nothing for now. * libgscript/reorder-items.c (reorder_items_recurse): Fix bug with variable initialization. * examples/viewer.c (draw): Compute line increments. * libgscript/gscriptx.c (g_script_x_[glyph]_extents): Added logical_ascent/descent parameters. * examples/viewer.c: Commented Sat Jul 10 04:35:10 1999 Owen Taylor * configure.in Makefile.am: automake'd and libtoolized. Sat Jul 10 00:00:00 1999 Owen Taylor * It renders! Start a ChangeLog