diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 0e4abe7f12..7673c1a7a8 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -36,3 +36,8 @@ FairEmail uses: * [Public Suffix List](https://publicsuffix.org/). Copyright © 2007–20 Mozilla Foundation. [Mozilla Public License, v. 2.0](https://mozilla.org/MPL/2.0/). * [Outlook Message Parser](https://github.com/bbottema/outlook-message-parser). Copyright (C) 2017 Benny Bottema. [Apache License 2.0](https://github.com/bbottema/outlook-message-parser/blob/master/LICENSE-2.0.txt). * [ez-vcard](https://github.com/mangstadt/ez-vcard). Copyright (c) 2012-2021, Michael Angstadt. All rights reserved. [FreeBSD License](https://github.com/mangstadt/ez-vcard/blob/master/LICENSE). +* [Arimo font](https://fonts.google.com/specimen/Arimo). By Steve Matteson. [Apache License, Version 2.0](https://fonts.google.com/specimen/Arimo#license) +* [Tinos font](https://fonts.google.com/specimen/Tinos). By Steve Matteson. [Apache License, Version 2.0](https://fonts.google.com/specimen/Tinos#license) +* [Cousine font](https://fonts.google.com/specimen/Cousine). By Steve Matteson. [Apache License, Version 2.0](https://fonts.google.com/specimen/Cousine#license) +* [Lato font](https://fonts.google.com/specimen/Lato). By Łukasz Dziedzic. [Apache License, Version 2.0](https://fonts.google.com/specimen/Lato#license) +* [Cambo font](https://fonts.google.com/specimen/Cambo). By Huerta Tipográfica. [Apache License, Version 2.0](https://fonts.google.com/specimen/Cambo#license) diff --git a/CHANGELOG.md b/CHANGELOG.md index a261b5d7fd..f001dee927 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ ### [Fulgurotherium](https://en.wikipedia.org/wiki/Fulgurotherium) +### Next version + +* Added Croscore and Crosextra fonts + ### 1.1833 - 2022-02-07 * Added view original signature diff --git a/README.md b/README.md index 36baec7a5c..988ec5fa93 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ FairEmail might be for you if you value your privacy. * Common text style options (size, color, lists, etc) * Battery friendly * Low data usage -* Small (~20 MB) +* Small (~25 MB) * Material design (including dark/black theme) * Maintained and supported diff --git a/app/src/main/assets/ATTRIBUTION.md b/app/src/main/assets/ATTRIBUTION.md index 0e4abe7f12..7673c1a7a8 100644 --- a/app/src/main/assets/ATTRIBUTION.md +++ b/app/src/main/assets/ATTRIBUTION.md @@ -36,3 +36,8 @@ FairEmail uses: * [Public Suffix List](https://publicsuffix.org/). Copyright © 2007–20 Mozilla Foundation. [Mozilla Public License, v. 2.0](https://mozilla.org/MPL/2.0/). * [Outlook Message Parser](https://github.com/bbottema/outlook-message-parser). Copyright (C) 2017 Benny Bottema. [Apache License 2.0](https://github.com/bbottema/outlook-message-parser/blob/master/LICENSE-2.0.txt). * [ez-vcard](https://github.com/mangstadt/ez-vcard). Copyright (c) 2012-2021, Michael Angstadt. All rights reserved. [FreeBSD License](https://github.com/mangstadt/ez-vcard/blob/master/LICENSE). +* [Arimo font](https://fonts.google.com/specimen/Arimo). By Steve Matteson. [Apache License, Version 2.0](https://fonts.google.com/specimen/Arimo#license) +* [Tinos font](https://fonts.google.com/specimen/Tinos). By Steve Matteson. [Apache License, Version 2.0](https://fonts.google.com/specimen/Tinos#license) +* [Cousine font](https://fonts.google.com/specimen/Cousine). By Steve Matteson. [Apache License, Version 2.0](https://fonts.google.com/specimen/Cousine#license) +* [Lato font](https://fonts.google.com/specimen/Lato). By Łukasz Dziedzic. [Apache License, Version 2.0](https://fonts.google.com/specimen/Lato#license) +* [Cambo font](https://fonts.google.com/specimen/Cambo). By Huerta Tipográfica. [Apache License, Version 2.0](https://fonts.google.com/specimen/Cambo#license) diff --git a/app/src/main/assets/CHANGELOG.md b/app/src/main/assets/CHANGELOG.md index a261b5d7fd..f001dee927 100644 --- a/app/src/main/assets/CHANGELOG.md +++ b/app/src/main/assets/CHANGELOG.md @@ -4,6 +4,10 @@ ### [Fulgurotherium](https://en.wikipedia.org/wiki/Fulgurotherium) +### Next version + +* Added Croscore and Crosextra fonts + ### 1.1833 - 2022-02-07 * Added view original signature diff --git a/app/src/main/java/eu/faircode/email/StyleHelper.java b/app/src/main/java/eu/faircode/email/StyleHelper.java index 83da35949d..5dfea8b7e8 100644 --- a/app/src/main/java/eu/faircode/email/StyleHelper.java +++ b/app/src/main/java/eu/faircode/email/StyleHelper.java @@ -78,7 +78,7 @@ public class StyleHelper { QuoteSpan.class, IndentSpan.class, StrikethroughSpan.class, URLSpan.class, - TypefaceSpan.class + TypefaceSpan.class, CustomTypefaceSpan.class )); static boolean apply(int action, LifecycleOwner owner, View anchor, EditText etBody, Object... args) { @@ -930,26 +930,57 @@ public class StyleHelper { static TypefaceSpan getTypefaceSpan(String family, Context context) { String faces = family.toLowerCase(Locale.ROOT); + if (faces.contains("arimo")) + family = "Arimo, Arial, Verdana, sans-serif"; + if (faces.contains("tinos")) + family = "Tinos, Times New Roman, serif"; + if (faces.contains("cousine")) + family = "Cousine, Courier New, monospace"; + if (faces.contains("lato")) + family = "Lato, Calibri, sans-serif"; + if (faces.contains("cambo")) + family = "Cambo, Cambria, serif"; if (faces.contains("comic sans")) - family = "comic sans ms, sans-serif"; + family = "Comic Sans, Comic Sans MS, sans-serif"; + return new CustomTypefaceSpan(family, getTypeface(family, context)); } static Typeface getTypeface(String family, Context context) { - String faces = family.toLowerCase(Locale.ROOT); - - if (faces.equals("fairemail")) + List faces = new ArrayList<>(); + for (String face : family.split(",")) + faces.add(face + .trim() + .toLowerCase(Locale.ROOT) + .replace("\"", "")); + + if (faces.contains("fairemail")) return ResourcesCompat.getFont(context, R.font.fantasy); - if (faces.contains("comic sans")) + if (faces.contains("arimo") || faces.contains("arial") || faces.contains("verdana")) + return ResourcesCompat.getFont(context, R.font.arimo); + + if (faces.contains("tinos") || faces.contains("times new roman")) + return ResourcesCompat.getFont(context, R.font.tinos); + + if (faces.contains("cousine") || faces.contains("courier new")) + return ResourcesCompat.getFont(context, R.font.cousine); + + if (faces.contains("lato") || faces.contains("calibri")) + return ResourcesCompat.getFont(context, R.font.lato); + + if (faces.contains("cambo") || faces.contains("cambria")) + return ResourcesCompat.getFont(context, R.font.cambo); + + if (faces.contains("comic sans") || faces.contains("comic sans ms")) return ResourcesCompat.getFont(context, R.font.opendyslexic); - for (String face : faces.split(",")) { - face = face.trim().replace("\"", ""); + for (String face : faces) { Typeface tf = Typeface.create(face, Typeface.NORMAL); if (!tf.equals(Typeface.DEFAULT)) return tf; } + return Typeface.DEFAULT; } @@ -959,7 +990,16 @@ public class StyleHelper { String[] fontNameValues = context.getResources().getStringArray(R.array.fontNameValues); for (int i = 0; i < fontNameNames.length; i++) result.add(new FontDescriptor(fontNameValues[i], fontNameNames[i])); + + // https://en.wikipedia.org/wiki/Croscore_fonts + result.add(new FontDescriptor("arimo", "Arimo (Arial, Verdana)", true)); + result.add(new FontDescriptor("tinos", "Tinos (Times New Roman)", true)); + result.add(new FontDescriptor("cousine", "Cousine (Courier New)", true)); + result.add(new FontDescriptor("lato", "Lato (Calibri)", true)); + result.add(new FontDescriptor("cambo", "Cambo (Cambria)", true)); + result.add(new FontDescriptor("comic sans", "OpenDyslexic", true)); + return result; } diff --git a/app/src/main/res/font/arimo.xml b/app/src/main/res/font/arimo.xml new file mode 100644 index 0000000000..410cd37599 --- /dev/null +++ b/app/src/main/res/font/arimo.xml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/app/src/main/res/font/arimo_bold.ttf b/app/src/main/res/font/arimo_bold.ttf new file mode 100644 index 0000000000..09c7f74e2c Binary files /dev/null and b/app/src/main/res/font/arimo_bold.ttf differ diff --git a/app/src/main/res/font/arimo_bolditalic.ttf b/app/src/main/res/font/arimo_bolditalic.ttf new file mode 100644 index 0000000000..e504c3eaaa Binary files /dev/null and b/app/src/main/res/font/arimo_bolditalic.ttf differ diff --git a/app/src/main/res/font/arimo_italic.ttf b/app/src/main/res/font/arimo_italic.ttf new file mode 100644 index 0000000000..dea3036607 Binary files /dev/null and b/app/src/main/res/font/arimo_italic.ttf differ diff --git a/app/src/main/res/font/arimo_regular.ttf b/app/src/main/res/font/arimo_regular.ttf new file mode 100644 index 0000000000..f4658f062a Binary files /dev/null and b/app/src/main/res/font/arimo_regular.ttf differ diff --git a/app/src/main/res/font/cambo.xml b/app/src/main/res/font/cambo.xml new file mode 100644 index 0000000000..82cde97f58 --- /dev/null +++ b/app/src/main/res/font/cambo.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/font/cambo_regular.ttf b/app/src/main/res/font/cambo_regular.ttf new file mode 100644 index 0000000000..d70a3674c1 Binary files /dev/null and b/app/src/main/res/font/cambo_regular.ttf differ diff --git a/app/src/main/res/font/cousine.xml b/app/src/main/res/font/cousine.xml new file mode 100644 index 0000000000..0ab23cc7cc --- /dev/null +++ b/app/src/main/res/font/cousine.xml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/app/src/main/res/font/cousine_bold.ttf b/app/src/main/res/font/cousine_bold.ttf new file mode 100644 index 0000000000..220a0fa4da Binary files /dev/null and b/app/src/main/res/font/cousine_bold.ttf differ diff --git a/app/src/main/res/font/cousine_bolditalic.ttf b/app/src/main/res/font/cousine_bolditalic.ttf new file mode 100644 index 0000000000..33a50ed087 Binary files /dev/null and b/app/src/main/res/font/cousine_bolditalic.ttf differ diff --git a/app/src/main/res/font/cousine_italic.ttf b/app/src/main/res/font/cousine_italic.ttf new file mode 100644 index 0000000000..9ad8817db3 Binary files /dev/null and b/app/src/main/res/font/cousine_italic.ttf differ diff --git a/app/src/main/res/font/cousine_regular.ttf b/app/src/main/res/font/cousine_regular.ttf new file mode 100644 index 0000000000..8f86931728 Binary files /dev/null and b/app/src/main/res/font/cousine_regular.ttf differ diff --git a/app/src/main/res/font/lato.xml b/app/src/main/res/font/lato.xml new file mode 100644 index 0000000000..249743f11f --- /dev/null +++ b/app/src/main/res/font/lato.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/font/lato_bold.ttf b/app/src/main/res/font/lato_bold.ttf new file mode 100644 index 0000000000..74343694e2 Binary files /dev/null and b/app/src/main/res/font/lato_bold.ttf differ diff --git a/app/src/main/res/font/lato_bold_italic.ttf b/app/src/main/res/font/lato_bold_italic.ttf new file mode 100644 index 0000000000..684aacf5b4 Binary files /dev/null and b/app/src/main/res/font/lato_bold_italic.ttf differ diff --git a/app/src/main/res/font/lato_italic.ttf b/app/src/main/res/font/lato_italic.ttf new file mode 100644 index 0000000000..3d3b7a2984 Binary files /dev/null and b/app/src/main/res/font/lato_italic.ttf differ diff --git a/app/src/main/res/font/lato_regular.ttf b/app/src/main/res/font/lato_regular.ttf new file mode 100644 index 0000000000..04ea8efb13 Binary files /dev/null and b/app/src/main/res/font/lato_regular.ttf differ diff --git a/app/src/main/res/font/tinos.xml b/app/src/main/res/font/tinos.xml new file mode 100644 index 0000000000..9b8261ff34 --- /dev/null +++ b/app/src/main/res/font/tinos.xml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/app/src/main/res/font/tinos_bold.ttf b/app/src/main/res/font/tinos_bold.ttf new file mode 100644 index 0000000000..d6cbae0b35 Binary files /dev/null and b/app/src/main/res/font/tinos_bold.ttf differ diff --git a/app/src/main/res/font/tinos_bolditalic.ttf b/app/src/main/res/font/tinos_bolditalic.ttf new file mode 100644 index 0000000000..085a859ea5 Binary files /dev/null and b/app/src/main/res/font/tinos_bolditalic.ttf differ diff --git a/app/src/main/res/font/tinos_italic.ttf b/app/src/main/res/font/tinos_italic.ttf new file mode 100644 index 0000000000..136f704397 Binary files /dev/null and b/app/src/main/res/font/tinos_italic.ttf differ diff --git a/app/src/main/res/font/tinos_regular.ttf b/app/src/main/res/font/tinos_regular.ttf new file mode 100644 index 0000000000..ac28a19065 Binary files /dev/null and b/app/src/main/res/font/tinos_regular.ttf differ diff --git a/metadata/en-US/changelogs/1833.txt b/metadata/en-US/changelogs/1833.txt index a261b5d7fd..f001dee927 100644 --- a/metadata/en-US/changelogs/1833.txt +++ b/metadata/en-US/changelogs/1833.txt @@ -4,6 +4,10 @@ ### [Fulgurotherium](https://en.wikipedia.org/wiki/Fulgurotherium) +### Next version + +* Added Croscore and Crosextra fonts + ### 1.1833 - 2022-02-07 * Added view original signature diff --git a/metadata/en-US/full_description.txt b/metadata/en-US/full_description.txt index e16e819bb7..c1870a1cfe 100644 --- a/metadata/en-US/full_description.txt +++ b/metadata/en-US/full_description.txt @@ -23,7 +23,7 @@ FairEmail might be for you if you value your privacy. * Common text style options (size, color, lists, etc) * Battery friendly * Low data usage -* Small (~20 MB) +* Small (~25 MB) * Material design (including dark/black theme) * Maintained and supported