mathcat 0.7.5

MathCAT: Math Capable Assistive Technology ('Speech and braille from MathML')
Documentation
---
# Geometry related intent inferences
-
  name: geometry-line-segment
  tag: mover
  match:
    - "*[2][self::m:mo][.='¯'] and"
    - "*[1][self::m:mrow][count(*)=3 and "
    - "     *[1][self::m:mi and string-length(text()) and translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = ''] and"
    - "     *[2][self::m:mo and (.='\u2062' or .='\u2063')] and"
    - "     *[3][self::m:mi and string-length(text()) and translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '']"
    - "                  ]"
  replace:
  - intent:
      name: "line-segment"
      attrs: "data-intent-property='concat(data-intent-property, \":prefix:\")'"
      children:
      - x: "*[1]/*[1]"
      - x: "*[1]/*[3]"

-
  name: geometry-ray
  tag: mover
  match:
    - "*[2][self::m:mo][.='→'] and"  # u2192
    - "*[1][self::m:mrow][count(*)=3 and "
    - "     *[1][self::m:mi and translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = ''] and"
    - "     *[2][self::m:mo and (.='\u2062' or .='\u2063')] and"
    - "     *[3][self::m:mi and translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '']"
    - "                  ]"
  replace:
  - intent:
      name: "ray"
      attrs: "data-intent-property='concat(data-intent-property, \":prefix:\")'"
      children:
      - x: "*[1]/*[1]"
      - x: "*[1]/*[3]"

-
  name: geometry-arc
  tag: mover
  match:
    - "*[2][self::m:mo][.='⌒'] and"  # u2192
    - "*[1][self::m:mrow][count(*)=3 and "
    - "     *[1][self::m:mi and translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = ''] and"
    - "     *[2][self::m:mo and (.='\u2062' or .='\u2063')] and"
    - "     *[3][self::m:mi and translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '']"
    - "    ]"
  replace:
  - intent:
      name: "arc"
      attrs: "data-intent-property='concat(data-intent-property, \":prefix:\")'"
      children:
      - x: "*[1]/*[1]"
      - x: "*[1]/*[3]"