backed out 648b42a75739, which was a NON-trivial whitespace commit.  It broke the Typography class's string replacements, for instance
diff --git a/user_guide/libraries/zip.html b/user_guide/libraries/zip.html
index 2fc5fd8..0311266 100644
--- a/user_guide/libraries/zip.html
+++ b/user_guide/libraries/zip.html
@@ -81,7 +81,7 @@
 // Write the zip file to a folder on your server. Name it "my_backup.zip"<br />
 $this->zip->archive('/path/to/directory/my_backup.zip');
 <br /><br />
- // Download the file to your desktop. Name it "my_backup.zip"<br />
+ // Download the file to your desktop.  Name it "my_backup.zip"<br />
 $this->zip->download('my_backup.zip');
 </code>
 
@@ -100,7 +100,7 @@
 </code>
 
 <p>You are allowed multiple calls to this function in order to
-add several files to your archive. Example:</p>
+add several files to your archive.  Example:</p>
 
 <code>
 $name = 'mydata1.txt';<br />
@@ -139,8 +139,8 @@
 
 <h2>$this->zip->add_dir()</h2>
 
-<p>Permits you to add a directory. Usually this function is unnecessary since you can place your data into folders when
-using <dfn>$this->zip->add_data()</dfn>, but if you would like to create an empty folder you can do so. Example:</p>
+<p>Permits you to add a directory.  Usually this function is unnecessary since you can place your data into folders when
+using <dfn>$this->zip->add_data()</dfn>, but if you would like to create an empty folder you can do so.  Example:</p>
 
 <code>$this->zip->add_dir('myfolder'); // Creates a folder called "myfolder"</code>
 
@@ -148,49 +148,49 @@
 
 <h2>$this->zip->read_file()</h2>
 
-<p>Permits you to compress a file that already exists somewhere on your server. Supply a file path and the zip class will
+<p>Permits you to compress a file that already exists somewhere on your server.  Supply a file path and the zip class will
 read it and add it to the archive:</p>
 
 <code>
 $path = '/path/to/photo.jpg';<br /><br />
 $this->zip->read_file($path);
 <br /><br />
- // Download the file to your desktop. Name it "my_backup.zip"<br />
+ // Download the file to your desktop.  Name it "my_backup.zip"<br />
 $this->zip->download('my_backup.zip');
 </code>
 
 <p>If you would like the Zip archive to maintain the directory structure of the file in it, pass <kbd>TRUE</kbd> (boolean) in the
-second parameter. Example:</p>
+second parameter.  Example:</p>
 
 
 <code>
 $path = '/path/to/photo.jpg';<br /><br />
 $this->zip->read_file($path, <kbd>TRUE</kbd>);
 <br /><br />
- // Download the file to your desktop. Name it "my_backup.zip"<br />
+ // Download the file to your desktop.  Name it "my_backup.zip"<br />
 $this->zip->download('my_backup.zip');
 </code>
 
-<p>In the above example, <dfn>photo.jpg</dfn> will be placed inside two folders: <kbd>path/to/</kbd></p>
+<p>In the above example, <dfn>photo.jpg</dfn> will be placed inside two folders:  <kbd>path/to/</kbd></p>
 
 
 
 <h2>$this->zip->read_dir()</h2>
 
-<p>Permits you to compress a folder (and its contents) that already exists somewhere on your server. Supply a file path to the
-directory and the zip class will recursively read it and recreate it as a Zip archive. All files contained within the
-supplied path will be encoded, as will any sub-folders contained within it. Example:</p>
+<p>Permits you to compress a folder (and its contents) that already exists somewhere on your server.  Supply a file path to the
+directory and the zip class will recursively read it and recreate it as a Zip archive.  All files contained within the
+supplied path will be encoded, as will any sub-folders contained within it.  Example:</p>
 
 <code>
 $path = '/path/to/your/directory/';<br /><br />
 $this->zip->read_dir($path);
 <br /><br />
- // Download the file to your desktop. Name it "my_backup.zip"<br />
+ // Download the file to your desktop.  Name it "my_backup.zip"<br />
 $this->zip->download('my_backup.zip');
 </code>
 
 <p>By default the Zip archive will place all directories listed in the first parameter inside the zip. If you want the tree preceding the target folder to be ignored
-you can pass <kbd>FALSE</kbd> (boolean) in the second parameter. Example:</p>
+you can pass <kbd>FALSE</kbd> (boolean) in the second parameter.  Example:</p>
 
 <code>
 $path = '/path/to/your/directory/';<br /><br />
@@ -204,7 +204,7 @@
 
 <h2>$this->zip->archive()</h2>
 
-<p>Writes the Zip-encoded file to a directory on your server. Submit a valid server path ending in the file name. Make sure the
+<p>Writes the Zip-encoded file to a directory on your server.  Submit a valid server path ending in the file name.  Make sure the
 directory is writable (666 or 777 is usually OK). Example:</p>
 
 <code>$this->zip->archive('/path/to/folder/myarchive.zip'); // Creates a file named myarchive.zip</code>
@@ -223,7 +223,7 @@
 
 <h2>$this->zip->get_zip()</h2>
 
-<p>Returns the Zip-compressed file data. Generally you will not need this function unless you want to do something unique with the data.
+<p>Returns the Zip-compressed file data.  Generally you will not need this function unless you want to do something unique with the data.
 Example:</p>
 
 <code>