字符宽度是什么

字符宽度(Character Width)指从字符的最左黑网点到最右黑网点的值,一般只用于位映象字库,它指定了按网点计算的物理页面坐标系中字符的宽度。

字符宽度(Character Width)指从字符的最左黑网点到最右黑网点的值,一般只用于位映象字库,它指定了按网点计算的物理页面坐标系中字符的宽度。

字符宽度是什么

字符宽度的有效范围是从 1 到 16384 个网点。

简介字符宽度

一个字符的宽度被称做它的“设置宽度”,是用像素表示的。单个字符的宽度是随着字体的不同而不同的,有些字体中每个字符的宽度互不相同,例如:Times 字体和 Windows 中大多数的字体。也可能每个字符的宽度都是相同的,例如:Courier 字体。在它自己的度量单位制中,一种字体的设置宽度等于它的像素尺寸,但是单个字符有各自的宽度。在一个 Truetype 字体中,字符的宽度在建立字体时被包含在一宽度表中。

字间距

字符也有一个固定的间隔,叫做字间距,用来加到字符宽度上以及提供字符间的宽度。一个字符所占的位置,实际上也许会超过包含自己的字符单元,许多斜体的字符在被设置的时候,就伸展到下一个字符单元中去了。调整字间距能够提供更合适的字符间距离,它经常针对某些字符进行调整,以得到更好看的字体。例如:一个大写字母 T 和一个小写字母例如:a 或 o,通过字间距调整可以被安排得更近,把小写字母安放在 T 的翅膀之下。

如果使用现代排版设备,可以调整字体的设置宽度是,尤其是使用 TrueType 字体时。例如:可以为一个 12 像素的字体指定 10 像素的设置距离,这样字符将会被轻微的压缩。直到计算机化的排版出现后,这种情况才可能发生。当一个字符被打印到矩阵上时,字符的宽度和字间距才被决定,而且每一个从矩阵上输出的字符是大小相等的。

LOGFONT 结构的 lfWidth 成员用来指定一个逻辑单元中的字体的平均字符宽度。在大多数的实践应用中平均字符距离是一条无用的信息,当创建一个字体的时候应该把这个成员设置成 0。

等宽字体

等宽字体是指字符宽度相同的电脑字体。与此相对,字符宽度不尽相同的电脑字体称为比例字体。

在传统西文印刷中,比例字体可以提高单词的可读性。但因早期的电脑显示器、打字机,由于技术的局限,无法进行字母宽度的比例调整,因此将每个字元都制作成一样的宽度,从而形成了等宽字体。在等宽字体中,字母 i,j 显得两侧馀白较多,而字母 w,m 等的笔画显得相当拥挤。

但是随着图形用户界面主流的更新和电脑技术的提高,处理比例字体的局限性得到了突破,因此现在排版上显得比较自然的比例字体的使用已经相当普及。

东亚语言中,方块字基本上都作为等宽字体处理,如各个地区的汉字、日语假名的全形字符、韩语谚文音节等字符都是等宽的。 但是一些中文、日文字体中,由于同时涵盖西文的半形文字字符,因此也含有比例字体,造成一个字体中两种类型混杂的局面。

Windows 简体中文操作系统中,老版本的默认字体中易宋体全部是等宽字体(因此用中易宋体进行西文排版看起来很不自然),而 Windows Vista 的默认字体微软雅黑中,半角的西文部分是比例字体,全角字符是等宽字体。

由于等宽字体的特点,当今的平面设计上也有特意使用等宽字体所具有的文化特征进行创作的风格,其中最具有代表性的就是 ASCII 艺术。ASCII 艺术所使用的字符都是等宽字体,如果改用比例字体,图片往往变形而无法表达创作者本意。在网页设计中,<tt> </tt>或<pre> </pre>HTML 标记通常都是使用等宽字体。在 LaTeX 中也是使用等宽字体。

另外,代码也经常使用等宽字体。

设置字符宽度

不同软件的设置字符宽度方法有很大不同,在此举例进行说明。

Turboc

Turboc 提供了一个函数 Setusercharsize(),该函数设置图形字符的放大系数:滞用该函数以后。每个显示在屏幕上的字符都以其缺省值大小乘以 mulx/divx 为字符宽,乘以 muly/divy 为字符高,例如若想使字符宽度 2 倍于缺省值,高度比缺省值高 50%,可设置 muItx=2,divx=l;multy=3,divy=2。只有当先前调用 Bettextstyle 函数设置 char size=0。该函数设置的值才有效。

例:

#include<graphics.h>

main()

{

int driver.mode;

driver=EGA;/*设置 EGA 图形适配器*/

mode=EGAHI;/ *设置 EGA 图形模式*/

initgraph(&driver,&mode,"");/*图形系统初始化*/

seitextstyle(TRIPLEX_FONT,HORIZ_DIR,4);

SEIUSERCHARSIZE(1,3,1,1);/*确定字符宽度和高度*/

outtextxy(150,100,"ABCDEF");/*输出字符串*/

getch();

closegraph();/*关闭图形系统*/

}

Word

首先在对多个不满行的文字进行两端对齐时,我们可以使用 Word 的“调整文字宽度”功能。文字会根据设定扩大间距或自动紧缩,以达到所需要求。使用步骤如下:

1.选中要调整宽度的文字。

2.执行“格式”→“调整文字宽度”,打开“调整宽度”对话框。

3.在“新文字宽度”框中设置所需的宽度值。

注意:首次对表格中的文字操作时,只能选中单元格中文字(可按住 Ctrl 键选择不连续文本),不能选中整个单元格,否则会出现“所选区域包含对‘适应文字’范围无效的字符或对象”的提示。但一经设置,需再次调整时,就可以直接选中单元格进行操作了。

4.单击“确定”按钮。

注意:

1.需要删除所设置的宽度时,可在设置的文本上单击(其下方将出现一青绿色下划线),然后打开“调整宽度”对话框,再单击“删除”按钮。

2.仅选中单元格内文字,单击“格式”工具栏的“分散对齐”按钮,可以打开“调整宽度”对话框;选中或单击进行过调整宽度的文字,再单击“分散对齐”按钮(对于本例中的“名单”二字,则需单击两次,第一次为取消居中对齐),同样能打开“调整宽度”对话框,另外,“调整宽度”命令也会出现在快捷菜单中。

计算字符宽度

不同软件的计算字符宽度方法不尽相同,在以 Python 为例进行说明。

urwid 是一个成熟的 python 终端 UI 库,它在 curses 的基础之上包装了类似 HTML 的控件用以显示文本内容,比直接使用 curses 库方便很多,它对 unicode 的文本宽度截取非常准确,文本宽度计算方面其核心代码如下:

widths = [

(126, 1), (159, 0), (687, 1), (710, 0), (711, 1),

(727, 0), (733, 1), (879, 0), (1154, 1), (1161, 0),

(4347, 1), (4447, 2), (7467, 1), (7521, 0), (8369, 1),

(8426, 0), (9000, 1), (9002, 2), (11021, 1), (12350, 2),

(12351, 1), (12438, 2), (12442, 0), (19893, 2), (19967, 1),

(55203, 2), (63743, 1), (64106, 2), (65039, 1), (65059, 0),

(65131, 2), (65279, 1), (65376, 2), (65500, 1), (65510, 2),

(120831, 1), (262141, 2), (1114109, 1),

]

def get_width( o ):

"""Return the screen column width for unicode ordinal o."""

global widths

if o == 0xe or o == 0xf:

return 0

for num, wid in widths:

if o <= num:

return wid

return 1

如代码所示,首先根据 unicode 的官方 EastAsianWidth 文档整理出字符宽度的范围表,然后使用 unicode 代码查表即可。

(0)
时间不会说谎  的头像时间不会说谎  

相关推荐

  • win7如何重装电脑系统(新手重装系统win7)

    win7怎么重装系统,一是要先把u盘制作成能给电脑装系统的u盘,二是用这个系统u盘给老电脑装系统那么我们先把u盘制作成能装系统的u盘首先你要有一张容量在八gb以上的u盘然后把它格式化为ntfs格式然后我们搜索选择立即下载工具这个工具

    2023年10月8日
  • OpenCV是什么

    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 OpenCV 是一个…

  • win8开始菜单怎么设置和win7一样,详细步骤分享

    关键词:win8开始菜单怎么设置和win7一样Win8的开始菜单一直是备受争议的话题。相较于Win7的开始菜单,Win8的开始菜单采用了全新的设计风格,让一些用户感到不适应。但是,如果你是Win8的用户,你可以通过一些简单的设置,让Win

    2023年11月22日
  • 淘宝退货自行寄回可以退运费险吗

    可以。用户在淘宝平台退货时,采用自行寄回的方式,也是可以享受运费险保障的。不过,你需要先自己垫付运费。等商家收到货,操作退款后,运费险才会进行赔付。 可以。用户在淘宝平台退货时,采…

  • 荣耀 70 Pro怎么更新荣耀MagicOS 8.0?

    荣耀70Pro是一款备受欢迎的智能手机,搭载了荣耀自家的操作系统MagicOS,因为系统不断在更新,主要是为了可以为大家提供更加新,更加全面的功能,所以系统已经推到荣耀MagicOS8.0了,如果你想要把荣耀70Pro更新到荣耀Ma

    2024年1月19日
  • win10千万别装电脑管家,为什么电脑管家会成为你的电脑噩梦

    在现代社会中,计算机已经成为了必不可少的工具。然而,电脑中的病毒、垃圾文件等问题也随之而来。为了解决这些问题,许多人选择安装电脑管家。但是,在使用Windows10操作系统的计算机上,我们强烈建议不要安装电脑管家。本文将解释为什么电脑管家

    2023年10月27日
  • 滚筒洗衣机门打开图解,如何正确操作,避免损坏

    作为一种常见的家用电器,滚筒洗衣机已经成为了我们生活中不可或缺的一部分。而在使用滚筒洗衣机的过程中,很多人都会遇到一个问题:如何正确地打开滚筒洗衣机的门?本文将为大家提供滚筒洗衣机门打开的详细图解,以及一些注意事项,帮助大家正确地操作滚筒洗

    2023年11月17日
  • 山东德州仪器制造厂,历史沿革与产品介绍

    作为一家历史悠久的企业,山东德州仪器制造厂已经有着近百年的历史。从最初的手工制造到现在的自动化生产,德州仪器制造厂一直在不断地发展和进步。本文将为大家介绍德州仪器制造厂的历史沿革和产品介绍。一、历史沿革山东德州仪器制造厂成立于1920年

    2024年2月9日
  • 酷比魔方平板怎么样开机,详细步骤解析

    酷比魔方平板是一款备受好评的平板电脑,很多用户都对其开机方式不太了解。在本文中,我们将详细介绍酷比魔方平板的开机步骤,让您轻松掌握。一、关于酷比魔方平板酷比魔方平板是一款采用Android操作系统的平板电脑,拥有较高的性能和优秀的用户体

    2023年11月14日
  • 空气机和空调的区别,你知道吗?

    随着科技的不断发展,人们的生活质量也在不断提高,各种家电产品也越来越多,其中空气机和空调是我们生活中经常使用的两种家电产品,它们有什么区别呢?本文将为大家详细介绍空气机和空调的区别。一、定义空气机是一种用于净化室内空气的家电产品,它可以

    2023年11月17日
  • 索尼24105g镜头参数,有哪些值得关注的特点和性能表现

    本文目录一览索尼24105g镜头的参数索尼24105g镜头的性能表现如何使用索尼24105g镜头结论如果你是一位索尼相机用户,那么你一定知道索尼24105g镜头是什么。这是一款全画幅E卡口镜头,该镜头的焦距范围为24mm至105mm,

    2023年10月10日
  • 私募是什么

    私募是相对于公募而言,私募是指向小规模数量 Accredited Investor 出售股票,此方式可以免除如在美国证券交易委员会(SEC)的注册程序。投资者要签署一份投资书声明,…

  • SPSS分析回归案例,如何运用SPSS进行回归分析

    作为一种常用的统计分析工具,SPSS可以帮助研究者进行各种数据分析,其中回归分析是其中比较重要的一种。回归分析可以帮助我们理解变量之间的关系,预测未来的趋势和结果。在本文中,我们将通过一个实际案例来介绍如何运用SPSS进行回归分析。关键词

    2023年10月23日
  • 手机热键是指什么意思,如何使用手机热键提高效率

    随着智能手机的普及,我们已经离不开手机了。但是,我们是否知道手机热键的作用和如何使用它们提高我们的效率呢?在本文中,我们将深入探讨手机热键的意义以及如何使用它们来提高我们的效率。什么是手机热键?手机热键是一种快捷方式,可以让我们更快地访

    2023年10月9日
  • 怎么给新硬盘做系统盘,详细步骤教程

    作为一名电脑爱好者,我们经常会遇到需要更换硬盘的情况,有时候我们需要购买一个新的硬盘,但是新硬盘上并没有系统,这时候我们就需要给新硬盘做一个系统盘。那么,怎么给新硬盘做系统盘呢?下面就来详细介绍一下。一、准备工作在开始之前,我们需要准备

    2024年2月5日

发表回复

登录后才能评论