goo*_*dev 6 .net c# vb.net wpf
我正在使用Glyphs
元素制作WPF文本编辑器.我有一个问题是文本没有正确绘制,如图所示,我该如何解决这个问题?
有两个问题:
我通过GetKerningPairs
功能解决了第一个问题.
我该如何解决这个问题,也许我错了?
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="200" Width="525">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="AUTO"/>
<RowDefinition Height="AUTO"/>
</Grid.RowDefinitions>
<TextBlock Text="TextBlock" VerticalAlignment="Center" Margin="6"/>
<TextBlock Grid.Row="1" Text="Glyphs" VerticalAlignment="Center" Margin="6"/>
<TextBlock Text="???????????" Grid.Column="1" FontSize="50" FontFamily="Times New Roman"
FontWeight="Normal" Grid.Row="0"/>
<Glyphs Grid.Row="1" Grid.Column="1"
FontUri = "C:\WINDOWS\Fonts\TIMES.TTF"
FontRenderingEmSize = "50"
UnicodeString = "???????????"
BidiLevel="1"
Fill = "Black"/>
<TextBlock Text="AVAV" Grid.Column="2" FontSize="50" FontFamily="Times New Roman"
FontWeight="Normal" Grid.Row="0"/>
<Glyphs Grid.Row="1" Grid.Column="2"
FontUri = "C:\WINDOWS\Fonts\TIMES.TTF"
FontRenderingEmSize = "50"
UnicodeString = "AVAV"
BidiLevel="0"
Fill = "Black"/>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
TrueType 字体中不存在变音符号的字距调整,因此您必须定义自己的变音符号对列表,并给出相应的字距调整。在大多数字母中,变音符号位于中间,而其他字母则位于右侧。显然,文本块执行了上述操作。
归档时间: |
|
查看次数: |
711 次 |
最近记录: |