summaryrefslogtreecommitdiff
path: root/pango/pangowin32-fontcache.c
Commit message (Collapse)AuthorAgeFilesLines
* docs: Convert gtk-doc syntax leftoversdocs-cleanupMatthias Clasen2021-05-191-16/+19
| | | | | Remove leftovers like #Type, reduce indentations to avoid markdown block quotes, etc.
* PangoWin32: Drop _pango_win32_os_version_infoChun-wei Fan2019-07-251-7/+2
| | | | We don't need this anymore since we need Vista or later to run.
* Add many missing nullability annotations.Evan Nemerson2014-10-161-4/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=731022
* Bug 685167 - migrate docs to no-tmpl flavourBehdad Esfahbod2013-09-271-0/+5
| | | | Patch from Rafał Mużyło.
* Bug 551416 - pangowin32-fontcache.c: argument is different typeTor Lillqvist2008-09-081-2/+2
| | | | | | | | | | | | 2008-09-08 Tor Lillqvist <tml@novell.com> Bug 551416 - pangowin32-fontcache.c: argument is different type * pango/pangowin32-fontcache.c: Pass address of int to g_atomic_int_inc(). svn path=/trunk/; revision=2716
* Use atomic reference counting.Behdad Esfahbod2008-08-221-4/+3
| | | | | | | | | | | | | | | | | | | | | | | 2008-08-22 Behdad Esfahbod <behdad@gnome.org> * pango/fonts.c (pango_font_metrics_ref), (pango_font_metrics_unref): * pango/pango-attributes.c (pango_attr_list_ref), (pango_attr_list_unref): * pango/pango-coverage.c (pango_coverage_ref), (pango_coverage_unref): * pango/pango-layout.c (pango_layout_line_ref), (pango_layout_line_unref): * pango/pangowin32-fontcache.c (cache_entry_unref), (pango_win32_font_cache_loadw): * pango/pangox-fontcache.c (cache_entry_unref), (pango_x_font_cache_load): Use atomic reference counting. Pango may not be thread safe yet, but fixing it little by little is easier than doing all in one round. svn path=/trunk/; revision=2705
* 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
* pango/pangowin32-private.h pango/pangowin32.c pango/pangowin32-fontcache.cTor Lillqvist2007-03-101-3/+3
| | | | | | | | | | | | | | | | | | 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-43/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* *.c, *.h: Drop trailing whitespace.Behdad Esfahbod2007-01-161-23/+23
| | | | | | | | | 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-1/+1
| | | | svn path=/trunk/; revision=2130
* If locking font face failed, do not assert, just return zero glyphs withBehdad Esfahbod2006-01-291-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-29 Behdad Esfahbod <behdad@gnome.org> * modules/arabic/arabic-fc.c, modules/basic/basic-fc.c modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c modules/thai/thai-ot.c, modules/thai/thai-shaper.c modules/tibetan/tibetan-fc.c: If locking font face failed, do not assert, just return zero glyphs with an implicit warning. * pango/fonts.c, pango/glyphstring.c pango/modules.c pango/pango-color.c, pango/pango-context.c pango/pango-coverage.c, pango/pango-fontmap.c pango/pango-glyph-item.c, pango/pango-item.c pango/pango-layout.c, pango/pango-markup.c pango/pango-ot-buffer.c, pango/pango-script.c pango/pango-tabs.c, pango/pango-utils.c pango/pangoatsui-fontmap.c, pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap.c, pango/pangocairo-fontmap.c pango/pangocairo-win32font.c, pango/pangofc-font.c pango/pangofc-fontmap.c, pango/pangoft2-fontmap.c pango/pangoft2-render.c, pango/pangoft2.c pango/pangowin32-fontcache.c, pango/pangoxft-font.c pango/pangoxft-render.c, pango/break.c pango/ellipsize.c: Use g_slice for allocating all types. Also, change some g_error's to g_critical's...
* Make sure #include <config.h> is the first include in the file. (bugBehdad Esfahbod2006-01-141-0/+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)
* Add more debugging output.Tor Lillqvist2002-11-121-2/+6
| | | | | | | | | | | | | 2002-11-12 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontcache.c (free_cache_entry, cache_entry_unref, pango_win32_font_cache_load): Add more debugging output. * modules/basic/basic-win32.c (uniscribe_shape): Plug memory leak: Free return value from pango_win32_font_logfont(). Call pango_win32_font_cache_unload() for the hfont returned from pango_win32_font_cache_load() after using it.
* Use complete PANGO_VERSION in zip file names.Tor Lillqvist2002-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add pango_win32_os_version_info variable, an OSVERSIONINFO struct.Tor Lillqvist2002-03-171-3/+30
| | | | | | | | | | | | | | | | | 2002-03-17 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-private.h: Add pango_win32_os_version_info variable, an OSVERSIONINFO struct. * pango/pangowin32.c: Initialise it. * pango/pangowin32.h: Set _WIN32_WINNT to 0x0501 before including <windows.h> to get the ClearType-related macros defined (if recent enough headers are used). * pango/pangowin32-fontcache.c (pango_win32_font_cache_load): Set desired font quality to CLEARTYPE_QUALITY if on XP (or later), and the system settings ask for ClearType.
* Minor doc edits.Matthias Clasen2002-03-121-4/+4
| | | | | | | | | | | | | * pango/pangowin32-fontcache.c, pango/pangox-fontcache.c: Minor doc edits. * docs/tmpl/win32-fonts.sgml: Document PangoWin32FontCache. * docs/tmpl/x-fonts.sgml: Document PangoXFontCache. * docs/tmpl/glyphs.sgml: Document PangoGlyphInfo. * docs/tmpl/opentype.sgml: Document PangoOTInfo, PangoOTTag, PangoOTTableType.
* Silence gcc -Wall, initialise a couple of variables.Tor Lillqvist2002-01-011-1/+1
| | | | | | | | | | | | 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-17/+17
| | | | | | | | | | | | | | | | | 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.
* removed the arbitrary limit to 10 fonts. Instead make the command lineHans Breuer2001-11-231-2/+3
| | | | | | | | | | | | | | | | | | | | 2001-11-23 Hans Breuer <hans@breuer.org> * testfonts.c : removed the arbitrary limit to 10 fonts. Instead make the command line params useful again and reduce the default result bitmap size by decreasing the default font size. * pango/pangowin32-fontcache.c (pango_win32_font_cache_load): Don't always turn on anti-aliasing. Respect the users settings from 'Properties of Display/Effects'. * pango/makefile.msc : updated, version 0.22 * pango/pango.def : updated externals * pango/font.c pango/pango-coverage.c pango-utils.c pango/pangowin32.c pango/shape.c : coding style and static correctness
* Always turn on anti-aliasing.Tor Lillqvist2001-11-211-0/+2
| | | | | | | | | | | | | | | | | | 2001-11-22 Tor Lillqvist <tml@iki.fi> * pango/pangowin32-fontcache.c (pango_win32_font_cache_load): Always turn on anti-aliasing. 2001-11-21 Tor Lillqvist <tml@iki.fi> * pango/testfonts.c: Fix a couple of bugs, update for current Pango API. It's not completely clear to me what the program is supposed to do with the command line args. It does load a matching font, but does nothing with it. It then always lists *all* font families, and renders a string in each. This causes a huge image with associated swapping to death if you have lots of fonts... I added a restriction, only the first 10 fonts are rendered.
* Patch from Darin Adler, with updates, to use g_ascii_* instead ofOwen Taylor2001-11-021-10/+10
| | | | | | | | | | | | | 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().
* 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.
* pango/pangowin32.h pango/pangowin32-private.h pango/pangowin32-fontcache.cTor Lillqvist2000-07-151-0/+341
2000-07-15 Tor Lillqvist <tml@iki.fi> * pango/pangowin32.h * pango/pangowin32-private.h * pango/pangowin32-fontcache.c * pango/pangowin32-fontmap.c * modules/basic/basic-win32.c * examples/viewer-win32.c * examples/pangowin32.aliases: New files. Start of a Win32 implementation. Does not work yet. * configure.in: Chek for dirent.h and unistd.h. * pango/pango-utils.h * pango/pango-utils.c (pango_get_sysconf_subdirectory, pango_get_lib_subdirectory): New functions, for better portability, to enable installation-time choice of directory (on Windows) instead of compile-time. Use these instead of SYSCONFDIR "/pango" and LIBDIR "/pango". (pango_split_file_list): Fix comment, the function splits on searchpath separators, not commas. Use G_SEARCHPATH_SEPARATOR_S for portability. Don't try to expand '~' as home directory on Windows. (read_config): Use pango_get_sysconf_subdirectory(). * pango/modules.c (read_modules): Use pango_get_sysconf_subdirectory(). Don't crash if a module file cannot be opened. * pango/querymodules.c: Include config.h Conditionalize inclusion of dirent.h and unistd.h. Use platform-specific shared library extension. Use pango_get_lib_subdirectory().