例如将字体放入d:/Fonts 文件夹。然后就可以通过类似 btn.FontFamily = new FontFamily("file:///d:/Fonts/#Ashley");的形式使用。

获取字体文件的字体名称:

 string fontFilePath = "d:\\Fonts\\ygyxsziti2.0.ttf";
GlyphTypeface glyphTypeface = new GlyphTypeface(new Uri(fontFilePath,UriKind.RelativeOrAbsolute));
String fontFamily = glyphTypeface.Win32FamilyNames[new System.Globalization.CultureInfo("en-us")];
String fontFace = glyphTypeface.Win32FaceNames[new System.Globalization.CultureInfo("en-us")];
Console.WriteLine("Font: " + fontFamily + " " + fontFace);

完整代码:

     string fontFilePath = "d:\\Fonts\\ygyxsziti2.0.ttf";
GlyphTypeface glyphTypeface = new GlyphTypeface(new Uri(fontFilePath,UriKind.RelativeOrAbsolute));
String fontFamily = glyphTypeface.Win32FamilyNames[new System.Globalization.CultureInfo("en-us")];
String fontFace = glyphTypeface.Win32FaceNames[new System.Globalization.CultureInfo("en-us")];
Console.WriteLine("Font: " + fontFamily + " " + fontFace);
string fontFolerPath=System.IO.Path.GetDirectoryName(fontFilePath);
string fontOK = "file:///" + fontFolerPath.Replace("\\\\", "/").Replace("\\", "/") + "/#" + fontFamily;
btnFontColor.FontFamily = new FontFamily(fontOK);
//btnFontColor.FontFamily= new FontFamily("file:///d:/Fonts/#叶根友毛笔行书2.0版");

  

另外获取字体名称的方法1:

using System.Drawing; using System.Drawing.Text; 

您需要将字体添加到私有集合( PrivateFontCollection ),然后请求FontFamily实例并获取其Name属性。

像这样:

 PrivateFontCollection fontCol = new PrivateFontCollection(); fontCol.AddFontFile(@"PATH TO FONT"); Console.WriteLine(fontCol.Families[0].Name);

另外获取字体名称的方法2:

foreach (FontFamily fontFamily in Fonts.GetFontFamilies("file:///D:/MyFonts/")) { string name = fontFamily .ToString().Split('#')[fontFamily .ToString().Split('#').Count() - 1]; }

  

WPF 加载外部字体的更多相关文章

  1. 应用程序加载外部字体文件(使用AddFontResource API函数指定字体)

    /* MSDN: Any application that adds or removes fonts from the system font table should notify other w ...

  2. WPF加载HTML、WPF与JavaScript交互

    目录 一.WebBrowser加载远程网页 二.WebBrowser加载本地网页,注:不可以加载本地样式CSS和脚本JS文件 三.WebBrowser隐藏网页的JavaScript错误 四.网页屏蔽鼠 ...

  3. 【Win 10 应用开发】加载外部的 srt 字幕

    据说系统内置的多媒体功能支持 srt. ssa 等字幕,老周测试过几种格式的字幕均能加载. SRT 字幕是最简单的字幕结构,甚至你用记事本都能做出来,就是分为几行来写. 第一行是字幕的编号,应该是从1 ...

  4. 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件

    [源码下载] 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件 作者 ...

  5. JBoss 系列十四:JBoss7/WildFly如何加载外部的文件或properties文件

    http://www.tuicool.com/articles/M7ZR3y 原文 http://blog.csdn.net/kylinsoong/article/details/12623997 主 ...

  6. Error #2044: 未处理的 IOErrorEvent:。 text=Error #2035: 找不到 URL这是flash加载外部资源时有时会遇到的问题,对于此问题解决如下

    导致这个错误的主要原因是未添加IOErrorEvent事件监听,或者添加了监听,但是加载时使用了unload() 参考资料: http://blog.csdn.net/chjh0540237/arti ...

  7. FusionCharts简单教程(六)------加载外部Logo

    一.加载外部文件Logo       在使用FusionCharts时,我们可能需要在加载图像的时候需要在图表中显示标识.图片等等.这里我们可以使用logoURL属性来实现.如: <chart ...

  8. 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件

    CustomResource ResourceDictionary 加载外部的 ResourceDictionary 文件 示例1.演示“CustomResource”相关知识点Resource/Cu ...

  9. 使用js加载器动态加载外部Javascript文件

    原文:http://www.cnblogs.com/xdp-gacl/p/3927417.html 今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js var ...

  10. 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式

    Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关 ...

随机推荐

  1. 初识GO语言--函数

  2. P9119 [春季测试 2023] 圣诞树

    参考博客: 春季测试 2023] 圣诞树 题解 - 洛谷专栏 (luogu.com.cn) 题意:给定二维平面上一个凸多边形的 \(n\) 个顶点, 求一种方案,使得从最高点开始,不重复地经过所有点后 ...

  3. 0基础读顶会论文—流程即服务(PraaS):通过无服务器流程统一弹性云和有状态云

    Abstract 细粒度的无服务器函数为许多新应用提供了动力,这些应用受益于弹性扩展和按需付费计费模型,同时将基础设施管理开销降至最低.为了实现这些特性,函数即服务(FaaS)平台将计算和状态分离,P ...

  4. win10本地客户端配置SSL并使用MQTTX

    1.     本地下载Openssl(默认安装即可,最后一个将打赏取消勾选) Win32/Win64 OpenSSL Installer for Windows - Shining Light Pro ...

  5. ABP实践(5)-abp前端vue框架之IView实现三级菜单(博友需要特此分享)

    为响应博友想要知道三级菜单怎么实现本篇文章先介绍三级菜单的实现,后续再分享其他部分内容 1 修改菜单组件sidebarMenu.vue 图为原代码和修改后代码比对 修改前后的源码如下 <styl ...

  6. 优秀的 Java 程序员所应该知道的 Java 知识

    JDK 相关知识 JDK 的使用 JDK 源代码 JDK 相应技术背后的原理 JVM 相关知识 服务器端开发需要重点熟悉的 Java 技术 Java 并发 Java IO 开源框架 Java 之外的知 ...

  7. k8s之常用命令

    Minikube # 启动集群服务 minikube start # 查看集群服务状态 minikube status# 登录集群minikube ssh # 关闭,暂停,恢复,删除集群服务 mini ...

  8. nginx之日志处理

    日常对于NGINX日志文件的处理 1.将访问日志中爬虫相关请求导出 cat access.log | grep Baiduspider > spider.log

  9. windows下执行Python脚本

    由于业务需要,有些python脚本需要在Windows系统上,并且支持定时执行 1) 一. 创建.bat批处理文件 新创建文件并将扩展名改为.bat 二. 写入执行python脚本的语句 @echo ...

  10. Jenkis 简单介绍—持续集成、持续交付的工具

    Jenkis是什么? 首先是一款持续集成.持续交付的工具. Jenkis的思想是自动化部署:当我们向版本库提交最新的代码后,应用服务器(tomcat)就会自动从Git / svn上拉取最新的包,再重新 ...