# Fonts not loading

**URL:** <https://discourse.processing.org/t/fonts-not-loading/12663>\
**Category:** Libraries\
**Created:** [July 11, 2019, 12:30pm UTC](https://discourse.processing.org/t/fonts-not-loading/12663 "2019-07-11T12:30:05Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![edor97](https://avatars.discourse-cdn.com/v4/letter/e/a698b9/32.png) [@edor97](https://discourse.processing.org/u/edor97)\
**Post date:** [July 11, 2019, 12:30pm UTC](https://discourse.processing.org/t/fonts-not-loading/12663/1 "2019-07-11T12:30:05Z")

</div>

Hello, I don’t know why but I can’t use fonts in my project: I keep creating and loading fonts from processing but it gives me the same error every time:

_**"GeorgiaPro-Light-48.vlw0" is not available, so another font will be used. Use PFont.list() to show available fonts**_.

Here it is my code:

```auto
import ddf.minim.*; // Importa la library del Player musicale 
import ddf.minim.analysis.*;

//Variabili 
int r = 100; //Valore di partenza del raggio del cerchio più grande
float rad = 70; //Cerchio più piccolo
int timer; //Timer in millisecondi  
int i; //Variabile casistica switch
int mouse = 0; //Contatore click del mouse 
float scale = 1.0; //Valore di scale per le immagini degli uomini
float scale1 = 2.0;
int offx = 200; int offy = 400; //offset di riposizionamento delle figure degli uomini 
int offx1 = 650; int offy1 = 360;
boolean testoClick = true; //Condizione per verificare la variazione del testo 

//Immagini
PImage Stanza;  
PImage Foresta;
PImage Uomo1; 
PImage Uomo2; 
PImage Donna;
PImage Fiore;

//Musica
//loop midi.Wav
//Cowboy
//Wind.mp3
//Bomb.mp3
//Scream.mp3
//Tick.mp3

//Audio player
Minim minim;
AudioPlayer player; //Player per la musica di sottofondo
AudioPlayer Effetto1; //Effetto vento
AudioPlayer Effetto2; //Effetto urlo
AudioPlayer Effetto3; //Effetto passi
AudioPlayer Effetto4; //Effetto ticchettio degli stivali
AudioPlayer Effetto5; //Effetto bomba
AudioMetaData meta; //Recupera i dati per il corretto avviamento del player 
BeatDetect beat; //Rileva i battiti della canzone nel player

//Lettering, font e battute 
PFont f; //Dichiarazione del font 

String b1 = "Li manda il giardiniere, dice di metterli in sala da pranzo."; //Battute in ordine
String b2 = "Portami del kvas.";
String b3 = "Subito.";
String b4 = "C'è la brina, siamo a -3° e i ciliegi sono tutto un fiore.";
String b5 = "Non riesco proprio ad approvarlo il nostro clima. Non posso. \n Non lo si può di certo definire un clima ideale.";
String b6 = "Ecco permettetemi di aggiungere un'atra cosa: \n mi sono comprato, l'altro giorno, degli stivali che, vi assicuro, \n scricchiolano in modo impossibilile.";
String b7 = "Con che cosa diavolo li potrei ungere?";
String b8 = "Piantala, mi hai stufato!";
String b9 = "Ogni giorno mi succede qualche disgrazia... \n ma non mi lamento, ci ho fatto il callo.";
String b10 = "Me ne vado.";
String b11 = "Avete visto? se mi è permesso il termine, che circostanza tra l'altro...\n Non è addirittura soprendente?!";

void settings() {
  size(1080, 720, P2D);
  smooth(); //Aiuta l'elaborazione del framerate
}

void setup() {
  //Sfondo
  Uomo1 = loadImage("figura uomo 1.png"); //carica in memoria le immagini 
  Uomo2 = loadImage("figura uomo 2.png");
  Donna = loadImage("Donna.png");
  Fiore = loadImage("Fiore.png");
  Foresta = loadImage("cold-fog-forest-1003124.jpg");
  Foresta.resize(1080, 720);
  Stanza = loadImage("castle-european-interiors-68389.jpg");
  Stanza.resize(1080, 720);
  background(0); //Sfondo nero

  //Centro
  
    //Player
      minim = new Minim(this); //Inizializzazione del player
      player = minim.loadFile("loop midi.Wav"); //Carica file "loop midi.Wav" dalla cartella data dello sketch
      meta = player.getMetaData();
      beat = new BeatDetect(); //Rileva i battiti più rilevanti della canzone
      player.loop(); //La canzone gira in loop 
      //player.play();
        
      //Effetti sonori
        minim = new Minim(this); //Creazione nuovo suono tramite la library minim   
        Effetto1 = minim.loadFile("Wind.mp3");    
        
        minim = new Minim(this);    
        Effetto2 = minim.loadFile("Scream.mp3"); 
        
        minim = new Minim(this);    
        Effetto3 = minim.loadFile("Footsteps.mp3");   
        
        minim = new Minim(this);    
        Effetto4 = minim.loadFile("Tick.mp3");  
        
        minim = new Minim(this);    
        Effetto5 = minim.loadFile("Bomb.mp3");  
        
  

  
  //Davanti
  PFont myFont = createFont("GeorgiaPro-Light-48.vlw0", 48); //Creazione di un nuovo font
  textFont(myFont); //Dichiarazione del font

  //Tempo
  timer = millis(); //Conteggio del timer il millisecondi
}

void draw() { 
  switch (i) { //Casistica
  case 0 : 

    textSize(50);
    textAlign(CENTER);
    text("SOLID VODKA", width/2, 250); //Titolo del progetto
    fill(255);

    textSize(30);
    textAlign(CENTER);
    text("RENI EDOARDO \n TECNOLOGIE DIGITALI PER IL SUONO E LE IMMAGINI \n ANNO ACCADEMICO 2018-2019 \n Da un'opera di Anton Cechov", width/2, 400); //Campo con informazioni dello studente
    fill(255, 0, 0);

    if ( millis () - timer > 5000) { //Se il conteggio è superiore si passa alla condizione successiva
      timer = millis();
      i++;
    }
    break;

  case 1 :    
    background(Stanza); 
      scale = 1.0; //Fattore di ingrandimento delle figure degli uomini
      if (mouseover()) scale = 0.9;{ //Nel caso il cursore del mouse si sovrapponga alle figure il fattore di ingrandimento è di 0.9
        if ( millis () - timer > 500 ){
            Effetto3.play();
         }if (millis () - timer > 7000 && mouse == 0){ //Nel caso il timer sia maggior della condizione dichiarata e i click del mouse siano corrispondenti a quanto dichiarato
            image(Uomo2, offx1, offy1, Uomo2.width*scale, Uomo2.height*scale); //Comparsa figure uomini e dimensione standard
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            Effetto5.play();
           }if (testoClick & mouse == 1){
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale1, Uomo2.height*scale1); //'immagine del personaggio che recitta la battuta è ingrandita tramite fattore precedentemente dichiarato
            image(Fiore, 600, 400, 150, 150);
          }if (testoClick & mouse == 2){
            image(Uomo1, offx, offy, Uomo1.width*scale1, Uomo1.height*scale1);
            image(Uomo2, offx1, offy1, Uomo2.width*scale, Uomo2.height*scale);
            }if (testoClick & mouse == 3){
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale, Uomo2.height*scale);
            image(Donna, 900, 350, 138, 440);
           }if (testoClick & mouse == 4){
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale1, Uomo2.height*scale1);
            }
      }

    beat.detect(player.mix);
    fill(#1A1F18, 100); //Riempimento del triangolo che copre lo schermo per mettere in evidenza il player
    noStroke();
    rect(0, 0, width, height); //Grandezza della finestra della composizione 
    translate(width/2, height/2); //Posiziona la figura al centro della composizione 
    fill(-1, 10);
    ellipse(0, 0, 2*rad, 2*rad);
    stroke(-1, 50);
    int bsize1 = player.bufferSize(); //Dimensione del player dinamico che segue i beats della musica
    for (int i = 0; i < bsize1 - 1; i+=5) {
      float x = (r)*cos(i*2*PI/bsize1);
      float y = (r)*sin(i*2*PI/bsize1);
      float x2 = (r + player.left.get(i)*100)*cos(i*2*PI/bsize1);
      float y2 = (r + player.left.get(i)*100)*sin(i*2*PI/bsize1);
      line(x, y, x2, y2);
        if (testoClick & mouse == 1) { //Se il sistema rileva il click del mouse e la condizione viene verificata, a conteggio dei click viene variata la battuta
            textSize(35); //Battute dei personaggi
            text(b1, CENTER, -230);
            textAlign(CENTER);
            fill(255);
          }else if (testoClick & mouse == 2){
             textSize(35);
             text(b2, CENTER, -230);
             textAlign(CENTER);
             fill(255);
           }else if (testoClick & mouse == 3){
              textSize(35);
              text(b3, CENTER, -230);
              textAlign(CENTER);
              fill(255);
            }else if (testoClick & mouse == 4){
              textSize(35);
              text(b4, CENTER, -230);
              textAlign(CENTER);
              fill(255);
            }else{
              noFill();
              }
 }
    beginShape();
    noFill();
    stroke(-1, 50);
    endShape();

    if ( (millis () - timer > 25000) | mouse == 5) {
      timer = millis ();
      i++;
    }
    break;

  case 2:

    background(Foresta);
    image(Uomo1, 200, 400, 138, 415); //Immagini statiche degli uomini
    image(Uomo2, 650, 360, 138, 415);
    beat.detect(player.mix);
    fill(#1A1F18, 100);
    noStroke();
    rect(0, 0, width, height); //Grandezza della finestra della composizione 
    translate(width/2, height/2); //Posiziona la figura al centro della composizione 
    fill(-1, 10);
    ellipse(0, 0, 2*rad, 2*rad);
    stroke(-1, 50);
    int bsize2 = player.bufferSize();
    for (int i = 0; i < bsize2 - 1; i+=5) {
      Effetto1.play();
      float x = (r)*cos(i*2*PI/bsize2);
      float y = (r)*sin(i*2*PI/bsize2);
      float x2 = (r + player.left.get(i)*100)*cos(i*2*PI/bsize2);
      float y2 = (r + player.left.get(i)*100)*sin(i*2*PI/bsize2);
      line(x, y, x2, y2);
    }
    beginShape();
    noFill();
    stroke(-1, 50);
    endShape();

    if ( millis () - timer > 4000) {
      timer = millis();
      i++;
    }
    break;

  case 3:

    background(Stanza);
            scale = 1.0;
      if (mouseover()) scale = 0.9;{
        if ( millis () - timer > 500 ){
          if (mouse == 5){
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale, Uomo2.height*scale);
            }if (mouse == 6){
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale1, Uomo2.height*scale1);   
           }if (testoClick & mouse == 7){
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale1, Uomo2.height*scale1);
            Effetto4.play();
            }if (testoClick & mouse == 8){
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale1, Uomo2.height*scale1);
            }if (testoClick & mouse == 9 ){
            image(Uomo1, offx, offy, Uomo1.width*scale1, Uomo1.height*scale1);
            image(Uomo2, offx1, offy1, Uomo2.width*scale, Uomo2.height*scale);
           }if (testoClick & mouse == 10){
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale1, Uomo2.height*scale1);
            }if (testoClick & mouse == 11 ){
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale1, Uomo2.height*scale1);
           }if (testoClick & mouse == 12){
             Effetto2.play();
            image(Uomo1, offx, offy, Uomo1.width*scale, Uomo1.height*scale);
            image(Uomo2, offx1, offy1, Uomo2.width*scale1*2, Uomo2.height*scale1*2);
            }
        }
      }
    beat.detect(player.mix);
    fill(#1A1F18, 100);
    noStroke();
    rect(0, 0, width, height); //Grandezza della finestra della composizione 
    translate(width/2, height/2); //Posiziona la figura al centro della composizione 
    fill(-1, 10);
    ellipse(0, 0, 2*rad, 2*rad);
    stroke(-1, 50);
    int bsize3 = player.bufferSize();
    for (int i = 0; i < bsize3 - 1; i+=5) {
      float x = (r)*cos(i*2*PI/bsize3);
      float y = (r)*sin(i*2*PI/bsize3);
      float x2 = (r + player.left.get(i)*100)*cos(i*2*PI/bsize3);
      float y2 = (r + player.left.get(i)*100)*sin(i*2*PI/bsize3);
      line(x, y, x2, y2);
        if (testoClick & mouse == 6) {
          textSize(30);
          text(b5, CENTER, -230);
          textAlign(CENTER);
          fill(255);
        }else if (testoClick & mouse == 7){
           textSize(28);
           text(b6, CENTER, -230);
           textAlign(CENTER);
           fill(255);
         } else if (testoClick & mouse == 8){
            textSize(35);
            text(b7, CENTER, -230);
            textAlign(CENTER);
            fill(255);
          } else if (testoClick & mouse == 9){
            textSize(35);
            text(b8, CENTER, -230);
            textAlign(CENTER);
            fill(255);
          } else if ( testoClick & mouse == 10){
           textSize(32);
           text(b9, CENTER, -230);
           textAlign(CENTER);
           fill(255);
         }else if (testoClick & mouse == 11){
            textSize(35);
            text(b10, CENTER, -230);
            textAlign(CENTER);
            fill(255);
          } else if ( testoClick & mouse == 12){
            textSize(30);
            text(b11, CENTER, -230);
            textAlign(CENTER);
            fill(255);
          }else {
            noFill();
          }
          
    }
    beginShape();
    noFill();
    stroke(-1, 50);
    endShape();

    if ( millis () - timer > 35000 || mouse == 13) {
      timer = millis();
      i++;
    }
    break;

  case 4:

    background(0);
    beat.detect(player.mix);
    fill(#1A1F18, 100);
    noStroke();
    rect(0, 0, width, height); //Grandezza della finestra della composizione 
    translate(width/2, height/2); //Posiziona la figura al centro della composizione 
    fill(-1, 10);
    ellipse(0, 0, 2*rad, 2*rad);
    stroke(-1, 50);
    int bsize4 = player.bufferSize();
    for (int i = 0; i < bsize4 - 1; i+=5) {
      float x = (r)*cos(i*2*PI/bsize4);
      float y = (r)*sin(i*2*PI/bsize4);
      float x2 = (r + player.left.get(i)*100)*cos(i*2*PI/bsize4);
      float y2 = (r + player.left.get(i)*100)*sin(i*2*PI/bsize4);
      line(x, y, x2, y2);
          textSize(30);
          text("Fonti: \n www.SoundBible.com \n www.pexels.com \n www.freepik.com", CENTER, -310);
          textAlign(CENTER);
          fill(255);
        
    }
    beginShape();
    noFill();
    stroke(-1, 50);
    endShape();
    
    if ( millis () - timer > 10000) {
      timer = millis();
      i++;
      player.pause();
    }
    break;
  }
}

void mousePressed(){ //Se il mouse viene premuto
  testoClick = true; //Se la condizione di pressione del mouse per la variazione del testo è verificata ed è vera 
    if (millis () - timer > 500){
      mouse++; //Auomento del conteggiatore dei click del mouse 
    }
  }
boolean mouseover() { //Booleane che determinano le condizioni attraverso cui il sistema verifica se il cursore del mouse è sovrapposto alle immagini degli uomini e quindi se andare ad ingrandire le stesse 
  if ( ( mouseX > offx && mouseX < Uomo1.width+offx ) && ( mouseY > offy && mouseY < Uomo1.height +offy) || ( ( mouseX > offx1 && mouseX < Uomo2.width+offx1) && ( mouseY > offy1 && mouseY < Uomo2.height +offy1 ) ) ) return false;
  return true; 
  } 

```

Thank you!

---

<div class="post-metadata">

**Author:** ![Tiemen](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/tiemen/32/5477_2.png) [@Tiemen](https://discourse.processing.org/u/Tiemen)\
**Post date:** [July 11, 2019, 12:45pm UTC](https://discourse.processing.org/t/fonts-not-loading/12663/2 "2019-07-11T12:45:11Z")

</div>

Is your problem solved when you remove the 0 behind _.vlw_?

```auto
PFont myFont = createFont("GeorgiaPro-Light-48.vlw", 48);

```

---

<div class="post-metadata">

**Author:** ![edor97](https://avatars.discourse-cdn.com/v4/letter/e/a698b9/32.png) [@edor97](https://discourse.processing.org/u/edor97)\
**Post date:** [July 11, 2019, 12:48pm UTC](https://discourse.processing.org/t/fonts-not-loading/12663/3 "2019-07-11T12:48:38Z")

</div>

Nope, nothing happens. The error is always the same. I just tried importing a Font outside processing itself but it didn’t work either.

---

<div class="post-metadata">

**Author:** ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)\
**Post date:** [July 11, 2019, 12:52pm UTC](https://discourse.processing.org/t/fonts-not-loading/12663/5 "2019-07-11T12:52:49Z")

</div>

- Did you try to drag and drop the font file on to the code of your sketch?

- Also in menu “_Tools_” there is a tool to “Create Font”. You might want to do this prior to running your sketch. So you make sure the font is in your sketch folder.

---

<div class="post-metadata">

**Author:** ![edor97](https://avatars.discourse-cdn.com/v4/letter/e/a698b9/32.png) [@edor97](https://discourse.processing.org/u/edor97)\
**Post date:** [July 11, 2019, 1:08pm UTC](https://discourse.processing.org/t/fonts-not-loading/12663/6 "2019-07-11T13:08:38Z")

</div>

I tried several times and now font has changed , but i keep receveing the same error.

```auto
void setup();{
  PFont myFont = createFont("GeorgiaPro-Light-35.vlw", 35); //Creazione di un nuovo font
  myFont = loadFont("GeorgiaPro-Light-35.vlw");
 textFont(myFont); 
}

```

---

<div class="post-metadata">

**Author:** ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)\
**Post date:** [July 11, 2019, 1:20pm UTC](https://discourse.processing.org/t/fonts-not-loading/12663/7 "2019-07-11T13:20:05Z")

</div>

> [@edor97](#):
>
> void setup();{ PFont myFont = createFont(“GeorgiaPro-Light-35.vlw”, 35); //Creazione di un nuovo font myFont = loadFont(“GeorgiaPro-Light-35.vlw”); textFont(myFont); }

```auto
void setup() { // NO ; here !!!!!!!!!!
  size(800,800); // USE SIZE as first line in setup() ALWAYS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  PFont myFont = createFont("GeorgiaPro-Light-35.vlw", 35); //Creazione di un nuovo font
  // myFont = loadFont("GeorgiaPro-Light-35.vlw"); // NOT necessary !!!!!!!!!!!!!!
 textFont(myFont); 
}

```
