Skip to content

fix: map Armenian lowercase ligature ech-yiwn (U+0587) to lowercase 'ev'#215

Open
xianjianlf2 wants to merge 1 commit into
simov:masterfrom
xianjianlf2:fix/armenian-ligature-ev-case
Open

fix: map Armenian lowercase ligature ech-yiwn (U+0587) to lowercase 'ev'#215
xianjianlf2 wants to merge 1 commit into
simov:masterfrom
xianjianlf2:fix/armenian-ligature-ev-case

Conversation

@xianjianlf2

Copy link
Copy Markdown

The Armenian ligature "ech yiwn" (և, U+0587) is an inherently lowercase character — its uppercase counterpart is the two-letter sequence "ԵՒ". The charmap transliterated it to uppercase "EV", so with the default lower: false it was silently upper-cased:

slugify('և') // 'EV', expected 'ev'

Every other cased letter in the map preserves case; this was the lone case-violating entry. This PR maps it to "ev" in config/charmap.json (and the generated map in slugify.js) and adds a regression test.

Same class of charmap case fix as the merged #209 (Ę, Ī, Ķ, Ū mapped to uppercase to preserve case).

All tests pass: 46 passing (npm test).

The Armenian ligature "ech yiwn" (U+0587) is an inherently lowercase
character (its uppercase form is the two-letter "ԵՒ"), but the charMap
transliterated it to uppercase "EV". Every other cased letter in the map
preserves case, so with the default `lower: false` this single entry
silently upper-cased:

  slugify("և")  // "EV", expected "ev"

Map it to "ev" to match the rest of the map. Adds a regression test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant