From: Julian Smart Date: Tue, 18 Jan 2000 17:06:44 +0000 (+0000) Subject: Avoided rounding errors in font point size calculations X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/bf027a6daaeb9a89419fb57539f0899ffa413ea0 Avoided rounding errors in font point size calculations git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/generic/proplist.cpp b/src/generic/proplist.cpp index 6acfe87f88..399a819449 100644 --- a/src/generic/proplist.cpp +++ b/src/generic/proplist.cpp @@ -433,7 +433,7 @@ bool wxPropertyListView::CreateControls() wxFont guiFont = settings.GetSystemFont(wxSYS_DEFAULT_GUI_FONT); #ifdef __WXMSW__ - wxFont *boringFont = wxTheFontList->FindOrCreateFont(guiFont.GetPointSize()+1, wxMODERN, wxNORMAL, wxNORMAL, FALSE, "Courier New"); + wxFont *boringFont = wxTheFontList->FindOrCreateFont(guiFont.GetPointSize(), wxMODERN, wxNORMAL, wxNORMAL, FALSE, "Courier New"); #else wxFont *boringFont = wxTheFontList->FindOrCreateFont(guiFont.GetPointSize(), wxTELETYPE, wxNORMAL, wxNORMAL); #endif diff --git a/src/msw/fontutil.cpp b/src/msw/fontutil.cpp index 6d80870a22..92332ba22a 100644 --- a/src/msw/fontutil.cpp +++ b/src/msw/fontutil.cpp @@ -286,7 +286,8 @@ void wxFillLogFont(LOGFONT *logFont, const wxFont *font) int nHeight = (font->GetPointSize()*ppInch/72); #else // Correct for Windows compatibility - int nHeight = - (font->GetPointSize()*ppInch/72); +// int nHeight = - (font->GetPointSize()*ppInch/72); + int nHeight = - (int) ( (font->GetPointSize()*((double)ppInch)/72.0) + 0.5); #endif wxString facename = font->GetFaceName(); @@ -396,7 +397,7 @@ wxFont wxCreateFontFromLogFont(const LOGFONT *logFont) // remember that 1pt = 1/72inch int height = abs(logFont->lfHeight); - int fontPoints = (72*height)/GetDeviceCaps(dc, LOGPIXELSY); + int fontPoints = (int) ((72.0*((double)height))/(double) GetDeviceCaps(dc, LOGPIXELSY) + 0.5); ::ReleaseDC(NULL, dc);