summaryrefslogtreecommitdiff
path: root/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Shade.sci
blob: ec4fa716ac314fda5de941d792ddddb4eb831b0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
//
// 08.05.22
// 09.12.25
// 17.01.09 (available colorname or colorcode as 2nd arg)

function Shade(varargin)
  global Wfile FID MilliIn;
  Nargs=length(varargin);
  Iroflg=0;
  Kosa=1;
  if Nargs>1 
    Iro=varargin(Nargs);
    if type(Iro)==10
      Iroflg=1;
      if length(strchr(Iro,"{"))>0
        Str="{\color"+Iro;
      else
        Str="{\color{"+Iro+"}";
      end;
    else
      if length(Iro)==1
        Kosa=Iro;
      else
        Iroflg=1;
        if length(Iro)==4
          Str='{\color[cmyk]{';
        else
          if length(Iro)==3
            Str='{\color[rgb]{';
          end;
        end;
        for J=1:length(Iro)
          Str=Str+string(Iro(J));
          if J<length(Iro)
            Str=Str+',';
          end
        end
        Str=Str+'}';
      end;
    end;
    if Iroflg==1
      if Wfile=='default'
        mprintf('%s\n',Str+'%');
      else
        mfprintf(FID,'%s\n',Str+'%');
      end;
    end;
  end;
  Tmp=varargin(1);
  Data=Kyoukai(Tmp);
  for I=1:length(Data)
    PL=Op(I,Data);
    Mojisu=0;
    for J=1:size(PL,1)
      P=Doscaling(PL(J,:));
      X=string(round(MilliIn*P(1)));
      Y=string(-round(MilliIn*P(2)));
      Str='\special{pa '+X+' '+Y+'}';
      if Wfile=='default'
        mprintf('%s',Str);
      else
        mfprintf(FID,'%s',Str);
      end
      Mojisu=Mojisu+length(Str);
      if Mojisu>80
        if Wfile=='default'
          mprintf('%s\n','%');
        else
          mfprintf(FID,'%s\n','%');
        end
        Mojisu=0;
      end
    end
    Str1='\special{sh '+string(Kosa)+'}';
    Str2='\special{ip}%';
    if Wfile=='default'
      mprintf('%s',Str1);
      mprintf('%s\n',Str2);
    else
      mfprintf(FID,'%s',Str1);
      mfprintf(FID,'%s\n',Str2);
    end
  end
  if Iroflg==1
    Str='}%';
    Fmt='%s\n';
     if Wfile=='default'
      mprintf(Fmt,Str);
    else
      mfprintf(FID,Fmt,Str);
    end;
  end;
endfunction