texlive[58033] branches/branch2020.0/Master/texmf-dist: mcf2graph

commits+karl at tug.org commits+karl at tug.org
Mon Mar 1 23:57:01 CET 2021


Revision: 58033
          http://tug.org/svn/texlive?view=revision&revision=58033
Author:   karl
Date:     2021-03-01 23:57:01 +0100 (Mon, 01 Mar 2021)
Log Message:
-----------
mcf2graph (1mar21) (branch)

Modified Paths:
--------------
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/README
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
    branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
    branches/branch2020.0/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf

Modified: branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2021-03-01 22:56:43 UTC (rev 58032)
+++ branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG	2021-03-01 22:57:01 UTC (rev 58033)
@@ -1,6 +1,13 @@
 *******************************************************************************
- Changelog of mcf2graph software package          by Akira Yamaji 2021-02-21
+ Changelog of mcf2graph software package          by Akira Yamaji 2021-02-28
 *******************************************************************************
+[ver. 4.59  / 2021-02-28]
+  -add command @(x,y) : move to (x,y)
+  -improve function check_mc()
+  -improve report output
+  -delete option parameter sw_indent_off
+  -update MCF manual,example
+
 [ver. 4.58  / 2021-02-21]
   -change syntax
      "+" => p_

Modified: branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/README
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/README	2021-03-01 22:56:43 UTC (rev 58032)
+++ branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/README	2021-03-01 22:57:01 UTC (rev 58033)
@@ -1,7 +1,7 @@
 ********************************************************************************
  mcf2graph  : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
  Author     : Akira Yamaji
- version    : 4.58 2021-02-21
+ version    : 4.59 2021-02-28
  E-mail     : mcf2graph at gmail.com
  Located at : http://www.ctan.org/pkg/mcf2graph
 ********************************************************************************
@@ -39,8 +39,11 @@
  ( 5) >mpost -s ahangle=13    FILENAME  => output png file (1200dpi)
  ( 6) >mpost -s ahangle=2     FILENAME  => output svg file 
  ( 7) >mpost -s ahangle=3     FILENAME  => output eps file (.eps)
- ( 8) >mpost -s ahlength=1    FILENAME  => output aux file (tag1:var1;tag2:var2;)
- ( 9) >mpost -s ahlength=2    FILENAME  => output aux file (tag1;tag2; var1;var2;)
+ ( 8) >mpost -s ahlength=1    FILENAME  => output aux file
+                                             tag1:var1;tag2:var2;
+ ( 9) >mpost -s ahlength=2    FILENAME  => output aux file
+                                             tag1;tag2;
+                                             var1;var2;
  (10) >mpost -s ahlength=3    FILENAME  => output report file
  (11) >mpost -s ahlength=5    FILENAME  => output mol file(V2000)
  (12) >mpost -s ahlength=6    FILENAME  => output mol file(V3000)

Modified: branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2021-03-01 22:56:43 UTC (rev 58032)
+++ branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf	2021-03-01 22:57:01 UTC (rev 58033)
@@ -1,13 +1,13 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2021.02.21
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf;   %%% it must be version 4.58
-message "* mcf_exa_soc 2021.02.21";
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Molecular Coding Format for mcf_example.tex   by Akira Yamaji  2021.02.28
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+input mcf2graph.mf;   %%% it must be version 4.59
+message "* mcf_exa_soc 2021.02.28";
 message "";
-%-------------------------------------------------------------------------
+%------------------------------------------------------------------------------
 fsize:=(35mm,24mm);
 max_blength:=4.5mm;
-%-------------------------------------------------------------------------
+%------------------------------------------------------------------------------
 %%%%sw_aux_out:=1;
 %%%%sw_fframe:=1;
 %%%%sw_aframe:=1;
@@ -23,488 +23,588 @@
 %%%% atomfont:="cmtt8";
 %%%% atomfont:="cmvtt10";
 %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png";
-%---------------------------------------------------------------------------
+%------------------------------------------------------------------------------
 %%%% ext(nA:=10mm; pickup pencircle scaled 0.1pt;
 %%%%     draw(0,0)--(w,0)--(w,h)--(0,h)--cycle;
 %%%%     for i=nA step nA until w: draw(i,0)--(i,h); endfor
 %%%%     for i=nA step nA until h: draw(0,i)--(w,i); endfor );
-%---------------------------------------------------------------------------
-%%%%ext(defaultfont:="uhvr8r"; defaultscale:=.3; label.lrt(mc,(-2bp,1.5bp));)
-%***************************************************************************
-beginfont("EN:Adenine","MW:135.13")
-  MC(<30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH)
+%------------------------------------------------------------------------------
+%%%% ext(defaultfont:="uhvr8r"; defaultscale:=.3; label.lrt(mc,(-2bp,1.5bp));)
+%******************************************************************************
+beginfont("EN:Adenine","MW:135.13",
+  ": <30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Guanine","MW:151.13")
-  MC(<30,?6,3=?5,{1,3,9}=dl,{2,9}:N,{6,7}:NH,5://O,1:/NH2)
+%******************************************************************************
+beginfont("EN:Guanine","MW:151.13",
+  ": <30,?6,3=?5,{1,3,9}=dl,{2,9}:N,{6,7}:NH,5://O,1:/NH2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Cytosine","MW:111.10")
-  MC(<30,?6,{4,6}=dl,4:N,3://O,2:NH,5:/NH2)
+%******************************************************************************
+beginfont("EN:Cytosine","MW:111.10",
+  ": <30,?6,{4,6}=dl,4:N,3://O,2:NH,5:/NH2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Thymine","MW:126.11")
-  MC(<30,?6,3=dl,{2,6}:NH,{1,5}://O,4:/_)
+%******************************************************************************
+beginfont("EN:Thymine","MW:126.11",
+  ": <30,?6,3=dl,{2,6}:NH,{1,5}://O,4:/_")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Uracil","MW:112.09")
-  MC(<30,?6,6=dl,{3,5}://O,{2,4}:NH)
+%******************************************************************************
+beginfont("EN:Uracil","MW:112.09",
+  ": <30,?6,6=dl,{3,5}://O,{2,4}:NH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Geraniol","MW:154.25")
-  MC(<30,!8,OH,{2,6}=dr,{2,6}:/_)
+%******************************************************************************
+beginfont("EN:Geraniol","MW:154.25",
+  ": <30,!8,OH,{2,6}=dr,{2,6}:/_")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Limonene","MW:136.24")
-  MC(<30,?6,2=dl,2:/_, at 5,*\,/_,!!)
+%******************************************************************************
+beginfont("EN:Limonene","MW:136.24",
+  ": <30,?6,2=dl,2:/_, at 5,*\,/_,!!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:l-Menthol","MW:156.27")
-  MC(<30,?6,2:/*?!,5:*/_,3:*/OH)
+%******************************************************************************
+beginfont("EN:l-Menthol","MW:156.27",
+  ": <30,?6,2:/*?!,5:*/_,3:*/OH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Vanillin","MW:152.15")
-  MC(<30,Ph,2:/OH,3:/O!,5:/CHO)
+%******************************************************************************
+beginfont("EN:Vanillin","MW:152.15",
+  ": <30,Ph,2:/OH,3:/O!,5:/CHO")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Allicin","MW:162.28")
-  MC(<-30,!!,!2,SO,!,S,!2,!!)
+%******************************************************************************
+beginfont("EN:Allicin","MW:162.28",
+  ": <-30,!!,!2,SO,!,S,!2,!!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Stearic acid","MW:284.48")
-  MC(<30,!17,COOH)
+%******************************************************************************
+beginfont("EN:Stearic acid","MW:284.48",
+  ": <30,!17,COOH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Linoleic acid","MW:280.45")
-  MC(<30,!5,-30,-30,!,-30,-30,!7,COOH,{6,9}=dr)
+%******************************************************************************
+beginfont("EN:Linoleic acid","MW:280.45",
+  ": <30,!5,-30,-30,!,-30,-30,!7,COOH,{6,9}=dr")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Sphingosine","MW:299.50")
-  MC(<30,!18,OH,14=dr,-3:*/OH,-2:/*NH2)
+%******************************************************************************
+beginfont("EN:Sphingosine","MW:299.50",
+  ": <30,!18,OH,14=dr,-3:*/OH,-2:/*NH2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Tocopherol","MW:430.717")
-  MC(<30,Ph,3=?6,7:O,{1,2,5}:/_,8:/*_^60,6:/OH, at 8,\,|,!12,{4,8}:/*_,12:/_)
+%******************************************************************************
+beginfont("EN:Tocopherol","MW:430.717",
+  ": <30,Ph,3=?6,7:O,{1,2,5}:/_,8:/*_^60,6:/OH, at 8,\,|,!12,{4,8}:/*_,12:/_")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Carotene","MW:536.8726")
-  MC(<30,?6,4=dl,3:??,5:/_,
-     @4,\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_,
-     ?6,-6=dl,-5:/_,-1:??)
+%******************************************************************************
+beginfont("EN:Carotene","MW:536.8726",
+  ": <30,?6,4=dl,3:??,5:/_,                                 ",
+  ": @4,\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_,  ",
+  ": ?6,-6=dl,-5:/_,-1:??                                   ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Adrenalin","MW:183.21")
-  MC(<30,Ph,{1,6}:/OH, at 4,\,*/OH,!2,NH,!)
+%******************************************************************************
+beginfont("EN:Adrenalin","MW:183.21",
+  ": <30,Ph,{1,6}:/OH, at 4,\,*/OH,!2,NH,!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Caffeine","MW:194.194")
-  MC(<30,?6,3=dl,{1,5}://O,-4=?5,-3=dl,7:N,{2,6,9}:N!)
+%******************************************************************************
+beginfont("EN:Caffeine","MW:194.194",
+  ": <30,?6,3=dl,{1,5}://O,-4=?5,-3=dl,7:N,{2,6,9}:N!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Nicotine","MW:162.23");
-  MC(<30,Ph,2:N, at 4,\,?5,8:N!)
+%******************************************************************************
+beginfont("EN:Nicotine","MW:162.23",
+  ": <30,Ph,2:N, at 4,\,?5,8:N!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%**************************************************************************
-beginfont("EN:Capsaicin","MW:305.418")
-  MC(<30,Ph,1:/OH,6:/O!, at 4,\,!,NH,!,//O,!7,?!,-3=dl)
+%******************************************************************************
+beginfont("EN:Capsaicin","MW:305.418",
+  ": <30,Ph,1:/OH,6:/O!, at 4,\,!,NH,!,//O,!7,?!,-3=dl")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Thiamine","MW:300.81")
-  MC(<30,Ph,4:/NH2, at 3,\`1,!,<-12,?5,{-1,-4}=dl,{1,5,8}:N,11:S,{6,9}:/_,
-      @-3,\,!2,OH,8:p_^72)
-  MCat(.95,.75)(Cl,n_^15)
+%******************************************************************************
+beginfont("EN:Thiamine","MW:300.81",
+  ": <30,Ph,4:/NH2, at 3,\`1,!,<-12,?5,{-1,-4}=dl,{1,5,8}:N,11:S,{6,9}:/_, ",
+  ": @-3,\,!2,OH,8:p_^72,@(6.7,1.5),Cl,n_^15                            ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Gibberellin A3","MW:346.379");
-  MC(<18,?5,3=?7,5=?6[12], at 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)
+%******************************************************************************
+beginfont("EN:Gibberellin A3","MW:346.379",
+  ": <18,?5,3=?7,5=?6[12], at 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     ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%**************************************************************************
-beginfont("EN:Cholesterol","MW:386.664")
-  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, at -1,17,/*_,!4,?!)
+%******************************************************************************
+beginfont("EN:Cholesterol","MW:386.664",
+  ": <30,?6,{-4,-2}=?6,-4=?5,7=dl,                         ",
+  ": 1:*/OH,{4,12}:*/_^60,                                 ",
+  ": 10:/*H^180,{11,-1}:/*H^-60,9:*/H^60, at -1,17,/*_,!4,?!  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Riboflavin","MW:376.37")
-  MC(<30,Ph,3=?6,9=?6,{8,16}=dl,{7,10,14}:N,12:NH,{11,13}://O,{1,6}:/_,
-     @10,\`1.2,!,*/OH,!,/*OH,!,*/OH,!2,OH)
+%******************************************************************************
+beginfont("EN:Riboflavin","MW:376.37",
+  ": <30,Ph,3=?6,9=?6,{8,16}=dl,{7,10,14}:N,12:NH,{11,13}://O,{1,6}:/_, ",
+  ":  @10,\`1.2,!,*/OH,!,/*OH,!,*/OH,!2,OH                              ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Resveratrol","MW:228.24")
-  MC(<30,Ph, at 4,\,!!,!,Ph,{2,6,-3}:/OH)
+%******************************************************************************
+beginfont("EN:Resveratrol","MW:228.24",
+  ": <30,Ph, at 4,\,!!,!,Ph,{2,6,-3}:/OH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Glutathione","MW:307.33")
-  MC(<-30,COOH,!,/*NH2,!3,//O,!,NH,!,*/!SH,!,//O,!,NH,!2,COOH)
+%******************************************************************************
+beginfont("EN:Glutathione","MW:307.33",
+  ": <-30,COOH,!,/*NH2,!3,//O,!,NH,!,*/!SH,!,//O,!,NH,!2,COOH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Hexaphenylbenzene","MW:534.6876")
-  MC(<30,Ph,{1,2,3,4,5,6}:/Ph)
+%******************************************************************************
+beginfont("EN:Hexaphenylbenzene","MW:534.6876",
+  ": <30,Ph,{1,2,3,4,5,6}:/Ph")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Kekulene","MW:600.7")
-  MC(<30,Ph,{3,-2,-3,-2,-3,-2,-3,-2,-3,-2}=?6,(-3,6)=?6[3], at -4,&6,
-     {8,12,14,16,18,22,24,26,28,32,34,36,38,42,44,46,48,52,54,56,58}=dl)
+%******************************************************************************
+beginfont("EN:Kekulene","MW:600.7",
+  ": <30,Ph,{3,-2,-3,-2,-3,-2,-3,-2,-3,-2}=?6,(-3,6)=?6[3], at -4,&6,     ",
+  ": {8,12,14,16,18,22,24,26,28,32,34,36,38,42,44,46,48,52,54,56,58}=dl")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:18-Crown-6","MW:264.32")
-  MC(<-180,O,60,60,60,O,-60,60,60,O,-60,60,60,
-     O,-60,60,60,O,-60,60,60,O,-60,60,&1)
+%******************************************************************************
+beginfont("EN:18-Crown-6","MW:264.32",
+  ": <-180,O,60,60,60,O,-60,60,60,O,-60,60,60, ",
+  ": O,-60,60,60,O,-60,60,60,O,-60,60,&1       ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Porphyrin","MW:310.4")
-MC(<9,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5,##,
-   {1,4,6,8,10,14,16,18,21,23,27}=dl,{4,17}:N,{11,23}:NH)
+%******************************************************************************
+beginfont("EN:Porphyrin","MW:310.4",
+  ": <9,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5,##, ",
+  ": {1,4,6,8,10,14,16,18,21,23,27}=dl,{4,17}:N,{11,23}:NH    ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Sulflower","MW:448.69")
-  MC(<67.5,?8,{1,3,5,7}=?5, at 11,30`1.15,&12, at 14,30`1.15,&15,
-     @17,30`1.15,&18, at 20,30`1.15,&9,{9,12,13,16,17,20,21,24}=dl,
-     {10,13,16,19,21,22,23,24}:S)
+%******************************************************************************
+beginfont("EN:Sulflower","MW:448.69",
+  ": <67.5,?8,{1,3,5,7}=?5, at 11,30`1.15,&12, at 14,30`1.15,&15,       ",
+  ": @17,30`1.15,&18, at 20,30`1.15,&9,{9,12,13,16,17,20,21,24}=dl,  ",
+  ": {10,13,16,19,21,22,23,24}:S                                  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Arsphenamine x5","MW:915.2")
-  MC(<18,?5,{1,2,3,4,5}:As,{1,2,3,4,5}:/'(Ph,3:/NH2,4:/OH))
+%******************************************************************************
+beginfont("EN:Arsphenamine x5","MW:915.2",
+  ": <18,?5,{1,2,3,4,5}:As,{1,2,3,4,5}:/'(Ph,3:/NH2,4:/OH)")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Melamine","MW:126.12")
-  MC(<30,Ph,{2,4,6}:N,{1,3,5}:/NH2)
+%******************************************************************************
+beginfont("EN:Melamine","MW:126.12",
+  ": <30,Ph,{2,4,6}:N,{1,3,5}:/NH2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Sudan red 1","MW:248.28")
-  MC(<30,Ph,1=Ph,4:/OH, at 3,\,N,!!,N,!,Ph)
+%******************************************************************************
+beginfont("EN:Sudan red 1","MW:248.28",
+  ": <30,Ph,1=Ph,4:/OH, at 3,\,N,!!,N,!,Ph")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Basic blue 1","MW:319.86")
-  MC(<30,Ph,3=Ph,6=Ph,2:S,5:N,{8,13}:/N?!,2:p_)
-  MCat(1,.7)(Cl,n_^15)
+%******************************************************************************
+beginfont("EN:Basic blue 1","MW:319.86",
+  ": <30,Ph,3=Ph,6=Ph,2:S,5:N,{8,13}:/N?!,2:p_, ",
+  ": @(4.2,1.5),Cl,n_^15                          ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Disperse violet 1","MW:238.25")
-  MC(<30,Ph,3=?6,-3=dr,9=Ph,{7,10}://O,{-1,-4}:/NH2)
+%******************************************************************************
+beginfont("EN:Disperse violet 1","MW:238.25",
+  ": <30,Ph,3=?6,-3=dr,9=Ph,{7,10}://O,{-1,-4}:/NH2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Vat blue 1","MW:262.27")
-  MC(<30,Ph,3=?5, at 8,\\,?5,-3=dr,-3=Ph,{7,14}:NH,{9,11}://O)
+%******************************************************************************
+beginfont("EN:Vat blue 1","MW:262.27",
+  ": <30,Ph,3=?5, at 8,\\,?5,-3=dr,-3=Ph,{7,14}:NH,{9,11}://O")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Atrazine","MW:215.7")
-  MC(<30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,3:/NH!?!)
+%******************************************************************************
+beginfont("EN:Atrazine","MW:215.7",
+  ": <30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,3:/NH!?!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:BHC","MW:290.83")
-  MC(<30,?6`1.2,{1,3,4,6}:*/Cl,{2,5}:/*Cl)
+%******************************************************************************
+beginfont("EN:BHC","MW:290.83",
+  ": <30,?6`1.2,{1,3,4,6}:*/Cl,{2,5}:/*Cl")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:pp-DDT","MW:354.49")
-  MC(<30,Ph,6:/Cl, at 3,\,/CCl3,!,Ph,-3:/Cl)
+%******************************************************************************
+beginfont("EN:pp-DDT","MW:354.49",
+  ": <30,Ph,6:/Cl, at 3,\,/CCl3,!,Ph,-3:/Cl")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Endrin","MW:380.91")
-MC(<30,?6`1.3,3=?6,6=dl,9=?3,-1:O,
-    @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb,
-      {1,2,5,6,12^-210,12^-150}:/Cl)
+%******************************************************************************
+beginfont("EN:Endrin","MW:380.91",
+  ": <30,?6`1.3,3=?6,6=dl,9=?3,-1:O,           ",
+  ": @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb, ",
+  ":   {1,2,5,6,12^-210,12^-150}:/Cl           ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Acrinathrin","MW:541.45")
-MC(<-30,?3,2^-35:*/_,2^35:/*Me,
-   @1,\,!~dl,!,//O,!,O,!,/CF3,!,CF3, at 3,\,//O,!,O,!,/CN,!,Ph, at -4,\,O,-60,Ph)
+%******************************************************************************
+beginfont("EN:Acrinathrin","MW:541.45",
+  ": <-30,?3,2^-35:*/_,2^35:/*_,                                ",
+  ": @1,\,!~dl,!,//O,!,O,!,/CF3,!,CF3, at 3,\,//O,!,O,!,/CN,!,Ph,  ",
+  ": @-4,\,O,-60,Ph                                             ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Cafenstrole","MW:350.4")
-MC(<30,Ph,{2,4,6}:/_, at 3,\,SOO,!,|,?5,{2,5}=dl,{2,4,5}:N, at -2,\,//O,!,N,/!,!2)
+%******************************************************************************
+beginfont("EN:Cafenstrole","MW:350.4",
+  ": <30,Ph,{2,4,6}:/_, at 3,\,SOO,!,|,?5,{2,5}=dl,{2,4,5}:N, at -2,\,//O,!,N,/!,!2 ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Carfentrazone-ethyl","MW:412.19")
-  MC(<30,Ph,4:/F,6:/Cl, at 1,\,!,/Cl,!,//O,!,O,!2,
-    @3,\,|,?5,4=dl,{1,3,5}:N,-4://O,-3:/CF2,-2:/_)
+%******************************************************************************
+beginfont("EN:Carfentrazone-ethyl","MW:412.19",
+  ": <30,Ph,4:/F,6:/Cl, at 1,\,!,/Cl,!,//O,!,O,!2,    ",
+  ": @3,\,|,?5,4=dl,{1,3,5}:N,-4://O,-3:/CF2,-2:/_ ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Carboxin","MW:235.301")
-MC(<30,?6,3=dl,2:S,5:O,4:/_, at 3,\,//O,!,NH,!,Ph)
+%******************************************************************************
+beginfont("EN:Carboxin","MW:235.301",
+  ": <30,?6,3=dl,2:S,5:O,4:/_, at 3,\,//O,!,NH,!,Ph")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Clomazone","MW:239.7")
-  MC(<30,Ph,2:/Cl, at 3,\,!,|,?5,1:N,2:O,-2^-35:/_,-2^35:/_,-1://O)
+%******************************************************************************
+beginfont("EN:Clomazone","MW:239.7",
+  ": <30,Ph,2:/Cl, at 3,\,!,|,?5,1:N,2:O,-2^-35:/_,-2^35:/_,-1://O")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Halfenprox","MW:477.4")
-  MC(<30,Ph, at 6,\,O,!,/F^35,/F^-35,!,Br, at 3,\,!,??,!,O,!,!,Ph, at -2,\,O,60,Ph)
+%******************************************************************************
+beginfont("EN:Halfenprox","MW:477.4",
+  ": <30,Ph, at 6,\,O,!,/F^35,/F^-35,!,Br, at 3,\,!,??,!,O,!,!,Ph, at -2,\,O,60,Ph")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Paraquat","MW:257.16")
-  MC(Ph, at 4,\,Ph,{1,10}:N!,1:p_^-90,10:p_^90)
-  MCat(1,.75)(Cl,n_^15)
-  MCat(1,.60)(Cl,n_^15)
+%******************************************************************************
+beginfont("EN:Paraquat","MW:257.16",
+  ": Ph, at 4,\,Ph,{1,10}:N!,1:p_^-90,10:p_^90, ",
+  ": @(5,1),Cl,n_^15,@(-0.5,1),Cl,n_^15      ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Picolinafen","MW:376.331")
-  MC(<30,Ph,5:/CF3, at 3,\,O,!,|,Ph,2:N, at 3,\,//O,!,NH,!,|,Ph,4:/F)
+%******************************************************************************
+beginfont("EN:Picolinafen","MW:376.331",
+  ": <30,Ph,5:/CF3, at 3,\,O,!,|,Ph,2:N, at 3,\,//O,!,NH,!,|,Ph,4:/F")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***********************************************************************
-beginfont("EN:Quinoxyfen","MW:308.13")
-  MC(<30,Ph,4=Ph,10:N,{2,6}:/Cl, at 7,\,O,!,|,Ph,4:/F)
+%******************************************************************************
+beginfont("EN:Quinoxyfen","MW:308.13",
+  ": <30,Ph,4=Ph,10:N,{2,6}:/Cl, at 7,\,O,!,|,Ph,4:/F")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***********************************************************************
-beginfont("EN:Quitozene","MW:295.3")
-  MC(<30,Ph,{1,2,3,4,6}:/Cl,5:/NO2)
+%******************************************************************************
+beginfont("EN:Quitozene","MW:295.3",
+  ": <30,Ph,{1,2,3,4,6}:/Cl,5:/NO2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Bitertanol","MW:337.4")
-  MC(<30,Ph, at 3,\,Ph, at -3,\,O,!2,/OH,!,??!, at 14,\,|,?5,{2,4}=dl,{1,2,4}:N)
+%******************************************************************************
+beginfont("EN:Bitertanol","MW:337.4",
+  ": <30,Ph, at 3,\,Ph, at -3,\,O,!2,/OH,!,??!, at 14,\,|,?5,{2,4}=dl,{1,2,4}:N")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Bifenox","MW:342.14")
-  MC(<30,Ph,{4,6}:/Cl, at 3,\,O,!,Ph,-4:/COO!,-3:/NO2)
+%******************************************************************************
+beginfont("EN:Bifenox","MW:342.14",
+  ": <30,Ph,{4,6}:/Cl, at 3,\,O,!,Ph,-4:/COO!,-3:/NO2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Simeconazole","MW:293.417")
-  MC(<36,?5,{1,3,5}:N,{1,4}=dl,
-    @3,30,!,/OH^30,!2,Si,/_,/_^60,!, at 7,-30,Ph,-3:/F)
+%******************************************************************************
+beginfont("EN:Simeconazole","MW:293.417",
+  ": <36,?5,{1,3,5}:N,{1,4}=dl,                     ",
+  ": @3,30,!,/OH^30,!2,Si,/_,/_^60,!, at 7,-30,Ph,-3:/F ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Fenamidone","MW:311.403")
-  MC(<18,?5,4=dl,{3,5}:N,2://O, at 3,\,NH,!,Ph,4:/S!,1^52:*/_,1^-48~zf:/Ph)
+%******************************************************************************
+beginfont("EN:Fenamidone","MW:311.403",
+  ": <18,?5,4=dl,{3,5}:N,2://O, at 3,\,NH,!,Ph,4:/S!,1^52:*/_,1^-48~zf:/Ph")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Fenpyroximate","MW:421.49")
-  MC(<-6,?5,{3,5}=db,{1,2}:N,{2,5}:/Me, at 3,\^-15,O,!,Ph,
-      @4,\,!~dr,N,!,O,!2,|,Ph, at 4,\,//O,-60,O,!4)
+%******************************************************************************
+beginfont("EN:Fenpyroximate","MW:421.49",
+  ": <-6,?5,{3,5}=db,{1,2}:N,{2,5}:/Me, at 3,\^-15,O,!,Ph, ",
+  ":  @4,\,!~dr,N,!,O,!2,|,Ph, at 4,\,//O,-60,O,!4         ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Chlorsulron","MW:380.648")
-  MC(<30,Ph,6:/NH2, at 1,\,SOO,!,NH2, at 3,\,SOO,!,NH2, at 4,\,/Cl,60~dl,/Cl,!,Cl)
+%******************************************************************************
+beginfont("EN:Chlorsulron","MW:380.648",
+  ": <30,Ph,6:/NH2, at 1,\,SOO,!,NH2, at 3,\,SOO,!,NH2, at 4,\,/Cl,60~dl,/Cl,!,Cl")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Enrofloxacin","MW:359.401")
-  MC(<30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O, at 1,\,|,?6,1:N,4:N,4:/!)
+%******************************************************************************
+beginfont("EN:Enrofloxacin","MW:359.401",
+  ": <30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O, at 1,\,|,?6,1:N,4:N,4:/!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Fenitrothion","MW:277.23")
-  MC(<-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,2:/NO2)
+%******************************************************************************
+beginfont("EN:Fenitrothion","MW:277.23",
+  ": <-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,2:/NO2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Fipronil","MW:437.2")
-MC(<30, Ph,{2,4}:/Cl,6:/CF3, at 3,\,|,?5,{2,4}=dl,{1,2}:N,3:/CN,5:/NH2,
-    @-2,\,S,//O,!,CF3)
+%******************************************************************************
+beginfont("EN:Fipronil","MW:437.2",
+  ": <30, Ph,{2,4}:/Cl,6:/CF3, at 3,\,|,?5,{2,4}=dl,{1,2}:N,3:/CN,5:/NH2, ",
+  ": @-2,\,S,//O,!,CF3                                                 ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Flumequine","MW:261.225")
-  MC(<30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,6:/F,9:/COOH,10://O,13:/_)
+%******************************************************************************
+beginfont("EN:Flumequine","MW:261.225",
+  ": <30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,6:/F,9:/COOH,10://O,13:/_")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Imazalil","MW:297.2")
-  MC(<-30,!2,O,!2,!~dr, at 1,60,|,?5,{2,4}=dl,{1,3}:N, at .$2,\,|,Ph,{4,6}:/Cl)
+%******************************************************************************
+beginfont("EN:Imazalil","MW:297.2",
+  ": <-30,!2,O,!2,!~dr, at 1,60,|,?5,{2,4}=dl,{1,3}:N, at .$2,\,|,Ph,{4,6}:/Cl")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Imidacloprid","MW:255.662")
-  MC(<30,Ph,1:N,6:/Cl, at 3,\,!,|,?5,2=dl,1:N,3:N,2:/'(NH,!,NO2))
+%******************************************************************************
+beginfont("EN:Imidacloprid","MW:255.662",
+  ": <30,Ph,1:N,6:/Cl, at 3,\,!,|,?5,2=dl,1:N,3:N,2:/'(NH,!,NO2)")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***********************************************************************
-beginfont("EN:Kresoxim-Methyl","MW:313.348")
-  MC(<30,Ph, at 3,\,/COO!,!~dr,N,!,O,!, at 4,\,!,O,!,Ph,-1:/_)
+%******************************************************************************
+beginfont("EN:Kresoxim-Methyl","MW:313.348",
+  ": <30,Ph, at 3,\,/COO!,!~dr,N,!,O,!, at 4,\,!,O,!,Ph,-1:/_")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Nalidixic acid","MW:232.239")
-  MC(<30,Ph,3=?6,9=dl,5:N,6:/_,7://O,8:/COOH,10:N!2)
+%******************************************************************************
+beginfont("EN:Nalidixic acid","MW:232.239",
+  ": <30,Ph,3=?6,9=dl,5:N,6:/_,7://O,8:/COOH,10:N!2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***********************************************************************
-beginfont("EN:Oryzalin","MW:346.4")
-  MC(<30,Ph,{1,3}:/NO2, at 5,\,SOO,!,NH2, at 2,\,/!2,N,!3)
+%******************************************************************************
+beginfont("EN:Oryzalin","MW:346.4",
+  ": <30,Ph,{1,3}:/NO2, at 5,\,SOO,!,NH2, at 2,\,/!2,N,!3")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***********************************************************************
-beginfont("EN:Oxadiazon","MW:345.2")
-MC(<30,Ph,{4,6}:/Cl,1:/O!?!, at 3,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!)
+%******************************************************************************
+beginfont("EN:Oxadiazon","MW:345.2",
+  ": <30,Ph,{4,6}:/Cl,1:/O!?!, at 3,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***********************************************************************
-beginfont("EN:Oxadixyl","MW:278.3")
-  MC(<30,Ph,{2,4}:/_, at 3,\,N,!1,//O,!2,O,!, at 7,\,|,?5,1:N,2:O,5://O)
+%******************************************************************************
+beginfont("EN:Oxadixyl","MW:278.3",
+  ": <30,Ph,{2,4}:/_, at 3,\,N,!1,//O,!2,O,!, at 7,\,|,?5,1:N,2:O,5://O")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***********************************************************************
-beginfont("EN:Oxyfluorfen","MW:361.701")
-MC(<30,Ph,6:/CF3,4:/Cl, at 3,\,O,!,Ph,-3:/NO2, at -4,\,O,!2)
+%******************************************************************************
+beginfont("EN:Oxyfluorfen","MW:361.701",
+  ": <30,Ph,6:/CF3,4:/Cl, at 3,\,O,!,Ph,-3:/NO2, at -4,\,O,!2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Sulfadimidine","MW:278.33")
-  MC(<30,Ph,1:/NH2, at 4,\,SOO,!,NH,!,|,Ph,{2,4}:N,{3,5}:/_)
+%******************************************************************************
+beginfont("EN:Sulfadimidine","MW:278.33",
+  ": <30,Ph,1:/NH2, at 4,\,SOO,!,NH,!,|,Ph,{2,4}:N,{3,5}:/_")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Sulfamerazine","MW:264.303")
-  MC(<30,Ph,1:/NH2, at 4,\,SOO,!,NH,!,|,Ph,{2,6}:N,3:/_)
+%******************************************************************************
+beginfont("EN:Sulfamerazine","MW:264.303",
+  ": <30,Ph,1:/NH2, at 4,\,SOO,!,NH,!,|,Ph,{2,6}:N,3:/_")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Sulfadoxine","MW:310.328")
-  MC(<30,Ph,1:/NH2, at 4,\,SOO,!,NH,!,|,Ph,{4,6}:N,{2,3}:/O!)
+%******************************************************************************
+beginfont("EN:Sulfadoxine","MW:310.328",
+  ": <30,Ph,1:/NH2, at 4,\,SOO,!,NH,!,|,Ph,{4,6}:N,{2,3}:/O!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Sulfamethoxazole","MW:253.276")
-  MC(<30,Ph,1:/NH2, at 4,\,SOO,!,NH,!,|,?5,{2,5}=dl,4:O,5:N,3:/_)
+%******************************************************************************
+beginfont("EN:Sulfamethoxazole","MW:253.276",
+  ": <30,Ph,1:/NH2, at 4,\,SOO,!,NH,!,|,?5,{2,5}=dl,4:O,5:N,3:/_")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Thiamethoxam","MW:291.71")
-  MC(<30,?6,4:N,2:O,6:N!,5://'(N,!,NO2), at 4,\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl)
+%******************************************************************************
+beginfont("EN:Thiamethoxam","MW:291.71",
+  ": <30,?6,4:N,2:O,6:N!,5://'(N,!,NO2), at 4,\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Thiamphenicol","MW:355")
-  MC(<30,Ph, at 1,\,SOO,!, at 4,\,/OH,!,/!OH,!`1.1,NH,!`1.1,//O,!,/Cl,!,Cl)
+%******************************************************************************
+beginfont("EN:Thiamphenicol","MW:355",
+  ": <30,Ph, at 1,\,SOO,!, at 4,\,/OH,!,/!OH,!`1.1,NH,!`1.1,//O,!,/Cl,!,Cl")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Pyridaphenthion","MW:340.334")
-  MC(<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph)
+%******************************************************************************
+beginfont("EN:Pyridaphenthion","MW:340.334",
+  ": <30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Permethrin","MW:391.288")
-  MC(<-30,?3,2^-35:*/_,2^35:/*_,1:/'(!!,/Cl,!,Cl),
-     @3,\,//O,!,O,!2,|,Ph, at 3,\,O,-60,Ph)
+%******************************************************************************
+beginfont("EN:Permethrin","MW:391.288",
+  ": <-30,?3,2^-35:*/_,2^35:/*_,1:/'(!!,/Cl,!,Cl), ",
+  ":  @3,\,//O,!,O,!2,|,Ph, at 3,\,O,-60,Ph            ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Isoprothiolane","MW:290.392")
-  MC(<-30,!,?!,O,!,//O,!,//'(?5,2:S,5:S),!,//O,!,O,!,?!)
+%******************************************************************************
+beginfont("EN:Isoprothiolane","MW:290.392",
+  ": <-30,!,?!,O,!,//O,!,//'(?5,2:S,5:S),!,//O,!,O,!,?!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Oxine-Copper","MW:351.852")
-  MC(Ph,4:N,5=Ph, at -4,\,O,-60,<90,Cu,-90,O,60,|,Ph,5=Ph,10:N,||,
-     @4,&12~vf, at 23,&12~vf)
+%******************************************************************************
+beginfont("EN:Oxine-Copper","MW:351.852",
+  ": Ph,4:N,5=Ph, at -4,\,O,-60,<90,Cu,-90,O,60,|,Ph,5=Ph,10:N,||, ",
+  ":  @4,&12~vf, at 23,&12~vf                                       ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Tetraconazole","MW:372.145")
-  MC(<-6,
-    ?5,{2,5}=dl,{1,2,4}:N, at 4,\,!3,O,!,/F^35,/F^-35,!,CF2, at 7,\,|,Ph,{4,6}:/Cl)
+%******************************************************************************
+beginfont("EN:Tetraconazole","MW:372.145",
+  ": <-6,?5,{2,5}=dl,                                             ",
+  ": {1,2,4}:N, at 4,\,!3,O,!,/F^35,/F^-35,!,CF2, at 7,\,|,Ph,{4,6}:/Cl  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Endosulfan","MW:406.904");
-  MC(<26,?7,7=?6[13], at 11,208~wf`1.45,&8~wb,10=dl,{3,5}:O,4:S,4://O,
-      {8,9,10,11,12^-210,12^-150}:/Cl)
+%******************************************************************************
+beginfont("EN:Endosulfan","MW:406.904",
+  ": <26,?7,7=?6[13], at 11,208~wf`1.45,&8~wb,10=dl,{3,5}:O,4:S,4://O, ",
+  ":  {8,9,10,11,12^-210,12^-150}:/Cl                               ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%***********************************************************************
-beginfont("EN:Uniconazole-P","MW:291.779")
-  MC(<30,Ph,6:/Cl, at 3,\,!~dl,!,/OH,!,??!, at 8,\,|,?5,{2,4}=dl,{1,2,4}:N)
+%******************************************************************************
+beginfont("EN:Uniconazole-P","MW:291.779",
+  ": <30,Ph,6:/Cl, at 3,\,!~dl,!,/OH,!,??!, at 8,\,|,?5,{2,4}=dl,{1,2,4}:N")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Oxadiargyl","MW:341.19")
-  MC(<30,Ph,{1,3}:/Cl,6:/'(O,!2,!!!), at 4,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!)
+%******************************************************************************
+beginfont("EN:Oxadiargyl","MW:341.19",
+  ": <30,Ph,{1,3}:/Cl,6:/'(O,!2,!!!), at 4,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Oxaziclomefone","MW:376.277")
-  MC(<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph, at 4,\,??,!,|,Ph,{3,5}:/Cl)
+%******************************************************************************
+beginfont("EN:Oxaziclomefone","MW:376.277",
+  ": <30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph, at 4,\,??,!,|,Ph,{3,5}:/Cl")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Trimetoprim","MW:290.323")
-  MC(<30,Ph,{1,5}:N,{2,6}:/NH2, at 3,\,!,|,Ph,{3,4,5}:/O!)
+%******************************************************************************
+beginfont("EN:Trimetoprim","MW:290.323",
+  ": <30,Ph,{1,5}:N,{2,6}:/NH2, at 3,\,!,|,Ph,{3,4,5}:/O!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Ciprofloxacin","MW:331.347")
-  MC(<30,Ph,-4=?6,9=dl,7:N,
-     6:/F,7:/?3,9:/COOH,10://O, at 1,\,|,?6,1:N,4:NH)
+%******************************************************************************
+beginfont("EN:Ciprofloxacin","MW:331.347",
+  ": <30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O, at 1,\,|,?6,1:N,4:NH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Danofloxacin","MW:357.385")
-  MC(<30,Ph,-4=?6,9=dl,7:N,
-     6:/F,7:/?3,9:/COOH,10://O,
-     @1,\,|,?6, at 2,-200`1.1,&5,{1,4}:N,4:*/_)
+%******************************************************************************
+beginfont("EN:Danofloxacin","MW:357.385",
+  ": <30,Ph,-4=?6,9=dl,7:N,                 ",
+  ": 6:/F,7:/?3,9:/COOH,10://O,             ",
+  ": @1,\,|,?6, at 2,-200`1.1,&5,{1,4}:N,4:*/_ ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Marbofloxacin","MW:362.361")
-  MC(<30,Ph,3=?6,9=dl,(2,7)=?6[4],6:/F,7:N,11:O,9:/COOH,10://O,13:N!,
-     @1,\,|,?6,1:N,4:N!)
+%******************************************************************************
+beginfont("EN:Marbofloxacin","MW:362.361",
+  ": <30,Ph,3=?6,9=dl,(2,7)=?6[4],6:/F,7:N,11:O,9:/COOH,10://O,13:N!, ",
+  ": @1,\,|,?6,1:N,4:N!                                               ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Ofloxacin","MW:361.373")
-  MC(<30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,11:O,6:/F,9:/COOH,10://O,13:/_,
-     @1,\,|,?6,{1,4}:N,4:/_)
+%******************************************************************************
+beginfont("EN:Ofloxacin","MW:361.373",
+  ": <30,Ph,3=?6,(2,7)=?6[4],9=dl,7:N,11:O,6:/F,9:/COOH,10://O,13:/_, ",
+  ": @1,\,|,?6,{1,4}:N,4:/_                                           ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Ormetoprim","MW:274.324")
-  MC(<30,Ph,{1,5}:N,{2,6}:/NH2, at 3,\,!,|,Ph,2:/_,{4,5}:/O!)
+%******************************************************************************
+beginfont("EN:Ormetoprim","MW:274.324",
+  ": <30,Ph,{1,5}:N,{2,6}:/NH2, at 3,\,!,|,Ph,2:/_,{4,5}:/O!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Amoxicillin","MW:365.4042")
-  MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
-    @4,*\^15,NH,!,//O,!,*/NH2,!,Ph,-3:/OH)
+%******************************************************************************
+beginfont("EN:Amoxicillin","MW:365.4042",
+  ": <45,?4,-3=?5,2:N,7:S,                 ",
+  ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??,  ",
+  ": @4,*\^15,NH,!,//O,!,*/NH2,!,Ph,-3:/OH ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Ampicillin","MW:349.405")
-  MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
-    @4,*\^15,NH,!,//O,!,/*NH2,!,Ph)
+%******************************************************************************
+beginfont("EN:Ampicillin","MW:349.405",
+  ": <45,?4,-3=?5,2:N,7:S,                ",
+  ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ",
+  ": @4,*\^15,NH,!,//O,!,/*NH2,!,Ph       ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Benzyl-Penicillin","MW:334.4")
-  MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
-    @4,*\^15,NH,!,//O,!,!,Ph)
+%******************************************************************************
+beginfont("EN:Benzyl-Penicillin","MW:334.4",
+  ": <45,?4,-3=?5,2:N,7:S,                ",
+  ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ",
+  ": @4,*\^15,NH,!,//O,!,!,Ph             ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Mecillinam","MW:325.4264")
-  MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
-    @4,*\^15,N,!!,!,?7,-7:N)
+%******************************************************************************
+beginfont("EN:Mecillinam","MW:325.4264",
+  ": <45,?4,-3=?5,2:N,7:S,                ",
+  ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ",
+  ": @4,*\^15,N,!!,!,?7,-7:N              ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Nafcillin","MW:414.4748")
-  MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
-    @4,*\^15,NH,!,//O,!,Ph,-2=Ph,-9:/O!2)
+%******************************************************************************
+beginfont("EN:Nafcillin","MW:414.4748",
+  ": <45,?4,-3=?5,2:N,7:S,                 ",
+  ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??,  ",
+  ": @4,*\^15,NH,!,//O,!,Ph,-2=Ph,-9:/O!2  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Oxacillin","MW:401.4363")
-  MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
-    @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,
-    @-1,\^-24,Ph)
+%******************************************************************************
+beginfont("EN:Oxacillin","MW:401.4363",
+  ": <45,?4,-3=?5,2:N,7:S,                                   ",
+  ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??,                    ",
+  ": @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_, ",
+  ": @-1,\^-24,Ph                                            ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Cloxacillin","MW:435.8813")
-  MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
-    @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,
-    @-1,\^-24,Ph,-5:/Cl)
+%******************************************************************************
+beginfont("EN:Cloxacillin","MW:435.8813",
+  ": <45,?4,-3=?5,2:N,7:S,                                   ",
+  ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??,                    ",
+  ": @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_, ",
+  ": @-1,\^-24,Ph,-5:/Cl                                     ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Dicloxacillin","MW:470.3264")
-  MC(<45,?4,-3=?5,2:N,7:S,
-    3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
-    @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,
-    @-1,\^-24,Ph,{-1,-5}:/Cl)
+%******************************************************************************
+beginfont("EN:Dicloxacillin","MW:470.3264",
+  ": <45,?4,-3=?5,2:N,7:S,                                   ",
+  ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??,                    ",
+  ": @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_, ",
+  ": @-1,\^-24,Ph,{-1,-5}:/Cl                                ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Cefalexin","MW:347.3889")
-  MC(<45,?4,-3=?6,-4=dl,2:N,8:S,
-    3^45:/*H,1://O^15,5:/*COOH,6:/_,
-    @4,*\^15,NH,!,//O,!,*/NH2,!,Ph)
+%******************************************************************************
+beginfont("EN:Cefalexin","MW:347.3889",
+  ": <45,?4,-3=?6,-4=dl,2:N,8:S,       ",
+  ": 3^45:/*H,1://O^15,5:/*COOH,6:/_,  ",
+  ": @4,*\^15,NH,!,//O,!,*/NH2,!,Ph    ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Cefalonium","MW:458.5107")
-  MC(<45,?4,-3=?6,-4=dl,2:N,8:S,
-    3^45:/*H,1://O^15, at 5,\*,//O,!,O,n_^40,
-    @4,*\^15,NH,!,//O,!2,?5,{-1,-3}=dl,-4:S,
-    @6,\,!,|,Ph,1:N,1:p_^180, at 4,\,//O,!,NH2)
+%******************************************************************************
+beginfont("EN:Cefalonium","MW:458.5107",
+  ": <45,?4,-3=?6,-4=dl,2:N,8:S,              ",
+  ": 3^45:/*H,1://O^15, at 5,\*,//O,!,O,n_^40,   ", 
+  ": @4,*\^15,NH,!,//O,!2,?5,{-1,-3}=dl,-4:S, ", 
+  ": @6,\,!,|,Ph,1:N,1:p_^180, at 4,\,//O,!,NH2  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Cefazorin","MW:454.51")
-  MC(<45,?4,-3=?6,-4=dl,2:N,8:S,
-    3^45:/*H,1://O^15,5:/*COOH,
-    @4,*\^15,NH,!,//O,!2,?5,{-2,-4}=dl,{-1,-2,-3,-5}:N,
-    @6,\,!,S,!,?5,{-3,-5}=dl,-1:S,-2:/_,{-3,-4}:N)
+%******************************************************************************
+beginfont("EN:Cefazorin","MW:454.51",
+  ": <45,?4,-3=?6,-4=dl,2:N,8:S,                         ",
+  ": 3^45:/*H,1://O^15,5:/*COOH,                         ",
+  ": @4,*\^15,NH,!,//O,!2,?5,{-2,-4}=dl,{-1,-2,-3,-5}:N, ",
+  ": @6,\,!,S,!,?5,{-3,-5}=dl,-1:S,-2:/_,{-3,-4}:N       ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Cefquinome","MW:528.6")
-  MC(<45,?4,-3=?6,-4=dl,2:N,8:S,
-    3^45:/*H,1://O^15, at 5,\*,//O,!,O,n_^40,
-    @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2,
-    @6,\,!,Ph,-2=?6,-10:N,-10:p_^180)
+%******************************************************************************
+beginfont("EN:Cefquinome","MW:528.6",
+  ": <45,?4,-3=?6,-4=dl,2:N,8:S,                                         ",
+  ": 3^45:/*H,1://O^15, at 5,\*,//O,!,O,n_^40,                              ",
+  ": @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2, ",
+  ": @6,\,!,Ph,-2=?6,-10:N,-10:p_^180                                    ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Ceftiofur","MW:523.5626")
-  MC(<45,?4,-3=?6,-4=dl,2:N,8:S,
-    3^45:/*H,1://O^15,5:/*COOH,
-    @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2,
-    @6,\,!,S,!,//O,!,?5,{-1,-3}=dl,-4:O)
+%******************************************************************************
+beginfont("EN:Ceftiofur","MW:523.5626",
+  ": <45,?4,-3=?6,-4=dl,2:N,8:S,                                          ",
+  ": 3^45:/*H,1://O^15,5:/*COOH,                                          ",
+  ": @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2,  ",
+  ": @6,\,!,S,!,//O,!,?5,{-1,-3}=dl,-4:O                                  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
+%******************************************************************************
 beginfont("EN:Cefuroxime","MW:424.3852")
   MC(<45,?4,-3=?6,-4=dl,2:N,8:S,
     3^45:/*H,1://O^15,5:/*COOH,
@@ -511,7 +611,7 @@
     @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-1,-3}=dl,-4:O,
     @6,\,!,O,!,//O,!,NH2)
 endfont
-%***************************************************************************
+%******************************************************************************
 beginfont("EN:Apramycin","MW:539.58")
   MC(<30,?6,-4=?6,{2,10}:O,
      @1,\*,O,60~zb,?6,
@@ -519,7 +619,7 @@
      {7,13,-2}:*/OH,{14,-1}:/*OH,{15,17}:*/NH2,{6,-3}:/*NH2,8:*/NH!>vt,
      -4:*/!OH,3:/*H^-60`.75,4:*/H^60`.75)
 endfont
-%***************************************************************************
+%******************************************************************************
 beginfont("EN:Gentamycin","MW:477.596")
   MC(<-30,?6,
      @1,\*,O,0~zb,?6,-5:O, at 5,\*,O,0~zb,?6,-5:O,
@@ -526,7 +626,7 @@
      {2,4}:*/NH2,20:/*NH2,6:*/OH,
      11:*/OH^-35,11:/*_^35,12:*/NH!,13:/*OH,17:/'(*/_,!NH!))
 endfont
-%***************************************************************************
+%******************************************************************************
 beginfont("EN:Kanamycin","MW:484.499")
   MC(<-30,?6,
      @1,\*,O,0~zb,?6,-5:O,
@@ -533,7 +633,7 @@
      @5,\,O,0,?6,-5:O,
      {2,4,12}:*/NH2,{6,19}:*/OH,{11,13,18,20}:/*OH,10:*/!OH,17:*/!NH2)
 endfont
-%***************************************************************************
+%******************************************************************************
 beginfont("EN:DihydroStreptmycin","MW:583.574")
   MC(<54,?5,3:O,4:/*_,5:/!OH^-48,5:/*OH^35,
      @1,\*,O,-24~wb,?6,-5:O,
@@ -542,7 +642,7 @@
      @17,*\^-18,NH,!,//NH,!,NH2,
      @19,*\,NH,!,//NH,!,NH2)
 endfont
-%***************************************************************************
+%******************************************************************************
 beginfont("EN:Fradiomycin","MW:614.644")
   MC(<30,?6,3:O,2:/*!NH2,1:*/OH,6:/*OH,5:*/NH2,
      @4,*\,O,!~wb,?6,{-3,-5^15}:/*NH2,-2:*/OH^-15,
@@ -549,7 +649,7 @@
      @-1,\*,O,-72~wb,?5,-4:O,-1:/*OH>vt,-3:*/!OH>vt,
      @-2,\*^-24,O,-60~zb,?6,-5:O,-1:/*NH2,-2:*/OH,-3:/*OH,-4:/*!NH2>60)
 endfont
-%***************************************************************************
+%******************************************************************************
 beginfont("EN:Streptmycin","MW:581.574")
   MC(<54,?5,3:O,4:/*_,5:/OH^35,
      @1,\*,O,-24~wb,?6,-5:O,
@@ -558,7 +658,7 @@
      @17,*\^-18,NH,!,//NH,!,NH2,
      @19,*\,NH,!,//NH,!,NH2)
 endfont
-%***************************************************************************
+%******************************************************************************
 beginfont("EN:Neospiramycin","MW:698.9")
   MC(<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
     {12,14}=dl,2:O,1:/*_,5:/*OH,3://O,10:/*_,6:/*O!>vt,
@@ -566,7 +666,7 @@
     @7,\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_,-3:/*OH,
     @8,\*,!,!!,O)
 endfont
-%***************************************************************************
+%******************************************************************************
 beginfont("EN:Emamectine","MW:886.133")
   MC(<24,?6,6=?5,3=dl,9:O,2:*/OH,3:/_,6:/*OH^-60,
      @5,#1.04,6,//O,-60,O,60~wb,60,-60,60~wf,60,-60,60,60,60,-60,60,##,&7,
@@ -575,247 +675,290 @@
     17:/_,19:/*_, at 18,\,O,!,?6`.8,-1:O,-2:*/_,-4:*/O!,
     @-3,\,O,60,?6`.8,-5:O,-4:*/_,-3:/*NH!,-2:*/O!)
 endfont
-%***************************************************************************
-beginfont("EN:Spinosad","MW:731.968")
-  MC(<30,#1,<-120,60,60,-60,60,60,60,-60,60,60,60,-60,&1,##,
-    5=?5,-1=dl,{-2^60,-3^-35}:/*H,-3=?6,-4=dl,{-1^35}:*/H,{-2^-60}:/*H,-2=?5,
-    2:O,{3^25,7^-25}://O,1:/!,
-     @-2,\~zf,O,66,?6`.8,-1:O,-2:/_,{-3,-4,-5}:/O!,
-     8~wf:/Me,5^-65~wf:/H,
-     @9,\~zf,O,!,|,?6`.8,2:O,3:/_,-3:/N?!)
+%******************************************************************************
+beginfont("EN:Spinosad","MW:731.968",
+  ": <30,#1,<-120,60,60,-60,60,60,60,-60,60,60,60,-60,&1,##, ",
+  ": 5=?5,-1=dl,{-2^60,-3^-35}:/*H,-3=?6,-4=dl,              ",
+  ":  {-1^35}:*/H,{-2^-60}:/*H,-2=?5,                        ",
+  ": 2:O,{3^25,7^-25}://O,1:/!,                              ",
+  ":  @-2,\~zf,O,66,?6`.8,-1:O,-2:/_,{-3,-4,-5}:/O!,         ",
+  ":  8~wf:/Me,5^-65~wf:/H,                                  ",
+  ":  @9,\~zf,O,!,|,?6`.8,2:O,3:/_,-3:/N?!                   ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Spiramycin","MW:843.1")
-  MC(<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
-    {12,14}=dl,2:O,{1,10^-30}:/*_,5:/*OH,3://O,6:/*O!>vt,
-    @-6,\*^-30,O,!~wb,?6`.7,-5:O,-3:/*N?!,-4:*/_,
-    @7,\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_,
-      @-3,\*`1,O,60~wb`1.5,?6`.7,-5:O,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_,
-    @8,\*,!,!!,O)
+%******************************************************************************
+beginfont("EN:Spiramycin","MW:843.1",
+  ": <-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,   ",
+  ": {12,14}=dl,2:O,{1,10^-30}:/*_,5:/*OH,3://O,6:/*O!>vt,              ",
+  ": @-6,\*^-30,O,!~wb,?6`.7,-5:O,-3:/*N?!,-4:*/_,                      ",
+  ": @7,\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_,                   ",
+  ":   @-3,\*`1,O,60~wb`1.5,?6`.7,-5:O,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_, ",
+  ": @8,\*,!,!!,O                                                       ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Natamycin","MW:665.733")
-  MC(<-90,#1,60,60,-60,60,-60,60,-60,60,-60,60,60,60,O,-60,
-     60,60,-60,60,-60,60,-60,60,60,-60,&1,(12,13)=?6[4],##,
-     {2,4,6,8,20}=dl,11=zb,23:O,-2:/*OH,-3:*/COOH,
-     18=?3,-1=wb,-2=wf,-1:O,22://O,24:*/_,{14^60,16}:*/OH,
-     @10,*\,O,90,?6`.8,-3:*/OH,-5:/*OH,-4:/*NH2,-1:O,-2:/*_)
+%******************************************************************************
+beginfont("EN:Natamycin","MW:665.733",
+  ": <-90,#1,60,60,-60,60,-60,60,-60,60,-60,60,60,60,O,-60, ",
+  ": 60,60,-60,60,-60,60,-60,60,60,-60,&1,(12,13)=?6[4],##, ",
+  ": {2,4,6,8,20}=dl,11=zb,23:O,-2:/*OH,-3:*/COOH,          ",
+  ": 18=?3,-1=wb,-2=wf,-1:O,22://O,24:*/_,{14^60,16}:*/OH,  ",
+  ": @10,*\,O,90,?6`.8,-3:*/OH,-5:/*OH,-4:/*NH2,-1:O,-2:/*_ ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Tylocin","MW:916.10")
-  MC(<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
-    {12,14}=dl,2:O,1:/*!,5:/*OH,3://O,10:/*_,6:/*_,-6://O,-3:/_,
-    @-1,*\,-60,O,0~wb,?6`.7,-5:O,-3:/*OH,-4:*/_,{-1,-2}:/*O!,
-    @7,\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_,
-      @-3,\*`1,O,60~wb`1.5,?6`.7,-5:O,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_,
-    @8,\*,!,!!,O)
+%******************************************************************************
+beginfont("EN:Tylocin","MW:916.10",
+  ": <-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,   ",
+  ": {12,14}=dl,2:O,1:/*!,5:/*OH,3://O,10:/*_,6:/*_,-6://O,-3:/_,       ",
+  ": @-1,*\,-60,O,0~wb,?6`.7,-5:O,-3:/*OH,-4:*/_,{-1,-2}:/*O!,          ",
+  ": @7,\*,O,0~wb,?6`.7,-5:O,-2:*/N?!,-1:/*OH,-4:*/_,                   ",
+  ":   @-3,\*`1,O,60~wb`1.5,?6`.7,-5:O,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_, ",
+  ": @8,\*,!,!!,O                                                       ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Tilmicosin","MW:869.133")
-  MC(<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
-    {12,14}=dl,2:O,1:/*!,5:/*OH,{3,11}://O,{6,10}:/*_,14:/_,
-    @-1,*\,-60,O,0~zb,?6`.7,-5:O,{-1,-2}:*/O!,-3:*/OH,-4:/*_,
-    @7,\*,O,0,?6`.7,-5:O,-2:*/N?!,{-1,-3}:/*OH,-4:*/_,
-    @8,\*,!2,?6`.7,-6:N,{-2,-4}:*/_)
+%******************************************************************************
+beginfont("EN:Tilmicosin","MW:869.133",
+  ": <-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,  ",
+  ": {12,14}=dl,2:O,1:/*!,5:/*OH,{3,11}://O,{6,10}:/*_,14:/_,          ",
+  ": @-1,*\,-60,O,0~zb,?6`.7,-5:O,{-1,-2}:*/O!,-3:*/OH,-4:/*_,         ",
+  ": @7,\*,O,0,?6`.7,-5:O,-2:*/N?!,{-1,-3}:/*OH,-4:*/_,                ",
+  ": @8,\*,!2,?6`.7,-6:N,{-2,-4}:*/_                                   ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Chlortetracyclin","MW:478.88")
-  MC(<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,2:/Cl,
-     {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2
-    )
+%******************************************************************************
+beginfont("EN:Chlortetracyclin","MW:478.88",
+  ": <30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,2:/Cl, ",
+  ": {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2            ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Oxytetracyclin","MW:460.434")
-  MC(<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,11:*/OH,
-     {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2)
+%******************************************************************************
+beginfont("EN:Oxytetracyclin","MW:460.434",
+  ": <30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,11:*/OH, ",
+  ": {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2              ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Tetracyclin","MW:444.435")
-  MC(<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,
-     {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2)
+%******************************************************************************
+beginfont("EN:Tetracyclin","MW:444.435",
+  ": <30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35, ",
+  ": {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2      ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Doxycyclin","MW:444.43")
-  MC(<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_,
-     {5,13~wf^60,11~wf,14,16}:/OH,15:*/N?!, at 17,\,//O,!,NH2)
+%******************************************************************************
+beginfont("EN:Doxycyclin","MW:444.43",
+  ": <30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_,     ",
+  ": {5,13~wf^60,11~wf,14,16}:/OH,15:*/N?!, at 17,\,//O,!,NH2  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Tiamulin","MW:493.74")
-  MC(<-45.5,?8,-3=?5, at 8,#.8,-210~zf,/_^60,45,56,##,&6~zb,
-     {3^-45,5,8}:*/_, at 3,\*^30,!~dl,4:/*OH,11://O,7:*/H^60,
-    @1,\^15,O,!,//O,!2,S,60,60,-60,N!2,60,-60)
+%******************************************************************************
+beginfont("EN:Tiamulin","MW:493.74",
+  ": <-45.5,?8,-3=?5, at 8,#.8,-210~zf,/_^60,45,56,##,&6~zb,  ",
+  ": {3^-45,5,8}:*/_, at 3,\*^30,!~dl,4:/*OH,11://O,7:*/H^60, ",
+  ": @1,\^15,O,!,//O,!2,S,60,60,-60,N!2,60,-60             ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Rifampicin","MW:822.94")
-  MC(<30,Ph,6:/_^30,5:/OH,|,-6=?5,1:O,3://O,2:/*_^60,
-      |,-8=?6,{2,4}=dl,{1,4}:/OH,
-      #1, at -2,\,NH,60,//O,-60,/_,60~dl,60,60~dl,-60,
-      */_,60,/*OH,-60,/*_,60,/*OH,60,*/_^30,-60,
-      60,/*_^30,-53,66,-53~dl,66`1.2,O,##,&($8),
-      -4:/*O!, at -6,-30,O,!,//O,!, at .$11,\,!!,N,!,|,?6,1:N,4:N!)
+%******************************************************************************
+beginfont("EN:Rifampicin","MW:822.94",
+  ": <30,Ph,6:/_^30,5:/OH,|,-6=?5,1:O,3://O,2:/*_^60,        ",
+  ":  |,-8=?6,{2,4}=dl,{1,4}:/OH,                            ",
+  ":  #1, at -2,\,NH,60,//O,-60,/_,60~dl,60,60~dl,-60,          ",
+  ":  */_,60,/*OH,-60,/*_,60,/*OH,60,*/_^30,-60,             ",
+  ":  60,/*_^30,-53,66,-53~dl,66`1.2,O,##,&($8),             ",
+  ":  -4:/*O!, at -6,-30,O,!,//O,!, at .$11,\,!!,N,!,|,?6,1:N,4:N! ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Trenbolone","MW:270.37")
-  MC(<30,?6,{3,10}=?6,13=?5,{2,11,15}=dl,
-     1://O,12:*/_^60,-1:/*OH,9:*/H^60,11:/*H^-60)
+%******************************************************************************
+beginfont("EN:Trenbolone","MW:270.37",
+  ": <30,?6,{3,10}=?6,13=?5,{2,11,15}=dl,         ",
+  ": 1://O,12:*/_^60,-1:/*OH,9:*/H^60,11:/*H^-60  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Luciferin","MW:280.33")
-  MC(<30,Ph,3=?5, at 8,\,?5,{9,16}=dl,{9,14}:N,{7,11}:S,1:/OH,-2:*/COOH)
+%******************************************************************************
+beginfont("EN:Luciferin","MW:280.33",
+  ": <30,Ph,3=?5, at 8,\,?5,{9,16}=dl,{9,14}:N,{7,11}:S,1:/OH,-2:*/COOH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Chlorophyll a","MW:893.509")
-MC(<-36,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5, at 6,22,70,&8,##,
-   {4,6,8,10,14,16,18,21,23,27}=dl, at 4,\`1.48~vf,Mg,&17~vb, at 11,&27, at 27,&23,
-   {4,11,17,23}:N,{1~zf,9,15,21}:/_,14:/!,20:/!!,25:/*COO!,26://O,
-   @2,*\^-6,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_)
+%******************************************************************************
+beginfont("EN:Chlorophyll a","MW:893.509",
+  ": <-36,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5, at 6,22,70,&8,##,  ",
+  ": {4,6,8,10,14,16,18,21,23,27}=dl, at 4,\`1.48~vf,Mg,&17~vb, at 11,&27, at 27,&23, ",
+  ": {4,11,17,23}:N,{1~zf,9,15,21}:/_,14:/!,20:/!!,25:/*COO!,26://O,         ",
+  ": @2,*\^-6,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_                           ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Quercetin","MW:302.24")
-  MC(<30,Ph,3=?6, at 9,\,Ph,9=dl,10:O,7://O,{2,6,8,13,14}:/OH)
+%******************************************************************************
+beginfont("EN:Quercetin","MW:302.24",
+  ": <30,Ph,3=?6, at 9,\,Ph,9=dl,10:O,7://O,{2,6,8,13,14}:/OH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Limonin","MW:470.518")
-  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:??,{1^60,5^180,16^60}:/*H,
-      @14,\*,|,?5,{1,4}=dl,3:O)
+%******************************************************************************
+beginfont("EN:Limonin","MW:470.518",
+  ": <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:??,{1^60,5^180,16^60}:/*H,   ",
+  ":  @14,\*,|,?5,{1,4}=dl,3:O                             ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Cromolyn","MW:468.37")
-  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)
+%******************************************************************************
+beginfont("EN:Cromolyn","MW:468.37",
+  ": <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  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Emetine","MW:480.649")
-  MC(<30,Ph,{-4,-4}=?6,8:N,{1,6}:/O!,-2:/*!,{7^-60,12^-60}:/*H,
-     @-3,\,!~zb,<-60,|,?6,5=dl,2:NH,-6^-60:*/H,|,-2=?6,{2,4}=dl,{-2,-3}:/O!)
+%******************************************************************************
+beginfont("EN:Emetine","MW:480.649",
+  ": <30,Ph,{-4,-4}=?6,8:N,{1,6}:/O!,-2:/*!,{7^-60,12^-60}:/*H,             ",
+  ": @-3,\,!~zb,<-60,|,?6,5=dl,2:NH,-6^-60:*/H,|,-2=?6,{2,4}=dl,{-2,-3}:/O! ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Acronycine","MW:321.376")
-  MC(<30,Ph,|,-4=?6,1:N!,4://O,-3=Ph2,-1:/O!,|,-4=?6,2=dl,4:O,3:??)
+%******************************************************************************
+beginfont("EN:Acronycine","MW:321.376",
+  ": <30,Ph,|,-4=?6,1:N!,4://O,-3=Ph2,-1:/O!,|,-4=?6,2=dl,4:O,3:??")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Piperine","MW:285.343")
-  MC(<30,Ph,|,-1=?5,{1,3}:O, at .$4,\,!!,!,!!,!,//O,!,|,?6,1:N)
+%******************************************************************************
+beginfont("EN:Piperine","MW:285.343",
+  ": <30,Ph,|,-1=?5,{1,3}:O, at .$4,\,!!,!,!!,!,//O,!,|,?6,1:N")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Febrifugine","MW:301.346")
-  MC(<30,Ph,|,-4=?6,2=dl,{1,3}:N,4://O, at .$9,\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH)
+%******************************************************************************
+beginfont("EN:Febrifugine","MW:301.346",
+  ": <30,Ph,|,-4=?6,2=dl,{1,3}:N,4://O, at .$9,\,!,//O,!,!~zf,|,?6,2:NH,-1:*/OH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Mitomycine C","MW:334.332")
-  MC(<30,?6,{3,6}=dl,{2,5}://O,1:/_,-4=?5,-3:N,
-     6:/NH2,,-3=?5,-2=?3,-1=wb,-2=wf,-1:NH,
-     8:/*O!^35, at .$9,\,!,O,60,//O,!,NH2)
+%******************************************************************************
+beginfont("EN:Mitomycine C","MW:334.332",
+  ": <30,?6,{3,6}=dl,{2,5}://O,1:/_,-4=?5,-3:N, ",
+  ": 6:/NH2,,-3=?5,-2=?3,-1=wb,-2=wf,-1:NH,     ",
+  ": 8:/*O!^35, at .$9,\,!,O,60,//O,!,NH2          ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Podophyllotoxin","MW:414.41");
-  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)
+%******************************************************************************
+beginfont("EN:Podophyllotoxin","MW:414.41",
+  ": <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  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%***************************************************************************
-beginfont("EN:Warfarin","MW:308.333");
-  MC(<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O, at 8,\,/Ph`1,60,!,//O,!)
+%******************************************************************************
+beginfont("EN:Warfarin","MW:308.333",
+  ": <30,Ph,3=?6,8=dl,10:O,7:/OH,9://O, at 8,\,/Ph`1,60,!,//O,!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%***************************************************************************
-beginfont("EN:Genistein","MW:270.24");
-  MC(<30,Ph,3=?6,9=dl,10:O,{2,6}:/OH,7://O, at 8,\,Ph,-3:/OH)
+%******************************************************************************
+beginfont("EN:Genistein","MW:270.24",
+  ": <30,Ph,3=?6,9=dl,10:O,{2,6}:/OH,7://O, at 8,\,Ph,-3:/OH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%***************************************************************************
-beginfont("EN:Baicalein","MW:270.24");
-  MC(<30,Ph,3=?6,9=dl,10:O,{1,2,6}:/OH,7://O, at 8,\,Ph)
+%******************************************************************************
+beginfont("EN:Baicalein","MW:270.24",
+  ": <30,Ph,3=?6,9=dl,10:O,{1,2,6}:/OH,7://O, at 8,\,Ph")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%***************************************************************************
-beginfont("EN:Reserpine","MW:608.688");
-  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:*/COO!>lr)
+%******************************************************************************
+beginfont("EN:Reserpine","MW:608.688",
+  ": <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:*/COO!>lr  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%***************************************************************************
-beginfont("EN:Rotenone","MW:394.423");
-  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!, at 1,*\,/_,!!)
+%******************************************************************************
+beginfont("EN:Rotenone","MW:394.423",
+  ": <-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!, at 1,*\,/_,!! ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%***************************************************************************
-beginfont("EN:Pyrethrin I","MW:328.452");
-  MC(<30,?3,{3^35~wf,3^-35~zf}:/_, at 1,*\,!!,?!,
-     @2,\*,//O,!,O,-36~zb,|,?5,-2=dl,-1:/_,-3://O, at -2,\,!4,{-1,-3}=dl)
+%******************************************************************************
+beginfont("EN:Pyrethrin I","MW:328.452",
+  ": <30,?3,{3^35~wf,3^-35~zf}:/_, at 1,*\,!!,?!,                         ",
+  ": @2,\*,//O,!,O,-36~zb,|,?5,-2=dl,-1:/_,-3://O, at -2,\,!4,{-1,-3}=dl  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont;
-%***********************************************************************
-beginfont("EN:Oseltamivir","MW:312.40")
-  MC(<30,?6,3=dl,6:*/NH2, at 1,\*,NH,!,//O,!, at 2,*\,O,!,/!,!2, at 4,\,//O,!,O,!2)
+%******************************************************************************
+beginfont("EN:Oseltamivir","MW:312.40",
+  ": <30,?6,3=dl,6:*/NH2, at 1,\*,NH,!,//O,!, at 2,*\,O,!,/!,!2, at 4,\,//O,!,O,!2")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Paclitaxel","MW:853.918")
-  MC(?6,5=dl, at 3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,
-    4:??,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:*/OCO!>rl,12:/*OCO!^-15>lr)
+%******************************************************************************
+beginfont("EN:Paclitaxel","MW:853.918",
+  ": ?6,5=dl, at 3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O, ",
+  ": 4:??,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:*/OCO!>rl,12:/*OCO!^-15>lr              ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Mevastatin","MW:390.52")
-  MC(<30,?6,2=dl,4:*/H^60,-4=?6,-4=dl,9:*/_,
-     @10,*\,!,60~wb,?6,6:O,-2://O,-4:/*OH, at 5,\*,O,60,//O,!,*/_,!2)
+%******************************************************************************
+beginfont("EN:Mevastatin","MW:390.52",
+  ": <30,?6,2=dl,4:*/H^60,-4=?6,-4=dl,9:*/_,                      ",
+  ": @10,*\,!,60~wb,?6,6:O,-2://O,-4:/*OH, at 5,\*,O,60,//O,!,*/_,!2 ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Sesamine","MW:354.35")
-  MC(<54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H,{5,8}:*/'(Ph,4=?5,7:O,9:O)^-12)
+%******************************************************************************
+beginfont("EN:Sesamine","MW:354.35",
+  ": <54,?5,1=?5,{4,7}:O,{1^-54,2^54}:*/H,{5,8}:*/'(Ph,4=?5,7:O,9:O)^-12")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%**************************************************************************
-beginfont("EN:Morphine","MW:285.343")
-  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=dl,6:/OH,8^180:*/H,12:/*OH)
+%******************************************************************************
+beginfont("EN:Morphine","MW:285.343",
+  ": <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=dl,6:/OH,8^180:*/H,12:/*OH              ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Quinine","MW:324.424")
-  MC(<30,Ph,3=Ph,7:N,6:/O!,
-    @10,\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60, at 4,*\,!!, at 2,165~zf,60,&5~zb)
+%******************************************************************************
+beginfont("EN:Quinine","MW:324.424",
+  ": <30,Ph,3=Ph,7:N,6:/O!,                                               ",
+  ": @10,\,*/OH,/H~zf^-60,!,|,?6,2:N,1:*/H^60, at 4,*\,!!, at 2,165~zf,60,&5~zb ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Atoropin","MW:289.375")
-  MC(<30,O,!,//O,!,!,Ph,
-     @.$1,\~zb^-60,|,?7`1.1, at 6,*\^190`1.25,N!,&3~wb,$3:/!OH~wv)
+%******************************************************************************
+beginfont("EN:Atoropin","MW:289.375",
+  ": <30,O,!,//O,!,!,Ph,                                       ",
+  ": @.$1,\~zb^-60,|,?7`1.1, at 6,*\^190`1.25,N!,&3~wb,$3:/!OH~wv ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Colchicine","MW:399.443")
-  MC(<30,Ph,{1,2,6}:/O!,-4=?7,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,9:/NHCO!)
+%******************************************************************************
+beginfont("EN:Colchicine","MW:399.443",
+  ": <30,Ph,{1,2,6}:/O!,-4=?7,-5=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,9:/NHCO!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Lycorine","MW:287.315")
-  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)
+%******************************************************************************
+beginfont("EN:Lycorine","MW:287.315",
+  ": <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                        ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Ibotenic acid","MW:158.113")
-  MC(<18,?5,4=dl,3:O,2:NH,1://O, at 4,-24,/NH2,!,COOH)
+%******************************************************************************
+beginfont("EN:Ibotenic acid","MW:158.113",
+  ": <18,?5,4=dl,3:O,2:NH,1://O, at 4,-24,/NH2,!,COOH")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:illudin S","MW:264.3")
-  MC(<30,?6,3=?5,6:**?3,{4,7}=dl,2://O,5:/_,
-     {1^35,8^35}:*/_,1:/*OH^-35,9:*/OH,8:/*!OH^-35)
+%******************************************************************************
+beginfont("EN:illudin S","MW:264.3",
+  ": <30,?6,3=?5,6:**?3,{4,7}=dl,2://O,5:/_,        ",
+  ": {1^35,8^35}:*/_,1:/*OH^-35,9:*/OH,8:/*!OH^-35  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Muscarine","MW:174.26")
-  MC(<18,?5,2:O,1:*/_,5:/*OH, at 3,*\,48,N,??,p_^180,!)
+%******************************************************************************
+beginfont("EN:Muscarine","MW:174.26",
+  ": <18,?5,2:O,1:*/_,5:/*OH, at 3,*\,48,N,??,p_^180,!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Psilocybin","MW:284.248")
-  MC(<30,Ph,3=?5,8=dl,9:NH, at 2,\,O,-60,P,//O^-45,/OH^45,90,OH,
-     @7,\,!,-60,N?!)
+%******************************************************************************
+beginfont("EN:Psilocybin","MW:284.248",
+  ": <30,Ph,3=?5,8=dl,9:NH, at 2,\,O,-60,P,//O^-45,/OH^45,90,OH, at 7,\,!,-60,N?!")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Tetrodotoxine","MW:319.27")
-  MC(#1,<60,-90,60,-30`1.15,150,60,&1, at 3,-135,60,-30`1.15,150,&4,
-     @10,\,O,60`1.33,60,&($3)~si_, at 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)
+%******************************************************************************
+beginfont("EN:Tetrodotoxine","MW:319.27",
+  ": #1,<60,-90,60,-30`1.15,150,60,&1, at 3,-135,60,-30`1.15,150,&4, ",
+  ": @10,\,O,60`1.33,60,&($3)~si_, at 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                 ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
-beginfont("EN:Aflatoxin B1","MW:312.27")
-  MC(<30,Ph,6=?6,-2=?5,4=?5,-2=?5,{-2,10}=dl,{7,14,17}:O,
-     2:/O!,{8,11}://O,{15^-54,16^54}:*/H)
+%******************************************************************************
+beginfont("EN:Aflatoxin B1","MW:312.27",
+  ": <30,Ph,6=?6,-2=?5,4=?5,-2=?5,{-2,10}=dl,{7,14,17}:O, ",
+  ": 2:/O!,{8,11}://O,{15^-54,16^54}:*/H                  ")
+  if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
-%***************************************************************************
+%******************************************************************************
 bye

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

Modified: branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2021-03-01 22:56:43 UTC (rev 58032)
+++ branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex	2021-03-01 22:57:01 UTC (rev 58033)
@@ -1,11 +1,11 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2020.09.22
+% Example of MCF typeset by LaTeX   mcf_examples.tex   by A.Yamaji  2021.02.28
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 \usepackage{graphicx}
 %---------------------
 \usepackage{mcf_setup}
-%%%%\pdfpkresolution=1200
+\pdfpkresolution=1200
 %---------------------
 \pagestyle{empty}
 \topmargin=-24mm

Modified: branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2021-03-01 22:56:43 UTC (rev 58032)
+++ branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf	2021-03-01 22:57:01 UTC (rev 58033)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2021.02.21
+% Molecular Coding Format file for mcf_manual.tex  by Akira.Yamaji 2021.02.28
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 input mcf2graph.mf;   %% it must be version 4.578
 message "mcf_man_soc 2021.02.21"; message "";
@@ -552,6 +552,21 @@
   MC(<30,!8,{2,6}:/'(!,/_,!,OH))
 endfont
 %***********************************************************************
+beginfont("EN:Move position")
+  fsize:=(60mm,12mm);
+  fmargin:=(2mm,1mm);
+  sw_trimming:=1;
+  MC(<30,?6, at 3,\,!3,//O,!,O,n_^60,@(6,1),H,p_^15)
+  add(drawdot A1 withpen pencircle scaled 2bp;
+      pickup pencircle scaled 0.1bp;
+      for i=0 upto 6:
+        draw (A1+(l*i,l-2bp))--(l*i,l+2bp);
+      endfor
+      draw A1--(A1+(0,1l))--A1+(6l,1l);
+      draw (A1+(0,1l))--(A1+(-2bp,1l));
+  )
+endfont
+%***********************************************************************
 beginfont("EN:mangle")
   fsize:=(50mm,15mm);
   blength:=6mm;
@@ -986,19 +1001,21 @@
 endfont
 %***********************************************************************
 beginfont("EN:Pyridine",":<30,Ph,2:N")
+  sw_trimming:=0;
   fsize:=(12mm,12mm);
   if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
 %-----------------------------------------------------------------------
 beginfont("EN:Pyridine",":<30,Ph,2):N")
+  sw_trimming:=0;
   fsize:=(12mm,12mm);
   if check_mc(mc)=0: MC(scantokens(mc)) fi
 endfont
 %***********************************************************************
 beginfont("EN:add() 1")
- fsize:=(70mm,43mm);
+ fsize:=(70mm,40mm);
  sw_aframe:=sw_mframe:=1;
- max_blength:=12mm;
+ max_blength:=10mm;
  msize:=(.91,.9);
  MCat(.5,.85)(<30,?6,{2,5}:O)
  add(
@@ -1014,13 +1031,15 @@
   dotlabel.ulft("A6",A6);
   drawarrow A1{A1down}..A6;
   dotlabel.urt( "B3e",B3e);
-  label.rt("An="&decimal(An)&" / "&
-    "Bn="&decimal(Bn),p0+(-w,-1.5em));
-  label.rt("aw="&decimal(aw),p0+(w,-1.5em));
-  label.rt("em="&decimal(em),p0+(0,-1.5em));
-  label.rt("w="&decimal(w),p0+(-w,-3em));
-  label.rt("h="&decimal(h),p0+(0,-3em));
-  label.rt("l="&decimal(l),p0+(w,-3em));
+  label.rt( "An="&decimal(An)&
+           "  Bn="&decimal(Bn)&
+           "  aw="&decimal(aw)&
+           "  em="&decimal(em),
+           p0+(-9em,-1.5em));
+  label.rt( "w="&decimal(w)&
+           "  h="&decimal(h)&
+           "  l="&decimal(l),
+           p0+(-9em,-3em));
  )
 endfont
 %***********************************************************************
@@ -1200,9 +1219,9 @@
   label.urt("sw_fframe = "&decimal(sw_fframe),(0.01w,0.24h));
   label.urt("sw_aframe = "&decimal(sw_aframe),(0.01w,0.21h));
   label.urt("sw_trimming = "&decimal(sw_trimming),(0.01w,0.18h));
-  label.urt("mc1 ="&mc1,(0.01w,0.12h));
-  label.urt("mc2 ="&mc2,(0.01w,0.09h));
-  label.urt("mc3 ="&mc3,(0.01w,0.06h));
+  label.urt("mc1= "&mc1,(0.01w,0.12h));
+  label.urt("mc2= "&mc2,(0.01w,0.09h));
+  label.urt("mc3= "&mc3,(0.01w,0.06h));
 )
 %***************************************************************************
 beginfont("EN:Ampicillin","MW:349.405",

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

Modified: branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2021-03-01 22:56:43 UTC (rev 58032)
+++ branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex	2021-03-01 22:57:01 UTC (rev 58033)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  Molecular Coding Format manual                by  Akira Yamaji 2021.02.21
+%  Molecular Coding Format manual                by  Akira Yamaji 2021.02.28
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \documentclass[a4paper]{article}
 \usepackage[pdftex]{graphicx}
@@ -655,12 +655,21 @@
 %-----------------------------------------------------------------------------
 \subsubsection{Parts inline definition}
 \begin{verbatim}
-   <30,!, /'(!,/_,!,OH),
-       !4,/'(!,/_,!,OH),!3
+   <30,!, /'(!,/_,!,OH),!
 
    <30,!8,{2,6}:/'(!,/_,!,OH)
 \end{verbatim}
 \MCFgraph
+%-----------------------------------------------------------------------------
+\subsubsection{Move position}
+\index{"@()}%
+\begin{verbatim}
+  @(x,y) : Move to (l*x,l*y) from origin
+           ** l=bond length of ring
+
+  <30,?6, at 3,!4,//O,!,O,n_^60,@(6,1),H,p_^15
+\end{verbatim}
+\MCFgraph
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newpage
 \section{Option parameter}
@@ -1019,27 +1028,6 @@
 \end{verbatim}
 \MCFgraph
 %-----------------------------------------------------------------------------
-\subsubsection{Remove indent}
-\index{sw\_indent\_off}%
-\begin{verbatim}
-  ** default  sw_indent_off=0
-  beginfont(": Ph         ",
-            ":  ,{1,4}:N  ",
-            ":  ,{2,3}:/_ ")
-  endfont
-
-    mc1=" Ph"
-    mc2="  ,{1,4}:N"
-    mc3="  ,{2,3}:/_"
-
-  sw_indent_off=1
-    mc1="Ph"
-    mc2=",{1,4}:N"
-    mc3=",{2,3}:/_"
-
-  mc="Ph,{1,4}:N,{2,3}:/_" ** 0 or 1
-\end{verbatim}
-%-----------------------------------------------------------------------------
 \newpage
 %-----------------------------------------------------------------------------
 \subsection{Parameter setting}
@@ -1236,12 +1224,11 @@
  a /* b : point b of a
 
 beginfont("EN:add() 1")
- fsize:=(75mm,45mm);
+ fsize:=(70mm,40mm);
  sw_aframe:=sw_mframe:=1;
- max_blength:=12mm;
- msize:=(.91,.85);
- MCat(.5,.8)(<30,?6,{2,5}:O)
- %-------------------------------------
+ max_blength:=10mm;
+ msize:=(.91,.9);
+ MCat(.5,.85)(<30,?6,{2,5}:O)
  add(
   defaultscale:=.8;
   labeloffset:=.3aw;
@@ -1248,20 +1235,22 @@
   dotlabel.lft("p0",p0);
   dotlabel.rt( "p0+(w,h)",p0+(w,h));
   dotlabel.ulft("A1",A1);
-  drawarrow A1..A1+(l,0)<<A1ang;
+  drawarrow A1..A1+__*l<<A1ang;
   dotlabel.lrt( "B3s",B3s);
   dotlabel.rt("B3m",B3m);
-  drawarrow B3m..B3m+(l,0)<<(B3ang+90);
+  drawarrow B3m..B3m+__*l<<(B3ang+90);
   dotlabel.ulft("A6",A6);
   drawarrow A1{A1down}..A6;
   dotlabel.urt( "B3e",B3e);
-  label.rt("An="&decimal(An)&" / "&
-    "Bn="&decimal(Bn),p0+(-w,-1.5em));
-  label.rt("aw="&decimal(aw),p0+(w,-1.5em));
-  label.rt("em="&decimal(em),p0+(0,-1.5em));
-  label.rt("w="&decimal(w),p0+(-w,-3em));
-  label.rt("h="&decimal(h),p0+(0,-3em));
-  label.rt("l="&decimal(l),p0+(w,-3em));
+  label.rt(  "An="&decimal(An)&
+           "  Bn="&decimal(Bn)&
+           "  aw="&decimal(aw)&
+           "  em="&decimal(em),
+           p0+(-9em,-1.5em));
+  label.rt(  "w="&decimal(w)&
+           "  h="&decimal(h)&
+           "  l="&decimal(l),
+           p0+(-9em,-3em));
  )
 endfont
 \end{verbatim}
@@ -1552,7 +1541,7 @@
   ": {4,12}:*/_^60,                     ",              > mc3
   ": @-1,18,/*_,-60,!3,?!               ")              > mc4
   %----------------------------------------             >
-  if check_mc(mc)=0: MC(scantokens(mc)) fi              > mc=mc1&mc2&mc3
+  if check_mc(mc)=0: MC(scantokens(mc)) fi              > mc=mc1 - mc4
 endfont                                                 > end font
 %------------------------------------------------------------------------
 beginfont("EN:Limonin",                                 > information
@@ -1674,28 +1663,32 @@
 \end{verbatim}
 \paragraph{(Output)}
 \begin{verbatim}
-------------------------------------------------------------------
- Molecular name = Nicotine
- Warnings =   0 / Command count= 44
- Width * Height =   49.57332 *   41.37605
- Shift width * height  =          0 *   -9.07253
+===========================================================================
+ No.   1 / Name = Adenine
+---------------------------------------------------------------------------
+ <30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH
+---------------------------------------------------------------------------
+ mc length=  46 / mc low=  1
+---------------------------------------------------------------------------
+ Warnings =   0 / Command count= 65
+ Width * Height =   44.41766 *   44.96748
+ Shift width * height  =   -2.69456 *  -12.02556
  Bond length = 12.75589   Atom size   = 5.38914
- Atom count= 12 Bond count= 13 Ring count=  2 Hide H count= 14
-------------------------------------------------------------------
+ Atom count= 11 Bond count= 12 Ring count=  2 Hide H count=  2
+---------------------------------------------------------------------------
 < NO. ><atom(s) >(  x axis   ,   y axis   )<bond><hideH><chg>
  A1     C        (         0 ,          0 )    3     1
  A2     N        (     0.866 ,       -0.5 )    3        
- A3     C        (     1.732 ,          0 )    3     1
+ A3     C        (     1.732 ,          0 )    4        
  A4     C        (     1.732 ,          1 )    4        
- A5     C        (     0.866 ,        1.5 )    3     1
- A6     C        (         0 ,          1 )    3     1
- A7     C        (     2.304 ,       1.33 )    3     1
- A8     N        (     3.217 ,      0.923 )    3        
- A9     C        (     3.886 ,      1.666 )    2     2
- A10    C        (     3.386 ,      2.532 )    2     2
- A11    C        (     2.408 ,      2.325 )    2     2
- A12    C        (     3.399 ,      0.067 )    1     3
-------------------------------------------------------------------
+ A5     C        (     0.866 ,        1.5 )    4        
+ A6     N        (         0 ,          1 )    3        
+ A7     N        (     2.683 ,     -0.309 )    3        
+ A8     C        (     3.271 ,        0.5 )    3     1
+ A9     N        (     2.683 ,      1.309 )    3        
+ A10    NH2      (     0.866 ,      2.371 )    1        
+ A11    H        (     2.683 ,     -0.732 )    1        
+---------------------------------------------------------------------------
 < NO. ><  bond   (sdt)><angle +(  +-  )><length (   pt   )>
  B1     1 ->   2 (  2)     330 (   -30)       1 (   12.76)
  B2     2 ->   3 (  1)      30 (    30)       1 (   12.76)
@@ -1703,23 +1696,22 @@
  B4     4 ->   5 (  1)     150 (   150)       1 (   12.76)
  B5     5 ->   6 (  2)     210 (  -150)       1 (   12.76)
  B6     6 ->   1 (  1)     270 (   -90)       1 (   12.76)
- B7     4 ->   7 (  1)      30 (    30)    0.66 (    8.42)
- B8     7 ->   8 (  1)     336 (   -24)       1 (   12.76)
- B9     8 ->   9 (  1)      48 (    48)       1 (   12.76)
- B10    9 ->  10 (  1)     120 (   120)       1 (   12.76)
- B11   10 ->  11 (  1)     192 (  -168)       1 (   12.76)
- B12   11 ->   7 (  1)     264 (   -96)       1 (   12.76)
- B13    8 ->  12 (  1)     282 (   -78)    0.66 (    8.42)
-------------------------------------------------------------------
+ B7     3 ->   7 (  1)     342 (   -18)       1 (   12.76)
+ B8     7 ->   8 (  1)      54 (    54)       1 (   12.76)
+ B9     8 ->   9 (  2)     126 (   126)       1 (   12.76)
+ B10    9 ->   4 (  1)     198 (  -162)    0.66 (    8.42)
+ B11    5 ->  10 (  1)      90 (    90)    0.66 (    8.42)
+ B12    7 ->  11 (  1)     270 (   -90)    0.36 (    4.59)
+---------------------------------------------------------------------------
 <atom>( atom wt )[ mi wt   ]  < cnt > < sum wt   >[ sum mi wt  ]
- C    (  12.0107)[       12] *   10      120.10696[         120]
- H    (  1.00793)[  1.00783] *   14       14.11108[    14.10959]
- N    (  14.0067)[ 14.00307] *    2        28.0134[    28.00613]
- Molecular Weight [Mono Isotopic] =       162.2314[   162.11572]
-------------------------------------------------------------------
- Weight  Calc: 162.2314 / Input: 162.23 / weight gap= 0.00145
- Fomula  Calc: C10H14N2 / Input: 
-==================================================================
+ C    (  12.0107)[       12] *    5       60.05348[          60]
+ H    (  1.00793)[  1.00783] *    5        5.03967[     5.03914]
+ N    (  14.0067)[ 14.00307] *    5        70.0335[    70.01534]
+ Molecular Weight [Mono Isotopic] =       135.1266[   135.05447]
+---------------------------------------------------------------------------
+ Weight  Calc: 135.1266 / Input: 135.13 / weight gap= -0.00336
+ Fomula  Calc: C5H5N5 / Input: 
+===========================================================================
 \end{verbatim}%
 \newpage
 %------------------------------------------------------------------------
@@ -1867,15 +1859,15 @@
 %--------------------------------------------------------------------
 \begin{document}
 \unitlength=1mm%
-\INFO{F:mcf_man_soc,C:141,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:142,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
+\INFO{F:mcf_man_soc,C:142,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:143,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
 \end{document}
 %--------------------------------------------------------------------
 \end{verbatim}%
 %############################################################################
 %------------------------------------------------------------------------
-\INFO{F:mcf_man_soc,C:141,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:142,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
+\INFO{F:mcf_man_soc,C:142,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:143,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
 %------------------------------------------------------------------------
 \texttt{\printindex}
 %------------------------------------------------------------------------

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

Modified: branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
===================================================================
--- branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2021-03-01 22:56:43 UTC (rev 58032)
+++ branches/branch2020.0/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex	2021-03-01 22:57:01 UTC (rev 58033)
@@ -1,7 +1,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2021.02.21
+% Example of  MCF typest with LuaLaTeX(luamplib)     by A.Yamaji    2021.02.28
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf must be version 4.58
+%%% mcf2graph.mf must be version 4.59
 \documentclass{article}
 %------------------------------------------------------------------------------
 \usepackage{luamplib}%

Modified: branches/branch2020.0/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
===================================================================
--- branches/branch2020.0/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2021-03-01 22:56:43 UTC (rev 58032)
+++ branches/branch2020.0/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf	2021-03-01 22:57:01 UTC (rev 58033)
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.58     Copyright (c) 2013-2021   Akira Yamaji
+% mcf2graph ver 4.59     Copyright (c) 2013-2021   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,
@@ -37,7 +37,7 @@
 % Set to use plain.mp (label,arrow,atom)     : mpost -s labeloffset=2  FILENAME
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 tracingstats:=1;
-message "* This is mcf2graph ver 4.58  2021.02.21";
+message "* This is mcf2graph ver 4.59  2021.02.28";
 %-------------------------------------------------------------------------------------------------
 newinternal cntA,cntB,cntM,minX,minY,maxX,maxY,sftX,sftY,com,par,envT,envB,lenT,lineT,angT,rotT,
             crR,nA,nB,nC,nD,nE,nF,nS,nL,nR,nU,nP,xpos,ypos,markA,markB,saveA,saveB,bondL;
@@ -44,17 +44,17 @@
 numeric save_num[],comD[][],parD[][],adrD[][],cntD[],tbl_atom[],tbl_group[][],f_char[],
         tbl_atom_wt[],tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],addA[],add_rot[],chargeA[],
         com_group[][],par_group[][],cnt_group[],colorA[],colorB[],sumA[],bondC[],hideH[],
-        lineB[],sB[],eB[],angB[],angA[],lenB[],angX[],numS[],wdM[],htM[],wdA[],dxA[];
-string  info[],mc[],save_str[],tbl_atom_str[],strD[],tag[],out_file_name,out_file_aux,
+        lineB[],sB[],eB[],angB[],angA[],lenB[],angX[],numS[],wdM[],htM[],wdA[],dxA[],mc_indent[];
+string  save_str[],tbl_atom_str[],strD[],tag[],out_file_name,out_file_aux,
         out_file_rep,out_file_mpc,aux_delimiter,atomfont,mpfont,s_tag,s_var,cal_FM,cal_MW,cal_MI,
-        inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW,mc,blank_str;
-pair    save_pair[],posA[],posM[][],msize,mposition,fsize,fmargin,save_mposition,posBs,posBe;
+        inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW,blank_str;
+pair    save_pair[],posA[],posM[][],msize,mposition,fsize,fmargin,save_mposition,posBs,posBe,dum;
 picture mol_stru[],atom_picture,save_picture,temp_picture;
 path    arrow_path,dottedline_path,line_path,arrow_head;
 %-------------------------------------------------------------------------------------------------
 char_num:=str_cnt:=tbl_cnt:=proc_end:=mangle:=sw_calc:=sw_ext_all:=0;
 sw_numberA:=sw_numberB:=sw_aux_out:=sw_expand:=sw_fframe:=sw_mframe:=sw_aframe:=sw_trimming:=0;
-sw_rep_out:=sw_mol_out:=sw_group_off:=sw_single:=sw_arrow_emu:=sw_indent_off:=0;
+sw_rep_out:=sw_mol_out:=sw_group_off:=sw_single:=sw_arrow_emu:=0;
 numberA_start:=numberB_start:=1; numberA_end:=numberB_end:=4095;
 %-------------------------------------------------------------------------------------------------
 aux_max:=max_inf_num:=20;
@@ -61,10 +61,13 @@
 aux_delimiter:=";";
 for i=1 upto aux_max: tag[i]:=""; endfor
 blank_str:= "                             ";
+dum:=(-4091,0);
 %-------------------------------------------------------------------------------------------------
-a_paren_s:=ASCII("("); a_paren_e:=ASCII(")"); a_brace_s:=ASCII("{"); a_brace_e:=ASCII("}");
-a_bracket_s:=ASCII("["); a_bracket_e:=ASCII("]"); a_comma:=ASCII(","); a_equal:=ASCII("=");
-a_colon:=ASCII(":"); a_atmark:=ASCII("@"); a_zero:=ASCII("0"); a_nine:=ASCII("9");
+a_prn_s:=ASCII("("); a_prn_e:=ASCII(")"); a_brc_s:=ASCII("{"); a_brc_e:=ASCII("}");
+a_brk_s:=ASCII("["); a_brk_e:=ASCII("]"); a_cmm:=ASCII(","); a_equ:=ASCII("=");
+a_ast:=ASCII("*"); a_sls:=ASCII("/"); a_gtn:=ASCII("<"); a_ltn:=ASCII(">"); a_and:=ASCII("&");
+a_dol:=ASCII("$"); a_hsh:=ASCII("#"); a_hat:=ASCII("^"); a_tld:=ASCII("~"); a_bqt:=ASCII("`");
+a_cln:=ASCII(":"); a_amk:=ASCII("@"); a_zero:=ASCII("0"); a_nine:=ASCII("9");
 %--------------------------------------------------------------------------------------------------
 let DIV= /; let MUL= *; let LT= <; let GT= >; let AND= &; let :: = : ; let == = =; let ef=elseif;
 def ]]]=] ] ] enddef;
@@ -211,12 +214,12 @@
   _chg_len,_get_len,_ring_len,_tmp_len,_rot_ang,_adj_ang,_chg_env,_tmp_env,_set_colorA,_set_colorB,
   _group_si,_set_adr,_mk_bond,_set_atom,_arrange_ang,_chg_atom,_tmp_rot,_fuse,_size_atom,_numeric,
   _jump_at,_set_add,_chg_add,_nop,_mark,_moff,_term,_len_s,_len_e,_len_ss,_len_ee,
-  _group_s,_group_e,_rest,_charge,
+  _group_s,_group_e,_rest,_charge,_zero_ang,
   si,dl,dl_,dr,dr_,db,dm,dm_,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,nb,si_,wf_,wb_,zf_,zb_,wv_,bd_);
 %--------------------------------------------------------------------------------------------------
 def parameter_list=
   sw_rep_out,sw_numberA,sw_numberB,sw_mframe,sw_aux_out,sw_expand,sw_mol_out,sw_calc,
-  sw_single,sw_ext_all,sw_aframe,sw_fframe,sw_group_off,sw_trimming,sw_arrow_emu,sw_indent_off,
+  sw_single,sw_ext_all,sw_aframe,sw_fframe,sw_group_off,sw_trimming,sw_arrow_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,
   lonepairdiam,lonepairspace,blength,offset_atom,offset_wedge,max_blength,offset_zebra_gap,
@@ -258,7 +261,8 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def beginfont(text s)=
   begingroup
-  save ',f_beginchar,f_ext,blen,ext,add,ang_br,s_fw,s_bw,s_len,at_colon;
+  save ',f_beginchar,f_ext,blen,ext,add,ang_br,s_fw,s_bw,s_len,at_colon,info,mc;
+  string info[],mc[],mc;
   %------------------------------------------------------------------------------------------------
   def ext=ext_to_font enddef;
   def add=add_to_molecule enddef;
@@ -272,9 +276,8 @@
   %------------------------------------------------------------------------------------------------
   char_num:=char_num+1;
   store_par(parameter_list);
-  for i:=1 upto max_inf_num: info[i]:=":"; mc[i]:=""; endfor
-  f_ext:=inf_num:=cntM:=mc_low:=0;
-  for list=s: inf_num:=inf_num+1; info[inf_num]:=list; endfor
+  f_ext:=cntM:=mc_low:=inf_num:=0;
+  for list=s: inf_num:=inf_num+1; info[inf_num]:=list; mc[inf_num]:=""; endfor
   %------------------------------------------------------------------------------------------------
   for j=1 upto inf_num:
     at_colon:=0;
@@ -284,13 +287,9 @@
       s_fw:=0; for k=2 upto s_len:   if subc(k,info[j])<>" ": s_fw:=k; fi exitif s_fw>0; endfor
       s_bw:=0; for k=s_len downto 2: if subc(k,info[j])<>" ": s_bw:=k; fi exitif s_bw>0; endfor
       mc_low:=mc_low+1;
-      if sw_indent_off=0:
-        mc[mc_low]:=substring (2,s_len) of info[j];
-        mc:=mc&substring (s_fw-1,s_bw) of info[j];
-      else:
-        mc[mc_low]:=substring (s_fw-1,s_len) of info[j];
-        mc:=mc&mc[mc_low];
-      fi
+      mc_indent[mc_low]:=s_fw-2;
+      mc[mc_low]:=substring (s_fw-1,s_bw) of info[j];
+      mc:=mc&mc[mc_low];
     ef at_colon>=1:
       s_tag:=substring (0,at_colon-1)   of info[j];
       s_var:=substring (at_colon,s_len) of info[j];
@@ -339,7 +338,7 @@
     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;
     fi
-    draw (0,h)--(0,0)--(w,0)--(w,h)--(0,h)--(w,0) wpcs 0.2bp;
+    draw (0,h)--(0,0)--(w,0)--(w,h)--(0,h)--(w,0) wpcs thickness_fframe;
   fi
   %-----------------------------------------------------------------------------------------
   endchar;
@@ -354,7 +353,7 @@
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 def set_def_MC=
-  save /,//,/*,*/,**,*/*,~,^,',`,<,>,&,:,=,\,\\,*\,\*,*\*,@,$,&,#,##,{,},|,||,_,inside_def_MC;
+  save /,//,/*,*/,**,*/*,~,^,',`,<,>,&,:,=,\,\\,*\,\*,*\*,@,@@,$,&,#,##,{,},|,||,_,inside_def_MC;
   inside_def_MC:=1;
   pair |,||,##;
   | :=(_com,_mark); || := (_com,_moff); ##:=(_com,_len_e);
@@ -369,7 +368,8 @@
 %-------------------------------------------------------------------------------------------------
 vardef '(text TXT)= parts_cnt:=parts_cnt+1; read_mcf(parts_cnt)(TXT); parts_cnt enddef;
 vardef read_id(text TXT)=read_mcf(incr parts_cnt)(|,#crR,TXT,##,(_com,_rest)); parts_cnt enddef;
-vardef read_ud(text TXT)=read_mcf(incr parts_cnt)(|,TXT,(_com,_rest)); parts_cnt enddef;
+vardef read_ud(text TXT)=read_mcf(incr parts_cnt)(dum,dum,|,TXT,(_com,_rest)); parts_cnt enddef;
+vardef abs_adress primary n == n-4095 enddef;
 tertiarydef a op_equ b = if (known a)and(known b):: change_bond(a,b) else:: _nop fi enddef; 
 tertiarydef a op_col b = if (known a)and(known b):: change_atom(a,b) else:: _nop fi enddef;
 tertiarydef a op_hat b = if known b:: (_tmp_rot,b),a  else:: _nop,a fi enddef;
@@ -376,14 +376,17 @@
 tertiarydef a op_til b = if known b:: (_tmp_line,b),a else:: _nop,a fi enddef;
 tertiarydef a op_lt  b = if known b:: (_tmp_env,b),a  else:: _nop,a fi enddef;
 tertiarydef a op_bq  b = if known b:: (_tmp_len,b),a  else:: _nop,a fi enddef;
-def rot_angle primary n = (_rot_ang,n) enddef; def jump_atom primary n = (_jp_atom,n) enddef;
+def rot_angle primary n = (_rot_ang,n) enddef;
 def cyc_atom  primary n = (_cyc,n) enddef;
-def chg_length  primary n = (_com,_len_s),(_chg_len,n) enddef;
+def jump_atom primary a =
+  if numeric  a:: (_jp_atom,a)
+  elseif pair a:: (_jp_atom,$1),(_com,_zero_ang),angle(a)~0`length(a),(_com,_zero_ang) fi
+enddef;
+def chg_length primary n = (_com,_len_s),(_chg_len,n) enddef;
 def group_si secondary n == if known n:: (_group_si,n) else:: _nop fi enddef;
 def group_dm secondary n == /n~dm enddef;  def group_wf secondary n == /n~wf enddef;
 def group_zf secondary n == /n~zf enddef;  def group_wv secondary n == /n~wv enddef;
 def group_nb secondary n == /n~nb enddef;
-vardef abs_adress primary n == n-4095 enddef;
 %-------------------------------------------------------------------------------------------------
 def CP = com_par enddef; def CPe = com_par_ex(0) enddef; def CPx = com_par_ex(1) enddef;
 %=================================================================================================
@@ -1048,6 +1051,7 @@
   ef com=_com: if par=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
                ef par=_rest: markA:=saveA; markB:=saveB;
                ef par=_moff: markA:=markB:=0; ef par=_term: termB;
+               ef par=_zero_ang: angT:=0;
                ef par=_group_e: lineT:=si; lenT:=crR; rotT:=envT:=0; fi
   ef com=_jp_bond: termB; nA:=getB(par);   posBs:=posA[sB[nA]]; angT:=angB[nA]; f_bra:=1; rotT:=0;
   ef com=_jp_atom: termB; adrT:=getA(par); posBs:=posA[adrT]; angT:=angX[adrT]; f_bra:=1; rotT:=0;
@@ -1091,7 +1095,7 @@
 vardef arrange_ang(expr n)=
   if cntB=0: angT:=(angT-180) mod 360; 180
   else:
-    if    envB>=parts_emb_start: parD[envB][cntB-temp_cntB+2]
+    if    envB>=parts_emb_start: parD[envB][cntB-temp_cntB+3]
     else: if envB=hz: if n=0:  60 ef n<=90: -60 ef n<=180:  60 ef n<270: -60 else:  60 fi
           ef envB=vt: if n=0: -60 ef n<90:   60 ef n<=180: -60 ef n<=270: 60 else: -60 fi
           ef abs(envB)<=180: envB fi
@@ -1570,8 +1574,17 @@
 def proc_report_out=
   message "["&decimal(char_num)&"]:"&inf_EN;
   out_file_name:=out_file_rep;
-  printf "------------------------------------------------------------------";
-  printf " Molecular name = "& inf_EN;
+  printf "===========================================================================";
+  printf " No."&fdr(4)(char_num)&" / Name = "& inf_EN;
+  if mc_low>=1:
+    printf "---------------------------------------------------------------------------";
+    for i=1 upto mc_low: 
+      printf (substring(0,mc_indent[i]) of blank_str)&mc[i];
+    endfor
+  printf "---------------------------------------------------------------------------";
+  printf " mc length="&fdr(4)(length(mc))&" / mc low="&fdr(3)(mc_low);
+  fi
+  printf "---------------------------------------------------------------------------";
   printf " Warnings = "&fdr(3)(warning_cnt)&" / Command count= "&decimal(cntD[0]);
   printf " Width * Height = " & fdr(10)(mol_wd)&" * "&fdr(10)(mol_ht);
   printf " Shift width * height  = "& fdr(10)(minX)&" * "&fdr(10)(minY);
@@ -1578,7 +1591,7 @@
   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)(hideH_cnt);
-  printf "------------------------------------------------------------------";
+  printf "---------------------------------------------------------------------------";
   printf "< NO. ><atom(s) >(  x axis   ,   y axis   )<bond><hideH><chg>";
   for i=1 upto cntA:
     printf " A"&fdl(6)(i)&fsl(8)(erase_brace(strD[numS[i]]))&
@@ -1587,18 +1600,16 @@
             iif(hideH[i]>0,fdr(6)(hideH[i]),"        ")
             if chargeA[i]<>0: &fdr(4)(chargeA[i]) fi;
   endfor
-  printf "------------------------------------------------------------------";
+  printf "---------------------------------------------------------------------------";
   printf "< NO. ><  bond   (sdt)><angle +(  +-  )><length (   pt   )>";
   for i=1 upto cntB:
     nC:=lenB[i]; if nC=_size_atom: nC:=ratio_atom_bond; elseif nC<0: nC:=-nC; fi
-    if lineB[i]<>0:
       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])&")"&fdr(8)(round_auto(angB[i]))&
               " ("&fdr(6)(round_auto(nB))&")"&fdr(8)(nC)&" ("&fdr(8)(round_auto(nC*blen))&")";
-    fi
   endfor
-  printf "------------------------------------------------------------------";
+  printf "---------------------------------------------------------------------------";
   printf "<atom>( atom wt )[ mi wt   ]  < cnt > < sum wt   >[ sum mi wt  ]";
   for i=1 upto tbl_atom_max:
     if sumA[i]>=1:
@@ -1612,12 +1623,12 @@
      fi
   endfor
   printf " Molecular Weight [Mono Isotopic] =   "&fsr(12)(cal_MW)&"["&fsr(12)(cal_MI)&"]";
-  printf "------------------------------------------------------------------";
+  printf "---------------------------------------------------------------------------";
   printf " Weight  Calc: " &cal_MW &" / Input: "
     if inf_MW<>"-": &inf_MW &" / weight gap= " &decimal(num_MW-scantokens(inf_MW)) fi;
   printf " Fomula  Calc: "&cal_FM&" / Input: "
     if inf_FM<>"-": &inf_FM&" / "& iif(inf_FM=cal_FM,"MACTCH","NOT MACTCH") fi;
-  printf "==================================================================";
+  printf "===========================================================================";
 enddef;
 %=================================================================================================
 def proc_mol_out=
@@ -1761,7 +1772,8 @@
 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);
 %-------------------------------------------------------------------------------------------------
-lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60,lr);
+lr:='(0,0,0,60  for i==1 upto 10:: ,-60,60 endfor);
+rl:='(0,0,0,-60 for i==1 upto 10:: ,60,-60 endfor);
 for i=4,5,6:   for j=2  upto i-2: ?[i][j]:='((_fuse,i),(j,0)); endfor endfor
 for i=5,6,7,8: for j=11 upto 15:  ?[i][j]:='((_fuse,i),(j,0)); endfor endfor
 %-------------------------------------------------------------------------------------------------
@@ -1784,26 +1796,86 @@
   !SH:='(!,SH); !NO2:='(!,NO2);
 enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-vardef check_mc(expr s)=   %%%%% prototype version %%%%%%
+vardef check_mc(expr s)=
   save mc_char,mc_char,temp_c,err_cnt,char_cnt;
-  string temp_c;
-  numeric mc_char[];
-  err_cnt:=char_cnt:=nA:=nB:=nC:=nD:=nE:=nF:=0;
+  string temp_c,err_str[],err_type[];
+  numeric mc_char[],err_adr[],err_code[];
+  err_cnt:=char_cnt:=code_cnt:=0;
+  err_type[1]:=" '(' > ')' ";
+  err_type[2]:=" '(' < ')' ";
+  err_type[3]:=" '{' > '}' ";
+  err_type[4]:=" '{' < '}' ";
+  err_type[5]:=" '[' > ']' ";
+  err_type[6]:=" '[' < ']' ";
+  err_type[7]:="missing arg";
+  err_type[8]:="extra arg  ";
   %-----------------------------------------------------------------------------------------------
   for i=1 upto length(s):
     temp_c:=subc(i,s); if temp_c<>" ": char_cnt:=char_cnt+1; mc_char[char_cnt]:=ASCII(temp_c); fi
   endfor
+  mc_char[0]:=mc_char[char_cnt+1]:=mc_char[char_cnt+2]:=a_cmm;
+  %-- argument missing chkeck --------------------------------------------------------------------
+  nA:=1;
+  forever:
+    nB:=mc_char[nA-1]; nC:=mc_char[nA]; nD:=mc_char[nA+1]; nE:=mc_char[nA+2]; nF:=mc_char[nA+3];
+    %---------------------------------------------------------------------------------------------
+    if  nC=a_cmm:
+    ef (nC=a_ast)and(nD=a_sls)and(nE=a_ast)and(nF=a_cmm): proc_error(7,nA) nA:=nA+3; % */* x
+    ef (nC=a_sls)and(nD=a_sls)and(nE=a_cmm):  proc_error(7,nA) nA:=nA+2; %  // x
+    ef (nC=a_sls)and(nD=a_ast)and(nE=a_cmm):  proc_error(7,nA) nA:=nA+2; %  /* x
+    ef (nC=a_ast)and(nD=a_sls)and(nE=a_cmm):  proc_error(7,nA) nA:=nA+2; %  */ x
+    ef (nC=a_ast)and(nD=a_ast)and(nE=a_cmm):  proc_error(7,nA) nA:=nA+2; %  ** x
+    ef (nC=a_hsh)and(nD=a_hsh):                                nA:=nA+2; %  ##
+    ef (nC=a_sls)and(nD=a_cmm): proc_error(7,nA)      %  / x
+    ef (nC=a_dol)and(nD=a_cmm): proc_error(7,nA)      %  $ x
+    %--------------------------------------------------------------------------------------------
+    ef nC=a_equ: if nD= a_cmm:  proc_error(7,nA) fi   %  = x
+                 if nB= a_cmm:  proc_error(7,nA) fi   %  x =
+    ef nC=a_cln: if nD= a_cmm:  proc_error(7,nA) fi   %  : x
+                 if nB= a_cmm:  proc_error(7,nA) fi   %  x :
+    ef nC=a_amk: if nD= a_cmm:  proc_error(7,nA) fi   %  @ x
+                 if nB<>a_cmm:  proc_error(8,nA) fi   %  a @
+    ef nC=a_hsh: if nD= a_cmm:  proc_error(7,nA) fi   %  # x
+                 if nB<>a_cmm:  proc_error(8,nA) fi   %  a #
+    ef nC=a_and: if nD= a_cmm:  proc_error(7,nA) fi   %  & x
+                 if nB<>a_cmm:  proc_error(8,nA) fi   %  a &
+    ef nC=a_gtn: if nD= a_cmm:  proc_error(7,nA) fi   %  < x
+                 if nB<>a_cmm:  proc_error(8,nA) fi   %  a <
+    ef nC=a_ltn: if nD= a_cmm:  proc_error(7,nA) fi   %  > x
+                 if nB= a_cmm:  proc_error(7,nA) fi   %  x >
+    ef nC=a_tld: if nD= a_cmm:  proc_error(7,nA) fi   %  ~ x
+                 if nB= a_cmm:  proc_error(7,nA) fi   %  x ~
+    ef nC=a_hat: if nD= a_cmm:  proc_error(7,nA) fi   %  ^ x
+                 if nB= a_cmm:  proc_error(7,nA) fi   %  x ^
+    ef nC=a_bqt: if nD= a_cmm:  proc_error(7,nA) fi   %  ` x
+                 if nB= a_cmm:  proc_error(7,nA) fi   %  x `
+    %---------------------------------------------------------------------------------
+    fi
+    nA:=nA+1;
+    exitif nA>=char_cnt;
+  endfor
   %-- check brackets -----------------------------------------------------------------------------
+  nA:=nB:=nC:=nD:=nE:=nF:=0;
   for i=1 upto char_cnt:
-    if mc_char[i]=a_paren_s:   nA:=nA+1; ef mc_char[i]=a_paren_e:   nB:=nB+1;
-    ef mc_char[i]=a_brace_s:   nC:=nC+1; ef mc_char[i]=a_brace_e:   nD:=nD+1;
-    ef mc_char[i]=a_bracket_s: nE:=nE+1; ef mc_char[i]=a_bracket_e: nF:=nF+1;
+    if mc_char[i]=a_prn_s: nA:=nA+1; ef mc_char[i]=a_prn_e: nB:=nB+1;
+    ef mc_char[i]=a_brc_s: nC:=nC+1; ef mc_char[i]=a_brc_e: nD:=nD+1;
+    ef mc_char[i]=a_brk_s: nE:=nE+1; ef mc_char[i]=a_brk_e: nF:=nF+1;
     fi
   endfor
-  if nA<>nB: err_cnt:=err_cnt+1; fi  if nC<>nD: err_cnt:=err_cnt+1; fi
-  if nE<>nF: err_cnt:=err_cnt+1; fi
+  if nA>nB: proc_error(1,0) ef nA<nB: proc_error(2,0) fi
+  if nC>nD: proc_error(3,0) ef nC<nD: proc_error(4,0) fi
+  if nE>nF: proc_error(5,0) ef nE<nF: proc_error(6,0) fi
   %-----------------------------------------------------------------------------------------------
-  if err_cnt>=1: message "* "&decimal(err_cnt)&"fatal error"; fi
+  for i=1 upto err_cnt:
+    message "*"&fdr(3)(i)&" "&err_type[err_code[i]]&fdr(4)(err_adr[i])&" '"&err_str[i]&"'";
+  endfor
+%%%%  readstring;
   err_cnt
 enddef;
+%-------------------------------------------------------------------------------------------------
+def proc_error(expr ERR_CODE,ADR)=
+  err_cnt:=err_cnt+1; err_adr[err_cnt]:=ADR;
+  err_code[err_cnt]:=ERR_CODE;
+  if ADR=0: err_str[err_cnt]:="     "; else: err_str[err_cnt]:=substring (ADR-3,ADR+2) of mc; fi
+enddef;
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



More information about the tex-live-commits mailing list.