|
|
@@ -377,7 +377,7 @@ namespace Avalonia.Media.TextFormatting
|
|
|
{
|
|
|
var glyph = glyphRun.GlyphIndices[i];
|
|
|
|
|
|
- var advance = glyphTypeface.GetGlyphAdvance(glyph);
|
|
|
+ var advance = glyphTypeface.GetGlyphAdvance(glyph) * glyphRun.Scale;
|
|
|
|
|
|
if (currentWidth + advance > availableWidth)
|
|
|
{
|
|
|
@@ -411,6 +411,11 @@ namespace Avalonia.Media.TextFormatting
|
|
|
return glyphRun.Characters.Length;
|
|
|
}
|
|
|
|
|
|
+ if (glyphRun.GlyphClusters.IsEmpty)
|
|
|
+ {
|
|
|
+ return glyphCount;
|
|
|
+ }
|
|
|
+
|
|
|
var firstCluster = glyphRun.GlyphClusters[0];
|
|
|
|
|
|
var lastCluster = glyphRun.GlyphClusters[glyphCount];
|