|
stone830209
初级用户
积分 25
发帖 9
注册 2006-4-1
状态 离线
|
『楼 主』:
dos字体问题
我在做程序的图形界面的时候,要用到许多不同的字体,这些字体windows都有,比如仿宋,新魏,等等,我想问问大家dos下运行的程序(16位,32位的都行),有没有方便些的字体解决方案,实现windows字体的显示。谢谢
|
|
2006-9-20 05:13 |
|
|
stone830209
初级用户
积分 25
发帖 9
注册 2006-4-1
状态 离线
|
『第
2 楼』:
希望看到本贴的朋友能帮顶一下,如果觉得这个问题很幼稚,那也请您在百忙之中,点拨一二,也许您的几句话就帮了我很大的忙。谢谢了
|
|
2006-9-20 07:37 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
3 楼』:
请到汉化版找“本是”在VGA文本汉字显示的贴子里提供过!
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2006-9-20 12:09 |
|
|
JonePeng
金牌会员
D◎$ Fαп
积分 4562
发帖 1883
注册 2004-1-19 来自 广东广州
状态 离线
|
『第
4 楼』:
DOS下的16*16点阵中文字只有默认的宋体字最好看
|
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
|
|
2006-9-22 11:06 |
|
|
stone830209
初级用户
积分 25
发帖 9
注册 2006-4-1
状态 离线
|
『第
5 楼』:
首先非常感谢两位高手的回答,不过我想知道的是一些原理性的东西,或者一个具体的方案,比如我现在正着手的一个方案是,像vb的picturebox控件中用我想要的windows字体写入所有ascII码字符,然后逐个扫描,生成该字体的所有ascII字模。其实总结一下,我的问题就是,希望大家给提供一些,生成字模的方案,或者你曾经实现的思路。谢谢
|
|
2006-9-22 20:56 |
|
|
stone830209
初级用户
积分 25
发帖 9
注册 2006-4-1
状态 离线
|
『第
6 楼』:
对了顺便说一下,我用picturebox控件生成字模的时候,有个地方感觉很别扭,就是字体大小的问题,由于要逐个扫描picturebox中的字符,所以关键的一点是要知道该种字体字符占多少像素,比如16*16或32*32,但是windows字体大小的单位都是磅,所以我的办法是,扫描一个字符,然后测出它的长宽边界,用这个边界做为以后显示和扫描的字体长宽像素值,我总感觉这种办法挺别扭的,希望大家也给指点一下。
|
|
2006-9-22 21:15 |
|
|
zyl910
中级用户
积分 282
发帖 126
注册 2006-5-17
状态 离线
|
『第
7 楼』:
1 缇 = 1/1440 英寸
1 磅 = 1/72 英寸 = 20 缇
但将这些单位化为像素就比较复杂了:
水平方向1英寸= GetDeviceCaps(hDC, LOGPIXELSX) 像素
垂直方向1英寸= GetDeviceCaps(hDC, LOGPIXELSY) 像素
GetDeviceCaps是一个GDI API,用于得到DC的属性
hDC是你绘图所用的DC,如: Picture1.hDC
所以字体高度一般是这样计算的:
lfHeight = PointSize * GetDeviceCaps(hDC, LOGPIXELSY) / 72
由于Screen对象的TwipsPerPixelX、TwipsPerPixelY属性可以得知一像素是多少缇,所以可以这样计算:
lfHeight = PointSize * 20 / Screen.TwipsPerPixelY
|
人类存在的目的就是试图理解人类为何存在 |
|
2006-9-22 21:52 |
|
|
zyl910
中级用户
积分 282
发帖 126
注册 2006-5-17
状态 离线
|
『第
8 楼』:
文本排版是很复杂的
用GetTextMetrics可以取得当前字体的排版信息,GetOutlineTextMetrics可以进一步得到TTF字体的排版信息
GetCharABCWidths、GetCharABCWidthsFloat可以的到字体的左右悬挂属性,用于非等宽字体或斜体状态,可以使一个一个字符的某一部分位于另一个字符的单元格内,如: fffffff
用GetTextExtentPoint32计算一字符串在该DC绘制后所占的尺寸
|
人类存在的目的就是试图理解人类为何存在 |
|
2006-9-22 22:05 |
|
|
stone830209
初级用户
积分 25
发帖 9
注册 2006-4-1
状态 离线
|
『第
9 楼』:
非常感谢,恕我愚钝,没看太懂,我再研究研究你的帖啊 ,谢谢啊
|
|
2006-9-25 07:12 |
|
|
pcwawa
初级用户
积分 118
发帖 10
注册 2004-6-15
状态 离线
|
『第
10 楼』:
自己做个专用的字库和写字函数,或者自己设计CHR字体。
偶有一个制作CHR字库的软件,可制中文的CHR字库,不过每个文件最多只能放255个汉字。
|
|
2006-11-1 10:32 |
|
|
pcwawa
初级用户
积分 118
发帖 10
注册 2004-6-15
状态 离线
|
『第
11 楼』:
如果你自己做字库,请先决定做等宽的字体还是做变宽的,实现起来大不相同啊。
|
|
2006-11-1 10:34 |
|
|
pcwawa
初级用户
积分 118
发帖 10
注册 2004-6-15
状态 离线
|
『第
12 楼』:
回复完了才发现是stone,呵呵
|
|
2006-11-1 10:34 |
|