Привет.
Существует необходимость перевести содержимое .EMF файла в набор контуров.
Создал рисунок в Adobe illustrator в котором просто строчка текста и экспортировал в .EMF файл.
Для перевода в контур применяю такой код:
HENHMETAFILE hemf = GetEnhMetaFile(m_file_name.GET());
//draw the text in a memdc
CDC* p_dc = memdc.GetDC();
EnumEnhMetaFile(p_dc->m_hDC, hemf, EnhMetaFileProc, 0, CRect());
CRect rect(0, 0, memdc.GetWidth(), memdc.GetHeight());
// draw metafile items in a path
p_dc->BeginPath();
BOOL res = PlayEnhMetaFile(p_dc->m_hDC, hemf, rect);
if (!p_dc->EndPath())
return false;
//get rid of the beziers
p_dc->FlattenPath();
//how many points are there in the path?
POINT* p_points = NULL;
BYTE* p_types = NULL;
int count(0);
count = p_dc->GetPath(p_points, p_types, count);
Здесь count==0 на выходе

(
Не понимаю почему, тем более что команды, присутствующие в EMF файле (трейсил по EnumEnhMetaFile) это команды TextOut, которые поддерживаются BeginPath скобкой...
Кроме того, если просто сделать EnumEnhMetaFile на экран то текст нормально показывается (это я так, для справки
Заранее благодарен за идеи