| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Implement copy method for format_4_cmap and format_12_cmap, and
free don't leak the struct.
|
|
|
|
|
|
|
| |
Currently, because of the g_once_init*, only the very first font map
that is created will get the correct list of aliases. With these changes
the fontmap class loads the aliases once, and this hash table is used
by all fontmap objects.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The document of [CreateDCA][1] says:
> If lpszDriver or lpszDevice is DISPLAY, the thread that calls
> CreateDC owns the HDC that is created. When this thread is
> destroyed, the HDC is no longer valid. Thus, if you create the HDC
> and pass it to another thread, then exit the first thread,
> the second thread will not be able to use the HDC.
So this change introduces GPrivate to fix potential problem.
This also fixes the problem caused by accessing the global
variable DC directly, which makes some early call to Pango functions
fail.
(e.g., failure of calling pango_win32_font_description_from_logfontw
from _get_system_font_name in GTK.)
[1]: https://docs.microsoft.com/windows/win32/api/wingdi/nf-wingdi-createdca
|
| |
|
|
|
|
|
| |
Use hb_font_get_nominal_glyph in pango_win32_font_get_glyph_index
(deprecated), to better match what Pango is actually using internally.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make font discovery using GDI/Unicscribe on Windows thread-safe, by:
-Making the alias HashTable a part of the _PangoWin32FontMap struct, so
that we only need to initialize this once when we initialize the
PangoFontMap on Win32. Make sure that we fill in that hash table with
the fonts items we ask from the system once and only once as we
initialize the PangoWin32FontMap.
-Make the warned_fonts HashTable a part of the _PangoWin32FontMap struct
as well, and create the HashTable when we init the PangoWin32FontMap.
-Make the access to the common HDC in pangowin32.c where Alex mentioned
that could be thread-unsafe done through pango_win32_get_dc().
At this point the test-pangocairo-threads will pass in Meson, tested for
20 successive rounds using 'meson test test-pangocairo-threads'. Note
that we still get the
"Pango-WARNING **:hh:mm:ss.sss: All font fallbacks failed!!!", but at
least we are doing much better on PangoWin32 in terms of thread-safety.
|
|
|
|
| |
We don't need this anymore since we need Vista or later to run.
|
| |
|
|
|
|
|
|
|
| |
Abolish the PANGO_ENABLE_BACKEND and PANGO_ENABLE_ENGINE
defines. All backend-only apis are moved into private
headers, all apis that were engine-only are marked as
deprecated, since engines are.
|
|
|
|
|
|
|
| |
From the last commit, decorate all the symbols with the version
macros. Also add the version macros in the docs.
https://bugzilla.gnome.org/show_bug.cgi?id=767587
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now shaper is discovered via (previously unused!) font->find_shaper().
I'm keeping that just to allow clients override shaping. Though,
even that I'm not sure we want to keep.
Wraps shaper in PangoEngineShape structs to keep PangoAnalysis API
intact.
Deprecated pango-modules.h and some pango-engine.h. Language modules
are not moved yet.
Wired up PangoFc, PangoWin32, and PangoCoretext shapers.
|
|
|
|
| |
Based on patch from Chun-wei Fan.
|
|
|
|
|
|
|
| |
The use of Uniscribe script caches was decidedly suboptimal. Use one
persistent SCRIPT_CACHE per Win32 font and script.
Patch by by David E. Hollingsworth and Fredrik Corneliusson, from bug
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-06-11 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-attributes.h:
* pango/pango-font.h:
* pango/pango-glyph.h:
* pango/pango-gravity.h:
* pango/pango-language.h:
* pango/pango-layout.h:
* pango/pango-matrix.h:
* pango/pango-ot-private.h:
* pango/pango-ot.h:
* pango/pango-renderer.h:
* pango/pango-script.h:
* pango/pango-tabs.h:
* pango/pango-utils.h:
* pango/pangoatsui-private.h:
* pango/pangocairo-atsui.h:
* pango/pangocairo-atsuifont.h:
* pango/pangocairo-fc.h:
* pango/pangocairo-private.h:
* pango/pangocairo-win32.h:
* pango/pangocairo.h:
* pango/pangofc-decoder.h:
* pango/pangofc-font.h:
* pango/pangofc-fontmap.h:
* pango/pangoft2-private.h:
* pango/pangoft2.h:
* pango/pangowin32-private.h:
* pango/pangox-private.h:
* pango/pangoxft-render.h:
* pango/pangoxft.h:
Add G_GNUC_CONST and G_GNUC_PURE annotations.
svn path=/trunk/; revision=2345
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-01-16 Behdad Esfahbod <behdad@gnome.org>
*.c, *.h: Drop trailing whitespace.
svn path=/trunk/; revision=2163
|
|
|
|
|
|
|
|
|
| |
2006-03-30 Behdad Esfahbod <behdad@gnome.org>
* pango/*.[ch]: Make #include syntax in sources and headers more
consistent. We are using the "..." syntax for all Pango headers
in source files, and <...> syntax in all header files, except for
including private headers, that we use "...".
|
|
|
|
|
|
|
| |
2006-03-03 Tor Lillqvist <tml@novell.com>
* pango/pangowin32-private.h (PING): Fix compilation error with
MSVC. (#333115)
|
|
|
|
|
|
|
|
|
|
| |
2006-02-28 Tor Lillqvist <tml@novell.com>
* pango/pangowin32-private.h (PING)
* pango/pangowin32.c
* modules/basic/basic-win32.c: Use g_print() instead of printf()
for debugging output, to enable easy redirection using GLib
facilities. (#332855)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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-04-07 Owen Taylor <otaylor@redhat.com>
* pango/pangocairo-fcfont.c pango/pangocairo-win32font.c
pango/pangocairo-render.c: Update to new Cairo font API.
* pangpopangowin32.h pango/pangowin32-private.h pango/pangowin32.c
pango/pangocairo-win32font.c modules/basic/basic-win32.c: Rename
get_scale_factor() to get_metrics_factor() to match Cairo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
2004-12-18 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32-private.h
* pango/pangowin32.c (pango_win32_font_get_metrics): Cache metrics
by language, like the other backends do. Don't try to get the
width of the 0..9 digit string if the font doesn't cover digits.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-30 Tor Lillqvist <tml@iki.fi>
* pango/makefile.mingw.in (DEFINES): Define PANGO_VERSION.
Changes by Hans Breuer:
* pango/pango-layout.c (shape_tab): Add a FIXME comment.
* pango/pango-markup.c (compare_xcolor_entries): Use g_strcasecmp.
* pango/pango-utils.c (pango_get_sysconf_subdirectory): Use second
fallback location if there is no pango subdir in the Windows
directory.
* pango/pangowin32-fontmap.c
(pango_win32_font_entry_get_coverage): Check if fopen succeeded.
* pango/pangowin32-private.h (DEBUGGING): Turn off.
* pango/pangowin32.c (pango_win32_unicode_classify): We can in
fact get out of the loop. Return invalid value in that case.
(subfont_has_glyph): Improve performance a bit.
* pango/querymodules.c: Small change for MSVC build.
* modules/basic/basic-win32.c (basic_engine_get_coverage):
Performance improvement.
* examples/viewer-win32.c (main): Disable double buffering on the
layout widget.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-19 Tor Lillqvist <tml@iki.fi>
* README.win32: New file.
* pango/fonts.c (pango_font_description_to_filename): New
function. As pango_font_description_to_string, but with result
that is better suitable as a filename: No spaces or other strange
characters, all in lowercase.
(pango_font_describe): Implement this function, call the
corresponding method.
* pango/pango-font.h: Declare pango_font_description_to_filename.
* pango/pangowin32.c (pango_win32_font_describe)
* pango/pangoft2.c (pango_ft2_font_describe): Implement these.
* pango/pangoft2-fontmap.c (pango_ft2_font_entry_get_coverage)
* pango/pangowin32-fontmap.c (pango_win32_font_entry_get_coverage):
Implement file-based persistent caching of coverages.
* pango/pangoft2-private.h (struct _PangoFT2FontEntry)
* pango/pangowin32-private.h (struct _PangoWin32FontEntry): Move
struct definition here from the -fontmap files.
* pango/pango.def: Updates.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-11 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32.c (pango_win32_render): Add code to call
SetTextAlign, but commented out.
* pango/makefile.mingw.in (PANGO_OBJS): Add new objects.
* pango/pango.def: Add new functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-08-21 Tor Lillqvist <tml@iki.fi>
* pango/pangoft2.c (pango_ft2_render): Handle also ft_pixel_mode_mono
glyphs.
* pango/pangoft2*: Portability enhancements (non-gcc).
* examples/viewer-{ft2,win32}.c: One more 1000 vs. PANGO_SCALE fix.
* pango/module-defs.c.win32: New file.
* pango/Makefile.am: Distribute it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-07-19 Tor Lillqvist <tml@iki.fi>
* examples/pangowin32.aliases: Add Tahoma and Angsana New, these
common fonts have Thai characters.
* pango/pangowin32-private.h: Rename fonts and n_fonts members
to logfonts and n_logfonts, as that is what they are.
* pango/pangowin32.c: Bug fixes. Works much better now.
(pango_win32_font_get_glyph_extents): Set y offset correctly.
(subfont_has_glyph): Call SetTextAlign. Select the font into the
HDC before calling GetTextMetrics.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-07-18 Tor Lillqvist <tml@iki.fi>
* pango/Makefile.am (EXTRA_DIST): Add the pangowin32 sources.
* pango/pangox.c (lang_texts): Add some Latin-1 to the
Finnish and Swedish strings.
* modules/module.def: New file.
* modules/Makefile.am (EXTRA_DIST): Add it.
* modules/basic/Makefile.am (EXTRA_DIST): Add basic-win32.c.
* */makefile.mingw: Small updates.
* pango/pangowin32.c
* pango/pangowin32-fontmap.c
* modules/basic/basic-win32.c
* examples/viewer-win32.c: Bug fixes. Remove dead code.
Now the Win32 implementation seems to work, except
for a few glitches.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-07-16 Tor Lillqvist <tml@iki.fi>
* pango/pango-utils.h
* pango/pango-utils.c
* pango/pangox-fontmap.c
* pango/pangowin32-fontmap.c: Move the get_{style,variant,
weight,stretch} functions to pango-utils.c, and rename
them to pango_parse_*. Would otherwise be duplicated in
pangox and angowin32.
* pango/pango.def: Export them.
* pango/pango-font.h: Add PANGO_WEIGHT_ULTRALIGHT,
PANGO_WEIGHT_LIGHT, PANGO_WEIGHT_EXTRABOLD and PANGO_WEIGHT_HEAVY
values to PangoWeight.
* pango/pango-utils.c: Recognize the new weight strings.
* pango/pangowin32.c (pango_win32_list_subfonts): Don't g_free the
subfont_list from the subfonts_by_subrange hash table...
* pango/pangowin32-fontmap.c (pango_win32_font_map_read_alias_file):
Also set the other properties in the LOGFONT, not only the face name.
(pango_win32_insert_font): Insert a pointer to a freshly allocated
LOGFONT in the hash table, not the one passed in as a parameter,
which could be (and in fact, *is*) a pointer to an auto
variable. Quantize the description weight values to exact
PANGO_WEIGHT_* values.
(pango_win32_get_unknown_glyph): Use subfont 1.
* examples/viewer-win32.c: (split_paragraphs): Don't include the
newline.
(draw): Correct 1st parameter to gdk_win32_hdc_{get,release}.
|
|
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().
|