<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -534,7 +534,7 @@ class PDF::TechBook &lt; PDF::Writer
 
     __build_xref_table(document)
 
-    document.each do |line|
+    document.each_line do |line|
     begin
       progress.inc if progress
       @techbook_line__ += 1
@@ -854,7 +854,7 @@ class PDF::TechBook &lt; PDF::Writer
           # class program, then regenerate.
         if (_tm_doc &lt; _tm_cch) and (_tm_prg &lt; _tm_cch)
           $stderr.puts PDF::Writer::Lang[:techbook_using_cached_doc] % File.basename(files[:cache])
-          pdf = File.open(files[:cache], &quot;rb&quot;) { |cf| Marshal.load(cf.read) }
+          pdf = File.open(files[:cache], &quot;rb:binary&quot;) { |cf| Marshal.load(cf.read) }
           pdf.save_as(files[:pdf])
           File.open(files[:pdf], &quot;wb&quot;) { |pf| pf.write pdf.render }
           exit(0)</diff>
      <filename>lib/pdf/techbook.rb</filename>
    </modified>
    <modified>
      <diff>@@ -709,7 +709,7 @@ class PDF::Writer
 
     xref = []
 
-    content = &quot;%PDF-#{@version}\n%&#226;&#227;&#207;&#211;\n&quot;
+    content = &quot;%PDF-#{@version}\n%\303\242\303\243\303\217\303\223\n&quot;
     pos = content.size
 
     objects.each do |oo|
@@ -1466,7 +1466,7 @@ class PDF::Writer
   end
 
   def char_width(font, char)
-    char = char[0] unless @fonts[font].c[char]
+    char = char.bytes.to_a.first unless @fonts[font].c[char]
 
     if @fonts[font].differences and @fonts[font].c[char].nil?
       name = @fonts[font].differences[char] || 'M'
@@ -1563,7 +1563,7 @@ class PDF::Writer
 
     max   = 0
 
-    text.to_s.each do |line|
+    text.to_s.each_line do |line|
       width = text_line_width(line, size)
       max = width if width &gt; max
     end
@@ -2372,7 +2372,7 @@ class PDF::Writer
       height = font_height(size)
     end
 
-    text.each do |line|
+    text.each_line do |line|
       start = true
       loop do # while not line.empty? or start
         break if (line.nil? or line.empty?) and not start</diff>
      <filename>lib/pdf/writer.rb</filename>
    </modified>
    <modified>
      <diff>@@ -78,7 +78,7 @@ class PDF::Writer::FontMetrics
         font = PDF::Writer::FontMetrics.new
 
           # An AFM file contains key names followed by valuees.
-        file.each do |line|
+        file.each_line do |line|
           line.chomp!
           line.strip!
           key, *values = line.split</diff>
      <filename>lib/pdf/writer/fontmetrics.rb</filename>
    </modified>
    <modified>
      <diff>@@ -543,7 +543,7 @@ module PDF::Writer::Graphics
     if image.respond_to?(:read)
       data = image.read
     else
-      open(image, 'rb') { |ff| data = ff.read }
+      open(image,'rb:binary') { |ff| data = ff.read }
     end
 
     add_image(data, x, y, width, height, nil, link)</diff>
      <filename>lib/pdf/writer/graphics.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,8 @@ class PDF::Writer::Object::Contents &lt; PDF::Writer::Object
   def initialize(parent, page = nil)
     super(parent)
 
-    @data = &quot;&quot;
+    @data = RUBY_VERSION &lt; '1.9' ? &quot;&quot; : &quot;&quot;.force_encoding(&quot;BINARY&quot;)
+    
     @info = {}
     @raw = false
     @on_page = nil
@@ -38,6 +39,10 @@ class PDF::Writer::Object::Contents &lt; PDF::Writer::Object
 
   def &lt;&lt;(v)
     raise TypeError unless v.kind_of?(PDF::Writer::Object) or v.kind_of?(String)
+    if RUBY_VERSION &gt;= '1.9'
+      @data.force_encoding 'BINARY'
+      v.force_encoding 'BINARY'
+    end
     @data &lt;&lt; v
   end
 </diff>
      <filename>lib/pdf/writer/object/contents.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6535e057f46c51e71ef618b95aaa4645523791df</id>
    </parent>
  </parents>
  <author>
    <name>Ken Collins</name>
    <login></login>
    <email>ken@metaskills.net</email>
  </author>
  <url>http://github.com/metaskills/pdf-writer/commit/ef9787c050a3b861089fc95f4f3af544f8e39219</url>
  <id>ef9787c050a3b861089fc95f4f3af544f8e39219</id>
  <committed-date>2009-05-13T17:35:18-07:00</committed-date>
  <authored-date>2009-05-13T17:35:18-07:00</authored-date>
  <message>Ruby 1.9 compatibility.</message>
  <tree>9e646f4af23997baa50504d39725ef9cc6331865</tree>
  <committer>
    <name>Ken Collins</name>
    <login></login>
    <email>ken@metaskills.net</email>
  </committer>
</commit>
