(*                                                                       *)
(*                     Projet      Formel                                *)
(*                                                                       *)
(* CAML-light: MLgraph library *)
(*                                                                       *)
(*************************************************************************)
(*                                                                       *)
(*                            LIENS                                      *)
(*                        45 rue d'Ulm                                   *)
(*                         75005 PARIS                                   *)
(*                            France                                     *)
(*                                                                       *)
(*************************************************************************)


#open "MLgraph";;

modify_body [
"%!PS-Adobe-1.0";
"%%Creator:  Emmanuel Chailloux & Guy Cousineau ";
"%%Title: Font informations";
"%%EndComments";
"";
"% $Id: createfonts.ps,v 1.1 1997/08/14 11:37:15 emmanuel Exp $";
"% affiche les tailles des caracteres d'une police";
"";
"";
"% wd         : numero de caractere";
"% npr        :  calcule la largeur du caractere";
"% vpr	 :  calcule la bouding box d'un caractere";
"% code     :  suite des 256 caracteres";
"% create   :  recupere la description d'une police de caracteres";
"";
"";
"/wd 0 def";
"";
"%    wx wy npr -    affiche wx ;";
"/npr {";
"pop";
"(                    ) cvs print";
"wd 256 ne {(;) print} if";
"% 256 tous";
"(\n) print";
"}";
"def";
"";
"%  llx lly urx ury vpr -  affiche ((llx,lly),(urx,ury));";
"";
"/vpr{";
"4  -1 roll";
"(\( \() print";
"(                    ) cvs print";
"(,) print";
"3  -1 roll";
"(                     ) cvs print";
"(\),\() print";
"2  -1 roll";
"(                     ) cvs print";
"(,) print";
"(                     ) cvs print";
"(\)\)) print";
"wd 256 ne {(;) print} if";
"% 256 tous";
"(\n) print	   ";
"flush";
" /wd wd 1 add def";
"} def";
"";
"% code : 256 caracteres sous forme octale";
"% en fait 255 : bug caml-light";
"/code ";
"[";
"  (\000) (\001) (\002) (\003) (\004) (\005) (\006) (\007)";
"  (\010) (\011) (\012) (\013) (\014) (\015) (\016) (\017)";
"  (\020) (\021) (\022) (\023) (\024) (\025) (\026) (\027)";
"  (\030) (\031) (\032) (\033) (\034) (\035) (\036) (\037)";
"  (\040) (\041) (\042) (\043) (\044) (\045) (\046) (\047)";
"  (\050) (\051) (\052) (\053) (\054) (\055) (\056) (\057)";
"  (\060) (\061) (\062) (\063) (\064) (\065) (\066) (\067)";
"  (\070) (\071) (\072) (\073) (\074) (\075) (\076) (\077)";
"";
"  (\100) (\101) (\102) (\103) (\104) (\105) (\106) (\107)";
"  (\110) (\111) (\112) (\113) (\114) (\115) (\116) (\117)";
"  (\120) (\121) (\122) (\123) (\124) (\125) (\126) (\127)";
"  (\130) (\131) (\132) (\133) (\134) (\135) (\136) (\137)";
"  (\140) (\141) (\142) (\143) (\144) (\145) (\146) (\147)";
"  (\150) (\151) (\152) (\153) (\154) (\155) (\156) (\157)";
"  (\160) (\161) (\162) (\163) (\164) (\165) (\166) (\167)";
"  (\170) (\171) (\172) (\173) (\174) (\175) (\176) (\177)";
"";
"  (\200) (\201) (\202) (\203) (\204) (\205) (\206) (\207)";
"  (\210) (\211) (\212) (\213) (\214) (\215) (\216) (\217)";
"  (\220) (\221) (\222) (\223) (\224) (\225) (\226) (\227)";
"  (\230) (\231) (\232) (\233) (\234) (\235) (\236) (\237)";
"  (\240) (\241) (\242) (\243) (\244) (\245) (\246) (\247)";
"  (\250) (\251) (\252) (\253) (\254) (\255) (\256) (\257)";
"  (\260) (\261) (\262) (\263) (\264) (\265) (\266) (\267)";
"  (\270) (\271) (\272) (\273) (\274) (\275) (\276) (\277)";
"";
"  (\300) (\301) (\302) (\303) (\304) (\305) (\306) (\307)";
"  (\310) (\311) (\312) (\313) (\314) (\315) (\316) (\317)";
"  (\320) (\321) (\322) (\323) (\324) (\325) (\326) (\327)";
"  (\330) (\331) (\332) (\333) (\334) (\335) (\336) (\337)";
"  (\340) (\341) (\342) (\343) (\344) (\345) (\346) (\347)";
"  (\350) (\351) (\352) (\353) (\354) (\355) (\356) (\357)";
"  (\360) (\361) (\362) (\363) (\364) (\365) (\366) (\367)";
"  (\370) (\371) (\372) (\373) (\374) (\375) (\376) ";
"]";
"def";
"% (\377)  bug caml";
"";
"% name.ps name.ml  bool font create -  affiche toutes les caracteristiques d'une police";
"";
"/create {";
"findfont 12 scalefont setfont";
"%exch";
"%(let ) print print ( =\n) print";
"(\(*Begin Font Description*\)\n) print";
"(Name\n) print";
"exch";
"pop";
"exch";
"print";
"(\n) print";
"(Width\n)print ";
"(12.0\n) print";
"(Height\n) print";
"(12.0\n) print";
"(Descr\n) print";
"{code";
"{";
" stringwidth npr ";
"} forall";
"";
"}";
"{(empty\n) print}";
"ifelse";
"(Descr_bbox\n) print";
"code";
"{gsave";
"  0 0 moveto true charpath pathbbox vpr ";
"  grestore";
"  } forall";
"(\(* End Font Description*\)\n) print";
"flush";
"}";
"def";
"";
" ";
"%(Courier) (Courier)  false /Courier create";
"%(Courier-Bold) (Courier_Bold)  false /Courier-Bold create";
"%(Courier-Oblique) (Courier_Oblique)  false /Courier-Oblique create";
"%(Courier-BoldOblique) (Courier_BoldOblique)  false /Courier-BoldOblique create";
" ";
" ";
"";
"%(Times-Roman) (Times_Roman)  true /Times-Roman create";
"%(Times-Bold) (Times_Bold)  true /Times-Bold create";
"%(Times-Italic) (Times_Italic)  true /Times-Italic create";
"%(Times-BoldItalic) (Times_BoldItalic)  true /Times-BoldItalic create";
"%(Helvetica) (Helvetica)  true /Helvetica create";
"%(Helvetica-Bold) (Helvetica_Bold )  true /Helvetica-Bold create";
"%(Helvetica-Oblique)  (Helvetica_Oblique)  true  /Helvetica-Oblique create";
"%(Helvetica-BoldOblique)  (Helvetica_BoldOblique)  true /Helvetica-BoldOblique create";
"(Symbol)  (Symbol)  true /Symbol create";
"";
"";
""];;
