def-gthill / lexurgy

A high-powered sound change applier
GNU General Public License v3.0
46 stars 5 forks source link

Romanization should disable cleanup rules #82

Closed Th3OneAndOnly closed 3 months ago

Th3OneAndOnly commented 3 months ago

Consider this romanizer:

romanizer:
  [consonant long]$1 * => $1 $1
  Then: [long] => [short]

You would think a word like bat: should turn into batt right? Wrong. It stays bat:. I sit there, confused out of my mind, until I see a rule, way up at the beginning of the file:

gemination cleanup:
  [consonant]$1 $1 => [long] *

And for some reason, this runs during the romanization and screws it up. In the same vein, I feel like we should be able to hide Syllable information in romanizations. At the moment, you have to clear it before the rom. This is fine for the final rom, but if I have any intermediate romanizers I have to clear it, romanize it, re-add them (usually requires copying a rule), and also re-add any syllable-specific features like stress. Very tedious.

I'm not sure if it currently works the way it does for a reason, or if it serves any practical purpose to anyone using the app now, so maybe there should be a way to still have them run, though I'm not sure how that would be implemented.

def-gthill commented 3 months ago

This does look like incorrect behaviour to me. Cleanup rules shouldn't run after the romanizer. After all, they don't affect the output of intermediate romanizers.

In the same vein, I feel like we should be able to hide Syllable information in romanizations

It may be in the same vein, but it isn't the same issue. Please open a separate issue for this.

def-gthill commented 3 months ago

Fixed in 84dedee. The fix will be included in the next release.