/usr/share/m17n/MLYM-RACHANA.flt is in m17n-db 1.6.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 124 125 126 127 128 129 130 131 132 133 134 135 136 | ;; MLYM-RACHANA.flt -- Font Layout Table for Malayalam Rachana font
;; Copyright (C) 2005, 2007 AIST (H15PRO112)
;; See the end for copying conditions.
(font layouter mlym-rachana nil
(font (nil rachana unicode-bmp)))
;;; <li> MLYM-RACHANA.flt
;;;
;;; For the Rachana Malayalam fonts to draw the traditional Malayalam
;;; script. This fonts handles virtually all ligatures with the AKHN
;;; feature without character reordering.
;; The first stage is to extract a syllable and re-order characters.
(category
;; C: consonant
;; H: HALANT
;; m: MATRA (Mpre)
;; p: MATRA (Mpost)
;; t: MATRA (two-part: Mpre+Mpost)
;; A: vowel modifier (post) (ANUSVARA and VISARGA)
;; V: independent vowel
;; E: else (all other independnt characters)
(0x0D00 0x0D7F ?E) ; else
(0x0D02 0x0D03 ?A) ; ANUSVARA & VISARGA
(0x0D05 0x0D14 ?V) ; independent vowel
(0x0D15 0x0D39 ?C) ; consonant
(0x0D3E 0x0D43 ?p) ; dependent vowel (Mpost)
(0x0D46 0x0D48 ?m) ; dependent vowel (Mpre)
(0x0D4A 0x0D4C ?t) ; dependent vowel (two-part)
(0x0D4D ?H) ; VIRAMA (HALANT)
(0x0D57 ?p) ; dependent vowel (Mpost)
(0x0D60 ?V) ; VOCALIC RR
(0x0D61 ?V) ; VOCALIC LL
(0x0D7F ?x) ; Internal use
(0x200C ?N) ; ZERO WIDTH NON-JOINER
(0x200D ?J) ; ZERO WIDTH JOINER
)
;; Step 0. Syllable identification.
(generator
(0
(cond
;; Halant + ZWNJ -- forced explicit halant.
("((CH)*C)HN"
< | (1 otf:mlym=akhn,psts,haln) 0x0D4D | >)
;; Halant + ZWJ -- forced cillaksaram.
("(CH)*(CH)J"
< | (1 otf:mlym=akhn,psts,haln) (2 otf:mlym=haln) | >)
;; Pre-consonant vowel is temporarily moved to the leftmost
;; position to permit consonant ligature.
("((CH)*C)(m)(A?)"
< | (3 =) (1 otf:mlym=akhn,psts,haln) 0x0D7F (4 =) | >)
;; Two-part vowel sign.
("((CH)*C)(t)(A?)"
< | (3 pre) (1 otf:mlym=akhn,psts,haln) 0x0D7F (3 post) (4 =) | >)
;; Post-consonant vowel sign and/or vowel modifier.
("((CH)*C(pA?|A))"
< | (1 otf:mlym=akhn,psts,haln) | >)
;; No vowel sign.
("((CH)*C(H?))"
< | (1 otf:mlym=akhn,psts,haln) | >)
;; A syllable starting with an independent vowel.
("(VA?)"
< | (1 = *) | >)
;; Other dedependent character.
("[Apmt]" [ = ])
;; Other independent character.
("." =))
*)
;; Former part of two-part vowel sign.
(pre
(cond
((0x0D4A) 0x0D46)
((0x0D4B) 0x0D47)
((0x0D4C) 0x0D46)))
;; Latter part of two-part vowel sign.
(post
(cond
((0x0D4A) 0x0D3E)
((0x0D4B) 0x0D3E)
((0x0D4C) 0x0D57))))
;; Step 1. Move Mpre to the left of base consonant(-cluster).
(generator
(0
(cond
(" (m)([^x]*)([^x])x([^ ]*) "
(2 = *) (1 =) (3 =) (4 = *))
("."
=))
*))
;; Step 2. Finalise.
(generator
(0
(cond
(" ([^ ]*) " (1 otf:mlym=+))
("." =))
*))
;; Copyright (C) 2005, 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: emacs-lisp
;; End:
|