zoukankan      html  css  js  c++  java
  • 字体问题处理方案

    https://www.jb51.net/article/157462.htm

    处理字体偏移问题

    最终的解决方案

    最后还是得靠苹果爸爸,大家的好爸爸。苹果提供了一款字体修改工具:Apple Font Tool Suite。下面就让我们用该工具来解决这个棘手的问题。

    3.1 下载该工具

    进入这里,滚到最下方,可以看到【Apple Font Tool Suite】,点击下方的下载,下载一个适合自己 Xcode 版本,下载完成后无脑安装。

    3.2 获取字体的信息文件

    打开终端,输入:ftxdumperfuser -t hhea -A d PT DIN Condensed Cyrillic.ttf,前面的【ftxdumperfuser -t hhea -A d 】为指令,后面的为你的字体文件路径。最后回车,你会看到同级文件夹下回多出一个【DINCondensedC.hhea.xml】文件:

    3.3 修改字体文件中的信息

    让我们打开这个字体文件,你会看到:

    <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
    <!DOCTYPE hheaTable [
    <!ELEMENT hheaTable EMPTY>
    <!ATTLIST hheaTable versionMajor CDATA #IMPLIED
        versionMinor CDATA #IMPLIED
        ascender CDATA #IMPLIED
        descender CDATA #IMPLIED
        lineGap CDATA #IMPLIED
        advanceWidthMax CDATA #IMPLIED
        minLeftSideBearing CDATA #IMPLIED
        minRightSideBearing CDATA #IMPLIED
        xMaxExtent CDATA #IMPLIED
        caretSlopeRise CDATA #IMPLIED
        caretSlopeRun CDATA #IMPLIED
        caretOffset CDATA #IMPLIED
        metricDataFormat CDATA #IMPLIED
        numberOfHMetrics CDATA #IMPLIED
    >
    ]>
     
     
    <!--
     
        Data generated  Sun Aug 13 18:51:10 2017
     
        Generated by ftxdumperfuser build 347,
            FontToolbox.framework build 257
     
        Font full name: 'PT DIN Condensed Cyrillic'
        Font PostScript name: 'DINCondensedC'
     
    -->
     
     
    <hheaTable
        versionMajor="1"
        versionMinor="0"
        ascender="700"
        descender="-209"
        lineGap="68"
        advanceWidthMax="889"
        minLeftSideBearing="-270"
        minRightSideBearing="-22"
        xMaxExtent="844"
        caretSlopeRise="1"
        caretSlopeRun="0"
        caretOffset="0"
        metricDataFormat="0"
        numberOfHMetrics="234"
        />

    没错这是个 XML 文件,它里面包含了字体的一些公共信息:

    • ascender:从字体的 baseLine 到最高处的距离
    • descender:从字体的 baseline 到最低点的距离
    • lineGap:印刷线的间距
    • ...

    这里面的每一项信息,都可以从苹果的:hheaTable文档 这篇文档中找到。文档中可以看到,一款字体也是一个大工程。
    今天我们要解决的,是【DINCondensedC】字体偏上的问题,因此,让我们来调节调节 ascender 这个属性,将它从700改为900,然后保存文件。

    3.4 将修改完的文件注入原 ttf 文件

    打开终端,输入:ftxdumperfuser -t hhea -A f PT DIN Condensed Cyrillic.ttf,注意这里 -A 后面的 d 已经换成了 f ,回车。

    3.5 替换原工程中的字体文件

    切回我们的工程,替换原字体文件,Run 一下:

  • 相关阅读:
    VS2013诡异问题,虚方法、泛型,通通躺枪
    RabbitMQ与Redis队列对比
    CentOS 6.5中配置RabbitMQ
    RabbitMQ集群配置
    Ubuntu下的RabbitMQ安装与web管理配置
    EasyNetQ自定义异常消息处理
    2021年 B站1024程序节技术对抗赛
    01背包问题 之 动态规划(通俗解释)
    Jmeter Web 性能测试入门 (七):Performance 测试中踩过 Jmeter 的坑
    Jmeter Web 性能测试入门 (五):Jmeter 参数化 Request
  • 原文地址:https://www.cnblogs.com/yuxiaoyiyou/p/10766922.html
Copyright © 2011-2022 走看看