加载中…
正文 字体大小:

字体大小单位有很多,如何进行换算?

(2010-01-09 21:52:00)
标签:

杂谈

分类: 电脑工具技巧

字体大小单位有很多,如何进行换算?

單位
 
緹(twip)
點(point)
英寸(inch)
像素(pixel)
釐米(公分)(cm)
毫米(mm)
 
"像素"(Pixel) 是由 Picture 和 Element這兩個字母所組成的,是用來計算數碼影像的一種單位,如同攝影的相片一樣,數碼影像也具有連續性的濃淡階調,我們若把影像放大數倍,會發現這些連續色調其實是由許多色彩相近的小方點所組成,這些小方點就是構成影像的最小單位元"像素"(Pixel)。
 
Unit of measurement, One TWentIeth of a Point, ie 1/20 of a printer's point. There are thus 1,440 Twips to an inch or about 567 Twips to a centimetre. This unit of measurement seems only to have seen use in Billyware formats and products- notably Rich Text Format, Visual Basic, and Visual C++.


 

換算
1 twip=1/20 point
1 twip=1/1440 inch
1 inch=2.54 cm
1 cm=567 twips (約)
當解析度(resolution)為96dpi時,1 twip=1440/96=15 pixel

 

px:相对长度单位,像素(Pixel)。
pt:绝对长度单位,点(Point)。
1 inch = 2.54cm = 25.4 mm = 72pt

1 pt = 1/72 inch, = 0.3527 mm

 

像素与毫米的转换
转换还需要知道另一个参数:DPI(每英寸多少点)
象素数 / DPI = 英寸数
英寸数 * 25.4 = 毫米数
对于显示设备,不管是打印机还是屏幕,都有一种通用的方法
先用GetDeviceCaps(设备句柄,LOGPIXELSX)
或者
GetDeviceCaps(设备句柄,LOGPIXELSY)获得设备每英寸的像素数
分别记为:px 和 py
一英寸等于25.4mm
那么毫米换算成像素的公式为 
水平方向的换算: x * px /25.4
垂直方向的换算: y * py /25.4
像素换算为毫米: x * 25.4 / px
在程序中这么写
MyControl.Height := 10{mm} * PixelsPerInch * 10 div 254;
分子和分母同乘以10,将浮点数运算转化为整数运算,效率更高

常用的1024x768或800x600等标准的分辨率计算出来的dpi是一个常数:96,因此计算出来的毫米与像素的关系也约等于一个常数:
基本上 1毫米 约等于 3.78像素

 

 

  • 字的号数制

汉字大小定为七个等级,按一、二、三、四、五、六、七排列,在字号等级之间又增加一些字号,并取名为小几号字,如小四号、小五号等。号数越高, 字越小。号数制的特点是用起来简单、方便,使用时指定字号即可,无需关心字形的实际尺寸,缺点是字大小受号的限制,有时不够用,大字无法用号数来表达;号数不能直接表达字形的实际尺寸;字号之间没有统一的倍数关系,折算起来不方便。尽管如此,号数制仍是目前中文表示字形规格最广泛的方法。

需要注意的是,传统标准铅字的字号大小与一般字处理软件实际输出的文字尺寸往往有一些误差,这是由于字的变倍计算处理造成的。

  • 字的点数制

点数制。是国际上通行的印刷字形的一种计量方法。这里的“点”不是计算机字形的点阵,“点”是传统计量字大小的单位,是从英文Point的译音来的,一般用小写p表示,俗称“磅”。也有人将此称为级。其换算关系通常为:

1p0.35146mm≈0.35mm 1英寸=72p

但是却不是总是如上面的公式,点数制其实又分法国点制和美国点制:

  • 要说清它我们得从印刷术 谈起。 1737年法国铸字者 Fouroier 以铅字为尺度标准建立了一种点制,后来在它的基础上又发展出了现在广为应用的点制标准。

    法国铸字者 Didot1770年用当时法国皇家尺为标准,称1尺为12法寸,1法寸为72点,他还将12点定为1 CiceroCicero 是古代罗马的一位律师的名字。现在欧洲大陆多采用 Didot 点制,换算关系如下:

    1 p = 0.3759mm = 1/72 Royal French inch = 0.0148(1/68inch) = 1.0695pt

    1 cic = 12 p

    (注意这里的0.3759mm >0.35146mm

  • 英美两国落后于法国100余年后才采用点数制,成为 ATA 点制(也叫 Anglo-Saxon 点制),换算关系如下:

    1 pt = 0.3514598035 mm = 1/72.27 inch = 0.9350 p

    1 pica = 12 pt

    你可以发现,说英语的国家用的点比欧洲大陆的小,大约每18个点就差了1点,这样对于某些为英美国家开发的软件到了其他国家时就可能出些麻烦。为了解决两种体系的冲突,一种办法是大家都采用公制的长度标准,但是似乎只有日本和德国等一些欧洲国家在部分的采用。

    (注意看看最初的定义,其实指的就是这个美式的点制。)

事情还不是这么简单,在不同的程序中1点代表的距离也会有微小的差别,比如在 Postscript 使用的是 big pointbp)。

   1 pt (TeX)        = 0.3514598035 mm = 1/72.27 inch
       1 bp (Postscript) = 0.3527777778 mm = 1/72    inch

关于点数制更多内容:

http://en.wikipedia.org/wiki/Font_size

http://www.sizes.com/tools/type.htm

http://www.artlebedev.com/mandership/81/

汉字大小的标准,称为字号,前文也说过,看看字号和点制之间的转换关系。在wiki的对照表中发现中文 Microsoft Word 中用的竟然是 Didot 点(法式点制),很奇怪,如果再换算成 TeX 使用的点(美式点制度),结果如下:

初号:42   p = 44.9 pt
小初:36   p = 38.5 pt
一号:26   p = 27.8 pt
小一:24   p = 25.7 pt
二号:22   p = 23.5 pt
小二:18   p = 19.3 pt
三号:16   p = 17.1 pt
小三:15   p = 16.0 pt
四号:14   p = 15.0 pt
小四:12   p = 12.8 pt
五号:10.5 p = 11.2 pt
小五:9    p = 9.6  pt
六号:7.5  p = 8.0  pt
小六:6.5  p = 7.0  pt
七号:5.5  p = 5.9  pt
八号:5    p = 5.3  pt

专业排版字号、磅数与实际尺寸对照表

印刷文字有大、小的不同变化,排版及图象处理软件中汉字字体大小的计量,目前主要采用印刷业专用的号数制和点数制。其尺寸规格以正方形的汉字为准(对于长或扁的变形字,则要用字的双向尺寸参数。)

号数制:汉字大小定为七个号数等级——按1号、2号、3号、4号、5号、6号、7号由大至小排列。在字号等级之间又增加一些字号,并取名为“小几号字”,如“小4号”、“小5号”等等。

号数制的特点是用起来简单、方便,使用时指定字号即可,无需关心字体的实际尺寸;缺点是字体的大小受号的限制,有时不够用,大字无法用号数来表达,号数不能直接表达字体的实际尺寸,字号之间没有统一的倍数关系,折算起来不方便。尽管如此,号数制仍是目前表示字体规格最基本的方法。(需要注意的是,传统标准铅字的字号大小与一般字处理软件实际输出的文字尺寸会有一些误差,这是由于字的变倍计算处理造成的。)

点数制:是目前国际上最通行的印刷字体的计量方法。这里的“点”不是计算机字形的“点阵”的意思,“点”是国际上计量字体大小的基本单位,从英文“Point”译音而来,一般用小写“p”来表示,俗称“磅”。

1磅≈0.35毫米

1英寸=72磅

目前排版中,点数制与号数制并存使用,互为补充,两者相互之间对应的折算关系详见下图。


=======

在字处理中,点数制与号数制并存使用,互为补充,两者相互之间有对应的折算关系,可以通过查表得到。由于计算机处理汉字时,字大小可以灵活地无级变化,且对于一些大字,号数制有限的号数也无法计量,所以计量单位比较小的点数制更适合字处理系统对字形的计量。



计算实例讲解

通过以上的这些讲解,读者应该已经知道了字体大小的一些概念和内容,下面我们来看几个实际的例子,看完之后相信你应该明白字体的大小的一些转化关系。

Firefox为例,无论在哪个操作系统中,Firefox 浏览器默认的 Dpi都是 96,所以对firefox来书,9pt的字,大小等于12px字。

9pt = 9 * 1/72 * 96 = 12px

假如Dpi128,那么9pt的字,实际大小为:

9pt = 9 * 1/72 * 128 = 16px

这说明Dpi越大,字的包含的像素号越大。

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有