Font selection logic defective?
Bill Medland
billmedland at mercuryspeed.com
Tue Jan 18 17:42:40 CST 2005
On January 18, 2005 03:00 pm, Huw D M Davies wrote:
> On Tue, Jan 18, 2005 at 12:08:17PM -0800, Bill Medland wrote:
> > (Huw?)
> >
> > Do I need to dig deeper to understand this or is there a defect in the
> > logic. If there are ttf fonts available does that mean a poor ttf match
> > will be selected even when a better x11drv font is available?
>
> Yes that's right, and also intentional. It's basically impossible to
> do proper font support with server side fonts, so if we have any fonts
> we can use on the client side then we'll do client side rendering.
>
> > What should we do? Get the font matching logic to look at both the sets
> > of fonts? Or add some sort of "Ignore these fonts" list in the Wine
> > fonts area?
>
> If you really want to disable client side font rendering in the x11drv
> you can do so by adding two keys to the [x11drv] section of the config
> file:
>
> ; Use the Render extension to render client side fonts (default "Y")
> "ClientSideWithRender" = "N"
> ; Fallback on X core requests to render client side fonts (default "Y")
> "ClientSideWithCore" = "N"
> ; Set both of the previous two to "N" in order to force X11 server side
> fonts
I'm obviously misunderstanding something and not communicating effectively
(probably because I don't understand the intricacies of the area), but the
above doesn't help me.
My problem is very simple. When I ADD openoffice, increasing the number of
fonts available, I get a worse display that if I didn't.
Here, I think, is the relevant portion of the two traces.
trace:font:WineEngInit
trace:font:WineEngInit FreeType version is 2.1.4
trace:font:ReadFontDir Loading fonts from
"/home/medbi01/.wine/dosdevices/c:/windows/fonts"
trace:font:load_fontconfig_fonts fontconfig:
/usr/share/fonts/default/Type1/n022004l.pfb
...
trace:font:load_fontconfig_fonts fontconfig:
/usr/X11R6/lib/X11/fonts/Type1/c0419bt_.pfb
+++ This is found on the machine with openoffice
trace:font:load_fontconfig_fonts fontconfig:
/usr/share/fonts/openoffice/Vera.ttf
trace:font:AddFontFileToList Loading font file
"/usr/share/fonts/openoffice/Vera.ttf" index 0
trace:font:AddFontFileToList fsCsb = 00000001 00000000/800000af 1000204a
00000000 00000000
trace:font:AddFontFileToList Added font L"Bitstream Vera Sans" L"Roman"
...
trace:font:CreateFontIndirectW (19 0 0 0 22 3 2 0 0) L"Arial" Bold => 0x12c6
trace:font:WineEngCreateFontInstance L"Arial", h=19, it=0, weight=700,
PandF=22, charset=0 orient 0 escapement 0
trace:font:WineEngCreateFontInstance not in cache
+++ On the openoffice machine
trace:font:WineEngCreateFontInstance substituting L"Arial" -> L"Helvetica"
trace:font:WineEngCreateFontInstance Chosen: L"Bitstream Vera Sans" L"Bold"
trace:font:WineEngGetFontData font=0x40079fa8, table=584d4456,
offset=00000000, buf=0x493ef470, cbData=6
trace:font:WineEngGetFontData Can't find table 56444d58.
trace:font:WineEngCreateFontInstance caching: gdiFont=0x40079fa8 hfont=0x12c6
--- On the machine without
trace:font:WineEngCreateFontInstance No fonts installed
trace:font:X11DRV_SelectFont hdc=0x74, hfont=0xda2
trace:font:X11DRV_SelectFont gdiFont = (nil)
trace:font:XFONT_UnAlias found alias 'Arial'->Helvetica'
trace:font:X11DRV_SelectFont hfont=0xda2
trace:font:XFONT_MatchDeviceFont (0) 'Helvetica' h=19 weight=700
trace:font:XFONT_MatchDeviceFont found facename 'Helvetica'
...
So it seems to me that the problem is not to do with whether we do client or
server side on the x11drv; it is whether we even get to the x11drv.
Can you think of anything else that might work?
--
Bill Medland
Programmer
ACCPAC International, Inc.
bill.medland at BestSoftware.com
Corporate: www.accpac.com
Hosted Services: www.accpaconline.com
More information about the wine-devel
mailing list