No texts in a simple nannou app

I'm trying to build an app with nannou. I started to experiment with DropDownList a little bit, and I cannot see any texts in it. Then I also added couple sliders from the examples of nannou - and I cannot see texts there too. Here's the repo


name = "oxyfy"
version = "0.0.1"
authors = ["Viktor Lazarev <>"]
edition = "2018"

# See more keys and their definitions at

nannou = "0.10"

"vulkano" = { git = "", rev = "0a8944362a176885d13a84a1ea5a0e3d9b09b706" }
"vulkano-win" = { git = "", rev = "0a8944362a176885d13a84a1ea5a0e3d9b09b706" }
"vulkano-shaders" = { git = "", rev = "0a8944362a176885d13a84a1ea5a0e3d9b09b706" }
"vk-sys" = { git = "", rev = "0a8944362a176885d13a84a1ea5a0e3d9b09b706" } (here I've removed not related code to reduce its size):

use nannou::{prelude::*, ui::prelude::*};

fn main() {

struct Model {
    filenames: Vec<String>,
    selected: Option<usize>,
    ui: Ui,
    ids: Ids,

struct Ids {
    dd_list: widget::Id,

fn model(app: &App) -> Model {

    let mut ui = app.new_ui().build().unwrap();

    let filenames = vec![
        "Option 1".to_string(),
        "Option 2".to_string(),
        "Option 3".to_string(),
    let selected = None;
    let ids = Ids {
        dd_list: ui.generate_widget_id(),

    Model {

fn update(_app: &App, model: &mut Model, _update: Update) {
    let ui = &mut model.ui.set_widgets();

    for selected in widget::DropDownList::new(&model.filenames, model.selected)
        .w_h(800.0, 30.0)
        .set(model.ids.dd_list, ui)
        println!("selected {:?}", selected);
        model.selected = Some(selected);

fn view(app: &App, model: &Model, frame: &Frame) {
    model.ui.draw_to_frame(app, &frame).unwrap();

Nannou looks very promising, but this really blocks me to go further. Any ideas how to fix this?

I guess a screeshot will help:

Here you can see that there's no any text there. While every widget has a label site suggests a slack channel is available for help. The docs are pretty sparse and none of the examples showed a clear pattern for drop downs that I could see. Maybe try the slack channel if you don't get some help here.

1 Like

ah, good idea. Thanks! If I'm correct, the issue is not related to the DDL widget itself, but rather it looks like I have to set which font use for texts

Actually, there's an open issue for this particular case

Finally, I have texts in my app :slight_smile:

All I needed to do is just to create assets/ directory in my project and put any font there, and then load it in the model function:

let assets_path = app.assets_path().expect("There's no assets path!");
let font_path = assets_path.join("fonts/DroidSansMono.ttf");

So, I'm happy since I can move on :slight_smile:

Edit: here's the after fixing this issue