+ memset(&vFn, '\0', sizeof(FACENAMEDESC));
+ vFn.usSize = sizeof(FACENAMEDESC);
+ vFn.usWeightClass = vFontDlg.usWeight;
+ vFn.usWidthClass = vFontDlg.usWidth;
+
+ memset(&vInfo.fa, '\0', sizeof(FATTRS));
+ memcpy(&vInfo.fn, &vFn, sizeof(FACENAMEDESC));
+
+ vInfo.fa.usRecordLength = vFontDlg.fAttrs.usRecordLength;
+ strcpy(vInfo.fa.szFacename, vFontDlg.fAttrs.szFacename);
+ vInfo.fa.lMatch = vFontDlg.fAttrs.lMatch;
+
+ //
+ // Debugging
+ //
+ wxFont vChosenFont(vInfo);
+
+ int nPointSize = vFontDlg.fxPointSize >> 16;
+
+ vChosenFont.SetPointSize(nPointSize);
+ m_fontData.m_chosenFont = vChosenFont;
+
+ m_fontData.EncodingInfo().facename = (wxChar*)vFontDlg.fAttrs.szFacename;
+ m_fontData.EncodingInfo().charset = vFontDlg.fAttrs.usCodePage;
+
+ return wxID_OK;
+ }