New Pango and GTK+ 2.0 zipfiles (20020921)

Tor Lillqvist <[email protected]>
Newsgroups gmane.comp.video.gimp.windows.devel
Message-ID <[email protected]>
Links from www.gimp.org/win32/downloads.html.

If you just use GIMP, ignore this message.

In particular, this version of Pango and GTK+ 2.0 should fix the
problems with display of Chinese (and presumably Korean and Japanese)
text, and hopefully the font selector crash in a Chinese locale. Also
the problem somebody reported that no GDK event was being generated
for F10 has been fixed.

Here follows ChangeLog entries for GTK+ 2.0 and Pango 1.0 since the
previous zipfiles I had available (20020908). First GTK+:

2002-09-21  Tor Lillqvist  <[email protected]>

	* gdk/win32/gdkmain-win32.c (_gdk_windowing_init_check): Silence a
	gcc warning, use %p to print a HKL.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate):
	WM_SYSKEYDOWN, WM_SYSKEYUP: Need to handle F10 specially here in
	order to be able to handle it normally in the application. Set
	ignore_wm_char also always when handling WM_SYSKEY{DOWN,UP}, this
	way we can generate GDK events also for Alt-Fn keys, for instance.
	
	* gdk/win32/gdkselection-win32.c (sanitize_utf8): Copy from X11
	backend. The old version mishandled consecutive newlines.

	* tests/testgtkrc: Remove obsolete mention of gtk-engines and
	Pixmap theme engine on Win32.

2002-09-20  Tor Lillqvist  <[email protected]>

	* gtk/gtkmain.c (gtk_get_default_language): On Win32, look
	explicitly for LANG, LC_ALL and LC_CTYPE, and if not found, use
	g_win32_getlocale(). The setlocale() in msvcrt.dll would return a
	locale name in the form Swedish_Finland for sv_FI.

2002-09-16  Tor Lillqvist  <[email protected]>

	* gdk/gdkfont.h: Delete leftover declarations of the obsolete
	Win32-only functions gdk_font_full_name_get() and
	gdk_font_full_name_free().

	* gdk/gdk.def: Delete from here, too.

	* gdk/win32/gdkfont-win32.c (logfont_to_xlfd,
	gdk_font_full_name_get, gdk_font_full_name_free): Delete
	implementation, and helper functions.

	(pattern_match, InnerEnumFontFamExProc, EnumFontFamExProc,
	gdk_font_list_new, gdk_font_list_free): Delete unused functions.

	(gdk_text_width, gdk_text_width_wc) Instead of code duplication,
	let gdk_text_extents() and gdk_text_extents_wc() do the job.
	
	* gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
	Don't use the above removed functions in debugging output.

	* gdk/win32/gdkinput-win32.c (gdk_input_wintab_init): Use correct
	function name in warning messages.

2002-09-14  Sven Neumann  <[email protected]>

	* gdk/gdkpixbuf-drawable.c: fixed my latest change.

2002-09-13  Sven Neumann  <[email protected]>

	* gdk/gdkpixbuf-drawable.c: use the most significant bits of the
	GdkColor components (#89703).

Tue Sep 10 15:39:42 2002  Jonathan Blandford  <[email protected]>

	* gtk/gtkliststore.c (gtk_list_store_finalize): free the root
	list.

	* gtk/gtktreestore.c (gtk_tree_store_finalize): free the root
	nodes.

Tue Sep 10 11:06:51 2002  HideToshi Tajima  <[email protected]>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): 
	(gtk_im_context_xim_get_ic, gtk_im_with_preedit,
	gtk_im_without_preeedit): filter key release events only when
	input methods ask for (#81759)

Tue Sep 10 09:29:00 2002  Owen Taylor  <[email protected]>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Take
	focus mode into account when tracking FocusIn/Out events,
	so we don't get confused by focus changes while a 
	keyboard grab is in effect. (Probably fixes #90563)

Mon Sep  9 16:16:25 2002  Shivram U  <[email protected]>

	* gtk/gtktextview.c (gtk_text_view_drag_motion): If the end iter
	is also a part of the selection, then we are in the selection.
	(#92768)

Pango:

2002-09-21  Tor Lillqvist  <[email protected]>

	* 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.

	* examples/Makefile.am (EXTRA_DIST): Don't distribute
	pangowin32.aliases, which isn't used.

	* examples/pangowin32.aliases: Add comment that the file is of
	historical interest only. Could be removed from CVS completely,
	but I'll keep it for a while because of the useful comments on
	where to get various non-Latin fonts.

Thu Sep 19 15:12:21 2002  Owen Taylor  <[email protected]>

	* pango/pango-utils.c (pango_scan_int): Fix problem
	where position wasn't updated properly.


--tml
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.