summaryrefslogtreecommitdiff
path: root/modules/arabic/arabic-fc.c
Commit message (Collapse)AuthorAgeFilesLines
* Bug 501938 – Arabic shaping broken with vertical layout withBehdad Esfahbod2007-12-061-1/+3
| | | | | | | | | | | | | 2007-12-05 Behdad Esfahbod <behdad@gnome.org> Bug 501938 – Arabic shaping broken with vertical layout with vertical-hint=line * modules/arabic/arabic-fc.c (arabic_engine_shape): Take gravity into equation when deciding whether to shape visually or logically. svn path=/trunk/; revision=2516
* Bug 150883 – Unicode LRO defectBehdad Esfahbod2007-07-241-2/+3
| | | | | | | | | | | | | | | 2007-07-24 Behdad Esfahbod <behdad@gnome.org> Bug 150883 – Unicode LRO defect * modules/arabic/arabic-fc.c (arabic_engine_shape): * modules/arabic/arabic-ot.c (Get_Joining_Class), (Arabic_Assign_Properties): * modules/arabic/arabic-ot.h: Correctly handle Arabic shaping in left-to-right runs. svn path=/trunk/; revision=2378
* Update copyright headers.Behdad Esfahbod2007-07-201-3/+5
| | | | | | | | | | | | | | 2007-07-21 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: * modules/thai/thai-fc.c: Update copyright headers. svn path=/trunk/; revision=2372
* Rename pango_ot_ruleset_get_for() toBehdad Esfahbod2007-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-03 Behdad Esfahbod <behdad@gnome.org> * docs/pango-sections.txt: * docs/tmpl/opentype.sgml: * modules/arabic/arabic-fc.c (arabic_engine_shape): * modules/basic/basic-fc.c (basic_engine_shape): * modules/hebrew/hebrew-fc.c (hebrew_engine_shape): * modules/indic/indic-fc.c (indic_engine_shape): * modules/khmer/khmer-fc.c (khmer_engine_shape): * modules/syriac/syriac-fc.c (syriac_engine_shape): * modules/thai/thai-fc.c (thai_engine_shape): * modules/tibetan/tibetan-fc.c (tibetan_engine_shape): * pango/pango-ot-ruleset.c (pango_ot_ruleset_get_for_description), (pango_ot_ruleset_new_from_description): * pango/pango-ot.h: * pango/pangoft2.def: Rename pango_ot_ruleset_get_for() to pango_ot_ruleset_get_for_description(). New engine API: pango_ot_ruleset_new_from_description(). svn path=/trunk/; revision=2328
* Move ruleset creation after populating buffer.Behdad Esfahbod2007-05-151-14/+14
| | | | | | | | | | | | 2007-05-15 Behdad Esfahbod <behdad@gnome.org> * modules/arabic/arabic-fc.c (arabic_engine_shape): * modules/basic/basic-fc.c (basic_engine_shape): * modules/syriac/syriac-fc.c (syriac_engine_shape): Move ruleset creation after populating buffer. svn path=/trunk/; revision=2303
* Bug 436699 – N'Ko support Patch by Eugeniy MeshcheryakovBehdad Esfahbod2007-05-151-0/+1
| | | | | | | | | | | | | | 2007-05-15 Behdad Esfahbod <behdad@gnome.org> Bug 436699 – N'Ko support Patch by Eugeniy Meshcheryakov * modules/arabic/arabic-fc.c (create): * modules/arabic/arabic-ot.c (Get_Joining_Class): Add N'Ko support to the Arabic module. svn path=/trunk/; revision=2301
* Part of Bug 325714 – Pango should respect $LANGUAGE Bug 414264 – PangoBehdad Esfahbod2007-05-141-233/+60
| | | | | | | | | | | | | | | | | | | | | | | | | 2007-05-14 Behdad Esfahbod <behdad@gnome.org> Part of Bug 325714 – Pango should respect $LANGUAGE Bug 414264 – Pango vertical writing support is different with real CJK usage. * modules/arabic/arabic-fc.c (arabic_engine_shape): * modules/basic/basic-fc.c (basic_engine_shape): * modules/syriac/syriac-fc.c (syriac_engine_shape): Remove fallback_shape() paths. Remove get_ruleset(). Use pango_ot_ruleset_get_for(), that correctly works for multiple languages. Also makes basic shaper apply the 'vert' feature for vertical text. Removes a net 500 lines. Other OpenType modules need to be ported over time, however some extensions may be needed. For example, the Hebrew shaper uses fallback code if no GPOS tables are available. Currently using pango_ot_ruleset_get_for() one cannot see which features were found. svn path=/trunk/; revision=2292
* Use PANGO_OT_DEFAULT_LANGUAGE and PANGO_OT_ALL_GLYPHS instead of hardcodedBehdad Esfahbod2007-05-101-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | 2007-05-10 Behdad Esfahbod <behdad@gnome.org> * modules/arabic/arabic-fc.c (maybe_add_gsub_feature), (maybe_add_gpos_feature), (get_ruleset): * modules/basic/basic-fc.c (get_ruleset): * modules/hebrew/hebrew-fc.c (maybe_add_gsub_feature), (maybe_add_gpos_feature), (get_ruleset): * modules/indic/indic-fc.c (maybe_add_GSUB_feature), (maybe_add_GPOS_feature): * modules/khmer/khmer-fc.c (maybe_add_GSUB_feature), (maybe_add_GPOS_feature): * modules/syriac/syriac-fc.c (maybe_add_gsub_feature), (maybe_add_gpos_feature), (get_ruleset): * modules/thai/thai-ot.c (maybe_add_gsub_feature), (maybe_add_gpos_feature), (thai_ot_get_ruleset), (lao_ot_get_ruleset): * modules/tibetan/tibetan-fc.c (maybe_add_GSUB_feature), (maybe_add_GPOS_feature): Use PANGO_OT_DEFAULT_LANGUAGE and PANGO_OT_ALL_GLYPHS instead of hardcoded 0xFFFF. svn path=/trunk/; revision=2282
* *.c, *.h: Drop trailing whitespace.Behdad Esfahbod2007-01-161-26/+26
| | | | | | | | | 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-7/+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 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.
* Bug 314548 – pango_shape() is missing const correctness Patch fromBehdad Esfahbod2006-02-091-2/+2
| | | | | | | | | | | | | | | | | | 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-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 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/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-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)
* modules/arabic/arabic-fc.c, modules/basic/basic-fc.c,Behdad Esfahbod2005-12-261-1/+1
| | | | | | | | | | 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-0/+10
| | | | | | | | | 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.
* Reworked basic shaper with OpenType support. (#101079, based on patch fromBehdad Esfahbod2005-11-231-5/+3
| | | | | | | | | | | | | | | | | 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.
* 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)
* Fix bug where cluster was getting set to 0 for non-spacing marks ratherOwen Taylor2004-08-101-1/+1
| | | | | | | | | Tue Aug 10 11:51:10 2004 Owen Taylor <otaylor@redhat.com> * modules/arabic/arabic-fc.c (arabic_engine_shape): Fix bug where cluster was getting set to 0 for non-spacing marks rather than to the cluster of the base character. (#149126, Behdad Esfahbod)
* Don't substitute FARSI YEH with ARABIC YEH if the font does not have anyBehdad Esfahbod2004-07-271-2/+3
| | | | | * modules/arabic/arabic-fc.c: Don't substitute FARSI YEH with ARABIC YEH if the font does not have any ARABIC YEH.
* #143693, Sayamindu DasguptaOwen Taylor2004-06-231-0/+1
| | | | | | | | | | | | | Wed Jun 23 16:13:53 2004 Owen Taylor <otaylor@redhat.com> #143693, Sayamindu Dasgupta * pango/opentype/pango-ot-buffer.c (pango_ot_buffer_set_zero_width_marks) pango/opentype/pango-ot-private.h: Allow setting for whether marks should be given zero width, defaulting to FALSE. * modules/arabic/arabic-fc.c (arabic_engine_shape): Turn on zero-width-marks setting.
* === Released 1.3.5 ===PANGO_1_3_5Owen Taylor2004-03-021-7/+5
| | | | | | | | | | | | | | Mon Mar 1 19:24:09 2004 Owen Taylor <otaylor@redhat.com> * === Released 1.3.5 === * configure.in: Version 1.3.5 (1.3.4 skipped), interface age 0. * NEWS: Update * modules/arabic/arabic-fc.c (arabic_engine_shape): Fix a crash from left-over handling of clusters for non-spacing marks.
* Rework opentype interfaces and other changes to make GPOS work for Arabic.Owen Taylor2004-02-291-90/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sun Feb 29 09:25:13 2004 Owen Taylor <otaylor@redhat.com> Rework opentype interfaces and other changes to make GPOS work for Arabic. (Most of #117282, #121060) * pango/opentype/otlbuffer.[ch]: OTL_Buffer that acts as a replacement for the separate GSUB and GPOS string structures and hides many of the internal details. * pango/opentype/ftxgsub.[ch] pango/opentype/ftxgpos.[ch]: Adapt to OTL_Buffer. * pango/opentype/ftxgpos.c: Redo handling of cursive chains so that it actually works. * pango/pango-ot.h pango/opentype/pango-ot-buffer.c: Pango wrapper around OTL_Buffer. * pango/pango-ot.h pango/pango-ot-ruleset.c pango/pango-ot-buffer.c: Split pango_ot_ruleset_shape() into pango_ot_ruleset_substitute(), pango_ot_ruleset_position(), make them act on PangoOTBuffer, add a separate pango_ot_buffer_output() which does the default positioning and writes to a PangoGlyphString. * modules/arabic/arabic-fc.c modules/indic/indic-fc.c modules/indic/mprefixups.[ch]: Adapt to new OpenType interfaces; add GPOS features for Arabic. * pango/opentype/pango-ot-info.c: Don't derive class information from Unicode properties for Arabic presentation forms, let the shaping process derive the properties.
* Modules now declare a list of scripts that they cover instead of a list ofOwen Taylor2003-09-231-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-29/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-031-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Switch over the way that module entry points work, taking advantage of theOwen Taylor2003-04-141-32/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 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.
* Patch from Nils Nordman to add various missing 'static' (#90353)Owen Taylor2002-08-201-1/+1
| | | | | | | | | | Tue Aug 20 15:06:50 2002 Owen Taylor <otaylor@redhat.com> * modules/arabic/arabic-xft.c modules/arabic/arabic-ft2.c modules/basic/tables-big.i modules/basic/tables-small.i modules/hebrew/hebrew-ft2.c modules/hebrew/hebrew-xft.c: Patch from Nils Nordman to add various missing 'static' (#90353)
* on Jun 3 18:56:09 2002 Owen Taylor <otaylor@redhat.com>Owen Taylor2002-06-041-19/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xft2 and fontconfig conversion, based largely on a patch from Keith Packard. * configure.in acconfig.h: Add checks for fontconfig, switch Xft checks to switch for Xft2 using pkg-config. * pangoxft.pc.in pangoxft.pc.in modules/{arabic,basic,hebrew,indic,tamil}/Makefile.am pango/Makefile.am: Reflect new Xft/fontconfig dependencies. * pango/pangoxft-private.h pango/pangoxft-fontmap.c modules/arabic/arabic-xft.c modules/indic/indic-xft.c: Switch over to using Xft2 and fontconfig. * pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoft2-private.h pango/pango/Makefile.am: Remove usage of mini-xft in favor of fontconfig. * pango/pango-ot.h pango/opentype/pango-ot-info.c pango/pangoxft.h modules/arabic/arabic-{xft,ft2}.c modules/indic/indic-xft.c: Attach OpenType information directly to the FT_Face structure using FT_Generic. * modules/tamil/Makefile.am modules/tamil/tamil-xft.c configure.in: Remove this module, no longer needed. * pango/pangoxft-font.c (pango_xft_real_render): Coalesce calls to Xft rendering functions.
* Add a new PangoLanguage type to represent language tags; these canOwen Taylor2001-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Adopt to new prototype for g_utf8_to_ucs4 (etc.).Owen Taylor2001-01-051-1/+1
| | | | | | | Fri Jan 5 16:12:37 2001 Owen Taylor <otaylor@redhat.com> * modules/arabic/{arabic-xft,arabic}.c pango/{pango-context.c,pangoft.c,pangox.c}: Adopt to new prototype for g_utf8_to_ucs4 (etc.).
* 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]
* Update the default list of included modules forAlexander Larsson2001-01-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-03 Alexander Larsson <alexl@redhat.com> * configure.in: Update the default list of included modules for --with-included-modules=yes to include all new modules. Split INCLUDED_MODULES and module-defs.c into per shaper engine type lists. * modules/arabic/Makefile.am: Build libpango-arabic-xft.la if INCLUDE_ARABIC_XFT. * modules/arabic/arabic-xft.c: Change module prefix to _pango_arabic_xft_ * modules/basic/Makefile.am: Build static libs for all included modules. * modules/basic/basic-ft2.c: Change module prefix to _pango_basic_ft2_ * modules/basic/basic-xft.c: Change module prefix to _pango_basic_xft_ * pango/Makefile.am: Include correct module-defs-XXX in libs. * pango/modules.h: Split _pango_included_modules[] into separate lists. * pango/pangox.c: * pango/pangoft2.c: * pango/pangoxft-fontmap.c: Register built in modules.
* Add opentype/.Owen Taylor2000-12-211-0/+1
| | | | | | | | | | | | | | | | Wed Dec 20 19:53:09 2000 Owen Taylor <otaylor@redhat.com> * docs/Makefile.am (IGNORE_HFILES): Add opentype/. * modules/{basic/basic,arabic/arabic}-xft.c: Include pango-engine.h. * pango/pangoxft.h: Don't include pango.h to avoid getting pango-enum-types.h. * pango/Makefile.am (pangoinclude_HEADERS): Move XFT_HFILES out of pango_headers, since mkenums.pl shouldn't be run on it.
* Since Xft may only be available statically without shlib deps, check forOwen Taylor2000-12-201-0/+358
Tue Dec 19 22:47:16 2000 Owen Taylor <otaylor@redhat.com> * configure.in pango-config.in pangoxft.pc.in modules/basic/Makefile.am: Since Xft may only be available statically without shlib deps, check for FreeType libs explicitly and include them when linking, otherwise things won't work. Also, define FREETYPE_CFLAGS from freetype-config --cflags. * modules/basic/basic-xft.c pango/pangoxft-font{,map}.c: Fool Xft into not converting glyph indices by loading the face unencoded then calling FT_Set_Charmap ourselves. * pango/Makefile.am pango/pango-ot.h pango/opentype/* :Add start of opentype handling - most of the actually meat of the code here is the OpenType layout code from FreeType 1 ported to freetype2 and adapted slighlty for our purposes. Also, includes a incomplete OpenType-table-dumping code useful for figuring out what is going on. * pango/pangoxft.h pango/pangoxft-font.h: Add calls for getting FT_Face and PangoOTInfo from PangoXftFont. * modules/arabic/{Makefile.am,arabic-ot.[ch],arabic-xft.c}: Initial support for rendering Arabic with OpenType fonts.