VTK 7.x 如何在 TextActor 上显示非 ASCII 文本
VTK 7.x How to show non ASCII text on TextActor
环境:
- Ubuntu 14.04 64 位
- VTK 7.1
VTK 7.x 删除 ftgl。 https://gitlab.kitware.com/vtk/vtk/merge_requests/660
那么现在如何显示非 ASCII 文本?
我尝试了这段代码,但什么也没显示:
vtkSmartPointer<vtkTextActor> textActor =
vtkSmartPointer<vtkTextActor>::New();
textActor->SetInput("\u5728\u7ebf\u5de5\u5177");
// or
textActor->SetInput("中文");
感谢任何帮助!
感谢 VTK 开发人员。
VTK 支持非 ASCII 文本。
只需要在 vtkTextProperty 上指定一个字体文件 -- VTK 中的默认字体只支持 ascii。
下面的例子使用Droid
字体显示汉字
vtkSmartPointer<vtkTextActor> textActor =
vtkSmartPointer<vtkTextActor>::New();
textActor->GetTextProperty()->SetFontFamily(VTK_FONT_FILE);
textActor->GetTextProperty()->SetFontFile("/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf");
textActor->SetInput("UTF-8 FreeType 中文: \xe4\xb8\xad\xe6\x96\x87");
环境:
- Ubuntu 14.04 64 位
- VTK 7.1
VTK 7.x 删除 ftgl。 https://gitlab.kitware.com/vtk/vtk/merge_requests/660
那么现在如何显示非 ASCII 文本?
我尝试了这段代码,但什么也没显示:
vtkSmartPointer<vtkTextActor> textActor =
vtkSmartPointer<vtkTextActor>::New();
textActor->SetInput("\u5728\u7ebf\u5de5\u5177");
// or
textActor->SetInput("中文");
感谢任何帮助!
感谢 VTK 开发人员。
VTK 支持非 ASCII 文本。
只需要在 vtkTextProperty 上指定一个字体文件 -- VTK 中的默认字体只支持 ascii。
下面的例子使用Droid
字体显示汉字
vtkSmartPointer<vtkTextActor> textActor =
vtkSmartPointer<vtkTextActor>::New();
textActor->GetTextProperty()->SetFontFamily(VTK_FONT_FILE);
textActor->GetTextProperty()->SetFontFile("/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf");
textActor->SetInput("UTF-8 FreeType 中文: \xe4\xb8\xad\xe6\x96\x87");