WPF 引用字体文件资源
程序员文章站
2022-06-21 19:30:12
外部字体文件 1.后台代码引用字体 将一个名为“ChineseCharacterSpecialFont.ttf”的ttf文件,放在桌面路径,后台引用方式如下: 1 var ttfFilePath = @"C:\Users\user\Desktop\"; 2 HanziTextBlock.FontFa ......
外部字体文件
1.后台代码引用字体
将一个名为“chinesecharacterspecialfont.ttf”的ttf文件,放在桌面路径,后台引用方式如下:
1 var ttffilepath = @"c:\users\user\desktop\"; 2 hanzitextblock.fontfamily = new system.windows.media.fontfamily(new uri(ttffilepath), "./#楷体_gb2312");
路径uri只需要文件夹就行了,后面一个参数family为 “./#指定字体类型名称“。
注意:
- 路径uri不是ttf文件完整路径;ttf文件所在文件夹,后需要添加”/“或者”\\“;
- 参数family中不能少了./#任何一个特殊字符。否则界面显示的字,就不是指定字体中的字符显示了。
- 引用字体,与字体文件的名称无关,只能引用字体类型名称。
#后面表示字体类型名称,可以通过双击打开ttf文件查看:
2.wpf-xaml资源引用
把一个名为“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字体
上一篇: C# 基础知识系列- 12 任务和多线程
下一篇: 爆笑表情之可爱儿童
推荐阅读
-
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
-
WPF 添加 Resources Dictionary 资源 一般类库项目中无法添加资源文件(ResourceDictionary)
-
WPF中Style文件的引用——使用xaml代码或者C#代码动态加载
-
WPF中Style文件的引用——使用xaml代码或者C#代码动态加载
-
WPF 如何在静态资源定义字体大小
-
WPF 引用字体文件资源
-
关于WPF的资源引用问题
-
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
-
垃圾的Wordpress,老是引用fonts.googleapis.com上的Web字体文件,火了
-
快捷方式管理器之三C#WPF添加图片资源并引用