<?xml version="1.0" ?>
<kc>

<title>Wine Traffic</title>

<author contact="http://www.theshell.com/~vinn">Brian Vincent</author>
<issue num="293" date="07 Oct 2005 00:00:00 -0800" />
<intro> <p>This is the 293rd issue of the Wine Weekly News publication.
Its main goal is to attempt to do remote support using using a tin can and string. It also serves to inform you of what's going on around Wine. Wine is an open source implementation of the Windows API on top of X and Unix.  Think of it as a Windows compatibility layer.  Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code, but it can optionally use native system DLLs if they are available.   You can find more info at <a href="http://www.winehq.org">www.winehq.org</a></p> </intro>
<stats posts="308" size="503" contrib="76" multiples="47" lastweek="34">

<person posts="29" size="59" who="molle.bestefich at gmail.com (Molle Bestefich)" />
<person posts="18" size="17" who="dimi at lattica.com (Dimi Paun)" />
<person posts="17" size="18" who="daniel.r.kegel at gmail.com (Dan Kegel)" />
<person posts="15" size="45" who="Jonathan at ErnstFamily.ch (Jonathan Ernst)" />
<person posts="14" size="17" who="julliard at winehq.org (Alexandre Julliard)" />
<person posts="13" size="14" who="dmitry at baikal.ru (Dmitry Timoshkov)" />
<person posts="11" size="14" who="eric.pouech at wanadoo.fr (Eric Pouech)" />
<person posts="8" size="11" who="fgouget at free.fr (Francois Gouget)" />
<person posts="8" size="6" who="dank at kegel.com (Dan Kegel)" />
<person posts="8" size="6" who="juan_lang at yahoo.com (Juan Lang)" />
<person posts="7" size="23" who="motub at planet.nl (Holly Bostick)" />
<person posts="7" size="16" who="wine-devel at kievinfo.com (Vitaliy Margolen)" />
<person posts="7" size="15" who="x1 at larsontechnologies.com (Ken Larson)" />
<person posts="7" size="13" who="bon at elektron.ikp.physik.tu-darmstadt.de (Uwe Bonnes)" />
<person posts="7" size="11" who="bobl at optushome.com.au (Robert Lunnon)" />
<person posts="7" size="9" who="marcus at jet.franken.de (Marcus Meissner)" />
<person posts="6" size="21" who="a_villacis at palosanto.com (=?ISO-8859-1?Q?Alex_Villac=ED=ADs_Lasso?=)" />
<person posts="6" size="7" who="brian.vincent at gmail.com (Brian Vincent)" />
<person posts="6" size="7" who="most at museresearch.com (Michael Ost)" />
<person posts="5" size="17" who="rddone at att.net (Rob D)" />
<person posts="5" size="3" who="ivanleo at gmail.com (Ivan Leo Puoti)" />
<person posts="4" size="6" who="billmedland at mercuryspeed.com (Bill Medland)" />
<person posts="4" size="4" who="truiken at gmail.com (James Hawkins)" />
<person posts="3" size="5" who="sebastien.fievet at free.fr (Sebastien Fievet)" />
<person posts="3" size="5" who="mike at plan99.net (Mike Hearn)" />
<person posts="3" size="5" who="infyquest at gmail.com (Vijay Kiran Kamuju)" />
<person posts="3" size="4" who="rob at codeweavers.com (Robert Shearman)" />
<person posts="3" size="4" who="kuba at mareimbrium.org (Kuba Ober)" />
<person posts="3" size="3" who="blin at gmx.net (Kai Blin)" />
<person posts="3" size="3" who="jnewman at codeweavers.com (Jeremy Newman)" />
<person posts="3" size="3" who="meissner at suse.de (Marcus Meissner)" />
<person posts="3" size="2" who="jakov at vmlinux.org (Jakob Eriksson)" />
<person posts="3" size="2" who="dieter.komendera at gmx.at (Dieter Komendera)" />
<person posts="3" size="2" who="wine-patches at reactsoft.com (Thomas Weidenmueller)" />
<person posts="3" size="1" who="wdev at foltman.com (Krzysztof Foltman)" />
<person posts="2" size="8" who="storri at torri.org (Stephen Torri)" />
<person posts="2" size="4" who="lkcl at lkcl.net (Luke Kenneth Casson Leighton)" />
<person posts="2" size="4" who="vberon at mecano.gme.usherb.ca (Vincent B&#233;ron)" />
<person posts="2" size="3" who="chmorgan at gmail.com (Chris Morgan)" />
<person posts="2" size="3" who="jack at itma.pwr.wroc.pl (Jacek Caban)" />
<person posts="2" size="2" who="pgr at arcelectronicsinc.com (paul)" />
<person posts="2" size="2" who="lionel.ulmer at free.fr (Lionel Ulmer)" />
<person posts="2" size="2" who="h.davies1 at physics.ox.ac.uk (Huw D M Davies)" />
<person posts="2" size="2" who="reuben at ugcs.caltech.edu (Walt Ogburn)" />
<person posts="2" size="1" who="mike at codeweavers.com (Mike McCormack)" />
<person posts="2" size="1" who="stefandoesinger at gmx.at (Stefan D&#246;singer)" />
<person posts="2" size="1" who="jakob at vmlinux.org (Jakob Eriksson)" />
<person posts="1" size="12" who="daniel.skorka at stud.uni-karlsruhe.de (Daniel)" />
<person posts="1" size="3" who="kdekorte at yahoo.com (Kevin DeKorte)" />
<person posts="1" size="3" who="p.millar at physics.gla.ac.uk (Paul Millar)" />
<person posts="1" size="2" who="maxime.bellenge at wanadoo.fr (Maxime Bellenge)" />
<person posts="1" size="2" who="gladiac.lists at gmail.com (Gladiac Spark)" />
<person posts="1" size="1" who="flace9 at gmail.com (F Lace)" />
<person posts="1" size="1" who="wine at electrozaur.com (Boaz Harrosh)" />
<person posts="1" size="1" who="cmorgan at alum.wpi.edu (Chris Morgan)" />
<person posts="1" size="1" who="michael at drueing.de (=?iso-8859-1?Q?Michael_Dr=FCing?=)" />
<person posts="1" size="1" who="richard at daijobu.co.uk (Richard Cohen)" />
<person posts="1" size="1" who="burnus at gmx.de (Tobias Burnus)" />
<person posts="1" size="1" who="the3dfxdude at gmail.com (Jesse Allen)" />
<person posts="1" size="1" who="jrliggett at cox.net (James Liggett)" />
<person posts="1" size="1" who="jmayer at loplof.de (Joerg Mayer)" />
<person posts="1" size="1" who="kevin at plop.org (Kevin Koltzau)" />
<person posts="1" size="1" who="vik at zone81.com (Vikram Kumar)" />
<person posts="1" size="0" who="jwhite at codeweavers.com (Jeremy White)" />
<person posts="1" size="0" who="mozbugbox at yahoo.com.au (JustFillBug)" />
<person posts="1" size="0" who="mark.hatsell at btinternet.com (Mark Hatsell)" />
<person posts="1" size="0" who="xerox_xerox2000 at yahoo.co.uk (Robbert Xerox)" />
<person posts="1" size="0" who="tony.lambregts at gmail.com (Tony Lambregts)" />
<person posts="1" size="0" who="wijn at wanadoo.nl (Rein Klazes)" />
<person posts="1" size="0" who="hijinio at yahoo.com (Hiji)" />
<person posts="1" size="0" who="josephhenryblack at yahoo.co.nz (josephblack)" />
<person posts="1" size="0" who="christian at visual-page.de (Christian Gmeiner)" />
<person posts="1" size="0" who="winehacker at gmail.com (Steven Edwards)" />
<person posts="1" size="0" who="listman at nerdherdclan.com (Listman)" />
<person posts="1" size="0" who="reif at earthlink.net (Robert Reif)" />

</stats>
<section 
	title="News: Wine-20050930"
	subject="News"
	archive="http://cvs.winehq.com/cvsweb/wine/ANNOUNCE?rev=1.103&amp;content-type=text/x-cvsweb-markup"
	posts="1"
>
<topic>News</topic>
<mention>Huw Davies</mention>
<mention>Mike McCormack</mention>
<mention>Rob Shearman</mention>
<mention>Daniel Remenak</mention>
<mention>News</mention>
<mention>cvs</mention>

<p>Last month we mentioned you might never have a chance to experience
Wine as alpha software again.  Fortunately, you still can.  Alexandre
released another CVS snapshot last week and noted the following additions:</p>
<quote who="Alexandre Julliard"><p>
WHAT'S NEW with Wine-20050930: (see 
<a href="http://cvs.winehq.com/cvsweb/wine/ChangeLog?rev=1.98&amp;content-type=text/x-cvsweb-markup">ChangeLog</a>
 for details)
<ul>
        <li> Joystick force feedback support.</li>
        <li> Beginnings of Win64 support.</li>
        <li> Many MSI fixes and cleanups.</li>
        <li> Font linking support.</li>
        <li> Several OLE fixes.</li>
        <li> Some fixes for MacOS/x86.</li>
        <li> Lots of bug fixes.</li></ul></p>
</quote>

<p>You might notice we really haven't discussed many of those items
in past WWN issues, so you might be surprised to see them.  Well,
most of those changes haven't really generated any discussion on 
wine-devel.  For a quick run-down on those items:
<ul><li> We can credit 
Daniel Remenak working a Google Summer of Code project for the force 
feedback (see WWN
<a href="http://www.winehq.com/?issue=285#Force%20Feedback">#285</a> for 
details.) 
</li><li>
The Win64 support is being tackled by Alexandre as is the MacOS/x86 
fixes.  Both seem to involve some low-level changes. 
</li><li>
 The MSI fixes
come courtesy of Mike McCormack and it looks like support for MSI 
transforms are in the initial stages.  A transform is a way to take
a standard MSI installer package and modify aspects of the installation
separately from the MSI file.
</li><li>

Font linking was tackled by Huw Davies.  I think it refers to a method
to output strings containing characters from a variety of character sets.
</li><li>
The OLE fixes are part of the larger DCOM project that's been going on
for over a year.  Rob Shearman contributed about a dozen and a half
patches for that.</li></ul></p>

</section>
<section 
	title="Stabilizing for Wine 0.9 Release"
	subject="Release plans"
	archive="http://www.winehq.com/pipermail/wine-devel/2005-September/040484.html"
	posts="3"
>
<topic>Project Management</topic>
<mention>Microsoft</mention>

<p>That's right, Wine really is going to see a beta release Real Soon
Now.  We've been talking about it forever but it's taken till now
for everything to come together.  Now it boils down to testing, bug
fixing, and generally making Wine usable for the masses.  The beta
release will still have boatloads of bugs, but the significance will
be the core architecture is complete and configuration works out of the
box.  Alexandre dropped a note asking for assistance from the community and 
outlining the short-term plans:</p> 
<quote who="Alexandre Julliard"><p>
Folks,
</p><p>
I just released 20050930, this should be considered the pre-0.9
release, so please give it some good testing. In particular, please
test the things that new users will encounter first, like the
automatic .wine creation and winecfg.
</p><p>
Even if you normally build from source, please for once try the binary
package for your distro and check if you spot anything the packager is
doing wrong.
</p><p>
Bugzilla has had a good cleanup lately (thanks guys!) and most of the
irrelevant bugs have been closed, so please have a look at the
remaining ones to see if there's anything you know how to fix.
</p><p>
We also still need many documentation updates, so please consider
helping with that.
</p><p>
If you have scripts that handle releases, now is the time to ensure
they can cope with a version number not in the YYYYMMDD format...
</p><p>
If all goes well, and if the documentation is updated by then, the
real 0.9 should be released in a couple of weeks.  In the meantime we
should consider ourselves in a code freeze, so please don't submit new
features or large changes, only small bug fixes will be allowed in.
</p><p>
Thanks everybody for your help, it has been a long trip but we are
getting there...
</p></quote>

<p>Then a strange thing happened: people actually began focusing on
testing and bug fixing.  There was a very noticeable change in
postings to wine-devel and a lot of people began looking at parts
of Wine they don't normally play with.  For instance, few, if any,
developers use the wineinstall script.  Even fewer download and use
the binaries.  </p>
<p>So let's be realistic for a moment.  Have you ever used CrossOver 
Office?  If so, you'll understand the potential of Wine.  CrossOver
performs <i>much</i> better than a stock Wine installation.  Very little
of that is due to hacks in CrossOver but rather that it gets a lot of
testing before releases.  So we know it's possible to stabilize Wine,
we just haven't thrown any resources (i.e. you) at it.  If you have
some time this weekend, follow Alexandre's suggestions to hammer on
our packages and configuration.</p>
<p>There's some good apps out there to test.  Google's 
<a href="http://picasa.google.com/index.html">Picasa</a> is known to
work pretty well.  Microsoft's free 
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=95E24C87-8732-48D5-8689-AB826E7B8FDF&amp;displaylang=en">Word 
Viewer</a> also performs pretty good.  Having said that, most apps still have 
glitches and breakages to some degree.  
</p>

</section>
<section 
	title="Summer of Code Update: MSHTML"
	subject="MSHTML SoC project summary"
	archive="http://www.winehq.com/pipermail/wine-devel/2005-October/040547.html"
	posts="1"
>
<topic>Web/HTML</topic>
<topic>Status Updates</topic>
<mention>Microsoft</mention>
<mention>Dimi Paun</mention>

<p>If you've been playing with Wine over the past several weeks you might
have noticed something strange.. web pages now get displayed.  The work
you're seeing is the result of Jacek Caban's MSHTML implementation.  We've
covered it a lot in past issues (see WWN
<a href="http://www.winehq.org/?issue=268#MSHTML%20Work">#268</a>,
<a href="http://www.winehq.org/?issue=271#MSHTML%20&amp;%20Gecko">#271</a>,
<a href="http://www.winehq.org/?issue=276#MSHTML%20&amp;%20Mozilla%20&amp;%20XEmbed">#276</a>,
<a href="http://www.winehq.org/?issue=281#Microsoft%20HTML%20Help">#281</a>, and
<a href="http://www.winehq.org/?issue=285#MSHTML%20Update">#285</a>).  Jacek
wrote in to give a status update on what still needs to be tackled:</p>
<quote who="Jacek Caban"><p>

As Dimi suggested, I'm writing here a summary of my
SoC project. I was working on MSHTML implementation.
More about what is MSHTML is on the wiki:
<a href="http://wiki.winehq.org/MozillaIntegration">
http://wiki.winehq.org/MozillaIntegration</a>
so I won't rewrite it here.</p><p>

MSHTML generally works as HTML is displayed, but
there is still a bit to do. The thing that blocks correct
implementation is loading pages from stream. It
prevents correct implementation of functions like stop
or refresh. What I mean here is that the function Load
gets IMoniker interface that should be used to load the
page, but the current implementation just gets URL by
GetDisplayName and lets Gecko load the page. Not only
it is a hack, it limits the functionality so that only
protocols supported by Gecko may be used - which
definitely is not what we want. Among others HTML Help,
because of this, can't work with current implementation,
as it uses mk protocol. There is some code that allowed
us to implement it correctly, but presently it's disabled.
I gave more info about this in comment to the patch:
http://www.winehq.org/pipermail/wine-patches/2005-August/020059.html
Before I'll enable it again in CVS, I'd like to have a better
URLMoniker implementation (most apps use it to pass
IMoniker to the Load function but the current Load
implementation hides bugs in it). First thing that needs
to be done with URLMoniker is to switch it to use the
pluggable protocol. That means rewriting most of
URLMoniker, but, first of all, these protocols have to
be correctly implemented. I have almost finished http
implementation, so there remain https and ftp. That's
what I'm going to work on in the nearest future, however
now it can't go to the CVS before 0.9 release (correct me
if I'm wrong). Other things that have to be done are:

<ul><li> More functionality of MSHTML: there are leaks in its
functionality. Although I don't think edit mode is something
we should really care, there are things like refresh or stop.
</li>

<li> WebBrowser control implementation - when we have
its true implementation, MSHTML will become truly useful
and in most apps HTML pages should work out of box.
</li></ul></p></quote>

<p>Dimi Paun asked Jacek to update the wiki page to include a
to do list.  Jacek created some new pages for that, including
<a href="http://wiki.winehq.org/MsHtml">MsHtml</a> and 
<a href="http://wiki.winehq.org/UrlMon">UrlMon</a>.  Dimi also
wanted to know what the problem was with shdocvw, the 
 Microsoft shell doc object and control library.  Jacek
described what was going on with it:</p>
<quote who="Jacek Caban"><p>

Builtin MSHTML works fine with shdocvw. urlmon
is a bit worse. It currently fails after BindToStorage
call. I didn't try to get it working with current
implementation as it's really just a hack and my
tests show that it's very buggy. Switching
to use pluggable protocol means rewriting it
and I hope to get it working then.
</p><p>
shdocvw currently uses the Mozilla ActiveX control
implementation of WebBrowser control. Some
apps work fine with it, so we need to have them
working with our own  implementation before we
can get rid of Mozilla ActiveX in shdocvw (and have
only Gecko depended MSHTML). Meantime
we can develop the WebBrowser version that is
used when Mozilla ActiveX control is not
available (it's just a stub now) to use MSHTML.
</p></quote>
</section>
<section 
	title="Thinking Toward Future Releases"
	subject="Release schedule after release?"
	archive="http://www.winehq.com/pipermail/wine-devel/2005-October/040686.html"
	posts="4"
>
<topic>Project Management</topic>
<mention>Ivan Leo Puoti</mention>

<p>People really began thinking this week about what the future roadmap
for Wine needs to look like.  Holly Bostick asked:</p>
<quote who="Holly Bostick"><p>
So how will one "Get Wine" after the
release? Will there continue to be monthly public betas? Or will the
release schedule change? Will the binary policy change? Meaning that the
public betas (if they still exist) will not be available in distribution
repositories, but Wine will now maintain its own stable and unstable
trees, and only releases will be available to the distro repositories?
Will there be different policies or levels of availability for different
distros (maybe a Knoppix user will be able to get the unstable beta
builds from Sid contrib, but a SuSE user won't)?</p></quote>

<p>Alexandre replied,
<quote who="Alexandre Julliard">

Apart from the version numbering, it won't change much. There will
still be regular CVS snapshots (I'm hoping to do them more frequently
than in the past, but don't hold me to that ;-), and binary packages
built from these snapshots. I have no plans to create stable/unstable
branches, at least not until we reach 1.0.</quote></p>

<p>Ivan Leo Puoti wanted to know how that would work for freezing the
tree for bugfixes only and how it would open back up.  Alexandre 
pointed out that process was in already in effect:</p>
<quote who="Alexandre Julliard"><p>
It's really a progressive process that has been going on for some time
now. As code matures I'm getting increasingly reluctant to accept
large changes to it, that's why I insist on small patches and test
cases for changes to areas like the wineserver, or the messaging code;
while for dlls that are still pretty much in prototype stage almost
anything can get in. So as we progress towards 1.0, more and more code
will get in a "frozen" state.
</p><p>
At some point we'll have to decide that some features need to be
postponed until after 1.0, but I don't think we are quite there
yet. At this point I don't see anything that is currently being worked
on that would be unacceptable for 0.9.x.</p></quote>

</section>
<section 
	title="QA &amp; Bug Triaging"
	subject="Organizing more Wine bug triage"
	archive="http://www.winehq.com/pipermail/wine-devel/2005-September/040279.html"
	posts="10"
>

<p>If you hang around any free software project for a while you'll 
hear developers talk about all of the non-coding work that needs to 
be done to keep a project moving.  Wine is certainly no exception.
As Alexandre mentioned in the above release plans, we need a fair
amount of documentation written.  Besides that, we also need folks
to do QA work and bug triaging.  </p>

<p>Now, when most people think of QA and sifting through bug
reports their eyes begin to glaze over.  Well, Wine is a little
more interesting than most projects in this regard.  Triaging
bug reports means you get to install lots of different software
and play with it.  Dan Kegel took some time to put together a
web page about how you or anyone else can report bugs or help
make existing bug reports clearer:</p>
<quote who="Dan Kegel">
<p>
Wine's bugzilla has 375 unconfirmed bugs reported since
the beginning of the year.
A fair number of these are worth fixing,
but don't have good recipes for how to reproduce them.
I think it's time to make a concerted effort
to recruit more Wine users to help triage bug
reports, so wine developers can spend less
time sorting through poor bug reports.
</p><p>
As a first stab, I've created a web page,
  <ul><a href="http://kegel.com/wine/qa">
  http://kegel.com/wine/qa</a></ul></p><p>
describing bug triage and giving easy steps
for people who are interested in helping.</p></quote>

<p>Quite a few people had good suggestions to improve the page.  
Dan is keeping a running list of bug stats and this week showed:</p>

<quote who="Dan Kegel"><p>
It's interesting to see how many bugs are in each stage of the bug lifecycle.
Here are the counts as of various dates, and links to click on to get the current count:
<ul>
<table border="0">
<tr>
<th>Date</th>

<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;bug_status=UNCONFIRMED">Unconfirmed</a></th>
<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;bug_status=NEW"        >New        </a></th>
<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;bug_status=ASSIGNED"   >Assigned   </a></th>
<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;bug_status=RESOLVED"   >Resolved   </a></th>
<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;bug_status=CLOSED"     >Closed     </a></th></tr>
<tr><td>2005.09.30</td><td>824</td><td>413</td><td>71</td>
 <td>431</td><td>1478</td>
</tr>
</table></ul></p>

<p>
It's even more interesting to see where the action is.
Here are the bugs which have been updated in the last 7 days.
It's worth browsing through the comments for a few of these.
<ul>
<table border="0">
<tr><th>Date</th>

<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;changedin=7&amp;bug_status=UNCONFIRMED">Unconfirmed</a></th>
<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;changedin=7&amp;bug_status=NEW"        >New        </a></th>
<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;changedin=7&amp;bug_status=ASSIGNED"   >Assigned   </a></th>
<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;changedin=7&amp;bug_status=RESOLVED"   >Resolved   </a></th>
<th><a href="http://bugs.winehq.org/buglist.cgi?product=Wine&amp;changedin=7&amp;bug_status=CLOSED"     >Closed     </a></th></tr>
<tr><td>2005.09.30</td><td>98</td><td>88</td><td>16</td><td>101</td><td>4</td>
</tr>
</table>
</ul></p></quote>
</section>
<section 
	title="Font Issue (Fixed)"
	subject="Stop-ship 0.9 problem"
	archive="http://www.winehq.com/pipermail/wine-devel/2005-October/040535.html"
	posts="15"
>
<topic>Fonts</topic>
<mention>CodeWeavers</mention>
<mention>Krzysztof Foltman</mention>
<mention>WineHQ</mention>
<mention>Apple</mention>

<p>Huw Davies developed a new patch within the CrossOver tree that
changed the way fonts get displayed.  Basically it enabled hinting
within of fonts within Wine.  Now, that's sort of a problem since
Apple holds patents on that process (the Freetype website has a
<a href="http://www.freetype.org/patents.html">good description</a>
of the problem.)  CodeWeavers can get away with it in CrossOver
Office since they've licensed the technology from Apple.  Within
Wine it just causes problems unless you've compiled Freetype yourself
and enabled hinting, which practically no one does.  Mike Hearn
explained the issue:</p>
<quote who="Mike Hearn"><p>

There is a serious problem with Wine 0.9 as-is, namely that we now respect
Windows antialiasing settings. 
</p><p>
If you have a patented bytecode hinter enabled FreeType, things look OK:

  <ul><a href="http://plan99.net/~mike/files/hinted-fonts.jpg">
  http://plan99.net/~mike/files/hinted-fonts.jpg</a></ul></p><p>

but if you don't (like 99% of Linux users):

  <ul><a href="http://www.republika.pl/belegdol/temp/wine.png">
  http://www.republika.pl/belegdol/temp/wine.png</a></ul></p><p>

Needless to say we can't ship 0.9 when it'll look like that for most users.
</p><p>
The attached patch fixes the issue by providing an
override for antialiasing. FreeType AA makes the fonts look good again
at small sizes.
</p><p>
A better long term solution suggested by Krzysztof Foltman might be to
make bitmapped copies of a hinted Tahoma at small sizes, for instance.
</p></quote>

<p>Dmitry Timoshkov disagreed:</p>
<quote who="Dmitry Timoshkov"><p>
I'd argue that it's not a Wine problem/bug at all, we can do nothing to improve
hinting support in FreeType. And crippling Crossover (by making it differ with
WineHQ for no good reason) because of that is not a way to go IMO.
</p><p>
In any case if a Wine user wants to see correctly displayed TrueType fonts with
correct document layout (as it depends on the rendered glyph metrics) he/she
has to use patented FreeType. And that's for sure the problem of a Linux distro
vendor who must take care of it.</p></quote>

<p><i>Insert a short debate here about who's problem it is.  Segue to
a dream sequence where Apple grants licenses to open source projects
and allows for redistribution for use within the project.  Fade back 
to reality.</i></p>

<p>Lionel Ulmer felt we should have our cake and eat it too:</p>
<quote who="Lionel Ulmer">
<p>
The only problem I see is with people having a self-compiled FreeType
library with hinting enabled. Why cripple their configuration too by default ?
</p><p>
Is there no way to detect at compile / run-time what kind of FreeType
library we link with ? Or, at the very least, let this be configurable in
winecfg (or in the registry) as it does not seem to be the case with Mike's
patch.</p></quote>

<p>Huw Davies agreed,
<quote who="Huw Daves">


We need to determine this at runtime really.  I have come up with a
way, but it's a bit of a hack - I've asked on the freetype list for a
better solution.  Once I have that I'll add a Wine specific bit to the
flags returned by GetRasterizerCaps, x11drv can query this and take
the appropriate action.</quote></p>

<p>Huw then put two small patches together to fix the problem:</p>
<quote who="Huw Davies"><p>
fonts: GetRasterizerCaps hinter enabled flag
<ul>
        Add a Wine specific flag to GetRasterizeCaps that reports
        whether freetype's patented hinter is enabled.  This will
        be used by winex11 to check whether it should honour the
        gasp table settings.</ul></p><p>
fonts: ignore the gasp table when we have no hinter
<ul>
        Ignore the gasp table when we have no hinter.</ul></p></quote>

</section>
<section 
	title="Lotus Notes 6.51 on Wine 20050930"
	subject="Lotus Notes 6.51 on Wine 20050930 - Got it working"
	archive="http://www.winehq.com/pipermail/wine-devel/2005-October/040690.html"
	posts="2"
>
<topic>Fixes</topic>
<p>Kevin DeKorte had some notes on what it took to get Lotus Notes 6.51
running with the latest release of Wine:</p>
<quote who="Kevin DeKorte"><p>
Here are a couple of notes on making Lotus Notes 6.51 work on Wine 20050930
</p><p>

The previous version of Wine that worked properly was 20050725.

</p><p><ul>
<li>I upgraded to Wine 20050930 and restarted Notes. 
</li>
<li>Notes crashed and complained about usp10 missing some entry points
</li>
<li>I ran wineprefixcreate (Note that you cannot go back to Wine 20050725 after 
you do this, so back up you .wine tree before running this)
</li>
<li>Ran winecfg and set usp10 to Windows Only
</li>
<li>Restarted Notes
</li>
<li>Notes seemed to work until I tried to save an attachment, then it crashed
</li>
<li>Triaged the crash to a change on 8/15/2005 at 9:51CDT. The patch at this time, 
changes the default version from WIN98 to NT2K
</li>
<li>Ran winecfg and set the default version to Win98
</li>
<li>Restated Notes and the application works and saving attachments works 
</li>

</ul></p><p>
Triaging the version change was a lot of work to find out that I just needed 
to change the default version. Took me nearly a day to find it.

</p><p>
If I switch back the version to default, the crash happens everytime. I 
believe a file selection dialog is being loaded and there is a problem with 
that dialog in NT2K mode and it causes a crash. 

</p><p>
The other thing that is odd is that the layout of the screen between WIN98 
mode and NT2k mode is slightly different in 20050930, mainly on the widget 
that lists the messages.  

</p><p>
Tracebacks are documented here: 
<a href="http://bugs.winehq.org/show_bug.cgi?id=2863">
http://bugs.winehq.org/show_bug.cgi?id=2863</a>

</p></quote>


</section>
<section 
	title="Test Harness for winedbg"
	subject="FYI: winedbg testing"
	archive="http://www.winehq.com/pipermail/wine-devel/2005-October/040548.html"
	posts="1"
>
<topic>Debugging</topic>
<mention>cvs</mention>

<p>Since Wine deals with bizarre things not normally found on Linux
platforms, such as PE vs. ELF files and different debugging formats, we've
developed our own debugger.  It has hooks into gcc, but it
does a lot of stuff on its own.  Eric Pouech has been the driving
force behind it for quite a few years and this week he announced
some new work he's done with it:</p>
<quote who="Eric Pouech"><p>
For those of you who might be interested, I wrote a test harness for winedbg.
</p><p>
It still doesn't cover all of the commands of winedbg, but it's very 
good starting point for catching some errors (and regressions). Basic 
features are tested (starting winedbg, step &amp; cont, break points &amp; 
watch points, global and local var access, expression &amp; types handling)
</p><p>
Unfortunately, it's not ready yet for CVS inclusion.
Anyway, if some of you want to do some real winedbg hacking, get back to 
me, we'll see how to share it in the most appropriate way.
</p><p>
In the details, the harness is made of:
<ol>
<li> an extension of regular wine's test harness: it just allows the test 
program to control a child through the command line (input &amp; output)</li>
<li> a program to behave as a debuggee</li>
<li> the testing tool itself (a regular wine test app, based on component 
1.), which launches winedbg on 2. and sends commands to winedbg and 
checks the results</li></ol>
</p><p>
The reasons why this can't be included yet in cvs are:
<ul>
<li> we need to recompile 2. in order to make the test to take place (or at 
least to have its binary image). Actually, to do a full testing, we 
should have binaries images of 2. compiled by different compilers 
(winelib app with gcc &amp; stabs, EXE with mingw &amp; stabs, EXE with msvc 
&amp; PDB...) so that we can also stress the dbghelp's support for the various 
debugging formats (stabs, PDB...)</li>
<li> I ran the harness both on Wine and Windows (with native dbghelp) 
(that's the good news), but there are some critic discrepencies, like 
first like number of a function being different (is it on first open 
brace or on first instruction ?), so the test is still not simply portable</li>
</ul>
</p><p>
For the rest of the story, while running the test on Windows &amp; native 
dbghelp, lots of misimplementation of builtin dbghelp (and therefore 
winedbg) appeared. I did fix lots of them, and I'll submit them from now on.
</p><p>
The set of patch I've just sent to wine-patches are what is required to 
make the winedbg test pass on Wine, get ready now for the rest of the 
patches to make dbghelp (and winedbg) in sync with native dbghelp
</p></quote>

</section>
<section 
	title="Undocumented API Reference"
	subject="undocumented APIs"
	archive="http://www.winehq.com/pipermail/wine-devel/2005-October/040526.html"
	posts="1"
>
<topic>Documentation</topic>
<mention>Microsoft</mention>

<p>Microsoft has undocumented API's?  Nooooo.. not Microsoft.  </p>
<p>Of course they have undocumented API's.  For the most part, they're
used internally between different components of Windows.  However,
the interfaces are exposed and it's not unheard of for programs (especially
those created by Microsoft) to use those functions.  Ivan Leo Puoti
passed along a good resource for anyone interested in this stuff:</p>
<quote who="Ivan Leo Puoti"><p>

Hello, I would like to make a general appeal to not write wine code 
based on the docs at undocumented.ntinternals.net, because they're often 
misleading, incomplete or simply wrong, and do more harm than good. 
Please refer to "Windows NT/2000 Native API Reference" by Gray Nebbett, 
to the reactos team, or to me (I've got the book) instead, and always 
write tests for undocumented functions.</p></quote>

</section></kc>
