diff options
Diffstat (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Setunitlen.sci')
-rwxr-xr-x | texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Setunitlen.sci | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Setunitlen.sci b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Setunitlen.sci new file mode 100755 index 00000000..84ea4d60 --- /dev/null +++ b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Setunitlen.sci @@ -0,0 +1,78 @@ +// 08.12.06 +// 08.12.18 +// 09.02.20 +// 09.02.27 +// 14.03.05 MARKLEN +// 17.03.19 VL=[] => VL=""; + +function Out=Setunitlen(varargin) + global FID XMIN XMAX YMIN YMAX ULEN + global MilliIn MARKLEN MARKLENNow PenThickInit; + if length(varargin)==0 + Out=ULEN; + disp(ULEN); + return; + end; + Ul=varargin(1); + Dx=XMAX-XMIN; + Dy=YMAX-YMIN; + Sym='.0123456789 +-*/'; + Tmp=ascii(Sym); + SL=Sym; + OL='+-*/'; + if Ul~='' + ULEN=Ul; + end; + Out=ULEN; + Is=1; + VL=""; // 17.03.19 + Ucode=ascii(ULEN); + for I=1:length(Ucode) + C=char(Ucode(I)); + if mtlb_findstr(SL,C)~=[] + if mtlb_findstr(OL,C) + Str=char(Ucode(Is:(I-1))); + VL=VL+Str+C; + Is=I+1; + end + else + Unit=char(Ucode(I:(I+1))); + Str=char(Ucode(Is:(I-1))); + VL=VL+Str; + break; + end; + end; + Valu=evstr(VL); + Str=string(Valu); + ULEN=Str+Unit; + Out=ULEN; + if Unit=='cm' + MilliIn=1000/2.54*Valu; + end + if Unit=='mm' + MilliIn=1000/2.54*Valu/10; + end + if Unit=='in' + MilliIn=1000*Valu; + end + if Unit=='pt' + MilliIn=1000/72.27*Valu; + end + if Unit=='pc' + MilliIn=1000/6.022*Valu; + end + if Unit=='bp' + MilliIn=1000/72*Valu; + end + if Unit=='dd' + MilliIn=1000/1238/1157/72.27*Valu; + end + if Unit=='cc' + MilliIn=1000/1238/1157/72.27*12*Valu;p + end + if Unit=='sp' + MilliIn=1000/72.27/65536*Valu/10; + end + MARKLEN=MARKLENNow*1000/2.54/MilliIn; +endfunction; + |