Util.Avatar::extract_initials_from_name: Don't strip diacritics

Normalise to composed forms rather than decomposed forms, which would
replace diacritics on characters with combining chars, making them
disappear from the generated initials.

Fixes #735
This commit is contained in:
Michael Gratton 2020-03-17 22:43:50 +11:00
parent 3f81b7d507
commit cfa414f08c
2 changed files with 3 additions and 1 deletions

View file

@ -72,7 +72,7 @@ namespace Util.Avatar {
}
public string? extract_initials_from_name(string name) {
string normalized = name.strip().up().normalize();
string normalized = name.strip().up().normalize(-1, DEFAULT_COMPOSE);
string? initials = null;
if (normalized != "") {
GLib.StringBuilder buf = new GLib.StringBuilder();

View file

@ -22,6 +22,8 @@ public class Util.Avatar.Test : TestCase {
assert_string("AB", extract_initials_from_name("aardvark !baardvark"));
assert_string("AC", extract_initials_from_name("aardvark baardvark !caardvark"));
assert_string("Ó", extract_initials_from_name("óvári"));
assert_true(extract_initials_from_name("") == null);
assert_true(extract_initials_from_name(" ") == null);
assert_true(extract_initials_from_name(" ") == null);