标签 字体 下的文章

我尝试尽可能的保持心灵祥和,然而总有一些事情让我意难平,比如控制台字体太小了。记住我的话,朋友,有一天你的眼睛会退化,无法再看清你编码时用的那些细小字体,到那时你就后悔莫及了。

幸好,Linux 死忠们,你可以更改控制台的字体。按照 Linux 一贯的尿性,不断变化的 Linux 环境使得这个问题变得不太简单明了,而 Linux 上也没有字体管理这么个东西,这使得我们很容易就被搞晕了。本文,我将会向你展示,我找到的更改字体的最简方法。

Linux 控制台是个什么鬼?

首先让我们来澄清一下我们说的到底是个什么东西。当我提到 Linux 控制台,我指的是 TTY1-6,即你从图形环境用 Ctrl-Alt-F1F6 切换到的虚拟终端。按下 Ctrl+Alt+F7 会切回图形环境。(不过这些热键已经不再通用,你的 Linux 发行版可能有不同的键映射。你的 TTY 的数量也可能不同,你图形环境会话也可能不在 F7。比如,Fedora 的默认图形会话是 F2,它只有一个额外的终端在 F1。) 我觉得能同时拥有 X 会话和终端会话实在是太酷了。

Linux 控制台是内核的一部分,而且并不运行在 X 会话中。它和你在没有图形环境的 无头 headless 服务器中用的控制台是一样的。我称呼在图形会话中的 X 终端为终端,而将控制台和 X 终端统称为终端模拟器。

但这还没完。Linux 终端从早期的 ANSI 时代开始已经经历了长久的发展,多亏了 Linux framebuffer,它现在支持 Unicode 并且对图形也有了有限的一些支持。而且出现了很多在控制台下运行的多媒体应用,这些我们在以后的文章中会提到。

控制台截屏

获取控制台截屏的最简单方法是让控制台跑在虚拟机内部。然后你可以在宿主系统上使用中意的截屏软件来抓取。不过借助 fbcatfbgrab 你也可以直接在控制台上截屏。fbcat 会创建一个可移植的像素映射格式(PPM)的图像; 这是一个高度可移植的未压缩图像格式,可以在所有的操作系统上读取,当然你也可以把它转换成任何喜欢的其他格式。fbgrab 则是 fbcat 的一个封装脚本,用来生成一个 PNG 文件。很多人写过多个版本的 fbgrab。每个版本的选项都有限而且只能创建截取全屏。

fbcat 的执行需要 root 权限,而且它的输出需要重定向到文件中。你无需指定文件扩展名,只需要输入文件名就行了:

$ sudo fbcat > Pictures/myfile

在 GIMP 中裁剪后,就得到了图 1。

图 1 : 裁剪后查看

如果能在左边空白处有一点填充就好了,如果有读者知道如何实现请在留言框中告诉我。

fbgrab 还有一些选项,你可以通过 man fbgrab 来查看,这些选项包括对另一个控制台进行截屏,以及延时截屏等。在下面的例子中可以看到,fbgrab 截屏跟 fbcat 截屏类似,只是你无需明确进行输出重定性了:

$ sudo fbgrab Pictures/myOtherfile

查找字体

就我所知,除了查看字体存储目录 /usr/share/consolefonts/(Debian 等),/lib/kbd/consolefonts/ (Fedora),/usr/share/kbd/consolefonts (openSUSE)外没有其他方法可以列出已安装的字体了。

更改字体

可读字体不是什么新概念。我们应该尊重以前的经验!可读性是很重要的。可配置性也很重要,然而现如今却不怎么看重了。

在 Debian/Ubuntu 等系统上,可以运行 sudo dpkg-reconfigure console-setup 来设置控制台字体,然后在控制台运行 setupcon 命令来让变更生效。setupcon 属于 console-setup 软件包中的一部分。若你的 Linux 发行版中不包含该工具,可以在 openSUSE 中下载到它。

你也可以直接编辑 /etc/default/console-setup 文件。下面这个例子中设置字体为 32 点大小的 Terminus Bold 字体,这是我的最爱,并且严格限制控制台宽度为 80 列。

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

这里的 FONTFACEFONTSIZE 的值来自于字体的文件名 TerminusBold32x16.psf.gz。是的,你需要反转 FONTSIZE 中值的顺序。计算机就是这么搞笑。然后再运行 setupcon 来让新配置生效。可以使用 showconsolefont 来查看当前所用字体的所有字符集。要查看完整的选项说明请参考 man console-setup

Systemd

Systemd 与 console-setup 不太一样,除了字体之外,你无需安装任何东西。你只需要编辑 /etc/vconsole.conf 然后重启就行了。我在 Fedora 和 openSUSE 系统中安装了一些额外的大字号的 Terminus 字体包,因为默认安装的字体最大只有 16 点而我想要的是 32 点。然后将 /etc/vconsole.conf 的内容修改为:

KEYMAP="us"
FONT="ter-v32b"

下周我们还将学习一些更加酷的控制台小技巧,以及一些在控制台上运行的多媒体应用


via: https://www.linux.com/learn/intro-to-linux/2018/1/how-change-your-linux-console-fonts

作者:Carla Schroder 译者:lujun9972 校对:wxy

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

LibreOffice 提供了丰富的字体,并且用户可以自由选择和下载增加自己的字体。然而,就算是你想创造自己的字体,也可以非常容易地使用 Glyphr 来做到。Glyphr 是一个新开源的矢量字体设计器,通过直观而易用的图形界面和丰富的功能集可以完成字体设计的方方面面。虽然这个应用还在早期开发阶段,但是已经十分棒了。下面将会有一个简短的快速入门教你如何使用 Glyphr 创建字体并加入到 LibreOffice。

首先,从官方 Git 库下载 Glyphr。它提供 32 位和 64 位版本的二进制格式。完成下载后,进入下载文件夹, 解压文件,进入解压后的文件夹,右键点击 Glyphr Studio,选择“Run”。

启动应用后会给你三个选项。一个是从头创建一个新的字体集;第二个是读取已经存在的项目,可以是 Glyphr Studio 项目文件,也可以是其他 OpenType 字体(otf)或 TrueType 字体(ttf),甚至是 SVG 字体。第三个是读取已有的两个示例之一,然后可以在示例上修改创建。我将会选择第一个选项,并教你一些简单的设计概念。

完成进入编辑界面后, 你可以从屏幕左边的面板中选择字母,然后在右边的绘制区域设计。我选择 A 字母的图标开始编辑它。

要在绘图板上设计一些东西,我们可以从该板的左上角选择矩形、椭圆形或者路径等同处的“形状”工具,也可以使用该工具的第二行的第一项的路径编辑工具。使用任意工具,开始在板上放 路径点 path point 来创建形状。添加的点数越多,接下来步骤的形状选项就越多。

将点移动到不同位置可以获得不同的路径,可以使用路径编辑工具右边的路径编辑,点击形状会出现可编辑点。然后可以把这些点拖到你喜欢的任意位置。

最后,形状编辑工具可以让你选择形状并将其拖动到其它位置、更改其尺寸以及旋转。

其它有用的设计动作集还有左侧面板提供的复制-粘贴、翻转-旋转操作。来看个例子,假设我现在正在创作 B 字母, 我要把已经创建好的上部分镜像到下半部分,保持设计的高度一致性。

现在,为了达到这个目的,选择形状编辑工具,选中欲镜像的部分,点击复制操作,然后在其上点击图形,拖放粘帖的形状到你需要的位置,根据你的需要进行水平翻转或者垂直翻转。

这款应用在太多地方可以讲述。如果有兴趣深入,可以深入了解数字化编辑、弯曲和引导等等,

然而,字体并不是仅仅是单个字体的设计,还需要学习字体设计的其他方面。通过应用左上角菜单栏上的“导航”还可以设置特殊字符对之间的字间距、增加连字符、部件、和设置常规字体设置等。

最棒的是你可以使用“测试驱动”来使用你的新字体,帮助你判断字体设计如何、间距对不对、尽量来优化你的字体。

完成设计和优化后,我们还可以导出 ttf 和 svg 格式的字体。

要将新的字体加入到系统中,打开字体浏览器并点击“安装”按钮。如果它不工作,可以在主目录下创建一个新的文件夹叫做.fonts,并将字体复制进去。也可以使用 root 用户打开文件管理器,进入 /usr/share/fonts/opentype, 创建一个新的文件夹并粘贴字体文件到里面。然后打开终端,输入命令重建字体缓存:sudo fc-cache -f -v

在 LibreOffice 中已经可以看见新的字体咯,同样也可以使用你系统中的其它文本应用程序如 Gedit 来测试新字体。


via: https://www.howtoforge.com/tutorial/how-to-design-and-add-your-own-font-on-linux-with-glyphr/

作者:Bill Toulas 译者:VicYu/Vic020 校对:wxy

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

提问: 我通过编译LaTex源文件生成了一份PDF文档。然而,我注意到,并不是所有字体都嵌入到了PDF文档中。我怎样才能确保所有的字体嵌入在由LaTex生成的PDF文档中?

当你创建一个PDF文件时,在PDF文件中嵌入字体是一个好主意。如果你不嵌入字体,PDF浏览器可以在计算机上没有字体的情况下使用其他东西代替。这将导致文件被在不同的PDF浏览器或操作系统平台上呈现不同的样式。当你打印出来的文档时,缺少的字体是一个问题。

当你从LaTex中生成PDF文档时(例如用pdflatex或dvipdfm),可能并不是所有的字体都嵌入在PDF文档中。例如,pdffonts下面的输出中提示PDF文档中有缺少的字体(如Helvetica)。

为了避免这样的问题,下面是如何在LaTex编译时嵌入所有的字体。

$ latex document.tex
$ dvips -Ppdf -G0 -t letter -o document.ps document.dvi
$ ps2pdf -dPDFSETTINGS=/prepress \
-dCompatibilityLevel=1.4 \
-dAutoFilterColorImages=false \
-dAutoFilterGrayImages=false \
-dColorImageFilter=/FlateEncode \
-dGrayImageFilter=/FlateEncode \
-dMonoImageFilter=/FlateEncode \
-dDownsampleColorImages=false \
-dDownsampleGrayImages=false \
document.ps document.pdf 

现在你可以看到所有的字体都被嵌入到PDF中了。


via: http://ask.xmodulo.com/embed-all-fonts-pdf-document-latex.html

译者:geekpi 校对:wxy

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

问题:我想要知道PDF文件中使用了什么字体,或者嵌入了什么字体。Linux中有工具可以检查PDF文档中使用了哪种字体吗?

要检查PDF文件中包含了,或者使用了什么字体,你可以使用命令行工具:pdffonts,它是一个PDF字体分析工具。pdffonts是Poppler PDF工具集包中的一个部分。

安装PDF工具集到Linux

要安装Poppler到Debian,Ubuntu或Linux Mint:

$ sudo apt-get install poppler-utils

要安装PDF工具集到Fedora,CentOS或RHEL:

$ sudo yum install poppler-utils

检查PDF字体

pdffonts可以列出PDF文档中使用的所有字体。pdffonts的基本用法如下。

$ pdffonts doc.pdf

pdffonts工具显示了各个已使用的字体的各种信息,如字体名称/类型,或者字体是否内嵌等等。

如果一个PDF文档有多页,你可以使用“-f”(首页)和“-l”(末页)选项来限制字体扫描页面范围。例如,如果你想要找出某个文档中的5-10页中使用了哪种字体,运行该命令:

$ pdffonts -f 5 -l 10 doc.pdf 

via: http://ask.xmodulo.com/check-which-fonts-are-used-pdf-document.html

译者:GOLinux 校对:wxy

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

接下来的教程将指导所有 Linux 用户怎么简单的将漂亮的字体添加到自己的操作系统。我们已经为 Debian、Arch Linux、openSUSE、Slackware 和 Fedora 发行版编写了详细的介绍。

正如许多用户所知,几乎所有基于 Linux 的操作系统主要缺点就是默认选择的字体并不令终端用户满意,尤其是那些从 Windows 或者 Mac OS X 等操作系统迁移过来的用户。

除了使用自己的一套字体的Ubuntu,从一开始就看起来就相当漂亮,其它所有 Linux 发行版都有字体丑陋的缺点。正因如此,许多用户试图创建一种新的方法来增强文字在各个发行版中渲染效果。

这就是 Infinality 项目产生的原因,其主要目的是通过添加补丁来为使用任何基于 Linux 操作系统的用户提供最好的字体渲染效果。

Infinality for Arch Linux

  1. 将infinality-bundle,infinality-bundle-multilib (用于使用64位系统的用户)和infinality-bundle-fonts仓库添加到你的 /etc/pacman.conf文件中:
[infinality-bundle]
Server = http://bohoomil.com/repo/$arch

[infinality-bundle-multilib]
Server = http://bohoomil.com/repo/multilib/$arch

[infinality-bundle-fonts]
Server = http://bohoomil.com/repo/fonts
  1. 执行 sudo pacman -Syu 命令用来刷新仓库,然后运行
sudo pacman -S infinality-bundle infinality-bundle-multilib ibfonts-meta-extended (用于64位系统) 
sudo pacman -S infinality-bundle ibfonts-meta-extended (用于32位系统)
  1. 当被询问是否替换 fontconfig 软件包的 freetype2 时,回答YES。完成后重启你的计算机。

Infinality for Fedora

  1. 在终端窗口中执行如下命令
sudo rpm -Uvh http://www.infinality.net/fedora/linux/infinality-repo-1.0-1.noarch.rpm
sudo yum install freetype-infinality fontconfig-infinality
  1. 重启你的机器。

Infinality for openSUSE

  1. 添加 Infinality 官方仓库:
http://download.opensuse.org/repositories/home:/namtrac:/subpixel/openSUSE_13.1/

打开YaST中的库选项卡,选择namtrac:subpixel仓库,并打击“切换系统包的版本到这个仓库”。

  1. 标记 namtrac:subpixel 中所有还没有安装的包来进行安装,然后从 openSUSE 官方软件仓库中安装 fontconfig-infinality 包。
  2. 在字体设置选项里将 Subpixel Hinting 选择为“使用系统设置”,或者设置为带有微调的 RGB 顺序。重启你的系统。

Infinality for Slackware

详细的安装指南:http://someslack.wordpress.com/infinality-on-slackware/

Infinality for Debian

  1. 在终端中执行下面的命令(一个一个执行,每一行之后敲击回车):
echo “deb http://ppa.launchpad.net/no1wantdthisname/ppa/ubuntu raring main” | sudo tee /etc/apt/sources.list.d/infinality.list
echo “deb-src http://ppa.launchpad.net/no1wantdthisname/ppa/ubuntu raring main” | sudo tee -a /etc/apt/sources.list.d/infinality.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E985B27B
  1. 执行以下命令来升级你的系统并安装 Infinality 包:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fontconfig-infinality
  1. 重启你的计算机。

对于任何文中没有提到的其它 Linux 发行版,请使用官方的介绍:https://github.com/Infinality/fontconfig-infinality/tree/master/infinality。跟以往一样,当你使用本教程过程中遇到任何问题都可以在下面评论,不要犹豫。


via: http://news.softpedia.com/news/How-to-Add-Beautiful-Fonts-to-Any-Linux-Distribution-434835.shtml

译者:SCUSJS 校对:Caroline

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