#c #fonts #vtk
#c #шрифты #vtk
Вопрос:
Как мы знаем, VTK text поддерживает 3 вида шрифтов: VTK_ARIAL, VTK_COURIER и VTK_TIMES. Но в этом случае я бы хотел настроить шрифт текста.
Теперь все, что я сделал, это:
vtkTextActor* textActor = vtkTextActor::New();
//...
vtkUnicodeString u = vtkUnicodeString::from_utf16((const vtkTypeUInt16*)txt);
textActor->SetInput(u.utf8_str());
//...
vtkTextProperty* prop = textActor->GetTextProperty();
prop->SetFontFamily(VTK_FONT_FILE);
prop->BoldOff();
prop->ItalicOff();
prop->ShadowOff();
prop->SetLineSpacing(1.2);
//...
prop->SetFontSize(iFontSize);
prop->SetFontFile(font_file_full_path);
В моей системе установлено множество шрифтов (шрифты true type), приведенные выше коды могут работать только для некоторых шрифтов с указанным размером шрифта. Например, он поддерживает
Шрифт ‘Calibric’ с размером файла 8, 14,16 …, но если вы установите iFontSize равным 12, vtk не сможет отобразить строку.
Итак, мои вопросы в том, что vtk 6.1 не поддерживает все виды шрифтов true type, установленных в моей системе? Если это так, есть ли какая-либо функция, которую я могу использовать, чтобы проверить, поддерживается ли один шрифт / размер шрифта или нет?
Заранее спасибо за помощь.
Комментарии:
1. Кто-нибудь знает об этой проблеме?