439 lines
12 KiB
Plaintext
439 lines
12 KiB
Plaintext
;; DEVA-CDAC.flt -- Font Layout Table for Devanagari (C-DAC font)
|
|
;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112)
|
|
;; See the end for copying conditions.
|
|
|
|
(font layouter deva-cdac nil
|
|
(font (nil dv-ttyogesh apple-roman)))
|
|
|
|
;;; <li> DEVA-CDAC.flt
|
|
;;; For the font DVYG0ntt.ttf (developed by C-DAC, encoding is ISFOC)
|
|
;;; to draw Devanagari script.
|
|
|
|
(category
|
|
;; A: ANUSVARA or CANDRABINDU
|
|
;; C: CONSONANT (except for R)
|
|
;; R: LETTER RA
|
|
;; V: VOWEL INDEPENDENT
|
|
;; N: NUKTA
|
|
;; H: HALANT
|
|
;; M: MATRA (VOWEL DEPENDENT, except for I)
|
|
;; I: VOWEL SIGN I
|
|
;; S: STRESS or TONE
|
|
;; E: ELSE
|
|
(0x0900 ?E)
|
|
(0x0901 0x0902 ?A) ; CANDRABINDU and ANUSVARA
|
|
(0x0903 ?E) ; SIGN VISARGA
|
|
(0x0905 0x0914 ?V) ; A .. AU
|
|
(0x0915 0x0939 ?C) ; KA .. HA
|
|
(0x0930 ?R) ; RA
|
|
(0x093C ?N) ; NUKTA
|
|
(0x093D ?E) ; AVAGRAHA
|
|
(0x093E 0x094C ?M) ; VOWEL SIGN AA .. AU
|
|
(0x093F ?I) ; VOWEL SIGN I
|
|
(0x094D ?H) ; SIGN VIRAMA (HARANT)
|
|
(0x0950 ?E) ; OM
|
|
(0x0951 0x954 ?S) ; UDATTA .. ACUTE
|
|
(0x0958 0x095E ?C) ; LETTER QA .. YYA
|
|
(0x0960 0x0961 ?V) ; LETTER VOCALIC RR and LL
|
|
(0x0962 0x0963 ?M) ; VOWEL SIGN VOCALIC L and LL
|
|
(0x0964 0x0970 ?E) ; DANDA .. ABBREVIATION SIGN
|
|
)
|
|
|
|
(generator
|
|
(0
|
|
(cond
|
|
("VA?S?"
|
|
< | vowel * | >)
|
|
("([RC]H)*[RC](H|[IM]?A?S?)?"
|
|
< |
|
|
(cond
|
|
("RH.*" ;; with preceding RA HARANT
|
|
(cond
|
|
("(RH)([^I]*)(I)(A?S?)" ; with I
|
|
(3 vowel-sign-I)
|
|
(2 consonant *)
|
|
(1 preceding-r)
|
|
(4 post-modifier))
|
|
("(RH)([^M]*)(M)(A?S?)" ; with M
|
|
(2 consonant *)
|
|
(3 matra)
|
|
(1 preceding-r)
|
|
(4 post-modifier))
|
|
("(RH)(.*)(H)$" ; with last HARANT
|
|
(2 consonant *)
|
|
(1 preceding-r)
|
|
(3 harant))
|
|
("(RH)([^AS]*)(.*)" ; otherwise
|
|
(2 consonant *)
|
|
(1 preceding-r)
|
|
(3 post-modifier))))
|
|
;; without preceding RA HARANT
|
|
("([^I]*)(I)(A?S?)" ; with I
|
|
(2 vowel-sign-I)
|
|
(1 consonant *)
|
|
(3 post-modifier))
|
|
("([^M]*)(M)(A?S?)" ; with M
|
|
(1 consonant *)
|
|
(2 matra)
|
|
(3 post-modifier))
|
|
("(.*)(H)$" ; with last HARANT
|
|
(1 consonant *)
|
|
(2 harant))
|
|
("([^AS]*)(.*)" ; otherwise
|
|
(1 consonant *)
|
|
(3 post-modifier))
|
|
(".*"
|
|
consonant *))
|
|
| > )
|
|
("."
|
|
independent))
|
|
*)
|
|
|
|
(vowel
|
|
(cond
|
|
((0x0905) 0x2B)
|
|
((0x0906) 0x2B 0xC9)
|
|
((0x0907) 0x3C)
|
|
((0x0908 0x0901) 0x3C 0xC7 0xC6)
|
|
((0x0908) 0x3C 0xC7)
|
|
((0x0909) 0x3D)
|
|
((0x090A) 0x3E 0xF0)
|
|
((0x090B) 0x40 0xF1)
|
|
((0x090D 0x0901) 0x42 0xC4)
|
|
((0x090D 0x0902) 0x42 0xC4)
|
|
((0x090D) 0x42 0xEC)
|
|
((0x090E 0x0901) 0x42 0xE0 0xC6)
|
|
((0x090E) 0x42 0xE0)
|
|
((0x090F) 0x42)
|
|
((0x0910 0x0901) 0x42 0xE4 0xC6)
|
|
((0x0910) 0x42 0xE4)
|
|
((0x0911 0x0901) 0x2B 0xC9 0xC4)
|
|
((0x0911 0x0902) 0x2B 0xC9 0xC4)
|
|
((0x0911) 0x2B 0xC9 0xEC)
|
|
((0x0912 0x0901) 0x2B 0xC9 0xE0 0xC6)
|
|
((0x0912) 0x2B 0xC9 0xE0)
|
|
((0x0913 0x0901) 0x2B 0xC9 0xE4 0xC6)
|
|
((0x0913) 0x2B 0xC9 0xE4)
|
|
((0x0914 0x0901) 0x2B 0xC9 0xE8 0xC6)
|
|
((0x0914) 0x2B 0xC9 0xE8)
|
|
((0x0960) 0x41 0xF1)))
|
|
|
|
(vowel-sign-I
|
|
((0x093F) 0xCA))
|
|
|
|
(preceding-r
|
|
((0x0930 0x094D) 0xC7))
|
|
|
|
(post-modifier
|
|
(cond
|
|
((0x0901) 0xC4)
|
|
((0x0902) 0xC6)
|
|
((0x0951) 0x27)
|
|
((0x0952) bc.tc 0x2D)))
|
|
|
|
(harant
|
|
((0x094D) 0xC2))
|
|
|
|
(consonant
|
|
(cond
|
|
((0x0915 0x094D 0x0924) 0x48 0xF2)
|
|
((0x0915 0x094D 0x0930) 0x47 0xF2)
|
|
((0x0915 0x094D 0x0937 0x094D) 0x49)
|
|
((0x0915 0x094D 0x0937) 0x49 0xC9)
|
|
((0x0915 0x094D) 0x43)
|
|
((0x0915) 0x45 0xF2)
|
|
((0x0916 0x094D 0x0930 0x094D) 0x4C)
|
|
((0x0916 0x094D 0x0930) 0x4C 0xC9)
|
|
((0x0916 0x094D) 0x4A)
|
|
((0x0916) 0x4A 0xC9)
|
|
((0x0917 0x094D 0x0930 0x094D) 0x4F)
|
|
((0x0917 0x094D 0x0930) 0x4F 0xC9)
|
|
((0x0917 0x094D) 0x4D)
|
|
((0x0917) 0x4D 0xC9)
|
|
((0x0918 0x094D 0x0930 0x094D) 0x51)
|
|
((0x0918 0x094D 0x0930) 0x51 0xC9)
|
|
((0x0918 0x094D) 0x50)
|
|
((0x0918) 0x50 0xC9)
|
|
((0x0919) 0x52 0xF3)
|
|
((0x091A 0x094D 0x0930 0x094D) 0x54)
|
|
((0x091A 0x094D 0x0930) 0x54 0xC9)
|
|
((0x091A 0x094D) 0x53)
|
|
((0x091A) 0x53 0xC9)
|
|
((0x091B) 0x55 0xF4)
|
|
((0x091C 0x094D 0x091E 0x094D) 0x59)
|
|
((0x091C 0x094D 0x091E) 0x59 0xC9)
|
|
((0x091C 0x094D 0x0930 0x094D) 0x58)
|
|
((0x091C 0x094D 0x0930) 0x58 0xC9)
|
|
((0x091C 0x094D) 0x56)
|
|
((0x091C) 0x56 0xC9)
|
|
((0x091D 0x094D 0x0930 0x094D) 0x5B)
|
|
((0x091D 0x094D 0x0930) 0x5B 0xC9)
|
|
((0x091D 0x094D) 0x5A)
|
|
((0x091D) 0x5A 0xC9)
|
|
((0x091E 0x094D) 0x5C)
|
|
((0x091E) 0x5C 0xC9)
|
|
((0x091F 0x094D 0x091F) 0x5E 0xF5)
|
|
((0x091F 0x094D 0x0920) 0x5F 0xF5)
|
|
((0x091F) 0x5D 0xF5)
|
|
((0x0920 0x094D 0x0920) 0x61 0xF6)
|
|
((0x0920) 0x60 0xF6)
|
|
((0x0921 0x094D 0x0921) 0x64 0xF7)
|
|
((0x0921 0x094D 0x0922) 0x65 0xF7)
|
|
((0x0921) 0x62 0xF7)
|
|
((0x0922) 0x66 0xF8)
|
|
((0x0923 0x094D) 0x68)
|
|
((0x0923) 0x68 0xC9)
|
|
((0x0924 0x094D 0x0924 0x094D) 0x6B)
|
|
((0x0924 0x094D 0x0924) 0x6B 0xC9)
|
|
((0x0924 0x094D 0x0930 0x094D) 0x6A)
|
|
((0x0924 0x094D 0x0930) 0x6A 0xC9)
|
|
((0x0924 0x094D) 0x69)
|
|
((0x0924) 0x69 0xC9)
|
|
((0x0925 0x094D 0x0930 0x094D) 0x6D)
|
|
((0x0925 0x094D 0x0930) 0x6D 0xC9)
|
|
((0x0925 0x094D) 0x6C)
|
|
((0x0925) 0x6C 0xC9)
|
|
((0x0926 0x0943) 0x6F 0xF9)
|
|
((0x0926 0x094D 0x0926) 0x71 0xF9)
|
|
((0x0926 0x094D 0x0927) 0x72 0xF9)
|
|
((0x0926 0x094D 0x092E) 0x73)
|
|
((0x0926 0x094D 0x092F) 0x74)
|
|
((0x0926 0x094D 0x0930) 0x70 0xF9)
|
|
((0x0926 0x094D 0x0935) 0x75 0xF9)
|
|
((0x0926) 0x6E 0xF9)
|
|
((0x0927 0x094D 0x0930 0x094D) 0x77)
|
|
((0x0927 0x094D 0x0930) 0x77 0xC9)
|
|
((0x0927 0x094D) 0x76)
|
|
((0x0927) 0x76 0xC9)
|
|
((0x0928 0x094D 0x0928 0x094D) 0x7A)
|
|
((0x0928 0x094D 0x0928) 0x7A 0xC9)
|
|
((0x0928 0x094D 0x0930 0x094D) 0x79 0xC9)
|
|
((0x0928 0x094D 0x0930) 0x79 0xC9)
|
|
((0x0928 0x094D) 0x78)
|
|
((0x0928) 0x78 0xC9)
|
|
((0x0929) 0x78 0xC3 0xC9)
|
|
((0x092A 0x094D 0x0930 0x094D) 0x7C)
|
|
((0x092A 0x094D 0x0930) 0x7C 0xC9)
|
|
((0x092A 0x094D) 0x7B)
|
|
((0x092A) 0x7B 0xC9)
|
|
((0x092B 0x094D 0x0930) 0xA3 0xFB)
|
|
((0x092B 0x094D) 0x7D)
|
|
((0x092B) 0xA1 0xFB)
|
|
((0x092C 0x094D 0x0930 0x094D) 0xA5)
|
|
((0x092C 0x094D 0x0930) 0xA5 0xC9)
|
|
((0x092C 0x094D) 0xA4)
|
|
((0x092C) 0xA4 0xC9)
|
|
((0x092D 0x094D 0x0930 0x094D) 0xA7)
|
|
((0x092D 0x094D 0x0930) 0xA7 0xC9)
|
|
((0x092D 0x094D) 0xA6)
|
|
((0x092D) 0xA6 0xC9)
|
|
((0x092E 0x094D 0x0930 0x094D) 0xA9)
|
|
((0x092E 0x094D 0x0930) 0xA9 0xC9)
|
|
((0x092E 0x094D) 0xA8)
|
|
((0x092E) 0xA8 0xC9)
|
|
((0x092F 0x094D 0x0930 0x094D) 0xAB)
|
|
((0x092F 0x094D 0x0930) 0xAB 0xC9)
|
|
((0x092F 0x094D) 0xAA)
|
|
((0x092F) 0xAA 0xC9)
|
|
((0x0930 0x0941) 0xAF 0xFB)
|
|
((0x0930 0x0942) 0xB0 0xFC)
|
|
((0x0930) 0xAE 0xF7)
|
|
((0x0931 0x094D) 0xAD)
|
|
((0x0931) 0xAE 0xC3 0xF7)
|
|
((0x0932 0x094D) 0xB1)
|
|
((0x0932) 0xB1 0xC9)
|
|
((0x0933 0x094D) 0xB2)
|
|
((0x0933) 0xB3)
|
|
((0x0934 0x094D) 0xB2 0xC3)
|
|
((0x0934) 0xB3 0xC3)
|
|
((0x0935 0x094D 0x0930 0x094D) 0xB5)
|
|
((0x0935 0x094D 0x0930) 0xB5 0xC9)
|
|
((0x0935 0x094D) 0xB4)
|
|
((0x0935) 0xB4 0xC9)
|
|
((0x0936 0x094D 0x0930 0x094D) 0xB8)
|
|
((0x0936 0x094D 0x0930) 0xB8 0xC9)
|
|
((0x0936 0x094D 0x0935 0x094D) 0xB7)
|
|
((0x0936 0x094D 0x0935) 0xB7 0xC9)
|
|
((0x0936 0x094D) 0xB6)
|
|
((0x0936) 0xB6 0xC9)
|
|
((0x0937 0x094D) 0xB9)
|
|
((0x0937) 0xB9 0xC9)
|
|
((0x0938 0x094D 0x0930 0x094D) 0xBB)
|
|
((0x0938 0x094D 0x0930) 0xBB 0xC9)
|
|
((0x0938 0x094D) 0xBA)
|
|
((0x0938) 0xBA 0xC9)
|
|
((0x0939 0x0943) 0xBE)
|
|
((0x0939 0x094D 0x092E) 0xC0)
|
|
((0x0939 0x094D 0x092F) 0xC1)
|
|
((0x0939 0x094D 0x0930) 0xBF)
|
|
((0x0939 0x094D) 0xBC)
|
|
((0x0939) 0xBD)
|
|
((0x094D 0x092F) 0xAC)
|
|
((0x094D 0x0930) 0xC5)
|
|
((0x0958 0x094D) 0x44)
|
|
((0x0958) 0x46 0xF2 0xF3)
|
|
((0x0959 0x094D) 0x4B)
|
|
((0x0959) 0x4B 0xC9)
|
|
((0x095A 0x094D) 0x4E)
|
|
((0x095A) 0x4E 0xC9)
|
|
((0x095B 0x094D) 0x57)
|
|
((0x095B) 0x57 0xC9)
|
|
((0x095C) 0x63 0xF7)
|
|
((0x095D) 0x67 0xF8)
|
|
((0x095E 0x094D) 0x7E)
|
|
((0x095E) 0xA2 0xFB)
|
|
((0x095F) 0xAA 0xC3 0xC9)
|
|
((0x094D) 0xC2)))
|
|
|
|
(matra
|
|
(cond
|
|
((0x093E) 0xC9)
|
|
((0x093F 0x0901) 0xCA 0xC6)
|
|
((0x093F) 0xCA)
|
|
((0x0940 0x0901) 0xD2 0xC6)
|
|
((0x0940) 0xD2)
|
|
((0x0941) 0xD6)
|
|
((0x0942) 0xDA)
|
|
((0x0943) 0xDE)
|
|
((0x0944) 0xDF)
|
|
((0x0945) 0xEC)
|
|
((0x0946 0x0901) 0xE0 0xC6)
|
|
((0x0946) 0xE0)
|
|
((0x0947 0x0901) 0xE4 0xC6)
|
|
((0x0947) 0xE4)
|
|
((0x0948 0x0901) 0xE8 0xC6)
|
|
((0x0948) 0xE8)
|
|
((0x0949 0x0901) 0xC9 0xC4)
|
|
((0x0949 0x0902) 0xC9 0xC4)
|
|
((0x0949) 0xC9 0xEC)
|
|
((0x094A 0x0901) 0xC9 0xE0 0xC6)
|
|
((0x094A) 0xC9 0xE0)
|
|
((0x094B 0x0901) 0xC9 0xE4 0xC6)
|
|
((0x094B) 0xC9 0xE4)
|
|
((0x094C 0x0901) 0xC9 0xE8 0xC6)
|
|
((0x094C) 0xC9 0xE8)))
|
|
|
|
(independent
|
|
(cond
|
|
((0x0900) 0x23 0xC7) ; fake!!
|
|
((0x0903) 0x26)
|
|
((0x093C) 0xC3)
|
|
((0x093D) 0x25)
|
|
((0x0950) 0x24) ;new
|
|
((0x0951) 0x27) ;new
|
|
((0x0964) 0x2A)
|
|
((0x0965) 0x2A 0x2A)
|
|
((0x0966) 0x30)
|
|
((0x0967) 0x31)
|
|
((0x0968) 0x32)
|
|
((0x0969) 0x33)
|
|
((0x096A) 0x34)
|
|
((0x096B) 0x35)
|
|
((0x096C) 0x36)
|
|
((0x096D) 0x37)
|
|
((0x096E) 0x38)
|
|
((0x096F) 0x39)
|
|
((0x094D) 0x23 Bc>10Bl 0xC2)
|
|
((0x093F) 0xCA Bc>10Bl 0x23)
|
|
((0x0940) 0x23 0xD2)
|
|
)))
|
|
|
|
(category
|
|
;; C: CONSONANTS
|
|
;; I: VOWEL SIGN I
|
|
;; R: RIGHT MODIFIER
|
|
;; S: SPACING
|
|
;; E: ELSE
|
|
;;
|
|
(0x00 0xFF ?E)
|
|
(0x3C 0xC1 ?C)
|
|
(0xC9 ?R)
|
|
(0xCA 0xD1 ?I)
|
|
(0xD2 0xD5 ?R)
|
|
(0xF0 0xFE ?S))
|
|
|
|
(generator
|
|
(0
|
|
(cond
|
|
(" ([^ ]*) "
|
|
(1
|
|
(cond
|
|
("(I[^C]*)(CC[^R]*)(R.*)"
|
|
(1 rule-i-wide = *)
|
|
(2 rule-else = *))
|
|
("(I[^C]*)(CC[^S]*)(S)(.*)"
|
|
(1 rule-i-wide = *)
|
|
(2 = *)
|
|
(4 rule-else = *)
|
|
(3 = *))
|
|
("([^R]*)(R).*"
|
|
(0 rule-else = *))
|
|
("([^S]*)(S)(.*)"
|
|
(1 rule-else = *)
|
|
(3 rule-else = *)
|
|
(2 = *))
|
|
(".*" = *))))
|
|
("[^ ]*"
|
|
= *))
|
|
*)
|
|
|
|
(rule-i-wide
|
|
(cond
|
|
((0xCA 0xC6) 0xCF)
|
|
((0xCA 0xC7 0xC6) 0xD1)
|
|
((0xCA 0xC7) 0xD0)
|
|
((0xCA) 0xCE)))
|
|
|
|
(rule-else
|
|
(cond
|
|
((0xC3 0xD6) 0xD7)
|
|
((0xC3 0xDA) 0xDB)
|
|
((0xC5 0xD6) 0xD8)
|
|
((0xC5 0xDA) 0xDC)
|
|
((0xC7 0xC4) 0xC8)
|
|
((0xC7 0xC6) 0xC8)
|
|
((0xCA 0xC6) 0xCB)
|
|
((0xCA 0xC7 0xC6) 0xCD)
|
|
((0xCA 0xC7) 0xCC)
|
|
((0xD2 0xC6) 0xD3)
|
|
((0xD2 0xC7 0xC6) 0xD5)
|
|
((0xD2 0xC7) 0xD4)
|
|
((0xE0 0xC6) 0xE1)
|
|
((0xE0 0xC7 0xC6) 0xE3)
|
|
((0xE0 0xC7) 0xE2)
|
|
((0xE4 0xC6) 0xE5)
|
|
((0xE4 0xC7 0xC6) 0xE7)
|
|
((0xE4 0xC7) 0xE6)
|
|
((0xE8 0xC6) 0xE9)
|
|
((0xE8 0xC7 0xC6) 0xEB)
|
|
((0xE8 0xC7) 0xEA)
|
|
((0xEC 0xC6) 0xED)
|
|
((0xEC 0xC7 0xC6) 0xEF)
|
|
((0xEC 0xC7) 0xEE))))
|
|
|
|
;; Copyright (C) 2003, 2004, 2007
|
|
;; National Institute of Advanced Industrial Science and Technology (AIST)
|
|
;; Registration Number H15PRO112
|
|
|
|
;; This file is part of the m17n database; a sub-part of the m17n
|
|
;; library.
|
|
|
|
;; The m17n library is free software; you can redistribute it and/or
|
|
;; modify it under the terms of the GNU Lesser General Public License
|
|
;; as published by the Free Software Foundation; either version 2.1 of
|
|
;; the License, or (at your option) any later version.
|
|
|
|
;; The m17n library is distributed in the hope that it will be useful,
|
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
;; Lesser General Public License for more details.
|
|
|
|
;; You should have received a copy of the GNU Lesser General Public
|
|
;; License along with the m17n library; if not, write to the Free
|
|
;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
;; Boston, MA 02110-1301, USA.
|
|
|
|
;; Local Variables:
|
|
;; mode: lisp
|
|
;; End:
|