Ejemplo n.º 1
0
static int *
get_encodings(
	char	**font_name_list, 
	int 	*ranges,
	int 	nb_font)
{
	int *font_encoding_list;
	int i;
	i = 0;

	font_encoding_list = (int *) malloc(sizeof(int) * nb_font);
	while (i < nb_font) {
		char *ptr;
		int ec;
		ptr = font_name_list[i];
		ec = 0;
		font_encoding_list[i] = -1;
		ranges[i * 2] = 0;
		ranges[i * 2 + 1] = 0xFFFF;
		
		if (ptr && strstr(ptr, "fontspecific")) {
			font_encoding_list[i] = font_spec_enc(ptr);
			ptr = NULL;
		}
		while (ptr && *ptr) {
			if (*ptr == '-') {
				ec++;
				if (ec == 13) {
					font_encoding_list[i] = 
						encoding_number(ptr + 1);
					if (font_encoding_list[i] == 0) {
						get_range(ptr + 1, 
							ranges + i * 2,
							ranges + i * 2 + 1);
					}
					break;
				}
			}	
			ptr++;
		}
		if (font_encoding_list[i] < 0) font_encoding_list[i] = 1;
		i++;
	}
	return font_encoding_list;
}
Ejemplo n.º 2
0
static int 
font_spec_enc(
	char *font)
{
	int ret;
	char *enc;
	char *end;

	enc = font;
	while (*enc != '-') enc++; 
	enc++;
	while (*enc != '-') enc++;
	enc++;
	end = enc;
	while (*end != '-') end++;
	*end = '\0';
	
	ret = encoding_number(enc);
	*end = '-';

	return ret;
}
Ejemplo n.º 3
0
int
ps_encoding_number (string name)
{
  int ret = encoding_number (encoding, name);
  return ret;
}