lib/rtf/node.rb
def to_rtf
        rtf=(@text.nil? ? '' : @text.gsub("{", "\\{").gsub("}", "\\}").gsub("\\", "\\\\"))
        # This is from lfarcy / rtf-extensions
        # I don't see the point of coding different 128<n<256 range

        #f1=lambda { |n| n < 128 ? n.chr : n < 256 ? "\\'#{n.to_s(16)}" : "\\u#{n}\\'3f" }
        # Encode as Unicode.

        f=lambda { |n| n < 128 ? n.chr : "\\u#{n}\\'3f" }
        # Ruby 1.9 is safe, cause detect original encoding
        # and convert text to utf-16 first
        if RUBY_VERSION>"1.9.0"
          return rtf.encode("UTF-16LE", :undef=>:replace).each_codepoint.map(&f).join('')
        else
          # You SHOULD use UTF-8 as input, ok?
          return rtf.unpack('U*').map(&f).join('')
        end
      end
def to_rtf
        rtf=(@text.nil? ? '' : @text.gsub("{", "\\{").gsub("}", "\\}").gsub("\\", "\\\\"))
        # This is from lfarcy / rtf-extensions
        # I don't see the point of coding different 128<n<256 range

        #f1=lambda { |n| n < 128 ? n.chr : n < 256 ? "\\'#{n.to_s(16)}" : "\\u#{n}\\'3f" }
        # Encode as Unicode.

        f=lambda { |n| n < 128 ? n.chr : "\\u#{n}\\'3f" }
        # Ruby 1.9 is safe, cause detect original encoding
        # and convert text to utf-16 first
        if RUBY_VERSION>"1.9.0"
          return rtf.encode("UTF-16LE", :undef=>:replace).each_codepoint.map(&f).join('')
        else
          # You SHOULD use UTF-8 as input, ok?
          return rtf.unpack('U*').map(&f).join('')
        end
      end
def to_rtf rtf = ( @text . nil? ? '' : @text . gsub ( "{" , "\\{" ) . gsub ( "}" , "\\}" ) . gsub ( "\\" , "\\\\" ) ) # This is from lfarcy / rtf-extensions # I don't see the point of coding different 128<n<256 range #f1=lambda { |n| n < 128 ? n.chr : n < 256 ? "\\'#{n.to_s(16)}" : "\\u#{n}\\'3f" } # Encode as Unicode. f = lambda { | n | n < 128 ? n . chr : "\\u#{n}\\'3f" } # Ruby 1.9 is safe, cause detect original encoding # and convert text to utf-16 first if RUBY_VERSION > "1.9.0" return rtf . encode ( "UTF-16LE" , :undef => :replace ) . each_codepoint . map ( f ) . join ( '' ) else # You SHOULD use UTF-8 as input, ok? return rtf . unpack ( 'U*' ) . map ( f ) . join ( '' ) end end
This method generates the RTF equivalent for a TextNode object. This
 method escapes any special sequences that appear in the text.
This method generates the RTF equivalent for a TextNode object . This method escapes any special sequences that appear in the text .