Thanks Dan, but I went for the manual, tedious method in the end, but put an expression on the position of each text layer to automatically position it correctly. Strangely, some of the ‘sampleimage’ results were completely wrong, for no apparent reason – for example some points were very dark grey, but the sampleimage gave me a result of around 1. Odd.
Look at all those lovely, boring layers:

…and here’s the position expression to space the 100 text layers automatically (in a 10×10 grid layout):
[thisComp.layer(index-10).transform.position[0],thisComp.layer(index-10).transform.position[1]+90]