[Bug 33117] New: Can't load Bach41.ttf with CreateFontIndirect under Wine - this works fine in Windows
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Mar 3 20:54:11 CST 2013
http://bugs.winehq.org/show_bug.cgi?id=33117
Bug #: 33117
Summary: Can't load Bach41.ttf with CreateFontIndirect under
Wine - this works fine in Windows
Product: Wine
Version: unspecified
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs at winehq.org
ReportedBy: forums at robertinventor.com
Classification: Unclassified
Created attachment 43794
--> http://bugs.winehq.org/attachment.cgi?id=43794
Bach41 True Type Musicological Font
The code is simple:
Basically I'm just using
hFont=CreateFontIndirect(&lfTest);
with
strcpy(lfTest.lfFaceName,"Bach");
When I select this font into an example hdc, then use GetTextFace(..) to check
which font was selected, then it reports that it found Martlett. Under Windows
it finds the Bach font.
Why can't it find the Bach font, and why does it find Marlett instead?
It seems to be installed okay in my version of Wine since it shows up fine in
the font dialog launched from within my program (using ChooseFont).
It displays the characters fine within that dialog too.
But I can't seem to use it within my application under Wine.
Also - may be related - if I try to set the font for a selection of text in a
rich text field to the Bach font, again this doesn't work in Wine though it
works fine in Windows.
Everything is fine in Windows.
I also tried using AddFontResourceEx(szFontPFile,FR_PRIVATE,0);
- but wasn't able to load it from
I attach the Bach41.ttf font as an attachment.
Thanks for your help. I have been puzzling over this for several days now and
can't find a solution, but as you see, I have reduced the issue to a few lines
of code, which should help.
Here is the actual source code I used for testing this bug:
----------------------------------------------------
/**
Extract from the code:
(where SpecialDebugLogLine() just outputs a time stamped version of the line to
a file).
**/
#define ONE_K 1024
void TestCreateFontIndirectFor(char *szfont,int ichar_set)
{
LOGFONT lfTest;
HFONT hFont=NULL,hFontWas=NULL;
char szt[ONE_K];
char szfont_found[ONE_K];
HDC hdc=GetDC(NULL);
memset(&lfTest,0,sizeof(lfTest));
lfTest.lfHeight=12;
lfTest.lfCharSet=ichar_set;
strcpy(lfTest.lfFaceName,szfont);
hFont=CreateFontIndirect(&lfTest);
hFontWas=SelectObject(hdc,hFont);
GetTextFace(hdc,1024,szfont_found);
sprintf
(szt,"***Test of CreateFontIndirect for %s***\n"
"Font found: %s\n\n",szfont,szfont_found
);
SpecialDebugLogLine(szt);
SelectObject(hdc,hFontWas);
DeleteObject(hFont);
hFont=NULL;
ReleaseDC(NULL,hdc);
}
void TestCreateFontIndirect(void)
{
SpecialDebugLogLine("\n\n****TestCreateFontIndirect****\n\n");
TestCreateFontIndirectFor("Courier",0);
TestCreateFontIndirectFor("Arial",0);
TestCreateFontIndirectFor("Bach",SYMBOL_CHARSET);
}
/**
and the output from Wine is:
****TestCreateFontIndirect****
2.06.41 AM March 04, 2013 (2746.3):***Test of CreateFontIndirect for Courier***
Font found: Courier
2.06.41 AM March 04, 2013 (2746.32):***Test of CreateFontIndirect for Arial***
Font found: Arial
2.06.41 AM March 04, 2013 (2746.34):***Test of CreateFontIndirect for Bach***
Font found: Marlett
2.06.41 AM March 04, 2013 (2746.35):
Test of AddFontResourceEx for CreateFontIndirect***
2.06.41 AM March 04, 2013 (2746.35):***Test of CreateFontIndirect for Bach***
Font found: Marlett
**/
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list