# File temp/text.rb, line 256
                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