Use "Segoe UI Emoji" as default font

This commit is contained in:
Julien Richard 2022-01-08 17:33:56 +01:00
commit a885ee6768
3 changed files with 17 additions and 2 deletions

View file

@ -22,6 +22,7 @@
using System; using System;
using System.Drawing; using System.Drawing;
using System.Drawing.Drawing2D; using System.Drawing.Drawing2D;
using System.Linq;
using System.Runtime.Serialization; using System.Runtime.Serialization;
using Greenshot.Base.Interfaces.Drawing; using Greenshot.Base.Interfaces.Drawing;
using Greenshot.Editor.Drawing.Fields; using Greenshot.Editor.Drawing.Fields;
@ -35,6 +36,8 @@ namespace Greenshot.Editor.Drawing
[Serializable] [Serializable]
public class RectangleContainer : DrawableContainer public class RectangleContainer : DrawableContainer
{ {
private static string _defaultFontName = null;
public RectangleContainer(Surface parent) : base(parent) public RectangleContainer(Surface parent) : base(parent)
{ {
Init(); Init();
@ -163,5 +166,17 @@ namespace Greenshot.Editor.Drawing
return false; return false;
} }
protected string GetDefaultFontName()
{
if (_defaultFontName != null)
{
// On system supporting it, we default to "Segoe UI Emoji" that supports rendering emojis with GDI+
var emojiFont = "Segoe UI Emoji";
return FontFamily.Families.Any(f => string.Equals(f.Name, emojiFont, StringComparison.OrdinalIgnoreCase)) ? emojiFont : FontFamily.GenericSansSerif.Name;
}
return _defaultFontName;
}
} }
} }

View file

@ -80,7 +80,7 @@ namespace Greenshot.Editor.Drawing
AddField(GetType(), FieldType.FONT_ITALIC, false); AddField(GetType(), FieldType.FONT_ITALIC, false);
AddField(GetType(), FieldType.FONT_BOLD, true); AddField(GetType(), FieldType.FONT_BOLD, true);
AddField(GetType(), FieldType.FILL_COLOR, Color.White); AddField(GetType(), FieldType.FILL_COLOR, Color.White);
AddField(GetType(), FieldType.FONT_FAMILY, FontFamily.GenericSansSerif.Name); AddField(GetType(), FieldType.FONT_FAMILY, GetDefaultFontName());
AddField(GetType(), FieldType.FONT_SIZE, 20f); AddField(GetType(), FieldType.FONT_SIZE, 20f);
AddField(GetType(), FieldType.TEXT_HORIZONTAL_ALIGNMENT, StringAlignment.Center); AddField(GetType(), FieldType.TEXT_HORIZONTAL_ALIGNMENT, StringAlignment.Center);
AddField(GetType(), FieldType.TEXT_VERTICAL_ALIGNMENT, StringAlignment.Center); AddField(GetType(), FieldType.TEXT_VERTICAL_ALIGNMENT, StringAlignment.Center);

View file

@ -96,7 +96,7 @@ namespace Greenshot.Editor.Drawing
AddField(GetType(), FieldType.FONT_ITALIC, false); AddField(GetType(), FieldType.FONT_ITALIC, false);
AddField(GetType(), FieldType.FONT_BOLD, false); AddField(GetType(), FieldType.FONT_BOLD, false);
AddField(GetType(), FieldType.FILL_COLOR, Color.Transparent); AddField(GetType(), FieldType.FILL_COLOR, Color.Transparent);
AddField(GetType(), FieldType.FONT_FAMILY, FontFamily.GenericSansSerif.Name); AddField(GetType(), FieldType.FONT_FAMILY, GetDefaultFontName());
AddField(GetType(), FieldType.FONT_SIZE, 11f); AddField(GetType(), FieldType.FONT_SIZE, 11f);
AddField(GetType(), FieldType.TEXT_HORIZONTAL_ALIGNMENT, StringAlignment.Center); AddField(GetType(), FieldType.TEXT_HORIZONTAL_ALIGNMENT, StringAlignment.Center);
AddField(GetType(), FieldType.TEXT_VERTICAL_ALIGNMENT, StringAlignment.Center); AddField(GetType(), FieldType.TEXT_VERTICAL_ALIGNMENT, StringAlignment.Center);