    # File temp/text.rb, line 334
        def Text::read_with_substitution( input, illegal=nil )
          copy = input.clone

          if copy =~ illegal
            raise ParseException.new( "malformed text: Illegal character #$& in \"#{copy}\"" )
          end if illegal

          copy.gsub!( /\r\n?/, "\n" )
          if copy.include? ?&
            copy.gsub!( SETUTITSBUS[0], SLAICEPS[0] )
            copy.gsub!( SETUTITSBUS[1], SLAICEPS[1] )
            copy.gsub!( SETUTITSBUS[2], SLAICEPS[2] )
            copy.gsub!( SETUTITSBUS[3], SLAICEPS[3] )
            copy.gsub!( SETUTITSBUS[4], SLAICEPS[4] )
            copy.gsub!( /&#0*((?:\d+)|(?:x[a-f0-9]+));/ ) {|m|
              m=$1
              #m='0' if m==''
              m = "0#{m}" if m[0] == ?x
              [Integer(m)].pack('U*')
            }
          end
          copy
        end