[wadalabfont-kit] / renderer / limitrule.l  

Annotation of /renderer/limitrule.l

Parent Directory | Revision Log

Revision: 1.3 - (view) (download)

1 : ktanaka 1.1 ;
2 :     (macro deflimit (l)
3 :     `(putprop 'alllimit (cons ',(cdr l) (get 'alllimit 'limit)) 'limit))
4 :    
5 :     (putprop 'alllimit nil 'limit)
6 :     ; ²£ËÀ¤È·¹¤¤¤¿²£ËÀ
7 :     (deflimit mincho (yoko yoko)
8 :     ((or (<= x00 x10 x01)(<= x00 x11 x01)(<= x10 x00 x11)(<= x10 x01 x11))
9 :     (>= (diffabs (+ y00 y01) (+ y10 y11)) (* '(1.2 . 1.2) yunit))))
10 :     (deflimit mincho (yoko hidari)
11 :     ((and (<= x00 x10 x01)(<= x00 x12 x01)(<= (- y12 y10)(- x10 x12)))
12 :     (>= (diffabs (+ y00 y01)(+ y10 y12)) (* '(1.2 . 1.2) yunit))))
13 :     (deflimit mincho (yoko migiue)
14 :     ((or (<= x00 x10 x01)(<= x00 x12 x01)(<= x10 x00 x12)(<= x10 x01 x12))
15 :     (>= (diffabs (+ y00 y01) (+ y10 y12)) (* '(1.2 . 1.2) yunit))))
16 :     (deflimit mincho (yoko tatehane)
17 :     ((and (<= y00 y11)
18 :     (or (<= x00 x11 x01)(<= x00 x12 x01)(<= x12 x00 x11)
19 :     (<= (+ x12 (* '(1.5 . 1.5) (- x12 x11))) x01 x11)))
20 :     (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(1.2 . 1.2) yunit)))
21 :     ((and (<= y11 y00)
22 :     (or (<= x00 x11 x01)(<= x00 x12 x01)
23 :     (<= x12 x00 (+ x11 (* '(0.5 . 0.5) (- x11 x12))))
24 :     (<= x12 x01 (+ x11 (* '(0.5 . 0.5) (- x11 x12))))))
25 :     (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(0.4 . 0.4) yunit))))
26 :     (deflimit mincho (yoko tsukurihane)
27 :     ((or (<= x00 x12 x01)(<= x00 (+ x13 (* '(1.5 . 1.5) (- x13 x12))) x01)
28 :     (<= (+ x13 (* '(1.5 . 1.5) (- x13 x12))) x00 x12)
29 :     (<= (+ x13 (* '(1.5 . 1.5) (- x13 x12))) x01 x12))
30 :     (or
31 :     (>= (- (+ y00 y01) (+ y12 y13)) (* '(0.2 . 0.2) yunit))
32 :     (>= (- (+ y12 y13) (+ y00 y01)) (* '(1.2 . 1.2) yunit)))))
33 :    
34 :     (deflimit mincho (shin-nyuu tate)
35 :     ((<= x01 x11 x02)
36 :     (>= (diffabs (+ y01 y02)(+ y11 y11))(* '(0.4 . 0.4) yunit))))
37 :     (deflimit mincho (hidari shin-nyuu)
38 :     ((or (<= x02 x11 x00)(<= x02 x12 x00)(<= x11 x00 x12)(<= x11 x02 x12))
39 :     (or
40 :     (>= (- (+ y00 y01) (+ y11 y12)) (* '(0.2 . 0.2) yunit))
41 :     (>= (- (+ y11 y12) (+ y00 y01)) (* '(1.2 . 1.2) yunit)))))
42 :     (deflimit mincho (hidari (kagi kokoro ))
43 :     ((or (<= x02 x11 x00)(<= x02 x12 x00)(<= x11 x00 x12)(<= x11 x02 x12))
44 :     (or
45 :     (>= (- (+ y00 y01) (+ y11 y12)) (* '(0.8 . 0.8) yunit))
46 :     (>= (- (+ y11 y12) (+ y01 y02)) (* '(1.2 . 1.2) yunit)))))
47 :     ;(deflimit mincho (yoko shin-nyuu)
48 :     ; ((or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12))
49 :     ; (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(1.6 . 1.6) yunit))))
50 :     (deflimit mincho (yoko (kagi kokoro))
51 :     ((and (<= y11 y00)
52 :     (or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12)))
53 :     (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(0.8 . 0.8) yunit)))
54 :     ((and (<= y00 y11)
55 :     (or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12)))
56 :     (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(1.0 . 1.0) yunit))))
57 :     (deflimit mincho (yoko shin-nyuu)
58 :     ((and (<= y11 y00)
59 :     (or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12)))
60 :     (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(0.8 . 0.8) yunit)))
61 :     ((and (<= y00 y11)
62 :     (or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12)))
63 :     (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(1.4 . 1.4) yunit))))
64 :     (deflimit mincho ((kagi kokoro tatehane shin-nyuu migi)
65 :     (kagi kokoro tatehane shin-nyuu migi))
66 :     ((or (<= x01 x11 x02)(<= x01 x12 x02)(<= x11 x01 x12)(<= x11 x02 x12))
67 :     (>= (diffabs (+ y01 y02) (+ y11 y12)) (* '(0.8 . 0.8) yunit))))
68 :    
69 :    
70 :     (deflimit mincho ((tate tatehidari tatehane tsukurihane kagi)
71 :     (tate tatehidari tatehane tsukurihane kagi))
72 :     ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
73 :     (>= (diffabs (+ x00 x01) (+ x10 x11)) (* '(1.6 . 1.6) xunit))))
74 :     (deflimit mincho (kokoro
75 :     (tate kokoro tatehidari tatehane tsukurihane kagi))
76 :     ((or (<= y03 y10 y02)(<= y03 y11 y02)(<= y10 y03 y11)(<= y10 y02 y11))
77 :     (>= (diffabs (+ x03 x02) (+ x10 x11)) (* '(0.8 . 0.8) xunit)))
78 :     ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
79 :     (>= (diffabs (+ x00 x01) (+ x10 x11)) (* '(1.6 . 1.6) xunit))))
80 :    
81 :     ;(deflimit mincho ((tate kokoro tatehidari tatehane tsukurihane kagi)
82 :     ; (hidari tasuki magaritate))
83 :     ; ((or (<= y00 y10 y01)(<= y00 y12 y01)(<= y10 y00 y12)(<= y10 y01 y12))
84 :     ; (or (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(1.4 . 1.4) xunit))
85 :     ; (and (<= y12 y01)(<= x00 x10)))))
86 :     (deflimit mincho ((tate kokoro tatehidari tatehane tsukurihane kagi)
87 :     hidari)
88 :     ((and
89 :     (or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
90 :     (or (<= x00 x11 x10)(<= x11 x10 x00))
91 :     )
92 :     (or
93 :     (>= (diffabs x10 x11) (* '(0.01 . 0.01) xunit))
94 :     (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(1.4 . 1.4) xunit))
95 :     )
96 :     )))
97 :     (deflimit mincho ((tate kokoro tatehidari tatehane tsukurihane kagi)
98 :     magaritate)
99 :     ((or (<= y00 y10 y01)(<= y00 y12 y01)(<= y10 y00 y12)(<= y10 y01 y12))
100 :     (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(1.4 . 1.4) xunit))))
101 :     (deflimit mincho ((hidari tasuki magaritate)
102 :     (hidari tasuki magaritate))
103 :     ((or (<= y00 y10 y01)(<= y01 y12 y02)(<= y10 y00 y11)(<= y11 y02 y12))
104 :     (or (>= (diffabs x00 x10) (* '(0.7 . 0.7) xunit))
105 :     (>= (diffabs x01 x10) (* '(0.7 . 0.7) xunit)))))
106 :     ;
107 :     (deflimit mincho (kozato (tate tatehidari hidari tatehane kokoro kagi))
108 :     ((or (<= y01 y10 y02)(<= y01 y11 y02)(<= y10 y01 y11)(<= y10 y02 y11))
109 :     (>= (diffabs (+ x01 x02)(+ x10 x11)) (* '(1.0 . 1.0) xunit))))
110 :    
111 :    
112 :     (deflimit mincho (sanzui
113 :     (tate tatehidari hidari kokoro tatehane tsukurihane kagi tasuki magaritate))
114 :     ((or (<= y01 y10 y00)(<= y01 y11 y00)(<= y10 y00 y11)(<= y10 y01 y11))
115 :     (>= (diffabs (+ x00 x01) (+ x10 x11)) (* '(1.0 . 1.0) xunit))))
116 :    
117 :     (deflimit mincho (ten
118 :     (tate tatehidari hidari kokoro tatehane kagi tasuki))
119 :     ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
120 :     (and
121 :     (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(1.0 . 1.0) xunit))
122 :     (>= (diffabs x01 x10) (* '(0.5 . 0.5) xunit))
123 :     (>= (diffabs x00 x10) (* '(0.3 . 0.3) xunit)))))
124 :    
125 :     (deflimit mincho (ten ten)
126 :     ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
127 :     (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(0.8 . 0.8) xunit))))
128 :    
129 :     (deflimit mincho (ten tsukurihane)
130 :     ((or (<= y00 y10 y01)(<= y00 y12 y01)(<= y10 y00 y12)(<= y10 y01 y12))
131 :     (>= (diffabs (+ x00 x01)(+ x10 x12)) (* '(1.7 . 1.7) xunit))))
132 :     (deflimit mincho (ten yoko)
133 :     ((or (<= x00 x10 x01)(<= x00 x11 x01)(<= x10 x00 x11)(<= x10 x01 x11))
134 :     (and
135 :     (>= (diffabs y01 y10)(* '(0.2 . 0.2) yunit)))))
136 :     (deflimit mincho (yoko ylimit)
137 :     ((or (<= x00 x10 x01)(<= x00 x11 x01)(<= x10 x00 x11)(<= x10 x01 x11))
138 :     (>= (diffabs (+ y00 y01) (+ y10 y11)) ylimit)))
139 :    
140 :     (deflimit mincho ((kagi kokoro) ylimit)
141 :     ((or (<= x01 x10 x02)(<= x01 x11 x02)(<= x10 x01 x11)(<= x10 x02 x11))
142 :     (>= (diffabs (+ y01 y02) (+ y10 y11)) (* '(0.5 . 0.5) ylimit))))
143 :    
144 :     (deflimit mincho ((migiue) ylimit)
145 :     ((or (<= x00 x10 x02)(<= x00 x11 x02)(<= x10 x00 x11)(<= x10 x02 x11))
146 :     (>= (diffabs (+ y00 y00)(+ y10 y11)) (* '(0.5 . 0.5) ylimit))))
147 :    
148 :     (deflimit mincho ((tate tatehidari kokoro tatehane tsukurihane
149 :     kagi tasuki magaritate)
150 :     xlimit)
151 :     ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
152 :     (>= (diffabs (+ x00 x01) (+ x10 x11)) xlimit)))

ktanaka

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help