例如将字体放入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. 基于Java+SpringBoot心理测评心理测试系统功能实现七

    一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...

  2. 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现八

    一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...

  3. DDCA —— 内存架构和子系统&存储器控制器

    1. 内存架构和子系统 1.1 如何控制访问? 访问控制: 存储单元的访问是通过 访问晶体管(access transistors) 进行控制的.访问晶体管像开关一样,可以连接或断开存储单元和位线(b ...

  4. php字符串练习题

    把以前发给别人的练习题邮件备份记录一下 1.用php编写统计二维数组内某个字符出现的次数的一个函数.给定二维数组和字符串,返回这个字符串在二维数组中出现的次数. 例: 数组如下: $array=arr ...

  5. Stratum挖矿协议&XMR挖矿流量分析

    目录 前言 区块链和挖矿相关概念 挖矿木马 挖矿协议Stratum Stratum工作过程 XMR挖矿流量分析 环境搭建 流量分析 总结 前言 之前参与了一个关于"挖矿行为检测"的 ...

  6. 在 ASP.NET Core 中创建 gRPC 客户端和服务器

    前言 gRPC 是一种高性能.开源的远程过程调用(RPC)框架,它基于 Protocol Buffers(protobuf)定义服务,并使用 HTTP/2 协议进行通信. 新建项目 新建解决方案Grp ...

  7. dotnet学习笔记-专题06-过滤器和中间件-01

    1. 基本概念 在ASP.NET Core中,中间件和过滤器都是处理HTTP请求的重要组件,但它们在应用中的位置.作用范围以及使用方式有所不同. 1.1 中间件和过滤器的区别 1.1.1 中间件 位置 ...

  8. Go操作数据库之MySQL

    安装mysql驱动: go get -u github.com/go-sql-driver/mysql 初始化模块 go mod init m 执行 go mod tidy 导入包: package ...

  9. python多版本

    1.分别下载并安装两个版本的python 2.去安装的文件夹中将python.exe 和pythonw.exe改名加上版本号 3.将python.exe文件目录和当前目录下的Scripts目录都加到用 ...

  10. cas3.5配置LDAP域控

    一. 安装cas3.5 点击下载 CAS 3.5.2 :CAS 解压缩下载的 cas-server-3.5.2-release.zip,在 %CAS%\modules文件夹中找到cas-server- ...