summaryrefslogtreecommitdiff
path: root/pango/modules.c
Commit message (Collapse)AuthorAgeFilesLines
* Finish the 'glyph 0' work of this morning: PANGO_GLYPH_NULL that IBehdad Esfahbod2006-02-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-02-02 Behdad Esfahbod <behdad@gnome.org> Finish the 'glyph 0' work of this morning: PANGO_GLYPH_NULL that I introduced is renamed to PANGO_GLYPH_EMPTY. It means, no rendering should be performed. The backends however, still return 0 if a glyph is not found. The modules then are free to replace this 0 glyph with an unknown character. * modules/arabic/arabic-fc.c, modules/basic/basic-atsui.c, modules/basic/basic-fc.c, modules/basic/basic-win32.c, modules/basic/basic-x.c, modules/hangul/hangul-fc.c, modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c, modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c, modules/thai/thai-fc.c, modules/tibetan/tibetan-fc.c, pango/pangox.c, pango/pangowin32.c: Adapt to above change. Backends return 0 if glyph not found. * pango/fonts.c (pango_font_get_glyph_extents): If font is not usable (!PANGO_IS_FONT (font)), return the generic UNKNOWN_GLYPH metrics. This is used when your backends are misconfigured and you don't find *any* font at all. * pango/pango-engince.c: Add unknown glyphs in fallback shaper, instead of empty glyphs. * pango/shape.c: Call the fall-back shaper if shaper fails, instead of generating a dummy glyph string ourselves. * pango/pango-layout.c (imposed_shape, shape_tab): Use PANGO_GLYPH_EMPTY instead of glyph 0. * pango/pango-renderer.c (pango_renderer_draw_glyph): No-op on PANGO_GLYPH_EMPTY instead of glyph 0. * pango/pangocairo-atsuifont.c, pango/pangocairo-win32font.c, pango/pangocairo-fcfont.c, pango/pangocairo-font.c, pango/pangocairo-private.h: install_font returns a boolean now. * pango/pangocairo-render.c, pango/pangoxft-render.c: Handle font and hex-box failures more gracefully by drawing a generic unknown-box glyph. * pango/pangoft2.c, pango/pangoft2-render.c: Draw the generic unknown-box glyph here too. For unknown glyphs though, if the font is TTF (FT_IS_SFNT), use the zero-indexed glyph, otherwise, draw a box of proper size.
* If locking font face failed, do not assert, just return zero glyphs withBehdad Esfahbod2006-01-291-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-29 Behdad Esfahbod <behdad@gnome.org> * modules/arabic/arabic-fc.c, modules/basic/basic-fc.c modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c modules/thai/thai-ot.c, modules/thai/thai-shaper.c modules/tibetan/tibetan-fc.c: If locking font face failed, do not assert, just return zero glyphs with an implicit warning. * pango/fonts.c, pango/glyphstring.c pango/modules.c pango/pango-color.c, pango/pango-context.c pango/pango-coverage.c, pango/pango-fontmap.c pango/pango-glyph-item.c, pango/pango-item.c pango/pango-layout.c, pango/pango-markup.c pango/pango-ot-buffer.c, pango/pango-script.c pango/pango-tabs.c, pango/pango-utils.c pango/pangoatsui-fontmap.c, pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap.c, pango/pangocairo-fontmap.c pango/pangocairo-win32font.c, pango/pangofc-font.c pango/pangofc-fontmap.c, pango/pangoft2-fontmap.c pango/pangoft2-render.c, pango/pangoft2.c pango/pangowin32-fontcache.c, pango/pangoxft-font.c pango/pangoxft-render.c, pango/break.c pango/ellipsize.c: Use g_slice for allocating all types. Also, change some g_error's to g_critical's...
* Make sure #include <config.h> is the first include in the file. (bugBehdad Esfahbod2006-01-141-1/+1
| | | | | | | 2006-01-14 Behdad Esfahbod <behdad@gnome.org> * */*.c, */*/*.c: Make sure #include <config.h> is the first include in the file. (bug #158870, based on patch by Luis Menina)
* Pass G_MODULE_BIND_LOCAL to g_module_open. (Pointed by Federico)Behdad Esfahbod2005-12-141-1/+1
| | | | | | | 2005-12-14 Behdad Esfahbod <behdad@gnome.org> * pango/modules.c (pango_module_load), pango/querymodules.c: Pass G_MODULE_BIND_LOCAL to g_module_open. (Pointed by Federico)
* Turn various gcc warnings off. Adding const, adding static, fullyBehdad Esfahbod2005-11-041-5/+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.
* Use quarks for GObject data to improve performance. (Patch from FedericoBehdad Esfahbod2005-11-041-1/+1
| | | | | | | | | | 2005-11-04 Behdad Esfahbod <behdad@gnome.org> * pango/pangocairo-fontmap.c: Use quarks for GObject data to improve performance. (Patch from Federico Mena Quintero) * pango/modules.c (pango_module_load), pango/querymodules.c: Pass G_MODULE_BIND_LAZY to g_module_open. (Pointed by John Rice)
* pango/modules.c (read_modules) Use gstdio wrappers. (#16111, RobertTor Lillqvist2004-12-121-1/+2
| | | | | | | | | | | 2004-12-12 Tor Lillqvist <tml@iki.fi> * pango/modules.c (read_modules) * pango/pango-utils.c (read_alias_file,read_config_file): Use gstdio wrappers. (#16111, Robert Ă–gren) * pango/pangoft2-fontmap.c: Remove unneded includes of <dirent.h> and <windows.h>.
* pango/modules.c (append_engines): Fix some missing statics. (#142237,Owen Taylor2004-06-211-1/+1
| | | | | | | | | | | | Mon Jun 21 14:23:05 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-layout.c (no_shape_filter_func) pango/pango-script.c (get_pair_index): pango/modules.c (append_engines): Fix some missing statics. (#142237, Morten Welinder) * pango/mini-fribidi/fribidi_types.c: Move fribidi_type_name inside the #ifdef DEBUG.
* Make parent_class variable static.Padraig O'Briain2003-11-121-1/+1
| | | | | | 2003-11-12 Padraig O'Briain <padraig.obriain@sun.com> * pangoo/modules.c: Make parent_class variable static.
* Replace get_coverage by covers in the doc comment.Matthias Clasen2003-09-291-0/+2
| | | | | | | | | | | | | | | | | | | | 2003-09-30 Matthias Clasen <maclas@gmx.de> * pango/pango-engine.h (struct _PangoEngineShapeClass): Replace get_coverage by covers in the doc comment. * pango/pango-script.c (pango_language_includes_script) (pango_script_get_sample_language): * pango/pango-fontset.c (pango_fontset_foreach): * pango/pango-fontmap.c (pango_font_map_get_shape_engine_type): * pango/modules.c (pango_map_get_engines): * pango/pango-fontset.h (PangoFontsetForEachFunc): Fix typos and add "Since: 1.4" tags. * docs/pango-sections.txt: Add PangoFontsetForeachFunc, pango_fontset_foreach(), pango_font_map_get_shape_engine_type(), PangoScriptForLang, pango_script_get_sample_language() and pango_language_includes_script(), remove pango_map_get_entry().
* Modules now declare a list of scripts that they cover instead of a list ofOwen Taylor2003-09-231-159/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tue Sep 23 18:03:57 2003 Owen Taylor <otaylor@redhat.com> * pango/pango-engines.[ch] pango/pango-engines-private.h: Modules now declare a list of scripts that they cover instead of a list of code point ranges. Also, there is now a ->covers() virtual function that allows a module to decide live whether the font covers a particular codepoint; remove old get_coverage() method. * pango/pango-fontset.[ch]: Add a foreach() function to iterate over all the fonts in a fontset (with a true return stopping iteration). * pango/pango-context.c: Complete rewrite using script-run information to improve language tags. Switch to an approach where we handle one run at a time rather than computing information for each character individually then later breaking the result into runs. * pango/pango-fontset.[ch]: Switch over to using pango-impl-utils.h. * modules/basic/basic-x.c pango/pangox-fontmap.c: Adapt to the change from get_coverage => covers. * pango/pango-modules.h pango/modules.c: Switch PangoMap over to being based on script rather than being based on codepoint. Remove the no longer needed pango_map_get_entry(). * pango/modules.c: Handle new script-based modules. * pango/pango-fc-fontmap.c pango/pango-win32-fontmap.c pango/pang-fontmap.[ch]: Add a shape_engine_type field to PangoFontmapClass, pango_font_map_get_shape_engine_type(); this allows generic code to find a shaper for a particular fontmap. * pango/pango-script.[ch]: Add pango_script_get_sample_language(), pango_language_includes_script(); functions for determining the relationship between scripts and language. * tools/gen-script-for-lang.c: Modify to spit out a useful table. * pango/pango-script-lang-table.h: Version of table generated from current fontconfig data. * pango/pangox.c: Remove complicated code to compute coverages; no longer useful now that we just have the basic shaper as a legacy thing. * modules/*/*.c: Adapt to identifying shape engines by language range. * modules/thai/thai-fc.c modules/thai/thai-shaper.[ch]: Remove now unused "has_glyph" function and XTIS support. * modules/thai/thai-fc.c: Handle non-Thai characters as well, since the Thai module now gets spaces, punctuation, and so forth.
* Add some macro definitions for gcc-3.3 that suppress the bogusOwen Taylor2003-08-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | Fri Aug 22 18:09:52 2003 Owen Taylor <otaylor@redhat.com> * pango/opentype/fterrcompat.h: Add some macro definitions for gcc-3.3 that suppress the bogus strict-aliasing warnings. * pango/pango-utils.c (read_config_file): Use g_hash_table_new_full() to simplify code and fix gcc-3.3 warnings. * pango/pangox-fontmap.c (pango_x_real_get_coverage_win) * pango/querymodules.c (query_module): Suppress gcc-3.3 warnings. * pango/modules.c (pango_find_map): Fix warning from missing declaration of pango_module_get_type(). * pango/pango-context.c/pango-engine.c: Fix name confusion for pango_get_fallback_shaper().
* Call g_type_init() (#119830, Noah Levitt)Owen Taylor2003-08-141-0/+3
| | | | | | | Thu Aug 14 10:41:21 2003 Owen Taylor <otaylor@redhat.com> * pango/modules.c (init_modules): Call g_type_init() (#119830, Noah Levitt)
* Make PangoEngine{,Lang,Shape} GObjects, and use a GTypeModule-basedOwen Taylor2003-08-031-64/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sat Aug 2 23:19:16 2003 Owen Taylor <otaylor@redhat.com> * pango/pango-engine.[ch] modules/*/*-{fc,win32,x}.c pango/modules.c pango/break.c pango/pango-context.c pango/pango-layout.c pango/pango-modules.h pango/querymodules.c pango/shape.c: Make PangoEngine{,Lang,Shape} GObjects, and use a GTypeModule-based module-loading system closely based on the one used for GtkIMContext and GtkThemeEngine. * pango/pango-impl-utils.h: OK, I'm tired of typing in get_type() functions. * pango/pango-script.[ch] pango/pango-script-table.h tests/testscript.c tools/gen-script-table.pl: Add port of script-range code from ICU in preparation for future use. (#91542) * tools/gen-script-for-lang.c: Utility program to determine the script for each fontconfig .orth file. * docs/tmpl/{scripts.sgml,pango-engine-lang.sgml, pango-engine-shape.sgml} docs/pango-sections.txt docs/pango-docs.sgml: Redo to go along with the above changes. * configure.in: chmod +x tests/runtests.sh
* Dynamically allocate submap arrays so we aren't constrained to the BMP.Owen Taylor2002-12-071-18/+37
| | | | | | | | Fri Dec 6 19:42:33 2002 Owen Taylor <otaylor@redhat.com> * pango/modules.c (map_get_submap): Dynamically allocate submap arrays so we aren't constrained to the BMP. (#100307, Federic Zhang)
* Convert [sf]printf to g_[sf]printf, or, where appropriate g_printerr().Owen Taylor2002-12-061-8/+7
| | | | | | | | | | | | Fri Dec 6 18:07:48 2002 Owen Taylor <otaylor@redhat.com> * modules/indic/devanagari-x.c, pango/modules.c pango/pango-utils.c pango/pangoft2.c pango/querymodules.c: Convert [sf]printf to g_[sf]printf, or, where appropriate g_printerr(). (Based on patch from Matthias Clasen, #99321) * configure.in: Require glib-2.1.3.
* Remove warning about opening modules file... in some cases (includedOwen Taylor2002-03-251-3/+1
| | | | | | | | | | Mon Mar 25 15:53:17 2002 Owen Taylor <otaylor@redhat.com> * pango/modules.c (read_modules): Remove warning about opening modules file... in some cases (included modules) it isn't needed, and the warning about no modules that was added recently should let people know what is going on. (#73834, Arnaud Charlet)
* Add an informative warning if no modules at all were found. (#74982,Owen Taylor2002-03-201-0/+20
| | | | | | | | Wed Mar 20 18:40:34 2002 Owen Taylor <otaylor@redhat.com> * pango/modules.c (build_map): Add an informative warning if no modules at all were found. (#74982, suggestion from Dan Winship.)
* Fix problem where == was used instead if =. (#73694, Martin Gansser)Owen Taylor2002-03-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | Wed Mar 6 11:43:46 2002 Owen Taylor <otaylor@redhat.com> * configure.in: Fix problem where == was used instead if =. (#73694, Martin Gansser) * modules/Makefile.am (install-data-local): Simplify the rule to create the pango.modules file to avoid problems with differing shared library suffixes. pango-querymodules run without any arguments does the right thing by default. (#73694, Martin Gansser) * configure.in: Add a PANGO_MODULE_VERSION variable defining the subdir in which modules are installed. * pango/querymodules.c pango/modules.c modules/*/*.am: Install modules in lib/pango/MODULE_VERSION/modules * pango.pc.in (pango_module_version): Export pango_module_version variable so that 3rd parties can determine where to install libraries.
* Don't crash on out-of-BMP values.Owen Taylor2002-03-011-7/+24
| | | | | | | | | Fri Mar 1 14:25:22 2002 Owen Taylor <otaylor@redhat.com> * pango/modules.c: Don't crash on out-of-BMP values. * pango/mini-fribidi/fribidi_get_type.c (_pango_fribidi_get_type): Return FRIBIDI_TYPE_LTR for all non-BMP characters.
* isspace -> g_ascii_isspace (pango_font_description_from_string): isspaceDarin Adler2002-02-101-1/+0
| | | | | | | | | | | | | | | | * pango/fonts.c: (getword): isspace -> g_ascii_isspace (pango_font_description_from_string): isspace -> g_ascii_isspace * pango/modules.c: Remove unneeded <ctype.h> include. * pango/pango-markup.c: (xml_isspace): New. (pango_parse_markup): isspace -> xml_isspace (span_parse_func): isdigit -> g_ascii_isdigit * pango/pango-utils.c: (pango_trim_string): isspace -> g_ascii_isspace (pango_skip_space): isspace -> g_ascii_isspace (pango_scan_word): isspace -> g_ascii_isspace (pango_scan_string): isspace -> g_ascii_isspace (pango_scan_int): isspace -> g_ascii_isspace * pango/pangoft2-fontmap.c: Remove unneeded <ctype.h> include. * pango/pangox-fontmap.c: Remove unneeded <ctype.h> include.
* pango/modules.c g_module_symbol takes a gpointer *, not just a gpointer.Manish Singh2001-12-051-1/+1
| | | | | | | | 2001-12-04 Manish Singh <yosh@gimp.org> * pango/modules.c * pango/querymodules.c: g_module_symbol takes a gpointer *, not just a gpointer.
* Updates.Matthias Clasen2001-12-041-2/+2
| | | | | | | * docs/pango-sections.txt, docs/tmpl/fonts.sgml, docs/tmpl/modules.sgml: Updates. * pango/modules.c: Documentation fixes.
* don't bother with module dir recalculation if LIBDIR isn't definedHans Breuer2001-11-031-1/+1
| | | | | | | | | | | | | | | 2001-11-03 Hans Breuer <hans@breuer.org> * pango/modules.c : don't bother with module dir recalculation if LIBDIR isn't defined * pango/pangowin32-fontmap.c : make it compile again after the g_ascii_* change below. Use EnumFontFamiliesExA to ensure to use the ascii version, though defining UNICODE for G_OS_WIN32 will break at other place anyway. * pango/makefile.msc : use (hopefully temporary) DIRENT_CFLAGS and DIRENT_LIBS (see #63667)
* Neat Win32 feature: A prebuilt Pango package can be installed in a randomTor Lillqvist2001-10-311-0/+22
| | | | | | | | | | | | | | | | | 2001-10-31 Tor Lillqvist <tml@iki.fi> * pango/modules.c (process_module_file): Neat Win32 feature: A prebuilt Pango package can be installed in a random location (i.e., not the same used when configuring and building the software). The pango.modules file provided with the package contains paths on the packager's system, not the end-users. We notice this, and replace with the corresponding path in the installation directory on the end-user's machine. * pango/pango-utils.c: Use G_WIN32_DLLMAIN_FOR_DLL_NAME. (pango_get_sysconf_subdirectory,pango_get_lib_subdirectory): No need to call g_path_get_basename on the DLL name, DllMain already does it.
* Typo fix.Matthias Clasen2001-10-271-2/+2
| | | | | | | | | * pango/modules.c: Typo fix. * docs/tmpl/text-attributes.sgml, docs/tmpl/freetype-fonts.sgml, docs/tmpl/xft-fonts.sgml, docs/tmpl/win32-fonts.sgml, docs/tmpl/glyphs.sgml, docs/tmpl/x-rendering.sgml, docs/tmpl/pango-indic.sgml: Updates.
* Use g_build_filename() where appropriate.Owen Taylor2001-09-121-3/+3
| | | | | | | | Tue Sep 11 11:31:53 2001 Owen Taylor <otaylor@redhat.com> * pango/pangoft2-fontmap.c pango/modules.c pango/pango-utils.c pango/querymodules.c: Use g_build_filename() where appropriate.
* Couple of bug fixes for the last change.Owen Taylor2001-06-261-1/+2
| | | | | | | | | | Tue Jun 26 15:11:30 2001 Owen Taylor <otaylor@redhat.com> * pango/pango-context.c (font_set_get_font) pango/pango-context.c (add_engines): Couple of bug fixes for the last change. * configure.in: Abort out when AM_PATH_GLIB fails.
* Add a new PangoLanguage type to represent language tags; these canOwen Taylor2001-06-141-19/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix problem with information loss when converting leaves to branches.Owen Taylor2001-05-281-4/+3
| | | | | | | | | | | | | | Mon May 28 11:51:45 2001 Owen Taylor <otaylor@redhat.com> * pango/modules.c (map_add_engine): Fix problem with information loss when converting leaves to branches. (Problem found by Toshio MARUYAMA) Wed May 23 12:59:26 2001 Owen Taylor <otaylor@redhat.com> * pango/pangox.c (pango_x_make_font_struct): Load the font struct for "fixed" in the case of a broken font list where fonts listed by XListFonts aren't loadable.
* touch sysconfdir/pango/pango.modules even if there are no dynamic modules,Havoc Pennington2000-12-151-15/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-15 Havoc Pennington <hp@redhat.com> * modules/Makefile.am (install-data-local): touch sysconfdir/pango/pango.modules even if there are no dynamic modules, so pango won't spew warnings about pango.modules not existing, and to simplify RPM file lists * pango/pango-context.c (fallback_engine_shape): fix this to avoid incrementing i twice (fallback_shaper): fix initializer * pango/querymodules.c (query_module): don't call g_module_close() on a module that doesn't get opened successfully * pango/modules.c: do not include modules.h (init_modules): do not do the builtin modules here, they are done by pangox * pango/pangox.c (pango_x_get_context): register included modules here * pango/pangoxft-font.c: do not include modules.h * pango/Makefile.am (libpango_la_SOURCES): move modules.c, back in here (but not modules.h, which actually goes with module-defs.c)
* hu Nov 16 13:23:43 2000 Owen Taylor <otaylor@redhat.com>Owen Taylor2000-11-161-102/+133
| | | | | | | | | | | | | | | * docs/pango-sections.txt docs/tmpl/modules.sgml: Add pango_module_register (). * pango/modules.c: Make ordering of module lookup predictable. * pango/modules.c (pango_module_register): Add a useful doc comment. * pango/pango-modules.[ch]: Fix indentation. * .cvsusers: Added
* Declare variable j so it compilesHavoc Pennington2000-11-161-1/+2
| | | | | | | 2000-11-16 Havoc Pennington <hp@redhat.com> * pango/modules.c (handle_included_module): Declare variable j so it compiles
* Make some vars static. Implement pango_module_register function. MoveElliot Lee2000-11-161-18/+35
| | | | | | | * pango/modules.c: Make some vars static. Implement pango_module_register function. * pango/pango-modules.h, pango/modules.h: Move declaration of PangoIncludedModule to pango-modules.h for public use.
* Added docs for the publically exported functions in this module, evenOwen Taylor2000-10-301-0/+37
| | | | | | | | | | | | | Tue Sep 12 10:21:08 2000 Owen Taylor <otaylor@redhat.com> * pango/modules.c (pango_map_get_entry): Added docs for the publically exported functions in this module, even though they are really only semi-public (for people implementing new types of #PangoFont), not public * pango/pango-utils.c (pango_read_line): Minor bug tweak.
* Fix bug where wrong attribute list was unreferenced.Owen Taylor2000-09-111-1/+0
| | | | | | | | | | | | | | Sun Sep 10 03:01:53 2000 Owen Taylor <otaylor@redhat.com> * pango/pango-layout.c (pango_layout_set_attributes): Fix bug where wrong attribute list was unreferenced. * pango/pango-attributes.[ch]: Add function pango_attr_list_splice() to splice contents of one attribute list into another attribute list. * pango/pango-utils.h: Add include of pango-font.h since it now depends on declarations from there.
* Fix incorrect list rearrangement that caused some segfaults. Pay attentionElliot Lee2000-08-091-6/+3
| | | | | | | | 2000-08-08 Elliot Lee <sopwith@redhat.com> * pango/modules.c: Fix incorrect list rearrangement that caused some segfaults. * pango/pango-layout.c (pango_layout_line_x_to_index): Pay attention to shape attributes (not perfect since the layout of chars inside a shaped run is unknown, but gives start index of the chars in the run).
* If the first pango_skip_space fails, remember to free enginepair beforeElliot Lee2000-08-081-1/+4
| | | | | | | | * pango/modules.c: If the first pango_skip_space fails, remember to free enginepair before continuing. * pango/pango-layout.c (pango_layout_set_attributes): unref old attr list after reffing new one, in case setting to same thing. * pango/pango-attributes.c (pango_attr_list_insert_internal): Proper fix from Owen for the infinite loop.
* Find the bug, people!Elliot Lee2000-08-041-2/+1
| | | | Find the bug, people!
* Fix segfault when tmp_list has no 'prev' pointer. Infinite loops do notElliot Lee2000-08-041-1/+2
| | | | | | | | | | 2000-08-03 Elliot Lee <sopwith@redhat.com> * pango/modules.c: Fix segfault when tmp_list has no 'prev' pointer. * pango/pango-attributes.c (pango_attr_list_insert_internal): Infinite loops do not fast programs make. * pango/pango-context.c: Set a default font size so that things don't go boom if someone forgets to set it themselves. * pango/pango-layout.c (pango_layout_index_to_pos): Exclude newlines from consideration. (pango_layout_line_index_to_x): Take shape attributes into consideration when determining position.
* Remove hardcoded path to my home directory! Allow specifying the file onOwen Taylor2000-07-311-1/+1
| | | | | | | | | | | Sat Jul 29 21:26:30 2000 Owen Taylor <otaylor@redhat.com> * examples/viewer-qt.[ch] (ViewerWindow): Remove hardcoded path to my home directory! Allow specifying the file on the command line. * pango/modules.c (process_module_file): Fix bug in parsing of range strings.
* Free buffer strings.Owen Taylor2000-07-211-2/+5
| | | | | | | | | | | | | | | | | | | | | Fri Jul 21 09:59:10 2000 Owen Taylor <otaylor@redhat.com> * pango/modules.c (process_module_file): Free buffer strings. * pango/pangox-fontmap.c (pango_x_real_get_coverage_win): Add caching of coverage maps on a persistant subwindow of the root window. This window contains a property for each "lang|xlfd,xlfd" which is the result of pango_coverage_to_bytes. * pango/pango-context.c (pango_context_finalize): Free the font description. * pango/pango-coverage.c (pango_coverage_to/from_bytes): Added functions to covert a PangoCoverage structure too and from a flat block of bytes. * configure.in (X_LIBS): Add a check to detect fribidi being compiled against glib-1.2.x.
* pango/pangowin32.h pango/pangowin32-private.h pango/pangowin32-fontcache.cTor Lillqvist2000-07-151-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-15 Tor Lillqvist <tml@iki.fi> * pango/pangowin32.h * pango/pangowin32-private.h * pango/pangowin32-fontcache.c * pango/pangowin32-fontmap.c * modules/basic/basic-win32.c * examples/viewer-win32.c * examples/pangowin32.aliases: New files. Start of a Win32 implementation. Does not work yet. * configure.in: Chek for dirent.h and unistd.h. * pango/pango-utils.h * pango/pango-utils.c (pango_get_sysconf_subdirectory, pango_get_lib_subdirectory): New functions, for better portability, to enable installation-time choice of directory (on Windows) instead of compile-time. Use these instead of SYSCONFDIR "/pango" and LIBDIR "/pango". (pango_split_file_list): Fix comment, the function splits on searchpath separators, not commas. Use G_SEARCHPATH_SEPARATOR_S for portability. Don't try to expand '~' as home directory on Windows. (read_config): Use pango_get_sysconf_subdirectory(). * pango/modules.c (read_modules): Use pango_get_sysconf_subdirectory(). Don't crash if a module file cannot be opened. * pango/querymodules.c: Include config.h Conditionalize inclusion of dirent.h and unistd.h. Use platform-specific shared library extension. Use pango_get_lib_subdirectory().
* A bunch of simple functions for reading from files, manipulating stringsOwen Taylor2000-06-301-131/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | Fri Jun 30 16:46:31 2000 Owen Taylor <otaylor@redhat.com> * 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.
* Remove tests for libunicodeOwen Taylor2000-06-211-3/+2
| | | | | | | | | | | | 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.
* g_strcasecmp returns 0 when strings are equal - negate return value.Elliot Lee2000-06-191-20/+67
| | | | | | | | | | | | | | | | | | 2000-06-11 Elliot Lee <sopwith@redhat.com> * pango/fonts.c (pango_font_description_compare): g_strcasecmp returns 0 when strings are equal - negate return value. 2000-06-09 Elliot Lee <sopwith@redhat.com> * pango/pango-coverage.[ch]: Return 'coverage' from pango_coverage_ref. 2000-06-08 Elliot Lee <sopwith@redhat.com> * pango/Makefile.am: Add DOTMODULESDIR define to make it easier to change location of .modules files. * pango/modules.c: Make use of aforesaid define. Also scan the DOTMODULESDIR directory for multiple config files instead of just pango.modules. Also fclose() opened files.
* *** empty log message ***Owen Taylor2000-06-081-8/+8
|
* Add ZWS to hacky break algorithm.Owen Taylor2000-05-051-96/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fri May 5 18:56:45 2000 Owen Taylor <otaylor@redhat.com> * 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 <otaylor@redhat.com> * 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.
* 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/
* Release pango-0.8Owen Taylor2000-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.