---
# Note to translators:
#   most languages don't have two ways to pronounce 'a' -- if not need, remove the rules and change "B-Z" to "A-Z"
#   some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
 - "a": 
    - test: 
        if: "$TTS='none'"
        then: [t: "a"]                          	#  long "a" sound in all speech engines I tested (espeak, MS SAPI, eloquence,	(en: 'eigh', google translation)
        else: [spell: "'a'"]                    	#     AWS Polly, ReadSpeaker, NaturalReader, google cloud, nuance, ibm watson)
 - "b-z": 
    - test: 
        if: "$TTS='none'"
        then: [t: "."]                          	# 	(en: '.', google translation)
        else: [spell: "'.'"]                       

# Capital letters are a little tricky: users can pick their favorite word (something that was requested) and 
# screen readers have options to use pitch changes or beeps instead of or in addition to say "cap"
# Also, if a user can see the screen, they probably don't need to hear "cap", but if they specified an override, they must want to hear the override.

 - "A":
    - test: 
        if: "$CapitalLetters_Beep"
        then:
        - audio:
            value: "beep.mp4"
            replace: []
    - test: 
        if: "$CapitalLetters_UseWord"
        then_test:
          if: "$SpeechOverrides_CapitalLetters = ''"
          then_test:
            if: "$Impairment = 'Blindness'"
            then: [t: "κεφαλαίο"]               	# 	(en: 'cap', google translation)
          else: [x: "$SpeechOverrides_CapitalLetters"]
    - pitch:
        value: "$CapitalLetters_Pitch"
        replace:
        - test:
            if: "$TTS='none'"
            then: [t: "A"]                      	# 	(en: 'eigh', google translation)
            else: [spell: "'a'"]
            
 - "B-Z":
    - test: 
        if: "$CapitalLetters_Beep"
        then:
        - audio:
            value: "beep.mp4"
            replace: []
    - test: 
        if: "$CapitalLetters_UseWord"
        then_test:
          if: "$SpeechOverrides_CapitalLetters = ''"
          then_test:
            if: "$Impairment = 'Blindness'"
            then: [t: "κεφαλαίο"]               	# 	(en: 'cap', google translation)
          else: [x: "$SpeechOverrides_CapitalLetters"] 
    - pitch:
        value: "$CapitalLetters_Pitch"
        # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
        replace: [spell: "translate('.', 'BCDEFGHIJKLMNOPQRSTUVWXYZ', 'bcdefghijklmnopqrstuvwxyz')"]

 - "0-9": [t: "."]                     	# 	(en: '.', google: 'A') #theodora. is this replacing dots with commas in decimals for greek?

 - " ": [t: " "]                     # 0x20                                           
 - "!":                                         	#  0x21
    - test:
        if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
        then_test:
            if: "$Verbosity = 'Terse'"
            then: [t: "πάταγος"]                	#  0x21	(en: 'bang', google translation) 
            else: [t: "θαυμαστικό"]               	#  0x21	(en: 'exclamation point', google: 'θαυμαστικό')
        else: [t: "παραγοντικό"]                	#  0x21	(en: 'factorial')
          
 - \"": [t: "εισαγωγικά"]                	        #  0x22	(en: 'quotation mark', google: 'εισαγωγικά') 
 - "#": [t: "σύμβολο αριθμού"]                      #  0x23	(en: 'number', google: 'αριθμός')
 - "$": [t: "δολάριο"]                          	#  0x24	(en: 'dollars', google: 'δολάρια')
 - "%": [t: "τοις εκατό"]                       	#  0x25	(en: 'percent')
 - "&": [t: "ampersand"]                      	    #  0x26	(en: 'ampersand', google: 'ampersand')  
 - \'": [t: "απόστροφος"]                       	#  0x27	(en: 'apostrophe') 
 - "(":                                         	#  0x28
    - test:
        if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
        then_test:
            if: "$Verbosity='Terse'"
            then: [t: "άνοιγμα"]                 	#  0x28	(en: 'open', google translation)
            else: [t: "ανοίγει παρένθεση"]         #  0x28	(en: 'open paren', google: 'ανοίξτε την παρένθεση')
        else: [t: "αριστερή παρένθεση"]                  	#  0x28	(en: 'left paren', google: 'αριστερή παρένθεση')
 - ")":                                         	#  0x29
    - test:
        if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
        then_test:
            if: "$Verbosity='Terse'"
            then: [t: "κλείσιμο"]                 	#  0x29	(en: 'close', google translation)
            else: [t: "κλείνει παρένθεση"]      	#  0x29	(en: 'close paren', google: 'στενή παρένθεση')
        else: [t: "δεξιά παρένθεση"]          	#  0x29	(en: 'right paren', google: 'δεξιό παρένθεση')

 - "*":                                         	#  0x2a
    test:
        if: "parent::*[name(.)='msup' or name(.)='msubsup' or name(.)='skip-super']"
        then: [t: "αστερίσκος"]                     	#  0x2a	(en: 'star', google translation)
        else: [t: "επί"]                        	#  0x2a	(en: 'times', google: 'φορές')
 - "+": [t: "συν"]                              	#  0x2b	(en: 'plus')
 - ",":                                          # 0x2c
    # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
    # that this test is here and not with "…" is not ideal, but seems simplest
     test:
        if:
            - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
               # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
               # speak "comma" when not adjacent to '…'
            - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…']  ) or "
               # except if expression starts with '…'
            - "../*[1][.='…'] "
        then:
        - T: "κόμμα"                         # 	(en: 'comma', google translation)
        - test:
            if: "$Verbosity != Terse"
            then: [pause: short]
        # else silent

 - "-": [t: "μείον"]                               # 0x2d
 - ".":                                          # 0x2e
    - test:
        if: "parent::*[1][self::m:mn]"
        then: [t: "σημείο"]
        else: [t: "τελεία"]
 - "/":                                           # 0x2f
    - test:
        if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
        then: [t: "κάθετος"]                        # 0x2f
        else: [t: "διαιρείται από"]                   # 0x2f

 - ":": [t: "άνω κάτω τελεία"]                   	#  0x3a	(en: 'colon', google: 'άνω κάτω τελεία')
 - ";": [t: "ελληνικό ερωτηματικό"]                      	#  0x3b	(en: 'semicolon', google: 'άνω τελεία')
 - "<":                                         	#  0x3c
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι"]                     	# 	(en: 'is', google translation)
     - t: "μικρότερο από"                       	# 	(en: 'less than', google: 'λιγότερο από')
 - "=":                                         	#  0x3d
    - test: 
        if: "$Verbosity!='Terse'"
        then: [t: "ισούται με"]               	# 	(en: 'is equal to', google translation)
        else: [t: "ισούται με"]                 	# 	(en: 'equals', google translation)

 - ">":                                         	#  0x3e
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι"]                     	# 	(en: 'is', google translation)
     - t: "μεγαλύτερο από"                      	# 	(en: 'greater than', google: 'μεγαλύτερος από')
 - "?": [t: "αγγλικό ερωτηματικό"]             	#  0x3f	(en: 'question mark', google: 'ερωτηματικό')
 - "@": [t: "σύμβολο at"]                       	#  0x40	(en: 'at sign', google: 'στο σημείο')
 - "[":                                         	#  0x5b
    - test:
        if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
        then: [t: "ανοίγει αγκύλη"]        	# 	(en: 'open bracket', google translation)
        else: [t: "αριστερή αγκύλη"]            	# 	(en: 'left bracket', google: 'αριστερά βραχίονα')
 - "\\": [t: "ανάστροφη κάθετος "]                 	#  0x5c	(en: 'back slash', google: 'πίσω κάθετο')
 - "]":                                         	#  0x5d
    - test:
        if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
        then: [t: "κλείνει αγκύλη"]          	# 	(en: 'close bracket', google translation)
        else: [t: "δεξιά αγκύλη"]               	# 	(en: 'right bracket', google: 'δεξιά βραχίονα')
 - "^":                                           # 0x5e
    - test:
        if: "parent::m:modified-variable or parent::m:mover"
        then: [t: "καπέλο"]
        else: [t: "καπέλο"]    
 - "_": [t: "κάτω παύλα"]                          # 0x5f
 - "`": [t: "βαρεία"]                              # 0x60                                                        
 - "{":                                         	#  0x7b
    - test:
        if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
        then: [t: "ανοίγει άγκιστρο"]           	# 	(en: 'open brace', google translation)
        else: [t: "αριστερό άγκιστρο"]          	# 	(en: 'left brace', google: 'αριστερό στήριγμα')
 - "|":                                         	#  0x7c
    # note: for ClearSpeak and SimpleSpeak, "|" inside of sets is handled at the mrow level, same for 'sets'
    # new / changed
     - with:
        variables: [DefaultToGiven: "count(preceding-sibling::*)=1 and count(following-sibling::*)=1 and ../../../*[1][.='P']"] # P(A|B)
        replace:
        - test:
            - if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
              then: [t: "κάθετη γραμμη"]
            - else_if: "$SpeechStyle != 'ClearSpeak'"
              then_test:
                - if: "$DefaultToGiven"
                  then: [t: "δεδομένου"]
                - else_if: "preceding-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))] and 
                            following-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))]"
                  then: [t: "διαιρεί"]
                  else: [t: "κάθετη γραμμη"]
            - else_if: "not(preceding-sibling::*) or not(following-sibling::*)"
              then: [t: "κάθετη γραμμή"]                                          
            - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
              then: [t: "τέτοια ώστε"]                     	# 	(en: 'such that', google translation)
            - else_if: "$ClearSpeak_VerticalLine = 'Given' or $DefaultToGiven"
              then: [t: "δεδομένου"]                	# 	(en: 'given', google translation)
            - else: [t: "διαιρεί"]            	# 	(en: 'divides', google: 'χωρίζει')

 - "}":                                         	#  0x7d
    - test:
        if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
        then: [t: "κλείνει άγκιστρο"]          	# 	(en: 'close brace', google translation)
        else: [t: "δεξί άγκιστρο"]              	# 	(en: 'right brace', google: 'δεξιά στήριγμα')

 - "~": [t: "κυματοειδής γραμμή"]                      	#  0x7e	(en: 'tilde', google: 'κυματοειδής γραμμή')
 - " ":                                         	#  0xa0
    - test:
        if: "@data-empty-in-2D and ../../../../*[name(.)!='equations']"
        then: [t: "άδειο"]                    	#  want to say something for fraction (etc) with empty child	(en: 'empty', google translation)
        else: [t: ""]                            

 - "¬": [t: "άρνηση"]                           	#  0xac	(en: 'not', google: 'δεν') 
 - "°": [t: "μοίρες"]                            	#  0xb0	(en: 'degrees', google: 'πτυχία')
 - "±": [t: "συν πλήν"]                          	#  0xb1	(en: 'plus or minus', google: 'συν ή μείον')
 - "´": [t: "οξεία"]                            	#  0xb4	(en: 'acute', google: 'οξύς')
 - "·":                                         	#  0xB7
    - test:
        if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')] or not($SpeechStyle = 'ClearSpeak' and $ClearSpeak_MultSymbolDot = 'Auto')"
        then: [t: "τελεία"]                      	# 	(en: 'times', google translation)
        else: [t: "φορές"]           	# 	(en: 'dot', google: 'τελεία')
 - "×":                                         	#  0xd7
    - test:
        if: "$SpeechStyle = 'ClearSpeak'"
        then_test:
        - if: "$ClearSpeak_MultSymbolX = 'Auto'"
          then: [t: "επί"]                      	# 	(en: 'times', google translation)
        - else_if: "$ClearSpeak_MultSymbolX = 'By'"
          then: [t: "επί"]
          else: [t: "πολλαπλασιασμός"]
        else_test:
            if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
            then: [t: "σύμβολο πολλαπλασιασμού"]
            else: [t: "επί"]

 - "÷": [t: "διά"]                              	#  0xf7	(en: 'divided by', google: 'διαιρείται από')
 - "̀": [t: "καλλωπιστικός τόνος βαρεία"]              	  #  0x300	(en: 'grave accent embellishment', google: 'grave accent excellishing')
 - "́": [t: "καλλωπιστικός τόνος οξεία"]               	#  0x301	(en: 'acute accent embellishment', google: 'οξεία διακοσμητική προφορά')
 - "̂": [t: "καλλωπιστικός τόνος καπέλο"]            	#  0x302	(en: 'circumflex accent embellishment', google: 'circumflex accent excellishing')
 - "̃": [t: "καλλωπιστική περισπωμένη"]         	#  0x303	(en: 'tilde embellishment', google: 'tilde excellishing')
 - "̄": [t: "καλλωπιστικό μακρό"]               	#  0x304	(en: 'macron embellishment', google: 'macron excellishing')
 - "̅": [t: "καλλωπιστική άνω παύλα"]           	#  0x305	(en: 'overbar embellishment', google: 'overbar εξωραϊσμό')
 - "̆": [t: "βραχεία"]               #  0x306	(en: 'breve', google: 'βραχύ σημείο')
 - "̇": [t: "καλλωπιστική τελεία πάνω από"]          	#  0x307	(en: 'dot above embellishment', google: 'κουκκίδα πάνω από το εξωραϊσμό')

   # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
 - "Α-Ω": 
    - test: 
        if: "$CapitalLetters_Beep"
        then:
        - audio:
            value: "beep.mp4"
            replace: []
    - test: 
        if: "$CapitalLetters_UseWord"
        then_test:
          if: "$SpeechOverrides_CapitalLetters = ''"
          then_test:
            if: "$Impairment = 'Blindness'"
            then: [t: "κεφαλαίο"]               	# 	(en: 'cap', google translation)
          else: [x: "$SpeechOverrides_CapitalLetters"] 
    - pitch:
        value: "$CapitalLetters_Pitch"
        # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
        replace: [spell: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ΢ΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]

 - "α": [t: "άλφα"]                                	#  0x3b1	(en: 'alpha', google: 'άλφα')
 - "β": [t: "βήτα"]                                	#  0x3b2	(en: 'beta', google: 'βήτα')
 - "γ": [t: "γάμμα"]                                	#  0x3b3	(en: 'gamma', google: 'γάμα')
 - "δ": [t: "δέλτα"]                                	#  0x3b4	(en: 'delta', google: 'δέλτα')
 - "ε": [t: "έψιλον"]                                	#  0x3b5	(en: 'epsilon', google: 'έψιλο')
 - "ζ": [t: "ζήτα"]                                	#  0x3b6	(en: 'zeta', google: 'ζέτα')
 - "η": [t: "ήτα"]                                	#  0x3b7	(en: 'eta', google: 'eta')
 - "θ": [t: "θήτα"]                                	#  0x3b8	(en: 'theta', google: 'θήτα')
 - "ι": [t: "ιότα"]                                	#  0x3b9	(en: 'iota', google: 'ιώτα')
 - "κ": [t: "καπα"]                                	#  0x3ba	(en: 'kappa', google: 'kappa')
 - "λ": [t: "λάμδα"]                                	#  0x3bb	(en: 'lambda', google: 'lambda')
 - "μ": [t: "μί"]                                	#  0x3bc	(en: 'mu', google: 'mu')
 - "ν": [t: "νί"]                               	#  0x3bd	(en: 'nu', google: 'nu')
 - "ξ": [t: "ξ"]                                	#  0x3be	(en: 'zai', google: 'zai')
 - "ο": [t: "όμικρον"]                                	#  0x3bf	(en: 'omicron', google: 'όμικρο')
 - "π": [t: "π"]                                	#  0x3c0	(en: 'pi', google: 'πι')
 - "ρ": [t: "ρ"]                                	#  0x3c1	(en: 'rho', google: 'rho')
 - "ς": [t: "μικρό σίγμα"]                                	#  0x3c2	(en: 'final sigma', google: 'τελική sigma')
 - "σ": [t: "σίγμα"]                                	#  0x3c3	(en: 'sigma', google: 'sigma')
 - "τ": [t: "τάαφ"]                                	#  0x3c4	(en: 'tau', google: 'tau')
 - "υ": [t: "ύψιλον"]                                	#  0x3c5	(en: 'upsilon', google: 'ύψιλο')
 - "φ": [t: "φ"]                                	#  0x3c6	(en: 'phi', google: 'phi')
 - "χ": [t: "χ"]                                	#  0x3c7	(en: 'chi', google: 'τσι')
 - "ψ": [t: "ψ"]                                	#  0x3c8	(en: 'psi', google: 'psi')
 - "ω": [t: "ωμέγα"]                                	#  0x3c9	(en: 'omega', google: 'ωμέγα')
 - "ϕ": [t: "παραλλαγή του φ"]                     	#  0x3d5	(en: 'phi', google: 'phi')
 - "ϖ": [t: "παραλλαγή του π"]                  	#  0x3d6	(en: 'pi', google: 'πι')
 - "ϵ": [t: "παραλλαγή του έψιλον"]                                	#  0x3f5	(en: 'epsilon', google: 'έψιλο')
 - "϶": [t: "ανεστραμμένο έψιλον"]                   	#  0x3f6	(en: 'reversed epsilon', google: 'αντιστρέψιμο epsilon')

 
 - "–": [t: "μικρή παύλα"]                          	#  0x2013
 - "—": [t: "μεγάλη παύλα"]                          	#  0x2014
 - "―": [t: "οριζόντια παύλα"]                  	#  0x2015	(en: 'horizontal bar')
 - "‖": [t: "διπλή κάθετος"]            	#  0x2016	(en: 'double vertical line', google: 'διπλή κατακόρυφη γραμμή')
 - "…":                                         	#  0x2026
    test:
        if:
            - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or"
               # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
               # speak '…' as 'and so on...' unless expr starts with '…'
            - "../*[1][.='…']"
        then: [t: "αποσιωπητικά"]                	# 	(google translation)
        else_test:                              	#  must have $ClearSpeak_Ellipses = 'AndSoOn'
            if: "count(following-sibling::*) = 0"
            then: [t: "και ούτω καθεξής"]       	# 	(en: 'and so on', google translation)
            else: [t: "και ούτω καθεξής ως"]   	# 	(en: 'and so on up to', google: 'και ούτω καθεξής')

 - "⁡":                                         	#  0x2061
    - test:
        # skip saying "of" when Terse and a trig function, when it is a shape (does this happen?), or we are in :literal mode
        if: "not(
              ( $Verbosity='Terse' or ($SpeechStyle = 'ClearSpeak' and IsNode(following-sibling::*[1],'simple')) and
                preceding-sibling::*[1][IfThenElse($SpeechStyle='ClearSpeak',
                                                   IsInDefinition(., 'ClearSpeakTrigFunctionNames'),
                                                   IsInDefinition(., 'TrigFunctionNames') )]
              ) or
              preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')] or
              (@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':literal:')])
            )"
        then: [t: "του"]                        	# 	(en: 'of', google translation) 
        # theodora. depending on the following word and syntax of a sentence, the word "of" 
        # has multiple translations in Greek. this is okay for now. 
        
 - "⁢": [t: ""]                                 	#  0x2062
 - "⁣": [t: ""]                                 	#  0x2063
 - "⁤": [t: "και"]                              	#  0x2064	(en: 'and', google translation)
 - "′": [t: "τόνος"]                            	#  0x2032	(google: 'πρωταρχική') #theodora. the word prime does not apply in all examples.
 - "″": [t: "διπλή παράγωγος"]                     	#  0x2033	(google: 'διπλό prime')
 - "‴": [t: "τριπλή παράγωγος"]                     	#  0x2034

 - "ℂℕℚℝℤ":                                     	#  here we rely on this running through the table again to speak "cap xxx"
    - t: "διπλή γραφή"                         	# 	(en: 'double-struck', google: 'διπλό χτύπημα')
    - spell: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"

 - "℃": [t: "βαθμοί κελσίου"]                  	#  0x2103	(en: 'degrees celsius', google: 'βαθμοί κελσίου')
 - "℉": [t: "βαθμοί φάρεναϊτ"]               	#  0x2109	(en: 'degrees fahrenheit', google: 'βαθμοί φάρεναϊτ')
 - "ℋℛℓ":                                       	#  0x210b
    - t: "καλλιγραφικό"                   	# 	(en: 'script', google: 'γραφή')
    - spell: "translate('.', 'ℋℛℓ', 'HRl')"
 - "ℎ": [t: "σταθερά του Πλάνκ"]               	#  0x210e	(en: 'planck constant', google: 'planck σταθερά')
 - "ℜ":                                         	#  0x211c
    - t: "φράκτουρ"                  	# 	(en: 'fraktur', google: 'fraktur')
    - spell: "'R'"

 - "Ω": [t: "ωμ"]                               	#  0x2126	(en: 'ohms', google: 'ohms')
 - "K": [t: "βαθμοί Κέλβιν"]                   	#  0x212a	(en: 'kelvin', google: 'κέλβιν')
 - "Å": [t: "άνγκστρομ"]                        	#  0x212b	(en: 'angstroms', google: 'angstroms')
 - "ⅆⅇⅈⅉ":                                      	#  0x2146-9
    - t: "διπλή πλάγια γραφή"                            	# 	(en: 'double-struck italic', google: 'διπλό-χτύπημα πλάγια')
    - spell: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"

 - "←": [t: "βέλος προς τα αριστερά"]           	#  0x2190	(en: 'leftwards arrow', google: 'βέλος αριστερά')
 - "↑": [t: "βέλος προς τα πάνω"]               	#  0x2191	(en: 'upwards arrow', google: 'αντιμετωπιση')
 - "→":                                         	#  0x2192
     - test:
        if: "ancestor::*[2][self::m:limit]"
        then: [t: "προσεγγίζει"]               	# 	(en: 'approaches', google translation)
        else: [t: "βέλος προς τα δεξιά"]        	# 	(en: 'right arrow', google: 'δεξί βέλος')

 - "↓": [t: "βέλος προς τα κάτω"]               	#  0x2193	(en: 'downwards arrow')
 - "⇒": [t: "διπλό βέλος προς τα δεξιά"]        	#  0x21d2	(en: 'rightwards double arrow', google: 'διπλό βέλος διπλού βέλους')
 - "∀": [t: "για κάθε"]                         	#  0x2200	(en: 'for all', google: 'για όλα')
 - "∂":                                         	#  0x2202
     - test: 
         if: "$Verbosity='Terse'"
         then: [t: "μερικό"]                   	# 	(en: 'partial', google translation)
         else: [t: "μερικό διαφορικό"]                 	# 	(en: 'partial derivative', google: 'μερικό παράγωγο')
 - "∃": [t: "υπάρχει"]                          	#  0x2203	(en: 'there exists')
 - "∄": [t: "δεν υπάρχει"]                      	#  0x2204	(en: 'there does not exist')
 - "∅": [t: "κενό σύνολο"]                      	#  0x2205	(en: 'empty set', google: 'άδειο σετ')
 - "∆":                                         	#  0x2206
    - with:
        variables: [IsAccusative: "preceding-sibling::*[1][self::m:mo and (.='=' or .='<' or .='>' or .='≤' or .='≥' or .='≰' or .='≱' or .='≮' or .='≯' or .='≝' or .='≡' or .='≃' or .='≄' or .='≅' or .='≆' or .='≇' or .='≈' or .='≉' or .='≊' or .='≢' or .='≨' or .='≩' or .='≞' or .='≪' or .='≫' or .='⫹' or .='⫺' or .='≼' or .='≽' or .='⋠' or .='⋡' or .='∷' or .='∺' or .='≍' or .='≎' or .='≑' or .='≓' or .='≘' or .='≟' or .='≣' or .='≭' or .='≳' or .='≲' or .='⋦' or .='⋧' or .='⋨' or .='⋩' or .='⟚' or .='⩰' or .='⪬' or .='⪭' or .='⪵' or .='⪶' or .='⪷' or .='⪸' or .='⪹' or .='⪺' or .='≶' or .='≷' or .='≸' or .='≹' or .='⋘' or .='⋙' or .='⋚' or .='⋛' or .='⋜' or .='⋝' or .='⋞' or .='⋟' or .='⪝' or .='⪞' or .='⪙' or .='⪚' or .='⪛' or .='⪜' or .='⪡' or .='⪢' or .='⪤' or .='⪥' or .='⪪' or .='⪫' or .='⫷' or .='⫸')]"] 
        replace:
        - test: 
            if: "$Verbosity!='Terse'"
            then:
            - test:
                if: "$IsAccusative"
                then: [t: "τη"]   #theodora. added rule for reading greek accusative after an operator "ισούται με"
                else: [t: "η"]
 #        then: [t: "η"]                         	# 	(en: 'the', google translation) #theodora. not sure articles should be kept in greek. The current rules don't allow for creating cases for accusative, nominative etc. so it is easier to remove for now
        - t: "λαπλασιανή"                      	# 	(en: 'laplacian of', google: 'laplacian του')
 - "∇":                                   	#  0x2207
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "το"]                         	# 	(en: 'the', google translation) #theodora. not sure articles should be kept in greek. The current rules don't allow for creating cases for accusative, nominative etc. so it is easier to remove for now
     - t: "ανάδελτα"                            	# 	(en: 'gradient of', google: 'κλίση του')
 - "∈":        #new / changed                                 	#  0x2208
     - test:
        if: "$SpeechStyle != 'ClearSpeak'"
        then:
        - test:
            if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])"    # "the set x is an element of ..." sounds bad"
            then: [t: ""] # ???
            else: [t: "που"] # ???
        - t: "ανήκει"                  # -- ένα στοιχείο του                                                                                                      
        # Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
        else_test:
            if: "../../self::m:set or ../../../self::m:set"	#  inside a set
            then_test:
              - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
                then: [t: "ανήκει"]                 	# 	(en: 'in', google translation)
              - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
                then: [t: "ανήκει"]              	# 	(en: 'member of', google translation)
              - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
                then: [t: "ανήκει"]       	# 	(en: 'element of', google translation)
              - else: [t: "ανήκει"]         	#  $ClearSpeak_SetMemberSymbol = 'Belongs'	(en: 'belonging to', google: 'ανήκει σε')
            else_test:
              - if: $ClearSpeak_SetMemberSymbol = 'Member' or $ClearSpeak_SetMemberSymbol = 'Auto' 
                then: [t: "ανήκει"]    	# 	(en: 'is a member of', google translation) -- είναι στοιχείο του
              - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
                then: [t: "ανήκει"]	# 	(en: 'is an element of', google translation) -- είναι ένα στοιχείο του
              - else_if: $ClearSpeak_SetMemberSymbol = 'In'
                then: [t: "ανήκει"]         	# 	(en: 'is in', google translation)
              - else: [t: "ανήκει"]         	#  $ClearSpeak_SetMemberSymbol = 'Belongs'	(en: 'belongs to', google: 'ανήκει στον')
 - "∉":                                         	#  0x2209
    # rule is identical to 0x2208
     - test:
        if: "$SpeechStyle != 'ClearSpeak'"
        then:
        - test: 
            if: "$Verbosity!='Terse'"
            then: [t: "δεν ανήκει"] # όχι στοιχείο του 
            else: [t: "δεν ανήκει"] # theodora. check         -- δεν είναι στοιχείο του                                                                                           
        # Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
        else_test:
            if: "../../self::m:set or ../../../self::m:set"	#  inside a set
            then_test:
              - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
                then: [t: "δεν ανήκει"]           	# 	(en: 'not in', google translation)
              - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
                then: [t: "δεν ανήκει"]      	# 	(en: 'not member of', google translation) -- όχι στοιχείο του
              - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
                then: [t: "δεν ανήκει"]   	# 	(en: 'not element of', google translation) -- όχι στοιχείο του
              - else: [t: "δεν ανήκει"]     	#  $ClearSpeak_SetMemberSymbol = 'Belongs'	(en: 'not belonging to', google: 'δεν ανήκει σε')
            else_test:
              - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
                then: [t: "δεν ανήκει"]	# 	(en: 'is not a member of', google translation) -- δεν είναι στοιχείο του
              - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
                then: [t: "δεν ανήκει"]	# 	(en: 'is not an element of', google translation) -- δεν είναι ένα στοιχείο του
              - else_if: $ClearSpeak_SetMemberSymbol = 'In'
                then: [t: "δεν ανήκει"]     	# 	(en: 'is not in', google translation)
              - else: [t: "δεν ανήκει"]     	#  $ClearSpeak_SetMemberSymbol = 'Belongs'	(en: 'does not belong to', google: 'δεν ανήκει')
 - "∊":                                         	#  0x220a
     - test:
        if: "$SpeechStyle != 'ClearSpeak'"                                          
        then:
        - test: 
            if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])"    # "the set x is an element of ..." sounds bad"
            then: [t: ""] # ???
        - t: "ανήκει"             
        # Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
        else_test:
            if: "../../self::m:set or ../../../self::m:set"	#  inside a set
            then_test:
              - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
                then: [t: "ανήκει"]                 	# 	(en: 'in', google translation)
              - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
                then: [t: "ανήκει στο"]              	# 	(en: 'member of', google translation)
              - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
                then: [t: "ανήκει στο"]       	# 	(en: 'element of', google translation)
              - else: [t: "ανήκει"]         	#  $ClearSpeak_SetMemberSymbol = 'Belongs'	(en: 'belonging to', google: 'ανήκει σε')
            else_test:
              - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
                then: [t: "ανήκει"]    	# 	(en: 'is a member of', google translation)
              - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
                then: [t: "ανήκει στο"]	# 	(en: 'is an element of', google translation) -- είναι ένα στοιχείο του
              - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
                then: [t: "ανήκει στο"]         	# 	(en: 'is in', google translation)
              - else: [t: "ανήκει"]         	#  $ClearSpeak_SetMemberSymbol = 'Belongs'	(en: 'belongs to', google: 'ανήκει στον')
 - "∏": [t: "γινόμενο"]                         	#  0x220f	(en: 'product', google: 'προϊόν')
 - "∐": [t: "συνγινόμενο"]                      	#  0x2210	(en: 'co-product', google: 'συμπαραγωγή')
 - "∑": [t: "άθροισμα"]                         	#  0x2211	(en: 'sum')
 - "−": [t: "μείον"]                            	#  0x2212	(en: 'minus')
 - "∓": [t: "πλην ή συν"]                        	#  0x2213	(en: 'minus or plus', google: 'μείον ή συν')
 - "∗": [t: "τελεστής αστερίσκος"]              	#  0x2217	(en: 'times', google: 'φορές')
 - "∘": [t: "τελεστής σύνθεση"]                  	#  0x2218	(en: 'composed with', google: 'αποτελείται από')
 - "√":                                         	#  0x221a
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: ""]                         	# 	(en: 'the', google translation) #theodora. not sure articles should be kept in greek. The current rules don't allow for creating cases for accusative, nominative etc. so it is easier to remove for now
     - t: "τετραγωνική ρίζα"                    	# 	(en: 'square root of', google: 'τετραγωνική ρίζα του')
 - "∝":                                         	#  0x221d
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι"]                     	# 	(en: 'is', google translation)
     - t: "ανάλογο προς"                        	# 	(en: 'proportional to')
 - "∞": [t: "άπειρο"]                           	#  0x221e	(en: 'infinity')
 - "∟": [t: "ορθή γωνία"]                     	#  0x221f	(en: 'right angle', google: 'ορθή γωνία')
 - "∠": [t: "γωνία"]                            	#  0x2220	(en: 'angle')
 - "∡": [t: "γωνία με τόξο εντός της"]                      	#  0x2221	(en: 'measured angle', google: 'μετρούμενη γωνία')
 - "∣": [t: "διαιρεί"]                          	#  0x2223	(en: 'divides', google: 'χωρίζει')
 - "∤": [t: "δεν διαιρεί"]                      	#  0x2224	(en: 'does not divide', google: 'δεν χωρίζει')
 - "∥":                                           # 0x2225
     - test:
         if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
         then: [t: "διπλή κάθετη γραμμή"]
         else:
         - test:
              if: "$Verbosity!='Terse'"
              then: [t: "έίναι"]
         - t: "παράλληλο προς"                                            
 - "∦":                                         	#  0x2226                                                                                                                            
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "δεν είναι παράλληλο στο"]                     	# 	(en: 'is', google translation)
         else: [t: "όχι παράλληλο στο"]                 	# 	(en: 'not parallel to', google: 'όχι παράλληλα με') 
 #theodora. this was changed to fit the greek syntax by placing the full expression for each case.
 - "∧": [t: "λογικό και"]                              	#  0x2227	(google: 'και')
 - "∨": [t: "λογικό ή"]                               	#  0x2228	(google: 'ή')
 - "∩": [t: "τομή"]                             	#  0x2229	(en: 'intersection', google: 'σημείο τομής')
 - "∪": [t: "ένωση"]                            	#  0x222a	(en: 'union')
 - "∫": [t: "ολοκλήρωμα"]                       	#  0x222b	(en: 'integral', google: 'αναπόσπαστο')
 - "∬": [t: "διπλό ολοκλήρωμα"]                 	#  0x222c	(en: 'double integral')
 - "∭": [t: "τριπλό ολοκλήρωμα"]                	#  0x222d	(en: 'triple integral')
 - "∮": [t: "επικαμπύλιο ολοκλήρωμα"]           	#  0x222e	(en: 'contour integral', google: 'integral contour')
 - "∶":                                         	#  0x2236
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι"]                     	# 	(en: 'is', google translation)
     - t: "προς"                                	# 	(en: 'to', google: 'προς την')
 - "∷": [t: "σύμβολο αναλογίας"]                    #  0x2237	(en: 'as', google: 'όπως και')
 - "∼": [t: "κυματοειδής γραμμή"]                       	#  0x223c	(en: 'varies with', google: 'ποικίλλει με')
 - "∽": [t: "ανεστραμμένη κυματοειδής γραμμή"]         	#  0x223d	(en: 'reversed tilde', google: 'αντιστράφηκε tilde')
# new 
# - "∾":                                          # 0x223e
#     - test: 
#         if: "$Verbosity!='Terse'"
#         then: [t: "είναι"]
#     - t: "most positive"
 - "∿": [t: "ημιτονοειδές κύμα"]                	#  0x223f	(en: 'sine wave')
 - "≠":                                         	#  0x2260
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι"]                     	# 	(en: 'is', google translation)
     - t: "διάφορο του"                         	# 	(en: 'not equal to', google: 'όχι ίσο με')
 - "≡":                                         	#  0x2261
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι"]                     	# 	(en: 'is', google translation)
     - t: "ταυτόσημο με"                        	# 	(en: 'identical to', google: 'ολόιδιος με')
 - "≤":                                         	#  0x2264
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι"]                     	# 	(en: 'is', google translation)
     - t:  "μικρότερο από ή ίσο με"
 - "≥":                                         	#  0x2265
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι"]                     	# 	(en: 'is', google translation)
     - t: "μεγαλύτερο από ή ίσο με"                	# 	(en: 'greater than or equal to', google: 'μεγαλύτερο ή ίσο με')
 - "≦": [t: "μικρότερο από πάνω από ίσον"]     	#  0x2266	(en: 'less than over equal to', google: 'λιγότερο από πάνω από ίσο με')
 - "≧": [t: "μεγαλύτερο από πάνω από ίσον"]    	#  0x2267	(en: 'greater than over equal to', google: 'μεγαλύτερη από ό, τι ισούται με')
 - "≺": [t: "προηγείται του"]                   	#  0x227a	(en: 'precedes', google: 'προηγείται')
 - "≻": [t: "έπεται του"]                    	#  0x227b	(en: 'succeeds', google: 'επιτυγχάνει')
 - "⊂":                                         	#  0x2282
     - test: 
         if: "$Verbosity!='Terse'"
         if: "$Verbosity!='Terse'"
         then: [t: "είναι ένα"]                 	# 	(en: 'is a', google translation)
     - t: "υποσύνολο του"                        	# 	(en: 'subset of', google: 'υποσύνολο του')
 - "⊃":                                         	#  0x2283
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι ένα"]                 	# 	(en: 'is a', google translation)
     - t: "υπερσύνολο του"                      	# 	(en: 'superset of', google: 'superset του')
 - "⊄":                                         	#  0x2284
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "δεν είναι υποσύνολο του"]                     	# 	(en: 'is', google translation)
         else: [t: "όχι υποσύνολο του"]              	# 	(en: 'not a subset of', google: 'όχι ένα υποσύνολο του')
    # theodora. this was changed to fit the greek syntax by placing the full expression for each case.
 - "⊅":                                         	#  0x2285
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "δεν είναι υπερσύνολο του"]                     	# 	(en: 'is', google translation)
         else: [t: "όχι υπερσύνολο του"]  # 	(en: 'not a superset of', google: 'όχι ένα υπερσύνδετο του')                	
 - "⊆":                                         	#  0x2286
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι ένα"]                 	# 	(en: 'is a', google translation)
     - t: "υποσύνολο ή ίσον με"                 	# 	(en: 'subset of or equal to', google: 'υποσύνολο ή ίσο με')
 - "⊇":                                         	#  0x2287
     - test: 
         if: "$Verbosity!='Terse'"
         then: [t: "είναι ένα"]                 	# 	(en: 'is a', google translation)
     - t: "υπερσύνολο ή ίσον με"                	# 	(en: 'superset of or equal to', google: 'superset ή ίσο με')
