summaryrefslogtreecommitdiff
path: root/modules/thai/thai-shaper.c
Commit message (Collapse)AuthorAgeFilesLines
* *.c, *.h: Drop trailing whitespace.Behdad Esfahbod2007-01-161-11/+11
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Drop trailing whitespace. svn path=/trunk/; revision=2163
* 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.
* If locking font face failed, do not assert, just return zero glyphs withBehdad Esfahbod2006-01-291-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+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)
* Fix up places where there is missing or incomplete Copyright and LicenseOwen Taylor2005-07-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Added more MacThai PUA glyphs that are not defined in vendor data atTheppitak Karoonboonyanan2005-03-241-2/+2
| | | | | | | | 2005-03-24 Theppitak Karoonboonyanan <thep@linux.thai.net> * modules/thai/thai-fc.c (tis620_1), modules/thai/thai-shaper.c (Mac_shape_table): Added more MacThai PUA glyphs that are not defined in vendor data at Unicode.org, but just available in actual fonts.
* Add Lao support to Thai module. (#156781)Theppitak Karoonboonyanan2004-11-281-242/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-11-28 Theppitak Karoonboonyanan <thep@linux.thai.net> Add Lao support to Thai module. (#156781) * modules/thai/Makefile.am modules/thai/thai-shaper.[ch] +modules/thai/thai-charprop.[ch]: Split WTT tables into a separate source. Extend the tables for Lao. 3 new classes are added (AM for SaraAm, AD4 for Nikkhahit, BCON for Lao semivowels). Now the range 0x00-0x7f in TIS is used to store Lao characters. Rewrite ucs2tis() et al macros accordingly. * modules/thai/thai-shaper.c (get_next_cluster): Rewrite the clusterization code, so it's not specific to Thai-English texts. (Note that the special case of SaraAm is now handled by the new WTT character class. So, the extra checks are now eliminated.) * modules/thai/thai-shaper.c (get_glyphs_list, add_cluster): Add glyph calculation for Lao clusters. * modules/thai/thai-shaper.c (ThaiShapeTable structs, get_adjusted_glyphs_list): Generalize the shaping maps according to the new 8-bit internal encoding scheme. Now the character ranges are relocatable rather than hard-coded. Add Lao shaping table. * modules/thai/thai-shaper.c (get_adjusted_glyphs_list): Add special case for Lao, where clusters can be longer than those of Thai. * modules/thai/thai-fc.c (get_glyph_index_tis): Add Lao glyphs lookup. * modules/thai/thai-ot.c (thai_ot_shape, +lao_ot_get_ruleset): Add Lao OT rulesets retrieval. * modules/thai/thai-fc.c (PangoEngineScriptInfo thai_scripts[]): Add Lao script entry.
* Explicitly handle dangling upper/lower marks by optionally usingTheppitak Karoonboonyanan2004-10-091-64/+68
| | | | | | | | | | | | | | | | | | 2004-10-09 Theppitak Karoonboonyanan <thep@linux.thai.net> Explicitly handle dangling upper/lower marks by optionally using dottedcircle as base, rather than requiring it. * modules/thai/thai-shaper.h: Explicitly declare make_glyph and get_glyph functions for 8-bit and Unicode chars as separate functions. * modules/thai/thai-shaper.c (get_adjusted_glyphs_list): Rename function calls to the new ones. Conditionally use dottedcircle glyph as base for dangling upper/lower marks if available; simply expand width to that of inkrect otherwise. * modules/thai/thai-fc.c: Implement those new functions declared in thai-shaper.h. Remove 0x25cc from tis620_2 glyph set.
* Remove unused data for XTIS.Theppitak Karoonboonyanan2004-10-071-40/+0
| | | | | | | | | | | | 2004-10-07 Theppitak Karoonboonyanan <thep@linux.thai.net> * modules/thai/thai-shaper.c (groups, group1_map, group2_map): Remove unused data for XTIS. * modules/thai/thai-shaper.[ch] (enum ThaiFontSet, get_glyphs_list), modules/thai/thai-fc.c (thai_get_font_info, thai_make_glyph): Remove THAI_FONT_ISO10646 font set, as it's already covered by THAI_FONT_TIS.
* Add OpenType support in Thai module. (#141541)Theppitak Karoonboonyanan2004-06-071-0/+2
|
* Use dottedcircle as the base for individual combining characters.Theppitak Karoonboonyanan2004-04-201-2/+2
|
* Reapply the patch from #124175 that somehow got reverted.Owen Taylor2004-02-131-16/+5
| | | | | | | Mon Jan 26 10:30:06 2004 Owen Taylor <otaylor@redhat.com> * pango/modules/thai/thai-shaper.c: Reapply the patch from #124175 that somehow got reverted.
* Suport CFF fonts as well. (#131202, Manjunath Sripadarao)Owen Taylor2004-01-261-5/+16
| | | | | | | Mon Jan 26 14:20:34 2004 Owen Taylor <otaylor@redhat.com> * pango/opentype/pango-ot-info.c (is_truetype): Suport CFF fonts as well. (#131202, Manjunath Sripadarao)
* Fix up glyph addition code so that it works properly with the typicalOwen Taylor2004-01-261-16/+5
| | | | | | | | | | | | | | Mon Jan 26 10:30:06 2004 Owen Taylor <otaylor@redhat.com> * pango/modules/thai/thai-c: Fix up glyph addition code so that it works properly with the typical TrueType fonts that have 0 width for combining characters. (#124175, Theppitak Karoonboonyanan) Fri Jan 23 16:05:31 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-markup.c (open_tag_free): Fix some more problems with NULL attribute lists.
* Modules now declare a list of scripts that they cover instead of a list ofOwen Taylor2003-09-231-37/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add HAVE_X.Tor Lillqvist2003-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 2003-05-29 Tor Lillqvist <tml@iki.fi> * acconfig.h: Add HAVE_X. * configure.in: Set HAVE_X. * modules/thai/thai-shaper.h: Don't include pangox.h unless HAVE_X. Also leave out the PangoXSubfont field unless HAVE_X. * modules/hangul/Makefile.am * modules/indic/Makefile.am * modules/thai/Makefile.am: Use -no-undefined on Windows. * modules/thai/thai-shaper.c: Include config.h for HAVE_X. * README.win32: Some minor edits. * pango/pango.def: Add pango_fc_* entries. * pango/pangoft2.def: Add some missing entries.
* Switch over the way that module entry points work, taking advantage of theOwen Taylor2003-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-59/+59
| | | | | | | | | | | | | | | | | | 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.
* Fix problem where pango_xft_get_unknown_glyph() was being used for XOwen Taylor2002-07-271-2/+1
| | | | | | | | | Sat Jul 27 09:46:51 2002 Owen Taylor <otaylor@redhat.com> * modules/thai/{thai-shaper.[ch],thai-x.c,thai-xft.c} (make_unknown_glyph): Fix problem where pango_xft_get_unknown_glyph() was being used for X fonts. (reported by Jacob Berkman)
* ri Jul 26 18:48:49 2002 Owen Taylor <otaylor@redhat.com>Owen Taylor2002-07-261-0/+720
* configure.in modules/thai/Makefile.am modules/thai/thai-shaper.[ch] modules/thai/thai-xft.c modules/thai/thai-x.c: Patch from Theppitak Karoonboonyanan that factors out common code from thai-x.c and adds a new Xft shaper for Thai. (#78346)