summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/fonts/uptex-fonts/makepl.perl
blob: cc06e7a5db96fb8056646c85177db030dcba04b6 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/usr/bin/perl -n -s

use utf8;

$hankana=$hk; # option -hk

if (/CHARWD|FONTAT|MOVERIGHT|QUAD|GLUE/) {
    s/0\.96221\d/1.000000/g; # 
    s/0\.72166\d/0.750000/g; # 
    s/0\.48110\d/0.500000/g; # 
    s/0\.24055\d/0.250000/g; # 
} elsif (/CHAR(HT|DP)|XHEIGHT|\(STRETCH|EXTRASPACE|EXTRASTRE|EXTRASHRINK/) {
    s/0\.09164\d/0.100000/; # 0.100000 STRETCH
    s/0\.91644\d/1.000000/; # 1.000000 XHEIGHT
    s/0\.22910\d/0.250000/; # 0.250000 EXTRASPACE
    s/0\.18328\d/0.200000/; # 0.200000 EXTRASTRETCH
    s/0\.11455\d/0.125000/; # 0.125000 EXTRASHRINK
    s/0\.77758\d/0.880000/; # 0.880000 CHARHT
    s/0\.13885\d/0.120000/; # 0.120000 CHARDP
    s/0\.45822\d/0.500000/; # 0.500000 CHARHT, CHARDP (vertical)
} elsif (/FAMILY/) {
    s/ JIS / UPJIS /;
} elsif (/CHARSINTYPE\s+\S+\s+(\d+)/) {
    $charsintype=$1;
} elsif (/LABEL\s+\S+\s+(\d+)/) {
    $label=$1;
} elsif (/TYPE\s+\S+\s+(\d+)/) {
    $type=$1;
}

if ($charsintype==1 && /\)/) {
    print <<END;
   UFF5F U3018 U3016 U301D 
END
    $charsintype=undef;
}
if ($charsintype==2 && /\)/) {
    print <<END;
   UFF60 U3019 U3017 U301F 
END
    $charsintype=undef;
}
if ($charsintype==5) {
    s/\x{2014}|\x{2015}/\x{2014} \x{2015}/g;
}

if ($hankana) {

if ($label==2 && /STOP\)/) {
    print <<END;
   (GLUE O 6 R 0.500000 R 0.0 R 0.500000)
END
}
if ($label==3 && /STOP\)/) {
    print <<END;
   (GLUE O 6 R 0.250000 R 0.0 R 0.250000)
END
}
if ($label==4 && /STOP\)/) {
    print <<END;
   (GLUE O 6 R 0.500000 R 0.0 R 0.0)
END
}
if ($type==2 && /^      \)/) {
    print <<END;
      (GLUE O 6 R 0.500000 R 0.0 R 0.500000)
END
}
if ($type==3 && /^      \)/) {
    print <<END;
      (GLUE O 6 R 0.250000 R 0.0 R 0.250000)
END
}
if ($type==4 && /^      \)/) {
    print <<END;
      (GLUE O 6 R 0.500000 R 0.0 R 0.0)
END
}

} # if $hankana

print;

next unless ($hankana);

if ($charsintype==5 && /\)/) {
    print <<END;
(CHARSINTYPE O 6
   UFF61 UFF62 UFF63 UFF64 UFF65 UFF66 UFF67
   UFF68 UFF69 UFF6A UFF6B UFF6C UFF6D UFF6E UFF6F
   UFF70 UFF71 UFF72 UFF73 UFF74 UFF75 UFF76 UFF77
   UFF78 UFF79 UFF7A UFF7B UFF7C UFF7D UFF7E UFF7F
   UFF80 UFF81 UFF82 UFF83 UFF84 UFF85 UFF86 UFF87
   UFF88 UFF89 UFF8A UFF8B UFF8C UFF8D UFF8E UFF8F
   UFF90 UFF91 UFF92 UFF93 UFF94 UFF95 UFF96 UFF97
   UFF98 UFF99 UFF9A UFF9B UFF9C UFF9D UFF9E UFF9F
   )
END
    $charsintype=undef;
}
if ($label==5 && /STOP\)/) {
    print <<END;
   (LABEL O 6)
   (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
   (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
   (STOP)
END
    $label=undef;
}
if ($type==5 && /^   \)/) {
    print <<END;
(TYPE O 6
   (CHARWD R 0.500000)
   (CHARHT R 0.880000)
   (CHARDP R 0.120000)
   (COMMENT
      (GLUE O 1 R 0.500000 R 0.0 R 0.500000)
      (GLUE O 3 R 0.250000 R 0.0 R 0.250000)
      )
   )
END
    $type=undef;
}