summaryrefslogtreecommitdiff
path: root/pango/pangowin32-fontmap.c
Commit message (Collapse)AuthorAgeFilesLines
* Oops. Fix typo in docs.PANGO_1_11_5Behdad Esfahbod2006-02-111-1/+1
|
* Rename the recently added pango_win32_pango_font_description_from_logfont()Tor Lillqvist2006-02-101-6/+6
| | | | | to pango_win32_font_description_from_logfont(). Add it to pangowin32.def and pango-sections.txt, too.
* Add Since: info to the doc comment for the function just added.Tor Lillqvist2006-02-101-0/+2
|
* Fix #135098 and #322510.Tor Lillqvist2006-02-101-97/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-02-10 Tor Lillqvist <tml@novell.com> Fix #135098 and #322510. * pango/pangowin32-fontmap.c (case_insensitive_hash) (case_insensitive_equal): New helper functions for string hashing based on ASCII case insensitivity. (logfont_nosize_hash): Use case_insensitive_hash(). (logfont_nosize_equal): Use case_insensitive_equal(). (pango_win32_font_map_init): Use the case-insensitive functions for the PangoWin32FontMap::families hash table. (pango_win32_font_map_load_font): Consequently we don't need to lowercase the name before looking up from the hash table. (get_family_name): Constify parameter. (get_family_name_lowercase): Not needed any longer. (pango_win32_pango_font_description_from_logfont): New public function. Code moved from pango_win32_insert_font(). Use family name as such, don't lowercase it. (pango_win32_insert_font): Use the above new function. Don't bother looking for superfluos copies of the font entry as that shouldn't ever happen. We have pruned out fonts that differ only in charset already earlier. * pango/pangowin32.h: Declare pango_win32_pango_font_description_from_logfont().
* Make matrix parameter const.Behdad Esfahbod2006-01-211-2/+2
| | | | | | | | | | | | | | | 2006-01-21 Behdad Esfahbod <behdad@gnome.org> * pango/pango-types.h, pango/pango-utils.h (pango_matrix_get_font_scale_factor): Make matrix parameter const. * pango/fonts.c, pango/pango-context.c, pango/pango-coverage.c, pango/pango-fontset.c, pango/pango-layout.c, pango/pango-renderer.c, pango/pango-types.h, pango/pango-utils.c, pango/pangocairo-atsuifont.c, pango/pangofc-font.c, pango/pangoft2-fontmap.c, pango/pangowin32-fontmap.c, pango/pangowin32.c, pango/pangox-fontmap.c, pango/pangoxft-font.c: Replace "Returns:" with "Return value:" in docs.
* Make sure #include <config.h> is the first include in the file. (bugBehdad Esfahbod2006-01-141-1/+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)
* pango/Makefile.am, pango/fonts.c, pango/glyphstring.c,Behdad Esfahbod2006-01-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-05 Behdad Esfahbod <behdad@gnome.org> * pango/Makefile.am, * pango/fonts.c, * pango/glyphstring.c, * pango/pango-attributes.c, * pango/pango-color.c, * pango/pango-impl-utils.h, * pango/pango-item.c, * pango/pango-layout.c, * pango/pango-tabs.c, * pango/pango-utils.c, * pango/pango-utils.h, * pango/pangoatsui-fontmap.c, * pango/pangocairo-font.c, * pango/pangocairo-fontmap.c, * pango/pangofc-fontmap.c, * pango/pangowin32-fontmap.c, * pango/pangox-fontmap.c, * pango/pangox.c, * pango/opentype/pango-ot-info.c, * pango/opentype/pango-ot-ruleset.c: Intern strings to avoid unnecessary strdups in the type system. (bug #325832, Matthias Clasen)
* Have a list of metrics by language instead of just one metrics.Tor Lillqvist2005-09-141-17/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-09-14 Tor Lillqvist <tml@novell.com> * pango/pangocairo-win32font.c (struct _PangoCairoWin32Font): Have a list of metrics by language instead of just one metrics. (pango_cairo_win32_font_get_scaled_font): Use the name cwfont instead of cffont. (free_metrics_info, pango_cairo_win32_font_finalize): Free the metrics by language list. (create_metrics_for_context): New helper function. Approximate the character and digit widths correctly. (#314114) (pango_cairo_win32_font_get_metrics): Use the list of metrics by language. Call create_metrics_for_context() to measure metrics. (_pango_cairo_win32_font_new): Keep the PangoWin32Font objects in the PangoWin32Face::cached_fonts, like the pangowin32 backend does. PangoWin32Face::cached_fonts isn't really a proper cache. It's a list with unbound length, one PangoWin32Font per size. Once there is cacheing in cairo this can be dropped presumably? What does the pangofc backend do? There are too many levels of cacheing going on: we have the stuff in pangowin32-fontcache.c (unused now with cairo), the PangoWin32FontMap::freed_fonts cache, and the PangoWin32::cached_fonts list. * pango/pangowin32-fontmap.c (pango_win32_fontmap_cache_remove, pango_win32_fontmap_cache_clear): Use GQueue API instead of manipulating pointers manually. * pango/pangowin32-private.h * pango/pangowin32.c: Move PangoWin32MetricsInfo to the private header file, as also pangocairo-win32font.c uses it.
* No need to include modules.h here any longer. (pango_win32_get_context):Tor Lillqvist2005-07-221-0/+2
| | | | | | | | | | | | | | 2005-07-22 Tor Lillqvist <tml@novell.com> * pango/pangowin32.c: No need to include modules.h here any longer. (pango_win32_get_context): Remove unused variable. (pango_win32_render_layout_line): Fix underlining. (#304692) Mention in the doc comment that the DC's text alignment needs to have TA_BASELINE and TA_LEFT for underlining to be correct. * pango/pangowin32-fontmap.c: Include modules.h here instead. (pango_win32_font_map_class_init): Define variable i.
* pango/pangowin32-fontmap.c (pango_win32_font_map_class_init) MoveOwen Taylor2005-07-211-0/+3
| | | | | | | | | 2005-07-21 Owen Taylor <otaylor@redhat.com> * pango/pangowin32-fontmap.c (pango_win32_font_map_class_init) Move registration of included modules to here from pango/pangowin32.c (pango_win32_get_context). (#309337, Hans Breuer)
* Correct parameters passed to MultiByteToWideChar(). Pass -1 as sourceTor Lillqvist2005-04-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-04-28 Tor Lillqvist <tml@novell.com> * pango/pangocairo-win32font.c (pango_cairo_win32_font_get_font_face): Correct parameters passed to MultiByteToWideChar(). Pass -1 as source string length so that the target string gets zero-terminated. Size of target array is in number of WCHARs, not number of bytes. Add support to pangowin32 for TrueType fonts with coverage outside the BMP. Fix handling of surrogate pairs in the Uniscribe shaper. (#302238) * pango/pangowin32-private.h (PangoWin32Face): Rename the unicode_table field to cmap. Keep track of its format (4 or 12). (format_12_cmap): Add struct for a format 12 cmap. * pango/pangowin32.c: Corresponding changes. Rename internal functions a bit. (get_format_12_cmap): New function, reads a format 12 cmap. (font_get_cmap): Look for both format 12 (which is preferred) and format 4 cmaps. (pango_win32_font_get_glyph_index, pango_win32_font_calc_coverage): Handle also format 12 cmaps. * modules/basic/basic-win32.c: Handle surrogate pairs in wchar_t strings properly. (unichar_index): New function. Given a wchar_t string and an index into it, calculate the index of the corresponding Unicode character. Each surrogate pair in the wchar_t is just one Unicode character. (set_up_pango_log_clusters, itemize_shape_and_place): Use unichar_index() instead of direct index into wchar_t string.
* PangoCairoFontMap for win32 fonts.Owen Taylor2005-02-241-113/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-02-24 Owen Taylor <otaylor@redhat.com> * pango/pangocairo-win32.h pango/pangocairo-win32font.c pango/pangocairo-win32fontmap.c pango/Makefile.am: PangoCairoFontMap for win32 fonts. * pango/pangocairo-fontmap.c: Use PangoCairoWin32FontMap when available. * pango/pangowin32.h pango/pangowin32-fontmap.h pango/pangowin32.c: Add virtual pango_win32_font_select_font() to prepare a DC for use with a PangoWin32Font, and to release, pango_win32_font_scale_font() to get logical unit => Pango units scale, pango_win32_font_done_font() to release resources. * pango/pangowin32-fontmap.[ch]: Add a find_font() virtual method to allow subclasses that change how PangoFont lookup and creation happens. * pango/pangowin32-fontmap.c: Move initialization into pango_win32_font_map_init() to facilitate derivation. * pango/pangowin2.c pango/pangowin32-fontmap.c pango/pangowin32-private.h: Move PangoWin32Font/PangoWin32FontMap definitions into pangowin32-private.h to allow derivation for PangoCairoWin32Font. * modules/basic/basic-win32.c: Use pango_win32_font_select_font() and friends. * modules/basic/basic-win32.c: Use g_utf8_to_utf16 instead of g_convert for simplicity and speed. * pango/fonts.c (pango_font_get_font_map) pango/pango-font.h pango/pangofc-font.c pango/pangowin32.c pango/pango.c pango/pango.def docs/pango-sections.txt: Add a virtual function to get the fontmap for a font. * pango/pangocairo-render.c: Use pango_font_get_font_map() rather than PangoFcFontMap hack. * pango/pango-types.h: Move the declaration of PangoFontMap here to avoid interactions between pango-font.h and pango-fontmap.h. * pango/pangocairo.h: Remove accidental include of pangofc-fontmap.h.
* Add pixel sizes for fonts (#119081, patch from Chris Lahey)Owen Taylor2004-12-161-0/+3
| | | | | | | | | | | | | | | | | | | | | Wed Dec 15 22:09:42 2004 Owen Taylor <otaylor@redhat.com> Add pixel sizes for fonts (#119081, patch from Chris Lahey) * pango/fonts.c pango/pango-font.h: Add pango_font_description_set_absolute_size(), pango_font_description_get_size_is_absolute() * pango/pango-attributes.[ch]: Add pango_attr_size_new_absolute(), change PANGO_ATTR_SIZE from PangoAttrInt to PangoAttrSize (preserves compat because first component is identical) * pango/pangowin32-fontmap.c (pango_win32_font_map_load_font): For absolute sizes, convert pixels to points, before calling pango_win32_font_new(). * pango/pangofc-fontmap.c pango/pangoft2.c pango/pangoxft-font.c: Handle absolute sizes.
* Ignore fonts in SYMBOL_CHARSET. They don't have any Unicode mapping table.Tor Lillqvist2004-09-151-0/+8
| | | | | | | | 2004-09-15 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontmap.c (pango_win32_insert_font): Ignore fonts in SYMBOL_CHARSET. They don't have any Unicode mapping table. (#149643)
* Ignore synthetic vertical writing versions of East Asian fonts. (#145322,Tor Lillqvist2004-08-221-1/+5
| | | | | | | | 2004-08-22 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontmap.c (pango_win32_inner_enum_proc): Ignore synthetic vertical writing versions of East Asian fonts. (#145322, John Ehresman)
* Typedef PangoWin32FontMapClass.Tor Lillqvist2004-08-061-4/+6
| | | | | | | | | 2004-08-06 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontmap.c: Typedef PangoWin32FontMapClass. (pango_win32_font_map_class_init): Match what G_DEFINE_TYPE generates.
* Make PangoMatrix arguments const where appropriate.Owen Taylor2004-07-101-35/+2
| | | | | | | | | | | | | | | | | 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.
* Don't leak family_name. (#140772, John Ehresman)Tor Lillqvist2004-04-291-0/+1
| | | | | | | 2004-04-29 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontmap.c (pango_win32_insert_font): Don't leak family_name. (#140772, John Ehresman)
* Use floating-point math in resolution calculation. (#141229, JohnTor Lillqvist2004-04-291-1/+1
| | | | | | | | 2004-04-29 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontmap.c (pango_win32_font_map_for_display): Use floating-point math in resolution calculation. (#141229, John Ehresman)
* pango/pango.def Add some missing symbols. (#135945, Cedric Gustin)Tor Lillqvist2004-03-031-1/+1
| | | | | | | | | | | 2004-03-03 Tor Lillqvist <tml@iki.fi> * pango/pango.def * pango/pangoft2.def: Add some missing symbols. (#135945, Cedric Gustin) * pango/pangowin32-fontmap.c (pango_win32_family_get_name): Can be static.
* updated externals including patch from J. Ali Harlow <ali@juiblex.co.uk>,Hans Breuer2004-02-281-4/+14
| | | | | | | | | | 2004-02-28 Hans Breuer <hans@breuer.org> * pango/pango.def : updated externals including patch from J. Ali Harlow <ali@juiblex.co.uk>, fixes bug #135518 * pango/pangowin32-fontmap.c : implement list_sizes() and is_monospace() members
* New API pango_font_family_is_monospace. (#108728)Noah Levitt2004-02-231-0/+9
| | | | | | | | | 2003-02-23 Noah Levitt <nlevitt@columbia.edu> * pango/pangowin32-fontmap.c: * pango/pangofc-fontmap.c: * pango/pango-font.h: * pango/fonts.c: New API pango_font_family_is_monospace. (#108728)
* New API for getting available sizes for a bitmap font face.Noah Levitt2004-02-231-0/+11
| | | | | | | | | | 2003-02-22 Noah Levitt <nlevitt@columbia.edu> * pango/pango-font.h: * pango/pangofc-fontmap.c: * pango/pangowin32-fontmap.c: * pango/fonts.c (pango_font_face_list_sizes): New API for getting available sizes for a bitmap font face.
* Modules now declare a list of scripts that they cover instead of a list ofOwen Taylor2003-09-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Use g_object_new() rather than g_type_create_instance() (Patch fromOwen Taylor2003-05-271-1/+1
| | | | | | | | | | | | Tue May 27 12:32:43 2003 Owen Taylor <otaylor@redhat.com> * pango/pango-context.c (pango_context_new) pango/pango-layout.c (pango_context_new) pango/pango-win32.c (pango_win32_font_map_for_display) pango/pangox-fontmap.c (pango_x_font_map_for_display) pango/pangox.c (pango_x_font_new): Use g_object_new() rather than g_type_create_instance() (Patch from Benjamin Otte, #112786)
* Add --with-usp10 flag to indicate where to find the usp10.h header, forTor Lillqvist2002-10-211-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-10-22 Tor Lillqvist <tml@iki.fi> * configure.in: Add --with-usp10 flag to indicate where to find the usp10.h header, for using Uniscribe on Win32. Set USP10_H autoconf variable, HAVE_USP10_H config.h macro and HAVE_USP10_H automake conditional. * acconfig.h: Add HAVE_USP10_H. * pango/pangowin32-private.h (PANGO_WIN32_DEBUGGING): Change semantics of this flag. If defined, also need to set env var PANGO_WIN32_DEBUG to get the copious debugging output. Change PING() macro accordingly. Add variable pango_win32_debug. * pango/pangowin32.c (pango_win32_get_dc): New function. Code factored out from pango_win32_font_class_init() and pango_win32_font_map_class_init(). (pango_win32_get_debug_flag): New function. (pango_win32_render): Handle y offsets, too. Potentially need to call ExtTextOutW several times, one for each run of sequential glyphs with the same y offset. * pango/pangowin32.h: Declare above new functions, in the part only for shaper engine use. * pango/pangowin32.def: Export above new functions. * pango/pangowin32-fontmap.c (pango_win32_font_map_class_init): Call pango_win32_get_dc() as mentioned above. * modules/basic/Makefile.am: If HAVE_USP10_H, let basic-win32.lo depend on usp10.h. * modules/basic/basic-win32.c: If HAVE_USP10_H, and the Uniscribe DLL usp10.dll is present, use Uniscribe. (uniscribe_shape, itemize_shape_and_place, set_up_pango_log_clusters, convert_log_clusters_to_byte_offsets, make_langid, init_uniscribe): New functions. (dump_glyphs_and_log_clusters, lang_name, charset_name): Debugging functions.
* Get rid of unnecessary casts for g_object_{ref,unref}Manish Singh2002-10-141-5/+5
| | | | | | | | | | Mon Oct 14 15:39:41 2002 Manish Singh <yosh@gimp.org> * pango/pango-context.c pango/pango-layout.c pango/pangoft2.c pango/pangowin32-fontmap.c pango/pangowin32.c pango/pangox-fontmap.c pango/pangox.c pango/pangoxft-font.c pango/pangoxft-fontmap.c pango/testfonts.c pango/opentype/pango-ot-ruleset.c: Get rid of unnecessary casts for g_object_{ref,unref}
* Revert change from 2002-09-21: Don't bypass the code that automaticallyTor Lillqvist2002-09-281-2/+4
| | | | | | | | | | | | | 2002-09-28 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontmap.c (pango_win32_insert_font): Revert change from 2002-09-21: Don't bypass the code that automatically adds fonts to the families "monospace", "serif" and "sans". I thought it would be unnecessary if you have a pango.aliases that sets up aliases for these family names, but apparently not. Without this code, pango_layout_line_get_empty_extents() thinks empty lines have zero height, as it tries to use a font called "sans" for instance, and no aliases get used.
* Distribute specifically pango.aliases and pango.modules, not the wholeTor Lillqvist2002-09-211-250/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-09-21 Tor Lillqvist <tml@iki.fi> * pango-zip.sh.in: Distribute specifically pango.aliases and pango.modules, not the whole etc/pango which might contain editor backup files. * pango/pangowin32-private.h * pango/pangowin32*.c: Rename DEBUGGING to PANGO_WIN32_DEBUGGING. Use plain printf instrad of g_print in the PING macro for debugging output (to avoid UTF-8 requirement). * pango/pangowin32.h: Guard against redefinition of _WIN32_WINNT. * pango/pangowin32-private.h: Remove the FS_VIETNAMESE define, not needed. Rename PangoWin32Font::face to win32face. Add enum PangoWin32CoverageLanguageClass, used to classify PangoLanguages that might have locale-specific coverage of fonts (i.e. CJKV). Change PangoWin32Face::coverage into an array, coverages. Move some TrueType macro and struct defines from pangowin32.c here. Rename them a bit to match the names used in the specs better. Add declarations for new functions (see below). * pango/pangowin32.c (pango_win32_get_hfont): Convert LOGFONT::lfFaceName to UTF-8 before printing. (pango_win32_render): Revert the change from 2002-09-05. Characters not in a font are supposed to show up at this stage as invalid glyphs (usually a box). It's up to the higher layers to filter out TABs and other characters that shouldn't be visible. (pango_win32_get_name_header, pango_win32_get_name_record): New functions, to read the name table header and records from a TrueType font. (font_name_in): New function, checks if a font has a name in one of the spoecial-case languages, or actually locales (zh_TW, zh_CN, ja, ko, vi). Checks the TrueType name table. (pango_win32_font_calc_coverage): Take a PangoLanguage parameter, too. Use it to decide whether to hide the Unified CJKV Ideographs block in case the font is not for the specified locale. If so, the coverage for these characters is set to PANGO_COVERAGE_APPROXIMATE. * pango/pangowin32-fontmap.c: Remove PangoWin32FontMap::faces, unused. Remove dead _WE_WANT_GLOBAL_ALIASES_ code. Rename parent_class to font_map_parent_class to match pangox-fontmap.c. (get_family_name, get_family_name_lowercase): New functions. Search for an English name for a TrueType font, in case the font name in LOGFONT::lfFaceName is non-ASCII. (Can one assume that if it is ASCII, it is the English name? Do some TrueType fonts have different names in French, German, etc, and does the system return these if the locale is set to use French, German, etc?) (pango_win32_insert_font): Don't store LOGFONTs that differ only in charset. What charset we specify when calling CreateFontIndirect() is irrelevant, as we are going to use ExtTextOutW() anyway, i.e. Unicode. Use the English family name from get_family_name_lowercase(), not the one returned in the LOGFONT from font enumeration. Bypass the code that sets up the mapping for monospace, serif and sans, and the recignition of plain "courier" for "courier new". We need a pango.aliases anyhow, so let it handle that. (pango_win32_coverage_language_classify): New function. (pango_win32_font_entry_set_coverage, pango_win32_font_entry_get_coverage): Take also a PangoLanguage parameter, use the corresponding entry in the PangoWin32Face::coverages array. * pango/pango-utils.c (pango_get_lib_subdirectory, pango_get_sysconf_subdirectory): Fix doc comment on Win32 behaviour.
* pango/pangoft2-fontmap.c (pango_ft2_shutdown_display) Handle checking forOwen Taylor2002-07-251-2/+7
| | | | | | | | | | Thu Jul 25 11:42:17 2002 Owen Taylor <otaylor@redhat.com> * pango/pangoft2-fontmap.c (pango_ft2_shutdown_display) * pango/pangowin32-fontmap.c (pango_win32_shutdown_display): Handle checking for fontmap == NULL and setting it to NULL after unrefing properly. (#87915, Sven Neumann)
* Use complete PANGO_VERSION in zip file names.Tor Lillqvist2002-05-261-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-26 Tor Lillqvist <tml@iki.fi> * pango-zip.sh.in: Use complete PANGO_VERSION in zip file names. * pango/Makefile.am: (Win32) Compile resource files and link with them. * pango/pango.rc.in * pango/pangoft2.rc.in * pango/pangowin32.rc.in: Include also the micro version number. * pango/pangowin32-fontcache.c (logfont_hash): Use absolute value of lfHeight. * pango/pangowin32-fontmap.c (pango_win32_font_map_for_display): Instead of HORZSIZE which is Windows idea of physical monitor width (but which can be *very* wrong), use LOGPIXELSY (the "logical" dpi). This can be set by the user by choosing "small fonts", "large fonts", or a custom dpi in the Display Settings. Thanks to Joaquin Cuenca Abela. (pango_win32_make_matching_logfont): Set lfHeight to the negative of the requested size. Positive lfHeight indicates "cell height", negative "character height" (?), which is closer to what we want, says Joaquin Cuenca Abela.
* Silence gcc -Wall, initialise a couple of variables.Tor Lillqvist2002-01-011-0/+14
| | | | | | | | | | | | 2002-01-02 Tor Lillqvist <tml@iki.fi> * pango/pangowin32.c (pango_win32_render_layout_line): Silence gcc -Wall, initialise a couple of variables. * pango/pangowin32-fontmap.c: (pango_win32_insert_font): Store "courier new" also under the name "courier", as that is what gtk-demo (and presumably often other applications, too?) looks for.
* Set lfCharSet to DEFAULT_CHARSET always. Conditional debugging output withTor Lillqvist2002-01-011-5/+7
| | | | | | | | | | | | | | | | | 2002-01-02 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontcache.c (pango_win32_font_cache_load): Set lfCharSet to DEFAULT_CHARSET always. Conditional debugging output with the PING() macro. * pango/pangowin32-fontmap.c: Make the size_infos hash table actually work like it is suppposed to, not that I know if it matters. I think that it's useless to store all the different charset views of the same actual ttf font in the list. Will have to do more testing. (logfont_nosize_hash): Lowercase face name before calculating hash. (logfont_nosize_equal): Compare face names ignoring case.
* Fix typo.Tor Lillqvist2001-11-191-1/+1
| | | | | | | 2001-11-20 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontmap.c (pango_win32_font_map_load_font): Fix typo.
* Add new function pango_context_load_fontset() to wrapAlex Larsson2001-11-181-0/+2
| | | | | | | | | | | | | | | | | 2001-11-18 Alex Larsson <alexl@redhat.com> * pango/pango-context.[ch]: Add new function pango_context_load_fontset() to wrap pango_font_map_load_fontset(). Add PangoContext arguments to load_font and load_fontset. * pango/pango-fontmap.[ch]: * pango/pangoft2-fontmap.c: * pango/pangowin32-fontmap.c: * pango/pangox-fontmap.c: * pango/pangoxft-font.c: * pango/pangoxft-fontmap.c Add PangoContext arguments to load_font and load_fontset.
* don't bother with module dir recalculation if LIBDIR isn't definedHans Breuer2001-11-031-4/+8
| | | | | | | | | | | | | | | 2001-11-03 Hans Breuer <hans@breuer.org> * pango/modules.c : don't bother with module dir recalculation if LIBDIR isn't defined * pango/pangowin32-fontmap.c : make it compile again after the g_ascii_* change below. Use EnumFontFamiliesExA to ensure to use the ascii version, though defining UNICODE for G_OS_WIN32 will break at other place anyway. * pango/makefile.msc : use (hopefully temporary) DIRENT_CFLAGS and DIRENT_LIBS (see #63667)
* Patch from Darin Adler, with updates, to use g_ascii_* instead ofOwen Taylor2001-11-021-3/+3
| | | | | | | | | | | | | Fri Nov 2 08:50:16 2001 Owen Taylor <otaylor@redhat.com> * pango/{fonts.c,pango-color.c,pango-utils.c, pangoft2-fontmap.c,pangowin32-fontcache.c, pangowin32-fontmap.c, pangox-fontmap.c}: Patch from Darin Adler, with updates, to use g_ascii_* instead of locale-dependent variants (#55833). * pango/fonts.c: Use g_ascii_dtostr, g_ascii_strtod().
* Documentation updates.Matthias Clasen2001-10-261-1/+18
| | | | | | | | | | | | * pango/fonts.c, pango/pangoft2.c, pango/pangowin32.c, pango/pangoxft-font.c, pango/pangox-fontmap.c, pango/pangoft2-fontmap.c, pango/pangoxft-fontmap.c, pango/pangowin32-fontmap.c, docs/pango-sections.txt, docs/tmpl/coverage-maps.sgml, docs/tmpl/fonts.sgml, docs/tmpl/freetype-fonts.sgml, docs/tmpl/glyphs.sgml, docs/tmpl/layout.sgml, docs/tmpl/main.sgml, docs/tmpl/modules.sgml, docs/tmpl/tab-stops.sgml, docs/tmpl/text-attributes.sgml, docs/tmpl/win32-fonts.sgml: Documentation updates.
* Add the Win32 GDI Pango backend to autoconfiguration:Tor Lillqvist2001-10-031-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-03 Tor Lillqvist <tml@iki.fi> Add the Win32 GDI Pango backend to autoconfiguration: * configure.in: Call AC_LIBTOOL_WIN32_DLL. Check for native Win32 or Cygwin, set automake conditional PLATFORM_WIN32. Check for native Win32, set OS_WIN32. Refactor the Xrender+Xft+Xft+FreeType.h checks not to use AC_CHECK_LIBs inside eachother, autoconf 2.52e on Cygwin generated bad shell code for that. Check for gdi32 library, set automake conditional HAVE_WIN32. Add the basic-win32 module, add INCLUDED_WIN32_MODULES and INCLUDE_BASIC_WIN32. Write pango/module-defs-win32.c. Generate pangowin32*.pc. * pangowin32.pc.in * pangowin32-uninstalled.pc.in: New files. * Makefile.am: Add pangowin32*.pc.in. * .cvsignore: Add pangowin32*.pc. * modules/basic/Makefile.am: Add the basic-win32 backend. Use -no-undefined on PLATFORM_WIN32. * pango/Makefile.am: Add the Win32 backend. Use -no-undefined on PLATFORM_WIN32. Use the .def files on OS_WIN32. Link libpangoft2 with GLIB_LIBS. * pango/pango-utils.c: (DllMain): New function, on G_OS_WIN32. Used to get the actual DLL name, which is tucked away. (pango_get_sysconf_subdirectory, pango_get_lib_subdirectory): (Win32): Append VERSION to the registry key passed to g_win32_get_package_installation_subdirectory(). Use the real DLL name from above instead of assuming the DLL has a certain name. Other Win32 backend fixes: * pango/pangowin32-fontmap.c: (free_coverages_foreach): Remove, unused. * pango/pangowin32.c: Remove unused variables. * pango/pangowin32.def: Add pango_win32_font_get_glyph_index. * pango/pangowin32.h: Remove pango_win32_font_get_coverage, which is static.
* Version 0.20PANGO_0_20Owen Taylor2001-09-251-1/+1
| | | | | | | | | | | | | | | | | | | Tue Sep 25 11:54:03 2001 Owen Taylor <otaylor@redhat.com> * configure.in: Version 0.20 * NEWS: Updated * configure.in (GLIB_REQUIRED_VERSION): Require GLib 1.3.9 * examples/Makefile.am (EXTRA_DIST): Add the viewer-qt in case someone (say Tim) makes dist without qt installed. (reported by Tony Graham) * examples/Makefile.am (pango.modules): Don't use grep -q (reported by Tony Graham) * docs/pango-sections.txt: Fix small typo.
* updated externalsHans Breuer2001-09-211-161/+236
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-21 Hans Breuer <hans@breuer.org> * pango/pango.def : updated externals * pango/makefile.msc : build ft2 backend too. * pango/pangowin32-fontmap.c - Convert PangoWin32FamilyEntry into PangoWin32Family deriving from PangoFontFamily. - Convert PangoWin32FontEntry into PangoWin32Face deriving from PangoFontFace. - Change the list_families() method of the PangoWin32FontMap to list PangoFontFamily * rather than names. * pango/pangowin32.c : reflect PangoFontDescription api change * pango/pangowin32.h : don't include pango.h but only the required headers * modules/basic/basic-win32.c : #include "pango-engine.h" * pango/testfonts.c : reflect recent pango api changes
* Up to 0.19.Owen Taylor2001-09-181-31/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* restore the previously selected font into the device context.Hans Breuer2001-08-091-1/+1
| | | | | | | | | | | | | | | | | | | 2001-08-10 Hans Breuer <hans@breuer.org> * pango/pangowin32.c (pango_win32_render) : restore the previously selected font into the device context. (pango_win32_font_get_glyph_extents) : info->ink_rect.y needs to be negative to get underlines right * pango/pangowin32-fontmap.c (pango_win32_font_map_list_fonts) : Don't g_assert_not_reached () on !family case. This is what the X version does as well. Testcase for win32: testfonts.c * pango/testfonts.c : (new file) simple test program for win32 which renders all or selected fonts into a bitmap * pango/makefile.msc : re-enable testfonts compiling
* Large rewrite of the win32 backend to use real glyph indexes instead ofAlexander Larsson2001-08-091-659/+37
| | | | | | | | | | | | | | | | | | | 2001-08-09 Alexander Larsson <alexl@redhat.com> * pango/pangowin32.h: * pango/pangowin32-private.h: * pango/pangowin32.c: * pango/pangowin32-fontmap.c: * modules/basic/basic-win32.c: * pango/pangowin32.def: Large rewrite of the win32 backend to use real glyph indexes instead of unicode codes. Also drops the subfont thing, thereby simplifying the code immensely. This looses some functionality, but i will add that back soon using global (non backend-specific) aliases. This is the first cut, and is not perfect. It still has some issues and imperfections, but it so clearly better than the current imlementation that I'm checking it in anyway.
* Require GLib-1.3.7Owen Taylor2001-06-291-1/+1
| | | | | | | | | | Thu Jun 28 21:49:30 2001 Owen Taylor <otaylor@redhat.com> * configure.in (GLIB_REQUIRED_VERSION): Require GLib-1.3.7 * pango/pangoft2-fontmap.c pango/pangowin32-fontmap.c pango/pangox-fontmap.c pango/pangoxft-fontmap.c: Fix args to g_type_init().
* pango/pango-markup.c: modules/arabic/arabic-xft.c (arabic_engine_shape):Owen Taylor2001-06-251-2/+2
| | | | | | | | | | | | | | | | | | Sat Jun 23 10:01:20 2001 Owen Taylor <otaylor@redhat.com> * pango/pangowin32-fontmap.c (pango_win32_font_entry_get_coverage): * pango/pangoft2-fontmap.c (pango_ft2_font_entry_get_coverage): pango/pango-markup.c: modules/arabic/arabic-xft.c (arabic_engine_shape): modules/arabic/arabic-x.c (arabic_engine_shape): pango/pango-context.c (pango_itemize): pango/pangox.c (get_font_metrics_from_string): pango/pangoft2.c (get_font_metrics_from_string): Adapt to 64-bit changes in glib. * pango/Makefile.am: Modify generation rules to use glib-mkenums (ugh, loong command lines), and to reduce rebuilding by using stamp files.
* changed version to 0.17Hans Breuer2001-06-221-2/+2
| | | | | | | | | | | | 2001-06-22 Hans Breuer <hans@breuer.org> * pango/makefile.msc : changed version to 0.17 * pango/pango.def : updated externals * pango/pangowin32-fontmap.c : * pango/pangowin32-private.h : * pango/pangowin32.c : adapted to PangoLanguage usage
* instead of simply adding one matching font for the magic font names (sans,Hans Breuer2001-04-131-24/+46
| | | | | | | | | | | | | | | | 2001-04-14 Hans Breuer <hans@breuer.org> * pango/pangowin32-fontmap.c : instead of simply adding one matching font for the magic font names (sans, serif, monospace) stuff any mathing font in the respective family entries (pango_win32_font_map_load_font) : do the same approximation for oblique and italic as the X version does * pango/pangowin32.c (pango_win32_font_get_glyph_extents) : initialize ink_rect and logical_rect to some more appropriate values (subfont_has_glyph) : implement glyph availability caching. IMO it needs to be done different to the other backends, because even the decision if a font has a specific glyph is increadeable slow on win32
* added _pango_included_win32_modules[] to include modules with plain win32Hans Breuer2001-02-191-0/+19
| | | | | | | | | | | | | | 2001-02-19 Hans Breuer <hans@breuer.org> * pango/modules.h, pango/pangowin32.c (pango_win32_get_context) : added _pango_included_win32_modules[] to include modules with plain win32 build as well. * pango/pango.def : added new exported functions * pango/pangowin32-fontmap.c : add unspecified fonts for Monospace, Sans and Serif to avoid crashes if no alias file is provided * pango/*/makefile.msc : new files to build on windoze with msvc
* pass 0 as first argument to g_type_init().Tim Janik2001-02-041-1/+1
| | | | | | | | | | | | | | | | Sun Feb 4 07:48:47 2001 Tim Janik <timj@gtk.org> * pango/pango-attributes.c (pango_color_get_type): pass 0 as first argument to g_type_init(). * pango/pangoxft-fontmap.c (pango_xft_get_font_map): * pango/pangowin32-fontmap.c (pango_win32_font_map_for_display): * pango/pangoft2-fontmap.c (pango_ft2_font_map_for_display): * pango/pangox-fontmap.c (pango_x_font_map_for_display): * pango/pango-context.c (pango_context_new): likewise. * i dare saying that i doubt the usefullness of all these g_type_init() calls though.