Векторная печать глифов в Silverlight 5

Я пытаюсь распечатать Canvas, содержащий элемент глифа, используя возможности векторной печати Silverlight 5. Все работает нормально, за исключением того, что глифы не печатаются. Поддерживаются ли глифы векторной печатью? Если да, то что я делаю неправильно? Я пытаюсь напечатать следующий холст, который правильно отображается на экране:

        <Canvas x:Name="canvasToPrint" Margin="-96,-34,0,0" Grid.ColumnSpan="2" Background="AliceBlue">
        <Rectangle Fill="Blue" Width="39" Height="36"/>
        <Glyphs Name="a0" Fill="#FF000000" FontUri="36481AB7-37EB-642E-4A01-FB63CC6ED952.odttf" FontRenderingEmSize="11.04" StyleSimulations="None" OriginX="72.024" OriginY="82.464" UnicodeString="Hello, World!" Indices=",61.957;,50;,22.826;,22.826;,53.261;,25;,21.739;,89.13;,53.261;,34.783;,22.826;,52.174;">
        </Glyphs>
        <Button Height="25" Content="Print" Click="Button_Click"/>
    </Canvas>

Со следующим кодом для кнопки печати:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        PrintDocument doc = new PrintDocument();
        doc.BeginPrint += new EventHandler<BeginPrintEventArgs>(BeginPrinting);
        doc.PrintPage += new EventHandler<PrintPageEventArgs>(PrintNextPage);
        doc.Print("vector");
    }

    private void BeginPrinting(Object sender, BeginPrintEventArgs e)
    {

    }

    private void PrintNextPage(Object sender, PrintPageEventArgs e)
    {
        e.PageVisual = canvasToPrint;
        e.HasMorePages = false;
    }

Обратите внимание, что все печатается правильно, если я переключаю doc.Print на doc.PrintBitmap.


person James    schedule 25.01.2012    source источник