zoukankan      html  css  js  c++  java
  • 修复一些不能直接使用或不好用的ttf字体文件

    有些TrueType字体文件(.ttf)下载回来后,虽然能在专用的字体编辑/查看软件中正常打开,并能看到字体形状,但却不能在无论Word、LibreOffice、Windows、Linux、Android中当一个正常字体用。

    胡搞一通后(本人不懂字体),摸索出了一些解决以下问题的方法:

    1. .ttf文件无法当普通字体用

    2. .ttf文件中没有图形的字符,使到时显示空白,并不像正常情况那样fallback到系统默认字体

    3. 能用但太小,一个字图形边缘空白太大

    解决步骤

    用的软件是FontForge

    1. 把以下脚本保存为.pe后缀,通过cli调用

      #!/usr/bin/env fontforge
      
      Open($1)
      
      RemoveAllKerns()
      DetachAndRemoveGlyphs()
      SelectAll()
      UnlinkReference()
      Reencode("unicode")
      
      Generate($1:r + "_patch.ttf")
      

      如果不懂通过cli调用,也可以在FontForge在界面中打开字体文件后,点击菜单“文件->执行脚本->选择FF”,然后把

      RemoveAllKerns()
      DetachAndRemoveGlyphs()
      SelectAll()
      UnlinkReference()
      Reencode("unicode")
      

      这几行粘贴进去,点击确定。

    2. 在FontForge界面中打开上一步处理过后生成的新字体文件,菜单“文件->生成字体”保存成一个新.ttf文件。这一步要点时间(1分钟)。忽略所有警告和错误。

    3. 菜单“编辑->选择->空格字形”,然后点“Clear”删掉它们。

      你会看见原本空白的格子变成了一个带浅灰色叉的格子。这样这个字体文件中没有图形的字符就可以被fallback用默认字体显示出来了。

    针对某一类字符调整图形

    菜单“基础->字体信息->统一码范围”,这里可以按类型批量选择字符,例如:

    • 基本大小写英文字母+数字+基本符号:基本拉丁文

    • 我们平时所用汉字(包括简和繁):中日韩统一表意字符

    改变字符图形大小

    图形太小是常见的情况。如果用起来字符间总有消除不掉的间距,有可能是这个原因。

    批量选择要放大的字符后,菜单“基础->变换->变换”,其中有等比缩放功能。

    完全处理完成后,使用菜单“文件->生成字体”保存成一个新.ttf文件。

    如果本文帮到你,请点一下”推荐“,谢谢!
    版权所有 本博客文章皆属原创(除特别标明外)
    未联系作者获得同意前,不可转载
    转载必须附上源地址,并连我博客上的宣传内容一并转载

    打赏作者

    写作不易,感谢支持!
    打赏链接
    

  • 相关阅读:
    ubuntu下Nodic开发环境搭建
    usb_modeswitch移植
    STM32F4编程手册学习2_内存模型
    STM32F4 编程手册学习1_编程模型
    ARM架构中的程序执行与调用
    锲形文字 数字
    疑问
    lisp 题目
    面试官在面试时让我去破解一个软件,我成功了
    php CI ip限制
  • 原文地址:https://www.cnblogs.com/garyw/p/14245882.html
Copyright © 2011-2022 走看看