summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG6
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/README2
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf16
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdfbin235776 -> 236199 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps675
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf48
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdfbin468590 -> 469776 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex56
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdfbin174090 -> 174306 bytes
-rw-r--r--Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex6
-rw-r--r--Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf425
11 files changed, 903 insertions, 331 deletions
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG
index 657191730db..ace374f67a4 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-06-04
+ Changelog of mcf2graph software package by Akira Yamaji 2017-07-17
*******************************************************************************
+[ver. 4.24 / 2017-07-17]
+ -atom font can be changed
+ -update MCF syntax manual
+
[ver. 4.23 / 2017-06-04]
-change syntax n*,n\
n* => n:@
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README
index 6fdfa4bbf4b..2a6f9d3f4cc 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.23 2017-06-04
+ version : 4.24 2017-07-17
E-mail : mcf2graph@gmail.com
Located at : http://www.ctan.org/pkg/mcf2graph
********************************************************************************
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 bcca33b4e03..da7547e107d 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.06.04
+% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2017.07.17
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf; %%% it must be version 4.23 or later
+input mcf2graph.mf; %%% it must be version 4.24 or later
%-------------------------------------------------------------------------
font_wd:=33mm;
font_ht:=24mm;
@@ -391,3 +391,15 @@ beginfont("EN:Atoropin","MW:289.375")
endfont
%***************************************************************************
bye
+**************************************************************************
+beginfont("EN:Atoropin","MW:289.375")
+ MCf(<-30,O,!,//O,!,!,Ph,
+ #1:\~zb^-120,|,?7`1.1,6:*\^190`1.25,N,/_,&3~wb,#3:/!OH~wv)
+endfont
+%***************************************************************************
+bye
+****
+bye
+
+bye
+
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf
index 77662a0c034..3faa6d937b8 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-064.eps b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps
index e1776150793..9856d53f03e 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc-064.eps
@@ -1,11 +1,13 @@
%!PS-Adobe-3.0 EPSF-3.0
-%%BoundingBox: -1 -1 66 57
-%%HiResBoundingBox: -0.09962 -0.09962 65.06522 56.58049
-%%Creator: MetaPost 1.9991
-%%CreationDate: 2017.01.29:2040
+%%BoundingBox: -1 -1 212 60
+%%HiResBoundingBox: -0.09962 -0.09962 211.90288 59.64348
+%%Creator: MetaPost 2.000
+%%CreationDate: 2017.07.10:1950
%%Pages: 1
%%DocumentResources: procset mpost-minimal
+%%+ font NJFVSO-NimbusSanL-Regu ICXWUR-CMR8
%%DocumentSuppliedResources: procset mpost-minimal
+%%+ font NJFVSO-NimbusSanL-Regu ICXWUR-CMR8
%%EndComments
%%BeginProlog
%%BeginResource: procset mpost-minimal
@@ -16,85 +18,634 @@
/ScaleFont{dup fmc 0 get Amul 0 exch put dup dup 3 get Amul 3 exch put fmd}bd
/SlantFont{fmc 2 get dup 0 eq{pop 1}if Amul FontMatrix 0 get mul 2 exch put fmd}bd
%%EndResource
+%%BeginResource: font NJFVSO-NimbusSanL-Regu
+%!PS-AdobeFont-1.0: NimbusSanL-Regu 1.05a
+%%Title: NimbusSanL-Regu
+%%CreationDate: Thu Mar 20 10:08:51 2003
+%%Creator: Primoz Peterlin
+%%DocumentSuppliedResources: font NimbusSanL-Regu
+% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
+% Generated by PfaEdit 1.0 (http://pfaedit.sf.net/)
+%%EndComments
+FontDirectory/NJFVSO-NimbusSanL-Regu known{/NJFVSO-NimbusSanL-Regu findfont dup/UniqueID known{dup
+/UniqueID get 5020902 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /JXDTPR-NimbusSanL-Regu def
+/FontBBox [-174 -285 1001 953 ]readonly def
+/UniqueID 5020902 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (1.05a) readonly def
+/Notice (Copyright \050URW\051++,Copyright 1999 by \050URW\051++ Design & Development) readonly def
+/FullName (Nimbus Sans L Regular) readonly def
+/FamilyName (Nimbus Sans L) readonly def
+/Weight (Regular) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -151 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 56 /eight put
+dup 97 /a put
+dup 99 /c put
+dup 100 /d put
+dup 109 /m put
+dup 114 /r put
+dup 119 /w put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3
+2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777
+6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18
+979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E
+ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF
+B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59
+A9373ABECDBF32FA68AABB66FAB0C970A3354A335D70DB2CC5A3208BB6D768E7
+B58CD9BC2B6B7E110693C5A88D680B7290DB121996E3B7C8AE3C23147280F8BF
+D8C60B415552700FF0E44C2257B467ADD5D550F61EC34A76143393E0B34D55C0
+8B64B48E5F1FD16E16B967511AE15434B7F755BDF2574191E3C3DC528B69B5BA
+7DDBBD3C7878FA69ADE75011A2C0F02F5707E86FA632D1269281D3C265B31F3B
+F3145052467647AFE18B9D763FAEE4BA72CB9C385568EE5BBF5854C278F1E3CC
+475C6234E83ED33345268BE52F0931B58F302EDA0D5751348E7B7E53D4882FB6
+9343BDAAE87E48F6E82024D8EC1FACBBA36582092CCD76553B0449A5090774EA
+7242123C53B80F2E927B98DF2B36C403D1FA1E9F8439F3964DC9F89A0CAB5AE2
+C907309460F097AA87BD156575D6C73EDB2B40C015E67734397ED14395C43394
+7A0201C6B0F652B035FD7BB82ED236D0F7C20048AFD83A56925C7A2898B46270
+B440913E4714FD89697B3E59F5BDD5A2AACF6630257957ABE1A63502A3081B6E
+307A534A9E238F986D4C866AFBAB7A0B1B5A6E99AA0A56DC1FD7E8A39CC45147
+259AC7033A0C58192CA82FB12E09F309F75690043646193AD92D2368F345771F
+01CFD21236BA52F74E36CF4B94259CDBA2EF1D61AD93A2B942A9896B0819D20C
+59E440851CB99E89C887FC62FD9E7F88F54E5BC157D81A5FBC70699820C51BC6
+27D7755B195C0BAD8225A6F3EAE0A5A674E8AF6B11BCC69DCF5FB89D8BE0E2E5
+FE7E2588F93F583E4E2F6ED5457E90B902B02F51D54B9F0BA54291E687F4A7A2
+08CA5FCE0C9F3B954247312EDA3C532D3DCDFDCB56FFE03B36DB7D549D4203C6
+7DA8772A2F732A15DE675D3212C28DC755E3D0156A777BF514112ABBE4372ACB
+97D7834813E1850F90CEE543B4C09BE1E93742EA98B8CACC09FCC4D2595EECD4
+46C942EEA60211FA7DBC11CE869D55BF0C7EC6AA747EB2AE2CB3CC2DBEC936C9
+540CE2E08291323B36F6549CDB97BBF9F0DA429CA9C863B629410885540DA6C4
+9AAADB30C39051C993CB547BCD573D6448DC09BF7FF2D1B108ABEC2AAEE4060D
+182ABDB3100AC627E5C883E8F42D90D699C8028D4123472F211C8FBB744D7E3D
+C626ED03D8517D69E1ACD26BE4F83FAE31122294816736827D138E4F4CAB1681
+236C1654E01231EA7F08AD0E73BBE1BE19A7AD6DA63AE0C7F5A360A53BB35268
+CC90125C7545D9D59F5127F0AD964AA66DF020F639832FAF9C2CCA82C01120BA
+6469960C350D3AF786666EC14158728E0BA2DD8A639C28E0A7EA8BBF608FD7DF
+79C7B5DDEA05C8C3D6FC70177D1A9EA9AD056F0CE31AB535A22FF7EB33748071
+694BCE70111394D24DCEA030AE4C07AECAC39144621A6B719682FF74DB5C081C
+B538F17221F8D06EAAD43B64DA5CF93030CB93DD54FCC5B44980F2AC6A66C512
+54F71283450DFCA305E0B134FC95E54C2699C18624EBE6A7D0067E306EADCFE5
+2D2A78AA02574548893EE05FFD60CB41E00B2E7761AA55732EFE6EE3C19EEF6B
+179276229BA324E59A81107FFFAE0685C7C24E70ACB8564454277C41C28075AC
+96964C61BD933742996058691C47B09CEBE352FC29A63119C731B3FC8D78A9E3
+69F922CA6454BC1F6CFD1E03B285AFC3D8A7C81B83F0D950DAD2F3E562353B9A
+1D56DABD05371F9479BFA4CAEC5CBAAC37C200F6E27BB35E591601EBFF9580F3
+78E3BF2E599FF22A1434E7D661083C7F8D02F91CCD580EA19FC752DC7DB84DEB
+6DA73092F21F04F718009DBA58BF46AB95BC4B9154DC2390AE0089A9FEEC29F5
+90EE85785CF7E9EC5CC31283CFFE2CBE71C3A2EF82C984D16ADD4BFAE300036D
+4D161A5BD529D9E7C7EBD598A6CF895C2B0A06DBB62EA1E10D52D2D69E373F43
+4024FF3F78725CD06CA3E2F2FF6EC30EC7E3EB389DFC287C5803B56F4058A19F
+EAC02F63B3708C71BBFE34996E87AE9B53C0B8009CCFE62C17E001C96636A66B
+10F2CB000A0D128B232D9A9E24006A4FCB9FDD47C70C954BEAA33A81A5EE27B9
+220C89DF8C7471D82051EC633967352C75105A1222751EDFBB3E8B7294D5DF44
+958A1F7695ECE82296DF0D272C713BA3B612591D25AD1A01EC4C31819D2DC7B3
+5CF2D9F0F492A21E1C0F12BA04D7AAD47D978D9E27B27A5E810DA3288710EE9A
+55270BAEF9025D1ACAB90E7A0010434D7551D9C6ED8854FDAA3736542746ADFA
+E256888F27BD0473AF8CEAE50E72CCFD28AB52B5B5AFE50CA179D56CEC0F66BF
+4E29E49139796AD76F219F2F7E4A093AE79BEBA96AA3C4846BE06F450ABA400D
+1802978E39789984C5BC3E386CED0321AA1103F4C98E7938A0A43221BD62CB3E
+9919166E4C5685DB2251F4B257A56C518348D27E0C312082BB785A7A71D46A55
+84BEB0D0F8488FE1851E4D2218F93467C90464BFEECCD83F382E45211576133D
+BBDA5CC4582CC326879574A5B0C840E7B69617A157AB0CF1881601EF22909D51
+457962C37265CA81F4462979DBC27E2D40FA8A83DA4DC02F8945783A3F7D7E63
+9A2C7FD9A366B87678E42AD75BC9BB94EC921332E60DE90966B9A2828B3983A0
+B4AD97C71BFD312AFF12B19F8BD653A82396A30C8767F169B664A12D1B1D5A2B
+955F8D68D7F589FEC9ADA8B3D621165F366C39D2B6EFA16EE1981A33422DAC4C
+63444836C47FD4CF75E964571BD86643FAB5F8CFB63633A19B36ABA949504A51
+BF3395620F8CBBBA1D06FFC01CBAA4281B1934BC9EADFCE21949101595399607
+3F5CECB8BDB43E672FDF8E4E6472EEDE6CF3C9B0C606643CD25E8EEAA88FB5DA
+337D8E8246D149FF54C613B691679A646D961D98B7BE1C06AF5F69A4FA62DC94
+8A4D4D40D065CBBC229205072021BE4A2085C6209F103909A048836120F9C369
+5BAEBB29EE7C59CA69954B26E3EA58438675DAB14FAB778437E05FB92B7FA3D3
+CFFBF34B0E7526D9564D23650E9B9AE6DF11C2BF0B272327F4FC47A764BD6E09
+46F0561971FDD8B8D0969B50FABF52CFD470EF37327F814E2656C5BDBD061A35
+4684B66BB71DDE9AF914DE7CB8A2A33999008A7D81F24CB629294ED8B96656CC
+5DD1C2AC79FBE594F5DF0ADB51D448AF658613F899B309514EDD2CE48C4AF155
+0CB5983755E12C1F37ABB0CEDE003EFBD0BF18082DFE7842F8C565C82E28BA27
+D956BAA853052BAB3C9A63E1CAAACC3ABF6E62CE8A1DC3954DE1ACD0193F8AA3
+E4195E722AD662CE3E188456AEB1A392E24F02C9EA38B6065E6C9B8233606230
+ADCD832E0D691E7DD709659F7EC3FE02A244E832DF17E6991BB9042E8B98F6FF
+5E6A9AC55AE7F243EC23CB8858306ECFFA2FF8F7C227091154781ABEA3BEC50E
+18F0854E26646F5E73932206F2FFD5EC588B006ABBBD7A6B81F3FABEBACB5523
+7AFCB8AB313AFFD9232DBE7E33C0AE19EEFC32F1B94E9040F1D8CE31A358973F
+79E987BF6F49B4A5C717F8956488A3084EDA5CF510EB618AD0F44AD88E375AD9
+986AA8D585FDD73F172A740BC8E0119336140328BB5C79F8953189313DC1EA99
+B6A47CFBB66A98110B7E71A6D9CE4F3BE94D3507F2A44AFC967C8E254ABABE0D
+919A34A7FBAC0233585CABDB28A3F104B882AD71FABF3D9F41849523D29E95BA
+7840334C52DE6900A9B308E5047D9ECEA8E3308F8BDD81CDDD6E9D81CCDE9A66
+DC9C2E10F4850068D2D321839FB316F4F09FA26664EA51EE86EB2DF3E41186D7
+B73A68C125FEE7826020C77B0632E3D138D002C23F13F44C47014748102FCC29
+9F0458E90084393FCBA5430D2BCF1D585C7428DF54B884807709867C739AFDDA
+7B398E3126978279F50E08F102184641D223CCC9DBF3F4A0FBE3897AE3A87DFB
+E81876C20DF82204D8B35B3EFFABA6D74EDC357432D7D51FD626A1CDB1929A36
+9CE5AF6AED4365628E6B083788384DCC6EF09253B99949D376A6D21CB84EA2D5
+353898E4654D93AF0B5AC8A3D796970576B373D47AD58FD12002718EE0A54139
+80B3A3F2D3108B975F8DC1167B47E9A4673DD434B87055AC26973EFCBFE6D48A
+5A68F099B118ACF08F0E60FD147AFD97952EB2A0E1D869D5408E4F6DBB5BFF81
+4E9CC701141A63DD8264CF4F2EE53CA9C175A06FEF0E9F65C510E7E561C63982
+E797D77238480D13078773317A0E2917CF1B307C315E88340F56B5F957E4A6E3
+2867EC63A3F9ADE503D6ADEF8B236E449889CC6992E3329B8213066EC393A9CA
+CF4485B17BE4F202ABB890D75B0EC6
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndResource
+%%BeginResource: font ICXWUR-CMR8
+%!PS-AdobeFont-1.0: CMR8 003.002
+%%Title: CMR8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/ICXWUR-CMR8 known{/ICXWUR-CMR8 findfont dup/UniqueID known{dup
+/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /ZVWFFO-CMR8 def
+/FontBBox {-36 -250 1070 750 }readonly def
+/UniqueID 5000791 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR8.) readonly def
+/FullName (CMR8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 50 /two put
+dup 67 /C put
+dup 72 /H put
+dup 78 /N put
+dup 79 /O put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B
+8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF
+27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF
+18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB
+7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A
+DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242
+6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8
+B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517
+2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374
+3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850
+9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45
+7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D
+25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502
+CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD
+A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2
+DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE
+EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB
+16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413
+07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E
+B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B
+B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C
+F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752
+762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978
+D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826
+CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C
+74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541
+1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9
+E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44
+3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE
+37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89
+7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762
+C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36
+A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D
+7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447
+CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD
+3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC
+FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61
+59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89
+6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069
+79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070
+F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B
+49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38
+2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B
+29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F
+2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87
+5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237
+EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5
+5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E
+293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF
+F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806
+568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405
+64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C
+DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109
+A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075
+267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D
+136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0
+A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7
+80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7
+D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB
+46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A
+E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9
+66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8
+2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71
+CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF
+2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0
+DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C
+DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B
+C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5
+CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B
+0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F
+CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E
+F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47
+CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479
+7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF
+6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893
+6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C
+72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256
+13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE
+6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7
+1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197
+86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72
+D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B
+70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10
+0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20
+FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180
+52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5
+7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B
+F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA
+09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7
+401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335
+74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127
+3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6
+ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0
+93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197
+301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847
+F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61
+1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E
+36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291
+34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C
+CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011
+ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B
+9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634
+E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A
+893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8
+E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE
+0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2
+B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB
+A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5
+B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F
+3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7
+AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5
+98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF
+4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B
+F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1
+AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E
+015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A
+167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F
+9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522
+CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831
+130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202
+2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D
+A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154
+C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0
+ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A
+CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3
+3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612
+E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20
+3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7
+3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D
+947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972
+26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479
+0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697
+984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E
+FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247
+44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49
+603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B
+6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C
+D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE
+276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF
+809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22
+08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7
+3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF
+76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5
+A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602
+3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41
+966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18
+CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531
+2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF
+94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641
+DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35
+9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1
+FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E
+1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77
+24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C
+06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC
+6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530
+F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6
+26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6
+D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2
+49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17
+064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A
+E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A
+D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692
+8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445
+2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359
+52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1
+17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF
+145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F
+2AEBB90C4B257BF563574D9980BA3160D59811D25FDA43865C2EF2168316F2FA
+FF514FDD56C78D3EEF38378129BE38676C1A750B344A8C069A83E035F8729D43
+6B65B80B3DD3D4B8F9041C564626D9CB87AB7B9379F8A02E912F859AE0B3F9CE
+0F253FB6800D5D6BB753CFB933FB9303AAAC573D7380FC3563D88AEDC9A339CF
+931828B48A6BEE434017BD459FCF89FA30E0281A08AB3702602A019C2A4ED08E
+25C484868F0F35C5B1D5CCDA01DA9BEAA7E70B4C0C5CB3807EFABFDCF9F836D1
+4E174995D179680584434D8A5C8A4255456DEAD95CFA49EFFC7FCFF15F02AF05
+42CBDEC8A968BAC180465CA16DADE2068C88D05D8DF6E9B6801A1EC77B9DBF82
+B3264F22CE76C7D71928B78B486DAD78FEE4CDF0421F6EF381677160E9A1B856
+3C878E55B58D663D654564D288F81DBE41D101A117712983C9F20F034DFFAF36
+266EDDB105E979E9534ECBF3969333F7C412F171E1DE9EB1227994570379D500
+4AC5CB1D29CCE972CF77883D07F6EEF041D6780E7CBC2C74CAAEE224387BECA7
+E9F9D2F285C2A1126F9E8CD8907C7DC907728BD022FF435A768958026363C40A
+388F7B81DAD7137FA5A1F687D38E536A78DE70585A34DF048DCE9CC7E7C84D77
+7F668D47EDD9DD12A0ACABCC2AC80C6CE75243A767B12EC699D3392FC4E83453
+3B8F87C9D598632D05DDE423ED67D8077EC48FA17047DEFD43CF38F80F34D62C
+0D771982A73E929AB3EDCB3D978FBAB071696D36B9D0908721A8F117E4F86B31
+37BE46D96BB999CE990589E8EBE2C00C778717EA9DD76FBBB9176297FA90D38A
+67B21CFAFE07BDFE44729154A777C17B097129906D9598A4C66F46ACC5A2E1A0
+7711C9E4D600C1AF08AF7872E20D29A13C574EEA6FD75D7389224C1B7E009C94
+32AF8F2B50A9A7ABB8BD3C4D6AD856AA426C8485D41BC250EA3BC72ADE7C1799
+8B4F1A3D79A6CBE43D2404799A2E3C187155A26DF918021090D0A3444F9888C7
+FBBDCE547116D023E3E263DF477CFEC7F12AAAAC1F3C685D4374229D02D5204C
+781C99F2E2D60F4994DDF75E24396C321DB96AD85550649DA5A93D91CCD7C7C7
+8674F757561DCDC50FAC66B8C2B682C28EC29CB8203CA451794215CCC07FBCA9
+FE14435CD38433DD3A5086E9DA0027DD9F875749BB4535D1C31130CD371058DE
+9B48AD8285E45073E578C5C158D2DE62C55A778793AAC2DB0CB5547C3271A654
+D45C3C6512D32BAC1541D1BBDACAA322C356D78B9BDDB5368543A5E7EEEAA306
+77526F3F533A44B2D97FC649A972C2F1EE7154F0E3A9E5328D534A607DAEFADB
+18A4799ADD984C55B661F55CD362ADBB798CBD4B74B75F336F4DDD8EF632AD0B
+F5CA6F7EF31B2DD710009697477B0BCCB5E37E8EAA520A9262C7917288DE1D6C
+091201C95C6C85525C9CECA803707D20C31137EDF142A7AB779FC50C5586EE83
+552D9F84A7ED5571ACE0D861A20F05D59A9553F79831AAFD695717280B6C428A
+4D761CE35EDFF4DA7BB90F7F889FAD73B65E726CE83BD99634CFBE1F585B9359
+881BDCD511F9892FAF904F98C476DC460E1B8BF4CB52CD9E61E51EF9DAF57949
+A5FDC5440039289129F0C61D84C0D250AA90073661B242AD9049431AEE64119B
+E85A1A83F0B07F19745C1CA63B80B8BF3FED05B526AD5D4999C58A477F9262D9
+5DCA8FB1708530F16959C56F531E9671FCF39EB1E8F92984FFEF64F1F4DB3BAB
+5F1D6F06DE567D86C47AEFA6BD997FF0B7583CD19F7A69DA277EFEE3035E1FFF
+D89EB0E00C93D057534C2FC2DFA4E92BBEB8ED0F53D9D8C3D21C25CBDF649BFD
+178CB05049539C7F9DC3FBEC414B62B53C720092F6713010A3F65B3F9CEF4405
+8E4DF20F32DD3164F35D52851B84BED1094B769CDF73
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndResource
%%EndProlog
%%BeginSetup
+ /uhvr8r /JXDTPR-NimbusSanL-Regu def
+ /cmr8 /ZVWFFO-CMR8 def
%%EndSetup
%%Page: 1 1
0 0 0 setrgbcolor
newpath -0.09962 0.09962 moveto
-0.09962 -0.09962 lineto
0.09962 -0.09962 lineto
-65.06522 -0.09962 lineto
-65.06522 0.09962 lineto
-65.06522 56.58049 lineto
-64.86597 56.58049 lineto
--0.09962 56.58049 lineto
--0.09962 56.38124 lineto
+211.90288 -0.09962 lineto
+211.90288 0.09962 lineto
+211.90288 50.93224 lineto
+211.70363 50.93224 lineto
+-0.09962 50.93224 lineto
+-0.09962 50.73299 lineto
-0.09962 -0.09962 lineto
0.09962 -0.09962 lineto
0.09962 0.09962 lineto
-0.09962 56.58049 lineto
-0.09962 56.38124 lineto
-65.06522 56.38124 lineto
-64.86597 56.38124 lineto
-64.86597 -0.09962 lineto
-64.86597 0.09962 lineto
+0.09962 50.93224 lineto
+0.09962 50.73299 lineto
+211.90288 50.73299 lineto
+211.70363 50.73299 lineto
+211.70363 -0.09962 lineto
+211.70363 0.09962 lineto
closepath fill
- 0 0.51848 dtransform truncate idtransform setlinewidth pop [] 0 setdash
+ 0 0.48956 dtransform truncate idtransform setlinewidth pop [] 0 setdash
1 setlinecap 1 setlinejoin 10 setmiterlimit
-newpath 14.1732 17.70528 moveto
-27.95216 9.75003 lineto stroke
-newpath 17.762 19.66449 moveto
-29.69772 12.77344 lineto stroke
-newpath 37.25676 9.74995 moveto
-51.03572 17.70528 lineto stroke
- 0 1 0 setrgbcolor 0.51848
+newpath 16.65692 12.80867 moveto
+29.14793 5.59703 lineto stroke
+newpath 18.2579 15.58165 moveto
+29.07265 9.3378 lineto stroke
+newpath 29.14793 5.59703 moveto
+45.9096 15.27437 lineto stroke
+ 0 1 0 setrgbcolor 0.48956
0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 51.03572 17.70528 moveto
-51.03572 38.98781 lineto stroke
-newpath 47.5446 19.83366 moveto
-47.5446 36.85942 lineto stroke
- 0 0 0 setrgbcolor 0 0.51848 dtransform truncate idtransform setlinewidth pop
-newpath 51.03572 38.98781 moveto
-37.25676 46.94304 lineto stroke
-newpath 27.95216 46.94312 moveto
-14.1732 38.98781 lineto stroke
-newpath 29.69772 43.91971 moveto
-17.762 37.0286 lineto stroke
- 0.51848 0 dtransform exch truncate exch idtransform pop setlinewidth
-newpath 14.1732 38.98781 moveto
-14.1732 17.70528 lineto stroke
+newpath 45.9096 15.27437 moveto
+45.9096 34.62903 lineto stroke
+newpath 42.70766 17.20995 moveto
+42.70766 32.69345 lineto stroke
+ 0 0 0 setrgbcolor 0 0.48956 dtransform truncate idtransform setlinewidth pop
+newpath 45.9096 34.62903 moveto
+33.41847 41.84073 lineto stroke
+newpath 24.87727 41.84067 moveto
+12.38626 34.62903 lineto stroke
+newpath 26.47826 39.06769 moveto
+15.66351 32.82384 lineto stroke
+ 0.48956 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 12.38626 34.62903 moveto
+12.38625 19.54489 lineto stroke
+ 0 0.48956 dtransform truncate idtransform setlinewidth pop
+newpath 45.9096 15.27437 moveto
+56.46082 9.18266 lineto stroke
+newpath 45.9096 34.62903 moveto
+56.46082 40.7208 lineto stroke
1 0 0 setrgbcolor
-newpath 28.79805 3.2576 moveto
-29.57579 3.2576 lineto
-29.57579 10.8704 lineto
-28.79805 10.8704 lineto
+newpath 8.89218 11.78027 moveto
+9.62653 11.78027 lineto
+9.62653 18.76845 lineto
+8.89218 18.76845 lineto
closepath fill
-newpath 35.63312 3.2576 moveto
-36.41086 3.2576 lineto
-36.41086 10.8704 lineto
-35.63312 10.8704 lineto
+newpath 15.14601 11.78027 moveto
+15.88036 11.78027 lineto
+15.88036 18.76845 lineto
+15.14601 18.76845 lineto
closepath fill
-newpath 29.88689 10.8704 moveto
-28.79805 10.8704 lineto
-35.32202 3.2576 lineto
-36.41086 3.2576 lineto
+newpath 9.92026 18.76845 moveto
+8.89218 18.76845 lineto
+14.85228 11.78027 lineto
+15.88036 11.78027 lineto
closepath fill
0 0 1 setrgbcolor
-newpath 28.79805 45.82266 moveto
-29.57579 45.82266 lineto
-29.57579 53.43547 lineto
-28.79805 53.43547 lineto
+newpath 25.65384 40.81227 moveto
+26.38818 40.81227 lineto
+26.38818 47.80045 lineto
+25.65384 47.80045 lineto
+ closepath fill
+newpath 31.90767 40.81227 moveto
+32.64201 40.81227 lineto
+32.64201 47.80045 lineto
+31.90767 47.80045 lineto
+ closepath fill
+newpath 26.68192 47.80045 moveto
+25.65384 47.80045 lineto
+31.61394 40.81227 lineto
+32.64201 40.81227 lineto
+ closepath fill
+ 0 0 0 setrgbcolor 0 0.73434 dtransform truncate idtransform setlinewidth pop
+ 0 setlinecap
+newpath 63.83809 7.838 moveto
+63.7824 8.70033 63.5772 9.48912 62.82791 9.8439 curveto
+61.94322 10.2628 59.51965 10.2628 58.63496 9.8439 curveto
+57.56453 9.33705 57.60452 7.94446 57.60452 6.717 curveto
+57.60452 5.48953 57.56453 4.09692 58.63496 3.59007 curveto
+59.51965 3.17117 61.94322 3.17117 62.82791 3.59007 curveto
+63.5772 3.94485 63.7824 4.73364 63.83809 5.596 curveto stroke
+newpath 71.62305 6.717 moveto
+71.62305 7.94446 71.66304 9.33705 70.5926 9.8439 curveto
+69.70792 10.2628 67.28435 10.2628 66.39966 9.8439 curveto
+65.32922 9.33705 65.36922 7.94446 65.36922 6.717 curveto
+65.36922 5.48953 65.32922 4.09692 66.39966 3.59007 curveto
+67.28435 3.17117 69.70792 3.17117 70.5926 3.59007 curveto
+71.66304 4.09692 71.62305 5.48953 71.62305 6.717 curveto closepath stroke
+newpath 79.38774 6.717 moveto
+79.38774 7.94446 79.42773 9.33705 78.3573 9.8439 curveto
+77.47261 10.2628 75.04904 10.2628 74.16435 9.8439 curveto
+73.09392 9.33705 73.13391 7.94446 73.13391 6.717 curveto
+73.13391 5.48953 73.09392 4.09692 74.16435 3.59007 curveto
+75.04904 3.17117 77.47261 3.17117 78.3573 3.59007 curveto
+79.42773 4.09692 79.38774 5.48953 79.38774 6.717 curveto closepath stroke
+newpath 80.53143 3.2229 moveto
+81.26578 3.2229 lineto
+81.26578 10.21107 lineto
+80.53143 10.21107 lineto
+ closepath fill
+ 1 setlinecap
+newpath 80.8986 6.717 moveto
+87.15244 6.717 lineto stroke
+newpath 86.78526 3.2229 moveto
+87.5196 3.2229 lineto
+87.5196 10.21107 lineto
+86.78526 10.21107 lineto
+ closepath fill
+newpath 57.23735 39.6923 moveto
+57.9717 39.6923 lineto
+57.9717 46.68048 lineto
+57.23735 46.68048 lineto
+ closepath fill
+newpath 63.49118 39.6923 moveto
+64.22552 39.6923 lineto
+64.22552 46.68048 lineto
+63.49118 46.68048 lineto
closepath fill
-newpath 35.63312 45.82266 moveto
-36.41086 45.82266 lineto
-36.41086 53.43547 lineto
-35.63312 53.43547 lineto
+newpath 58.26543 46.68048 moveto
+57.23735 46.68048 lineto
+63.19745 39.6923 lineto
+64.22552 39.6923 lineto
closepath fill
-newpath 29.88689 53.43547 moveto
-28.79805 53.43547 lineto
-35.32202 45.82266 lineto
-36.41086 45.82266 lineto
+newpath 71.62305 43.1864 moveto
+71.62305 44.41386 71.66304 45.80646 70.5926 46.31331 curveto
+69.70792 46.73221 67.28435 46.73221 66.39966 46.31331 curveto
+65.32922 45.80646 65.36922 44.41386 65.36922 43.1864 curveto
+65.36922 41.95894 65.32922 40.56633 66.39966 40.05948 curveto
+67.28435 39.64058 69.70792 39.64058 70.5926 40.05948 curveto
+71.66304 40.56633 71.62305 41.95894 71.62305 43.1864 curveto closepath stroke
+ 0 setlinecap
+newpath 73.13391 36.28728 moveto
+77.29126 39.65347 lineto
+77.72874 41.04623 76.6722 42.45798 75.21259 42.43095 curveto
+73.91333 42.40689 72.97609 41.28598 73.00684 40.0298 curveto stroke
+newpath 77.65843 35.80995 moveto
+77.65843 36.5443 lineto
+72.76674 36.5443 lineto
+72.76674 35.80995 lineto
closepath fill
+10.60391 52.25127 moveto
+(\(draw\)) uhvr8r 9.96265 fshow
+ 0 0.48956 dtransform truncate idtransform setlinewidth pop 1 setlinecap
+newpath 132.84317 12.80867 moveto
+145.33418 5.59703 lineto stroke
+newpath 134.44415 15.58165 moveto
+145.2589 9.3378 lineto stroke
+newpath 145.33418 5.59703 moveto
+162.09586 15.27437 lineto stroke
+ 0.48956 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 162.09586 15.27437 moveto
+162.09586 34.62903 lineto stroke
+newpath 158.8939 17.20995 moveto
+158.8939 32.69345 lineto stroke
+ 0 0.48956 dtransform truncate idtransform setlinewidth pop
+newpath 162.09586 34.62903 moveto
+149.60472 41.84073 lineto stroke
+newpath 141.06352 41.84067 moveto
+128.57251 34.62903 lineto stroke
+newpath 142.6645 39.06769 moveto
+131.84976 32.82384 lineto stroke
+ 0.48956 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 128.57251 34.62903 moveto
+128.5725 19.54489 lineto stroke
+ 0 0.48956 dtransform truncate idtransform setlinewidth pop
+newpath 162.09586 15.27437 moveto
+172.64706 9.18266 lineto stroke
+newpath 162.09586 34.62903 moveto
+172.64706 40.7208 lineto stroke
+124.69017 11.39201 moveto
+(N) cmr8 7.73563 fshow
+141.45183 40.42401 moveto
+(N) cmr8 7.73563 fshow
+173.03534 2.83464 moveto
+(C) cmr8 7.73563 fshow
+180.80003 2.83464 moveto
+(O) cmr8 7.73563 fshow
+188.56473 2.83464 moveto
+(O) cmr8 7.73563 fshow
+196.32942 2.83464 moveto
+(H) cmr8 7.73563 fshow
+173.03534 39.30405 moveto
+(N) cmr8 7.73563 fshow
+180.80003 39.30405 moveto
+(O) cmr8 7.73563 fshow
+188.56473 35.42169 moveto
+(2) cmr8 7.73563 fshow
+126.79016 52.25127 moveto
+(\(cmr8\)) uhvr8r 9.96265 fshow
showpage
%%EOF
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 66bc6f1a257..21e5c047ba9 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.05.24
+% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.07.12
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-input mcf2graph.mf; %% it must be version 4.23 or later
+input mcf2graph.mf; %% it must be version 4.24 or later
%------------------------------------------------------------------------
sw_auxout:=0;
sw_mol_frame:=0;
@@ -471,11 +471,21 @@ beginfont("EN:change atom and substituent")
MCf(<30,!2,NH,!2,SO,!2,SOO,!)
endfont
%***********************************************************************
-beginfont("EN:Change color")
- font_ht:=20mm;
+beginfont("EN:Change color,font")
+ font_wd:=75mm;
+ font_ht:=18mm;
sw_clip:=1;
- margin_left_right:=5mm;
- MCf(<30,Ph,{2,5}:N,2:red,5:blue,3=green)
+ sw_label:=1;
+ defaultfont:="uhvr8r";
+ defaultsize:=8bp;
+ atomfontsize:=8bp;
+ margin_left_right:=3mm;
+ MCa(0,0.5)(<30,Ph,{1,5}:N,3:/COOH,4:/NO2,1:red,5:blue,3=green)
+ ext(label.urt("(draw)",p0+(0,ht));)
+ atomfont:="cmr8";
+ atomfontsize:=8bp;
+ MCa(1,0.5)(<30,Ph,{1,5}:N,3:/COOH,4:/NO2)
+ ext(label.urt("(cmr8)",p0+(0,ht));)
endfont
%***********************************************************************
beginfont("EN:Make brock")
@@ -500,14 +510,14 @@ beginfont("EN:not good")
endfont;
%***********************************************************************
beginfont("EN:User definition")
- font_ht:=15mm;
+ font_ht:=12mm;
sw_clip:=1;
iBuOH:='(!,/_,!,OH);
MCf(<30,?6,{4,6}:/iBuOH)
endfont
%***********************************************************************
beginfont("EN:Inline definition")
- font_ht:=15mm;
+ font_ht:=12mm;
margin_left_right:=2mm;
sw_clip:=1;
MCf(<30,!3,/'(!,/_,!,OH),!3)
@@ -916,7 +926,7 @@ beginfont("EN:EXT()")
drawarrow (0.52w,0.5h)..(0.6w,0.5h);
defaultscale:=0.7;
label("+",(0.25w,0.5h));
- label.bot("Diels-Alder Reaction",(0.5w,1h));
+ label.bot("Diels-Alder Reaction",(0.5w,h));
)
endfont
%***********************************************************************
@@ -927,7 +937,7 @@ beginfont("EN:ext()")
ext(
B7:=0.37[Bs7,Be7];
label.top("+",A7);
- drawarrow B3..((B7-B3) scaled 0.6 rotated -45 shifted B3)..B7;
+ drawarrow B3{dir 0}..{dir 150}B7;
)
MCd(1,0.7)(1,0.5)(<30,?6,4://CH3)
ext(
@@ -1062,3 +1072,21 @@ beginfont("EN:Cholesterol","CAS:57-88-5","FM:C27H46O","MW:386.65")
endfont
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bye
+%%%%%%%%%%%%%%%%%%%%%%%
+bye
+ye
+%%%%%%%%%%
+bye
+%%%%
+bye
+ye
+%%%%%%%%%%
+bye
+%%%%%%%%%%%%%%%%%%%%%%%
+bye
+ye
+%%%%%%%%%%
+bye
+%%%%
+bye
+ye
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf
index 312eef77182..e3118dfadd2 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 8fdb87a1527..fa6407cebaf 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.06.04
+% Molecular Coding Format manual by Akira Yamaji 2017.07.17
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper]{article}
%%%%\usepackage{graphicx}
@@ -534,16 +534,24 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\
\end{verbatim}
\MCFstructure
%-----------------------------------------------------------------------------
-\subsubsection{Change color}
+\subsubsection{Change color, atom font}
\begin{verbatim}
- 5:green : change color of A5 green
- 3=red : change color of B3 red
- ** METAFONT ignore color command
+ 1=green : change color of B1 green
+ 3:red : change color of A3 red
+ atomfont:="cmr8" : use cmr8 for atom font
- <30,Ph,{2,5}:N,2:red,5:blue,3=green
+ defaultfont:="uhvr8r";
+ defaultsize:=8bp;
+ MCa(0,0.5)(<30,Ph,{1,5}:N,3:/COOH,4:/NO2,
+ 1:red,5:blue,3=green)
+ ext(label.urt("(draw)",p0+(0,ht));)
+ atomfont:="cmr8"; % default:"draw"
+ atomfontsize:=8bp; % default:8bp
+ MCa(1,0.5)(<30,Ph,{1,5}:N,3:/COOH,4:/NO2)
+ ext(label.urt("(cmr8)",p0+(0,ht));)
\end{verbatim}
+\hspace{5mm}\includegraphics{mcf_man_soc-064.eps}% for dvipdfmx
%%%%\MCFstructure % for Metafont
-\includegraphics{mcf_man_soc-064.eps}% for dvipdfmx
\advance\fontnum\@ne\relax\advance\tempnum\@ne\relax%
%-----------------------------------------------------------------------------
\subsubsection{Make block}
@@ -570,18 +578,15 @@ pk font,PNG,SVG,EPS or MDL MOL file(V2000).\\
%-----------------------------------------------------------------------------
\subsubsection{User definition}
\begin{verbatim}
- iBuOH : user defined substructure
-
- iBuOH:='(!,/_,!,OH)
- MCf(<30,?6,{4,6}:/iBuOH)
+ user defined substructure
+ iBuOH:='(!,/_,!,OH)
+ <30,?6,{4,6}:/iBuOH
\end{verbatim}
\MCFstructure
%-----------------------------------------------------------------------------
-\subsubsection{Inline definition}
\begin{verbatim}
Insert user defined substructure
-
- <30,!3,/'(!,/_,!,OH),!3
+ <30,!3,/'(!,/_,!,OH),!3
\end{verbatim}
\MCFstructure
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1067,7 +1072,7 @@ beginfont()
defaultscale:=0.7;
label("+",(0.25w,0.5h));
label.bot("Diels-Alder Reaction",
- (0.5w,1h));
+ (0.5w,h));
)
%---------------------------------------
endfont
@@ -1103,8 +1108,7 @@ beginfont()
ext(
label.top("+",A7);
B7:=0.37[Bs7,Be7];
- drawarrow B3..((B7-B3) scaled 0.6
- rotated -45 shifted B3)..B7;
+ drawarrow B3{dir 0}..{dir 150}B7;
)
%---------------------------------------
MCd(1,0.7)(1,0.5)(<30,?6,4://CH3)
@@ -1122,9 +1126,9 @@ endfont
\MCFstructure
\begin{verbatim}
label:
- sw_label=0: emulation mode
- sw_label=1: plain.mp mode
- **default sw_label=0
+ defaultfont: label font
+ defaultfont="draw": draw font
+ **default defaultfont="draw"
drawarrow & drawdblarrow:
sw_arrow=0: emulation mode
@@ -1311,14 +1315,14 @@ beginfont("NO:1","EN:Ampicillin") > begin font(information)
MCf(<45,?4,2:N,2=?5,-1:S, > begin MCF (1)
{3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18, >
{6^35,6^-35}:/_, >
- 4:@,75,NH,!,//O,!,/*NH,!,Ph) > end MCF
+ 4:@,75,NH,!,//O,!,/*NH,!,Ph) > end MCF
endfont > end font
%------------------------------------------------------------------------
beginfont("NO:2","EN:Cholesterol") > begin font(information)
MCf(<30,?6,{-4,-2}=?6,-4=?5,7=dl, > begin MCF (2)
1:*/OH,{4,12}:*/_^60,9:*/H^60, >
10:/*H^180,{11,-1}:/*H^-60, >
- -1:@,17,/*_,!4,/_,!) > end MCF
+ -1:@,17,/*_,!4,/_,!) > end MCF
endfont > end font
%------------------------------------------------------------------------
beginfont("NO:3","EN:Limonin") > begin font(information)
@@ -1327,20 +1331,20 @@ beginfont("NO:3","EN:Limonin") > begin font(information)
{13,15,17,20}:O,{3,12,21}://O, >
{4~wf^60,8~zf^60,18^35,18^-35}:/_, >
{1^60,5^180,16^60}:/*H, >
- 14:\*,|,?5,{1,4}=dl,3:O) > end MCF
+ 14:\*,|,?5,{1,4}=dl,3:O) > end MCF
endfont > end font
%------------------------------------------------------------------------
beginfont("NO:4","EN:beta-carotene) > begin font(information)
MCf(<30,?6,3=dl,{3,5^35,5^-35}:/_, > begin MCF (4)
- 4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr, >
+ 4:\,|,!18,{1,3,5,7,9,11,13,15,17}=dr, >
{3,7,12,16}:/_, >
|,?6,6=dl,{6,2^35,2^-35}:/_) > end MCF
endfont > end font
%------------------------------------------------------------------------
beginfont("NO:5","EN:Gibberellin A3"); > begin font(information)
MCf(<18,?5,3=?7,5=?6[12], > begin MCF (5)
- 8:@,160`1.3,&3,13=dl,6=wf,8=wb, >
- 5:@,40~zf`1,O,60,//O^180,&14~zb, >
+ 8:@,160`1.3,&3,13=dl,6=wf,8=wb, >
+ 5:@,40~zf`1,O,60,//O^180,&14~zb, >
2:/COOH,7://_,13:*/OH,8:/*OH, >
14:*/_,{1^60,4^60}:*/H) > end MCF
endfont; > end font
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 ab18b688ad0..4ad2bfe7c90 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 b1c902b687d..5888f7073a0 100644
--- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
+++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex
@@ -1,11 +1,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.06.04
+% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.07.17
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% mcf2graph.mf it must be version 4.23 or later
+%%% mcf2graph.mf it must be version 4.24 or later
\documentclass{article}
%------------------------------------------------------------------------------
\usepackage{luamplib}%
-\usepackage{lmodern}%
+%%%%%%%\usepackage{lmodern}%
\usepackage[T1]{fontenc}%
\usepackage{textcomp}%
\mplibcodeinherit{enable}%
diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
index 4747e63571f..92631563f66 100644
--- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
+++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 4.23 Copyright (c) 2013-2017 Akira Yamaji
+% mcf2graph ver 4.24 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,
@@ -31,19 +31,19 @@
% Set to use plain.mp label,arrow : mpost -s ahlength=3 FILENAME
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
tracingstats:=1;
-message " This is mcf2graph ver 4.2 2017.6";
+message " This is mcf2graph ver 4.2 2017.7";
%-------------------------------------------------------------------------------------------------
newinternal nA,nB,nC,nD,nE,nF,char_num,str_cnt,sub_usr,sub_int,tbl_cnt;
numeric save_para[],comD[][],parD[][],cntD[],tbl_str_wd[],tbl_atom[],tbl_subst[][],tbl_atom_wt[],
- tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],tbl_char_dp[];
-string tbl_atom_str[],strD[],var[],tag[],mp_log_name,aux_delimiter;
-picture atom_font[],str_font[],mol_stru[],save_pict;
-pen save_pen;
+ tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[];
+string tbl_atom_str[],strD[],var[],tag[],mp_log_name,aux_delimiter,atomfont,
+ save_atomfont,save_defaultfont;
+picture mol_stru[];
path arrow_path,arrow_head;
%-------------------------------------------------------------------------------------------------
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:=0;
+sw_atom_frame:=sw_report:=sw_MOLout:=sw_subst_off:=sw_bond_single:=sw_auxfix:=sw_arrow:=0;
numberA_start:=numberB_start:=1; numberA_end:=numberB_end:=4095; aux_max:=max_inf_num:=20;
aux_delimiter:=";"; var1:="jobname"; tag1:="F"; var2:="char_num"; tag2:="C";
for i=3 upto aux_max: var[i]:=tag[i]:=""; endfor
@@ -51,14 +51,17 @@ for i=3 upto aux_max: var[i]:=tag[i]:=""; endfor
if (known green)and(known ahlength):
f_MP:=1;
color color_list[];
+ atomfont:=defaultfont:="";
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; sw_arrow:=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
- elseif ahangle=3: sw_MOLout:=1; def shipit = enddef; % MDL Molefile on
+ if ahlength=1: proc_end:=1; % first molecular only
+ elseif ahlength=2: sw_report:=1; def shipit = enddef; % report on
+ elseif ahlength=3: sw_arrow:=1; defaultfont:="uhvr8r"; % use mp label
+ elseif ahlength=5: sw_arrow:=1; defaultfont:=atomfont:="uhvr8r"; % use mp atom,label
+ fi
+ 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
+ elseif ahangle=3: sw_MOLout:=1; def shipit = enddef; % MDL Molefile on
fi
outputtemplate:="%j-%3c."&outputformat;
def beginchar(expr a,b,c,d)= beginfig(a) w:=b*pt; h:=c*pt; enddef;
@@ -66,8 +69,8 @@ if (known green)and(known ahlength):
def printf expr s= write s to mp_log_name enddef;
def # = enddef;
def Cp(expr s) = if known s: if s<>0: withcolor color_list[s] fi fi enddef;
- if unknown sw_label: sw_label:=0; fi
- if unknown sw_arrow: sw_arrow:=0; fi
+ if atomfont="": atomfont:="draw"; fi % default atom font
+ if defaultfont="": defaultfont:="draw"; fi % default label font
else: f_MP:=0;
string defaultfont;
dotlabeldiam:=3bp;
@@ -75,9 +78,11 @@ else: f_MP:=0;
def color = transform enddef;
def printf expr s= message s enddef;
%-----------------------------------------------------------------------
- sw_label:=sw_arrow:=0;
+ sw_arrow:=0;
dotlabeldiam:=3bp;
%-----------------------------------------------------------------------
+ atomfont:="draw";
+ defaultfont:="draw";
mode_setup;
fi
clearit;
@@ -95,16 +100,17 @@ offset_atom:=0.8pt; offset_wedge:=0.4pt; thickness_font_frame:=0
max_bond_length:=10mm; bond_len:=8mm;
font_wd:=30mm; font_ht:=20mm;
%==================================================================================================
-defaultfont:="uhvr8r"; % Helvetica
+%%%%defaultfont:="uhvr8r"; % Helvetica
%%%%defaultfont:="ucrr8r"; % Courier
%%%%defaultfont:="ucrb8r"; % Courier bold
%%%%defaultfont:="utmr8r"; % Times
ahangle:=45;
ahlength:=4bp;
defaultsize:=8bp;
-ext_defaultline:=0.5bp;
-ext_defaultscale:=defaultscale:=1;
+atomfontsize:=8bp;
+defaultscale:=1;
labeloffset:=3bp;
+ext_defaultline:=0.5bp;
%==================================================================================================
sub_emb_start:=500; % 500 => 2499 for embedded sub structure (max 2000)
sub_usr_start:=2500; % 2500 => 2999 for user sub structure (max 500)
@@ -120,12 +126,13 @@ 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,sw_arrow,
+ sw_atom_frame,sw_font_frame,sw_subst_off,sw_bond_single,sw_clip,sw_arrow,
margin_left_right,margin_top_bottom,ratio_atom_bond,ratio_thickness_bond,ratio_char_bond,
ratio_chain_ring,ratio_bondgap_bond,ratio_zebra_black,ratio_zebragap_bond,
ratio_wedge_bond,ratio_atomgap_atom,ratio_bond_width,font_wd,font_ht,labeloffset,
bond_len,offset_atom,offset_wedge,max_bond_length,offset_zebra_gap,offset_bond_gap,
- thickness_font_frame,offset_thickness,numberA_start,numberA_end,numberB_start,numberB_end
+ thickness_font_frame,offset_thickness,numberA_start,numberA_end,numberB_start,numberB_end,
+ atomfontsize,defaultsize,defaultscale,labeloffset
enddef;
%--------------------------------------------------------------------------------------------------
vardef pic_c(expr i,s)= substring(i,i+1) of s enddef;
@@ -139,6 +146,8 @@ def restore_par(text t)= nA:=0;
def beginfont(text s)=
char_num:=char_num+1;
store_par(parameter_list);
+ save_atomfont:=atomfont;
+ save_defaultfont:=defaultfont;
begingroup
save cntA,cntB,cntM,minX,minY,f_beginchar,numS,sftX,sftY,f_ext,
posBs,posBe,posA,posM,lineB,sB,eB,angB,angA,lenB,ang_br,info,pT;
@@ -174,7 +183,7 @@ def endfont=
pT:=(margin_left_right,margin_top_bottom);
draw_frame(pT,nA,nB,thickness_font_frame); fi
if sw_font_frame=4: draw_corner(w,h,thickness_font_frame); fi
- if (sw_auxout=1)or(sw_report=1)or(sw_MOLout=1): proc_calc_out; fi
+ if ((sw_auxout=1)or(sw_report=1)or(sw_MOLout=1))and(f_MP=1): proc_calc_out; fi
for i=1 upto cntM:
addto currentpicture also mol_stru[i] shifted posM[0][i]; mol_stru[i]:=nullpicture;
endfor
@@ -183,6 +192,8 @@ def endfont=
clearit;
endgroup;
restore_par(parameter_list);
+ atomfont:=save_atomfont;
+ defaultfont:=save_defaultfont;
if proc_end=1: scantokens("bye"); fi
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -269,18 +280,11 @@ enddef;
%-------------------------------------------------------------------------------------------------
def FRR(expr a)(expr b)(expr c) =
PA(_jp_bond,a) PA(_rot_ang,180) PA(_push,0) PA(_chg_len,c DIV 10)
- if b==5::
- PA(_mk_bond,72-((c-9) MUL 1.5)) PA(_mk_bond,72+(c-9)) PA(_mk_bond,72+(c-9))
- elseif b==6::
- PA(_mk_bond,60-(c-8))
- PA(_mk_bond,60+((c-8) DIV 2)) PA(_mk_bond,60+((c-8) DIV 2)) PA(_mk_bond,60+((c-8) DIV 2))
- elseif b==7::
- PA(_mk_bond,(360 DIV 7)-(c-8))
- PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5))
- PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5))
- elseif b==8::
- PA(_mk_bond,45-(c-8)) PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3))
- PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3)) PA(_mk_bond,45+((c-8) DIV 3))
+ if b==5:: PA(_mk_bond,72-((c-9) MUL 1.5)) PA(_mk_bond,72+(c-9)) PA(_mk_bond,72+(c-9))
+ elseif b==6:: PA(_mk_bond,60-(c-8)) for i==1 upto 3:: PA(_mk_bond,60+((c-8) DIV 2)) endfor
+ elseif b==7:: PA(_mk_bond,360 DIV 7-(c-8))
+ for i==1 upto 4:: PA(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) endfor
+ elseif b==8:: PA(_mk_bond,45-(c-8)) for i==1 upto 5:: PA(_mk_bond,45+((c-8) DIV 3)) endfor
fi
PA(_pop,0) if a>=1:: PA(_cyc_eB,0) else:: PA(_cyc_eB,list) fi
enddef;
@@ -313,13 +317,10 @@ vardef change_atom(text t)(expr e)=
sub_int:=sub_int+1;
cntD[sub_int]:=0;
if known e:: if numeric e::
- if (e>=H)and(e<=U)::
- if e==N:: PP(t)(_N)
- elseif e==O:: PP(t)(_O)
- elseif e==S:: PP(t)(_S)
- else:: PX(t)(_chg_atom,e)
- fi
- elseif e==NH:: PA(_set_clr,1) PP(t)(_N) PX(t)(_postH,H) PA(_set_clr,0)
+ if (e>=H)and(e<=U):: if e==N:: PP(t)(_N) elseif e==O:: PP(t)(_O) elseif e==S:: PP(t)(_S)
+ else:: PX(t)(_chg_atom,e)
+ fi
+ elseif e==NH:: PA(_set_clr,1) PP(t)(_N) PX(t)(_postH,H) PA(_set_clr,0)
elseif e==JP_AT:: PA(_jp_atom,t)
fi
elseif pair e:: PA(_set_clr,1) PX(t)(xpart(e),ypart(e)) PA(_set_clr,0)
@@ -333,11 +334,9 @@ def ext_setup=
dotlabeldiam:=3bp;
labeloffset:=3bp;
em=defaultscale*defaultsize;
- currentscale:=defaultscale:=ext_defaultscale;
- if sw_label=0:
+ if (defaultfont="draw")or(f_MP=0):
def label = label_emu enddef;
def dotlabel = dotlabel_emu enddef;
- ext_use_font(defaultscale*defaultsize)(0.12defaultscale*defaultsize);
fi
if sw_arrow=0:
def drawarrow = drawarrow_emu enddef;
@@ -347,7 +346,7 @@ enddef;
%--------------------------------------------------------------------------------------------------
def EXT(text s)=
begingroup
- save w,h,wd,ht,n,p,am,em,aw,currentscale;
+ save w,h,wd,ht,n,p,am,em,aw;
pair p[];
ext_setup;
w:=font_wd;
@@ -364,7 +363,7 @@ enddef;
%--------------------------------------------------------------------------------------------------
def ext(text s)=
begingroup
- save wd,ht,n,l,p,am,em,aw,A,B,Bs,Be,currentscale;
+ save wd,ht,n,l,p,am,em,aw,A,B,Bs,Be;
numeric A[]bra,B[]ang;
pair p[],A[],B[],Bs[],Be[];
ext_setup;
@@ -385,31 +384,19 @@ def ext(text s)=
endgroup;
enddef;
%==================================================================================================
-def ext_use_font(expr WD)(expr PEN)=
- save_pict:=currentpicture; clearit;
- save_pen:=currentpen;
- for i=1 upto 128: f_char[i]:=1; endfor
- proc_char_setup(str_font)(WD)(PEN);
- currentpicture:=save_pict;
- currentpen:=save_pen;
-enddef;
-%--------------------------------------------------------------------------------------------------
def ext_puts(expr PA)(expr STR)=
begingroup
- save cp;
+ save cp,sA;
pair cp;
+ string sA;
cp:=PA;
- nB:=0;
- %----------------------------------------------------------------------------------
+ %------------------------------------------------------------------------------------------------
for i=0 upto length(STR)-1:
- nA:=ASCII(pic_c(i,STR));
- 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,defaultscale*defaultsize*(nB-tbl_char_dp[nA])));
- cp:=cp+(defaultscale*defaultsize*tbl_char_wd[nA],0);
- fi
+ sA:=pic_c(i,STR);
+ nA:=ASCII(sA);
+ nB:=defaultscale*defaultsize;
+ draw_char(sA,cp,nB,0.35*ratio_char_bond*bp,0);
+ cp:=cp+(nB*tbl_char_wd[nA],0);
endfor
endgroup;
enddef;
@@ -418,10 +405,6 @@ vardef label_emu@#(expr STR,POS) = %% modified 'thelabel@#(expr s,z)' of plain.m
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;
- if currentscale<>defaultscale:
- ext_use_font(defaultscale*defaultsize)(0.12defaultscale*defaultsize);
- currentscale:=defaultscale;
- fi
for i=0 upto length(STR)-1:
wds:=wds+defaultscale*defaultsize*tbl_char_wd[ASCII(pic_c(i,STR))];
endfor
@@ -533,7 +516,6 @@ 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)(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
@@ -558,10 +540,10 @@ def MCd(expr RW,RH)(expr FW,FH)(text TX)=
addto mol_stru[cntM] also currentpicture;
clearit;
endgroup;
- %--------------------------------------------------------------------------------------------------
+ %-----------------------------------------------------------------------------------------------
%%%% message "count of usr ="& decimal(sub_usr) &" "& decimal(sub_usr-sub_usr_start);
%%%% message "count of int ="& decimal(sub_int) &" "& decimal(sub_int-sub_int_start);
- %--------------------------------------------------------------------------------------------------
+ %-----------------------------------------------------------------------------------------------
enddef;
%-------------------------------------------------------------------------------------------------
def ps_put(expr n,p)=
@@ -799,15 +781,16 @@ enddef;
def draw_atom(expr NUM,POS,ANG,STR,WD)=
begingroup
save pA,pT,dx;
+ string sB;
pair pA,pT;
%----------------------------------------------------------------------------------------------
if ((ANG mod 360)<=90+1)or((ANG mod 360)>=270-1): dx:=1; else: dx:=-1; fi
pT:=POS-(0.5atom_wd*dx*WD,0.5atom_wd);
nE:=nC:=0;
for i=0 upto length(STR)-1:
- nB:=ASCII(pic_c(i,STR));
- if dx<0: if nB=par_s:k:=i+1; nC:=1; forever:exitif pic_c(i+(incr nC),STR)="}";endfor fi
- if nC>0: nB:=ASCII(pic_c(k+(decr nC),STR)); fi
+ sB:=pic_c(i,STR); nB:=ASCII(sB);
+ if dx<0: if nB=par_s: k:=i+1; nC:=1; forever: exitif pic_c(i+(incr nC),STR)="}";endfor fi
+ if nC>0: sB:=pic_c(k+(decr nC),STR); nB:=ASCII(sB); fi
fi
if nB=score_u: if nE=0: nE:=-.5; else: nE:=0; fi;
elseif nB=hat: if nE=0: nE:= .5; else: nE:=0; fi;
@@ -816,9 +799,14 @@ def draw_atom(expr NUM,POS,ANG,STR,WD)=
pA:=pT+(0.5*((dx-1)*nA),nE*atom_wd);
if sw_atom_frame=1: draw_frame(pA,nA,atom_wd,0.1pt); fi
if (sw_numberA>=1)or(sw_numberB>=1):
- erase fill unitsquare xscaled nA yscaled atom_wd shifted pA wpcs 0.01pt; fi
- addto currentpicture also atom_font[nB]
- shifted (pA-(0,atom_wd*tbl_char_dp[nB])) Cp(colorA[NUM]);
+ erase fill unitsquare xscaled nA yscaled atom_wd shifted pA wpcs 0.01pt;
+ fi
+ if (atomfont<>"draw")and(f_MP=1):
+ addto currentpicture also char(nB) infont atomfont
+ scaled (atom_wd/atomfontsize) shifted pA Cp(colorA[NUM]);
+ else:
+ draw_char(sB,pA,atom_wd,bond_pen_wd*ratio_char_bond,NUM);
+ fi
pT:=pT+(nA*dx,0);
fi
endfor
@@ -915,13 +903,8 @@ def ring expr n= <((-180 DIV n)-90),(_chg_len,0),
for i=3 upto 20: ?[i]:='(|:,ring i,:|); endfor
Ph:=Ph1:='(?6,(_dl,-2),(_dl,-4),(_dl,-6));
Ph2:='(?6,(_dl,-1),(_dl,-3),(_dl,-5));
-!:=!1:='((_mk_bond,_arg_ang));
-for i=2 upto 20:
- ![i]:='(|:,(_get_len,0),! for j==2 upto i::,! endfor,:|);
-endfor
-!!:='(!,(_mb,db));
-!!!:='(!,(_mb,tm));
-!0:='(<180,180);
+!:=!1:='((_mk_bond,_arg_ang)); !!:='(!,(_mb,db)); !!!:='(!,(_mb,tm)); !0:='(<180,180);
+for i=2 upto 20: ![i]:='(|:,(_get_len,0),! for j==2 upto i::,! endfor,:|); endfor
Me:='(); Et:=!; Pr:=!2; Bu:=!3;
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
@@ -962,135 +945,134 @@ def expand_set=
CH3:=C_HHH; NH:=N_H; NH2:=N_HH; NO2:=N_OO; OH:=O_H; CHO:=CO_H; COOH:=CO_OH; CN:=C_N; SH:=S_H;
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def char_size_set(expr a)(expr b)(expr c)(expr s)=
+def char_size_set(expr a)(expr b)(expr s)=
for j=0 upto length(s)-1: nA:=ASCII(pic_c(j,s));
- tbl_char_wd[nA]:=a; tbl_char_ht[nA]:=b; tbl_char_dp[nA]:=c;
+ tbl_char_wd[nA]:=a; tbl_char_ht[nA]:=b;
endfor
enddef;
%---------------------------------------------------------------
-char_size_set( 1)( 1)( 0)("CGHMNOQ");
-char_size_set(.9)( 1)( 0)("ABDEFIJKLPRSTUVWXYZ-+/><m");
-char_size_set(.7)( 1)( 0)(" ()0123456789nhj=*bdtf");
-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)("^_");
+char_size_set( 1)( 1)("CGHMNOQ");
+char_size_set(.9)( 1)("ABDEFIJKLPRSTUVWXYZ-+/><m");
+char_size_set(.7)( 1)(" ()[]0123456789nhj=_bdtfgpq");
+char_size_set(.7)(.7)("*");
+char_size_set(.5)( 1)("il");
+char_size_set(.7)(.8)("acekosuvxzwry");
+char_size_set(.4)( 1)(".,:;'`");
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-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);
- 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);
- clearit;
- fi
-enddef;
-%-----------------------------------------------------------------------------------------
-def vL= withpen penrazor scaled fP enddef;
-def hL= withpen penrazor rotated 90 scaled fP enddef;
-def PO=
- Z10..(.8aW,fH)..tension 1.5..(.2aW,fH)..Z09..(.2aW,hP)..tension 1.5..(.8aW,hP)..cycle enddef;
-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;
-%==================================================================================================
-FD(" ")();
-FD(".")(drawdot Z19 wpcs fP);
-FD(",")(drawdot Z19 wpcs fP; draw (hW+.5fP,hP)..(hW+.3fP,-fP)..(hW-.5fP,hP-2fP));
-FD("'")(drawdot Z14 wpcs fP; draw (hW+.5fP,fH)..(hW+.3fP,fH-fP)..(hW-.5fP,fH-2fP));
-FD("`")(drawdot (hW,fH-2fP) wpcs fP;draw (hW-.5fP,fH-2fP)..(hW-.3fP,fH-fP)..(hW+.5fP,fH));
-FD(":")(drawdot (hW,.2aH) wpcs fP; drawdot (hW,.8aH) wpcs fP);
-FD(";")(drawdot (hW,.2aH) wpcs fP; drawdot (hW,.8aH) wpcs fP;draw (hW+hP,.2aH)..(hW-hP,.2aH-2fP));
-FD("(")(draw Z19...Z09...Z14);
-FD(")")(draw Z19...Z10...Z14);
-FD(">")(cutdraw Z01--Z17--Z12);
-FD("<")(cutdraw Z16--Z08--Z04);
-FD("0")(draw Z09...Z14...Z10...Z19...cycle);
-FD("1")(draw Z07--Z06--(hW-hP,fH)--(hW-hP,aH-2.5hP) vL);
-FD("2")(cutdraw SP(0,.71)(hP,1.3hP)--(fW,.55aH)..Z14..(hP,.5aH)..(hW,.27aH); draw Z04--Z01 hL);
-FD("3")(cutdraw SP(0,.77)POh; cutdraw SP(.23,.95)POh sH .5aH-hP; draw (.3aW,hH)--Z20 hL);
-FD("4")(draw (0,.3aH)--(aW,.3aH) hL; draw (.7aW,0)--(.7aW,aH)--(1.2hP,.3aH+hP) vL);
-FD("5")(draw Z12--Z16 hL; draw Z13--(hP,.49aH) vL;
- cutdraw (.5hP,.15aH)..(.65aW,1.3hP)..(fW,.3aH)..(hW,.6aH)..(.6hP,.53aH));
-FD("6")(draw Z19..(fW,.5fW)..(hW,fW)..(hP,.5fW)..cycle; cutdraw (hP,.4aH)--Z06);
-FD("7")(draw (0,.fH)--Z16 hL; draw (aW-1.2hP,aH-fP)--(.4aW,0) vL scaled 1.2);
-FD("8")(draw POh; draw (hP,.75aH)...Z14...(fW,.75aH)...Z20...cycle;);
-FD("9")(draw (Z19..(fW,.5fW)..(hW,fW)..(hP,.5fW)..cycle) sH .32aH; cutdraw (fW,.6aH)--Z07);
-FD("A")(draw Z02--Z06--Z05 vL scaled 1.14; draw .33[Z02,Z06]--.33[Z05,Z06]);
-FD("B")(draw Z13--Z14{right}..(.9fH,.75aH)..{left}(.5aW,hH)--Z09--(.5aW,hH){right}..
- (.9fH,.25aH)..{left}Z19--Z03; draw Z02--Z18 vL);
-FD("C")(cutdraw SP(.05,.95)PO);
-FD("D")(draw Z13--Z14..Z10..Z19--Z03; draw Z02--Z18 vL);
-FD("E")(draw Z04--Z01 hL;draw Z12--Z16 hL;draw Z08--Z17 hL;draw Z02--Z18 vL);
-FD("F")(draw Z12--Z16 hL; draw (0,.45aH)--(fW,.45aH) hL; draw Z02--Z13 vL);
-FD("G")(cutdraw SP(.06,.97)PO; draw bot Z20-- bot Z17 hL);
-FD("H")(draw Z02--Z18 vL; draw Z09--Z10; draw Z05--Z15 vL);
-FD("I")(draw Z19--Z14 vL; draw (hW-fP,hP)--(hW+fP,hP) hL; draw (hW-fP,fH)--(hW+fP,fH) hL);
-FD("J")(cutdraw Z09..(hP,.4aH){down}..{right}Z19{right}..{up}(fW,.4aH)..Z15);
-FD("K")(cutdraw Z02--Z18; cutdraw .5[.45[Z02,Z18],Z16]--Z05; cutdraw .45[Z02,Z18]--Z16);
-FD("L")(draw Z04--Z01 hL; draw Z02--Z18 vL);
-FD("M")(draw Z02--Z18 vL; draw Z18--Z19--Z15 vL scaled 1.14; draw Z15--Z05 vL);
-FD("N")(draw Z02--Z18 vL; draw Z05--Z15 vL;draw (1.4hP,aH)--(aW-1.4hP,0) vL scaled 1.4);
-FD("O")(draw PO);
-FD("P")(draw Z02--Z18 vL; draw Z13--(.3aW,fH){right}..(fW,.7aH)..{left}(.3aW,.44aH)..(hP,.44aH))
-FD("Q")(draw PO; draw (.6aW,.4aH)--Z05);
-FD("R")(draw Z02--Z18 vL; draw Z13--(.3aW,fH){right}..(fW,.7aH)..{left}(.3aW,.44aH)..(hP,.44aH);
- cutdraw Z05{up}..{left}(hW,.44aH));
-FD("S")(cutdraw SP(.05,.45)PO; cutdraw SP(.55,.95)PO; draw (fW,.3aH){up}..{up}(hP,.7aH));
-FD("T")(draw Z12--Z16 hL;draw .5[Z12,Z16]--Z07 vL);
-FD("U")(cutdraw Z18..Z09{down}..{right}Z19{right}..{up}Z10..Z15);
-FD("V")(draw Z18--Z07--Z15 vL scaled 1.2);
-FD("W")(draw Z18--(.25aW,0)--Z06--(.75aW,0)--Z15 vL scaled 1.08);
-FD("X")(draw Z18..Z05 vL scaled 1.4; draw Z02..Z15 vL scaled 1.4);
-FD("Y")(draw Z18--Z20--Z15 vL scaled 1.2; draw Z20--Z07 vL);
-FD("Z")(draw Z12--Z16 hL;draw (1.4hP,fP)--(aW-1.4hP,aH-fP) vL scaled 1.4;draw Z01--Z04 hL);
-FD("-")(draw Z09--Z10 hL);
-FD("=")(draw (hP,.3aH)--(fW,.3aH) hL;draw (hP,.6aH)--(fW,.6aH) hL);
-FD("/")(draw (fW,fH)..Z01);
-FD("+")(draw Z19--Z14 vL; draw Z09--Z10 hL);
-FD("a")(draw Z19..Z10..Z14..Z09..cycle; draw Z05--Z15 vL);
-FD("b")(draw Z19..Z10..Z11..Z09..cycle; draw Z02--(hP,1.2aH) vL);
-FD("c")(cutdraw SP(.06,.94)Z10..Z14..Z09..Z19..cycle);
-FD("d")(draw Z19..Z10..Z11..Z09..cycle; draw Z05--(fW,1.2aH) vL);
-FD("e")(cutdraw SP(0,.92)Z10..Z14..Z09..Z19..cycle; draw Z10--Z09);
-FD("f")(cutdraw (.5aW,0)--(.5aW,.75aH){up}..(.75aW,fH)..{down}(fW,.8aH); draw Z08--Z17 hL);
-FD("g")(draw (Z19..Z10..Z11..Z09..cycle) sH .3aH; cutdraw Z15--(fW,hP)..(hW,0)..(.1aW,fP));
-FD("h")(draw Z02..(hP,.3aH){up}..(hW,.7fH)..{down}(fW,.3aH)..Z05; draw (hP,.3aH)--Z18 vL);
-FD("i")(draw Z07--(hW,.63aH) vL; draw Z14 wpcs 1.4fP);
-FD("j")(draw Z19--(hW,.63aH) vL; draw Z19..(.25aW,-hP)..Z01; draw Z14 wpcs 1.4fP);
-FD("k")(draw Z02--Z18 vL; cutdraw .5[.45[Z02,Z18],Z16]--Z05; cutdraw .45[Z02,Z18]--Z16);
-FD("l")(draw Z07--Z06 vL; draw Z14--Z13 hL; draw Z19--(fW,hP) hL);
-FD("m")(cutdraw Z02..(hP,.3aH){up}..(.28aW,.7fH)..{down}(hW,.3aH)..Z07;
- cutdraw (hW,.3aH){up}..(.7aW,.7aH-hP)..{down}(fW,.3aH)..Z05; draw (hP,.3aH)--(hP,.7aH) vL);
-FD("n")(cutdraw Z02..(hP,.3aH){up}..(hW,.7fH)..{down}(fW,.3aH)..Z05; draw (hP,.3aH)--(hP,.7aH) vL);
-FD("o")(draw Z19..Z10..Z14..Z09..cycle);
-FD("p")(draw (Z19..Z10..Z11..Z09..cycle) sH .3aH; draw (hP,0)--Z18 vL);
-FD("q")(draw (Z19..Z10..Z11..Z09..cycle) sH .3aH; draw (fW,0)--Z15 vL);
-FD("r")(cutdraw (SP(.35,.72)Z19..Z10..Z14..Z09..cycle) sH -fP; draw Z02--Z18 vL);
-FD("s")(cutdraw SP(.05,.45)PO; cutdraw SP(.55,.95)PO; draw (fW,.3aH){up}..{up}(hP,.7aH));
-FD("t")(draw Z07--Z06 vL; draw (0,.66aH)--(aW,.66aH) hL);
-FD("u")(cutdraw Z18..(hP,.55aH){down}..Z19..(fW,.55aH){up}..Z15; draw Z15--Z05 vL);
-FD("v")(draw Z18--Z07--Z15 vL);
-FD("w")(draw Z18--(.25aW,0)--Z06--(.75aW,0)--Z15 vL);
-FD("x")(draw Z18--Z05 vL scaled 1.4; draw Z15--Z02 vL scaled 1.4);
-FD("y")(draw Z18--Z20 vL scaled 1.4; draw Z15--Z02 vL scaled 1.4);
-FD("z")(draw Z12--Z16 hL;draw (1.4hP,fP)--(aW-1.4hP,aH-fP) vL scaled 1.4; draw Z01--Z04 hL);
-endgroup
+def draw_char(expr c,POS,WD,PEN,NUM)=
+save Z,aW,aH,fW,fH,hW,hW,hH,fP,hP,pathO,pathOh,ef,pos,ppcs,sbp,dw,dwh,dwv,cdw;
+path pathO,pathOh;
+pair Z[],pos;
+%-------------------------------------------------------------------------------------------------
+let ef=elseif;
+def ppcs expr n= pickup pencircle scaled n enddef;
+def sbp(expr m,n)expr p=subpath(m*length(p),n*length(p)) of p enddef;
+def dw expr p = draw (p) shifted pos Cp(colorA[NUM]) enddef;
+def dwv expr p = draw (p) withpen penrazor scaled fP shifted pos Cp(colorA[NUM]) enddef;
+def dwvs (expr n)expr p=
+ draw (p) withpen penrazor scaled fP scaled n shifted pos Cp(colorA[NUM]) enddef;
+def dwh expr p=draw (p) withpen penrazor rotated 90 scaled fP shifted pos Cp(colorA[NUM]) enddef;
+def cdw expr p=cutdraw (p) shifted pos Cp(colorA[NUM]) enddef;
+%-------------------------------------------------------------------------------------------------
+fP:=PEN; hP:=0.5fP;
+aW:=WD*tbl_char_wd[ASCII(c)]*(1-2ratio_atomgap_atom);
+aH:=WD*tbl_char_ht[ASCII(c)]*(1-2ratio_atomgap_atom);
+pos:=POS+(WD*ratio_atomgap_atom,WD*ratio_atomgap_atom);
+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); Z06:=(hW,aH); Z07:=(hW, 0);
+Z08:=( 0,hH); Z09:=(hP,hH); Z10:=(fW,hH); Z11:=(hW,aW); Z12:=( 0,fH); Z13:=(hP,fH); Z14:=(hW,fH);
+Z15:=(fW,aH); Z16:=(aW,fH); Z17:=(aW,hH); Z18:=(hP,aH); Z19:=(hW,hP); Z20:=(hW,hH); Z21:=(fW,hP);
+pathO:=Z10..(.8aW,fH)..tension 1.5..(.2aW,fH)..Z09..(.2aW,hP)..tension 1.5..(.8aW,hP)..cycle;
+pathOh:=(hP,.25aH)..Z19..(fW,.25aH)..Z20..cycle;
+%-------------------------------------------------------------------------------------------------
+ppcs fP;
+if c="A": dwvs(1.14) Z02--Z06--Z05; dw .33[Z02,Z06]--.33[Z05,Z06];
+ef c="B": dw Z13--Z14{right}..(.9fH,.75aH)..{left}Z20--Z09--Z20{right}..(.9fH,.25aH)..
+ {left}Z19--Z03; dwv Z02--Z18;
+ef c="C": cdw sbp(.05,.95)pathO;
+ef c="D": dw Z13--Z14..Z10..Z19--Z03; dwv Z02--Z18;
+ef c="E": pickup pensquare scaled fP; dw Z21--Z03--Z13--(fW,fH); dw Z09--Z10;
+ef c="F": dwh Z12--Z16; dwh (0,.45aH)--(fW,.45aH); dw Z02--Z13;
+ef c="G": cdw sbp(.06,.97)pathO; dwh bot Z20-- bot Z17;
+ef c="H": dwv Z02--Z18; dw Z09--Z10; dwv Z05--Z15;
+ef c="I": dwv Z19--Z14; dwh (hW-fP,hP)--(hW+fP,hP); dwh (hW-fP,fH)--(hW+fP,fH);
+ef c="J": cdw Z09..(hP,.4aH){down}..{right}Z19{right}..{up}(fW,.4aH)..Z15;
+ef c="K": cdw Z02--Z18; cdw .5[.45[Z02,Z18],Z16]--Z05; cdw .45[Z02,Z18]--Z16;
+ef c="L": dwh Z04--Z01; dwv Z02--Z18;
+ef c="M": dwv Z02--Z18; dwvs(1.14) Z18--Z19--Z15; dwv Z15--Z05;
+ef c="N": dwv Z02--Z18; dwv Z05--Z15; dwvs(1.4) (1.4hP,aH)--(aW-1.4hP,0);
+ef c="O": dw pathO;
+ef c="P": dwv Z02--Z18; dw Z13--(.3aW,fH){right}..(fW,.7aH)..{left}(.3aW,.44aH)..(hP,.44aH);
+ef c="Q": dw pathO; dw (.6aW,.4aH)--Z05;
+ef c="R": dwv Z02--Z18; dw Z13--(.3aW,fH){right}..(fW,.7aH)..{left}(.3aW,.44aH)..(hP,.44aH);
+ cdw Z05{up}..{left}(hW,.44aH);
+ef c="S": cdw sbp(.05,.45)pathO; cdw sbp(.55,.95)pathO; dw (fW,.3aH){up}..{up}(hP,.7aH);
+ef c="T": dwh Z12--Z16; dwv .5[Z12,Z16]--Z07;
+ef c="U": cdw Z18..Z09{down}..{right}Z19{right}..{up}Z10..Z15;
+ef c="V": dwvs(1.2) Z18--Z07--Z15;
+ef c="W": dwvs(1.08) Z18--(.25aW,0)--Z06--(.75aW,0)--Z15;
+ef c="X": dwvs(1.4) Z18..Z05; dwvs(1.4) Z02..Z15;
+ef c="Y": dwvs(1.2) Z18--Z20--Z15; dwv Z20--Z07;
+ef c="Z": dwh Z12--Z16; dwvs(1.4) (1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z01--Z04;
+ef c="a": dw Z19..Z10..Z14..Z09..cycle; dwv Z05--Z15;
+ef c="b": dw Z19..Z10..Z11..Z09..cycle; dwv Z02--(hP,1.2aH)
+ef c="c": cdw sbp(.06,.94)Z10..Z14..Z09..Z19..cycle;
+ef c="d": dw Z19..Z10..Z11..Z09..cycle; dwv Z05--(fW,1.2aH);
+ef c="e": cdw sbp(0,.92)Z10..Z14..Z09..Z19..cycle; dw Z10--Z09;
+ef c="f": cdw (hW,0)--(hW,.75aH){up}..(.75aW,fH)..{down}(fW,.8aH); dwh Z08--Z17;
+ef c="g": dw Z19..Z10..Z11..Z09..cycle; cdw (Z15--Z21..(hW,0)..(.1aW,fP)) shifted (0,-.3aH);
+ef c="h": dw Z02..(hP,.3aH){up}..(hW,.7fH)..{down}(fW,.3aH)..Z05; dwv (hP,.3aH)--Z18;
+ef c="i": dwv Z07--(hW,.63aH); ppcs 1.4fP; dw Z14;
+ef c="j": dwv Z19--(hW,.63aH); dw Z19..(.25aW,-hP)..Z01; ppcs 1.4fP; dw Z14;
+ef c="k": dwv Z02--Z18; cdw .5[.45[Z02,Z18],Z16]--Z05; cdw .45[Z02,Z18]--Z16;
+ef c="l": dwv Z07--Z06; dwh Z14--Z13; dwh Z19--Z21;
+ef c="m": cdw Z02..(hP,.3aH){up}..(.28aW,.7fH)..{down}(hW,.3aH)..Z07;
+ cdw (hW,.3aH){up}..(.7aW,.7aH-hP)..{down}(fW,.3aH)..Z05; dwv (hP,.3aH)--(hP,.7aH);
+ef c="n": cdw Z02..(hP,.3aH){up}..(hW,.7fH)..{down}(fW,.3aH)..Z05; dwv (hP,.3aH)--(hP,.7aH);
+ef c="o": dw Z19..Z10..Z14..Z09..cycle;
+ef c="p": dw Z19..Z10..Z11..Z09..cycle; dwv (hP,.7aH)--(hP,-.3aH);
+ef c="q": dw Z19..Z10..Z11..Z09..cycle; dwv (fW,.7aH)--(fW,-.3aH);
+ef c="r": cdw (sbp(.35,.72)Z19..Z10..Z14..Z09..cycle) shifted(0,-fP); dwv Z02--Z18;
+ef c="s": cdw sbp(.05,.45)pathO; cdw sbp(.55,.95)pathO; dw (fW,.3aH){up}..{up}(hP,.7aH);
+ef c="t": dwv Z07--Z06; dwh (0,.66aH)--(aW,.66aH);
+ef c="u": cdw Z18..(hP,.55aH){down}..Z19..(fW,.55aH){up}..Z15; dwv Z15--Z05;
+ef c="v": dwv Z18--Z07--Z15;
+ef c="w": dwv Z18--(.25aW,0)--Z06--(.75aW,0)--Z15;
+ef c="x": dwvs(1.4) Z18--Z05; dwvs(1.4) Z15--Z02;
+ef c="y": dwvs(1.4) (Z18--Z20) shifted (0,-.3aH); dwvs(1.4) (Z15--Z02) shifted (0,-.3aH);
+ef c="z": dwh Z12--Z16; dwvs(1.4) (1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z01--Z04;
+ef c="0": dw Z09...Z14...Z10...Z19...cycle;
+ef c="1": dwv Z07--Z06--(hW-hP,fH)--(hW-hP,aH-2.5hP);
+ef c="2": cdw sbp(0,.71)(hP,1.3hP)--(fW,.55aH)..Z14..(hP,.5aH)..(hW,.27aH); dwh Z04--Z01;
+ef c="3": cdw sbp(0,.77)pathOh; cdw sbp(.23,.95)pathOh shifted (0,.5aH-hP); dwh (.3aW,hH)--Z20;
+ef c="4": dwh (0,.3aH)--(aW,.3aH); dwv (.7aW,0)--(.7aW,aH)--(1.2hP,.3aH+hP);
+ef c="5": dwh Z12--Z16; dwv Z13--(hP,.49aH);
+ cdw (.5hP,.15aH)..(.65aW,1.3hP)..(fW,.3aH)..(hW,.6aH)..(.6hP,.53aH);
+ef c="6": dw Z19..(fW,.5fW)..(hW,fW)..(hP,.5fW)..cycle; cdw (hP,.4aH)--Z06;
+ef c="7": dwh (0,.fH)--Z16; dwvs(1.2) (aW-1.2hP,aH-fP)--(.4aW,0);
+ef c="8": dw pathOh; dw (hP,.75aH)...Z14...(fW,.75aH)...Z20...cycle;
+ef c="9": dw (Z19..(fW,.5fW)..(hW,fW)..(hP,.5fW)..cycle) shifted (0,.32aH); cdw (fW,.6aH)--Z07;
+ef c=" ":
+ef c=".": ppcs 1.4fP; dw Z19;
+ef c=",": dw (hW+.5fP,hP)..(hW+.3fP,-fP)..(hW-.5fP,hP-2fP); ppcs 1.4fP; dw Z19;
+ef c="'": dw (hW+.5fP,fH)..(hW+.3fP,fH-fP)..(hW-.5fP,fH-2fP); ppcs 1.4fP; dw Z14;
+ef c="`": dw (hW-.5fP,fH-2fP)..(hW-.3fP,fH-fP)..(hW+.5fP,fH); ppcs 1.4fP; dw (hW,fH-2fP);
+ef c=":": ppcs 1.4fP; dw (hW,.2aH); dw (hW,.8aH);
+ef c=";": dw (hW+hP,.2aH)..(hW-hP,.2aH-2fP); ppcs 1.4fP; dw (hW,.2aH); dw (hW,.8aH);
+ef c="(": dw Z19...Z09...Z14;
+ef c=")": dw Z19...Z10...Z14;
+ef c="[": dwv Z07--Z06; dwh Z14--(fW,fH); dwh Z19--Z21;
+ef c="]": dwv Z07--Z06; dwh Z14--Z13; dwh Z03--Z19;
+ef c="<": cdw Z01--Z17--Z12;
+ef c=">": cdw Z16--Z08--Z04;
+ef c="-": dwh Z09--Z10;
+ef c="_": dwh Z03--Z21;
+ef c="=": dwh (hP,.3aH)--(fW,.3aH); dwh (hP,.6aH)--(fW,.6aH);
+ef c="/": dw (fW,fH)..Z01;
+ef c="+": dwv Z19--Z14; dwh Z09--Z10;
+ef c="*": dw Z19--Z14; dw Z09--Z10; dw (fW,fH)--Z01; dw Z13--Z21;
+else:
+fi
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def blank_str:= " " enddef;
@@ -1270,27 +1252,18 @@ def proc_report_out=
endfor
message "------------------------------------------------------------------";
message "<atom>( atom wt )[ mi wt ] < cnt > < sum wt >[ sum mi wt ]";
- if MWp<=40:
- cal_MW_str:=cal_MW;
- cal_MI_str:=cal_MI;
- else:
- cal_MW_str:=fdr(10)(MWp)&" * 100";
- cal_MI_str:=fdr(10)(MIp)&" * 100";
+ if MWp<=40: cal_MW_str:=cal_MW; cal_MI_str:=cal_MI;
+ else: cal_MW_str:=fdr(10)(MWp)&" * 100"; cal_MI_str:=fdr(10)(MIp)&" * 100";
fi
for i=1 upto tbl_cnt:
if sumA[i]>=1:
- nA:=tbl_atom_wt[i]/100*sumA[i];
- nB:=tbl_atom_mi[i]/100*sumA[i];
+ nA:=tbl_atom_wt[i]/100*sumA[i]; nB:=tbl_atom_mi[i]/100*sumA[i];
message " "&
fixed_l(5)(stripP(tbl_atom_str[i]))&
- "("&fdr(9)(tbl_atom_wt[i])&")"&
- "["&fdr(9)(tbl_atom_mi[i])&"]"&
+ "("&fdr(9)(tbl_atom_wt[i])&")"&"["&fdr(9)(tbl_atom_mi[i])&"]"&
" * "&fdr(4)(sumA[i])&" = "
- if nA<40:
- &fdr(12)(tbl_atom_wt[i]*sumA[i])
- &"["&fdr(12)(tbl_atom_mi[i]*sumA[i])&"]";
- else:
- &fdr(12)(nA)&" * 100"&"["&fdr(12)(nA)&" * 100"&"]";
+ if nA<40: &fdr(12)(tbl_atom_wt[i]*sumA[i])&"["&fdr(12)(tbl_atom_mi[i]*sumA[i])&"]";
+ else: &fdr(12)(nA)&" * 100"&"["&fdr(12)(nA)&" * 100"&"]";
fi
fi
endfor