Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
b090d58
Initial commit for French braille.
NSoiffer Sep 27, 2024
7b75709
Added a table of atomic numbers for the elements and added a test for…
NSoiffer Sep 27, 2024
5136cb3
renamed test
NSoiffer Sep 27, 2024
fca6ce0
Merge branch 'main' into French-Braille
NSoiffer May 30, 2025
4ccda5f
Update braille.rs to compile after merging.
NSoiffer May 30, 2025
34ce947
Merge branch 'main' into French-Braille
NSoiffer Nov 19, 2025
596e210
Merge branch 'main' into French-Braille
NSoiffer Jun 6, 2026
c7eda2c
Updated to main. Needed to update the format of the tests to match t…
NSoiffer Jun 6, 2026
b163b6b
Merge main into French-Braille: fold French into BrailleCode trait
NSoiffer Jun 16, 2026
62dfe83
It appears some logic was missing parens -- not sure why this always …
NSoiffer Jun 22, 2026
3c5b101
Lots more cleanup of tests, additions of rules.
NSoiffer Jun 22, 2026
fffcc73
fix clippy warning
NSoiffer Jun 22, 2026
de9751d
More fixes for French braille. Now at 89 correct, 8 fail, with most o…
NSoiffer Jun 25, 2026
f9ba42a
pass through braille chars as is
NSoiffer Jun 25, 2026
4d848ed
Merge branch 'main' into French-Braille
NSoiffer Aug 3, 2026
822485d
Merge branch 'main' into French-Braille
NSoiffer Aug 3, 2026
52d91c2
UEB has a rule for some pseudo-script chars. The match for that rule …
NSoiffer Aug 5, 2026
baf7de6
Added new UEB chars. Many of these are accented letters. I added 'A' …
NSoiffer Aug 5, 2026
916978c
change small spaces from 'W' to ''
NSoiffer Aug 6, 2026
6bddbda
add 'H' for Hebrew alphabet indicator
NSoiffer Aug 6, 2026
6af4178
promote munder/mover/munderover base attrs to element -- prevents err…
NSoiffer Aug 6, 2026
1046bd5
all primes on chem symbols such as R' -- used to be a reject, now neu…
NSoiffer Aug 7, 2026
af250aa
Fix leftover value for G1 indicator -- unlike UEB, French braille num…
NSoiffer Aug 7, 2026
f481cd5
Lots of fixes and addition of tests.
NSoiffer Aug 7, 2026
d743060
Add "(eau)" as a state (for French)
NSoiffer Aug 7, 2026
0d7a39a
add more arrows. French at the moment doesn't seem to distinguish bet…
NSoiffer Aug 7, 2026
363fc51
removed some intent attrs that were not needed
NSoiffer Aug 7, 2026
9588ed9
uncomment a determinant test after fixing the braille
NSoiffer Aug 7, 2026
4408cb2
Add rules for multiple lines in a script position done via an mtable …
NSoiffer Aug 7, 2026
5c48268
a linebreaks to MathML to make it easier to read
NSoiffer Aug 7, 2026
9b2ac74
Merge branch 'main' into French-Braille
NSoiffer Aug 7, 2026
e5a9c87
add more arrow chars -- I thought I did this in a previous commit, bu…
NSoiffer Aug 7, 2026
c2dbcc6
Add MathJax demo link to developer docs for rendering inspection
moritz-gross Aug 15, 2026
eebb4be
.
moritz-gross Aug 15, 2026
8e886cc
Merge changes (mostly unicode) from hu branch (#688)
NSoiffer Aug 15, 2026
7fbaf17
Ru -- merge speech changes into main (#689)
NSoiffer Aug 15, 2026
0380bb0
Remove unused and commented-out code (#680)
moritz-gross Aug 15, 2026
d4a112a
Update demo link in developers documentation
moritz-gross Aug 15, 2026
8305b6f
Merge pull request #687 from moritz-gross/link-mathjax-demo-as-helpfu…
moritz-gross Aug 15, 2026
6ecc412
Did cleanup with ranges to shrink file size. The big win was the 'id'…
NSoiffer Aug 16, 2026
2e1301f
Merge branch 'main' of https://github.com/daisy/MathCAT
NSoiffer Aug 16, 2026
fbc49bb
Announce column separator (#679)
moritz-gross Aug 16, 2026
d5c63d8
fix clippy warnings in the no-unsafe version
NSoiffer Aug 16, 2026
78744ec
Revert changes to file from 6ecc412
NSoiffer Aug 16, 2026
a1fc8e0
missed this change that needed to be reverted for Russian braille
NSoiffer Aug 16, 2026
bc712eb
fix AGENTS.md instruction on `uv run pytest`
moritz-gross Aug 16, 2026
58aa858
Merge pull request #693 from moritz-gross/main
moritz-gross Aug 16, 2026
6937925
Merge latest hu changes (#696)
NSoiffer Aug 17, 2026
adbf1e5
move to release candidate
NSoiffer Aug 17, 2026
2267de3
Added creation of minified yaml files for an alternative Rules.zip
NSoiffer Aug 17, 2026
487ce71
fix build problem
NSoiffer Aug 17, 2026
65250fc
try again for creation of minified yaml files for an alternative Rule…
NSoiffer Aug 17, 2026
0bac005
try again -- needs to run on linux
NSoiffer Aug 17, 2026
80b749a
Add standalone Rules packaging script
NSoiffer Aug 17, 2026
b1f15e9
try again with more files in github
NSoiffer Aug 17, 2026
43af561
try again adding 'zz' test dir for testing
NSoiffer Aug 17, 2026
82e8188
internally zip of the Language/Braille dirs
NSoiffer Aug 17, 2026
082afd1
add another file for packaging the rules
NSoiffer Aug 17, 2026
61c04bd
trying again with zipping -- AI is not doing a very good job...
NSoiffer Aug 18, 2026
917dbe5
Merged the messy multiple files AI created into one file
NSoiffer Aug 18, 2026
3bb491d
AI keeps messing with things it shouldn't...
NSoiffer Aug 18, 2026
7af9ec3
remove inappropriate check
NSoiffer Aug 18, 2026
786d058
Unify Rules packaging in Rust for CI, include-zip, and release zips.
NSoiffer Aug 18, 2026
2e2c19c
Serialize rules unzip and YAML reads during parallel tests
NSoiffer Aug 18, 2026
5e899d7
update version number
NSoiffer Aug 18, 2026
04882d3
better speech for missing char used for parsing
NSoiffer Aug 18, 2026
25b472b
udate version #
NSoiffer Aug 18, 2026
67cc546
Add option --exclude to audit-translations
CristianCantoro Aug 19, 2026
3d267a0
Add tests for --exclude option
CristianCantoro Aug 19, 2026
0f4791c
Add test case IDs for CLI main exclude tests
moritz-gross Aug 19, 2026
c89adf4
Merge pull request #701 from CristianCantoro/audit-translations-exclude
moritz-gross Aug 19, 2026
512919a
fix minimized zip file so that flow style is used to reduce space
NSoiffer Aug 20, 2026
2355535
Merge branch 'main' of https://github.com/daisy/MathCAT
NSoiffer Aug 20, 2026
88856c9
fix test that depending on the details of YAML notation -- broke for …
NSoiffer Aug 20, 2026
728bbb7
fix row terminator for UEB in mtable
NSoiffer Aug 20, 2026
4a7f5ca
fix row terminator for UEB in mtable
NSoiffer Aug 20, 2026
18859bc
Bring over fixes to the minified yaml files.
NSoiffer Aug 20, 2026
4b9d19c
bump release number
NSoiffer Aug 20, 2026
eaa36e9
Fix #698 -- merge arc-like symbols under restricted condidtions
NSoiffer Aug 20, 2026
cf0b751
Update user guide
TimArborealis Aug 20, 2026
c7c25fa
Updated acknowledgements
TimArborealis Aug 21, 2026
76b3e59
fix #703
NSoiffer Aug 22, 2026
fc79ce9
Fix up UEB mtable notations.
NSoiffer Aug 22, 2026
c37aac5
Merge branch 'release-candidate'
NSoiffer Aug 22, 2026
baac528
Merge branch 'main' of https://github.com/daisy/MathCAT
NSoiffer Aug 22, 2026
1b32804
accidentally picked up wrong version # when merged in release-candidate
NSoiffer Aug 22, 2026
7ee9e3a
bump version #
NSoiffer Aug 22, 2026
f89080f
add Math4VIP to German translators
moritz-gross Aug 22, 2026
8931979
Merge pull request #713 from moritz-gross/main
moritz-gross Aug 22, 2026
88129be
Fix up arc look-alike chars due to canonicalize change.
NSoiffer Aug 23, 2026
6327bbd
Merge branch 'main' into French-Braille
NSoiffer Aug 23, 2026
6b980d1
Merge branch 'French-Braille'
NSoiffer Aug 23, 2026
9f8d81f
fixes no-unsafe branch clippy issues
NSoiffer Aug 25, 2026
4952dd7
Update MathCAT logo and add descriptive alt text. (#714)
ways2read Aug 27, 2026
1172c4d
fix clippy warning with new version of rust
NSoiffer Aug 28, 2026
e54a29f
Merge branch 'release-candidate'
NSoiffer Aug 28, 2026
70ef046
Merge branch 'main' of github.com:daisy/MathCAT
NSoiffer Aug 28, 2026
5a4aa2c
tried to align the MathCAT logo with the following text.
NSoiffer Aug 28, 2026
ed724d1
Add logo-inline.png for README and GitHub Pages docs
NSoiffer Aug 28, 2026
49bb57d
Cred to Greek translators
TimArborealis Sep 1, 2026
0932ffb
Fix outdated MathCAT project URLs (#732)
k4its1t Sep 2, 2026
72e2b1d
Add Brazilian Portuguese (pt) translation- #729 (#736)
natalieac03 Sep 2, 2026
aaad746
Release candidate (#743)
NSoiffer Sep 2, 2026
9ea98c2
pl: fix five speech/navigation defects and catch up with recent en ch…
michaldziwisz Sep 2, 2026
df565e2
pl: inflect unit names according to the numeral, not with an English …
michaldziwisz Sep 3, 2026
9f4721a
pl: speak the unit after "na" in the accusative, not the nominative (…
michaldziwisz Sep 3, 2026
6a5170a
Update: Add `Cargo.lock` file to track dependencies
moritz-gross Sep 3, 2026
8ac56dd
Merge pull request #750 from moritz-gross/remove-cargo-lock-for-gitig…
moritz-gross Sep 5, 2026
a6b6af1
Minor chemistry fix in Swedish
TimArborealis Sep 7, 2026
bd03fcd
pl: mark the unicode translations as verified (t -> T) (#741)
michaldziwisz Sep 7, 2026
e199081
add PauseFactor to test initialization so that local changes don't af…
NSoiffer Sep 8, 2026
d3b7970
Fix pica unit parsing in spacing width conversion (#755)
moritz-gross Sep 8, 2026
0714929
Update chemistry.rs
TimArborealis Sep 8, 2026
d5d1933
Fix "TEMP NAME of" when a parenthesized matrix is raised to a power (…
wittjeff Sep 13, 2026
8ef6ee1
Fix typo in fallback
NSoiffer Sep 15, 2026
87f4c59
The word "of" was hard-coded into intents. This moves its value to de…
NSoiffer Sep 15, 2026
a74a6e2
remove value used in debugging
NSoiffer Sep 15, 2026
2622ee5
Fix audit-ignore rule scoping
Kostenkov-2021 Sep 19, 2026
a6e65c8
Add in-memory virtual filesystem support to shim_filesystem (#760)
dtsengchromium Sep 19, 2026
49de6d6
Refactor: Simplify match return logic and improve string interpolatio…
moritz-gross Sep 19, 2026
3896006
Merge branch 'daisy:main' into main
Kostenkov-2021 Sep 19, 2026
5c8117e
de, el: use $CommandOffset instead of string-length($Prefix) in navig…
michaldziwisz Sep 20, 2026
97785d8
Merge branch 'daisy:main' into main
Kostenkov-2021 Sep 20, 2026
600180b
Fix audit-ignore parsing around comments
Kostenkov-2021 Sep 20, 2026
374ea58
Merge pull request #777 from Kostenkov-2021/main
moritz-gross Sep 20, 2026
7f3e79d
add tests for intervals in German
moritz-gross Sep 21, 2026
f1895d9
Refine German interval descriptions and update translation rules
moritz-gross Sep 21, 2026
322d7d6
Merge pull request #784 from moritz-gross/fix-intervals-german
moritz-gross Sep 21, 2026
ee539f2
Add German ClearSpeak rule and tests for pause intent
moritz-gross Sep 21, 2026
b2bf819
Merge pull request #785 from moritz-gross/add-pause-rule-to-German
moritz-gross Sep 21, 2026
21fd1eb
Add German localization for currency symbol placement and correspondi…
moritz-gross Sep 22, 2026
327d988
add another test for euro
moritz-gross Sep 22, 2026
a4083ce
add another test for pound/pfund
moritz-gross Sep 22, 2026
4e906f0
Merge pull request #786 from moritz-gross/fix-currency-order-in-German
moritz-gross Sep 22, 2026
692343a
Update German ClearSpeak rules: Add support for principal logarithm (…
moritz-gross Sep 22, 2026
b8d3116
Merge pull request #787 from moritz-gross/add-principal-value-log-for…
moritz-gross Sep 22, 2026
25059dd
Refine German ClearSpeak fraction translations and update ordinal fra…
moritz-gross Sep 22, 2026
5f08dc0
Merge pull request #788 from moritz-gross/German-add-rest-of-NumbersO…
moritz-gross Sep 22, 2026
5df8e81
German ClearSpeak: subset & superset
moritz-gross Sep 22, 2026
fd8153d
Merge pull request #790 from moritz-gross/de-ClearSpeak-superset-subset
moritz-gross Sep 22, 2026
88404bf
de: fix chemical state names
moritz-gross Sep 22, 2026
8efb7ee
Merge pull request #791 from moritz-gross/de--fix-vocab-for-chemical-…
moritz-gross Sep 22, 2026
c17671c
de: fix chemical reaction arrow
moritz-gross Sep 22, 2026
771dc68
de: fix integer exponentiation
moritz-gross Sep 22, 2026
c6a33fa
de: fix exponentiation by arbitrary exponents
moritz-gross Sep 22, 2026
6f24b27
de: add vector norm
moritz-gross Sep 22, 2026
11736b5
de: fix "transpose"
moritz-gross Sep 22, 2026
bb775c5
replace lamda with lambda (#789)
moritz-gross Sep 22, 2026
24eaee3
fix(pl): przywróć szablony sum i iloczynów po naprawie słowa łącząceg…
michaldziwisz Sep 22, 2026
e46e7db
Refactor/simplify prefs rs (#780)
moritz-gross Sep 22, 2026
c567659
Merge upstream main and resolve conflicts
Kostenkov-2021 Sep 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 47 additions & 8 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,25 +46,59 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Remove empty Rules directories
run: find Rules -type d -empty -delete
- name: Remove test directory
run: rm -r Rules/Languages/zz
- name: create Rules.zip
run: zip -r Rules.zip Rules
- uses: dtolnay/rust-toolchain@stable
- name: Create Rules.zip
run: cargo run --bin package-rules -- Rules Rules.zip
- name: Create Rules-minimized.zip
run: cargo run --bin package-rules -- Rules Rules-minimized.zip --minimize
- name: Upload Rules.zip
uses: actions/upload-artifact@v7
with:
name: 'Rules.zip'
path: 'Rules.zip'
compression-level: 0
retention-days: 1
- name: Upload Rules-minimized.zip
uses: actions/upload-artifact@v7
with:
name: 'Rules-minimized.zip'
path: 'Rules-minimized.zip'
compression-level: 0
retention-days: 1

test-rules-package:
name: Test (${{ matrix.feature_name }}, ${{ matrix.rules_zip }})
needs: zip-rules
strategy:
fail-fast: false
matrix:
rules_zip: [Rules.zip, Rules-minimized.zip]
include:
- feature_name: default
features: ""
- feature_name: no-unsafe
features: "--features no-unsafe"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Download ${{ matrix.rules_zip }}
uses: actions/download-artifact@v8
with:
name: ${{ matrix.rules_zip }}
- name: Install packaged Rules
run: |
rm -rf Rules
unzip -q "${{ matrix.rules_zip }}"
# Release zips omit the synthetic zz test language; restore it for unit tests only.
git checkout HEAD -- Rules/Languages/zz
- name: Run tests (${{ matrix.feature_name }})
run: cargo test ${{ matrix.features }} --verbose

pre-release:
name: Pre Release
continue-on-error: false
if: github.event_name == 'push' && github.ref == 'refs/heads/main' # otherwise, job fails on pull requests, as GITHUB_TOKEN is not available
needs: [build, clippy, zip-rules]
needs: [build, clippy, zip-rules, test-rules-package]
runs-on: ubuntu-latest
permissions:
contents: write
Expand All @@ -73,6 +107,10 @@ jobs:
uses: actions/download-artifact@v8
with:
name: Rules.zip
- name: download Rules-minimized.zip
uses: actions/download-artifact@v8
with:
name: Rules-minimized.zip
# Moving 'latest' prerelease (replaces marvinpinto/action-automatic-releases)
- name: Development Build release
env:
Expand All @@ -90,4 +128,5 @@ jobs:
--latest=false \
--title "Development Build" \
--notes "Development build from ${SHA}" \
Rules.zip
Rules.zip \
Rules-minimized.zip
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
target
build.rs.orig
Python/libmathcat.pyd
Cargo.lock
src-pest.7z
src.7z
mp2.7z
Expand Down
6 changes: 4 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ but add common mistakes of AI agents here instead.
- Common per-language files:
- `ClearSpeak_Rules.yaml`, `SimpleSpeak_Rules.yaml`
- `SharedRules/`, `unicode.yaml`, `unicode-full.yaml`, `definitions.yaml`, `navigate.yaml`
- `build.rs` can bundle rules into `rules.zip` when `include-zip` is enabled.
- `build.rs` can bundle rules into `rules.zip` when `include-zip` is enabled (always the minimized tree). Shared zipper: `src/rules_archive.rs`, invoked as `cargo run --bin package-rules -- Rules <output> [--minimize]`.
- CI packages `Rules.zip` (verbatim) and `Rules-minimized.zip` (comments stripped from `Languages/**/unicode.yaml` and `unicode-full.yaml` only). Each language/braille subdir is stored as `<name>/<name>.zip`; top-level and `Intent/` YAML stay loose. Inner language zips use BZIP2; the outer downloadable archive uses DEFLATE so `unzip` works. Both omit `Languages/zz`; the `test-rules-package` job restores `zz` from git after unzip so unit tests still run against release-like archives.

## Translation Conventions
- `t:` means untranslated or unverified.
Expand All @@ -26,12 +27,13 @@ but add common mistakes of AI agents here instead.
- In sandboxed runs, if needed:
- set `UV_CACHE_DIR=/tmp/uv-cache`
- rerun with escalated permissions if macOS `system-configuration` panics occur.
- *always* self-validate: `ùv run pytest`
- self-validate appropriately with: `uv run pytest`

## Agent Instructions
- Do not mirror README content here; keep guidance agent-specific.
- Avoid broad formatting sweeps; do not run `cargo fmt` in this repo.
- Keep code/rule changes focused and validate with targeted tests first: `cargo test <relevant-tests>`
- Do **not** change test goldens (expected braille/speech/nav strings) unless the user explicitly says to. Prefer fixing code/rules to match existing goldens; if a golden looks wrong vs the spec, ask before editing it.
- do not do any git commands unless explicitly asked for
- Rust coverage is in `target/coverage/`.
- When working with GitHub, e.g. looking at PRs and issues, check if the GitHub CLI is installed (`gh --version`).
Expand Down
Loading
Loading