MAPX显示自定义字体有关问题

MAPX显示自定义字体问题
首先我导入一个自定义的字体 OLDCAR
然后我在创建了一个图层Car,创建代码如下
// 创建图层
CMapXLayer lyrCar = m_pCtrlMapX->GetLayers().CreateLayer(_T("Car"), NULL, 1, 32);

m_pCtrlMapX->GetLayers().SetAnimationLayer(lyrCar); 
m_pCtrlMapX->SetMousewheelSupport(miFullMousewheelSupport);
m_pCtrlMapX->SetAutoRedraw(TRUE); 

lyrCar.SetSelectable(FALSE);
lyrCar.SetAutoLabel(TRUE);

然后完成一个函数在地图上画该字体的一个图标
/*
 * pt 地图上的坐标
 * strLayerName 图层的名字
 * iColor 颜色
 * iSize  大小 
*/

int CGPSWnd::DrawCar(GPSPoint &pt, const CString &strLayerName, int iColor, int iSize)
{
m_pCtrlMapX->GetDefaultStyle().GetSymbolFont().SetName(_T("OLDCAR"));

CString str31 = m_pCtrlMapX->GetDefaultStyle().GetSymbolFont().GetName();

// 得到图层对象
CMapXLayer staLr = m_pCtrlMapX->GetLayers().Item(_T("Car"));

// 设置所有图元对象属性
//staLr.GetStyle().SetSymbolFontColor()
staLr.SetOverrideStyle(FALSE);

staLr.GetStyle().GetSymbolFont().SetName(_T("OLDCAR"));
staLr.GetStyle().SetSymbolCharacter(48);
staLr.GetLabel().SetLineType(miLineTypeNone);
staLr.GetLabel().SetOverlap(TRUE);
// 创建获取一个Map Feature
CMapXFeature FtA = m_pCtrlMapX->GetFeatureFactory().CreateSymbol(); 

// 获得图元的风格 
CMapXStyle style = FtA.GetStyle(); 

// 设置图元的风格,显示图标
style.SetSymbolType(miFeatureTypeSymbol); 


// 设置图元使用的字体
style.GetSymbolFont().SetName(_T("OLDCAR"));

// 设置图元使用的是哪个符号
style.SetSymbolCharacter(48);      

// 设置颜色
style.SetSymbolFontColor(RGB(255, 255, 255));

// 设置图元显示的位置
FtA.GetPoint().Set(pt.x, pt.y); 

// 将图元加入到图层
CMapXFeature ftr = staLr.AddFeature(FtA);

ftr.Update(TRUE);
CString str3 = FtA.GetStyle().GetSymbolFont().GetName();


str3 = staLr.GetStyle().GetSymbolFont().GetName();


return 1;
}

实验中发现staLr.SetOverrideStyle(FALSE);
设置成TRUE中图元可以显示图标但是只有所有的图元都是统一的,要是设置成FLASE,图元设置的字体无效,
但是获取字体的名字时还是显示OLDCAR,不知道为什么,有高手做过么
------解决方案--------------------
你转换成ttf文件后,放到C:\Windows\Fonts里面安装就可以了。