summaryrefslogtreecommitdiff
path: root/pango/fonts.c
Commit message (Collapse)AuthorAgeFilesLines
* move pango_shape and pango_reorder_items in here.Havoc Pennington2000-12-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use a fallback shaper if no engine is found for a range, the fallbackHavoc Pennington2000-12-151-2/+0
| | | | | | | | | | | | | | | | | 2000-12-14 Havoc Pennington <hp@redhat.com> * pango/pango-context.c (add_engines): Use a fallback shaper if no engine is found for a range, the fallback shaper shapes to glyphs of 0. This is just to let other code depend on the invariant that there's a shape engine for all characters. * tests/all-unicode.txt: Huge file containing all Unicode characters, for robustness testing. Not in EXTRA_DIST for now, not sure we should torture people that way... * pango/fonts.c (pango_font_find_shaper): remove the assert that we found a shaper, and instead let things fall back to the fallback shaper
* add assertion that shaper != NULL to catch engine problems fasterHavoc Pennington2000-12-141-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-14 Havoc Pennington <hp@redhat.com> * pango/fonts.c (pango_font_find_shaper): add assertion that shaper != NULL to catch engine problems faster * pango/Makefile.am (libpangox_la_SOURCES): modules.[hc] and module-defs.c have to go in libpangox for now since the modules use the X stuff, and static linkage won't let you play games here * examples/Makefile.am (pango_viewer_LDADD): fix order of link * modules/indic/pango-indic-script.h (pango_indic_get_char): make this a macro, so it doesn't collide between modules * modules/*/Makefile.am: Fix to work if the module isn't included * examples/Makefile.am: don't query modules if we didn't build any * modules/indic/gurmukhi.c (MODULE_ENTRY): fix prefix * modules/indic/bengali.c (MODULE_ENTRY): fix prefix * modules/indic/gujarati.c (MODULE_ENTRY): fix prefix * modules/indic/devanagari.c (MODULE_ENTRY): fix prefix * modules/indic/myanmar.c (MODULE_ENTRY): uniquely prefix the functions * modules/Makefile.am (MODULES): handle case where there are no modules to query * configure.in: Fix up include_modules stuff to work with Indic * pango/glyphstring.c (pango_glyph_string_set_size): Just g_error() if the glyph string exceeds maximum integer size, instead of mysteriously crashing later.
* New file.Tor Lillqvist2000-11-191-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-19 Tor Lillqvist <tml@iki.fi> * README.win32: New file. * pango/fonts.c (pango_font_description_to_filename): New function. As pango_font_description_to_string, but with result that is better suitable as a filename: No spaces or other strange characters, all in lowercase. (pango_font_describe): Implement this function, call the corresponding method. * pango/pango-font.h: Declare pango_font_description_to_filename. * pango/pangowin32.c (pango_win32_font_describe) * pango/pangoft2.c (pango_ft2_font_describe): Implement these. * pango/pangoft2-fontmap.c (pango_ft2_font_entry_get_coverage) * pango/pangowin32-fontmap.c (pango_win32_font_entry_get_coverage): Implement file-based persistent caching of coverages. * pango/pangoft2-private.h (struct _PangoFT2FontEntry) * pango/pangowin32-private.h (struct _PangoWin32FontEntry): Move struct definition here from the -fontmap files. * pango/pango.def: Updates.
* Renamed pango_attribute_compare to pango_attribute_equal. Renamed compareSebastian Wilhelmi2000-11-131-3/+3
| | | | | | | | | | | | | | | | 2000-11-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * pango/pango-attributes.c, pango/pango-attributes.h: Renamed pango_attribute_compare to pango_attribute_equal. Renamed compare member of PangoAttrClass to equal. Renamed some static functions from ..._compare to ..._equal. * pango/fonts.c, pango/pango-font.h, pango/pango-context.c: Renamed pango_font_description_compare to pango_font_description_equal. * docs/pango-sections.txt, docs/tmpl/fonts.sgml, docs/tmpl/text-attributes.sgml: Changed accordingly.
* adapted g_Type_register_*() calls. GLib wants an additional flag field toTim Janik2000-10-251-1/+1
| | | | | | | | Wed Oct 25 15:39:49 2000 Tim Janik <timj@gtk.org> * *.c: adapted g_Type_register_*() calls. GLib wants an additional flag field to specify tape flags per node. added 0s all over the place, making the assumption that no pango types are abstract ones.
* A bit of code cleanup.Owen Taylor2000-07-211-0/+1
| | | | | | | | | | | | | | | | Fri Jul 21 15:17:26 2000 Owen Taylor <otaylor@redhat.com> * pango/pango-context.c (pango_itemize): A bit of code cleanup. * pango/pango-attributes.[ch]: Add a new attribute type PangoAttrShape, for imposing specific shapes on glyphs. This is used for handling embedded pixmaps and similar objects. * pango/pango-layout.c: Hnadle PangoAttrShape. * pango/pango-context.[ch]:
* g_strcasecmp returns 0 when strings are equal - negate return value.Elliot Lee2000-06-191-1/+1
| | | | | | | | | | | | | | | | | | 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.
* Use g_strtod().Owen Taylor2000-05-301-7/+10
| | | | | | | | | | | | | | | | 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.
* s/pango_font_set_data/g_object_set_qdata/Owen Taylor2000-05-281-96/+26
| | | | | | | | | | | Sat May 27 21:06:13 2000 Owen Taylor <otaylor@redhat.com> * 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.
* Add libgobject.Owen Taylor2000-05-281-131/+0
| | | | | | | | | | | | | | | | | Sat May 27 20:36:56 2000 Owen Taylor <otaylor@redhat.com> * 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 <otaylor@redhat.com> * pango/pango-layout.c (pango_layout_set_text): Allow -1 for the length.
* Add user data to PangoContextOwen Taylor2000-04-051-4/+32
| | | | | | | | | | | | | | | | | | 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.
* Release pango-0.8Owen Taylor2000-03-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Convert log_clusters[] use from char offsets to byte offset - should makeOwen Taylor2000-03-071-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+253
| | | | | | | | | | | 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-4/+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-4/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add style selector, rewrite family selector to use list_families().Owen Taylor2000-02-111-2/+44
| | | | | | | | | | | | 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.
* Add a call to get a glyph for unknown an unknown char.Owen Taylor2000-02-021-0/+42
| | | | | | | | | | | | | | | Wed Feb 2 20:49:21 2000 Owen Taylor <otaylor@redhat.com> * 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.
* The great header file reorganization. Split up roughtly by objects.Owen Taylor2000-02-011-0/+150
| | | | | | | | | | | | | | | | | | | | | | 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.
* Eliminate PangoCFont; For X, encode charset into upper 16 bits of 32 bitOwen Taylor2000-01-151-55/+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.
* Initial revisionOwen Taylor2000-01-131-0/+167