title: generating *interesting* strings at random in Java
body: <p>I've been using ScalaCheck for automatic unit testing. Its default String generator (i.e., its default <code>Arbitrary[String]</code> instance) is a little <strong>too</strong> powerful, generally producing an unreadable jumble made up mainly of characters I'm not trying to support and my system can't even render.</p>
  
  <p>I've set out to create some more <code>Arbitrary[String]</code> instances, and am trying to find out what's out there.
  Here are some examples of String classes that would be helpful for testing:</p>
  
  <ul>
  <li>basic multilingual plane strings</li>
  <li>astral strings</li>
  <li>latinate strings (including extensions a/b)</li>
  <li>French words</li>
  <li>left-to-right language strings</li>
  <li>right-to-left language strings</li>
  <li>Chinese sentences</li>
  <li>"web strings" (strings drawn from a character set that constitutes 99.9999% of web content)</li>
  <li>use your imagination ...</li>
  </ul>
  
  <p>Are there libraries out there that can make these, or similar strings, at random?</p>