home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / g / gs241j11.zip / GS241J.DIF < prev    next >
Text File  |  1992-07-01  |  51KB  |  1,763 lines

  1. *** font.h.orig    Thu Jan 17 03:46:10 1991
  2. --- font.h    Thu May 21 12:56:23 1992
  3. ***************
  4. *** 36,38 ****
  5. --- 36,42 ----
  6.   
  7.   /* The current font in the graphics state */
  8.   #define ifont (igs->font)
  9. + #ifdef COMPFONT
  10. + int make_composite_font(P5(ref *, gs_font *, gs_matrix *, ref *, gs_font **));
  11. + #endif
  12. *** gs_init.ps.orig    Tue Apr 21 19:22:08 1992
  13. --- gs_init.ps    Fri May 15 17:28:32 1992
  14. ***************
  15. *** 242,247 ****
  16. --- 242,265 ----
  17.   (>>) cvn /dicttomark load odef
  18.   /deviceinfo { getdeviceprops dicttomark } odef
  19.   
  20. + %
  21. + % Define the composite font operators
  22. + %
  23. + systemdict /show0 known systemdict /NOKANJI known not and
  24. + /.encodingdict null def
  25. + {    
  26. +     % Replace base font operators with composite font operators
  27. +     /show        /show0        load def
  28. +     /ashow        /ashow0        load def
  29. +     /widthshow     /widthshow0    load def
  30. +     /awidthshow     /awidthshow0    load def
  31. +     /charpath     /charpath0    load def
  32. +     /stringwidth    /stringwidth0    load def
  33. +     /cshow         /cshow0        load def
  34. + }
  35. + {
  36.   % Define simplified versions of the composite font operators
  37.   % that work with (and only with) non-composite fonts.
  38.   
  39. ***************
  40. *** 260,267 ****
  41.       { //.encodingdict exch get exec } odef
  42.   /rootfont
  43.       { currentfont } odef
  44. ! /setcachedevice2
  45. !     { pop pop pop pop setcachdevice } odef
  46.   
  47.   % Define some additional built-in procedures (beyond the ones defined by
  48.   % the PostScript Language Reference Manual).
  49. --- 278,285 ----
  50.       { //.encodingdict exch get exec } odef
  51.   /rootfont
  52.       { currentfont } odef
  53. ! }
  54. ! ifelse
  55.   
  56.   % Define some additional built-in procedures (beyond the ones defined by
  57.   % the PostScript Language Reference Manual).
  58. ***************
  59. *** 513,519 ****
  60. --- 531,541 ----
  61.   
  62.   % Define the font directory.
  63.   % Make it big to leave room for transformed fonts.
  64. + currentdict /NOKANJI known {
  65.   /FontDirectory 100 dict def
  66. + }{
  67. + /FontDirectory 600 dict def
  68. + } ifelse
  69.   
  70.   % Define the standard encoding vector.
  71.   /StandardEncoding
  72. ***************
  73. *** 660,665 ****
  74. --- 682,697 ----
  75.   
  76.   (END GS_FONTS ) VMDEBUG
  77.   
  78. + % Load the WMode environment.
  79. + systemdict /setcachedevice2 known systemdict /NOKANJI known not and
  80. + {
  81. +     (wmode.ps) run
  82. + }
  83. + {
  84. + /setcachedevice2
  85. +     { pop pop pop pop setcachdevice } odef
  86. + } ifelse
  87.   % Create a null font.  This is the initial font.
  88.   7 dict dup begin
  89.     /FontMatrix [ 1 0 0 1 0 0 ] def
  90. ***************
  91. *** 830,834 ****
  92. --- 862,871 ----
  93.   (END INIT ) VMDEBUG
  94.   
  95.   QUIET not { (done.\n) print flush } if
  96. + % Load the kanji font environment.
  97. + systemdict /NOKANJI known not {
  98. +     (kanji.ps) run
  99. + } if
  100.   
  101.   % The interpreter will run the initial procedure (start).
  102. *** gschar.c.orig    Wed Apr  8 23:29:36 1992
  103. --- gschar.c    Fri May 15 17:28:32 1992
  104. ***************
  105. *** 106,114 ****
  106. --- 106,121 ----
  107.   }
  108.   
  109.   /* widthshow[_n] */
  110. + #ifndef ORIGINAL    /* enable to use an integer more than 127 
  111. +                as the character specification for widthshow */
  112.   int
  113.   gs_widthshow_init(register gs_show_enum *penum,
  114. +   gs_state *pgs, floatp cx, floatp cy, byte chr, char *str)
  115. + #else
  116. + int
  117. + gs_widthshow_init(register gs_show_enum *penum,
  118.     gs_state *pgs, floatp cx, floatp cy, char chr, char *str)
  119. + #endif
  120.   {    int code;
  121.       setup_show();
  122.       code = show_setup(penum, pgs, str);
  123. ***************
  124. *** 115,123 ****
  125. --- 122,137 ----
  126.       setup_width();
  127.       return code;
  128.   }
  129. + #ifndef ORIGINAL    /* enable to use an integer more than 127 
  130. +                as the character specification for widthshow */
  131.   int
  132.   gs_widthshow_n_init(register gs_show_enum *penum,
  133. +   gs_state *pgs, floatp cx, floatp cy, byte chr, char *str, uint size)
  134. + #else
  135. + int
  136. + gs_widthshow_n_init(register gs_show_enum *penum,
  137.     gs_state *pgs, floatp cx, floatp cy, char chr, char *str, uint size)
  138. + #endif
  139.   {    int code;
  140.       setup_show_n();
  141.       code = show_setup(penum, pgs, str);
  142. ***************
  143. *** 126,135 ****
  144. --- 140,157 ----
  145.   }
  146.   
  147.   /* awidthshow[_n] */
  148. + #ifndef ORIGINAL    /* enable to use an integer more than 127 
  149. +                as the character specification for awidthshow */
  150.   int
  151.   gs_awidthshow_init(register gs_show_enum *penum,
  152. +   gs_state *pgs, floatp cx, floatp cy, byte chr, floatp ax, floatp ay,
  153. +   char *str)
  154. + #else
  155. + int
  156. + gs_awidthshow_init(register gs_show_enum *penum,
  157.     gs_state *pgs, floatp cx, floatp cy, char chr, floatp ax, floatp ay,
  158.     char *str)
  159. + #endif
  160.   {    int code;
  161.       setup_show();
  162.       code = show_setup(penum, pgs, str);
  163. ***************
  164. *** 137,146 ****
  165. --- 159,176 ----
  166.       setup_width();
  167.       return code;
  168.   }
  169. + #ifndef ORIGINAL    /* enable to use an integer more than 127 
  170. +                as the character specification for awidthshow */
  171.   int
  172.   gs_awidthshow_n_init(register gs_show_enum *penum,
  173. +   gs_state *pgs, floatp cx, floatp cy, byte chr, floatp ax, floatp ay,
  174. +   char *str, uint size)
  175. + #else
  176. + int
  177. + gs_awidthshow_n_init(register gs_show_enum *penum,
  178.     gs_state *pgs, floatp cx, floatp cy, char chr, floatp ax, floatp ay,
  179.     char *str, uint size)
  180. + #endif
  181.   {    int code;
  182.       setup_show_n();
  183.       code = show_setup(penum, pgs, str);
  184. ***************
  185. *** 225,240 ****
  186. --- 255,304 ----
  187.   
  188.   /* ------ Width/cache operators ------ */
  189.   
  190. + #ifdef WMODE    /* define setcachedevice with setcachedevice2 */
  191.   /* setcachedevice */
  192.   int
  193.   gs_setcachedevice(register gs_show_enum *penum, gs_state *pgs,
  194.     floatp wx, floatp wy, floatp llx, floatp lly, floatp urx, floatp ury)
  195. + {
  196. +         return gs_setcachedevice2(penum, pgs, wx, wy, llx, lly, urx, ury,
  197. +                                   wx, wy, 0.0, 0.0);
  198. + }
  199. + #endif
  200. + #ifdef WMODE /* modify gs_setcachedevice() into gs_setcachedevice2() */
  201. + /* setcachedevice2 */
  202. + int
  203. + gs_setcachedevice2(register gs_show_enum *penum, gs_state *pgs,
  204. +   floatp w0x, floatp w0y, floatp llx, floatp lly, floatp urx, floatp ury,
  205. +   floatp w1x, floatp w1y, floatp vx, floatp vy)
  206. + {    int code;
  207. +     if(penum->wmode == 0)
  208. +         code = gs_setcharwidth(penum, pgs, w0x, w0y);
  209. +     else
  210. +         code = gs_setcharwidth(penum, pgs, w1x, w1y);
  211. +     if(code < 0)
  212. +         return code;
  213. + #else
  214. + /* setcachedevice */
  215. + int
  216. + gs_setcachedevice(register gs_show_enum *penum, gs_state *pgs,
  217. +   floatp wx, floatp wy, floatp llx, floatp lly, floatp urx, floatp ury)
  218.   {    int code = gs_setcharwidth(penum, pgs, wx, wy);    /* default is don't cache */
  219.       if ( code < 0 ) return code;
  220. + #endif
  221.       /* See if we want to cache this character. */
  222.       if ( pgs->in_cachedevice )        /* no recursion! */
  223.           return 0;
  224.       pgs->in_cachedevice = 1;    /* disable color/gray/image operators */
  225. + #ifdef WMODE    /* adjust zero point when WMode is 1 */
  226. +     if(penum->wmode == 1) {
  227. +         gs_point zero1;
  228. +         gs_transform(pgs, -vx, -vy, &zero1);
  229. +         gs_translate_to_fixed(pgs, 
  230. +             float2fixed(zero1.x), float2fixed(zero1.y));
  231. +     }
  232. + #endif
  233.       /* We can only use the cache if ctm is unchanged */
  234.       /* (aside from a possible translation), */
  235.       /* and if the extent of the box is non-negative. */
  236. ***************
  237. *** 302,308 ****
  238. --- 366,378 ----
  239.           /* Nothing can go wrong now.... */
  240.           penum->cc = cc;
  241.           cc->code = gs_show_current_char(penum);
  242. + #ifdef WMODE    /* WMode facility requests three vectors, w0, w1 and v */
  243. +         gs_distance_transform2fixed(&pgs->ctm, w0x, w0y, &cc->wxy[0]);
  244. +         gs_distance_transform2fixed(&pgs->ctm, w1x, w1y, &cc->wxy[1]);
  245. +         gs_distance_transform2fixed(&pgs->ctm, vx, vy, &cc->vxy);
  246. + #else
  247.           cc->wxy = penum->wxy;
  248. + #endif
  249.           /* Install the device */
  250.           pgs->device = &penum->dev_cache_dev;
  251.           pgs->device_is_shared = 1;    /* don't deallocate */
  252. ***************
  253. *** 419,424 ****
  254. --- 489,503 ----
  255.          }
  256.       case sws_no_cache: ;
  257.          }
  258. + #ifndef ORIGINAL    /* moveto the initial zero point if in charpath */
  259. +     if(penum->charpath_flag) {
  260. +         int code = gs_grestore(pgs);
  261. +         if(code < 0)
  262. +             return code;
  263. +         return gx_path_add_point(pgs->path, 
  264. +                      penum->zxy.x, penum->zxy.y);
  265. +     }
  266. + #endif
  267.       return gs_grestore(pgs);
  268.   }
  269.   
  270. ***************
  271. *** 463,469 ****
  272. --- 542,552 ----
  273.               cc = gx_lookup_cached_char(pgs, pair, chr);
  274.               if ( cc == 0 ) goto no_cache;
  275.               /* Character is in cache. */
  276. + #ifdef WMODE    /* modification for writing in the vertical direction */
  277. +             code = show_fast_move(cc->wxy[penum->wmode], pgs);
  278. + #else
  279.               code = show_fast_move(cc->wxy, pgs);
  280. + #endif
  281.               if ( code ) return code;
  282.               }
  283.           else
  284. ***************
  285. *** 477,487 ****
  286. --- 560,579 ----
  287.               if ( code < 0 ) return code;
  288.               else if ( code > 0 ) goto no_cache;
  289.               if ( penum->slow_show )
  290. + #ifdef WMODE    /* modification for writing in the vertical direction */
  291. +                {    penum->wxy = cc->wxy[penum->wmode];
  292. + #else
  293.                  {    penum->wxy = cc->wxy;
  294. + #endif
  295.                   code = show_move(penum);
  296.                  }
  297.               else
  298. + #ifdef WMODE    /* modification for writing in the vertical direction */
  299. +                 code = show_fast_move(cc->wxy[penum->wmode], 
  300. +                               pgs);
  301. + #else
  302.                   code = show_fast_move(cc->wxy, pgs);
  303. + #endif
  304.               if ( code ) return code;
  305.               }
  306.           /* All done. */
  307. ***************
  308. *** 506,511 ****
  309. --- 598,607 ----
  310.           gx_path *ppath = pgs->path;
  311.           if ( (code = gx_path_current_point_inline(ppath, &cpt)) < 0 )
  312.               return code;
  313. + #ifndef ORIGINAL    /* save the initial zero point 
  314. +                to be used in show_update */
  315. +         penum->zxy = cpt;
  316. + #endif
  317.           cpt.x -= pgs->ctm.tx_fixed;
  318.           cpt.y -= pgs->ctm.ty_fixed;
  319.           gs_setmatrix(pgs, &pgs->char_tm);
  320. ***************
  321. *** 603,608 ****
  322. --- 699,708 ----
  323.       penum->dev_cache_set = 0;
  324.       penum->index = 0;
  325.       penum->continue_proc = continue_show;
  326. + #ifdef WMODE    /* set WMode of the rootfont as the current WMode */
  327. +     penum->wmode = pgs->rootfont->WMode;
  328. + #endif
  329. + #ifndef COMPFONT    /* skip */
  330.       if ( (penum->is_composite = pfont->FontType == ft_composite) )
  331.          {    gs_font *rfont = pgs->font;
  332.           penum->fstack[0] = rfont;
  333. ***************
  334. *** 610,615 ****
  335. --- 710,716 ----
  336.           penum->pfont =
  337.             rfont->data.type0_data.FDepVector[rfont->data.type0_data.Encoding[0]];
  338.          }
  339. + #endif
  340.       if ( !pgs->char_tm_valid )
  341.          {    /* Compute combined transformation */
  342.           gs_make_identity(&pgs->char_tm);    /* make sure type */
  343. *** gschar.h.orig    Thu Mar 26 01:05:16 1992
  344. --- gschar.h    Fri May 15 17:28:32 1992
  345. ***************
  346. *** 32,41 ****
  347. --- 32,48 ----
  348.       gs_show_n_init(P4(gs_show_enum *, gs_state *, char *, uint)),
  349.       gs_ashow_init(P5(gs_show_enum *, gs_state *, floatp, floatp, char *)),
  350.       gs_ashow_n_init(P6(gs_show_enum *, gs_state *, floatp, floatp, char *, uint)),
  351. + #ifndef ORIGINAL
  352. +     gs_widthshow_init(P6(gs_show_enum *, gs_state *, floatp, floatp, byte, char *)),
  353. +     gs_widthshow_n_init(P7(gs_show_enum *, gs_state *, floatp, floatp, byte, char *, uint)),
  354. +     gs_awidthshow_init(P8(gs_show_enum *, gs_state *, floatp, floatp, byte, floatp, floatp, char *)),
  355. +     gs_awidthshow_n_init(P9(gs_show_enum *, gs_state *, floatp, floatp, byte, floatp, floatp, char *, uint)),
  356. + #else
  357.       gs_widthshow_init(P6(gs_show_enum *, gs_state *, floatp, floatp, char, char *)),
  358.       gs_widthshow_n_init(P7(gs_show_enum *, gs_state *, floatp, floatp, char, char *, uint)),
  359.       gs_awidthshow_init(P8(gs_show_enum *, gs_state *, floatp, floatp, char, floatp, floatp, char *)),
  360.       gs_awidthshow_n_init(P9(gs_show_enum *, gs_state *, floatp, floatp, char, floatp, floatp, char *, uint)),
  361. + #endif
  362.       gs_kshow_init(P3(gs_show_enum *, gs_state *, char *)),
  363.       gs_kshow_n_init(P4(gs_show_enum *, gs_state *, char *, uint)),
  364.       gs_stringwidth_init(P3(gs_show_enum *, gs_state *, char *)),
  365. *** gsfont.c.orig    Tue Nov 26 13:20:44 1991
  366. --- gsfont.c    Fri May 15 17:28:33 1992
  367. ***************
  368. *** 50,55 ****
  369. --- 50,62 ----
  370.   #define mmax_SMALL 40        /* mmax - # of cached font/matrix pairs */
  371.   #define cmax_SMALL 500        /* cmax - # of cached chars */
  372.   #define blimit_SMALL 100    /* blimit/upper - max size of a single cached char */
  373. + #ifdef KANJI
  374. + /* adjustment for Japanese Kanji fonts which request a lot of base fonts */
  375. + #undef  smax_LARGE
  376. + #define smax_LARGE 500        /* smax - # of scaled fonts */
  377. + #undef  mmax_LARGE
  378. + #define mmax_LARGE 1000        /* mmax - # of cached font/matrix pairs */
  379. + #endif
  380.   
  381.   /* Allocate a font directory */
  382.   gs_font_dir *
  383. ***************
  384. *** 147,153 ****
  385. --- 154,166 ----
  386.         pmat->tx, pmat->ty);
  387.      }
  388.   #endif
  389. + #ifdef COMPFONT    /* Composite fonts cannot be cached 
  390. +            because UniqueID of a composite font has no meaning. */
  391. +     if ( pfont->FontType != ft_composite &&
  392. +          pfont->data.base.UniqueID != -1 )
  393. + #else
  394.       if ( pfont->data.base.UniqueID != -1 )
  395. + #endif
  396.         for ( ; pf_out != 0; prev = pf_out, pf_out = pf_out->next )
  397.           if (    pf_out->data.base.UniqueID == pfont->data.base.UniqueID &&
  398.               pf_out->FontType == pfont->FontType &&
  399. ***************
  400. *** 169,174 ****
  401. --- 182,192 ----
  402.       if ( !pf_out ) return_error(gs_error_VMerror);
  403.       *pf_out = *pfont;
  404.       pf_out->FontMatrix = newmat;
  405. + #ifdef COMPFONT    /* prevent the font which is not cached 
  406. +            from being linked in the cache chain */
  407. +     if ( pfont->FontType != ft_composite &&
  408. +          pfont->data.base.UniqueID != -1 ) {
  409. + #endif
  410.       if ( pdir->ssize == pdir->smax )
  411.         { /* Must discard a cached scaled font. */
  412.           /* Scan for the oldest font if we didn't already. */
  413. ***************
  414. *** 187,192 ****
  415. --- 205,214 ----
  416.       else
  417.         pdir->ssize++;
  418.       link_first(pdir->scaled_fonts, pf_out);
  419. + #ifdef COMPFONT    /* prevent the font which is not cached 
  420. +            from being linked in the cache chain */
  421. +     }
  422. + #endif
  423.       pf_out->base = pfont->base;
  424.       pf_out->dir = pdir;
  425.       *ppfont = pf_out;
  426. ***************
  427. *** 210,215 ****
  428. --- 232,252 ----
  429.   gs_currentfont(gs_state *pgs)
  430.   {    return pgs->font;
  431.   }
  432. + #ifdef COMPFONT    /* define gs_setrootfont() and gs_currentrootfont() */
  433. + /* setrootfont */
  434. + int
  435. + gs_setrootfont(gs_state *pgs, gs_font *pfont)
  436. + {    pgs->rootfont = pfont;
  437. +     return 0;
  438. + }
  439. + /* currentrootfont */
  440. + gs_font *
  441. + gs_currentrootfont(gs_state *pgs)
  442. + {    return pgs->rootfont;
  443. + }
  444. + #endif
  445.   
  446.   /* cachestatus */
  447.   void
  448. *** gstype1.c.orig    Tue Apr  7 06:11:56 1992
  449. --- gstype1.c    Fri May 15 17:28:34 1992
  450. ***************
  451. *** 304,310 ****
  452. --- 304,316 ----
  453.   private stem_hint *near type1_stem(P3(stem_hint_table *, fixed, fixed));
  454.   private int near type1_endchar(P3(gs_type1_state *, gs_state *, gx_path *));
  455.   int
  456. + #ifdef WMODE    /* enable gs_type1_interpret()
  457. +            to be used only for drawing path */
  458. + gs_type1_interpret(register gs_type1_state *pis, byte *str, int *pindex,
  459. +            floatp *pwx, floatp *pwy, int only_drawing)
  460. + #else
  461.   gs_type1_interpret(register gs_type1_state *pis, byte *str, int *pindex)
  462. + #endif
  463.   {    gs_state *pgs = pis->pgs;
  464.       gs_type1_data *pdata = pis->pdata;
  465.       gs_op1_state s;
  466. ***************
  467. *** 514,519 ****
  468. --- 520,533 ----
  469.               /* base character string. */
  470.               return type1_result_seac;
  471.              }
  472. + #ifdef WMODE    /* store width vector encrypted in type1 string and
  473. +            skip setcharwidth or setcachedevice 
  474. +            if only_drawing flag is true */
  475. +         *pwx = fixed2float(pis->width.x);
  476. +         *pwy = fixed2float(pis->width.y);
  477. +         if(only_drawing)
  478. +             return 0;
  479. + #endif
  480.           /* This is a real endchar.  Handle it below. */
  481.           return type1_endchar(pis, pgs, sppath);
  482.       case c_undoc15: dc("  undoc15")
  483. *** gstype1.h.orig    Sat Mar 21 17:29:26 1992
  484. --- gstype1.h    Fri May 15 17:28:34 1992
  485. ***************
  486. *** 46,51 ****
  487. --- 46,56 ----
  488.   /* or the othersubr # for callothersubr. */
  489.   #define type1_result_seac 1
  490.   #define type1_result_callothersubr 2
  491. + #ifdef WMODE
  492. + int gs_type1_interpret(P6(gs_type1_state *, byte *, int *, 
  493. +               floatp *, floatp *, int));
  494. + #else
  495.   int gs_type1_interpret(P3(gs_type1_state *, byte *, int *));
  496. + #endif
  497.   /* Pop a (fixed) number off the internal stack */
  498.   int gs_type1_pop(P2(gs_type1_state *, fixed *));
  499. *** gxcache.c.orig    Sat Apr 18 16:21:50 1992
  500. --- gxcache.c    Fri May 15 17:28:34 1992
  501. ***************
  502. *** 269,276 ****
  503. --- 269,284 ----
  504.       /* quick-check clipping rectangle, we have to */
  505.       /* set up an intermediate clipping device. */
  506.       pt.x -= cc->offset.x;
  507. + #ifdef WMODE    /* move zero point if WMode is 1 */
  508. +     if(penum->wmode) 
  509. +         pt.x -= cc->vxy.x;
  510. + #endif
  511.       x = fixed2int_var_rounded(pt.x) + penum->ftx;
  512.       pt.y -= cc->offset.y;
  513. + #ifdef WMODE    /* move zero point if WMode is 1 */
  514. +     if(penum->wmode) 
  515. +         pt.y -= cc->vxy.y;
  516. + #endif
  517.       y = fixed2int_var_rounded(pt.y) + penum->fty;
  518.       w = cc->width;
  519.       h = cc->height;
  520. *** gxcache.h.orig    Wed Feb 26 19:38:42 1992
  521. --- gxcache.h    Fri May 15 17:28:34 1992
  522. ***************
  523. *** 41,47 ****
  524. --- 41,52 ----
  525.       ushort raster, height;        /* dimensions of bitmap */
  526.       ushort width;
  527.       gx_bitmap_id id;
  528. + #ifdef WMODE    /* WMode facility requests three vectors, w0, w1 and v */
  529. +     gs_fixed_point wxy[2];        /* width in device coords */
  530. +     gs_fixed_point vxy;        /* vector to zero1 */
  531. + #else
  532.       gs_fixed_point wxy;        /* width in device coords */
  533. + #endif
  534.       gs_fixed_point offset;        /* (-llx, -lly) in device coords */
  535.   };
  536.   #define cc_is_free(cc) cc_head_is_free(&(cc)->head)
  537. *** gxchar.h.orig    Sat Mar 21 17:27:28 1992
  538. --- gxchar.h    Fri May 15 17:28:35 1992
  539. ***************
  540. *** 68,73 ****
  541. --- 68,76 ----
  542.                       /* clipping box */
  543.       int is_composite;        /* true if composite font */
  544.       int ftx, fty;            /* transformed font translation */
  545. + #ifdef WMODE
  546. +     int wmode;            /* WMode of rootfont */
  547. + #endif
  548.       /* Following are set at most once */
  549.       gx_device_memory dev_cache_info;
  550.       device dev_cache_dev;
  551. ***************
  552. *** 75,80 ****
  553. --- 78,86 ----
  554.       /* Following are updated dynamically */
  555.       uint index;            /* index within string */
  556.       gs_fixed_point wxy;        /* for current char in device coords */
  557. + #ifndef ORIGINAL
  558. +     gs_fixed_point zxy;        /* zero point for current char */
  559. + #endif
  560.       cached_char *cc;        /* being accumulated */
  561.       gs_point width;            /* total width of string, set at end */
  562.       show_width_status width_status;
  563. *** gzstate.h.orig    Fri Feb 28 07:16:46 1992
  564. --- gzstate.h    Fri May 15 17:28:35 1992
  565. ***************
  566. *** 48,53 ****
  567. --- 48,56 ----
  568.       struct gx_transfer_s *transfer;
  569.   /* Font: */
  570.       struct gs_font_s *font;
  571. + #ifdef COMPFONT
  572. +     struct gs_font_s *rootfont;
  573. + #endif
  574.       gs_matrix char_tm;        /* font matrix * ctm */
  575.       int char_tm_valid;        /* true if char_tm is valid */
  576.       byte in_cachedevice;        /* true after a setcachedevice */
  577. *** state.h.orig    Mon Dec 30 00:22:46 1991
  578. --- state.h    Fri May 15 17:28:35 1992
  579. ***************
  580. *** 33,45 ****
  581. --- 33,55 ----
  582.           ref red, green, blue, gray;    /* transfer procedures */
  583.       } transfer_procs;
  584.       ref font;            /* font object (dictionary) */
  585. + #ifdef COMPFONT
  586. +     ref rootfont;            /* root font object (dictionary) */
  587. + #endif
  588.       int_gstate *saved;        /* previous int_gstate from gsave */
  589.   };
  590.   /* Enumerate the refs in an int_gstate. */
  591. + #ifdef COMPFONT
  592.   #define int_gstate_map_refs(p,m)\
  593.    (m(&(p)->screen_proc), m(&(p)->transfer_procs.red),\
  594.     m(&(p)->transfer_procs.green), m(&(p)->transfer_procs.blue),\
  595. +   m(&(p)->font), m(&(p)->rootfont))
  596. + #else
  597. + #define int_gstate_map_refs(p,m)\
  598. +  (m(&(p)->screen_proc), m(&(p)->transfer_procs.red),\
  599. +   m(&(p)->transfer_procs.green), m(&(p)->transfer_procs.blue),\
  600.     m(&(p)->font))
  601. + #endif
  602.   
  603.   /* The current instances. */
  604.   extern int_gstate istate;
  605. *** string_.h.orig    Mon Dec 31 05:34:38 1990
  606. --- string_.h    Fri May 15 17:28:39 1992
  607. ***************
  608. *** 28,34 ****
  609.       extern char *strcat(), *strchr(), *strcpy(), *strupr();
  610.       extern int strcmp(), strlen(), strncmp();
  611.   #  else
  612. ! #    ifdef __MSDOS__
  613.   #      undef memset            /* see memory_.h */
  614.   #      include <string.h>
  615.   #      define memset(dest,chr,cnt) setmem(dest,cnt,chr)
  616. --- 28,34 ----
  617.       extern char *strcat(), *strchr(), *strcpy(), *strupr();
  618.       extern int strcmp(), strlen(), strncmp();
  619.   #  else
  620. ! #    if (defined(ORIGINAL) && defined(__MSDOS__)) || defined(__TURBOC__)
  621.   #      undef memset            /* see memory_.h */
  622.   #      include <string.h>
  623.   #      define memset(dest,chr,cnt) setmem(dest,cnt,chr)
  624. *** zchar.c.orig    Sat Apr 18 23:39:22 1992
  625. --- zchar.c    Fri May 15 17:28:40 1992
  626. ***************
  627. *** 108,114 ****
  628. --- 108,119 ----
  629.          )
  630.           return code;
  631.       if ( (code = gs_widthshow_n_init(senum, igs, cxy[0], cxy[1],
  632. + #ifndef ORIGINAL    /* enable to use an integer more than 127 
  633. +                as the character specification for widthshow */
  634. +                      (byte)op[-1].value.intval,
  635. + #else
  636.                        (char)op[-1].value.intval,
  637. + #endif
  638.                        (char *)op->value.bytes,
  639.                        r_size(op))) < 0 )
  640.          {    free_show();
  641. ***************
  642. *** 131,137 ****
  643. --- 136,147 ----
  644.          )
  645.           return code;
  646.       if ( (code = gs_awidthshow_n_init(senum, igs, cxy[0], cxy[1],
  647. + #ifndef ORIGINAL    /* enable to use an integer more than 127 
  648. +                as the character specification for awidthshow */
  649. +                       (byte)op[-3].value.intval,
  650. + #else
  651.                         (char)op[-3].value.intval,
  652. + #endif
  653.                         axy[0], axy[1],
  654.                         (char *)op->value.bytes,
  655.                         r_size(op))) < 0 )
  656. ***************
  657. *** 229,234 ****
  658. --- 239,276 ----
  659.       return 0;
  660.   }
  661.   
  662. + #ifdef WMODE    /* define setcachedevice2() */
  663. + /* setcachedevice2 */
  664. + int
  665. + zsetcachedevice2(register os_ptr op)
  666. + {    float wbox[10];
  667. +     int npop = 10;
  668. +     gs_show_enum *penum = find_show();
  669. +     int code = num_params(op, 10, wbox);
  670. +     if ( penum == 0 ) return e_undefined;
  671. +     if ( code < 0 )
  672. +        {    /* P*stScr*pt implementations apparently allow the */
  673. +         /* bounding box to be specified as a 4-element array. */
  674. +         /* Check for this here. */
  675. +         check_array(op[-4]);
  676. +         if ( r_size(op - 4) != 4 ||
  677. +              num_params(op - 5, 2, wbox) < 0 ||
  678. +              num_params(op[-4].value.refs + 3, 4, wbox + 2) < 0 ||
  679. +              num_params(op, 4, wbox + 6) < 0
  680. +            )
  681. +             return code;
  682. +         npop = 7;
  683. +        }
  684. +     if ( (code = gs_setcachedevice2(penum, igs,
  685. +             wbox[0], wbox[1], wbox[2], wbox[3], wbox[4], wbox[5],
  686. +             wbox[6], wbox[7], wbox[8], wbox[9])) < 0 )
  687. +         return code;
  688. +     pop(npop);
  689. +     return 0;
  690. + }
  691. + #endif    /* WMODE */
  692.   /* setcharwidth */
  693.   int
  694.   zsetcharwidth(register os_ptr op)
  695. ***************
  696. *** 300,305 ****
  697. --- 342,357 ----
  698.       z1_data zdata;
  699.       byte *charstring = 0;
  700.       ref enc_entry;
  701. + #ifdef WMODE    /* if there is a boolean value on the top of 
  702. +            operand stack, assume it as only_drawing flag */
  703. +     floatp wx, wy;
  704. +     int only_drawing = 0;
  705. +     if(r_has_type(op, t_boolean) && op->value.index) {
  706. +         only_drawing = 1;
  707. +         pop(1);
  708. +         op --;
  709. +     }
  710. + #endif
  711.       if ( penum == 0 ) return e_undefined;
  712.       check_type(*op, t_string);
  713.       tdata = pfont->data.base.type1_data;
  714. ***************
  715. *** 308,314 ****
  716. --- 360,377 ----
  717.       tdata.proc_data = (char *)&zdata;
  718.       if ( r_size(op) <= tdata.lenIV )
  719.          {    /* String is empty, or too short.  Just ignore it. */
  720. + #ifdef WMODE    /* if only_drawing flag is true, push x, y coordinates
  721. +            of width vector in operand stack */
  722. +         if(only_drawing) {
  723. +                push(1);
  724. +             make_real(op - 1, 0.0);
  725. +             make_real(op, 0.0);
  726. +         }
  727. +         else
  728. +             pop(1);
  729. + #else
  730.           pop(1);
  731. + #endif
  732.           return 0;
  733.          }
  734.       pis = (gs_type1_state *)alloc(1, gs_type1_state_sizeof, "type1addpath");
  735. ***************
  736. *** 321,327 ****
  737. --- 384,395 ----
  738.           return code;
  739.          }
  740.       charstring = op->value.bytes;
  741. + #ifdef WMODE
  742. + more:    code = gs_type1_interpret(pis, charstring, &value, 
  743. +                   &wx, &wy, only_drawing);
  744. + #else
  745.   more:    code = gs_type1_interpret(pis, charstring, &value);
  746. + #endif
  747.       charstring = 0;
  748.       switch ( code )
  749.          {
  750. ***************
  751. *** 380,386 ****
  752. --- 448,467 ----
  753.          }    break;
  754.          }
  755.       alloc_free((char *)pis, 1, gs_type1_state_sizeof, "type1addpath");
  756. + #ifdef WMODE    /* if only_drawing flag is true, push x, y coordinates
  757. +            of width vector in operand stack */
  758. +     if ( code < 0 )
  759. +         return code;
  760. +     if(only_drawing) {
  761. +         push(1);
  762. +         make_real(op - 1, wx);
  763. +         make_real(op, wy);
  764. +     }
  765. +     else
  766. +         pop(1);
  767. + #else
  768.       if ( code >= 0 ) pop(1);
  769. + #endif
  770.       return code;
  771.   }
  772.   
  773. ***************
  774. *** 434,439 ****
  775. --- 515,523 ----
  776.       {"2charpath", zcharpath},
  777.       {"2kshow", zkshow},
  778.       {"3setcachedevice", zsetcachedevice},
  779. + #ifdef WMODE
  780. +     {"7setcachedevice2", zsetcachedevice2},
  781. + #endif
  782.       {"2setcharwidth", zsetcharwidth},
  783.       {"1.setmetrics", zsetmetrics},
  784.       {"1show", zshow},
  785. *** zfont.c.orig    Wed Apr  8 06:27:38 1992
  786. --- zfont.c    Fri May 15 17:28:40 1992
  787. ***************
  788. *** 112,117 ****
  789. --- 112,122 ----
  790.       if ( code < 0 || (code = gs_setfont(igs, pfont)) < 0 )
  791.         return code;
  792.       istate.font = *op;
  793. + #ifdef COMPFONT    /* set current font as rootfont */
  794. +     if((code = gs_setrootfont(igs, pfont)) < 0)
  795. +         return code;
  796. +     istate.rootfont = *op;
  797. + #endif
  798.       pop(1);
  799.       return code;
  800.   }
  801. ***************
  802. *** 232,237 ****
  803. --- 237,254 ----
  804.       ref newmat;
  805.       ref *mbody;
  806.       int code;
  807. + #ifdef COMPFONT
  808. +     if((code = font_param(fp, &oldfont)) < 0)
  809. +         return code;
  810. +     if(oldfont->FontType == ft_composite) {
  811. +         if((code = make_composite_font(fp, oldfont, pmat, 
  812. +                        &newdict, &newfont)) < 0)
  813. +             return code;
  814. +         *fp = newdict;
  815. +         pop(1);
  816. +         return 0;
  817. +     }
  818. + #endif
  819.       if ( (code = font_param(fp, &oldfont)) < 0 ||
  820.            (code = gs_makefont(ifont_dir, oldfont, pmat,
  821.                    &newfont, &ffont)) < 0 ||
  822. *** zfont0.c.orig    Wed Nov 27 07:47:46 1991
  823. --- zfont0.c    Fri May 22 16:05:04 1992
  824. ***************
  825. *** 45,53 ****
  826. --- 45,60 ----
  827.   /* Imports */
  828.   extern int build_gs_font(P4(os_ptr, gs_font **, font_type, ref *));
  829.   extern ref name_FID;
  830. + #ifdef COMPFONT
  831. + extern ref name_FontMatrix;
  832. + extern gs_font_dir *ifont_dir;        /* needed for make_composite_font */
  833. + #endif
  834.   
  835.   /* Forward references */
  836.   private int ensure_char_entry(P4(os_ptr, ref *, byte *, int));
  837. + #ifdef COMPFONT
  838. + private int make_descender_fonts(P3(ref *, gs_font *, gs_matrix *));
  839. + #endif
  840.   
  841.   /* Names of system-known keys in type 0 font dictionaries: */
  842.   private ref name_EscChar;
  843. ***************
  844. *** 150,155 ****
  845. --- 157,168 ----
  846.                (r_size(psubsvector) - 1) % data.subs_width != 0
  847.              )
  848.               return e_invalidfont;
  849. + #ifdef COMPFONT    /* reference to SubsVector must be done 
  850. +            only when FMapType is 6 (fmap_SubsVector). */
  851. +         data.subs_size = (r_size(psubsvector) - 1) / data.subs_width;
  852. +         data.SubsVector = psubsvector->value.bytes + 1;
  853. + #endif
  854.       default:
  855.           code = 0;
  856.          }
  857. ***************
  858. *** 164,171 ****
  859. --- 177,187 ----
  860.          }
  861.       /* Fill in the font data */
  862.       pdata = (font_data *)(pfont->client_data);
  863. + #ifndef COMPFONT    /* reference to SubsVector must be done 
  864. +                only when FMapType is 6 (fmap_SubsVector). */
  865.       data.subs_size = (r_size(psubsvector) - 1) / data.subs_width;
  866.       data.SubsVector = psubsvector->value.bytes + 1;
  867. + #endif
  868.       data.encoding_size = r_size(&pdata->Encoding);
  869.       data.Encoding =
  870.         (uint *)alloc(data.encoding_size, sizeof(uint),
  871. ***************
  872. *** 190,195 ****
  873. --- 206,226 ----
  874.           data.FDepVector[i] = pfid->value.pfont;
  875.          }
  876.       pfont->data.type0_data = data;
  877. + #ifdef COMPFONT
  878. +     /* check if the FDepVector contains any composite fonts. */
  879. +     for(i=0; i<data.fdep_size; i++) {
  880. +         ref *pdep, *pfid;
  881. +         pdep = pfdepvector->value.refs + i;
  882. +         if((code = dict_find(pdep, &name_FID, &pfid)) <= 0)
  883. +             return code;
  884. +         if(pfid->value.pfont->FontType == ft_composite)
  885. +             break;
  886. +     }
  887. +     if(i != data.fdep_size) {
  888. +         /* Make transformed descender fonts and update FDepVector */
  889. +         make_descender_fonts(op, pfont, &pfont->FontMatrix);
  890. +     }
  891. + #endif
  892.       return 0;
  893.   }
  894.   /* Private routine to find or add an integer entry in a font dictionary. */
  895. ***************
  896. *** 199,204 ****
  897. --- 230,238 ----
  898.       if ( dict_find(op, pname, &pentry) <= 0 )
  899.          {    ref ent;
  900.           make_int(&ent, default_value);
  901. + #ifdef COMPFONT    /* if the entry is not found, default_value should be used */
  902. +         *pvalue = (byte)default_value;
  903. + #endif
  904.           return dict_put(op, pname, &ent);
  905.          }
  906.       else
  907. ***************
  908. *** 210,215 ****
  909. --- 244,343 ----
  910.       return 0;
  911.   }
  912.   
  913. + #ifdef COMPFONT
  914. + /* Make a transformed composite font. */
  915. + int
  916. + make_composite_font(ref *olddict, gs_font *oldfont, gs_matrix *pmat,
  917. +             ref *newdict, gs_font **pnewfont)
  918. + {
  919. +     int code;
  920. +     gs_font *newfont, *ffont;
  921. +     ref newmat;
  922. +     ref *mbody;
  923. +     if((code = gs_makefont(ifont_dir, oldfont, pmat,
  924. +                    &newfont, &ffont)) < 0 ||
  925. +        (code = dict_create(dict_maxlength(olddict), newdict)) < 0 ||
  926. +        (code = dict_copy(olddict, newdict)) < 0 ||
  927. +        (code = ((mbody = alloc_refs(6, "make_composite_font")) == 0 ?
  928. +             e_VMerror : 0)) < 0 ||
  929. +        (make_tasv_new(&newmat, t_array, a_all, 6, refs, mbody),
  930. +         (code = dict_put(newdict, &name_FontMatrix, &newmat))) < 0 ||
  931. +        (code = add_FID(newdict, newfont)) < 0
  932. +        )
  933. +       return code;
  934. +     *(gs_matrix *)mbody = newfont->FontMatrix;
  935. +     if ( ffont )
  936. +         { /****** SHOULD DECREMENT REFCT ******/
  937. +         }
  938. +     /* Make transformed descender fonts and update FDepVector */
  939. +     make_descender_fonts(newdict, newfont, pmat);
  940. +     r_clear_attrs(dict_access_ref(newdict), a_write);
  941. +     *pnewfont = newfont;
  942. +     return 0;
  943. + }
  944. + /* Make transformed descender composite fonts and update FDepVector */
  945. + private int
  946. + make_descender_fonts(ref *pdict, gs_font *pfont, gs_matrix *pmat)
  947. + {
  948. +     int code;
  949. +     int i, size;
  950. +     ref *pfdepvector, newfdepvector;
  951. +     ref *abody;
  952. +     gs_type0_data *type0_data = &pfont->data.type0_data;
  953. +     /* find old FDepVector */
  954. +     if((code = dict_find(pdict, &name_FDepVector, &pfdepvector)) <= 0)
  955. +         return code;
  956. +     if((size = r_size(pfdepvector)) != type0_data->fdep_size)
  957. +         return e_invalidfont;
  958. +     /* allocate new FDepVector body */
  959. +     if((abody = alloc_refs(size, "make_descender_fonts")) == 0)
  960. +         return e_VMerror;
  961. +     for(i=0; i<size; i++) {
  962. +         gs_font *oldfont, *newfont;
  963. +         ref newdict;
  964. +         ref *pdep, *pfid;
  965. +         /* get FID */
  966. +         pdep = pfdepvector->value.refs + i;
  967. +         if((code = dict_find(pdep, &name_FID, &pfid)) <= 0)
  968. +             return code;
  969. +         oldfont = pfid->value.pfont;
  970. +         /* if the child font is a composite font,
  971. +            replace it with a transformed font. */
  972. +         if(oldfont->FontType == ft_composite) {
  973. +             /* make a transformed composite font */
  974. +             code = make_composite_font(pdep, oldfont, pmat,
  975. +                            &newdict, &newfont);
  976. +             if(code < 0)
  977. +                 return code;
  978. +             abody[i] = newdict;
  979. +             type0_data->FDepVector[i] = newfont;
  980. +         }
  981. +         else {
  982. +             abody[i] = *pdep;
  983. +             type0_data->FDepVector[i] = oldfont;
  984. +         }
  985. +     }
  986. +         
  987. +     /* update the FDepVector in the font dictionary */
  988. +     make_tasv_new(&newfdepvector, t_array, a_all, size, refs, abody);
  989. +     if((code = dict_put(pdict, &name_FDepVector, &newfdepvector)) < 0)
  990. +         return code;
  991. +     return 0;
  992. + }
  993. + #endif
  994. +             
  995.   /* ------ Initialization procedure ------ */
  996.   
  997.   op_def zfont0_op_defs[] = {
  998. *** zfont2.c.orig    Wed Apr  8 06:27:14 1992
  999. --- zfont2.c    Fri May 15 17:28:41 1992
  1000. ***************
  1001. *** 150,156 ****
  1002. --- 150,172 ----
  1003.       /* because UniqueID need not be present in all fonts, */
  1004.       /* and if it is, the legal range is 0 to 2^24-1. */
  1005.       if ( dict_find(op, &name_UniqueID, &puniqueid) <= 0 )
  1006. + #ifdef COMPFONT
  1007. +     /* Using composite fonts require to execute gs_makefont */
  1008. +     /* many times, and UniqueID is the key identifier of */
  1009. +     /* the gs_makefont cache (i.e. scaled font cashe). */
  1010. +     /* Hence, it is essential for cache performance */
  1011. +     /* whether fonts have a valid UniqueID. */
  1012. +     {
  1013. +         /* Generate a fake UniqueID */
  1014. +         static long fake_unique_id = (1L << 24);
  1015. +         if(fake_unique_id < (((unsigned long)1L) << 31) - 1)
  1016. +             unique_id = ++ fake_unique_id;
  1017. +         else
  1018. +             unique_id = -1;
  1019. +     }
  1020. + #else
  1021.           unique_id = -1;
  1022. + #endif
  1023.       else
  1024.          {    if ( !r_has_type(puniqueid, t_integer) ||
  1025.                puniqueid->value.intval < 0 ||
  1026. *** zmisc.c.orig    Fri Apr 17 02:53:22 1992
  1027. --- zmisc.c    Fri May 15 17:28:41 1992
  1028. ***************
  1029. *** 35,41 ****
  1030. --- 35,45 ----
  1031.   #include "gstype1.h"
  1032.   
  1033.   /* Import the C getenv function */
  1034. + #ifdef ORIGINAL
  1035.   extern char *getenv(P1(char *));
  1036. + #else
  1037. + extern char *getenv(P1(const char *));
  1038. + #endif
  1039.   
  1040.   /* bind */
  1041.   int
  1042. *** gs.mak.orig    Tue Apr 21 18:15:04 1992
  1043. --- gs.mak    Fri May 15 17:28:42 1992
  1044. ***************
  1045. *** 526,541 ****
  1046.   
  1047.   ### Composite font support
  1048.   
  1049. - gschar0.$(OBJ): gschar0.c $(GXERR) \
  1050. -   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h)
  1051.   zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  1052.    $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  1053.   
  1054. ! compfont_=zfont0.$(OBJ) gschar0.$(OBJ)
  1055.   compfont.dev: $(compfont_)
  1056.       $(SHP)gssetmod compfont $(compfont_)
  1057. !     $(SHP)gsaddmod compfont -oper zfont0
  1058.   
  1059.   ### Filters other than eexec and ASCIIHex
  1060.   
  1061. --- 526,607 ----
  1062.   
  1063.   ### Composite font support
  1064.   
  1065.   zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  1066.    $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  1067.   
  1068. ! zcomp.$(OBJ): zcomp.c $(OP) $(gxfixed_h) $(gxmatrix_h) $(gschar_h) \
  1069. !  $(gxdevice_h) $(gxfont_h) $(gspath_h) $(gzstate_h) \
  1070. !  $(alloc_h) $(dict_h) $(font_h) $(iutil_h) $(name_h) \
  1071. !  $(estack_h) $(state_h) $(store_h)
  1072. ! compfont_=zfont0.$(OBJ) zcomp.$(OBJ)
  1073.   compfont.dev: $(compfont_)
  1074.       $(SHP)gssetmod compfont $(compfont_)
  1075. !     $(SHP)gsaddmod compfont -oper zfont0 zcomp
  1076. ! ### Kanji font support
  1077. ! zimpath.$(OBJ): zimpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h)
  1078. ! kfutil.$(OBJ): kfutil.c $(OP) $(gsmatrix_h)
  1079. ! kanji_=zimpath.$(OBJ) kfutil.$(OBJ)
  1080. ! kanji.dev: $(kanji_)
  1081. !     $(SHP)gssetmod kanji $(kanji_)
  1082. !     $(SHP)gsaddmod kanji -oper zimpath
  1083. ! zkfpcf.$(OBJ): zkfpcf.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1084. !     $(CCC) -Iinclude.pcf zkfpcf.c
  1085. ! kfpcf_=zkfpcf.$(OBJ) 
  1086. ! kfpcf.dev: $(kfpcf_)
  1087. !     $(SHP)gssetmod kfpcf $(kfpcf_)
  1088. !     $(SHP)gsaddmod kfpcf -oper zkfpcf
  1089. !     $(SHP)gsaddmod kfpcf -ps kfpcf
  1090. ! zkfsnf.$(OBJ): zkfsnf.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1091. !     $(CCC) -Iinclude.snf zkfsnf.c
  1092. ! kfsnf_=zkfsnf.$(OBJ) 
  1093. ! kfsnf.dev: $(kfsnf_)
  1094. !     $(SHP)gssetmod kfsnf $(kfsnf_)
  1095. !     $(SHP)gsaddmod kfsnf -oper zkfsnf
  1096. !     $(SHP)gsaddmod kfsnf -ps kfsnf
  1097. ! zkfsony.$(OBJ): zkfsony.c $(OP) $(gspath_h) $(state_h)
  1098. ! kfsony_=zkfsony.$(OBJ)
  1099. ! kfsony.dev: $(kfsony_)
  1100. !     $(SHP)gssetmod kfsony $(kfsony_)
  1101. !     $(SHP)gsaddmod kfsony -oper zkfsony
  1102. !     $(SHP)gsaddmod kfsony -ps kfsony
  1103. !     $(SHP)gsaddmod kfsony -lib FSlib
  1104. ! zkfjtex.$(OBJ): zkfjtex.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1105. ! kfjtex_=zkfjtex.$(OBJ) 
  1106. ! kfjtex.dev: $(kfjtex_)
  1107. !     $(SHP)gssetmod kfjtex $(kfjtex_)
  1108. !     $(SHP)gsaddmod kfjtex -oper zkfjtex
  1109. !     $(SHP)gsaddmod kfjtex -ps kfjtex
  1110. ! zkfzeit.$(OBJ): zkfzeit.c $(OP) \
  1111. !  $(gspath_h) $(gsmatrix_h) $(gscoord_h) $(gsstate_h) $(state_h)
  1112. ! kfzeit_=zkfzeit.$(OBJ) 
  1113. ! kfzeit.dev: $(kfzeit_)
  1114. !     $(SHP)gssetmod kfzeit $(kfzeit_)
  1115. !     $(SHP)gsaddmod kfzeit -oper zkfzeit
  1116. !     $(SHP)gsaddmod kfzeit -ps kfzeit
  1117. ! zkfpc98.$(OBJ): zkfpc98.c $(OP) $(gsmatrix_h) $(state_h) $(store_h) $(alloc_h)
  1118. ! kfpc98_=zkfpc98.$(OBJ) 
  1119. ! kfpc98.dev: $(kfpc98_)
  1120. !     $(SHP)gssetmod kfpc98 $(kfpc98_)
  1121. !     $(SHP)gsaddmod kfpc98 -oper zkfpc98
  1122. !     $(SHP)gsaddmod kfpc98 -ps kfpc98
  1123. !     $(SHP)gsaddmod kfpc98 -lib pc
  1124.   
  1125.   ### Filters other than eexec and ASCIIHex
  1126.   
  1127. *** cc-head.mak.orig    Fri Apr 10 19:46:10 1992
  1128. --- cc-head.mak    Fri May 15 17:28:42 1992
  1129. ***************
  1130. *** 59,65 ****
  1131.   # Add -DSVR4 (not -DSYSV) for System V release 4.
  1132.   # XCFLAGS can be set from the command line.
  1133.   
  1134. ! CFLAGS=-O $(XCFLAGS)
  1135.   
  1136.   # Define platform flags for ld.
  1137.   # SunOS and some others want -X; Ultrix wants -x.
  1138. --- 59,65 ----
  1139.   # Add -DSVR4 (not -DSYSV) for System V release 4.
  1140.   # XCFLAGS can be set from the command line.
  1141.   
  1142. ! CFLAGS=-O $(XCFLAGS) -DCOMPFONT -DWMODE -DKANJI
  1143.   
  1144.   # Define platform flags for ld.
  1145.   # SunOS and some others want -X; Ultrix wants -x.
  1146. ***************
  1147. *** 100,106 ****
  1148.   
  1149.   # Choose the language feature(s) to include.  See gs.mak for details.
  1150.   
  1151. ! FEATURE_DEVS=filter.dev dps.dev level2.dev
  1152.   
  1153.   # Choose the device(s) to include.  See devs.mak for details.
  1154.   
  1155. --- 100,107 ----
  1156.   
  1157.   # Choose the language feature(s) to include.  See gs.mak for details.
  1158.   
  1159. ! FEATURE_DEVS=filter.dev dps.dev level2.dev compfont.dev kanji.dev \
  1160. !          kfpcf.dev kfsnf.dev kfzeit.dev kfjtex.dev
  1161.   
  1162.   # Choose the device(s) to include.  See devs.mak for details.
  1163.   
  1164. *** gcc-head.mak.orig    Fri Apr 10 19:46:10 1992
  1165. --- gcc-head.mak    Fri May 15 17:28:42 1992
  1166. ***************
  1167. *** 67,73 ****
  1168.   #   specific stuff that <math.h> typically needs; nevertheless, we expect
  1169.   #   gcc to accept ANSI-style function prototypes and function definitions.
  1170.   
  1171. ! CFLAGS=-g -O $(XCFLAGS)
  1172.   
  1173.   # Define platform flags for ld.
  1174.   # SunOS and some others want -X; Ultrix wants -x.
  1175. --- 67,73 ----
  1176.   #   specific stuff that <math.h> typically needs; nevertheless, we expect
  1177.   #   gcc to accept ANSI-style function prototypes and function definitions.
  1178.   
  1179. ! CFLAGS=-g -O $(XCFLAGS) -DCOMPFONT -DWMODE -DKANJI
  1180.   
  1181.   # Define platform flags for ld.
  1182.   # SunOS and some others want -X; Ultrix wants -x.
  1183. ***************
  1184. *** 108,114 ****
  1185.   
  1186.   # Choose the language feature(s) to include.  See gs.mak for details.
  1187.   
  1188. ! FEATURE_DEVS=filter.dev dps.dev level2.dev
  1189.   
  1190.   # Choose the device(s) to include.  See devs.mak for details.
  1191.   
  1192. --- 108,115 ----
  1193.   
  1194.   # Choose the language feature(s) to include.  See gs.mak for details.
  1195.   
  1196. ! FEATURE_DEVS=filter.dev dps.dev level2.dev compfont.dev kanji.dev \
  1197. !          kfpcf.dev kfsnf.dev kfzeit.dev kfjtex.dev
  1198.   
  1199.   # Choose the device(s) to include.  See devs.mak for details.
  1200.   
  1201. *** ansihead.mak.orig    Thu Mar 26 01:24:08 1992
  1202. --- ansihead.mak    Fri May 15 17:28:43 1992
  1203. ***************
  1204. *** 64,70 ****
  1205.   # The HP 400 seems to want -Aa -w -D_HPUX_SOURCE.
  1206.   # XCFLAGS can be set from the command line.
  1207.   
  1208. ! CFLAGS=-O $(XCFLAGS)
  1209.   
  1210.   # Define platform flags for ld.
  1211.   # SunOS and some others want -X; Ultrix wants -x.
  1212. --- 64,70 ----
  1213.   # The HP 400 seems to want -Aa -w -D_HPUX_SOURCE.
  1214.   # XCFLAGS can be set from the command line.
  1215.   
  1216. ! CFLAGS=-O $(XCFLAGS) -DCOMPFONT -DWMODE -DKANJI
  1217.   
  1218.   # Define platform flags for ld.
  1219.   # SunOS and some others want -X; Ultrix wants -x.
  1220. ***************
  1221. *** 104,110 ****
  1222.   
  1223.   # Choose the language feature(s) to include.  See gs.mak for details.
  1224.   
  1225. ! FEATURE_DEVS=filter.dev dps.dev level2.dev
  1226.   
  1227.   # Choose the device(s) to include.  See devs.mak for details.
  1228.   
  1229. --- 104,111 ----
  1230.   
  1231.   # Choose the language feature(s) to include.  See gs.mak for details.
  1232.   
  1233. ! FEATURE_DEVS=filter.dev dps.dev level2.dev compfont.dev kanji.dev \
  1234. !          kfpcf.dev kfsnf.dev kfzeit.dev kfjtex.dev
  1235.   
  1236.   # Choose the device(s) to include.  See devs.mak for details.
  1237.   
  1238. *** unixhead.mak.orig    Mon May 25 19:20:19 1992
  1239. --- unixhead.mak    Mon May 25 19:00:57 1992
  1240. ***************
  1241. *** 49,55 ****
  1242.   
  1243.   CCFLAGS=$(GENOPT) $(CFLAGS)
  1244.   
  1245. ! .c.o: $(AK)
  1246.       $(CCC) $*.c
  1247.   
  1248.   CC0=$(CCC)
  1249. --- 49,55 ----
  1250.   
  1251.   CCFLAGS=$(GENOPT) $(CFLAGS)
  1252.   
  1253. ! .c.o:
  1254.       $(CCC) $*.c
  1255.   
  1256.   CC0=$(CCC)
  1257. *** unix-cc.mak.orig    Wed Apr 22 05:24:49 1992
  1258. --- unix-cc.mak    Wed Jul  1 18:58:15 1992
  1259. ***************
  1260. *** 59,65 ****
  1261.   # Add -DSVR4 (not -DSYSV) for System V release 4.
  1262.   # XCFLAGS can be set from the command line.
  1263.   
  1264. ! CFLAGS=-O $(XCFLAGS)
  1265.   
  1266.   # Define platform flags for ld.
  1267.   # SunOS and some others want -X; Ultrix wants -x.
  1268. --- 59,65 ----
  1269.   # Add -DSVR4 (not -DSYSV) for System V release 4.
  1270.   # XCFLAGS can be set from the command line.
  1271.   
  1272. ! CFLAGS=-O $(XCFLAGS) -DCOMPFONT -DWMODE -DKANJI
  1273.   
  1274.   # Define platform flags for ld.
  1275.   # SunOS and some others want -X; Ultrix wants -x.
  1276. ***************
  1277. *** 100,106 ****
  1278.   
  1279.   # Choose the language feature(s) to include.  See gs.mak for details.
  1280.   
  1281. ! FEATURE_DEVS=filter.dev dps.dev level2.dev
  1282.   
  1283.   # Choose the device(s) to include.  See devs.mak for details.
  1284.   
  1285. --- 100,107 ----
  1286.   
  1287.   # Choose the language feature(s) to include.  See gs.mak for details.
  1288.   
  1289. ! FEATURE_DEVS=filter.dev dps.dev level2.dev compfont.dev kanji.dev \
  1290. !          kfpcf.dev kfsnf.dev kfzeit.dev kfjtex.dev
  1291.   
  1292.   # Choose the device(s) to include.  See devs.mak for details.
  1293.   
  1294. ***************
  1295. *** 175,181 ****
  1296.   
  1297.   CCFLAGS=$(GENOPT) $(CFLAGS)
  1298.   
  1299. ! .c.o: $(AK)
  1300.       $(CCC) $*.c
  1301.   
  1302.   CC0=$(CCC)
  1303. --- 176,182 ----
  1304.   
  1305.   CCFLAGS=$(GENOPT) $(CFLAGS)
  1306.   
  1307. ! .c.o:
  1308.       $(CCC) $*.c
  1309.   
  1310.   CC0=$(CCC)
  1311. ***************
  1312. *** 708,723 ****
  1313.   
  1314.   ### Composite font support
  1315.   
  1316. - gschar0.$(OBJ): gschar0.c $(GXERR) \
  1317. -   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h)
  1318.   zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  1319.    $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  1320.   
  1321. ! compfont_=zfont0.$(OBJ) gschar0.$(OBJ)
  1322.   compfont.dev: $(compfont_)
  1323.       $(SHP)gssetmod compfont $(compfont_)
  1324. !     $(SHP)gsaddmod compfont -oper zfont0
  1325.   
  1326.   ### Filters other than eexec and ASCIIHex
  1327.   
  1328. --- 709,790 ----
  1329.   
  1330.   ### Composite font support
  1331.   
  1332.   zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  1333.    $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  1334.   
  1335. ! zcomp.$(OBJ): zcomp.c $(OP) $(gxfixed_h) $(gxmatrix_h) $(gschar_h) \
  1336. !  $(gxdevice_h) $(gxfont_h) $(gspath_h) $(gzstate_h) \
  1337. !  $(alloc_h) $(dict_h) $(font_h) $(iutil_h) $(name_h) \
  1338. !  $(estack_h) $(state_h) $(store_h)
  1339. ! compfont_=zfont0.$(OBJ) zcomp.$(OBJ)
  1340.   compfont.dev: $(compfont_)
  1341.       $(SHP)gssetmod compfont $(compfont_)
  1342. !     $(SHP)gsaddmod compfont -oper zfont0 zcomp
  1343. ! ### Kanji font support
  1344. ! zimpath.$(OBJ): zimpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h)
  1345. ! kfutil.$(OBJ): kfutil.c $(OP) $(gsmatrix_h)
  1346. ! kanji_=zimpath.$(OBJ) kfutil.$(OBJ)
  1347. ! kanji.dev: $(kanji_)
  1348. !     $(SHP)gssetmod kanji $(kanji_)
  1349. !     $(SHP)gsaddmod kanji -oper zimpath
  1350. ! zkfpcf.$(OBJ): zkfpcf.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1351. !     $(CCC) -Iinclude.pcf zkfpcf.c
  1352. ! kfpcf_=zkfpcf.$(OBJ) 
  1353. ! kfpcf.dev: $(kfpcf_)
  1354. !     $(SHP)gssetmod kfpcf $(kfpcf_)
  1355. !     $(SHP)gsaddmod kfpcf -oper zkfpcf
  1356. !     $(SHP)gsaddmod kfpcf -ps kfpcf
  1357. ! zkfsnf.$(OBJ): zkfsnf.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1358. !     $(CCC) -Iinclude.snf zkfsnf.c
  1359. ! kfsnf_=zkfsnf.$(OBJ) 
  1360. ! kfsnf.dev: $(kfsnf_)
  1361. !     $(SHP)gssetmod kfsnf $(kfsnf_)
  1362. !     $(SHP)gsaddmod kfsnf -oper zkfsnf
  1363. !     $(SHP)gsaddmod kfsnf -ps kfsnf
  1364. ! zkfsony.$(OBJ): zkfsony.c $(OP) $(gspath_h) $(state_h)
  1365. ! kfsony_=zkfsony.$(OBJ)
  1366. ! kfsony.dev: $(kfsony_)
  1367. !     $(SHP)gssetmod kfsony $(kfsony_)
  1368. !     $(SHP)gsaddmod kfsony -oper zkfsony
  1369. !     $(SHP)gsaddmod kfsony -ps kfsony
  1370. !     $(SHP)gsaddmod kfsony -lib FSlib
  1371. ! zkfjtex.$(OBJ): zkfjtex.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1372. ! kfjtex_=zkfjtex.$(OBJ) 
  1373. ! kfjtex.dev: $(kfjtex_)
  1374. !     $(SHP)gssetmod kfjtex $(kfjtex_)
  1375. !     $(SHP)gsaddmod kfjtex -oper zkfjtex
  1376. !     $(SHP)gsaddmod kfjtex -ps kfjtex
  1377. ! zkfzeit.$(OBJ): zkfzeit.c $(OP) \
  1378. !  $(gspath_h) $(gsmatrix_h) $(gscoord_h) $(gsstate_h) $(state_h)
  1379. ! kfzeit_=zkfzeit.$(OBJ) 
  1380. ! kfzeit.dev: $(kfzeit_)
  1381. !     $(SHP)gssetmod kfzeit $(kfzeit_)
  1382. !     $(SHP)gsaddmod kfzeit -oper zkfzeit
  1383. !     $(SHP)gsaddmod kfzeit -ps kfzeit
  1384. ! zkfpc98.$(OBJ): zkfpc98.c $(OP) $(gsmatrix_h) $(state_h) $(store_h) $(alloc_h)
  1385. ! kfpc98_=zkfpc98.$(OBJ) 
  1386. ! kfpc98.dev: $(kfpc98_)
  1387. !     $(SHP)gssetmod kfpc98 $(kfpc98_)
  1388. !     $(SHP)gsaddmod kfpc98 -oper zkfpc98
  1389. !     $(SHP)gsaddmod kfpc98 -ps kfpc98
  1390. !     $(SHP)gsaddmod kfpc98 -lib pc
  1391.   
  1392.   ### Filters other than eexec and ASCIIHex
  1393.   
  1394. *** unix-gcc.mak.orig    Wed Apr 22 05:24:49 1992
  1395. --- unix-gcc.mak    Wed Jul  1 18:58:15 1992
  1396. ***************
  1397. *** 67,73 ****
  1398.   #   specific stuff that <math.h> typically needs; nevertheless, we expect
  1399.   #   gcc to accept ANSI-style function prototypes and function definitions.
  1400.   
  1401. ! CFLAGS=-g -O $(XCFLAGS)
  1402.   
  1403.   # Define platform flags for ld.
  1404.   # SunOS and some others want -X; Ultrix wants -x.
  1405. --- 67,73 ----
  1406.   #   specific stuff that <math.h> typically needs; nevertheless, we expect
  1407.   #   gcc to accept ANSI-style function prototypes and function definitions.
  1408.   
  1409. ! CFLAGS=-g -O $(XCFLAGS) -DCOMPFONT -DWMODE -DKANJI
  1410.   
  1411.   # Define platform flags for ld.
  1412.   # SunOS and some others want -X; Ultrix wants -x.
  1413. ***************
  1414. *** 108,114 ****
  1415.   
  1416.   # Choose the language feature(s) to include.  See gs.mak for details.
  1417.   
  1418. ! FEATURE_DEVS=filter.dev dps.dev level2.dev
  1419.   
  1420.   # Choose the device(s) to include.  See devs.mak for details.
  1421.   
  1422. --- 108,115 ----
  1423.   
  1424.   # Choose the language feature(s) to include.  See gs.mak for details.
  1425.   
  1426. ! FEATURE_DEVS=filter.dev dps.dev level2.dev compfont.dev kanji.dev \
  1427. !          kfpcf.dev kfsnf.dev kfzeit.dev kfjtex.dev
  1428.   
  1429.   # Choose the device(s) to include.  See devs.mak for details.
  1430.   
  1431. ***************
  1432. *** 183,189 ****
  1433.   
  1434.   CCFLAGS=$(GENOPT) $(CFLAGS)
  1435.   
  1436. ! .c.o: $(AK)
  1437.       $(CCC) $*.c
  1438.   
  1439.   CC0=$(CCC)
  1440. --- 184,190 ----
  1441.   
  1442.   CCFLAGS=$(GENOPT) $(CFLAGS)
  1443.   
  1444. ! .c.o:
  1445.       $(CCC) $*.c
  1446.   
  1447.   CC0=$(CCC)
  1448. ***************
  1449. *** 716,731 ****
  1450.   
  1451.   ### Composite font support
  1452.   
  1453. - gschar0.$(OBJ): gschar0.c $(GXERR) \
  1454. -   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h)
  1455.   zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  1456.    $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  1457.   
  1458. ! compfont_=zfont0.$(OBJ) gschar0.$(OBJ)
  1459.   compfont.dev: $(compfont_)
  1460.       $(SHP)gssetmod compfont $(compfont_)
  1461. !     $(SHP)gsaddmod compfont -oper zfont0
  1462.   
  1463.   ### Filters other than eexec and ASCIIHex
  1464.   
  1465. --- 717,798 ----
  1466.   
  1467.   ### Composite font support
  1468.   
  1469.   zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  1470.    $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  1471.   
  1472. ! zcomp.$(OBJ): zcomp.c $(OP) $(gxfixed_h) $(gxmatrix_h) $(gschar_h) \
  1473. !  $(gxdevice_h) $(gxfont_h) $(gspath_h) $(gzstate_h) \
  1474. !  $(alloc_h) $(dict_h) $(font_h) $(iutil_h) $(name_h) \
  1475. !  $(estack_h) $(state_h) $(store_h)
  1476. ! compfont_=zfont0.$(OBJ) zcomp.$(OBJ)
  1477.   compfont.dev: $(compfont_)
  1478.       $(SHP)gssetmod compfont $(compfont_)
  1479. !     $(SHP)gsaddmod compfont -oper zfont0 zcomp
  1480. ! ### Kanji font support
  1481. ! zimpath.$(OBJ): zimpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h)
  1482. ! kfutil.$(OBJ): kfutil.c $(OP) $(gsmatrix_h)
  1483. ! kanji_=zimpath.$(OBJ) kfutil.$(OBJ)
  1484. ! kanji.dev: $(kanji_)
  1485. !     $(SHP)gssetmod kanji $(kanji_)
  1486. !     $(SHP)gsaddmod kanji -oper zimpath
  1487. ! zkfpcf.$(OBJ): zkfpcf.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1488. !     $(CCC) -Iinclude.pcf zkfpcf.c
  1489. ! kfpcf_=zkfpcf.$(OBJ) 
  1490. ! kfpcf.dev: $(kfpcf_)
  1491. !     $(SHP)gssetmod kfpcf $(kfpcf_)
  1492. !     $(SHP)gsaddmod kfpcf -oper zkfpcf
  1493. !     $(SHP)gsaddmod kfpcf -ps kfpcf
  1494. ! zkfsnf.$(OBJ): zkfsnf.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1495. !     $(CCC) -Iinclude.snf zkfsnf.c
  1496. ! kfsnf_=zkfsnf.$(OBJ) 
  1497. ! kfsnf.dev: $(kfsnf_)
  1498. !     $(SHP)gssetmod kfsnf $(kfsnf_)
  1499. !     $(SHP)gsaddmod kfsnf -oper zkfsnf
  1500. !     $(SHP)gsaddmod kfsnf -ps kfsnf
  1501. ! zkfsony.$(OBJ): zkfsony.c $(OP) $(gspath_h) $(state_h)
  1502. ! kfsony_=zkfsony.$(OBJ)
  1503. ! kfsony.dev: $(kfsony_)
  1504. !     $(SHP)gssetmod kfsony $(kfsony_)
  1505. !     $(SHP)gsaddmod kfsony -oper zkfsony
  1506. !     $(SHP)gsaddmod kfsony -ps kfsony
  1507. !     $(SHP)gsaddmod kfsony -lib FSlib
  1508. ! zkfjtex.$(OBJ): zkfjtex.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1509. ! kfjtex_=zkfjtex.$(OBJ) 
  1510. ! kfjtex.dev: $(kfjtex_)
  1511. !     $(SHP)gssetmod kfjtex $(kfjtex_)
  1512. !     $(SHP)gsaddmod kfjtex -oper zkfjtex
  1513. !     $(SHP)gsaddmod kfjtex -ps kfjtex
  1514. ! zkfzeit.$(OBJ): zkfzeit.c $(OP) \
  1515. !  $(gspath_h) $(gsmatrix_h) $(gscoord_h) $(gsstate_h) $(state_h)
  1516. ! kfzeit_=zkfzeit.$(OBJ) 
  1517. ! kfzeit.dev: $(kfzeit_)
  1518. !     $(SHP)gssetmod kfzeit $(kfzeit_)
  1519. !     $(SHP)gsaddmod kfzeit -oper zkfzeit
  1520. !     $(SHP)gsaddmod kfzeit -ps kfzeit
  1521. ! zkfpc98.$(OBJ): zkfpc98.c $(OP) $(gsmatrix_h) $(state_h) $(store_h) $(alloc_h)
  1522. ! kfpc98_=zkfpc98.$(OBJ) 
  1523. ! kfpc98.dev: $(kfpc98_)
  1524. !     $(SHP)gssetmod kfpc98 $(kfpc98_)
  1525. !     $(SHP)gsaddmod kfpc98 -oper zkfpc98
  1526. !     $(SHP)gsaddmod kfpc98 -ps kfpc98
  1527. !     $(SHP)gsaddmod kfpc98 -lib pc
  1528.   
  1529.   ### Filters other than eexec and ASCIIHex
  1530.   
  1531. *** unix-ansi.mak.orig    Wed Apr 22 05:24:48 1992
  1532. --- unix-ansi.mak    Wed Jul  1 18:58:15 1992
  1533. ***************
  1534. *** 64,70 ****
  1535.   # The HP 400 seems to want -Aa -w -D_HPUX_SOURCE.
  1536.   # XCFLAGS can be set from the command line.
  1537.   
  1538. ! CFLAGS=-O $(XCFLAGS)
  1539.   
  1540.   # Define platform flags for ld.
  1541.   # SunOS and some others want -X; Ultrix wants -x.
  1542. --- 64,70 ----
  1543.   # The HP 400 seems to want -Aa -w -D_HPUX_SOURCE.
  1544.   # XCFLAGS can be set from the command line.
  1545.   
  1546. ! CFLAGS=-O $(XCFLAGS) -DCOMPFONT -DWMODE -DKANJI
  1547.   
  1548.   # Define platform flags for ld.
  1549.   # SunOS and some others want -X; Ultrix wants -x.
  1550. ***************
  1551. *** 104,110 ****
  1552.   
  1553.   # Choose the language feature(s) to include.  See gs.mak for details.
  1554.   
  1555. ! FEATURE_DEVS=filter.dev dps.dev level2.dev
  1556.   
  1557.   # Choose the device(s) to include.  See devs.mak for details.
  1558.   
  1559. --- 104,111 ----
  1560.   
  1561.   # Choose the language feature(s) to include.  See gs.mak for details.
  1562.   
  1563. ! FEATURE_DEVS=filter.dev dps.dev level2.dev compfont.dev kanji.dev \
  1564. !          kfpcf.dev kfsnf.dev kfzeit.dev kfjtex.dev
  1565.   
  1566.   # Choose the device(s) to include.  See devs.mak for details.
  1567.   
  1568. ***************
  1569. *** 179,185 ****
  1570.   
  1571.   CCFLAGS=$(GENOPT) $(CFLAGS)
  1572.   
  1573. ! .c.o: $(AK)
  1574.       $(CCC) $*.c
  1575.   
  1576.   CC0=$(CCC)
  1577. --- 180,186 ----
  1578.   
  1579.   CCFLAGS=$(GENOPT) $(CFLAGS)
  1580.   
  1581. ! .c.o:
  1582.       $(CCC) $*.c
  1583.   
  1584.   CC0=$(CCC)
  1585. ***************
  1586. *** 712,727 ****
  1587.   
  1588.   ### Composite font support
  1589.   
  1590. - gschar0.$(OBJ): gschar0.c $(GXERR) \
  1591. -   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h)
  1592.   zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  1593.    $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  1594.   
  1595. ! compfont_=zfont0.$(OBJ) gschar0.$(OBJ)
  1596.   compfont.dev: $(compfont_)
  1597.       $(SHP)gssetmod compfont $(compfont_)
  1598. !     $(SHP)gsaddmod compfont -oper zfont0
  1599.   
  1600.   ### Filters other than eexec and ASCIIHex
  1601.   
  1602. --- 713,794 ----
  1603.   
  1604.   ### Composite font support
  1605.   
  1606.   zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  1607.    $(alloc_h) $(font_h) $(dict_h) $(name_h) $(state_h) $(store_h)
  1608.   
  1609. ! zcomp.$(OBJ): zcomp.c $(OP) $(gxfixed_h) $(gxmatrix_h) $(gschar_h) \
  1610. !  $(gxdevice_h) $(gxfont_h) $(gspath_h) $(gzstate_h) \
  1611. !  $(alloc_h) $(dict_h) $(font_h) $(iutil_h) $(name_h) \
  1612. !  $(estack_h) $(state_h) $(store_h)
  1613. ! compfont_=zfont0.$(OBJ) zcomp.$(OBJ)
  1614.   compfont.dev: $(compfont_)
  1615.       $(SHP)gssetmod compfont $(compfont_)
  1616. !     $(SHP)gsaddmod compfont -oper zfont0 zcomp
  1617. ! ### Kanji font support
  1618. ! zimpath.$(OBJ): zimpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h)
  1619. ! kfutil.$(OBJ): kfutil.c $(OP) $(gsmatrix_h)
  1620. ! kanji_=zimpath.$(OBJ) kfutil.$(OBJ)
  1621. ! kanji.dev: $(kanji_)
  1622. !     $(SHP)gssetmod kanji $(kanji_)
  1623. !     $(SHP)gsaddmod kanji -oper zimpath
  1624. ! zkfpcf.$(OBJ): zkfpcf.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1625. !     $(CCC) -Iinclude.pcf zkfpcf.c
  1626. ! kfpcf_=zkfpcf.$(OBJ) 
  1627. ! kfpcf.dev: $(kfpcf_)
  1628. !     $(SHP)gssetmod kfpcf $(kfpcf_)
  1629. !     $(SHP)gsaddmod kfpcf -oper zkfpcf
  1630. !     $(SHP)gsaddmod kfpcf -ps kfpcf
  1631. ! zkfsnf.$(OBJ): zkfsnf.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1632. !     $(CCC) -Iinclude.snf zkfsnf.c
  1633. ! kfsnf_=zkfsnf.$(OBJ) 
  1634. ! kfsnf.dev: $(kfsnf_)
  1635. !     $(SHP)gssetmod kfsnf $(kfsnf_)
  1636. !     $(SHP)gsaddmod kfsnf -oper zkfsnf
  1637. !     $(SHP)gsaddmod kfsnf -ps kfsnf
  1638. ! zkfsony.$(OBJ): zkfsony.c $(OP) $(gspath_h) $(state_h)
  1639. ! kfsony_=zkfsony.$(OBJ)
  1640. ! kfsony.dev: $(kfsony_)
  1641. !     $(SHP)gssetmod kfsony $(kfsony_)
  1642. !     $(SHP)gsaddmod kfsony -oper zkfsony
  1643. !     $(SHP)gsaddmod kfsony -ps kfsony
  1644. !     $(SHP)gsaddmod kfsony -lib FSlib
  1645. ! zkfjtex.$(OBJ): zkfjtex.c $(OP) $(gsmatrix_h) $(state_h) $(store_h)
  1646. ! kfjtex_=zkfjtex.$(OBJ) 
  1647. ! kfjtex.dev: $(kfjtex_)
  1648. !     $(SHP)gssetmod kfjtex $(kfjtex_)
  1649. !     $(SHP)gsaddmod kfjtex -oper zkfjtex
  1650. !     $(SHP)gsaddmod kfjtex -ps kfjtex
  1651. ! zkfzeit.$(OBJ): zkfzeit.c $(OP) \
  1652. !  $(gspath_h) $(gsmatrix_h) $(gscoord_h) $(gsstate_h) $(state_h)
  1653. ! kfzeit_=zkfzeit.$(OBJ) 
  1654. ! kfzeit.dev: $(kfzeit_)
  1655. !     $(SHP)gssetmod kfzeit $(kfzeit_)
  1656. !     $(SHP)gsaddmod kfzeit -oper zkfzeit
  1657. !     $(SHP)gsaddmod kfzeit -ps kfzeit
  1658. ! zkfpc98.$(OBJ): zkfpc98.c $(OP) $(gsmatrix_h) $(state_h) $(store_h) $(alloc_h)
  1659. ! kfpc98_=zkfpc98.$(OBJ) 
  1660. ! kfpc98.dev: $(kfpc98_)
  1661. !     $(SHP)gssetmod kfpc98 $(kfpc98_)
  1662. !     $(SHP)gsaddmod kfpc98 -oper zkfpc98
  1663. !     $(SHP)gsaddmod kfpc98 -ps kfpc98
  1664. !     $(SHP)gsaddmod kfpc98 -lib pc
  1665.   
  1666.   ### Filters other than eexec and ASCIIHex
  1667.   
  1668.