You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: readme.md
+89-16Lines changed: 89 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,19 @@
1
1
# MathCAT
2
2
3
3
* Author: Neil Soiffer
4
-
* NVDA compatibility: 2025.1 or later (switching to a more modern Python makes it incompatible with earlier versions of NVDA)
4
+
* NVDA compatibility: 2025.1 or later (switching to a more modern Python makes it incompatible with earlier versions of NVDA) for 32 bit NVDA versions; 2026.1 for 64 bit NVDA versions.
5
5
* Download [stable version][1]
6
6
7
-
MathCAT is designed to eventually replace MathPlayer because MathPlayer is no longer supported. MathCAT generates speech and braille from MathML. The speech for math produced by MathCAT is enhanced with prosody so that it sounds more natural. The speech can be navigated in three modes using the same commands as MathPlayer. In addition, the navigation node is indicated on a braille display.
7
+
MathCAT replaces MathPlayer because MathPlayer is no longer supported. MathCAT generates speech and braille from MathML. The speech for math produced by MathCAT is enhanced with prosody so that it sounds more natural. The speech can be navigated in three modes using the same commands as MathPlayer. In addition, the navigation node is indicated on a braille display.
8
8
9
-
MathCAT supports speech for the following languages: English, German, Spanish, Finnish, Indonesian, Norwegian, Swedish, Vietnamese, and Chinese (Traditional)
9
+
The supported languages are: Chinese (Traditional), English, Finnish, French,
The supported braille codes are: Nemeth, UEB Technical, CMU (Spanish/Portuguese),
13
+
Russian, Swedish, and Vietnamese braille code standards.
14
+
Also supported are the German/Austrian braille code standards for ASCIIMath and LaTeX math markup.
15
+
16
+
Other language and braille code translations are in progress.
12
17
13
18
MathCAT has a number of configuration options that control speech, navigation, and braille.
14
19
Many of these can be set in the MathCAT settings dialog (found NVDA Preferences menu).
@@ -26,11 +31,70 @@ Who should use MathCAT:
26
31
27
32
Who should NOT use MathCAT:
28
33
29
-
* Anyone who uses MathPlayer with a language that is not yet supported by MathCAT and are not comfortable with speech in one of the supported languages.
30
-
* Anyone who prefers Access8Math to MathPlayer (for speech or other features)
34
+
* Anyone who prefers Access8Math (for speech or other features)
31
35
32
36
## MathCAT Update Log
33
37
38
+
### Version v0.7.6-beta.8
39
+
40
+
## User-facing highlights
41
+
42
+
| Area | Since 0.7.5 |
43
+
| ---- | ----------- |
44
+
| Languages | New: Greek, French, Hungarian, Polish, Russian; Improvements German, Norwegian, Traditional Chinease |
* User guides / translators’ guide work; example HTML for translator testing
97
+
34
98
### Version 0.7.5
35
99
36
100
#### Bug Fixes and Enhancements
@@ -63,7 +127,7 @@ Who should NOT use MathCAT:
63
127
* Corrected the rule for what is allowed for "intent"
64
128
* Improved the inference rules for units (supports "mi" if it is marked as "normal")
65
129
* Fixed a navigation bug with log, ln, and lg
66
-
* Improved error messages -- these should aid in reporting problems in speech and navigation
130
+
* Improved error messages -* these should aid in reporting problems in speech and navigation
67
131
* Improved speech for fractions that involve units ("meters *per* second")
68
132
* Many improvements to the recognition of Chemistry
69
133
* Fixed a Nemeth bug where a script end and baseline indicator were emitted when neither should have been present.
@@ -110,7 +174,7 @@ Lots of changes because it has been a while since the last official release.
110
174
* Be more restrictive when inferring a table
111
175
* Changed speech for the general cases of `mover` and `munder` from "modified x with y above it" to "quantity x with y above it"
112
176
* Improved rule for {} so that it isn't always spoken as "set of ...". It could just be bracketing chars.
113
-
* Tweaked the speech for ∈ inside of a set so that the word "is" is dropped when part of a set -- "the set of all x is an element of ..." sounds poor.
177
+
* Tweaked the speech for ∈ inside of a set so that the word "is" is dropped when part of a set -* "the set of all x is an element of ..." sounds poor.
114
178
* Improved rule for chemistry recognition for atomic numbers.
115
179
* Update to speech hint property names in the proposed MathML Core property list
116
180
* Add speech for coordinates ("the point at 1 comma 2")
@@ -119,7 +183,7 @@ Lots of changes because it has been a while since the last official release.
119
183
* Added an 'xlong' pause
120
184
* Increased the meaning of short/medium/long pauses from 150ms/300ms/600ms to 200ms/400ms/800ms. As always, these are scaled to the speech rate.
121
185
* In MathML 4, `mlabedtr` is deprecated. A workaround is to use the intent property `:equation-label` on an `mtd` and this is now supported
122
-
* Added speech for units (e.g., "km", "in") -- won't work for single letter units such as "m" and "s" unless marked as a unit
186
+
* Added speech for units (e.g., "km", "in") -* won't work for single letter units such as "m" and "s" unless marked as a unit
123
187
* Terse mode now says "of" for functions except for trig/log functions. It was a little too terse before.
124
188
125
189
#### Navigation
@@ -152,7 +216,7 @@ Lots of changes because it has been a while since the last official release.
152
216
#### Fixes
153
217
154
218
* Fixed bug with espeak where it would slow down
155
-
* Forgot to implement relative slowdown when navigating -- fixed
219
+
* Forgot to implement relative slowdown when navigating -* fixed
156
220
* Fixed sans-serif indicator for Nemeth braille.
157
221
* Fixed a bug where empty cells in a table that is piecewise, m:system-of-equations or lines were spoken.
158
222
* Fixed bug where open/closed intervals were inferred when brackets/parens were nested (can't be an interval).
@@ -168,7 +232,7 @@ Lots of changes because it has been a while since the last official release.
168
232
* Cleaned up use of definitions.yaml.
169
233
* Fixed some bugs in the MathML cleanup for "," decimal separators.
170
234
* Found a bug in braille highlighting when nothing is highlighted (maybe never happens which is why I didn't see it in practice?)
171
-
* Fixed "Describe" mode so that it works -- it is still very minimal and probably not useful yet
235
+
* Fixed "Describe" mode so that it works -* it is still very minimal and probably not useful yet
172
236
* Add space after math speech to work around a MS Word bug that concatinates the next character in the text onto the math.
173
237
174
238
### Version 0.5.6
@@ -184,44 +248,49 @@ Lots of changes because it has been a while since the last official release.
184
248
* Some other smaller bug fixes that weren't reported by users
185
249
186
250
### Version 0.5.0
251
+
187
252
* Added German LaTeX braille code. Unlike other braille codes, this generates ASCII chars and uses the current braille output table to translate the characters to braille.
188
253
* Added (expermental) ASCIIMath braille code. Like the LaTeX braille code, this generates ASCII chars and uses the current braille output table to translate the characters to braille.
189
254
* Added "CopyAs" preference that supports copying as MathML, LaTeX, or ASCIIMath using cntl+C when focused on MathML (as before). The currently focused node is copied. Note: this is only listed in the prefs.yaml file and is not exposed (yet) in the MathCAT Preferences dialog.
190
255
191
256
### Version 0.4.2
257
+
192
258
* Fixed language switching when voice changes and MathCAT language is "Auto"
193
259
* Added more checks for $Impairments to improve reading when it is not set for those who are blind
194
260
* Nemeth: fix for "~" when it isn't part of an mrow
195
261
* UEB: character additions, "~" spacing fix if prefix, xor fix,
196
262
* MathML cleanup for accented vowels (mainly for Vietnamese)
197
-
* Major rewrite of preference reading/updating code with big speedup -- added `CheckRuleFiles` pref to control which files are checked for updates
198
-
* Added two new interface calls -- enables setting the navigaton location from the braille cursor (not part of MathCAT addon yet)
263
+
* Major rewrite of preference reading/updating code with big speedup -* added `CheckRuleFiles` pref to control which files are checked for updates
264
+
* Added two new interface calls -* enables setting the navigaton location from the braille cursor (not part of MathCAT addon yet)
199
265
200
266
### Version 0.3.11
267
+
201
268
* Upgraded to python 3.11 and verified working with NVDA 2024.1
202
269
* Fix bugs in Vietnamese braille and also in Speech, mostly for chemistry.
203
270
* Fix broken braille when braille code and dependent language don't match (specifically Vietnam braille and Vietnamese speech)
204
271
* Fix whitespace bug in HTML inside of tokens
205
272
* Improve roman numeral detection
206
273
207
-
208
274
### Version 0.3.9
275
+
209
276
* Added Traditional Chinese translation (thanks to Hon-Jang Yang)
210
277
* Fixed bug with navigating into the base of a scripted expression that has parenthesis
211
278
* Significantly changed the way whitespace is handled. This mainly affects braille output (spaces and "omission" detection).
212
279
* Improved recognition of chemistry
213
280
* UEB braille fixes that came up from adding chemistry examples
214
281
* UEB fixes for adding auxillary parenthesis in some cases
215
282
216
-
217
283
### Version 0.3.8
284
+
218
285
Braille:
286
+
219
287
* Dialog has been internationalized for several languages (many thanks to the translators!)
220
-
* Initial implementation of CMU -- the braille code used in Spanish and Portuguese speaking countries
288
+
* Initial implementation of CMU -* the braille code used in Spanish and Portuguese speaking countries
221
289
* Fix some UEB bugs and added some characters for UEB
222
290
* Significant improvements to Vietnamese braille
223
291
224
292
Other fixes:
293
+
225
294
* Change relative rate dialog slider to have a maximum value of 100% (now only allows setting slower rates). Also, added step sizes so it is easier to raise/lower the rate significantly.
226
295
* Fix eSpeak bug that sometimes cut off speech when the relative rate was changed
227
296
* Improvements to Vietnamese speech
@@ -232,7 +301,9 @@ Other fixes:
232
301
* Several improvements for cleaning up poor MathML code
233
302
234
303
### Version 0.3.3
304
+
235
305
This release has a number of bug fixes in it. The major new features and bug fixes are:
306
+
236
307
* Added Spanish Translation (thanks to Noelia Ruiz and María Allo Roldán)
237
308
* Modified navigation so that it starts zoomed in one level
238
309
* Added cntrl+alt+arrow as a way to navigate tabular structures. These keys should be more memorable because they are used for table navigation in NVDA.
@@ -244,6 +315,7 @@ There are lots of small tweaks to the speech and some bug fixes for both Nemeth
244
315
Note: there is now an option to get Vietnam's braille standard as braille output. This is still a work in progress and is too buggy to be used other than for testing. I expect the next MathCAT release will contain a reliable implementation.
245
316
246
317
### Version 0.2.5
318
+
247
319
* More improvements chemistry
248
320
* Fixes for Nemeth:
249
321
** Added "omission" rules
@@ -252,6 +324,7 @@ Note: there is now an option to get Vietnam's braille standard as braille output
252
324
** Fixes related to Nemeth and punctuation
253
325
254
326
### Version 0.2
327
+
255
328
* Lots of bug fixes
256
329
* Improvements to speech
257
330
* A preference setting to control the duration of pausing (works with changes to relative speech rate for math)
0 commit comments