jthlim / javelin-steno

Embedded Steno Engine
Other
63 stars 10 forks source link

Numbers dictionary sometimes fails to convert multi-stroke numbers as expected #6

Closed Sparkliner closed 1 year ago

Sparkliner commented 1 year ago

Using the online firmware builder tool, apologies if this is not the correct repo to report this issue.

Expected behavior (happens correctly using jeff-numbers.py on Plover): 19/59EUR -> MCMXCV

Actual behavior using javelin-steno firmware: 19/59EUR -> 19 XCV

A similar thing happens with the -G suffix to convert to words and the -W suffix for ordinals: only the second stroke is converted. Dollar amount conversion appears to work correctly however.

Even with all other dictionaries disabled the issue persists.

jthlim commented 1 year ago

Thanks for reporting; will be fixed in the next release this weekend

jthlim commented 1 year ago

Super sorry about this one - it was all correct until a few days ago, and then I messed it up when optimizing the engine performance. Thanks for alerting me to the issue!

Sparkliner commented 1 year ago

Thanks for the update!

So I did some more testing and it turns out that while the dollar conversion works for whole numbers, if a decimal is involved (using *), it ignores everything before the decimal as with the other conversions

I don't know if it's all the same bug, but I figured I should bring it up just in case.

jthlim commented 1 year ago

The recent changes will also give proper currency formatting, so if you have "1.2", it'll become $1.20 and "34." will become $34.00 (vs. "34", which will just become $34).

There's a delay in releasing the fix because I'm travelling this week and don't have access to my home desktop where I normally make releases from.

jthlim commented 1 year ago

This has been fixed; please build a full firmware dated 2023-05-05 or later!