1.数字电视机顶盒中的字模字模中间件中用的是什么样的矢量字库?
2.什么是文件格式
3.正点原子FPGA连载第九章基于OV5640的字符叠加实验--领航者ZYNQ之HLS 开发指南
4.UEFI开发探索15 – 图形模式下文字显示
数字电视机顶盒中的中间件中用的是什么样的矢量字库?
摘要:介绍嵌入式数字卫星接收机的字符显示原理。提出一种提取Windows矢量字库信息以及将其转换为点阵字库格式的提取提方法。给出主要模块的软件软件流程图和VC程序实现。在DVB-S接收机顶盒系统中的源码源码应用验证了该方法的有效性。
关键词:矢量字库 机顶盒 字符转换
引言
在当前嵌入式系统设计中,下载广泛涉及到字符和图标的字模字模redis6源码解析显示。过去的提取提方法通常是使用硬件自带字库或者转换中文操作系统(例如UCDOS)的点阵字库,但随着嵌入式开发技术的软件软件发展,人们对用户界的源码源码要求也越来截止高,大小固定、下载字体有限、字模字模使用不便的提取提点阵字库已经难再满足要求。于是软件软件众多开发人员将目光投向了Windows操作系统丰富的字库和图标资源,以Widnows 系统为例,源码源码其OpenType矢量字库有基于Unicode内码的下载四万多个字符,特殊符号以及近百种字体可以选用。但是Windows系统结构复杂,难以直接提取矢量字库,并且矢量字库解析算法涉及到Micorosoft和Adobe公司OpenType字体专利,这些问题为Windows字库的使用带来了很大的困难。
在笔者参与的DVB-S数字卫星接收机顶盒用户界面的设计工作中,也遇到了同样的问题。按照设计要求,需要用到一套完备的,支持包括俄、德、拉丁、阿拉伯等多种语言和特殊符号的小型字库,但是难以找到合适的现成字库,在参考了一些商业字模提取软件的功能后,提出了一种提取Windows矢量字符以及图标资源的方法,并用Visual C++6.0程序实现。实际应用表明,用本方法生成的字库字形美观,字体多样,完全可以替代商业字库,同时还具有使用方便,便于扩展等优点。
1 机顶盒图文显示原理
机顶盒中文字和位图的显示是通过OSD(图文屏显技术)模块完成的。传统的屏显示OSD主要应用在VCR、LD和电视机上,采用专用的芯片修改屏幕上指定部位的信号的角度和亮度,实现模拟视频的同步改变,从而达到显示的目的。含有OSD的视频输出信号在屏幕上从底向上以6个层次显示:边界颜色、静止视频图像、活动视频图像、OSD背窗口、OSD位图区域和OSD硬件游标。本文介绍的机顶盒系统是基于ST公司的方案,接收机软件是ST公司为其数字卫星接收机硬件评估板配套提供的。其主芯片采用Sti微控制器,内部集成OSD处理单元。OSD功能模块框图如图1所示。
OSD功能模块位于NTSC/PAL/SECAM编码之前,包括一张颜色查找表(LUTs)、Alpha混合滤波器和控制逻辑单元,所有子功能先于将信息从重建缓冲区传到SDRAM或与其它静态图像混合前执行。
当要输出图文信息时,将字符图标的位图信息送至OSD位图区域的相应位置。OSD位图区域由其头部定义,每个OSD头主要包括OSD显示短形区域的起始位置、大小及两个分别指向顶场和底场图像数据的指针(这是针对隔行扫描显示方式;对于逐行扫描,这两个指针向同一块内存区域),还有一个指向下一个OSD位图数据头的指针。由于采用了这种基于指针的OSD数据管理结构,理论上OSD位图数据块的数目不受限制,实际上它要受到内存大小的限制。头部不仅定义了位图区域的赢口红小程序源码尺寸、位置以及及颜色信息,而且提供了颜色表更新等功能。字符的颜色设置使用OSD处理单元(LUT)的颜色查找表,也称做调色板。2位的LUT意味着有4种颜色可以选择,并且位图中的每个像素仅占有存储单元的2位。如果是透明文字,还要把第一个像素的调色板颜色值定为透明色掩码值,这个过程由Alpha混合处理完成。如果输出像素不在OSD区域,停止处理视频接口处理器数据;如果输出像素在OSD区域,OSD数据或OSD和视频接口处理数据的混合数据经Alpha混合滤波处理后以位YC(Cb,Cr)格式传输。对于调色板颜色值是透明的情况,则直接传送视频数据而略过OSD位图数据。
OSD的软件部分可以分为两部分:硬件抽象层和图形函数接口。OSD模块软件部分为整个系统软件部分提供一系列的图形函数接口,是实现图文显示的基础,也是给用户提供一个方便直观的图形文字交互方式的保障。本文中硬件抽象层为ST公司提供的STAPI函数库,图形函数接口在中间件的基础上自行开发。
由此可见,在机顶盒系统中字符输出有三个主要步骤:①系统专用字库的建立;②字符数据的查找;③调用OSD模块功能将字符在屏幕上输出。下面介绍如何通过转换Windows矢量字符,建立一套功能完善,使用方便的字库系统。
2 提取矢量字符
Winodws矢量字库存储汉字的矢量图形。因为存储的是笔样条,对于字符做旋转、缩放、甚至三维拉伸都不会产生失真,但在字符显示的时候需要计算样条曲线而增加了计算量。由于嵌入式系统只是针对专一控制应用的系统,处理器的性能和资源还不如PC机,一般使用的仍然是点阵字库。本文介绍的DVB-S机顶盒系统同样没有直接使用矢量字库;而是通过提取Windows中矢量字库的方法将矢量字符转换成相应的点阵信息。在本开发方案中,字库文件中所有汉字的字模信息和图标信息被存储到两个大的数组中,并作为一个头文件包含在汉字显示模块中。利用计算出的偏移值得到字模数组中的下标,从而得到汉字存放在数组中的字模点阵信息。使用程序存储器空间做字库,这在汉字用量不大的情况下是一种较完美的解决方案。本系统中负责屏显功能的API函烽是STOSD函数库,里面已把位图的宽度定义为像素的整数倍。这是由于系统的内存操作函数只能对字节整数倍的块进行拷贝操作,否则内存只能一个字节一个字节地填充,速度非常慢。例如在色的调色板情况下,无论是×点阵还是×点阵,基于字符单元宽度统一为像素。一个宽为像素,高为像素的基本字符点阵信息需要一个大小为字节的整型数组为记录。以开发方案为例,大小为字符的×点阵小型字库将需要 字节的ROM空间。
转换的关键是要获得矢量字库的点阵信息。程序中,回避了较困难的直接解板矢量字库问题,巧妙地从PC显示缓冲区中获得位映像数据,再将其转换成OSD模块函数支持的点阵格式。位图法转换矢量字符的算法如下。
①把汉字以位图的形式显示在指定的×的点阵区域内,然后按行提取像素点,每1行以8个像素点为1个字节(1行4个字节),以二进制补码的形式分别存放在4个字节里。最低字节存放每一点阵行的前8位。每一行结束后将其转化为十六进制点阵码并保存于一个整型数组中。
②整个字符转换结束后放在字库信息文件里,生成一个字符区域地址映射表,影视小程序源码下载为后面的字符分组查找提供方便。同时生成字符宽度、高度、字体、风格以及代码页等相关信息。
西文“特殊”字符(拉丁字符集里的第~字符,码值大于0x)的转换是提取矢量字符过程中需要注意的问题。通过VC 6.0开发环境可以把执行文件编译成Unicode和ASCII两片版本。对于Unicode内码版本的应用程序,Windows 对其字符的显示有着很好的支持,但对于ASCII版本的应用程序则存在一定问题。当在应征程序中输入字符时,因编辑框只支持单字节,系统会将双字节的Unicode输入字符重新解释,造成的后果是程序无法正确接收这些字符,输出的特殊字符也一律被显示为“?”。本文的矢量字库提取程序为了和Win9x操作系统兼容而被设计为ASCII版本。为了解决上述问题,程序沿用了代码页的方法。代码页是一个内部表,操作系统将字符、数字和标点等符号映射为字符编号,不同的代码而支持不同国家所使用的字符集。代码页通过编号引用,例如,代码页代表日 本字符集,代表繁体中文字符集。由代码页确定字符集,首先把需要转换的特殊矢量字符编辑后以RTF富文本格式的文本保存,矢量字符提取程序打开RTF文件并插入文本到视图中,读取每个特殊字符的值并转换成十六进制。然后读取RTF文件内的代码页编号和字体,尺寸和风格等标签。根据代码页确定对应的字符集,根据标签设置显示字符属性。最后按一般字符的输出方法将特殊字符显示在视图中。
3 程序实现
3.1 功能设计和界面设计
主程序为MFC生成的SDI单文档程序。视图类由CscrollView派生,显示的字符和位图可以自由地放大和缩小,当字符超过窗口大小时视图自动滚动,以满足提取不同大小库点阵的需要,用一个RichEditBox控件来接收输入字符。添加静态控件,显示字符点阵的宽、高等信息。在菜单栏分别添加插入位图、插入图标、插入特殊字符、字体设置、字体放大和字体缩小等菜单项。
程序的界面如图2所示。图中程序正在提取阿拉伯矢量字符集,使用该程序时直接在该工具的图形操作界面下输入需要提取的字符或者插入位图和图标。待调整好全部所需的字符图标后点击保存,程序自动转换矢量字符和图形并生成存入文件。实现的功能有:①能在视图显示RichEditBox控件内输入英文、汉字等矢量字符,并通过图形设备上下文CDC读取视图的点阵信息;②能读取所有插入RTF文本内的特殊字体点阵信息;③能读取插入的位图和图标点阵信息;④能将点阵信息保存在font.h文件中,并添加字库索引表和字符宽、高、字体等信息。
3.2 主要类和模块
CfontView为CscrollView派生类,负责字符和图标的缩放显示,CfontModule类封装了字符串操作函数,CtextSetDlg类负责字符属性的设定。程序中点阵信息的数据、位图和图标的数据和字符串数据分别封装在类CdotMatrix、CimageElemnt和CwordElement中。菠菜单页宣传源码在主要的模块函数里,Create_Text_Dot_Matrix和Create_Bmp_Dot_Matrix函数是本程序的核心函数。功能是在内存中形式位映射数据,完成矢量汉字或矢量图形向点阵数据的转换。设向量图型尺寸宽width像素,高height像素,程序流程如下:
①计算该位图对应的缓冲区尺寸。每行长度为:BytePerLine=(width+1)/8,缓冲区大小为Buffersize=BytePerLine*height。
②申请内存缓冲区。如果内存不足以容纳整 个图形,则可以分段处理。
BufferPtr=(unsigned char*)malloc(BufferSize)。
③计算坐标点在所申请内存缓冲区的偏移量和屏蔽位。设原点(0,0)在内存中的偏移量为0,则图中任意一点P(x,y)相对于原点(0,0)的偏移量为
offset=y*BytePerLine+x/8,该点对应的字节内屏蔽位为mask=0x>>(X%8)。
④读取点P(x,y)在内存中对应的颜色值value,读取所在的字节。
byte=(unsigned char)*(Bufferptr+offset),取该点对应的位,
value=byte & mask最后得到点阵信息,输出到屏幕或磁盘文件。
3.3 主程序流程
主程序流程图如图3所示。首先进入响应用户消息分支,当从编辑框输入标准汉字或ASCII字符,程序检查字符同码判断字符有效性,若满足条件则跳至显示部分;当用户从外部磁盘插入图标或位图,程序直接读入文件数据;如果插入的是特殊字符则进入RTF格式文本解析部分,得到特殊字符的代码页、字体、大小等信息。然后将字符图标信息在视图中显示,此时可通过图形界面调整字符外观。通过获得内存中图像信息形成位映射数据,计算点阵数据。最后将字库点阵和索引表、字体、大小等附加信息按头文件格式保存到字库文件中。程序源代码见网www.dpj.com.cn。
4 结论
实际应用中,本方法可以有关键人物 地提取Windows环境下矢量字库的字模,满足嵌入式机顶盒系统的开发需要。字模提取程序具有多种功能,可以生成各种大小风格的字体、符号和图形点阵信息,从而使机顶盒能利用Windows中丰富的字体和图像资源,显示更为精彩的图形用户界面。
什么是文件格式
文件格式是指文件所采用的编码和存储方式
一般可以从文件的后缀名来区分,常用文件格式如下:
BAT DOS下的批处理文件
Autoexec.bat为自动批处理文件,它是特殊的批处理文件。
EXE可执行的程序文件,与COM内部结构不相同,最突出是长度没有限制。
COM可执行的二进制代码系统程序文件,特点非常短小精焊,长度有限制。
ASM汇编程序文件为二进制代码文件,可以打个比方,它就像BASIC中的.BAS程序文件一样,为不可执行文件。
ASC代码文件。
BAK备份文件
LIB程序库文件
CHK检查磁盘命令CHKDSK发现的目录或文件分配表中的错误,校正系统后的文件。
TMP临时文件
SYS系统配置文件,最典型的如config.sys,一般可以用EDIT进行编辑。
OBJ目标文件,方维夹娃娃源码源程序编译输出的目标代码。
OLD备份文件,一般是一些程序对系统配置修改后将原文件复制一份存储为该文件格式。
INI配置文件,不要以为这个文件只有Windows程序需要,DOS下程序也有不少需要它,如3DS与AutoCAD。
INF安装配置文件,这在WIN下使用较多。
HLP HELP帮助文件,这个文件一定要重视,因为它是你每使用一个新软件的最好的说明书,几乎%的软件都有这个文件,另外,DOS下的一些帮助放在 README以后,帮助便没有了,如UCDOS中的REAME.EXE;有单独DOS的命令,若不知道怎么使用,可以试试以下的命令格式:“DIR?或 DIR/?”。
DDI早期映象文件,由DiskDUP IMGDRIVE IMG.EXE展开
IMG这个文件要注意,有时它是一个图象文件,但更多的时候,它是映象文件,在早期光盘上,此文件使用最多,能常用HD-COPY IMG UNIMG都软件进行解压(注:IMG这个软件为什么一闪就没了呢,这个软件需要热键激活,按下Ctrl+Alt+S+D+X),如果要安装的软件压缩文件由和几个IMG分开压缩,那最好用UNIMG将它们全部解压缩,然后安装,它安装时提示你“请插入X序列盘”。
ARJ ARJ(ARJ这个以前风眯一时的压缩软件谁人不晓)软件压缩的文件,它的压缩比较高,使用也特方便顺手,只需要“ARJ a -r -v……”
RAR这也是一个压缩文件,传说比ARJ压缩比更高,笔者没有亲手做试验,故不敢下空此结论。
ZIP当前最流行的压缩文件,谁不知道ZIP呀,WINZIP,再也不是DOS下的那个UNZIG或PKZIP了,兼容,向下兼容,从游戏到软件,差不多都是它压缩的了。
IMD UCDOS中输法的编码字典文件。
PDV UCDOS中的自由表格UCTAB生成的表格文件,它生成的文件可以被WPS调用,也挺方便的。
BAS BASIC中的源程序文件,BASIC可为初学者最为熟悉的编辑语言,它的优点笔者就不在累赘了,注意QBASIC与QUICK BASIC和GW BASIC是有区别。
C C语言中的源程序文件,它不但造就了我们常常为之日夜奋战的精彩电脑游戏,还创造出UNIX操作系统,有口皆碑的好编程软件。
MAK C语言中的工程文件。
COB COBOL语言源程序文件。
PAS PASCAL语言源程序文件。
FOR FORTRAN语言源程序文件。
FOX FOXBASE伪编译程序文件,比PRG短小运行速度快。
PRG FOXBASE过程程序文件。
DBF XBASE数据库文件。
IDX FOXBASE中的索引文件。
LBL FOXBASE中的标签文件。
FRM FOXBASE中的报表格式文件。
MEM FOXBASE中的内存变量文件。
FMT FOXBASE中的屏幕格式文件。
DBT FOXBASE中的数据库文件的辅助文件。
DBC为FOXPRO中的数据库名。
PJX Visual FoxPro下的项目文件与辅助文件PJT结合成项目管理管理文件。
RTF Rich的文本文件格式。
TXT纯文本文件格式,可以利用TYPE以及EDIT或者记事本等任何字处理程序打开,对它显示编辑。
WPS文档文件,是由著名国产软(WPS)(WORD PROCESSING SYSTEM)生成。由于WPS历经沧桑,经历了WPS1.0 2.2WPSF WPSNT以及现在的WPS众多版本,但是没有像WORD一样提供转换程序,一般高版本的WPS可以读出低版本的文件,对于低版本能不能读出高版本的文件,笔者没有一一做出试验,故不敢轻易下结论,只试验过UCDOS下的WPS读不出由WPSNT编辑的文件;另外对于WPS的文件,你根本就不要用 DOS版本去读,百分之百读出来,其实相互转换也不大困难,只要你在存盘时选择以TXT纯文本格式存盘也就不存在什么版本高低了。(WPS中不要放)
%A%%B% WPS中的临时文件,注意清除OVL覆盖文件,如WPS.VOL1。
DOC文档文件,是由软件霸主Micrsoft Word生成,也有一部分是由WORD PERFECT生成,此文件也是版本众多有Wihdows下面的WORD5.0 6.0生成,还有WIN下WORD7.0 WORD,它们相互兼容性比较好,高版本可以轻松读取低版本文件,而且高版本也可以以低版本的格式进行存储,有人说WINDOWS中的书写器也能读出 DOC,但笔者试验,读取WORD7.0以上的DOC都是一些乱码,而且格式里也注明只能读出DOS版的DOC。
PCS为POWERPOINT中的图象文件,为矢量图形文件。
XLS电子表格EXCEL的格式文件。
FNT为Bezier(贝氏)类型字体的文件。
TTF True Type字体文件,是一种轮廓字模,是由Apple和Microsoft合作开发的。Windows3.1下直接支持True Type字模。
FOT是True Type字体文件的资源文件,正因为FOT文件中含有指向TTF的指针。所以我们的字体文件(TTF)才可以放在任何目录下面,而不必提心系统找不到。
PFB Adobe TYPE1字体Post Script字模文件,必须使用Adobe Type Manager管理安装使用,它的最大优点是放大时比TTF字幕可靠得多。
PS1为WPS下扩展字库文件,PS2一般为繁体。
REC Windows中记录器中的宏命令文件。
CRD Windows中的卡版盒文件。
PIF Windows中的运行非WINDOWS应用程序建立的一个文件。
WRI文档文件,是由WINDOWS中书写器生成的。
DRV驱动程序文件。
VXD虚拟设备文件
GRP Windows程序组文件。
ANI WIN中动画鼠标指针文件。
DLL Windows下应用程序中的动态连结库文件。
SCR WINDOWS屏幕保护程序文件
MP2 MP3当前最流行的音乐文件,音质可于CD音质媲美,采集率达.1KHZ,由于它文件格式又非常小,需要一个叫WINAMP的软件和一个叫抓音轨的软件,如果通过声卡直接就能将录音带上的歌曲录制成WAV文件,再转化为MP3,播放时需要硬件配置不是太高。
SND在WIN下同WAV文件图标大同小异,小喇叭的颜色是绿色,是声音文件的剪辑文件。
VOC VOC文件是随声卡一起诞生的一种常见数字声音文件,主要用于DOS程序(特别游戏),VOC与波形文件可方便转换。
WAV Windows所使用的标准数字音频文件,也称波形文件,它能够重现各种单声道或立体声的声音,是最常用的声音文件。
MID这个是音乐发烧友最熟悉不过的文件格式,是“乐器数字接口”(Musical lnstrument Digital interface)读作middy“迷笛”。mid文件最受人于睐的是占的空间小,与wav相比不是音乐采样,而是将每个音符记录为一个数字,mid标准规定了各种音调的混合及发音,通过输出装置可以将这些数字重新合成为音乐。它的缺点是有点太电子琴味。
RMI CMI CMF(Creative Music File)是mid几个变通格式,它们都同声卡一起诞生,现在一般很少,它们有些可以同mid相互转换,用CMF2MID小软件。
PCX是微机上使用最广泛的图像格式之一,能表现真彩图像。
BMP是Windows所使用的基本位图格式,是小画笔就能轻松创建的文件,另外提醒你BMP有压缩(RLE方法)和非压缩,我们常用是非压缩,bmp还有一个OS/2的版本,与Windows有区别。
GIF GIF在网页中占有独一无二的地位,美中不足是颜色最多为(色)8位,与其它图象文件相比,GIF高人一招,它是唯一可以存储动画的图像格式。
PSD PDD位图文件,均为大名鼎鼎的图象大师Adobe Photoshop直接生成的图象文件。
CGM(Computer Graphics Metafile)是压缩的矢量图形文件,WINWORD可以打开。
HGL(HP Graphic Language)是HP公司创建的一种矢量图形语言。
WPG(DrawPerfect)矢量文件。
TIF最初用于扫描仪和桌面出版业,TIF程式图像可以是RGB真彩色的。
TGA位图文件,为Targa公司开发的支持8位到位颜色深度图像文件,结构简单,少有变化,易转换。
VDA ICB VST与TGA相似,均为Targa公司开发的位图文件。
JPG JPE原是Apple Mac机器上使用的一种图像格式,现在意在PC机上大行其道,由于其压缩比可以调节,而且失真又很小,所以无论是网络上还是图像处理上都是使用很广泛的。
PIC同上,Lotus 1-2-3的图表文件也叫PIC文件,使用时请注意。
PCD是PhotoCD专用存储格式,由于其文件特别大,不得不存在CD-ROM上,但应用特别广。
EPS(Encapsulared postScrip)是Adobe System公司的PostScrip页面描述语言的产物,是矢量图形文件。
WMF (Windows MetaFile)是特殊文件,是位图和矢量图混血儿,桌面格式,可以在Windord与Offices组件中ClipArts最常用的格式可以在WinWord的DRAW中随意拆开编辑。
AI 矢量格式,是久负盛名的绘图软件Adobe lllustrator文件格式。
CDR矢量格式,是Corel Draw!标准文件格式。
CPT位图和矢量图都有,是Corel PHOTO-PAINT的文件格式。
CDT Corel Draw中的模板文件。
CMX Corel Draw展示交换文件。
CMV是Corel MOVE平面动画软件中的动画演示文件。
DXF矢量格式,CAD与3ds玩家可能都知道,是AutoCAD的绘图交换文件。
3DS矢量格式,为3D Studio的动画原始图形文件,含有纹理和光照信息。
SHP矢量格式3DS中的造型文件。
CEL 3DS中的贴图文件。
MLI 3DS中的材质库。
DRW矢量格式Micrografx Designer使用的绘图文件格式。
WPG矢量/格式,是Word Perfect使用的文件格式。
FLI动画文件,是由AutoDesk公司开发的,只支持××色模式,它是FLC的老祖宗。
FIC动画文件,是AutoDesk公司开发的,与FLI相比是青出于蓝胜于蓝的产物:文件的分辨率和颜色数都有所提高,它与FLI在Windows中播放需要专用MCI驱动和相应的播放程序APPlay。
MMM动画文件,是MacroMind公司著名多媒体写作软件Director生成的,一般集成在完整的应用程序中,单独出现的文件很少。
AVI视频与音频交错文件(Audio-Video lnter leaved音频-视频交错)它将视频音频交错混合在一起,AVI文件使用的压缩方法好几种,主要使用有损方法,压缩比较高,与FLC和MOV相比,画面质量不太好,在Windows下播放需要安装VIDEO For Windows驱动程序,AVI在多媒体中应用较多广,一般视频采集直接采集的素材便为AVI格式,编辑的它的软件也不少,如Video Pack Adobe Premiere,
MPG视频文件,PC机上的全屏幕活动视频的标准文件,采用MPEG方法进行压缩的全运动视频图像,可于×的分辨率下每秒帧速率播放种颜色和同步CD音质的伴音,是极为理想的视频影像文件
DAT视频影像文件,是Video CD(VCD)或Karaoke CD(卡拉OK CD)基于MPEG压缩方法的一种,注意它同数据文件同名
MOV视频影像,同样采用有损压缩方法,在Windows下必须安装QuickTime程序才能播放,它是从苹果机移植到PC上的,比AVI画面质量要好一些,其实你拿一个AVI文件做一下比较也就不难看出了。
HTM超文本文件,INTERNET网上访问WWW,是在HTM文件的的海洋里冲浪,对于超文本文件,说它是编程,可它也不像编程,现在要建立它,一点也不困难,有关的介绍满天飞,什么HOME PAGE,在WIN中,OFFICES都可以方便的创建生成。它还有一些名字叫主页、网,而且还与JAVA关系特密切。Microsoft IE导航者中与NETCAPE航海家都能游览它。
常用文件格式简要说明
A 对象代码库文件
AAM Authorware shocked文件
AAS Authorware shocked包
ABF Adobe二进制屏幕字体
ABK CorelDRAW自动备份文件
ABS 该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)
ACE Ace压缩档案格式
ACL CorelDRAW 6键盘快捷键文件
ACM Windows系统目录文件
ACP Microsoft office助手预览文件
ACR 美国放射医学大学文件格式
ACT Microsoft office助手文件
ACV OS/2的驱动程序,用于压缩或解压缩音频数据
AD After Dark屏幕保护程序
ADA Ada源文件(非-GNAT)
ADB Ada源文件主体(GNAT);HPLX组织者的约定数据库
ADD OS/2用于引导过程的适配器驱动程序
ADF Amiga磁盘文件
ADI AutoCAD设备无关二进制绘图仪格式
ADM After Dark多模块屏幕保护;Windows NT策略模板
ADP FaxWork用于传真调制解调器的交互安装文件;Astound Dynamite文件
ADR After Dark薠�聊槐;ぃ籗mart Address的地址簿
ADS Ada源文件说明书(GNAT)
AFM Adobe的字体尺度
AF2,AF3 ABC的FlowChat文件
AI Adobe Illustrator格式图形
AIF,AIFF 音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式
AIFC 压缩AIF
AIM AOL即时信息传送
AIS ACDSee图形序列文件;Velvet Studio设备文件
AKW RoboHELP的帮助工程中所有A-关键词
ALAW 欧洲电话音频格式
ALB JASC Image Commander相册
ALL 艺术与书信库
AMS Velvet Studio音乐模块(MOD)文件;Extreme的Tracker模块文件
ANC Canon Computer的调色板文件,包含一系列可选的颜色板
ANI Windows系统中的动画光标
ANS ANSI文本文件
ANT SimAnt For Windows中保存的游戏文件
API Adobe Acrobat使用的应用程序设计接口文件
APR Lotus Approach 文件
APS Microsoft Visual C++文件
ARC LH ARC的压缩档案文件
ARI Aristotle声音文件
ARJ Robert Jung ARJ压缩包文件
ART Xara Studio箨�募�籆anon Crayola美术文件;Clip Art文件格式;另一种光线跟踪格式;AOL使用的用Johnson—Grace压缩算法压缩的标记文件
ASA Microsoft Visual InterDev文件
ASC ASCⅡ文本文件;PGP算法加密文件
ASD Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced
streaming FORMat,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件
ASE Velvet Studio采样文件
ASF Microsoft高级流媒体格式文件
ASM 汇编语言源文件,Pro/E装配文件
ASO Astound Dynamite对象文件
ASP 动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件
AST Astound多媒体文件;ClarisWorks“助手”文件
ASV DataCAD自动保存文件
ASX Cheyenne备份脚本文件;Microsoft高级流媒体重定向器文件,视频文件
ATT AT< Group 4位图文件
ATW 来自个人软件的Any Time Deluxe For Windows个人信息管理员文件
AU Sun/NeXT/DEC/UNIX声音文件;音频U-Law(读作“mu-law”)文件格式
AVB Computer Associates Inoculan反病毒软件的病毒感染后文件
AVI Microsoft Audio Video Interleave**格式
AVR Audio Visual Research文件格式
AVS 应用程序可视化格式
AWD FaxVien文档
AWR Telsis数字储存音频文件扩展名格式
Axx ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取-的数字)
A3L Authorware 3.x库文件
A4L Authorware 4.x库文件
A5L Authorware 5.x库文件
A3M,A4M Authorware Macintosh未打包文件
A4P Authorware无运行时间的打包文件
A3W,A4W,A5W 未打包的Authorware Windows文件
BAK 备份文件
BAS BASIC源文件
BAT 批处理文件
BDF West Point Bridger Designer文件
BFC Windows Briefcase文档
BG Backgammon For Windows下的游戏文件
BGL Microsoft Flight Simulator(微软飞行模拟器)的视景文件
BI 二进制文件
BIF Group Wise的初始化文件
BIFF XLIFE 3D格式文件
BIN 二进制文件
BK,BK$ 有时用于代表备份版本
BKS IBM BookManager Read书架文件
BMK 书签文件
BMP Windows或OS/2位图文件
BMI Apogee BioMenace数据文件
BOOK Adobe FrameMaker Book文件
BOX Lotus Notes的邮箱文件
BPL Borlard Delph 4打包库
BQY BrioQuery文件
BRX 用于查看多媒体对象目录的文件
BSC MS Developer Studio浏览器信息文件
BSP Quake图形文件
BS1 Apogee Blake Stone数据文件
BS_ Microsoft Bookshelf Find菜单外壳扩展名
BTM Norton 应用程序使用的批处理文件
BUD Quicken的备份磁盘
BUN CakeWalk 声音捆绑文件(一种MIDI程序)
BW SGI黑白图像文件
BWV 商业波形文件
BYU BYU的**文件格式
B4 Helix Nuts and Bolts文件
C C代码文件
C0l 台风波形文件
CAB Microsoft压缩档案文件
CAD Softdek的Drafix CAD文件
CAL CALS压缩位图;[非法语句]历计划表数据
CAM Casio照相机格式
CAP 压缩音乐文件格式
CAS 逗号分开的ASCⅡ文件
CAT Quicken使用 的IntellCharge分类文件
CB Microsoft干净引导文件
CBI 二进制卷格式文件(用于IBM大型机系统)
CC Visual dBASE用户自定义类文件
CCA cc:邮件文件
CCB Visual Basic动态按钮配置文件
CCF 多媒体查看器配置文件,用于OS/2
CCH Corel图表文件
CCM Lotus cc:邮箱(例如“INBOX.CCM”)
CCO CyberChat数据文件
CCT Macromedia Director Shockwave投影
CDA CD音频轨道
CDF Microsoft频道定义格式文件
CDI Philip的高密盘交互格式
CDM Visual dBASE自定义数据模块文件
CDR CorelDRAW绘图文件;原始音频CD数据文件
CDT CorelDRAW模板
CDX CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件
CEL CIMFast事件语言文件
CER 证书文件(MIME x-x-ca-cert)
CFB Compton的多媒文件
CFG 配置文件
CFM CotdFusion模板文件;Visual dBASE Windows用户定制表单
CGI 公共网关接口脚本文件
CGM 计算机图形元文件
CH OS/2配置文件
CHK 由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片
CHM 编译过的HTML文件
CHR 字符集(字体文件
CHP Ventura Publisher章节文件
CHT ChartViem文件;Harvard Graphics矢量文件
CIF Adaptec CD 创建器 CD映像文件
CIL Clip Gallery下载包
CIM SimCity 文件
CIN OS/2改变控制文件用于跟踪INI文件中的变化
CK1 iD/Apogee Commander Keen 1数据文件
CK2 iD/Apogee Commander Keen 2数据文件
CK3 iD/Apogee Commander Keen 3数据文件
CK4 iD /Apogee Commander Keen 4数据文件
CK5 iD /Apogee Commander Keen 5数据文件
CK6 iD /Apogee Commander Keen 6数据文件
CLASS Java类文件
CLL Crick Software Clicker文件
CLP Windows 剪贴板文件
CLS Visual Basic类文件
CMD Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CMF Corel元文件
CMG Chessmaster保存的游戏文件
CMP JPEG位图文件;地址文档
CMV Corel Move动画文件
CMX Corel Presentation Exchange图像
CNF Telnet,Windows和其他其内格式会发生改变的应用程序使用的配置文件
CNM Windows应用程序菜单选项和安装文件
CNQ Compuworks Design Shop文件
CNT Windows(或其他)系统用于帮助索引或其他目的内容文件
COB TrueSpace 2对象文件
COD Microsoft C编译器产生的可显示机器码/汇编代码文件,其中附有源C代码作为注释
COM 命令文件(程序)
CPD Corel Print Office文件(图形)
CPD,CPE 传真覆盖文档
CPI Microsoft MS-DOS代码页信息文件
CPL 控制面板扩展名,Corel颜色板
CPO Corel打印存储文件
CPP C++代码文件
CPR Corel提供说明书文件
CPT Corel 照片-箨�枷?
CPX Corel Presentation Exchange压缩图形文件
CRD Windows Cardfile文件
CRP Corel 提供的运行时介绍文件;Visual dBASE自定义报表文件
CRT 认证文件
CSC Corel脚本文件
CSP PC Emcee On_Screen图像
CSS 瀑布式表格文件
CST Macromedia Director Cast文件
CSV 逗号分隔的值文件
CT Scitex CT位图文件;Paint Shop Pro Grapic编辑器文件
CTL 通常用于表示一个包含控件信息的文件;FaxWork用它来保持有关每个传真收到或发出的信息
CUE Microsoft提示牌数据文件
CUR Windows光标文件
CUT Dr Halo位图文件
CV Corel版本的档案文件;Microsoft CodeView信息屏幕文件
CWK ClarisWorks数据文件.
CWS ClarisWorks模块
CXT Macromedia Director受保护的(不可编辑的)投影文件
CXX C++源代码文件
DAT 数据文件;WrodPerfect合并数据文件;用于一些MPEG格式的文件
DB Borland的Paradox 7表
DBC Microsoft Visual FoxPro数据库容器文件
DBF dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 打开);Oracle 8.1.x表格空间文件
DBX DataBearn图像;Microsoft Visual FoxPro表格文件
DCM DCM模块格式文件
DCR 冲击波文件
DCS 桌面颜色分隔文件
DCT Microsoft Visual FoxPro数据库容器
DCU Delphi编译单元文件
DCX Microsoft Visual FoxPro数据库容器;基觉CX的传真图像;宏
DC5 DataCAD绘图文件
DDF Btrieve或Xtrieve数据定义文件,它包含用于描述Btrieve或Xtrieve文件的元数据
DDIF Digital Equipment或 Compaq格式,用于保存他们图像与字处理文档
DEF SmartWareⅡ数据文件;C++模块定义文件
DEFI Oracle 7 卸载脚本文件
DEM 用于表示数字高度模型的USGS基准的文件
DER 认证文件
DEWF Macintosh Sound Cap/Sound Edit录音设备格式
DGN Macintosh CAD绘图文件
DIB 设备无关位图
DIC 目录
DIF 可进行数据互换的电子表格
DIG DigiLink格式;Sound DesignerⅠ音频文件
DIR MacromediaDirector文件
DIZ 描述文件
DLG C++对话框脚本文件
DLL 动态链接库
DLS 可下载声音文件
DMD Visual dBASE数据模块文件
DMF X-Trakker音乐模块(MOD)文件
DOC FrameMaker或FrameBuilder文档;Word Star文档、Word Perfect文档、Microsoft Word文档;DisplayWrite文档
DOT Microsoft Word文档模板
DPL Borland Delph3压缩库
DPR Borland Delphi工程头文件
DRAW Acorn的基于对象的矢量图像文件
DRV 驱动程序
DRW Micrografx Designer/Draw;Pro/E箨�募?
DSF Micrografx Designer VFX文件
DSG DOOM保存的文件
DSM Dynamic Studio音乐模块(MOD)文件
DSP Microsoft Developer Studio工程文件
DSQ Corel QUERY(查询)文件
DST 刺绣机图形文件
DSW Microsoft Developer Studio工作区文件
DTA Word Bank(世界银行)的STARS数据文件
DTD SGML文档类型定义(DTD)文件
DTED 地面高度数字数据(图形的数据格式)文件
DTF Symantec Q&A相关的数据库数据文件
DTM DigiTrakker模块文件
DUN Microsoft拔号网络导出文件
DV 数字视频文件(MIME)
DWD DiamondWare数字化文件
DWG AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式
DXF 可进行互交换的绘图文件格式,二进制的DWG格式的文本表示;数据交换文件
DXR Macromedia Director受保护(不可编辑)**文件
D Commodore的位模拟磁盘图像文件
EDA Ensoniq ASR磁盘映像
EDD 元素定义文档(FrameMaker+SGML文档)
EDE Ensoniq EPS磁盘映像
EDK Ensoniq KT磁盘映像
EDQ Ensoniq SQ1/SQ2/Ks磁盘映像
EDS Ensoniq SQ磁盘映像
EDV Ensoniq VFX-SD磁盘映像
EFA Ensoniq ASR文件
EFE Ensoniq EPS文件
EFK Ensoniq KT文件
EFQ Ensoniq SQ1/SQ2/Ks文件
EFS Ensoniq SQ文件
EFV Ensoniq VFX-SD文件
EMD ABT扩展模块
EMF Windows增强元文件
EML Microsoft Outlook Express邮件消息(MIME RTC)文件
ENC 重演文
ENFF 中性文件格式扩展名
EPHTML Perl解释增强HTML文件
EPS 压缩的PostScript图像
EPSF 压缩的PostScript文件
ERI ERWin文件
ERR 当RobooHELP帮助编译器企图编译一个帮助系统源文件时用来存储错误消息的文件
EPX ERWin文件
ESPS ESPS音频文件
EUI Ensoniq ESP家族的压缩磁盘映像
EVY 特使文档
EWL Microsoft Encarta文档
EXC Microsoft Word禁止字字典
EXE 可执行文件(程序)
F FORTRAN文
F2R Farandoyle线性模块格式
F3R Farandoyle分块线性模块格式
F FORTRAN文件
F FORTRAN文件
FAR Fradole Composer音乐模块(MOD)文件
FAV Microsoft Outlook导航条
FAX 传真类型图像
FBK Navison 金融备份
FCD 虚拟CD-ROM
FDB Navison 金融数据库
FDF Adobe Acrobat表单文档文件
FEM CADRE有限元素网络文件
FFA,FFL,FFO,FFK Microsoft快速查找文件
FFF GUS PnP银行文件格式
FFT 最终格式文本(IBM的DCA一部分)
正点原子FPGA连载第九章基于OV的字符叠加实验--领航者ZYNQ之HLS 开发指南
领航者ZYNQ的HLS开发教程中,我们详细介绍了基于OV的字符叠加实验。首先,实验目标是在视频图像上叠加字符,以实现监控系统中的实时信息显示。这个过程包括了从视频字符的概念理解,到使用PCtoLCD工具提取汉字“正点原子”的字模,以及如何通过HLS设计生成字符叠加的IP核。
在实验步骤中,我们演示了如何通过软件获取字符的点阵表示,通过配置字符格式,将四个汉字合并成一个大字模,并将其保存为BMP格式。接着,使用Vivado HLS工具创建工程,编写源代码,利用hls_video.h库进行字符叠加的逻辑实现。综合并导出IP核后,验证阶段将生成的IP添加到Block Design中,并连接至OV和VDMA模块,确保正确显示字符叠加后的图像。
在下载验证阶段,通过Vivado SDK将程序下载到领航者开发板,将字符叠加的IP应用到实际的摄像头监控系统中,最终在LCD屏幕上看到摄像头捕获的图像与字符叠加的效果。这个实验不仅锻炼了HLS编程技能,还展示了字符叠加技术在实际应用中的价值。
UEFI开发探索 – 图形模式下文字显示
UEFI中利用HII(Human Interface Infrastructure)进行图形界面的文字显示,是一种处理方式。然而,作者之前在进行开发时,没有深入研究这一方法。在项目中,作者采用的是自定义方法,比如在测试样卡界面的实现中,英文和汉字的显示并非通过HII,而是通过Foxdisk中的显示方法,这方法简单直接,将汉字和英文字符看作一个个字模,使用画点函数进行绘制。
HII的使用方式可能不那么直观,作者在面临时间紧迫的开发任务时,决定采用Foxdisk中的显示方法,因为这方法可以快速实现所需功能。对于汉字和英文字符的显示,作者使用了8×像素的英文字符,直接拷贝到程序中编译,而对于汉字,作者编写了一个工具程序来提取字模,这个工具程序只能在位dos下运行,通常在位winxp的cmd环境中使用,理论上在win7 位环境也应该可以运行,因为它主要处理文件内容,并未涉及硬件相关代码,使用Borland C++ 3.1编译。
为了适配不同操作系统和环境,作者近期考虑使用Python重写这些工具软件,以方便在位操作系统下直接运行。尽管作者对这项目持开放态度,但是否会实际进行还未能确定。
作者使用的工具程序主要包括DistillHZ和DisTillLOGO。DistillHZ可以自动生成UEFI程序所需字符串的字模文件,并转换为UEFI程序可使用的格式,而DisTillLOGO则直接从Foxdisk的工具程序中拿来使用,但Logo的提取功能还需手动调整大小,并未完全考虑各种情况,如bmp文件的对齐问题等。
在显示汉字方面,作者采用与Foxdisk中相似的原理和方法,通过DistillHZ提取汉字字模和字符串,然后将字模文件复制到Font.c中,与Font.h中的数据结构和显示函数结合使用,以实现汉字的显示。对于Logo的显示,作者采用从色bmp图中提取像素点,然后逐点显示的简单方法。
最终,UEFI程序的显示效果良好,通过代码列表可以看到,其中的源代码名称与Foxdisk中的保持一致,汉字显示函数以及各种图形的显示函数与Foxdisk中的实现完全相同,因此,Foxdisk中的某些有趣效果,如渐隐和透明效果等,也可以直接应用于UEFI中。