标签 字体 下的文章

AI 赢得填字游戏冠军

上周,今年的美国填字游戏锦标赛(ACPT)落下了帷幕,共有 1300 多名人员线上参与。但是官方认定的冠军并不是得分第一名。此次参赛一位选手 Dr.Fill,以 12825 分高居榜首,高出人类冠军 65 分,但并没有得到冠军。为什么最高分反而不是冠军?因为 Dr.Fill 是一“只” AI。AI 又一次在比赛中,战胜了人类。

Dr. Fill 诞生于十年前,不过刚开始的排名并不尽如人意。多年以来,它的排名一直稳步上升,但是最高只达到第 11 名。今年它得到了伯克利 NLP 小组的协助,并运行在一台更好的服务器上,因此,Dr. Fill 只用了 49 秒就完成了谜题,而人类冠军用了三分钟。

以后的棋牌类游戏可能应该分成两个榜单:硅基榜单和碳基榜单。

勒索软件已经成为影响国家安全的全球性威胁

微软、亚马逊和 FBI 等加入了全球的勒索软件任务组(RTF),呼吁对勒索软件采取积极和紧急的行动,他们警告称,短短数年内勒索软件变成了一个严重的国家安全威胁、公共健康和安全问题。

勒索软件黑帮经常将学校和医院作为攻击目标。FBI 称,去年有接近 2400 家美国公司、地方政府、医疗机构和学校成为勒索软件的受害者。英国国家网络安全中心称去年处理的勒索软件事故数量是之前任何一年的三倍以上。安全公司 Emsisoft 估计去年全球勒索软件造成的损失在 420 亿美元到 1700 亿美元之间。

勒索病毒已经不完全是技术的问题了。应该引起全世界的警惕和打击。

微软准备更换 Office 软件的默认字体

微软上次改变 Office 的默认字体是在 2007 年,用 Calibri 取代了 Times New Roman。当时微软说它想要一种在屏幕上看起来更好的字体。而现在,在 Calibri 没有明显缺点的情况下,微软委托制作了五种新字体,准备从中选择一个作为新的默认字体。

默认字体也许最值得注意的是它们没有给人留下印象,这样人们就可以直接进入创意过程,而不是考虑这些想法的形式。不过默认字体也可以在不打搅人们的同时,传达一些个性。

还是英文字体比较简单,总共也没多少字形。

一个非常简单的字体管理器应用,让你专注于调整 Linux 系统上的字体。

如果你是一个有经验的 Linux 用户,你可能会利用终端或 调整工具来管理你的 Linux 系统的字体。

老实说,不管 GNOME 调整工具有多有用,但是用来管理字体可能会不太够用。因此,一个单独的应用可以很好地帮助你管理字体。

Font Manager:一个帮助管理字体的开源应用

Font Manager(这就是应用的字面名称)是一个专门帮助你管理字体的应用。

你可以获得字体族的详细信息、可用的变体,以及根据字体的高度、宽度、间距等进行过滤和调整的功能。考虑到它是一个简单的应用,因此你找不到很多功能,但是我将在下面简要介绍一些功能。

Font Manager 的功能

  • 可以添加字体
  • 可以删除字体
  • 根据字体族、供应商、间距、高度等因素轻松筛选字体
  • 调整字体的缩放系数
  • 调整字体的抗锯齿(软度/锐度)
  • 添加字体源,以便在安装前进行预览
  • 提供快速管理的键盘快捷键
  • 开箱即用的谷歌字体集成
  • 获取关于字体族中可用字符的详细信息、许可证、字体大小、供应商、文件类型、间距、宽度和样式

总的来说,你可以轻松安装或删除字体。但是,当你管理字体时,你会得到很多帮助,如上面的截图所示。

在 Linux 上安装 Font Manager

你有多种选择(取决于你使用的 Linux 发行版)进行安装。

如果你使用的是基于 Ubuntu 的发行版,你可以通过下面的命令轻松添加 PPA 来安装 Font Manager:

sudo add-apt-repository ppa:font-manager/staging
sudo apt update
sudo apt install font-manager

如果你不喜欢 PPA(我更喜欢这样安装),你也可以在任何 Linux 发行版上安装一个可用的 Flatpak 包

你只需要在你的 Linux 系统上启用 Flatpak,然后在你的软件中心搜索它(如果它支持 Flatpak 集成的话),或者直接输入下面的命令安装它:

flatpak install flathub org.gnome.FontManager

如果你是 Arch 用户,你可以在 AUR 中找到

更多的安装说明,你可以参考它的官网GitHub 页面

总结

Font Manager 是一个简单的解决方案,适用于任何基于 GTK+ 的桌面环境。主要用于 GNOME,但你在其他桌面环境使用它。

你可以得到很多有用的信息,同时可以添加或删除字体,我想这显然是一个真正的字体管理器。

你对 Font Manager 有什么看法?在下面的评论中告诉我你的想法吧!


via: https://itsfoss.com/font-manager/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

其实我对这个实验的结果并不是特别满意,但我还是想分享一下,因为摆弄字体是件非常简单和有趣的事情。而且有人问我怎么做,我告诉她我会写一篇博文来介绍一下 :smiley:

背景:原本的手写体

先交代一些背景信息:我有一个我自己的手写字体,我已经在我的电子杂志中使用了好几年了。我用一个叫 iFontMaker 的令人愉快的应用程序制作了它。他们在网站上自诩为“你可以在 5 分钟内只用手指就能制作出你的手工字体”。根据我的经验,“5 分钟”的部分比较准确 —— 我可能花了更多的时间,比如 15 分钟。我对“只用手指”的说法持怀疑态度 —— 我用的是 Apple Pencil,它的精确度要好得多。但是,使用该应用程序制作你的笔迹的 TTF 字体是非常容易的,如果你碰巧已经有了 Apple Pencil 和 iPad,我认为这是一个有趣的方式,我只花了 7.99 美元。

下面是我的字体的样子。左边的“CONNECT”文字是我的实际笔迹,右边的段落是字体。其实有 2 种字体 —— 有一种是普通字体,一种是手写的“等宽”字体。(其实实际并不是等宽,我还没有想好如何在 iFontMaker 中制作一个实际的等宽字体)

目标:在字体上做更多的字符变化

在上面的截图中,很明显可以看出这是一种字体,而不是实际的笔迹。当你有两个相同的字母相邻时,就最容易看出来,比如“HTTP”。

所以我想,使用一些 OpenType 的功能,以某种方式为这个字体引入更多的变化,比如也许两个 “T” 可以是不同的。不过我不知道该怎么做!

来自 Tristan Hume 的主意:使用 OpenType!

然后我在 5 月份的 !!Con 2020 上(所有的演讲录音都在这里!)看到了 Tristan Hume 的这个演讲:关于使用 OpenType 通过特殊的字体将逗号插入到大的数字中。他的演讲和博文都很棒,所以这里有一堆链接 —— 下面现场演示也许是最快看到他的成果的方式。

基本思路:OpenType 允许你根据上下文替换字符

我一开始对 OpenType 到底是什么非常困惑。目前我仍然不甚了然,但我知道到你可以编写极其简单的 OpenType 规则来改变字体的外观,而且你甚至不需要真正了解字体。

下面是一个规则示例:

sub a' b by other_a;

这里 sub a' b by other_a; 的意思是:如果一个 a 字形是在一个 b 之前,那么替换 a 为字形 other_a

所以这意味着我可以让 abac 在字体中出现不同的字形。这并不像手写体那样随机,但它确实引入了一点变化。

OpenType 参考文档:真棒

我找到的最好的 OpenType 文档是这个 OpenType™ 特性文件规范 资料。里面有很多你可以做的很酷的事情的例子,比如用一个连字替换 “ffi”。

如何应用这些规则:fonttools

为字体添加新的 OpenType 规则是超容易的。有一个 Python 库叫 fonttools,这 5 行代码会把放在 rules.fea 中的 OpenType 规则列表应用到字体文件 input.ttf 中。

from fontTools.ttLib import TTFont
from fontTools.feaLib.builder import addOpenTypeFeatures

ft_font = TTFont('input.ttf')
addOpenTypeFeatures(ft_font, 'rules.fea', tables=['GSUB'])
ft_font.save('output.ttf')

fontTools 还提供了几个名为 ttxfonttools 的命令行工具。ttx 可以将 TTF 字体转换为 XML 文件,这对我很有用,因为我想重新命名我的字体中的一些字形,但我对字体一无所知。所以我只是将我的字体转换为 XML 文件,使用 sed 重命名字形,然后再次使用 ttx 将 XML 文件转换回 ttf

fonttools merge 可以让我把我的 3 个手写字体合并成 1 个,这样我就在 1 个文件中得到了我需要的所有字形。

代码

我把我的极潦草的代码放在一个叫 font-mixer 的存储库里。它大概有 33 行代码,我认为它不言自明。(都在 run.shcombine.py 中)

结果

下面是旧字体和新字体的小样。我不认为新字体的“感觉”更像手写体 —— 有更多的变化,但还是比不上实际的手写体文字(在下面)。

我觉得稍微有点不可思议,它明明还是一种字体,但它却要假装成不是字体:

而这是实际手写的同样的文字的样本:

如果我在制作另外 2 种手写字体的时候,把原来的字体混合在一起,再仔细一点,可能效果会更好。

添加 OpenType 规则这么容易,真酷!

这里最让我欣喜的是,添加 OpenType 规则来改变字体的工作方式是如此的容易,比如你可以很容易地做出一个“the”单词总是被“teh”代替的字体(让错别字一直留着!)。

不过我还是不知道如何做出更逼真的手写字体:)。我现在还在用旧的那个字体(没有额外的变化),我对它很满意。


via: https://jvns.ca/blog/2020/08/08/handwritten-font/

作者:Julia Evans 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你在 Linux 上用 LibreOffice 打开一些微软文档,你会发现字体看起来有一点不同。你也将注意到有些常用字体找不到,如 Times New Roman、Arial 等等。

不用担心。我将向你展示如何在 Ubuntu 上和其它基于 Ubuntu 的 Linux 发行版上安装这些字体。但是在此之前,让我告诉你为什么这些字体没有被默认安装。

为什么微软字体不被默认安装在 Linux 中?

Times New Roman、Arial 等字体都是微软的,并且这些字体不是开源的。很多 Linux 发行版默认不提供专有软件,以避免授权问题。

这就是为什么在默认情况下 Ubuntu 和其它 Linux 发行版使用开源字体 “Liberation” 字体来替代微软字体的原因。Red Hat 创建 Liberation 字体 来代替 Arial、Arial Narrow、 Times New Roman 和 Courier New,因为这些字体的宽度一样。当你打开一个使用 Times New Roman 字体书写的文档时,会使用对应的 Liberation 字体来保持文档不被破坏。

不过,Liberation 字体与微软的字体并不是完全相同的,在一些情况下,你可能需要使用 Arial 或 Times New Roman。一个非常常见的情况是,在学校、大学和其他公共或私人机构中,微软的字体是唯一的选择。他们要求你使用这些字体之一来提交文档。

好在,你可以在 Ubuntu 和其它发行版上很容易地安装微软字体。以这种方式,你将增强 LibreOffice 的兼容性,并可以自由选择开源办公软件。

在基于 Ubuntu 的 Linux 发行版上安装微软字体

你可以自行下载字体,并在 Ubuntu 中安装新的字体。但是由于微软字体非常受欢迎(并且是免费提供的),所以 Ubuntu 提供了一种简单的方法来安装它们。

要知道尽管微软已经免费发布了其核心字体,在其它操作系统中使用该字体依然是受到限制的。在 Ubuntu 中安装微软字体前,你必须阅读并接受 EULA (最终用户许可协议) 。

这些字体 可在 multiverse 存储库中获得,首先要确保启用它

sudo add-apt-repository multiverse

在此之后,你可以更新你的 Ubuntu 存储库缓存,并像这样安装微软字体:

sudo apt update && sudo apt install ttf-mscorefonts-installer

当微软的最终用户协议出现时,按 tab 键来选择 “OK” ,并按回车键。

单击 “Yes” 来接受微软的协议:

当安装完成后,你应该使用下面的命令来更新字体缓存:

sudo fc-cache -f -v

如果你现在打开 LibreOffice ,你将看到微软 TrueType 字体

如果意外地拒绝了许可协议,你可以使用这个命令来重新安装安装程序:

sudo apt install –reinstall ttf-mscorefonts-installer

微软的 TrueType 字体也可以通过 Ubuntu Restricted Extras package 获得,其包含用来播放 MP3 等文件的其它专有的多媒体编解码器。

不要轻视专有字体。

你可能认为字体有什么大不了的呢?毕竟,它只是一款字体,而不是软件的一个关键部分,对吧?但是你知道,这些年来 Netflix 为其使用的专有字体支付了数百万美元吗?最后,他们创建了自己的自定义字体,这为他们节省了一大笔钱。

希望这个快速教程有用。更多的生产力教程即将上线,请在下面留下你的评论,了解更多信息请订阅我们的社交媒体!


via: https://itsfoss.com/install-microsoft-fonts-ubuntu/

作者:Dimitrios Savvopoulos 选题:lujun9972 译者:robsean 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

谷歌字体和开放字体库中的免费 Web 字体已经改变了游戏规则,但仅在有限的范围内。

毫无疑问,近些年来互联网的面貌已经被开源字体所改变。早在 2010 年之前,你在 Web 浏览器上几乎只能看到微软制作的通常“Web 安全”的核心字体。但这一年(2010)正好是好几轮技术革新开始的见证之年: Web 开放字体格式 Web Open Font Format (WOFF)的引入为通过 HTTP 有效地传输字体文件提供了一个开放的标准,以及像谷歌字体 开放字体库 Open Font Library 这样的 Web 字体服务的推出,使得 Web 内容发布者可以在开源许可证之下免费使用海量的字体库。

这些事件对 Web 排版的积极影响再夸大都不过分。但是要将 Web 开放字体的成功与整个开源排版等同起来,并得到结论——挑战已经远离了我们,困难悉数被解决了——却很容易。然而事实并非如此,如果你很关注字体,那么好消息是你有好多机会参与到对这些字体的改进工作当中去。

对新手来说,至关重要的是必须要意识到谷歌字体和开放字体库提供了专用的服务(为网页提供字体),而没有为其他使用情况制定字体解决方案。这不是服务方面的缺点,这只是意味着我们必须去开发其它的解决方案。

需要解决的问题还非常多。可能最明显的例子就是给 Linux 桌面计算机的其他软件安装字体所遇到的尴尬情况。你可以通过任何一种服务下载任何一种 Web 字体,但是你得到的只是一个最普通的压缩包文件,里面有一些 TTF 或 OTF 二进制文件和一个普通文本文件的许可证。接下来会发生什么完完全全需要你去猜。

大部分用户很快学会了“正确”的步骤就是手动地复制这些字体二进制文件到他们硬盘里几个特殊文件夹里的某一个里。但是这样做只能使这个文件对操作系统可见。它并不能为用户体验带来什么提升。再强调一遍,这不是 Web 字体服务的缺陷,相反它佐证了对于关于服务到哪里停止和需要在其他方面做更多工作的观点。

在用户视角来说,一个巨大的提升可能就是在“只是下载”这个阶段,操作系统或者桌面环境变得更智能。系统或桌面环境不仅会把字体文件安装到正确的位置上,更重要的是,当用户选择要在一个项目中使用的字体时,它会自己添加用户所需要的重要的元数据。

这些附加信息包含的内容与它如何呈现给用户与另一个挑战有关:与其它操作系统相比,在 Linux 环境管理一个字体库显然不那么令人满意。字体管理器总是时不时的出现一下(例如 GTK+ 字体管理器,这是最近的一个例子),但是它们很少变得流行起来。我一直在思考一大堆这些软件让人失望的方面。一个核心的原因是它们把自己局限于只展示内嵌在二进制字体文件内的信息:基本字符集的覆盖、粗细/宽度和斜率的设定,内置的许可证和版权说明等等。

但是除了这些内嵌数据中的内容,在选择字体的过程中还涉及很多决策。严肃的字体用户,像信息设计者、杂志文章作者,或者书籍美工设计者,他们的字体选择是根据每一份文件的要求和需求做出的。这当然包含了许可证信息,但它还包含了更多,像关于设计师和厂商的信息、潮流风格的趋势,或者字体在使用中的细节。

举个例子,如果你的文档包含了英语和阿拉伯文,你多半想要拉丁文和阿拉伯文的字体由同时熟悉这两种 字母系统 script 的设计师所设计。否则,你将浪费一大堆时间来微调字体大小和行间距来使两种字母系统良好地结合在一起。你可能从经验中学到,某些设计师或字体厂商比其他人更善于多种字母系统设计。或许和你职业相关的是今天的时尚杂志几乎无一例外的采用 “Didone)”风格的字体,“Didone)”是指一种两百多年前最先被 Firmin DidotGiambattista Bodoni 设计出来的超高反差的字体风格。这种字体恰好就是现在的潮流。

但是像 Didone、Didot 或 Bodoni 这些术语都不可能会出现在二进制文件的内置数据当中,你也不容易判断拉丁文和阿拉伯文是否相得益彰或其它关于字体的历史背景。这些信息有可能出现在补充的材料中,类似某种字形样本或字体文件中,如果这些东西存在的话。

字形样本 specimen 是一份设计好的文档(一般是 PDF),它展示了这种字体的使用情况,而且包括了背景信息。字形样本经常在挑选字体时充当市场营销和外观样例的双重角色。一份精心设计的样本展示了字体在实际应用中的情况和在自动生成的字符表中所不能体现的风格。字形样本文件也有可能包含了一些其他重要信息,比如怎样激活字体的 OpenType 特性、提供的数学表达式或古体字,或者它在支持的多种语言上的风格变化。在字体管理应用程序中向用户提供此类材料,对于帮助用户找到适合其项目需求的字体将大有帮助。

当然,如果我们希望一个字体管理软件能够处理文件和样本问题,我们也必须仔细观察一下各种发行版提供的字体包所随附的内容。Linux 的用户刚开始只有自动安装的那几种字体,并且发行版存储库提供的包是大部分用户除了下载通用的压缩包档案之外的唯一字体来源。这些包往往非常的“简陋”。商业字体总的来说都包含了样本、文档,还有其他的支持项目,然而开源字体往往没有这些配套文件。

也有一些优秀的开放字体提供了高质量的样本和文档(例如 SIL GentiumBungee 是两种差异明显但是都有效的方案),但是它们几乎不涉足下游的打包工作链。我们显然可以做的更好一些。

要在系统的字体交互方面提供更丰富的用户体验上面还存在一些技术问题。一方面,AppStream 的元数据标准定义了一些字体文件特有的参数,但是到现在为止,这些参数没有包含样本、设计师/厂商和其他相关细节的任何信息。另外一个例子,SPDX 软件包数据交换 Software Package Data Exchange )格式也没有包含太多用于分发字体的软件许可证(及许可证变体)。

最后,就像任何一个唱片爱好者都会告诉你的,一个不允许你编辑和完善你的 MP3 曲库中的 ID3 信息的音乐播放器很快就会变得令人失望(LCTT 译注:ID3 信息是 MP3 文件头部的元信息,用于存储歌曲信息)。你想要处理标签里的错误、想要添加注释和专辑封面之类的信息,本质上,这就是完善你的音乐库。同样,你可能也想要让你的本地字体库也保持在一个方便使用的状态。

但是改动字体文件的内置数据一直有所忌讳,因为字体往往是被内置或附加到其他文件里的。如果你随意改变了字体二进制文件中的字段,然后将其与你的演示文稿一起重新分发,那么下载这些演示文稿的任何人最终都会得到错误的元数据,但这个错误不是他们自己造成的。所以任何一个要改善字体管理体验的人都要想明白如何从策略上解决对内置或外置的字体元数据的重复修改。

除了技术角度之外,丰富的字体管理经验也是一项设计挑战。就像我在前面说的一样,有几种开放字体也带了良好的样本和精心编写的文档。但是更多的字体包这两者都没有,还有大量的更老的字体包已经没有人维护了。这很可能意味着大部分开放字体包想要获得样本和证明文件的唯一办法就是让社区去创建它们。

也许这是一个很高的要求。但是开源设计社区现在比以往任何时候都要庞大,它是整个自由开源软件运动中的一个高度活跃的组成部分。所以谁知道呢,也许明年这个时候会发现,在 Linux 桌面系统查找、下载和使用字体会变成一种完全不同的体验。

在这一连串关于现代 Linux 用户的文字设计上的挑战的思考中包含了打包、文档设计,甚至有可能需要在桌面环境加入不少新的软件部分。此外还有其他一系列的东西也需要考虑。其共通性就是在 Web 字体服务不可及的地方,事情就会变得更加困难。

从我的视角来看,最好的消息是现在比起以前有更多的人对这个话题感兴趣。我认为我们要感谢像谷歌字体和开放字体库这样的 Web 字体服务巨头让开放字体得到了更高的关注。


via: https://opensource.com/article/18/3/webfonts

作者:Nathan Willis 译者:Fisherman110 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你有图形桌面环境,那么就很容易更改文本的字体以及大小。但你如何在没有图形环境的 Ubuntu 无头服务器中做到?别担心!本指南介绍了如何更改 Linux 控制台的字体和大小。这对于那些不喜欢默认字体类型/大小或者喜欢不同字体的人来说非常有用。

更改 Linux 控制台字体类型和大小

如果你还不知道,这就是无头 Ubuntu Linux 服务器控制台的样子。

Ubuntu Linux 控制台

据我所知,我们可以列出已安装的字体,但是没有办法可以像在 Linux 桌面终端仿真器中那样更改 Linux 控制台字体类型或大小。

但这并不意味着我们无法改变它。我们仍然可以更改控制台字体。

如果你正在使用 Debian、Ubuntu 和其他基于 DEB 的系统,你可以使用 console-setup 配置文件来设置 setupcon,它用于配置控制台的字体和键盘布局。该控制台设置的配置文件位于 /etc/default/console-setup

现在,运行以下命令来设置 Linux 控制台的字体。

$ sudo dpkg-reconfigure console-setup

选择要在 Linux 控制台上使用的编码。只需保留默认值,选择 “OK” 并按回车继续。

选择要在 Ubuntu 控制台上设置的编码

接下来,在列表中选择受支持的字符集。默认情况下,它是最后一个选项,即在我的系统中 Guess optimal character set(猜测最佳字符集)。只需保留默认值,然后按回车键。

在 Ubuntu 中选择字符集

接下来选择控制台的字体,然后按回车键。我这里选择 “TerminusBold”。

选择 Linux 控制台的字体

这里,我们为 Linux 控制台选择所需的字体大小。

选择 Linux 控制台的字体大小

几秒钟后,所选的字体及大小将应用于你的 Linux 控制台。

这是在更改字体类型和大小之前,我的 Ubuntu 18.04 LTS 服务器中控制台字体的样子。

这是更改之后。

如你所见,文本更大、更好,字体类型也不同于默认。

你也可以直接编辑 /etc/default/console-setup,并根据需要设置字体类型和大小。根据以下示例,我的 Linux 控制台字体类型为 “Terminus Bold”,字体大小为 32。

ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="guess"
FONTFACE="TerminusBold"
FONTSIZE="16x32"

附录:显示控制台字体

要显示你的控制台字体,只需输入:

$ showconsolefont

此命令将显示字体的字形或字母表。

显示控制台字体

如果你的 Linux 发行版没有 console-setup,你可以从这里获取它。

在使用 Systemd 的 Linux 发行版上,你可以通过编辑 /etc/vconsole.conf 来更改控制台字体。

以下是德语键盘的示例配置。

$ vi /etc/vconsole.conf

KEYMAP=de-latin1
FONT=Lat2-Terminus16

希望这篇文章对你有用!


via: https://www.ostechnix.com/how-to-change-linux-console-font-type-and-size/

作者:sk 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出