NSoiffer / MathCAT

MathCAT: Math Capable Assistive Technology for generating speech, braille, and navigation.
MIT License
56 stars 34 forks source link

improve unicode-full.yaml #31

Closed NSoiffer closed 1 year ago

NSoiffer commented 2 years ago

The file has a large number of private space entries that probably came from some old version of MathType where it couldn't write the plane 1 unicode values. I tried a somewhat old version of MathType and it is using mathvariant. The private unicode ones should be flushed as they take up more space and more time to read them in.

Also, in the alphanumeric block, there are a lot of entries like

- "𝚊": [t: a]                                   # 0x1d68a

and

 - "𝙰":                                          # 0x1d670
     - t: ""
     - test: 
         if: "($Blind or $Verbosity!='Terse')"
         then: {t: cap}
     - t: a

These should be changed to be more like the entries for the regular letters:

 - "b-z": 
    - test: 
        if: "$TTS='none'"
        then: [t: "."]                          
        else: [spell: "."]                       

 - "B-Z": 
    - test: 
        if: "$TTS='none'"
        # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
        then: [x: "$CapitalLetters", x: "translate('.', 'BCDEFGHIJKLMNOPQRSTUVWXYZ', 'bcdefghijklmnopqrstuvwxyz')"]                         
        else: {spell: "."}            

These will take advantage of the speech engines appropriately. It will also shorten the file some, but probably not change read time much since the range needs to get expanded. Still probably faster than I/O.

It would be good to do these for the Greek letters also. However, I don't think ranges can be used because each Greek letter needs to be named. I need to see what the speech engines do if I give them a Greek letter and tell them to interpret-as='characters' (the SSML command). If that works across all the speech engines (including Eloquence), then the range can be used.

NSoiffer commented 1 year ago

This was done several months back. The file shrank by 2/3! The read time dropped a few milliseconds.