    # File lib/prawn/font/ttf.rb, line 145
          def normalize_encoding(text)
            if text.respond_to?(:encode)
              # if we're running under a M17n aware VM, ensure the string provided is
              # UTF-8 (by converting it if necessary)
              begin
                text.encode("UTF-8")
              rescue
                raise Prawn::Errors::IncompatibleStringEncoding, "Encoding " +
                "#{text.encoding} can not be transparently converted to UTF-8. " +
                "Please ensure the encoding of the string you are attempting " +
                "to use is set correctly"
              end
            else
              # on a non M17N aware VM, use unpack as a hackish way to verify the
              # string is valid utf-8. I thought it was better than loading iconv
              # though.
              begin
                text.unpack("U*")
                return text.dup
              rescue
                raise Prawn::Errors::IncompatibleStringEncoding, "The string you " +
                  "are attempting to render is not encoded in valid UTF-8."
              end
            end
          end