WPF 从文件加载字体

本文告诉大家从文件加载字体。在wpf 使用 fontfamily 显示指定的 ttf 显示字体

假如有字体在 C:\Projects\MyProj\free3of9.ttf ,可以使用 PrivateFontCollection 添加字体。

下面的代码就可以使用本地的 free3of9.ttf ,需要注意添加的 FontFamily 是需要知道字体名,和传入 PrivateFontCollection 才可以使用。

PrivateFontCollection collection = new PrivateFontCollection();
collection.AddFontFile(@"C:\Projects\MyProj\free3of9.ttf");
FontFamily fontFamily = new FontFamily("Free 3 of 9", collection);
Font font = new Font(fontFamily, height);

另一个方法是去掉字体的后缀名,直接写在 FontFamily ,我比较希望使用下面的方法

FontFamily fontFamily = new FontFamily(@"C:\Projects\MyProj\#free3of9");

https://stackoverflow.com/a/24022783/6116637


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

原文地址:https://www.cnblogs.com/lindexi/p/wpf-load-font.html

时间: 2024-10-10 04:27:47

WPF 从文件加载字体的相关文章

iOS通过ttf文件加载字体

首先,info.plist文件中添加Fonts provided by application属性,将ttf或者otf文件名加入到列表中,并将ttf或者otf文件添加到工程中: 其次,通过以下方法可以查看系统所有支持的字体名字,包括你刚才导入的. NSLog(@"Font names = %@", [UIFont familyNames]); 最后,可以通过以下方法使用这些字体 self.textLabel = [[UILabel alloc] init]; self.textLabe

IIS无法加载字体文件(*.woff,*.svg)的解决办法

在编写前端代码的过程中经常会遇到使用特定的字体(*.woff,*.svg),此时在加载字体时请求会被返回 Failed to load resource: the server responded with a status of 404 (Not Found). 原因是,默认在IIS上是没有添加对*.woff,*.svg文件的Mime类型,因此在客户端请求此类文件时得到的都是404. 所以我们只需要在我们对应网站下的Mime类型中添加文件对应的类型就行了 .woff  application/

[原]零基础学习SDL开发之在Android使用SDL2.0加载字体

在上一篇文章我们知道了如何在android使用SDL2.0来渲染显示一张png图,而且在上上一篇我们知道如何使用sdl来渲染输出bmp图,那么sdl是否可以渲染输出自己喜爱的字体库的字体呢?答案是当然可以. 我们需要移植SDL_ttf字体库来支持相应的字体的渲染输出. 一.移植SDL_ttf库: 使用如下命令,从SDL Mercurial获取SDL_image的源码: hg clone https://hg.libsdl.org/SDL_ttf/ 将SDL_ttf拷贝到在上一篇文章中的andro

androidStudio中如何加载字体资源?

在android中字体的格式总是不能尽善尽美的显示出来 ,  于是要求我们使用一些有美感的字体,加载的方式(就像HTML的字体一样),我们需要通过加载字体的方式来使用android中不曾提供的字体; 首先在androidstudio中找到assets文件夹 , (位于serc/main/java下,与res在同一个文件里面) , 找到之后将字体文件(*.ttf)放入这个文件夹下(当然为了规范起见,我们可以再asseets下建立一个font文件夹表示存放字体文件). 如图所示: 资源存放成功之后,

CSS远程加载字体

CSS 远程加载字体的方法,做网站CSS的都知道,用户浏览网站时,网页上的字体是加载本地的.换言之,如果网站使用了用户电脑所没有安装的字体,那显示字体就会被默认字体所代替了,自然效果就大受影响了. 上网搜索了下,这个问题,其实还是有解决办法的.那就是,准备一个或几个字体文件,放置到服务器上,再用 CSS 的方法把字体加载到网页中,这样,即使用户电脑中没有某一种字体,也可以正常显示! 以微软雅黑为例,一般来说,VISTA 系统和现在的 win7 系统都自带了这种字体,但 winXP 却没有.如果网

css加载字体跨域问题

刚才碰到一个css加载字体跨域问题,记录一下.站点的动态请求与静态文件请求是不同的域名的.站点的域名为 www.domain.com,而静态文件的域名为 st.domain.com.问题:页面中加载css文件:<link rel="stylesheet" href="http://st.domain.com/css/uniform.css" />此css中调用了外部字体如下:@font-face { font-family: 'FontAwesome';

vue超简单加载字体方法,解决scss难加载字体的问题

vue超简单加载字体方法,解决scss难加载字体的问题 scss在加载字体方面一直不太好用,需要繁杂的配置才能达到想要的效果,这里说一种非常简单的方法 在App.vue的style标签下引入字体文件后,scss设置的字体依旧可以正确识别,注意style的lang不要写,就使用原生css 示例引入 <style> @font-face{ font-family: pingfang; src: url('./style/pingfang.ttf') } </style> 然后想要的位置

Cocos2d之Texture2D类详解之将文件加载成Texture2D对象

一.声明 笔者以cocos2d框架cocos2d-x-3.3rc0版本的源码做分析.本文为笔者原创,允许转载和分享,只要注明文章出处即可. 二.简介 Texture2D类简介 Texture2D类允许开发者用图像.文本信息和简单的数据来创建OpenGL2D纹理.被创建的纹理拥有两个维度.根据开发者创建Texture2D对象方式的不同,实际图像的尺寸可能比生成的纹理的尺寸要小,而且纹理的内容是倒置的. 像素格式 在计算机图形学中,人们用每个像素在内存中的总位数以及分别存储红.蓝.绿和alpha(阿

Java基础之Throwable,文件加载

Java中的异常与错误都继承自Throwable,Exception又分为运行时异常(RuntimeException)和编译时异常. 运行时异常是程序的逻辑不够严谨或者特定条件下程序出现了错误,例如做除法运算时除数为0,运行时异常Java是不要求一定去try,catch进行捕获的.我们调试代码要减少的就是运行时异常,随着代码的调试运行时异常被捕获,程序的健壮性也就得到了提升. 编译时异常例如文件未找到异常,IO异常,SQLException等,这些是可以预知的异常(checked Except