找回密码
 注册
搜索
查看: 1039|回复: 4

[讨论] FontRes.c各个数组详解

[复制链接]
发表于 2007-12-28 10:42:52 | 显示全部楼层 |阅读模式
<P>const RangeDetails STMing_16_r_RangeInfo={
3913, //nNoOfRanges ------------------偏移量的范围

STMing_16_r_RangeData //RangeData ----------数组里面包含字符的起始位置
};
sCustFontData Pluto_ch = {
16, //字符高度
16, //字符宽度
1, //字符之间的间距
32, //每个字符占据的宽度
500,//最大字符数是做什么用?

(U8*)NULL, //数组宽度为什么位空?
(U32*)NULL, //数组偏移为什么位空?
(U8*)STMing_16_r_Data, //该数组大小为522752,里面是字符的数据
(U32*)STMing_16_r_RangeOffset,//数组大小为3913,pRange为字符的偏移量
{字体},//这个是字符的类型
&amp;STMing_16_r_RangeInfo//这个包含个数3913,和//RangeData数组里面包含字符的起始位置

};
</P>

<P>个人理解,错误之处请指正!</P>
<P>非常感谢!!!</P>
[此贴子已经被作者于2007-12-28 15:53:31编辑过]
发表于 2007-12-29 11:33:33 | 显示全部楼层
给你点提示吧,
去看源码:PixcomFontEngine.c
点评回复

使用道具 举报

 楼主| 发表于 2007-12-29 18:10:11 | 显示全部楼层
早都从这个文件中逛了一圈了
点评回复

使用道具 举报

 楼主| 发表于 2007-12-29 18:14:39 | 显示全部楼层
不过收获不大
只知道大概
没有彻底的搞明白为什么这样做
nIndexInList         = index+(NumChar*(Ch-nBase));
这个应该就是当前字符的索引,但是
index就是这个字符的偏移,NumChar是字符的字节,Ch是 字符的Ascii码,nBase是当前字符的起始位置【字库中】。

但是
nIndexInList         = index+(NumChar*(Ch-nBase));
为什么这么算??
点评回复

使用道具 举报

发表于 2007-12-30 18:35:30 | 显示全部楼层
希望高手做一些系统的,清晰的讲解.
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-26 00:25 , Processed in 0.050429 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表