| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
|
|
|
| |
Part of Bug 377539 - (pango-threadsafe) Make Pango thread-safe
|
|
|
|
| |
Add missing semicolon.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
2008-05-26 Tor Lillqvist <tml@novell.com>
* pango/pangowin32.c
* pango/pangowin32-fontmap.c: Some whitespace cleanup.
svn path=/trunk/; revision=2636
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
2007-01-16 Behdad Esfahbod <behdad@gnome.org>
*.c, *.h: Replace preceding sequences of 8 spaces with tabs.
svn path=/trunk/; revision=2165
|
|
|
|
|
|
|
|
|
| |
2007-01-16 Behdad Esfahbod <behdad@gnome.org>
*.c, *.h: Drop trailing whitespace.
svn path=/trunk/; revision=2163
|
|
|
|
| |
svn path=/trunk/; revision=2130
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
to pango_win32_font_description_from_logfont(). Add it to pangowin32.def
and pango-sections.txt, too.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
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)
|