Write lines in random sizes one below the other

Hey,

I am having trouble with my code. I split my text into lines, which should be drawn in random sizes to the screen. Now, there are two problems: First of all splitTokens deletes all my delimiters, but also ', – and umlauts like ä, ü, ö from the text. Is there a way to add them again to the lines? And second, how could I write more than just one line per frame but all lines that fit in the screen each below the other and then go to the next frame?
Is there a solution or am I making something completely wrong?
I am relatively new to Processing, so every answer is helpful. Thanks a lot!

PFont font;

  String [] lines;
  int index = 0;


void setup() {
  size(1000,100);
  font = createFont("Menlo-Regular", 20);
  String [] s = loadStrings("text.txt");
  String everything = join(s, " ");
  println(everything);
  lines = splitTokens(everything,",.?!;:");
  
  printArray(lines);
  frameRate(2);
}


void draw() {
  background(0);
  textFont(font);
  
  textSize(random(10,50));
  text(lines[index], 10, 20);

  index++;

  saveFrame("output/line_####.png");
  }

this means the font does not include these characters,

for(int i = 0; i < <number of draw repeats> ; i++) { 
    <functions inside draw();> 
}

Thanks for your help.
But how can I write lines below previous lines all at once?

I already checked this. The font does include these characters.

try image option in preferences. To get the previous lines do something like: (A simplified form)

int a = 0;
void draw() {
   for(int i = 0; i < a; i++) {
       print(i);
   }
   println();
   a++;
}

which returns:
frame 1: -
frame 2: 0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
0 1 2 3 4 5
0 1 2 3 4 5 6

do something similar

or

ArrayList<PVector> pos = new ArrayList<PVector>();

void setup() {
  size(600,600);
}
void draw() {
  background(0);
  noFill();
  stroke(255);
  pos.add(new PVector(random(width),random(height)));
  beginShape();
  for(int i = 0; i < pos.size(); i++) vertex(pos.get(i).x, pos.get(i).y);
  endShape();
}