本文整理汇总了C#中System.Windows.Media.FormattedText.SetFontFamily方法的典型用法代码示例。如果您正苦于以下问题:C# FormattedText.SetFontFamily方法的具体用法?C# FormattedText.SetFontFamily怎么用?C# FormattedText.SetFontFamily使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Media.FormattedText
的用法示例。
在下文中一共展示了FormattedText.SetFontFamily方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetFormattedText
public static FormattedText GetFormattedText(this FlowDocument doc)
{
if (doc == null)
{
throw new ArgumentNullException("doc");
}
FormattedText output = new FormattedText(
GetText(doc),
CultureInfo.CurrentCulture,
doc.FlowDirection,
new Typeface(doc.FontFamily, doc.FontStyle, doc.FontWeight, doc.FontStretch),
doc.FontSize,
doc.Foreground);
int offset = 0;
foreach (TextElement el in GetRunsAndParagraphs(doc))
{
Run run = el as Run;
if (run != null)
{
int count = run.Text.Length;
output.SetFontFamily(run.FontFamily, offset, count);
output.SetFontStyle(run.FontStyle, offset, count);
output.SetFontWeight(run.FontWeight, offset, count);
output.SetFontSize(run.FontSize, offset, count);
output.SetForegroundBrush(run.Foreground, offset, count);
output.SetFontStretch(run.FontStretch, offset, count);
output.SetTextDecorations(run.TextDecorations, offset, count);
offset += count;
}
else
{
offset += Environment.NewLine.Length;
}
}
return output;
}
示例2: setStyle
public void setStyle(CharDisplayInfo fs, int count, FormattedText ft)
{
if ((fs.Style & (int)ZStyles.BOLDFACE_STYLE) > 0)
{
ft.SetFontWeight(FontWeights.Bold);
}
if ((fs.Style & (int)ZStyles.REVERSE_STYLE) > 0)
{
ft.SetFontWeight(FontWeights.Bold);
ft.SetForegroundBrush(ZColorCheck.ZColorToBrush(fs.BackgroundColor, ColorType.Background));
}
else
{
ft.SetForegroundBrush(ZColorCheck.ZColorToBrush(fs.ForegroundColor, ColorType.Foreground));
}
if ((fs.Style & (int)ZStyles.EMPHASIS_STYLE) > 0)
{
ft.SetFontStyle(FontStyles.Italic);
}
if ((fs.Style & (int)ZStyles.FIXED_WIDTH_STYLE) > 0)
{
ft.SetFontFamily(_fixedFont.Family);
}
}
示例3: GetFormattedText
private static FormattedText GetFormattedText(FlowDocument doc)
{
var output = new FormattedText(
GetText(doc),
CultureInfo.CurrentCulture,
doc.FlowDirection,
new Typeface(doc.FontFamily, doc.FontStyle, doc.FontWeight, doc.FontStretch),
doc.FontSize,
doc.Foreground);
int offset = 0;
foreach (TextElement textElement in GetRunsAndParagraphs(doc))
{
var run = textElement as Run;
if (run != null)
{
int count = run.Text.Length;
output.SetFontFamily(run.FontFamily, offset, count);
output.SetFontSize(run.FontSize, offset, count);
output.SetFontStretch(run.FontStretch, offset, count);
output.SetFontStyle(run.FontStyle, offset, count);
output.SetFontWeight(run.FontWeight, offset, count);
output.SetForegroundBrush(run.Foreground, offset, count);
output.SetTextDecorations(run.TextDecorations, offset, count);
offset += count;
}
else
{
offset += Environment.NewLine.Length;
}
}
return output;
}
示例4: setStyle
public void setStyle(CharDisplayInfo fs, FontChanges fc, FormattedText ft, DrawingContext dc)
{
int startPos = fc.Offset + fc.StartCol;
if ((fs.Style & (int)ZStyles.BOLDFACE_STYLE) > 0)
{
ft.SetFontWeight(FontWeights.Bold, startPos, fc.Count);
}
int rectColor = -1;
ColorType type = ColorType.Foreground;
if ((fs.Style & (int)ZStyles.REVERSE_STYLE) > 0)
{
ft.SetFontWeight(FontWeights.Bold, startPos, fc.Count);
ft.SetForegroundBrush(ZColorCheck.ZColorToBrush(fs.BackgroundColor, ColorType.Background), startPos, fc.Count);
rectColor = fs.ForegroundColor;
}
else
{
ft.SetForegroundBrush(ZColorCheck.ZColorToBrush(fs.ForegroundColor, ColorType.Foreground), startPos, fc.Count);
if (fs.BackgroundColor > 1 && fs.BackgroundColor != bColor)
{
rectColor = fs.BackgroundColor;
type = ColorType.Background;
}
}
if ((fs.Style & (int)ZStyles.EMPHASIS_STYLE) > 0)
{
ft.SetFontStyle(FontStyles.Italic, startPos, fc.Count);
}
if ((fs.Style & (int)ZStyles.FIXED_WIDTH_STYLE) > 0)
{
ft.SetFontFamily(_fixedFont.Family, startPos, fc.Count);
}
if (dc != null && rectColor != -1)
{
Brush b = ZColorCheck.ZColorToBrush(rectColor, type);
dc.DrawRectangle(b, null,
new Rect(fc.StartCol * charWidth, fc.Line * charHeight,
fc.Count * charWidth, charHeight));
}
}