274 |
int i = ch_index[c]; |
int i = ch_index[c]; |
275 |
assert(i >= 0); |
assert(i >= 0); |
276 |
|
|
277 |
if (point_size == unitwidth) |
if (point_size == unitwidth || font::unscaled_charwidths) |
278 |
return ch[i].width; |
return ch[i].width; |
279 |
|
|
280 |
if (!widths_cache) |
if (!widths_cache) |
396 |
const char *font::get_special_device_encoding(int c) |
const char *font::get_special_device_encoding(int c) |
397 |
{ |
{ |
398 |
assert(c >= 0 && c < nindices && ch_index[c] >= 0); |
assert(c >= 0 && c < nindices && ch_index[c] >= 0); |
399 |
return( ch[ch_index[c]].special_device_coding ); |
return ch[ch_index[c]].special_device_coding; |
400 |
|
} |
401 |
|
|
402 |
|
const char *font::get_image_generator() |
403 |
|
{ |
404 |
|
return image_generator; |
405 |
} |
} |
406 |
|
|
407 |
void font::alloc_ch_index(int idx) |
void font::alloc_ch_index(int idx) |
820 |
{ "spare1", &font::biggestfont }, |
{ "spare1", &font::biggestfont }, |
821 |
{ "biggestfont", &font::biggestfont }, |
{ "biggestfont", &font::biggestfont }, |
822 |
{ "spare2", &font::spare2 }, |
{ "spare2", &font::spare2 }, |
823 |
{ "sizescale", &font::sizescale } |
{ "sizescale", &font::sizescale }, |
824 |
}; |
}; |
825 |
|
|
826 |
int font::load_desc() |
int font::load_desc() |
915 |
return 0; |
return 0; |
916 |
} |
} |
917 |
} |
} |
918 |
|
else if (strcmp("unscaled_charwidths", p) == 0) |
919 |
|
unscaled_charwidths = 1; |
920 |
else if (strcmp("pass_filenames", p) == 0) |
else if (strcmp("pass_filenames", p) == 0) |
921 |
pass_filenames = 1; |
pass_filenames = 1; |
922 |
else if (strcmp("sizes", p) == 0) { |
else if (strcmp("sizes", p) == 0) { |
993 |
tcommand = 1; |
tcommand = 1; |
994 |
else if (strcmp("use_charnames_in_special", p) == 0) |
else if (strcmp("use_charnames_in_special", p) == 0) |
995 |
use_charnames_in_special = 1; |
use_charnames_in_special = 1; |
996 |
|
else if (strcmp("image_generator", p) == 0) { |
997 |
|
p = strtok(0, WS); |
998 |
|
if (!p) { |
999 |
|
t.error("image_generator command requires an argument"); |
1000 |
|
return 0; |
1001 |
|
} |
1002 |
|
image_generator = strdup(p); |
1003 |
|
} |
1004 |
else if (strcmp("charset", p) == 0) |
else if (strcmp("charset", p) == 0) |
1005 |
break; |
break; |
1006 |
else if (unknown_desc_command_handler) { |
else if (unknown_desc_command_handler) { |