Heres my approaches,
this code is Hard Coded and dirty. lol.
it is not scalable, but atleast you get the idea
void setup(){
background(255);
size(600, 600);
x = 0;
y = size;
fill(0);
textAlign(LEFT, LEFT);
}
float size = 128;
float x = 0;
float y;
float amt = 0.35;
void draw(){
textSize(size);
for(int i = 0; i < width/(size*2); i++){
text("text", x + i*size*2, y);
}
y += size/2;
size = lerp(size, 0, amt);
amt = lerp(amt, 0, 0.13);
}
edit:
better version, but you should generate text.png first with zero padding
void setup() {
background(255);
size(540, 600);
image = loadImage("text.png");
}
PImage image;
float y;
float amt = 0.2;
float scale = 0.5;
void draw() {
for (int i = 0; i < width; i+= image.width*scale) {
pushMatrix();
translate(i, y);
scale(scale);
image(image, 0, 0);
popMatrix();
}
y+= image.height*scale;
scale = lerp(scale, 0, amt);
amt = lerp(amt, 0, 0.07);
}