;; TIBT-MTIB.flt -- Font Layout Table for Tibetan (Tomabechi font)
;; Copyright (C) 2003, 2004, 2007  AIST (H15PRO112)
;; See the end for copying conditions.

(font layouter tibt-mtib nil
      (font (nil mtib unicode-bmp)))

;;; <li> TIBT-MTIB.flt
;;;
;;; For the Tibetan TrueType font developped by Dr. Tomabechi to draw
;;; Tibetan script.  The font is available at:
;;; <ul>
;;; <li> infopage: http://www.m17n.org/emacs-ttf/
;;; <li> download: http://www.m17n.org/emacs-ttf/fonts/tibetan/mtib.ttf
;;; </ul>

(category
 ;; Tibetan character category for rendering
 ;;   C: CONSONANTS (except R)
 ;;   R: LETTER RA (RA-MGO)
 ;;   S: SUBJOINED CONSONANTS (except s)
 ;;   s: SUBJOINED CONSONANTS (don't modify RA-MGO)
 ;;   V: VOWEL (except a and A)
 ;;   a: VOWEL SIGN A (invisible when composed)
 ;;   A: VOWEL SIGN AA (don't make preceding C shorter)
 ;;   M: MODIFIER
 ;;   E: ELSE
 ;;
 (0x0F00 0x0FCF		?E)		; ELSE
 (0x0F19		?M)		; ASTROLOGICAL SIGN SDONG TSHUGS
 (0x0F35		?M)		; MARK NGAS BZUNG NYI ZLA
 (0x0F37		?M)		; MARK NGAS BZUNG SGOR RTAGS
 (0x0F39		?M)		; MARK TSA -PHRU
 (0x0F40 0x0F6A		?C)		; LETTER KA .. LETTER FIXED-FORM RA
 (0x0F62		?R)		; LETTER RA
 (0x0F70		?a)		; VOWEL SIGN A
 (0x0F71		?A)		; VOWEL SIGN AA
 (0x0F72 0x0F7D		?V)		; VOWEL SIGN I .. VOWEL SIGN OO
 (0x0F7E		?M)		; SIGN RJES SU NGA RO
 (0x0F80		?V)		; VOWEL SIGN REVERSED I
 (0x0F81		?V)		; VOWEL SIGN REVERSED II
 (0x0F82		?M)		; SIGN NYI ZLA NAA DA
 (0x0F83		?M)		; SIGN SNA LDAN
 (0x0F84		?V)		; MARK HALANTA
 ;; SIGN LCI RTAGS .. SIGN GRU MED RGYINGS
 (0x0F86 0x0F8B		?M)
 ;; SUBJOINED LETTER KA .. SUBJOINED LETTER FIXED-FORM RA
 (0x0F90 0x0FBC		?s)
 (0x0FAD 		?S)
 (0x0FB1 0x0FB2		?S)
 (0x0FC6		?M))

(generator
 (0
  (cond
   ("[CR][Ss]*[VaA]*M*"
    <
    (cond
     ("R[^SA].*"			; ར[^ྭྱྲཱ]
      ((0x0F62) 0xE083)			; convert ར to upper form
      subjoined *
      dependent-vowel-modifier *)
     (".A.*"				; Cཱ (don't make C shorter)
      =
      dependent-vowel-modifier *)
     (".[Ss].*"
      |
      short-consonant
      subjoined *
      dependent-vowel-modifier *
      |)
     (".*"
      =
      dependent-vowel-modifier * )
     )
    >)
   ("[VaAM]"
    < 0xE07A dependent-vowel-modifier >)
   ("[Ss]"
    < 0xE07A subjoined >)
   ("."
    =))
  *)

 (short-consonant
  (cond
   ((0x0F5D)			0x0FBA)
   ((0x0F61)			0x0FBB)
   ((0x0F62)			0x0FBC)
   ((0x0F6A)			0x0FBC)
   ((range 0x0F40 0x0F69)	0x0F90)))

 (subjoined
  ((range 0x0F90 0x0FB9) bc.tc =))

 (dependent-vowel-modifier
  (cond
   ((0x0F18)	bl.tc =)
   ((0x0F19)	bc.tc =)
   ((0x0F35)	bc.tc =)
   ((0x0F37)	bc.tc =)
   ((0x0F39)	tc.bc =)
   ((0x0F70)	)			; invisible
   ((0x0F71)	bc.tc =)
   ((0x0F72)	tc.bc =)
   ((0x0F73)	bc.tc 0x0F71 tc.bc 0x0F72)
   ((0x0F74)	bc.tc =)
   ((0x0F75)	bc.tc =)
   ((0x0F76)	bc.tc 0x0FB2 tc.bc 0x0F72)
   ((0x0F77)	bc.tc 0x0FB2 bc.tc 0x0F71 tc.bc 0x0F80)
   ((0x0F78)	bc.tc 0x0FB3 tc.bc 0x0F80)
   ((0x0F79)	bc.tc 0x0FB3 bc.tc 0x0F71 tc.bc 0x0F80)
   ((0x0F7A)	tc.bc =)
   ((0x0F7B)	tc.bc =)
   ((0x0F7C)	tc.bc =)
   ((0x0F7D)	tc.bc =)
   ((0x0F7E)	tc.bc =)
   ((0x0F80)	tc.bc =)
   ((0x0F81)	bc.tc 0x0F71 tc.bc =)
   ((0x0F82)	tc.bc =)
   ((0x0F83)	tc.bc =)
   ((0x0F84)	bc.tc =)
   ((0x0F86)	tc.bc =)
   ((0x0F87)	tc.bc =)
   ((0x0F88)	tc.bc =)
   ((0x0F89)	tc.bc =)
   ((0x0F8A)	tc.bc =)
   ((0x0F8B)	tc.bc =)
   ((0x0FC6)	bc.tc =))))

(category
 (0x000 0xFFFF ?G))

(generator
 (0
  (cond
   (" (G*) "
    (1 precomposed = *))
   ("[^ ]*"
    = *))
  *)

 (precomposed
  (cond
   ((0x0F90 0x0FAD)		0xE000)
   ((0x0F90 0x0FB1)		0xE010)
   ((0x0F90 0x0FB2)		0xE018)
   ((0x0F90 0x0FB3)		0xE026)
   ((0x0F91 0x0FAD)		0xE001)
   ((0x0F91 0x0FB1)		0xE011)
   ((0x0F91 0x0FB2)		0xE019)
   ((0x0F92 0x0FAD)		0xE002)
   ((0x0F92 0x0FB1)		0xE012)
   ((0x0F92 0x0FB2 0x0FAD)	0xE025)
   ((0x0F92 0x0FB2)		0xE01A)
   ((0x0F92 0x0FB3)		0xE027)
   ((0x0F95 0x0FAD)		0xE003)
   ((0x0F97 0x0FB2)		0xE060)
   ((0x0F99 0x0FAD)		0xE004)
   ((0x0F9F 0x0FAD)		0xE005)
   ((0x0F9F 0x0FB2)		0xE01B)
   ((0x0FA0 0x0FB2)		0xE01C)
   ((0x0FA1 0x0FAD)		0xE006)
   ((0x0FA1 0x0FB2)		0xE01D)
   ((0x0FA4 0x0FB1)		0xE013)
   ((0x0FA4 0x0FB2)		0xE01E)
   ((0x0FA5 0x0FB1 0x0FAD)	0xE017)
   ((0x0FA5 0x0FB1)		0xE014)
   ((0x0FA5 0x0FB2)		0xE01F)
   ((0x0FA6 0x0FB1)		0xE015)
   ((0x0FA6 0x0FB2)		0xE020)
   ((0x0FA6 0x0FB3)		0xE028)
   ((0x0FA8 0x0FB1)		0xE016)
   ((0x0FA8 0x0FB2)		0xE021)
   ((0x0FA9 0x0FAD)		0xE007)
   ((0x0FAA 0x0FAD)		0xE008)
   ((0x0FAB 0x0FB2)		0xE061)
   ((0x0FAE 0x0FAD)		0xE009)
   ((0x0FAF 0x0FAD)		0xE00A)
   ((0x0FAF 0x0FB3)		0xE029)
   ((0x0FB2 0x0F90 0x0FB1)	0xE03A)
   ((0x0FB2 0x0F90)		0xE02C)
   ((0x0FB2 0x0F92 0x0FAD)	0xE038)
   ((0x0FB2 0x0F92 0x0FB1)	0xE03B)
   ((0x0FB2 0x0F92)		0xE02D)
   ((0x0FB2 0x0F94)		0xE02E)
   ((0x0FB2 0x0F97)		0xE02F)
   ((0x0FB2 0x0F99)		0xE030)
   ((0x0FB2 0x0F9F)		0xE031)
   ((0x0FB2 0x0FA1)		0xE032)
   ((0x0FB2 0x0FA3)		0xE033)
   ((0x0FB2 0x0FA6)		0xE034)
   ((0x0FB2 0x0FA8 0x0FB1)	0xE03C)
   ((0x0FB2 0x0FA8)		0xE035)
   ((0x0FB2 0x0FA9 0x0FAD)	0xE039)
   ((0x0FB2 0x0FA9)		0xE036)
   ((0x0FB2 0x0FAB)		0xE037)
   ((0x0FB2 0x0FAD)		0xE00B)
   ((0x0FB2 0x0FB3)		0xE02A)
   ((0x0FB3 0x0F90)		0xE03D)
   ((0x0FB3 0x0F92)		0xE03E)
   ((0x0FB3 0x0F94)		0xE03F)
   ((0x0FB3 0x0F95)		0xE040)
   ((0x0FB3 0x0F97)		0xE041)
   ((0x0FB3 0x0F9F)		0xE042)
   ((0x0FB3 0x0FA1)		0xE043)
   ((0x0FB3 0x0FA4)		0xE044)
   ((0x0FB3 0x0FA6)		0xE045)
   ((0x0FB3 0x0FAD)		0xE00C)
   ((0x0FB3 0x0FB7)		0xE046)
   ((0x0FB4 0x0FAD)		0xE00D)
   ((0x0FB4 0x0FB2)		0xE022)
   ((0x0FB6 0x0F90 0x0FB1)	0xE052)
   ((0x0FB6 0x0F90 0x0FB2)	0xE057)
   ((0x0FB6 0x0F90)		0xE047)
   ((0x0FB6 0x0F92 0x0FB1)	0xE053)
   ((0x0FB6 0x0F92 0x0FB2)	0xE058)
   ((0x0FB6 0x0F92)		0xE048)
   ((0x0FB6 0x0F94)		0xE049)
   ((0x0FB6 0x0F99)		0xE04A)
   ((0x0FB6 0x0F9F)		0xE04B)
   ((0x0FB6 0x0FA1)		0xE04C)
   ((0x0FB6 0x0FA3 0x0FB2)	0xE059)
   ((0x0FB6 0x0FA3)		0xE04D)
   ((0x0FB6 0x0FA4 0x0FB1)	0xE054)
   ((0x0FB6 0x0FA4 0x0FB2)	0xE05A)
   ((0x0FB6 0x0FA4)		0xE04E)
   ((0x0FB6 0x0FA6 0x0FB1)	0xE055)
   ((0x0FB6 0x0FA6 0x0FB2)	0xE05B)
   ((0x0FB6 0x0FA6)		0xE04F)
   ((0x0FB6 0x0FA8 0x0FB1)	0xE055)
   ((0x0FB6 0x0FA8 0x0FB2)	0xE05C)
   ((0x0FB6 0x0FA8)		0xE050)
   ((0x0FB6 0x0FA9)		0xE051)
   ((0x0FB6 0x0FAD)		0xE00E)
   ((0x0FB6 0x0FB2)		0xE023)
   ((0x0FB6 0x0FB3)		0xE02B)
   ((0x0FB7 0x0FAD)		0xE00F)
   ((0x0FB7 0x0FB2)		0xE024))))

;; 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
;; coding: utf-8
;; End:
