To create a B letter, you can use something similar to this:
<Canvas>
<Path Stroke="Black" StrokeThickness="1" Fill="ForestGreen">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigure StartPoint="10,10" IsClosed="True">
<LineSegment Point="10,70"/>
<LineSegment Point="30,70"/>
<LineSegment Point="40,60"/>
<LineSegment Point="40,50"/>
<LineSegment Point="30,40"/>
<LineSegment Point="40,30"/>
<LineSegment Point="40,20"/>
<LineSegment Point="30,10"/>
</PathFigure>
<PathFigure StartPoint="20,20" IsClosed="True">
<LineSegment Point="20,30"/>
<LineSegment Point="27,30"/>
<LineSegment Point="30,27"/>
<LineSegment Point="30,23"/>
<LineSegment Point="27,20"/>
</PathFigure>
<PathFigure StartPoint="20,50" IsClosed="True">
<LineSegment Point="20,60"/>
<LineSegment Point="27,60"/>
<LineSegment Point="30,57"/>
<LineSegment Point="30,53"/>
<LineSegment Point="27,50"/>
</PathFigure>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
</Canvas>
Now, you're able to translate it to
StreamGeometry[
^], a lighter-weight version of a
PathGeometry[
^] - using
Path Markup Syntax[
^].
All those details have been described here:
How to: Create Multiple Subpaths Within a PathGeometry - WPF .NET Framework | Microsoft Docs[
^]
Note that:
M or m defines a startPoint
L or l defines an endPoint
H or h - horizontal line
V or v - vertical line
Z or z - close command - ends the current figure and creates a line that connects the current point to the starting point of the figure; this command creates a line-join (corner) between the last segment and the first segment of the figure.
etc.
Good luck!