87 votesby user47206written 2012-11-20last updated 2020-04-19
The solution below is to be considered in the context of the progress made by playonlinux - which now is very much able to provide out of the box, at least for the programs considered when this answer was first posted, like foobar2000, the needed tweaks for best GUI appearance of Wine applications.
If you don't like Playonlinux and only use Wine directly feel free to comment and/or edit this answer on Wine-only issues.
Considering GTK theming in Wine: see last part of this answer.
#!/bin/sh
# Quick and dirty script for configuring wine font smoothing
#
# Author: Igor Tarasov <tarasov.igor@gmail.com>
WINE=${WINE:-wine}
WINEPREFIX=${WINEPREFIX:-$HOME/.wine}
DIALOG=whiptail
if [ ! -x "`which "$WINE"`" ]
then
echo "Wine was not found. Is it really installed? ($WINE)"
exit 1
fi
if [ ! -x "`which "$DIALOG"`" ]
then
DIALOG=dialog
fi
TMPFILE=`mktemp` || exit 1
$DIALOG --menu \
"Please select font smoothing mode for wine programs:" 13 51\
4\
1 "Smoothing disabled"\
2 "Grayscale smoothing"\
3 "Subpixel smoothing (ClearType) RGB"\
4 "Subpixel smoothing (ClearType) BGR" 2> $TMPFILE
STATUS=$?
ANSWER=`cat $TMPFILE`
if [ $STATUS != 0 ]
then
rm -f $TMPFILE
exit 1
fi
MODE=0 # 0 = disabled; 2 = enabled
TYPE=0 # 1 = regular; 2 = subpixel
ORIENTATION=1 # 0 = BGR; 1 = RGB
case $ANSWER in
1) # disable
;;
2) # enable
MODE=2
TYPE=1
;;
3) # enable cleartype rgb
MODE=2
TYPE=2
;;
4) # enable cleartype bgr
MODE=2
TYPE=2
ORIENTATION=0
;;
*)
rm -f $TMPFILE
echo Unexpected option: $ANSWER
exit 1
;;
esac
echo "REGEDIT4
[HKEY_CURRENT_USER\Control Panel\Desktop]
\"FontSmoothing\"=\"$MODE\"
\"FontSmoothingOrientation\"=dword:0000000$ORIENTATION
\"FontSmoothingType\"=dword:0000000$TYPE
\"FontSmoothingGamma\"=dword:00000578" > $TMPFILE
echo -n "Updating configuration... "
$WINE regedit $TMPFILE 2> /dev/null
rm -f $TMPFILE
echo ok
select third option in terminal - with the arrows, then use tab key to select ok and 'enter'
(source here)
But the images above are taken after enabling font smoothing. That is the most important action, as I was able to test. As I had to reinstall Wine at some point, I also had to restart all procedures here. Using all the other solutions (including installing all fonts as suggested in Shauna's answer - which is very advisable, and to be considered as a part of the solution to this question) -- with the exception of font smoothing, Foobar2000 looked like so:
After font smoothing:
Important: Changing settings in winecfg may reset font smoothing, so it is better to run that in the end, or re-enable it when fonts seem ugly.
Considering GTK theming in Wine
(mentioned by this more recent answer), the results may vary depending on the Linux desktop and the different applications. The GTK theming in Wine seems a matter of preference as it is debatable whether a GTK theme on a Windows program looks better than a Windows-theming.
Example for Foobar2000:
In Ubuntu:
In elementaryOS:
Not much improvement compared to msstyle Luna by default in Playonlinux:
In Playonlinux GTK theming seems absent even with the latest Wine-staging version available, as adding a Wine-staging version to a virtual drive in Playonlinux , the "Staging" tab appears in Wine configuration for that drive, but "Enable GTK Theming" is grayed-out.
That is because what is needed is not any staging version of wine, but the winehq-stagingpackage, which cannot be installed in Playonlinux.
UPDATE: I see that in later versions of Playonlinux, at the date of this edit (Nov.2018) the staging versions of wine in Playonlinux do not display at all the greyed-out gtk option mentioned above.