Font updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -441,7 +441,7 @@ bool wxFontRefData::Alloc(
|
|||||||
m_nFamily = wxROMAN;
|
m_nFamily = wxROMAN;
|
||||||
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "WarpSans") == 0)
|
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "WarpSans") == 0)
|
||||||
m_nFamily = wxDECORATIVE;
|
m_nFamily = wxDECORATIVE;
|
||||||
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Helvitica") == 0)
|
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Helvetica") == 0)
|
||||||
m_nFamily = wxSWISS;
|
m_nFamily = wxSWISS;
|
||||||
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Helv") == 0)
|
else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Helv") == 0)
|
||||||
m_nFamily = wxSWISS;
|
m_nFamily = wxSWISS;
|
||||||
@@ -600,7 +600,7 @@ wxFontFamily wxNativeFontInfo::GetFamily() const
|
|||||||
nFamily = wxROMAN;
|
nFamily = wxROMAN;
|
||||||
else if (strcmp(fm.szFamilyname, "WarpSans") == 0)
|
else if (strcmp(fm.szFamilyname, "WarpSans") == 0)
|
||||||
nFamily = wxDECORATIVE;
|
nFamily = wxDECORATIVE;
|
||||||
else if (strcmp(fm.szFamilyname, "Helvitica") == 0)
|
else if (strcmp(fm.szFamilyname, "Helvetica") == 0)
|
||||||
nFamily = wxSWISS;
|
nFamily = wxSWISS;
|
||||||
else if (strcmp(fm.szFamilyname, "Helv") == 0)
|
else if (strcmp(fm.szFamilyname, "Helv") == 0)
|
||||||
nFamily = wxSWISS;
|
nFamily = wxSWISS;
|
||||||
|
@@ -74,42 +74,23 @@ int wxFontDialog::ShowModal()
|
|||||||
vFn.usWeightClass = vFontDlg.usWeight;
|
vFn.usWeightClass = vFontDlg.usWeight;
|
||||||
vFn.usWidthClass = vFontDlg.usWidth;
|
vFn.usWidthClass = vFontDlg.usWidth;
|
||||||
|
|
||||||
memcpy(&vInfo.fa, &vFontDlg.fAttrs, sizeof(FATTRS));
|
memset(&vInfo.fa, '\0', sizeof(FATTRS));
|
||||||
memcpy(&vInfo.fn, &vFn, sizeof(FACENAMEDESC));
|
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
|
// Debugging
|
||||||
//
|
//
|
||||||
wxFont vChosenFont(vInfo);
|
wxFont vChosenFont(vInfo);
|
||||||
|
|
||||||
int nFamily;
|
int nPointSize = vFontDlg.fxPointSize >> 16;
|
||||||
int nPointSize = vFontDlg.lEmHeight;
|
|
||||||
int nStyle;
|
|
||||||
int nWeight;
|
|
||||||
bool bUnderlined;
|
|
||||||
wxString sFaceName;
|
|
||||||
wxNativeFontInfo* pInfo;
|
|
||||||
|
|
||||||
vChosenFont.SetPointSize(nPointSize);
|
vChosenFont.SetPointSize(nPointSize);
|
||||||
nFamily = vChosenFont.GetFamily();
|
|
||||||
nPointSize = vChosenFont.GetPointSize();
|
|
||||||
nStyle = vChosenFont.GetStyle();
|
|
||||||
nWeight = vChosenFont.GetWeight();
|
|
||||||
bUnderlined = vChosenFont.GetUnderlined();
|
|
||||||
sFaceName = vChosenFont.GetFaceName();
|
|
||||||
pInfo = vChosenFont.GetNativeFontInfo();
|
|
||||||
|
|
||||||
|
|
||||||
m_fontData.chosenFont = vChosenFont;
|
m_fontData.chosenFont = vChosenFont;
|
||||||
|
|
||||||
nFamily = m_fontData.chosenFont.GetFamily();
|
|
||||||
nPointSize = m_fontData.chosenFont.GetPointSize();
|
|
||||||
nStyle = m_fontData.chosenFont.GetStyle();
|
|
||||||
nWeight = m_fontData.chosenFont.GetWeight();
|
|
||||||
bUnderlined = m_fontData.chosenFont.GetUnderlined();
|
|
||||||
sFaceName = m_fontData.chosenFont.GetFaceName();
|
|
||||||
pInfo = m_fontData.chosenFont.GetNativeFontInfo();
|
|
||||||
|
|
||||||
m_fontData.EncodingInfo().facename = vFontDlg.fAttrs.szFacename;
|
m_fontData.EncodingInfo().facename = vFontDlg.fAttrs.szFacename;
|
||||||
m_fontData.EncodingInfo().charset = vFontDlg.fAttrs.usCodePage;
|
m_fontData.EncodingInfo().charset = vFontDlg.fAttrs.usCodePage;
|
||||||
|
|
||||||
|
@@ -258,6 +258,44 @@ bool wxTestFontEncoding(
|
|||||||
// wxFont <-> LOGFONT conversion
|
// wxFont <-> LOGFONT conversion
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void wxConvertVectorFontSize(
|
||||||
|
FIXED fxPointSize
|
||||||
|
, PFATTRS pFattrs
|
||||||
|
)
|
||||||
|
{
|
||||||
|
HPS hPS;
|
||||||
|
HDC hDC;
|
||||||
|
LONG lXFontResolution;
|
||||||
|
LONG lYFontResolution;
|
||||||
|
SIZEF vSizef;
|
||||||
|
|
||||||
|
hPS = WinGetScreenPS(HWND_DESKTOP); // Screen presentation space
|
||||||
|
|
||||||
|
//
|
||||||
|
// Query device context for the screen and then query
|
||||||
|
// the resolution of the device for the device context.
|
||||||
|
//
|
||||||
|
|
||||||
|
hDC = GpiQueryDevice(hPS);
|
||||||
|
DevQueryCaps( hDC, CAPS_HORIZONTAL_FONT_RES, (LONG)1, &lXFontResolution);
|
||||||
|
DevQueryCaps( hDC, CAPS_VERTICAL_FONT_RES, (LONG)1, &lYFontResolution);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Calculate the size of the character box, based on the
|
||||||
|
// point size selected and the resolution of the device.
|
||||||
|
// The size parameters are of type FIXED, NOT int.
|
||||||
|
// NOTE: 1 point == 1/72 of an inch.
|
||||||
|
//
|
||||||
|
|
||||||
|
vSizef.cx = (FIXED)(((fxPointSize) / 72 ) * lXFontResolution );
|
||||||
|
vSizef.cy = (FIXED)(((fxPointSize) / 72 ) * lYFontResolution );
|
||||||
|
|
||||||
|
pFattrs->lMaxBaselineExt = MAKELONG( HIUSHORT( vSizef.cy ), 0 );
|
||||||
|
pFattrs->lAveCharWidth = MAKELONG( HIUSHORT( vSizef.cx ), 0 );
|
||||||
|
WinReleasePS(hPS);
|
||||||
|
|
||||||
|
} // end of wxConvertVectorPointSize
|
||||||
|
|
||||||
void wxFillLogFont(
|
void wxFillLogFont(
|
||||||
LOGFONT* pFattrs // OS2 GPI FATTRS
|
LOGFONT* pFattrs // OS2 GPI FATTRS
|
||||||
, PFACENAMEDESC pFaceName
|
, PFACENAMEDESC pFaceName
|
||||||
@@ -327,8 +365,7 @@ void wxFillLogFont(
|
|||||||
// Initialize FATTR and FACENAMEDESC
|
// Initialize FATTR and FACENAMEDESC
|
||||||
//
|
//
|
||||||
pFattrs->usRecordLength = sizeof(FATTRS);
|
pFattrs->usRecordLength = sizeof(FATTRS);
|
||||||
pFattrs->fsFontUse = FATTR_FONTUSE_OUTLINE | // only outline fonts allowed
|
pFattrs->fsFontUse = FATTR_FONTUSE_OUTLINE; // only outline fonts allowed
|
||||||
FATTR_FONTUSE_TRANSFORMABLE; // may be transformed
|
|
||||||
pFattrs->fsType = 0;
|
pFattrs->fsType = 0;
|
||||||
pFattrs->lMaxBaselineExt = pFattrs->lAveCharWidth = 0;
|
pFattrs->lMaxBaselineExt = pFattrs->lAveCharWidth = 0;
|
||||||
pFattrs->idRegistry = 0;
|
pFattrs->idRegistry = 0;
|
||||||
@@ -602,30 +639,24 @@ void wxOS2SelectMatchingFontByName(
|
|||||||
// Fill in the FATTRS with the best match from FONTMETRICS
|
// Fill in the FATTRS with the best match from FONTMETRICS
|
||||||
//
|
//
|
||||||
pFattrs->usRecordLength = sizeof(FATTRS); // Sets size of structure
|
pFattrs->usRecordLength = sizeof(FATTRS); // Sets size of structure
|
||||||
pFattrs->fsSelection = pFM[nIndex].fsSelection; // Uses default selection
|
|
||||||
pFattrs->lMatch = pFM[nIndex].lMatch; // Force match
|
pFattrs->lMatch = pFM[nIndex].lMatch; // Force match
|
||||||
pFattrs->idRegistry = pFM[nIndex].idRegistry; // Uses default registry
|
pFattrs->idRegistry = 0; // Registry
|
||||||
pFattrs->usCodePage = pFM[nIndex].usCodePage; // Code-page
|
pFattrs->usCodePage = 0; // Match proper CodePage
|
||||||
pFattrs->fsType = 0; // Uses default type
|
pFattrs->fsFontUse = 0; // Use only outline fonts
|
||||||
pFattrs->lMaxBaselineExt = 0;
|
pFattrs->fsType = 0; // Use only outline fonts
|
||||||
pFattrs->lAveCharWidth = 0;
|
pFattrs->lMaxBaselineExt = 0; // Use only outline fonts
|
||||||
pFattrs->fsFontUse = FATTR_FONTUSE_OUTLINE | // only outline fonts allowed
|
pFattrs->lAveCharWidth = 0; // Use only outline fonts
|
||||||
FATTR_FONTUSE_TRANSFORMABLE; // may be transformed
|
|
||||||
#if 0
|
|
||||||
pFattrs->lMaxBaselineExt = pFM[nIndex].lMaxBaselineExt;
|
|
||||||
pFattrs->lAveCharWidth = pFM[nIndex].lAveCharWidth;
|
|
||||||
#endif
|
|
||||||
wxStrcpy(pFattrs->szFacename, pFM[nIndex].szFacename);
|
wxStrcpy(pFattrs->szFacename, pFM[nIndex].szFacename);
|
||||||
// Debug
|
if (pFont->GetWeight() == wxNORMAL)
|
||||||
strcpy(zFontFaceName, pFM[nIndex].szFacename);
|
pFattrs->fsSelection = 0;
|
||||||
strcpy(zFontFaceName, pFattrs->szFacename);
|
else
|
||||||
|
pFattrs->fsSelection = FATTR_SEL_BOLD;
|
||||||
|
|
||||||
|
if (pFont->GetStyle() == wxITALIC || pFont->GetStyle() == wxSLANT)
|
||||||
|
pFattrs->fsSelection |= FATTR_SEL_ITALIC;
|
||||||
|
|
||||||
if(usWeightClass >= FWEIGHT_BOLD)
|
|
||||||
pFattrs->fsSelection |= FATTR_SEL_BOLD;
|
|
||||||
if (pFont->GetUnderlined())
|
if (pFont->GetUnderlined())
|
||||||
pFattrs->fsSelection |= FATTR_SEL_UNDERSCORE;
|
pFattrs->fsSelection |= FATTR_SEL_UNDERSCORE;
|
||||||
if(fsSelection & FM_SEL_ITALIC)
|
|
||||||
pFattrs->fsSelection |= FATTR_SEL_ITALIC;
|
|
||||||
} // end of wxOS2SelectMatchingFontByName
|
} // end of wxOS2SelectMatchingFontByName
|
||||||
|
|
||||||
wxFont wxCreateFontFromLogFont(
|
wxFont wxCreateFontFromLogFont(
|
||||||
|
@@ -4,7 +4,7 @@ DATA MULTIPLE NONSHARED READWRITE LOADONCALL
|
|||||||
CODE LOADONCALL
|
CODE LOADONCALL
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
;From library: H:\DEV\WX2\WXWINDOWS\LIB\wx.lib
|
;From library: H:\DEV\WX2\WXWINDOWS\lib\wx.lib
|
||||||
;From object file: dummy.cpp
|
;From object file: dummy.cpp
|
||||||
;PUBDEFs (Symbols available from object file):
|
;PUBDEFs (Symbols available from object file):
|
||||||
wxDummyChar
|
wxDummyChar
|
||||||
@@ -12803,6 +12803,8 @@ EXPORTS
|
|||||||
wxFillLogFont__FP7_FATTRSP13_FACENAMEDESCPUlT3PlR8wxStringP6wxFont
|
wxFillLogFont__FP7_FATTRSP13_FACENAMEDESCPUlT3PlR8wxStringP6wxFont
|
||||||
;wxGetNativeFontEncoding(wxFontEncoding,wxNativeEncodingInfo*)
|
;wxGetNativeFontEncoding(wxFontEncoding,wxNativeEncodingInfo*)
|
||||||
wxGetNativeFontEncoding__F14wxFontEncodingP20wxNativeEncodingInfo
|
wxGetNativeFontEncoding__F14wxFontEncodingP20wxNativeEncodingInfo
|
||||||
|
;wxConvertVectorFontSize(long,_FATTRS*)
|
||||||
|
wxConvertVectorFontSize__FlP7_FATTRS
|
||||||
;wxOS2SelectMatchingFontByName(_FATTRS*,_FACENAMEDESC*,_FONTMETRICS*,int,const wxFont*)
|
;wxOS2SelectMatchingFontByName(_FATTRS*,_FACENAMEDESC*,_FONTMETRICS*,int,const wxFont*)
|
||||||
wxOS2SelectMatchingFontByName__FP7_FATTRSP13_FACENAMEDESCP12_FONTMETRICSiPC6wxFont
|
wxOS2SelectMatchingFontByName__FP7_FATTRSP13_FACENAMEDESCP12_FONTMETRICSiPC6wxFont
|
||||||
;wxGpiStrcmp(char*,char*)
|
;wxGpiStrcmp(char*,char*)
|
||||||
|
Reference in New Issue
Block a user