[wadalabfont-kit] / renderer / limitrule.l  

View of /renderer/limitrule.l

Parent Directory | Revision Log
Revision: 1.4 - (download) (annotate)
Mon Jun 30 13:33:42 2003 UTC (20 years, 10 months ago) by ktanaka
Branch: MAIN
CVS Tags: SNAP-20040518, SNAP-20030702, SNAP-20030630, HEAD
Changes since 1.3: +31 -0 lines
*** empty log message ***
;
(macro deflimit (l)
       `(putprop 'alllimit (cons ',(cdr l) (get 'alllimit 'limit)) 'limit))

(putprop 'alllimit nil 'limit)
; ²£ËÀ¤È·¹¤¤¤¿²£ËÀ
(deflimit mincho (yoko yoko)
  ((or (<= x00 x10 x01)(<= x00 x11 x01)(<= x10 x00 x11)(<= x10 x01 x11))
   (>= (diffabs (+ y00 y01) (+ y10 y11)) (* '(1.2 . 1.2) yunit))))
;
(deflimit mincho (yoko yoko)
  ((<= (diffabs x00 x11)
       (* '(+0.3000000^+00 . +0.3000000^+00) xunit))
   (>= (diffabs (/+ y00 y01) (/+ y10 y11))
       (* '(+0.6000000^+00 . +0.6000000^+00) yunit))))
;
(deflimit mincho(yoko yoko)
  ((<= (diffabs x01 x10)
       (* '(+0.3000000^+00 . +0.3000000^+00) xunit))
   (>= (diffabs (/+ y00 y01) (/+ y10 y11))
       (* '(+0.6000000^+00 . +0.6000000^+00) yunit))))


(deflimit mincho (yoko hidari)
  ((and (<= x00 x10 x01)(<= x00 x12 x01)(<= (- y12 y10)(- x10 x12)))
   (>= (diffabs (+ y00 y01)(+ y10 y12)) (* '(1.2 . 1.2) yunit))))
(deflimit mincho (yoko migiue)
  ((or (<= x00 x10 x01)(<= x00 x12 x01)(<= x10 x00 x12)(<= x10 x01 x12))
   (>= (diffabs (+ y00 y01) (+ y10 y12)) (* '(1.2 . 1.2) yunit))))
(deflimit mincho (yoko tatehane)
  ((and (<= y00 y11)
	(or (<= x00 x11 x01)(<= x00 x12 x01)(<= x12 x00 x11)
	    (<= (+ x12 (* '(1.5 . 1.5) (- x12 x11)))  x01 x11)))
   (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(1.2 . 1.2) yunit)))
  ((and (<= y11 y00)
	(or (<= x00 x11 x01)(<= x00 x12 x01)
	    (<= x12 x00 (+ x11 (* '(0.5 . 0.5) (- x11 x12))))
	    (<= x12   x01 (+ x11 (* '(0.5 . 0.5) (- x11 x12))))))
   (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(0.4 . 0.4) yunit))))
(deflimit mincho (yoko tsukurihane)
  ((or (<= x00 x12 x01)(<= x00 (+ x13 (* '(1.5 . 1.5) (- x13 x12))) x01)
       (<= (+ x13 (* '(1.5 . 1.5) (- x13 x12))) x00 x12)
       (<= (+ x13 (* '(1.5 . 1.5) (- x13 x12))) x01 x12))
   (or
    (>= (- (+ y00 y01) (+ y12 y13)) (* '(0.2 . 0.2) yunit))
    (>= (- (+ y12 y13) (+ y00 y01)) (* '(1.2 . 1.2) yunit)))))

(deflimit mincho (tate hidari)
  ((<= y00 y10 y01)
   (>= (diffabs x00 x10)
       (* '(+0.5000000^-01 . +0.5000000^-01) xunit))))
(deflimit mincho (yoko tate)
  ((<= y10 y01 y11)
   (>= (diffabs x01 x11)
       (* '(+0.1000000^+00 . +0.1000000^+00) xunit))))

(deflimit mincho (shin-nyuu tate)
  ((<= x01 x11 x02)
   (>= (diffabs (+ y01 y02)(+ y11 y11))(* '(0.4 . 0.4) yunit))))
(deflimit mincho (hidari shin-nyuu)
  ((or (<= x02 x11 x00)(<= x02 x12 x00)(<= x11 x00 x12)(<= x11 x02 x12))
   (or
    (>= (- (+ y00 y01) (+ y11 y12)) (* '(0.2 . 0.2) yunit))
    (>= (- (+ y11 y12) (+ y00 y01)) (* '(1.2 . 1.2) yunit)))))
(deflimit mincho (hidari (kagi kokoro ))
  ((or (<= x02 x11 x00)(<= x02 x12 x00)(<= x11 x00 x12)(<= x11 x02 x12))
   (or
    (>= (- (+ y00 y01) (+ y11 y12)) (* '(0.8 . 0.8) yunit))
    (>= (- (+ y11 y12) (+ y01 y02)) (* '(1.2 . 1.2) yunit)))))
;(deflimit mincho (yoko shin-nyuu)
;  ((or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12))
;   (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(1.6 . 1.6) yunit))))
(deflimit mincho (yoko (kagi kokoro))
  ((and (<= y11 y00)
	(or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12)))
   (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(0.8 . 0.8) yunit)))
  ((and (<= y00 y11)
	(or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12)))
   (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(1.0 . 1.0) yunit))))
(deflimit mincho (yoko shin-nyuu)
  ((and (<= y11 y00)
	(or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12)))
   (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(0.8 . 0.8) yunit)))
  ((and (<= y00 y11)
	(or (<= x00 x11 x01)(<= x00 x12 x01)(<= x11 x00 x12)(<= x11 x01 x12)))
   (>= (diffabs (+ y00 y01) (+ y11 y12)) (* '(1.4 . 1.4) yunit))))
(deflimit mincho ((kagi kokoro tatehane shin-nyuu migi)
		  (kagi kokoro tatehane shin-nyuu migi))
  ((or (<= x01 x11 x02)(<= x01 x12 x02)(<= x11 x01 x12)(<= x11 x02 x12))
   (>= (diffabs (+ y01 y02) (+ y11 y12)) (* '(0.8 . 0.8) yunit))))


(deflimit mincho ((tate tatehidari tatehane tsukurihane kagi)
		  (tate tatehidari tatehane tsukurihane kagi))
  ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
   (>= (diffabs (+ x00 x01) (+ x10 x11)) (* '(1.6 . 1.6) xunit))))
(deflimit mincho (kokoro
		  (tate kokoro tatehidari tatehane tsukurihane kagi))
  ((or (<= y03 y10 y02)(<= y03 y11 y02)(<= y10 y03 y11)(<= y10 y02 y11))
   (>= (diffabs (+ x03 x02) (+ x10 x11)) (* '(0.8 . 0.8) xunit)))
  ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
   (>= (diffabs (+ x00 x01) (+ x10 x11)) (* '(1.6 . 1.6) xunit))))
   
;(deflimit mincho ((tate kokoro tatehidari tatehane tsukurihane kagi)
;		  (hidari tasuki magaritate))
;  ((or (<= y00 y10 y01)(<= y00 y12 y01)(<= y10 y00 y12)(<= y10 y01 y12))
;   (or (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(1.4 . 1.4) xunit))
;       (and (<= y12 y01)(<= x00 x10)))))
(deflimit mincho ((tate kokoro tatehidari tatehane tsukurihane kagi)
		  hidari)
  ((and
    (or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
    (or (<= x00 x11 x10)(<= x11 x10 x00))
    )
   (or
    (>= (diffabs x10 x11) (* '(0.01 . 0.01) xunit))
    (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(1.4 . 1.4) xunit))
    )
    )))
(deflimit mincho ((tate kokoro tatehidari tatehane tsukurihane kagi)
		  magaritate)
  ((or (<= y00 y10 y01)(<= y00 y12 y01)(<= y10 y00 y12)(<= y10 y01 y12))
   (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(1.4 . 1.4) xunit))))
(deflimit mincho ((hidari tasuki magaritate)
		  (hidari tasuki magaritate))
  ((or (<= y00 y10 y01)(<= y01 y12 y02)(<= y10 y00 y11)(<= y11 y02 y12))
   (or (>= (diffabs x00 x10) (* '(0.7 . 0.7) xunit))
       (>= (diffabs x01 x10) (* '(0.7 . 0.7) xunit)))))
;
(deflimit mincho (kozato (tate tatehidari hidari tatehane kokoro kagi))
  ((or (<= y01 y10 y02)(<= y01 y11 y02)(<= y10 y01 y11)(<= y10 y02 y11))
   (>= (diffabs (+ x01 x02)(+ x10 x11)) (* '(1.0 . 1.0) xunit))))
			 

(deflimit mincho (sanzui
		  (tate tatehidari hidari kokoro tatehane tsukurihane kagi tasuki magaritate))
  ((or (<= y01 y10 y00)(<= y01 y11 y00)(<= y10 y00 y11)(<= y10 y01 y11))
   (>= (diffabs (+ x00 x01) (+ x10 x11)) (* '(1.0 . 1.0) xunit))))

(deflimit mincho (ten
		  (tate tatehidari hidari kokoro tatehane  kagi tasuki))
  ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
   (and
    (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(1.0 . 1.0) xunit))
    (>= (diffabs x01 x10) (* '(0.5 . 0.5) xunit))
    (>= (diffabs x00 x10) (* '(0.3 . 0.3) xunit)))))

(deflimit mincho (ten ten)
  ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
   (>= (diffabs (+ x00 x01)(+ x10 x11)) (* '(0.8 . 0.8) xunit))))

(deflimit mincho (ten ten)
  ((or (<= y00 y10 y01)
       (<= y00 y11 y01)
       (<= y10 y00 y11)
       (<= y10 y01 y11))
   (>= (diffabs x01 x11)
       (* '(+0.1500000^+00 . +0.1500000^+00) xunit))))

(deflimit mincho (ten tsukurihane)
  ((or (<= y00 y10 y01)(<= y00 y12 y01)(<= y10 y00 y12)(<= y10 y01 y12))
   (>= (diffabs (+ x00 x01)(+ x10 x12)) (* '(1.7 . 1.7) xunit))))
(deflimit mincho (ten yoko)
  ((or (<= x00 x10 x01)(<= x00 x11 x01)(<= x10 x00 x11)(<= x10 x01 x11))
   (and 
    (>= (diffabs y01 y10)(* '(0.2 . 0.2) yunit)))))
(deflimit mincho (yoko ylimit)
  ((or (<= x00 x10 x01)(<= x00 x11 x01)(<= x10 x00 x11)(<= x10 x01 x11))
   (>= (diffabs (+ y00 y01) (+ y10 y11)) ylimit)))

(deflimit mincho ((kagi kokoro) ylimit)
  ((or (<= x01 x10 x02)(<= x01 x11 x02)(<= x10 x01 x11)(<= x10 x02 x11))
   (>= (diffabs (+ y01 y02) (+ y10 y11)) (* '(0.5 . 0.5) ylimit))))

(deflimit mincho ((migiue) ylimit)
  ((or (<= x00 x10 x02)(<= x00 x11 x02)(<= x10 x00 x11)(<= x10 x02 x11))
   (>= (diffabs (+ y00 y00)(+ y10 y11)) (* '(0.5 . 0.5) ylimit))))

(deflimit mincho ((tate tatehidari kokoro tatehane tsukurihane 
			kagi tasuki magaritate)
		  xlimit)
  ((or (<= y00 y10 y01)(<= y00 y11 y01)(<= y10 y00 y11)(<= y10 y01 y11))
   (>= (diffabs (+ x00 x01) (+ x10 x11)) xlimit)))

ktanaka

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help