OSDN Git Service

corrected char_height/char_depth.
[putex/putex.git] / src / texsourc / dpx.c
index e344911..ad8b8a4 100644 (file)
@@ -19,6 +19,7 @@
 \r
 #define EXTERN extern\r
 \r
+#include "dpx.h"\r
 #include "yandytex.h"\r
 \r
 void ensure_pdf_open(void)\r
@@ -37,26 +38,6 @@ void ensure_pdf_open(void)
   }\r
 }\r
 \r
-extern void pdf_set_version(unsigned version);\r
-extern void pdf_set_compression(int level);\r
-extern void pdf_doc_set_creator(const char * creator);\r
-extern void pdf_files_init(void);\r
-extern void pdf_init_device(double dvi2pts, int precision, int black_and_white);\r
-extern void pdf_open_document(const char *filename,\r
-  int do_encryption,\r
-  double media_width, double media_height,\r
-  double annot_grow_amount, int bookmark_open_depth,\r
-  int check_gotos);\r
-extern void pdf_doc_begin_page(double scale, double x_origin, double y_origin);\r
-extern void pdf_doc_end_page(void);\r
-extern int spc_exec_at_begin_document(void);\r
-extern int spc_exec_at_end_document(void);\r
-extern int spc_exec_at_begin_page(void);\r
-extern int spc_exec_at_end_page(void);\r
-extern void read_config_file (const char *config);\r
-extern void pdf_hlist_out (void);\r
-extern void pdf_vlist_out (void);\r
-\r
 void pdf_ship_out (pointer p)\r
 {\r
   integer page_loc;\r
@@ -134,10 +115,6 @@ void pdf_ship_out (pointer p)
 \r
   if (total_pages == 0)\r
   {\r
-    //kpse_init_prog("", 600, NULL, NULL);\r
-    //kpse_set_program_enabled(kpse_pk_format, true, kpse_src_texmf_cnf);\r
-    //pdf_font_set_dpi(600);\r
-    //dpx_delete_old_cache(image_cache_life);\r
     pdf_set_version(5);\r
     pdf_set_compression(9);\r
     pdf_init_fontmaps();\r
@@ -219,7 +196,7 @@ int pdf_get_font_id (internal_font_number f)
   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
@@ -279,7 +256,7 @@ reswitch:
         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
@@ -287,6 +264,14 @@ reswitch:
 \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
+      {\r
+        pdf_rect rect;\r
+        pdf_dev_set_rect(&rect, cur_h, -dvi_v,\r
+          char_width (f, char_info(f, c)),\r
+          char_height(f, height_depth(char_info(f, c))),\r
+          char_depth (f, height_depth(char_info(f, c))));\r
+        pdf_doc_expand_box(&rect);\r
+      }\r
       cur_h = cur_h + char_width(f, char_info(f, c));\r
       p = link(p);\r
     } while (!(!is_char_node(p)));\r