GetGlyphOutline и символ пробела( space )
От: optimisto  
Дата: 20.01.10 16:02
Оценка:
Доброго времени суток!

Имеется код
    GLYPHMETRICS metric;
    MAT2 matrix = {0};
    matrix.eM11.value = 1;
    matrix.eM22.value = 1;
    DWORD size = GetGlyphOutlineW(m_hDc, code, GGO_NATIVE | GGO_BEZIER, &metric, 0, NULL, &matrix);
    bool hasOutline = ( size != GDI_ERROR ) && ( size != 0 );
    if ( hasOutline )
    {
        ...
    }


Если в качестве параметра
code
подсунуть 32 — код символа "пробел", то GetGlyphOutline возвратит ошибку.
С одной стороны — логично, поскольку пробел невидим и не имеет графического представления, с другой стороны — структура
GLYPHMETRICS
также остается незаполненной, несмотря на то, что у пробела есть и BoundBox — прямоугольник, ограничивающий символ — и Advance — расстояние до следующего символа в тексте.

Проблема, в общем-то, известа. Хотелось бы узнать как обойти эту недоработку MS
... << RSDN@Home 1.2.0 alpha 4 rev. 1238>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.