`
isiqi
  • 浏览: 16488270 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

[转] Linux 下字体显示原理的一个较详细的解释

阅读更多

原文地址:http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=chinese&Number=405450&page=0&view=collapsed&sb=5&o=all&fpart

X Window是所谓client-server结构,这里的server管显示(输出)、键盘和
鼠标(输入)部分,而client则是你正在用的程序,比如编辑器。Server收集
键盘和鼠标的输入,送到编辑器这一client,编辑器经过处理后,回过来再让
server去显示一些字到屏幕上,来回折腾。

怎样显示一个字呢?

一个字实际上就是一个小图,如果小图上的点非黑即白,就称为黑白点阵;
如果小图上的点可以有不同的亮度甚至颜色,则称为AA点阵。每个字,也就
是每个小图都有固定的编号,编辑器(client)可以只告诉server某个编号,
server根据该编号去找出对应的小图,这种方案就是所谓的server side
font,如FreeType,X-TrueType等backend就属此类;如果编辑器自己去找小
图,干脆把小图送给server去显示,这种方案就是所谓client side font,
Xft属这一类。
  server side font
    FreeType backend: 即XF86Config中的freetype模块
    X-TrueType backend: 即XF86Config中的xtt模块
  client side font
    Xft: 设置文件是fonts.conf

还有一类,xfs,跟server side font一样,client把字编码传给server,但
server并不直接从字库中读出对应该编码的小图,而是把编码再传给另外
的所谓font server,由font server去字库找出对应的图,返回给X server
去显示,姑且将这种方式称为font server font:
  font server font
    xfs: 设置文件是X11/fs/config

不管是哪一类,最终都要去字库文件读出对应编码的小图,至少对TrueType
格式的字库文件而言,xtt也好,freetype也好,Xft也好,几乎都用到了
FreeType这一字库engine,虽然xtt没人继续改进,还是用FreeType 1,别人
都改用FreeType 2了。正因为大家都用FreeType字库engine,使得xtt,
freetype,Xft这些名字容易弄混,让人头大。解决的办法很简单:不要再去
管什么xtt,不要再去管什么freetype,不要再去管什么xfs:
  只要弄清Xft就够了。

X字库设置必读: Juliusz Chroboczek的Fonts in XFree86
  http://www.xfree86.org/~dawes/4.3.0/fonts.html
分享到:
评论

相关推荐

    LinuxGTK字体美化原理.doc

    美化汉化是指让 Linux 操作系统正确显示中文字体,并且让字体显示更加美观的过程。美化汉化包括两个方面:汉化和美化。汉化是指让应用程序正确显示中文字体,而美化是指让字体显示更加美观。 实现汉化美化的步骤 ...

    Linux字体技术原理

    ### Linux 字体技术原理 #### 一、X的字体引擎概览 在深入探讨之前,我们首先了解一下Linux系统中X窗口系统(X Window System)如何处理字体。X窗口系统是Unix及类Unix操作系统中用于图形用户界面的标准。为了提供...

    linux中文字体安装

    首先,我们需要了解Linux字体的工作原理。在Linux中,字体通常存储在`/usr/share/fonts`目录下,或者在用户的`~/.local/share/fonts`目录中。这些字体文件以`.ttf`(TrueType字体)或`.otf`(OpenType字体)格式存在...

    linux 字体转换程序 ttf2pt1

    Linux字体转换程序ttf2pt1是一个开源工具,专门用于将TrueType字体(.ttf)转换为PostScript Type 1字体(.pfb或.pfa格式)。在Linux环境中,这个工具对于那些需要在PostScript打印机上使用TrueType字体或者在不支持...

    pdf转svg的实用程序(Linux)

    本文将详细介绍一个基于Linux系统的PDF转SVG实用程序,以及它的工作原理。 标题中的“pdf转svg的实用程序(Linux)”指的是一个能够在Linux操作系统上运行的命令行工具,它能够将PDF文件转换为SVG格式。这个程序...

    linux环境中文字体安装资源

    首先,我们需要了解Linux字体的工作原理。在Linux系统中,字体通常是以TrueType(.ttf)或OpenType(.otf)格式存在的文件,它们存储在系统的特定字体目录下,例如 `/usr/share/fonts` 或者用户的个人字体目录 `~/....

    linux安装中文字体教程.zip

    首先,我们需要了解Linux字体的工作原理。在Linux中,字体通常存储在`~/.local/share/fonts`或`/usr/share/fonts`这两个目录下。系统会自动扫描这些目录,加载其中的字体文件。中文字体文件多为TrueType(`.ttf`)或...

    把windows下的字体安装到Linux系统下的方法介绍

    在Linux系统中,尤其是Fedora、Ubuntu和CentOS等发行版,可能会遇到字体不全或者显示效果不佳的问题,尤其是在处理中文字符时,可能会出现...通过这种方式,用户可以根据个人喜好自定义Linux的字体显示,提高使用体验。

    LINUX平台下实现DCS画面的显示.pdf

    然而,Linux默认提供的字体可能无法满足DCS画面的显示需求,此时可能需要从DCS操作站的系统中复制字体文件(如SYS$COMMON:SYSFONTS目录下的字体)到Linux系统,以确保画面的正确显示。 此外,可能还需要安装和配置...

    Linux 5中文显示乱码

    在Linux系统中,中文显示乱码是一个常见的问题,特别是在旧版本如Linux 5中更为突出。这通常是由于字符编码设置不正确或者缺少支持中文字符集的字体导致的。要解决这个问题,我们需要理解字符编码的基本原理,并掌握...

    从Windows转向Linux教程E3000基础学习.pdf

    ### 从Windows转向Linux...以上内容覆盖了从Windows转向Linux的过程中所需要掌握的基本知识点,不仅包括了操作系统本身的使用,还涉及到了软件安装、网络配置、编程开发等多个方面,为初学者提供了一个全面的学习指南。

    Ubuntu下面 WPS字体缺失

    本文将详细解释如何解决Ubuntu下WPS字体缺失的问题。 首先,我们需要了解为什么会出现字体缺失的现象。这主要是因为WPS Office在Linux上可能无法识别或访问到系统中所有的字体。Ubuntu系统中的字体通常存放在`/usr/...

    中文字体显示文件,解决matplotlib的plot中文不显示 SimHei.tff

    本文将详细介绍如何利用`SimHei.ttf`来解决这个问题,并深入探讨matplotlib的字体设置以及与Python中文显示相关的知识点。 首先,我们需要了解matplotlib的工作原理。matplotlib是一个强大的绘图库,它可以生成线图...

    LINUX下显示汉字的C程序

    - **ASCII半角点阵字库**:特指用于显示ASCII码范围内的字符,且每个字符占用较少空间(半角)的点阵字库。 #### 使用场景 - 在嵌入式设备上显示文本菜单、提示信息等。 ### 2. ARM平台下的LCD汉字显示实现 #### ...

    字体显示乱码设置.txt

    本次分享的文档《字体显示乱码设置.txt》主要针对如何解决Java环境下出现的字体乱码问题进行了指导。 #### 解决方案概览 文档中提供了两条具体的命令,用于解决Java应用程序中的字体乱码问题。这些命令通过软链接...

    如何改造 Linux 虚拟终端显示文字.docx

    虚拟终端作为 Linux 系统中一个重要的组成部分,在不使用图形界面时尤为关键。然而,默认情况下,Linux 的 VT 只能处理 ASCII 字符集,这导致了诸如中文这样的复杂文字在 VT 上显示困难的问题。本文将详细介绍 VT 的...

    linux fb-test-帧缓冲 两个例子(完整源代码)

    这个程序会在屏幕上显示一行文字,需要用到字符编码和字体映射。关键点包括: 1. 准备字体:将字体文件转换为适合帧缓冲的位图格式,每个字符占据一定大小的矩形区域。 2. 计算坐标:根据字符大小和屏幕分辨率,...

    TFT液晶彩色图像显示方法-点阵LCD驱动显控原理

    综上所述,《TFT液晶彩色图像显示方法-点阵LCD驱动显控原理》一书不仅提供了TFT液晶模块的基础驱动原理,还深入探讨了如何实现更为复杂的图像显示功能。无论是对于初学者还是经验丰富的开发者来说,这本书都是一个...

    font dev 字体库测试

    "font dev 字体库测试"这个标题表明我们正在讨论一个与字体库开发相关的项目,可能是一个用于测试不同字体显示效果的工具或者程序。下面我们将详细探讨字体库测试及其相关知识点。 1. **字体库**:字体库是一组字符...

Global site tag (gtag.js) - Google Analytics