西安交大校花王晶晶,标识牌,脉动广告联盟
将一个名为“chinesecharacterspecialfont.ttf”的ttf文件,放在桌面路径,后台引用方式如下:
1 var ttffilepath = @"c:\users\user\desktop\"; 2 hanzitextblock.fontfamily = new system.windows.media.fontfamily(new uri(ttffilepath), "./#楷体_gb2312");
路径uri只需要文件夹就行了,后面一个参数family为 “./#指定字体类型名称“。
注意:
#后面表示字体类型名称,可以通过双击打开ttf文件查看:
把一个名为“chinesecharacterspecialfont.ttf”的ttf文件,放在wpfapp2工程下。引用方式如下:
1 <window.resources> 2 <fontfamily x:key="hanzicharacterfontfamily">pack://application:,,,/wpfapp2;component/#楷体_gb2312</fontfamily> 3 </window.resources> 4 <grid> 5 <textblock x:name="hanzitextblock" text="a" fontfamily="{staticresource hanzicharacterfontfamily}" 6 fontsize="50" horizontalalignment="center" verticalalignment="center"/> 7 </grid>
本地已安装的字体,可以通过fonts.systemfontfamilies获取。
xaml字体就不用说了。后台设置字体类型,可以通过:
1 var systemfontfamilies = fonts.systemfontfamilies; 2 var songtifamily = systemfontfamilies.firstordefault(i=>i.source=="kaiti"); 3 hanzitextblock.fontfamily = songtifamily;
系统字体fontfamily数据,source名称是英文的。怎么通过中文名称获取相应字体?
familynames为一个含有多语言项的字典,key为语言项,value为字体类型名称。
1 var systemfontfamilies = fonts.systemfontfamilies; 2 fontfamily filteredchinesefamily = null; 3 foreach (fontfamily family in systemfontfamilies) 4 { 5 languagespecificstringdictionary familynames = family.familynames; 6 if (familynames.containskey(xmllanguage.getlanguage("zh-cn"))) 7 { 8 if (familynames.trygetvalue(xmllanguage.getlanguage("zh-cn"), out var chinesefontname)&&chinesefontname=="楷体") 9 { 10 filteredchinesefamily = family; 11 break; 12 } 13 } 14 } 15 hanzitextblock.fontfamily = filteredchinesefamily;
关键字:后台代码引用ttf字体,wpf前端引用ttf字体
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论