Thanks WP, that works.
I am surprised that the old pos() function works on widestrings as well, while readln() doesn't. I had started myself to scan through the myriads of functions in unit strutils, and found a few which are similar to pos() - e.g. "containsstr","searchbuf", but if pos() works, I will use that.
I understand I cannot read the file line by line using readln, correct ? I would have to write my own readline(), e.g. in a TFileStream descendant. The function would read the file into a buffer word by word until it finds (widestring) EOL, and then copy the buffer to a string, or stringlist. I wonder why such a function does not seem to exist already.