summaryrefslogtreecommitdiff
path: root/modules/basic/basic-x.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove PangoXBehdad Esfahbod2012-08-161-720/+0
| | | | Been overdue...
* Fix all warnings in modules/.Behdad Esfahbod2008-12-261-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | 2008-12-25 Behdad Esfahbod <behdad@gnome.org> * modules/arabic/arabic-fc.c (arabic_engine_shape): * modules/arabic/arabic-lang.c (arabic_engine_break): * modules/basic/basic-fc.c (basic_engine_shape): * modules/basic/basic-x.c (find_char), (conv_8bit), (conv_eucjp), (conv_16bit), (conv_16bit_MSB_on), (conv_gb18030_1), (conv_euctw), (conv_ucs4), (basic_engine_shape), (basic_engine_covers): * modules/hangul/hangul-fc.c (hangul_engine_shape): * modules/hebrew/hebrew-fc.c (add_cluster), (fallback_shape): * modules/indic/indic-lang.c (indic_engine_break): * modules/khmer/khmer-fc.c (khmer_engine_shape): * modules/syriac/syriac-fc.c (syriac_engine_shape): * modules/thai/thai-fc.c (get_glyph_index_tis), (thai_engine_shape), (thai_make_unknown_glyph): * modules/thai/thai-lang.c (thai_engine_break): * modules/thai/thai-shaper.c (get_glyphs_list): * modules/tibetan/tibetan-fc.c (tibetan_engine_shape): Fix all warnings in modules/. svn path=/trunk/; revision=2771
* Include "config.h" instead of <config.h> Command used: find -nameJohan Dahlin2008-06-221-1/+1
| | | | | | | | | | | | 2008-06-21 Johan Dahlin <jdahlin@async.com.br> * *.[ch]: Include "config.h" instead of <config.h> Command used: find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g' Rubberstamped by Behdad svn path=/trunk/; revision=2657
* Remove unused empty header file basic-common.hBehdad Esfahbod2007-07-051-2/+0
| | | | | | | | | | | | | | 2007-07-05 Behdad Esfahbod <behdad@gnome.org> * modules/basic/Makefile.am: * modules/basic/basic-fc.c: * modules/basic/basic-win32.c: * modules/basic/basic-x.c: * modules/basic/basic-common.h: Remove unused empty header file basic-common.h svn path=/trunk/; revision=2370
* *.c, *.h: Replace preceding sequences of 8 spaces with tabs.Behdad Esfahbod2007-01-161-2/+2
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Replace preceding sequences of 8 spaces with tabs. svn path=/trunk/; revision=2165
* *.c, *.h: Drop trailing whitespace.Behdad Esfahbod2007-01-161-48/+48
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Drop trailing whitespace. svn path=/trunk/; revision=2163
* Bug 337924 – cleanups for issues reported by various compilers PatchBehdad Esfahbod2006-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-04-11 Behdad Esfahbod <behdad@gnome.org> Bug 337924 – cleanups for issues reported by various compilers Patch from Kjartan Maraas. * examples/viewer-x.c (update): * modules/arabic/arabic-fc.c (fallback_shape), (arabic_engine_shape): * modules/basic/basic-fc.c (fallback_shape), (basic_engine_shape): * modules/basic/basic-x.c: * modules/hangul/hangul-fc.c: * modules/hebrew/hebrew-fc.c (hebrew_engine_shape): * 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/break.c: * pango/modules.c: * pango/opentype/ftglue.c (_hb_ftglue_face_goto_table): * pango/pango-attributes.c (pango_attr_list_filter): * pango/pango-engine.c: * pango/pango-fontset.c: * pango/pango-layout.c (pango_layout_set_text), (pango_layout_xy_to_index), (pango_layout_get_cursor_pos): * pango/pango-markup.c (text_handler): * pango/pango-utils.c (read_alias_file): * pango/pangocairo-fcfont.c (G_DEFINE_TYPE_WITH_CODE): * pango/pangocairo-fcfontmap.c (G_DEFINE_TYPE_WITH_CODE): * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info): * pango/pangox-fontmap.c (pango_x_make_matching_xlfd): * tests/dump-boundaries.c (fail): Remove unused variables. Remove excess semicolon after DEFINE_TYPE macros.
* Bug 314548 – pango_shape() is missing const correctness Patch fromBehdad Esfahbod2006-02-091-1/+1
| | | | | | | | | | | | | | | | | | 2006-02-09 Behdad Esfahbod <behdad@gnome.org> Bug 314548 – pango_shape() is missing const correctness Patch from Antoine Dopffer. * modules/arabic/arabic-fc.c, modules/basic/basic-fc.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-shaper.c, modules/thai/thai-shaper.h, modules/tibetan/tibetan-fc.c, pango/pango-context.c, pango/pango-engine-private.h, pango/pango-engine.c, pango/pango-engine.h, pango/pango-glyph.h pango/pango-layout.c, pango/shape.c: Make PangoAnalysis *analysis const in all shaper interfaces.
* Change PANGO_GLYPH_EMPTY to 0x0FFFFFFF, to not overlap withBehdad Esfahbod2006-02-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 2006-02-04 Behdad Esfahbod <behdad@gnome.org> * pango/pango-types.h: Change PANGO_GLYPH_EMPTY to 0x0FFFFFFF, to not overlap with PANGO_GLYPH_UNKNOWN_FLAG (0x10000000). Define PANGO_GET_UNKNOWN_GLYPH(wc) that simply returns wc|PANGO_GLYPH_UNKNOWN_FLAG. * docs/pango-sections.txt, docs/tmpl/glyphs.sgml: Document new symbols. * modules/*/*.c: Use PANGO_GET_UNKNOWN_GLYPH instead of various backend-specific functions. * pango/pangofc-font.c, pango/pangoft.c, pango/pangoxft-font.c, * pango/pangowin32.c, pango/pangox.c: Suggest using PANGO_GET_UNKNOWN_GLYPH in docs. * pango/pangofc-font.h: Deprecate pango_fc_font_get_unknown_glyph(). * pango/pangowin32.h: Deprecate pango_win32_get_unknown_glyph().
* 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.
* Use PANGO_GLYPH_NULL for when no glyph should be drawn. UseBehdad Esfahbod2006-02-021-5/+5
| | | | | | | | | | | | | | | | | | | | | | | 2006-02-02 Behdad Esfahbod <behdad@gnome.org> * 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/fonts.c, pango/pango-engine-private.h pango/pango-types.h, pango/pangocairo-fcfont.c, pango/pangocairo-font.c, pango/pangocairo-private.h, pango/pangocairo-render.c, pango/pangofc-decoder.c, pango/pangofc-font.c, pango/pangoft2-render.c, pango/pangoft2.c pango/pangowin32.c, pango/pangox.c, pango/pangoxft-font.c pango/pangoxft-private.h, pango/pangoxft-render.c, pango/shape.c: Use PANGO_GLYPH_NULL for when no glyph should be drawn. Use PANGO_GLYPH_UNKNOWN_FLAG for all backends to mark unknown flags. There's no need for pango_font_get_unknown_glyph() anymore, since all backends know how to handle PANGO_GLYPH_UNKNOWN_FLAG gracefully. We may add that in the future however. (fixes bug #73147, closes bug #329524)
* Make sure #include <config.h> is the first include in the file. (bugBehdad Esfahbod2006-01-141-0/+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)
* Turn various gcc warnings off. Adding const, adding static, fullyBehdad Esfahbod2005-11-041-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* New function added.Behdad Esfahbod2005-07-231-1/+1
| | | | | | | | | | | | | | 2005-07-23 Behdad Esfahbod <pango@behdad.org> * pango/pango-utils.c, pango/pango-utils.h (pango_is_zerowidth): New function added. * modules/basic/basic-common.h, modules/basic/basic-fc.c, modules/basic/basic-win32.c, modules/basic/basic-x.c, modules/hangul/hangul-fc.c, modules/arabic/arabic-fc.c, modules/indic/indic-fc.c, modules/indic/indic-ot.h, modules/syriac/syriac-fc.c: Use the new pango_is_zerowidth function. (#306639, Behnam Esfahbod)
* Modules now declare a list of scripts that they cover instead of a list ofOwen Taylor2003-09-231-36/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make PangoEngine{,Lang,Shape} GObjects, and use a GTypeModule-basedOwen Taylor2003-08-031-25/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove.Owen Taylor2003-08-021-1/+3
| | | | | | | | | | | | Sat Aug 2 14:10:31 2003 Owen Taylor <otaylor@redhat.com> * pango/Makefile.am pango/pango-intset.[ch] pango/pango-indic.[ch]: Remove. * pango/pangox.c (pango_x_apply_ligatures): Make a noop, remove associated code. * pango/pangox-fontmap.c pango/pangox.[ch]: Deprecate everything.
* Switch over the way that module entry points work, taking advantage of theOwen Taylor2003-04-141-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mon Apr 14 06:02:34 2003 Owen Taylor <otaylor@redhat.com> * modules/thai/{thai-fc.c,thai-shaper.c,thai-x.c}: * modules/*/*-{xft,x,win32.c} pango/pango-engine.h modules/*/Makefile.am: Switch over the way that module entry points work, taking advantage of the new automake capability for per-target CFLAGS for shared sources. * pango/pangofc-font.[ch] pango/pangoxft-font.c pango/pangoft2.c: Add a base class for PangoXft and PangoFT2 font classes so code can be shared between FT2 and Xft backends. * configure.in modules/*/Makefile.am modules/{arabic,basic,hangul,hebrew,indic,thai}: Move *-xft.c to *-fc.c and share between Xft and FT2 backends; adds FT2 backend capabilities for hangul/indic/thai. * pango/pangoxft.h pango/pangoft2.h: Deprecate APIs that moved into PangoFcFont * modules/basic/basic-fc.c (set_glyph): Add kerning handling from FT2 backend.
* Fix #96781: changes for basic X shaper's code range for compatibilityHidetoshi Tajima2002-11-071-4/+5
| | | | | | | * modules/basic/basic-x.c: Fix #96781: changes for basic X shaper's code range for compatibility Ideographs characters (0xFA0C - 0xFA2D) (by federic.zhang@sun.com)
* modules/indic/indic-xft.c (maybe_add_GPOS_feature):Owen Taylor2002-08-201-1/+1
| | | | | | | | | | | | | | | | | | Tue Aug 20 15:42:33 2002 Owen Taylor <otaylor@redhat.com> * modules/indic/indic-xft.c (maybe_add_SUB_feature): modules/indic/indic-xft.c (maybe_add_GPOS_feature): modules/indic/indic-ot.c (getOutputIndex) modules/hebrew/hebrew-x.c (get_glyph_num) modules/basic/basic-x.c (find_char): Fix missing statics. * modules/thai/{thai-shaper.[ch] thai-xft.c thai-x.c}: Namespace the "abstract functions" that thai-xft/thai-x.c export to thai-shaper.c. * modules/arabic/arabic-{ot.[ch],ft2.c,xft.c}: Rename Assign_Arabic_Properties to Arabic_Assign_Properties.
* ri Jul 26 19:46:45 2002 Owen Taylor <otaylor@redhat.com>Owen Taylor2002-07-261-2/+84
| | | | | | | | * modules/basic/basic-x.c modules/basic/tables-big.i: Patch fromm Qingjiang (Brian) Yuan adding support for GB-18030, BIG5-HKSCS, CNS-11643 and GBK encodings. Also fix wrong encoding for Big5 fonts and look for big5-1 as well as big5-0 for the encoding name.
* ue Mar 26 18:22:07 2002 Owen Taylor <otaylor@redhat.com>Owen Taylor2002-03-261-18/+1
| | | | | | | | * modules/basic/basic-*.c modules/basic/basic-common.h: Move ZERO_WIDTH_CHAR() macro into a common header file, add ZERO WIDTH-NO BREAK SPACE (U+FEFF) * modules/basic/Makefile.am (EXTRA_DIST): Add basic-common.h.
* Convert U+00A0 (NON BREAK SPACE) to U+0020 (SPACE)Owen Taylor2002-03-251-1/+9
| | | | | | | | | | Mon Mar 25 15:46:54 2002 Owen Taylor <otaylor@redhat.com> * modules/basic/basic-*.c: Convert U+00A0 (NON BREAK SPACE) to U+0020 (SPACE) * modules/basic/basic-xft.c (basic_engine_shape): Remove some dead code.
* When loading an iconv converter fails, recover gracefully and warn ratherOwen Taylor2002-03-201-36/+32
| | | | | | | | | Wed Mar 20 14:57:48 2002 Owen Taylor <otaylor@redhat.com> * modules/basic/basic-x.c modules/basic/tables-{big,small}.i: When loading an iconv converter fails, recover gracefully and warn rather than aborting. (#73861, report about problems on IRIX from Soeren Sandmann)
* Patch from Sven Neumann to extend and make consistent the set ofOwen Taylor2002-02-231-1/+20
| | | | | | | | Sat Feb 23 17:34:26 2002 Owen Taylor <otaylor@redhat.com> * modules/basic/basic-{ft2,x,xft}.c: Patch from Sven Neumann to extend and make consistent the set of zero-width characters that are not displayed. (#71931)
* Mark as only an approximate match for Hebrew, so the Hebrew shaper will beOwen Taylor2001-12-271-1/+1
| | | | | | | | Thu Dec 27 14:19:46 2001 Owen Taylor <otaylor@redhat.com> * modules/basic/basic-x.c: Mark as only an approximate match for Hebrew, so the Hebrew shaper will be used in preference. (#67557, Dov Grobgeld)
* handle codeset1(right half of jisx0201.1976) and codeset3(jisx0212.1990)Hidetoshi Tajima2001-12-061-6/+38
| | | | | | | | | * modules/basic/basic-x.c (conv_eucjp): handle codeset1(right half of jisx0201.1976) and codeset3(jisx0212.1990) of EUCJP (conv_16bit): renamed from the old conv_euc - handle 16bit character sets only. * modules/basic/tables-big.i: add jisx0212, jisx0201 and big5.
* Up to 0.19.Owen Taylor2001-09-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tue Sep 18 15:47:08 2001 Owen Taylor <otaylor@redhat.com> * configure.in (PANGO_MINOR_VERSION): Up to 0.19. * pango/pango-font.h pango/pango-fontmap.[ch] pango/fonts.c pango/pangoxft-fontmap.c pango/pangoft-fontmap.c pango/pango-context.[ch] pango/pangox-fontmap.c: Add new PangoFontFace and PangoFontFamily object types, and change the font listing API to list faces and families, instead of face names and font descriptions. * pango/pango-font.h pango/fonts.c: Make PangoFontDescription an opaque heap-allocated structure, add accessors and convenience functions. * pango/pango-font.h pango/pango-private.h: Make PangoFontMetrics heap allocated, protect the structure definition with #ifdef PANGO_ENABLE_BACKEND, and add getters for the fields. * pango/pango-attributes.[ch] ( pango_attr_iterator_get_font): instead of providing a base font description and one to fill in, provide a single font description to modify based on the attributes. * pango/pango-attributes.[ch]: Fix PangoAttrFontDesc to have a PangoFontDescription by reference, not by value. * pango/pango-utils.[ch]: make pango_parse_style() and friends take pointers to individual enumerations instead of to a PangoFontDescription structure. * pango/*.c: Fix for the PangoFontDescription and PangoFontMetrics changes. * pango/pango-{break,engine,indic,ot,xft}.h pango/Makefile.am pango/opentype/Makefile.am: Protect portions with PANGO_ENABLE_ENGINE to shrink the public API. * modules/*/Makefile.am: -DPANGO_ENABLE_ENGINE. * pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c: Move pango_x_font_get_unknown_glyph() into public header since it is used from modules. * pango/pango-{context,font,fontmap,modules.utils}.h pango/Makefile.am: Protect portions with PANGO_ENABLE_BACKEND to shrink the public API. * pango/*.h: Use G_BEGIN/END_DECLS * examples/viewer-qt.[cc,h]: Fix for changes to font listing API, PangoFontDescription. * pango/pango-indic.h modules/indic/*: Since we install this header fix it up to Pango conventions, namespece ZERO_WIDTH_JOINER, ZERO_WIDTH_NON_JOINER. * docs/pango-sections.txt: Updated.
* Add a new PangoLanguage type to represent language tags; these canOwen Taylor2001-06-141-16/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Move some fontmap stuff to pangox-private.h to access fontmap->resolutionHavoc Pennington2001-04-271-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | 2001-04-27 Havoc Pennington <hp@redhat.com> * pango/pangox-fontmap.c: Move some fontmap stuff to pangox-private.h to access fontmap->resolution in pangox.c * pango/pangox.c (get_font_metrics_from_subfonts): multiply avg. width by PANGO_SCALE, and consider that avg width from X is in decipoints * modules/basic/basic-x.c: mark some chars unknown when shaping, with a flag PANGO_X_UNKNOWN_FLAG * pango/pangox.c (pango_x_font_get_metrics): use lookup_lang not lang when calling get_font_metrics_from_string (pango_x_render): render unknown chars * pango/pango-layout.c: (pango_layout_set_single_paragraph_mode): add mode where we don't break on para separators, instead we shape them and display glyphs (pango_layout_get_single_paragraph_mode): getter for above (pango_layout_check_lines): handle single paragraph mode
* i2001-01-04 Alexander Larsson <alla@lysator.liu.se>Alexander Larsson2001-01-041-3/+5
| | | | | | | | | | | | | | | | | | | | | * modules/arabic/arabic-x.c: * modules/arabic/arabic-xft.c: * modules/basic/basic-ft2.c: * modules/basic/basic-win32.c: * modules/basic/basic-x.c: * modules/hangul/hangul-x.c: * modules/indic/bengali-x.c: * modules/indic/devanagari-x.c: * modules/indic/gujarati-x.c: * modules/indic/gurmukhi-x.c: * modules/indic/myanmar-x.c: * modules/tamil/tamil-x.c: * modules/thai/thai-x.c: Change all modules to use a define to the script engine name. Also Fixes some errors in the names (they were different in the same module). * pango/.cvsignore: add module-defs*.[ch]
* Rename all x modules from abc to abc-x.Alexander Larsson2001-01-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-03 Alexander Larsson <alexl@redhat.com> * configure.in: * modules/arabic/Makefile.am: * modules/arabic/arabic-x.c: * modules/basic/Makefile.am: * modules/basic/basic-x.c: * modules/hangul/Makefile.am: * modules/hangul/hangul-x.c: * modules/indic/Makefile.am: * modules/indic/bengali-x.c: * modules/indic/devanagari-x.c: * modules/indic/gujarati-x.c: * modules/indic/gurmukhi-x.c: * modules/indic/myanmar-x.c: * modules/tamil/Makefile.am: * modules/tamil/tamil-x.c: * modules/thai/Makefile.am: * modules/thai/thai-x.c: Rename all x modules from abc to abc-x. * modules/arabic/arabic.c: * modules/basic/basic.c: * modules/hangul/hangul.c: * modules/indic/bengali.c: * modules/indic/devanagari.c: * modules/indic/gujarati.c: * modules/indic/gurmukhi.c: * modules/indic/myanmar.c: * modules/tamil/tamil.c: * modules/thai/thai.c: These were all copied to file-x.c and then removed.
* Fix build breakage, reported by Alex Larsson and Yasushi ShojiHavoc Pennington2000-12-181-1/+1
| | | | | | | | | | | | | | | | | 2000-12-18 Havoc Pennington <hp@redhat.com> Fix build breakage, reported by Alex Larsson and Yasushi Shoji * pango/pangox.h: don't include pango.h, just individual headers * configure.in: check for perl, add --disable-rebuilds configure option, automatically disable rebuilds if no perl * pango/Makefile.am: use located perl to run makeenums.pl, and don't try to rebuild if we did --disable-rebuilds (EXTRA_DIST): add built headers * modules/*/*.[hc]: don't include pango.h, include specific headers
* Fix macro breakage.Owen Taylor2000-12-151-0/+17
| | | | | | | | | | | | | | | | Thu Dec 14 19:00:46 2000 Owen Taylor <otaylor@redhat.com> * modules/indic/pango-indic-script.h: Fix macro breakage. * modules/basic/tables-big.i: Remove extra copy of basic_ranges. * modules/thai/thai.c: Fix various warnings. * configure.in Makefile.am pangoxft.pc.in pango-config.in modules/basic/Makefile.am modules/basic/basic-xft.c pango/Makefile.am pango/pangoxft-font.[ch] pango/pangoxft-fontmap.c pango/pangoxft.h pango/pangoxft-private.h: Initial support for rendering via Xft and the Xrender extension.
* delete lang engineHavoc Pennington2000-12-021-37/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-30 Havoc Pennington <hp@pobox.com> * modules/thai/thai.c: delete lang engine * modules/tamil/tamil.c: delete lang engine (tamil_engine_x_new): fix type tag for shape engine * modules/indic/myanmar.c: delete lang engine (pango_engine_x_new): fix type tag for shape engine * modules/indic/gurmukhi.c: delete lang engine (pango_indic_engine_x_new): fix type tag for shape engine * modules/indic/gujarati.c: delete lang engine (pango_indic_engine_x_new): fix type tag for shape engine * modules/indic/devanagari.c: delete lang engine (pango_indic_engine_x_new): fix type tag for shape engine * modules/indic/pango-indic-script.h (SCRIPT_ENGINE_DEFINITION): delete lang engine * modules/indic/bengali.c: delete the lang engine (pango_indic_engine_x_new): fix type tag for shape engine * modules/hangul/hangul.c: delete the lang engine (hangul_engine_x_new): fix type tag for shape engine * modules/basic/basic.c: delete the lang engine (basic_engine_x_new): fix type tag for shape engine * modules/basic/basic-win32.c: delete the lang engine (basic_engine_win32_new): this was a shape engine, use correct type tag * modules/basic/basic-ft2.c: delete the lang engine * modules/arabic/arabic.c: Delete the lang engine (arabic_engine_x_new): this is a shape engine, not a lang engine, fix type tag * pango/pango-layout.c (pango_layout_index_to_line_x): handle the fact that paragraph delimiters aren't in the layout lines (pango_layout_index_to_pos): update to handle paragraph delimiters * pango/break.c (pango_find_paragraph_boundary): New function to find paragraph boundaries * pango/pango-layout.c (get_items_log_attrs): don't separate calls to pango_break() when directional level changes * pango/pango-layout.h (struct _PangoLayoutLine): put start index of the line into the struct * pango/pango-layout.c (pango_layout_get_cursor_pos): Fixups to reflect the fact that paragraph separators are removed from the input text. * pango/pango-layout.c (can_break_at): don't special-case start of line and whitespace-following-alphabetic here, because pango_break() already handles that properly * tests/testboundaries.c, tests/Makefile.am, tests/runtests.sh: Add directory for test programs, and a script to run them all * configure.in: Create Makefile in tests * pango/break.c (pango_break): Try for a real implementation of the Unicode text boundary algorithms (pango_get_log_attrs): Allow length to be -1 * pango/pango-context.c (pango_itemize): use pango_item_new(), assert that items added to the list are sane. * pango/pango-layout.c (pango_layout_check_lines): Reimplement to honor the paragraph boundaries from pango_break() * pango/pango-layout.c (process_item): use pango_item_split() here * pango/pango-item.c (pango_item_split): New function to split an item into two items
* Fix warnings - mostly include string.h for strcmp.Elliot Lee2000-11-211-0/+1
| | | | Fix warnings - mostly include string.h for strcmp.
* Remove checks for iconv - we now depend on g_iconv wrapper defined inOwen Taylor2000-11-121-15/+13
| | | | | | | | | | | | | Sun Nov 12 18:36:38 2000 Owen Taylor <otaylor@redhat.com> * configure.in (included_modules): Remove checks for iconv - we now depend on g_iconv wrapper defined in GLib. * modules/basic/basic.c: Use g_iconv_* not iconv(). * pango/itemize.c pango/pango-context.c modules/thai/thai.c: Remove spurious iconv.h includes.
* Include a stripped-down version of fribidi to avoid the extra dependency.Owen Taylor2000-11-121-3/+3
| | | | | | | | | | | | | | | | | | | | Sun Nov 12 16:07:06 2000 Owen Taylor <otaylor@redhat.com> * configure.in pango/pango-utils.[ch] pango/Makefile.am pango/mini-fribidi/*: Include a stripped-down version of fribidi to avoid the extra dependency. No fribidi symbols are exported so conflicts with the real fribidi should not happen. Library can optionally be compiled with the real libfribidi. * pango/pango-utils.[ch]: Wrappers for fribidi_ functions when compiling with fribiid. * modules/basic/basic-ft2.c modules/basic/basic-win32.c modules/basic/basic.c modules/thai/thai.c pango/Makefile.am pango/itemize.c pango/pango-context.c pango/pangoft2.c pango/pangowin32.c pango/pangox.c: Use pango_ versions of fribidi functions.
* Remove tests for libunicodeOwen Taylor2000-06-211-22/+12
| | | | | | | | | | | | 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.
* s/pango_font_set_data/g_object_set_qdata/Owen Taylor2000-05-281-3/+5
| | | | | | | | | | | 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.
* use size_t for arguments to iconv, not int. Fixes 64 bit platforms.Matt Wilson2000-05-241-4/+4
| | | | | | | | | 2000-05-24 Matt Wilson <msw@redhat.com> * 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
* When handling overstrikes, try to guess a bit better how overstrike glyphsOwen Taylor2000-05-071-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ZWS to hacky break algorithm.Owen Taylor2000-05-051-116/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix handling of positions at character limits.Owen Taylor2000-04-041-2/+11
| | | | | | | | | | Mon Apr 3 20:30:20 2000 Owen Taylor <otaylor@redhat.com> * pango/mapping.c (pango_glyph_string_x_to_index): Fix handling of positions at character limits. * modules/basic/basic.c (basic_engine_shape): Fix bug that was causing mirrored characters not to mirror.
* Use "UTF-8" with the dash as the charset name for utf-8. (Change suggestedOwen Taylor2000-03-301-1/+1
| | | | | | | | | | | Thu Mar 30 16:49:06 2000 Owen Taylor <otaylor@redhat.com> * 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 <havill@turbolinux.co.jp>) * pango/pango-layout.[ch]: Add function to get logical attributes of the text string.
* Convert log_clusters[] use from char offsets to byte offset - should makeOwen Taylor2000-03-071-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 a call to get a glyph for unknown an unknown char.Owen Taylor2000-02-021-42/+3
| | | | | | | | | | | | | | | 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.
* Conditionally define G_N_ELEMENTS() when using glib-1.3.Owen Taylor2000-02-011-52/+95
| | | | | | | | | | | | | | | | | | Wed Feb 2 11:12:12 2000 Owen Taylor <otaylor@redhat.com> * 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.
* back away from the strict charset model to having subfonts arbitrarilyOwen Taylor2000-01-171-27/+48
| | | | | | | | | | | | | Mon Jan 17 18:29:39 2000 Owen Taylor <otaylor@redhat.com> * 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)
* Switch GlyphStrings to have a single array of PangoGlyphInfo instead ofOwen Taylor2000-01-171-31/+21
| | | | | | | | | | | 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.