texlive[50506] Master/texmf-dist: mcf2graph (21mar19)

commits+karl at tug.org commits+karl at tug.org
Thu Mar 21 21:47:41 CET 2019


Revision: 50506
          http://tug.org/svn/texlive?view=revision&revision=50506
Author:   karl
Date:     2019-03-21 21:47:41 +0100 (Thu, 21 Mar 2019)
Log Message:
-----------
mcf2graph (21mar19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.mps
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
    trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
    trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2019-03-21 20:46:35 UTC (rev 50505)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2019-03-21 20:47:41 UTC (rev 50506)
@@ -1,6 +1,31 @@
 *******************************************************************************
- Changelog of mcf2graph software package          by Akira Yamaji 2019-02-11
+ Changelog of mcf2graph software package          by Akira Yamaji 2019-03-21
 *******************************************************************************
+[ver. 4.40  / 2019-03-21]
+  -add function MC()
+  -change function name MCa() => MCat()
+  -delete function MCc(),MCd(),MCf()
+  -add angle parameter mangle
+  -add size parameter
+     thickness_mframe
+  -change size parameter name
+     bond_len => blength
+     max_bond_length => max_blength
+     font_wd,font_ht => fsize(w,h)
+     margin_left_right,margin_top_bottom
+       => fmargin(w,h)
+     thickness_font_frame => thickness_fframe
+     thickness_atom_frame => thickness_aframe
+  -delete ratio parameter ratio_bond_width
+  -delete option parameter sw_solid
+  -change option parameter name
+     sw_clip        => sw_trimming
+     sw_bond_single => sw_single
+     sw_fomt_frame  => sw_fframe
+     sw_mol_frame   => sw_mframe
+     sw_atom_frame  => sw_aframe
+  -update MCF manual
+
 [ver. 4.36  / 2019-02-11]
   -fix bug in draw atom,draw bond
   -delete size parameter atomfontsize

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/README
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2019-03-21 20:46:35 UTC (rev 50505)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/README	2019-03-21 20:47:41 UTC (rev 50506)
@@ -1,7 +1,7 @@
 ********************************************************************************
  mcf2graph  : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
  Author     : Akira Yamaji
- version    : 4.36 2019-02-11
+ version    : 4.40 2019-03-21
  E-mail     : mcf2graph at gmail.com
  Located at : http://www.ctan.org/pkg/mcf2graph
 ********************************************************************************

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2019-03-21 20:46:35 UTC (rev 50505)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2019-03-21 20:47:41 UTC (rev 50506)
@@ -1,11 +1,10 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2019.02.11
+% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2019.03.10
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %%% it must be version 4.36 or later
+input mcf2graph.mf;   %%% it must be version 4.40 or later
 %-------------------------------------------------------------------------
-font_wd:=33mm;
-font_ht:=24mm;
-max_bond_length:=4.5mm;
+fsize:=(33mm,24mm);
+max_blength:=4.5mm;
 %-------------------------------------------------------------------------
 sw_select:=1;
 %%%sw_aux_out:=1;
@@ -30,153 +29,153 @@
 %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png";
 %***************************************************************************
 beginfont("EN:Acetamiprid","MW:222.676","FM:C10H11ClN4")
-  MCf(<30,Ph,2:N,1:/Cl,4:\,!,N,/_,!,/_,!!,N,!,CN)
+  MC(<30,Ph,2:N,1:/Cl,4:\,!,N,/_,!,/_,!!,N,!,CN)
 endfont
 %***************************************************************************
 beginfont("EN:Imidacloprid","MW:255.662")
-  MCf(<30,Ph,1:N,6:/Cl,3:\,!,|,?5,2=dl,1:N,3:N,2:\,NH,!,NO2)
+  MC(<30,Ph,1:N,6:/Cl,3:\,!,|,?5,2=dl,1:N,3:N,2:\,NH,!,NO2)
 endfont
 %***************************************************************************
 beginfont("EN:Thiamethoxam","MW:291.71")
-  MCf(<30,?6,{4,6}:N,2:O,6:/_,5:\\,N,!,NO2,4:\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl)
+  MC(<30,?6,{4,6}:N,2:O,6:/_,5:\\,N,!,NO2,4:\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl)
 endfont
 %***************************************************************************
 beginfont("EN:Tebufenozide","MW:352.478")
-  MCf(<30,Ph,6:/!,3:\,//O,!,NH,!,N,/tBu,!,//O,!,|,Ph,{3,5}:/_)
+  MC(<30,Ph,6:/!,3:\,//O,!,NH,!,N,/tBu,!,//O,!,|,Ph,{3,5}:/_)
 endfont
 %***************************************************************************
 beginfont("EN:Pyridaphenthion","MW:340.334")
-  MCf(<-30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph)
+  MC(<-30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Fenitrothion","MW:277.231")
-  MCf(<30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,4:/NO2)
+  MC(<30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,4:/NO2)
 endfont
 %***************************************************************************
 beginfont("EN:Permethrin","MW:391.288")
-  MCf(<-30,?3,2^-35:*/_,2^35:/*_,1:\,!!,/Cl,!,Cl,
+  MC(<-30,?3,2^-35:*/_,2^35:/*_,1:\,!!,/Cl,!,Cl,
      3:\,//O,!,O,!2,|,Ph,3:\,O,-60,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Bensultap","MW:431.598")
-  MCf(<30,Ph,4:\,SOO,!,S,!2,N,/iPr,!2,S,!,SOO,!,Ph)
+  MC(<30,Ph,4:\,SOO,!,S,!2,N,/iPr,!2,S,!,SOO,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Azoxystorbin","MW:403.394")
-  MCf(<30,Ph,2:/CN,3:\,O,!,|,Ph,{4,6}:N,3:\,O,!,|,Ph,2:\,/COO!,!!,!,O,!)
+  MC(<30,Ph,2:/CN,3:\,O,!,|,Ph,{4,6}:N,3:\,O,!,|,Ph,2:\,/COO!,!!,!,O,!)
 endfont
 %***************************************************************************
 beginfont("EN:Isoprothiolane","MW:290.392")
-  MCf(<30,!,/_,!,O,!,//O,|,!2,//O,!,O,!,/_,!,2:\\,|,?5,{2,5}:S)
+  MC(<30,!,/_,!,O,!,//O,|,!2,//O,!,O,!,/_,!,2:\\,|,?5,{2,5}:S)
 endfont%***************************************************************************
 beginfont("EN:Etridiazole","MW:247.518")
-  MCf(<18,?5,{1,3}=dl,{2,4}:N,5:S,1:/O!2,3:/CCl3)
+  MC(<18,?5,{1,3}=dl,{2,4}:N,5:S,1:/O!2,3:/CCl3)
 endfont
 %***************************************************************************
 beginfont("EN:Oxine-Copper","MW:351.852")
-  MCf(Ph,4:N,5=Ph,-4:\,O,-60,<90,Cu,-90,O,60,|,Ph,5=Ph,10:N,
+  MC(Ph,4:N,5=Ph,-4:\,O,-60,<90,Cu,-90,O,60,|,Ph,5=Ph,10:N,
      ||,4:@,12~vf:#,23:@,12~vf:#)
 endfont
 %***************************************************************************
 beginfont("EN:Captan","MW:300.578")
-  MCf(<12,?6,6=dl,3=?5,8:N,{7,9}://O,8:\,S,!,CCl3)
+  MC(<12,?6,6=dl,3=?5,8:N,{7,9}://O,8:\,S,!,CCl3)
 endfont
 %***************************************************************************
 beginfont("EN:Chlorothalonil","MW:265.902")
-  MCf(<30,Ph,{1,2,4,6}:/Cl,{3,5}:/CN)
+  MC(<30,Ph,{1,2,4,6}:/Cl,{3,5}:/CN)
 endfont
 %***************************************************************************
 beginfont("EN:Tetraconazole","MW:372.145")
-  MCf(<-6,
+  MC(<-6,
     ?5,{2,5}=dl,{1,2,4}:N,4:\,!3,O,!,/F^35,/F^-35,!,CF2,
       7:\,|,Ph,{4,6}:/Cl)
 endfont
 %***************************************************************************
 beginfont("EN:Endosulfan","MW:406.904");
-  MCf(<26,?7,7=?6[13],11:@,208~wf`1.45,8~wb:#,10=d,{3,5}:O,4:S,4://O,
+  MC(<26,?7,7=?6[13],11:@,208~wf`1.45,8~wb:#,10=d,{3,5}:O,4:S,4://O,
       {8,9,10,11,12^-210,12^-150}:/Cl)
 endfont;
 %***************************************************************************
 beginfont("EN:Flutolanil","MW:323.315")
-  MCf(<30,Ph,2:/CF3,3:\,//O,!,NH,!,|,Ph,6:/OiPr)
+  MC(<30,Ph,2:/CF3,3:\,//O,!,NH,!,|,Ph,6:/OiPr)
 endfont
 %***************************************************************************
 beginfont("EN:Propiconazole","MW:342.22")
-  MCf(<-6,?5,{2,5}=dl,{1,3,4}:N,
+  MC(<-6,?5,{2,5}=dl,{1,3,4}:N,
       4:\,!2,Ph,{-1,-3}:/Cl,7:@,|,?5,{1,4}:O,3:/!2^24)
 endfont
 %***************************************************************************
 beginfont("EN:Pencycuron","MW:328.84")
-  MCf(<30,Ph,6:/Cl,3:\,!,N,/?5,!,//O,!,NH,!,Ph)
+  MC(<30,Ph,6:/Cl,3:\,!,N,/?5,!,//O,!,NH,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Asulam","MW:230.238")
-  MCf(<30,Ph,6:/NH2,3:\,SOO,!,NH,!,//O,!,O,!)
+  MC(<30,Ph,6:/NH2,3:\,SOO,!,NH,!,//O,!,O,!)
 endfont
 %***************************************************************************
 beginfont("EN:Oxadiargyl","MW:341.19")
-  MCf(<30,Ph,{1,3}:/Cl,4:\,|,?5,2=d,{1,2}:N,4:O,5://O,-3:/tBu,$6:\,O,!2,!!!)
+  MC(<30,Ph,{1,3}:/Cl,4:\,|,?5,2=d,{1,2}:N,4:O,5://O,-3:/tBu,$6:\,O,!2,!!!)
 endfont
 %***************************************************************************
 beginfont("EN:Oxaziclomefone","MW:376.277")
-  MCf(<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,4:\,/_^35,/_^-35,!,|,Ph,{3,5}:/Cl)
+  MC(<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,4:\,/_^35,/_^-35,!,|,Ph,{3,5}:/Cl)
 endfont
 %***************************************************************************
 beginfont("EN:Cafenstrole","MW:350.437")
-  MCf(<30,Ph,{2,4,6}:/_,3:\,SOO,!,|,?5,{2,5}=dl,{2,4,5}:N,4:\,//O,!,N,/!,!2)
+  MC(<30,Ph,{2,4,6}:/_,3:\,SOO,!,|,?5,{2,5}=dl,{2,4,5}:N,4:\,//O,!,N,/!,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Cyclosulfamuron","MW:421.428")
-  MCf(<30,
+  MC(<30,
     Ph,5:\,//O,!,?3,4:\,NH,!,SOO,!,NH,!,//O,!,NH,!,|,Ph,{2,6}:N,{3,5}:/O!)
 endfont
 %***************************************************************************
 beginfont("EN:Napropamide","MW:271.36")
-  MCf(<-30,Ph,3=Ph,10:\,O,!,/_^35,/_^-35,!,//O,!,N,/!,!)
+  MC(<-30,Ph,3=Ph,10:\,O,!,/_^35,/_^-35,!,//O,!,N,/!,!)
 endfont
 %***************************************************************************
 beginfont("EN:Pyributicarb","MW:330.446")
-  MCf(<30,Ph,5:/tBu,3:\,O,!,//S,!,N,/_,!,|,Ph,2:N,3:/O!)
+  MC(<30,Ph,5:/tBu,3:\,O,!,//S,!,N,/_,!,|,Ph,2:N,3:/O!)
 endfont
 %***************************************************************************
 beginfont("EN:Propyzamide","MW:256.126")
-  MCf(<30,Ph,{1,5}:/Cl,3:\,//O,!,NH,!,/_^35,/_^-35,!,!!!)
+  MC(<30,Ph,{1,5}:/Cl,3:\,//O,!,NH,!,/_^35,/_^-35,!,!!!)
 endfont
 %***************************************************************************
 beginfont("EN:Pendimethalin","MW:281.312")
-  MCf(<30,Ph,{1,2}:/_,{3,5}:/NO2,4:\,NH,!,/!,!2)
+  MC(<30,Ph,{1,2}:/_,{3,5}:/NO2,4:\,NH,!,/!,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Benfluralin","MW:335.283")
-  MCf(<30,Ph,{1,3}:/NO2,5:/CF3,2:\,N,/!,!4)
+  MC(<30,Ph,{1,3}:/NO2,5:/CF3,2:\,N,/!,!4)
 endfont
 %***************************************************************************
 beginfont("EN:Trinexapac-ethyl","MW:252.266")
-  MCf(<30,?6,{2,4}://O,6:/COO!2,3:\\,/OH,!,?3)
+  MC(<30,?6,{2,4}://O,6:/COO!2,3:\\,/OH,!,?3)
 endfont
 %***************************************************************************
 beginfont("EN:Buprofezin","MW:305.44")
-  MCf(<-30,?6,{1,5}:N,3:S,6://O,5:/iPr,4:\\,N,!,tBu,1:/Ph)
+  MC(<-30,?6,{1,5}:N,3:S,6://O,5:/iPr,4:\\,N,!,tBu,1:/Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Tricyclazole","MW:189.236")
-  MCf(<30,Ph,2:/_,|,-4=?5,1:N,3:S,|,-3=?5,{2,4}=dl,{2,3}:N)
+  MC(<30,Ph,2:/_,|,-4=?5,1:N,3:S,|,-3=?5,{2,4}=dl,{2,3}:N)
 endfont
 %***************************************************************************
 beginfont("EN:Phthalide","MW:271.91")
-  MCf(<30,Ph,{1,2,5,6}:/Cl,|,-4=?5,2:O,3://O)
+  MC(<30,Ph,{1,2,5,6}:/Cl,|,-4=?5,2:O,3://O)
 endfont
 %***************************************************************************
 beginfont("EN:Probenazole","MW:223.246")
-  MCf(<12,Ph,|,-4=?5,-2=dl,1:S,{1^35,1^-35}://O,2:N,3:\,O,!2,!!)
+  MC(<12,Ph,|,-4=?5,-2=dl,1:S,{1^35,1^-35}://O,2:N,3:\,O,!2,!!)
 endfont
 %***************************************************************************
 beginfont("EN:Simetryn","MW:213.303")
-  MCf(<30,Ph,{2,4,6}:N,5:/S!,{1,3}:/NH!2)
+  MC(<30,Ph,{2,4,6}:N,5:/S!,{1,3}:/NH!2)
 endfont
 %***************************************************************************
 beginfont("EN:Rifampicin","MW:822.94")
-  MCf(<30,Ph,6:/_^30,5:/OH,|,-6=?5,1:O,3://O,2:/*_^60,
+  MC(<30,Ph,6:/_^30,5:/OH,|,-6=?5,1:O,3://O,2:/*_^60,
       |,-8=?6,{2,4}=dl,{1,4}:/OH,
       |<=1,-2:\,NH,60,//O,-60,/_,60~dl,60,60~dl,-60,
       */_,60,/*OH,-60,/*_,60,/*OH,60,*/_^30,-60,
@@ -185,7 +184,7 @@
 endfont
 %***************************************************************************
 beginfont("EN:Wortmannin","MW:428.43")
-  MCf(<30,?6,{-4,-2}=?6,-4=?5,(2,7)=?5[3],
+  MC(<30,?6,{-4,-2}=?6,-4=?5,(2,7)=?5[3],
      6:O,1://O,{7,10}=dl,8://O,17://O,-3=d,-1:O,
      {4,12}:*/_^60,11:/*H^-60,
      $5:\*,60,O,!,$14:\*^-25,//O,!,O,!)
@@ -192,27 +191,27 @@
 endfont
 %***************************************************************************
 beginfont("EN:Ampicillin","MW:349.405")
-  MCf(<45,?4,-3=?5,2:N,7:S,
+  MC(<45,?4,-3=?5,2:N,7:S,
     {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
    ,4:*\^75,NH,!,//O,!,/*NH2,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Validamycin","MW:497.494")
-  MCf(<30,?6,{5,6}:/OH,3:\,-60,OH,
+  MC(<30,?6,{5,6}:/OH,3:\,-60,OH,
     $4:\,O,-60,|,?6,2:O,{3,4,5}:/OH,6:/!OH,
     $1:\,NH,!,|,?6,2=dl,{4,5,6}:/OH,3:/!OH)
 endfont
 %**************************************************************************
 beginfont("EN:Oceltamivir","MW:312.41")
-  MCf(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5:\*,O,!,/!,!2)
+  MC(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5:\*,O,!,/!,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Luciferin","MW:280.33")
-  MCf(<30,Ph,3=?5,8:\,?5,{9,16}=dl,{9,14}:N,{7,11}:S,1:/OH,-2:*/COOH)
+  MC(<30,Ph,3=?5,8:\,?5,{9,16}=dl,{9,14}:N,{7,11}:S,1:/OH,-2:*/COOH)
 endfont
 %***************************************************************************
 beginfont("EN:Chlorophyll a","MW:893.509")
-MCf(<54,|<=1,?5,{2,5}=dl,4:N,3:\,54~dl,|,?5,{2,4}=dl,5:N,
+MC(<54,|<=1,?5,{2,5}=dl,4:N,3:\,54~dl,|,?5,{2,4}=dl,5:N,
    -2:\,54~dl,|,?5,2=d,5:N,-2:\~dl,54,|,?5,5=d,5:N,-2:\~dl,$5:#,
    -1:@,24,/*COO!^15,72,//O,$1:#,>|,
    {2,9,15,20~zf}:/_,8:/!,14:\,!!,
@@ -221,24 +220,24 @@
 endfont
 %**************************************************************************
 beginfont("EN:Gibberellin A3","MW:346.379");
-  MCf(<18,?5,3=?7,5=?6[12],8:@,160`1.3,3:#,13=dl,6=wf,8=wb,
+  MC(<18,?5,3=?7,5=?6[12],8:@,160`1.3,3:#,13=dl,6=wf,8=wb,
      5:@,40~zf`1,O,50,//O^180,14~zb:#,
      2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1,4}:*/H^60)
 endfont;
 %**************************************************************************
 beginfont("EN:Cholesterol","MW:386.664")
-  MCf(<30,?6,{-4,-2}=?6,-4=?5,7=dl,
+  MC(<30,?6,{-4,-2}=?6,-4=?5,7=dl,
      1:*/OH,{4,12}:*/_^60,
      10:/*H^180,{11,-1}:/*H^-60,9:*/H^60,-1:@,17,/*_,!4,/_,!)
 endfont
 %***************************************************************************
 beginfont("EN:Lycorine","MW:287.315")
-  MCf(<30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,{15,17}:O,
+  MC(<30,Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,{15,17}:O,
     9:/*H^180,10:*/H^60,13:*/OH,14:/*OH)
 endfont
 %**************************************************************************
 beginfont("EN:Tetrodotoxine","MW:319.27")
-  MCf(|<=1,<60,-90,60,-30`1.15,150,60,$1:#,$3:@,-135,60,-30`1.15,150,$4:#,
+  MC(|<=1,<60,-90,60,-30`1.15,150,60,$1:#,$3:@,-135,60,-30`1.15,150,$4:#,
      $10:\,O,60`1.33,60,$3~si_:#,$8:@,-15~si_,O,$12:#,>|,
      $9:@,45,-60,OH,1^120://NH,
      {5~zf^-15,7,9^-75,12,13~zf}:/OH,{2,6^180}:NH)
@@ -245,21 +244,21 @@
 endfont
 %***************************************************************************
 beginfont("EN:beta-Carotene","MW:536.888")
-  MCf(<30,?6,3=dl,{3,5^35,5^-35}:/_,
+  MC(<30,?6,3=dl,{3,5^35,5^-35}:/_,
      4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_,
      |,?6,6=dl,{6,2^35,2^-35}:/_)
 endfont
 %**************************************************************************
 beginfont("EN:alfa-Tocopherol","MW:430.717")
-  MCf(<30,Ph,3=?6,7:O,{1,2,5}:/_,8:/*_^60,6:/OH,8:\,|,!12,{4,8}:/*_,12:/_)
+  MC(<30,Ph,3=?6,7:O,{1,2,5}:/_,8:/*_^60,6:/OH,8:\,|,!12,{4,8}:/*_,12:/_)
 endfont
 %**************************************************************************
 beginfont("EN:Quercetin","MW:302.24")
-  MCf(<30,Ph,3=?6,9:\,Ph,9=dl,10:O,7://O,{2,6,8,13,14}:/OH)
+  MC(<30,Ph,3=?6,9:\,Ph,9=dl,10:O,7://O,{2,6,8,13,14}:/OH)
 endfont
 %***************************************************************************
 beginfont("EN:Limonin","MW:470.518")
-  MCf(<30,?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,
+  MC(<30,?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,
       {13,15,17,20}:O,{3,12,21}://O,
       {4~wf^60,8~zf^60,18^35,18^-35}:/_,{1^60,5^180,16^60}:/*H,
       14:\*,|,?5,{1,4}=dl,3:O)
@@ -266,67 +265,67 @@
 endfont
 %**************************************************************************
 beginfont("EN:Cromolyn","MW:468.37")
-  MCf(<30,Ph,|,-1=?6,3=dl,1:O,4://O,2:/COOH,
+  MC(<30,Ph,|,-1=?6,3=dl,1:O,4://O,2:/COOH,
     $2:\,O,!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1://O,3:/COOH)
 endfont
 %**************************************************************************
 beginfont("EN:Emetine","MW:480.649")
-  MCf(<30,Ph,{-4,-4}=?6,
+  MC(<30,Ph,{-4,-4}=?6,
       8:N,{1,6}:/O!,-2:/*!,{7^-60,12^-60}:/*H,
      -3:\,!~zb,<-60,|,?6,5=d,2:NH,-6^-60:*/H,|,-2=?6,{2,4}=dl,{-2,-3}:/O!)
 endfont
 %***************************************************************************
 beginfont("EN:Colchicine","MW:399.443")
-  MCf(<30,Ph,{1,2,6}:/O!,-4=?7,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,
+  MC(<30,Ph,{1,2,6}:/O!,-4=?7,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,
      9:\,NH,!,//O,!)
 endfont
 %***************************************************************************
 beginfont("EN:Caffeine","MW:194.194")
-  MCf(<30,?6,3=d,{2,6}:N,{2,6}:/_,{1,5}://O,|,-4=?5,2=dl,{1,3}:N,3:/_)
+  MC(<30,?6,3=d,{2,6}:N,{2,6}:/_,{1,5}://O,|,-4=?5,2=dl,{1,3}:N,3:/_)
 endfont
 %**************************************************************************
 beginfont("EN:Acronycine","MW:321.376")
-  MCf(<30,Ph,|,-4=?6,1:N,4://O,,1:/_,-3=Ph2,-1:/O!,
+  MC(<30,Ph,|,-4=?6,1:N,4://O,,1:/_,-3=Ph2,-1:/O!,
       |,-4=?6,2=d,4:O,-2^-35:/_,-2^35:/_)
 endfont
 %***************************************************************************
 beginfont("EN:Ibotenic acid","MW:158.113")
-  MCf(<18,?5,4=d,3:O,2:NH,1://O,4:@,-24,/NH2,!,COOH)
+  MC(<18,?5,4=d,3:O,2:NH,1://O,4:@,-24,/NH2,!,COOH)
 endfont
 %**************************************************************************
 beginfont("EN:Piperine","MW:285.343")
-  MCf(<30,Ph,|,-1=?5,{1,3}:O,$4:\,!!,!,!!,!,//O,!,|,?6,1:N)
+  MC(<30,Ph,|,-1=?5,{1,3}:O,$4:\,!!,!,!!,!,//O,!,|,?6,1:N)
 endfont
 %***************************************************************************
 beginfont("EN:Febrifugine","MW:301.346")
-  MCf(<30,Ph,|,-4=?6,2=d,{1,3}:N,4://O,$9:\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH)
+  MC(<30,Ph,|,-4=?6,2=d,{1,3}:N,4://O,$9:\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH)
 endfont
 %***************************************************************************
 beginfont("EN:Mitomycine C","MW:334.332")
-  MCf(<30,?6,{3,6}=dl,{2,5}://O,1:/_,|,-4=?5,1:N,
+  MC(<30,?6,{3,6}=dl,{2,5}://O,1:/_,|,-4=?5,1:N,
      $6:/NH2,|,-3=?5,|,-2=?3,-1=wb,-2=wf,-1:NH,
      $8:/*O!^35,$9:@,17.9`1,!,O,!,//O,!,NH2)
 endfont
 %***************************************************************************
 beginfont("EN:Podophyllotoxin","MW:414.41");
-  MCf(<0,?5,{2,5}:O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3://O,
+  MC(<0,?5,{2,5}:O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3://O,
     10:\*,Ph,{-2,-3,-4}:/O!,$13:/*OH,{$11~wf^-60,$12~zf^60}:/H)
 endfont;
 %***************************************************************************
 beginfont("EN:Warfarin","MW:308.333");
-  MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8:\,/Ph`1,60,!,//O,!)
+  MC(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8:\,/Ph`1,60,!,//O,!)
 endfont;
 %***************************************************************************
 beginfont("EN:Genistein","MW:270.24");
-  MCf(<30,Ph,3=?6,9=dl,10:O,{2,6}:/OH,7://O,8:\,Ph,-3:/OH)
+  MC(<30,Ph,3=?6,9=dl,10:O,{2,6}:/OH,7://O,8:\,Ph,-3:/OH)
 endfont;
 %***************************************************************************
 beginfont("EN:Baicalein","MW:270.24");
-  MCf(<30,Ph,3=?6,9=dl,10:O,{1,2,6}:/OH,7://O,8:\,Ph)
+  MC(<30,Ph,3=?6,9=dl,10:O,{1,2,6}:/OH,7://O,8:\,Ph)
 endfont;
 %***************************************************************************
 beginfont("EN:Reserpine","MW:608.688");
-  MCf(<54,Ph,-4=?5,-2=?6,-4=?6,-3=?6,9=dl,11:N,7:NH,10:*/H^-60,
+  MC(<54,Ph,-4=?5,-2=?6,-4=?6,-3=?6,9=dl,11:N,7:NH,10:*/H^-60,
     {15^-60,16^60}:/*H,
     $20:*\,O,!,//O,!,|,Ph,{-2,-3,-4}:/O!,{$1,$19~zf>rl}:/O!,
     $18:*\,//O,!,O,!)
@@ -333,21 +332,21 @@
 endfont;
 %***************************************************************************
 beginfont("EN:Nicotine","MW:162.23");
-  MCf(<30,Ph,2:N,4:\,|,?5,2:N,2:/_)
+  MC(<30,Ph,2:N,4:\,|,?5,2:N,2:/_)
 endfont;
 %***************************************************************************
 beginfont("EN:Rotenone","MW:394.423");
-  MCf(<-60,?5,{-3,-2,-3,-4}=?6,{7,9,-2,-4}=dl,{3,17}=dr,
+  MC(<-60,?5,{-3,-2,-3,-4}=?6,{7,9,-2,-4}=dl,{3,17}=dr,
    {2,13,16}:O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,1:*\,/_,!!)
 endfont;
 %***************************************************************************
 beginfont("EN:Pyrethrin I","MW:328.452");
-  MCf(<30,?3,{3^35~wf,3^-35~zf}:/_,1:*\,!!,iPr,
+  MC(<30,?3,{3^35~wf,3^-35~zf}:/_,1:*\,!!,iPr,
      2:\*,//O,!,O,-36~zb,|,?5,-2=d,-1:/_,-3://O,-2:\,!4,{-1,-3}=dl)
 endfont;
 %***************************************************************************
 beginfont("EN:Erythromycin","MW:733.937");
-MCf(<30,|<=1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,1:#,
+MC(<30,|<=1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,1:#,
     14:O,13:/*!,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_,
     {6^35,11,12^-35}:*/OH,
     $3:\*,O,30,|,?6`.7,2:O,{3,5^35}:/_,4:/OH,5^-35:/O!,
@@ -355,7 +354,7 @@
 endfont;
 %**************************************************************************
 beginfont("EN:Paclitaxel","MW:853.918")
-  MCf(?6,5=d,3:@,|<=1,36,45,45,45,45,>|,$5:#,-4=?6,-4=?4,||,-1=wb,-3=wf,-1:O,
+  MC(?6,5=d,3:@,|<=1,36,45,45,45,45,>|,$5:#,-4=?6,-4=?4,||,-1=wb,-3=wf,-1:O,
     {4^35,4^-35,6}:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O,
     $1:\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph,
     $7:\*,O,-45,//O,60,Ph,$11:*\,O,-60,//O,60,$12:\*^-15,O,60,//O,-60)
@@ -362,84 +361,33 @@
 endfont
 %**************************************************************************
 beginfont("EN:Mevastatin","MW:390.52")
-  MCf(<30,?6,2=d,4:*/H^60,|,-4=?6,2=d,$9:*/_,
+  MC(<30,?6,2=d,4:*/H^60,|,-4=?6,2=d,$9:*/_,
      $10:*\,!,60~wb,|,?6,6:O,-2://O,-4:/*OH,$5:\*,O,60,//O,!,*/_,!2)
 endfont
 %***************************************************************************
 beginfont("EN:Sesamine","MW:354.35")
-  MCf(<54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H,
+  MC(<54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H,
    $5:*\^-12,Ph,|,-3=?5,{-1,-3}:O,$8:*\^-12,Ph,|,-3=?5,{-1,-3}:O)
 endfont
 %**************************************************************************
 beginfont("EN:Morphine","MW:285.343")
-  MCf(<30,Ph,2=?6,-4=?6,(1,12)=?5[2],-1:O,-1=zb,
+  MC(<30,Ph,2=?6,-4=?6,(1,12)=?5[2],-1:O,-1=zb,
     7:@,60~wf`0.75,70~si_`1.3,45,N,/_,9~wb:#,
     15=d,6:/OH,8^180:*/H,12:/*OH)
 endfont
 %**************************************************************************
 beginfont("EN:Capsaicin","MW:305.418")
-  MCf(<30,Ph,1:/OH,6:/O!,4:\,!,NH,!,//O,|,!8,-3=d,-1:/_)
+  MC(<30,Ph,1:/OH,6:/O!,4:\,!,NH,!,//O,|,!8,-3=d,-1:/_)
 endfont
 %***************************************************************************
 beginfont("EN:Quinine","MW:324.424")
-  MCf(<30,Ph,3=Ph,7:N,6:/O!,
+  MC(<30,Ph,3=Ph,7:N,6:/O!,
     10:\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4:*\,!!,2:@,165~zf,60,5~zb:#)
 endfont
 %***************************************************************************
 beginfont("EN:Atoropin","MW:289.375")
-  MCf(<-30,O,!,//O,!,!,Ph,
+  MC(<-30,O,!,//O,!,!,Ph,
      $1:\~zb^-120,|,?7`1.1,6:*\^190`1.25,N,/_,3~wb:#,$3:/!OH~wv)
 endfont
 %***************************************************************************
 bye
-ye
-************************************
-beginfont("EN:Atoropin","MW:289.375")
-  MCf(<-30,O,!,//O,!,!,Ph,
-     $1:\~zb^-120,|,?7`1.1,6:*\^190`1.25,N,/_,3~wb:#,$3:/!OH~wv)
-endfont
-%***************************************************************************
-bye
-ye
-
-
-ye
-ye
-************************************
-beginfont("EN:Atoropin","MW:289.375")
-  MCf(<-30,O,!,//O,!,!,Ph,
-     $1:\~zb^-120,|,?7`1.1,6:*\^190`1.25,N,/_,3~wb:#,$3:/!OH~wv)
-endfont
-%***************************************************************************
-bye
-ye
-
-
-e
-
-
-*************************************************************
-bye
-ye
-
-
-ye
-ye
-************************************
-beginfont("EN:Atoropin","MW:289.375")
-  MCf(<-30,O,!,//O,!,!,Ph,
-     $1:\~zb^-120,|,?7`1.1,6:*\^190`1.25,N,/_,3~wb:#,$3:/!OH~wv)
-endfont
-%***************************************************************************
-bye
-ye
-
-
-e
-
-
-
-
-
-
-

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2019-03-21 20:46:35 UTC (rev 50505)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2019-03-21 20:47:41 UTC (rev 50506)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2019.02.11
+% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2019.02.24
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 \usepackage{graphicx}

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.mps
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.mps	2019-03-21 20:46:35 UTC (rev 50505)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.mps	2019-03-21 20:47:41 UTC (rev 50506)
@@ -1,8 +1,8 @@
 %!PS-Adobe-3.0 EPSF-3.0
-%%BoundingBox: -1 -1 212 57 
-%%HiResBoundingBox: -0.1 -0.1 211.90326 56.58087 
+%%BoundingBox: -1 -1 213 57 
+%%HiResBoundingBox: -0.1 -0.1 212.69804 56.79282 
 %%Creator: MetaPost 2.00
-%%CreationDate: 2019.02.11:0917
+%%CreationDate: 2019.03.17:0708
 %%Pages: 1
 %%DocumentResources: procset mpost-minimal
 %%+ font ICXWUR-CMTT10 ICXWUR-CMR8
@@ -604,26 +604,6 @@
  /cmr8 /GMTUEE-CMR8 def
 %%EndSetup
 %%Page: 1 1
- 0 0 0 setrgbcolor
-newpath -0.1 0.1 moveto
--0.1 -0.1 lineto
-0.1 -0.1 lineto
-211.90326 -0.1 lineto
-211.90326 0.1 lineto
-211.90326 56.58087 lineto
-211.70325 56.58087 lineto
--0.1 56.58087 lineto
--0.1 56.38086 lineto
--0.1 -0.1 lineto
-0.1 -0.1 lineto
-0.1 0.1 lineto
-0.1 56.58087 lineto
-0.1 56.38086 lineto
-211.90326 56.38086 lineto
-211.70325 56.38086 lineto
-211.70325 -0.1 lineto
-211.70325 0.1 lineto
- closepath fill
  1 0 0 setrgbcolor
 newpath 54.2302 6.07826 moveto
 54.98193 6.07826 lineto
@@ -760,5 +740,24 @@
 181.94542 13.45413 lineto stroke
 101.92107 45.71011 moveto
 (\(cmr8\)) cmtt10 9.96265 fshow
+newpath -0.1 0.1 moveto
+-0.1 -0.1 lineto
+0.1 -0.1 lineto
+212.69804 -0.1 lineto
+212.69804 0.1 lineto
+212.69804 56.79282 lineto
+212.49803 56.79282 lineto
+-0.1 56.79282 lineto
+-0.1 56.5928 lineto
+-0.1 -0.1 lineto
+0.1 -0.1 lineto
+0.1 0.1 lineto
+0.1 56.79282 lineto
+0.1 56.5928 lineto
+212.69804 56.5928 lineto
+212.49803 56.5928 lineto
+212.49803 -0.1 lineto
+212.49803 0.1 lineto
+ closepath fill
 showpage
 %%EOF

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2019-03-21 20:46:35 UTC (rev 50505)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2019-03-21 20:47:41 UTC (rev 50506)
@@ -1,117 +1,112 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2019.02.11
+% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2019.03.10
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %% it must be version 4.36 or later
+input mcf2graph.mf;   %% it must be version 4.40 or later
 %------------------------------------------------------------------------
-sw_mol_frame:=0;
+sw_mframe:=0;
 sw_expand:=0;
-sw_solid:=2;
 %%%%sw_aux_out:=0;
 %%%%%sw_arrow:=1;
 %%%%%sw_rep_out:=1;
 %***********************************************************************
-font_wd:=35mm;
-font_ht:=25mm;
-bond_len:=6mm;
+fsize:=(35mm,25mm);
+blength:=6mm;
 %***********************************************************************
 beginfont("EN:Glycine")
-  MCf(<30,NH2,!0,!,COOH)
+  MC(<30,NH2,!0,!,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:Alanine")
-  MCf(<30,NH2,!0,/_,!,COOH)
+  MC(<30,NH2,!0,/_,!,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:Valine")
-  MCf(<30,NH2,!0,/iPr,!,COOH)
+  MC(<30,NH2,!0,/iPr,!,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:Leucine")
-  MCf(<30,NH2,!0,!,COOH,2:\,!,/_,!)
+  MC(<30,NH2,!0,!,COOH,2:\,!,/_,!)
 endfont
 %***********************************************************************
 beginfont("EN:Isoleucine")
-  MCf(<30,NH2,!0,!,COOH,2:\,/_,!2)
+  MC(<30,NH2,!0,!,COOH,2:\,/_,!2)
 endfont
 %***********************************************************************
 beginfont("EN:Serine")
-  MCf(<30,NH2,!0,!,COOH,2:/!OH)
+  MC(<30,NH2,!0,!,COOH,2:/!OH)
 endfont
 %***********************************************************************
 beginfont("EN:Threonine")
-  MCf(<30,NH2,!0,!,COOH,2:\,/_,!,OH)
+  MC(<30,NH2,!0,!,COOH,2:\,/_,!,OH)
 endfont
 %***********************************************************************
 beginfont("EN:Cysteine")
-  MCf(<30,NH2,!0,!,COOH,2:/!SH)
+  MC(<30,NH2,!0,!,COOH,2:/!SH)
 endfont
 %***********************************************************************
 beginfont("EN:Methionine")
-  MCf(<30,NH2,!0,!,COOH,2:\,!2,SMe)
+  MC(<30,NH2,!0,!,COOH,2:\,!2,SMe)
 endfont
 %***********************************************************************
 beginfont("EN:Phenylalanine")
-  MCf(<30,NH2,!0,!,COOH,2:/!Ph)
+  MC(<30,NH2,!0,!,COOH,2:/!Ph)
 endfont
 %***********************************************************************
 beginfont("EN:Tyrosine")
-  MCf(<30,NH2,!0,!,COOH,2:\,!,Ph,-3:/OH)
+  MC(<30,NH2,!0,!,COOH,2:\,!,Ph,-3:/OH)
 endfont
 %***********************************************************************
 beginfont("EN:Triptophan")
-  MCf(<30,NH2,!0,!,COOH,2:\,!,<24,|,?5,-4=Ph,2=dr,5=dl,4:NH)
+  MC(<30,NH2,!0,!,COOH,2:\,!,<24,|,?5,-4=Ph,2=dr,5=dl,4:NH)
 endfont
 %***********************************************************************
 beginfont("EN:Prorine")
-  MCf(<18,?5,3:NH,4:/COOH)
+  MC(<18,?5,3:NH,4:/COOH)
 endfont
 %***********************************************************************
 beginfont("EN:Glutamine")
-  MCf(<30,NH2,!0,!,COOH,2:\`1,-45,-45,//O,!,NH2)
+  MC(<30,NH2,!0,!,COOH,2:\`1,-45,-45,//O,!,NH2)
 endfont
 %***********************************************************************
 beginfont("EN:Asparagine")
-  MCf(<30,NH2,!0,!,COOH,2:\,!,//O,!,NH2)
+  MC(<30,NH2,!0,!,COOH,2:\,!,//O,!,NH2)
 endfont
 %***********************************************************************
 beginfont("EN:Aspartic acid")
-  MCf(<30,NH2,!0,/!COOH,!,COOH)
+  MC(<30,NH2,!0,/!COOH,!,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:Glutamic acid")
-  MCf(<30,NH2,!0,!,COOH,2:\,!2,COOH)
+  MC(<30,NH2,!0,!,COOH,2:\,!2,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:Lysine")
-  MCf(<30,NH2,!0,!,COOH,2:\,!4,NH2)
+  MC(<30,NH2,!0,!,COOH,2:\,!4,NH2)
 endfont
 %***********************************************************************
 beginfont("EN:Arginine")
-  MCf(<30,NH2,!0,!,COOH,2:\,-45,-45,60,NH,!,//NH,!,NH2)
+  MC(<30,NH2,!0,!,COOH,2:\,-45,-45,60,NH,!,//NH,!,NH2)
 endfont
 %***********************************************************************
 beginfont("EN:Hystidine")
-  MCf(<30,NH2,!0,!,COOH,2:\,!,|,?5,{1,3}=dl,3:N,5:NH)
+  MC(<30,NH2,!0,!,COOH,2:\,!,|,?5,{1,3}=dl,3:N,5:NH)
 endfont
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-font_wd:=60mm;
-font_ht:=35mm;
-bond_len:=8mm;
-max_bond_length:=10mm;
+fsize:=(60mm,35mm);
+blength:=0mm;
+max_blength:=10mm;
 ratio_thickness_bond:=0.015;
 ratio_atom_bond:=0.36;
-sw_solid:=0;
-sw_font_frame:=1;
-margin_left_right:=2mm;
-margin_top_bottom:=1mm;
+sw_fframe:=1;
+fmargin:=(2mm,1mm);
 %***********************************************************************
 beginfont("EN:Chain 1")
-  font_ht:=20mm;
+  fsize:=(60mm,20mm);
   sw_numberB:=1;
   numberB_end:=6;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<10,-30,45,-45,30,-30,60,
+  MC(<10,-30,45,-45,30,-30,60,
        {1^-75,2^67.5,3^-60,4^75,5^-75,6^60}:/_~dt
      )
   ext(
@@ -133,12 +128,12 @@
 endfont
 %***********************************************************************
 beginfont("EN:Chain 2")
-  font_ht:=20mm;
+  fsize:=(60mm,20mm);
   sw_numberB:=1;
   numberB_end:=6;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<30,!6,
+  MC(<30,!6,
        {1^-60,2^60,3^-60,4^60,5^-60,6^60}:/_~dt
      )
   ext(
@@ -160,76 +155,76 @@
 endfont
 %***********************************************************************
 beginfont("EN:Jump and Branch")
-  font_ht:=20mm;
-  margin_top_bottom:=2mm;
-  sw_clip:=1;
+  fsize:=(60mm,20mm);
+  fmargin:=(2mm,2mm);
+  sw_trimming:=1;
   sw_numberA:=1;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<30,!6,3:@,0,!,5:@,-30)
+  MC(<30,!6,3:@,0,!,5:@,-30)
 endfont
 %***********************************************************************
 beginfont("EN:Jump and Branch")
-  font_ht:=20mm;
-  margin_top_bottom:=2mm;
+  fsize:=(60mm,20mm);
+  fmargin:=(2mm,2mm);
   sw_numberA:=1;
-  sw_clip:=1;
+  sw_trimming:=1;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<30,!6,3:\,!)
+  MC(<30,!6,3:\,!)
 endfont
 %***********************************************************************
 beginfont("EN:branch1")
-  font_ht:=20mm;
-  margin_top_bottom:=2mm;
+  fsize:=(60mm,20mm);
+  fmargin:=(2mm,2mm);
   sw_numberA:=1;
-  sw_clip:=1;
+  sw_trimming:=1;
   numberA_end:=10;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<-30,!10,2:\,!,4:*\,!,6:\*,!,8:\\,!,10:*\*,!)
+  MC(<-30,!10,2:\,!,4:*\,!,6:\*,!,8:\\,!,10:*\*,!)
 endfont
 %***********************************************************************
 beginfont("EN:branch2")
-  font_ht:=20mm;
-  margin_top_bottom:=2mm;
-  sw_clip:=1;
+  fsize:=(60mm,20mm);
+  fmargin:=(2mm,2mm);
+  sw_trimming:=1;
   sw_numberA:=1;
   numberA_end:=7;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<-30,!6,2:\~dr,!,4:\`1.5,-90,6:@,15,-60)
+  MC(<-30,!6,2:\~dr,!,4:\`1.5,-90,6:@,15,-60)
 endfont
 %***********************************************************************
 beginfont("EN:Connect atom")
-  font_ht:=20mm;
-  margin_top_bottom:=2mm;
-  sw_clip:=1;
+  fsize:=(60mm,20mm);
+  fmargin:=(2mm,2mm);
+  sw_trimming:=1;
   sw_numberA:=1;
   ratio_chain_ring:=1;
 %----------------------------------------------------------------------
-  MCf(<30,!6,3:\,!,5~bd:#)
+  MC(<30,!6,3:\,!,5~bd:#)
 endfont
 %***********************************************************************
 beginfont("EN:ring")
-  font_ht:=20mm;
-  sw_clip:=1;
-  margin_top_bottom:=3mm;
+  fsize:=(60mm,20mm);
+  sw_trimming:=1;
+  fmargin:=(2mm,3mm);
   sw_numberB:=1;
 %----------------------------------------------------------------------
-  MCf(?6)
+  MC(?6)
 endfont
 %***********************************************************************
 beginfont("EN:rotate 1")
-  font_ht:=20mm;
-  margin_top_bottom:=3mm;
-  sw_clip:=1;
+  fsize:=(60mm,20mm);
+  fmargin:=(2mm,3mm);
+  sw_trimming:=1;
   sw_numberB:=1;
   ratio_chain_ring:=1;
   numberB_end:=5;
     defaultscale:=0.5;
     labeloffset:=2bp;
-  MCf(``1,0,0,<90,0,<-90,0,0,{1,2,3,4,5}=vf,
+  MC(``1,0,0,<90,0,<-90,0,0,{1,2,3,4,5}=vf,
       {3,4^180}:/_~dt)
   ext(
     drawarrow .7[B6s,B6e]{dir(B6dir+90)}..{dir(B3dir+90)}.7[B3s,B3e];
@@ -240,249 +235,242 @@
 endfont
 %***********************************************************************
 beginfont("EN:change bond 1")
-  font_wd:=70mm;
-  font_ht:=12mm;
-  bond_len:=8mm;
-  sw_clip:=1;
+  fsize:=(70mm,12mm);
+  fmargin:=(2mm,3mm);
+  blength:=8mm;
+  sw_trimming:=1;
   ratio_chain_ring:=1;
-  margin_top_bottom:=3mm;
-  MCf(<30,!~dm,!,!~dl,!,!~dr,!~db,!~db,!,!~tm)
+  MC(<30,!~dm,!,!~dl,!,!~dr,!~db,!~db,!,!~tm)
 endfont
 %***********************************************************************
 beginfont("EN:change bond 2")
-  font_ht:=12mm;
-  bond_len:=8mm;
-  margin_top_bottom:=3mm;
-  sw_clip:=1;
+  fsize:=(60mm,12mm);
+  fmargin:=(2mm,3mm);
+  blength:=9.5mm;
+  sw_trimming:=1;
   ratio_chain_ring:=1;
-  MCf(<30,!~wf,!,!~wb,!,!~zf,!,!~zb)
+  MC(<30,!~wf,!,!~wb,!,!~zf,!,!~zb)
 endfont
 %***********************************************************************
 beginfont("EN:change bond 3")
-  font_ht:=12mm;
-  bond_len:=8mm;
-  margin_top_bottom:=3mm;
-  sw_clip:=1;
+  fsize:=(70mm,12mm);
+  fmargin:=(2mm,3mm);
+  blength:=10mm;
+  sw_trimming:=1;
   ratio_chain_ring:=1;
-  MCf(<30,!~vf,!,!~vb)
+  MC(<30,!~vf,!,!~vb)
 endfont
 %***********************************************************************
 beginfont("EN:change bond 3")
-  font_ht:=12mm;
-  bond_len:=8mm;
-  sw_clip:=1;
+  fsize:=(70mm,12mm);
+  fmargin:=(2mm,3mm);
+  blength:=9mm;
+  sw_trimming:=1;
   ratio_chain_ring:=1;
-  margin_top_bottom:=3mm;
-  MCf(<30,!7,1=dt,3=wv,5=bd,7=bz)
+  MC(<30,!7,1=dt,3=wv,5=bd,7=bz)
 endfont
 %***********************************************************************
 beginfont("EN:change bond 4")
-  font_ht:=12mm;
-  bond_len:=8mm;
-  margin_top_bottom:=3mm;
-  sw_clip:=1;
+  fsize:=(60mm,12mm);
+  fmargin:=(2mm,3mm);
+  blength:=9mm;
+  sw_trimming:=1;
   ratio_chain_ring:=1;
-  MCf(<30,!7,{2,4,6}=dr)
+  MC(<30,!7,{2,4,6}=dr)
 endfont
 %***********************************************************************
 beginfont("EN:over line")
-  sw_clip:=1;
-  font_ht:=20mm;
+  sw_trimming:=1;
+  fsize:=(60mm,20mm);
   ratio_chain_ring:=1;
-  MCf(<-30,!8,!,60,90`8,{2~si_,4~wf_,6~wb_,8~bd_}:/_`2)
+  MC(<-30,!8,!,60,90`8,{2~si_,4~wf_,6~wb_,8~bd_}:/_`2)
 endfont
 %***********************************************************************
 beginfont("EN:change bond length1")
-  font_ht:=12mm;
+  fsize:=(60mm,12mm);
   sw_numberB:=1;
-  MCf(<30,!2,!2`1.2,!2)
+  MC(<30,!2,!2`1.2,!2)
 endfont
 %***********************************************************************
 beginfont("EN:change bond length2")
-  font_ht:=12mm;
+  fsize:=(60mm,12mm);
   sw_numberB:=1;
-  MCf(<30,!2,``1.2,!4)
+  MC(<30,!2,``1.2,!4)
 endfont
 %***********************************************************************
 beginfont("EN:change ring length")
-  margin_top_bottom:=2mm;
-  font_ht:=20mm;
-  sw_clip:=1;
+  fsize:=(60mm,20mm);
+  fmargin:=(2mm,2mm);
+  sw_trimming:=1;
   sw_numberB:=1;
-  MCf(?6,4:\,?6`1.2)
+  MC(?6,4:\,?6`1.2)
 endfont
 %***********************************************************************
 beginfont("EN:Insert atom")
-  font_wd:=70mm;
-  font_ht:=12mm;
-  MCf(<30,!2,O,!2,N,!2)
+  sw_trimming:=1;
+  fsize:=(70mm,12mm);
+  MC(<30,!2,O,!2,N,!2)
 endfont
 %***********************************************************************
 beginfont("EN:change atom")
-  font_wd:=70mm;
-  font_ht:=10mm;
-  MCa(0,0.5)(<-30,!4,2:O,{3,4}:N)
+  fsize:=(70mm,10mm);
+  MCat(0,0.5)(<-30,!4,2:O,{3,4}:N)
   sw_numberA:=1;
-  MCa(1,0.5)(<-30,!4,2:O,{3,4}:N)
+  MCat(1,0.5)(<-30,!4,2:O,{3,4}:N)
 endfont
 %***********************************************************************
 beginfont("EN:change atom brock address 1")
-  font_wd:=70mm;
-  font_ht:=15mm;
-  MCa(0,.5)(?6,4:\,|,?6,2:O)
+  fsize:=(70mm,15mm);
+  MCat(0,.5)(?6,4:\,|,?6,2:O)
   sw_numberA:=1;
-  MCd(1,.88)(1,.5)(?6,4:\,?6)
+  msize:=(1,.88);
+  MCat(1,.5)(?6,4:\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:change atom brock address 2")
-  font_wd:=70mm;
-  font_ht:=15mm;
-  MCa(0,.5)(?6,4:\,|,?6,||,2:N)
+  fsize:=(70mm,15mm);
+  MCat(0,.5)(?6,4:\,|,?6,||,2:N)
   sw_numberA:=1;
-  MCd(1,.88)(1,.5)(?6,4:\,?6)
+  msize:=(1,.88);
+  MCat(1,.5)(?6,4:\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:change atom absolute address")
-  font_wd:=70mm;
-  font_ht:=15mm;
-  MCa(0,.5)(?6,4:\,?6,$2:N)
+  fsize:=(70mm,15mm);
+  MCat(0,.5)(?6,4:\,?6,$2:N)
   sw_numberA:=1;
-  MCd(1,.88)(1,.5)(?6,4:\,?6)
+  msize:=(1,.88); 
+  MCat(1,.5)(?6,4:\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:change atom relative adress")
-  font_wd:=70mm;
-  font_ht:=15mm;
-  MCa(0,.5)(?6,4:\,?6,-2:N)
+  fsize:=(70mm,15mm);
+  MCat(0,.5)(?6,4:\,?6,-2:N)
   sw_numberA:=3;
-  MCd(1,.88)(1,.5)(?6,4:\,?6)
+  msize:=(1,.88);
+  MCat(1,.5)(?6,4:\,?6)
 endfont
 %***********************************************************************
 beginfont("EN:Charged atom")
-  sw_clip:=1;
-  font_wd:=60mm;
-  font_ht:=15mm;
-  MCf(<-30,!2,N[1],!2,O[-1],!2,&"-",!2,N,&"+"^180,!)
+  sw_trimming:=1;
+  fsize:=(60mm,15mm);
+  MC(<-30,!2,N[1],!2,O[-1],!2,&"-",!2,N,&"+"^180,!)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring")
-  font_ht:=18mm;
-  margin_top_bottom:=1.5mm;
-  sw_clip:=1;
+  fsize:=(60mm,18mm);
+  fmargin:=(2mm,1.5mm);
+  sw_trimming:=1;
   sw_numberB:=1;
-  MCf(<30,?6,3=?6,3=dt,{7,8,9,10,11}=bd)
+  MC(<30,?6,3=?6,3=dt,{7,8,9,10,11}=bd)
 endfont
 %-----------------------------------------------------------------------
 beginfont("EN:change ring length")
-  margin_top_bottom:=2mm;
-  font_ht:=25mm;
-  sw_clip:=1;
+  fsize:=(60mm,25mm);
+  fmargin:=(2mm,2mm);
+  sw_trimming:=1;
   sw_numberB:=1;
-  MCf(?6,4:\,?6`1.2,5=?6,11=?6,
+  MC(?6,4:\,?6`1.2,5=?6,11=?6,
       {14,15,16,17,18,19,20,21,22,23}=bd,{5,11}=dt)
 endfont
 %-----------------------------------------------------------------------
 beginfont("EN:fused large 6 ring")
-  font_ht:=18mm;
+  fsize:=(60mm,18mm);
+  fmargin:=(2mm,1.5mm);
   margin_top_bottom:=1.5mm;
   sw_numberB:=1;
-  sw_clip:=1;
-  MCf(<30,?6,3=?6[13],3=dt,{7,8,9,10,11}=bd)
+  sw_trimming:=1;
+  MC(<30,?6,3=?6[13],3=dt,{7,8,9,10,11}=bd)
 endfont
 %-----------------------------------------------------------------------
 beginfont("EN:fuse multi ring")
-  font_wd:=70mm;
-  font_ht:=20mm;
+  fsize:=(70mm,20mm);
   sw_numberB:=1;
-  sw_clip:=1;
-  MCf(<30,?6,{-3,-4,-4,-2,-2,-4,-4}=?6,{4,8,13,20,25,28,33}=dt)
+  sw_trimming:=1;
+  MC(<30,?6,{-3,-4,-4,-2,-2,-4,-4}=?6,{4,8,13,20,25,28,33}=dt)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring 2")
-  font_wd:=75mm;
-  font_ht:=20mm;
+  fsize:=(75mm,20mm);
   sw_numberB:=1;
-  MCa( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],{11,4}=dt,{12,13,14,15}=bd)
-  MCd(1,.9)(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],{11,4}=dt,{12,13,14}=bd)
-  MCd(1,.9)( 1,.5)(<30,?6,3=?6,(11,4)=?4[2],{11,4}=dt,{12,13}=bd)
+  MCat( 0,.5)(<30,?6,3=?6,(11,4)=?6[4],{11,4}=dt,{12,13,14,15}=bd)
+  msize:=(1,.9); MCat(.5,.5)(<30,?6,3=?6,(11,4)=?5[3],{11,4}=dt,{12,13,14}=bd)
+  msize:=(1,.9); MCat( 1,.5)(<30,?6,3=?6,(11,4)=?4[2],{11,4}=dt,{12,13}=bd)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring 3")
-  font_ht:=20mm;
-  margin_top_bottom:=2mm;
+  fsize:=(60mm,20mm);
+  fmargin:=(2mm,2mm);
   sw_numberB:=1;
-  MCa(0,1)(?6,{3,10}=?6,(16,4)=?6[3],{16,4}=dt,{17,18,19}=bd)
-  MCa(1,0)(?6,{3,10}=?6,(16,4)=?5[2],{16,4}=dt,{17,18}=bd)
+  MCat(0,1)(?6,{3,10}=?6,(16,4)=?6[3],{16,4}=dt,{17,18,19}=bd)
+  MCat(1,0)(?6,{3,10}=?6,(16,4)=?5[2],{16,4}=dt,{17,18}=bd)
 endfont
 %***********************************************************************
 beginfont("EN:fused ring 4")
-  sw_clip:=1;
-  font_ht:=22mm;
-  margin_top_bottom:=2mm;
+  fsize:=(60mm,22mm);
+  fmargin:=(2mm,2mm);
+  sw_trimming:=1;
   sw_numberB:=1;
-  MCf(<-30,?6,{3,10,15}=?6,(21,4)=?6[2],{21,4}=dt,{22,23}=bd)
+  MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2],{21,4}=dt,{22,23}=bd)
 endfont
 %***********************************************************************
 beginfont("EN:Spiro ring ")
-  sw_clip:=1;
-  font_ht:=18mm;
-  margin_top_bottom:=3mm;
+  sw_trimming:=1;
+  fsize:=(60mm,18mm);
+  fmargin:=(2mm,3mm);
   sw_numberA:=1;
   numberA_end:=7;
   ratio_chain_ring:=1;
-  MCf(<30,!6,4:@,?5)
+  MC(<30,!6,4:@,?5)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 1")
-  font_ht:=25mm;
-  sw_clip:=1;
-  MCf(<30,!,/_,!,/!,!3,/!2,!,/iPr,!3,/tBu,!,/Ph^-30,!)
+  fsize:=(60mm,25mm);
+  sw_trimming:=1;
+  MC(<30,!,/_,!,/!,!3,/!2,!,/iPr,!3,/tBu,!,/Ph^-30,!)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 2")
-  font_wd:=70mm;
-  font_ht:=15mm;
-  sw_clip:=1;
-  MCf(<-30,!`1,//O,!2`1,/*H,!2`1,*/H,!2`1,*/*H,!2`1,**?3,!`1)
+  fsize:=(70mm,15mm);
+  sw_trimming:=1;
+  MC(<-30,!`1,//O,!2`1,/*H,!2`1,*/H,!2`1,*/*H,!2`1,**?3,!`1)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 3")
-  font_ht:=18mm;
-  sw_clip:=1;
-  MCf(<30,``1,!2,/_`2^30,!2,/!2>lr,!2,/!2>rl,!)
+  fsize:=(60mm,18mm);
+  sw_trimming:=1;
+  MC(<30,``1,!2,/_`2^30,!2,/!2>lr,!2,/!2>rl,!)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 3")
-  font_wd:=70mm;
-  font_ht:=18mm;
-  margin_top_bottom:=2mm;
+  fsize:=(70mm,18mm);
+  fmargin:=(2mm,2mm);
   sw_numberA:=1;
-  sw_clip:=1;
+  sw_trimming:=1;
   numberA_end:=17;
-  MCf(<-30,!16,2:/_,4:/!,6:/!2,10:/iPr,14:/tBu,16:/Ph^-60)
+  MC(<-30,!16,2:/_,4:/!,6:/!2,10:/iPr,14:/tBu,16:/Ph^-60)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 4")
-  font_ht:=18mm;
-  sw_clip:=1;
-  margin_top_bottom:=2mm;
+  fsize:=(60mm,18mm);
+  sw_trimming:=1;
+  fmargin:=(2mm,2mm);
   sw_numberA:=1; numberA_end:=7;
-  MCf(<-30,!6`1,{2~wf,4~zf,6^-30}:/_)
+  MC(<-30,!6`1,{2~wf,4~zf,6^-30}:/_)
 endfont
 %***********************************************************************
 beginfont("EN:substituent 5")
-  font_ht:=18mm;
-  margin_top_bottom:=2mm;
-  sw_clip:=1;
+  fsize:=(60mm,18mm);
+  sw_trimming:=1;
   sw_numberA:=1; numberA_end:=8;
-  MCf(<30,!7`1,3:/_`2^30,5:/!2>lr,7:/!2>rl)
+  MC(<30,!7`1,3:/_`2^30,5:/!2>lr,7:/!2>rl)
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 1")
-  font_ht:=27mm;
-  sw_clip:=1;
+  fsize:=(60mm,27mm);
+  sw_trimming:=1;
   ratio_chain_ring:=1;
-  MCf(
+  MC(
   ?4,{3^-90,3^-30,3^90}:/'(!3,"{hz}")>hz,
      {1^-60,1`1.5,1^60}:/'(!2,"{vt}")>vt
   )
@@ -489,10 +477,10 @@
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 2")
-  font_ht:=23mm;
-  sw_clip:=1;
+  fsize:=(60mm,23mm);
+  sw_trimming:=1;
   ratio_chain_ring:=1;
-  MCf(
+  MC(
   <30,!6,{3^-30,3,3^30}:/'(!,!,!,"{lr}")>lr,
          {5^-30,5,5^30}:/'(!,!,!,"{rl}")>rl
   )
@@ -499,469 +487,508 @@
 endfont
 %***********************************************************************
 beginfont("EN:chain strech direction mode 3")
-  font_ht:=25mm;
-  sw_clip:=1;
+  fsize:=(60mm,25mm);
+  sw_trimming:=1;
   ratio_chain_ring:=1;
-  MCf(<-30,!6,{6>45}:/'(!3,"{45}"),
+  MC(<-30,!6,{6>45}:/'(!3,"{45}"),
               {3>'(90,-90,90)}:/'(!3,"{'(90,-90,90)}")
   )
 endfont
 %***********************************************************************
 beginfont("EN:change atom and substituent")
-  sw_clip:=1;
-  font_ht:=15mm;
-  MCf(<30,!2,NH,!2,SO,!2,SOO,!)
+  fsize:=(60mm,15mm);
+  sw_trimming:=1;
+  MC(<30,!2,NH,!2,SO,!2,SOO,!)
 endfont
 %***********************************************************************
 beginfont("EN:Change color,font")
-  font_wd:=75mm;
-  font_ht:=20mm;
+  fsize:=(75mm,20mm);
   sw_label:=1;
   defaultfont:="cmtt10";
   defaultsize:=10bp;
-  margin_left_right:=3mm;
-  MCa(0.25,0)(<30,Ph,{2,5}:N,3:/NH2,2:red,5:blue,3=green)
+  fmargin:=(3mm,1mm);
+  MCat(0.25,0)(<30,Ph,{2,5}:N,3:/NH2,2:red,5:blue,3=green)
   ext(label.lft("(draw)",p0+(0,.9h));)
   atomfont:="cmr8";
-  MCa(1,0)(<30,Ph,{2,5}:N,3:/NH2)
+  MCat(1,0)(<30,Ph,{2,5}:N,3:/NH2)
   ext(label.lft("(cmr8)",p0+(0,.9h));)
 endfont
 %***********************************************************************
 beginfont("EN:Make brock")
-  font_ht:=8mm;
-  sw_clip:=1;
+  fsize:=(60mm,8mm);
+  sw_trimming:=1;
   sw_numberB:=1;
-  MCf(<30,!2,|<,``1.2,!2,>|,!2)
+  MC(<30,!2,|<,``1.2,!2,>|,!2)
 endfont
 %***********************************************************************
 beginfont("EN:Chain start multi characters")
-  font_ht:=9mm;
-  sw_clip:=1;
-  sw_solid:=1;
-  MCf(<30,COOH,!0,!5,COOH)
+  fsize:=(60mm,9mm);
+  sw_trimming:=1;
+  MC(<30,COOH,!0,!5,COOH)
 endfont;
 beginfont("EN:not good")
-  font_ht:=9mm;
-  margin_left_right:=5mm;
-  sw_solid:=1;
-  sw_clip:=1;
-  MCf(<30,COOH,!6,COOH)
+  fsize:=(60mm,9mm);
+  fmargin:=(5mm,2mm);
+  sw_trimming:=1;
+  MC(<30,COOH,!6,COOH)
 endfont;
 %***********************************************************************
 beginfont("EN:User definition")
-  font_ht:=12mm;
-  sw_clip:=1;
+  fsize:=(60mm,12mm);
+  sw_trimming:=1;
   iBuOH:='(!,/_,!,OH);
-  MCf(<30,?6,{4,6}:/iBuOH)
+  MC(<30,?6,{4,6}:/iBuOH)
 endfont
 %***********************************************************************
 beginfont("EN:Inline definition")
-  font_ht:=12mm;
-  margin_left_right:=2mm;
-  sw_clip:=1;
-  MCf(<30,!3,/'(!,/_,!,OH),!3)
+  fsize:=(60mm,12mm);
+  fmargin:=(2mm,1mm);
+  sw_trimming:=1;
+  MC(<30,!3,/'(!,/_,!,OH),!3)
 endfont
 %***********************************************************************
-beginfont("EN:Font size")
-  font_wd:=30mm;%
-  font_ht:=20mm;%
-  sw_font_frame:=1;
-  MCf(<30,
-   ?6,-4=?5,{3,8}=dl,{2,6,7,9}:N,
-     {2,6,9}:/_,{1,5}://O)
+beginfont("EN:mangle")
+  fsize:=(50mm,15mm);
+  blength:=6mm;
+  mangle:=0;
+  MCat(0.2,0.5)(Ph)
+  ext(drawarrow((A1 shifted (aw,0)) rotated A1dir..A1);)
+  mangle:=30;
+  MCat(0.8,0.5)(Ph)
+  ext(drawarrow((A1 shifted (aw,0)) rotated A1dir..A1);)
 endfont
 %***********************************************************************
-beginfont("EN:margin_left_right")
-  font_ht:=20mm;
-  sw_font_frame:=sw_mol_frame:=1;
-  margin_left_right:=0mm;
-  margin_top_bottom:=1mm;
-  MCa(0.5, 1)(<30,CH3,!0,!17,CH3)
-  margin_left_right:=0.4mm;
-  MCa(0.5,.5)(<30,CH3,!0,!17,CH3)
-  margin_left_right:=5mm;
-  MCa(0.5, 0)(<30,CH3,!0,!17,CH3)
+beginfont("EN:blength=0")
+  sw_fframe:=3;
+  fsize:=(40mm,15mm);
+  MC(<30,Ph)
+  EXT(pickup pencircle scaled 0.2pt; 
+      for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
+      for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
+      for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
+      for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor
+  )
 endfont
+%-----------------------------------------------------------------------
+beginfont("EN:0<blength=<1")
+  sw_fframe:=3;
+  fsize:=(40mm,15mm);
+  blength:=0.1;
+  MC(<30,Ph)
+  EXT(pickup pencircle scaled 0.2pt; 
+      for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
+      for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
+      for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
+      for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor
+  )
+endfont
+%-----------------------------------------------------------------------
+beginfont("EN:blength>1")
+  sw_fframe:=3;
+  fsize:=(40mm,15mm);
+  blength:=8mm;
+  MC(<30,Ph)
+  EXT(pickup pencircle scaled 0.2pt; 
+      for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
+      for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
+      for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
+      for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor
+  )
+endfont
 %***********************************************************************
-beginfont("EN:margin_top_bottom")
-  font_ht:=20mm;
-  sw_font_frame:=sw_mol_frame:=1;
-  margin_left_right:=5mm;
-  margin_top_bottom:=0mm;
-  MCa(0.0, .5)(<30,Ph,5:/NH2)
-  margin_top_bottom:=0.4mm;
-  MCa(0.5, .5)(<30,Ph,5:/NH2)
-  margin_top_bottom:=5mm;
-  MCa(0.95, .5)(<30,Ph,5:/NH2)
+beginfont("EN:msize=(1)")
+  sw_fframe:=3;
+  sw_mframe:=1;
+  fsize:=(40mm,15mm);
+  msize:=(1,1);
+  MC(<30,Ph)
+  EXT(pickup pencircle scaled 0.2pt; 
+      for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
+      for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
+      for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
+      for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor
+  )
 endfont
+%------------------------------------------------------
+beginfont("EN:msize=(0.25,1)")
+  sw_fframe:=3;
+  sw_mframe:=1;
+  fsize:=(40mm,15mm);
+  msize:=(0.25,1);
+  MC(<30,Ph)
+  EXT(pickup pencircle scaled 0.2pt; 
+      for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
+      for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
+      for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
+      for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor
+  )
+endfont
+%------------------------------------------------------
+beginfont("EN:msize=(11mm,11mm)")
+  sw_fframe:=3;
+  sw_mframe:=1;
+  fsize:=(40mm,15mm);
+  msize:=(11mm,11mm);
+  MC(<30,Ph)
+  EXT(pickup pencircle scaled 0.2pt; 
+      for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
+      for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
+      for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
+      for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor
+  )
+endfont
 %***********************************************************************
+beginfont("EN:mposition")
+  sw_fframe:=3;
+  sw_mframe:=1;
+  fsize:=(40mm,15mm);
+  msize:=(1,0.8);
+  mposition:=(0.5,0.5);
+  MC(<30,Ph)
+endfont
+%-----------------------------------------------------
+beginfont("EN:mposition")
+  sw_fframe:=3;
+  sw_mframe:=1;
+  fsize:=(40mm,15mm);
+  msize:=(1,0.8);
+  mposition:=(1,0);
+  MC(<30,Ph)
+endfont
+%-----------------------------------------------------
+beginfont("EN:mposition")
+  sw_mframe:=1;
+  fsize:=(40mm,15mm);
+  msize:=(1,0.8);
+  mposition:=(10mm,4mm);
+  MC(<30,Ph)
+  EXT(drawdot p1 withpen pencircle scaled 3pt;
+      pickup pencircle scaled 0.2pt; 
+      for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
+      for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
+      for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
+      for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor
+  )
+endfont
+%***********************************************************************
+beginfont("EN:Font size")
+  fsize:=(40mm,15mm);
+  sw_fframe:=1;
+  MC(<30,Ph)
+  EXT(pickup pencircle scaled 0.2pt; 
+      for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
+      for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
+      for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
+      for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor
+  )
+endfont
+%***********************************************************************
+beginfont("EN:fmargin")
+  fsize:=(40mm,15mm);
+  sw_fframe:=3;
+  sw_mframe:=1;
+  fmargin:=(10mm,3mm);
+  MC(<30,Ph)
+  EXT(pickup pencircle scaled 0.2pt; 
+      for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
+      for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
+      for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
+      for i=0 upto h/cm: draw (0,i*cm)--(-.8mm,i*cm); endfor
+      drawdot p0 withpen pencircle scaled 3pt;
+  )
+endfont
+%***********************************************************************
 beginfont("EN:offset_thickness") 
-  font_ht:=12mm;
-  offset_thickness:=0.0pt; MCa(0.08,0.5)(<30,Ph)
-  offset_thickness:=0.2pt; MCa(.5,0.5)(<30,Ph)
-  offset_thickness:=0.5pt; MCa(0.92,0.5)(<30,Ph) endfont
+  fsize:=(60mm,15mm);
+  offset_thickness:=0.0pt; MCat(0.08,0.5)(<30,Ph)
+  offset_thickness:=0.2pt; MCat(.5,0.5)(<30,Ph)
+  offset_thickness:=0.5pt; MCat(0.92,0.5)(<30,Ph) endfont
 %***********************************************************************
 beginfont("EN:offset_bond_gap")
-  font_ht:=12mm;
+  fsize:=(60mm,15mm);
   offset_bond_gap:=0.0pt;
-  MCa(0.08, .5)(<30,Ph)
+  MCat(0.08, .5)(<30,Ph)
   offset_bond_gap:=0.3pt;   %<<== default
-  MCa(.50, .5)(<30,Ph)
+  MCat(.50, .5)(<30,Ph)
   offset_bond_gap:=1.0pt;
-  MCa(0.92, .5)(<30,Ph)
+  MCat(0.92, .5)(<30,Ph)
 endfont
 %***********************************************************************
 beginfont("EN:offset_atom")
-  font_ht:=14mm;
+  fsize:=(60mm,15mm);
   offset_atom:=0.0pt;
-  MCa(0.08, .5)(<30,?6,3:O)
+  MCat(0.08, .5)(<30,?6,3:O)
   offset_atom:=0.8pt;   %<<== default
-  MCa(.5, .5)(<30,?6,3:O)
+  MCat(.5, .5)(<30,?6,3:O)
   offset_atom:=2.0pt;
-  MCa(0.92, .5)(<30,?6,3:O)
+  MCat(0.92, .5)(<30,?6,3:O)
 endfont
 %***********************************************************************
 beginfont("EN:offset_wedge") 
+  fsize:=(60mm,15mm);
   offset_wedge:=0.0pt;
-  font_ht:=14mm;
-  MCa(0.08, .5)(<30,?6,5:*/_)
+  MCat(0.08, .5)(<30,?6,5:*/_)
   offset_wedge:=0.4pt;       %<<== default
-  MCa(  .5, .5)(<30,?6,5:*/_)
+  MCat(  .5, .5)(<30,?6,5:*/_)
   offset_wedge:=1.0pt;
-  MCa(0.92, .5)(<30,?6,5:*/_)
+  MCat(0.92, .5)(<30,?6,5:*/_)
 endfont
 %***********************************************************************
-beginfont("EN:max_bond_length")
-  font_ht:=25mm;
-  sw_mol_frame:=1;
-  max_bond_length:=6mm;
-  MCa(0, .5)(<30,Ph)
-  max_bond_length:=8mm;
-  MCa(.4,.5)(<30,Ph)
-  max_bond_length:=20mm;   %<<== default
-  MCa(1, .5)(<30,Ph)
+beginfont("EN:max_blength")
+  fsize:=(60mm,25mm);
+  sw_mframe:=1;
+  max_blength:=6mm;
+  MCat(0, .5)(<30,Ph)
+  max_blength:=8mm;
+  MCat(.4,.5)(<30,Ph)
+  max_blength:=20mm;   %<<== default
+  MCat(1, .5)(<30,Ph)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_thickness_bond")
-  font_ht:=12mm;
+  fsize:=(60mm,15mm);
   ratio_thickness_bond:=0.005;
-  MCa(0.08, .5)(<30,Ph)
+  MCat(0.08, .5)(<30,Ph)
   ratio_thickness_bond:=0.015;    %<<== default
-  MCa(.5, .5)(<30,Ph)
+  MCat(.5, .5)(<30,Ph)
   ratio_thickness_bond:=0.03;
-  MCa(0.92, .5)(<30,Ph)
+  MCat(0.92, .5)(<30,Ph)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_char_bond")
-  font_ht:=15mm;
+  fsize:=(60mm,15mm);
   ratio_char_bond:=1.0;
-  MCa( 0, .5)(<30,?6,6:O,3:NH)
+  MCat( 0, .5)(<30,?6,6:O,3:NH)
   ratio_char_bond:=1.5;   %<<== default
-  MCa(.5, .5)(<30,?6,6:O,3:NH)
+  MCat(.5, .5)(<30,?6,6:O,3:NH)
   ratio_char_bond:=2.0;
-  MCa( 1, .5)(<30,?6,6:O,3:NH)
+  MCat( 1, .5)(<30,?6,6:O,3:NH)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_bondgap_bond")
-  font_ht:=12mm;
+  fsize:=(60mm,15mm);
   ratio_bondgap_bond:=0.10;
-  MCa(0.08, .5)(<30,Ph)
+  MCat(0.08, .5)(<30,Ph)
   ratio_bondgap_bond:=0.15;   %<<== default
-  MCa(.5, .5)(<30,Ph)
+  MCat(.5, .5)(<30,Ph)
   ratio_bondgap_bond:=0.20;
-  MCa(0.92, .5)(<30,Ph)
+  MCat(0.92, .5)(<30,Ph)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_atom_bond")
-  font_ht:=15mm;
+  fsize:=(60mm,15mm);
   ratio_atom_bond:=0.25;
-  MCa(0.08, .5)(<30,?6,3:O)
+  MCat(0.08, .5)(<30,?6,3:O)
   ratio_atom_bond:=0.33;   %<<== default
-  MCa(.5, .5)(<30,?6,3:O)
+  MCat(.5, .5)(<30,?6,3:O)
   ratio_atom_bond:=0.45;
-  MCa(0.92, .5)(<30,?6,3:O)
+  MCat(0.92, .5)(<30,?6,3:O)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_wedge_bond")
-  font_ht:=15mm;
+  fsize:=(60mm,15mm);
   ratio_wedge_bond:=0.1;
-  MCa(0.08, .5)(<30,?6,5:*/_)
+  MCat(0.08, .5)(<30,?6,5:*/_)
   ratio_wedge_bond:=0.12;   %<<== default
-  MCa(.5, .5)(<30,?6,5:*/_)
+  MCat(.5, .5)(<30,?6,5:*/_)
   ratio_wedge_bond:=0.2;;
-  MCa(0.92, .5)(<30,?6,5:*/_)
+  MCat(0.92, .5)(<30,?6,5:*/_)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_atomgap_atom")
-  font_ht:=8mm;
-  sw_atom_frame:=1;
+  fsize:=(60mm,8mm);
+  sw_aframe:=1;
   ratio_atomgap_atom:=0.00;
-  MCa(0, .5)(<-30,!2,2:O)
+  MCat(0, .5)(<-30,!2,2:O)
   ratio_atomgap_atom:=0.050;    %<<== default
-  MCa(.5, .5)(<-30,!2,2:O)
+  MCat(.5, .5)(<-30,!2,2:O)
   ratio_atomgap_atom:=0.12;
-  MCa(1, .5)(<-30,!2,2:O)
+  MCat(1, .5)(<-30,!2,2:O)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_chain_ring")
-  font_wd:=70mm;
-  font_ht:=15mm;
+  fsize:=(70mm,15mm);
   ratio_chain_ring:= 0.4;
-  MCa(0, .5)(<30,?6,4:/!)
+  MCat(0, .5)(<30,?6,4:/!)
   ratio_chain_ring:= 0.66;   %<<== default
-  MCa(.45, .5)(<30,?6,4:/!)
+  MCat(.45, .5)(<30,?6,4:/!)
   ratio_chain_ring:= 1;
-  MCa(1, .5)(<30,?6,4:/!)
+  MCat(1, .5)(<30,?6,4:/!)
 endfont
 %***********************************************************************
 beginfont("EN:ratio_zebragap_bond")
-  font_ht:=15mm;
+  fsize:=(60mm,15mm);
   ratio_zebragap_bond:=0.06;
-  MCa(0.08, .5)(<-30,!2,2:/*_`1)
+  MCat(0.08, .5)(<-30,!2,2:/*_`1)
   ratio_zebragap_bond:=0.12;   %<<== default
-  MCa( .5,  .5)(<-30,!2,2:/*_`1)
+  MCat( .5,  .5)(<-30,!2,2:/*_`1)
   ratio_zebragap_bond:=0.20;
-  MCa(0.92, .5)(<-30,!2,2:/*_`1)
+  MCat(0.92, .5)(<-30,!2,2:/*_`1)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch numberingA")
-  font_ht:=20mm;
+  fsize:=(60mm,20mm);
   ratio_chain_ring:=1;
   numberA_start:=3;  numberA_end:=8;
-  sw_numberA:=1;   MCa(.5,.9)(<30,!9)
-  sw_numberA:=2;   MCa(.5,.5)(<30,!9)
-  sw_numberA:=3;   MCa(.5,.1)(<30,!9)
+  sw_numberA:=1; MCat(.5,.9)(<30,!9)
+  sw_numberA:=2; MCat(.5,.5)(<30,!9)
+  sw_numberA:=3; MCat(.5,.1)(<30,!9)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch numberingB")
-  font_ht:=20mm;
+  fsize:=(60mm,20mm);
   ratio_chain_ring:=1;
   numberB_start:=3;  numberB_end:=8;
-  sw_numberB:=1;  MCa(.5,.9)(<30,!9)
-  sw_numberB:=2;  MCa(.5,.5)(<30,!9)
-  sw_numberB:=3;  MCa(.5,.1)(<30,!9)
+  sw_numberB:=1; MCat(.5,.9)(<30,!9)
+  sw_numberB:=2; MCat(.5,.5)(<30,!9)
+  sw_numberB:=3; MCat(.5,.1)(<30,!9)
 endfont
 %***********************************************************************
-beginfont("EN:Switwch clipping")
-  font_ht:=15mm;
-  sw_font_frame:=3;
-  sw_mol_frame:=1;
-  MCd(1,.7)(.2,.3)(Ph)
-  MCd(1,.7)(.8,.7)(Ph)
+beginfont("EN:Switwch trimming")
+  fsize:=(60mm,20mm);
+  sw_fframe:=3;
+  sw_mframe:=1;
+  msize:=(1,.7); MCat(.2,.3)(Ph)
+                 MCat(.8,.7)(Ph)
 endfont
 %-----------------------------------------------------------------------
-beginfont("EN:Switwch clipping")
-  font_ht:=15mm;
-  sw_font_frame:=3;
-  sw_mol_frame:=1;
-  sw_clip:=1;
-  MCd(1,.7)(.2,.3)(Ph)
-  MCd(1,.7)(.8,.7)(Ph)
+beginfont("EN:Switwch trimming")
+  fsize:=(60mm,20mm);
+  sw_fframe:=3;
+  sw_mframe:=1;
+  sw_trimming:=1;
+  msize:=(1,.7);
+  MCat(.2,.3)(Ph)
+  MCat(.8,.7)(Ph)
 endfont
 %***********************************************************************
-beginfont("EN:Switwch Solid ratio=0")
-  font_ht:=18mm;
-  bond_len:=8mm;
-  MCf(<30,Ph)
-endfont
-%-----------------------------------------------------------------------
-beginfont("EN:Switwch Solid ratio=1")
-  font_ht:=18mm;
-  bond_len:=8mm;
-  sw_solid:=1;
-  ratio_bond_width:=0.1;
-  MCf(<30,Ph)
-endfont
-%-----------------------------------------------------------------------
-beginfont("EN:Switwch Solid ratio=2")
-  font_ht:=18mm;
-  bond_len:=10mm;
-  sw_solid:=2;
-  MCf(<30,Ph)
-endfont
-%-----------------------------------------------------------------------
-beginfont("EN:sw_clip=1")
-  font_ht:=18mm;
-  bond_len:=10mm;
-  sw_solid:=2;
-  sw_clip:=1;
-  MCf(<30,Ph)
-endfont
-%***********************************************************************
 beginfont("EN:Switwch Expand")
-  font_ht:=20mm;
-  MCa(0, .5)(<30,Ph,4:/COOH,3:/NH2)
+  fsize:=(60mm,20mm);
+  MCat(0, .5)(<30,Ph,4:/COOH,3:/NH2)
   sw_expand:=1;
-  MCa(1, .5)(<30,Ph,4:/COOH,3:/NH2)
+  MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch substituent off")
-  font_ht:=15mm;
-  MCa(.15, .5)(<30,Ph,4:/Cl,3:/F)
+  fsize:=(60mm,15mm);
+  MCat(.15, .5)(<30,Ph,4:/Cl,3:/F)
   sw_subst_off:=1;
-  MCa(.85, .5)(<30,Ph,4:/Cl,3:/F)
+  MCat(.85, .5)(<30,Ph,4:/Cl,3:/F)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch bondtype off")
-  font_ht:=15mm;
-  MCa(.15, .5)(<30,Ph,4:/Cl,3:/F)
-  sw_bond_single:=1;
-  MCa(.85, .5)(<30,Ph,4:/Cl,3:/F)
+  fsize:=(60mm,15mm);
+  MCat(.15, .5)(<30,Ph,4:/Cl,3:/F)
+  sw_single:=1;
+  MCat(.85, .5)(<30,Ph,4:/Cl,3:/F)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch font frame 1")
-  font_ht:=15mm;
-  margin_left_right:=5mm;
-  margin_top_bottom:=2mm;
-  sw_font_frame:=1;
-  MCf(<30,Ph,4:/Cl,3:/F)
+  fsize:=(40mm,12mm);
+  fmargin:=(5mm,2mm);
+  sw_fframe:=1;
+  MC(<30,Ph)
 endfont
 beginfont("EN:Switwch font frame 2")
-  font_ht:=15mm;
-  margin_left_right:=5mm;
-  margin_top_bottom:=2mm;
-  sw_font_frame:=2;
-  MCf(<30,Ph,4:/Cl,3:/F)
+  fsize:=(40mm,12mm);
+  fmargin:=(5mm,2mm);
+  sw_fframe:=2;
+  MC(<30,Ph)
 endfont
 beginfont("EN:Switwch font frame 3")
-  font_ht:=15mm;
-  margin_left_right:=5mm;
-  margin_top_bottom:=2mm;
-  sw_font_frame:=3;
-  MCf(<30,Ph,4:/Cl,3:/F)
+  fsize:=(40mm,12mm);
+  fmargin:=(5mm,2mm);
+  sw_fframe:=3;
+  MC(<30,Ph)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch molecular frame")
-  font_ht:=15mm;
-  sw_mol_frame:=1;
-  MCf(<30,Ph,4:/Cl,3:/F)
+  sw_fframe:=1;
+  fsize:=(40mm,15mm);
+  msize:=(1,1);
+  sw_mframe:=1;
+  MC(<30,Ph)
 endfont
 %***********************************************************************
 beginfont("EN:Switwch atom frame")
-  font_ht:=12mm;
-  sw_atom_frame:=1;
-  MCf(<30,COOH,!0,COOH)
+  fsize:=(60mm,15mm);
+  sw_aframe:=1;
+  MC(<30,COOH,!0,COOH)
 endfont
 %***********************************************************************
 beginfont("EN:Local setting 1")
-  font_wd:=15mm;
-  font_ht:=12mm;
-  MCf(Ph)
+  fsize:=(15mm,12mm);
+  MC(Ph)
 endfont
 beginfont("EN:Local setting 2")
-  font_wd:=15mm;
-  font_ht:=12mm;
+  fsize:=(15mm,12mm);
   ratio_thickness_bond:=0.05;
-  MCf(Ph)
+  MC(Ph)
 endfont
 beginfont("EN:Local setting 3")
-  font_wd:=15mm;
-  font_ht:=12mm;
-  MCf(Ph)
+  fsize:=(15mm,12mm);
+  MC(Ph)
 endfont
 %***********************************************************************
 save_ratio:=ratio_thickness_bond;
 beginfont("EN:Local setting 1")
-  font_wd:=15mm;
-  font_ht:=12mm;
-  MCf(Ph)
+  fsize:=(15mm,12mm);
+  MC(Ph)
 endfont
 ratio_thickness_bond:=0.05;
 beginfont("EN:Local setting 2")
-  font_wd:=15mm;
-  font_ht:=12mm;
-  MCf(Ph)
+  fsize:=(15mm,12mm);
+  MC(Ph)
 endfont
 beginfont("EN:Local setting 3")
-  font_wd:=15mm;
-  font_ht:=12mm;
-  MCf(Ph)
+  fsize:=(15mm,12mm);
+  MC(Ph)
 endfont
 ratio_thickness_bond:=save_ratio;
 %***********************************************************************
-beginfont("EN:MCd()")
-  font_wd:=60mm;
-  font_ht:=20mm;
-  sw_font_frame:=1;
-  sw_mol_frame:=1;
-  MCd(1,0.8)(0.1,1)(<30,Ph,4:/Cl,3:/F)
-  sw_mol_frame:=1;
-  MCd(1,0.8)(0.9,0)(<30,Ph,4:/Cl,3:/F)
+beginfont("EN:MC() ")
+  fmargin:=(0.5mm,0.5mm);
+  fsize:=(40mm,15mm);
+  sw_fframe:=1;
+  sw_mframe:=1;
+  MC(<30,Ph,4:/Cl,3:/F)
 endfont
-%***********************************************************************
-beginfont("EN:MCa()")
-  font_wd:=60mm;
-  font_ht:=20mm;
-  sw_font_frame:=1;
-  sw_mol_frame:=1;
-  MCa(0.1,0.5)(<30,Ph,4:/Cl,3:/F)
-  sw_mol_frame:=1;
-  MCa(0.9,0.5)(<30,Ph,4:/Cl,3:/F)
-endfont
-%***********************************************************************
-beginfont("EN:MCc()")
-  font_wd:=60mm;
-  font_ht:=20mm;
-  sw_font_frame:=1;
-  MCc(1   ,1   )(?6)
-  MCc(0.75,0.75)(?6)
-  MCc(0.5 ,0.5 )(?6)
-endfont
-%***********************************************************************
-beginfont("EN:MCf() ht1")
-  margin_left_right:=margin_top_bottom:=0.5mm;
-  font_wd:=25mm;
-  font_ht:=15mm;
-  sw_font_frame:=1;
-  sw_mol_frame:=1;
-  MCf(<30,Ph)
-endfont
 %-----------------------------------------------------------------------
-beginfont("EN:MCf() ht2")
-  margin_left_right:=margin_top_bottom:=0.5mm;
-  font_wd:=25mm;
-  font_ht:=15mm;
-  sw_font_frame:=1;
-  sw_mol_frame:=1;
-  MCf(<30,Ph,4:/Cl,3:/F)
+beginfont("EN:MCat()")
+  defaultsize:=5bp;
+  fsize:=(75mm,75mm);
+  fmargin:=(3mm,3mm);
+  blength:=0.07;
+  sw_fframe:=1;
+  mangle:=0;
+  for i=1 step -0.25 until 0:
+    for j=0 step 0.25 until 1:
+      MCat(j,i)(Ph,4:N)
+      ext(
+        drawarrow((A1 shifted (aw,0)) rotated A1dir..A1);
+        label(decimal(mangle),p0+(0.5w,0.5h));
+      )
+      mangle:=mangle+15;
+    endfor
+  endfor
 endfont
-%-----------------------------------------------------------------------
-beginfont("EN:MCf() vt")
-  margin_left_right:=margin_top_bottom:=0.5mm;
-  font_wd:=15mm;
-  font_ht:=25mm;
-  sw_font_frame:=1;
-  sw_mol_frame:=1;
-  MCf(<30,Ph)
-endfont
-%-----------------------------------------------------------------------
-beginfont("EN:MCf() vt2")
-  margin_left_right:=margin_top_bottom:=0.5mm;
-  font_wd:=15mm;
-  font_ht:=25mm;
-  sw_font_frame:=1;
-  sw_mol_frame:=1;
-  MCf(<30,Ph,4:/Cl,3:/F)
-endfont
 %***********************************************************************
 beginfont("EN:EXT()")
-  font_wd:=70mm;
-  font_ht:=30mm;
-  ratio_bond_width:=0.065;
-  sw_solid:=1;
+  fsize:=(70mm,30mm);
+  blength:=0.065;
   sw_label_emu:=1;
   %
-  MCa(0.1,0.5)(<-210,60`1,60`1,60`1,{1,3}=dl,1:/R1,4:/R2^-60)
+  MCat(0.1,0.5)(<-210,60`1,60`1,60`1,{1,3}=dl,1:/R1,4:/R2^-60)
   ext(
    defaultscale:=0.6;
    label.bot("Diene",p0+(0.5w,0));
   )
-  MCa(0.4,0.5)(<-30,-60`1,1=dl,1:/R3,2:/R4^60)
+  MCat(0.4,0.5)(<-30,-60`1,1=dl,1:/R3,2:/R4^60)
   ext(
    defaultscale:=0.6;
    label.bot("Dienophile",p0+(0.5w,0));
   )
-  MCa(0.9,0.5)(<30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1)
+  MCat(0.9,0.5)(<30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1)
   EXT(
     drawarrow (0.52w,0.5h)..(0.6w,0.5h);
     defaultscale:=0.7;
@@ -972,15 +999,14 @@
 endfont
 %***********************************************************************
 beginfont("EN:ext()")
-  font_wd:=50mm;
-  font_ht:=20mm;
-  MCd(1,0.7)(0,0.5)(<30,?6,3=dl,4:/CH3)
+  fsize:=(50mm,20mm);
+  msize:=(1,0.7); MCat(0,0.5)(<30,?6,3=dl,4:/CH3)
   ext(
     label.top("+",A7);
     drawarrow B3{dir(B3dir-90)}..
               {dir(B7dir+90)}0.4[B7s,B7e];
   )
-  MCd(1,0.7)(1,0.5)(<30,?6,4://CH3)
+  msize:=(1,0.7); MCat(1,0.5)(<30,?6,4://CH3)
   ext(
     labeloffset:=0bp;
     label.lrt("+",A3);
@@ -987,43 +1013,44 @@
   )
   EXT(drawdblarrow (0.4w,0.5h)..(0.55w,0.5h);)
 endfont
-sw_clip:=1;
+sw_trimming:=1;
 %***************************************************************************
 beginfont("EN:Acetamiprid","MW:222.676")
-  font_ht:=20mm;
-  MCf(<30,Ph,2:N,1:/Cl,4:\,!,N,/_,!,/_,!!,N,!,CN)
+  fsize:=(60mm,18mm);
+  MC(<30,Ph,2:N,1:/Cl,4:\,!,N,/_,!,/_,!!,N,!,CN)
 endfont
 %***************************************************************************
 beginfont("EN:Fenitrothion","MW:277.231")
-  font_ht:=20mm;
-  MCf(<30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,4:/NO2)
+  fsize:=(60mm,18mm);
+  MC(<30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,4:/NO2)
 endfont
 %***************************************************************************
 beginfont("EN:Permethrin","MW:391.288")
-  font_ht:=25mm;
-  MCf(<-30,?3,2^-35:*/_,2^35:/*_,1:\,!!,/Cl,!,Cl,
+  fsize:=(60mm,25mm);
+  MC(<-30,?3,2^-35:*/_,2^35:/*_,1:\,!!,/Cl,!,Cl,
      3:\,//O,!,O,!2,Ph,-4:\,O,-60,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Endosulfan","MW:406.904");
-  font_ht:=25mm;
-  MCf(<26,?7,7=?6[13],11:@,208~wf`1.45,8~wb:#,10=d,{3,5}:O,4:S,4://O,
+  fsize:=(60mm,25mm);
+  MC(<26,?7,7=?6[13],11:@,208~wf`1.45,8~wb:#,10=d,{3,5}:O,4:S,4://O,
       {8,9,10,11,12^-210,12^-150}:/Cl)
 endfont;
 %***************************************************************************
 beginfont("EN:Luciferin","MW:280.33")
-  MCf(<30,Ph,3=?5,8:\,?5,{9,16}=dl,
+  fsize:=(60mm,20mm);
+  MC(<30,Ph,3=?5,8:\,?5,{9,16}=dl,
    {9,14}:N,{7,11}:S,1:/OH,-2:*/COOH)
 endfont
 %***************************************************************************
 beginfont("EN:Warfarin","CAS:81-81-2","FM:C19H16O4","MW:308.33")
-  font_ht:=25mm;
-   MCf(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8:\,/Ph`1,60,!,//O,!)
+  fsize:=(60mm,25mm);
+   MC(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,8:\,/Ph`1,60,!,//O,!)
 endfont
 %***************************************************************************
 beginfont("EN:Limonin")
-  font_ht:=30mm;
-  MCf(<30,?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,
+  fsize:=(60mm,30mm);
+  MC(<30,?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,
       {13,15,17,20}:O,{3,12,21}://O,
       {4~wf^60,8~zf^60,18^35,18^-35}:/_,{1^60,5^180,16^60}:/*H,
       14:\*,|,?5,{1,4}=dl,3:O)
@@ -1030,21 +1057,21 @@
 endfont
 %***************************************************************************
 beginfont("EN:Sesamine")
-  font_ht:=25mm;
-  MCf(<54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H,
+  fsize:=(60mm,25mm);
+  MC(<54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H,
    $5:*\^-12,Ph,-3=?5,{-1,-3}:O,8:*\^-12,Ph,-3=?5,{-1,-3}:O)
 endfont
 %***************************************************************************
 beginfont("EN:Colchicine","CAS:477-27-0","FM:C21H23NO6","MW:385.41")
-  font_ht:=25mm;
-  MCf(<30,Ph,{1,2,6}:/O!,|,-4=?7,
+  fsize:=(60mm,25mm);
+  MC(<30,Ph,{1,2,6}:/O!,|,-4=?7,
      |,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,
      $9:\,NH,!,//O,!)
 endfont
 %***************************************************************************
 beginfont("EN:Lycorine","CAS:476-28-8","FM:C16H17NO4","MW:287.31")
-  font_ht:=25mm;
-  MCf(<30,
+  fsize:=(60mm,25mm);
+  MC(<30,
     Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],13=dl,8:N,{15,17}:O,
     9:/*H^180,10:*/H^60,13:*/OH,14:/*OH
   )
@@ -1051,44 +1078,44 @@
 endfont
 %***********************************************************************
 beginfont("EN:Gibberellin A3","CAS:77-06-5","FM:C19H22O6","MW:346.37");
-  font_ht:=20mm;
-  MCf(<18,?5,3=?7,5=?6[12],8:@,160`1.3,3:#,13=dl,6=wf,8=wb,
+  fsize:=(60mm,20mm);
+  MC(<18,?5,3=?7,5=?6[12],8:@,160`1.3,3:#,13=dl,6=wf,8=wb,
      5:@,40~zf`1,O,50,//O^180,14~zb:#,
      2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1,4}:*/H^60)
 endfont
 %***************************************************************************
 beginfont("EN:Quinine","CAS:130-95-0","FM:C20H24N2O2","MW:324.42")
-  font_ht:=25mm;
-  MCf(<30,Ph,3=Ph,7:N,6:/O!,
+  fsize:=(60mm,25mm);
+  MC(<30,Ph,3=Ph,7:N,6:/O!,
       10:\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60,4:*\,!!,2:@,165~zf,60,5~zb:#)
 endfont
 %***************************************************************************
 beginfont("EN:Atoropin","CAS:51-55-8","FM:C17H23NO3","MW:289.37")
-  font_ht:=25mm;
-  MCf(<-30,O,!,//O,!,!,Ph,
+  fsize:=(60mm,22mm);
+  MC(<-30,O,!,//O,!,!,Ph,
      $1:@,-120~zb,|,?7,6:*\^190`1.12,N,/_,3~wb:#,$3:*\*,!,OH)
 endfont
 %***************************************************************************
 beginfont("EN:Rotenone");
-  font_ht:=30mm;
-  MCf(<-60,?5,{-3,-2,-3,-4}=?6,{7,9,-2,-4}=dl,{3,17}=dr,
+  fsize:=(60mm,30mm);
+  MC(<-60,?5,{-3,-2,-3,-4}=?6,{7,9,-2,-4}=dl,{3,17}=dr,
    {2,13,16}=O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,1:*\,/_,!!)
 endfont;
 %***************************************************************************
 beginfont("EN:Pyrethrin I");
-  MCf(<30,?3,{3^35~wf,3^-35~zf}:/_,1:*\,!!,iPr,
+  MC(<30,?3,{3^35~wf,3^-35~zf}:/_,1:*\,!!,iPr,
      2:\*,//O,!,O,-36~zb,|,?5,-2=dl,-1:/_,-3://O,-2:\,!4,{-1,-3}=dl)
 endfont;
 %***************************************************************************
 beginfont("EN:Validamycin")
-  font_ht:=20mm;
-  MCf(<30,?6,{5,6}:/OH,3:/!OH>rl,
+  fsize:=(60mm,20mm);
+  MC(<30,?6,{5,6}:/OH,3:/!OH>rl,
     $4:\,O,-60,|,?6,2:O,{3,4,5}:/OH,6:/!OH,
     $1:\,NH,!,|,?6,2=dl,{4,5,6}:/OH,3:/!OH)
 endfont
 %***************************************************************************
 beginfont("EN:Paclitaxel","CAS:33069-62-4","FM:C47H51NO14","MW:853.91")
-  MCf(?6,5=dl,3:@,|<,``1,36,45,45,45,45,>|,
+  MC(?6,5=dl,3:@,|<,``1,36,45,45,45,45,>|,
     $5:#,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,||,
     {4^35,4^-35,6}:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O,
     1:\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph,
@@ -1096,15 +1123,15 @@
 endfont
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 beginfont("EN:Ampicillin","MW:349.405")
-  font_ht:=15mm;
-  MCf(<45,?4,-3=?5,2:N,7:S,
+  fsize:=(60mm,15mm);
+  MC(<45,?4,-3=?5,2:N,7:S,
     {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,{6^35,6^-35}:/_,
      4:*\^75,NH,!,//O,!,/*NH2,!,Ph)
 endfont
 %***************************************************************************
 beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65")
-  font_ht:=15mm;
-  MCf(
+  fsize:=(60mm,15mm);
+  MC(
     <30,?6,{-4,-2}=?6,-4=?5,7=dl,
       1:*/OH,{4,12}:*/_^60,9:*/H^60,
       10:/*H^180,11:/*H^-60,17:/*H^-54,

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2019-03-21 20:46:35 UTC (rev 50505)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2019-03-21 20:47:41 UTC (rev 50506)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  Molecular Coding Format manual           by  Akira Yamaji 2019.02.11
+%  Molecular Coding Format manual                by  Akira Yamaji 2019.03.03
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 %%%%\documentclass[a4paper,twoside]{article}
@@ -380,8 +380,9 @@
 \MCFgraph
 %-----------------------------------------------------------------------------
 \subsection{Fuse ring}
-\subsubsection{Attached 1 bond}
 \begin{verbatim}
+  (Attached 1 bond)
+
   ?6,3=?6 : fuse ?6 at B3
   ** Bn(n:-999<=n<=4095): bond number
 
@@ -412,16 +413,17 @@
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
-\subsubsection{Attached 2 bond}
 \begin{verbatim}
+  (Attached 2 bond)
+
   (4,11)=?6[4]  : fuse 4/6 ring to B11..B4
   (4,11)=?5[3]  : fuse 3/5 ring to B11..B4
   (4,11)=?4[2]  : fuse 2/4 ring to B11..B4
   ** ?m[n] (4<=m<=6,n=m-2)
 
-1:MCd(1,.7)(  0,0)(<30,?6,3=?6,(11,4)=?6[4])
-2:MCd(1,.6)(.54,1)(<30,?6,3=?6,(11,4)=?5[3])
-3:MCd(1,.6)(  1,0)(<30,?6,3=?6,(11,4)=?4[2])
+1:<30,?6,3=?6,(11,4)=?6[4]
+2:<30,?6,3=?6,(11,4)=?5[3]
+3:<30,?6,3=?6,(11,4)=?4[2]
 \end{verbatim}
 \MCFgraph
 \vspace{-3mm}%
@@ -429,14 +431,15 @@
         1             2             3
 \end{verbatim}
 %-----------------------------------------------------------------------------
-\subsubsection{Attached 3 bond}
 \begin{verbatim}
+  (Attached 3 bond)
+
   (16,4)=?6[3] : fuse 3/6 ring to B16..B4
   (16,4)=?5[2] : fuse 2/5 ring to B16..B4
   ** ?m[n] (5<=m<=6,n=m-3)
 
-1:MCd(1,.55)(0,0)(?6,{3,10}=?6,(16,4)=?6[3])
-2:MCd(1,.55)(1,0)(?6,{3,10}=?6,(16,4)=?5[2])
+1:?6,{3,10}=?6,(16,4)=?6[3]
+2:?6,{3,10}=?6,(16,4)=?5[2]
 \end{verbatim}
 \MCFgraph
 \vspace{-3mm}%
@@ -444,17 +447,19 @@
          1                 2
 \end{verbatim}
 %-----------------------------------------------------------------------------
-\subsubsection{Attached 4 bond}
+%%%%\subsubsection{Attached 4 bond}
 \begin{verbatim}
+  (Attached 4 bond)
+
   (21,4)=?6[2] : fuse 2/6 ring to B21..B4
 
-  MCf(<-30,?6,{3,10,15}=?6,(21,4)=?6[2])
+  MC(<-30,?6,{3,10,15}=?6,(21,4)=?6[2])
 
   ** ?m[n] (m=6,n=2)
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
-\subsubsection{Spiro ring}
+\subsection{Spiro ring}
 \begin{verbatim}
   4:@,?5 : add ?5 at A4
 
@@ -581,11 +586,11 @@
 
   defaultfont:="cmtt8";
   defaultsize:=8bp;
-  MCa(0.25,0)(<30,Ph,{2,5}:N,3:/NH2,
-               2:red,5:blue,3=green)
+  MCat(0.25,0)(<30,Ph,{2,5}:N,3:/NH2,
+         2:red,5:blue,3=green)
   ext(label.lft("(draw)",p0+(0,0.9h));)
   atomfont:="cmr8";   % default:"draw"
-  MCa(1,0)(<30,Ph,{2,5}:N,3:/NH2)
+  MCat(1,0)(<30,Ph,{2,5}:N,3:/NH2)
   ext(label.lft("(cmr8)",p0+(0,0.9h));)
 \end{verbatim}
 {\MCFformat=0 \MCFgraph}
@@ -606,11 +611,11 @@
   if chain start multi charactor string,
   use !0 instead of !
 
-  MCf(<30,COOH,!0,!3,COOH)
+  MC(<30,COOH,!0,!3,COOH)
 \end{verbatim}
 \MCFgraph
 \begin{verbatim}
-  MCf(<30,COOH,!4,COOH)
+  MC(<30,COOH,!4,COOH)
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
@@ -631,37 +636,91 @@
 \newpage
 \section{Option parameter}
 %------------------------------------------------------------------------------
-\subsection{Size parameter}
-\subsubsection{Font size}
+\subsection{Angle parameter}
 \begin{verbatim}
-  beginfont("EN:Caffeine")
-    font_wd:=30mm;  %<==font width
-    font_ht:=20mm;  %<==font height
-    MCf(<30,?6,-4=?5,{3,8}=dl,{2,6,7,9}:N,
-       {2,6,9}:/_,{1,5}://O)  endfont
+  mangle=0   ** default
+
+  MCat(0.2,0.5)(Ph)
+  mangle:=30;
+  MCat(0.8,0.5)(Ph)
 \end{verbatim}
 \MCFgraph
+%------------------------------------------------------------------------------
+\subsection{Size/Ratio parameter}
 %-----------------------------------------------------------------------------
-\subsubsection{Margin left and right}
+\subsubsection{Bond length}
 \begin{verbatim}
- default: margin_left_right=0.4mm
+  (fit to font size)
+  blength=0   ** default
 \end{verbatim}
 \MCFgraph
-\begin{picture}(12,20)
-\put(1,14){\makebox(10,6)[r]{\tt 0mm}}
-\put(1, 7){\makebox(10,6)[r]{\tt 0.4mm}}
-\put(1, 0){\makebox(10,6)[r]{\tt 5mm}}
-\end{picture}
+%-----------------------------------------
+\begin{verbatim}
+  (ratio bond/font width)
+  blength=0.1  ** (0<blength<=1)
+  blength=60mm(width)*0.1=6mm
+\end{verbatim}
+\MCFgraph
+%-----------------------------------------
+\begin{verbatim}
+  (bond length)
+  blength=9mm
+  ** (blength>1) ignore msize(w,h)
+\end{verbatim}
+\MCFgraph
+%------------------------------------------------------------------------------
+\subsubsection{Molecular size}
+\begin{verbatim}
+  msize=(1,1)  ** default
+\end{verbatim}
+\MCFgraph
+%-----------------------------------------------------------
+\begin{verbatim}
+  msize=(0.25,1)
+  msize=40mm-4mm*0.25=9mm
+\end{verbatim}
+\MCFgraph
+%-----------------------------------------------------------
+\begin{verbatim}
+  msize=(11mm,11mm)
+\end{verbatim}
+\MCFgraph
+%------------------------------------------------------------------------------
+\subsubsection{Molecular position}
+\begin{verbatim}
+  mposition=(0.5,0.5) ** default
+\end{verbatim}
+\MCFgraph
+%--------------------------------------------------------------
+\begin{verbatim}
+  mposition=(1,0)
+\end{verbatim}
+\MCFgraph
+%--------------------------------------------------------------
+\begin{verbatim}
+  mposition=(10mm,4mm)
+\end{verbatim}
+\MCFgraph
+%------------------------------------------------------------------------------
+\subsection{Size parameter}
 %-----------------------------------------------------------------------------
-\subsubsection{Margin top and bottom}
+\subsubsection{Font size}
 \begin{verbatim}
- default: margin_top_bottom=0.4mm
+ fsize=(font width,font height)
+ ** default: (30mm,20mm)
+
+ fsize=(40mm,15mm)
 \end{verbatim}
 \MCFgraph
-\vspace{-3mm}%
+%-----------------------------------------------------------------------------
+\subsubsection{Font margin}
 \begin{verbatim}
-      0mm       0.4mm       5mm
+ fmargin=(margin left rigth,top bottom)
+ ** default: (0.4mm,0.4mm)
+
+ fmargin=(10mm,2mm)
 \end{verbatim}
+\MCFgraph
 %-----------------------------------------------------------------------------
 \subsubsection{Offset thickness of bond}
 \begin{verbatim}
@@ -705,7 +764,7 @@
 %-----------------------------------------------------------------------------
 \subsubsection{Max bond length}
 \begin{verbatim}
-  default:  max_bond_length=10mm
+  default:  max_blength=10mm
 \end{verbatim}
 \MCFgraph
 \vspace{-3mm}%
@@ -795,6 +854,8 @@
        0.06      0.12      0.20
 \end{verbatim}
 %-----------------------------------------------------------------------------
+\newpage
+%-----------------------------------------------------------------------------
 \subsection{Drawing mode}
 %-----------------------------------------------------------------------------
 \subsubsection{Numbering atom}
@@ -823,57 +884,27 @@
 \put(0, 2){\makebox[5mm]{\tt 3}}
 \end{picture}
 %-----------------------------------------------------------------------------
-\subsubsection{Clipping mode}
+\subsubsection{Trimming mode}
 \begin{verbatim}
-  sw_clip:=0;
-  MCd(1,0.7)(0.2,0.3)(Ph)
-  MCd(1,0.7)(0.8,0.7)(Ph)
-  ** default: sw_clip=0
+  sw_trimming:=0;  ** default
+  msize:=(1,0.7);
+  MCat(0.2,0.3)(Ph)
+  MCat(0.8,0.7)(Ph)
 \end{verbatim}
 \MCFgraph
 \begin{verbatim}
-  sw_clip:=1;
-  MCd(1,0.7)(0.2,0.3)(Ph)
-  MCd(1,0.7)(0.8,0.7)(Ph)
+  sw_trimming:=1;
+  MCat(0.2,0.3)(Ph)
+  MCat(0.8,0.7)(Ph)
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
-\subsubsection{Solid mode}
-\begin{verbatim}
-  (fit to font size)
-  sw_solid=0   ** default
-\end{verbatim}
-\MCFgraph
-%-----------------------------------------
-\begin{verbatim}
-  (solid ratio bond/font width)
-  sw_solid:=1;
-  ratio_bond_width=0.1
-  font_width=60mm
-  (bond_len=60mm*0.1=6mm)
-  ** ignore bond_len
-\end{verbatim}
-\MCFgraph
-%-----------------------------------------
-\begin{verbatim}
-  (solid bond length)
-  sw_solid:=2; 
-  bond_len=10mm
-  ** ignore ratio_bond_width
-\end{verbatim}
-\MCFgraph
-%-----------------------------------------
-\begin{verbatim}
-  (solid bond length and clip)
-  sw_solid:=2;
-  sw_clip:=1;
-  bond_len=10mm
-\end{verbatim}
-\MCFgraph
-%-----------------------------------------------------------------------------
 \subsubsection{Expand mode}
 \begin{verbatim}
-  default:  sw_expand=0
+MCat(0, .5)(<30,Ph,4:/COOH,3:/NH2)
+sw_expand:=1;
+MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
+** default: sw_expand=0
 \end{verbatim}
 \MCFgraph\\
 \makebox[5mm]{}%
@@ -882,7 +913,7 @@
 %-----------------------------------------------------------------------------
 \subsubsection{Substituent off mode}
 \begin{verbatim}
-  default:  sw_subst_off=0
+  ** default: sw_subst_off=0
 \end{verbatim}
 \MCFgraph\\
 \makebox[5mm]{}%
@@ -891,7 +922,7 @@
 %-----------------------------------------------------------------------------
 \subsubsection{Single bond mode}
 \begin{verbatim}
-  default:  sw_bond_single=0
+  ** default: sw_single=0
 \end{verbatim}
 \MCFgraph\\
 \makebox[5mm]{}%
@@ -903,52 +934,48 @@
 \subsubsection{Font frame}
 \begin{verbatim}
   (Draw font frame)
-  margin_left_right:=5mm;
-  margin_top_bottom:=2mm;
-  sw_font_frame:=1;
-  MCf(<30,Ph,4:/Cl,3:/F)
+  fmargin:=(5mm,2mm);
+  sw_fframe=1
 \end{verbatim}
 \MCFgraph
 \begin{verbatim}
   (Draw frame inside margin)
-  sw_font_frame=2
+  sw_fframe=2
 \end{verbatim}
 \MCFgraph
 \begin{verbatim}
   (Draw both frame)
-  sw_font_frame=3
+  sw_fframe=3
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
 \subsubsection{Molecular frame}
 \begin{verbatim}
-  sw_mol_frame:=1;
-  MCd(1,.5)(1,0.5)(<30,Ph,4:/Cl,3:/F)
-  ** default: sw_mol_frame=0
+  sw_mframe=1  ** default:sw_mframe=0
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
 \subsubsection{Atom frame}
 \begin{verbatim}
-  sw_atom_frame:=1;
-  MCf(<30,COOH,!0,COOH)
-  ** default: sw_atom_frame=0
+  sw_aframe=1  ** default: sw_aframe=0
+  MC(<30,COOH,!0,COOH)
 \end{verbatim}
 \MCFgraph
+\newpage
 %-----------------------------------------------------------------------------
 \subsection{Local parameter setting}
 \begin{verbatim}
   beginfont()
-    MCf(Ph)
+    MC(Ph)
   endfont
   beginfont()
     %--------------------------
     ratio_thickness_bond:=0.05;
     %--------------------------
-    MCf(Ph)
+    MC(Ph)
   endfont
   beginfont()
-    MCf(Ph)
+    MC(Ph)
   endfont
 \end{verbatim}
 \MCFgraph\MCFgraph\MCFgraph
@@ -956,129 +983,89 @@
 \subsection{Global parameter setting}
 \begin{verbatim}
   beginfont()
-    MCf(Ph)
+    MC(Ph)
   endfont
   %--------------------------
   ratio_thickness_bond:=0.05;
   %--------------------------
   beginfont()
-    MCf(Ph)
+    MC(Ph)
   endfont
   beginfont()
-    MCf(Ph)
+    MC(Ph)
   endfont
 \end{verbatim}
 \MCFgraph\MCFgraph\MCFgraph
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newpage
 \section{Function}
-\subsection{Function MCd()}
+%-----------------------------------------------------------------------------
+\subsection{Function MC()}
 \begin{verbatim}
   (Draw molecule)
 
-  MCd(a,b)(c,d)(...)
-    a: ratio molecular width/font width
-    b: ratio molecular hight/font hight
-    c: x axis position
-    d: y axis position
+  msize=(a,b)        **default (1,1)
+  mposition=(c,d)    **default (0.5,0.5)
 
-  beginfont()
-    MCd(1,0.8)(0.2,0.9)(<30,Ph,3:/F,4:/Cl)
-    MCd(1,0.8)(0.8,0.1)(<30,Ph,3:/F,4:/Cl)
-  endfont
-\end{verbatim}
-\MCFgraph
-%-----------------------------------------------------------------------------
-\subsection{Function MCa()}
-\begin{verbatim}
-  (Draw molecule at (x,y))
+  a: ratio molecular width/font width
+  b: ratio molecular hight/font hight
+  c: x axis position
+  d: y axis position
 
-  MCa(a,b)(...) : MCd(1,1)(a,b)(...)
-    a: x axis position
-    b: y axis position
-
   beginfont()
-    MCa(0.2,0.5)(<30,Ph,3:/F,4:/Cl)
-    MCa(0.8,0.5)(<30,Ph,3:/F,4:/Cl)
+    MC(<30,Ph,3:/F,4:/Cl)
   endfont
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
-\subsection{Function MCc()}
+\subsection{Function MCat()}
 \begin{verbatim}
-  (Draw molecule to center of font)
+  (Draw molecule at mposition)
 
-  MCc(a,b)(...) : MCd(a,b)(0.5,0.5)(...)
-    a: ratio molecular width/font width
-    b: ratio molecular hight/font hight
+  MCat(c,d)(....) :
 
-  beginfont()
-    MCc(1   ,1   )(?6)
-    MCc(0.75,0.75)(?6)
-    MCc(0.5 ,0.5 )(?6)
-  endfont
-\end{verbatim}
-\MCFgraph
-%-----------------------------------------------------------------------------
-\subsection{Function MCf()}
-\begin{verbatim}
-  (Draw molecule fit to font size)
+  mposition:=(c,d);
+  MC(....)
 
-  MCf(...) : MCd(1,1)(0.5,0.5)(...)
+  c: x axis position
+  d: y axis position
 
-  (Draw molecule fit to font height)
-
   beginfont()
-    font_wd:=25mm;
-    font_ht:=15mm;
-    MCf(<30,Ph)
+  defaultsize:=5bp;
+  fsize:=(75mm,75mm);
+  fmargin:=(3mm,3mm);
+  blength:=0.07;
+  sw_fframe:=1;
+  mangle:=0;
+  for i=1 step -0.25 until 0:
+    for j=0 step 0.25 until 1:
+      MCat(j,i)(Ph,4:N)
+      ext(
+        drawarrow((A1 shifted (aw,0))
+                   rotated A1dir..A1);
+        label(decimal(mangle),
+              p0+(0.5w,0.5h));
+      )
+      mangle:=mangle+15;
+    endfor
+  endfor
   endfont
-\end{verbatim}
-\MCFgraph
-\begin{verbatim}
 
-  beginfont()
-    font_wd:=25mm;
-    font_ht:=15mm;
-    MCf(<90,Ph,3:/F,4:/Cl)
-  endfont
 \end{verbatim}
 \MCFgraph
-\begin{verbatim}
-
-  (Draw molecule fit to font width)
-
-  beginfont()
-    font_wd:=15mm;
-    font_ht:=25mm;
-    MCf(<30,Ph)
-  endfont
-\end{verbatim}
-\MCFgraph
-\begin{verbatim}
-
-  beginfont()
-    font_wd:=15mm;
-    font_ht:=25mm;
-    MCf(<30,Ph,3:/F,4:/Cl)
-  endfont
-\end{verbatim}
-\MCFgraph
-%-----------------------------------------------------------------------------
+%===============================================================================
 \newpage
 \subsection{Function EXT()}
 \begin{verbatim}
 (Add extra graphic to font)
  
- w:  font width
- h:  font height
- w0: font width-margin_left_right*2
- h0: font height-margin_top_bottom*2
- aw: atom font size
- em: label font size
- p0: x=margin_left_right
-     y=margin_top_bottom
- n:  molecular number
+ w:    font width
+ h:    font height
+ w0:   font width-2xpart(fmargin)
+ h0:   font height-2ypart(fmargin)
+ aw:   atom font size
+ em:   label font size
+ p0:   fmargin
+ n:    molecular number
  p[m]: molecular origin position
  w[m]: molecular width
  h[m]: molecular height
@@ -1087,23 +1074,22 @@
 
 %----------------------------------------
 beginfont()
- font_wd:=70mm;
- font_ht:=30mm;
+ fsize:=(70mm,30mm;)
  ratio_bond_width:=0.065;
  sw_solid:=1;
  %---------------------------------------
- MCd(1,1)(0.1,0.5)
+ MCat(0.1,0.5)
   (<-210,60`1,60`1,60`1,{1,3}=dl,
    1:/R1,4:/R2^-60)
    ext(defaultscale:=0.6;
      label.bot("Diene",p0+(0.5w,0));)
  %---------------------------------------
- MCd(1,1)(0.4,0.5)
+ MCat(0.4,0.5)
   (<-30,-60`1,1=dl,1:/R3,2:/R4^60)
    ext(defaultscale:=0.6;
      label.bot("Dienophile",p0+(0.5w,0));)
  %---------------------------------------
- MCd(1,1)(0.9,0.5)
+ MCat(0.9,0.5)
   (<30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1)
  %---------------------------------------
  EXT(
@@ -1126,8 +1112,8 @@
 
  w:       molecular width
  h:       molecular height
- aw: atom font size
- em: label font size
+ aw:      atom font size
+ em:      label font size
  p0:      origin of molecular structure
  l:       bond length
  An:      atom number
@@ -1141,10 +1127,10 @@
 
 %----------------------------------------
 beginfont()
-  font_wd:=50mm;
-  font_ht:=20mm;
+  fsize:=(50mm,20mm);
  %---------------------------------------
-  MCd(1,0.7)(0,0.5)(<30,?6,3=dl,4:/CH3)
+  msize:=(1,0.7);
+  MCat(0,0.5)(<30,?6,3=dl,4:/CH3)
   ext(
     label.top("+",A7);
     drawarrow B3{dir(B3dir-90)}..
@@ -1151,7 +1137,7 @@
               {dir(B7dir+90)}0.4[B7s,B7e];
     )
  %---------------------------------------
-  MCd(1,0.7)(1,0.5)(<30,?6,4://CH3)
+  MCat(1,0.5)(<30,?6,4://CH3)
   ext(
     labeloffset:=0bp;
     label.lrt("+",A3);
@@ -1342,8 +1328,7 @@
 input mcf2graph.mf;                               % input macro
 %-------------------------------------------------------------------------
 sw_aux_out:=1;        % aux(information) file output on > Gloval setting
-font_wd:=60mm;        % font width                      > 
-font_ht:=40mm;        % font height                     >
+fsize:=(60mm,40mm);   %  (font width,font height)       >
 var3:="cal_MW"; tag3:="cMW";                            > AUX file table
 var4:="cal_FM"; tag4:="cFM";                            >
 %%%% sw_rep_out:=1;                                     > Report output
@@ -1352,7 +1337,7 @@
 outputtemplate:="%j-%3c.png";                           >
 %-------------------------------------------------------------------------
 beginfont("NO:1","EN:Ampicillin")                 > begin font(information)
-  MCf(<45,?4,2:N,2=?5,-1:S,                             > begin MCF (1)
+  MC(<45,?4,2:N,2=?5,-1:S,                              > begin MCF (1)
      {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,            >
      {6^35,6^-35}:/_,                                   >
      4:@,75,NH,!,//O,!,/*NH,!,Ph)                       > end MCF 
@@ -1359,7 +1344,7 @@
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("NO:2","EN:Cholesterol")                > begin font(information)
-  MCf(<30,?6,{-4,-2}=?6,-4=?5,7=dl,                     > begin MCF (2)
+  MC(<30,?6,{-4,-2}=?6,-4=?5,7=dl,                      > begin MCF (2)
       1:*/OH,{4,12}:*/_^60,9:*/H^60,                    >
       10:/*H^180,{11,-1}:/*H^-60,                       >
       -1:@,17,/*_,!4,/_,!)                              > end MCF
@@ -1366,7 +1351,7 @@
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("NO:3","EN:Limonin")                    > begin font(information)
-  MCf(<30,?6,{-3,-4}=?6,                                > begin MCF (3)
+  MC(<30,?6,{-3,-4}=?6,                                 > begin MCF (3)
       -5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,               >
       {13,15,17,20}:O,{3,12,21}://O,                    >
       {4~wf^60,8~zf^60,18^35,18^-35}:/_,                >
@@ -1375,7 +1360,7 @@
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("NO:4","EN:beta-carotene)               > begin font(information)
-  MCf(<30,?6,3=dl,{3,5^35,5^-35}:/_,                    > begin MCF (4)
+  MC(<30,?6,3=dl,{3,5^35,5^-35}:/_,                     > begin MCF (4)
       4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,             >
       {3,7,12,16}:/_,                                   >
       |,?6,6=dl,{6,2^35,2^-35}:/_)                      > end MCF
@@ -1382,7 +1367,7 @@
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("NO:5","EN:Gibberellin A3");            > begin font(information)
-  MCf(<18,?5,3=?7,5=?6[12],                             > begin MCF (5)
+  MC(<18,?5,3=?7,5=?6[12],                              > begin MCF (5)
      8:@,160`1.3,3:#,13=dl,6=wf,8=wb,                   >
      5:@,40~zf`1,O,60,//O^180,14~zb:#,                  >
      2:/COOH,7://_,13:*/OH,8:/*OH,                      >
@@ -1592,9 +1577,9 @@
 \noindent%
 %--------------------------------------------------------------------
 \begin{mplibcode}
-  font_wd:=50mm; font_ht:=50mm;
+  fsize:=(50mm,50mm);
   beginfont("NO:2","EN:Limonin","MW:470.51")
-  MCf(<30,
+  MC(<30,
     ?6,{-3,-4}=?6,
       -5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,
       {13,15,17,20}:O,{3,12,21}://O,
@@ -1606,9 +1591,9 @@
 \end{mplibcode}\\
 %--------------------------------------------------------------------
 \begin{mplibcode}
-  font_wd:=80mm; font_ht:=50mm;
+  fsize:=(80mm,50mm);
   beginfont("NO:3","EN:beta-carotene","MW:536.87")
-    MCf(<30,
+    MC(<30,
       ?6,3=dl,{3,5^35,5^-35}:/_,
       4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,
       {3,7,12,16}:/_,
@@ -1618,9 +1603,9 @@
 \end{mplibcode}\\
 %--------------------------------------------------------------------
 \begin{mplibcode}
-  font_wd:=50mm; font_ht:=50mm;
+  fsize:=(50mm,50mm);
   beginfont("NO:4","EN:Gibberellin A3","MW:346.37");
-  MCf(<18,?5,3=?7,5=?6[12],
+  MC(<18,?5,3=?7,5=?6[12],
      8:@,160`1.3,3:#,13=dl,6=wf,8=wb,
      5:@,40~zf`1,O,60,//O^180,14~zb:#,
      2:/COOH,7://_,13:*/OH,8:/*OH,

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2019-03-21 20:46:35 UTC (rev 50505)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2019-03-21 20:47:41 UTC (rev 50506)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2019.02.11
+% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2019.03.17
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf it must be version 4.36 or later
+%%% mcf2graph.mf it must be version 4.40 or later
 \documentclass{article}
 %------------------------------------------------------------------------------
 \usepackage{luamplib}%
@@ -14,8 +14,8 @@
   if unknown Ph1: input mcf2graph.mf; fi
   sw_aux_out:=1;
   sw_label_emu:=1;
-  sw_font_frame:=4;
-  max_bond_length:=4.5mm;
+  sw_fframe:=4;
+  max_blength:=4.5mm;
   defaultfont:="uhvr8r";
   defaultsize:=8bp;
   defaultscale:=1;
@@ -40,9 +40,10 @@
 {{\tt MW(C) :} molecular weight calculated by mcf2graph\\
 {{\tt MW(D) :} molecular weight from literature data\vspace{5mm}\\
 \begin{mplibcode}
-  font_wd:=80mm; font_ht:=40mm;
+  fsize:=(80mm,40mm);
   beginfont("NO:1","EN:Chlorophyll a","MW:893.49")
-    MCd(.9,.9)(0,0.5)(<54,
+    msize:=(.9,.9);
+    MCat(0,0.5)(<54,
      |<=1,?5,{2,5}=dl,4:N,3:\,54~dl,|,?5,{2,4}=dl,5:N,
      -2:\,54~dl,|,?5,2=dl,5:N,-2:\~dl,54,|,?5,5=dl,5:N,-2:\~dl,$5:#,
      -1:@,24,/*COO!^15,72,//O,$1:#,>|,
@@ -76,9 +77,10 @@
 \vspace{7mm}\\
 %----------------------------------------------------------------------------
 \begin{mplibcode}
-font_wd:=80mm; font_ht:=20mm;
+fsize:=(80mm,20mm);
 beginfont("EN:beta-Carotene","MW:536.888")
-  MCd(.65,1)(.9,.5)(
+  msize:=(.65,1);
+  MCat(.9,.5)(
      <30,?6,3=dl,{3,5^35,5^-35}:/_,
      4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_,
      |,?6,6=dl,{6,2^35,2^-35}:/_
@@ -104,9 +106,9 @@
 \vspace{7mm}\\
 %----------------------------------------------------------------------------
 \begin{mplibcode}
-  font_wd:=80mm; font_ht:=30mm;
+  fsize:=(80mm,30mm);
   beginfont("NO:2","EN:Limonin","MW:470.51")
-  MCa(0.7,0.5)(<30,
+  MCat(0.7,0.5)(<30,
     ?6,{-3,-4}=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,
       {13,15,17,20}:O,{3,12,21}://O,
       {4~wf^60,8~zf^60,18^35,18^-35}:/_,{1^60,5^180,16^60}:/*H,
@@ -135,9 +137,9 @@
 \vspace{7mm}\\%
 %----------------------------------------------------------------------------
 \begin{mplibcode}
-font_wd:=80mm; font_ht:=20mm;
+fsize:=(80mm,20mm);
 beginfont("NO:4","EN:Gibberellin A3","MW:346.37");
-  MCa(0.8,0.5)(
+  MCat(0.8,0.5)(
    <18,?5,3=?7,5=?6[12],8:@,160`1.3,3:#,13=dl,6=wf,8=wb,
    5:@,40~zf`1,O,60,//O^180,14~zb:#,
    2:/COOH,7://_,13:*/OH,8:/*OH,14:*/_,{1,4}:*/H^60)
@@ -162,9 +164,9 @@
 \vspace{7mm}\\
 %----------------------------------------------------------------------------
 \begin{mplibcode}
-font_wd:=80mm; font_ht:=25mm;
+fsize:=(80mm,25mm);
 beginfont("EN:Morphine","MW:285.343")
-  MCa(0.7,0.5)(
+  MCat(0.7,0.5)(
    <30,Ph,2=?6,-4=?6,(1,12)=?5[2],-1:O,-1=zb,
     7:@,60~wf`0.75,70~si_`1.3,45,N,/_,9~wb:#,
     15=d,6:/OH,8^180:*/H,12:/*OH
@@ -191,9 +193,9 @@
 \vspace{7mm}\\
 %----------------------------------------------------------------------------
 \begin{mplibcode}
-font_wd:=80mm; font_ht:=35mm;
+fsize:=(80mm,35mm);
 beginfont("NO:5","EN:Erythromycin","MW:733.93");
-  MCa(0.8,0.5)(
+  MCat(0.8,0.5)(
     <30,|<=1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,>|,1:#,
      14:O,13:/*Et,{1,9}://O,{2,10}:*/_,{4,6^-35,8,12^35}:/*_,
      {6^35,11,12^-35}:*/OH,
@@ -225,9 +227,9 @@
 \vspace{7mm}\\
 %----------------------------------------------------------------------------
 \begin{mplibcode}
-font_wd:=80mm; font_ht:=35mm;
+fsize:=(80mm,35mm);
 beginfont("EN:Paclitaxel","MW:853.918")
-  MCa(0.8,0.5)(
+  MCat(0.8,0.5)(
     ?6,5=d,3:@,|<=1,36,45,45,45,45,>|,$5:#,-4=?6,-4=?4,||,-1=wb,-3=wf,-1:O,
     {4^35,4^-35,6}:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O,
     $1:\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph,
@@ -258,9 +260,9 @@
 %----------------------------------------------------------------------------
 \noindent
 \begin{mplibcode}
-font_wd:=80mm; font_ht:=70mm;
+fsize:=(80mm,70mm);
 beginfont("NO:6","EN:Vancomycin","MW:1449.25");
-  MCa(0.9,0)(
+  MCat(0.9,0)(
     <30,
     |<=1,!12,{1,3,12}=zf,7=wf,/H^-60,60,*/OH,60,
     Ph,-4:/Cl,-3:\,O,!,Ph,-4:\,O,!,Ph,-1^15:/Cl,-3:\,/*OH,*/H^-60,$1:#,
@@ -304,9 +306,9 @@
 \vspace{10mm}\\%
 %----------------------------------------------------------------------------
 \begin{mplibcode}
-  font_wd:=170mm; font_ht:=70mm;
+  fsize:=(170mm,70mm);
   beginfont("NO:7","EN:Maitotoxin","MW:3425.86")
-  MCf(
+  MC(
     <55.8,?6,-4=?7 ,{-4,-3,-3,-3}=?6,-3:\,!3,?6,{-4,-3,-3,-3}=?6,-3:\,?6,-3=?6,
     -3:\,!3,60,<-30,?6,-3=?6,-3:@,30,<30,?6,{-3,-3}=?6,-3=?7,{-4,-3,-3}=?6,
     -2:\,?6,-3=?6,-3=?7,{-3,-3}=?6,-3=?8,-3=dl,{-5,-3,-3,-3}=?6,
@@ -355,20 +357,19 @@
 \newpage
 \begin{mplibcode}
 beginfont("EN:TCA cycle")
-font_wd:=160mm;
-font_ht:=75mm;
-max_bond_length:=5mm;
+fsize:=(160mm,75mm);
+max_blength:=5mm;
 %------------------------------------------------------------------------
-MCa(0.33,   1)(<30,O[-1],!0,//O,!,//O,!2,//O,!,O[-1])
-MCa(0.66,   1)(<30,O[-1],!0,//O,!4,//O,!,O[-1],-4`1:\,//O,!,O[-1],4:/OH^-165)
-MCa(1,      1)(<30,O[-1],!0,//O,!2,!~dr,!,//O,!,O[-1],-4`1:\,//O,!,O[-1])
-MCa(1,   0.55)(<30,O[-1],!0,//O,!4,//O,!,O[-1],-4:\`1,//O,!,O[-1])
-MCa(1,   0.05)(<30,O[-1],!0,//O,!3,//O,!,//O,!,O[-1],-4:\`1,//O,!,O[-1])
-MCa(0.66,0.05)(<30,O[-1],!0,//O,!3,//O,!,//O,!,O[-1])
-MCa(0.33,0.05)(<30,O[-1],!0,//O,!3,//O,!,"{S-CoA}")
-MCa(0,   0.05)(<30,O[-1],!0,//O,!3,//O,!,O[-1])
-MCa(0,   0.55)(<30,O[-1],!0,//O,!,!~dr,!,//O,!,O[-1])
-MCa(0,      1)(<30,O[-1],!0,//O,!3,//O,!,O[-1],3:/OH)
+MCat(0.33,   1)(<30,O[-1],!0,//O,!,//O,!2,//O,!,O[-1])
+MCat(0.66,   1)(<30,O[-1],!0,//O,!4,//O,!,O[-1],-4`1:\,//O,!,O[-1],4:/OH^-165)
+MCat(1,      1)(<30,O[-1],!0,//O,!2,!~dr,!,//O,!,O[-1],-4`1:\,//O,!,O[-1])
+MCat(1,   0.55)(<30,O[-1],!0,//O,!4,//O,!,O[-1],-4:\`1,//O,!,O[-1])
+MCat(1,   0.05)(<30,O[-1],!0,//O,!3,//O,!,//O,!,O[-1],-4:\`1,//O,!,O[-1])
+MCat(0.66,0.05)(<30,O[-1],!0,//O,!3,//O,!,//O,!,O[-1])
+MCat(0.33,0.05)(<30,O[-1],!0,//O,!3,//O,!,"{S-CoA}")
+MCat(0,   0.05)(<30,O[-1],!0,//O,!3,//O,!,O[-1])
+MCat(0,   0.55)(<30,O[-1],!0,//O,!,!~dr,!,//O,!,O[-1])
+MCat(0,      1)(<30,O[-1],!0,//O,!3,//O,!,O[-1],3:/OH)
 %-------------------------------------------------------------------------
 EXT(
 defaultfont:="uhvr8r";
@@ -416,19 +417,18 @@
 \end{mplibcode}
 \begin{verbatim}
 beginfont("EN:TCA cycle")
-font_wd:=160mm;
-font_ht:=75mm;
-max_bond_length:=5mm;
-MCa(0.33,   1)(<30,O[-1],!0,//O,!,//O,!2,//O,!,O[-1])
-MCa(0.66,   1)(<30,O[-1],!0,//O,!4,//O,!,O[-1],-4`1:\,//O,!,O[-1],4:/OH^-165)
-MCa(1,      1)(<30,O[-1],!0,//O,!2,!~dr,!,//O,!,O[-1],-4`1:\,//O,!,O[-1])
-MCa(1,   0.55)(<30,O[-1],!0,//O,!4,//O,!,O[-1],-4:\`1,//O,!,O[-1])
-MCa(1,   0.05)(<30,O[-1],!0,//O,!3,//O,!,//O,!,O[-1],-4:\`1,//O,!,O[-1])
-MCa(0.66,0.05)(<30,O[-1],!0,//O,!3,//O,!,//O,!,O[-1])
-MCa(0.33,0.05)(<30,O[-1],!0,//O,!3,//O,!,"{S-CoA}")
-MCa(0,   0.05)(<30,O[-1],!0,//O,!3,//O,!,O[-1])
-MCa(0,   0.55)(<30,O[-1],!0,//O,!,!~dr,!,//O,!,O[-1])
-MCa(0,      1)(<30,O[-1],!0,//O,!3,//O,!,O[-1],3:/OH)
+fsize:=(160mm,75mm);
+max_blength:=5mm;
+MCat(0.33,   1)(<30,O[-1],!0,//O,!,//O,!2,//O,!,O[-1])
+MCat(0.66,   1)(<30,O[-1],!0,//O,!4,//O,!,O[-1],-4`1:\,//O,!,O[-1],4:/OH^-165)
+MCat(1,      1)(<30,O[-1],!0,//O,!2,!~dr,!,//O,!,O[-1],-4`1:\,//O,!,O[-1])
+MCat(1,   0.55)(<30,O[-1],!0,//O,!4,//O,!,O[-1],-4:\`1,//O,!,O[-1])
+MCat(1,   0.05)(<30,O[-1],!0,//O,!3,//O,!,//O,!,O[-1],-4:\`1,//O,!,O[-1])
+MCat(0.66,0.05)(<30,O[-1],!0,//O,!3,//O,!,//O,!,O[-1])
+MCat(0.33,0.05)(<30,O[-1],!0,//O,!3,//O,!,"{S-CoA}")
+MCat(0,   0.05)(<30,O[-1],!0,//O,!3,//O,!,O[-1])
+MCat(0,   0.55)(<30,O[-1],!0,//O,!,!~dr,!,//O,!,O[-1])
+MCat(0,      1)(<30,O[-1],!0,//O,!3,//O,!,O[-1],3:/OH)
 EXT(
 defaultfont:="uhvr8r";
 defaultscale:=0.75;
@@ -458,5 +458,3 @@
 \end{verbatim}
 %----------------------------------------------------------------------------
 \end{document}
----
-\end{document}

Modified: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2019-03-21 20:46:35 UTC (rev 50505)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2019-03-21 20:47:41 UTC (rev 50506)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.36     Copyright (c) 2013-2019   Akira Yamaji
+% mcf2graph ver 4.40     Copyright (c) 2013-2019   Akira Yamaji
 %
 % Permission is hereby granted, free of charge, to any person obtaining a copy of this software
 % and associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -36,19 +36,20 @@
 % Set to use plain.mp (label,arrow,atom)     : mpost -s labeloffset=2  FILENAME
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 tracingstats:=1;
-message " This is mcf2graph ver 4.36  2019.02";
+message " This is mcf2graph ver 4.40  2019.03";
 %-------------------------------------------------------------------------------------------------
 newinternal char_num,str_cnt,sub_usr,sub_int,tbl_cnt,sharp_char;
-numeric save_para[],comD[][],parD[][],cntD[],tbl_atom[],tbl_subst[][],tbl_atom_wt[],
-        tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],andA[],and_rot[],chargeA[];
-string  tbl_atom_str[],strD[],var[],tag[],out_file_name,out_file_aux,out_file_rep,
+numeric save_num[],comD[][],parD[][],cntD[],tbl_atom[],tbl_subst[][],
+        tbl_atom_wt[],tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],andA[],and_rot[],chargeA[];
+string  save_str[],tbl_atom_str[],strD[],var[],tag[],out_file_name,out_file_aux,out_file_rep,
         aux_delimiter,atomfont,save_atomfont,save_defaultfont;
+pair    save_pair[],msize,mposition,fsize,fmargin,save_mposition;
 picture mol_stru[];
 path    arrow_path,arrow_head;
 %-------------------------------------------------------------------------------------------------
-char_num:=str_cnt:=proc_end:=sw_label_emu:=0;
-sw_numberA:=sw_numberB:=sw_mol_frame:=sw_aux_out:=sw_solid:=sw_expand:=sw_font_frame:=sw_clip:=0;
-sw_atom_frame:=sw_rep_out:=sw_mol_out:=sw_subst_off:=sw_bond_single:=sw_auxfix:=sw_arrow:=0;
+char_num:=str_cnt:=proc_end:=mangle:=sw_label_emu:=0;
+sw_numberA:=sw_numberB:=sw_mframe:=sw_aux_out:=sw_expand:=sw_fframe:=sw_trimming:=0;
+sw_aframe:=sw_rep_out:=sw_mol_out:=sw_subst_off:=sw_single:=sw_auxfix:=sw_arrow:=0;
 numberA_start:=numberB_start:=1; numberA_end:=numberB_end:=4095; aux_max:=max_inf_num:=20;
 aux_delimiter:=";";  var1:="jobname";  tag1:="F";  var2:="char_num"; tag2:="C";
 for i=3 upto aux_max: var[i]:=tag[i]:=""; endfor
@@ -93,7 +94,6 @@
   else:                                   outputtemplate:="%j-%3c."&outputformat;
   fi
   %-----------------------------------------------------------------------------------------
-  def beginchar(expr a,b,c,d)= beginfig(a) w:=b*pt; h:=c*pt; enddef;
   def endchar = endfig enddef;
   def printf expr s= write s to out_file_name enddef;
   def # = enddef;
@@ -113,21 +113,22 @@
 fi
 clearit;
 %--------------------------------------------------------------------------------------------------
-for i=0 upto 20: mol_stru[i]:=nullpicture; endfor
-%--------------------------------------------------------------------------------------------------
 let DIV= /; let MUL= *; let LT= <; let GT= >; let AND= &; let :: = : ; let == = =; let ef=elseif;
 %--------------------------------------------------------------------------------------------------
+primarydef a at b = fat(a,b) enddef;
+def fat(expr a,b)= mposition:=b; a enddef;
+%--------------------------------------------------------------------------------------------------
 ?3:=?20:=Ph:=Ph1:=Ph2:=hz:=0; vt:=1;
-margin_left_right:=margin_top_bottom:=0.4mm;
-ratio_bond_width:=0.1;        ratio_chain_ring:= 0.66;   ratio_atom_bond:=0.36;
+ratio_chain_ring:= 0.66;   ratio_atom_bond:=0.36;
 ratio_thickness_bond:=0.015;  ratio_thickness_char:=0.1;
 ratio_char_bond:=1.5;         ratio_bondgap_bond:=0.15;  ratio_zebragap_bond:=0.12;
 ratio_zebra_black:=0.4;       ratio_wedge_bond:=0.12;    ratio_atomgap_atom:=0.050;
 offset_thickness:=0.2bp;      offset_bond_gap:=0.3bp;    offset_zebra_gap:=0.1bp;
 offset_atom:=0.8pt;           offset_wedge:=0.4bp;
-thickness_font_frame:=0.2bp;  thickness_atom_frame:=0.1bp;
-max_bond_length:=10mm;        bond_len:=8mm;
-font_wd:=30mm;                font_ht:=20mm;
+thickness_fframe:=0.2bp;      thickness_mframe:=0.2bp;      thickness_aframe:=0.1bp;
+max_blength:=10mm;            blength:=0;                mangle:=0;
+%--------------------------------------------------------------------------------------------------
+fsize:=(30mm,20mm); fmargin:=(0.4mm,0.4mm); msize:=(1,1); mposition:=(0.5,0.5);
 %==================================================================================================
 ahangle:=45;
 ahlength:=4bp;
@@ -150,16 +151,18 @@
 def_com(1)(si,dl,dr,db,dm,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,si_,wf_,wb_,bd_);
 %--------------------------------------------------------------------------------------------------
 def parameter_list=
-  sw_rep_out,sw_numberA,sw_numberB,sw_mol_frame,sw_aux_out,sw_solid,sw_expand,sw_mol_out,
-  sw_atom_frame,sw_font_frame,sw_subst_off,sw_bond_single,sw_clip,sw_arrow,sw_label_emu,
-  margin_left_right,margin_top_bottom,ratio_atom_bond,ratio_thickness_bond,ratio_char_bond,
+  sw_rep_out,sw_numberA,sw_numberB,sw_mframe,sw_aux_out,sw_expand,sw_mol_out,
+  sw_aframe,sw_fframe,sw_subst_off,sw_single,sw_trimming,sw_arrow,sw_label_emu,
+  ratio_atom_bond,ratio_thickness_bond,ratio_char_bond,
   ratio_chain_ring,ratio_bondgap_bond,ratio_zebra_black,ratio_zebragap_bond,ratio_thickness_char,
-  ratio_wedge_bond,ratio_atomgap_atom,ratio_bond_width,font_wd,font_ht,
-  bond_len,offset_atom,offset_wedge,max_bond_length,offset_zebra_gap,offset_bond_gap,
-  thickness_font_frame,offset_thickness,numberA_start,numberA_end,numberB_start,numberB_end,
-  defaultsize,defaultscale,labeloffset,
+  ratio_wedge_bond,ratio_atomgap_atom,
+  blength,offset_atom,offset_wedge,max_blength,offset_zebra_gap,offset_bond_gap,
+  thickness_fframe,thickness_mframe,thickness_aframe,offset_thickness,
+  numberA_start,numberA_end,numberB_start,numberB_end,
+  defaultsize,defaultscale,labeloffset,mangle,
   Me,Et,Pr,Bu,iPr,tBu,CH3,CF3,CCl3,CBr3,NH,NH2,NO2,OH,CHO,COOH,CN,SH,OMe,OEt,SMe,SEt,
-  !CH3,!NH2,!OH,!CHO,!COOH,!CN,!SH,!NO2
+  !CH3,!NH2,!OH,!CHO,!COOH,!CN,!SH,!NO2,
+  fsize,fmargin,msize,mposition,defaultfont,atomfont
 enddef;
 %--------------------------------------------------------------------------------------------------
 def ]]]=] ] ] enddef;
@@ -167,16 +170,39 @@
 vardef pic_c(expr i,s)= substring(i,i+1) of s enddef;
 vardef sfB(expr a,b,c)= a shifted ((b,0) rotated c) enddef;
 %--------------------------------------------------------------------------------------------------
+def init_par(text t)=
+nA:=nB:=nC:=0;
+  for list=t:
+    if numeric list:     nA:=nA+1; save_num[nA]:=list;
+    elseif pair list:    nB:=nB+1; save_pair[nB]:=list;
+    elseif string list:  nC:=nC+1; save_str[nC]:=list;
+    fi
+  endfor
+enddef;
+%--------------------------------------------------------------------------------------------------
 def store_par(text t)=
-  nA:=0; for list=t: nA:=nA+1; if save_para[nA]<>list: save_para[nA]:=list; fi endfor
+  nA:=nB:=nC:=0;
+  for list=t:
+    if numeric list:     nA:=nA+1; if save_num[nA]<>list:  save_num[nA]:=list; fi
+    elseif pair list:    nB:=nB+1; if save_pair[nB]<>list: save_pair[nB]:=list; fi
+    elseif string list:  nC:=nC+1; if save_str[nC]<>list:  save_str[nC]:=list; fi
+    fi
+  endfor
 enddef;
+%--------------------------------------------------------------------------------------------------
 def restore_par(text t)=
-  nA:=0; forsuffixes list=t: nA:=nA+1; if list<>save_para[nA]: list:=save_para[nA]; fi endfor
+  nA:=nB:=nC:=0;
+  forsuffixes list=t:
+    if    numeric list: nA:=nA+1; if list<>save_num[nA]:  list:=save_num[nA]; fi
+    elseif pair   list: nB:=nB+1; if list<>save_pair[nB]: list:=save_pair[nB]; fi
+    elseif string list: nC:=nC+1; if list<>save_str[nC]:  list:=save_str[nC]; fi
+    fi
+  endfor
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def beginfont(text s)=
   begingroup
-  save cntA,cntB,cntM,minX,minY,f_beginchar,numS,sftX,sftY,f_ext,
+  save cntA,cntB,cntM,minX,minY,f_beginchar,numS,sftX,sftY,f_ext,blen,
        cal_FM,cal_MW,cal_MW_str,cal_MI,cal_MI_str,wdM,htM,
        inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW,
        posA,posM,lineB,sB,eB,angB,angA,wdA,dxA,lenB,ang_br,info;
@@ -187,16 +213,14 @@
   %------------------------------------------------------------------------------------------------
   char_num:=char_num+1;
   store_par(parameter_list);
-  save_atomfont:=atomfont;
-  save_defaultfont:=defaultfont;
-  %------------------------------------------------------------------------------------------------
   for i:=1 upto max_inf_num: info[i]:=":"; endfor
   f_ext:=inf_num:=cntM:=0;
   for list=s: inf_num:=inf_num+1; info[inf_num]:=list; endfor
+  mol_stru[0]:=nullpicture;
 enddef;
 %==================================================================================================
 def endfont=
-  if sw_clip>=1:
+  if sw_trimming>=1:
     nA:=nC:=4095; nB:=nD:=-4095;
     for i=1 upto cntM:
       if xpart(posM[1][i])<nA: nA:=xpart(posM[1][i]); fi
@@ -204,27 +228,29 @@
       if ypart(posM[1][i])<nC: nC:=ypart(posM[1][i]); fi
       if ypart(posM[2][i])>nD: nD:=ypart(posM[2][i]); fi
     endfor
-    font_wd:=nB-nA+2margin_left_right;
-    font_ht:=nD-nC+2margin_top_bottom;
-    for i=1 upto cntM: posM[0][i]:=posM[0][i]+(margin_left_right-nA,margin_top_bottom-nC);
+    font_wd:=nB-nA+2margin_lr;
+    font_ht:=nD-nC+2margin_tb;
+    fsize:=(font_wd,font_ht);
+    for i=1 upto cntM:
+      posM[0][i]:=posM[0][i]+(margin_lr-nA,margin_tb-nC);
+      posM[1][i]:=posM[1][i]+(margin_lr-nA,margin_tb-nC);
     endfor
   fi
   %-----------------------------------------------------------------------------------------------
-  beginchar(char_num,font_wd/bp*bp#,font_ht/bp*bp#,0)
-  if (sw_font_frame=1)or(sw_font_frame=3): draw_frame((0,0),w,h,thickness_font_frame); fi
-  if (sw_font_frame=2)or(sw_font_frame=3):
-    nA:=w-2margin_left_right; nB:=h-2margin_top_bottom;
-    draw_frame((margin_left_right,margin_top_bottom),nA,nB,thickness_font_frame);  fi
-  if sw_font_frame=4: draw_corner(w,h,thickness_font_frame); fi
+  if f_MP=0: beginchar(char_num,font_wd/bp*bp#,font_ht/bp*bp#,0)
+  else:      beginfig(char_num) w:=charwd:=font_wd; h:=charht:=font_ht; chardp:=0;
+  fi
+  if (sw_fframe=1)or(sw_fframe=3): EXT(draw_frame((0,0),w,h,thickness_fframe);) fi
+  if (sw_fframe=2)or(sw_fframe=3): EXT(draw_frame(p0,w0,h0,thickness_fframe);) fi
+  if sw_fframe=4: EXT(drawdot(0,0); drawdot(w,0); drawdot(w,h); drawdot(0,h);) fi
   for i=1 upto cntM:
     addto currentpicture also mol_stru[i] shifted posM[0][i]; mol_stru[i]:=nullpicture;
+    if sw_mframe=1: EXT(draw_frame(p[i],w[i],h[i],thickness_mframe)) fi
   endfor
   if f_ext=1: addto currentpicture also mol_stru[0]; mol_stru[0]:=nullpicture; fi
   endchar;
   clearit;
   restore_par(parameter_list);
-  atomfont:=save_atomfont;
-  defaultfont:=save_defaultfont;
   endgroup;
   if proc_end=1: scantokens("bye"); fi
 enddef;
@@ -434,11 +460,11 @@
   save w,h,wd,ht,n,p,am,aw;
   pair p[];
   ext_setup;
-  w:=font_wd;
-  h:=font_ht;
-  w0:=w-2margin_left_right;
-  h0:=h-2margin_top_bottom;
-  p0:=(margin_left_right,margin_top_bottom);
+  w:=xpart(fsize);
+  h:=ypart(fsize);
+  w0:=w-2margin_lr;
+  h0:=h-2margin_tb;
+  p0:=(margin_lr,margin_tb);
   aw:=atom_wd;
   n:=cntM;
   for i=1 upto n: p[i]:=posM[1][i]; w[i]:=wdM[i]; h[i]:=htM[i]; endfor
@@ -452,8 +478,9 @@
   numeric A[]dir,B[]dir;
   pair p[],A[],B[],B[]s,B[]e;
   ext_setup;
-  w:=mol_wd; h:=mol_ht; l:=bond_len; aw:=atom_wd;
-  p0:=(minX,minY); An:=cntA; Bn:=cntB;
+  w:=mol_wd; h:=mol_ht; l:=blength; aw:=atom_wd;
+  p0:=(minX,minY);
+  An:=cntA; Bn:=cntB;
   for i=1 upto An: A[i]:=posA[i]; A[i]dir:=angX[i]; endfor
   for i=1 upto Bn:
     B[i]s:=posA[sB[i]]; B[i]e:=posA[eB[i]]; B[i]:=0.5[B[i]s,B[i]e]; B[i]dir:=angB[i];
@@ -541,15 +568,18 @@
   fi
 enddef;
 %=================================================================================================
-def MCa(expr FW,FH)(text TXT)= MCd(1,1)(FW,FH)(TXT) enddef;
-def MCc(expr RW,RH)(text TXT)= MCd(RW,RH)(0.5,0.5)(TXT) enddef;
-def MCf(text TXT)=             MCd(1,1)(0.5,0.5)(TXT) enddef;
+def MCat(expr FW,FH)(text TXT)=
+  save_mposition:=mposition;
+  mposition:=(FW,FH);
+  MC(TXT)
+  mposition:=save_mposition;
+enddef;
 %-------------------------------------------------------------------------------------------------
-def MCd(expr RW,RH)(expr FW,FH)(text TXT)=
+def MC(text TXT)=
   begingroup
   save com,par,adrA,adrB,f_bra,envT,envB,lenT,lineT,strAT,stkA,stkB,stkL,stkM,cntP,bondL,temp_len,
        temp_cntB,f_end,f_term,rotT,adrS,f_at,f_lineT,f_rotT,f_lenT,f_envT,angT,tempB,tempA,
-       maxX,maxY,f_char,ps_adr,ps_com,sA,sC,sD,pA,pB,factor,
+       maxX,maxY,f_char,ps_adr,ps_com,sA,sC,sD,pA,pB,factor,m_wd,m_ht,
        op_com,op_par,op_cnt,crR,colorA,colorB,PA,PO,PP,PX,defaultsize,defaultscale;
   %-----------------------------------------------------------------------------------------------
   def PA= sub_add enddef;
@@ -567,6 +597,11 @@
   sub_usr:=sub_usr_start;
   sub_int:=sub_int_start;
   cntA:=cntB:=cntP:=cntC:=0; strD[0]:=""; str_cnt:=2000; crR:=-ratio_chain_ring;
+  %-----------------------------------------------------------------------------------------------
+  font_wd:=xpart(fsize);
+  font_ht:=ypart(fsize);
+  margin_lr:=xpart(fmargin);
+  margin_tb:=ypart(fmargin);
   %===============================================================================================
   ''(0)(TXT,(_term,0));
   %-----------------------------------------------------------------------------------------------
@@ -576,23 +611,33 @@
   %-----------------------------------------------------------------------------------------------
   char_use_check;
   %-scaling---------------------------------------------------------------------------------------
-  if     sw_solid=1: bond_len:=font_wd*ratio_bond_width;
-                     proc_size_setup; proc_skeleton; proc_scaling;
-  elseif sw_solid=2: proc_size_setup; proc_skeleton; proc_scaling;
+  if     blength>1: blen:=blength; proc_size_setup; proc_skeleton; proc_scaling;
+  elseif blength>0:
+    blen:=font_wd*blength;
+    proc_size_setup; proc_skeleton; proc_scaling;
   else:
-    bond_len:=3mm;
+    blen:=3mm;
     proc_size_setup;
+    if xpart(msize)<1: m_wd:=font_wd*xpart(msize); else: m_wd:=font_wd; fi
+    if ypart(msize)<1: m_ht:=font_ht*ypart(msize); else: m_ht:=font_ht; fi
     for i=1 upto 6:
       proc_skeleton; proc_scaling;
-      if (mol_ht/mol_wd)>(font_ht/font_wd): factor:=(font_ht*RH-2margin_top_bottom)/mol_ht;
-      else:                                 factor:=(font_wd*RW-2margin_left_right)/mol_wd;
+      if (mol_ht/mol_wd)>(m_ht/m_wd):
+        if ypart(msize)>1: factor:=ypart(msize)/mol_ht;
+        else:              factor:=((font_ht-2margin_tb)*ypart(msize))/mol_ht;
+        fi
+      else:
+        if xpart(msize)>1: factor:=xpart(msize)/mol_wd;
+        else:              factor:=((font_wd-2margin_lr)*xpart(msize))/mol_wd;
+        fi
       fi
       exitif (factor>=1-eps)and(factor<=1+eps);
-      bond_len:=bond_len*factor;
+      blen:=blen*factor;
       proc_size_setup;
     endfor
-    if bond_len>max_bond_length:
-       bond_len:=max_bond_length; proc_size_setup; proc_skeleton; proc_scaling;  fi
+    if blen>max_blength:
+       blen:=max_blength; proc_size_setup; proc_skeleton; proc_scaling;
+    fi
   fi
   %-draw atom--------------------------------------------------------------------------------------
   if (sw_numberA=0)and(sw_numberB=0): for i=1 upto cntA: draw_atom(i); endfor fi
@@ -646,8 +691,12 @@
     endfor
   fi
   %-----------------------------------------------------------------------------------------------
-  sftX:=margin_left_right-minX+(font_wd-mol_wd-2margin_left_right)*FW;
-  sftY:=margin_top_bottom-minY+(font_ht-mol_ht-2margin_top_bottom)*FH;
+  if xpart(mposition)>1: sftX:=xpart(mposition)-minX;
+  else:                  sftX:=margin_lr-minX+(font_wd-mol_wd-2margin_lr)*xpart(mposition);
+  fi
+  if ypart(mposition)>1: sftY:=ypart(mposition)-minY;
+  else:                  sftY:=margin_tb-minY+(font_ht-mol_ht-2margin_tb)*ypart(mposition);
+  fi
   cntM:=cntM+1;
   posM[0][cntM]:=(sftX,sftY);
   posM[1][cntM]:=(minX+sftX,minY+sftY);
@@ -654,8 +703,7 @@
   posM[2][cntM]:=(maxX+sftX,maxY+sftY);
   wdM[cntM]:=mol_wd;
   htM[cntM]:=mol_ht;
-  if sw_mol_frame=1: draw_frame((minX,minY),mol_wd,mol_ht,thickness_font_frame) fi
-  addto mol_stru[cntM] also currentpicture;
+  mol_stru[cntM]:=currentpicture;
   clearit;
   endgroup;
   if ((sw_aux_out=1)or(sw_rep_out=1)or(sw_mol_out>=1))and(f_MP=1): proc_calc_out; fi
@@ -699,28 +747,23 @@
   draw ((0,0)--(LX,0)--(LX,LY)--(0,LY)--cycle) shifted PS withpen pensquare scaled PN;
 enddef;
 %-------------------------------------------------------------------------------------------------
-def draw_corner(expr LX,LY,PN)=
-  drawdot(0,0) withpen pensquare scaled PN;   drawdot(LX,0) withpen pensquare scaled PN;
-  drawdot(LX,LY) withpen pensquare scaled PN; drawdot(0,LY) withpen pensquare scaled PN;
-enddef;
-%-------------------------------------------------------------------------------------------------
 def proc_size_setup=
-  if (bond_len*ratio_atom_bond+offset_atom)<.8bond_len:
-    atom_wd:=bond_len*ratio_atom_bond+offset_atom;
+  if (blen*ratio_atom_bond+offset_atom)<.8blen:
+    atom_wd:=blen*ratio_atom_bond+offset_atom;
   else:
-    atom_wd:=.8bond_len; ratio_chain_ring:= .5;
+    atom_wd:=.8blen; ratio_chain_ring:= .5;
   fi
-  wedge_wd:=    bond_len*ratio_wedge_bond+offset_wedge;
-  zebra_gap:=   bond_len*ratio_zebragap_bond+offset_zebra_gap;
-  bondgap:=     bond_len*ratio_bondgap_bond+offset_bond_gap;
-  bond_pen_wd:= bond_len*ratio_thickness_bond+offset_thickness;
+  wedge_wd:=    blen*ratio_wedge_bond+offset_wedge;
+  zebra_gap:=   blen*ratio_zebragap_bond+offset_zebra_gap;
+  bondgap:=     blen*ratio_bondgap_bond+offset_bond_gap;
+  bond_pen_wd:= blen*ratio_thickness_bond+offset_thickness;
 enddef;
 %-------------------------------------------------------------------------------------------------
 def proc_scaling=
   begingroup
   save nU,nD,nP,nL,nR,xpos,ypos;
-  minX:=minY:=4095.999;
-  maxX:=maxY:=-4095.999;
+  minX:=minY:=4095;
+  maxX:=maxY:=-4095;
   for i=1 upto cntA:
     xpos:=xpart(posA[i]);
     ypos:=ypart(posA[i]);
@@ -733,15 +776,13 @@
         elseif (sA<>"{")and(sA<>"}"): nP:=nP+atom_wd*tbl_char_wd[ASCII(sA)];
         fi  
       endfor
-      if     (angX[i]<=90.1)or(angX[i]>=269.9): nR:=nP; else: nL:=nP; fi
-      if     (xpos-nL+.5atom_wd)<minX: minX:=xpos-nL+.5atom_wd;
-      elseif (xpos+nR-.5atom_wd)>maxX: maxX:=xpos+nR-.5atom_wd;
-      fi
-      if     (ypos-nD-.5atom_wd)<minY: minY:=ypos-nD-.5atom_wd;
-      elseif (ypos+nU+.5atom_wd)>maxY: maxY:=ypos+nU+.5atom_wd;
-      fi
-    else: if xpos<minX: minX:=xpos; elseif xpos>maxX: maxX:=xpos; fi
-          if ypos<minY: minY:=ypos; elseif ypos>maxY: maxY:=ypos; fi
+      if (angX[i]<=90)or(angX[i]>=270): nR:=nP; else: nL:=nP; fi
+      if (xpos-nL+.5atom_wd)<minX: minX:=xpos-nL+.5atom_wd; fi
+      if (xpos+nR-.5atom_wd)>maxX: maxX:=xpos+nR-.5atom_wd; fi
+      if (ypos-nD-.5atom_wd)<minY: minY:=ypos-nD-.5atom_wd; fi
+      if (ypos+nU+.5atom_wd)>maxY: maxY:=ypos+nU+.5atom_wd; fi
+    else: if xpos<minX: minX:=xpos; fi if xpos>maxX: maxX:=xpos; fi
+          if ypos<minY: minY:=ypos; fi if ypos>maxY: maxY:=ypos; fi
     fi
   endfor
   mol_wd:=maxX-minX; mol_ht:=maxY-minY;
@@ -845,8 +886,8 @@
   begingroup
   save posBs,posBe,nC;
   pair posBs,posBe;
-  adrA:=adrB:=cntA:=cntB:=angT:=adrS:=f_end:=f_bra:=rotT:=f_term:=f_at:=0;
-  envT:=envB:=f_lineT:=f_rotT:=f_lenT:=f_envT:=stkM[0]:=0; lineT:=si;
+  adrA:=adrB:=cntA:=cntB:=adrS:=f_end:=f_bra:=rotT:=f_term:=f_at:=0;
+  envT:=envB:=f_lineT:=f_rotT:=f_lenT:=f_envT:=stkM[0]:=0; lineT:=si; angT:=mangle;
   angA[0]:=angB[0]:=angX[0]:=0; posA[0]:=posBs:=posBe:=(0,0);
   for i=0 upto 5: stkA[i]:=stkB[i]:=0; endfor
   %-----------------------------------------------------------------------------------------------
@@ -867,8 +908,8 @@
                            angT:=angX[adrT]; f_bra:=1; rotT:=0;
   ef nC=_jp_atom_abs: adrT:=par; posBs:=posA[adrT];
                            angT:=angX[adrT]; f_bra:=1; rotT:=0; temp_cntB:=cntB;
-  ef nC=_adj_ang:  if (angT<40)or(angT>320): angT:=0; ef angT<140: angT:=90;
-                        ef angT<220: angT:=180; else: angT:=270; fi
+  ef nC=_adj_ang:  if (angT<40)or(angT>320): angT:=0;
+                   ef angT<140: angT:=90; ef angT<220: angT:=180; else: angT:=270; fi
   ef nC=_mk_bond:  if (par=0)and(rotT<>0):par:=rotT; rotT:=0; fi add_bond(par);
   ef nC=_rot_ang:  angT:=(angT+par) mod 360;
   ef nC=_tmp_rot:  rotT:=par;
@@ -902,7 +943,7 @@
       if nA<0: nB:=glu_atom(adrT)+glu_atom(cntA+1); nA:=abs(nA);
       else:    nB:=0;
       fi
-      posBe:=sfB(posBs,nA*bond_len+nB,angT);
+      posBe:=sfB(posBs,nA*blen+nB,angT);
     fi
     posA[cntA+1]:=posBe; f_term:=0;
   else:
@@ -997,13 +1038,13 @@
         if dx=-1: pA:=pA-(f_wd,0); fi
         addto currentpicture also bA scaled (r_ff*(1-2ratio_atomgap_atom))
           shifted (pA+pB+(f_wd*ratio_atomgap_atom,f_ht*ratio_atomgap_atom)) Cp(colorA[NUM]);
-        if sw_atom_frame=1: draw_frame(pA+pB,f_wd,f_ht,thickness_atom_frame); fi
+        if sw_aframe=1: draw_frame(pA+pB,f_wd,f_ht,thickness_aframe); fi
         if dx=1: pA:=pA+(f_wd,0); fi
       else:
         f_wd:=atom_wd*tbl_char_wd[ASCII(sB)];
         if dx=-1: pA:=pA-(f_wd,0); fi
         draw_char(sB,pA+pB,atom_wd,bond_pen_wd*ratio_char_bond,NUM);
-        if sw_atom_frame=1: draw_frame(pA+pB,f_wd,atom_wd,thickness_atom_frame); fi
+        if sw_aframe=1: draw_frame(pA+pB,f_wd,atom_wd,thickness_aframe); fi
         if dx=1: pA:=pA+(f_wd,0); fi
       fi
       wdA[NUM]:=wdA[NUM]+f_wd;
@@ -1031,7 +1072,7 @@
   zA:=Ls--Le; len:=length(Le-Ls);
   %------------------------------------------------------------------------------------------------
   pickup pencircle scaled bond_pen_wd;
-  if (nL=si)or(sw_bond_single=1): draw zA Cp(col);
+  if (nL=si)or(sw_single=1): draw zA Cp(col);
   ef nL=dl: draw zA Cp(col); draw sfB(subpath pA of zA,bondgap,ap) Cp(col);
   ef nL=dr: draw zA Cp(col); draw sfB(subpath pA of zA,bondgap,am) Cp(col);
   ef nL=dm: draw sfB(zA,bondgap/1.75,ap) Cp(col); draw sfB(zA,bondgap/1.75,am) Cp(col);
@@ -1127,7 +1168,7 @@
 !?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); CF2:='(/F,60,F); CCl2:='(/Cl,60,Cl);
 CBr2:='(/Br,60,Br); CF3:='(/F,/F^60,60,F); CCl3:='(/Cl,/Cl^60,60,Cl); CBr3:='(/Br,/Br^60,60,Br);
 %==================================================================================================
-nA:=0; for list=parameter_list: nA:=nA+1; save_para[nA]:=list; endfor
+init_par(parameter_list);
 %--------------------------------------------------------------------------------------------------
 %%%%%%message "count of sub_usr =" & decimal(sub_usr);
 %--------------------------------------------------------------------------------------------------
@@ -1444,14 +1485,14 @@
   printf " Warnings = "&fdr(3)(warning_cnt)&" / Expanded command = "&decimal(cntD[0]);
   printf " Width * Height = " & fdr(10)(mol_wd)&" * "&fdr(10)(mol_ht);
   printf " Shift width * height  = "& fdr(10)(minX)&" * "&fdr(10)(minY);
-  printf " Bond length = "&fdr(3)(bond_len)&"   Atom size   = "&fdr(3)(atom_wd);
+  printf " Bond length = "&fdr(3)(blen)&"   Atom size   = "&fdr(3)(atom_wd);
   printf " Atom count="&fdr(3)(cntA)&" Bond count="&fdr(3)(cntB)&
           " Ring count="&fdr(3)(cntB-cntA+1)&" Hide H count="&fdr(3)(cnt_hide_H);
   printf "------------------------------------------------------------------";
   printf "< NO. >(  x axis   ,   y axis   )< atom  >< bond >< hideH >< chg >";
   for i=1 upto cntA:
-    printf " A"&fdl(4)(i)&" ("&fdr(10)(round_auto(xpart(posA[i])/bond_len))&" , "&
-            fdr(10)(round_auto(ypart(posA[i])/bond_len))&" )  "&fixed_l(8)(strD[numS[i]])&
+    printf " A"&fdl(4)(i)&" ("&fdr(10)(round_auto(xpart(posA[i])/blen))&" , "&
+            fdr(10)(round_auto(ypart(posA[i])/blen))&" )  "&fixed_l(8)(strD[numS[i]])&
             "  "&fdr(3)(Bcnt[i])
             &iif(hideH[i]>0,fdr(8)(hideH[i]),"        ")
             if chargeA[i]<>0: &fdr(8)(chargeA[i]) fi;
@@ -1464,7 +1505,7 @@
       nB:=angB[i]; if nB>180: nB:=nB-360; fi
       printf " B"&fdl(4)(i)&fdr(3)(sB[i])&" -> "&fdr(3)(eB[i])&
               " ("&fdr(3)(bondC[i]-si+1)&")"&fdr(9)(round_auto(angB[i]))&
-              " ("&fdr(6)(round_auto(nB))&")"&fdr(8)(nC)&" ("&fdr(8)(round_auto(nC*bond_len))&")";
+              " ("&fdr(6)(round_auto(nB))&")"&fdr(8)(nC)&" ("&fdr(8)(round_auto(nC*blen))&")";
     fi
   endfor
   printf "------------------------------------------------------------------";
@@ -1514,7 +1555,7 @@
   printf "";
   printf fdr(3)(cntA)&fdr(3)(cntB)&"  0  0  0  0  0  0  0  0999 V2000";
   for i=1 upto cntA:
-    printf fdr(10)(xpart(posA[i])/bond_len)& fdr(10)(ypart(posA[i])/bond_len)&
+    printf fdr(10)(xpart(posA[i])/blen)& fdr(10)(ypart(posA[i])/blen)&
            fdr(10)(0)&" "&fixed_l(2)(stripP(strD[numS[i]]))&"  0  0  0  0";
     if chargeA[i]<>0: chg_atm[incr chg_cnt]:=i; chg_chg[chg_cnt]:=chargeA[i]; fi
   endfor
@@ -1540,7 +1581,7 @@
   printf "M  V30 BEGIN ATOM";
   for i=1 upto cntA:
      printf "M  V30 "&decimal(i)&" "&stripP(strD[numS[i]])&" "&
-            decimal(xpart(posA[i])/bond_len)&" "&decimal(ypart(posA[i])/bond_len)&" 0 0"
+            decimal(xpart(posA[i])/blen)&" "&decimal(ypart(posA[i])/blen)&" 0 0"
             if chargeA[i]<>0: &" CHG="&decimal(chargeA[i]) fi;
   endfor
   printf "M  V30 END ATOM";



More information about the tex-live-commits mailing list