<kc version="0.1.0">

<title>Wine Traffic</title>

<author contact="mailto:vinn@theshell.com">Brian Vincent</author>

<issue num="119" date="30 Mar 2002 23:00:00 -0800" />

<intro>

<p />This is the 119th release of the Wine's kernel cousin publication. It's main goal 
is to distribute widely what's going on around Wine (the Un*x windows emulator). 
</intro>

<stats posts="132" size="386" contrib="44" multiples="24" lastweek="25">
<person posts="16" size="43" who="Francois Gouget &lt;fgouget@free.fr&gt;" />
<person posts="14" size="33" who="Eric Pouech &lt;eric.pouech@wanadoo.fr&gt;" />
<person posts="9" size="23" who="Lonnie Cumberland &lt;lonnie@outstep.com&gt;" />
<person posts="9" size="20" who="Alexandre Julliard &lt;julliard@winehq.com&gt;" />
<person posts="7" size="15" who="Warren_Baird@cimmetry.com" />
<person posts="6" size="21" who="Huw D M Davies &lt;h.davies1@physics.ox.ac.uk&gt;" />
<person posts="6" size="14" who="Andriy Palamarchuk &lt;apa3a@yahoo.com&gt;" />
<person posts="5" size="11" who="Sylvain Petreolle &lt;spetreolle@yahoo.fr&gt;" />
<person posts="4" size="15" who="Ku Cheng &lt;kucheng@cisco.com&gt;" />
<person posts="4" size="11" who="Uwe Bonnes &lt;bon@elektron.ikp.physik.tu-darmstadt.de&gt;" />
<person posts="3" size="19" who="Chris Morgan &lt;cmorgan@alum.wpi.edu&gt;" />
<person posts="3" size="10" who="Shachar Shemesh &lt;wine-devel@sun.consumer.org.il&gt;" />
<person posts="3" size="9" who="Laurent Pinchart &lt;laurent.pinchart@skynet.be&gt;" />
<person posts="3" size="9" who="Michael Stefaniuc &lt;mstefani@redhat.de&gt;" />
<person posts="3" size="7" who="Michael Cardenas &lt;michael.cardenas@lindows.com&gt;" />
<person posts="3" size="7" who="Dimitrie O. Paun &lt;dpaun@rogers.com&gt;" />
<person posts="2" size="7" who="Paul Millar &lt;paulm@astro.gla.ac.uk&gt;" />
<person posts="2" size="6" who="Duane Clark &lt;dclark@akamail.com&gt;" />
<person posts="2" size="6" who="Dmitry Timoshkov &lt;dmitry@baikal.ru&gt;" />
<person posts="2" size="6" who="Rizsanyi Zsolt &lt;rizsanyi@myrealbox.com&gt;" />
<person posts="2" size="5" who="Andreas Mohr &lt;andi@rhlx01.fht-esslingen.de&gt;" />
<person posts="2" size="5" who="Geoffrey Hausheer &lt;it9zui001@sneakemail.com&gt;" />
<person posts="2" size="4" who="Ove Kaaven &lt;ovehk@ping.uio.no&gt;" />
<person posts="2" size="4" who="Ulrich Weigand &lt;weigand@immd1.informatik.uni-erlangen.de&gt;" />
<person posts="1" size="16" who="Insyde &lt;insyde@insyde.com.br&gt;" />
<person posts="1" size="4" who="Tony Lambregts &lt;tony_lambregts@telusplanet.net&gt;" />
<person posts="1" size="4" who="Christian Jiresjo &lt;ds98chji@thn.htu.se&gt;" />
<person posts="1" size="3" who="David Hammerton &lt;crazney@pacman.transgaming.com&gt;" />
<person posts="1" size="3" who="Lionel Ulmer &lt;lionel.ulmer@free.fr&gt;" />
<person posts="1" size="3" who="Peter Hunnisett &lt;peter@transgaming.com&gt;" />
<person posts="1" size="2" who="Steven Edwards &lt;Steven_Ed4153@yahoo.com&gt;" />
<person posts="1" size="2" who="Urivan Saaib &lt;saaib@c-ber.net&gt;" />
<person posts="1" size="2" who="Marcus Meissner &lt;marcus@jet.franken.de&gt;" />
<person posts="1" size="2" who="Jeremy White &lt;jwhite@codeweavers.com&gt;" />
<person posts="1" size="2" who="DanteAliegri &lt;og1@umbc.edu&gt;" />
<person posts="1" size="2" who="Aric Stewart &lt;aric@codeweavers.com&gt;" />
<person posts="1" size="2" who="Ludootje &lt;ludootje@linux.be&gt;" />
<person posts="1" size="2" who="Boris Buegling &lt;boris@icculus.org&gt;" />
<person posts="1" size="1" who="Russell Howe &lt;rhowe@wiss.co.uk&gt;" />
<person posts="1" size="1" who="David Chow &lt;davidchow@shaolinmicro.com&gt;" />
<person posts="1" size="1" who="Morten Welinder &lt;terra@diku.dk&gt;" />

</stats>




<section
  title="News: Crossover Office, WineX 2.0"
  subject="News"
  archive="http://www.winehq.com/hypermail/wine-devel/2002/03/0442.html"
  posts="3"
  startdate="24 Mar 2002 23:00:00 -0800"
  enddate="30 Mar 2002 23:00:00 -0800"
>
<topic>News</topic>


<mention>CodeWeavers</mention>
<mention></mention>
<mention>Transgaming</mention>
<mention>Brian Vincent</mention>
<mention>Lindows.com</mention>
<mention>DesktopLinux</mention>
<mention>News</mention>

<p />The biggest news of the week is CodeWeavers 
<a href="http://www.winehq.com/hypermail/wine-devel/2002/03/0442.html">announcement</a>
of their newest
product.  Dubbed "Crossover Office" it allows:
<quote who="codeweavers"><p />
you to install your favorite Windows productivity applications in Linux, without needing a Microsoft Operating System license. CrossOver includes an easy to use, single click interface, which makes installing a Windows application simple and fast. 
Once installed, your application will integrate directly with your Gnome or KDE environment. Just click and run your application, exactly as you would in Windows, but with the full freedom of Linux. 
CrossOver Office is capable of running a range of Windows software, but CodeWeavers will support the following applications: 
<ul>
 <li /> Microsoft Office 97 and 2000 
 <li /> Microsoft Word 
 <li /> Microsoft Excel 
 <li /> Microsoft Powerpoint 
 <li /> Microsoft Outlook 
 <li /> Lotus Notes 
</ul>
<p />
In the near future, CodeWeavers will dramatically expand the list of applications it will support with CrossOver Office. </quote>
<p />CodeWeavers submitted a huge patch a few months ago to wine-patches, presumably it came from the 
 work that was put into this product.  And since the patch was generated against CVS from November it can
 surmised they've done substantially more development. 

<p />DesktopLinux.com has <a href="http://www.desktoplinux.com/articles/AT6509081484.html">a review</a>
of the product, LinuxPlanet <a href="http://www.linuxplanet.com/linuxplanet/reviews/4126/1/">
does too</a>.  CodeWeavers has a bunch of screenshots of Microsoft Office running on Linux... 
 [ <a href="http://www.codeweavers.com/products/office/images/office-install-big.png">	   1 </a> ]
 [ <a href="http://www.codeweavers.com/products/office/images/office-apps-big.png">        2 </a> ]
 [ <a href="http://www.codeweavers.com/products/office/images/notes_welcome.gif">	   3 </a> ]
 [ <a href="http://www.codeweavers.com/products/office/images/msoutlook2000_contacts.gif"> 4 </a> ]

<p />CodeWeavers is offering <a href="http://store.yahoo.com/codeweavers-wine/index.html">several
different</a> products now, and you can even purchase the Crossover Plugin and Office products
together at a reduced price.  And yes, this includes support.

<p />Transgaming gave a <a href="http://www.transgaming.com/showthread.php?news=28">status
update</a> on WineX 2.0 - it's coming soon.  Included will be support for Diablo 2's Battle.net.
Also in the future will be a naming contest for their logo, details to be announced soon.

<p />And not to leave out Lindows.com, but they added a 
"<a href="http://www.lindows.com/lindows_products.php">Warehouse</a>" section to their
website for their upcoming Sneak Preview 2.0.  The goal of this will be integration 
between the desktop and the web site to allow apps to be downloaded and installed.  

<p /><editorialize who="Brian Vincent">Increasingly I've been including news about commercial
companies within this news section.  The reason is simply
because there's been more news.
At the same time, the contributions from these companies are greatly increasing the viability
of Wine and how well it performs.  As long as their contributions benefit the community
I would like to continue to cover news about them.  However, this may be at odds with
what you believe so I'd like to take this opportunity to solicit your thoughts concerning
whether KC Wine and Wine Weekly News should continue to cover the more commercial aspects
of development.  Please email me at <a href="mailto:vinn@theshell.com">vinn at theshell.com</a>
and let me know what you think.  Okay, time to stop editorializing, I'm gonna mail this to
Zack so I can go skiing.
</editorialize>

</section>





<section
  title="Wineconf 2002 (con't)"
  subject="wineconf 2002 summary"
  archive="http://www.winehq.com/hypermail/wine-devel/2002/04/0009.html"
  posts="2"
  startdate="31 Mar 2002 23:00:00 -0800"
  enddate="31 Mar 2002 23:00:00 -0800"
>
<topic>Documentation</topic>


<mention></mention>
<mention>News</mention>

<p />To follow up on 
<kcref subject="wineconf 2002: final things" startdate="18 Mar 2002 23:00:00 -0800"> 
last week's coverage</kcref> of Wineconf, Andreas Mohr
mentioned, <quote who="Andreas Mohr">
 I just added a link to my final wineconf 2002 summary page at
<a href="http://home.arcor.de/andi.mohr/wine/wineconf2002/">
 http://home.arcor.de/andi.mohr/wine/wineconf2002/</a>
 to the WineHQ News. If anyone else has anything to contribute, 
 then feel free to tell me NOW :)
</quote>

</section>







<section
  title="Making Fonts Suck Less"
  subject="OT: Buggy fonts"
  archive="http://www.winehq.com/hypermail/wine-devel/2002/03/0390.html"
  posts="10"
  startdate="24 Mar 2002 23:00:00 -0800"
  enddate="25 Mar 2002 23:00:00 -0800"
>
<topic>Fixes</topic>


<mention></mention>
<mention>Francois Gouget</mention>

<p />
Russell Howe asked,
<quote who="Russell Howe">
<p />
 I'm afraid this is a little off-topic, but every time Wine starts, as it
 builds the font metrics, xfs-xtt (the font server) dies. I'm assuming
 there's a font (or few) in the system which it doesn't like, or which
 are corrupt.
<p />
 It makes wine rather annoying to use (and means that if I kill wine and
 restart the font server, it thinks the metrics are already done and
 ignores most of my fonts!)
<p />
 Does anyone know an easy way to find out which fonts they are?
</quote>

<p />Huw Davies stepped up and replied:
<quote who="Huw Davies">
<p />
Try deleting ~/.wine/cachedmetrics* , re-run wine with <code>--debugmsg
+font</code>, the last font that gets listed before the crash should be the
problem one.
<p />
A much better way to do font rendering in Wine is to use the new
client side rendering code.  For this you need an XServer capable of
supporting the RENDER extension (xdpyinfo will tell you whether you
have such a beast) and a copy of the FreeType library version at least
2.0.5 (but the later the better).  Add a [FontDirs] section to your
~/.wine/config file, with entries pointing at any directories that
contain TT fonts
<p />
eg<ul><code>
[FontDirs]<br />
"dir1"="/usr/X11R6/lib/X11/fonts/TT"<br />
"dir2"="/usr/share/fonts/TT"<br />
</code></ul>
etc...
</quote>

<p />Huw has done a lot of work on fonts and gave a 
<a href="http://www.lpbn.org:8080/ramgen/w9a.rm?usehostname">presentation</a>
at Wineconf on the topic.  Huw also mentioned that there's no need to list
the Window's font directory, it's searched automatically.

<p />Duane Clark reported, <quote who="Duane Clark">
This got me to try out the client side rendering. It really does make 
the fonts (in MS Word in particular) not suck! Nice job. Guess I will 
stick with this configuration.</quote>

<p />Duane reported a small problem that he worked around by hardcoding
some values.  He wondered what the proper solution was though.  Francois
Gouget suggested upgrading to the newest FreeType library.  Duane tried
that without success.  Huw then asked for a trace so he could debug it.

</section>












<section
  title="Implementing BiDi Fonts"
  subject="Adding new libraries to the repository"
  archive="http://www.winehq.com/hypermail/wine-devel/2002/03/0371.html"
  posts="6"
  startdate="24 Mar 2002 23:00:00 -0800"
  enddate="25 Mar 2002 23:00:00 -0800"
>
<topic>Internationalization</topic>


<mention></mention>
<mention>Dimitrie Paun</mention>

Shachar Shemesh opened discussion on adding BiDi support to Wine:
<quote who="Shachar Shemesh">
Like I mentioned ealier last week, I intend to add BiDi support to WINE. 
There is a library called fribidi (
<a href="http://fribidi.sourceforge.net/">http://fribidi.sourceforge.net/</a>) 
that does a pretty good job, and seems exactly apropriate for this task. I 
have two questions:
<ol>
<li /> What are my chances of getting a patch of this magnitude incorporated 
into the tree. The library is not particularily big, but includes a set 
of unicode translation files that are automatically generated from the 
unicode standard. It seems that WINE holds similar files itself, for 
similar purposes. I have not yet checked whether they conflict, and if 
they do, whether this conflict is resolvable.

<li /> The library is under the LGPL license. I understand that some of the 
WINE tree is under the same license, while other parts are under the X11 
license. Can someone please comment on the implications of such a move? 
What things do I need to take into consideration?
</ol>
</quote>

<p />Shachar also asked for help from any fluent Arabic speaking developers 
to help him with the process.  

<p />Alexandre replied, 
<quote who="Alexandre Julliard">
You don't want to include the full library in the tree of course;
there is already a bunch of unicode stuff in libwine_unicode so what
you probably want to do is take algorithms from fribidi and merge them
into libwine_unicode. The unicode tables in there could easily be
extended to add the required information; I can help you with that if
necessary. I doubt you could use fribidi directly anyway since AFAICS
it uses 32-bit Unicode chars, while Wine needs 16-bit chars.
</quote>  He also pointed out that there's no problem including LGPL
code now that Wine uses that license also.

<p />Hetz Ben Hamo felt it wasn't nearly as simple as Shachar believed
and pointed out two problems:
<quote who="Hetz Ben Hamo">
<ol><li />
 As it stands now - you can't even see hebrew because, simply put, the fonts 
rendering doesn't support it - run Word Viewer with a hebrew document and see 
what I mean.

<li /> The hebrew keyboard is not supported at all, plain and simple.
</ol></quote>

<p />Shachar wasn't sure about the keyboard support but felt it shouldn't
be any different for other multi-locale keyboards.  As far as font rendering,
Shachar mentioned he had already tested a small Unicode program using
DrawText that printed Hebrew without any problems.  

<p />Dimitrie Paun wondered if the Unicode stuff should be separated from
Wine.  He felt there were too many implementations of it and maybe another
project would find the code useful.  Shachar pointed out that Fribidi did
have it's own implementation.  He also was concerned because, as Alexandre
pointed out, Fribidi uses UTF-32 and Wine expects 16-bit not 32-bit
characters.  

</section>








 


<section
  title="Implementing a DIB Engine"
  subject="DIB engine"
  archive="http://www.winehq.com/hypermail/wine-devel/2002/03/0502.html"
  posts="5"
  startdate="29 Mar 2002 23:00:00 -0800"
  enddate="30 Mar 2002 23:00:00 -0800"
>
<topic>Multimedia</topic>


<mention></mention>
<mention>codeweavers</mention>
<mention>TransGaming</mention>

<p />This is the first of two threads Francois Gouget started 
concerning features to be added to Wine.  He asked for opinions 
of other developers on how to approach them.  The first thread 
was about implementing a DIB engine:
<quote who="Francois Gouget">
<p />
   The DIB engine was discussed quite a lot at WineConf. I am now trying
to summarize these discussions to update bug 421 - Implement a DIB
engine.
<p />
<a href="http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=421">
http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=421</a>
<p />
Is the following accurate, complete, etc? Comments? Other ideas?
Any volunteers?
<p />
   This was discussed quite a bit at WineConf. Ideas that were floated
around are:
<p />
<ol>
 <li />Have X export the required API
 <li />Copy the relevant X code into Wine
 <li />Copy the relevant code from MicroWindows/NanoGUI to Wine
 <li />Copy the relevant code from GGI to Wine
</ol></quote>

<p />Those last points were summarized.  Please refer to Francois' 
<a href="http://www.winehq.com/hypermail/wine-devel/2002/03/0502.html">
original post</a> for more details.

<p />DIB stands for "Display Independent Bitmap".  Windows uses a DIB
engine to do 32-bit graphics manipulation.  These operations are performed
in memory rather than transferring to the graphics card for hardware 
acceleration.  As a result, one of the problems facing Wine is how to
perform these operations in an efficient manner without adding a lot of
overhead.  Francois thought TransGaming had come up with some method
for doing this, but wasn't sure.

<p />David Hammerton explained TransGaming's approach:
<quote who="David Hammerton">
<p />
 We make use of Shared Memory Pixmaps to reduce the copying (in WineX).. So we have
 app memory which stores the image in the mode requested by the app,
 this then gets copied into a SHMPixmap of the depth supported by X so X
 can do whatever it wants to (render to it or whatever) and it then gets
 copied back when needed, same method..
<p />
 One of the big savers here is that the ShmPixmap means we dont have to
 be sending stuff between X server/client, saves alot of time..
<p />
 As for X supporting multiple depths - I investigated this and talked to
 some of the X coders, its still not "wonderfully" supported.. ehm, it
 lacks alot of the most common modes - eg 8bit paletted - its not really
 worth it from what I can see..
 The X developers suggested that if I wanted to go down this road to
 first write an X extension, ShmPixmaps were nicer and almost as fast...
</quote>




</section>





<section
  title="Unicode and I18N Support"
  subject="Unicode, i18n support"
  archive="http://www.winehq.com/hypermail/wine-devel/2002/03/0506.html"
  posts="12"
  startdate="29 Mar 2002 23:00:00 -0800"
  enddate="31 Mar 2002 23:00:00 -0800"
>
<topic>Internationalization</topic>

<mention></mention>
<mention>Shachar Shemesh</mention>
<mention>Dimitrie Paun</mention>

<p />
The second thread Francois started was about Unicode support.  Right
now there's a bug referencing it, but it's quite vague.  Francois
requested comments about creating specific goals to make the task
seem more manageable.  He wondered what controls still needed Unicode
support and what common dialogs need work.

<p />Dmitry Timoshkov felt some things needed work, but added,
<quote who="Dmitry Timoshkov">

 One more thing that should be addressed IMO as the part of the unicode
 support in Wine: file APIs. For instance in the current state all russian
 file names created by windows programs are completely unreadable in Linux
 because they are created in code page 1251 but native russian encoding
 in Linux is KOI8-R (code page 20866). Therefore all file APIs should
 work with unicode natively, and convert file names to code page specified
 somewhere in the config file (like [x11drv]/TextCP) on create, and vice versa
 on reading file names from disk.
</quote>

<p />Dimitrie Paun thought that Linux's support of UTF8 would be enough.
But Dmitry didn't think that was sufficient, <quote who="Dmitry Timoshkov">
 I'm afraid that will help to Linux only based installations of Wine, and
 in any case all functions in Wine implementing file APIs should internally
 use unicode.
</quote>

<p />Dmitry proposed creating filenames on disk in encoding used
in Linux because it's necessary to support
<quote who="Dmitry Timoshkov">
 general mount options, used by *all* russian
 users in the world to be able correctly see cyrillic filenames under Linux
 from a vfat partition: 
 <code>mount -t vfat -o codepage=866,iocharset=koi8-r.</code></quote>

<p />
Shachar Shemesh wasn't sure Windows would be able to read them.
But Dmitry explained Windows would be able to
<quote who="Dmitry Timoshkov">
 thanks to magic mounting options I mentioned earlier. Native Linux
 localized applications know nothing about anything other than KOI8-R, and
 filenames created by them on a vfat partition are readable under Windows
 just fine.
</quote>

</section>








<section
  title="Improving Regression Testing"
  subject="Improving the regression testing infrastructure"
  archive="http://www.winehq.com/hypermail/wine-devel/2002/03/0371.html"
  posts="15"
  startdate="28 Mar 2002 23:00:00 -0800"
  enddate="28 Mar 2002 23:00:00 -0800"
>
<topic>Testing</topic>

<mention></mention>
<mention>codeweavers</mention>

<p />Geoffrey Hausheer had some ideas for making the testing
framework easier to use:

<quote who="Geoffrey Hausheer">
<p />
	As I've been writing tests (only for the last 
 week or so), I realized that as we get a lot more tests, 
 it will be very difficult to keep track of what is being 
 tested, and what is not.  I'd like to propose a list of 
 which functions for each DLL are being tested, which file 
 tests it, as well as any comments on the current tests.
<p />
	In general, while Francois' presentation is a 
 good place to get started, I think it'd be a lot easier 
 if there was a document off of winehq with 
 recommendations on how to build, test, and document 
 tests.  Lowering the difficulty threshold, is more likely 
 to draw more people to do so.
</quote>

<p />Francois Gouget replied:
<quote who="Francois Gouget">
<p />
   I agree. Documenting and finishing the test framework is on the list
for Wine 0.9.0. I added the corresponding tasks yesterday:
<ul>
 <li /> 526 [NEW] - Document the regression testing framework<br />
   <a href="http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=526">
   http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=526</a>

 <li /> 530 [NEW] - Package the regression tests for Windows<br />
   <a href="http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=530">
   http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=530</a>

 <li /> 527 [NEW] - Running C regression tests on Windows with MSVC<br />
   <a href="http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=527">
   http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=527</a>

 <li /> 528 [NEW] - Running C regression tests on Windows with Cygwin/MinGW<br />
   <a href="http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=528">
   http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=528</a>

 <li /> 529 [NEW] - Running Perl regression tests on Windows<br />
   <a href="http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=529">
   http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=529</a>
</ul></quote>

<p />Geoffery also wondered,
<quote who="Geoffrey Hausheer">
 Is there a reason we can't just use environment variables 
 rather than argc/argv?  I would think that would be less 
 of a hassle than using argc/argv.
</quote>
<p />Francois replied:
<quote who="Francois Gouget"><p />
   The goal of some of these tests is precisely to check that what you
get in argc/argv is what you expect. For instance, if the command line
specified to CreateProcess is ... "a\"b\\" c\" d you would expect:
<ul>
 argv[1] = [a"b\]<br />
 argv[2] = [c"]<br />
 argv[3] = [d]
</ul>
<p />
   That would be hard to check without accessing argc/argv in some way.
</quote>



</section>

</kc>

