Font Crash gracious fallback
This commit is contained in:
committed by
abcdefg30
parent
6a750d7a65
commit
636a9a74a1
@@ -84,11 +84,12 @@ namespace OpenRA.Graphics
|
|||||||
}
|
}
|
||||||
|
|
||||||
var g = glyphs[Pair.New(s, c)];
|
var g = glyphs[Pair.New(s, c)];
|
||||||
Game.Renderer.RgbaSpriteRenderer.DrawSprite(g.Sprite,
|
if (g.Sprite != null)
|
||||||
new float2(
|
Game.Renderer.RgbaSpriteRenderer.DrawSprite(g.Sprite,
|
||||||
(int)Math.Round(p.X * deviceScale + g.Offset.X, 0) / deviceScale,
|
new float2(
|
||||||
p.Y + g.Offset.Y / deviceScale),
|
(int)Math.Round(p.X * deviceScale + g.Offset.X, 0) / deviceScale,
|
||||||
g.Sprite.Size / deviceScale);
|
p.Y + g.Offset.Y / deviceScale),
|
||||||
|
g.Sprite.Size / deviceScale);
|
||||||
|
|
||||||
p += new float2(g.Advance / deviceScale, 0);
|
p += new float2(g.Advance / deviceScale, 0);
|
||||||
}
|
}
|
||||||
@@ -136,7 +137,20 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
GlyphInfo CreateGlyph(Pair<char, Color> c)
|
GlyphInfo CreateGlyph(Pair<char, Color> c)
|
||||||
{
|
{
|
||||||
face.LoadChar(c.First, LoadFlags.Default, LoadTarget.Normal);
|
try
|
||||||
|
{
|
||||||
|
face.LoadChar(c.First, LoadFlags.Default, LoadTarget.Normal);
|
||||||
|
}
|
||||||
|
catch (FreeTypeException)
|
||||||
|
{
|
||||||
|
return new GlyphInfo
|
||||||
|
{
|
||||||
|
Sprite = null,
|
||||||
|
Advance = 0,
|
||||||
|
Offset = int2.Zero
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
face.Glyph.RenderGlyph(RenderMode.Normal);
|
face.Glyph.RenderGlyph(RenderMode.Normal);
|
||||||
|
|
||||||
var size = new Size((int)face.Glyph.Metrics.Width, (int)face.Glyph.Metrics.Height);
|
var size = new Size((int)face.Glyph.Metrics.Width, (int)face.Glyph.Metrics.Height);
|
||||||
|
|||||||
Reference in New Issue
Block a user