Thinking in reverse... The first frame of emission = readable Text, then diffuse using dissipation (soft dispersion) or diffusion (tenderial dispersion), until you get what you want.
Cache it.
Animate the fluid cache attributes. There is a scale number - according to the docs that says:
Scale
Expands or contracts the time range of the current node
node's nCache. If you increase the scale, the node's nCache
simulation plays back slower. Decreasing the scale has the opposite effect.
So if you increase the scale to 2 the simulation should take twice as many frames to finish.
Render your sim out.
Stupid and silly, but it works:
Reverse the frames using a renamer/renumbering program and you have smoke forming into your text.
OR from another post:
in the script editor type:
setAttr -keyable 1 fluidShape1.currentTime
break the connection of the fluid to the time attribute and set some keyframes on the currentTime to animate it.
Chris