writesubfont.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 46 行

C
46
字号
#include <u.h>#include <libc.h>#include <draw.h>staticvoidpackinfo(Fontchar *fc, uchar *p, int n){	int j;	for(j=0;  j<=n;  j++){		p[0] = fc->x;		p[1] = fc->x>>8;		p[2] = fc->top;		p[3] = fc->bottom;		p[4] = fc->left;		p[5] = fc->width;		fc++;		p += 6;	}}intwritesubfont(int fd, Subfont *f){	char hdr[3*12+1];	uchar *data;	int nb;	sprint(hdr, "%11d %11d %11d ", f->n, f->height, f->ascent);	if(write(fd, hdr, 3*12) != 3*12){   Err:		werrstr("writesubfont: bad write: %r");		return -1;	}	nb = 6*(f->n+1);	data = malloc(nb);	if(data == nil)		return -1;	packinfo(f->info, data, f->n);	if(write(fd, data, nb) != nb)		goto Err;	free(data);	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?