Skip to content

MathCAT no longer honours Automatic language option when you change current synth language #19811

@CyrilleB79

Description

@CyrilleB79

When Automatic language option is set in Math parameters, MathCAT does not use current synth language if it is changed.

Steps to reproduce

The initial config is with NVDA language in English and synth/voice set to eSpeak, English (Great Britain)

The test is being done on the following page:
data:text/html;charset=utf-8,<h2>Math in English</h2><p lang="en">The condition is: <math xmlns='http://www.w3.org/1998/Math/MathML'><mrow><mi>a</mi><mo mathvariant='normal'>≠</mo><mn>0</mn></mrow></math></p><h2>Math in Spanish</h2><p lang="es">La condición es: <math xmlns='http://www.w3.org/1998/Math/MathML'><mrow><mi>a</mi><mo mathvariant='normal'>≠</mo><mn>0</mn></mrow></math></p>

These steps start at 14:22:40.446 in the log.

  1. Choose a Spanish TTS / voice
  2. Read math
  3. Open settings dialogs, MathCAT options and check that language is Automatic and validate
  4. Read Math.
  5. Change your voice / TTS to English
  6. Read math.
  7. Restore configuration with NVDA+control+R; in my case, TTS turns back to French
  8. Read math.
  9. Open Math settings and validate without having changed anything
  10. Read math.

Actual behavior

  1. / 2. Math is read in English
  2. Math is read in spanish as expected.
  3. Math is read in spanish
  4. Math is read in spanish
  5. Math is finally read in English, though validating a settings panel without changing anything should not have any effect.

Expected behavior

  1. / 2. Math should be read in spanish since the default math voice is Automatic, which should pick up the language of the current voice.
  2. Math should be read in English since the current voice is now English
  3. Math should be read in English since the voice stored in the disk config was English.
  4. The math language is not expected to change at the time the user validates the settings if they have not changed any setting; actually, it should have chenged before, but this validation seems to trigger the change that was expected before.

NVDA logs, crash dumps and other attachments

nvda.log

System configuration

NVDA installed/portable/running from source

Installed

NVDA version

2026.1beta7

Windows version

Windows 11 23H2 (AMD64) build 22631.6649

Name and version of other software in use when reproducing the issue

Chrome 146.0.7680.80

Other information about your system

N/A

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors

Not tried previous versions since MathCAT integration has occurred during 2026.1 dev cycle.

But also tested from source on the branch of PR #19740 (commit 5b24cad), with the same result.

If NVDA add-ons are disabled, is your problem still occurring?

Tested in a new config without add-ons

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Run during 2026.1beta7, installed this morning.

Metadata

Metadata

Assignees

Labels

feature/mathp3https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priorityrelease/blockingthis issue blocks the milestone releasetriagedHas been triaged, issue is waiting for implementation.

Type

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions