X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/64698f9af83fd51d3080a0e6fb3789e9f75b4958..7e2c43b8551c394d790e416ae52a4476c759683e:/src/generic/dcpsg.cpp diff --git a/src/generic/dcpsg.cpp b/src/generic/dcpsg.cpp index 93655b14eb..f21c2e82a9 100644 --- a/src/generic/dcpsg.cpp +++ b/src/generic/dcpsg.cpp @@ -1230,7 +1230,7 @@ void wxPostScriptDC::SetDeviceOrigin( long x, long y ) wxDC::SetDeviceOrigin( x, h-y ); } -void wxPostScriptDC::GetSize(int* width, int* height) const +void wxPostScriptDC::DoGetSize(int* width, int* height) const { wxPaperSize id = m_printData.GetPaperId(); @@ -1250,7 +1250,7 @@ void wxPostScriptDC::GetSize(int* width, int* height) const } } -void wxPostScriptDC::GetSizeMM(int *width, int *height) const +void wxPostScriptDC::DoGetSizeMM(int *width, int *height) const { wxPaperSize id = m_printData.GetPaperId(); @@ -1685,8 +1685,11 @@ void wxPostScriptDC::GetTextExtent( const wxString& string, long *x, long *y, /* get the directory of the AFM files */ char afmName[256]; afmName[0] = 0; - wxString fmPath(m_printData.GetFontMetricPath()); - if (fmPath != "") strcpy( afmName, (const char*) fmPath ); + + if (!m_printData.GetFontMetricPath().IsEmpty()) + { + strcpy( afmName, m_printData.GetFontMetricPath().mb_str() ) + } /* 2. open and process the file / a short explanation of the AFM format: @@ -1707,7 +1710,26 @@ void wxPostScriptDC::GetTextExtent( const wxString& string, long *x, long *y, strcat(afmName,name); strcat(afmName,".afm"); FILE *afmFile = fopen(afmName,"r"); - if ( afmFile==NULL ) + +#ifdef __UNIX__ + if (afmFile==NULL) + { + strcpy( afmName, "/usr/local/share/wx/gs_afm/" ); + strcat(afmName,name); + strcat(afmName,".afm"); + FILE *afmFile = fopen(afmName,"r"); + } + + if (afmFile==NULL) + { + strcpy( afmName, "/usr/share/wx/gs_afm/" ); + strcat(afmName,name); + strcat(afmName,".afm"); + FILE *afmFile = fopen(afmName,"r"); + } +#endif + + if (afmFile==NULL) { wxLogDebug( "GetTextExtent: can't open AFM file '%s'\n", afmName ); wxLogDebug( " using approximate values\n");