summaryrefslogtreecommitdiff
path: root/pango/pangoft2-private.h
Commit message (Collapse)AuthorAgeFilesLines
* Header cleanupMatthias Clasen2019-07-041-1/+1
| | | | | | | 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.
* Remove declarations for non-existing functionsKhaled Hosny2017-12-011-13/+0
|
* Drop unused _pango_ft2_ft_strerrorKhaled Hosny2017-12-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This function is unused since 2004! Last use was dropped in commit 2cdd74591a2b885dbc31292d20dabba81d42faf0. Currently it is just causing compiler warnings: [40/111] Compiling C object 'pango/pangoft2-1.0@sha/pangoft2.c.o'. /usr/include/freetype2/freetype/fterrdef.h: In function ‘_pango_ft2_ft_strerror’: /usr/include/freetype2/freetype/fterrdef.h:235:17: warning: initializer-string for array of chars is too long "found FDEF or IDEF opcode in glyf bytecode" ) ^ ../pango/pangoft2.c:537:38: note: in definition of macro ‘FT_ERRORDEF’ #define FT_ERRORDEF( e, v, s ) { e, s }, ^ /usr/include/freetype2/freetype/fterrdef.h:234:3: note: in expansion of macro ‘FT_ERRORDEF_’ FT_ERRORDEF_( DEF_In_Glyf_Bytecode, 0x9C, ^~~~~~~~~~~~ /usr/include/freetype2/freetype/fterrdef.h:235:17: note: (near initialization for ‘ft_errors[75].msg’) "found FDEF or IDEF opcode in glyf bytecode" ) ^ ../pango/pangoft2.c:537:38: note: in definition of macro ‘FT_ERRORDEF’ #define FT_ERRORDEF( e, v, s ) { e, s }, ^ /usr/include/freetype2/freetype/fterrdef.h:234:3: note: in expansion of macro ‘FT_ERRORDEF_’ FT_ERRORDEF_( DEF_In_Glyf_Bytecode, 0x9C, ^~~~~~~~~~~~
* Decorate the symbols in the headers with version macrosChun-wei Fan2016-06-291-0/+2
| | | | | | | 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
* Bug 478914 – Use something invalid instead of '?' when validating inputBehdad Esfahbod2007-12-101-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-12-10 Behdad Esfahbod <behdad@gnome.org> Bug 478914 – Use something invalid instead of '?' when validating input text * pango/pango-layout.c (pango_layout_set_text): Set invalid input bytes to -1, which gives a unichar value of -1, and eventually a glyph value of -1, aka PANGO_GLYPH_INVALID_INPUT. * pango/fonts.c (pango_font_get_glyph_extents), (pango_font_get_metrics), (pango_font_get_font_map): * pango/modules.c (build_map): * pango/pango-context.c (get_script), (get_shaper_and_font), (string_from_script), (itemize_state_process_run): * pango/pango-coverage.c (pango_coverage_get): * pango/pango-impl-utils.h: * pango/pango-utils.c: * pango/pangocairo-font.c (pango_cairo_font_get_scaled_font), (_pango_cairo_font_private_get_hex_box_info), (_pango_cairo_font_private_get_glyph_extents_missing): * pango/pangocairo-private.h: * pango/pangocairo-render.c (_pango_cairo_renderer_draw_frame), (_pango_cairo_renderer_draw_box_glyph), (_pango_cairo_renderer_draw_unknown_glyph): * pango/pangofc-fontmap.c (pango_fc_font_map_get_patterns): * pango/pangoft2-private.h: * pango/pangoft2-render.c (pango_ft2_font_render_box_glyph), (pango_ft2_font_render_glyph), (pango_ft2_renderer_draw_glyph): * pango/pangoft2.c (pango_ft2_font_get_face), (pango_ft2_font_get_glyph_extents): * pango/pangox.c (pango_x_find_subfont), (pango_x_render): * pango/pangoxft-font.c (_pango_xft_font_get_mini_font), (get_glyph_extents_missing), (pango_xft_font_get_font): * pango/pangoxft-private.h: * pango/pangoxft-render.c (get_total_matrix), (draw_box), (_pango_xft_renderer_draw_box_glyph), (_pango_xft_renderer_draw_unknown_glyph), (pango_xft_renderer_draw_glyphs): * pango/shape.c (pango_shape): Render PANGO_GLYPH_INVALID_INPUT to a single-width box with a cross inside. Also cleanup spewed warnings and warn at the source, where we fail to find a shaper, instead of at every location that we see a NULL font. * pango/pango-font.h: * docs/pango-sections.txt: * docs/tmpl/glyphs.sgml: New public macro: PANGO_GLYPH_INVALID_INPUT svn path=/trunk/; revision=2519
* Add G_GNUC_CONST and G_GNUC_PURE annotations.Behdad Esfahbod2007-06-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* *.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
* Bug 384543 – FcFontMatch misuseBehdad Esfahbod2006-12-241-0/+3
| | | | | | | | | | | | | | | | | 2006-12-23 Behdad Esfahbod <behdad@gnome.org> Bug 384543 – FcFontMatch misuse * pango/pangofc-fontmap.c (pango_fc_face_describe): Call FcConfigSubstitute and FcDefaultSubstitute before calling FcFontMatch. * pango/pangoft2.c (load_fallback_face): Call _pango_ft2_font_map_default_substitute(). * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_context_substitute): Handle the case of context == NULL.
* Make #include syntax in sources and headers more consistent. We are usingBehdad Esfahbod2006-03-311-2/+2
| | | | | | | | | 2006-03-30 Behdad Esfahbod <behdad@gnome.org> * pango/*.[ch]: Make #include syntax in sources and headers more consistent. We are using the "..." syntax for all Pango headers in source files, and <...> syntax in all header files, except for including private headers, that we use "...".
* Finish the 'glyph 0' work of this morning: PANGO_GLYPH_NULL that IBehdad Esfahbod2006-02-031-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add checks for CairoOwen Taylor2005-01-091-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sat Jan 8 16:46:37 2005 Owen Taylor <otaylor@redhat.com> * configure.in: Add checks for Cairo * pango/Makefile.am: Add libpangocairo. * pango/pangocairo-font.c pango/pangocairo-fontmap.c pango/pangocairo.h pango/pangocairo-private.h pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap.c pango/pangocairo-fc.h: Start of a Cairo/FreeType backend. * pango/pangofc-fontmap.[ch]: Add a "get_render_key" virtual function to allow subclasses to specialize the details of how caching works. Add a default implementation that's a little more sophisticated than what was there before. * pango/pangoft2-private.h pangofc-font.c pangoft2.c: Move default implementations of has_char(), get_glyph() to the base class. * pango/pangofc-private.h pango/pangoft2-private.h: Move PANGO_UNITS_26_6 and friends to pango/pangofc-private.h. * examples/renderdemo.[ch] examples/pangoft2topgm.c examples/xftview.c: Allow passing in a custom function to transform drawing. * examples/Makefile.am examples/cairoview.c: Add a Cairo/Xlib example program. * examples/cairosimple.c: Simple Cairo example with output to a PNG. * pango/pango-layout.c (pango_layout_line_get_extents): Fix bug where line ink rect was always including 0, 0.
* Up version to 1.7.0.Owen Taylor2004-09-241-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fri Sep 24 12:59:22 2004 Owen Taylor <otaylor@redhat.com> * configure.in: Up version to 1.7.0. * pango/pango-renderer.[ch] pango/pango.h pango/Makefile.am: Add PangoRenderer, a base class that is subclassed to produce rendering drivers for different backends and purposes. * pango/pangoft2-private.h pango/pangoft2-render.c pango/pangoft2.c: Move rendering into pangoft2-render.c, use PangoRenderer. * pango/pangoft2-fontmap.c pango/pangoft2-private.h: Add _pango_ft2_font_map_get_renderer() to retrieve a singleton fontmap for the fontmap. * pango/pangoxft-render.[ch] pango/pangoxft.c pango/Makefile.am: Make Xft rendering use PangoRenderer, add publically visible, subclassable PangoXftRenderer. * pango/pangoxft-fontmap.c pango/pangoxft-private.h: Add _pango_xft_font_map_get_renderer() to retrieve a singleton fontmap for the fontmap. * examples/xftview.c examples/Makefile.am: Add a test program using the Xft backend. * docs/*: Update minimally for PangoRenderer.
* Add _pango prefix for _pango_ft2_font_get_cache_glyph_data and friendsOwen Taylor2004-07-101-7/+7
| | | | | | | | Sat Jul 10 17:45:05 2004 Owen Taylor <otaylor@redhat.com> * pango/pangoft2-private.h: Add _pango prefix for _pango_ft2_font_get_cache_glyph_data and friends defined only in private header file.
* Make PangoMatrix arguments const where appropriate.Owen Taylor2004-07-101-12/+18
| | | | | | | | | | | | | | | | | Sat Jul 10 17:33:38 2004 Owen Taylor <otaylor@redhat.com> * pango/pangoft2-private.h pango/pangoft2-render.c pango/pango-context.[ch] pango/pangoft2.[ch] pango/pango-utils. pango/pango-types.h pango/pangofc-fontmap.c: Make PangoMatrix arguments const where appropriate. * pango/pango-context.c pango/fonts.c pango/pangofc-font.c pangofc-fontmap.c pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoxft-font.c pango/pangoxft-fontmap.c pango/pangowin32-fontmap.c: Use G_DEFINE_TYPE comprehensively. * pango/pangoft2-private.h pangoft2.c: Un-staticify pango_ft2_font_get_type.
* Add PangoMatrix type for affine transforms.Owen Taylor2004-05-281-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | Fri May 28 11:39:39 2004 Owen Taylor <otaylor@redhat.com> * pango/pango-types.h pango/pango-utils.c: Add PangoMatrix type for affine transforms. * configure.in pango.pc.in pango/Makefile.am: Add a -lm dependency for PangoMatrix operations. * pango/pango-context.[ch]: Add pango_context_set/get_matrix(). * pango/pangoft2-render.c pango/pangoft2-private.h: Add code for drawing antialiased transformed rectangles and squiggly error underlines. * pango/pangoft2.[ch]: Add pango_ft2_render_transformed(), pango_ft2_render_layout_subpixel(), pango_ft2_render_layout_line_subpixel(), implement transformed rendering. * pango/pangofc-font.c: Pass any transformation matrix on to fontconfig when creating the pattern for a PangoFcFont.
* #include <fontconfig/fcfreetype.h> for FreeTypeCharIndex().Manish Singh2003-11-201-0/+1
| | | | | | | 2003-11-20 Manish Singh <yosh@gimp.org> * pango/pangoft2-private.h: #include <fontconfig/fcfreetype.h> for FreeTypeCharIndex().
* Make pangoxft depend on pangoft2.Owen Taylor2003-08-031-16/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix some stupid type registration/ class size problems from last commit.Owen Taylor2003-04-151-1/+1
| | | | | | | Tue Apr 15 00:07:21 2003 Owen Taylor <otaylor@redhat.com> * pango/pangoft2.[ch]: Fix some stupid type registration/ class size problems from last commit.
* Add an --enable-debug configure argument defaulting to 'yes' for unstableOwen Taylor2003-02-171-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Mon Feb 17 13:06:39 2003 Owen Taylor <otaylor@redhat.com> * configure.in **/Makefile.am: Add an --enable-debug configure argument defaulting to 'yes' for unstable releases and 'minimum' for stable releases. For minimum, -DG_DISABLE_CAST_CHECKS. * pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c pango/pangoxft-fontmap.c: Add caching of fontsets (#104495, initial patch and review by Soeren Sandmann) * pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c pango/pangoxft-fontmap.c pango/pangoft2-private.h pango/pangoxft-private.h: Remove cache of recently freed fonts; not necessary now that we cache fontsets. * pango/pangofc-fontmap.cI (pango_fc_pattern_set_free): Rename from pango_fc_font_set_free to reflect what it actually does. * pango/pangofc-fontmap.cI pango/pangoft-fontmap.c pango/pangoxft-fontmap.c: Combine clear-the-cache functions; we didn't need separate clear-the-font-cache and clear-the-pattern-cache functions.
* Move the common code between PangoXftFontmap and PangoFT2Fontmap into aOwen Taylor2002-08-161-16/+1
| | | | | | | | | | | | | Fri Aug 16 17:49:38 2002 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.cI pango/pangoxft-fontmap.c pango/pangoft2-fontmap.c pango/pangoxft-private.h pango/pangoft2-private.h pango/pangoxft-font.c pango/pangoft2.h: Move the common code between PangoXftFontmap and PangoFT2Fontmap into a new file that is included from both with appropriate #defines. This provides most of the recent Xft backend improvements for the FT2 backend as well.
* Be more robust when trying to set the unicode character map on the font.Owen Taylor2002-07-031-0/+1
| | | | | | | | | | | Wed Jul 3 18:39:45 2002 Owen Taylor <otaylor@redhat.com> * pango/pangoft2.c pango/pangoxft-font.c: Be more robust when trying to set the unicode character map on the font. * pango/pangoft2.c pango/pangoft2-private.h: Obey FC_HINTING, FC_AUTOHINT.
* New function to allow tweaking of FcPattern default substitution (forOwen Taylor2002-07-031-2/+0
| | | | | | | | | | | | | | | | | Mon Jul 1 19:45:10 2002 Owen Taylor <otaylor@redhat.com> * pango/pangoxft-fontmap.c (pango_xft_set_default_substitute): New function to allow tweaking of FcPattern default substitution (for XSETTINGS support.) * pango/pangoft2-fontmap.c pango/pangoft2.[ch] pango/pangoft2-private.h: Rationalize DPI and context creation by adding: pango_ft2_font_map_new() pango_ft2_font_map_set_resolution() pango_ft2_font_map_set_default_substitute() pango_ft2_font_map_create_context()
* on Jun 3 18:56:09 2002 Owen Taylor <otaylor@redhat.com>Owen Taylor2002-06-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* pango/pangoft2-private.h calculate average_char_width andSven Neumann2002-03-261-0/+2
| | | | | | | | | | | | | 2002-03-26 Sven Neumann <sven@gimp.org> * pango/pangoft2-private.h * pango/pangoft2.c (pango_ft2_font_get_metrics): calculate average_char_width and average_digit_width by measuring sample layouts and cache font metrics per language just like PangoX does, #53425. * pango/pangoxft-font.c * pango/pangoxft-private.h: the same approach for average_char_width and average_digit_width as in PangoFT2, #53425.
* Add glyph_cache_destroy to PangoFont. This is slightly ugly, we shouldAlexander Larsson2002-01-181-0/+12
| | | | | | | | | | | | | | | | | | | | | 2002-01-18 Alexander Larsson <alla@lysator.liu.se> * pango/pangoft2-private.h: Add glyph_cache_destroy to PangoFont. This is slightly ugly, we should perhaps have it in the FontMap, but it was easy. Added cached_glyph to PangoFT2GlyphInfo. This can be used by apps that want to have a glyph cache. Only one user per PangoContext though. Right now it is only internally accessible. Added pango_ft2_font_get_cache_glyph_data(), pango_ft2_font_set_cache_glyph_data() and pango_ft2_font_set_glyph_cache_destroy() to access this functionallity * pango/pangoft2.c: Implement glyph caching for pango_ft2_render_layout(). Unbounded caching right now. We should probably limit this in order to not use a lot of memory if the user displayed a lot of glyphs once, and then doesn't use them anymore.
* pango/pangoft2-private.h Take extra parameter include_size that determinesAlex Larsson2001-11-271-1/+2
| | | | | | | | | | | | | | | | | | 2001-11-27 Alex Larsson <alexl@redhat.com> * pango/pangoft2-private.h * pango/pangoft2-fontmap.c (_pango_ft2_font_desc_from_pattern): Take extra parameter include_size that determines if the descriptor includes the size. * pango/pangoft2.c (_pango_ft2_font_new): Include size in ft2font->description. * pango/pangoxft-private.h * pango/pangoxft-fontmap.c (_pango_xft_font_desc_from_pattern): Take extra parameter include_size that determines if the descriptor includes the size. * pango/pangoxft-font.c: Include size in xfont->description.
* Check for LEX and YACC. This will be made optional later, with the buildAlexander Larsson2001-11-181-44/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-11-17 Alexander Larsson <alla@lysator.liu.se> * configure.in: Check for LEX and YACC. This will be made optional later, with the build sources checked in to cvs. Generate pango/mini-xft/Makefile * modules/basic/basic-ft2.c: Use the new pangoft2 API. * pango/Makefile.am: Build mini-xft. Add new files. * pango/pango-context.[ch]: Support only one fontmap per context. Use pango_font_map_load_fontset() and PangoFontset instead of internal fontset. * pango/pango-fontmap.[ch]: New virtual function pango_font_map_load_fontset() and default implementation that uses pango_font_map_load_font(). * pango/pango-utils.[ch] (pango_lookup_aliases): Utility function for looking up aliases. This can be used by backend that has no backend specific aliases. * pango/pangoft2-fontcache.c: Removed file. * pango/pangoft2-fontmap.c: * pango/pangoft2-private.h: * pango/pangoft2.c: * pango/pangoft2.h: Major rewrite. Doesn't handle fontsets. Uses mini-xft so that it will always match the PangoXft backend. Simplified the public API. * pango/pangowin32.c: * pango/pangox.c: pango_context_add_font_map -> pango_context_set_font_map * pango/pangoxft-font.c: * pango/pangoxft-fontmap.c: * pango/pangoxft-private.h: New code to handle fontsets. * pango/mini-xft/*: Mini version of libXft from XFree86 in order to have the pangoFT2 and pangXft backends have same config files and generate the same fonts.
* Include parent_instance structures.Owen Taylor2001-09-181-0/+2
| | | | | | | | | | Tue Sep 18 17:29:20 2001 Owen Taylor <otaylor@redhat.com> * pango/pangoft2-fontmap.c pango/pangoft2-private.h: Include parent_instance structures. * pango/fonts.c (pango_font_family_get_type): Pass in right class structure.
* Up to 0.19.Owen Taylor2001-09-181-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tue Sep 18 15:47:08 2001 Owen Taylor <otaylor@redhat.com> * configure.in (PANGO_MINOR_VERSION): Up to 0.19. * pango/pango-font.h pango/pango-fontmap.[ch] pango/fonts.c pango/pangoxft-fontmap.c pango/pangoft-fontmap.c pango/pango-context.[ch] pango/pangox-fontmap.c: Add new PangoFontFace and PangoFontFamily object types, and change the font listing API to list faces and families, instead of face names and font descriptions. * pango/pango-font.h pango/fonts.c: Make PangoFontDescription an opaque heap-allocated structure, add accessors and convenience functions. * pango/pango-font.h pango/pango-private.h: Make PangoFontMetrics heap allocated, protect the structure definition with #ifdef PANGO_ENABLE_BACKEND, and add getters for the fields. * pango/pango-attributes.[ch] ( pango_attr_iterator_get_font): instead of providing a base font description and one to fill in, provide a single font description to modify based on the attributes. * pango/pango-attributes.[ch]: Fix PangoAttrFontDesc to have a PangoFontDescription by reference, not by value. * pango/pango-utils.[ch]: make pango_parse_style() and friends take pointers to individual enumerations instead of to a PangoFontDescription structure. * pango/*.c: Fix for the PangoFontDescription and PangoFontMetrics changes. * pango/pango-{break,engine,indic,ot,xft}.h pango/Makefile.am pango/opentype/Makefile.am: Protect portions with PANGO_ENABLE_ENGINE to shrink the public API. * modules/*/Makefile.am: -DPANGO_ENABLE_ENGINE. * pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c: Move pango_x_font_get_unknown_glyph() into public header since it is used from modules. * pango/pango-{context,font,fontmap,modules.utils}.h pango/Makefile.am: Protect portions with PANGO_ENABLE_BACKEND to shrink the public API. * pango/*.h: Use G_BEGIN/END_DECLS * examples/viewer-qt.[cc,h]: Fix for changes to font listing API, PangoFontDescription. * pango/pango-indic.h modules/indic/*: Since we install this header fix it up to Pango conventions, namespece ZERO_WIDTH_JOINER, ZERO_WIDTH_NON_JOINER. * docs/pango-sections.txt: Updated.
* Add a new PangoLanguage type to represent language tags; these canOwen Taylor2001-06-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Disable debug.Alexander Larsson2000-12-221-1/+1
| | | | | | | 2000-12-22 Alexander Larsson <alla@lysator.liu.se> * pango/pangoft2-private.h: Disable debug.
* Change usage to say pango-config instead of glib-config. Add support forAlexander Larsson2000-12-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-21 Alexander Larsson <alexl@redhat.com> * pango-config.in: Change usage to say pango-config instead of glib-config. Add support for pangoft2. * modules/basic/Makefile.am: Compile and install pango-basic-ft2 if freetype was found. * modules/basic/basic-ft2.c: Remove lang engine. Make the glyph from the glyph index instead of the unicode index. The id is really BasicScriptEngineFT2. * pango/Makefile.am: Compile and install pangoft2 if freetype was found. * pango/pangoft2-fontcache.c (pango_ft2_font_cache_load): Init face->generic.data to 0, since this field will be used to cache the current size of the face. * pango/pangoft2-fontmap.c (pango_ft2_font_map_for_display): Use g_object_new instead of g_type_create_instance. (pango_ft2_font_entry_get_coverage): Use G_DIR_SEPARATOR_S instead of \\. (pango_ft2_font_entry_get_coverage): Init result to NULL. Don't write to file if open failed. * pango/pangoft2-private.h: Add PangoFT2GlyphInfo. * pango/pangoft2.c (pango_ft2_get_face): Export function, and make sure it sets the correct face size. (pango_ft2_load_font, pango_ft2_get_per_char, pango_ft2_font_get_kerning): PANGO_FT2_GLYPH_INDEX stores the glyph index, not the unicode value. (pango_ft2_font_get_glyph_extents): Cache glyph extents. (pango_ft2_has_glyph): Remove function. (pango_ft2_font_finalize): Free glyph info cache. * pango/pangoft2.h: Export pango_ft2_get_face, remove pango_ft2_has_glyph.
* New file.Tor Lillqvist2000-11-191-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-19 Tor Lillqvist <tml@iki.fi> * README.win32: New file. * pango/fonts.c (pango_font_description_to_filename): New function. As pango_font_description_to_string, but with result that is better suitable as a filename: No spaces or other strange characters, all in lowercase. (pango_font_describe): Implement this function, call the corresponding method. * pango/pango-font.h: Declare pango_font_description_to_filename. * pango/pangowin32.c (pango_win32_font_describe) * pango/pangoft2.c (pango_ft2_font_describe): Implement these. * pango/pangoft2-fontmap.c (pango_ft2_font_entry_get_coverage) * pango/pangowin32-fontmap.c (pango_win32_font_entry_get_coverage): Implement file-based persistent caching of coverages. * pango/pangoft2-private.h (struct _PangoFT2FontEntry) * pango/pangowin32-private.h (struct _PangoWin32FontEntry): Move struct definition here from the -fontmap files. * pango/pango.def: Updates.
* Define HAVE_FRIBIDI.Tor Lillqvist2000-11-141-0/+1
| | | | | | | | | | 2000-11-15 Tor Lillqvist <tml@iki.fi> * config.h.win32: Define HAVE_FRIBIDI. * pango/pango.def: Add new functions. * pango/pango{win32*,ft2*}.[ch]: Add my name to copyright notice.
* Add code to call SetTextAlign, but commented out.Tor Lillqvist2000-11-111-1/+1
| | | | | | | | | | | 2000-11-11 Tor Lillqvist <tml@iki.fi> * pango/pangowin32.c (pango_win32_render): Add code to call SetTextAlign, but commented out. * pango/makefile.mingw.in (PANGO_OBJS): Add new objects. * pango/pango.def: Add new functions.
* Get font directory path with pango_config_key_get("PangoFT2/FontPath"). IfTor Lillqvist2000-08-211-2/+2
| | | | | | | | | | | | | | | | | 2000-08-21 Tor Lillqvist <tml@iki.fi> * pango/pangoft2-fontmap.c: Get font directory path with pango_config_key_get("PangoFT2/FontPath"). If no such key exists in the pangorc file, use the ft2fonts subdirectory of LIBDIR/pango, and on Windows, also %WinDir%\fonts. * pango/{pango,pangoft2,pangowin32}.rc.in: New files (resource files used when building Win32 DLLs, contain version information). * pango/Makefile.am: Add the new files. * configure.in: Define major and minor version numbers separately. Output also the makefile.mingw and *.rc files.
* Handle also ft_pixel_mode_mono glyphs.Tor Lillqvist2000-08-201-0/+6
| | | | | | | | | | | | | | | 2000-08-21 Tor Lillqvist <tml@iki.fi> * pango/pangoft2.c (pango_ft2_render): Handle also ft_pixel_mode_mono glyphs. * pango/pangoft2*: Portability enhancements (non-gcc). * examples/viewer-{ft2,win32}.c: One more 1000 vs. PANGO_SCALE fix. * pango/module-defs.c.win32: New file. * pango/Makefile.am: Distribute it.
* Add parameter telling whether to print warning or not if string isn'tTor Lillqvist2000-08-201-0/+97
2000-08-20 Tor Lillqvist <tml@iki.fi> * pango/pango-utils.c (pango_parse_*): Add parameter telling whether to print warning or not if string isn't recognised. Use g_strncasecmp(). * pango/pango-utils.h: Change prototype accordingly. * pango/pangox-fontmap.c * pango/pangowin32-fontmap.c: Change calls correspondingly. * pango/pangowin32.h: * pango/pangowin32.c: Cosmetic changes, dead code removal. * pango/pangoft2.h * pango/pangoft2-private.h * pango/pangoft2.c * pango/pangoft2-fontmap.c * pango/pangoft2-fontcache.c: New files implementing a FreeType2 backend. Used only on Win32 so far, but doesn't contain Win32-specific code per se, so if somebody wants to try it out on X11, too, be my guest. It works, more or less, but there are some details still to sort out. Performance needs to be improved. Debugging printouts still present. Font path currently hardcoded to C:\windows\fonts, heh. Owen says he doesn't think it's a good idea to use ths on Win32, but I'll try anyway. If it turns out using the native Win32 GDI backend is better after all, oh well. * pango/makefile.mingw: Delete. Move contents to makefile.mingw.in. * pango/makefile.mingw.in: New file. Add rules for FreeType2 backend. Add FreeType2 CFLAGS and LIBS. * pango/Makefile.am: Generate makefile.mingw. (EXTRA_DIST): Add FreeType2 backend sources, and makefile.mingw{,.in} * modules/basic/basic-win32.c: Couple of cosmetic changes. * modules/basic/Makefile.am: Generate makefile.mingw. (EXTRA_DIST): Add basic-ft2.c, and makefile.mingw{,.in} * modules/basic/makefile.mingw: Delete. Move contents to makefile.mingw.in. * modules/basic/makefile.mingw.in: New file. Add rule for basic-ft2. Add FreeType2 CFLAGS and LIBS. * examples/viewer-win32.c (read_file): Fix error messages. (draw): Get HDC from GDK once for all paragraphs. * examples/viewer-ft2.c: New file. The FT_Bitmap (256-level bitmap) produced by the FreeType2 backend is copied to the GtkLayout window using gdk_draw_gray_image from GdkRGB (!). Yes, this is kinda circular dependency between Pango and GTK+. * examples/makefile.mingw: Delete. Move contents to makefile.mingw.in. * examples/makefile.mingw.in: New file. Add rules for viewer-ft2. Add FreeType2 CFLAGS and LIBS. * examples/Makefile.am: Generate makefile.mingw. (EXTRA_DIST): Add viewer-win32.c and viewer-ft2.c, and makefile.mingw{,.in}