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.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Runtime.Serialization;
using Greenshot.Base.Interfaces.Drawing;
using Greenshot.Editor.Drawing.Fields;
@ -35,6 +36,8 @@ namespace Greenshot.Editor.Drawing
[Serializable]
public class RectangleContainer : DrawableContainer
{
private static string _defaultFontName = null;
public RectangleContainer(Surface parent) : base(parent)
{
Init();
@ -163,5 +166,17 @@ namespace Greenshot.Editor.Drawing
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_BOLD, true);
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.TEXT_HORIZONTAL_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_BOLD, false);
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.TEXT_HORIZONTAL_ALIGNMENT, StringAlignment.Center);
AddField(GetType(), FieldType.TEXT_VERTICAL_ALIGNMENT, StringAlignment.Center);