[Wine] Re: "FixMe GetCharacterPlacementW" on Igor 5.04

toon xerox_xerox2000 at yahoo.co.uk
Mon Mar 19 00:53:48 CDT 2007


olivier.crauste at gmail.com schreef:
> Hello everybody,
>
> I am a new user of wine so please excuse me if this problem has already
> been fixed... (but it seems not ;) )
>
> I recently installed on my Gentoo (up-to-date) the CVS version of Wine
> and installed Igor (version 5.04) using different profiles (Win98, 2000
> and XP).
>
> Igor is a scientific software I use to analyze measurements data.
>
> When launching the Igor program, it prints normally the menu bar (File,
> Edit, ...) and remove all of the entries one after the other, printing
> "fixme:font:GetCharacterPlacementW classes not implemented" for each.
>
> After a few search, this function seems related to BiDi and Left-Right
> justification.
> (See the related topic about Pegasus Mail issued in 2004 so far)
>
> I've already tried different locale (UTF-8, ISO-8859) and language as I
> thought it was due to wrong charset => Nothing.
>
> So my question is multiple :
> * Is there already a patch for this FixMe ?
> * Does someone know how to by-pass this class ? I mean, i really don't
> care if the 'About' or 'Help' menu is not right  justified in this
> software.
>
> Regards,
>
> Olivier Crauste

Hi, me again, i downloaded the demo and it has the same problem; The
following hack got me around the bug (at least the menu's are visible
and seem to be usable):

diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c
index 22ebd8a..4c116ab 100644
--- a/dlls/gdi32/font.c
+++ b/dlls/gdi32/font.c
@@ -2853,7 +2853,7 @@ GetCharacterPlacementW(
            lpResults->lpGlyphs, lpResults->nGlyphs,
lpResults->nMaxFit);

     if(dwFlags&(~GCP_REORDER))                 FIXME("flags 0x%08x
ignored\n", dwFlags);
-    if(lpResults->lpClass)     FIXME("classes not implemented\n");
+    if(lpResults->lpClass)     FIXME("classes not implemented\n");
return -1;
     if (lpResults->lpCaretPos && (dwFlags & GCP_REORDER))
         FIXME("Caret positions for complex scripts not
implemented\n");

(Save the text above as text.txt, and apply this patch with 'patch -Np1
-i text.txt' in wine's source tree, and recompile)



More information about the wine-users mailing list