Patch level : 2.0 512
Files correlati : xvaga.dll Ricompilazione Demo : [ ] Commento : corretto errore AO20064: su Win98 se provo a stampare con una stampante Genrica/Solo Testo non stampa nulla e il programma si blocca, mentre su Win2000 funziona. git-svn-id: svn://10.65.10.50/trunk@11290 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
71c5eef345
commit
7eb0233e22
@ -1845,6 +1845,7 @@ wxFont& TFontId::Font(wxDC* dc) const
|
|||||||
{
|
{
|
||||||
const wxSize ppi = dc->GetPPI();
|
const wxSize ppi = dc->GetPPI();
|
||||||
dPrintScale = ppi.x / 96.0; // First guess for scaling factor
|
dPrintScale = ppi.x / 96.0; // First guess for scaling factor
|
||||||
|
int nLastTextWidth = 0;
|
||||||
int nBestSize = 0;
|
int nBestSize = 0;
|
||||||
|
|
||||||
double nMin = dPrintScale-0.1;
|
double nMin = dPrintScale-0.1;
|
||||||
@ -1858,9 +1859,19 @@ wxFont& TFontId::Font(wxDC* dc) const
|
|||||||
wxFont courier(nFontSize, wxMODERN, wxNORMAL, wxNORMAL);
|
wxFont courier(nFontSize, wxMODERN, wxNORMAL, wxNORMAL);
|
||||||
dc->SetFont(courier);
|
dc->SetFont(courier);
|
||||||
int tw; dc->GetTextExtent("0123456789", &tw, NULL);
|
int tw; dc->GetTextExtent("0123456789", &tw, NULL);
|
||||||
|
if (tw != nLastTextWidth)
|
||||||
|
nLastTextWidth = tw; // Happens with Generic/Text Only
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (nBestSize == 0)
|
||||||
|
nBestSize = nFontSize;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (tw > ppi.x)
|
if (tw > ppi.x)
|
||||||
|
{
|
||||||
nMax = nScale;
|
nMax = nScale;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
nMin = nScale;
|
nMin = nScale;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user