summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-03-06 21:59:14 +0000
committerKarl Berry <karl@freefriends.org>2017-03-06 21:59:14 +0000
commit611d5ba5f27a5977d135e8a19a6490a3d4314702 (patch)
tree66581a9ab80d29052e2992b300d69e7647053d06
parentaba00871ee9f5f5ac8d46fe9d0b8e29cd8ce1e8b (diff)
mcf2graph (6mar17)
git-svn-id: svn://tug.org/texlive/trunk@43416 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG6
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/README11
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf2
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdfbin236045 -> 235843 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf81
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdfbin462957 -> 461710 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex170
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdfbin174656 -> 174202 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex19
-rw-r--r--Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf157
10 files changed, 261 insertions, 185 deletions
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
index 3b29fbf0e96..25234efce8e 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
@@ -1,6 +1,10 @@
*******************************************************************************
- Changelog of mcf2graph software package by Akira Yamaji 2017-02-13
+ Changelog of mcf2graph software package by Akira Yamaji 2017-03-06
*******************************************************************************
+[ver. 4.11 / 2017-03-06]
+ -improve function EXT(),ext()
+ -update MCF syntax manual
+
[ver. 4.10 / 2017-02-13]
-improve function EXT(),ext()
-update MCF syntax manual
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README
index 5fde3c5e34b..61b56015bb6 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/README
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/README
@@ -1,7 +1,7 @@
********************************************************************************
mcf2graph : Convert Molecular Coding Format to graphics with METAFONT/METAPOST
Author : Akira Yamaji
- version : 4.10 2017-02-13
+ version : 4.11 2017-03-06
E-mail : mcf2graph@gmail.com
Located at : http://www.ctan.org/pkg/mcf2graph
********************************************************************************
@@ -31,12 +31,13 @@
3. How to use mcf2graph with Metapost
Minimum requirement to run mcf2graph : mpost.exe,mpost.dll,mpost.mp,plain.mp
- ( 1) >mpost -s ahangle=0 FILENAME => output no graphic file.
- ( 2) >mpost -s ahangle=1 FILENAME => output PNG file. (default:eps)
- ( 3) >mpost -s ahangle=2 FILENAME => output SVG file.
+ ( 1) >mpost -s ahangle=0 FILENAME => output no graphic file
+ ( 2) >mpost -s ahangle=1 FILENAME => output PNG file (default:eps)
+ ( 3) >mpost -s ahangle=2 FILENAME => output SVG file
( 4) >mpost -s ahangle=3 FILENAME => output MDL Molfile(V2000)
( 5) >mpost -s ahlength=1 FILENAME => output first definition only (for test)
- ( 6) >mpost -s ahlength=2 FILENAME => output report.
+ ( 6) >mpost -s ahlength=2 FILENAME => output report
+ ( 7) >mpost -s ahlength=3 FILENAME => use Metapost 'label'
4. License
Permission is hereby granted, free of charge, to any person obtaining a copy
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
index c906b10a0d9..4e2c7d60b49 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2017.02.13
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf; %%% it must be version 4.10 or later
+input mcf2graph.mf; %%% it must be version 4.11 or later
%-------------------------------------------------------------------------
font_wd#:=33mm#;
font_ht#:=24mm#;
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
index 5512e3d7717..5242e4c5f86 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
index 0f8aaf33876..7cce228786d 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.02.13
+% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.03.05
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf; %% it must be version 4.10 or later
+input mcf2graph.mf; %% it must be version 4.11 or later
%------------------------------------------------------------------------
sw_auxout:=0;
sw_mol_frame:=0;
@@ -818,45 +818,60 @@ beginfont("EN:MCf() vt")
endfont
%***********************************************************************
beginfont("EN:EXT()")
- margin_left_right:=margin_top_bottom:=5mm;
- font_wd#:=70mm#;
- font_ht#:=35mm#;
- bond_len#:=8mm#;
- sw_font_frame:=3;
- MCd(1,0.8)(0.1,0.5)(<30,Ph,2:/OH,5:/OH)
- MCd(1,0.8)(0.9,0.5)(<30,?6,$(3,6)dl,@(2,5)//O)
+ margin_left_right:=margin_top_bottom:=4mm;
+ font_wd#:=60mm#;
+ font_ht#:=30mm#;
+ ratio_bond_width:=0.08;
+ defaultscale:=0.6;
+ sw_font_frame:=1;
+ sw_solid:=1;
+ MCd(1,0.8)(0.12,0.58)(<30,?6,$(3,6)dl,
+ @(2^35,2^-35)/R,5://O)
+ MCd(1,0.8)(0.88,0.48)(<30,Ph,@(2,3)/R,5:/OH)
EXT(
- draw_vector((0.7w,0.52h), 0,0.2mm,0.4w);
- draw_vector((0.3w,0.48h),180,0.2mm,0.4w);
+ defaultscale:=0.6;
+ draw_vector((0.6w,0.5h),0,0.2mm,0.25w);
+ p3:=(0.48w,0.5h);
+ label.top("H",p3);
+ label.top("+",p3+(em,0.5em));
drawdot p0 withpen pencircle scaled 3pt;
drawdot p1 withpen pencircle scaled 3pt;
drawdot p2 withpen pencircle scaled 3pt;
label.bot("p0",p0);
- label.bot("p1",p1);
- label.bot("p2",p2);
- label("Ox",(0.5w,0.6h));
- label("Red",(0.5w,0.4h));
- use_font(6pt#);
- label("Reaction example",(0.5w,0.8h));
+ label.lft("p1",p1);
+ label.ulft("p2",p2);
+ defaultscale:=0.6;
+ label.bot("Dienone-Phenol Rearrangement",(0.5w,1h));
)
endfont
%***********************************************************************
beginfont("EN:ext()")
- margin_left_right:=margin_top_bottom:=3mm;
font_wd#:=70mm#;
- font_ht#:=25mm#;
- sw_solid:=0;
- MCd(1,0.9)(0.1,0.5)(<30,Ph,3:/F,4:/Cl)
+ font_ht#:=30mm#;
+ ratio_bond_width:=0.065;
+ sw_solid:=1;
+ MCd(1,1)(0.1,0.5)(<-210,60`1,60`1,60`1,$(1,3)dl,1:/R1,4:/R2^-60)
ext(
+ defaultscale:=0.6;
+ label.bot("Diene",p0+(0.5wd,0));
+ )
+ MCd(1,1)(0.4,0.5)(<-30,-60`1,1=dl,1:/R3,2:/R4^60)
+ ext(
+ defaultscale:=0.6;
+ label.bot("Dienophile",p0+(0.5wd,0));
+ )
+ MCd(1,1)(0.9,0.5)(<30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1)
+ ext(
+ defaultscale:=0.6;
drawdot p0 withpen pencircle scaled 3pt;
- drawdot A6 withpen pencircle scaled 3pt;
- drawdot B3 withpen pencircle scaled 3pt;
label.bot("p0",p0);
- label.ulft("A6",A6);
- label.rt("B3",B3);
)
- MCd(1,0.9)(0.9,0.5)(<30,Ph,3:/F,4:/Cl)
- ext(draw p0--(p0+(wd,0))--(p0+(wd,ht));)
+ EXT(
+ draw_vector((0.6w,0.5h),0,0.2mm,0.08w);
+ defaultscale:=0.7;
+ label("+",(0.25w,0.5h));
+ label.bot("Diels-Alder Reaction",(0.5w,1h));
+ )
endfont
%***********************************************************************
beginfont("EN:Local setting 1")
@@ -911,16 +926,6 @@ beginfont("EN:Tocopherol","CAS:59-02-9","FM:C29H50O2","MW:430.71")
MCf(<30,Ph,3=?6,7:O,@(1,2,5)/_,8:/*_^60,6:/OH,8\,|,!12,@(4,8)/*_,12:/_)
endfont
%***********************************************************************
-%% Change infomation separater
-beginfont("EN:Ampicillin","CAS:69-53-4","FM:C16H19N3O4S","MW:349.40")
- font_ht#:=15mm#;
- MCf(<45,
- ?4,2:N,2=?5,-1:S,
- @(3^45,4^-45)/*H,1://O^15,5:/*COOH^-18,@(6^35,6^-35)/_,
- 4*\^75,NH,!,//O,!,/*NH2,!,Ph
- )
-endfont
-%***********************************************************************
beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65")
font_ht#:=15mm#;
MCf(
@@ -1039,3 +1044,5 @@ beginfont("EN:Paclitaxel","CAS:33069-62-4","FM:C47H51NO14","MW:853.91")
endfont
%***********************************************************************
bye
+***************************
+bye
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
index eec407f55b5..bf917b47810 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
index d9636c5d350..c6bdf96d93e 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format manual by Akira Yamaji 2017.02.13
+% Molecular Coding Format manual by Akira Yamaji 2017.03.06
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper]{article}
%%%%\usepackage{graphicx}
@@ -932,48 +932,50 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\
h: font height
wd: font width-margin_left_right*2
ht: font height-margin_top_bottom*2
- em: embedded font size
+ aw: atom font size
+ em: label font size
p0: x=margin_left_right
y=margin_top_bottom
n: molecular number
p[m]: molecular origin position
(Function for EXT(),ext())
- draw_vector(pos,angle,thickness,length):
+ draw_vector(pos,angle,thick,length):
draw vector at pos
- use_font(wd#):
- make font for 'label'
label:
- sw_label_mp=0: ** default
- use embedded font
- sw_label_mp=1:
- use original metapost 'label'
+ sw_label=0: use Metafont **default
+ sw_label=1: use Metapost label
- beginfont()
- sw_font_frame:=3;
- %----------------------------------
- MCd(1,0.8)(0.1,0.5)
- (<30,Ph,2:/OH,5:/OH)
- MCd(1,0.8)(0.9,0.5)
- (<30,?6,$(3,6)dl,@(2,5)//O)
- %----------------------------------
- EXT(
- draw_vector((0.7w,0.48h), 0,0.2mm,0.4w):
- draw_vector((0.3w,0.52h),180,0.2mm,0.4w):
- drawdot p0 withpen pencircle scaled 3pt;
- drawdot p1 withpen pencircle scaled 3pt;
- drawdot p2 withpen pencircle scaled 3pt;
- %----------------------------------
- label.bot("p0",p0);
- label.bot("p1",p1);
- label.bot("p2",p2);
- label("Ox",(0.5w,0.6h));
- label("Red",(0.5w,0.4h));
- use_font(6pt#); % **defalt 5pt#
- label("Reaction example",(0.5w,0.8h));
+beginfont()
+ margin_left_right:=margin_top_bottom:=4mm;
+ font_wd#:=60mm#;
+ font_ht#:=30mm#;
+ ratio_bond_width:=0.08;
+ sw_solid:=1;
+ sw_font_frame:=3;
+ %-----------------------------------------
+ MCd(1,0.8)(0.12,0.58)
+ (<30,?6,$(3,6)dl,@(2^35,2^-35)/R,5://O)
+ MCd(1,0.8)(0.88,0.48)
+ (<30,Ph,@(2,3)/R,5:/OH)
+ %-----------------------------------------
+ EXT(
+ defaultscale:=0.6;
+ draw_vector((0.6w,0.5h),0,0.2mm,0.25w);
+ p3:=(0.48w,0.5h);
+ label.top("H",p3);
+ label.top("+",p3+(em,0.5em));
+ drawdot p0 withpen pencircle scaled 3pt;
+ drawdot p1 withpen pencircle scaled 3pt;
+ drawdot p2 withpen pencircle scaled 3pt;
+ label.bot("p0",p0);
+ label.lft("p1",p1);
+ label.ulft("p2",p2);
+ defaultscale:=0.7;
+ label.bot("Dienone-Phenol Rearrangement",
+ (0.5w,1h));
)
- %----------------------------------
- endfont
+endfont
\end{verbatim}
\MCFstructure\\
%-----------------------------------------------------------------------------
@@ -983,6 +985,8 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\
(Add extra graphic to molecule)
wd: molecular width
ht: molecular height
+ aw: atom font size
+ em: label font size
p0: origin of molecular structure
l: bond length
An: atom number
@@ -992,32 +996,55 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\
B[m]: bond position
B[m]ang: bond angle
- beginfont()
- %----------------------------------
- MCd(1,0.9)(0.1,0.5)(<30,Ph,3:/F,4:/Cl)
+beginfont()
+ font_wd#:=70mm#;
+ font_ht#:=30mm#;
+ ratio_bond_width:=0.065;
+ sw_solid:=1;
+ %-------------------------------------
+ MCd(1,1)(0.1,0.5)
+ (<-210,60`1,60`1,60`1,$(1,3)dl,
+ 1:/R1,4:/R2^-60)
ext(
- drawdot p0 withpen pencircle scaled 3pt;
- drawdot A6 withpen pencircle scaled 3pt;
- drawdot B3 withpen pencircle scaled 3pt;
- label.bot("p0",p0);
- label.ulft("A6",A6);
- label.rt("B3",B3);
+ defaultscale:=0.6;
+ label.bot("Diene",p0+(0.5wd,0));
)
- %----------------------------------
- MCd(1,0.9)(0.9,0.5)(<30,Ph,3:/F,4:/Cl)
- ext(draw p0--(p0+(wd,0))--(p0+(wd,ht));)
- %----------------------------------
- endfont
+ %-------------------------------------
+ MCd(1,1)(0.4,0.5)
+ (<-30,-60`1,1=dl,1:/R3,2:/R4^60)
+ ext(
+ defaultscale:=0.6;
+ label.bot("Dienophile",p0+(0.5wd,0));
+ )
+ %-------------------------------------
+ MCd(1,1)(0.9,0.5)
+ (<30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1)
+ ext(
+ defaultscale:=0.6;
+ drawdot p0 withpen pencircle scaled 3pt;
+ label.bot("p0",p0);
+ )
+ %-------------------------------------
+ EXT(
+ draw_vector((0.6w,0.5h),0,0.2mm,0.08w);
+ defaultscale:=0.7;
+ label("+",(0.25w,0.5h));
+ label.bot("Diels-Alder Reaction",(0.5w,1h));
+ )
+endfont
\end{verbatim}
\MCFstructure
%-----------------------------------------------------------------------------
+\newpage
\subsection{Local parameter setting}
\begin{verbatim}
beginfont() MCf(Ph) endfont
+ %---------------------------
beginfont()
ratio_thickness_bond:=0.05;
MCf(Ph)
endfont
+ %---------------------------
beginfont() MCf(Ph) endfont
\end{verbatim}
\MCFstructure\MCFstructure\MCFstructure
@@ -1025,13 +1052,14 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\
\subsection{Global parameter setting}
\begin{verbatim}
beginfont() MCf(Ph) endfont
+ %---------------------------
ratio_thickness_bond:=0.05;
+ %---------------------------
beginfont() MCf(Ph) endfont
beginfont() MCf(Ph) endfont
\end{verbatim}
\MCFstructure\MCFstructure\MCFstructure
%-----------------------------------------------------------------------------
-\newpage
\section{Output information}
%-----------------------------------------------------------------------------
\subsection{Output molecular information}
@@ -1044,9 +1072,11 @@ beginfont()
@(2,6)N,@(2,6)/_,@(1,5)//O,
|,-4=?5,2=dl,@(1,3)N,3:/_)
endfont
+%------------------------------------------
beginfont(......)
...........
endfont
+%------------------------------------------
..............
%% Output to mcf_man_soc-info.aux %%
@@ -1064,49 +1094,28 @@ cFM:calculated molecular formula
%-----------------------------------------------------------------------------
\subsection{Output additional information}
\begin{verbatim}
+%------------------------------------------
beginfont("EN:Tocopherol","CAS:59-02-9")
MCf(<30,Ph,3=?6,
7:O,@(1,2,5)/_,8:/*_^60,6:/OH,
8\,|,!12,@(4,8)/*_,12:/_)
endfont
+%------------------------------------------
beginfont(......)
...........
endfont
+%------------------------------------------
..............
%% Output to mcf_man_soc-info.aux %%
F:mcf_man_soc;C:86;EN:Tocopherol;CAS:59-02-9
............................................
-1* F:filename
-2* C:char number
+1* F:filename * default output
+2* C:char number * default output
3 EN:molecular name
4 CAS:CAS number
-*:default output
-
-\end{verbatim}
-\MCFstructure
-%-----------------------------------------------------------------------------
-\subsection{Change aux information delimiter}
-\begin{verbatim}
-aux_delimiter:="/";
-beginfont("EN:Ampicillin","CAS:69-53-4")
- MCf(<45,?4,2:N,2=?5,-1:S,
- @(3^45,4^-45)/*H,1://O^15,
- 5:/*COOH^-18,@(6^35,6^-35)/_,
- 4*\^75,NH,!,//O,!,/*NH2,!,Ph)
-endfont
-beginfont(......)
- ...........
-endfont
-..............
-
-%% Output to mcf_man_soc-info.aux %%
-F:mcf_man_soc/C:90/EN:Ampicillin/CAS:69-53-4
-............................................
-
- **default aux_delimiter=";"
\end{verbatim}
\MCFstructure
%-----------------------------------------------------------------------------
@@ -1114,7 +1123,7 @@ F:mcf_man_soc/C:90/EN:Ampicillin/CAS:69-53-4
\begin{verbatim}
tag3:="NO"; var3:="inf_NO";
tag4:="EN"; var4:="inf_EN";
- sw_auxfix:=1;
+ sw_auxfix:=1; % ** default sw_auxfix=0
auxtag_out; % output tag list
%--------------------------------------
beginfont("EN:Cholesterol","NO:1")
@@ -1136,9 +1145,7 @@ F:mcf_man_soc/C:90/EN:Ampicillin/CAS:69-53-4
F;C;NO;EN
mcf_man_soc;91;1;Ampicillin
...........................
- ...........................
- ** default sw_auxfix=0
\end{verbatim}
\MCFstructure
%-----------------------------------------------------------------------------
@@ -1391,6 +1398,15 @@ mcf_exa_soc;5;346.3742;C19H22O6;Gibberellin A3
......................................
......................................
+(aux_delimiter:="/";)
+F:mcf_man_soc/C:1/cMW:349.40462/cFM:C16H19N3O4S/EN:Ampicillin
+F:mcf_man_soc/C:2/cMW:386.6532/cFM:C27H46O/EN:Cholesterol
+F:mcf_exa_soc/C:3/cMW:470.5113/cFM:C26H30O8/EN:Limonin
+F:mcf_exa_soc/C:4/cMW:536.8722/cFM:C40H56/EN:beta-Carotene
+F:mcf_exa_soc/C:5/cMW:346.3742/cFM:C19H22O6/EN:Gibberellin A3
+ .....................................................
+ .....................................................
+
( Tag )
F : filename
C : char number
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
index 5aabd3d1b3d..fd3a89279af 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
index af0caea790b..de5e711d39c 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.02.13
+% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.03.05
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf it must be version 4.10 or later
+%%% mcf2graph.mf it must be version 4.11 or later
\documentclass{article}
%------------------------------------------------------------------------------
\usepackage{luamplib}%
@@ -14,6 +14,7 @@
input mcf2graph.mf;
mp_log_name:="temp-info.aux";
sw_auxout:=1;
+ sw_label:=1;
var3:="mol_wd"; tag3:="Lx";
var4:="cal_MW"; tag4:="cMW";
var5:="cal_FM"; tag5:="cFM";
@@ -95,13 +96,13 @@
font_wd:=90mm; font_ht:=45mm;
beginfont("NO:1","EN:Chlorophyll a","MW:893.49")
MCf(<54,
- {,``1,?5,$(2,5)d,4:N,3\,54~dl,|,?5,$(2,4)d,5:N,
- -2\,54~dl,|,?5,2=d,5:N,-2\~dl,54,|,?5,5=d,5:N,-2\~dl,&#5,
- -1*,24,/*COO!^15,72,//O,&#1,},
- 4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb,
- @(2,9,15,20~zf)/_,8:/!,14\,!!,
- 21*,-6~wf,!2,//O,!,O,!2,!!,|,!13,@(1,5,9,13)/_,
- )
+ {,``1,?5,$(2,5)d,4:N,3\,54~dl,|,?5,$(2,4)d,5:N,
+ -2\,54~dl,|,?5,2=d,5:N,-2\~dl,54,|,?5,5=d,5:N,-2\~dl,&#5,
+ -1*,24,/*COO!^15,72,//O,&#1,},
+ 4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb,
+ @(2,9,15,20~zf)/_,8:/!,14\,!!,
+ 21*,-6~wf,!2,//O,!,O,!2,!!,|,!13,@(1,5,9,13)/_,
+ )
endfont
\end{mplibcode}
\inputINFO{temp-info.aux}%
diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
index c2d6f991841..4fea2752498 100644
--- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
+++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.10 Copyright (c) 2013-2017 Akira Yamaji
+% mcf2graph ver 4.11 Copyright (c) 2013-2017 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,
@@ -26,11 +26,12 @@
% Set outputformat to "png" : mpost -s ahangle=1 FILENAME
% Set outputformat to "svg" : mpost -s ahangle=2 FILENAME
% Set outputformat to MDL Molfile : mpost -s ahangle=3 FILENAME
-% Set first font only (for test) : mpost -s ahlength=1 FILENAME
+% Set make first font only : mpost -s ahlength=1 FILENAME
% Set output report : mpost -s ahlength=2 FILENAME
+% Set 'label' to use Metapost : mpost -s ahlength=3 FILENAME
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
tracingstats:=1;
-message " This is mcf2graph ver 4.1 2017.2";
+message " This is mcf2graph ver 4.1 2017.3";
%-------------------------------------------------------------------------------------------------
newinternal nA,nB,nC,nD,nE,nF,char_num,str_cnt,def_num,def_int,tbl_cnt;
numeric save_para[],comD[][],parD[][],cntD[],tbl_str_wd[],tbl_atom[],tbl_subst[][],tbl_atom_wt[],
@@ -40,7 +41,7 @@ picture atom_font[],str_font[],mol_stru[],save_pict;
%-------------------------------------------------------------------------------------------------
char_num:=str_cnt:=proc_end:=0;
sw_numberA:=sw_numberB:=sw_mol_frame:=sw_auxout:=sw_solid:=sw_expand:=sw_font_frame:=sw_clip:=0;
-sw_atom_frame:=sw_report:=sw_MOLout:=sw_subst_off:=sw_bond_single:=sw_auxfix:=sw_label_mp:=0;
+sw_atom_frame:=sw_report:=sw_MOLout:=sw_subst_off:=sw_bond_single:=sw_auxfix:=0;
numberA_start:=numberB_start:=1; numberA_end:=numberB_end:=4095; aux_max:=max_inf_num:=20;
aux_delimiter:=";"; var1:="jobname"; tag1:="F"; var2:="char_num"; tag2:="C";
for i=3 upto aux_max: var[i]:=tag[i]:=""; endfor
@@ -51,6 +52,7 @@ if (known green)and(known ahlength):
mp_log_name:=jobname&"-info.aux";
if ahlength=1: proc_end:=1; fi % first molecular only
if ahlength=2: sw_report:=1; def shipit = enddef; fi % report on
+ if ahlength=3: sw_label:=1; fi % use metapost label
if ahangle=0: def shipit = enddef; % No image file
elseif ahangle=1: outputformat:="png"; hppp:=vppp:=0.1; % PNG format
elseif ahangle=2: outputformat:="svg"; % SVG format
@@ -63,12 +65,15 @@ if (known green)and(known ahlength):
def # = enddef;
def Cp(expr s) = if known s: if s<>0: withcolor color_list[s] fi fi enddef;
def define_pixels(text s) = enddef;
- if sw_label_mp=0: def label = label_ext enddef; fi
+ if unknown sw_label: sw_label:=0; fi
else: f_MP:=0;
+ string defaultfont;
+ sw_label:=0;
def Cp(expr s) = enddef;
def color = transform enddef;
- def label = label_ext enddef;
def printf expr s= message s enddef;
+ sw_label:=0;
+ def label = label_mf enddef;
mode_setup;
fi
ahangle:=45; ahlength:=4;
@@ -86,8 +91,16 @@ offset_thickness#:=0.2pt#; offset_bond_gap#:=0.3pt#; offset_zebra_gap#:=0.1p
offset_atom#:=0.8pt#; offset_wedge#:=0.4pt#; thickness_font_frame#:=0.2pt#;
max_bond_length#:=10mm; bond_len#:=8mm#;
font_wd#:=30mm#; font_ht#:=20mm#;
-labeloffset:=3bp; default_emb_font#:=5pt#;
-%--------------------------------------------------------------------------------------------------
+%==================================================================================================
+defaultfont:="uhvr8r"; % Helvetica
+%%%%defaultfont:="ucrr8r"; % Courier
+%%%%defaultfont:="ucrb8r"; % Courier bold
+%%%%defaultfont:="utmr8r"; % Times
+defaultsize#:=8pt#;
+ext_defaultscale:=1;
+labeloffset:=3bp;
+define_pixels(defaultsize);
+%==================================================================================================
def_emb_start:=500; % 500 => 2499 for embedded definition (max 2000)
def_usr_start:=2500; % 2500 => 2999 for user definition (max 500)
def_int_start:=3000; % 3000 => 4000 for internal definition (max 1000)
@@ -101,7 +114,7 @@ def_com(1)(si,dl,dr,db,dm,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,si_,wf_,wb_,bd_);
%--------------------------------------------------------------------------------------------------
def parameter_list=
sw_report,sw_numberA,sw_numberB,sw_mol_frame,sw_auxout,sw_solid,sw_expand,sw_MOLout,
- sw_atom_frame,sw_font_frame,sw_subst_off,sw_bond_single,sw_clip,sw_label_mp,
+ sw_atom_frame,sw_font_frame,sw_subst_off,sw_bond_single,sw_clip,sw_label,
margin_left_right,margin_top_bottom,ratio_atom_bond,ratio_thickness_bond,ratio_char_bond,
ratio_chain_ring,max_bond_width,ratio_bondgap_bond,ratio_zebra_black,ratio_zebragap_bond,
ratio_wedge_bond,ratio_atomgap_atom,ratio_bond_width,font_wd#,font_ht#,labeloffset,
@@ -254,7 +267,8 @@ def FRR(expr a)(expr b)(expr c) =
enddef;
%==================================================================================================
vardef $$(text t)(expr e) =
- nA:=0; def_int:=def_int+1;
+ nA:=0;
+ def_int:=def_int+1;
if known e:: if numeric e::
if (e>=si)and(e<=bd_):: if e==dl:: for list==t:: PA(_dl,list) endfor
else:: for list==t:: PA(_set_adr,list) PA(_set_line,e) endfor fi
@@ -275,7 +289,8 @@ vardef $$(text t)(expr e) =
enddef;
%-------------------------------------------------------------------------------------------------
vardef @@(text t)(expr s)=
- nA:=0; def_int:=def_int+1;
+ nA:=0;
+ def_int:=def_int+1;
if known s:: if numeric s::
if (s>=H)and(s<=U)::
for list==t::
@@ -308,12 +323,21 @@ enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def EXT(text s)=
begingroup
- save w,h,wd,ht,n,p,em;
+ save w,h,wd,ht,n,p,am,em,currentscale;
pair p[];
- use_font(default_emb_font#);
- w:=font_wd; h:=font_ht; wd:=w-2margin_left_right; ht:=h-2margin_top_bottom;
+ em=defaultscale*defaultsize;
+ %-----------------------------------------------------------------------------------------------
+ currentscale:=defaultscale:=ext_defaultscale;
+ if sw_label=0:
+ def label = label_mf enddef;
+ use_font(defaultscale*defaultsize#)(0.12defaultscale*defaultsize#);
+ fi
+ w:=font_wd;
+ h:=font_ht;
+ wd:=w-2margin_left_right;
+ ht:=h-2margin_top_bottom;
p0:=(margin_left_right,margin_top_bottom);
- em:=emb_font_size;
+ aw:=atom_wd;
n:=cntM;
for i=1 upto n: p[i]:=posM[1][i]; endfor
s addto mol_stru[0] also currentpicture; clearit; f_ext:=1;
@@ -322,60 +346,75 @@ enddef;
%--------------------------------------------------------------------------------------------------
def ext(text s)=
begingroup
- save wd,ht,n,l,p,zw,sp,ep,em,A,B;
+ save wd,ht,n,l,p,sp,ep,am,em,A,B,currentscale;
numeric A[]bra,B[]ang;
pair p[],A[],B[],sp,ep;
- use_font(default_emb_font#);
+ em=defaultscale*defaultsize;
+ %---------------------------------------------------------------------
+ currentscale:=defaultscale:=ext_defaultscale;
+ if sw_label=0:
+ def label = label_mf enddef;
+ use_font(defaultscale*defaultsize#)(0.12defaultscale*defaultsize#);
+ fi
+ %---------------------------------------------------------------------
wd:=mol_wd;
ht:=mol_ht;
l:=bond_len;
- em:=emb_font_size;
+ aw:=atom_wd;
p0:=(minX,minY);
- An:=cntA; Bn:=cntB;
+ An:=cntA;
+ Bn:=cntB;
for i=1 upto An: A[i]:=posA[i]; A[i]bra:=ang_br[i]; endfor
for i=1 upto Bn: sp:=posA[sB[i]]; ep:=posA[eB[i]]; B[i]:=0.5[sp,ep]; B[i]ang:=angB[i]; endfor
s addto mol_stru[cntM] also currentpicture; clearit;
endgroup;
enddef;
%--------------------------------------------------------------------------------------------------
-def use_font(expr WD)=
+def use_font(expr WD)(expr PEN)=
save_pict:=currentpicture; clearit;
for i=1 upto 128: f_char[i]:=1; endfor
- proc_char_setup(str_font)(WD);
- emb_font_size#:=WD;
- define_pixels(emb_font_size);
+ proc_char_setup(str_font)(WD)(PEN);
currentpicture:=save_pict;
enddef;
%--------------------------------------------------------------------------------------------------
def puts(expr PA)(expr STR)=
begingroup
- save cp; pair cp;
+ save cp;
+ pair cp;
cp:=PA;
+ nB:=0;
+ %----------------------------------------------------------------------------------
for i=0 upto length(STR)-1:
nA:=ASCII(pic_c(i,STR));
- addto currentpicture also str_font[nA] shifted (cp-(0,emb_font_size*tbl_char_dp[nA]));
- cp:=cp+(emb_font_size*tbl_char_wd[nA],0);
+ if nA=ASCII("_"): if nB=0: nB:=-.5; else: nB:=0; fi
+ elseif nA=ASCII("^"): if nB=0: nB:= .5; else: nB:=0; fi
+ else:
+ addto currentpicture also str_font[nA] shifted (cp+(0,em*(nB-tbl_char_dp[nA])));
+ cp:=cp+(em*tbl_char_wd[nA],0);
+ fi
endfor
endgroup;
enddef;
%--------------------------------------------------------------------------------------------------
-vardef label_ext@#(expr STR,POS) =
+vardef label_mf@#(expr STR,POS) =
save oft,fx,fy,wds;
pair oft,oft.lft,oft.rt,oft.top,oft.bot,oft.ulft,oft.llft,oft.urt,oft.lrt;
wds:=0;
- for i=0 upto length(STR)-1:
- wds:=wds+emb_font_size*tbl_char_wd[ASCII(pic_c(i,STR))];
- endfor
- oft:= ( 0, 0); fx:=0.5; fy:=0.5;
- oft.lft:= ( -1, 0); fx.lft:=1; fy.lft:=0.5;
- oft.rt := ( 1, 0); fx.rt :=0; fy.rt :=0.5;
- oft.bot:= ( 0, -1); fx.bot:=0.5; fy.bot:=1;
- oft.top:= ( 0, 1); fx.top:=0.5; fy.top:=0;
- oft.ulft:=(-.7, .7); fx.ulft:=1; fy.ulft:=0;
- oft.urt:= ( .7, .7); fx.urt:=0; fy.urt:=0;
- oft.llft:=(-.7,-.7); fx.llft:=1; fy.llft:=1;
- oft.lrt:= ( .7,-.7); fx.lrt:=0; fy.lrt:=1;
- puts(POS+(labeloffset*oft@#)-(wds*fx@#,emb_font_size*fy@#))(STR);
+ if currentscale<>defaultscale:
+ use_font(defaultscale*defaultsize#)(0.12defaultscale*defaultsize#);
+ currentscale:=defaultscale;
+ fi
+ for i=0 upto length(STR)-1: wds:=wds+em*tbl_char_wd[ASCII(pic_c(i,STR))]; endfor
+ oft:= ( 0, 0); fx:=0.5; fy:=0.5;
+ oft.lft:= ( -1, 0); fx.lft:=1; fy.lft:=0.5;
+ oft.rt := ( 1, 0); fx.rt :=0; fy.rt :=0.5;
+ oft.bot:= ( 0, -1); fx.bot:=0.5; fy.bot:=1;
+ oft.top:= ( 0, 1); fx.top:=0.5; fy.top:=0;
+ oft.ulft:=(-.7, .7); fx.ulft:=1; fy.ulft:=0;
+ oft.urt:= ( .7, .7); fx.urt:=0; fy.urt:=0;
+ oft.llft:=(-.7,-.7); fx.llft:=1; fy.llft:=1;
+ oft.lrt:= ( .7,-.7); fx.lrt:=0; fy.lrt:=1;
+ puts(POS+(labeloffset*oft@#)-(wds*fx@#,em*fy@#))(STR);
enddef;
%-------------------------------------------------------------------------------------------------
def draw_vector(expr POS,ROT,THICK,LEN)=
@@ -405,10 +444,12 @@ def MCd(expr RW,RH)(expr FW,FH)(text TX)=
if (sw_expand=1)or(sw_MOLout=1): expand_set; fi
def_num:=def_usr_start;
def_int:=def_int_start;
- par_s=ASCII("{"); par_e=ASCII("}"); score_u=ASCII("_"); hat=ASCII("^");
+ par_s:=ASCII("{"); par_e:=ASCII("}"); score_u:=ASCII("_"); hat:=ASCII("^");
cntA:=cntB:=cntP:=cntC:=0; strD[0]:=""; str_cnt:=2000; crR:=-ratio_chain_ring;
%===============================================================================================
- ''(0)(TX,(_term,0)); proc_bond_atom(1); if (cntP>0)and(sw_subst_off=0): ps_get(1); fi
+ ''(0)(TX,(_term,0));
+ proc_bond_atom(1);
+ if (cntP>0)and(sw_subst_off=0): ps_get(1); fi
define_pixels(font_wd,font_ht,thickness_font_frame);
char_use_check;
if sw_solid=1: bond_len#:=font_wd#*ratio_bond_width;
@@ -425,7 +466,7 @@ def MCd(expr RW,RH)(expr FW,FH)(text TX)=
if bond_len#>max_bond_length#:
bond_len#:=max_bond_length#; proc_size_setup; proc_skeleton; proc_scaling; fi
fi
- proc_char_setup(atom_font)(atom_wd#);
+ proc_char_setup(atom_font)(atom_wd#)(bond_pen_wd#*ratio_char_bond);
%-----------------------------------------------------------------------------------------------
for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i,sB[i],eB[i],angB[i],lineB[i]); fi endfor
for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i,sB[i],eB[i],angB[i],lineB[i]); fi endfor
@@ -467,7 +508,8 @@ def ps_put(expr n,p)=
enddef;
%-------------------------------------------------------------------------------------------------
def ps_get(expr n)=
- nA:=cntP; nB:=cntD[0];
+ nA:=cntP;
+ nB:=cntD[0];
for i=n upto cntP:
PG(_jp_atom_abs,ps_adr[i]) PG(_push,1)
for j=1 upto op_cnt[i]: PG(op_com[i][j],op_par[i][j]) endfor
@@ -493,12 +535,12 @@ def proc_size_setup=
zebra_gap#:= bond_len#*ratio_zebragap_bond+offset_zebra_gap#;
bondgap#:= bond_len#*ratio_bondgap_bond+offset_bond_gap#;
bond_pen_wd#:= bond_len#*ratio_thickness_bond+offset_thickness#;
- char_pen_wd#:= bond_pen_wd#*ratio_char_bond;
- define_pixels(bond_len,zebra_gap,wedge_wd,atom_wd,bondgap,bond_pen_wd,char_pen_wd);
+ define_pixels(bond_len,zebra_gap,wedge_wd,atom_wd,bondgap,bond_pen_wd);
enddef;
%-------------------------------------------------------------------------------------------------
def proc_scaling=
- minX:=minY:=4095.999; max_x:=max_y:=-4095.999;
+ minX:=minY:=4095.999;
+ max_x:=max_y:=-4095.999;
for i=1 upto cntA:
xpos:=xpart(posA[i]); ypos:=ypart(posA[i]);
if numS[i]<>0: str_len:=nC:=nD:=0;
@@ -540,7 +582,8 @@ def proc_bond_atom(expr n)=
for i=0 upto 5: stkA[i]:=stkB[i]:=0; endfor
%-----------------------------------------------------------------------------------------------
for i=n upto cntD[0]:
- com:=comD[0][i]; par:=parD[0][i];
+ com:=comD[0][i];
+ par:=parD[0][i];
if com=_push:
if par=1: stkL[adrS]:=bondL; stkA[incr adrS]:=adrA:=cntA; stkB[adrS]:=adrB:=cntB;
elseif par=0: temp_len:=bondL; fi
@@ -592,7 +635,8 @@ def proc_bond_atom(expr n)=
enddef;
%-------------------------------------------------------------------------------------------------
def add_atom=
- lineB[incr cntB]:=lineT; lineT:=si;
+ lineB[incr cntB]:=lineT;
+ lineT:=si;
if lenT=crR: lenB[cntB]:=bondL; else: lenB[cntB]:=lenT; lenT:=crR; fi
if f_bra=0: cntA:=cntA+1; sB[cntB]:=cntA; numS[cntA]:=strAT; strAT:=0;
if f_MP=1: colorA[cntA]:=colorB[cntA]:=0; fi else: f_bra:=0; fi
@@ -808,6 +852,8 @@ Si:='("{Si}");Al:='("{Al}");Mg:='("{Mg}");Zn:='("{Zn}");As:='("{As}");Cu:='("{Cu
Ag:='("{Ag}");Au:='("{Au}");Sn:='("{Sn}");Cl:='("{Cl}");Br:='("{Br}");Li:='("{Li}");
Na:='("{Na}");Ca:='("{Ca}");Hg:='("{Hg}");Ni:='("{Ni}");Ti:='("{Ti}");U:='("U");
%-------------------------------------------------------------------------------------------------
+R:='("R"); R1:='("{R^1^}"); R2:='("{R^2^}"); R3:='("{R^3^}"); R4:='("R^4^"); R5:='("{R^5^}");
+%-------------------------------------------------------------------------------------------------
plus:='("+"); minus:='("-"); HH:='("H{_2_}"); NH:='(N,*/*H); NnoH:='(); SO:='(S,//O);
SOO :='(S,//O^-35,//O^35); CHO:='("CHO"); OH:='("OH"); COOH:='("COOH"); CH2:='("C{H_2_}");
CH3:='("C{H_3_}"); CN:='("CN"); NH2:='("N{H_2_}"); NO2:='("N{O_2_}"); SH:='("SH");
@@ -847,25 +893,29 @@ char_size_set(.5)( 1)( 0)("il");
char_size_set(.7)( 1)(.24)("pqg");
char_size_set(.7)(.8)( 0)("acekosuvxzwry");
char_size_set(.4)( 1)( 0)(".,:;'`");
+char_size_set( 0)( 0)( 0)("^_");
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def proc_char_setup(suffix FONT)(expr SIZE)=
+def proc_char_setup(suffix FONT)(expr SIZE)(expr PEN_WD)=
begingroup
save Z,aW,aH,fW,hW,hW,hH,fP,hP,vL,hL,PO,POh,sH,FD;
pair Z[];
%---------------------------------------------------------------
def FD(expr c)(text s)=
if f_char[ASCII(c)]=1:
+ fP#:=PEN_WD;
+ hP#:=0.5PEN_WD;
aW#:=SIZE*tbl_char_wd[ASCII(c)]*(1-ratio_atomgap_atom*2);
aH#:=SIZE*tbl_char_ht[ASCII(c)]*(1-ratio_atomgap_atom*2);
- define_pixels(aW,aH);
+ define_pixels(fP,hP,aW,aH);
fW:=aW-hP; hW:=.5aW; fH:=aH-hP; hH:=.5aH;
Z01:=( 0,hP); Z02:=(hP, 0); Z03:=(hP,hP); Z04:=(aW,hP); Z05:=(fW, 0); Z08:=( 0,hH);
Z09:=(hP,hH); Z10:=(fW,hH); Z12:=( 0,fH); Z13:=(hP,fH); Z14:=(hW,fH); Z16:=(aW,fH);
Z18:=(hP,aH); Z19:=(hW,hP); Z20:=(hW,hH); Z06:=(hW,aH); Z07:=(hW, 0); Z11:=(hW,aW);
Z15:=(fW,aH); Z17:=(aW,hH);
+ pickup pencircle scaled fP;
s;
FONT[ASCII(c)]:=
- currentpicture shifted (ratio_atomgap_atom*atom_wd,ratio_atomgap_atom*atom_wd);
+ currentpicture shifted (ratio_atomgap_atom*atom_wd,ratio_atomgap_atom*atom_wd);
clearit;
fi
enddef;
@@ -878,9 +928,6 @@ def POh= (hP,.25aH)..Z19..(fW,.25aH)..Z20..cycle enddef;
def sH expr n= shifted (0,n) enddef;
def SP(expr m,n)expr p=subpath(m*length(p),n*length(p)) of p enddef;
%==================================================================================================
-pickup pencircle scaled char_pen_wd;
-fP:=char_pen_wd; hP:=.5char_pen_wd;
-%------------------------------------------------------------------------------------------
FD(" ")();
FD(".")(drawdot Z19 wpcs fP);
FD(",")(drawdot Z19 wpcs fP; draw (hW+.5fP,hP)..(hW+.3fP,-fP)..(hW-.5fP,hP-2fP));