# File lib/RMagick.rb, line 98
    def Geometry.from_s(str)

        m = RE.match(str)
        if m
            width  = (m[1] || m[2]).to_f
            height = (m[3] || m[4]).to_f
            x      = m[5].to_i
            y      = m[6].to_i
            flag   = RFLAGS[m[7]]
        else
            Kernel.raise ArgumentError, "invalid geometry format"
        end
        if str['%']
          flag = PercentGeometry
        end
        Geometry.new(width, height, x, y, flag)
    end