summaryrefslogtreecommitdiff
path: root/modules/basic
Commit message (Collapse)AuthorAgeFilesLines
* Have basic-win32.c instead of basic-win32.lo depend on usp10.h so thingsTor Lillqvist2006-08-271-1/+1
| | | | | | | | 2006-08-28 Tor Lillqvist <tml@novell.com> * modules/basic/Makefile.am: Have basic-win32.c instead of basic-win32.lo depend on usp10.h so things work out also in case the basic-win32 module is compiled in.
* Remove redundant positioning block!Behdad Esfahbod2006-08-161-17/+0
| | | | | | | 2006-08-16 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c (fallback_shape): Remove redundant positioning block!
* Use analysis->gravity to detect vertical fonts, instead of poking into theBehdad Esfahbod2006-08-151-7/+14
| | | | | | | 2006-08-15 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c (basic_engine_shape): Use analysis->gravity to detect vertical fonts, instead of poking into the font_pattern.
* Always use fallback shaping for vertical fonts.Behdad Esfahbod2006-08-151-0/+12
| | | | | | | | | | 2006-08-15 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c (basic_engine_shape): Always use fallback shaping for vertical fonts. * pango/pango-context.c (get_shaper_and_font): Always use basic shaper for vertical items (east/west gravity).
* Add Cuneiform and Phoenician in the list of supported scripts by thisBehdad Esfahbod2006-07-251-0/+4
| | | | | | | | | | | 2006-07-25 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c: Add Cuneiform and Phoenician in the list of supported scripts by this backend. Phoenician is a simple RTL script. * pango/pango-script.c (pango_script_get_sample_language): Add language code "nqo" for script N'Ko.
* Bug 337924 – cleanups for issues reported by various compilers PatchBehdad Esfahbod2006-04-112-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* pango/pangowin32-private.h (PING) pango/pangowin32.c Use g_print() insteadTor Lillqvist2006-02-281-46/+46
| | | | | | | | | | 2006-02-28 Tor Lillqvist <tml@novell.com> * pango/pangowin32-private.h (PING) * pango/pangowin32.c * modules/basic/basic-win32.c: Use g_print() instead of printf() for debugging output, to enable easy redirection using GLib facilities. (#332855)
* Bug 331723 – shapers should not crash on failuresBehdad Esfahbod2006-02-211-1/+2
| | | | | | | | | | | | 2006-02-21 Behdad Esfahbod <behdad@gnome.org> Bug 331723 – shapers should not crash on failures * modules/*/*-fc.c: Return instead of g_return_if_fail when face == NULL. * pango/pango-engine.h (PangoEngineShape): Document that a shaper should return an empty glyph string on failure.
* Pass 1.6 and gnu options to automake.Behdad Esfahbod2006-02-131-26/+1
| | | | | | | | | | | | | 2006-02-13 Behdad Esfahbod <behdad@gnome.org> * configure.in: Pass 1.6 and gnu options to automake. * modules/Makefile.am: Distribute Module.mk. * modules/Module.mk: Common bits for writing module Makefil.am's. * modules/*/Makefile.am: Include Module.mk instead of copying common bits.
* Bug 314548 – pango_shape() is missing const correctness Patch fromBehdad Esfahbod2006-02-092-3/+3
| | | | | | | | | | | | | | | | | | 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-053-7/+7
| | | | | | | | | | | | | | | | | | | | | | | 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-034-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-024-10/+10
| | | | | | | | | | | | | | | | | | | | | | | 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)
* If locking font face failed, do not assert, just return zero glyphs withBehdad Esfahbod2006-01-291-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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...
* If major.minor of required and available glib versions are the same, addBehdad Esfahbod2006-01-251-1/+0
| | | | | | | | | 2006-01-25 Behdad Esfahbod <behdad@gnome.org> * configure.in: If major.minor of required and available glib versions are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617) * */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
* Set cluster only on base chars, like the Arabic module does.Behdad Esfahbod2006-01-231-2/+3
| | | | | | | | | | 2006-01-23 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c: Set cluster only on base chars, like the Arabic module does. * modules/indic/indic-fc.c: Draw an unknown glyph on missing glyphs, like other modules do. (part of bug #326960, LingNing Zhang)
* Fixes bug #71414, allowing to disable building/installing modules.Behdad Esfahbod2006-01-161-1/+10
| | | | | | | | | | 2006-01-16 Behdad Esfahbod <behdad@gnome.org> Fixes bug #71414, allowing to disable building/installing modules. * configure.in: Add support for --with-dynamic-modules. * */Makefile.am: Adapt to the above change.
* Make sure #include <config.h> is the first include in the file. (bugBehdad Esfahbod2006-01-144-1/+4
| | | | | | | 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)
* modules/arabic/arabic-fc.c, modules/basic/basic-fc.c,Behdad Esfahbod2005-12-261-9/+16
| | | | | | | | | | 2005-12-26 Behdad Esfahbod <behdad@gnome.org> * modules/arabic/arabic-fc.c, * modules/basic/basic-fc.c, * modules/hebrew/hebrew-fc.c, * modules/syriac/syriac-fc.c: Use pango_is_zero_width() to not draw zero-width characters in the OpenType shapers. (Fixes bug #324621)
* Return NULL, not FALSE!Behdad Esfahbod2005-12-041-1/+1
| | | | | | | | | 2005-12-04 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c: Return NULL, not FALSE! * modules/arabic-arabic-fc.c: Add 'cswh' (swash) OpenType feature, as per the Arabic OpenType spec.
* Forgot to add thisAnders Carlsson2005-11-251-0/+234
|
* Reworked basic shaper with OpenType support. (#101079, based on patch fromBehdad Esfahbod2005-11-231-41/+222
| | | | | | | | | | | | | | | | | 2005-11-23 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c: Reworked basic shaper with OpenType support. (#101079, based on patch from Denis Jacquerye and Noah Levitt) * modules/basic/basic-fc.c (basic_scripts): Added Unicode 4.1 addition script PANGO_SCRIPT_GLAGOLITIC that is a "simple" script. * modules/arabic/arabic-fc.c, modules/syriac/syriac-fc.c: Replace g_utf8_to_ucs4_fast() with g_utf8_strlen()! * pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_add_feature): Remove reference in docs to pango_ot_ruleset_shape() that was removed long ago.
* Add checks for ATSUI.Anders Carlsson2005-11-221-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-11-21 Anders Carlsson <andersca@imendio.com> * configure.in: Add checks for ATSUI. * examples/Makefile.am: Only build pango-cairoview if freetype is detected. * modules/basic/Makefile.am: Add basic ATSUI module. * pango/Makefile.am: Add ATSUI files for cairo backend. * pango/pangocairo-fontmap.c: (pango_cairo_font_map_new): Support creating ATSUI font maps here. * pango/pangoatsui-fontmap.c: * pango/pangoatsui-private.h: * pango/pangoatsui.c: * pango/pangoatsui.h: * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.c: * pango/pangocairo-atsuifont.h: * pango/pangocairo-atsuifontmap.c: Add.
* 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.
* Drop unused font_cache variable and the call toTor Lillqvist2005-09-131-5/+0
| | | | | | | | | | 2005-09-13 Tor Lillqvist <tml@novell.com> * modules/basic/basic-win32.c: Drop unused font_cache variable and the call to pango_win32_font_map_for_display() used in its initialization, which caused an extra instance of PangoWin32FontMap to be created, and fonts enumerated an extra time.
* New function added.Behdad Esfahbod2005-07-234-21/+3
| | | | | | | | | | | | | | 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)
* Use -export-symbols-regex to control symbol exports, including notOwen Taylor2005-07-221-7/+3
| | | | | | | | | | | | | | | | | 2005-07-22 Owen Taylor <otaylor@redhat.com> * pango/Makefile.a configure.in: Use -export-symbols-regex to control symbol exports, including not exporting the symbols from opentype/. * modules/*/Makefile.am: Control symbol exports here as well, simplify using AC_SUBST() of MODULE_LIBTOOL_OPTIONS from configure.in. * pango/pangox-fontmap.c (engine_shape_covers): Cut-and-paste engine_shape_covers to avoid using a symbol from libpango. * pango/pango-utils.c: Make accidentally exported pango_aliases_ht static.
* Fix up places where there is missing or incomplete Copyright and LicenseOwen Taylor2005-07-211-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-07-21 Owen Taylor <otaylor@redhat.com> Fix up places where there is missing or incomplete Copyright and License information (Reported by William N. Ray) * pango/opentype/fterrcompat.h: Mark as FreeType/GPL licensed. * pango/opentype/FT-license.txt: Make this the dual-licensing description that covers the FreeType code (FreeType's LICENSE.TXT) rather than the FTL. * pango/opentype/FTL.TXT: Move the FTL (referenced from FT-license.txt) to here. * modules/basic/basic-common.h modules/hebrew/hebrew-shaper.h modules/thai/thai-charprop.c modules/thai/thai-shaper.h tools/gen-script-for-lang.c tests/testcolor.c: Add LGPL header and copyright information. * modules/indic/indic-ot.[ch] modules/indic/indic-ot-class-tables.c modules/thai/thai-ot.[ch]: Add LGPL header. * modules/thai/thai-shaper.c modules/thai/thai-charprop.h: Minor fixes to copyright information. * modules/arabic/arabic-ot.c: Add Freetype license boilerplate.
* pango/pangocairo-render.c (pango_cairo_renderer_draw_glyphs): Handle glyphOwen Taylor2005-05-161-1/+2
| | | | | | | | | | | 2005-05-16 Owen Taylor <otaylor@redhat.com> * pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_glyph_extents): pango/pangocairo-render.c (pango_cairo_renderer_draw_glyphs): Handle glyph == 0. * modules/indic/indic-ot.h modules/basic/basic-common.h: Treat LINE SEPARATOR as a zero-width character.
* Correct parameters passed to MultiByteToWideChar(). Pass -1 as sourceTor Lillqvist2005-04-281-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-04-28 Tor Lillqvist <tml@novell.com> * pango/pangocairo-win32font.c (pango_cairo_win32_font_get_font_face): Correct parameters passed to MultiByteToWideChar(). Pass -1 as source string length so that the target string gets zero-terminated. Size of target array is in number of WCHARs, not number of bytes. Add support to pangowin32 for TrueType fonts with coverage outside the BMP. Fix handling of surrogate pairs in the Uniscribe shaper. (#302238) * pango/pangowin32-private.h (PangoWin32Face): Rename the unicode_table field to cmap. Keep track of its format (4 or 12). (format_12_cmap): Add struct for a format 12 cmap. * pango/pangowin32.c: Corresponding changes. Rename internal functions a bit. (get_format_12_cmap): New function, reads a format 12 cmap. (font_get_cmap): Look for both format 12 (which is preferred) and format 4 cmaps. (pango_win32_font_get_glyph_index, pango_win32_font_calc_coverage): Handle also format 12 cmaps. * modules/basic/basic-win32.c: Handle surrogate pairs in wchar_t strings properly. (unichar_index): New function. Given a wchar_t string and an index into it, calculate the index of the corresponding Unicode character. Each surrogate pair in the wchar_t is just one Unicode character. (set_up_pango_log_clusters, itemize_shape_and_place): Use unichar_index() instead of direct index into wchar_t string.
* Update to new Cairo font API.Owen Taylor2005-04-071-1/+1
| | | | | | | | | | | 2005-04-07 Owen Taylor <otaylor@redhat.com> * pango/pangocairo-fcfont.c pango/pangocairo-win32font.c pango/pangocairo-render.c: Update to new Cairo font API. * pangpopangowin32.h pango/pangowin32-private.h pango/pangowin32.c pango/pangocairo-win32font.c modules/basic/basic-win32.c: Rename get_scale_factor() to get_metrics_factor() to match Cairo
* Leave out some languages that don't have any own digits.Tor Lillqvist2005-03-201-25/+18
| | | | | | | | | | | | | 2005-03-20 Tor Lillqvist <tml@novell.com> * modules/basic/basic-win32.c (make_langid): Leave out some languages that don't have any own digits. (itemize_shape_and_place): Force fRTL for each item returned from ScriptItemize() to the bidi embedding parity for the whole run. Pango passes us a run that it correctly has analyzed should be of a certain direction, but ScriptItemize() still might split it into items, some of which have neutral direction. (#170931) (text_is_simple): Use g_utf8_to_utf16().
* PangoCairoFontMap for win32 fonts.Owen Taylor2005-02-241-34/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-02-24 Owen Taylor <otaylor@redhat.com> * pango/pangocairo-win32.h pango/pangocairo-win32font.c pango/pangocairo-win32fontmap.c pango/Makefile.am: PangoCairoFontMap for win32 fonts. * pango/pangocairo-fontmap.c: Use PangoCairoWin32FontMap when available. * pango/pangowin32.h pango/pangowin32-fontmap.h pango/pangowin32.c: Add virtual pango_win32_font_select_font() to prepare a DC for use with a PangoWin32Font, and to release, pango_win32_font_scale_font() to get logical unit => Pango units scale, pango_win32_font_done_font() to release resources. * pango/pangowin32-fontmap.[ch]: Add a find_font() virtual method to allow subclasses that change how PangoFont lookup and creation happens. * pango/pangowin32-fontmap.c: Move initialization into pango_win32_font_map_init() to facilitate derivation. * pango/pangowin2.c pango/pangowin32-fontmap.c pango/pangowin32-private.h: Move PangoWin32Font/PangoWin32FontMap definitions into pangowin32-private.h to allow derivation for PangoCairoWin32Font. * modules/basic/basic-win32.c: Use pango_win32_font_select_font() and friends. * modules/basic/basic-win32.c: Use g_utf8_to_utf16 instead of g_convert for simplicity and speed. * pango/fonts.c (pango_font_get_font_map) pango/pango-font.h pango/pangofc-font.c pango/pangowin32.c pango/pango.c pango/pango.def docs/pango-sections.txt: Add a virtual function to get the fontmap for a font. * pango/pangocairo-render.c: Use pango_font_get_font_map() rather than PangoFcFontMap hack. * pango/pango-types.h: Move the declaration of PangoFontMap here to avoid interactions between pango-font.h and pango-fontmap.h. * pango/pangocairo.h: Remove accidental include of pangofc-fontmap.h.
* Don't use -p option to cp, can cause "failed to preserve ownership"Tor Lillqvist2005-01-251-1/+1
| | | | | | | | | | 2005-01-25 Tor Lillqvist <tml@novell.com> * modules/basic/Makefile.am (usp10.h): Don't use -p option to cp, can cause "failed to preserve ownership" errors. * modules/*/Makefile.am (INCLUDES): Remove extraneous slash that confuse gcc on Win32.
* Remove an extraneous / that was confusing gcc on Win32.Owen Taylor2005-01-111-1/+1
| | | | | | | 2005-01-11 Owen Taylor <otaylor@redhat.com> * modules/basic/Makefile.am (INCLUDES): Remove an extraneous / that was confusing gcc on Win32.
* Emergency fix for #151068... if uniscribe shaping comes up with no glyphs,Owen Taylor2004-12-161-1/+1
| | | | | | | | Wed Dec 15 23:13:57 2004 Owen Taylor <otaylor@redhat.com> * modules/basic/basic-win32.c (uniscribe_shape): Emergency fix for #151068... if uniscribe shaping comes up with no glyphs, fall back to non-uniscribe shaping.
* Set G_LOG_DOMAIN.Owen Taylor2004-11-221-6/+7
| | | | | | | Mon Nov 22 18:30:14 2004 Owen Taylor <otaylor@redhat.com> * pango/opentype/Makefile.am pango/Makefile.am modules/*/Makefile.am: Set G_LOG_DOMAIN.
* Add the new pango_renderer_* symbols.Tor Lillqvist2004-09-251-11/+0
| | | | | | | | | | | 2004-09-25 Tor Lillqvist <tml@iki.fi> * pango/pango.def: Add the new pango_renderer_* symbols. * modules/basic/basic-win32.c (basic_engine_covers, basic_engine_win32_class_init): Remove the implementation of the covers method. It was wrong anyway, and unnecessary. No need to override the default implementation. (#152997)
* updatedHans Breuer2004-08-061-0/+11
| | | | | | | | | | | | | | | | | | | 2004-08-06 Hans Breuer <hans@breuer.org> * pango/pango.def pango/pangoft2.def pango/pangowin32.def pango/makefile.msc : updated * pango/pangofc-decoder.c : static the pango_fc_decoder_*init implementations * pango/pangowin32.c : remove the duplicated, empty implementation of pango_win32_font_init(), also replace parent_class variable with pango_win32_font_parent_class as defined by G_DEFINE_TYPE * modules/basic/basic-win32.c : implement basic_engine_covers * pango/testfonts.c : iterate three common font names as was intended orginally and said in the comment for years
* #143556, Noah MischOwen Taylor2004-06-211-1/+1
| | | | | | | | | | | | | | | Mon Jun 21 16:02:04 2004 Owen Taylor <otaylor@redhat.com> #143556, Noah Misch * pango/Makefile.am: Add $(no_undefined) when building libpangox, libpangoxft for cygwin builds. * modules/basic/Makefile.am (pango_basic_x_la_LDFLAGS): Add $(no_undefined) for basic-x module. * pango/Makefile.am: Add $(GLIB_LIBS) for pangox, pangoxft, for benefit of cygwin, AIX, etc.
* use uniscribe_scripts instead of uniscribe_ranges (does show only withHans Breuer2004-02-281-2/+2
| | | | | | | | 2004-02-28 Hans Breuer <hans@breuer.org> * pango/modules/basic/basic-win32.c : use uniscribe_scripts instead of uniscribe_ranges (does show only with HAVE_USP10_H, which I don't) patch from J. Ali Harlow <ali@juiblex.co.uk>, fixes bug #135504
* moved pango_fc_* to the latter where they live on *nix too.Hans Breuer2003-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 2003-12-13 Hans Breuer <hans@breuer.org> * pango/pango.def pangoft2.def : moved pango_fc_* to the latter where they live on *nix too. * pango/makefile.msc : make it build again (including the Ft2 backend) * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined include the basic backend shaper * pango/pangowin32.c (pango_win32_render_layout) : initialize iter before first usage to avoid immediate crashing * pango/opentype/makefile.msc pango/modules/makefile.msc : finally build with mscv, too. [completely untested cause I'm not able to type, write or read any of these languages] * modules/modules.def : follow module function renaming/changes * modules/basic/basic-win32.c : register the right engine, i.e. make it compile
* Simplify.Tor Lillqvist2003-12-081-38/+32
| | | | | | | | | | | 2003-12-08 Tor Lillqvist <tml@iki.fi> * modules/basic/basic-win32.c (convert_log_clusters_to_byte_offsets): Simplify. (itemize_shape_and_place): Fix problem with RTL scripts: If ScriptItemize() returns several items, must handle them in reverse order. (#128812, reported by Shoshannah Forbes)
* Modules now declare a list of scripts that they cover instead of a list ofOwen Taylor2003-09-233-144/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* New function. Uses the Uniscribe ScriptIsSimple() function to check ifTor Lillqvist2003-08-071-7/+50
| | | | | | | | | | | | | | | 2003-08-05 Tor Lillqvist <tml@iki.fi> * modules/basic/basic-win32.c (text_is_simple): New function. Uses the Uniscribe ScriptIsSimple() function to check if Uniscribe shaping is needed for a piece of text. (basic_engine_shape): Use it, to avoid calling Uniscribe to shape non-complex text. Produces dramatic speedup according to tests by Hans Breuer. (init_uniscribe): No need for the PANGO_WIN32_NO_UNISCRIBE environment variable any longer.
* Make PangoEngine{,Lang,Shape} GObjects, and use a GTypeModule-basedOwen Taylor2003-08-033-95/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make pangoxft depend on pangoft2.Owen Taylor2003-08-032-36/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Sat Aug 2 14:33:28 2003 Owen Taylor <otaylor@redhat.com> * pango/Makefile.am (libpangoxft_1_0_la_LIBADD): Make pangoxft depend on pangoft2. * pango/pangofc-fontmap.[ch]: Make pangofc-fontmap.cI into a real base class. * pango/pangofc-font.[ch]: Move some of the pangoxft/ pangoft2 implementation here. * pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoft2-private.h pango/pangoxft-font.c pango/pangoxft2-fontmap.c pango/pangoxft-private.h: Adapt to the new scheme * modules/*/Makefile.am Modules/*/*/*-fc.c: Don't build separate FT2 and Xft shapers, just build one Fc shaper. * docs/pango-sections.txt docs/pango-docs.sgml docs/tmpl/pangofc-font{,map}.sgml: Basic docs for the new stuff. * configure.in: Up pango_module_version to 1.4.0.
* 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.
* Add API to kern a complete glyph string. Remove API to kern individualSoeren Sandmann2003-08-021-7/+3
| | | | | | | | | | | | | | | | | | | | | | Sat Aug 2 16:40:19 2003 Soeren Sandmann <sandmann@daimi.au.dk> Add API to kern a complete glyph string. Remove API to kern individual glyph pairs. * modules/basic/basic-fc.c (basic_engine_shape): use pango_fc_font_kern_glyphs() instead of pango_fc_font_get_kerning(). * pango/pangoft2.c (pango_ft2_font_real_kern_glyphs): add this function, remove pango_ft2_font_real_get_kerning(). * pango/pangoxft-font.c (pango_xft_font_real_kern_glyphs): add this function, remove pango_xft_font_real_get_kerning(). * pango/pangofc-font.c (pango_fc_font_kern_glyphs): new function. Remove pango_fc_font_get_kerning(). * pango/pangofc-font.h: remove pango_fc_font_get_kerning(), add pango_fc_font_kern_glyphs().
* Remove leftover FRIBIDI_LIBS reference. (Pointed out by Sven Neumann)Owen Taylor2003-07-251-1/+1
| | | | | | | Thu Jul 24 18:03:32 2003 Owen Taylor <otaylor@redhat.com> * modules/*/Makefile.am: Remove leftover FRIBIDI_LIBS reference. (Pointed out by Sven Neumann)