diff options
Diffstat (limited to 'graphics/mcf2graph/mcf2graph.mp')
-rw-r--r-- | graphics/mcf2graph/mcf2graph.mp | 32 |
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, |