summaryrefslogtreecommitdiff
path: root/pango/pango-ot.h
Commit message (Collapse)AuthorAgeFilesLines
* docs: Replace lots of vestigial xml markupMatthias Clasen2021-03-111-4/+4
| | | | | We want to use pure markdown, since docbook is going away as the intermediate format.
* Use the appropriate namespace for Pango sub-librariesEmmanuele Bassi2020-06-101-1/+22
| | | | | | | | | | | | | | | | | | | | The Pango sub-libraries have symbols in the pango_<something> namespace, but the identifiers are in the Pango one, which makes consumers of the introspection data either get something like: PangoCairo.show_layout() with a bunch of warnings caused by the type macros not following the appropriate pattern, or: PangoCairo.cairo_show_layout() which breaks introspection ABI. We can use the __GI_SCANNER__ pre-processor symbol to trick the scanner into generating the appropriate representation of the API, while keeping the C consumers happy with the existing—albeit wildly inconsistent with best practices for GObject-based libraries—symbols.
* Add missing GType for PangoOT deprecated typesEmmanuele Bassi2020-06-081-0/+10
| | | | | This way consumers of the deprecated API can get appropriate memory management for a couple of boxed types.
* Add freetype includes where they belongMatthias Clasen2019-07-121-0/+3
| | | | | Include freetype.h in headers where freetype types are used.
* Header cleanupMatthias Clasen2019-07-041-2/+2
| | | | | | | Abolish the PANGO_ENABLE_BACKEND and PANGO_ENABLE_ENGINE defines. All backend-only apis are moved into private headers, all apis that were engine-only are marked as deprecated, since engines are.
* Decorate the symbols in the headers with version macrosChun-wei Fan2016-06-291-33/+35
| | | | | | | From the last commit, decorate all the symbols with the version macros. Also add the version macros in the docs. https://bugzilla.gnome.org/show_bug.cgi?id=767587
* Add many missing nullability annotations.Evan Nemerson2014-10-161-5/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=731022
* Bug 685167 - migrate docs to no-tmpl flavourBehdad Esfahbod2013-09-271-0/+149
| | | | Patch from Rafał Mużyło.
* Deprecate pango-ot.hBehdad Esfahbod2012-08-231-0/+45
| | | | | | Still needs document Deprecated tags to be done. Soon to add pango-hb.h
* [OT] Match struct with HB'sBehdad Esfahbod2009-08-011-2/+3
|
* [HB] More buffer cleanupBehdad Esfahbod2009-05-251-1/+1
|
* Red Hat Bug 426178: gtkdoc-scan fails on pangoBehdad Esfahbod2007-12-201-0/+11
| | | | | | | | | | | | | | | | | | | | | | | 2007-12-19 Behdad Esfahbod <behdad@gnome.org> Red Hat Bug 426178: gtkdoc-scan fails on pango * docs/pango-sections.txt: * pango/pango-ot-private.h: * pango/pango-ot.h: Make the following symbols available to engines: PANGO_IS_OT_INFO PANGO_IS_OT_RULESET PANGO_OT_INFO PANGO_OT_RULESET PANGO_TYPE_OT_INFO PANGO_TYPE_OT_RULESET pango_ot_info_get_type pango_ot_ruleset_get_type svn path=/trunk/; revision=2528
* Add G_GNUC_CONST and G_GNUC_PURE annotations.Behdad Esfahbod2007-06-121-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-11 Behdad Esfahbod <behdad@gnome.org> * pango/pango-attributes.h: * pango/pango-font.h: * pango/pango-glyph.h: * pango/pango-gravity.h: * pango/pango-language.h: * pango/pango-layout.h: * pango/pango-matrix.h: * pango/pango-ot-private.h: * pango/pango-ot.h: * pango/pango-renderer.h: * pango/pango-script.h: * pango/pango-tabs.h: * pango/pango-utils.h: * pango/pangoatsui-private.h: * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.h: * pango/pangocairo-fc.h: * pango/pangocairo-private.h: * pango/pangocairo-win32.h: * pango/pangocairo.h: * pango/pangofc-decoder.h: * pango/pangofc-font.h: * pango/pangofc-fontmap.h: * pango/pangoft2-private.h: * pango/pangoft2.h: * pango/pangowin32-private.h: * pango/pangox-private.h: * pango/pangoxft-render.h: * pango/pangoxft.h: Add G_GNUC_CONST and G_GNUC_PURE annotations. svn path=/trunk/; revision=2345
* New engine public macros:Behdad Esfahbod2007-06-121-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-11 Behdad Esfahbod <behdad@gnome.org> * pango/pango-ot.h: New engine public macros: PANGO_OT_TAG_MAKE() PANGO_OT_TAG_MAKE_FROM_STRING() * docs/pango-sections.txt: * docs/tmpl/opentype.sgml: Update. 2007-06-11 Behdad Esfahbod <behdad@gnome.org> Bug 446018 – Bus error in the pango_ot_tag_from_language() * pango/pango-ot-tag.c (pango_ot_tag_from_script), (pango_ot_tag_to_script), (pango_ot_tag_from_language), (pango_ot_tag_to_language): Make sure int access is aligned. svn path=/trunk/; revision=2344
* Rename pango_ot_ruleset_get_for() toBehdad Esfahbod2007-06-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add new engine API:Behdad Esfahbod2007-05-161-0/+3
| | | | | | | | | | | | | | | | | | | | 2007-05-15 Behdad Esfahbod <behdad@gnome.org> * pango/pango-ot.h: * pango/pango-ot-private.h: * pango/pango-ot-ruleset.c (pango_ot_ruleset_add_feature), (pango_ot_ruleset_get_feature_count): Add new engine API: pango_ot_ruleset_get_feature_count() * docs/pango-sections.txt: * docs/tmpl/opentype.sgml: * pango/pangoft2.def: Updated. svn path=/trunk/; revision=2304
* Part of Bug 325714 – Pango should respect $LANGUAGEBehdad Esfahbod2007-05-141-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-05-14 Behdad Esfahbod <behdad@gnome.org> Part of Bug 325714 – Pango should respect $LANGUAGE * pango/pango-ot.h: * pango/pango-ot-ruleset.c (pango_ot_ruleset_get_for), (pango_ot_ruleset_description_hash), (pango_ot_ruleset_description_equal), (pango_ot_ruleset_description_copy), (pango_ot_ruleset_description_free): Add new engine API: PangoOTRulesetDescription pango_ot_ruleset_get_for() pango_ot_ruleset_description_hash() pango_ot_ruleset_description_equal() pango_ot_ruleset_description_copy() pango_ot_ruleset_description_free() The main addition is pango_ot_ruleset_get_for() that takes a ruleset description, ie. script/language and list of GSUB/GPOS features to apply, and returns a ruleset. It manages all the work to cache rulesets, so modules don't have to do that anymore. Given that modules do not deal with just one ruleset anymore (because we want to respect language, and allow user-selected features), this makes their life way easier. * docs/pango-sections.txt: * docs/tmpl/opentype.sgml: Update. svn path=/trunk/; revision=2290
* Mark some arguments const.Behdad Esfahbod2007-05-141-9/+9
| | | | | | | | | | | | | | 2007-05-14 Behdad Esfahbod <behdad@gnome.org> * pango/pango-ot-buffer.c (pango_ot_buffer_get_glyphs), (pango_ot_buffer_output): * pango/pango-ot-ruleset.c (pango_ot_ruleset_substitute), (pango_ot_ruleset_position): * pango/pango-ot.h: Mark some arguments const. svn path=/trunk/; revision=2288
* Part of Bug 325714 – Pango should respect $LANGUAGEBehdad Esfahbod2007-05-141-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-05-13 Behdad Esfahbod <behdad@gnome.org> Part of Bug 325714 – Pango should respect $LANGUAGE * pango/pango-ot.h: * pango/pango-ot-private.h: * pango/pango-ot-tag.c (pango_ot_tag_from_script), (pango_ot_tag_from_language): * pango/pango-ot-info.c (pango_ot_info_find_script), (pango_ot_info_find_language), (pango_ot_info_find_feature), (pango_ot_info_list_languages), (pango_ot_info_list_features): * pango/pango-ot-ruleset.c (pango_ot_ruleset_new), (pango_ot_ruleset_new_for), (pango_ot_ruleset_add_feature), (pango_ot_ruleset_maybe_add_feature), (pango_ot_ruleset_maybe_add_features): Add new engine API: PANGO_OT_NO_FEATURE PANGO_OT_NO_SCRIPT PANGO_OT_TAG_DEFAULT_SCRIPT PANGO_OT_TAG_DEFAULT_LANGUAGE pango_ot_ruleset_new_for() pango_ot_ruleset_maybe_add_feature() pango_ot_ruleset_maybe_add_features() Using pango_ot_ruleset_new_for() and pango_ot_ruleset_maybe_add_features() drastically simplifies ruleset building in modules, and does correct script and language selection too. Modules need to be updated to use it though. * docs/pango-docs.sgml: * docs/pango-sections.txt: * docs/tmpl/opentype.sgml: Update. svn path=/trunk/; revision=2284
* New public API:Behdad Esfahbod2007-05-101-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-05-10 Behdad Esfahbod <behdad@gnome.org> * pango/Makefile.am: * pango/pango-ot.h: * pango/pango-ot-tag.c (pango_ot_tag_from_script), (pango_ot_tag_to_script), (lang_compare_first_component), (pango_ot_tag_from_language), (pango_ot_tag_to_language): New public API: PANGO_OT_DEFAULT_SCRIPT pango_ot_tag_from_script() pango_ot_tag_to_script() pango_ot_tag_from_language() pango_ot_tag_to_language() * tests/Makefile.am: * tests/test-ot-tags.c: Test case for new functions. * pango/pangoft2.def: * docs/pango-docs.sgml: * docs/pango-sections.txt: * docs/tmpl/main.sgml: * docs/tmpl/opentype.sgml: Updated. svn path=/trunk/; revision=2274
* *.c, *.h: Drop trailing whitespace.Behdad Esfahbod2007-01-161-1/+1
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Drop trailing whitespace. svn path=/trunk/; revision=2163
* Convert pango/opentype to the new project called HarfBuzz.Behdad Esfahbod2006-03-311-1/+5
| | | | | | | | | | 2006-03-31 Behdad Esfahbod <behdad@gnome.org> Convert pango/opentype to the new project called HarfBuzz. * pango/opentype/*: Restructured. * pango/pango-ot-*: Updated to use HarfBuzz symbol names.
* Document PangoOTBuffer and PangoOTGlyph.Behdad Esfahbod2006-01-281-1/+1
| | | | | | | | | 2006-01-28 Behdad Esfahbod <behdad@gnome.org> * doc/tmpl/opentype.sgml: Document PangoOTBuffer and PangoOTGlyph. * pango/pango-ot-buffer.c, pango/pango-ot-info.c, pango/pango-ot-ruleset.c: Document remaining symbols.
* Removed.Behdad Esfahbod2006-01-281-1/+1
| | | | | | | | | | 2006-01-28 Behdad Esfahbod <behdad@gnome.org> * pango/opentype/pango-ot-*: Removed. * pango/pango-ot-*: Added. * pango/Makefile.am, pango/opentype/Makefile.am: Adjusted.
* Sync with change to OTL_GlyphItemRec.Owen Taylor2004-08-161-0/+1
| | | | | | | | | Mon Aug 16 13:42:38 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-ot.h (struct _PangoOTGlyph): Sync with change to OTL_GlyphItemRec. (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=129982, Jatin Nansi)
* Add declaration for pango_ot_buffer_set_rtl.Manish Singh2004-07-091-0/+2
| | | | | | Fri Jul 9 15:23:39 2004 Manish Singh <yosh@gimp.org> * pango/pango-ot.h: Add declaration for pango_ot_buffer_set_rtl.
* #143693, Sayamindu DasguptaOwen Taylor2004-06-231-2/+3
| | | | | | | | | | | | | 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.
* Rework opentype interfaces and other changes to make GPOS work for Arabic.Owen Taylor2004-02-291-5/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Switch over to recommended Freetype system of include ft2build.h thenOwen Taylor2003-11-011-1/+2
| | | | | | | | | | | | | | Sat Nov 1 09:32:15 2003 Owen Taylor <otaylor@redhat.com> * pango/pango-ot.h pango/pangofc-font.h modules/indic/indic-ot.h pango/pangoft2.c pango/opentype/pango-ot-info.c pango/opentype/pango-ot-ruleset.c pango/opentype/ottest.c pango/opentype/ftxopen.[ch] pango/opentype/ftxgdef.c pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c: Switch over to recommended Freetype system of include ft2build.h then #include FT_FREETYPE_H. Fixes ftmodule.h problem with current Freetype CVS. (#125548)
* on Jun 3 18:56:09 2002 Owen Taylor <otaylor@redhat.com>Owen Taylor2002-06-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Remove declarations of unimplemented functionsMatthias Clasen2001-10-301-41/+0
| | | | | | | | | | * docs/pango-sections.txt, pango/pango-ot.h: Remove declarations of unimplemented functions pango_ot_ruleset_set_glyph_loader and pango_ot_ruleset_set_alternate_func and the related typedefs PangoOTGlyphLoader and PangoOTAlternateFunc. * pango/opentype/pango-ot-info.c, pango/opentype/pango-ot-ruleset.c: Documentation updates.
* Up to 0.19.Owen Taylor2001-09-181-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Since Xft may only be available statically without shlib deps, check forOwen Taylor2000-12-201-0/+130
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.