[geary/cherry-pick-904f08e3] Merge branch 'mjog/735-unicode-avatar-initials' into 'mainline'
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/cherry-pick-904f08e3] Merge branch 'mjog/735-unicode-avatar-initials' into 'mainline'
- Date: Tue, 17 Mar 2020 12:10:41 +0000 (UTC)
commit 55ed9f57d3b2b4f48403cd4bd3a7db67078aeb82
Author: Michael Gratton <mike vee net>
Date: Tue Mar 17 12:08:08 2020 +0000
Merge branch 'mjog/735-unicode-avatar-initials' into 'mainline'
Diacritics in avatar initials
Closes #735
See merge request GNOME/geary!443
(cherry picked from commit 904f08e3fdd50e94daf947c8b0872e1c3b2f1cd7)
cfa414f0 Util.Avatar::extract_initials_from_name: Don't strip diacritics
ad6b58cf Util.Avatar::extract_initials_from_name: Trivial optimisation
src/client/util/util-avatar.vala | 6 +++---
test/client/util/util-avatar-test.vala | 2 ++
2 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/src/client/util/util-avatar.vala b/src/client/util/util-avatar.vala
index 01075160..a6cd3ee2 100644
--- a/src/client/util/util-avatar.vala
+++ b/src/client/util/util-avatar.vala
@@ -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().normalize(-1, DEFAULT_COMPOSE);
string? initials = null;
if (normalized != "") {
GLib.StringBuilder buf = new GLib.StringBuilder();
@@ -82,7 +82,7 @@ namespace Util.Avatar {
// Get the first alphanumeric char of the string
for (int i = 0; normalized.get_next_char(ref index, out c); i++) {
if (c.isalnum()) {
- buf.append_unichar(c);
+ buf.append_unichar(c.toupper());
break;
}
}
@@ -92,7 +92,7 @@ namespace Util.Avatar {
if (index >= 0) {
for (int i = 0; normalized.get_next_char(ref index, out c); i++) {
if (c.isalnum()) {
- buf.append_unichar(c);
+ buf.append_unichar(c.toupper());
break;
}
}
diff --git a/test/client/util/util-avatar-test.vala b/test/client/util/util-avatar-test.vala
index 6fe612c3..87f2e5b5 100644
--- a/test/client/util/util-avatar-test.vala
+++ b/test/client/util/util-avatar-test.vala
@@ -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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]