--- - "a": - test: if: "$TTS='none'" then: [T: "eigh"] # long "a" sound in all speech engines I tested (espeak, MS SAPI, eloquence, else: [spell: "'a'"] # AWS Polly, ReadSpeaker, NaturalReader, google cloud, nuance, ibm watson) - "b-z": - test: if: "$TTS='none'" then: [T: "."] else: [spell: "'.'"] - "A": - test: if: "$CapitalLetters_Beep" then: - audio: value: "beep.mp4" replace: [] - test: if: "$CapitalLetters_UseWord" then_test: if: "$SpeechOverrides_CapitalLetters = ''" then: [x: "$SpeechOverrides_CapitalLetters"] - pitch: value: "$CapitalLetters_Pitch" replace: - test: if: "$TTS='none'" then: [T: "eigh"] 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: [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: "."] - " ": [t: " "] # 0x20 - "!": [T: faktorial] # 0x21 - "\"": [T: tanda kutip] # 0x22 - "#": [T: tagar] # 0x23 - "$": [T: dolar] # 0x24 - "%": [T: persen] # 0x25 - "&": [T: tanda dan] # 0x26 - "'": [T: apostrof] # 0x27 - "(": # 0x28 - test: if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak' then: [ test: { if: "$Verbosity='Terse'", then: [T: buka], else: [T: buka kurung], }, ] else: [T: buka kurung] - ")": # 0x29 - test: if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak' then: [ test: { if: "$Verbosity='Terse'", then: [T: tutup], else: [T: tutup kurung], }, ] else: [T: tutup kurung] - "*": [T: kali] # 0x2a - "+": [T: tambah] # 0x2b - ",": # 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][text()='…'] " then: [T: ''] # else silent - "-": [T: kurang] # 0x2d - ".": # 0x2e - test: if: 'parent::*[1][self::m:mn]' then: [T: 'poin'] else: [T: 'titik'] - ",": # - test: if: 'parent::*[1][self::m:mn]' then: [T: 'koma'] else: [T: 'koma'] - "/": [T: per] # 0x2f - ":": [T: bagi] # 0x3a - ";": [T: titik koma] # 0x3b - "<": # 0x3c - test: if: "$Verbosity!='Terse'" then: [T: ''] - T: kurang dari - "=": [T: sama dengan] # 0x3d - ">": # 0x3e - test: if: "$Verbosity!='Terse'" then: [T: ''] - T: lebih besar dari - "?": [T: tanda tanya] # 0x3f - "@": [T: tanda at] # 0x40 - "[": # 0x5b - test: if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak' then: [T: buka kurung siku] else: [T: buka kurung siku] - "\\": [T: back slash] # 0x5c - "]": # 0x5d - test: if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak' then: [T: tutup kurung siku] else: [T: tutup kurung siku] - "^": [T: hat] # 0x5e - "_": [T: garis bawah] # 0x5f - "`": [T: grave] # 0x60 - "{": # 0x7b - test: if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak' then: [T: buka kurung kurawal] else: [T: buka kurung kurawal] - "|": # 0x7c # note: for ClearSpeak and SimpleSpeak, "|" in side of sets is handled at the mrow level, same for 'sets' - test: - if: "$SpeechStyle != 'ClearSpeak' or not(preceding-sibling::*) or not(following-sibling::*)" then: [T: garis vertikal] - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'" then: [T: sedemikian sehingga] - else_if: "$ClearSpeak_VerticalLine = 'Given'" then: [T: diberikan] - else: [T: membagi] - "}": # 0x7d - test: if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak' then: [T: tutup kurung kurawal] else: [T: tutup kurung kurawal] - "~": [T: tilda] # 0x7e - " ": [T: ''] # 0xa0 - "¢": [T: cent] # 0xa2 - "£": [T: pound] # 0xa3 - "¬": [T: not] # 0xac - "°": [T: 'derajat'] # 0xb0 - "±": [T: tambah kurang] # 0xb1 - "´": [T: 'akut'] # 0xb4 - "·": - test: if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolDot = 'Auto'" then: [T: kali] else: [T: titik] - "×": # 0xd7 - test: if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolX = 'Auto'" then: [T: kali] else_test: if: $ClearSpeak_MultSymbolX = 'By' then: [T: dari] else: [T: kali] - "÷": [T: bagi] # 0xf7 - "̀": [T: hiasan aksen grave] # 0x300 - "́": [T: hiasan aksen akut] # 0x301 - "̂": [T: hiasan aksen sirkumfleksa] # 0x302 - "̃": [T: hiasan tilda] # 0x303 - "̄": [T: hiasan makron] # 0x304 - "̅": [T: hiasan garis diatas] # 0x305 - "̆": [T: breve] # 0x306 - "̇": [T: hiasan titik diatas] # 0x307 # 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: "huruf besar"] 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: alpha] # 0x3b1 - "β": [T: beta] # 0x3b2 - "γ": [T: gamma] # 0x3b3 - "δ": [T: delta] # 0x3b4 - "ε": [T: epsilon] # 0x3b5 - "ζ": [T: zeta] # 0x3b6 - "η": [T: eta] # 0x3b7 - "θ": [T: theta] # 0x3b8 - "ι": [T: iota] # 0x3b9 - "κ": [T: kappa] # 0x3ba - "λ": [T: lamda] # 0x3bb - "μ": [T: mu] # 0x3bc - "ν": [T: nu] # 0x3bd - "ξ": [T: zai] # 0x3be - "ο": [T: omicron] # 0x3bf - "π": [T: pi] # 0x3c0 - "ρ": [T: rho] # 0x3c1 - "ς": [T: final sigma] # 0x3c2 - "σ": [T: sigma] # 0x3c3 - "τ": [T: tau] # 0x3c4 - "υ": [T: upsilon] # 0x3c5 - "φ": [T: phi] # 0x3c6 - "χ": [T: chi] # 0x3c7 - "ψ": [T: psi] # 0x3c8 - "ω": [T: omega] # 0x3c9 - "ϕ": [T: phi] # 0x3d5 - "ϖ": [T: pi] # 0x3d6 - "ϵ": [T: epsilon] # 0x3f5 - "϶": [T: epsilon terbalik] # 0x3f6 - "–": [T: en dash] # 0x2013 - "—": [T: em dash] # 0x2014 - "―": [T: garis horizontal] # 0x2015 - "‖": [T: garis vertikal ganda] # 0x2016 - "…": # 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][text()='…']" then: [T: titik titik titik] else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn' if: 'count(following-sibling::*) = 0' then: [T: dan seterusnya] else: [T: dan seterusnya hingga] - "⁡": # 0x2061 - test: if: "$Verbosity!='Terse' and not(preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')])" then: [T: ''] - "⁢": [T: ''] # 0x2062 - "⁣": [T: ''] # 0x2063 - "⁤": [T: 'and'] # 0x2064 - "′": [T: aksen] # 0x2032 - "″": [T: aksen ganda] # 0x2033 - "‴": [T: aksen rangkap tiga] # 0x2034 - "‵": [T: aksen terbalik] # 0x2035 - "‶": [T: aksen ganda terbalik] # 0x2036 - "‷": [T: aksen rangkap tiga terbalik] # 0x2037 - "ℂ": # 0x2102 - T: struck-ganda - test: if: "($Blind or $Verbosity!='Terse')" then: [T: 'huruf besar'] - T: C - "℃": [T: derajat celsius] # 0x2103 - "℉": [T: derajat fahrenheit] # 0x2109 - "ℋ": # 0x210b - T: script - test: if: "($Blind or $Verbosity!='Terse')" then: [T: 'huruf besar'] - T: h - "ℎ": [T: planck constant] # 0x210e - "ℓ": [T: script l] # 0x2113 - "ℕ": # 0x2115 - T: struck-ganda - test: if: "($Blind or $Verbosity!='Terse')" then: [T: 'huruf besar'] - T: n - "ℚ": # 0x211a - T: struck-ganda - test: if: "($Blind or $Verbosity!='Terse')" then: [T: 'huruf besar'] - T: q - "ℛ": # 0x211b - T: script - test: if: "($Blind or $Verbosity!='Terse')" then: [T: 'huruf besar'] - T: r - "ℜ": # 0x211c - T: fraktur - test: if: "($Blind or $Verbosity!='Terse')" then: [T: 'huruf besar'] - T: r - "ℝ": # 0x211d - T: struck-ganda - test: if: "($Blind or $Verbosity!='Terse')" then: [T: 'huruf besar'] - T: r - "ℤ": # 0x2124 - T: struck-ganda - test: if: "($Blind or $Verbosity!='Terse')" then: [T: 'huruf besar'] - T: z - "Ω": [T: ohm] # 0x2126 - "K": [T: kelvin] # 0x212a - "Å": [T: angstrom] # 0x212b - "ⅆ": [T: struck-ganda italic D] # 0x2146 - "ⅇ": [T: struck-ganda italic E] # 0x2147 - "ⅈ": [T: struck-ganda italic I] # 0x2148 - "ⅉ": [T: struck-ganda italic J] # 0x2149 - "←": [T: panah kiri] # 0x2190 - "↑": [T: panah atas] # 0x2191 - "→": # 0x2192 - test: if: 'ancestor::*[2][self::m:limit]' then: [T: 'mendekati'] else: [T: 'panah kanan'] - "↓": [T: panah bawah] # 0x2193 - "⇒": [T: panah kanan ganda] # 0x21d2 - "∀": [T: untuk semua] # 0x2200 - "∂": # 0x2202 - test: if: "$Verbosity='Terse'" then: { T: parsial } else: { T: turunan parsial } - "∃": [T: ada] # 0x2203 - "∄": [T: tidak ada] # 0x2204 - "∅": [T: himpunan kosong] # 0x2205 - "∆": # 0x2206 - test: if: "$Verbosity!='Terse'" then: [T: ''] - T: laplacian dari - "∇": # 0x2207 - test: if: "$Verbosity!='Terse'" then: [T: ''] - T: gradien dari - "∈": # 0x2208 - test: if: "$SpeechStyle != 'ClearSpeak'" then: [T: sebuah elemen dari] # 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: di] - else_if: $ClearSpeak_SetMemberSymbol = 'Member' then: [T: anggota himpunan] - else_if: $ClearSpeak_SetMemberSymbol = 'Element' then: [T: elemen dari] - else: [T: milik] # $ClearSpeak_SetMemberSymbol = 'Belongs' else_test: - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member' then: [T: anggota himpunan] - else_if: $ClearSpeak_SetMemberSymbol = 'Element' then: [T: elemen dari] - else_if: $ClearSpeak_SetMemberSymbol = 'In' then: [T: di] - else: [T: milik] # $ClearSpeak_SetMemberSymbol = 'Belongs' - "∉": # 0x2209 # rule is identical to 0x2208 - test: if: "$SpeechStyle != 'ClearSpeak'" then: [T: bukan elemen dari] # 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: tidak di] - else_if: $ClearSpeak_SetMemberSymbol = 'Member' then: [T: bukan anggota himpunan] - else_if: $ClearSpeak_SetMemberSymbol = 'Element' then: [T: bukan elemen dari] - else: [T: bukan milik] # $ClearSpeak_SetMemberSymbol = 'Belongs' else_test: - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member' then: [T: bukan anggota himpunan] - else_if: $ClearSpeak_SetMemberSymbol = 'Element' then: [T: bukan elemen dari] - else_if: $ClearSpeak_SetMemberSymbol = 'In' then: [T: tidak di] - else: [T: bukan milik] # $ClearSpeak_SetMemberSymbol = 'Belongs' - "∊": # 0x220a - test: if: "$SpeechStyle != 'ClearSpeak'" then: [T: bukan elemen dari] # 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: di] - else_if: $ClearSpeak_SetMemberSymbol = 'Member' then: [T: anggota himpunan] - else_if: $ClearSpeak_SetMemberSymbol = 'Element' then: [T: elemen dari] - else: [T: milik] # $ClearSpeak_SetMemberSymbol = 'Belongs' else_test: - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member' then: [T: anggota himpunan] - else_if: $ClearSpeak_SetMemberSymbol = 'Element' then: [T: elemen dari] - else_if: $ClearSpeak_SetMemberSymbol = 'In' then: [T: ada di] - else: [T: milik] # $ClearSpeak_SetMemberSymbol = 'Belongs' - "∏": [T: produk] # 0x220f - "∐": [T: ko-produk] # 0x2210 - "∑": [T: penjumlahan sigma] # 0x2211 - "−": [T: kurang] # 0x2212 - "∓": [T: kurang tambah] # 0x2213 - "∗": [T: kali] # 0x2217 - "∘": [T: disusun dengan] # 0x2218 - "√": # 0x221a - test: if: "$Verbosity!='Terse'" then: [T: ''] - T: akar kuadrat dari - "∝": # 0x221d - test: if: "$Verbosity!='Terse'" then: [T: sebanding dengan] - "∞": [T: 'tak hingga'] # 0x221e - "∟": [T: sudut kanan] # 0x221f - "∠": [T: sudut] # 0x2220 - "∡": [T: sudut terukur] # 0x2221 - "∣": [T: membagi] # 0x2223 - "∤": [T: tidak membagi] # 0x2224 - "∥": # 0x2225 - test: if: "$Verbosity!='Terse'" then: [T: sejajar dengan] - "∦": # 0x2226 - test: if: "$Verbosity!='Terse'" then: [T: tidak sejajar dengan] - "∧": [T: dan] # 0x2227 - "∨": [T: atau] # 0x2228 - "∩": [T: irisan] # 0x2229 - "∪": [T: himpunan] # 0x222a - "∫": [T: integral] # 0x222b - "∬": [T: integral ganda] # 0x222c - "∭": [T: integral rangkap tiga] # 0x222d - "∮": [T: integral kontur] # 0x222e - "∶": # 0x2236 - test: if: "$Verbosity!='Terse'" then: [T: ke] - "∷": [T: sebagai] # 0x2237 - "∼": [T: bervariasi dengan] # 0x223c - "∽": [T: tilda terbalik] # 0x223d - "∾": # 0x223e - test: if: "$Verbosity!='Terse'" then: [T: paling positif] - "∿": [T: gelombang sinus] # 0x223f - "≠": # 0x2260 - test: if: "$Verbosity!='Terse'" then: [T: tidak sama dengan] - "≡": # 0x2261 - test: if: "$Verbosity!='Terse'" then: { T: identik dengan } - "≤": # 0x2264 - test: if: "$Verbosity!='Terse'" then: { T: kurang dari atau sama dengan } - "≥": # 0x2265 - test: if: "$Verbosity!='Terse'" then: { T: lebih besar dari atau sama dengan } - "≦": [T: kurang dari lebih sama dengan] # 0x2266 - "≧": [T: lebih besar dari lebih sama dengan] # 0x2267 - "≺": [T: mendahului] # 0x227a - "≻": [T: berhasil] # 0x227b - "⊂": # 0x2282 - test: if: "$Verbosity!='Terse'" then: { T: himpunan bagian dari } - "⊃": # 0x2283 - test: if: "$Verbosity!='Terse'" then: { T: memuat himpunan } - "⊄": # 0x2284 - test: if: "$Verbosity!='Terse'" then: [T: bukan himpunan bagian dari] - "⊅": # 0x2285 - test: if: "$Verbosity!='Terse'" then: [T: tidak memuat himpunan] - "⊆": # 0x2286 - test: if: "$Verbosity!='Terse'" then: { T: himpunan bagian dari atau sama dengan } - "⊇": # 0x2287 - test: if: "$Verbosity!='Terse'" then: { T: memuat himpunan atau sama dengan } - "≈": # 0x2248 - test: if: "$Verbosity!='Terse'" then: { T: mendekati }