Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

string-upcase changes “ß” to “SS” rather than “ẞ” #1781

Open
mbutterick opened this issue Aug 23, 2017 · 2 comments
Open

string-upcase changes “ß” to “SS” rather than “ẞ” #1781

mbutterick opened this issue Aug 23, 2017 · 2 comments

Comments

@mbutterick
Copy link
Collaborator

mbutterick commented Aug 23, 2017

As of this year, the Council for German Orthography officially allows “ß” to be capitalized as “ẞ” (aka Unicode 1E9E) as an alternative to the traditional “SS”. But because this new option is orthographically lossless, it should become the default behavior of string-upcase.

@winny-
Copy link
Contributor

winny- commented Oct 9, 2017

I followed the link, and noticed the translation read

When using all capitals, SS is used. In addition, usage of the capital letter ẞ is also possible. Example: Straße – STRASSE – STRAẞE.

Which appears to suggest an alternative to the existing behavior of ß -> SS, as opposed to making new ß -> ẞ the default behavior. I'm interested in knowing if this is what you gather from the official recommendation.

@mbutterick
Copy link
Collaborator Author

Fair enough. I elided some details that are best left intact.

You are right that ß → ẞ is now officially sanctioned by the Council for German Orthography as an alternative to ß → SS. But yes, ß → ẞ is not preferred over ß → SS, nor is ß → SS deprecated.

But. In the context of string-upcase and string-downcase we should consider another aspect of the CGO’s report, which is that ẞ is now part of the Standard German alphabet, as the uppercase form of ß:

screen shot 2017-10-09 at 10 38 55 am

The best reason not to change it is backward compatibility.

But the best reason to change it is that since we now have a choice, SS is better treated as a presentational variant of ẞ rather than the other way around. Because those who prefer the SS uppercase form will always be able to compose the orthographic and presentational transformations:

(define result (new-string-upcase "masse und maße")) ; suppose this is MASSE UND MAẞE
(string-replace result "ẞ" "SS") ; MASSE UND MASSE

Whereas the reverse can never be true, because the ß→SS transformation is lossy:

(define result (string-upcase "masse und maße")) ; MASSE UND MASSE
(string-replace result "SS" "ẞ") ; MAẞE UND MAẞE (wrong)

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

No branches or pull requests

2 participants