summaryrefslogtreecommitdiff
path: root/graphics/mcf2graph/mcf2graph.mp
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/mcf2graph/mcf2graph.mp')
-rw-r--r--graphics/mcf2graph/mcf2graph.mp32
1 files changed, 17 insertions, 15 deletions
diff --git a/graphics/mcf2graph/mcf2graph.mp b/graphics/mcf2graph/mcf2graph.mp
index dfa85f00e2..cf2eb5683f 100644
--- a/graphics/mcf2graph/mcf2graph.mp
+++ b/graphics/mcf2graph/mcf2graph.mp
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 5.01 Copyright (c) 2013-2023 Akira Yamaji
+% mcf2graph ver 5.02 Copyright (c) 2013-2023 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,
@@ -30,7 +30,7 @@
% Set output MOL file (V3000) : mpost -s ahlength=6 FILENAME
% Set output report : mpost -s ahlength=7 FILENAME
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-message "* This is mcf2graph ver 5.01 2023.05.15";
+message "* This is mcf2graph ver 5.02 2023.05.28";
tracingstats:=1; prologues:=3; warningcheck:=0;
%-------------------------------------------------------------------------------------------------
newinternal string EN_;
@@ -174,10 +174,10 @@ enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def beginfigm=
begingroup
- save ',f_ext,blen,ext,add,ang_br,fw_n,bw_n,at_colon,at_dot,info_cnt,group_cnt,bond_cntA,firstc,
- warning_cnt,hideH,hideH_cnt,cntM,cntA,cntB,minX,minY,maxX,maxY,posA,posM,lineB,sB,eB,angB,
- angA,lenB,angX,numS,sumA,bond_num,wdM,htM,chargeA,addA,add_rot,mol_pic,color_list,filter_s,
- no,mw,mi,fm;
+ save ','',//,@,#,#@,##,\,\\,\*,|=,|<,**,_,f_ext,blen,ext,add,ang_br,fw_n,bw_n,at_colon,at_dot,
+ info_cnt,group_cnt,bond_cntA,firstc,warning_cnt,hideH,hideH_cnt,cntM,cntA,cntB,
+ minX,minY,maxX,maxY,posA,posM,lineB,sB,eB,angB,angA,lenB,angX,numS,sumA,bond_num,wdM,htM,
+ chargeA,addA,add_rot,mol_pic,color_list,filter_s,no,mw,mi,fm;
numeric hideH[],lineB[],sB[],eB[],angB[],angA[],lenB[],angX[],strA[],sumA[],bond_num[],
wdM[],htM[],chargeA[],addA[],add_rot[];
pair posA[],posM[][];
@@ -189,7 +189,12 @@ def beginfigm=
no:=mc:=ex:=ad:=op:=temps:=mw:=mi:=fm:=filter_s:="";
EN:=JN:=MW:=FM:=MI:=CAS:=CAT:=EXA:=EXB:=USE:="-";
f_ext:=cntM:=mc_row:=ex_row:=ad_row:=op_row:=info_cnt:=0;
- let ext=ext_to_fig; let add=add_to_molecule; def '=read_ud enddef;
+ let ext=ext_to_fig; let add=add_to_molecule;
+ def ' = read_ud enddef; def '' = readm enddef; def \ = drawm enddef; def \\ = putm enddef;
+ def \* = checkm enddef; def $ = getm enddef; def @ expr p = mposition:=p; enddef;
+ def # expr p = fsize:=p; enddef; def #@ expr p = fmargin:=p; enddef;
+ def ## expr p = msize:=p; enddef; def |=(expr n) = blength:=n; enddef;
+ def |<(expr n) = max_blength:=n; enddef; def _ expr s = EN:=s; enddef;
parts_num:=parts_usr_start; parts_int:=parts_int_start;
fig_num:=fig_num+1;
mol_pic[0]:=nullpicture;
@@ -304,7 +309,7 @@ enddef;
%-------------------------------------------------------------------------------------------------
def putm=
if op_row>=1: scantokens(op) fi
- if mc_row>=1: if checkm(mc)=0: cv(scantokens(mc)) fi fi
+ if mc_row>=1: if checkm(mc)=0: drawm(scantokens(mc)) fi fi
if ad_row>=1: add(scantokens(ad)) fi
if ex_row>=1: ext(scantokens(ex)) fi
enddef;
@@ -340,9 +345,9 @@ def group_wv secondary n = /n~wv enddef; def group_nb secondary n = /n~nb endde
def read_mcf(expr n)(text t)=
begingroup
save nCP;
- if unknown inside_cv::
+ if unknown inside_mc::
save /,//,/*,*/,**,*/*,~,^,',`,<,>,:,=,\,\\,*\,\*,*\*,@,@$,$,&,&$,#,##,{,},|,||,_,CP,CA,
- --,---,----,inside_cv;
+ --,---,----,inside_mc;
| :=mark_adress; || :=reset_adress; ##:=reset_length; _:=Me;
\:=0; \\:=zero_dm; *\:=zero_wf; \*:=zero_zf; *\*:=zero_wv;
let = ==op_equ; let : ==op_col; let ^==op_hat; let ~==op_til; let > ==op_lth; let `==op_bqu;
@@ -352,7 +357,7 @@ def read_mcf(expr n)(text t)=
let }==); let @$==jump_atom_abs; let < ==rot_angle; let @==jump_atom; let &==cyc_atom;
let #==chg_length; let /==group_si; let //==group_dm; let */==group_wf; let /*==group_zf;
let */*==group_wv; let **==group_nb;
- inside_cv:=1;
+ inside_mc:=1;
fi
%----------------------------------------------------------------------------------------------
nCP:=0;
@@ -583,10 +588,7 @@ vardef lone_pair_add expr n=
image(draw (0,0) wpcs lonepairdiam; draw ((0,lonepairspace) rotated n) wpcs lonepairdiam;)
enddef;
%=================================================================================================
-def cvat(expr w,h)(text t)=
- save_mposition:=mposition; mposition:=(w,h); cv(t) mposition:=save_mposition; enddef;
-%-------------------------------------------------------------------------------------------------
-def cv(text t)=
+def drawm(text t)=
begingroup
save f_bra,temp_strA,temp_lenE,temp_lenF,temp_cntB,f_term,f_at,f_lineT,f_rotT,angL,lenL,cpos,
tpos,f_lenT,f_envT,factor,m_wd,m_ht,raise_pos,slen,sdir,char_wd,char_ht,tcol,f_col,knownA,