Processing
Børre Stenseth
Skisser >Tekst

Tekst

Hva

Litt om tekst, størrelse og plassering og fonter.

Begreper som du finner i dokumentasjonen til Processing Reference

text(), textSize(), textAlign(), textFont(), textWidth() 
PFont,  createFont()
rotate(),  translate()
Relevante Skisser
text/textPlassering, text/textRotasjon, text/brukFont

Processing har mange muligheter for å legge ut tekst, og vi har tilgang på mange teksttyper, fonter.

Processing arbeider hele tiden mot en åpen flate. Vi har ingen elementer der vi kan redigere tekst eller få automatisk layout eller begrensning av teksten. Vi må derfor ha koordinatbaserte verktøy for å plassere tekst.

Layout

Et ekelt eksemple

textPlassering
_textPlassering.pde
String T1="dette er en ganske lang tekst uten mening";
void setup(){
  size(400,350);
  fill(0);
}
  
void draw(){
  background(255);
  //svart
  textSize(24);
  textAlign(LEFT,TOP);
  fill(0,0,0);
  text(T1,10,10,100,300);
  //Rød
  textSize(12);
  textAlign(LEFT,TOP);
  fill(255,0,0);
  text(T1,200,10,100,150);
  //Blå
  textAlign(CENTER,TOP);
  fill(0,0,255);
  text(T1.toUpperCase(),250,150,70,200); 
  //Grønn
  textSize(18);
  textAlign(LEFT);
  fill(0,255,0);
  text(T1,10,300);
}

Vi kan også bruke rotasjon og translasjon:

textRotasjon
_textRotasjon.pde
/*
 En roterende tekst
*/
String T1="Det går rundt og rundt";
// rotasjonesvinkel i grader
float v=0;
void setup(){
  size(350,350);
  textSize(20);
  frameRate(20);
}
  
void draw(){
  v+=2;
  background(255);
  translate(150,150);
  rotate(radians(v++));
  
  // ellipse (sirlel)
  noFill();
  ellipse(0,0,textWidth(T1),textWidth(T1));
  
  // tekst
  textAlign(CENTER,CENTER);
  fill(0,0,255);
  text(T1,0,0);
}

Fonter

Processing tilbyr en mengde fonter. På min installasjon har jeg direkte tilgang til over 600. Du kan sjekke ved hjelp av skisse Fonter som er med hvis du laster ned zip-fila som er linket til nederst på siden. I tilleg kan du hente inn flere.

Vel og bra, men det er trolig fornuftig å ikke gå helt babanas i å blande fonter av ymse art. Det har noe med stil og leselighet å gjøre.

Et enkelt eksempel:

brukFont
_brukFont.pde
PFont font1,font2;
void setup(){
  size(400,200);
  // vi har et stort antall fonter å velge mellom
  // fontstr 24, glatt uttegning
  font1=createFont("Broadway", 24,true);
  font2=createFont("Harrington", 24,true);
  background(255);
  noLoop();
}
void draw(){
    fill(0);
    textSize(24);
    text("Standard font",10,50);
    // endrer font
    textFont(font1); 
    // ok med æøå ?
    text("Små bær blir større",10,100);
    // endrer font
    textFont(font2); 
    text("Små bær blir større",10,150);
}

Som du ser har jeg testet at det går bra med våre norske spesialiteter, æøå. Du kan jo teste noen fonter og se hvordan de oppfører seg med andre bokstaver enn de som er brukt over.

Skisser >Tekst