• 大小: 7.65MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-04
  • 语言: 其他
  • 标签: freetype  矢量字体  

资源简介

可以制作汉,英矢量字体,可以调节不同字体大小。

资源截图

代码片段和文件信息

#include “ft2build.h“
//#include FT_FREETYPE_H  
#include “freetype/freetype.h“ 
#include “freetype/ftglyph.h“  
#include  
#include “Unicode.h“
#include 
#include “testfont.h“

typedef unsigned short UINT16;
typedef short INT16;
typedef unsigned char UINT8;
typedef char INT8;
typedef unsigned int UINT32;
typedef int INT32;

#define GB_OFFSET_NUMBER 94 //the number of one GB zone.
#define GB_MIN_ZONE 0xA0 //min value of the zone number of GB code
#define GB_MAX_ZONE 0xF8 //max value of the zone number of GB code
#define GB_MIN_OFFSET 0xA1 //min value of the offset number of GB code
#define GB_MAX_OFFSET 0xFF //max value of the offset number of GB code
#define MAX_OFFSET_IN_TABLE 8272 //the max offset of the conversion table.
#define ENLISH_FONT 0
#define CHINA_FONT 1
#define MAX 50

UINT16 set_font_width = 0;
UINT16 set_font_higth = 0;
INT8 PATH_FONT_NAME[MAX];
UINT32 Ascender;

void initgr(void) 

int gd = DETECT gm = 0; 

initgraph(&gd &gm ““);
}

int writeAassicToFile( const char *file const char *path)
{
FILE *fp = NULL;
FILE *fp1 =NULL;
FT_Library    pFTLib         =  NULL;  
FT_Face        pFTFace         =  NULL;  
FT_Glyph    glyph;
FT_Error    error         =   0 ; 
UINT8 buffer[4096];
UINT32 header[256];
UINT16 count = 0 assic_nu = 0 read_nu i j = 0 k;
UINT16 m n;
UINT32 address = 0;
INT8 name[100];
UINT16 Font_w Font_h;
UINT16 start_point = 0;

if( (fp = fopen(file “wb“)) == NULL ){
printf(“fail open %s file!“ file);
return 0;
}

#if 1
if( (fp1 = fopen(“ASSIC_Info.txt“ “w+“)) == NULL ){
printf(“fail open %s file!“ file);
return 0;
}
#endif

if( FT_Init_FreeType( & pFTLib) ){  
pFTLib  =   0 ;  
printf( “ There is some error when Init Library “ );  
return   - 1 ;  
}  

error  =  FT_New_Face(pFTLib  path   0   & pFTFace);
if( error ){
printf(“fail open %s font file err num : %d \n“ path error);
return  -1;
}
address = 1024; //存储字符码表的信息

FT_Set_Char_Size(pFTFace  set_font_width * 64  set_font_higth*64 72  72); 
Ascender = pFTFace->size->metrics.ascender >> 6; 
printf(“Vector font %s file running...\n“ file);
for( k = 0x20; k < 128; k++)
{
FT_Load_Glyph(pFTFace FT_Get_Char_Index(pFTFace  k) FT_LOAD_DEFAULT);      
error = FT_Get_Glyph(pFTFace -> glyph  & glyph);
if(error){
printf(“fail get %x data info\n“ i);
return -1;
}
FT_Glyph_To_Bitmap( & glyph ft_render_mode_normal  0   1 );  
FT_BitmapGlyph bitmap_glyph  =  (FT_BitmapGlyph)glyph;  
FT_Bitmap &bitmap  =  bitmap_glyph -> bitmap; 
if (bitmap_glyph->left < 0){
bitmap_glyph->left = 0;

}
header[k] = ((bitmap_glyph->left+bitmap.width)<< 24) | address;
Font_w = bitmap.width;
Font_h = bitmap.rows;// dy = Ascender-bitmap_glyph->top;
start_point =  (Ascender- bitmap_glyph->top);//Ascender- bitmap_glyph->top
if (bitmap_glyph->top < bit

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      25552  2016-06-05 22:32  font\ASSIC_24.bin

     文件      44032  2016-06-05 19:22  font\ASSIC_32.bin

     文件       5998  2016-06-05 22:32  font\ASSIC_Info.txt

     文件      56828  2014-09-23 21:34  font\Debug\assic.bin

     文件    2302976  2014-09-21 17:22  font\Debug\font.bsc

     文件    1314892  2016-06-05 22:32  font\Debug\font.exe

     文件     601960  2016-06-05 22:32  font\Debug\font.ilk

     文件      47979  2016-06-05 22:32  font\Debug\font.obj

     文件    4198540  2016-06-05 22:12  font\Debug\font.pch

     文件    1721344  2016-06-05 22:32  font\Debug\font.pdb

     文件          0  2014-09-21 17:22  font\Debug\font.sbr

     文件      19123  2016-06-05 22:11  font\Debug\testfont.obj

     文件     295936  2016-06-05 22:32  font\Debug\vc60.idb

     文件      94208  2016-06-05 22:32  font\Debug\vc60.pdb

     文件       8212  2016-06-05 22:32  font\font.cpp

     文件       3582  2016-05-28 21:04  font\font.dsp

     文件        514  2014-09-22 21:50  font\font.dsw

     文件      58368  2016-06-05 22:42  font\font.ncb

     文件      51712  2016-06-05 22:42  font\font.opt

     文件       2669  2016-06-05 22:32  font\font.plg

     文件      19680  2014-09-21 16:18  font\freetype\config\ftconfig.h

     文件      19680  2011-12-03 03:20  font\freetype\config\ftconfig.h.bak

     文件      25095  2012-02-11 17:29  font\freetype\config\ftheader.h

     文件       1399  2009-03-14 21:45  font\freetype\config\ftmodule.h

     文件      50672  2011-07-20 12:46  font\freetype\config\ftoption.h

     文件       7313  2011-10-01 15:06  font\freetype\config\ftstdlib.h

     文件     246597  2014-09-21 17:15  font\freetype\freetype.h

     文件      10342  2011-12-03 03:20  font\freetype\ftadvanc.h

     文件       5245  2011-04-13 06:28  font\freetype\ftbbox.h

     文件       6749  2009-03-14 21:45  font\freetype\ftbdf.h

............此处省略94个文件信息

评论

共有 条评论