char * sbuf = malloc(length(font_name[f]) + 1);\r
int id;\r
memset(sbuf, 0, length(font_name[f]) + 1);\r
- memcpy(sbuf, str_pool + str_start[font_name[f]], length(font_name[f])); \r
+ memcpy(sbuf, str_pool + str_start[font_name[f]], length(font_name[f]));\r
id = dvi_locate_font(sbuf, font_size[f]);\r
free(sbuf);\r
\r
if (!font_used[f])\r
{\r
font_used[f] = true;\r
- font_id[f] = pdf_get_font_id(f); \r
+ font_id[f] = pdf_get_font_id(f);\r
}\r
\r
dvi_f = f;\r
char cbuf[2] = {c, 0};\r
pdf_dev_set_string(cur_h, -cur_v, cbuf, 1, char_width(f, char_info(f, c)), font_id[dvi_f], 1);\r
cur_h = cur_h + char_width(f, char_info(f, c));\r
+ {\r
+ pdf_rect rect;\r
+ pdf_dev_set_rect(&rect, dvi_h, -dvi_v,\r
+ char_width (f, char_info(f, c)),\r
+ char_height(f, c),\r
+ char_depth (f, c));\r
+ pdf_doc_expand_box(&rect);\r
+ }\r
p = link(p);\r
} while (!(!is_char_node(p)));\r
\r
extern void pdf_vlist_out (void);\r
extern void pdf_synch_h (void);\r
extern void pdf_synch_h (void);\r
+typedef struct pdf_rect\r
+{\r
+ double llx, lly, urx, ury;\r
+} pdf_rect;\r
+extern void pdf_dev_set_rect (pdf_rect *rect,\r
+ spt_t x_user, spt_t y_user,\r
+ spt_t width, spt_t height, spt_t depth);\r
+extern void pdf_doc_expand_box (const pdf_rect *rect);\r
selector = old_setting;\r
str_room(1);\r
graphics_mode();\r
- spc_exec_special(str_pool + str_start[str_ptr], cur_length, cur_h * 0.000015202, -cur_v * 0.000015202, 1.0);\r
+ //spc_exec_special(str_pool + str_start[str_ptr], cur_length, cur_h * 0.000015202, -cur_v * 0.000015202, 1.0);\r
+ spc_exec_special(str_pool + str_start[str_ptr], cur_length, dvi_h * 0.000015202, -dvi_v * 0.000015202, 1.0);\r
/*\r
if (cur_length < 256)\r
{\r