2014-12-15 2 views
5

Я пытаюсь начать изучать, как использовать набор инструментов FLTK GUI, чтобы сделать основной текстовый редактор, и у меня возникла проблема с этим простым Hello World из учебника по документации.Аномалия шрифта в FLTK Привет, мир

#include <FL/Fl.H> 
#include <FL/Fl_Window.H> 
#include <FL/Fl_Box.H> 

int main(int argc, char **argv) { 
    Fl_Window *window = new Fl_Window(340,180); 
    Fl_Box *box = new Fl_Box(20,40,300,100,"Hello, World!"); 
    box->box(FL_UP_BOX); 
    box->labelfont(FL_BOLD+FL_ITALIC); 
    box->labelsize(36); 
    box->labeltype(FL_SHADOW_LABEL); 
    window->end(); 
    window->show(argc, argv); 
    return Fl::run(); 
} 

Программа компилируется без проблем, но текст, отображаемый в очень мелкий шрифт, который не является ни смелым, ни курсивом, когда оно должно быть. Изменение значения меток() не влияет на шрифт.

Я запустил программу ./fonts, предоставленную в тестовой папке дистрибутива FLTK, и большинство отображаемых шрифтов находятся в том же невыразимом шрифте по умолчанию. Только несколько шрифтов появляются жирным шрифтом и курсивом и изменяются по размеру.

Я загрузил шрифты MS TrueType и восстановил свой кеш шрифтов, но это не решило проблему. У меня есть Linux Mint с XFCE, работающим на виртуальной машине. Также я новичок в программировании и Linux, поэтому, пожалуйста, несите меня! Я пытался решить это весь день, не найдя, что я делаю неправильно. Вы можете мне помочь?

+1

Как вы построили библиотеку FLTK? Если у вас нет libfontconfig и libft, конфигурация будет строить библиотеку без нее. – cup

+0

Действительно, мне не хватало libftgl2! Спасибо, теперь это работает. – alexandre

+0

Если есть рабочий ответ, пожалуйста, сделайте его ответом и принимайте :) – XTL

ответ

3

Мне не хватало библиотечной зависимости FLTK. Установка пакета libftgl2, «библиотека для рендеринга текста в OpenGL с использованием FreeType», заставила шрифты правильно отображаться при использовании FLTK.

+0

У меня была такая же проблема, и чтобы исправить это, вам нужно не только установить 'libftgl2', но вам также нужно перестроить FLTK (удалить с помощью менеджера пакетов, если он установлен с помощью диспетчера пакетов и/или удаления всех файлов из статической сборки и повторной загрузки и восстановления). Просто разъяснение! – bcdan