Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Installation, Compiling and Running of theide » About the automated build svn U++ 1469 on WinXP of Chinese version
About the automated build svn U++ 1469 on WinXP of Chinese version [message #22636] Mon, 03 August 2009 08:59 Go to next message
kasome is currently offline  kasome
Messages: 78
Registered: July 2008
Location: Taiwan
Member
After install "upp-win32-1469.exe" downloaded from http://code.google.com/p/upp-mirror/downloads/list,
i run the theide.exe and see as the following picture
index.php?t=getfile&id=1864&private=0
Position of some word is incorrect, and all droplist widget can't be used.

and i found the problem is happen after svn U++ 1362(e.g."upp-win32-1362.exe" works fine).
My OS is Windows XP sp2, Chinese version.

But when i install "upp-win32-1469.exe" on the Windows XP of English version, there is no such problem.

I hope someone can fix the problem.
  • Attachment: 02.JPG
    (Size: 128.21KB, Downloaded 549 times)

[Updated on: Mon, 03 August 2009 09:07]

Report message to a moderator

Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22638 is a reply to message #22636] Mon, 03 August 2009 09:37 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12105
Registered: November 2005
Ultimate Member
kasome wrote on Mon, 03 August 2009 02:59

After install "upp-win32-1469.exe" downloaded from http://code.google.com/p/upp-mirror/downloads/list,
i run the theide.exe and see as the following picture
index.php?t=getfile&id=1864&private=0
Position of some word is incorrect, and all droplist widget can't be used.

and i found the problem is happen after svn U++ 1362(e.g."upp-win32-1362.exe" works fine).
My OS is Windows XP sp2, Chinese version.

But when i install "upp-win32-1469.exe" on the Windows XP of English version, there is no such problem.

I hope someone can fix the problem.


Are you 100% sure that 1362 worked? A cannot see any changes in related code since, aside from removing some RLOGs in FcFont...

Mirek
Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22640 is a reply to message #22638] Mon, 03 August 2009 10:24 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12105
Registered: November 2005
Ultimate Member
BTW, do you have both windows version set into "Classic" mode?

Mirek
Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22648 is a reply to message #22640] Mon, 03 August 2009 13:01 Go to previous messageGo to next message
kasome is currently offline  kasome
Messages: 78
Registered: July 2008
Location: Taiwan
Member
Thanks for replying so quickly.

I try to set "XP Style" and "Classic Style" in my WinXp of Chinese version.Here is the result.

In SVN U++ 1362, everything is fine.
http://www.postimage.org/aVqgDf0.jpg
http://img37.imageshack.us/img37/3811/37160915.th.jpg

But in SVN U++ 1393, something is wrong.
http://img199.imageshack.us/img199/2733/65933737.th.jpg
http://img30.imageshack.us/img30/8382/49844992.th.jpg

In WinXP of English version, there is no problem at all.
Here shows the latest SVN U++ 1469.
http://img269.imageshack.us/img269/7339/24723113.th.jpg
http://img198.imageshack.us/img198/3838/72655297.th.jpg

So there must be something change between SVN U++ 1362 and SVN U++ 1393.

[Updated on: Mon, 03 August 2009 13:33]

Report message to a moderator

Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22649 is a reply to message #22648] Mon, 03 August 2009 13:33 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12105
Registered: November 2005
Ultimate Member
Ah, now seeing it, I have wrongly undrestood the "works fine" version (as 1462, it is 1362).

Well, that explains it. Everything has changed in font handling since then Smile

The question is how to identify the problem...

For starters, do you think you would be able to compile latest version in 1362 and then put some LOGs in there for me?

DrawText.cpp

void Draw::DrawText(int x, int y, int angle, const wchar *text, Font font,
		            Color ink, int n, const int *dx)
{
DUMP(font);
DUMP(font.GetAscent());
DUMP(font.GetDescent());
	if(IsNull(ink)) return;
.....


the in package selector, just press Cancel and send me the .log.

Mirek
Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22656 is a reply to message #22649] Mon, 03 August 2009 15:15 Go to previous messageGo to next message
kasome is currently offline  kasome
Messages: 78
Registered: July 2008
Location: Taiwan
Member
I have compiled debug version of "TheIDE main package" by U++ 1362 on the WinXP of English version, and running the result ide.exe on the WinXP of English and Chinese version respectively.

Here is the content of the log file.

Result of log file from running the ide.exe on the WinXP of English version.
* C:\1362\out\MSC8.Debug.Debug_full.Gui\ide.exe 03.08.2009 21:05:09, user: odyssey

font = <Arial:20>
font.Info().GetAscent() = 19
font.Info().GetDescent() = 4
font = <Arial:10>
font.Info().GetAscent() = 10
font.Info().GetDescent() = 3
font = <Arial:13>
font.Info().GetAscent() = 13
font.Info().GetDescent() = 3
font = <Arial:13>
font.Info().GetAscent() = 13
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Italic>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Italic>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Italic>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Italic>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2


Result of log file from running the ide.exe on the WinXP of Chinese version.
* c:\1\ide.exe 03.08.2009 21:10:53, user: kasome

font = <Arial:20>
font.Info().GetAscent() = 19
font.Info().GetDescent() = 4
font = <Arial:10>
font.Info().GetAscent() = 10
font.Info().GetDescent() = 3
font = <Arial:13>
font.Info().GetAscent() = 13
font.Info().GetDescent() = 3
font = <Arial:13>
font.Info().GetAscent() = 13
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Italic>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Underline>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Underline>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Italic>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Underline>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Underline>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Italic>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3


If i make something wrong, please let me know.


  • Attachment: log.rar
    (Size: 0.53KB, Downloaded 196 times)

[Updated on: Mon, 03 August 2009 16:34]

Report message to a moderator

Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22662 is a reply to message #22656] Mon, 03 August 2009 17:48 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12105
Registered: November 2005
Ultimate Member
OK, that seems to be about right...

Let us try this:

struct PackageDisplay : Display {
	Font fnt;

	virtual Size GetStdSize(const Value& q) const {
		Size sz = GetTextSize(String(q), fnt);
		sz.cx += 20;
		sz.cy = max(sz.cy, 16);
		DUMP(sz.cy);
		return sz;
	}

	virtual void Paint(Draw& w, const Rect& r, const Value& q, Color ink, Color paper, dword style) const {
		w.DrawRect(r, paper);
		w.DrawImage(r.left, r.top + (r.Height() - 16) / 2, IdeImg::Package());
		w.DrawText(r.left + 20, r.top + (r.Height() - Draw::GetStdFontCy()) / 2, String(q), fnt, ink);
		LOG(String(q) << " " << fnt);
		DUMP(Draw::GetStdFontCy());
		DUMP(r.top + (r.Height() - Draw::GetStdFontCy()) / 2);
		DUMP(fnt.GetAscent());
		DUMP(fnt.GetDescent());
	}

	PackageDisplay() { fnt = StdFont(); }
};



Thanks,

Mirek
Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22663 is a reply to message #22662] Mon, 03 August 2009 19:52 Go to previous messageGo to next message
kasome is currently offline  kasome
Messages: 78
Registered: July 2008
Location: Taiwan
Member
OK, i have compiled ide.exe from different svn u++ version.
And i will run these "ide.exe" on WinXP of Chinese and English version, respectively.
I hope that will help.

a. svn u++ 1362 on WinXP of English version.(correct)
http://img40.imageshack.us/img40/218/30153170.th.jpg
Here is the log file.
* C:\Test\Run\1362\ide.exe 04.08.2009 01:42:52, user: odyssey

font = <Arial:20>
font.Info().GetAscent() = 19
font.Info().GetDescent() = 4
font = <Arial:10>
font.Info().GetAscent() = 10
font.Info().GetDescent() = 3
font = <Arial:13>
font.Info().GetAscent() = 13
font.Info().GetDescent() = 3
font = <Arial:13>
font.Info().GetAscent() = 13
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Bold>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
AddressBook <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 1
fnt.Info().GetAscent() = 11
fnt.Info().GetDescent() = 2
font = <STDFONT:11 Bold>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
AddressBookXML <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 18
fnt.Info().GetAscent() = 11
fnt.Info().GetDescent() = 2
font = <STDFONT:11 Bold>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
AddressBookXML2 <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 35
fnt.Info().GetAscent() = 11
fnt.Info().GetDescent() = 2
font = <STDFONT:11 Bold>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
AnimatedHello <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 52
fnt.Info().GetAscent() = 11
fnt.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:0>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Italic>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Bold>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
AddressBook <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 1
fnt.Info().GetAscent() = 11
fnt.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Bold>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
AddressBookXML <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 18
fnt.Info().GetAscent() = 11
fnt.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Bold>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
AddressBookXML2 <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 35
fnt.Info().GetAscent() = 11
fnt.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Bold>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
AnimatedHello <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 52
fnt.Info().GetAscent() = 11
fnt.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11 Bold>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
AddressBook <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 1
fnt.Info().GetAscent() = 11
fnt.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2
font = <STDFONT:11>
font.Info().GetAscent() = 11
font.Info().GetDescent() = 2


b. svn u++ 1362 on WinXP of Chinese version.(correct)
http://img200.imageshack.us/img200/9671/45943961.th.jpg
Here is the log file.
* C:\Test\Run\1362\ide.exe 04.08.2009 01:46:33, user: kasome

font = <Arial:20>
font.Info().GetAscent() = 19
font.Info().GetDescent() = 4
font = <Arial:10>
font.Info().GetAscent() = 10
font.Info().GetDescent() = 3
font = <Arial:13>
font.Info().GetAscent() = 13
font.Info().GetDescent() = 3
font = <Arial:13>
font.Info().GetAscent() = 13
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:0>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Italic>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Underline>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Underline>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Bold>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
AddressBook <STDFONT:12 Bold>
Draw::GetStdFontCy() = 15
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 0
fnt.Info().GetAscent() = 12
fnt.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Bold>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
AddressBookXML <STDFONT:12 Bold>
Draw::GetStdFontCy() = 15
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 17
fnt.Info().GetAscent() = 12
fnt.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Bold>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
AddressBookXML2 <STDFONT:12 Bold>
Draw::GetStdFontCy() = 15
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 34
fnt.Info().GetAscent() = 12
fnt.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Bold>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
AnimatedHello <STDFONT:12 Bold>
Draw::GetStdFontCy() = 15
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 51
fnt.Info().GetAscent() = 12
fnt.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12 Bold>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
AddressBook <STDFONT:12 Bold>
Draw::GetStdFontCy() = 15
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 0
fnt.Info().GetAscent() = 12
fnt.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3
font = <STDFONT:12>
font.Info().GetAscent() = 12
font.Info().GetDescent() = 3


c. svn u++ 1393 on WinXP of English version.(correct)
http://img24.imageshack.us/img24/4273/72574209.th.jpg
Here is the log file.
* C:\Test\Run\1393\ide.exe 04.08.2009 01:50:21, user: odyssey

font = <Arial:20>
font.GetAscent() = 19
font.GetDescent() = 4
font = <Arial:10>
font.GetAscent() = 10
font.GetDescent() = 3
font = <Arial:13>
font.GetAscent() = 13
font.GetDescent() = 3
font = <Arial:13>
font.GetAscent() = 13
font.GetDescent() = 3
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBook <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 1
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBookXML <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 18
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBookXML2 <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 35
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AnimatedHello <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 52
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Italic>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBook <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 1
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBookXML <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 18
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBookXML2 <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 35
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AnimatedHello <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 52
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBook <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 1
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2


d. svn u++ 1393 on WinXP of Chinese version.(incorrect)
http://img17.imageshack.us/img17/2363/69037716.th.jpg
Here is the log file.
* C:\Test\Run\1393\ide.exe 04.08.2009 01:55:22, user: kasome

font = <Arial:20>
font.GetAscent() = 19
font.GetDescent() = 4
font = <Arial:10>
font.GetAscent() = 10
font.GetDescent() = 3
font = <Arial:13>
font.GetAscent() = 13
font.GetDescent() = 3
font = <Arial:13>
font.GetAscent() = 13
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Italic>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Underline>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Underline>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AddressBook <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 8
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AddressBookXML <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 25
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AddressBookXML2 <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 42
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AnimatedHello <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 59
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AddressBook <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 8
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3


e. svn u++ 1469 on WinXP of English version.(correct)
http://img188.imageshack.us/img188/4434/80237731.th.jpg
Here is the log file.
* C:\Test\Run\1469\ide.exe 04.08.2009 01:58:56, user: odyssey

font = <Arial:10>
font.GetAscent() = 10
font.GetDescent() = 3
font = <Arial:13>
font.GetAscent() = 13
font.GetDescent() = 3
font = <Arial:13>
font.GetAscent() = 13
font.GetDescent() = 3
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBook <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 1
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBookXML <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 18
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBookXML2 <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 35
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AnimatedHello <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 52
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Italic>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBook <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 1
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBookXML <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 18
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBookXML2 <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 35
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AnimatedHello <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 52
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11 Bold>
font.GetAscent() = 11
font.GetDescent() = 2
AddressBook <STDFONT:11 Bold>
Draw::GetStdFontCy() = 13
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 1
fnt.GetAscent() = 11
fnt.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2
font = <STDFONT:11>
font.GetAscent() = 11
font.GetDescent() = 2


f. svn u++ 1469 on WinXP of Chinese version.(incorrect)
http://img26.imageshack.us/img26/8611/98905895.th.jpg
Here is the log file.
* C:\Test\Run\1469\ide.exe 04.08.2009 02:03:37, user: kasome

font = <Arial:10>
font.GetAscent() = 10
font.GetDescent() = 3
font = <Arial:13>
font.GetAscent() = 13
font.GetDescent() = 3
font = <Arial:13>
font.GetAscent() = 13
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Italic>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Underline>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Underline>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AddressBook <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 8
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AddressBookXML <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 25
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AddressBookXML2 <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 42
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AnimatedHello <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 59
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12 Bold>
font.GetAscent() = 12
font.GetDescent() = 3
AddressBook <STDFONT:12 Bold>
Draw::GetStdFontCy() = 0
r.top + (r.Height() - Draw::GetStdFontCy()) / 2 = 8
fnt.GetAscent() = 12
fnt.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3
font = <STDFONT:12>
font.GetAscent() = 12
font.GetDescent() = 3

[Updated on: Mon, 03 August 2009 20:04]

Report message to a moderator

Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22664 is a reply to message #22663] Mon, 03 August 2009 20:15 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12105
Registered: November 2005
Ultimate Member
kasome wrote on Mon, 03 August 2009 13:52


Draw::GetStdFontCy() = 0



This is the trouble...

Now we have to find out why... Smile

Mirek
Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22665 is a reply to message #22664] Mon, 03 August 2009 20:17 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12105
Registered: November 2005
Ultimate Member
void GetStdFontSys(String& name, int& height)
{
#ifdef PLATFORM_WINCE
	name = "Arial";
	height = 10;
#else
	NONCLIENTMETRICS ncm;
	ncm.cbSize = sizeof(ncm);
	::SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0);
	name = ncm.lfMenuFont.lfFaceName;
	height = abs((int)ncm.lfMenuFont.lfHeight);
#endif
        DUMP(name);
        DUMP(height);
}


Please remove all other logs (or reload sources).

No need to perform so many tests, incorrect chinesse run is enough.

Mirek
Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22666 is a reply to message #22665] Mon, 03 August 2009 20:21 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12105
Registered: November 2005
Ultimate Member
Also:

void Font::SetStdFont(Font font)
{
	DrawLock __;
	InitStdFont();
	AStdFont = font;
	SyncStdFont();
        LOG("SetStdFont " << font);
}

void Font::InitStdFont()
{
	ONCELOCK {
		DrawLock __;
		List();
		AStdFont = Arial(12);
		String name;
		int    height = 0;
		GetStdFontSys(name, height);
		int q = FindFaceNameIndex(name);
DUMP(q);
		if(q > 0) {
			AStdFont = Font(q, max(height, 1));
LOG("InitStdFont " << font);
			SyncStdFont();
		}
	}
}
Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22668 is a reply to message #22666] Tue, 04 August 2009 03:51 Go to previous messageGo to next message
kasome is currently offline  kasome
Messages: 78
Registered: July 2008
Location: Taiwan
Member
Ok, I have done by what you say, Mirek.
And here is the log file.
* C:\Test\Run\1469\ide.exe 04.08.2009 09:53:40, user: kasome

name = 新細明體
height = 12
q = 0



BTW, i have to back to my military camp until this weekend.I hope you can wait for me to continue this work.
thanks, Mirek. Smile

[Updated on: Tue, 04 August 2009 03:58]

Report message to a moderator

Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22671 is a reply to message #22668] Tue, 04 August 2009 07:18 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12105
Registered: November 2005
Ultimate Member
kasome wrote on Mon, 03 August 2009 21:51

Ok, I have done by what you say, Mirek.
And here is the log file.
* C:\Test\Run\1469\ide.exe 04.08.2009 09:53:40, user: kasome

name = 新細明體
height = 12
q = 0



BTW, i have to back to my military camp until this weekend.I hope you can wait for me to continue this work.
thanks, Mirek. Smile


Well, this looks like the problem is the font name - I am afraid that at the moment, non-ASCII name can break the CreateFont...

Should be quite easy to fix I hope.

Mirek
Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22707 is a reply to message #22671] Fri, 07 August 2009 13:03 Go to previous messageGo to next message
kasome is currently offline  kasome
Messages: 78
Registered: July 2008
Location: Taiwan
Member
Sorry for the delay replying.

Now I add some DUMP and LOG in Font::FindFaceNameIndex of Font.cpp.

int  Font::FindFaceNameIndex(const String& name) {
	if(name == "STDFONT")
		return 0;
	DUMP(name);
	DUMP(name.GetLength());
	DUMP(GetFaceCount());
	for(int i = 1; i < GetFaceCount(); i++){
		LOG( "GetFaceName(" << i << ") = " << GetFaceName(i) );
		LOG( "GetFaceName(" << i << ").GetLength() = " << GetFaceName(i).GetLength() );
		if(GetFaceName(i) == name){
			return i;
		}
	}
	String n = Filter(name, FontFilter);
	for(int i = 1; i < GetFaceCount(); i++)
		if(Filter(GetFaceName(i), FontFilter) == n)
			return i;
	return 0;
}


i run the ide.exe and see the result log file as follows.
* c:\2009_08_10\MSC8.Debug.Debug_full.Gui\ide.exe 08.08.2009 18:39:20, user: kasome

name = 新細明體				==> the font we want to find ( it is encoded by "Big5",
					==> a local character encoding method used in Taiwan for
					==> Traditional Chinese characters )
name.GetLength() = 8			==> it's length is 8 (2 bytes for one Chinese character)
GetFaceCount() = 91
GetFaceName(1) = Times New Roman
GetFaceName(1).GetLength() = 15
GetFaceName(2) = Arial
GetFaceName(2).GetLength() = 5
GetFaceName(3) = Courier New
GetFaceName(3).GetLength() = 11
..........................
GetFaceName(44) = Sylfaen
GetFaceName(44).GetLength() = 7
GetFaceName(45) = 標楷體
GetFaceName(45).GetLength() = 9
GetFaceName(46) = 細明體
GetFaceName(46).GetLength() = 9
GetFaceName(47) = 新細明體		==> the matched font ( it is encoded by "UTF8" )
GetFaceName(47).GetLength() = 12	==> it's length is 12 (3 bytes for one Chinese character)
GetFaceName(48) = Microsoft Sans Serif
GetFaceName(48).GetLength() = 20
...........................

"新細明體" is a Chinese font name, which is stored in the variable "name" from the function "GetStdFontSys", and it is encoded by "Big5", and has the string length 8.

Also we can see the font name "新細明體" is matched from the string returned by GetFaceName(47), but it is encoded by UTF8, and has the string length 12.

So i guess all we have to do is just convert the big5 string to the utf8 string by the function "FromSystemCharset",and the matching will be successful.

Then I try to modify the code in FontWin32.cpp,
void GetStdFontSys(String& name, int& height)
{
#ifdef PLATFORM_WINCE
	name = "Arial";
	height = 10;
#else
	NONCLIENTMETRICS ncm;
	ncm.cbSize = sizeof(ncm);
	::SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0);
//	name = ncm.lfMenuFont.lfFaceName;					==> original
	name = FromSystemCharset(ncm.lfMenuFont.lfFaceName);			==> modified
	height = abs((int)ncm.lfMenuFont.lfHeight);
#endif
}


Finally i recompile the modified code and run, it looks like perfect.
index.php?t=getfile&id=1876&private=0

Maybe there still some gently way to improve.
Thanks, Mirek. You are a nice teacher.
  • Attachment: final.jpg
    (Size: 31.70KB, Downloaded 349 times)

[Updated on: Sat, 08 August 2009 13:45]

Report message to a moderator

Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22719 is a reply to message #22707] Sat, 08 August 2009 15:10 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 12105
Registered: November 2005
Ultimate Member
Perfect. This is exactly the solution I had in mind, but you saved me the time and trouble.

Thanks.

The only problem I see with this solution is when your app is not in UTF-8 mode. OTOH, that is quite unlikely with Chinesse XP, right? Smile

Mirek
Re: About the automated build svn U++ 1469 on WinXP of Chinese version [message #22720 is a reply to message #22719] Sat, 08 August 2009 16:33 Go to previous message
kasome is currently offline  kasome
Messages: 78
Registered: July 2008
Location: Taiwan
Member
Sure. Smile

Thanks, Mirek.
Previous Topic: Mingw/GCC 4.4.0 linker warnings
Next Topic: No texts rendered unless NOGTK flag is used
Goto Forum:
  


Current Time: Thu Nov 21 22:23:04 CET 2019

Total time taken to generate the page: 0.02110 seconds