zoukankan      html  css  js  c++  java
  • WPF 以及同类型中字体文件的理解

    本文使用的是阿里巴巴普惠字体

    导入字体的方式

    <FontFamily x:Key="Alibaba PuHuiTi">pack://application:,,,/AlibabaPuHuiTi;component/#Alibaba PuHuiTi</FontFamily>

    目前使用.NET core Wpf ,是将字体文件放到一个库项目中,通过引用的方式导入到主项目中的。

    <Project Sdk="Microsoft.NET.Sdk">
    	<PropertyGroup>
    		<TargetFramework>net6.0-windows</TargetFramework>
    		<Nullable>enable</Nullable>
    		<Platforms>x86</Platforms>
    		<UseWPF>true</UseWPF>
    	</PropertyGroup>
    
    	<ItemGroup>
    		<None Remove="Alibaba-PuHuiTi-Medium.ttf" />
    		<None Remove="Alibaba-PuHuiTi-Regular.ttf" />
    	</ItemGroup>
    
    	<ItemGroup>
    		<Resource Include="Alibaba-PuHuiTi-Medium.ttf">
    			<CopyToOutputDirectory>Never</CopyToOutputDirectory>
    		</Resource>
    		<Resource Include="Alibaba-PuHuiTi-Regular.ttf">
    			<CopyToOutputDirectory>Never</CopyToOutputDirectory>
    		</Resource>
    	</ItemGroup>
    </Project>
    

      

    生成操作:属性+不复制

    本文介绍一种现象,

    当时用 某个字体文件时,如果你只导入 Alibaba-PuHuiTi-Regular.ttf,如果字体 设置FontWeight="Bold",

    解析器找不到这个字体的时候,会用算法动态计算对应的宽度的字体。

    比如下图

    上方的问题时没有 导入 Alibaba-PuHuiTi-Bold 时,由代码解析器 自动 估算出的字重。

    下面的字体截图时导入 Alibaba-PuHuiTi-Bold 之后,实际显示的 宽度,

    由此可以得出,从网络中得到的字体文件,如果对美感要求比较高,那么还是需要导入完整的字体文件的,

    如果仅仅只是显示一个效果,那么 仅仅导入 Regular 字重的字体即可。

    下方是从网络中搜索到的介绍

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------

    作者:Dream.Machine (944095635)
    网站:http://www.dmskin.com
    博客:http://www.cnblogs.com/DMSkin
    开源:https://github.com/944095635
    关于作者:专注于 WPF开发、C# 开发。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明.
    在文章页面位置给出原文连接,如有问题,可以通过944095635@qq.com 联系我,非常感谢。
  • 相关阅读:
    SQL中的数字格式化 (收藏)
    read about用法
    run into用法
    shoot for用法
    take off用法
    英语成语
    bring up用法
    satisfy with用法
    spend用法
    Linux环境进程间通信:共享内存
  • 原文地址:https://www.cnblogs.com/DMSkin/p/15645333.html
Copyright © 2011-2022 走看看