Commit ccf9a3a7 authored by Rajeesh K V's avatar Rajeesh K V

RIT-Sundar: Opentype Lookup Features

parent ee043265
languagesystem DFLT dflt;
languagesystem mlm2 dflt;
languagesystem mlym dflt;
include (tables.fea)
include (lookups.fea)
include (kerning.fea)
# -------------------
# BASIC SHAPING FORMS
# -------------------
feature pref {
script mlm2;
language dflt ;
lookup pref_reph;
} pref;
# Akhand Ligatures
# ----------------
feature akhn {
script mlm2;
language dflt ;
lookup akhn_chillu;
lookup akhn_conjuncts;
lookup akhn_conditional_stacking;
script mlym;
language dflt ;
lookup akhn_chillu;
lookup akhn_conjuncts;
lookup akhn_conditional_stacking;
} akhn;
feature blwf {
script mlm2;
language dflt ;
lookup blwf_la_sign;
script mlym;
language dflt ;
lookup blwf_la_sign_mlym;
} blwf;
feature half {
script mlym;
language dflt ;
lookup half_forms_mlym;
} half;
feature pstf {
script mlm2;
language dflt ;
lookup pstf_cons_signs;
script mlym;
language dflt ;
lookup pstf_cons_signs_mlym;
} pstf;
feature pres {
script mlm2;
language dflt ;
lookup pres_reph;
script mlym;
language dflt ;
lookup pres_reph_mlym;
} pres;
feature blws {
script mlm2;
language dflt ;
lookup blws_la_signs;
lookup blws_la_sign_excludes;
script mlym;
language dflt ;
lookup blws_la_signs;
lookup blws_la_sign_excludes;
} blws;
feature psts {
script mlm2;
language dflt ;
lookup psts_vowel_signs;
script mlym;
language dflt ;
lookup psts_vowel_signs;
} psts;
feature haln {
script mlym;
language dflt ;
lookup haln_chillu;
} haln;
# GPOS
#feature abvm {
# script DFLT;
# language dflt ;
# lookup abvm_dotreph;
# script mlm2;
# language dflt ;
# lookup abvm_dotreph;
#} abvm;
feature kern {
script mlm2;
language dflt ;
lookup kern_ya_signs;
lookup kern_symbols;
script mlym;
language dflt ;
lookup kern_ya_signs;
lookup kern_symbols;
} kern;
# GPOS
lookup kern_symbols {
lookupflag 0;
@ks_first_1 = [xx ];
@ks_first_2 = [avagraha uni0D3F uni0D40];
@ks_first_3 = [n1rh n1rhu1 n1rhu2 ];
@ks_second_1 = [quotesingle quotedbl quoteleft quoteright quotedblleft quotedblright parenleft parenright asterisk grave question exclam ];
@ks_second_2 = [quotesingle quotedbl quoteleft quoteright quotedblleft quotedblright parenright asterisk grave question exclam ];
@ks_second_3 = [parenleft ];
pos @ks_first_1 @ks_second_1 400;
pos @ks_first_2 @ks_second_2 200;
pos @ks_second_3 @ks_first_2 200;
pos @ks_first_3 @ks_first_2 200;
} kern_symbols;
lookup kern_ya_signs {
lookupflag 0;
@kc13_first_1 = [k1th1r3 k1l3 k1shm1 th1th1r3 k3r3 ];
@kc13_first_2 = [ k1t1 k1n1 ];
@kc13_first_3 = [];
@kc13_first_4 = [k1r3 k1k1r3 k1s1 k1rhrh n1th1r3 th1r3 s1k2 s1m1 s1r3 k1t1r3 ];
@kc13_first_5 = [zhk1 ];
@kc13_first_6 = [k1shnh k3l3 k4r3 ch1ch1 ch1ch2 th3th3 n1th3r3 p1s1 p2s1 p2th1 t1t1 t3t3 t3t4 m1p1r3 m1r3 l3l3 z1n1 z1z1 shk1 shnh shm1 zhs1 s1s1 lh ];
@kc13_first_7 = [k4n1 ch2r3 k3r3 ];
@kc13_first_8 = [k3k3 nhnh p3th3 z1m1 z1r3 s1k1 s1k1r3 s1th1 s1th1r3 s1n1 s1rhrh rhrh ];
@kc13_second_1 = [y2 y2u1 y2u2];
@kc13_second_2 = [v2 ];
pos @kc13_first_1 @kc13_second_1 100;
pos @kc13_first_2 @kc13_second_1 -10;
pos @kc13_first_3 @kc13_second_1 80;
pos @kc13_first_4 @kc13_second_1 140;
pos @kc13_first_5 @kc13_second_1 400;
pos @kc13_first_6 @kc13_second_1 260;
pos @kc13_first_7 @kc13_second_1 180;
pos @kc13_first_8 @kc13_second_1 200;
pos @kc13_first_5 @kc13_second_2 400;
pos @kc13_first_6 @kc13_second_2 320;
pos @kc13_first_8 @kc13_second_2 260;
} kern_ya_signs;
This diff is collapsed.
#Mark attachment classes (defined in GDEF, used in lookupflags)
@GDEF_Simple = [.notdef .null nonmarkingreturn NULL CR.001 space exclam
quotedbl numbersign dollar percent ampersand quotesingle parenleft
parenright asterisk plus comma hyphen period slash zero one two three
four five six seven eight nine colon semicolon less equal greater
question at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
bracketleft backslash bracketright asciicircum underscore grave a b c d
e f g h i j k l m n o p q r s t u v w x y z braceleft bar braceright
asciitilde anusvara visarga ml_a ml_aa ml_i ml_ii ml_u
ml_uu ml_r l1 ml_e ml_ee ml_ai ml_o ml_oo ml_au k1
k2 k3 k4 ng ch1 ch2 ch3 ch4 nj t1 t2 t3 t4 nh th1 th2 th3 th4 n1 p1 p2
p3 p4 m1 y1 r3 rh l3 lh zh v1 z1 sh s1 h1 avagraha uni0D3E uni0D3F
uni0D40 u1 u2 r1 uni0D46 uni0D47 uni0D48 uni0D4A uni0D4B uni0D4C
uni0D57 uni0D60 l2 ZWNJ ZWJ uni20B9 uni25CC quotedblleft
quotedblright quoteleft quoteright quotesinglbase quotedblbase bullet
ellipsis guilsinglleft guilsinglright fraction uni2074];
@GDEF_Ligature = [nhcil n1cil r3cil l3cil lhcil r4 y2 y2u1 y2u2 v2 k1u1
k1u2 k1r1 k1k1 k1k1u1 k1k1u2 k1k1r1 k1k1r3 k1t1 k1t1r3 k1th1 k1th1r1
k1th1r3 k1n1 k1r3 k1r3u1 k1r3u2 k1l3 k1l3u1 k1l3u2 k1sh k1shu1 k1shu2
k1shnh k1shm1 k1s1 k1rhrh k2u1 k2u2 k3u1 k3u2 k3r1 k3k3 k3k3u2 k3th3
k3th3th4 k3n1 k3n1u1 k3m1 k3r3 k3r3u1 k3r3u2 k3l3 k3l3u1 k3l3u2 k4u1
k4u2 k4r1 k4n1 k4r3 ngu1 ngu2 ngk1 ngk1u1 ngk1u2 ngk1r1 ngng ngngu1
ngngu2 ch1u1 ch1u2 ch1ch1 ch1ch1u1 ch1ch1u2 ch1ch2 ch2u1 ch2u2 ch2r1
ch2r3 ch3u1 ch3u2 ch3r1 ch3ch3 ch3ch3u1 ch3ch3u2 ch3ch3r1 ch3nj ch3r3
ch4u1 ch4u2 ch4r1 nju1 nju2 njch1 njch1u1 njch1u2 njch2 njch3 njch3u1
njch3u2 njnj njnju1 njnju2 t1u1 t1u2 t1t1 t1t1u1 t1t1u2 t1r3 t1r3u1
t1r3u2 t2u1 t2u2 t3u1 t3u2 t3t3 t3t3u1 t3t4 t3r3 t3r3u1 t3r3u2 t4u1
t4u2 t4r3 nhu1 nhu2 nht1 nht1u1 nht1u2 nht2 nht3 nht3u1 nht3u2 nht4
nhnh nhnhu1 nhnhu2 nhm1 nhm1u1 nhm1u2 th1u1 th1u2 th1r1 th1th1 th1th1u1
th1th1u2 th1th1r1 th1th1r3 th1th2 th1n1 th1p4 th1p4u1 th1p4u2 th1m1
th1m1u1 th1m1u2 th1r3 th1r3u1 th1r3u2 th1l3 th1s1 th1s1u1 th1s1u2
th1s1n1 th2u1 th2u2 th3u1 th3u2 th3r1 th3th3 th3th3u1 th3th3u2 th3th4
th3th4u1 th3th4u2 th3r3 th3r3u1 th3r3u2 th4u1 th4u2 th4r1 th4r3 th4r3u1
th4r3u2 n1u1 n1u2 n1r1 n1th1 n1th1u1 n1th1u2 n1th1r3 n1th1r3u1
n1th1r3u2 n1th2 n1th2u1 n1th2u2 n1th3 n1th3u1 n1th3u2 n1th3r3 n1th3r3u1
n1th3r3u2 n1th4 n1th4u1 n1th4u2 n1th4r3 n1n1 n1n1u1 n1n1u2 n1m1 n1m1u1
n1m1u2 n1rh n1rhu1 n1rhu2 p1u1 p1u2 p1r1 p1t1 p1th1 p1n1 p1p1 p1p1u1
p1p1u2 p1p2 p1r3 p1r3u1 p1r3u2 p1l3 p1l3u1 p1l3u2 p1s1 p2u1 p2u2 p2k1
p2t1 p2th1 p2n1 p2r3 p2r3u1 p2r3u2 p2l3 p2l3u1 p2l3u2 p2s1 p2rhrh p3u1
p3u2 p3r1 p3ch3 p3th3 p3th3u1 p3th3u2 p3th4 p3n1 p3p3 p3p3u1 p3p3u2
p3r3 p3r3u1 p3r3u2 p3l3 p3l3u1 p3l3u2 p4u1 p4u2 p4r1 p4r3 p4r3u1 p4r3u2
m1u1 m1u2 m1r1 m1n1 m1p1 m1p1u1 m1p1u2 m1p1r3 m1p1r3u1 m1p1r3u2 m1m1
m1m1u1 m1m1u2 m1r3 m1l3 y1u1 y1u2 y1k1 y1k1k1 y1k1k1u1 y1k1k1u2 y1th1
y1th1u1 y1th1u2 y1p1 y1m1 y1y1 y1y1u1 y1y1u2 r3u1 r3u2 l3u1 l3u2 l3k1
l3k1k1 l3p1 l3m1 l3l3 l3l3u1 l3l3u2 v1u1 v1u2 v1r1 v1r3 v1l3 v1v1
v1v1u1 v1v1u2 z1u1 z1u2 z1r1 z1ch1 z1ch2 z1n1 z1m1 z1r3 z1r3u1 z1r3u2
z1l3 z1z1 z1z1u1 z1z1u2 shu1 shu2 shk1 shk1r1 shk1k1 shk1r3 sht1 sht1r3
sht2 sht2u2 shnh shnhu1 shp1 shp1r3 shp2 shm1 shm1r3 s1u1 s1u2 s1r1
s1k1 s1k1u1 s1k1u2 s1k1r1 s1k1k1 s1k1r3 s1k2 s1t1r3 s1th1 s1th1u1
s1th1u2 s1th1r1 s1th1r3 s1th2 s1th2u2 s1n1 s1p1 s1p1u1 s1p1u2 s1p1r1
s1p1r3 s1p2 s1p2u1 s1m1 s1m1u1 s1m1u2 s1m1r1 s1r3 s1r3u1 s1r3u2 s1l3
s1l3u1 s1l3u2 s1s1 s1s1u1 s1s1u2 s1rhrh s1rhrhu1 s1rhrhu2 h1u1 h1u2
h1r1 h1n1 h1m1 h1r3 h1r3u1 h1l3 lhu1 lhu2 lhlh lhlhu1 lhlhu2 zhu1 zhu2
zhk1 zhch1 zhm1 zhs1 rhu1 rhu2 rhrh rhrhu1 rhrhu2 l4 k1xx k2xx k3xx
k4xx ngxx ch1xx ch2xx ch3xx ch4xx njxx t1xx t2xx t3xx t4xx nhxx th1xx
th2xx th3xx th4xx n1xx p1xx p2xx p3xx p4xx m1xx y1xx r3xx rhxx l3xx
lhxx zhxx v1xx z1xx shxx s1xx h1xx ];
@GDEF_Mark = [xx dotreph];
table GDEF {
# 1. Bases: single character, spacing glyphs.
# 2. Ligatures: multiple character, spacing glyphs.
# 3. Marks: non-spacing combining glyphs.
# 4. Components: part of single character, spacing glyphs.
GlyphClassDef @GDEF_Simple, @GDEF_Ligature, @GDEF_Mark, ;
} GDEF;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment