Prawn provides very fine control over the rendering, at the expense of having to finely control your render.
You can use your own fonts (and have to, for Asian languages etc) and it is easy to do layouts where the size is fixed and you shrink the text down to fit it in (or truncate it). On the other hand is not good for really rich text layout like you can do in HTML and CSS, where the size might vary.