X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba804ab2d429c03bf5b20989d207d2b1ebe049f4..89fad939ec0d423961d8e93b2a0927f5b77bf256:/src/html/winpars.cpp diff --git a/src/html/winpars.cpp b/src/html/winpars.cpp index 5446f917d6..cb4a11b7f1 100644 --- a/src/html/winpars.cpp +++ b/src/html/winpars.cpp @@ -116,7 +116,7 @@ static void wxBuildFontSizes(int *sizes, int size) // using a fixed factor (1.2, from CSS2) is a bad idea as explained at // http://www.w3.org/TR/CSS21/fonts.html#font-size-props but this is by far // simplest thing to do so still do it like this for now - sizes[0] = int(size * 0.69); + sizes[0] = int(size * 0.75); // exception to 1.2 rule, otherwise too small sizes[1] = int(size * 0.83); sizes[2] = size; sizes[3] = int(size * 1.2); @@ -125,6 +125,17 @@ static void wxBuildFontSizes(int *sizes, int size) sizes[6] = int(size * 2); } +static int wxGetDefaultHTMLFontSize() +{ + // base the default font size on the size of the default system font but + // also ensure that we have a font of reasonable size, otherwise small HTML + // fonts are unreadable + int size = wxNORMAL_FONT->GetPointSize(); + if ( size < 10 ) + size = 10; + return size; +} + void wxHtmlWinParser::SetFonts(const wxString& normal_face, const wxString& fixed_face, const int *sizes) @@ -133,7 +144,7 @@ void wxHtmlWinParser::SetFonts(const wxString& normal_face, if ( !sizes ) { if ( !default_sizes[0] ) - wxBuildFontSizes(default_sizes, wxNORMAL_FONT->GetPointSize()); + wxBuildFontSizes(default_sizes, wxGetDefaultHTMLFontSize()); sizes = default_sizes; } @@ -168,7 +179,7 @@ void wxHtmlWinParser::SetStandardFonts(int size, const wxString& fixed_face) { if (size == -1) - size = wxNORMAL_FONT->GetPointSize(); + size = wxGetDefaultHTMLFontSize(); int f_sizes[7]; wxBuildFontSizes(f_sizes, size);