summaryrefslogtreecommitdiff
path: root/pango/pangowin32-fontmap.c
Commit message (Collapse)AuthorAgeFilesLines
...
* More churnBehdad Esfahbod2012-08-281-2/+2
|
* Make static data thread safe in pangowin32-fontmap.cAlessandro Pignotti2012-08-271-4/+2
|
* Make a couple of functions reentrantAlessandro Pignotti2012-08-271-8/+7
|
* Deprecate pango_lookup_aliases()Matthias Clasen2012-08-271-1/+277
| | | | Part of Bug 377539 - (pango-threadsafe) Make Pango thread-safe
* Bug 578935 – Syntax error (missing semicolon) in pango/pangowin32-fontmap.cBehdad Esfahbod2009-04-141-1/+1
| | | | Add missing semicolon.
* Allow font_family=NULL in load_font() and load_fontset() methodsBehdad Esfahbod2009-04-061-3/+5
|
* Revert change from 2008-05-28 that mapped words and word pairs thatTor Lillqvist2009-03-091-98/+2
| | | | | | | | | | indicate weight or stretch into the corrersponding Pango font description setting and stripped those word(s) from the family name. Personally I liked the effect this had on the GTK+ font picker, combining all weight and stretch variants of what de facto is one typeface family (for instance DejaVu) under one family name. But Bulia Byak reported that this caused regressions in Inkscape. So OK then.
* Bug 143542 – PangoFT2Fontmap leakBehdad Esfahbod2008-08-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-08-22 Behdad Esfahbod <behdad@gnome.org> Bug 143542 – PangoFT2Fontmap leak * pango/fonts.c: * pango/pangoatsui.c (pango_atsui_font_finalize), (_pango_atsui_font_set_font_map): * pango/pangocairo-font.c (_pango_cairo_font_get_metrics), (_pango_cairo_font_private_get_hex_box_info): * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): * pango/pangofc-font.c (pango_fc_font_get_metrics): * pango/pangofc-fontmap.c (pango_fc_font_map_add), (_pango_fc_font_map_remove), (cleanup_font): * pango/pangowin32-fontmap.c (pango_win32_font_neww), (pango_win32_font_map_real_find_font): * pango/pangowin32.c (pango_win32_font_finalize): * pango/pangox-fontmap.c (pango_x_font_map_load_font): * pango/pangox.c (pango_x_font_new), (pango_x_font_finalize): Make the reference the font->fontmap reference weak. The code for setting the reference must look like this: g_assert (font->fontmap == NULL); font->fontmap = (PangoFontMap *) fontmap; g_object_add_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap); And releasing it like: g_assert (font->fontmap != NULL); g_object_remove_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap); font->fontmap = NULL; I have converted all fontmaps. The win32 and atsui ones can use some simple testing. The PangoFc fonts actually don't need the weakref as the fontmap already provides a similar link by itself. svn path=/trunk/; revision=2704
* Include "config.h" instead of <config.h> Command used: find -nameJohan Dahlin2008-06-221-1/+1
| | | | | | | | | | | | 2008-06-21 Johan Dahlin <jdahlin@async.com.br> * *.[ch]: Include "config.h" instead of <config.h> Command used: find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g' Rubberstamped by Behdad svn path=/trunk/; revision=2657
* Map words that indicate weight and slant in the font name into theTor Lillqvist2008-05-271-9/+108
| | | | | | | | | | | | | | | | | | 2008-05-28 Tor Lillqvist <tml@novell.com> * pango/pangowin32-fontmap.c (pango_win32_font_description_from_logfont) (pango_win32_font_description_from_logfontw): Map words that indicate weight and slant in the font name into the corresponding Pango font description settings, and strip those words from the family name. This maps for instance the DejaVu Sans, DejaVu Sans Condensed and DejaVu Sans Light fonts into a single DejaVu Sans family with styles Ultra-Light, Condensed, Oblique Condensed, Oblique, Bold Condensed, Bold, Bold Oblique Condensed, and Bold Oblique, which is nice. svn path=/trunk/; revision=2644
* Rework face synthesis once again. Code is simpler now, and we don'tTor Lillqvist2008-05-271-83/+81
| | | | | | | | | | | | | | | | 2008-05-28 Tor Lillqvist <tml@novell.com> * pango/pangowin32-fontmap.c (synthesize_foreach) (_pango_win32_font_map_init): Rework face synthesis once again. Code is simpler now, and we don't needlessly synthesize bold weights for fonts that have a real semi-bold weight, like Lucida Sans. (The bold weight ended up looking like the semi-bold anyway.) (pango_win32_font_description_from_logfont): Recognize the semi-bold weight interval. svn path=/trunk/; revision=2642
* After the change to how the standard pseudo font families are set upTor Lillqvist2008-05-271-20/+2
| | | | | | | | | | | | 2008-05-27 Tor Lillqvist <tml@novell.com> * pango/pangowin32-fontmap.c (pango_win32_family_list_faces): After the change to how the standard pseudo font families are set up below, we don't need to prune out duplicate face names any longer. svn path=/trunk/; revision=2641
* Synthesize also Bold and Bold Italic (or Oblique) faces when feasible.Tor Lillqvist2008-05-271-71/+176
| | | | | | | | | | | | | | | 2008-05-27 Tor Lillqvist <tml@novell.com> * pango/pangowin32-fontmap.c: Synthesize also Bold and Bold Italic (or Oblique) faces when feasible. Don't synthesize these for decorative or script fonts. Kill the magic code snippet mentioned below. Instead, explicitly create font families for the standard pseudo fonts that correspond to the first existing font of the corresponding built-in alias list. Use the face style name Oblique for slanted sans and monospace fonts, not Italic. svn path=/trunk/; revision=2639
* Prune duplicated face names. Makes the GTK+ font selector look a bit sanerTor Lillqvist2008-05-261-8/+37
| | | | | | | | | | | | | | | | | | | | | | | | 2008-05-27 Tor Lillqvist <tml@novell.com> * pango/pangowin32-fontmap.c (pango_win32_family_list_faces): Prune duplicated face names. Makes the GTK+ font selector look a bit saner for the "sans", "serif" and "monospace" standard pseudo font families with just one instance of each style. That we get duplicated styles in the first place is because of the magic code snippet in pango_win32_insert_font() that sets up the list of faces for the standard pseudo font families. I don't like that code but without it these families wouldn't currently show up in the font selector at all. A problem is still that the magic code blindly adds all random fonts that claim to be FF_ROMAN to the list of faces for the "serif" family, etc. I think it would be preferrable to do it only for well-known sensible fonts. That would be those that are listed in builtin_aliases in pango-utils.c, I guess. svn path=/trunk/; revision=2638
* pango/pangowin32-private.h Drop the PangoWin32FontMap::n_fonts field whichTor Lillqvist2008-05-261-25/+20
| | | | | | | | | | | | | 2008-05-26 Tor Lillqvist <tml@novell.com> * pango/pangowin32-private.h * pango/pangowin32-fontmap.c: Drop the PangoWin32FontMap::n_fonts field which wasn't really used for anything. Rename the field PangoWin32Family::font_entries to faces. Rename some local variables to be more consistently named. svn path=/trunk/; revision=2637
* pango/pangowin32.c Some whitespace cleanup.Tor Lillqvist2008-05-261-15/+17
| | | | | | | | | | 2008-05-26 Tor Lillqvist <tml@novell.com> * pango/pangowin32.c * pango/pangowin32-fontmap.c: Some whitespace cleanup. svn path=/trunk/; revision=2636
* pango/pangowin32-private.h Drop the PangoWin32SizeInfo struct and the hashTor Lillqvist2008-05-261-121/+69
| | | | | | | | | | | | | | | | 2008-05-26 Tor Lillqvist <tml@novell.com> * pango/pangowin32-private.h * pango/pangowin32-fontmap.c: Drop the PangoWin32SizeInfo struct and the hash table mapping from the relevant part of a LOGFONTW struct to a list of PangoWin32SizeInfos in PangoWin32FontMap. It seems that each list was always of length one anyway, so instead just map directly to each such single list member, also a LOGFONTW struct. Actually I wonder whether this map is needed at all, will have to experiment. svn path=/trunk/; revision=2635
* Bug 515484: Pango on Windows is missing Type 1 font support Patch fromTor Lillqvist2008-02-241-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-02-24 Tor Lillqvist <tml@novell.com> Bug 515484: Pango on Windows is missing Type 1 font support Patch from Adrian Johnson. * pango/pangowin32-private.h (PangoWin32Face): Add has_cmap field that tells whether the font has a cmap or not. A Type 1 font doesn't. * pango/pangowin32.c (pango_win32_font_get_type1_glyph_index): New static function. Uses GetGlyphIndicesW() to get the glyph indices for Type 1 fonts. Possibly also TrueType fonts that for some reason lack the cmap formats we understand. (pango_win32_font_calc_type1_coverage): New static function. Uses GetFontUnicodeRanges() to get the coverage for Type 1 fonts, and possibly TrueType fonts that lack the cmap formats we understand. (pango_win32_font_get_glyph_index): Set has_cmap to false if the font doesn't have a cmap. Call pango_win32_font_get_type1_glyph_index() in that case. (pango_win32_font_calc_coverage): Set has_cmap to false if the font doesn't have a cmap. Call pango_win32_font_calc_type1_coverage() in that case. * pango/pangowin32-fontmap.c (pango_win32_enum_proc): Accept also Type 1 fonts. (pango_win32_insert_font): Initialise has_cmap tentativaly to True. svn path=/trunk/; revision=2573
* Bug 515484: Pango on Windows is missing non-TrueType font support PatchTor Lillqvist2008-02-131-12/+18
| | | | | | | | | | | | | | | 2008-02-14 Tor Lillqvist <tml@novell.com> Bug 515484: Pango on Windows is missing non-TrueType font support Patch from Adrian Johnson. * pango/pangowin32-fontmap.c (pango_win32_enum_proc): Accept also OpenType/PS fonts. Interpret the metrics parameter as a NEWTEXTMETRICW struct and check the ntmFlags field. svn path=/trunk/; revision=2566
* Bug 483600 – Leak of font family name inPANGO_1_18_3Behdad Esfahbod2007-10-151-0/+2
| | | | | | | | | | | | | | | | 2007-10-15 Behdad Esfahbod <behdad@gnome.org> Bug 483600 – Leak of font family name in pango_win32_font_description_from_logfont(w) Patch from Daniel Atallah * pango/pangowin32-fontmap.c (pango_win32_font_description_from_logfont), (pango_win32_font_description_from_logfontw): Free family. svn path=/trunk/; revision=2446
* Add G_UNLIKELY() to type registration block in _get_type() functions.Behdad Esfahbod2007-06-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-20 Behdad Esfahbod <behdad@gnome.org> * pango/fonts.c (pango_font_description_get_type), (pango_font_metrics_get_type): * pango/glyphstring.c (pango_glyph_string_get_type): * pango/pango-attributes.c (pango_attr_list_get_type): * pango/pango-color.c (pango_color_get_type): * pango/pango-item.c (pango_item_get_type): * pango/pango-language.c (pango_language_get_type): * pango/pango-layout.c (pango_layout_line_get_type), (pango_layout_iter_get_type): * pango/pango-matrix.c (pango_matrix_get_type): * pango/pango-ot-info.c (pango_ot_info_get_type): * pango/pango-ot-ruleset.c (pango_ot_ruleset_get_type): * pango/pango-tabs.c (pango_tab_array_get_type): * pango/pangoatsui-fontmap.c (pango_atsui_family_get_type), (pango_atsui_face_get_type): * pango/pangofc-fontmap.c (pango_fc_face_get_type), (pango_fc_family_get_type): * pango/pangowin32-fontmap.c (pango_win32_family_get_type), (pango_win32_face_get_type): * pango/pangox-fontmap.c (pango_x_font_map_get_type), (pango_x_face_get_type), (pango_x_family_get_type): * pango/pangox.c (pango_x_font_get_type): Add G_UNLIKELY() to type registration block in _get_type() functions. svn path=/trunk/; revision=2364
* Add is_synthetic field.Tor Lillqvist2007-06-121-7/+22
| | | | | | | | | | | | | | | | 2007-06-12 Tor Lillqvist <tml@novell.com> * pango/pangowin32-private.h (struct PangoWin32Face: Add is_synthetic field. * pango/pangowin32-fontmap.c: Implement is_synthesized. * pango/pangocairo-win32font.c * pango/pangocairo-win32fontmap.c: Update for the changes to PangoCairoFontMap and PangoCairoFont. svn path=/trunk/; revision=2347
* A font name in encoding UCS4_ENCODING_ID actually is in UTF-16, not UCS-4.Tor Lillqvist2007-04-301-2/+4
| | | | | | | | | | | 2007-04-30 Tor Lillqvist <tml@novell.com> * pango/pangowin32-fontmap.c (get_family_nameA, get_family_nameW): A font name in encoding UCS4_ENCODING_ID actually is in UTF-16, not UCS-4. (#429397, Akihiro Okamura) svn path=/trunk/; revision=2237
* Add missing declaration of pango_win32_family_get_type(). (#417946, IvanTor Lillqvist2007-03-141-1/+3
| | | | | | | | | | 2007-03-14 Tor Lillqvist <tml@novell.com> * pango/pangowin32-fontmap.c: Add missing declaration of pango_win32_family_get_type(). (#417946, Ivan Wong) svn path=/trunk/; revision=2217
* Add new symbols to docs.Behdad Esfahbod2007-03-121-1/+1
| | | | | | | | | | | | 2007-03-12 Behdad Esfahbod <behdad@gnome.org> * docs/pango-sections.txt: * pango/pangowin32-fontmap.c: * pango/pangowin32.c: Add new symbols to docs. svn path=/trunk/; revision=2216
* pango/pangowin32-private.h pango/pangowin32.c pango/pangowin32-fontcache.cTor Lillqvist2007-03-101-112/+66
| | | | | | | | | | | | | | | | | | 2007-03-10 Tor Lillqvist <tml@novell.com> * pango/pangowin32-private.h * pango/pangowin32.c * pango/pangowin32-fontcache.c * pango/pangowin32-fontmap.c * pango/pangocairo-win32font.c * pango/pangowin32.def: Move functions defined in one file and used in another to the file where used, make them static, and drop from pangowin32-private.h. Prefix all private non-static functions with underscore. Also functions used only by the pangocairo DLL are considered private. (#120195) svn path=/trunk/; revision=2213
* This change was supposed to go in the trunk before 1.16.0, but it didn'tTor Lillqvist2007-02-271-125/+333
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-02-26 Tor Lillqvist <tml@novell.com> This change was supposed to go in the trunk before 1.16.0, but it didn't quite get there in time. So, to have a clear cut for this somewhat fundamental change in underlying workings (although there should be no user-visible changes), I will build and distribute Win32 binaries only starting from 1.16.1. Use wide character API for fonts on Windows. Rename functions and variables that deal with LOGFONTW structs to emphasize this. (#407315) * pango/pangowin32.c * pango/pangowin32-fontcache.c * pango/pangowin32-fontmap.c: Use LOGFONTW all over the place instead of LOGFONT, and adapt code accordingly. Use wide character Win32 API. * pango/pangowin32.c (pango_win32_font_neww): Renamed from pango_win32_font_new(), as it now takes a LOGFONTW pointer. This is a private function and can be renamed though it is exported as it is used from the pangocairo DLL. (pango_win32_font_logfont): Mention explicitly in doc comment that it returns a LOGFONTA, and recommend to use pango_win32_font_logfontw() instead. (pango_win32_font_logfontw): New function. * pango/pangowin32-fontcache.c (pango_win32_font_cache_load): Must keep this function that takes a LOGFONTA pointer as it is declared in the public header. (pango_win32_font_cache_loadw): New public function that takes a LOGFONTW pointer. * pango/pangowin32-fontmap.c (pango_win32_font_description_from_logfont): Mention explicitly in the doc comment that it takes a LOGFONTA pointer. (pango_win32_font_description_from_logfontw): New public function that takes a LOGFONTW pointer. (pango_win32_make_matching_logfontw): Rename from pango_win32_make_matching_logfont() to emphasize it takes a LOGFONTW pointer. * pango/pangowin32.h: Declare new public functions. * pango/pangowin32-private.h: Declare new private functions, drop removed ones. * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): Simplify now that we call pango_win32_make_matching_logfontw(). * pango/pangowin32.def: Add new functions, rename internal functions that now use LOGFONTW. 2007-02-26 Tor Lillqvist <tml@novell.com> Fix brokenness in the code that tries to ensure that all fonts also have italic variants. Now the code hopefully actually does what it was supposed to. (Which is not necessarily the right thing to do, though. It can be argued that we should not list synthesized italic font styles, we should just silently generate them if asked for. We don't want synthesized italic (or synthesized bold) styles showing up in the font selector. They don't show up when using a fontconfig-based Pango backend either.) (#110521) * pango/pangowin32-fontmap.c (logfont_nosize_hash, logfont_nosize_equal): Don't use the lfItalic field as such, just its nonzeroness. When being enumerated, italic fonts show up with lfItalic=255, but our code looks up italic versions of fonts by passing a key LOGFONT with lfItalic=1. (first_match): Not needed any more, see below. (ensure_italic): This is now called on the entries in the size_infos hash table, not families. The code used to randomly look for the first matching font in size_infoswith the family name being handled. (pango_win32_font_map_init): Iterate through the size_infos hash table with ensure_italic, not through the families table. * pango/pangowin32-fontcache.c (logfontw_hash, logfontw_equal): Look at just nonzeroness of lfItalic here, too. svn path=/trunk/; revision=2204
* If something has gone wrong in setting the family of the font description,Owen Taylor2007-02-131-1/+13
| | | | | | | | | | | | 2007-02-13 Owen Taylor <otaylor@redhat.com> * pango/pangowin32-fontmap.c (pango_win32_insert_font): If something has gone wrong in setting the family of the font description, don't bother with the font as it isn't usable and will cause crashes later anyway. (#404295) svn path=/trunk/; revision=2194
* *.c, *.h: Replace preceding sequences of 8 spaces with tabs.Behdad Esfahbod2007-01-161-34/+34
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Replace preceding sequences of 8 spaces with tabs. svn path=/trunk/; revision=2165
* *.c, *.h: Drop trailing whitespace.Behdad Esfahbod2007-01-161-56/+56
| | | | | | | | | 2007-01-16 Behdad Esfahbod <behdad@gnome.org> *.c, *.h: Drop trailing whitespace. svn path=/trunk/; revision=2163
* Spell-check the docs.Behdad Esfahbod2007-01-071-2/+2
| | | | svn path=/trunk/; revision=2130
* Make TypeInfo structs not static. Reduces relocations.Behdad Esfahbod2006-10-131-2/+2
| | | | | | | | | | | | | | | | | | | 2006-10-13 Behdad Esfahbod <behdad@gnome.org> * pango/pango-ot-info.c (pango_ot_info_get_type): * pango/pango-ot-ruleset.c (pango_ot_ruleset_get_type): * pango/pangoatsui-fontmap.c (pango_atsui_family_get_type), (pango_atsui_face_get_type): * pango/pangocairo-font.c (pango_cairo_font_get_type): * pango/pangocairo-fontmap.c (pango_cairo_font_map_get_type): * pango/pangofc-fontmap.c (pango_fc_face_get_type), (pango_fc_family_get_type): * pango/pangowin32-fontmap.c (pango_win32_family_get_type), (pango_win32_face_get_type): * pango/pangox-fontmap.c (pango_x_font_map_get_type), (pango_x_face_get_type), (pango_x_family_get_type): * pango/pangox.c (pango_x_font_get_type): Make TypeInfo structs not static. Reduces relocations.
* synthesize some italic variants for fonts no having them already. ThisHans Breuer2006-06-051-0/+71
| | | | | | | | 2006-06-05 Hans Breuer <hans@breuer.org> * pango/pangowin32-fontmap.c(pango_win32_font_map_init) : synthesize some italic variants for fonts no having them already. This fixes bug #343796 and for the italic case also bug #110521.
* Hook up pango-utils.h into the documentation, as we are installing itBehdad Esfahbod2006-03-311-1/+1
| | | | | | | | 2006-03-30 Behdad Esfahbod <behdad@gnome.org> Hook up pango-utils.h into the documentation, as we are installing it anyway. Move some internal stuff to pango-impl-utils.h and make source files include that instead.
* Change g_critical to g_warning. We already handle them gracefully.Behdad Esfahbod2006-02-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 2006-02-21 Behdad Esfahbod <behdad@gnome.org> * pango/fonts.c, pango/glyphstring.c, pango/pango-fontmap.c, pango/pango-ot-buffer.c, pango/pangocairo-font.c, pango/pangoft2.c, pango/pangoxft-font.c, pango/shape.c: Change g_critical to g_warning. We already handle them gracefully. Bug 331994 – --disable-debug removes G_DISABLE_CAST_CHECKS Patch from charlet@act-europe.fr * configure.in: Do not lose PANGO_DEBUG_FLAGS when reassigning. Bug 331995 – pango_layout_set_text optimization Patch from charlet@act-europe.fr * pango/pango-layout.c: Do not validate input text if asserts are disabled. Moreover, do not truncate input text on invalid sequence. Bug 331996 – avoid crashes in win32 font handling Patch from charlet@act-europe.fr * pango/pangofc-fontmap.c, pango/pangowin32-fontmap.c, pango/pangowin32.c: if (!font) return NULL in a number of places.
* 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)