title: NSAttributedString, change the font overall BUT keep all other attributes?
body: <p>Say I have an <code>NSMutableAttributedString</code> .</p>
  <p>The string has <strong>a varied <em>mix</em></strong> of formatting throughout:</p>
  <p>Here is an example:</p>
  <blockquote>
  <p>This string is <strong>hell to <em>change</em></strong> <em>in iOS</em>, it <em>really</em> <strong>sucks</strong>.</p>
  </blockquote>
  <p>However, the font per se is not the font you want.</p>
  <p>I want to:</p>
  <p><strong>for each and every character, change that character to a specific <em>font</em> (say, Avenir)</strong></p>
  <h1>BUT,</h1>
  <p><strong>for each and every character, <em>keep</em> the <em>mix</em> of <em>other</em> attributions (bold, italic, colors, etc etc) which was previously in place on that character.</strong></p>
  <p>How the hell do you do this?</p>
  <hr />
  <p>Note:</p>
  <p>if you trivially add an attribute &quot;Avenir&quot; over the whole range: it simply <strong>deletes all the other attribute ranges</strong>, you lose all formatting. Unfortunately, attributes <strong>are not</strong>, in fact &quot;additive&quot;.</p>