summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/api/.valgrind-suppressions0
-rw-r--r--test/api/Makefile.am23
-rw-r--r--test/api/hb-test.h2
-rw-r--r--test/api/test-blob.c62
-rw-r--r--test/api/test-buffer.c123
-rw-r--r--test/api/test-c.c4
-rw-r--r--test/api/test-font.c1
-rw-r--r--test/api/test-object.c14
-rw-r--r--test/api/test-ot-tag.c11
-rw-r--r--test/api/test-set.c250
-rw-r--r--test/api/test-shape-complex.c1159
-rw-r--r--test/api/test-unicode.c52
-rw-r--r--test/api/test-version.c29
-rw-r--r--test/shaping/Makefile.am41
-rw-r--r--test/shaping/Makefile.in406
-rw-r--r--test/shaping/fonts/sha1sum/226bc2deab3846f1a682085f70c67d0421014144.ttfbin0 -> 2828 bytes
-rw-r--r--test/shaping/fonts/sha1sum/270b89df543a7e48e206a2d830c0e10e5265c630.ttfbin0 -> 3428 bytes
-rw-r--r--test/shaping/fonts/sha1sum/37033cc5cf37bb223d7355153016b6ccece93b28.ttfbin0 -> 2780 bytes
-rw-r--r--test/shaping/fonts/sha1sum/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttfbin0 -> 1320 bytes
-rw-r--r--test/shaping/fonts/sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttfbin0 -> 4720 bytes
-rw-r--r--test/shaping/fonts/sha1sum/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttfbin0 -> 2272 bytes
-rw-r--r--test/shaping/fonts/sha1sum/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttfbin0 -> 1804 bytes
-rw-r--r--test/shaping/fonts/sha1sum/7e14e7883ed152baa158b80e207b66114c823a8b.ttfbin0 -> 1644 bytes
-rw-r--r--test/shaping/fonts/sha1sum/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttfbin0 -> 3428 bytes
-rw-r--r--test/shaping/fonts/sha1sum/8454d22037f892e76614e1645d066689a0200e61.ttfbin0 -> 6068 bytes
-rw-r--r--test/shaping/fonts/sha1sum/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttfbin0 -> 3428 bytes
-rw-r--r--test/shaping/fonts/sha1sum/MANIFEST19
-rw-r--r--test/shaping/fonts/sha1sum/a919b33197965846f21074b24e30250d67277bce.ttfbin0 -> 12560 bytes
-rw-r--r--test/shaping/fonts/sha1sum/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttfbin0 -> 74856 bytes
-rw-r--r--test/shaping/fonts/sha1sum/bb9473d2403488714043bcfb946c9f78b86ad627.ttfbin0 -> 3440 bytes
-rw-r--r--test/shaping/fonts/sha1sum/d629e7fedc0b350222d7987345fe61613fa3929a.ttfbin0 -> 1768 bytes
-rw-r--r--test/shaping/fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttfbin0 -> 6332 bytes
-rw-r--r--test/shaping/fonts/sha1sum/e207635780b42f898d58654b65098763e340f5c7.ttfbin0 -> 3000 bytes
-rw-r--r--test/shaping/fonts/sha1sum/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttfbin0 -> 2748 bytes
-rw-r--r--test/shaping/fonts/sha1sum/f499fbc23865022234775c43503bba2e63978fe1.ttfbin0 -> 3564 bytes
-rw-r--r--test/shaping/hb_test_tools.py14
-rwxr-xr-xtest/shaping/record-test.sh52
-rwxr-xr-xtest/shaping/run-tests.sh34
-rw-r--r--test/shaping/tests/MANIFEST9
-rw-r--r--test/shaping/tests/arabic-fallback-shaping.tests1
-rw-r--r--test/shaping/tests/arabic-feature-order.tests3
-rw-r--r--test/shaping/tests/context-matching.tests3
-rw-r--r--test/shaping/tests/hangul-jamo.tests2
-rw-r--r--test/shaping/tests/indic-joiner-candrabindu.tests2
-rw-r--r--test/shaping/tests/indic-old-spec.tests2
-rw-r--r--test/shaping/tests/indic-pref-blocking.tests2
-rw-r--r--test/shaping/tests/mongolian-variation-selector.tests3
-rw-r--r--test/shaping/tests/zero-width-marks.tests2
-rw-r--r--test/shaping/texts/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/MANIFEST9
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/MANIFEST6
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-persian/MANIFEST1
-rwxr-xr-xtest/shaping/texts/in-tree/shaper-arabic/script-arabic/language-persian/mehran.txt8
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/2grams.txt601
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/3grams.txt3415
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/4grams.txt6316
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/5grams.txt5029
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/6grams.txt1542
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/7grams.txt354
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/8grams.txt26
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/LICENSE3
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/MANIFEST7
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/README16
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/SOURCES4
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/MANIFEST7
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/lam-alef.txt28
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-arabic.txt695
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-persian.txt48
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-urdu.txt188
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/ligature-components.txt18
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/ligature-diacritics.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/mark-skipping.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-mandaic/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-mandaic/misc/MANIFEST0
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-mongolian/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST4
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt6
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/non-joining.txt8
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/poem.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/variation-selectors.txt8
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-nko/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-nko/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-nko/misc/misc.txt5
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/misc/misc.txt14
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-syriac/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-syriac/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-arabic/script-syriac/misc/alaph.txt98
-rw-r--r--test/shaping/texts/in-tree/shaper-default/MANIFEST5
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-ethiopic/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/misc.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-han/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-han/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-han/misc/cjk-compat.txt3
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-hiragana/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/kazuraki-liga-lines.txt8
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/kazuraki-liga.txt53
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-linear-b/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-linear-b/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-linear-b/misc/misc.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-tifinagh/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-tifinagh/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-default/script-tifinagh/misc/misc.txt11
-rw-r--r--test/shaping/texts/in-tree/shaper-hangul/script-hangul/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/misc.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/misc/diacritics.txt16
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/MANIFEST11
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/misc/MANIFEST0
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt40
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt11
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt6
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/MANIFEST7
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt59
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt131
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt139
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt53
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/reph.txt14
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt36
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt12
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt6
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/MANIFEST7
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt58
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt119
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt215
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST6
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/dottedcircle.txt8
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/eyelash.txt3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/joiners.txt19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt36
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/spec-deviations.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt5
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt8
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt45
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt14
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-GenericPunctuation.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt16
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/MANIFEST9
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt185
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt185
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt1367
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/misc/MANIFEST0
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt34
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt12
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt7
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/MANIFEST7
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt170
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt170
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt1156
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/misc.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt38
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt9
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt6
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt6
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/MANIFEST7
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt22
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gsub/IndicFontFeatureGSUB.txt152
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/misc.txt20
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/right-matras.txt7
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt40
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt14
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt9
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/MANIFEST8
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt188
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gpos/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt306
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/cibu.txt188
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/dot-reph.txt15
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt65
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt36
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt12
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt14
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/MANIFEST7
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt254
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/bindu.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/misc.txt28
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt34
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt12
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt12
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt8
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/MANIFEST9
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt170
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/MANIFEST4
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/extensive.txt4390
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt41
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/reph.txt3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/split-matras.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt41
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt17
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt18
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Punctuation.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/MANIFEST5
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt162
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gpos/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt41
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt42
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt41
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/MANIFEST7
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/misc/misc.txt43
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt23
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt11
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt12
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt6
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/MANIFEST10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt64
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt44
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/misc/misc.txt12
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/LICENSE19
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/README13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/SOURCES2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt38
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt13
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt10
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt14
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt6
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/MANIFEST7
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt385
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gpos/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt287
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gsub/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt23
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/other-marks-invalid.txt4
-rw-r--r--test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/other-marks.txt7
-rw-r--r--test/shaping/texts/in-tree/shaper-myanmar/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt7
-rw-r--r--test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/otspec.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/utn11.txt34
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/MANIFEST3
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-cham/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-cham/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-cham/misc/misc.txt3
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/misc.txt1
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-tai-tham/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/misc.txt2
-rw-r--r--test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/torture.txt23
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/MANIFEST2
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/script-lao/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/script-lao/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/script-lao/misc/sara-am.txt20
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/script-thai/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/script-thai/misc/MANIFEST4
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/script-thai/misc/misc.txt11
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/script-thai/misc/phinthu.txt16
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/script-thai/misc/pua-shaping.txt11
-rw-r--r--test/shaping/texts/in-tree/shaper-thai/script-thai/misc/sara-am.txt20
-rw-r--r--test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/MANIFEST1
-rw-r--r--test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/misc.txt2
388 files changed, 32124 insertions, 1614 deletions
diff --git a/test/api/.valgrind-suppressions b/test/api/.valgrind-suppressions
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/api/.valgrind-suppressions
diff --git a/test/api/Makefile.am b/test/api/Makefile.am
index e6c0c01..4ff14fa 100644
--- a/test/api/Makefile.am
+++ b/test/api/Makefile.am
@@ -7,8 +7,8 @@ DISTCLEANFILES =
MAINTAINERCLEANFILES =
if HAVE_GLIB
-AM_CPPFLAGS = -DSRCDIR="\"$(srcdir)\"" -I$(top_srcdir)/src/ -I$(top_builddir)/src/ $(GLIB_CFLAGS) $(GTHREAD_CFLAGS)
-LDADD = $(top_builddir)/src/libharfbuzz.la $(GLIB_LIBS) $(GTHREAD_LIBS)
+AM_CPPFLAGS = -DSRCDIR="\"$(srcdir)\"" -I$(top_srcdir)/src/ -I$(top_builddir)/src/ $(GLIB_CFLAGS)
+LDADD = $(top_builddir)/src/libharfbuzz.la $(GLIB_LIBS)
EXTRA_DIST += hb-test.h
@@ -21,11 +21,23 @@ TEST_PROGS = \
test-common \
test-font \
test-object \
+ test-set \
test-shape \
test-unicode \
test-version \
$(NULL)
+test_unicode_CPPFLAGS = $(AM_CPPFLAGS)
+test_unicode_LDADD = $(LDADD)
+if HAVE_GLIB
+test_unicode_CPPFLAGS += $(GLIB_CFLAGS)
+endif
+if HAVE_ICU
+test_unicode_CPPFLAGS += $(ICU_CFLAGS)
+test_unicode_LDADD += $(top_builddir)/src/libharfbuzz-icu.la
+endif
+
+
if HAVE_OT
TEST_PROGS += \
test-ot-tag \
@@ -49,7 +61,6 @@ test_c_CPPFLAGS += $(FREETYPE_CFLAGS)
test_cplusplus_CPPFLAGS += $(FREETYPE_CFLAGS)
endif
-
# Default test running environment
TESTS = $(TEST_PROGS)
TESTS_ENVIRONMENT = \
@@ -58,7 +69,7 @@ TESTS_ENVIRONMENT = \
G_DEBUG=gc-friendly \
G_SLICE=always-malloc \
srcdir=$(srcdir) \
- $(ENV)
+ $(NULL)
# check-tool: Run tests under $(TOOL)
@@ -86,8 +97,8 @@ VALGRIND_FLAGS = \
$(EXTRA_VALGRIND_FLAGS)
# Can't do for now: --show-reachable=yes
CLEANFILES += log-valgrind.txt
-valgrind_verbose = $(valgrind_verbose_$(V))
-valgrind_verbose_ = $(valgrind_verbose_$(AM_DEFAULT_VERBOSITY))
+valgrind_verbose = $(valgrind_verbose_@AM_V@)
+valgrind_verbose_ = $(valgrind_verbose_@AM_DEFAULT_V@)
valgrind_verbose_0 = | \
grep '\(^[^=]\|ERROR SUMMARY\|definitely lost\|indirectly lost\)' | grep -v ': 0'
# TODO: The following check does not fail if valgrind finds error. It should.
diff --git a/test/api/hb-test.h b/test/api/hb-test.h
index f36d53b..4d41218 100644
--- a/test/api/hb-test.h
+++ b/test/api/hb-test.h
@@ -33,6 +33,7 @@
#include <stdlib.h>
#include <string.h>
+#include <stdio.h>
HB_BEGIN_DECLS
@@ -75,7 +76,6 @@ srcdir (void)
static inline void
hb_test_init (int *argc, char ***argv)
{
- g_thread_init (NULL);
g_test_init (argc, argv, NULL);
}
diff --git a/test/api/test-blob.c b/test/api/test-blob.c
index 5fcb208..f671331 100644
--- a/test/api/test-blob.c
+++ b/test/api/test-blob.c
@@ -53,6 +53,9 @@ test_blob_empty (void)
g_assert (hb_blob_is_immutable (hb_blob_get_empty ()));
g_assert (hb_blob_get_empty () != NULL);
g_assert (hb_blob_get_empty () == hb_blob_create (NULL, 0, HB_MEMORY_MODE_READONLY, NULL, NULL));
+ g_assert (hb_blob_get_empty () == hb_blob_create ("asdf", 0, HB_MEMORY_MODE_READONLY, NULL, NULL));
+ g_assert (hb_blob_get_empty () == hb_blob_create (NULL, -1, HB_MEMORY_MODE_READONLY, NULL, NULL));
+ g_assert (hb_blob_get_empty () == hb_blob_create ("asdfg", -1, HB_MEMORY_MODE_READONLY, NULL, NULL));
blob = hb_blob_get_empty ();
g_assert (blob == hb_blob_get_empty ());
@@ -68,7 +71,7 @@ test_blob_empty (void)
g_assert_cmpint (len, ==, 0);
data_writable = hb_blob_get_data_writable (blob, NULL);
- g_assert (data == NULL);
+ g_assert (data_writable == NULL);
data_writable = hb_blob_get_data_writable (blob, &len);
g_assert (data_writable == NULL);
@@ -262,16 +265,61 @@ static void
test_blob_subblob (fixture_t *fixture, gconstpointer user_data)
{
hb_blob_t *b = fixture->blob;
+ hb_memory_mode_t mm = GPOINTER_TO_INT (user_data);
+ unsigned int len;
+ const char *data;
+ char *data_writable;
+ unsigned int i;
- fixture->len -= 2;
- fixture->data++;
- fixture->blob = hb_blob_create_sub_blob (b, 1, fixture->len);
+ if (mm == HB_MEMORY_MODE_DUPLICATE) {
+ g_assert_cmpint (fixture->freed, ==, 1);
+ fixture->data = (char *) hb_blob_get_data (b, NULL);
+ } else {
+ g_assert_cmpint (fixture->freed, ==, 0);
+ }
+ fixture->blob = hb_blob_create_sub_blob (b, 1, fixture->len - 2);
hb_blob_destroy (b);
+ b = fixture->blob;
+
+ /* A sub-blob is always created READONLY. */
+
+ g_assert (b);
- test_blob (fixture, user_data);
+ len = hb_blob_get_length (b);
+ g_assert_cmpint (len, ==, fixture->len - 2);
+
+ data = hb_blob_get_data (b, &len);
+ g_assert_cmpint (len, ==, fixture->len - 2);
+ g_assert (data == fixture->data + 1);
- fixture->data--;
- fixture->len += 2;
+ data_writable = hb_blob_get_data_writable (b, &len);
+ g_assert_cmpint (len, ==, fixture->len - 2);
+ g_assert (data_writable);
+ if (mm == HB_MEMORY_MODE_READONLY)
+ g_assert (0 == memcmp (data_writable, fixture->data + 1, fixture->len - 2));
+ g_assert (data_writable != data);
+ g_assert_cmpint (fixture->freed, ==, 1);
+
+ data = hb_blob_get_data (b, &len);
+ g_assert_cmpint (len, ==, fixture->len - 2);
+ g_assert (data == data_writable);
+
+ memset (data_writable, 0, fixture->len - 2);
+
+ /* Now, make it immutable and watch get_data_writable() fail */
+
+ g_assert (!hb_blob_is_immutable (b));
+ hb_blob_make_immutable (b);
+ g_assert (hb_blob_is_immutable (b));
+
+ data_writable = hb_blob_get_data_writable (b, &len);
+ g_assert (!data_writable);
+ g_assert_cmpint (len, ==, 0);
+
+ data = hb_blob_get_data (b, &len);
+ g_assert_cmpint (len, ==, fixture->len - 2);
+ for (i = 0; i < len; i++)
+ g_assert ('\0' == data[i]);
}
diff --git a/test/api/test-buffer.c b/test/api/test-buffer.c
index ab818d0..17607f1 100644
--- a/test/api/test-buffer.c
+++ b/test/api/test-buffer.c
@@ -71,7 +71,7 @@ fixture_init (fixture_t *fixture, gconstpointer user_data)
case BUFFER_ONE_BY_ONE:
for (i = 1; i < G_N_ELEMENTS (utf32) - 1; i++)
- hb_buffer_add (b, utf32[i], 1, i);
+ hb_buffer_add (b, utf32[i], i);
break;
case BUFFER_UTF32:
@@ -127,8 +127,44 @@ test_buffer_properties (fixture_t *fixture, gconstpointer user_data)
hb_buffer_set_language (b, hb_language_from_string ("fa", -1));
g_assert (hb_buffer_get_language (b) == hb_language_from_string ("Fa", -1));
+ hb_buffer_set_flags (b, HB_BUFFER_FLAG_BOT);
+ g_assert (hb_buffer_get_flags (b) == HB_BUFFER_FLAG_BOT);
- /* test reset clears properties */
+ hb_buffer_set_replacement_codepoint (b, (unsigned int) -1);
+ g_assert (hb_buffer_get_replacement_codepoint (b) == (unsigned int) -1);
+
+
+ /* test clear_contents clears all these properties: */
+
+ hb_buffer_clear_contents (b);
+
+ g_assert (hb_buffer_get_unicode_funcs (b) == ufuncs);
+ g_assert (hb_buffer_get_direction (b) == HB_DIRECTION_INVALID);
+ g_assert (hb_buffer_get_script (b) == HB_SCRIPT_INVALID);
+ g_assert (hb_buffer_get_language (b) == NULL);
+
+ /* but not these: */
+
+ g_assert (hb_buffer_get_flags (b) != HB_BUFFER_FLAGS_DEFAULT);
+ g_assert (hb_buffer_get_replacement_codepoint (b) != HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT);
+
+
+ /* test reset clears all properties */
+
+ hb_buffer_set_direction (b, HB_DIRECTION_RTL);
+ g_assert (hb_buffer_get_direction (b) == HB_DIRECTION_RTL);
+
+ hb_buffer_set_script (b, HB_SCRIPT_ARABIC);
+ g_assert (hb_buffer_get_script (b) == HB_SCRIPT_ARABIC);
+
+ hb_buffer_set_language (b, hb_language_from_string ("fa", -1));
+ g_assert (hb_buffer_get_language (b) == hb_language_from_string ("Fa", -1));
+
+ hb_buffer_set_flags (b, HB_BUFFER_FLAG_BOT);
+ g_assert (hb_buffer_get_flags (b) == HB_BUFFER_FLAG_BOT);
+
+ hb_buffer_set_replacement_codepoint (b, (unsigned int) -1);
+ g_assert (hb_buffer_get_replacement_codepoint (b) == (unsigned int) -1);
hb_buffer_reset (b);
@@ -136,6 +172,8 @@ test_buffer_properties (fixture_t *fixture, gconstpointer user_data)
g_assert (hb_buffer_get_direction (b) == HB_DIRECTION_INVALID);
g_assert (hb_buffer_get_script (b) == HB_SCRIPT_INVALID);
g_assert (hb_buffer_get_language (b) == NULL);
+ g_assert (hb_buffer_get_flags (b) == HB_BUFFER_FLAGS_DEFAULT);
+ g_assert (hb_buffer_get_replacement_codepoint (b) == HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT);
}
static void
@@ -152,7 +190,7 @@ test_buffer_contents (fixture_t *fixture, gconstpointer user_data)
}
len = hb_buffer_get_length (b);
- glyphs = hb_buffer_get_glyph_infos (b, NULL); /* test NULL */
+ hb_buffer_get_glyph_infos (b, NULL); /* test NULL */
glyphs = hb_buffer_get_glyph_infos (b, &len2);
g_assert_cmpint (len, ==, len2);
g_assert_cmpint (len, ==, 5);
@@ -264,7 +302,7 @@ test_buffer_positions (fixture_t *fixture, gconstpointer user_data)
/* Without shaping, positions should all be zero */
len = hb_buffer_get_length (b);
- positions = hb_buffer_get_glyph_positions (b, NULL); /* test NULL */
+ hb_buffer_get_glyph_positions (b, NULL); /* test NULL */
positions = hb_buffer_get_glyph_positions (b, &len2);
g_assert_cmpint (len, ==, len2);
for (i = 0; i < len; i++) {
@@ -345,6 +383,7 @@ test_buffer_utf8_conversion (void)
unsigned int bytes, chars, i, j, len;
b = hb_buffer_create ();
+ hb_buffer_set_replacement_codepoint (b, (hb_codepoint_t) -1);
for (i = 0; i < G_N_ELEMENTS (utf8_conversion_tests); i++)
{
@@ -359,7 +398,7 @@ test_buffer_utf8_conversion (void)
for (chars = 0; test->codepoints[chars]; chars++)
;
- hb_buffer_reset (b);
+ hb_buffer_clear_contents (b);
hb_buffer_add_utf8 (b, test->utf8, bytes, 1, bytes - 2);
glyphs = hb_buffer_get_glyph_infos (b, &len);
@@ -420,11 +459,15 @@ static const utf8_validity_test_t utf8_validity_tests[] = {
{ "\x7f", -1, 1, TRUE },
{ "\xdf\xbf", -1, 2, TRUE },
{ "\xef\xbf\xbf", -1, 0, TRUE },
- { "\xf7\xbf\xbf\xbf", -1, 0, TRUE },
+ { "\xf4\x8f\xbf\xbf", -1, 0, TRUE },
+ { "\xf4\x90\xbf\xbf", -1, 0, FALSE },
+ { "\xf7\xbf\xbf\xbf", -1, 0, FALSE },
{ "\xfb\xbf\xbf\xbf\xbf", -1, 0, FALSE },
{ "\xfd\xbf\xbf\xbf\xbf\xbf", -1, 0, FALSE },
/* other boundary conditions */
{ "\xed\x9f\xbf", -1, 3, TRUE },
+ { "\xed\xa0\x80", -1, 0, FALSE },
+ { "\xed\xbf\xbf", -1, 0, FALSE },
{ "\xee\x80\x80", -1, 3, TRUE },
{ "\xef\xbf\xbd", -1, 3, TRUE },
{ "\xf4\x8f\xbf\xbf", -1, 0, TRUE },
@@ -581,8 +624,6 @@ static const utf8_validity_test_t utf8_validity_tests[] = {
/* impossible bytes */
{ "\x20\xfe\x20", -1, 1, FALSE },
{ "\x20\xff\x20", -1, 1, FALSE },
-#if 0
- /* XXX fix these, or document that we don't detect them? */
/* overlong sequences */
{ "\x20\xc0\xaf\x20", -1, 1, FALSE },
{ "\x20\xe0\x80\xaf\x20", -1, 1, FALSE },
@@ -615,6 +656,7 @@ static const utf8_validity_test_t utf8_validity_tests[] = {
{ "\x20\xed\xae\x80\xed\xbf\xbf\x20", -1, 1, FALSE },
{ "\x20\xed\xaf\xbf\xed\xb0\x80\x20", -1, 1, FALSE },
{ "\x20\xed\xaf\xbf\xed\xbf\xbf\x20", -1, 1, FALSE },
+#if 0 /* We don't consider U+FFFE / U+FFFF and similar invalid. */
{ "\x20\xef\xbf\xbe\x20", -1, 1, FALSE },
{ "\x20\xef\xbf\xbf\x20", -1, 1, FALSE },
#endif
@@ -628,6 +670,7 @@ test_buffer_utf8_validity (void)
unsigned int i;
b = hb_buffer_create ();
+ hb_buffer_set_replacement_codepoint (b, (hb_codepoint_t) -1);
for (i = 0; i < G_N_ELEMENTS (utf8_validity_tests); i++)
{
@@ -646,7 +689,7 @@ test_buffer_utf8_validity (void)
else
segment_bytes = test->max_len;
- hb_buffer_reset (b);
+ hb_buffer_clear_contents (b);
hb_buffer_add_utf8 (b, test->utf8, text_bytes, 0, segment_bytes);
glyphs = hb_buffer_get_glyph_infos (b, &len);
@@ -675,7 +718,8 @@ static const utf16_conversion_test_t utf16_conversion_tests[] = {
{{0x41, 0xD800, 0xDF02}, {-1}},
{{0x41, 0x61, 0xD800, 0xDF02}, {0x61, -1}},
{{0x41, 0xD800, 0x61, 0xDF02}, {-1, 0x61}},
- {{0x41, 0x61}, {}}
+ {{0x41, 0xDF00, 0x61}, {-1}},
+ {{0x41, 0x61}, {0}}
};
static void
@@ -685,6 +729,7 @@ test_buffer_utf16_conversion (void)
unsigned int i;
b = hb_buffer_create ();
+ hb_buffer_set_replacement_codepoint (b, (hb_codepoint_t) -1);
for (i = 0; i < G_N_ELEMENTS (utf16_conversion_tests); i++)
{
@@ -699,7 +744,7 @@ test_buffer_utf16_conversion (void)
for (chars = 0; test->codepoints[chars]; chars++)
;
- hb_buffer_reset (b);
+ hb_buffer_clear_contents (b);
hb_buffer_add_utf16 (b, test->utf16, u_len, 1, u_len - 2);
glyphs = hb_buffer_get_glyph_infos (b, &len);
@@ -711,6 +756,61 @@ test_buffer_utf16_conversion (void)
hb_buffer_destroy (b);
}
+
+typedef struct {
+ const uint32_t utf32[8];
+ const uint32_t codepoints[8];
+} utf32_conversion_test_t;
+
+/* note: we skip the first and last item from utf32 when adding to buffer */
+static const utf32_conversion_test_t utf32_conversion_tests[] = {
+ {{0x41, 0x004D, 0x0430, 0x4E8C, 0xD800, 0xDF02, 0x61} , {0x004D, 0x0430, 0x4E8C, -3, -3}},
+ {{0x41, 0x004D, 0x0430, 0x4E8C, 0x10302, 0x61} , {0x004D, 0x0430, 0x4E8C, 0x10302}},
+ {{0x41, 0xD800, 0xDF02, 0x61}, {-3, -3}},
+ {{0x41, 0xD800, 0xDF02}, {-3}},
+ {{0x41, 0x61, 0xD800, 0xDF02}, {0x61, -3}},
+ {{0x41, 0xD800, 0x61, 0xDF02}, {-3, 0x61}},
+ {{0x41, 0xDF00, 0x61}, {-3}},
+ {{0x41, 0x10FFFF, 0x61}, {0x10FFFF}},
+ {{0x41, 0x110000, 0x61}, {-3}},
+ {{0x41, 0x61}, {0}}
+};
+
+static void
+test_buffer_utf32_conversion (void)
+{
+ hb_buffer_t *b;
+ unsigned int i;
+
+ b = hb_buffer_create ();
+ hb_buffer_set_replacement_codepoint (b, (hb_codepoint_t) -3);
+
+ for (i = 0; i < G_N_ELEMENTS (utf32_conversion_tests); i++)
+ {
+ const utf32_conversion_test_t *test = &utf32_conversion_tests[i];
+ unsigned int u_len, chars, j, len;
+ hb_glyph_info_t *glyphs;
+
+ g_test_message ("UTF-32 test #%d", i);
+
+ for (u_len = 0; test->utf32[u_len]; u_len++)
+ ;
+ for (chars = 0; test->codepoints[chars]; chars++)
+ ;
+
+ hb_buffer_clear_contents (b);
+ hb_buffer_add_utf32 (b, test->utf32, u_len, 1, u_len - 2);
+
+ glyphs = hb_buffer_get_glyph_infos (b, &len);
+ g_assert_cmpint (len, ==, chars);
+ for (j = 0; j < chars; j++)
+ g_assert_cmphex (glyphs[j].codepoint, ==, test->codepoints[j]);
+ }
+
+ hb_buffer_destroy (b);
+}
+
+
static void
test_empty (hb_buffer_t *b)
{
@@ -777,6 +877,7 @@ main (int argc, char **argv)
hb_test_add (test_buffer_utf8_conversion);
hb_test_add (test_buffer_utf8_validity);
hb_test_add (test_buffer_utf16_conversion);
+ hb_test_add (test_buffer_utf32_conversion);
hb_test_add (test_buffer_empty);
return hb_test_run();
diff --git a/test/api/test-c.c b/test/api/test-c.c
index 25a38e5..6e8602f 100644
--- a/test/api/test-c.c
+++ b/test/api/test-c.c
@@ -51,6 +51,10 @@
#include <hb-uniscribe.h>
#endif
+#ifdef HAVE_CORETEXT
+#include <hb-coretext.h>
+#endif
+
int
main (int argc, char **argv)
{
diff --git a/test/api/test-font.c b/test/api/test-font.c
index 40540c4..6b6a503 100644
--- a/test/api/test-font.c
+++ b/test/api/test-font.c
@@ -136,7 +136,6 @@ _test_font_nil_funcs (hb_font_t *font)
g_assert (!hb_font_get_glyph (font, 17, 2, &glyph));
g_assert_cmpint (glyph, ==, 0);
- x = 13;
x = hb_font_get_glyph_h_kerning (font, 17, 19);
g_assert_cmpint (x, ==, 0);
}
diff --git a/test/api/test-object.c b/test/api/test-object.c
index 66e8d33..3afe6ae 100644
--- a/test/api/test-object.c
+++ b/test/api/test-object.c
@@ -53,6 +53,17 @@ create_buffer_inert (void)
}
static void *
+create_set (void)
+{
+ return hb_set_create ();
+}
+static void *
+create_set_inert (void)
+{
+ return NULL;
+}
+
+static void *
create_face (void)
{
hb_blob_t *blob = (hb_blob_t *) create_blob ();
@@ -154,6 +165,7 @@ typedef struct {
static const object_t objects[] =
{
OBJECT_WITHOUT_IMMUTABILITY (buffer),
+ OBJECT_WITHOUT_IMMUTABILITY (set),
OBJECT_WITH_IMMUTABILITY (blob),
OBJECT_WITH_IMMUTABILITY (face),
OBJECT_WITH_IMMUTABILITY (font),
@@ -219,7 +231,7 @@ test_object (void)
for (i = 0; i < G_N_ELEMENTS (objects); i++) {
const object_t *o = &objects[i];
void *obj;
- hb_user_data_key_t key[2];
+ hb_user_data_key_t key[1001];
{
unsigned int j;
diff --git a/test/api/test-ot-tag.c b/test/api/test-ot-tag.c
index 81b6678..b667c7d 100644
--- a/test/api/test-ot-tag.c
+++ b/test/api/test-ot-tag.c
@@ -132,6 +132,7 @@ test_ot_tag_script_indic (void)
test_indic_tags ("ory2", "orya", HB_SCRIPT_ORIYA);
test_indic_tags ("tml2", "taml", HB_SCRIPT_TAMIL);
test_indic_tags ("tel2", "telu", HB_SCRIPT_TELUGU);
+ test_indic_tags ("mym2", "mymr", HB_SCRIPT_MYANMAR);
}
@@ -194,17 +195,21 @@ test_ot_tag_language (void)
test_language_two_way ("ZHH", "zh-hk"); /* Chinese (Hong Kong) */
+ test_tag_from_language ("ZHS", "zh"); /* Chinese */
test_tag_from_language ("ZHS", "zh-cn"); /* Chinese (China) */
test_tag_from_language ("ZHS", "zh-sg"); /* Chinese (Singapore) */
test_tag_from_language ("ZHT", "zh-mo"); /* Chinese (Macao) */
test_tag_from_language ("ZHT", "zh-tw"); /* Chinese (Taiwan) */
+ test_tag_from_language ("ZHS", "zh-Hans"); /* Chinese (Simplified) */
+ test_tag_from_language ("ZHT", "zh-Hant"); /* Chinese (Traditional) */
+ test_tag_from_language ("ZHS", "zh-xx"); /* Chinese (Other) */
test_tag_from_language ("ZHS", "zh"); /* Chinese */
test_tag_from_language ("ZHS", "zh-xx");
- test_tag_to_language ("ZHS", "zh-x-hbotzhs");
- test_tag_to_language ("ZHT", "zh-x-hbotzht");
- test_tag_to_language ("ZHP", "zh-x-hbotzhp");
+ test_tag_to_language ("ZHS", "zh-Hans");
+ test_tag_to_language ("ZHT", "zh-Hant");
+ test_tag_to_language ("ZHP", "x-hbotzhp");
test_language_two_way ("ABC", "x-hbotabc");
test_tag_from_language ("ABC", "asdf-asdf-wer-x-hbotabc-zxc");
diff --git a/test/api/test-set.c b/test/api/test-set.c
new file mode 100644
index 0000000..9634951
--- /dev/null
+++ b/test/api/test-set.c
@@ -0,0 +1,250 @@
+/*
+ * Copyright © 2013 Google, Inc.
+ *
+ * This is part of HarfBuzz, a text shaping library.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ *
+ * Google Author(s): Behdad Esfahbod
+ */
+
+#include "hb-test.h"
+
+/* Unit tests for hb-set.h */
+
+
+static void
+test_empty (hb_set_t *s)
+{
+ hb_codepoint_t next = HB_SET_VALUE_INVALID;
+ g_assert_cmpint (hb_set_get_population (s), ==, 0);
+ g_assert_cmpint (hb_set_get_min (s), ==, HB_SET_VALUE_INVALID);
+ g_assert_cmpint (hb_set_get_max (s), ==, HB_SET_VALUE_INVALID);
+ g_assert (!hb_set_has (s, 13));
+ g_assert (!hb_set_next (s, &next));
+ g_assert_cmpint (next, ==, HB_SET_VALUE_INVALID);
+ g_assert (hb_set_is_empty (s));
+}
+
+static void
+test_not_empty (hb_set_t *s)
+{
+ hb_codepoint_t next = HB_SET_VALUE_INVALID;
+ g_assert_cmpint (hb_set_get_population (s), !=, 0);
+ g_assert_cmpint (hb_set_get_min (s), !=, HB_SET_VALUE_INVALID);
+ g_assert_cmpint (hb_set_get_max (s), !=, HB_SET_VALUE_INVALID);
+ g_assert (hb_set_next (s, &next));
+ g_assert_cmpint (next, !=, HB_SET_VALUE_INVALID);
+}
+
+static void
+test_set_basic (void)
+{
+ hb_set_t *s = hb_set_create ();
+
+ test_empty (s);
+ hb_set_add (s, 13);
+ test_not_empty (s);
+
+ hb_set_clear (s);
+ test_empty (s);
+
+ hb_set_add (s, 33000);
+ test_not_empty (s);
+ hb_set_clear (s);
+
+ hb_set_add_range (s, 10, 29);
+ test_not_empty (s);
+ g_assert (hb_set_has (s, 13));
+ g_assert_cmpint (hb_set_get_population (s), ==, 20);
+ g_assert_cmpint (hb_set_get_min (s), ==, 10);
+ g_assert_cmpint (hb_set_get_max (s), ==, 29);
+
+ hb_set_invert (s);
+ test_not_empty (s);
+ g_assert (!hb_set_has (s, 13));
+ g_assert_cmpint (hb_set_get_min (s), ==, 0);
+
+ hb_set_invert (s);
+ test_not_empty (s);
+ g_assert (hb_set_has (s, 13));
+ g_assert_cmpint (hb_set_get_population (s), ==, 20);
+ g_assert_cmpint (hb_set_get_min (s), ==, 10);
+ g_assert_cmpint (hb_set_get_max (s), ==, 29);
+
+ hb_set_del_range (s, 10, 18);
+ test_not_empty (s);
+ g_assert (!hb_set_has (s, 13));
+
+ hb_set_destroy (s);
+}
+
+static void
+test_set_algebra (void)
+{
+ hb_set_t *s = hb_set_create ();
+ hb_set_t *o = hb_set_create ();
+
+ hb_set_add (o, 13);
+ hb_set_add (o, 19);
+
+ test_empty (s);
+ g_assert (!hb_set_is_equal (s, o));
+ hb_set_set (s, o);
+ g_assert (hb_set_is_equal (s, o));
+ test_not_empty (s);
+ g_assert_cmpint (hb_set_get_population (s), ==, 2);
+
+ hb_set_clear (s);
+ test_empty (s);
+ hb_set_add (s, 10);
+ g_assert_cmpint (hb_set_get_population (s), ==, 1);
+ hb_set_union (s, o);
+ g_assert_cmpint (hb_set_get_population (s), ==, 3);
+ g_assert (hb_set_has (s, 10));
+ g_assert (hb_set_has (s, 13));
+
+ hb_set_clear (s);
+ test_empty (s);
+ hb_set_add_range (s, 10, 17);
+ g_assert (!hb_set_is_equal (s, o));
+ hb_set_intersect (s, o);
+ g_assert (!hb_set_is_equal (s, o));
+ test_not_empty (s);
+ g_assert_cmpint (hb_set_get_population (s), ==, 1);
+ g_assert (!hb_set_has (s, 10));
+ g_assert (hb_set_has (s, 13));
+
+ hb_set_clear (s);
+ test_empty (s);
+ hb_set_add_range (s, 10, 17);
+ g_assert (!hb_set_is_equal (s, o));
+ hb_set_subtract (s, o);
+ g_assert (!hb_set_is_equal (s, o));
+ test_not_empty (s);
+ g_assert_cmpint (hb_set_get_population (s), ==, 7);
+ g_assert (hb_set_has (s, 12));
+ g_assert (!hb_set_has (s, 13));
+ g_assert (!hb_set_has (s, 19));
+
+ hb_set_clear (s);
+ test_empty (s);
+ hb_set_add_range (s, 10, 17);
+ g_assert (!hb_set_is_equal (s, o));
+ hb_set_symmetric_difference (s, o);
+ g_assert (!hb_set_is_equal (s, o));
+ test_not_empty (s);
+ g_assert_cmpint (hb_set_get_population (s), ==, 8);
+ g_assert (hb_set_has (s, 12));
+ g_assert (!hb_set_has (s, 13));
+ g_assert (hb_set_has (s, 19));
+
+ hb_set_destroy (s);
+}
+
+static void
+test_set_iter (void)
+{
+ hb_codepoint_t next, first, last;
+ hb_set_t *s = hb_set_create ();
+
+ hb_set_add (s, 13);
+ hb_set_add_range (s, 6, 6);
+ hb_set_add_range (s, 10, 15);
+ hb_set_add (s, 20005);
+
+ test_not_empty (s);
+
+ next = HB_SET_VALUE_INVALID;
+ g_assert (hb_set_next (s, &next));
+ g_assert_cmpint (next, ==, 6);
+ g_assert (hb_set_next (s, &next));
+ g_assert_cmpint (next, ==, 10);
+ g_assert (hb_set_next (s, &next));
+ g_assert (hb_set_next (s, &next));
+ g_assert (hb_set_next (s, &next));
+ g_assert_cmpint (next, ==, 13);
+ g_assert (hb_set_next (s, &next));
+ g_assert (hb_set_next (s, &next));
+ g_assert_cmpint (next, ==, 15);
+ g_assert (hb_set_next (s, &next));
+ g_assert_cmpint (next, ==, 20005);
+ g_assert (!hb_set_next (s, &next));
+ g_assert_cmpint (next, ==, HB_SET_VALUE_INVALID);
+
+ first = last = HB_SET_VALUE_INVALID;
+ g_assert (hb_set_next_range (s, &first, &last));
+ g_assert_cmpint (first, ==, 6);
+ g_assert_cmpint (last, ==, 6);
+ g_assert (hb_set_next_range (s, &first, &last));
+ g_assert_cmpint (first, ==, 10);
+ g_assert_cmpint (last, ==, 15);
+ g_assert (hb_set_next_range (s, &first, &last));
+ g_assert_cmpint (first, ==, 20005);
+ g_assert_cmpint (last, ==, 20005);
+ g_assert (!hb_set_next_range (s, &first, &last));
+ g_assert_cmpint (first, ==, HB_SET_VALUE_INVALID);
+ g_assert_cmpint (last, ==, HB_SET_VALUE_INVALID);
+
+ hb_set_destroy (s);
+}
+
+static void
+test_set_empty (void)
+{
+ hb_set_t *b = hb_set_get_empty ();
+
+ g_assert (hb_set_get_empty ());
+ g_assert (hb_set_get_empty () == b);
+
+ g_assert (!hb_set_allocation_successful (b));
+
+ test_empty (b);
+
+ hb_set_add (b, 13);
+
+ test_empty (b);
+
+ hb_set_invert (b);
+
+ test_empty (b);
+
+ g_assert (!hb_set_allocation_successful (b));
+
+ hb_set_clear (b);
+
+ test_empty (b);
+
+ g_assert (!hb_set_allocation_successful (b));
+
+ hb_set_destroy (b);
+}
+
+int
+main (int argc, char **argv)
+{
+ hb_test_init (&argc, &argv);
+
+ hb_test_add (test_set_basic);
+ hb_test_add (test_set_algebra);
+ hb_test_add (test_set_iter);
+ hb_test_add (test_set_empty);
+
+ return hb_test_run();
+}
diff --git a/test/api/test-shape-complex.c b/test/api/test-shape-complex.c
deleted file mode 100644
index 1963b5e..0000000
--- a/test/api/test-shape-complex.c
+++ /dev/null
@@ -1,1159 +0,0 @@
-/*
- * Copyright © 2011 Google, Inc.
- * Copyright © 2008 Nokia Corporation and/or its subsidiary(-ies)
- *
- * This is part of HarfBuzz, a text shaping library.
- *
- * Permission is hereby granted, without written agreement and without
- * license or royalty fees, to use, copy, modify, and distribute this
- * software and its documentation for any purpose, provided that the
- * above copyright notice and the following two paragraphs appear in
- * all copies of this software.
- *
- * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * Google Author(s): Behdad Esfahbod
- */
-
-#include "hb-test.h"
-
-/* Unit tests for complex text shaping */
-
-/*
- * This test provides a framework to test aspects of hb_shape() that are
- * font-dependent. Please add tests for any feature that fits that
- * description.
- */
-
-#include <hb-ft.h>
-
-typedef struct
-{
- const char *font_file;
- unsigned int face_index;
- /* TODO add min/max face version */
-} font_data_t;
-
-static char *
-get_font_file (const font_data_t *font_data)
-{
- return g_strdup_printf ("%s/fonts/%s", srcdir (), font_data->font_file);
-}
-
-
-typedef struct
-{
- char comments[64];
- hb_codepoint_t characters[16];
- hb_codepoint_t glyphs[16];
-} test_data_t;
-
-typedef struct
-{
- const font_data_t font_data;
- const test_data_t test_datas[];
-} test_set_t;
-
-typedef struct
-{
- const font_data_t *font_data;
- const test_data_t *test_data;
-} test_t;
-
-
-static const test_set_t tests_devanagari1 = {
- {"raghu.ttf", 0},
- {
- { "Ka",
- { 0x0915, 0 },
- { 0x0080, 0 }
- },
- { "Ka Halant",
- { 0x0915, 0x094d, 0 },
- { 0x0080, 0x0051, 0 }
- },
- { "Ka Halant Ka",
- { 0x0915, 0x094d, 0x0915, 0 },
- { 0x00c8, 0x0080, 0 }
- },
- { "Ka MatraI",
- { 0x0915, 0x093f, 0 },
- { 0x01d1, 0x0080, 0 }
- },
- { "Ra Halant Ka",
- { 0x0930, 0x094d, 0x0915, 0 },
- { 0x0080, 0x005b, 0 }
- },
- { "Ra Halant Ka MatraI",
- { 0x0930, 0x094d, 0x0915, 0x093f, 0 },
- { 0x01d1, 0x0080, 0x005b, 0 }
- },
- { "MatraI",
- { 0x093f, 0 },
- { 0x01d4, 0x029c, 0 }
- },
- { "Ka Nukta",
- { 0x0915, 0x093c, 0 },
- { 0x00a4, 0 }
- },
- { "Ka Halant Ra",
- { 0x0915, 0x094d, 0x0930, 0 },
- { 0x0110, 0 }
- },
- { "Ka Halant Ra Halant Ka",
- { 0x0915, 0x094d, 0x0930, 0x094d, 0x0915, 0 },
- { 0x0158, 0x0080, 0 }
- },
- { "",
- { 0x0930, 0x094d, 0x200d, 0 },
- { 0x00e2, 0 }
- },
- { "",
- { 0x0915, 0x094d, 0x0930, 0x094d, 0x200d, 0 },
- { 0x0158, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_devanagari2 = {
- {"mangal.ttf", 0},
- {
- { "Ka",
- { 0x0915, 0 },
- { 0x0080, 0 }
- },
- { "Ka Halant",
- { 0x0915, 0x094d, 0 },
- { 0x0080, 0x0051, 0 }
- },
- { "Ka Halant Ka",
- { 0x0915, 0x094d, 0x0915, 0 },
- { 0x00c8, 0x0080, 0 }
- },
- { "Ka MatraI",
- { 0x0915, 0x093f, 0 },
- { 0x01d1, 0x0080, 0 }
- },
- { "Ra Halant Ka",
- { 0x0930, 0x094d, 0x0915, 0 },
- { 0x0080, 0x005b, 0 }
- },
- { "Ra Halant Ka MatraI",
- { 0x0930, 0x094d, 0x0915, 0x093f, 0 },
- { 0x01d1, 0x0080, 0x005b, 0 }
- },
- { "MatraI",
- { 0x093f, 0 },
- { 0x01d4, 0x029c, 0 }
- },
- { "Ka Nukta",
- { 0x0915, 0x093c, 0 },
- { 0x00a4, 0 }
- },
- { "Ka Halant Ra",
- { 0x0915, 0x094d, 0x0930, 0 },
- { 0x0110, 0 }
- },
- { "Ka Halant Ra Halant Ka",
- { 0x0915, 0x094d, 0x0930, 0x094d, 0x0915, 0 },
- { 0x0158, 0x0080, 0 }
- },
- { "",
- { 0x92b, 0x94d, 0x930, 0 },
- { 0x125, 0 }
- },
- { "",
- { 0x92b, 0x93c, 0x94d, 0x930, 0 },
- { 0x149, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_bengali1 = {
- {"AkaashNormal.ttf", 0},
- {
- { "Ka",
- { 0x0995, 0 },
- { 0x0151, 0 }
- },
- { "Ka Halant",
- { 0x0995, 0x09cd, 0 },
- { 0x0151, 0x017d, 0 }
- },
- { "Ka Halant Ka",
- { 0x0995, 0x09cd, 0x0995, 0 },
- { 0x019b, 0 }
- },
- { "Ka MatraI",
- { 0x0995, 0x09bf, 0 },
- { 0x0173, 0x0151, 0 }
- },
- { "Ra Halant Ka",
- { 0x09b0, 0x09cd, 0x0995, 0 },
- { 0x0151, 0x0276, 0 }
- },
- { "Ra Halant Ka MatraI",
- { 0x09b0, 0x09cd, 0x0995, 0x09bf, 0 },
- { 0x0173, 0x0151, 0x0276, 0 }
- },
- { "Ka Nukta",
- { 0x0995, 0x09bc, 0 },
- { 0x0151, 0x0171, 0 }
- },
- { "Ka Halant Ra",
- { 0x0995, 0x09cd, 0x09b0, 0 },
- { 0x01f4, 0 }
- },
- { "Ka Halant Ra Halant Ka",
- { 0x0995, 0x09cd, 0x09b0, 0x09cd, 0x0995, 0 },
- { 0x025c, 0x0276, 0x0151, 0 }
- },
- { "Ya + Halant",
- { 0x09af, 0x09cd, 0 },
- { 0x016a, 0x017d, 0 }
- },
- { "Da Halant Ya -> Da Ya-Phala",
- { 0x09a6, 0x09cd, 0x09af, 0 },
- { 0x01e5, 0 }
- },
- { "A Halant Ya -> A Ya-phala",
- { 0x0985, 0x09cd, 0x09af, 0 },
- { 0x0145, 0x01cf, 0 }
- },
- { "Na Halant Ka",
- { 0x09a8, 0x09cd, 0x0995, 0 },
- { 0x026f, 0x0151, 0 }
- },
- { "Na Halant ZWNJ Ka",
- { 0x09a8, 0x09cd, 0x200c, 0x0995, 0 },
- { 0x0164, 0x017d, 0x0151, 0 }
- },
- { "Na Halant ZWJ Ka",
- { 0x09a8, 0x09cd, 0x200d, 0x0995, 0 },
- { 0x026f, 0x0151, 0 }
- },
- { "Ka Halant ZWNJ Ka",
- { 0x0995, 0x09cd, 0x200c, 0x0995, 0 },
- { 0x0151, 0x017d, 0x0151, 0 }
- },
- { "Ka Halant ZWJ Ka",
- { 0x0995, 0x09cd, 0x200d, 0x0995, 0 },
- { 0x025c, 0x0151, 0 }
- },
- { "Na Halant Ra",
- { 0x09a8, 0x09cd, 0x09b0, 0 },
- { 0x0207, 0 }
- },
- { "Na Halant ZWNJ Ra",
- { 0x09a8, 0x09cd, 0x200c, 0x09b0, 0 },
- { 0x0164, 0x017d, 0x016b, 0 }
- },
- { "Na Halant ZWJ Ra",
- { 0x09a8, 0x09cd, 0x200d, 0x09b0, 0 },
- { 0x026f, 0x016b, 0 }
- },
- { "Na Halant Ba",
- { 0x09a8, 0x09cd, 0x09ac, 0 },
- { 0x022f, 0 }
- },
- { "Na Halant ZWNJ Ba",
- { 0x09a8, 0x09cd, 0x200c, 0x09ac, 0 },
- { 0x0164, 0x017d, 0x0167, 0 }
- },
- { "Na Halant ZWJ Ba",
- { 0x09a8, 0x09cd, 0x200d, 0x09ac, 0 },
- { 0x026f, 0x0167, 0 }
- },
- { "Na Halant Dha",
- { 0x09a8, 0x09cd, 0x09a7, 0 },
- { 0x01d3, 0 }
- },
- { "Na Halant ZWNJ Dha",
- { 0x09a8, 0x09cd, 0x200c, 0x09a7, 0 },
- { 0x0164, 0x017d, 0x0163, 0 }
- },
- { "Na Halant ZWJ Dha",
- { 0x09a8, 0x09cd, 0x200d, 0x09a7, 0 },
- { 0x026f, 0x0163, 0 }
- },
- { "Ra Halant Ka MatraAU",
- { 0x09b0, 0x09cd, 0x0995, 0x09cc, 0 },
- { 0x0179, 0x0151, 0x0276, 0x017e, 0 }
- },
- { "Ra Halant Ba Halant Ba",
- { 0x09b0, 0x09cd, 0x09ac, 0x09cd, 0x09ac, 0 },
- { 0x0232, 0x0276, 0 }
- },
- { "",
- { 0x9b0, 0x9cd, 0x995, 0x9be, 0x982, 0 },
- { 0x151, 0x276, 0x172, 0x143, 0 }
- },
- { "",
- { 0x9b0, 0x9cd, 0x995, 0x9be, 0x983, 0 },
- { 0x151, 0x276, 0x172, 0x144, 0 }
- },
- /* Test decomposed two part matras */
- { "",
- { 0x995, 0x9c7, 0x9be, 0 },
- { 0x179, 0x151, 0x172, 0 }
- },
- { "",
- { 0x995, 0x9c7, 0x9d7, 0 },
- { 0x179, 0x151, 0x17e, 0 }
- },
- { "",
- { 0x9b0, 0x9cd, 0x9ad, 0 },
- { 0x168, 0x276, 0 }
- },
- { "",
- { 0x9f0, 0x9cd, 0x9ad, 0 },
- { 0x168, 0x276, 0 }
- },
- { "",
- { 0x9f1, 0x9cd, 0x9ad, 0 },
- { 0x191, 0x17d, 0x168, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_bengali2 = {
- {"MuktiNarrow.ttf", 0},
- {
- { "Ka",
- { 0x0995, 0 },
- { 0x0073, 0 }
- },
- { "Ka Halant",
- { 0x0995, 0x09cd, 0 },
- { 0x00b9, 0 }
- },
- { "Ka Halant Ka",
- { 0x0995, 0x09cd, 0x0995, 0 },
- { 0x0109, 0 }
- },
- { "Ka MatraI",
- { 0x0995, 0x09bf, 0 },
- { 0x0095, 0x0073, 0 }
- },
- { "Ra Halant Ka",
- { 0x09b0, 0x09cd, 0x0995, 0 },
- { 0x0073, 0x00e1, 0 }
- },
- { "Ra Halant Ka MatraI",
- { 0x09b0, 0x09cd, 0x0995, 0x09bf, 0 },
- { 0x0095, 0x0073, 0x00e1, 0 }
- },
- { "MatraI",
- { 0x09bf, 0 },
- { 0x0095, 0x01c8, 0 }
- },
- { "Ka Nukta",
- { 0x0995, 0x09bc, 0 },
- { 0x0073, 0x0093, 0 }
- },
- { "Ka Halant Ra",
- { 0x0995, 0x09cd, 0x09b0, 0 },
- { 0x00e5, 0 }
- },
- { "Ka Halant Ra Halant Ka",
- { 0x995, 0x9cd, 0x9b0, 0x9cd, 0x995, 0 },
- { 0x234, 0x24e, 0x73, 0 }
- },
- { "Ya + Halant",
- { 0x09af, 0x09cd, 0 },
- { 0x00d2, 0 }
- },
- { "Da Halant Ya -> Da Ya-Phala",
- { 0x09a6, 0x09cd, 0x09af, 0 },
- { 0x0084, 0x00e2, 0 }
- },
- { "A Halant Ya -> A Ya-phala",
- { 0x0985, 0x09cd, 0x09af, 0 },
- { 0x0067, 0x00e2, 0 }
- },
- { "Na Halant Ka",
- { 0x09a8, 0x09cd, 0x0995, 0 },
- { 0x0188, 0 }
- },
- { "Na Halant ZWNJ Ka",
- { 0x9a8, 0x9cd, 0x200c, 0x995, 0 },
- { 0xcc, 0x73, 0 }
- },
- { "Na Halant ZWJ Ka",
- { 0x9a8, 0x9cd, 0x200d, 0x995, 0 },
- { 0x247, 0x73, 0 }
- },
- { "Ka Halant ZWNJ Ka",
- { 0x9a8, 0x9cd, 0x200d, 0x995, 0 },
- { 0x247, 0x73, 0 }
- },
- { "Ka Halant ZWJ Ka",
- { 0x9a8, 0x9cd, 0x200d, 0x995, 0 },
- { 0x247, 0x73, 0 }
- },
- { "Na Halant Ra",
- { 0x09a8, 0x09cd, 0x09b0, 0 },
- { 0x00f8, 0 }
- },
- { "Na Halant ZWNJ Ra",
- { 0x09a8, 0x09cd, 0x200c, 0x09b0, 0 },
- { 0xcc, 0x8d, 0 }
- },
- { "Na Halant ZWJ Ra",
- { 0x9a8, 0x9cd, 0x200d, 0x9b0, 0 },
- { 0x247, 0x8d, 0 }
- },
- { "Na Halant Ba",
- { 0x09a8, 0x09cd, 0x09ac, 0 },
- { 0x0139, 0 }
- },
- { "Na Halant ZWNJ Ba",
- { 0x9a8, 0x9cd, 0x200c, 0x9ac, 0 },
- { 0xcc, 0x89, 0 }
- },
- { "Na Halant ZWJ Ba",
- { 0x9a8, 0x9cd, 0x200d, 0x9ac, 0 },
- { 0x247, 0x89, 0 }
- },
- { "Na Halant Dha",
- { 0x09a8, 0x09cd, 0x09a7, 0 },
- { 0x0145, 0 }
- },
- { "Na Halant ZWNJ Dha",
- { 0x09a8, 0x09cd, 0x200c, 0x09a7, 0 },
- { 0xcc, 0x85, 0 }
- },
- { "Na Halant ZWJ Dha",
- { 0x09a8, 0x09cd, 0x200d, 0x09a7, 0 },
- { 0x247, 0x85, 0 }
- },
- { "Ra Halant Ka MatraAU",
- { 0x9b0, 0x9cd, 0x995, 0x9cc, 0 },
- { 0x232, 0x73, 0xe1, 0xa0, 0 }
- },
- { "Ra Halant Ba Halant Ba",
- { 0x09b0, 0x09cd, 0x09ac, 0x09cd, 0x09ac, 0 },
- { 0x013b, 0x00e1, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_bengali3 = {
- {"LikhanNormal.ttf", 0},
- {
- { "",
- { 0x09a8, 0x09cd, 0x09af, 0 },
- { 0x01ca, 0 }
- },
- { "",
- { 0x09b8, 0x09cd, 0x09af, 0 },
- { 0x020e, 0 }
- },
- { "",
- { 0x09b6, 0x09cd, 0x09af, 0 },
- { 0x01f4, 0 }
- },
- { "",
- { 0x09b7, 0x09cd, 0x09af, 0 },
- { 0x01fe, 0 }
- },
- { "",
- { 0x09b0, 0x09cd, 0x09a8, 0x09cd, 0x200d, 0 },
- { 0x10b, 0x167, 0 }
- },
- { "",
- { 0x9b0, 0x9cd, 0x9ad, 0 },
- { 0xa1, 0x167, 0 }
- },
- { "",
- { 0x9f0, 0x9cd, 0x9ad, 0 },
- { 0xa1, 0x167, 0 }
- },
- { "",
- { 0x9f1, 0x9cd, 0x9ad, 0 },
- { 0x11c, 0xa1, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_gurmukhi = {
- {"lohit_pa.ttf", 0},
- {
- { "",
- { 0xA15, 0xA4D, 0xa39, 0 },
- { 0x3b, 0x8b, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_oriya = {
- {"utkalm.ttf", 0},
- {
- { "",
- { 0xb15, 0xb4d, 0xb24, 0xb4d, 0xb30, 0 },
- { 0x150, 0x125, 0 }
- },
- { "",
- { 0xb24, 0xb4d, 0xb24, 0xb4d, 0xb2c, 0 },
- { 0x151, 0x120, 0 }
- },
- { "",
- { 0xb28, 0xb4d, 0xb24, 0xb4d, 0xb2c, 0 },
- { 0x152, 0x120, 0 }
- },
- { "",
- { 0xb28, 0xb4d, 0xb24, 0xb4d, 0xb2c, 0 },
- { 0x152, 0x120, 0 }
- },
- { "",
- { 0xb28, 0xb4d, 0xb24, 0xb4d, 0xb30, 0 },
- { 0x176, 0 }
- },
- { "",
- { 0xb38, 0xb4d, 0xb24, 0xb4d, 0xb30, 0 },
- { 0x177, 0 }
- },
- { "",
- { 0xb28, 0xb4d, 0xb24, 0xb4d, 0xb30, 0xb4d, 0xb2f, 0 },
- { 0x176, 0x124, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_tamil = {
- {"akruti1.ttf", 0},
- {
- { "",
- { 0x0b95, 0x0bc2, 0 },
- { 0x004e, 0 }
- },
- { "",
- { 0x0bae, 0x0bc2, 0 },
- { 0x009e, 0 }
- },
- { "",
- { 0x0b9a, 0x0bc2, 0 },
- { 0x0058, 0 }
- },
- { "",
- { 0x0b99, 0x0bc2, 0 },
- { 0x0053, 0 }
- },
- { "",
- { 0x0bb0, 0x0bc2, 0 },
- { 0x00a8, 0 }
- },
- { "",
- { 0x0ba4, 0x0bc2, 0 },
- { 0x008e, 0 }
- },
- { "",
- { 0x0b9f, 0x0bc2, 0 },
- { 0x0062, 0 }
- },
- { "",
- { 0x0b95, 0x0bc6, 0 },
- { 0x000a, 0x0031, 0 }
- },
- { "",
- { 0x0b95, 0x0bca, 0 },
- { 0x000a, 0x0031, 0x0007, 0 }
- },
- { "",
- { 0x0b95, 0x0bc6, 0x0bbe, 0 },
- { 0x000a, 0x0031, 0x007, 0 }
- },
- { "",
- { 0x0b95, 0x0bcd, 0x0bb7, 0 },
- { 0x0049, 0 }
- },
- { "",
- { 0x0b95, 0x0bcd, 0x0bb7, 0x0bca, 0 },
- { 0x000a, 0x0049, 0x007, 0 }
- },
- { "",
- { 0x0b95, 0x0bcd, 0x0bb7, 0x0bc6, 0x0bbe, 0 },
- { 0x000a, 0x0049, 0x007, 0 }
- },
- { "",
- { 0x0b9f, 0x0bbf, 0 },
- { 0x005f, 0 }
- },
- { "",
- { 0x0b9f, 0x0bc0, 0 },
- { 0x0060, 0 }
- },
- { "",
- { 0x0bb2, 0x0bc0, 0 },
- { 0x00ab, 0 }
- },
- { "",
- { 0x0bb2, 0x0bbf, 0 },
- { 0x00aa, 0 }
- },
- { "",
- { 0x0bb0, 0x0bcd, 0 },
- { 0x00a4, 0 }
- },
- { "",
- { 0x0bb0, 0x0bbf, 0 },
- { 0x00a5, 0 }
- },
- { "",
- { 0x0bb0, 0x0bc0, 0 },
- { 0x00a6, 0 }
- },
- { "",
- { 0x0b83, 0 },
- { 0x0025, 0 }
- },
- { "",
- { 0x0b83, 0x0b95, 0 },
- { 0x0025, 0x0031, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_telugu = {
- {"Pothana2000.ttf", 0},
- {
- { "",
- { 0xc15, 0xc4d, 0 },
- { 0xbb, 0 }
- },
- { "",
- { 0xc15, 0xc4d, 0xc37, 0 },
- { 0x4b, 0 }
- },
- { "",
- { 0xc15, 0xc4d, 0xc37, 0xc4d, 0 },
- { 0xe0, 0 }
- },
- { "",
- { 0xc15, 0xc4d, 0xc37, 0xc4d, 0xc23, 0 },
- { 0x4b, 0x91, 0 }
- },
- { "",
- { 0xc15, 0xc4d, 0xc30, 0 },
- { 0x5a, 0xb2, 0 }
- },
- { "",
- { 0xc15, 0xc4d, 0xc30, 0xc4d, 0 },
- { 0xbb, 0xb2, 0 }
- },
- { "",
- { 0xc15, 0xc4d, 0xc30, 0xc4d, 0xc15, 0 },
- { 0x5a, 0xb2, 0x83, 0 }
- },
- { "",
- { 0xc15, 0xc4d, 0xc30, 0xc3f, 0 },
- { 0xe2, 0xb2, 0 }
- },
- { "",
- { 0xc15, 0xc4d, 0xc15, 0xc48, 0 },
- { 0xe6, 0xb3, 0x83, 0 }
- },
- { "",
- { 0xc15, 0xc4d, 0xc30, 0xc48, 0 },
- { 0xe6, 0xb3, 0x9f, 0 }
- },
- { "",
- { 0xc15, 0xc46, 0xc56, 0 },
- { 0xe6, 0xb3, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_kannada1 = {
- {"Sampige.ttf", 0},
- {
- { "",
- { 0x0ca8, 0x0ccd, 0x0ca8, 0 },
- { 0x0049, 0x00ba, 0 }
- },
- { "",
- { 0x0ca8, 0x0ccd, 0x0ca1, 0 },
- { 0x0049, 0x00b3, 0 }
- },
- { "",
- { 0x0caf, 0x0cc2, 0 },
- { 0x004f, 0x005d, 0 }
- },
- { "",
- { 0x0ce0, 0 },
- { 0x006a, 0 }
- },
- { "",
- { 0x0ce6, 0x0ce7, 0x0ce8, 0 },
- { 0x006b, 0x006c, 0x006d, 0 }
- },
- { "",
- { 0x0cb5, 0x0ccb, 0 },
- { 0x015f, 0x0067, 0 }
- },
- { "",
- { 0x0cb0, 0x0ccd, 0x0cae, 0 },
- { 0x004e, 0x0082, 0 }
- },
- { "",
- { 0x0cb0, 0x0ccd, 0x0c95, 0 },
- { 0x0036, 0x0082, 0 }
- },
- { "",
- { 0x0c95, 0x0ccd, 0x0cb0, 0 },
- { 0x0036, 0x00c1, 0 }
- },
- { "",
- { 0x0cb0, 0x0ccd, 0x200d, 0x0c95, 0 },
- { 0x0050, 0x00a7, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_kannada2 = {
- {"tunga.ttf", 0},
- {
- { "",
- { 0x0cb7, 0x0cc6, 0 },
- { 0x00b0, 0x006c, 0 }
- },
- { "",
- { 0x0cb7, 0x0ccd, 0 },
- { 0x0163, 0 }
- },
- { "",
- { 0xc95, 0xcbf, 0xcd5, 0 },
- { 0x114, 0x73, 0 }
- },
- { "",
- { 0xc95, 0xcc6, 0xcd5, 0 },
- { 0x90, 0x6c, 0x73, 0 }
- },
- { "",
- { 0xc95, 0xcc6, 0xcd6, 0 },
- { 0x90, 0x6c, 0x74, 0 }
- },
- { "",
- { 0xc95, 0xcc6, 0xcc2, 0 },
- { 0x90, 0x6c, 0x69, 0 }
- },
- { "",
- { 0xc95, 0xcca, 0xcd5, 0 },
- { 0x90, 0x6c, 0x69, 0x73, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_malayalam1 = {
- {"AkrutiMal2Normal.ttf", 0},
- {
- { "",
- { 0x0d15, 0x0d46, 0 },
- { 0x005e, 0x0034, 0 }
- },
- { "",
- { 0x0d15, 0x0d47, 0 },
- { 0x005f, 0x0034, 0 }
- },
- { "",
- { 0x0d15, 0x0d4b, 0 },
- { 0x005f, 0x0034, 0x0058, 0 }
- },
- { "",
- { 0x0d15, 0x0d48, 0 },
- { 0x0060, 0x0034, 0 }
- },
- { "",
- { 0x0d15, 0x0d4a, 0 },
- { 0x005e, 0x0034, 0x0058, 0 }
- },
- { "",
- { 0x0d30, 0x0d4d, 0x0d15, 0 },
- { 0x009e, 0x0034, 0 }
- },
- { "",
- { 0x0d15, 0x0d4d, 0x0d35, 0 },
- { 0x0034, 0x007a, 0 }
- },
- { "",
- { 0x0d15, 0x0d4d, 0x0d2f, 0 },
- { 0x0034, 0x00a2, 0 }
- },
- { "",
- { 0x0d1f, 0x0d4d, 0x0d1f, 0 },
- { 0x0069, 0 }
- },
- { "",
- { 0x0d26, 0x0d4d, 0x0d26, 0 },
- { 0x0074, 0 }
- },
- { "",
- { 0x0d30, 0x0d4d, 0 },
- { 0x009e, 0 }
- },
- { "",
- { 0x0d30, 0x0d4d, 0x200c, 0 },
- { 0x009e, 0 }
- },
- { "",
- { 0x0d30, 0x0d4d, 0x200d, 0 },
- { 0x009e, 0 }
- },
- { "",
- { 0xd15, 0xd46, 0xd3e, 0 },
- { 0x5e, 0x34, 0x58, 0 }
- },
- { "",
- { 0xd15, 0xd47, 0xd3e, 0 },
- { 0x5f, 0x34, 0x58, 0 }
- },
- { "",
- { 0xd15, 0xd46, 0xd57, 0 },
- { 0x5e, 0x34, 0x65, 0 }
- },
- { "",
- { 0xd15, 0xd57, 0 },
- { 0x34, 0x65, 0 }
- },
- { "",
- { 0xd1f, 0xd4d, 0xd1f, 0xd41, 0xd4d, 0 },
- { 0x69, 0x5b, 0x64, 0 }
- },
-
- {{0}}
- }
-};
-
-static const test_set_t tests_malayalam2 = {
- {"Rachana.ttf", 0},
- {
- { "",
- { 0xd37, 0xd4d, 0xd1f, 0xd4d, 0xd30, 0xd40, 0 },
- { 0x385, 0xa3, 0 }
- },
- { "",
- { 0xd2f, 0xd4d, 0xd15, 0xd4d, 0xd15, 0xd41, 0 },
- { 0x2ff, 0 }
- },
- { "",
- { 0xd33, 0xd4d, 0xd33, 0 },
- { 0x3f8, 0 }
- },
- { "",
- { 0xd2f, 0xd4d, 0xd15, 0xd4d, 0xd15, 0xd41, 0 },
- { 0x2ff, 0 }
- },
- { "",
- { 0xd30, 0xd4d, 0x200d, 0xd35, 0xd4d, 0xd35, 0 },
- { 0xf3, 0x350, 0 }
- },
-
- {{0}}
- }
-};
-
-static const test_set_t tests_sinhala = {
- {"FM-MalithiUW46.ttf", 0},
- {
- { "",
- { 0xd9a, 0xdd9, 0xdcf, 0 },
- { 0x4a, 0x61, 0x42, 0 }
- },
- { "",
- { 0xd9a, 0xdd9, 0xddf, 0 },
- { 0x4a, 0x61, 0x50, 0 }
- },
- { "",
- { 0xd9a, 0xdd9, 0xdca, 0 },
- { 0x4a, 0x62, 0 }
- },
- { "",
- { 0xd9a, 0xddc, 0xdca, 0 },
- { 0x4a, 0x61, 0x42, 0x41, 0 }
- },
- { "",
- { 0xd9a, 0xdda, 0 },
- { 0x4a, 0x62, 0 }
- },
- { "",
- { 0xd9a, 0xddd, 0 },
- { 0x4a, 0x61, 0x42, 0x41, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_khmer = {
- {"KhmerOS.ttf", 0},
- {
- { "",
- { 0x179a, 0x17cd, 0 },
- { 0x24c, 0x27f, 0 }
- },
- { "",
- { 0x179f, 0x17c5, 0 },
- { 0x273, 0x203, 0 }
- },
- { "",
- { 0x1790, 0x17d2, 0x1784, 0x17c3, 0 },
- { 0x275, 0x242, 0x182, 0 }
- },
- { "",
- { 0x179a, 0 },
- { 0x24c, 0 }
- },
- { "",
- { 0x1781, 0x17d2, 0x1798, 0x17c2, 0 },
- { 0x274, 0x233, 0x197, 0 }
- },
- { "",
- { 0x1798, 0x17b6, 0 },
- { 0x1cb, 0 }
- },
- { "",
- { 0x179a, 0x17b8, 0 },
- { 0x24c, 0x26a, 0 }
- },
- { "",
- { 0x1787, 0x17b6, 0 },
- { 0x1ba, 0 }
- },
- { "",
- { 0x1798, 0x17d2, 0x1796, 0x17bb, 0 },
- { 0x24a, 0x195, 0x26d, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_nko = {
- {"DejaVuSans.ttf", 0},
- {
- { "",
- { 0x7ca, 0 },
- { 0x5c1, 0 }
- },
- { "",
- { 0x7ca, 0x7ca, 0 },
- { 0x14d9, 0x14db, 0 }
- },
- { "",
- { 0x7ca, 0x7fa, 0x7ca, 0 },
- { 0x14d9, 0x5ec, 0x14db, 0 }
- },
- { "",
- { 0x7ca, 0x7f3, 0x7ca, 0 },
- { 0x14d9, 0x5e7, 0x14db, 0 }
- },
- { "",
- { 0x7ca, 0x7f3, 0x7fa, 0x7ca, 0 },
- { 0x14d9, 0x5ec, 0x5e7, 0x14db, 0 }
- },
- {{0}}
- }
-};
-
-static const test_set_t tests_linearb = {
- {"penuture.ttf", 0},
- {
- { "",
- { 0xd800, 0xdc01, 0xd800, 0xdc02, 0xd800, 0xdc03, 0 },
- { 0x5, 0x6, 0x7, 0 },
- },
- {{0}}
- }
-};
-
-
-
-
-
-typedef struct {
- FT_Library ft_library;
- FT_Face ft_face;
- hb_font_t *font;
-} ft_fixture_t;
-
-static void
-ft_fixture_init (ft_fixture_t *f, gconstpointer user_data)
-{
- const test_t *test = user_data;
- char *font_file = get_font_file (test->font_data);
- FT_Error err;
-
- FT_Init_FreeType (&f->ft_library);
-
- err = FT_New_Face (f->ft_library, font_file, test->font_data->face_index, &f->ft_face);
- g_assert_cmpint (err, ==, 0);
-
- f->font = hb_ft_font_create (f->ft_face, NULL);
-
- g_free (font_file);
-}
-
-static void
-ft_fixture_finish (ft_fixture_t *f, gconstpointer user_data)
-{
- hb_font_destroy (f->font);
-
- FT_Done_Face (f->ft_face);
- FT_Done_FreeType (f->ft_library);
-}
-
-static void
-test_shape_complex (ft_fixture_t *f, gconstpointer user_data)
-{
- const test_t *test = user_data;
- const test_data_t *data = test->test_data;
- hb_buffer_t *buffer;
- unsigned int i, len, expected_len;
- hb_glyph_info_t *glyphs;
- hb_bool_t fail;
- GString *str;
-
- g_assert (f->font);
-
- if (data->comments[0])
- g_test_message ("Test comments: %s", data->comments);
-
- buffer = hb_buffer_create (0);
- for (len = 0; data->characters[len]; len++) ;
- hb_buffer_add_utf32 (buffer, data->characters, len, 0, len);
-
- hb_shape (f->font, buffer, NULL, 0);
-
- for (len = 0; data->glyphs[len]; len++) ;
- expected_len = len;
-
- glyphs = hb_buffer_get_glyph_infos (buffer, &len);
- fail = len != expected_len;
- if (!fail)
- for (i = 0; i < len; i++)
- if (glyphs[i].codepoint != data->glyphs[i]) {
- fail = TRUE;
- break;
- }
-
- str = g_string_new ("");
- for (i = 0; i < len; i++)
- g_string_append_printf (str, " %4d", glyphs[i].codepoint);
- g_test_message ("Received glyphs: %s", str->str);
- g_string_truncate (str, 0);
- for (i = 0; i < expected_len; i++)
- g_string_append_printf (str, " %4d", data->glyphs[i]);
- g_test_message ("Expected glyphs: %s", str->str);
- g_string_free (str, TRUE);
-
- if (fail) {
- g_test_message ("FAIL");
- /* The glib test framework is useless, lets not fail for now,
- * we can grep for FAIL/PASS and count manually. Sigh... */
- /*g_test_fail ();*/
- } else
- g_test_message ("PASS");
-
- hb_buffer_destroy (buffer);
-}
-
-static void
-test_shape_complex_skipped (gconstpointer user_data)
-{
- const test_t *test = user_data;
- const test_data_t *data = test->test_data;
-
- if (data->comments[0])
- g_test_message ("Test comments: %s", data->comments);
-
- g_test_message ("Skipping test");
-}
-
-
-static void
-add_test_set (const test_set_t *test_set, const char *set_name)
-{
- const test_data_t *data;
- char *font_file;
- hb_bool_t skip;
-
- font_file = get_font_file (&test_set->font_data);
- skip = !g_file_test (font_file, G_FILE_TEST_EXISTS);
- g_free (font_file);
-
- for (data = test_set->test_datas; data->characters[0]; data++) {
- char *flavor;
- GString *str;
- const hb_codepoint_t *p;
-
- test_t *test = g_slice_new0 (test_t);
- test->font_data = &test_set->font_data;
- test->test_data = data;
-
- str = g_string_new ("<");
- for (p = data->characters; *p; p++)
- g_string_append_printf (str, "%04X,", *p);
- str->str[str->len - 1] = '>';
-
- flavor = g_strdup_printf ("%s/%s/%ld:%s", set_name, test_set->font_data.font_file, data - test_set->test_datas, str->str);
-
- g_string_free (str, TRUE);
-
- if (skip)
- hb_test_add_data_flavor ((const void *) test, flavor, test_shape_complex_skipped);
- else
- hb_test_add_fixture_flavor (ft_fixture, (const void *) test, flavor, test_shape_complex);
-
- g_free (flavor);
- }
-}
-
-
-int
-main (int argc, char **argv)
-{
- hb_test_init (&argc, &argv);
-
-#define TEST_SET(name) add_test_set (&tests_##name, #name)
-
- TEST_SET (devanagari1);
- TEST_SET (devanagari2);
- TEST_SET (bengali1);
- TEST_SET (bengali2);
- TEST_SET (bengali3);
- TEST_SET (gurmukhi);
- TEST_SET (oriya);
- TEST_SET (tamil);
- TEST_SET (telugu);
- TEST_SET (kannada1);
- TEST_SET (kannada2);
- TEST_SET (malayalam1);
- TEST_SET (malayalam2);
- TEST_SET (sinhala);
-
- TEST_SET (khmer);
-
- TEST_SET (nko);
- TEST_SET (linearb);
-
- return hb_test_run();
-}
diff --git a/test/api/test-unicode.c b/test/api/test-unicode.c
index a420bf3..88f12e7 100644
--- a/test/api/test-unicode.c
+++ b/test/api/test-unicode.c
@@ -351,7 +351,7 @@ static const test_pair_t script_tests[] =
{ 0x07B1, HB_SCRIPT_THAANA },
{ 0x0E31, HB_SCRIPT_THAI },
{ 0x0FD4, HB_SCRIPT_TIBETAN },
- { 0x1401, HB_SCRIPT_CANADIAN_ABORIGINAL },
+ { 0x1401, HB_SCRIPT_CANADIAN_SYLLABICS },
{ 0xA015, HB_SCRIPT_YI },
{ 0x1700, HB_SCRIPT_TAGALOG },
{ 0x1720, HB_SCRIPT_HANUNOO },
@@ -786,6 +786,7 @@ test_unicode_normalization (gconstpointer user_data)
{
hb_unicode_funcs_t *uf = (hb_unicode_funcs_t *) user_data;
gunichar a, b, ab;
+ hb_codepoint_t decomposed[HB_UNICODE_MAX_DECOMPOSITION_LEN];
/* Test compose() */
@@ -849,6 +850,55 @@ test_unicode_normalization (gconstpointer user_data)
g_assert (hb_unicode_decompose (uf, 0xCE31, &a, &b) && a == 0xCE20 && b == 0x11B8);
g_assert (hb_unicode_decompose (uf, 0xCE20, &a, &b) && a == 0x110E && b == 0x1173);
+
+ /* Test decompose_compatibility() */
+
+ /* Not decomposable */
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x0041, decomposed) == 0);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x1F632, decomposed) == 0);
+
+ /* Singletons */
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x00B5, decomposed) == 1 && decomposed[0] == 0x03BC);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x03D6, decomposed) == 1 && decomposed[0] == 0x03C0);
+
+ /* Arabic compatibility */
+ g_assert (hb_unicode_decompose_compatibility (uf, 0xFB54, decomposed) == 1 && decomposed[0] == 0x067B);
+
+ /* Longest decomposition ever */
+ g_assert (18 <= HB_UNICODE_MAX_DECOMPOSITION_LEN);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0xFDFA, decomposed) == 18 && decomposed[17] == 0x0645);
+
+ /* Note: we deliberately don't test characters that have canonical decompositions but no
+ * compatibility decomposition against the decompose_compatibility() function as that we
+ * leave up to implementations (for now). */
+
+ /* Spaces */
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2002, decomposed) == 1 && decomposed[0] == 0x0020);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2003, decomposed) == 1 && decomposed[0] == 0x0020);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2004, decomposed) == 1 && decomposed[0] == 0x0020);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2005, decomposed) == 1 && decomposed[0] == 0x0020);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2006, decomposed) == 1 && decomposed[0] == 0x0020);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2008, decomposed) == 1 && decomposed[0] == 0x0020);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2009, decomposed) == 1 && decomposed[0] == 0x0020);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x200A, decomposed) == 1 && decomposed[0] == 0x0020);
+
+ /* Pairs */
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x0587, decomposed) == 2 &&
+ decomposed[0] == 0x0565 && decomposed[1] == 0x0582);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2017, decomposed) == 2 &&
+ decomposed[0] == 0x0020 && decomposed[1] == 0x0333);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2025, decomposed) == 2 &&
+ decomposed[0] == 0x002E && decomposed[1] == 0x002E);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2033, decomposed) == 2 &&
+ decomposed[0] == 0x2032 && decomposed[1] == 0x2032);
+
+ /* Triples */
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2026, decomposed) == 3 &&
+ decomposed[0] == 0x002E && decomposed[1] == 0x002E && decomposed[2] == 0x002E);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x2034, decomposed) == 3 &&
+ decomposed[0] == 0x2032 && decomposed[1] == 0x2032 && decomposed[2] == 0x2032);
+ g_assert (hb_unicode_decompose_compatibility (uf, 0x213B, decomposed) == 3 &&
+ decomposed[0] == 0x0046 && decomposed[1] == 0x0041 && decomposed[2] == 0x0058);
}
diff --git a/test/api/test-version.c b/test/api/test-version.c
index 4c9bd37..e6378b6 100644
--- a/test/api/test-version.c
+++ b/test/api/test-version.c
@@ -46,27 +46,28 @@ test_version (void)
g_free (s);
g_assert (0 == strcmp (HB_VERSION_STRING, hb_version_string ()));
- g_assert (HB_VERSION_CHECK (major, minor, micro));
- g_assert (HB_VERSION_CHECK (major+1, minor, micro));
- g_assert (HB_VERSION_CHECK (major, minor+1, micro));
- g_assert (HB_VERSION_CHECK (major, minor, micro+1));
+ g_assert (HB_VERSION_ATLEAST (major, minor, micro));
if (major)
- g_assert (!HB_VERSION_CHECK (major-1, minor, micro));
+ g_assert (HB_VERSION_ATLEAST (major-1, minor, micro));
if (minor)
- g_assert (!HB_VERSION_CHECK (major, minor-1, micro));
+ g_assert (HB_VERSION_ATLEAST (major, minor-1, micro));
if (micro)
- g_assert (!HB_VERSION_CHECK (major, minor, micro-1));
+ g_assert (HB_VERSION_ATLEAST (major, minor, micro-1));
+ g_assert (!HB_VERSION_ATLEAST (major+1, minor, micro));
+ g_assert (!HB_VERSION_ATLEAST (major, minor+1, micro));
+ g_assert (!HB_VERSION_ATLEAST (major, minor, micro+1));
+ g_assert (!HB_VERSION_ATLEAST (major, minor, micro+1));
- g_assert (hb_version_check (major, minor, micro));
- g_assert (hb_version_check (major+1, minor, micro));
- g_assert (hb_version_check (major, minor+1, micro));
- g_assert (hb_version_check (major, minor, micro+1));
+ g_assert (hb_version_atleast (major, minor, micro));
if (major)
- g_assert (!hb_version_check (major-1, minor, micro));
+ g_assert (hb_version_atleast (major-1, minor, micro));
if (minor)
- g_assert (!hb_version_check (major, minor-1, micro));
+ g_assert (hb_version_atleast (major, minor-1, micro));
if (micro)
- g_assert (!hb_version_check (major, minor, micro-1));
+ g_assert (hb_version_atleast (major, minor, micro-1));
+ g_assert (!hb_version_atleast (major+1, minor, micro));
+ g_assert (!hb_version_atleast (major, minor+1, micro));
+ g_assert (!hb_version_atleast (major, minor, micro+1));
}
int
diff --git a/test/shaping/Makefile.am b/test/shaping/Makefile.am
index 4fb762c..70bcdd5 100644
--- a/test/shaping/Makefile.am
+++ b/test/shaping/Makefile.am
@@ -7,7 +7,7 @@ DISTCLEANFILES =
MAINTAINERCLEANFILES =
manifests:
- @$(srcdir)/hb-manifest-update "$(srcdir)/texts" "$(srcdir)/fonts"
+ @$(srcdir)/hb-manifest-update "$(srcdir)/texts" "$(srcdir)/fonts" "$(srcdir)/tests"
EXTRA_DIST += \
hb-diff \
@@ -20,6 +20,11 @@ EXTRA_DIST += \
hb-unicode-decode \
hb-unicode-encode \
hb-unicode-prettyname \
+ record-test.sh \
+ run-tests.sh \
+ texts/in-tree \
+ fonts/sha1sum \
+ $(TESTS) \
$(NULL)
# TODO Figure out Python stuff
@@ -30,6 +35,40 @@ CLEANFILES += \
hb_test_tools.py[co] \
$(NULL)
+TESTS = \
+ tests/arabic-fallback-shaping.tests \
+ tests/arabic-feature-order.tests \
+ tests/context-matching.tests \
+ tests/hangul-jamo.tests \
+ tests/indic-joiner-candrabindu.tests \
+ tests/indic-old-spec.tests \
+ tests/indic-pref-blocking.tests \
+ tests/mongolian-variation-selector.tests \
+ tests/zero-width-marks.tests \
+ $(NULL)
+
+TEST_EXTENSIONS = \
+ .tests \
+ $(NULL)
+
+AM_TESTS_ENVIRONMENT = \
+ EXEEXT="$(EXEEXT)"; \
+ export EXEEXT; \
+ srcdir="$(srcdir)"; \
+ export srcdir; \
+ builddir="$(builddir)"; \
+ export builddir; \
+ $(NULL)
+
+if AUTOMAKE_OLDER_THAN_1_13
+TESTS_ENVIRONMENT = \
+ $(AM_TESTS_ENVIRONMENT) \
+ $(TESTS_LOG_COMPILER) \
+ $(NULL)
+endif
+
+TESTS_LOG_COMPILER = sh $(srcdir)/run-tests.sh
+
.PHONY: manifests
-include $(top_srcdir)/git.mk
diff --git a/test/shaping/Makefile.in b/test/shaping/Makefile.in
deleted file mode 100644
index c1969c4..0000000
--- a/test/shaping/Makefile.in
+++ /dev/null
@@ -1,406 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# Process this file with automake to produce Makefile.in
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = test/shaping
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo " GEN " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CAIRO_CFLAGS = @CAIRO_CFLAGS@
-CAIRO_FT_CFLAGS = @CAIRO_FT_CFLAGS@
-CAIRO_FT_LIBS = @CAIRO_FT_LIBS@
-CAIRO_LIBS = @CAIRO_LIBS@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
-FREETYPE_LIBS = @FREETYPE_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_CFLAGS = @GOBJECT_CFLAGS@
-GOBJECT_LIBS = @GOBJECT_LIBS@
-GRAPHITE2_CFLAGS = @GRAPHITE2_CFLAGS@
-GRAPHITE2_LIBS = @GRAPHITE2_LIBS@
-GREP = @GREP@
-GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
-GTHREAD_LIBS = @GTHREAD_LIBS@
-HB_LIBTOOL_VERSION_INFO = @HB_LIBTOOL_VERSION_INFO@
-HB_VERSION = @HB_VERSION@
-HB_VERSION_MAJOR = @HB_VERSION_MAJOR@
-HB_VERSION_MICRO = @HB_VERSION_MICRO@
-HB_VERSION_MINOR = @HB_VERSION_MINOR@
-ICU_CFLAGS = @ICU_CFLAGS@
-ICU_LIBS = @ICU_LIBS@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-UNISCRIBE_CFLAGS = @UNISCRIBE_CFLAGS@
-UNISCRIBE_LIBS = @UNISCRIBE_LIBS@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-NULL =
-
-# TODO Figure out Python stuff
-EXTRA_DIST = hb-diff hb-diff-colorize hb-diff-filter-failures \
- hb-diff-ngrams hb-diff-stat hb-manifest-read \
- hb-manifest-update hb-unicode-decode hb-unicode-encode \
- hb-unicode-prettyname $(NULL) hb_test_tools.py $(NULL)
-CLEANFILES = hb_test_tools.py[co] $(NULL)
-DISTCLEANFILES =
-MAINTAINERCLEANFILES =
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/shaping/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu test/shaping/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-
-
-manifests:
- @$(srcdir)/hb-manifest-update "$(srcdir)/texts" "$(srcdir)/fonts"
-
-.PHONY: manifests
-
--include $(top_srcdir)/git.mk
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/test/shaping/fonts/sha1sum/226bc2deab3846f1a682085f70c67d0421014144.ttf b/test/shaping/fonts/sha1sum/226bc2deab3846f1a682085f70c67d0421014144.ttf
new file mode 100644
index 0000000..70c0c0a
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/226bc2deab3846f1a682085f70c67d0421014144.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/270b89df543a7e48e206a2d830c0e10e5265c630.ttf b/test/shaping/fonts/sha1sum/270b89df543a7e48e206a2d830c0e10e5265c630.ttf
new file mode 100644
index 0000000..fc22649
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/270b89df543a7e48e206a2d830c0e10e5265c630.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/37033cc5cf37bb223d7355153016b6ccece93b28.ttf b/test/shaping/fonts/sha1sum/37033cc5cf37bb223d7355153016b6ccece93b28.ttf
new file mode 100644
index 0000000..14defeb
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/37033cc5cf37bb223d7355153016b6ccece93b28.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf b/test/shaping/fonts/sha1sum/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf
new file mode 100644
index 0000000..dfaead7
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttf b/test/shaping/fonts/sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttf
new file mode 100644
index 0000000..8fb2f16
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf b/test/shaping/fonts/sha1sum/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf
new file mode 100644
index 0000000..746fc60
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf b/test/shaping/fonts/sha1sum/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf
new file mode 100644
index 0000000..bbe2237
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/7e14e7883ed152baa158b80e207b66114c823a8b.ttf b/test/shaping/fonts/sha1sum/7e14e7883ed152baa158b80e207b66114c823a8b.ttf
new file mode 100644
index 0000000..27efd7c
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/7e14e7883ed152baa158b80e207b66114c823a8b.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf b/test/shaping/fonts/sha1sum/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf
new file mode 100644
index 0000000..b728b27
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/8454d22037f892e76614e1645d066689a0200e61.ttf b/test/shaping/fonts/sha1sum/8454d22037f892e76614e1645d066689a0200e61.ttf
new file mode 100644
index 0000000..2cbb67a
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/8454d22037f892e76614e1645d066689a0200e61.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf b/test/shaping/fonts/sha1sum/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf
new file mode 100644
index 0000000..875c699
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/MANIFEST b/test/shaping/fonts/sha1sum/MANIFEST
new file mode 100644
index 0000000..924732d
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/MANIFEST
@@ -0,0 +1,19 @@
+226bc2deab3846f1a682085f70c67d0421014144.ttf
+270b89df543a7e48e206a2d830c0e10e5265c630.ttf
+37033cc5cf37bb223d7355153016b6ccece93b28.ttf
+4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf
+5028afb650b1bb718ed2131e872fbcce57828fff.ttf
+57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf
+757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf
+7e14e7883ed152baa158b80e207b66114c823a8b.ttf
+813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf
+8454d22037f892e76614e1645d066689a0200e61.ttf
+8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf
+a919b33197965846f21074b24e30250d67277bce.ttf
+bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf
+bb9473d2403488714043bcfb946c9f78b86ad627.ttf
+d629e7fedc0b350222d7987345fe61613fa3929a.ttf
+df768b9c257e0c9c35786c47cae15c46571d56be.ttf
+e207635780b42f898d58654b65098763e340f5c7.ttf
+ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf
+f499fbc23865022234775c43503bba2e63978fe1.ttf
diff --git a/test/shaping/fonts/sha1sum/a919b33197965846f21074b24e30250d67277bce.ttf b/test/shaping/fonts/sha1sum/a919b33197965846f21074b24e30250d67277bce.ttf
new file mode 100644
index 0000000..d2f116e
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/a919b33197965846f21074b24e30250d67277bce.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf b/test/shaping/fonts/sha1sum/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf
new file mode 100644
index 0000000..fba200f
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/bb9473d2403488714043bcfb946c9f78b86ad627.ttf b/test/shaping/fonts/sha1sum/bb9473d2403488714043bcfb946c9f78b86ad627.ttf
new file mode 100644
index 0000000..b16dae6
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/bb9473d2403488714043bcfb946c9f78b86ad627.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/d629e7fedc0b350222d7987345fe61613fa3929a.ttf b/test/shaping/fonts/sha1sum/d629e7fedc0b350222d7987345fe61613fa3929a.ttf
new file mode 100644
index 0000000..e674a78
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/d629e7fedc0b350222d7987345fe61613fa3929a.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf b/test/shaping/fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf
new file mode 100644
index 0000000..c6d8b18
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/e207635780b42f898d58654b65098763e340f5c7.ttf b/test/shaping/fonts/sha1sum/e207635780b42f898d58654b65098763e340f5c7.ttf
new file mode 100644
index 0000000..d91df57
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/e207635780b42f898d58654b65098763e340f5c7.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf b/test/shaping/fonts/sha1sum/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf
new file mode 100644
index 0000000..629c470
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf
Binary files differ
diff --git a/test/shaping/fonts/sha1sum/f499fbc23865022234775c43503bba2e63978fe1.ttf b/test/shaping/fonts/sha1sum/f499fbc23865022234775c43503bba2e63978fe1.ttf
new file mode 100644
index 0000000..3c60593
--- /dev/null
+++ b/test/shaping/fonts/sha1sum/f499fbc23865022234775c43503bba2e63978fe1.ttf
Binary files differ
diff --git a/test/shaping/hb_test_tools.py b/test/shaping/hb_test_tools.py
index 47fa6eb..a370e5e 100644
--- a/test/shaping/hb_test_tools.py
+++ b/test/shaping/hb_test_tools.py
@@ -293,6 +293,14 @@ class DiffHelpers:
@staticmethod
def test_passed (lines):
+ lines = list (lines)
+ # XXX This is a hack, but does the job for now.
+ if any (l.find("space+0|space+0") >= 0 for l in lines if l[0] == '+'): return True
+ if any (l.find("uni25CC") >= 0 for l in lines if l[0] == '+'): return True
+ if any (l.find("dottedcircle") >= 0 for l in lines if l[0] == '+'): return True
+ if any (l.find("glyph0") >= 0 for l in lines if l[0] == '+'): return True
+ if any (l.find("gid0") >= 0 for l in lines if l[0] == '+'): return True
+ if any (l.find("notdef") >= 0 for l in lines if l[0] == '+'): return True
return all (l[0] == ' ' for l in lines)
@@ -397,13 +405,13 @@ class Unicode:
@staticmethod
def decode (s):
- return '<' + u','.join ("U+%04X" % ord (u) for u in unicode (s, 'utf-8')).encode ('utf-8') + '>'
+ return u','.join ("U+%04X" % ord (u) for u in unicode (s, 'utf-8')).encode ('utf-8')
@staticmethod
def parse (s):
- s = re.sub (r"[<+>,\\uU\n ]", " ", s)
s = re.sub (r"0[xX]", " ", s)
- return [int (x, 16) for x in s.split (' ') if len (x)]
+ s = re.sub (r"[<+>,;&#\\xXuU\n ]", " ", s)
+ return [int (x, 16) for x in s.split ()]
@staticmethod
def encode (s):
diff --git a/test/shaping/record-test.sh b/test/shaping/record-test.sh
new file mode 100755
index 0000000..a69157f
--- /dev/null
+++ b/test/shaping/record-test.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+dir=`mktemp --directory`
+
+hb_shape=$1
+shift
+fontfile=$1
+shift
+hb_shape="$hb_shape $@"
+unicodes=`./hb-unicode-decode`
+text=`./hb-unicode-encode "$unicodes"`
+glyphs=`echo "$text" | $hb_shape "$fontfile"`
+
+cp "$fontfile" "$dir/font.ttf"
+pyftsubset \
+ --glyph-names \
+ "$dir/font.ttf" \
+ --text="$text"
+if ! test -s "$dir/font.ttf.subset"; then
+ echo "Subsetter didn't produce nonempty subset font in $dir/font.ttf.subset" >&2
+ exit 2
+fi
+
+# Verify that subset font produces same glyphs!
+glyphs_subset=`echo "$text" | $hb_shape "$dir/font.ttf.subset"`
+
+if ! test "x$glyphs" = "x$glyphs_subset"; then
+ echo "Subset font produced different glyphs!" >&2
+ echo "Perhaps font doesn't have glyph names; checking visually..." >&2
+ hb_view=${hb_shape/shape/view}
+ echo "$text" | $hb_view "$dir/font.ttf" --output-format=png --output-file="$dir/orig.png"
+ echo "$text" | $hb_view "$dir/font.ttf.subset" --output-format=png --output-file="$dir/subset.png"
+ if ! cmp "$dir/orig.png" "$dir/subset.png"; then
+ echo "Images differ. Please inspect $dir/*.png." >&2
+ echo "$glyphs"
+ echo "$glyphs_subset"
+ exit 2
+ fi
+ echo "Yep; all good." >&2
+ rm -f "$dir/orig.png"
+ rm -f "$dir/subset.png"
+ glyphs=$glyphs_subset
+fi
+
+sha1sum=`sha1sum "$dir/font.ttf.subset" | cut -d' ' -f1`
+subset="fonts/sha1sum/$sha1sum.ttf"
+mv "$dir/font.ttf.subset" "$subset"
+
+echo "$subset:$unicodes:$glyphs"
+
+rm -f "$dir/font.ttf"
+rmdir "$dir"
diff --git a/test/shaping/run-tests.sh b/test/shaping/run-tests.sh
new file mode 100755
index 0000000..a2cdf32
--- /dev/null
+++ b/test/shaping/run-tests.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+test "x$srcdir" = x && srcdir=.
+test "x$builddir" = x && builddir=.
+test "x$top_builddir" = x && top_builddir=../..
+
+hb_shape=$top_builddir/util/hb-shape$EXEEXT
+
+fails=0
+
+if test $# = 0; then
+ set /dev/stdin
+fi
+
+IFS=:
+for f in "$@"; do
+ echo "Running tests in $f"
+ while read fontfile unicodes glyphs_expected; do
+ echo "Testing $fontfile:$unicodes"
+ glyphs=`$srcdir/hb-unicode-encode "$unicodes" | $hb_shape "$srcdir/$fontfile"`
+ if ! test "x$glyphs" = "x$glyphs_expected"; then
+ echo "Actual: $glyphs" >&2
+ echo "Expected: $glyphs_expected" >&2
+ fails=$((fails+1))
+ fi
+ done < "$f"
+done
+
+if test $fails != 0; then
+ echo "$fails tests failed."
+ exit 1
+else
+ echo "All tests passed."
+fi
diff --git a/test/shaping/tests/MANIFEST b/test/shaping/tests/MANIFEST
new file mode 100644
index 0000000..849ebc5
--- /dev/null
+++ b/test/shaping/tests/MANIFEST
@@ -0,0 +1,9 @@
+arabic-fallback-shaping.tests
+arabic-feature-order.tests
+context-matching.tests
+hangul-jamo.tests
+indic-joiner-candrabindu.tests
+indic-old-spec.tests
+indic-pref-blocking.tests
+mongolian-variation-selector.tests
+zero-width-marks.tests
diff --git a/test/shaping/tests/arabic-fallback-shaping.tests b/test/shaping/tests/arabic-fallback-shaping.tests
new file mode 100644
index 0000000..e3eaf3f
--- /dev/null
+++ b/test/shaping/tests/arabic-fallback-shaping.tests
@@ -0,0 +1 @@
+fonts/sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf:U+0633,U+064F,U+0644,U+064E,U+0651,U+0627,U+0651,U+0650,U+0645,U+062A,U+06CC:[uni06CC.fina=10+1655|uni062A.medi=9+868|uni0645.init=8+1098|uni0650=2@221,0+0|uni0651=2@260,736+0|uni064E=2@935,1259+0|uni0651=2@974,736+0|uni06440627.fina=2+1470|uni064F=0@558,-10+0|uni0633.init=0+1585]
diff --git a/test/shaping/tests/arabic-feature-order.tests b/test/shaping/tests/arabic-feature-order.tests
new file mode 100644
index 0000000..3e3cf6a
--- /dev/null
+++ b/test/shaping/tests/arabic-feature-order.tests
@@ -0,0 +1,3 @@
+fonts/sha1sum/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf:U+1820,U+180B:[uni2048.E81A=0+1550]
+fonts/sha1sum/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf:U+1820,U+180B:[uni2048.E81A=0+1550]
+fonts/sha1sum/a919b33197965846f21074b24e30250d67277bce.ttf:U+0644,U+0644,U+0647:[Lellah=0+1503]
diff --git a/test/shaping/tests/context-matching.tests b/test/shaping/tests/context-matching.tests
new file mode 100644
index 0000000..4c7d25f
--- /dev/null
+++ b/test/shaping/tests/context-matching.tests
@@ -0,0 +1,3 @@
+fonts/sha1sum/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf:U+1A48,U+1A58,U+1A25,U+1A48,U+1A58,U+1A25,U+1A6E,U+1A63:[uni1A48=0+1212|uni1A25=0+1912|uni1A58=0+0|uni1A48=3+1212|uni1A6E=3+1212|uni1A25=3+1912|uni1A58=3+0|uni1A63=3+1212]
+fonts/sha1sum/d629e7fedc0b350222d7987345fe61613fa3929a.ttf:U+0915,U+093F,U+0915,U+093F:[ivowelsign03deva=0+530|kadeva=0+1561|ivowelsign03deva=2+530|kadeva=2+1561]
+fonts/sha1sum/f499fbc23865022234775c43503bba2e63978fe1.ttf:U+09B0,U+09CD,U+09A5,U+09CD,U+09AF,U+09C0:[gid1=0+1320|gid13=0+523|gid18=0+545]
diff --git a/test/shaping/tests/hangul-jamo.tests b/test/shaping/tests/hangul-jamo.tests
new file mode 100644
index 0000000..667a1cc
--- /dev/null
+++ b/test/shaping/tests/hangul-jamo.tests
@@ -0,0 +1,2 @@
+fonts/sha1sum/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf:U+115F,U+11A2:[gid3=0+920|gid4=0+0]
+fonts/sha1sum/7e14e7883ed152baa158b80e207b66114c823a8b.ttf:U+11A2:[gid1=0+920]
diff --git a/test/shaping/tests/indic-joiner-candrabindu.tests b/test/shaping/tests/indic-joiner-candrabindu.tests
new file mode 100644
index 0000000..351e927
--- /dev/null
+++ b/test/shaping/tests/indic-joiner-candrabindu.tests
@@ -0,0 +1,2 @@
+fonts/sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttf:U+0B13,U+200D,U+0B01:[omorya=0+1450]
+fonts/sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttf:U+0B13,U+200C,U+0B01:[oorya=0+1309|space=1+0|candrabinduorya=1+0]
diff --git a/test/shaping/tests/indic-old-spec.tests b/test/shaping/tests/indic-old-spec.tests
new file mode 100644
index 0000000..96e8cdd
--- /dev/null
+++ b/test/shaping/tests/indic-old-spec.tests
@@ -0,0 +1,2 @@
+fonts/sha1sum/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf:U+0C9A,U+0CCD,U+0C9A,U+0CCD:[U0C9A_U0CCD.haln=0+1066|U0C9A_0CCD.blwf=0+0]
+fonts/sha1sum/270b89df543a7e48e206a2d830c0e10e5265c630.ttf:U+0D38,U+0D4D,U+0D31,U+0D4D,U+0D31,U+0D4D:[glyph201=0+1183|U0D4D=0+0]
diff --git a/test/shaping/tests/indic-pref-blocking.tests b/test/shaping/tests/indic-pref-blocking.tests
new file mode 100644
index 0000000..260980a
--- /dev/null
+++ b/test/shaping/tests/indic-pref-blocking.tests
@@ -0,0 +1,2 @@
+fonts/sha1sum/226bc2deab3846f1a682085f70c67d0421014144.ttf:U+0D2F,U+0D4D,U+0D30,U+0D46:[evowelsignmlym=0+1465|rapostmlym=0+499|yamlym=0+2120]
+fonts/sha1sum/e207635780b42f898d58654b65098763e340f5c7.ttf:U+0D2F,U+0D4D,U+0D30,U+0D46:[yamlym=0+2120|viramamlym=0+0|evowelsignmlym=0+1465|ramlym=0+1507]
diff --git a/test/shaping/tests/mongolian-variation-selector.tests b/test/shaping/tests/mongolian-variation-selector.tests
new file mode 100644
index 0000000..6b7e94a
--- /dev/null
+++ b/test/shaping/tests/mongolian-variation-selector.tests
@@ -0,0 +1,3 @@
+fonts/sha1sum/37033cc5cf37bb223d7355153016b6ccece93b28.ttf:U+1826,U+180B,U+1826:[uni1826.E85E_ue.init1=0+599|uni1826.E856_ue.fina=2+750]
+fonts/sha1sum/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf:U+1820,U+180B:[uni1820.E821_a.isol1=0+1199]
+fonts/sha1sum/bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf:U+183A,U+1823,U+182E,U+182B,U+1822,U+1826,U+180B,U+1832,U+180B,U+1827,U+1837,U+0020,U+182D,U+182D,U+180B,U+0020,U+182D,U+180C,U+0020,U+182D,U+180D,U+200D,U+0020,U+182D,U+200D,U+182D,U+180B,U+200D,U+0020,U+182D,U+180C,U+200D,U+0020,U+182D,U+180D,U+200D,U+0020,U+200D,U+182D,U+200D,U+200D,U+182D,U+180B,U+200D,U+0020,U+200D,U+182D,U+180C,U+200D,U+0020,U+200D,U+182D,U+180D,U+200D,U+0020,U+200D,U+182D,U+200D,U+182D,U+180B,U+0020,U+200D,U+182D,U+180C,U+0020,U+1820,U+200C,U+182D,U+1820,U+1837,U+0020,U+1830,U+1824,U+1837,U+200D,U+200D,U+182D,U+1820,U+200D,U+0020,U+200D,U+182D,U+1824,U+182F,U+1822,U+0020,U+182A,U+1820,U+1822,U+182D,U+180E,U+1820,U+202F,U+1836,U+1822,U+1828:[uni183A1823.E971_ko.init=0+950|uni182E.E904_m.medi=2+400|uni182B1822.E8A6_pi.medi=3+1150|uni1826.E854_ue.medi1=5+1100|uni1832.E916_t.medi1=7+1000|uni1827.E85C_ee.medi=9+750|uni1837.E931_r.fina=10+750|space=11+500|uni182D.E8E2_g.init=12+1000|uni182D.E8E8_g.fina1=13+1250|space=15+500|uni182D.EA1B_g.isol2=16+1000|space=18+500|uni182D.EA1E_g.init3=19+650|space=21+0|space=22+500|uni182D.E8E2_g.init=23+1000|space=24+0|uni182D.E8E5_g.medi1=25+800|space=27+0|space=28+500|uni182D.EA1D_g.init2=29+950|space=31+0|space=32+500|uni182D.EA1E_g.init3=33+650|space=35+0|space=36+500|space=37+0|uni182D.E8E4_g.medi=38+800|space=39+0|space=40+0|uni182D.E8E5_g.medi1=41+800|space=43+0|space=44+500|space=45+0|uni182D.E8E6_g.medi2=46+650|space=48+0|space=49+500|space=50+0|uni182D.E8E6_g.medi2=51+650|space=53+0|space=54+500|space=55+0|uni182D.E8E4_g.medi=56+800|space=57+0|uni182D.E8E8_g.fina1=58+1250|space=60+500|space=61+0|uni182D.E8E9_g.fina2=62+1050|space=64+500|uni1820.E820_a.isol=65+1550|space=66+0|uni182D.E8E2_g.init=67+1000|uni1820.E823_a.medi=68+400|uni1837.E931_r.fina=69+750|space=70+500|uni1830.E90B_s.init=71+850|uni1824.E844_u.medi=72+600|uni1837.E930_r.medi=73+600|space=74+0|space=75+0|uni182D.E8E5_g.medi1=76+800|uni1820.E823_a.medi=77+400|space=78+0|space=79+500|space=80+0|uni182D.E8E5_g.medi1=81+800|uni1824.E844_u.medi=82+600|uni182F.E908_l.medi=83+400|uni1822.E837_i.fina=84+600|space=85+500|uni182A1820.E875_ba.init=86+1000|uni1822.E836_i.medi2=88+1000|uni182D.E8E8_g.fina1=89+1250|space=90+0|uni1820.E827_a.fina2=91+600|uni202F.nobreak=92+500|uni1836.E92B_y.init1=93+500|uni1822.E834_i.medi=94+500|uni1828.E866_n.fina=95+850]
diff --git a/test/shaping/tests/zero-width-marks.tests b/test/shaping/tests/zero-width-marks.tests
new file mode 100644
index 0000000..be7ec96
--- /dev/null
+++ b/test/shaping/tests/zero-width-marks.tests
@@ -0,0 +1,2 @@
+fonts/sha1sum/bb9473d2403488714043bcfb946c9f78b86ad627.ttf:U+1030:[circledash=0+636|u1030.med=0@-162,0+0]
+fonts/sha1sum/8454d22037f892e76614e1645d066689a0200e61.ttf:U+05E0,U+05B8,U+0591,U+05DA,U+05B0:[uni05DA05B0=3+991|uni2009=0+200|uni0591=0@75,0+0|uni05B8=0@495,0+0|uni05E0=0+683]
diff --git a/test/shaping/texts/MANIFEST b/test/shaping/texts/MANIFEST
new file mode 100644
index 0000000..26a3e67
--- /dev/null
+++ b/test/shaping/texts/MANIFEST
@@ -0,0 +1 @@
+in-tree
diff --git a/test/shaping/texts/in-tree/MANIFEST b/test/shaping/texts/in-tree/MANIFEST
new file mode 100644
index 0000000..f7a7a96
--- /dev/null
+++ b/test/shaping/texts/in-tree/MANIFEST
@@ -0,0 +1,9 @@
+shaper-arabic
+shaper-default
+shaper-hangul
+shaper-hebrew
+shaper-indic
+shaper-myanmar
+shaper-sea
+shaper-thai
+shaper-tibetan
diff --git a/test/shaping/texts/in-tree/shaper-arabic/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/MANIFEST
new file mode 100644
index 0000000..eb8f9ec
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/MANIFEST
@@ -0,0 +1,6 @@
+script-arabic
+script-mandaic
+script-mongolian
+script-nko
+script-phags-pa
+script-syriac
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/MANIFEST
new file mode 100644
index 0000000..62e050d
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/MANIFEST
@@ -0,0 +1,3 @@
+language-persian
+language-urdu
+misc
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-persian/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-persian/MANIFEST
new file mode 100644
index 0000000..a6ac235
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-persian/MANIFEST
@@ -0,0 +1 @@
+mehran.txt
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-persian/mehran.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-persian/mehran.txt
new file mode 100755
index 0000000..4be0786
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-persian/mehran.txt
@@ -0,0 +1,8 @@
+‫دَر فارسی گَچْ‌پَژْ هست. این «ی» فارسی است.‬
+‫حرف «ع» را به چٰهار شکلِ «ع‍» و «‍ع‍» و «‍ع» و «‌ع‌» می‌توان نشان داد.‬
+‫تشخیصِ اِعْ‌ًٌَُراب ناهمخوان از وظایف حروفْ‌چین است.‬
+‫دو اِعراب همخوان مانند « َ» و « ّ» به شکل « َّ» باهم ترکیب می‌شوند.‬
+‫لازم است حروف‌چین رفتار درستی با کشیدهٔ یونی‌کدی داشته باشد.‬
+‫مثلاً بتواند کلـمهٔ «پیِٓـــــــچ» یا حروف «ــٖٓـ» را به درستی نمایش دهد.‬
+‫حرف «لام» و «الف» باید به شکل لیگاتوری نمایش داده شوند.‬
+‫کلمهٔ «بَلَاٰ» از آزمون‌های سطح پائین حروف‌چین است.‬ \ No newline at end of file
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/MANIFEST
new file mode 100644
index 0000000..0c0a6f3
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/MANIFEST
@@ -0,0 +1 @@
+crulp
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/MANIFEST
new file mode 100644
index 0000000..5786e7b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/MANIFEST
@@ -0,0 +1 @@
+ligatures
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/2grams.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/2grams.txt
new file mode 100644
index 0000000..6b59920
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/2grams.txt
@@ -0,0 +1,601 @@
+با
+پا
+تا
+ٹا
+ثا
+جا
+چا
+حا
+خا
+سا
+شا
+صا
+ضا
+طا
+عا
+غا
+فا
+قا
+کا
+گا
+لا
+ما
+نا
+ہا
+ھا
+یا
+تب
+ٹب
+جب
+چب
+حب
+سب
+شب
+صب
+طب
+عب
+قب
+کب
+لب
+نب
+ہب
+ھب
+ئب
+یب
+بب
+غب
+رب
+تپ
+جپ
+چپ
+ٹپ
+شپ
+غپ
+کپ
+گپ
+لپ
+مپ
+نپ
+ہپ
+ھپ
+ئپ
+یپ
+پت
+تت
+ثت
+چت
+حت
+خت
+ست
+شت
+صت
+ضت
+طت
+ظت
+عت
+غت
+فت
+قت
+کت
+گت
+لت
+مت
+نت
+ہت
+ھت
+ئت
+یت
+ٹت
+جت
+بت
+پٹ
+ٹٹ
+جٹ
+چٹ
+سٹ
+غٹ
+فٹ
+کٹ
+گٹ
+لٹ
+مٹ
+نٹ
+ہٹ
+ھٹ
+ئٹ
+یٹ
+شٹ
+تٹ
+بٹ
+حث
+عث
+لث
+نث
+ئث
+یث
+بث
+پج
+تج
+جج
+حج
+سج
+کج
+لج
+نج
+ہج
+ھج
+ئج
+یج
+گج
+بج
+پچ
+جچ
+سچ
+کچ
+مچ
+نچ
+ئچ
+تچ
+چچ
+خچ
+غچ
+یچ
+گچ
+ٹچ
+بچ
+تح
+جح
+صح
+ضح
+لح
+مح
+نح
+یح
+شح
+فح
+ئح
+بح
+ٹخ
+چخ
+سخ
+لخ
+مخ
+نخ
+ئخ
+یخ
+پخ
+بخ
+پد
+تد
+جد
+چد
+حد
+خد
+سد
+شد
+صد
+ضد
+عد
+غد
+فد
+قد
+کد
+گد
+لد
+مد
+ند
+ہد
+ئد
+ید
+بد
+پڈ
+ٹڈ
+جڈ
+چڈ
+سڈ
+گڈ
+لڈ
+مڈ
+نڈ
+ہڈ
+ئڈ
+یڈ
+کڈ
+تڈ
+بڈ
+پذ
+تذ
+جذ
+حذ
+خذ
+شذ
+عذ
+غذ
+فذ
+قذ
+کذ
+لذ
+مذ
+نذ
+ہذ
+ئذ
+یذ
+گذ
+بذ
+پر
+تر
+ٹر
+ثر
+جر
+چر
+حر
+خر
+سر
+شر
+صر
+ضر
+طر
+ظر
+عر
+غر
+فر
+قر
+کر
+گر
+لر
+مر
+نر
+ہر
+ئر
+یر
+بر
+پڑ
+تڑ
+جڑ
+چڑ
+سڑ
+غڑ
+کڑ
+گڑ
+لڑ
+مڑ
+ہڑ
+ھڑ
+یڑ
+نڑ
+بڑ
+پز
+تز
+جز
+حز
+خز
+سز
+عز
+فز
+قز
+کز
+گز
+لز
+مز
+نز
+ہز
+ئز
+یز
+ٹز
+ٹز
+غز
+بز
+پژ
+کژ
+مژ
+نژ
+ہژ
+یژ
+پس
+تس
+ٹس
+جس
+چس
+خس
+حس
+فس
+قس
+کس
+گس
+لس
+مس
+نس
+ہس
+ئس
+یس
+ھس
+عس
+سس
+بس
+تش
+ٹش
+جش
+چش
+خش
+حش
+فش
+قش
+کش
+گش
+لش
+مش
+نش
+ہش
+ئش
+یش
+ھش
+عش
+شش
+بش
+قص
+لص
+نص
+ئص
+یص
+خص
+بص
+فض
+قض
+مض
+ئض
+یض
+غض
+کض
+بض
+خط
+سط
+قط
+ئط
+یط
+جع
+شع
+ضع
+طع
+فع
+قع
+لع
+مع
+نع
+ئع
+یع
+سع
+کع
+بع
+لغ
+یغ
+بغ
+تف
+حف
+سف
+شف
+صف
+طف
+عف
+غف
+فف
+قف
+لف
+نف
+ہف
+ئف
+یف
+خف
+کف
+گف
+بف
+چق
+حق
+سق
+شق
+طق
+فق
+لق
+مق
+نق
+ہق
+ئق
+یق
+بق
+پک
+تک
+ٹک
+جک
+چک
+سک
+شک
+فک
+کک
+لک
+مک
+ہک
+ھک
+ئک
+یک
+حک
+بک
+پگ
+تگ
+جگ
+چگ
+سگ
+لگ
+نگ
+یگ
+ہگ
+مگ
+گگ
+بگ
+پل
+تل
+ٹل
+لل
+مل
+نل
+ہل
+ھل
+ئل
+یل
+خل
+ثل
+بل
+تم
+ٹم
+ثم
+جم
+چم
+خم
+سم
+شم
+صم
+ضم
+عم
+غم
+فم
+قم
+کم
+گم
+لم
+نم
+ہم
+ھم
+ئم
+یم
+بم
+پن
+تن
+ٹن
+جن
+چن
+خن
+شن
+طن
+ظن
+عن
+فن
+قن
+کن
+گن
+لن
+من
+نن
+ہن
+ھن
+ئن
+ین
+غن
+بن
+یں
+پو
+تو
+ٹو
+ثو
+جو
+چو
+حو
+خو
+سو
+ضو
+عو
+غو
+فو
+قو
+کو
+گو
+لو
+مو
+نو
+ہو
+ھو
+ئو
+یو
+بو
+ئہ
+یئہ
+بی
+پی
+تی
+ٹی
+ثی
+جی
+چی
+حی
+خی
+سی
+شی
+صی
+ضی
+طی
+ظی
+عی
+غی
+فی
+قی
+کی
+گی
+لی
+می
+نی
+ہی
+ھی
+ئی
+بے
+پے
+تے
+ٹے
+ثے
+جے
+چے
+سے
+شے
+صے
+طے
+غے
+فے
+قے
+کے
+گے
+لے
+مے
+نے
+ہے
+ھے
+ئے
+خے
+حے
+ضے
+عے
+پہ
+تہ
+ثہ
+جہ
+چہ
+خہ
+سہ
+شہ
+صہ
+ضہ
+طہ
+عہ
+غہ
+فہ
+قہ
+کہ
+گہ
+لہ
+مہ
+یہ
+ہہ
+ٹہ
+بہ
+تھ
+ٹھ
+جھ
+چھ
+کھ
+گھ
+بھ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/3grams.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/3grams.txt
new file mode 100644
index 0000000..4da97d2
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/3grams.txt
@@ -0,0 +1,3415 @@
+ببا
+بپا
+بتا
+بٹا
+بجا
+بچا
+بحا
+بخا
+بسا
+بشا
+بصا
+بضا
+بطا
+بظا
+بعا
+بغا
+بفا
+بقا
+بکا
+بگا
+بلا
+بما
+بنا
+بیا
+بہا
+بھا
+پتا
+پٹا
+پجا
+پچا
+پکا
+پسا
+پشا
+پکا
+پگا
+پلا
+پنا
+پیا
+پہا
+پھا
+تبا
+تپا
+تتا
+تٹا
+تجا
+تچا
+تحا
+تخا
+تسا
+تشا
+تصا
+تضا
+تطا
+تعا
+تغا
+تفا
+تقا
+تکا
+تگا
+تلا
+تما
+تنا
+تیا
+تہا
+تھا
+ٹبا
+ٹپا
+ٹتا
+ٹچا
+ٹکا
+ٹگا
+ٹلا
+ٹما
+ٹما
+ٹنا
+ٹیا
+ٹھا
+ثبا
+ثقا
+ثلا
+ثما
+ثنا
+ثیا
+جبا
+جپا
+جتا
+جٹا
+ججا
+جچا
+جحا
+جسا
+جغا
+جفا
+فکا
+جگا
+جلا
+جما
+جنا
+جیا
+جہا
+جھا
+چبا
+چپا
+چتا
+چٹا
+چچا
+چخا
+چخا
+چسا
+چغا
+چقا
+چکا
+چگا
+چلا
+چما
+چنا
+چیا
+چہا
+چھا
+حبا
+حجا
+حسا
+حشا
+حصا
+حضا
+حظا
+چغا
+حفا
+ھقا
+حکا
+حلا
+حما
+حنا
+حیا
+خبا
+ختا
+خٹا
+خجا
+خچا
+خحا
+خسا
+خشا
+خصا
+خضا
+خطا
+خفا
+خلا
+خما
+خنا
+خیا
+خہا
+سبا
+سپا
+ستا
+سٹا
+سجا
+سچا
+سحا
+سخا
+سسا
+سعا
+سفا
+سقا
+سکا
+سگا
+سلا
+سما
+سنا
+سیا
+سہا
+شبا
+شپا
+شتا
+شجا
+شچا
+شحا
+شخا
+شطا
+شعا
+شغا
+شفا
+شقا
+شکا
+شگا
+شما
+شنا
+شیا
+شہا
+صبا
+صحا
+صغا
+صفا
+صلا
+صما
+صنا
+صیا
+ضحا
+ضخا
+ضعا
+ضغا
+ضلا
+ضما
+ضیا
+طبا
+طپا
+طحا
+طعا
+طغا
+طفا
+طلا
+طما
+طنا
+طیا
+طہا
+ظلا
+ظہا
+عبا
+عتا
+عجا
+عسا
+عشا
+عصا
+عضا
+عطا
+عظا
+عفا
+عقا
+عکا
+علا
+عما
+عنا
+عیا
+غبا
+غپا
+غٹا
+غچا
+غسا
+غفا
+غلا
+غما
+غنا
+غیا
+فتا
+فٹا
+فجا
+فحا
+فسا
+فشا
+فصا
+فضا
+فطا
+فظا
+فعا
+فغا
+فقا
+فکا
+فگا
+فلا
+فما
+فنا
+فیا
+فہا
+قبا
+قتا
+قحا
+قسا
+قصا
+قضا
+قطا
+قعا
+قفا
+قلا
+قما
+قنا
+قیا
+قہا
+کبا
+کپا
+کتا
+کٹا
+کثا
+کجا
+کچا
+کحا
+کسا
+کشا
+کعا
+کفا
+ککا
+کگا
+کلا
+کما
+کنا
+کیا
+کہا
+کھا
+گبا
+گپا
+گتا
+گٹا
+گجا
+گچا
+گسا
+گلا
+گما
+گنا
+گیا
+گہا
+گھا
+لبا
+لپا
+لتا
+لٹا
+لثا
+لجا
+لچا
+لحا
+لخا
+لسا
+لشا
+لصا
+لطا
+لعا
+لغا
+لفا
+لقا
+لکا
+لگا
+لما
+لنا
+لیا
+لہا
+لھا
+مبا
+مپا
+متا
+مٹا
+مثا
+مجا
+مچا
+محا
+مخا
+مسا
+مشا
+مصا
+مضا
+مطا
+مظا
+معا
+مغا
+مفا
+مقا
+مکا
+مگا
+ملا
+مما
+منا
+میا
+مہا
+نبا
+نپا
+نتا
+نٹا
+نثا
+نجا
+نچا
+نحا
+نخا
+نسا
+نشا
+نصا
+نضا
+نظا
+نعا
+نفا
+نقا
+نکا
+نگا
+نلا
+مہا
+نبا
+نپا
+نتا
+نٹا
+نثا
+نجا
+نچا
+نحا
+نخا
+نسا
+نشا
+نصا
+نضا
+نما
+ننا
+نیا
+نہا
+نھا
+ئبا
+ئپا
+ئشا
+ئعا
+ئکا
+ئگا
+ئنا
+ئیا
+یبا
+یپا
+یتا
+یٹا
+یثا
+یجا
+یحا
+یخا
+یسا
+یشا
+یصا
+یضا
+یطا
+یعا
+یغا
+یفا
+یقا
+یکا
+یگا
+یلا
+یما
+ینا
+یئم
+یہا
+ہبا
+ہپا
+ہتا
+ہٹا
+ہجا
+ہچا
+ہسا
+ہشا
+ہفا
+ہقا
+ہکا
+ہگا
+ہلا
+ہما
+ہنا
+ہیا
+ھبا
+ھپا
+ھتا
+ھٹا
+ھجا
+ھسا
+ھکا
+ھگا
+ھلا
+ھما
+ھنا
+ھیا
+ھہا
+بلب
+بیب
+پھب
+تعب
+تکب
+تیب
+جست
+جلب
+جیب
+چھب
+حجب
+حسب
+حلب
+خطب
+سبب
+سلب
+سیب
+شعب
+شغب
+شیب
+صعب
+صلب
+طلب
+طیب
+عجب
+عصب
+عضب
+عقب
+عنب
+عیب
+ضصب
+غضب
+غلب
+غیب
+قطب
+قعب
+قلب
+قیب
+کتب
+کسب
+کعب
+کلب
+کیب
+کھب
+لطب
+لعب
+لقب
+لیب
+لہب
+محب
+مشب
+مطب
+نسب
+نصب
+نقب
+نیب
+یشب
+ینب
+ہیب
+بشپ
+پمپ
+پنپ
+پیپ
+تھپ
+ٹھپ
+جمپ
+جیپ
+جھپ
+چیپ
+چھپ
+سلپ
+سیپ
+فلپ
+کلپ
+کیپ
+کھپ
+گیپ
+گھپ
+لمپ
+لیپ
+میپ
+یمپ
+ینپ
+بپت
+بچت
+بخت
+بست
+بشت
+بعت
+بقت
+بنت
+بیت
+بہت
+بھت
+پتت
+پخت
+پست
+پشت
+پیت
+تبت
+تپت
+تحت
+تختتست
+تشت
+تمت
+تنت
+تیت
+ٹکت
+ثبت
+ثلت
+جست
+جعت
+جفت
+جگت
+جنت
+جیت
+جہت
+چپت
+چست
+چشت
+چکت
+چلت
+چنت
+چیت
+چھت
+حبت
+حجت
+حشت
+حفت
+حلت
+حمت
+حیت
+خست
+خشت
+کصت
+خفت
+خلت
+سبت
+سچت
+سخت
+سست
+سعت
+سفت
+سقت
+سکت
+سلت
+سمت
+سنت
+سیت
+شست
+شصت
+شفت
+شیت
+صحت
+صفت
+صلت
+صمت
+صیت
+ضیت
+طشت
+طفت
+طیت
+ظبت
+عفت
+علت
+عیت
+غبت
+غلت
+غیت
+فظت
+فعت
+فقت
+فیت
+قبت
+قعب
+قلت
+قیت
+کبت
+کپت
+کھت
+کشت
+کعت
+کلت
+کیت
+کھت
+گپت
+گست
+گشت
+گفت
+گمت
+گنت
+گیت
+لپت
+لجت
+لحت
+لخت
+لست
+لشت
+لغت
+لفت
+لگت
+للت
+لیت
+مست
+مشت
+معت
+مفت
+مکت
+ملت
+منت
+میت
+مہت
+نپت
+نست
+نعت
+نفت
+نکت
+نگت
+نیت
+ئیت
+یست
+یشت
+یعت
+یقت
+یمت
+ینت
+ہست
+ہشت
+ہفت
+ہمت
+ہیت
+ھست
+بجٹ
+بکٹ
+بلٹ
+بنٹ
+بیٹ
+بھٹ
+پسٹ
+پلٹ
+پیٹ
+پھٹ
+ٹسٹ
+ٹکٹ
+ٹنٹ
+ٹھٹ
+جسٹ
+جمٹ
+جنٹ
+جیٹ
+جھٹ
+چپٹ
+چکٹ
+چمٹ
+چنٹ
+چھٹ
+سٹٹ
+سکٹ
+سمٹ
+سیٹ
+شسٹ
+شفٹ
+شمٹ
+شیٹ
+فسٹ
+کپٹ
+کسٹ
+کشٹ
+کیٹ
+کھٹ
+گسٹ
+گشٹ
+گفٹ
+گلٹ
+گمٹ
+گیٹ
+گھٹ
+لپٹ
+لسٹ
+لشٹ
+لفٹ
+لنٹ
+لیٹ
+لہٹ
+مسٹ
+مشٹ
+مکٹ
+ملٹ
+منٹ
+میٹ
+نبٹ
+نپٹ
+نجٹ
+نسٹ
+نکٹ
+نگٹ
+نمٹ
+نیٹ
+یبٹ
+ئسٹ
+ئلٹ
+ئنٹ
+یبٹ
+یسٹ
+یکٹ
+ینٹ
+ہیٹ
+ھیٹ
+بحث
+بعث
+ثلث
+خبث
+شیث
+عبث
+نبث
+نیث
+بنج
+بیج
+بھج
+پنج
+پیج
+تہج
+تھج
+ٹیپ
+جھج
+سلج
+سیج
+سہج
+کنج
+کیج
+کھج
+گنج
+گیج
+لحج
+لنج
+لیج
+منج
+میج
+نپج
+نہج
+ینج
+ہپج
+بنچ
+بیچ
+بھچ
+پنچ
+پیچ
+پھچ
+تھچ
+ٹیج
+جکچ
+چمچ
+کلچ
+کیچ
+کھچ
+گھچ
+لنچ
+لیچ
+میچ
+نیچ
+ہیچ
+بیح
+جیح
+سطح
+سلح
+شیح
+صبح
+صلح
+صیح
+ضیح
+فتح
+فصح
+قبح
+لیح
+مسح
+ملح
+میخ
+نضح
+نفخ
+بطخ
+بلخ
+بیخ
+پٹخ
+تلخ
+تیخ
+ٹپخ
+چپخ
+چٹخ
+چیخ
+سیخ
+شیخ
+فسخ
+گٹخ
+مسخ
+مطخ
+ملخ
+میخ
+نسخ
+نفخ
+بتد
+بجد
+بحد
+بخد
+بسد
+بصد
+بضد
+بعد
+بغد
+بقد
+بگد
+بلد
+بمد
+بند
+بید
+بہد
+بھد
+پند
+پید
+پھد
+تبد
+تجد
+تحد
+تخد
+تسد
+تشد
+تصد
+تعد
+تقد
+تکد
+تمد
+تند
+تہد
+ثمد
+جسد
+جعد
+جلد
+جند
+جید
+جہد
+چغد
+چلد
+چند
+چید
+چھد
+حبد
+حسد
+حقد
+حمد
+حید
+ختہ
+خضد
+خلد
+خمد
+خند
+سبد
+ستد
+سجد
+سشد
+سعد
+سقد
+سمد
+سند
+سید
+شبد
+ششد
+شند
+شید
+شہد
+صفد
+صمد
+صند
+صید
+ضفد
+ضید
+عبد
+عتد
+عضد
+عقد
+عمد
+عند
+عید
+عہد
+غند
+غید
+فصد
+فعد
+فقد
+فند
+فید
+فہد
+قتد
+قصد
+قعد
+قند
+قید
+کند
+کید
+کھد
+گبد
+گلد
+گند
+گید
+لبد
+لحد
+لضد
+لعد
+لقد
+لکد
+لگد
+لمد
+لند
+لید
+مبد
+متد
+مجد
+محد
+محد
+مسد
+مشد
+مصد
+معد
+مقد
+مکد
+مگد
+ممد
+مند
+مید
+مہد
+نبد
+نتد
+نخد
+نسد
+نصد
+نعد
+نقد
+نگد
+نمد
+نند
+نہد
+ئمد
+ئند
+ئید
+یکد
+یگد
+یلد
+یند
+ہبد
+ہتد
+ہلد
+ہمد
+ہند
+ہید
+ھگد
+ھند
+بلڈ
+بنڈ
+بیڈ
+پگڈ
+پنڈ
+پیڈ
+پھڈ
+تکڈ
+تگڈ
+تنڈ
+ٹنڈ
+ٹھڈ
+جنڈ
+جھڈ
+چلڈ
+چنڈ
+سٹڈ
+سنڈ
+سیڈ
+شلڈ
+شیڈ
+غنڈ
+ئیڈ
+فنڈ
+فیڈ
+کبڈ
+کمڈ
+کنڈ
+کیڈ
+کھڈ
+گٹڈ
+کلڈ
+گنڈ
+گیڈ
+لنڈ
+لیڈ
+مکڈ
+مگڈ
+منڈ
+میڈ
+نیڈ
+ئٹڈ
+ئلڈ
+ئیڈ
+یجڈ
+یلڈ
+ینڈ
+ہلڈ
+ہنڈ
+ہیڈ
+ھنڈ
+بتذ
+پھڈ
+تبذ
+تحذ
+تعذ
+تغذ
+تکذ
+تلذ
+تہذ
+ٹھڈ
+جعد
+حبذ
+عتذ
+کیڈ
+لبذ
+لحز
+لقذ
+مبذ
+متذ
+مجذ
+محذ
+مخذ
+معذ
+مکذ
+ملذ
+منذ
+مہذ
+ہکذ
+ہگذ
+ببر
+بتر
+بٹر
+بجر
+بحر
+بخر
+بسر
+بشر
+بصر
+بطر
+بغر
+بفر
+بقر
+بکر
+بگر
+بلر
+بمر
+بنر
+بیر
+بہر
+بھر
+پتر
+پٹر
+پچر
+پسر
+پنر
+پیر
+پہر
+پھر
+تبر
+تپر
+تتر
+تٹر
+تجر
+تحر
+تخر
+تسر
+تشر
+تصر
+تضر
+تعر
+تغر
+تفر
+تقر
+تکر
+تگر
+تمر
+تنر
+تیر
+تہر
+تھر
+ٹبر
+ٹٹر
+ٹخر
+ٹسر
+ٹکر
+ٹمر
+ٹنر
+ٹیڈ
+ٹہر
+ٹھر
+ثمر
+ثیر
+جبر
+جتر
+جغر
+جفر
+جکر
+جگر
+جمر
+جنر
+جیر
+جہر
+جھر
+چپر
+چتر
+چٹر
+چسر
+چشر
+چفر
+چقر
+چکر
+چمر
+چنر
+چیر
+چہر
+چھر
+حتر
+حجر
+حسر
+حشر
+حصر
+حضر
+حفر
+حقر
+حمر
+حیر
+خبر
+ختر
+خچر
+خسر
+خشر
+خصر
+خضر
+خطر
+خفر
+خگر
+خمر
+خیر
+سپر
+ستر
+سٹر
+سجر
+سچر
+سحر
+سسر
+سطر
+سفر
+سقر
+سکر
+سگر
+سمر
+سیر
+سہر
+شبر
+شپر
+شتر
+شٹر
+شجر
+شطر
+شعر
+شغر
+شکر
+شگر
+شمر
+شیر
+شہر
+صبر
+صحر
+صطر
+صعر
+صغر
+صفر
+صہر
+ضطر
+طبر
+طغر
+طنز
+طیر
+طہر
+ظفر
+ظہر
+عبر
+عتر
+عسر
+عشر
+عصر
+عطر
+عفر
+عقر
+عکر
+عمر
+غٹر
+غفر
+غیر
+فتر
+فٹر
+فجر
+فخر
+فسر
+فشر
+فطر
+فغر
+ففر
+فقر
+فکر
+فلر
+فنر
+فیر
+فہر
+قبر
+قتر
+قشر
+قصر
+قطر
+قعر
+قلر
+قمر
+قیر
+قہر
+کبر
+کتر
+کٹر
+کثر
+کجر
+کچر
+کسر
+کثر
+کفر
+ککر
+کگر
+کلر
+کمر
+کیر
+کہر
+کھر
+گبر
+گٹر
+گجر
+گگر
+گلر
+گمر
+گنر
+گیر
+گہر
+گھر
+لبر
+لتر
+لٹر
+لجر
+لچر
+لھر
+لخر
+لشر
+لضر
+لطر
+لعر
+لغر
+لفر
+لقر
+لکر
+لگر
+لمر
+لنر
+لیر
+لہر
+مبر
+مپر
+متر
+مٹر
+مجر
+مچر
+محر
+مخر
+مسر
+مشر
+مصر
+مضر
+مطر
+معر
+مغر
+مفر
+مقر
+مکر
+مگر
+ملر
+ممر
+منر
+میر
+مہر
+نبر
+نتر
+نٹر
+نثر
+نجر
+نحر
+نخر
+نسر
+نشر
+نصر
+نظر
+نعر
+نفر
+نقر
+نکر
+نگر
+نمر
+نئر
+نیر
+نہر
+ئبر
+ئٹر
+ئکر
+ئمر
+ئنر
+ئیر
+ئہر
+یبر
+یپر
+یٹر
+یثر
+یجر
+یچر
+یخر
+یسر
+یشر
+یفر
+یکر
+یگر
+یلر
+یمر
+ینر
+یئر
+یہر
+ہبر
+ہتر
+ہٹر
+ہجر
+ہچر
+ہکر
+ہلر
+ہمر
+ہنر
+ہیر
+ھبر
+ھچر
+ھگر
+گیر
+بگڑ
+بنڑ
+بیڑ
+بھڑ
+پبڑ
+پٹڑ
+پجڑ
+پکڑ
+پگڑ
+پلڑ
+پیڑ
+پھڑ
+تپڑ
+تکڑ
+تگڑ
+تلڑ
+تیڑ
+تھڑ
+ٹکڑ
+ٹیر
+ٹھڑ
+جبڑ
+جکڑ
+جھڑ
+چبڑ
+چبڑ
+چپڑ
+چچڑ
+چسڑ
+چکڑ
+چمڑ
+چیڑ
+چھڑ
+سپڑ
+سکڑ
+سیڑ
+کبڑ
+کپڑ
+کچڑ
+ککڑ
+کلڑ
+کنڑ
+کیڑ
+کھڑ
+گپڑ
+گیڑ
+گھڑ
+لبڑ
+لپڑ
+لکڑ
+لگڑ
+لٹر
+لہڑ
+لھڑ
+مپڑ
+مسڑ
+مکڑ
+منڑ
+میڑ
+نبڑ
+نپڑ
+نتڑ
+نچڑ
+نسڑ
+نکڑ
+نگڑ
+نیڑ
+نہڑ
+ئیڑ
+یکڑ
+یہڑ
+ہبڑ
+ہپڑ
+ہیڑ
+ہجڑ
+ہلڑ
+ہمڑ
+ہنڑ
+ہیڑ
+ھبڑ
+ھکڑ
+ھگڑ
+ھیڑ
+بجز
+بلز
+بیز
+بہز
+پیز
+تجز
+تحز
+تعز
+تغز
+تنز
+تیز
+ٹیڑ
+چکز
+چیز
+حمز
+حیز
+خیز
+خنز
+سبز
+سلز
+سیز
+شلز
+شیز
+شہز
+طنز
+عتز
+عجز
+غمز
+فلز
+فیز
+قلز
+کبز
+کمز
+کنز
+کیز
+گلز
+گیز
+لتز
+لجز
+لحز
+لعز
+لغز
+لقز
+لنز
+لیز
+متز
+محز
+مخز
+مسز
+معز
+مغز
+ملز
+ممز
+منز
+میز
+نتز
+نغز
+نگز
+نلز
+نیز
+ئلز
+ئنز
+ئیز
+یگز
+یلز
+یمز
+ہتز
+ہلز
+ہمز
+ہیز
+لگژ
+بکس
+بلس
+بنس
+بیس
+بھس
+پٹس
+پنس
+پیس
+پھس
+تٹس
+تحس
+تکس
+تیس
+تہس
+ٹپس
+ٹکس
+ٹلس
+ٹنس
+ٹیز
+ٹھس
+جنس
+جیس
+چکس
+چیس
+حبس
+خمس
+خیس
+سٹس
+سمس
+سیس
+شپس
+شمس
+طلس
+طیس
+عکس
+فلس
+فنس
+فیس
+قفس
+قیس
+کتیس
+کلس
+کنس
+کھس
+گلس
+گیس
+گھس
+لپس
+لٹس
+لکس
+لمس
+لنس
+لیس
+مکس
+مگس
+ملس
+منس
+میس
+نٹس
+نجس
+نحس
+نسس
+نفس
+نکس
+ینس
+ئٹس
+ئنس
+ئیس
+یبس
+یٹس
+یسس
+یشس
+یکس
+یلس
+ینس
+ٹیس
+جیش
+حبش
+خفش
+سپش
+ستش
+شیش
+طپش
+طیش
+عطش
+عیش
+فحش
+فلش
+کشش
+کفش
+کنش
+کیش
+کفش
+کنش
+لکش
+منش
+میش
+نجش
+نعش
+نقش
+نگش
+نمش
+نیش
+ئیش
+یشش
+یعش
+ینش
+ہفش
+ہیش
+حصص
+حفص
+حیص
+شخص
+قصص
+نقص
+بعض
+بغض
+بیض
+حیض
+غیض
+فیض
+قبض
+محض
+میض
+نبض
+نقض
+بخط
+خبط
+خلط
+سبط
+سقط
+شخط
+ضبط
+غلط
+غیط
+فقط
+قحط
+قسط
+لخط
+لفط
+لقط
+حفظ
+غیظ
+لحظ
+لفظ
+بمع
+بیع
+تبع
+تسع
+تفع
+جمع
+جیع
+سبع
+سجع
+سمع
+سیع
+شجع
+شمع
+صطع
+صنع
+صیع
+ضلع
+ضیع
+طبع
+طمع
+فیع
+قطع
+قلع
+قمع
+قیع
+منع
+نطع
+نفع
+تیغ
+میغ
+نیغ
+بلف
+بیف
+تلف
+جیف
+چیف
+حلف
+حیف
+خلف
+خیف
+سقف
+سلف
+سیف
+شغف
+شلف
+صحف
+صنف
+صیف
+ضعف
+ضیف
+عطف
+علف
+قیف
+کتف
+کشف
+کلف
+کنف
+کیف
+کہف
+گلف
+لصف
+کطف
+کیف
+نجف
+نصف
+نیف
+بحق
+بلق
+بہق
+بھق
+پتق
+پھق
+تتق
+ثیق
+جلق
+حلق
+حمق
+حیق
+خلق
+سبق
+شفق
+شلق
+ضیق
+طبق
+عشق
+عمق
+فتق
+فسق
+سیق
+قلق
+قیق
+لحق
+لیق
+مشق
+نبق
+نسق
+نطق
+نیق
+بتک
+بٹک
+بچک
+بطک
+بلک
+بنک
+بیک
+بہک
+بھک
+پٹک
+پچک
+پلک
+پنک
+پیک
+پھک
+تپک
+تتک
+تشک
+تلک
+تنک
+تیک
+تھک
+ٹپک
+ٹسک
+ٹنک
+ٹیش
+ٹھک
+جبک
+جھک
+چبک
+چپک
+چٹک
+چسک
+چشک
+چلک
+چمک
+چنک
+چیک
+چہک
+چھک
+ختک
+خٹک
+خسک
+خشک
+خنک
+سبک
+ستک
+سٹک
+سسک
+سلک
+سمک
+سنک
+شلک
+ضحک
+غٹک
+غلک
+کبک
+کتک
+کٹک
+کسک
+کفک
+کلک
+کمک
+کنک
+کیک
+گٹک
+گجک
+گلک
+گمک
+گہم
+لپک
+لٹک
+لچل
+للک
+لنک
+لیک
+لہک
+مٹک
+مچک
+محک
+مسک
+مشک
+ملک
+میک
+مہک
+نسک
+نمک
+نیک
+ئیک
+یبک
+یپک
+یشک
+یفک
+یمک
+ینک
+ہبک
+ہتک
+ہچک
+ہلک
+ہمک
+ہنک
+کیک
+ھجک
+ھچک
+ھسک
+ھلک
+ھمک
+ھنک
+بنگ
+بیگ
+بھگ
+پلگ
+پنگ
+تنگ
+ٹنگ
+ٹیک
+جلگ
+جنگ
+چنگ
+خنگ
+سلگ
+سنگ
+سیگ
+شنگ
+کنگ
+کھگ
+گمگ
+گنگ
+لنگ
+لیگ
+منگ
+میگ
+ننگ
+نیگ
+ئنگ
+ینگ
+ہلگ
+ہنگ
+ہیگ
+ھنگ
+ببل
+بچل
+بحل
+بخل
+بصل
+بطل
+بعل
+بغل
+بقل
+بکل
+بگل
+بیل
+بہل
+بھل
+پبل
+پپل
+پتل
+پٹل
+پگل
+پیل
+پہل
+پھلتکل
+تیل
+تھل
+ٹکل
+ٹیگ
+ٹہل
+ثقل
+ثیل
+جبل
+جعل
+جکل
+جگل
+جمل
+جیل
+جہل
+جھل
+چبل
+چپل
+چغل
+چکل
+چمل
+چیل
+چہل
+چھل
+حبل
+حصل
+حلل
+حمل
+حیل
+خجل
+خلل
+خیل
+سبل
+ستل
+سٹل
+سجل
+سچل
+سفل
+سکل
+سگل
+سنل
+سیل
+سہل
+شطل
+شغل
+شکل
+شگل
+شیل
+صصل
+صنل
+صیل
+طبل
+طفل
+عسل
+عضل
+عقل
+علل
+عمل
+عیل
+غسل
+فحل
+فصل
+فضل
+فعل
+فیل
+قبل
+قتل
+قفل
+قیل
+کبل
+کپل
+کتل
+کچل
+کحل
+کسل
+کشل
+کفل
+کمل
+کیل
+کہل
+کھل
+گپل
+گٹل
+گسل
+گھل
+لعل
+لغل
+لیل
+مٹل
+مثل
+مچل
+محل
+مخل
+مضل
+مغل
+ملل
+میل
+نبل
+نپل
+نچل
+نحل
+نخل
+نسل
+نشل
+نصل
+نعل
+نفل
+نقل
+نکل
+نگل
+نیل
+ئبل
+ئٹل
+ئفل
+ئقل
+ئنل
+ئیل
+یشل
+یکل
+یگل
+ینل
+ہبل
+ہیل
+ھیل
+بسم
+بکم
+بلم
+بیم
+بہم
+پتم
+پٹم
+پچم
+پسم
+پشم
+پنم
+پیم
+پتم
+تخم
+تیم
+تھم
+ٹیل
+ثیم
+جسم
+جنم
+جیم
+جھم
+چشم
+چلم
+چھم
+حجم
+حشم
+حضم
+حکم
+حلم
+حیم
+ختم
+حشم
+خیم
+ستم
+سقم
+سکم
+سلم
+سیم
+سہم
+ششم
+شکم
+شلم
+شیم
+صنم
+طعم
+ظلم
+عجم
+عظم
+علم
+عیم
+غلم
+فلم
+فیم
+قسم
+قلم
+قیم
+کٹم
+کسم
+کلم
+کیم
+کھم
+گلم
+گیم
+گھم
+لبم
+لحم
+لکم
+لیم
+مسم
+مغم
+منم
+میم
+مہم
+نجم
+نظم
+نعم
+نکم
+نگم
+نیم
+نہم
+ئٹم
+یتم
+یٹم
+یشم
+یغم
+یکم
+ینم
+یئم
+ہضم
+ہمم
+ہیم
+ھکم
+کیم
+بٹن
+بچن
+بشن
+بطن
+بین
+بہن
+بھن
+پتن
+پٹن
+پشن
+پمن
+پین
+پہن
+پھن
+تپن
+تکن
+تلن
+تمن
+تین
+تہن
+تھن
+ٹپن
+ٹسن
+ٹفن
+ٹیم
+ٹھن
+ثمن
+ثین
+جبن
+جتن
+جشن
+جگن
+جلن
+جمن
+جین
+جھن
+چپن
+چکن
+چلن
+چمن
+چین
+چھن
+حسن
+حصن
+حین
+ختن
+خین
+سپن
+ستن
+سٹن
+سجن
+سخن
+سشن
+سقن
+سمن
+سنن
+سین
+سہن
+شکن
+شگن
+شمن
+شین
+صحن
+ضمن
+ضین
+طعن
+طین
+عین
+غبن
+غین
+فتن
+فٹن
+فگن
+فمن
+فین
+قطن
+قین
+کجن
+کچن
+کشن
+کفن
+کلن
+کین
+کہن
+کھن
+گگن
+گین
+گہن
+گھن
+لبن
+لٹن
+لجن
+لحن
+لسن
+لعن
+لفن
+لگن
+لمن
+لنن
+لین
+لہن
+لھن
+متن
+مٹن
+محن
+مسن
+مشن
+مکن
+مگن
+ملن
+منن
+مین
+نجن
+نشنر
+نگن
+نمن
+نین
+نہن
+ئین
+یپن
+یجن
+یشن
+یکن
+یگن
+یلن
+یمن
+ہمن
+ہین
+بیں
+پیں
+ٹیں
+ثین
+جیں
+چیں
+حیں
+خیں
+سیں
+شیں
+عیں
+کیں
+گیں
+لیں
+میں
+نیں
+ئیں
+ہیں
+ھیں
+ببو
+بپو
+بتو
+بٹو
+بجو
+پچو
+پسو
+پشو
+پکو
+پگو
+پلو
+پنو
+پئو
+پیو
+پھو
+تبو
+تپو
+تجو
+تچو
+تحو
+تخو
+تسو
+تشو
+تصو
+تضو
+تطو
+تعو
+تفو
+تقو
+تکو
+تگو
+تلو
+تمو
+تنو
+تیو
+تہو
+تھو
+ٹپو
+ٹٹو
+ٹچو
+ٹسو
+ٹشو
+ٹکو
+ٹلو
+ٹنو
+ٹیز
+ٹہو
+ٹھو
+ثبو
+ثپو
+ثتو
+ثمو
+جبو
+جپو
+جتو
+جٹو
+ججو
+جچو
+جسو
+جعو
+جلو
+جمو
+جنو
+جئو
+جیو
+جھو
+چبو
+چپو
+چتو
+چٹو
+چچو
+چخو
+چسو
+چقو
+چکو
+چگو
+چلو
+چمو
+چنو
+چیو
+چھو
+حبو
+حتو
+حثو
+حشو
+حصو
+حضو
+حظو
+حقو
+حکو
+حلو
+حنو
+حیو
+ختو
+خسو
+خشو
+خصو
+خضو
+خطو
+خلو
+خمو
+خنو
+خیو
+سبو
+سپو
+ستو
+سٹو
+سجو
+سچو
+سحو
+سشو
+سطو
+سعو
+سفو
+سقو
+سکو
+سگو
+سلو
+سمو
+سنو
+سیو
+سہو
+شبو
+شپو
+شتو
+ششو
+شعو
+شفو
+شقو
+شکو
+شگو
+شلو
+شمو
+شنو
+شیو
+شہو
+صبو
+صتو
+صحو
+صعو
+صفو
+صلو
+صنو
+ضتو
+ضحو
+ضعو
+طبو
+طفو
+طلو
+طنو
+طیو
+طہو
+ظتو
+ظلو
+ظنو
+ظہو
+عبو
+عتو
+عجو
+عشو
+عضو
+عطو
+عظو
+عفو
+عقو
+علو
+عمو
+عنو
+عیو
+غفو
+غلو
+غمو
+غنو
+غیو
+فتو
+فٹو
+فجو
+فحو
+فسو
+فصو
+فضو
+فظو
+فعو
+فقو
+فلو
+فنو
+فیو
+فہو
+قبو
+قپو
+قتو
+قسو
+قشو
+قصو
+قطو
+قعو
+قفو
+قلو
+قمو
+قنو
+قیو
+قہو
+کبو
+کتو
+کتو
+کٹو
+کچو
+کسو
+کشو
+کفو
+کلو
+کمو
+کنو
+کیو
+کہو
+کھو
+کو
+گپو
+گتو
+گٹو
+گجو
+گلو
+گمو
+گنو
+گئو
+گیو
+گہو
+گھو
+لبو
+لپو
+لتو
+لٹو
+لثو
+لجو
+لچو
+لحو
+لخو
+لسو
+لشو
+لصو
+لضو
+لطو
+لعو
+لغو
+لفو
+لقو
+لکو
+لگو
+للو
+لمو
+لنو
+لیو
+لہو
+لھو
+مپو
+متو
+مٹو
+مجو
+مچو
+جحو
+مخو
+مسو
+مشو
+مصو
+مطو
+مغو
+مقو
+مکو
+مگو
+ملو
+ممو
+منو
+مئو
+میو
+مہو
+مھو
+نبو
+نپو
+نتو
+نٹو
+نجو
+نچو
+نحو
+نخو
+نسو
+نشو
+نصو
+نطو
+نظو
+نعو
+نفو
+نقو
+نکو
+نگو
+نلو
+نمو
+ننو
+نیو
+نہو
+نھو
+ئبو
+ئپو
+ئتو
+ئٹو
+ئخو
+خشو
+ئفو
+ئقو
+ئکو
+ئلو
+ئنو
+ئیو
+یبو
+یپو
+یتو
+یٹو
+یثو
+یجو
+یخو
+یسو
+یشو
+یضو
+یعو
+یفو
+یقو
+یکو
+یگو
+یلو
+یمو
+ینو
+یئو
+یہو
+ہبو
+ہپو
+ہتو
+ہٹو
+ہجو
+ہشو
+ہضو
+ہفو
+ہکو
+ہگو
+ہلو
+ہمو
+ہنو
+ہیو
+ھبو
+ھپو
+ھتو
+ھجو
+ھکو
+ھگو
+ھلو
+ھنو
+ھیو
+مو
+ببی
+بتی
+بٹی
+بجی
+بچی
+بسی
+بطی
+بکی
+بلی
+بنی
+بئ
+بہی
+بھی
+بی
+پتی
+پٹی
+پجی
+پچی
+پخی
+پسی
+پشی
+پکی
+پلی
+پنی
+پئ
+تھی
+تبی
+تپی
+تتی
+تپی
+تجی
+تچی
+تشی
+تقی
+تکی
+تگی
+تلی
+تمی
+تنی
+تئ
+تہی
+تھی
+ٹپی
+ٹتی
+ٹٹی
+ٹچی
+ٹکی
+ٹگی
+ٹلی
+ٹمی
+ٹنی
+ٹھی
+ثتی
+جبی
+جپی
+جتی
+جٹی
+ججی
+جچی
+جعی
+جگی
+جلی
+جمی
+جنی
+جئ
+جہی
+جھی
+چبی
+چپی
+چتی
+چٹی
+چجی
+چچی
+چکی
+چگی
+چلی
+چنی
+چھی
+حبی
+حتی
+حسی
+حشی
+حظی
+حقی
+حلی
+حمی
+حئ
+ختی
+خشی
+خصی
+خطی
+خفی
+خلی
+خمی
+خنی
+خسپی
+ستی
+سٹی
+سجی
+سچی
+سخی
+سی
+سطی
+سعی
+سفی
+سکی
+سگی
+سلی
+سمی
+سنی
+سئ
+سہی
+سی
+شتی
+ششی
+شطی
+شقی
+شکی
+شمی
+شنی
+شہی
+صبی
+صتی
+صفی
+صگی
+صلی
+ضتی
+ضعی
+ظگی
+ضی
+طبی
+طمی
+طنی
+ظتی
+ظمی
+ظنی
+عتی
+عفی
+علی
+عمی
+عنی
+عئ
+غبی
+غپی
+غشی
+غلی
+غمی
+غنی
+فتی
+فجی
+فضی
+فعی
+فقی
+فگی
+فلی
+فمی
+فنی
+قتی
+قشی
+قصی
+قعی
+قلی
+قمی
+کبی
+کپی
+کتی
+کٹی
+کجی
+کچی
+کسی
+کشی
+کلی
+کمی
+کنی
+کہی
+کھی
+گبی
+گپی
+گتی
+گٹی
+گجی
+گچی
+گلی
+گمی
+گنی
+گئ
+گہی
+گھی
+لبی
+لپی
+لتی
+لٹی
+لثیمتی
+لجی
+لچی
+لسی
+لشی
+لعی
+لفی
+لکی
+لگی
+للی
+لمی
+لنی
+لہہ
+لی
+متی
+مٹی
+مجی
+مچی
+م]ی
+مسی
+مشی
+معی
+مکی
+مگی
+ملی
+ممی
+منی
+مہی
+نبی
+نپی
+نتی
+نٹی
+نجی
+نچی
+نسی
+نشی
+نفی
+نقی
+نکی
+نگی
+نلی
+نمی
+نلی
+نئ
+نہی
+نھی
+نی
+ئبی
+ئتی
+ئٹی
+ئچی
+ئسی
+ئشی
+ئقی
+ئکی
+ئلی
+ئمی
+ئنی
+یبی
+ہتی
+ہٹی
+ہفی
+ہکی
+ہگی
+ہلی
+ہمی
+ہنی
+ہئ
+ھپی
+ھتی
+ھجی
+ھکی
+ھگی
+ھلی
+ھنی
+ھئ
+بتے
+بٹے
+بجے
+بچے
+بسے
+بطے
+بعے
+بفے
+بقے
+بکے
+بلے
+بنے
+بۓ
+بہے
+بھے
+پتے
+پٹے
+پجے
+پچے
+پسے
+پشے
+پکے
+پلے
+پنے
+پۓ
+تبے
+تپے
+تتے
+تٹے
+تجے
+تچے
+تسے
+تشے
+تکے
+تگے
+تلے
+تمے
+تنے
+تۓ
+تھے
+ٹپے
+ٹتے
+ٹچے
+ٹکے
+ٹگے
+ٹلے
+ٹنے
+ٹۓ
+ٹھے
+جبے
+جپے
+جتے
+جٹے
+جثے
+جچے
+جسے
+جلے
+جمے
+جنے
+جۓ
+چھے
+حثے
+حصے
+حظے
+حقے
+حلے
+ختے
+حچے
+حطے
+خلے
+خہے
+ستے
+سٹے
+سجے
+سچے
+سطے
+سکے
+سکے
+سلے
+سمے
+سنے
+سۓ
+سہے
+شپے
+شتے
+شقے
+شمے
+شۓ
+صلے
+ضمے
+عشے
+علے
+غصے
+غلے
+فتے
+فٹے
+فسے
+فظے
+فلے
+قبے
+قصے
+قعے
+کپے
+کتے
+کٹے
+کجے
+کچے
+کسے
+کشے
+ککے
+کلے
+کمے
+کنے
+کۓ
+کیے
+کہے
+کھے
+گپے
+گتے
+گٹے
+گجے
+گلے
+گمے
+گنے
+گۓ
+گہے
+گھے
+لبے
+لیے
+لتے
+لٹے
+لثے
+لجے
+لچے
+لحے
+لخے
+لصے
+لعے
+لکے
+لگے
+لمے
+لنے
+لۓ
+لہے
+لھے
+متے
+مٹے
+مچے
+مسے
+مکے
+ملے
+نلے
+ننے
+نۓ
+ئٹے
+ئچے
+ئفے
+ئقے
+ئلے
+یتے
+یجے
+یچے
+یسے
+یشے
+یضے
+یعے
+یفے
+یقے
+یکے
+یگے
+یلے
+یمے
+ینے
+یۓ
+ہبے
+ہتے
+ہٹے
+ہجے
+ہکے
+ہگے
+ہلے
+ہمے
+ہنے
+ہۓ
+ھبے
+ھپے
+ھتے
+ھٹے
+ھجے
+ھکے
+ھگے
+ھلے
+ھمے
+ھۓ
+بتہ
+بچہ
+بحہ
+بطہ
+بعہ
+بغہ
+بقہ
+بلہ
+بیہ
+پتہ
+پٹہ
+پشہ
+پکہ
+پلہ
+پنہ
+پیہ
+تبہ
+تحہ
+تکہ
+تگہ
+تمہ
+تنہ
+تیہ
+تہہ
+ثقہ
+ثیم
+جبہ
+جتہ
+جثہ
+جگہ
+بلہ
+بمہ
+جنہ
+جیہ
+جہہ
+چپہ
+چغہ
+چلہ
+چنہ
+حبہ
+حثہ
+حشہ
+حصہ
+حظہ
+حقہ
+حلہ
+حمہ
+حیہ
+ختہ
+حچہ
+حطہ
+حلہ
+حمہ
+حنہ
+سبہ
+سپہ
+سبہ
+سجہ
+سخہ
+سسہ
+سطہ
+سفہ
+سقہ
+سکہ
+سلہ
+سمہ
+سنہ
+سۂ
+سیہ
+شبہ
+شتہ
+شقہ
+شلہ
+شمہ
+شنہ
+شۂ
+شیہ
+صفہ
+صلہصیہ
+ضمہ
+ظیہ
+طبہ
+طفہ
+طقہطمہ
+طیہ
+طہ
+ظلہ
+ظمہ
+عشہ
+عصہ
+عقہ
+عنہ
+عیہ
+غصہ
+غلہ
+غنہ
+فتہ
+فحہ
+فضہ
+فطہ
+فظہ
+فعہ
+فقہ
+فلہ
+فیہ
+فہہ
+قبہ
+قتہ
+قجہ
+قشہ
+قصہ
+قعہ
+قفہ
+قلہ
+قمہ
+قیہ
+کشہ
+کلہ
+کنہ
+کیہ
+کہہ
+گتہ
+گجہ
+گلہ
+گنہ
+گیہ
+گہہ
+لبہ
+لتہ
+لثہ
+لجہ
+لچہ
+لحہ
+لخہ
+لسہ
+لصہ
+لعہ
+لغہ
+لفہ
+لقہ
+لکہ
+للہ
+لمہ
+لنہ
+لیہ
+لہہ
+لہ
+متہ
+مچہ
+مطہ
+معہ
+مکہ
+ملہ
+منہ
+میہ
+مہہ
+نبہ
+نجہ
+نچہ
+نحہ
+نسہ
+نشہ
+نقہ
+نکہ
+نگہ
+نیہ
+نہہ
+ئبہ
+ئتہ
+ئٹہ
+ئچہ
+ئشہ
+ئفہ
+ئقہ
+ئکہ
+ئلہ
+ئمہ
+ئنہ
+ئیہ
+یبہ
+یجہ
+یچہ
+یحہ
+یشہ
+یضہ
+یعہ
+یفہ
+یقہ
+یکہ
+یگہ
+یلہ
+یمہ
+ینہ
+ہبہ
+ہمہ
+ہنہ
+ہیہ
+بجہھ
+بچھ
+بکھ
+پتھ
+پٹھ
+پچھ
+پکھ
+تتھ
+تجھ
+جتھ
+جٹھ
+چبھ
+چکھ
+سبھ
+سٹھ
+سجھ
+سکھ
+شبھ
+کچھ
+گتھ
+گٹھ
+گچھ
+لتھ
+لجھ
+لچھ
+لکھ
+متھ
+مٹھ
+مجھ
+مچھ
+مکھ
+منھ
+نبھ
+نتھ
+نٹھ
+نجھ
+نچھ
+نکھ
+نگھ
+نبھ
+یچھ
+یکھ
+ہتھ
+ہنھ
+طمۃ
+بی
+سی
+ضی
+بعا
+تا
+سطا
+صلا
+ظتا
+فتا
+قتا
+لبا
+متا
+معا
+ملا
+یتا
+یحا
+یضا
+نیا
+ینا
+ہلا
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/4grams.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/4grams.txt
new file mode 100644
index 0000000..e5494b7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/4grams.txt
@@ -0,0 +1,6316 @@
+ببیا
+ببھا
+بپتا
+بپھا
+بتتا
+بتخا
+بتسا
+بتغا
+بتلا
+بتما
+بتنا
+بتیا
+بتہا
+بتھا
+بٹتا
+بٹنا
+بٹیا
+بٹھا
+بجتا
+بجما
+بجنا
+بجیا
+بجھا
+بچتا
+بچکا
+بچلا
+بچنا
+بچیا
+بچھا
+بحسا
+بحفا
+بختا
+بخشا
+بخلا
+بخیا
+بستا
+بسٹا
+بسطا
+بسلا
+بسما
+بسنا
+بسیا
+بسہا
+بطحا
+بطخا
+بطلا
+بعضا
+بغیا
+بقضا
+بکتا
+بکسا
+بکشا
+بکلا
+بکما
+بکنا
+بکیا
+بکھا
+بگلا
+بگیا
+بگھا
+بلتا
+بلٹا
+بلحا
+بلطا
+بلغا
+بلفا
+بلقا
+بلکا
+بلگا
+بلما
+بلنا
+بلیا
+بلہا
+بمبا
+بمطا
+بمقا
+بمنا
+بنتا
+بنٹا
+بنجا
+بنکا
+بنگا
+بننا
+بنیا
+بیبا
+بیتا
+بیٹا
+بیجا
+بیچا
+بیسا
+بیشا
+بیضا
+بیطا
+بیعا
+بیکا
+بیگا
+بیلا
+بیما
+بینا
+بہتا
+بہکا
+بہلا
+بہنا
+بہیا
+بھپا
+بھتا
+بھٹا
+بھجا
+بھچا
+بھسا
+بھکا
+بھگا
+بھلا
+بھما
+بھنا
+بھیا
+پبیا
+پپیا
+پتتا
+پتلا
+پتنا
+پتیا
+پتھا
+پٹتا
+پٹخا
+پٹکا
+پٹلا
+پٹنا
+پٹیا
+پٹھا
+پجتا
+پجنا
+پچتا
+پچکا
+پچلا
+پچنا
+پچیا
+پچھا
+پخنا
+پخیا
+پسپا
+پستا
+پسما
+پسنا
+پشتا
+پشیا
+پغما
+پکتا
+پکما
+پکنا
+پکھا
+پگلا
+پلتا
+پلٹا
+پلکا
+پلنا
+پلیا
+پنیا
+پنجا
+پجچا
+پنچا
+پنسا
+پنگا
+پنیا
+پنہا
+پنھا
+پیپا
+پیتا
+پیٹا
+پیجا
+پیچا
+پیخا
+پیسا
+پیشا
+پیغا
+پیکا
+پیلا
+پیما
+پینا
+پہچا
+پہلا
+پہنا
+پہیا
+پھبا
+پھپا
+پھٹا
+پھچا
+پھسا
+پھکا
+پھلا
+تبخا
+تبیا
+تپتا
+تپکا
+تپنا
+تتکا
+تتلا
+تتھا
+تجتا
+تجلا
+تجنا
+تچنا
+تچتا
+تحتا
+تحیا
+تسلا
+تسما
+تشنا
+مملکتو
+تغما
+تغیا
+تفتا
+تقیا
+تکلا
+تکھا
+تگلا
+تلتا
+تلخا
+تللا
+تلنا
+تلیا
+تمبا
+تمثا
+تمغا
+تغیا
+تمنا
+تمہا
+تنبا
+تنتا
+تنکا
+تنگا
+تننا
+تنیا
+تنہا
+تیجا
+تیسا
+تیغا
+تیلا
+تیما
+تیہا
+تھپا
+تھتا
+تھجا
+تھکا
+تھلا
+تھما
+تھنا
+تھیا
+ٹپتا
+ٹپکا
+ٹپنا
+ٹٹیا
+ٹچیا
+ٹخنا
+ٹسکا
+ٹکتا
+ٹکسا
+ٹکلا
+ٹکنا
+ٹکیا
+ٹگلا
+ٹلتا
+ٹلنا
+ٹمنا
+ٹنٹا
+ٹنچا
+ٹنکا
+ٹنگا
+ٹننا
+ٹنیا
+ٹئیا
+ٹیبا
+ٹیپا
+ٹیکا
+ٹیلا
+ٹینا
+ٹہلا
+ٹہنا
+ٹھتا
+ٹھسا
+ٹھکا
+ٹھگا
+ٹھلا
+ٹھبنا
+ٹھیا
+ثعبا
+جبیا
+جبہا
+جبھا
+جپتا
+جپکا
+جپنا
+جتتا
+جتلا
+جتما
+جتنا
+جتیا
+جتہا
+جتھا
+جٹتا
+جٹنا
+جٹھا
+ججما
+جچتا
+جچنا
+جسکا
+جسما
+جفتا
+جفنا
+جکما
+چھپا
+چھٹا
+جگنا
+جگیا
+جگتا
+جلبا
+جلتا
+جلکا
+جلنا
+جلیا
+جمتا
+جلیا
+جمتا
+جمخا
+جمنا
+جنبا
+جنتا
+جنٹا
+جنکا
+جنجا
+جنگا
+جننا
+جنیا
+جیتا
+جیجا
+جیحا
+جیسا
+جیعا
+جیلا
+جینا
+جیہا
+جہتا
+جہلا
+جھبا
+جھپا
+جھتا
+جھجا
+جھکا
+جھلا
+جھما
+جھنا
+چبتا
+چبتا
+چبکا
+چبلا
+چبنا
+چبھا
+چبتا
+چپتا
+چپٹا
+چبکا
+چپلا
+چبپا
+چپنا
+چتتا
+چبھا
+چپتا
+چپکا
+چپلا
+چپنا
+چتتا
+چتلا
+چتنا
+چتھا
+چٹتا
+چٹکا
+چٹلا
+چٹنا
+چٹیا
+چٹھا
+چچکا
+چچیا
+چسپا
+چستا
+چسکا
+چسنا
+چغتا
+چقما
+چکتا
+چکٹا
+چکسا
+چکلا
+چکما
+چکنا
+چکھا
+چگتا
+چگلا
+چگنا
+چلپا
+چلتا
+چلکا
+چلنا
+چلیا
+چمپا
+چمٹا
+چمکا
+چمگا
+چملا
+چمن
+چنبا
+چنتا
+چنگا
+چننا
+چنیا
+چیپا
+چیتا
+چیخا
+چیچا
+چیلا
+چینا
+چہتا
+چہکا
+چہلا
+چھپا
+چھتا
+چھٹا
+چھجا
+چھچا
+چھکا
+چھلا
+چھما
+چھنا
+حتجا
+حتسا
+حتشا
+حتصا
+حتضا
+حتظا
+حتکا
+حتلا
+حتما
+حتیا
+حسنا
+حسنا
+حسیا
+حشیا
+حفظا
+حکما
+حمقا
+حنفا
+حیفا
+ختتا
+ختصا
+ختکا
+ختگا
+ختلا
+ختیا
+خچیا
+خشحا
+خشخا
+خشا
+خشما
+خصتا
+خصما
+خطبا
+خفتا
+خفقا
+خفنا
+خلجا
+خلخا
+خلفا
+خلکا
+خلیا
+خمیا
+خنسا
+خنگا
+خنا
+خنیا
+خیسا
+خیفا
+خیلا
+سبحا
+سبلا
+سبھا
+سپتا
+سپلا
+سپنا
+ستتا
+ستجا
+ستحا
+ستخا
+ستشا
+ستطا
+ستعا
+ستغا
+ستفا
+ستقا
+ستکا
+ستگا
+ستلا
+ستما
+ستنا
+ستیا
+ستہا
+ستھا
+سٹکا
+سٹنا
+سٹیا
+سٹھا
+سجتا
+سجلا
+سجنا
+سجھا
+سچتا
+سچلا
+سچنا
+سختا
+سستا
+سسکا
+سسنا
+سفنا
+سفیا
+سکتا
+سکشا
+سکلا
+سکنا
+سکیا
+سکھا
+سگھا
+سلتا
+سلطا
+سلفا
+سلکا
+سلگا
+سلما
+سلنا
+سلیا
+سمبا
+پنچا
+پنسا
+پنگا
+پننا
+پنیا
+پنہا
+پنھا
+پیپا
+پیتا
+پیچا
+پیخا
+پیسا
+پیشا
+پیغا
+پیکا
+پیلا
+پیما
+پینا
+پہچا
+پہلا
+پہنا
+پہیا
+پھپا
+پھچا
+پھسا
+پھکا
+پھلا
+تبخا
+تبیا
+تپتا
+تتکا
+تتلا
+تتھا
+تجتا
+تجلا
+تچتا
+تچنا
+تحتا
+تحیا
+تسلا
+تسما
+تشنا
+مملکتو
+تغما
+تغیا
+تفتا
+تقیا
+تکلا
+تکھا
+تگلا
+تلتا
+تلخا
+تللا
+تلنا
+تمبا
+تمثا
+تمغا
+تمہا
+تنتا
+تنکا
+تنگا
+تننا
+تنہا
+تیجا
+تیسا
+تیغا
+تیلا
+تیما
+تیہا
+تھپا
+تھتا
+تھجا
+تھکا
+تھلا
+تھما
+تھنا
+تھیا
+ٹپتا
+ٹپکا
+ٹٹیا
+ٹچیا
+ٹخنا
+ٹسکا
+ٹکتا
+ٹکسا
+ٹکلا
+سمپا
+سمٹا
+سمسا
+سمنا
+سمیا
+سنپا
+سنتا
+سنجا
+سنسا
+سنکا
+سنگا
+سننا
+سنیا
+سنہا
+سیپا
+سیتا
+سیٹا
+سیکا
+سیگا
+سیلا
+سیما
+سینا
+سئیا
+سیہا
+سہتا
+سہلا
+سہما
+سہنا
+شبکا
+شبہا
+شتعا
+شتکا
+شتما
+شتیا
+شتہا
+ششکا
+ششما
+شمشا
+شعبا
+شفتا
+شقیا
+شکبا
+شکشا
+شکلا
+شکنا
+شگتا
+شگنا
+شگیا
+شلتا
+شلیا
+شمشا
+شمنا
+شنیا
+شیبا
+شیخا
+شیطا
+شیلا
+شیما
+شہبا
+شہکا
+شہلا
+شہنا
+صطبا
+صطلا
+صفحا
+صفیا
+صفہا
+صلحا
+صمصا
+صمنا
+صنعا
+صہبا
+ضعفا
+ضگیا
+ضلکا
+ضمحا
+ضیحا
+طبقا
+طفلا
+طغیا
+طلبا
+طمنا
+طمیا
+طیبا
+طہما
+ظلما
+ظلہا
+عتبا
+عتصا
+عتقا
+عتکا
+عتلا
+عتما
+عتنا
+عثما
+عصیا
+عضلا
+عطیا
+عقلا
+علما
+علیا
+عنقا
+عنہا
+عیسا
+غپکا
+غثیا
+غصیا
+غلطا
+غلغا
+غلما
+غلیا
+غمنا
+غنیا
+غیبا
+غیلا
+فبہا
+فتتا
+فتخا
+فتگا
+فتنا
+فسطا
+فصحا
+فصلا
+فضلا
+فعلا
+فقہا
+فلپا
+فلما
+فنجا
+فنکا
+فیتا
+فیسا
+فیضا
+فیلا
+فیما
+فیہا
+فہما
+قبلا
+قتبا
+قتصا
+قتضا
+قتلا
+قتیا
+قحطا
+قسما
+قشلا
+قصبا
+قطعا
+قلپا
+قلفا
+قلقا
+قلما
+قلیا
+قمقا
+قیبا
+قیما
+کبجا
+کبلا
+کبھا
+کپتا
+کتسا
+کتشا
+کتفا
+کتکا
+کتلا
+کتنا
+کتیا
+کتھا
+کٹتا
+کٹکا
+کٹنا
+کٹیا
+کٹھا
+کجتا
+کجلا
+کچلا
+کچنا
+کچیا
+کچھا
+کستا
+کسلا
+کسما
+کسنا
+کسیا
+کشتا
+کشٹا
+کشیا
+کفتا
+کفنا
+کفیا
+ککیا
+کلپا
+کلتا
+کلچا
+کلسا
+کلکا
+کلما
+کلنا
+کلیا
+کلہا
+کلھا
+کمبا
+کمپا
+کمتا
+کمکا
+کملا
+کمنا
+کمیا
+کمہا
+کمنی
+کنسا
+کنعا
+کنکا
+کنگا
+کنیا
+کنہا
+کنھا
+کیسا
+کیکا
+کیلا
+کینا
+کیہا
+کہتا
+کہلا
+کہنا
+کھبا
+کھپا
+کھتا
+کھٹا
+کھجا
+کھچا
+کھسا
+کھکا
+کھلا
+کھما
+کھنا
+کھیا
+گبھا
+گپتا
+گمنا
+گپیا
+گپھا
+گتکا
+گتیا
+گتھا
+گٹکا
+گٹھا
+گجیا
+گجھا
+گچھا
+گستا
+گشتا
+گسٹا
+گستا
+گشتا
+گشٹا
+گلبا
+گفتا
+گگلا
+گلتا
+گلشا
+گلفا
+گلکا
+گلنا
+گلیا
+گلہا
+گمتا
+گمگا
+گملا
+گمنا
+گمیا
+گنتا
+گنٹا
+گنجا
+گنگا
+گننا
+گنیا
+گیپا
+گیشا
+گیلا
+گینا
+گیہا
+گہتا
+گہکا
+گہگا
+گہما
+گہنا
+گھپا
+گھتا
+گھٹا
+گھچا
+گھسا
+گیشا
+گھلا
+گھما
+گھنا
+گھیا
+لبخا
+لبفا
+لبقا
+لبنا
+لبیا
+لبھا
+لپٹا
+لپسا
+لپشا
+لپکا
+لپنا
+لپھا
+لتبا
+لتجا
+لتغا
+لتفا
+لتما
+لتیا
+لتہا
+لتھا
+لٹتا
+لٹکا
+لٹنا
+لٹیا
+لٹھا
+لجبا
+لجلا
+لجما
+لجنا
+لجہا
+لجھا
+لچتا
+لچکا
+لچنا
+لچھا
+لحجا
+لحسا
+لحقا
+لخلا
+لستا
+لسٹا
+لسقا
+لسلا
+لسنا
+لشتا
+لشفا
+لشکا
+لصبا
+لصتا
+لصفا
+لطلا
+لعبا
+لعتا
+لعشا
+لعلا
+لعنا
+لعیا
+لغفا
+لغیا
+لفتا
+لفقا
+لفگا
+لفلا
+لفن
+لفیا
+لقتا
+لقضا
+لقفا
+لقما
+لقنا
+لقیا
+لقہا
+لکتا
+لکسا
+لکسا
+لکلا
+لکما
+لکنا
+لکیا
+لکھا
+لگتا
+لگما
+لگنا
+للچا
+للع
+للغا
+للفا
+للقا
+للکا
+لمبا
+لمثا
+لمجا
+لمحا
+لمخا
+لمسا
+لمشا
+لمضا
+لمطا
+لمعا
+لمفا
+لمقا
+لمکا
+لملا
+لمنا
+لمیا
+لنبا
+لنجا
+لنسا
+لنکا
+لنگا
+لنیا
+لنہا
+لنھا
+لیبا
+لیپا
+لیٹا
+لیجا
+لیخا
+لیسا
+لیتا
+لیچا
+لیشا
+لیفا
+لیکا
+لیگا
+لیلا
+لیما
+لینا
+لہٹا
+لہکا
+لہلا
+لہنا
+للہا
+مبنا
+مبیا
+مپنا
+متتا
+متحا
+متجا
+متخا
+متسا
+متصا
+متعا
+متفا
+متشا
+متضا
+متغا
+متقا
+متگا
+متلا
+متما
+متنا
+متیا
+متہا
+متھا
+مٹتا
+مٹکا
+مٹنا
+مٹیا
+مٹھا
+مثقا
+مجلا
+مجید
+مجھا
+مچتا
+مچکا
+مچلا
+مچنا
+محبا
+محتا
+محلا
+مختا
+مستا
+مسکا
+مسلا
+مسما
+مسنا
+مشتا
+مشٹا
+مشعا
+مشغا
+مصبا
+مصفا
+مصلا
+معتا
+معلا
+معما
+معیا
+مغلا
+مفتا
+مقنا
+مقیا
+مقتا
+مکتا
+مکٹا
+مکنا
+مکھا
+مگنا
+ملتا
+ملبا
+ملیا
+ملجا
+ملکا
+ملما
+ملنا
+ملہا
+ممبا
+ممتا
+ممیا
+منتا
+منجا
+منسا
+منشا
+منقا
+منکا
+منیا
+منگا
+مننا
+منہا
+منھا
+میبا
+میتا
+میٹا
+میجا
+میخا
+میسا
+میثا
+میچا
+میشا
+میعا
+میقا
+میکا
+میگا
+میلا
+میما
+مینا
+مہبا
+مہتا
+مہکا
+مہما
+مہنا
+مہیا
+نبٹا
+نبسا
+نبیا
+نبھا
+نپتا
+نپٹا
+نپنا
+نتبا
+نتتا
+نتخا
+نتشا
+نتصا
+نتظا
+نتفا
+نتقا
+نتنا
+نتیا
+نتہا
+نتھا
+نٹتا
+نٹھا
+نثبا
+نثیا
+نجبا
+نجنا
+نجہا
+نجھا
+نچتا
+نچسا
+نچکا
+نچلا
+نچنا
+نچیا
+نچھا
+نحصا
+نحطا
+نخشا
+نخلا
+نستا
+نسقا
+نسنا
+نسیا
+نسکا
+نضبا
+نصفا
+نضما
+نظما
+نعطا
+نعطا
+نعقا
+نعکا
+نعما
+نعنا
+نغما
+نفتا
+نفسا
+نفطا
+نفعا
+نفکا
+نقسا
+نقشا
+نقصا
+نقضا
+نقلا
+نقیا
+نکتا
+نکسا
+نکشا
+نکلا
+نکما
+نکنا
+نکھا
+نگتا
+نگسا
+نگتا
+نگسا
+نگلا
+نگنا
+نگیا
+نگھا
+نلٹا
+نلکا
+نلیا
+نمٹا
+نمنا
+ننکا
+ننگا
+ننیا
+ننھا
+نیپا
+نیتا
+نیچا
+نیسا
+نیشا
+نیفا
+نیکا
+نیگا
+نیلا
+نینا
+نہتا
+نہٹا
+نہضا
+نہلا
+نہما
+ئٹیا
+ئچیا
+ئشگا
+ئشیا
+ئمقا
+ئیسا
+ئیکا
+ئیگا
+یتنا
+یتیا
+یٹنا
+یٹھا
+یحتا
+یختا
+یستا
+کٹھا
+یختا
+یسپا
+یشما
+یشیا
+یغما
+یکبا
+یکتا
+یکجا
+یکسا
+یکیا
+یکھا
+یلٹا
+یلعا
+یلغا
+یلیا
+یمیا
+ینٹا
+ینکا
+ہٹنا
+ینگا
+ینیا
+ہبلا
+ہپتا
+ہتما
+ہٹتا
+ہجہا
+ہچکا
+ہسپا
+ہسکا
+ہشتا
+ہشکا
+ہسیا
+ہفتا
+ہکتا
+ہکلا
+ہکنا
+ہگتا
+ہگنا
+ہلتا
+ہلجا
+ہلسا
+ہلکا
+ہلگا
+ہلنا
+ہلیا
+ہمتا
+ہمچا
+ہمسا
+ہمکا
+ہمنا
+ہمیا
+ہنجا
+ہنسا
+ہنشا
+ہیکا
+ہیکا
+ہنگا
+ہنما
+ہنیا
+ہیٹا
+ہیجا
+ہیگا
+ہیلا
+ہیما
+ہیہا
+ھپتا
+ھپنا
+ہتکا
+ھتگا
+ھتیا
+ھجیا
+ھچکا
+ھسکا
+ھکتا
+ھکنا
+ھلتا
+ھلکا
+ھلنا
+ھمکا
+ھملا
+ھنتا
+ھنسا
+ھنکا
+ھنگا
+ھننا
+ھنیا
+ھیکا
+ھیگا
+ھیلا
+ھیما
+بجیب
+بخیب
+بسبب
+بطیب
+بلمب
+تعجب
+تعصب
+تعقب
+تغلب
+تقلب
+ثعلب
+ثقیب
+جیکب
+چنکب
+حبیب
+حسیب
+حلیب
+خطیب
+سلیب
+شعیب
+شکیب
+صلیب
+طبیب
+ظہیب
+عجیب
+غبغب
+قضیب
+قطیب
+قلیب
+کٹمب
+لبلب
+لبیب
+لطلب
+لعجب
+لعیب
+لغیب
+لقلب
+لکتب
+مجیب
+محب
+مطلب
+مطلب
+مکتب
+مکعب
+منصب
+منیب
+مہلب
+مہیب
+نجیب
+نخشب
+نشیب
+نصیب
+نقیب
+نہیب
+چھیپ
+سٹمپ
+سکیپ
+کیمپ
+کھیپ
+گیلپ
+لچسپ
+لیمپ
+ہلک
+ہیمپ
+بلیت
+بجہت
+بسنت
+بصحت
+بعثت
+بعلت
+بعیت
+بکیت
+بلیت
+بنجو
+بیبت
+بیعت
+بہجت
+بہشت
+بھبت
+بھکت
+بھگت
+بھنت
+بھیت
+پٹیت
+پچیت
+پلیت
+پنگت
+تحیت
+تعنت
+تہمت
+جبلت
+چپیت
+چکنت
+چلنت
+چمپت
+چھیت
+حبیت
+حسنت
+حسیت
+حشمت
+حقیت
+حکمت
+حمیت
+خجلت
+خشیت
+خصلت
+خلقت
+خلیت
+سبقت
+سبیت
+سجیت
+سچیت
+سلیت
+سمبت
+سمیت
+سنگت
+سینت
+شفقت
+شکست
+شگفت
+صحبت
+صلیت
+صنعت
+طلعت
+طینت
+ظلمت
+عجلت
+عصمت
+عظمت
+غفلت
+غلظت
+غیبت
+فصلت
+قسمت
+قعیت
+قفیت
+قلت
+قلیت
+قیمت
+کسبت
+کلفت
+کلیت
+کمیت
+کنشت
+کنیت
+کیست
+کھپت
+کھیت
+گلگت
+لحیت
+لسنت
+لصلت
+لعبت
+لعنت
+لکنت
+لکھت
+لگنت
+لمست
+لمیت
+مثبت
+مچکتی
+محبت
+محنت
+مسکت
+مسیت
+مشقت
+مشیت
+معیت
+منبت
+منت
+منیت
+میت
+مہلت
+مہنت
+مہیت
+نجیت
+نچنت
+نچیت
+نخست
+نسبت
+نسیت
+نشست
+نصفت
+نعمت
+نکبت
+نکہت
+نکھت
+نگشت
+نگہت
+نمنٹ
+نیست
+نہفت
+ئینت
+یکھت
+ینیت
+ہبیت
+ہسیت
+ہلگت
+ہلیت
+ہمیت
+ہنیت
+ہیبت
+ہئیت
+بسکٹ
+بسیٹ
+بگٹٹ
+بیلٹ
+بینٹ
+بھگت
+بھیٹ
+پلیٹ
+پیسٹ
+پیکٹ
+پینٹ
+پھپٹ
+پھکٹ
+پھیٹ
+تلپٹ
+ٹمنٹ
+ٹیسٹ
+ٹینٹ
+ٹھیٹ
+جمنٹ
+جیکٹ
+جھپٹ
+چپیٹ
+چمیٹ
+چیکٹ
+چینٹ
+چھنٹ
+سٹنٹ
+سٹیٹ
+سفیٹ
+سلپٹ
+سلیٹ
+سلہٹ
+سمپٹ
+سمیٹ
+سینٹ
+شلسٹ
+فلیٹ
+فیلٹ
+کسکٹ
+کلسٹ
+کلیٹ
+کمیٹ
+کیسٹ
+منگٹ
+نٹسٹ
+نگھٹ
+نلسٹ
+نمنٹ
+ئجسٹ
+یٹنٹ
+سبید
+یجنٹ
+یکیٹ
+یگیٹ
+یلیٹ
+تحنث
+خبیث
+لبعث
+للیث
+مبحث
+مثلث
+مخنث
+مغیث
+بھیج
+پسیج
+تشنج
+جھنج
+چینج
+چھیج
+خلیج
+ستلج
+سٹیج
+سفنج
+سکنج
+قلنج
+کلنج
+منتج
+منضج
+مہیج
+نٹیج
+نگیج
+نہیج
+بینچ
+بھنچ
+بھیچ
+پہنچ
+بھنچ
+تبیچ
+سپیچ
+سکیچ
+سینچ
+قینچ
+کھپچ
+کھنچ
+کھیچ
+گھنچ
+ملیچ
+صبیح
+صحیح
+فصیح
+قبیح
+لفتح
+مسبح
+مسطح
+مسلح
+مسیح
+مصلح
+مفتح
+ملیح
+بطیخ
+لشیخ
+مسلخ
+مطبخ
+بتکد
+بجند
+بحمد
+بعید
+بعہد
+بقید
+بلند
+بلید
+بیلد
+بیند
+بھگد
+بھند
+بھید
+پسند
+پلند
+پلید
+پنشد
+پیکد
+پیند
+پھبد
+پھپد
+پھلد
+پھند
+تشہد
+تعبد
+تعہد
+تقید
+تمند
+تیند
+تہجد
+تہمد
+ٹھند
+جلند
+جمعد
+جمند
+جیند
+جھند
+چشید
+چقند
+چکند
+چمکد
+چمگد
+چنند
+چنید
+چیند
+چھند
+چھید
+حمید
+خشند
+خمید
+سبکد
+سپید
+سبید
+سپند
+ستبد
+ستعد
+ستقد
+سٹید
+سعید
+سفند
+سفید
+سکند
+سگند
+سمند
+سنگد
+سیند
+شعبد
+شقند
+شمعد
+شمند
+شمید
+شنند
+شنید
+شہید
+صعید
+ضلعد
+عبید
+عقید
+علمد
+عملد
+غمکد
+عملد
+فقید
+فیصد
+قصید
+قلمد
+قلند
+قلید
+کبید
+کتخد
+کشید
+مبتد
+کلند
+کلید
+کمید
+کنند
+کھند
+کھید
+گلبد
+گمشد
+گنبد
+گیند
+لبلد
+لبید
+لتصد
+لتعد
+لجعد
+لحمد
+لخلد
+لسجد
+لسید
+لصمد
+لعبد
+لعہد
+لقصد
+لقعد
+لقند
+لکند
+لکھد
+لمبد
+لمسد
+لمصد
+لمقد
+لمہد
+لہند
+متبد
+متحد
+متعد
+متقد
+متمد
+مجلد
+مجید
+محمد
+مخلد
+مسند
+مشہد
+معبد
+معتد
+مفسد
+مفید
+مقتد
+مقصد
+مقعد
+مقلد
+مقید
+ملحد
+ملید
+منجد
+منعد
+منہد
+میکد
+میند
+مہتد
+نبید
+نٹند
+نجید
+نشید
+نفید
+نکھد
+نگند
+نگہد
+نمکد
+نمند
+نیند
+نہند
+یقعد
+ہلحد
+ہیند
+بلیڈ
+بیکڈ
+بینڈ
+بھنڈ
+پگنڈ
+پلیڈ
+پینڈ
+پھسڈ
+پھلڈ
+تھنڈ
+ٹیچڈ
+ٹینڈ
+ٹھنڈ
+جھلڈ
+جھنڈ
+چینڈ
+چھنڈ
+سپنڈ
+سپیڈ
+سٹیڈ
+سکنڈ
+سلنڈ
+سینڈ
+فیلڈ
+کسنڈ
+کمنڈ
+کنگڈ
+کنیڈ
+کینڈ
+کھمڈ
+کھنڈ
+گینڈ
+گہگڈ
+گھنڈ
+لپنڈ
+لکنڈ
+لمنڈ
+لینڈ
+میکڈ
+محمڈ
+میگڈ
+مینڈ
+نٹنڈ
+نفیڈ
+ئٹیڈ
+ئمنڈ
+ئیٹڈ
+یپنڈ
+یٹنڈ
+یٹیڈ
+یجنڈ
+یشنڈ
+یگیڈ
+ینیڈ
+ہینڈ
+تلمذ
+کتحذ
+لہذ
+مبتذ
+نبیذ
+بپھر
+بتصر
+بتھر
+بٹلر
+بٹیر
+بجکر
+بجھر
+بچکر
+بچھر
+بحیر
+بحیر
+بستر
+بسفر
+بسیر
+بسہر
+بشیر
+بصیر
+بغیر
+بکثر
+بکیر
+بکھر
+بگیر
+بگھر
+بلغر
+بلگر
+بلیر
+بمپر
+بمتر
+بمہر
+بنجر
+بنسر
+بنصر
+بنظر
+بنکر
+بنگر
+بیٹر
+بیسر
+بیکر
+بینر
+بیئر
+بہتر
+بہیر
+بھسر
+بھقر
+بھکر
+بھگر
+بھیر
+پتھر
+پیٹر
+پچھڑ
+پکچر
+پکھر
+پمبر
+پنجر
+پنیر
+پنھر
+پیپر
+پیتر
+پیڑ
+پیسر
+پیشر
+پیکر
+پیلر
+پیہر
+پھسر
+پھیر
+تبحر
+تبصر
+تتہر
+تحیر
+تشتر
+تشکر
+تشنر
+تشہر
+پیٹر
+تعطر
+تغیر
+تفکر
+تفیر
+تکبر
+تکسر
+تکھر
+تلیر
+تمیر
+تنتر
+تنصر
+تنفر
+تیتر
+تیسر
+تہتر
+تھپر
+تھیر
+ٹیٹر
+ٹمبر
+ٹمپر
+ٹنبر
+ٹنگر
+ٹیٹر
+ٹیچر
+ٹیکر
+ٹیلر
+ٹھتر
+ٹھٹر
+ٹھکر
+ٹھمر
+ٹھیر
+ٹھہر
+جیتر
+جتیر
+جسٹر
+جعفر
+جگتر
+جگہر
+جلتر
+جلیر
+جمپر
+جمعر
+جمیر
+جنتر
+جننر
+جنجر
+جیکر
+جیلر
+جھبر
+جھجر
+جھمر
+جھیر
+چبکر
+چپکر
+چتبر
+چتیر
+چتھر
+چٹکر
+چچیر
+چلپر
+چلتر
+چنکر
+چلٹر
+چمبر
+چنبر
+چیکر
+چیئر
+چہیر
+چھپر
+چھتر
+چھیر
+چھنر
+چھہر
+حصیر
+حضیر
+حطیر
+حظیر
+حقیر
+حکمر
+حمیر
+خنصر
+خبیر
+خطیر
+خمیر
+خنجر
+خنصر
+خیبر
+سپیر
+سپہر
+ستبر
+ستتر
+ستخر
+ستغر
+ستفر
+ستقر
+ستکر
+ستمر
+ستھر
+سٹلر
+سٹیر
+سسٹر
+سعیر
+سفیر
+سکتر
+سکھر
+سلفر
+سلہر
+سمبر
+سمیر
+سنتر
+سنٹر
+سنجر
+سنچر
+سنسر
+سنکر
+سنگر
+سنہر
+سفیر
+سکتر
+سکھر
+سلفر
+سلہر
+سمبر
+سمیر
+سنتر
+سنجر
+سنکر
+سیکر
+سنچر
+سنسر
+سنگر
+سنہر
+سیسر
+سیگر
+سیلر
+سیمر
+سینر
+سہسر
+شبگر
+شبیر
+شنجر
+شعیر
+شکیر
+شنجر
+شنکر
+شنگر
+شیفر
+شیکر
+شیئر
+شہپر
+شہیر
+صغیر
+صفیر
+ضمیر
+طبغر
+طستر
+طشتر
+طمطر
+ظہیر
+عبقر
+عبیر
+عبہر
+عبتر
+عسکر
+عسیر
+عشیر
+عمیر
+عنبر
+عنصر
+عنقر
+غفیر
+فطیر
+فقیر
+فلتر
+فلٹر
+فلیر
+فیچر
+فیسر
+قصیر
+قلمر
+قمطر
+قیصر
+کبیر
+کتھر
+کٹلر
+کٹہر
+کٹھر
+کثیر
+کچہر
+کسپر
+کستر
+کسٹر
+کسکر
+کسگر
+کسیر
+کشنر
+کلچر
+کلنسر
+کلیر
+کمبر
+کمتر
+کمسر
+کمیر
+کنٹر
+کنجر
+کنسر
+کنفر
+کنکر
+کنگر
+کئیر
+کیپر
+کیتر
+کیسر
+کیفر
+کیکر
+کیلر
+کیمر
+کیئر
+کہتر
+کھپر
+کھتر
+کھسر
+کھیر
+گبھر
+گٹکر
+گٹھر
+گستر
+گلبر
+گلسر
+گلہر
+گنجر
+گیبر
+گیسر
+گیلر
+گہیر
+گبھر
+گھتر
+گھگر
+گھیر
+لبحر
+لبحر
+لبقر
+لبیر
+لبہر
+لپسر
+لتحر
+لتصر
+لتغر
+لتنر
+لیتر
+لتھر
+لٹیر
+لجبر
+لجیر
+لحجر
+لحشر
+لخمر
+لحمر
+لخیر
+لسٹر
+لشتر
+لشعر
+لشکر
+لصخر
+لعصر
+لعمر
+لفجر
+لفطر
+لفقر
+لقطر
+لقمر
+لکبر
+لکٹر
+لکچر
+لکسر
+لکیر
+لگیر
+لمبر
+لمعر
+لمکر
+لنسر
+لنصر
+لنظر
+لنگر
+لنہر
+لیبر
+لیٹر
+لیجر
+لیحر
+لیسر
+لکیر
+لیگر
+لیئر
+مبشر
+مبصر
+مپیر
+متبر
+متحر
+متشر
+متصر
+متضر
+متفر
+متمر
+متیر
+متہر
+مٹکر
+مثمر
+مجیر
+مچیر
+مچھر
+محتر
+محشر
+محضر
+محقر
+محیر
+مخبر
+مختر
+مخیر
+مستر
+مسٹر
+مسخر
+مسطر
+مسکر
+مسمر
+مسیر
+مسہر
+مشتر
+مشجر
+مشعر
+مشنر
+مشیر
+مضطر
+مضمر
+مظہر
+مظفر
+معبر
+معتر
+معطر
+معمر
+مغفر
+مغیر
+مفتر
+مفسر
+مضطر
+مفکر
+مفلر
+مقبر
+مقشر
+مقطر
+مکسر
+ملٹر
+ملکر
+ملیر
+ممبر
+ممیر
+منبر
+منٹر
+منجر
+منحر
+منخر
+منسر
+منکر
+منتر
+منخر
+منشر
+منصر
+منظر
+منفر
+منگر
+منیر
+منہر
+مئیر
+میٹر
+میجر
+میسر
+میکر
+میشر
+میگر
+میئر
+میہر
+مہتر
+نبتر
+نسٹر
+نبیر
+نبھر
+نبہر
+نتھر
+نٹیر
+نجیر
+نحضر
+نستر
+نسفر
+نسلر
+نسہر
+نشتر
+نصیر
+نضیر
+نظیر
+نفیر
+نکیر
+نکھر
+نگتر
+نگھر
+نمبر
+نمیر
+ننگر
+ننیر
+نیچر
+نیکر
+نیگر
+نیمر
+نئیر
+نیہر
+نہتر
+ئبیر
+ئسچر
+ئسکر
+ئمبر
+ئمنر
+ئمیر
+ئنگر
+ئیٹر
+ئیجر
+ئیگر
+ئیمر
+یتھر
+ییٹر
+یسٹر
+یسیر
+یشنر
+یکٹر
+یکسر
+یکطر
+یمپر
+یمنر
+یمئر
+ینٹر
+ینجر
+ینگر
+ینیر
+ہٹکر
+ہٹلر
+ہسٹر
+ہلبر
+ہمبر
+ہمسر
+ہنٹر
+ہیٹر
+ہیلر
+بتکڑ
+بچھڑ
+بنگڑ
+بنکڑ
+بیہڑ
+بھسٹر
+بھیڑ
+پچھر
+پنجڑ
+پنگڑ
+پنیڑ
+پیکڑ
+پیلڑ
+پینڑ
+پھسڑ
+پھکڑ
+پھگڑ
+پھیڑ
+تیتڑ
+تتہڑ
+تکھڑ
+تگیڑ
+تیلڑ
+تھپڑ
+تھمڑ
+تھیڑ
+جھکڑ
+جھگڑ
+جھلڑ
+چتھڑ
+چیپڑ
+چیچڑ
+چھبڑ
+چھپڑ
+چھکڑ
+چھلڑ
+چھیڑ
+سکیڑ
+سگھڑ
+سیکڑ
+شیخڑ
+غنگڑ
+کچکڑ
+کلچڑ
+کلھڑ
+کنجڑ
+کیچڑ
+کیکڑ
+کھچڑ
+کھیڑ
+گٹھڑ
+گنجڑ
+گیلڑ
+لبھڑ
+لتھڑ
+لکھڑ
+لمبڑ
+کنگڑ
+لیبڑ
+لیجڑ
+لیچڑ
+لیکڑ
+مسیر
+مکھڑ
+نبیڑ
+نبھڑ
+نچسڑ
+نکھڑ
+ہتکڑ
+ہیجڑ
+ہیکڑ
+بعجز
+بلٹز
+بیجز
+بیگز
+بینز
+پلیز
+تمیز
+ٹیمز
+جہیز
+چھیز
+ستلز
+ستمز
+ستیز
+شمیز
+سیلز
+طبعز
+کتحذ
+کنگز
+کنیز
+گلیز
+گیمز
+لمعز
+لیگز
+لیمز
+لینز
+لہمز
+مستز
+معتز
+معجز
+ملتز
+ممیز
+منیز
+منہز
+میگز
+نپلز
+نگیز
+ننگز
+نینز
+ئینز
+یٹمز
+یٹیز
+یشنز
+یلیز
+یمیز
+ہلیز
+ببیس
+بتیس
+بلیس
+بنفس
+بیطس
+بیکس
+بھلس
+بھیس
+پچیس
+پلٹس
+پلیس
+پیپس
+پتیس
+پیٹس
+پیلس
+پینس
+پھپس
+پھلس
+پھنس
+پھیس
+تجسس
+تنفس
+تئیس
+ٹیکس
+ٹیمس
+ٹینس
+ٹھنس
+ٹھیس
+جبیس
+جسٹس
+جلیس
+جیمس
+جھلس
+چکلس
+چنٹس
+چیفس
+خسیس
+خمیس
+سپیس
+سسکس
+سلیس
+سیکس
+فلپس
+فیکس
+قبیس
+ققنس
+کتیس
+کٹلس
+کسیس
+کتیس
+کھنس
+کھیس
+گیٹس
+گھٹس
+لٹمس
+لشمس
+لعکس
+لمبس
+لنفس
+لینس
+مجلس
+مخمس
+مفلس
+منٹس
+میپس
+میٹس
+میکس
+مینس
+نتیس
+نینس
+نفیس
+ئسنس
+ئیٹس
+ٹیمس
+یفنس
+یکٹس
+یلس
+یننس
+ہبیس
+ہنیں
+ھنیس
+بخشش
+بنگش
+بینش
+پیچش
+تعیش
+جنبش
+جنیش
+چکلش
+حشیش
+خشخش
+کشمش
+گنیش
+لتمش
+لعطش
+مفتش
+مقیش
+مینش
+مہیش
+نگلش
+ہمیش
+تخلص
+تشخص
+خصیص
+قمیص
+لقصص
+مختص
+مخلص
+مفیص
+ملخص
+حضیض
+سعفض
+مفیض
+نقیض
+بسیط
+تحفظ
+تسلط
+ستخط
+محیط
+مسقط
+مسلط
+مقسط
+تحفظ
+تلفظ
+حفیظ
+غلیظ
+للفظ
+مغلظ
+بلیع
+تتبع
+تشیع
+تصنع
+تضیع
+تمتع
+جمیع
+سمیع
+شفیع
+شنیع
+لجمع
+لطبع
+لطیع
+مبلع
+مبیع
+متبع
+مجمع
+مسجع
+مطبع
+مطلع
+مطمع
+مطیع
+مقطع
+ملمع
+منبع
+بلیغ
+مبلغ
+تعفف
+تکلف
+ثقیف
+حلیف
+حنیف
+خفیف
+ضعیف
+عفیف
+فکیف
+کثیف
+کسیف
+لخیف
+لسیف
+لصف
+لطیف
+لکہف
+متصف
+مخفف
+مصحف
+مصنف
+مضعف
+مکلف
+منصف
+نچیف
+نحیف
+نظیف
+یلیف
+تبلق
+تعشق
+تعلق
+تعمق
+تغلق
+تملق
+خلیق
+سحق
+شفیق
+طبلق
+عتیق
+عقیق
+عمیق
+عنیق
+لعلق
+لقلق
+لئیق
+مبیق
+متفق
+محقق
+مشتق
+مشفق
+مطلق
+معلق
+مغلق
+ملحق
+منطق
+نبیق
+ہنبق
+بٹھک
+بلیک
+بیجک
+بیشک
+بینک
+بھبک
+بھپک
+بھٹک
+بھچک
+بھسک
+بھلک
+بھنک
+بھیک
+پبلک
+پشتک
+پشمک
+پکنک
+پیٹک
+پیچک
+پینک
+پھپک
+پھبک
+پھٹک
+پھسک
+پھلک
+پھنک
+تشکک
+تمثک
+تنبک
+تہتک
+تھپک
+تھلک
+ٹیٹک
+ٹیلک
+ٹینک
+ٹھٹک
+بھکل
+ٹھسک
+ٹھمک
+ٹھنک
+ٹھیک
+جسٹک
+جھپک
+جھٹک
+جھجک
+جھلک
+جھمک
+چبلک
+چشمک
+چمبک
+چنبک
+چیٹک
+چیچک
+چیلک
+چھپک
+چھپک
+چھٹک
+چھلک
+چھمک
+چھنک
+چھیک
+خشتک
+سپلک
+سلنگ
+سلیک
+سنیک
+سینک
+صحنک
+طبلک
+علیک
+عینک
+غلطک
+کٹسک
+کلنک
+کیتک
+کھٹک
+کھسک
+کھنک
+گھٹک
+لبیک
+لمپک
+لملک
+مستک
+مسلک
+مشبک
+مضحک
+ممسک
+منسک
+میٹک
+میجک
+مینک
+مہلک
+نتھک
+نیلک
+نیمک
+یکنک
+ینفک
+بتنگ
+بٹنگ
+بجنگ
+بکنگ
+بلنگ
+بیلگ
+بینگ
+بھنگ
+بھیگ
+پتنگ
+پلنگ
+پلیگ
+پینگ
+تفنگ
+تلنگ
+تھلگ
+ٹلنگ
+ٹینگ
+جگمگ
+جننگ
+جھنگ
+چننگ
+چینگ
+سٹنگ
+سسنگ
+سلنگ
+سینگ
+شپنگ
+شلنگ
+علیگ
+فٹنگ
+فلیگ
+کٹنگ
+کسنگ
+کلنگ
+کننگ
+کھنگ
+گینگ
+لفنگ
+لہنگ
+متنگ
+ملنگ
+نٹنگ
+نچنگ
+نہنگ
+ئپنگ
+ئٹنگ
+ئلنگ
+ئننگ
+یٹنگ
+یسنگ
+یلنگ
+یننگ
+ہینگ
+ھینگت
+بخیل
+بسمل
+بشکل
+بعمل
+بفضل
+بکیل
+بکھل
+بگیل
+بلبل
+بمثل
+بنکل
+بنیل
+بیقل
+بیکل
+بھسل
+بھگل
+بھیل
+پتیل
+پتھل
+پٹیل
+پگھل
+پنسل
+پنگل
+پیبل
+پینل
+پیپل
+پیتل
+پیکل
+پھسل
+پھیل
+تجمل
+تحمل
+تخیل
+تشکل
+تعطل
+تعقل
+تفصل
+تفضل
+تکسل
+تمثل
+تنقل
+پٹیل
+ثقیل
+ٹگھل
+ٹیبل
+ٹیکل
+ٹھیل
+ثقیل
+جلیل
+جمیل
+جنبل
+جنٹل
+جنگل
+جیکل
+جھٹل
+جھجل
+جھیل
+چتھل
+چٹیل
+چسکل
+چلچل
+چنبل
+چنچل
+چنگل
+چیپل
+چیتل
+چینل
+چھیل
+حنبل
+خلیل
+سبیل
+ستیل
+سٹیل
+سطبل
+سکیل
+سگنل
+سلسل
+سمپل
+سمگل
+سنبل
+سنچل
+سنکل
+سنگل
+سیمل
+سہگل
+سہیل
+شکیل
+صطبل
+صلصل
+صیقل
+طفیل
+عقیل
+علیل
+غفیل
+غلیل
+فتیل
+فصیل
+فضیل
+فلفل
+فیشل
+فیصل
+قبیل
+قتیل
+قلقل
+قلیل
+قضل
+کتھل
+کٹھل
+کچیل
+کحیل
+کفیل
+کلبل
+کلکل
+کلیل
+کمبل
+کنجل
+کیبل
+کیچل
+کیسل
+کیہل
+کھٹل
+کھکل
+کھیل
+گٹھل
+گلگل
+گھچل
+لحیل
+لعقل
+لفصل
+لفضل
+لفعل
+لفیل
+لکحل
+لکفل
+للیل
+لمثل
+لنٹل
+لنجل
+لنمل
+لیبل
+لیگل
+متصل
+مجمل
+محصل
+محفل
+محلل
+محمل
+محیل
+مختل
+مخمل
+مسہل
+مشعل
+مشکل
+معتل
+معجل
+معطل
+مفصل
+مقبل
+مقتل
+مقفل
+مکمل
+ململ
+ممثل
+منگل
+میبل
+میٹل
+مینل
+مہمل
+نبیل
+نتھلا
+نٹھل
+نجیل
+نچھل
+نسپل
+نشیل
+نکیل
+نیمل
+ئٹیل
+ئیکل
+یٹیل
+یجنل
+یشنل
+یلغا
+یلیل
+ینٹل
+ینجل
+ینمل
+ہلبل
+ہلچل
+ہیکل
+ہیگل
+ھکیل
+ھلمل
+بچشم
+بحکم
+بستم
+بعلم
+بقلم
+بلغم
+تمیم
+بیچم
+بیگم
+بھسم
+پچھم
+پشتم
+پنجم
+پنچم
+پیتم
+پیہم
+تبسم
+تحکم
+تظلم
+تعلم
+تفہم
+تکلم
+تمیم
+تیمم
+تھکم
+جپسم
+حجیم
+جسیم
+جنتے
+جنگم
+جہلم
+جہنم
+جھلم
+چیخم
+چہلم
+چھلم
+حطیم
+حکیم
+حلکم
+حلیم
+حمیم
+سٹیم
+سسٹم
+سقیم
+سکیم
+سکھم
+سلیم
+سنگم
+سہیں
+شبنم
+شحیم
+شلجم
+شلغم
+شمیم
+شیشم
+صلعم
+صمیم
+ضخیم
+ضیغم
+طلسم
+ظلکم
+ظلہم
+عظیم
+عقیم
+علیم
+عمیم
+عنہم
+غنیم
+فہیم
+قسیم
+قلیم
+کسٹم
+کشتم
+کلیم
+کلہم
+کھلم
+کھیم
+گتھم
+گشتم
+گلیم
+گھسم
+لجہم
+لحکم
+لحیم
+لشتم
+لشٹم
+لعلم
+لفہم
+لقلم
+للحم
+للہم
+لنجم
+لئیم
+لیئم
+مبہم
+مجسم
+محکم
+مخیم
+مسلم
+مصمم
+مظلم
+معجم
+معظم
+معلم
+مغلم
+مقیم
+ملہم
+منجم
+منضم
+منظم
+منعم
+منیم
+میٹم
+میثم
+نسیم
+نعیم
+نگھم
+نیلم
+ئیٹم
+یتیم
+یلکم
+یمیم
+ینیم
+ہشتم
+ہفتم
+ہلکم
+ہنگم
+ھنگم
+بلین
+بجھن
+بچپن
+بچھن
+بحسن
+بضین
+بعین
+بقین
+بلبن
+بلین
+بئین
+بیٹن
+بیسن
+بیشن
+بیگن
+بیلن
+بہمن
+بھجن
+بھین
+پٹکن
+پٹین
+پچپن
+پچھم
+پشین
+پکین
+پلٹن
+پلین
+پنشن
+پیلن
+پھبن
+پھٹن
+پھکن
+پھننا
+پھین
+تپکن
+تسنن
+تعفن
+تعین
+تفنن
+تیقن
+تیلن
+تھکن
+ٹپکن
+ٹنگن
+ٹیشن
+ٹیکن
+ٹھکن
+ثمین
+ثنین
+جبین
+جیٹن
+جھکن
+جھلن
+جھین
+چبھن
+چپکن
+چپلن
+چپلن
+چٹخن
+چسکن
+چکٹن
+چلتن
+چلمن
+چمٹن
+چنین
+چیپن
+چھپن
+چھٹن
+چھکن
+چھنن
+چھین
+حبشن
+حسین
+حصین
+حفتن
+حقین
+حمن
+حنین
+سبین
+سپلن
+سپین
+ستین
+سٹین
+سکشن
+سکین
+سلگن
+سلین
+سمین
+سیٹن
+سیشن
+سیگن
+سیلن
+شفین
+صمین
+ضعین
+ظمین
+غضبن
+فطین
+فظین
+فقین
+فیشن
+فیمن
+کٹھن
+کلتن
+کلمن
+کلین
+کمسن
+کمین
+کنچن
+کنگن
+کنلن
+کیبن
+کیچن
+کیشن
+گلبن
+گلشن
+گیلن
+گیمن
+گھٹن
+گھسن
+لپٹن
+لٹکن
+لجین
+لجھن
+لچکن
+لچھن
+لحسن
+لحین
+لعین
+لفین
+لقین
+لکجن
+لکھن
+لمین
+لنکن
+لیٹن
+لیشن
+لیکن
+لیمن
+لینن
+لہسن
+مبین
+متحن
+متین
+مٹھن
+مثمن
+محسن
+مسکن
+مشین
+معجن
+معین
+مقنن
+مکمن
+مکین
+مکھن
+مگین
+ملٹن
+ملین
+ممکن
+منچن
+منمن
+منین
+میشن
+میگن
+میمن
+مہین
+نپین
+نٹین
+نجمن
+نچھن
+نشین
+نچھن
+نطین
+نگٹن
+نگین
+نیشن
+ئبین
+ئقین
+ئلین
+یشین
+یفین
+یقین
+یکشن
+یلین
+یمین
+ہستن
+ہلین
+ہنگن
+ہیگن
+ہیلن
+بتیں
+بٹیں
+بجیں
+پسیں
+بچیں
+پسیں
+بقیں
+بکیں
+بلیں
+بنیں
+بہیں
+پتیں
+پٹیں
+پجیں
+پچیں
+پشیں
+پکیں
+پلیں
+پئیں
+پھیں
+تپیں
+تتیں
+تچیں
+تشیں
+تکیں
+تگیں
+تلیں
+تنیں
+تئیں
+تھیں
+ٹپیں
+ٹتیں
+ٹکیں
+ٹلیں
+ٹھیں
+ثتیں
+جبیں
+جتیں
+جٹیں
+جپیں
+جچیں
+جگیں
+جلیں
+جمیں
+جنیں
+جئیں
+جھیں
+چپیں
+چبیں
+چتیں
+چٹیں
+چسیں
+چقیں
+چکیں
+چگیں
+چلیں
+چنیں
+چئیں
+چھیں
+حتیں
+حٹیں
+حسیں
+حنیں
+خسیں
+ستیں
+سچیں
+سشیں
+سکیں
+سلیں
+سمیں
+سنیں
+سہیم
+ششیں
+شقیں
+صحین
+صفیں
+صلیں
+ظتیں
+عتیں
+عظیں
+فتیں
+فطیں
+فمیں
+قتیں
+قمیں
+کتیں
+کٹیں
+کجیں
+کچیں
+کسیں
+کلیں
+کمیں
+کہیں
+کھیں
+گپیں
+گتیں
+گچیں
+گلیں
+گمیں
+گنیں
+گئیں
+لتیں
+لٹیں
+لچیں
+لفیں
+لکیں
+لگیں
+لنیں
+لیکن
+مبیں
+مٹیں
+مجیں
+متیں
+مچیں
+مسیں
+مکیں
+مگیں
+ملیں
+مہیں
+نپیں
+نتیں
+نٹیں
+نجیں
+نخیں
+نچیں
+نسیں
+نشیں
+نقیں
+نگیں
+نہیں
+نھیں
+ئٹیں
+ئشیں
+ئفیں
+ئلیں
+ئنیں
+یتیں
+یثیں
+یخیں
+یفیں
+یکیں
+یقیں
+یگیں
+یلیں
+یمیں
+ہپیں
+ہتیں
+ہٹیں
+ہشیں
+ہکیں
+ہگیں
+ہلیں
+ہمیں
+ہنیں
+ہئیں
+ھکیں
+ھلیں
+ھنیں
+بپتو
+بتیو
+بتھو
+بٹلو
+بٹنو
+بٹیو
+بٹھو
+بجنو
+بجھو
+بچتو
+بچکو
+بچلو
+بچیو
+بچھو
+بحثو
+بحصو
+بحضو
+بختو
+بخشو
+بخیو
+بشمو
+بشنو
+بطخو
+بعضو
+بعنو
+بغچو
+بغلو
+بقچو
+بقعو
+بکٹو
+بکسو
+بکلو
+بکیو
+بگلو
+بگھو
+بلبو
+بلٹو
+بلتو
+بلکو
+بلو
+بلیو
+بلہو
+بمبو
+بنٹو
+بنجو
+بنسو
+بنکو
+بیتو
+بیٹو
+بیجو
+بیحو
+بیچو
+بیسو
+بیضو
+بیکو
+بیگو
+بیلو
+بیمو
+بینو
+بیہو
+بہبو
+بہتو
+بہکو
+بہلو
+بہنو
+بھبو
+بھٹو
+بھپو
+بھجو
+بھچو
+بھسو
+بھکو
+بھگو
+بھلو
+بھنو
+پئپو
+پتلو
+پٹخو
+پٹکو
+پٹیو
+پٹھو
+پچتو
+پچکو
+پچھو
+پختو
+پستو
+پسلو
+پسیو
+پشتو
+پشیو
+پکھو
+پگلو
+پلٹو
+پلکو
+پمپو
+پنپو
+پنجو
+پنگو
+پیپو
+پیٹو
+پیچو
+پیسو
+پیشو
+پیکو
+پیلو
+پیمو
+پیئو
+پیہو
+پہلو
+پہنو
+پہیو
+پھبو
+پھپو
+پھٹو
+پھچو
+پھکو
+پھچو
+پھگو
+پھلو
+پھنو
+تپکو
+تتلو
+تحفو
+تختو
+تسلو
+تسمو
+تسنو
+تکیو
+تکھو
+تمبو
+تمغو
+تمکو
+تنبو
+تنخو
+تنکو
+تیٹو
+تیجو
+تیسو
+تیغو
+تیلو
+تیمو
+تینو
+تھجو
+تھکو
+تھلو
+تھمو
+تھنو
+تھیو
+ٹپکو
+ٹخنو
+ٹکٹو
+ٹکلو
+ٹکیو
+ٹنگو
+ٹیپو
+ٹیٹو
+ٹیسو
+ٹیکو
+ٹیشو
+ٹیگو
+ٹیلو
+ٹیمو
+ٹہلو
+ٹہنو
+ٹھسو
+ٹھکو
+ٹھگو
+ٹھلو
+ٹھنو
+ٹھئو
+ٹھیو
+ثیقو
+ثیمو
+جبھو
+جتنو
+جستو
+جسکو
+جسمو
+جشنو
+جگتو
+جگنو
+جگہو
+جلسو
+جمبو
+جملو
+جمہو
+جنتو
+جنجو
+جنسو
+جنگو
+جنمو
+جنیو
+جنہو
+جیبو
+جیپو
+جیتو
+جیحو
+جیسو
+جیشو
+جیلو
+جینو
+جیہو
+جہتو
+جھکو
+جھلو
+جھمو
+جھنو
+چبکو
+چبلو
+چبھو
+چپٹو
+چپکو
+چپلو
+چتلو
+چٹخو
+چٹکو
+چٹلو
+چٹیو
+چٹھو
+چچیو
+چسکو
+چسنو
+چشمو
+چسنو
+چکٹو
+چکلو
+چکمو
+چکنو
+چکیو
+چکھو
+چلغو
+چلمو
+چلھو
+چمبو
+چمٹو
+چمپو
+چمچو
+چمکو
+چمنو
+چنٹو
+چنیو
+چیپو
+چیتو
+چیخو
+چیکو
+چیلو
+چہکو
+چہنو
+چھپو
+چھتو
+چھٹو
+چھجو
+چھکو
+چھلو
+چھنو
+حبتو
+حجتو
+حجلو
+حشتو
+حشیو
+حکمو
+حلفو
+حلقو
+حلیو
+حمتو
+حمقو
+حملو
+حیتو
+حیلو
+ختنو
+خشبو
+خشنو
+خشیو
+خصمو
+خصیو
+خطبو
+خلتو
+خلفو
+خلقو
+خلیو
+خمیو
+خیمو
+سبعو
+سبغو
+سبکو
+سپنو
+ستخو
+ستصو
+ستکو
+ستلو
+سٹکو
+سٹلو
+سٹیو
+سٹھو
+سجنو
+سخنو
+سخیو
+سسکو
+سطحو
+سعتو
+سفلو
+سقمو
+سکتو
+سکیو
+سلحو
+سکیو
+سکھو
+سگنو
+سلجو
+سلفو
+سلکو
+سلگو
+سلیو
+سمپو
+سمتو
+سمٹو
+سمنو
+سنبو
+سنپو
+سنتو
+سنجو
+سنکو
+سنگو
+سنلو
+سیبو
+سیٹو
+سیخو
+سیسو
+سیکو
+سیلو
+سیمو
+سینو
+سہلو
+سہمو
+شبخو
+شبکو
+شبہو
+شتیو
+شخصو
+شعبو
+شغلو
+شفٹو
+شکلو
+شکنو
+شگنو
+شلفو
+شمشو
+شمعو
+شملو
+شمنو
+شنٹو
+شنیو
+شیخو
+شیشو
+شیعو
+شیلو
+شہتو
+شہسو
+صبحو
+صبہو
+صحتو
+صحنو
+صفتو
+صفحو
+صلو
+صلیو
+صلا
+صنفو
+صیتو
+صیغو
+صیلو
+صیہو
+ضگیو
+ضلعو
+طبقو
+طبلو
+طشتو
+طعنو
+طمیو
+طنبو
+طیسو
+ظمیو
+ظیفو
+عصفو
+عظمو
+عفتو
+عقلو
+عکسو
+علتو
+علمو
+عملو
+عنفو
+عیبو
+عیتو
+عیسو
+غبتو
+غبیو
+غلبو
+غنچو
+فتحو
+فتنو
+فسٹو
+فصلو
+فضلو
+فعتو
+فعلو
+فغفو
+فلمو
+فلیو
+فیتو
+فیسو
+فیقو
+فیلو
+فینو
+فہمو
+قبضو
+قبلو
+قتلو
+قتیو
+قسطو
+قسمو
+قشقو
+قصبو
+قضیو
+قطعو
+قلتو
+قلعو
+قلمو
+قلیو
+قیبو
+قیطو
+قیفو
+قیقو
+قیلو
+کبھو
+کتبو
+کتنو
+کتیو
+کتھو
+کٹکو
+کٹیو
+کٹھو
+کچکو
+کجکو
+کجلو
+کچلو
+کچھو
+کتھو
+کستو
+کسٹو
+کسفو
+کسلو
+کشتو
+کشٹو
+کشکو
+کشیو
+کعتو
+کفنو
+ککھو
+کلبو
+کلتو
+کلپو
+کلثو
+کلچو
+کلکو
+کلمو
+کلیو
+کلہو
+کمبو
+کمپو
+کمجو
+کمخو
+کملو
+کمیو
+کنبو
+کنٹو
+کنجو
+کنسو
+کنکو
+کیبو
+کنگو
+کیپو
+کیتو
+کیچو
+کیسو
+کیکو
+کیلو
+کیمو
+کینو
+کہلو
+کھپو
+کھتو
+کھٹو
+کھجو
+کھچو
+کھسو
+کھکو
+کھلو
+کھنو
+کھیو
+گپکو
+گتھو
+گٹکو
+گٹھو
+گچھو
+گسٹو
+گلگو
+گلیو
+گملو
+گنجو
+گنگو
+گنیو
+گیتو
+گیسو
+گیلو
+گیمو
+گیہو
+گہکو
+گہنو
+گھپو
+گھٹو
+گھجو
+گھچو
+گھسو
+گھگو
+گھلو
+گھنو
+گھیو
+لبمو
+لپٹو
+لپکو
+لتصو
+لتیو
+لٹکو
+لٹیو
+لثبو
+لجھو
+لچکو
+لچھو
+لحتو
+لحظو
+لحقو
+لحکو
+لخصو
+لسٹو
+لسطو
+لسلو
+لشتو
+لشعو
+لشکو
+لصبو
+لطو
+لعفو
+لعلو
+لعمو
+لغتو
+لغفو
+لغنو
+لغیو
+لفتو
+لفٹو
+لفطو
+لفظو
+لفنو
+لقلو
+لقمو
+لقیو
+لکیو
+لکھو
+لگنو
+لگیو
+لمبو
+لمپو
+لمحو
+لمصو
+لمکو
+لمیو
+لنکو
+لنگو
+لنیو
+لیپو
+لیٹو
+لیحو
+لیچو
+لیسو
+لیفو
+لیقو
+لیکو
+لیگو
+لیلو
+لیمو
+لینو
+لیہو
+لہٹو
+لہجو
+لہچو
+لہکو
+لہلو
+لہنو
+مبسو
+مبعو
+مبلو
+مبہو
+متبو
+متصو
+متلو
+متمو
+متنو
+متھو
+مٹکو
+مٹلو
+مٹیو
+مٹھو
+مثلو
+مثنو
+مجبو
+سنبھا
+مجمو
+مجنو
+مجہو
+مجھو
+مچکو
+مچلو
+مچھو
+محبو
+محتو
+محجو
+محشو
+محضو
+محظو
+محفو
+محکو
+محلو
+محمو
+مخبو
+مختو
+مخصو
+مخطو
+مخلو
+مخمو
+مسبو
+مسٹو
+مستو
+مسجو
+مسطو
+مسعو
+مسکو
+مسلو
+مسمو
+مسنو
+مسئو
+مشحو
+مشغو
+مشقو
+مشکو
+مشمو
+مشہو
+مصلو
+مصمو
+مصنو
+مصئو
+مضبو
+مضمو
+مطبو
+مطلو
+مطعو
+مظبو
+مظنو
+معبو
+معتو
+معجو
+معشو
+معصو
+معطو
+معقو
+معکو
+معلو
+معمو
+معنو
+معیو
+معہو
+مغسو
+مغشو
+مغضو
+مغفو
+مغلو
+مغمو
+مفتو
+مفعو
+مفقو
+مفلو
+مفہو
+مقبو
+مقتو
+مفسو
+مقصو
+مقلو
+مقہو
+مکتو
+مکحو
+مکسو
+مکشو
+مکنو
+مکھو
+ملبو
+ملتو
+ملحو
+ملعو
+ملغو
+ملفو
+ملکو
+ملنو
+ملیو
+مملو
+ممنو
+منتو
+منٹو
+منچو
+منحو
+منسو
+منشو
+منصو
+منطو
+منظو
+منقو
+منگو
+منکو
+منلو
+منیو
+منھو
+میتو
+میٹو
+میجو
+میخو
+میچو
+میسو
+میشو
+میکو
+میگو
+میلو
+میمو
+مینو
+مہجو
+مہکو
+مہمو
+نبٹو
+نبضو
+نبیو
+نبھو
+نپٹو
+نپجو
+نپلو
+نتھو
+نٹیو
+نٹھو
+نجسو
+نجشو
+نجنو
+نجھو
+نچلو
+نچھو
+نحضو
+نخلو
+نسپو
+نسبو
+نسٹو
+نستو
+نسخو
+نسکو
+نسلو
+نسیو
+نطفو
+نظمو
+نعتو
+نعشو
+نعلو
+نغمو
+نفسو
+نفعو
+نفلو
+نقشو
+نقصو
+نقلو
+نکتو
+نکٹو
+نکسو
+نکلو
+نکمو
+نکھو
+نگپو
+نگٹو
+نگلو
+نگیو
+نگھو
+نلکو
+نلیو
+نمٹو
+نمکو
+ننگو
+ننھو
+نیبو
+نیتو
+نیٹو
+نیجو
+نیسو
+نیشو
+نیفو
+نیکو
+نیگو
+نیلو
+نیمو
+نینو
+نہتو
+نہٹو
+نہجو
+ئٹیو
+ئچیو
+ئفلو
+ئلٹو
+ئنگو
+ئیسو
+ئیکو
+ئیلو
+ئینو
+ینپو
+یتھو
+یٹمو
+یٹئو
+یجنو
+یچھو
+یستو
+یشنو
+یشیو
+یعتو
+یعسو
+یعقو
+یکٹو
+یکسو
+یکنو
+یکیو
+یکھو
+یگچو
+یلبو
+یلٹو
+یلیو
+ینٹو
+ینکو
+ینگو
+ہچکو
+ہفتو
+ہکلو
+ہلکو
+ہلگو
+ہمتو
+ہمجو
+ہمچو
+ہمخو
+ہمکو
+ہنجو
+ہنسو
+ہیٹو
+ہیلو
+ہیمو
+ہینو
+ھتیو
+ھجیو
+ھچکو
+ھلکو
+ھمکو
+ھنکو
+ھنگو
+سقئہ
+صفحہ
+ئحئہ
+یچئہ
+ببلی
+ببئی
+بپتی
+بتتی
+بتنی
+بٹتی
+بٹلی
+بٹنی
+بجتی
+بجلی
+بجنی
+بجھی
+بچتی
+بچکی
+بچگی
+بچلی
+بچنی
+بچھی
+بحثی
+بختی
+بخشی
+بستی
+بسنی
+بطخی
+بطنی
+بعضی
+بغچی
+بغضی
+بغلی
+بقچی
+بکتی
+بکٹی
+بکسی
+بکنی
+بکئی
+بکھی
+بگتی
+بگھی
+بلتی
+بلٹی
+بلخی
+بلسی
+بلغی
+بلکی
+بللی
+بلنی
+بلہی
+بمپی
+بنتی
+بنٹی
+بنجی
+بنسی
+بنکی
+بنگی
+بننی
+بیتی
+بیٹی
+بیجی
+بیچی
+بیسی
+بیشی
+بیعی
+بیگی
+بیلی
+بینی
+بہتی
+بہکی
+بہلی
+بہنی
+بھتی
+بھٹی
+بھجی
+بھچی
+بھسی
+بھکی
+بھگی
+بھلی
+بھنی
+بھئی
+پئبی
+پپلی
+پپتی
+پتکی
+پتلی
+پتنی
+پتھی
+پٹتی
+پٹخی
+پٹکی
+پٹنی
+پٹھی
+پجتی
+پجنی
+پچتی
+پچکی
+پچنی
+پچھی
+پخنی
+پستی
+پسلی
+پسنی
+پشتی
+پکتی
+پکشی
+پکنی
+پگلی
+پلتی
+پلٹی
+پلنی
+پمپی
+پپنی
+پنجی
+پنکی
+پیتی
+پیٹی
+پیسی
+پیشی
+پیلی
+پینی
+پہلی
+پہنی
+پھبی
+پھپی
+پھٹی
+پھسی
+پھکی
+پھگی
+پھلی
+پھنی
+تبتی
+تبلی
+تبھی
+تپتی
+تپشی
+تتلی
+تتئی
+تجتی
+تجلی
+تجنی
+تجھی
+تچتی
+تچنی
+تحتی
+تحلی
+تختی
+تخمی
+تسلی
+تشتی
+تشفی
+تشکی
+تضی
+تکتی
+تکنی
+تگتی
+تگنی
+تلتی
+تلخی
+تلسی
+تلکی
+تللی
+تلنی
+تمنی
+تنتی
+تنکی
+تنگی
+تننی
+تیبی
+تیجی
+تیخی
+تیسی
+تیلی
+تہجی
+تھپی
+تھتی
+تھجی
+تھکی
+تھلی
+تھمی
+تھنی
+تھئی
+ٹپتی
+ٹپکی
+ٹپنی
+ٹخنی
+ٹکنی
+ٹکتی
+ٹکلی
+ٹکنی
+ٹگنی
+ٹلتی
+ٹلنی
+ٹمنی
+ٹنگی
+ٹیپی
+ٹیچی
+ٹیکی
+ٹیلی
+ٹیمی
+ٹینی
+ٹہلی
+ٹہنی
+ٹھتی
+ٹھسی
+ٹھگی
+ٹھلی
+ٹھنی
+ثقفی
+ثیقی
+ثیمی
+جبلی
+جبھی
+جپتی
+جپسی
+جپنی
+جتتی
+جتنی
+جٹھی
+جچتی
+جچگی
+جچنی
+جچئی
+جسکی
+جسمی
+جعتی
+جعلی
+جفتی
+جگتی
+جگنی
+جلتی
+جلقی
+جلنی
+جمتی
+جمعی
+جمنی
+جنبی
+جنمی
+جنتی
+جنجو
+جنسی
+جنکی
+جنگی
+جنمی
+جننی
+جیبی
+جیتی
+جیجی
+جیحی
+جیسی
+جیکی
+جیلی
+جیمی
+جینی
+جیہی
+جہتی
+جھتی
+جھکی
+جھگی
+جھلی
+جھنی
+چبتی
+چبکی
+چبلی
+چبنی
+چبھی
+چپتی
+چپٹی
+چپکی
+چپلی
+چپنی
+چتتی
+چتلی
+چتنی
+چٹتی
+چٹخی
+چٹکی
+چٹنی
+چٹھی
+چچلی
+چستی
+چسکی
+چسنی
+چشتی
+چشمی
+چغلی
+چکتی
+چکٹی
+چکلی
+چکنی
+چکئی
+چکھی
+چگتی
+چگنی
+چلتی
+چلنی
+چمپی
+چمٹی
+چمچی
+چمکی
+چملی
+چمنی
+چنتی
+چنگی
+چننی
+چیپی
+چیخی
+چیسی
+چیلی
+چینی
+چہکی
+چہلی
+چبھی
+چھپی
+چھٹی
+چھتی
+چھچی
+چھلی
+چھنی
+چھئی
+حبشی
+حتمی
+حتی
+حجتی
+حسبی
+حسنی
+حکمی
+حلبی
+حلفی
+حلقی
+حلمی
+حمتی
+حنفی
+حیضی
+حیمی
+خبطی
+ختگی
+ختمی
+ختنی
+ختئی
+خستی
+خشکی
+خصتی
+خصمی
+خطمی
+خفگی
+سفلی
+خلتی
+خلقی
+خلفی
+خمچی
+خنکی
+سبکی
+سبھی
+سپتی
+ستتی
+ستکی
+ستگی
+ستلی
+ستمی
+سٹکی
+سٹلی
+سٹھی
+سجتی
+سجنی
+سچلی
+سختی
+سسپی
+سستی
+سسکی
+سسلی
+سطحی
+سطی
+سفلی
+سقنی
+سکتی
+سکسی
+سکنی
+سکھی
+سگسی
+سگنی
+سلبی
+سلتی
+سلکی
+سلگی
+سلمی
+سلنی
+سمبی
+سمتی
+سمٹی
+سمسی
+سمعی
+سمنی
+سنبی
+سنتی
+سنٹی
+سنکی
+سنگی
+سنلی
+سننی
+سیبی
+سیپی
+سیتی
+سیسی
+سیفی
+سیعی
+سیقی
+سیکی
+سیلی
+سیمی
+سینی
+سیہی
+سہتی
+سہلی
+سہمی
+سہنی
+شبعی
+شبلی
+شٹمی
+شخصی
+شخطی
+شطحی
+شفقی
+شکتی
+شکلی
+شکمی
+شکنی
+شگتی
+شگنی
+شمسی
+شمعی
+شمنی
+شیخی
+شیشی
+شیعی
+شہکی
+شہنی
+ضحی
+صلبی
+صلگی
+صیتی
+صیعی
+ضبطی
+ضحی
+ضلعی
+ضمنی
+طبی
+طبعی
+طبلی
+طفلی
+طلبی
+طیبی
+طیسی
+طینی
+ظلمی
+ظہبی
+عجمی
+عشقی
+عشی
+عصبی
+عظمی
+عقبی
+عقلی
+عکسی
+علتی
+علمی
+علی
+عملی
+عمی
+عنہی
+عیبی
+عیتی
+عینی
+غبتی
+غچلی
+غضبی
+غلطی
+غلنی
+غلئی
+غیبی
+فتگی
+فتنی
+فصلی
+فضلی
+فعلی
+ففٹی
+فقہی
+فلکی
+فلمی
+فیضی
+فیقی
+فیلی
+فیمی
+فہمی
+قبطی
+قسمی
+قصی
+قطبی
+قطعی
+قفلی
+قلبی
+قلعی
+قلفی
+قلمی
+قمچی
+قیسی
+قیفی
+قیقی
+کبکی
+کبھی
+کپٹی
+کتنی
+کٹتی
+کٹکی
+کٹنی
+کٹھی
+کجلی
+کچلی
+کچھی
+کسبی
+کستی
+کسلی
+کسنی
+کشتی
+کشفی
+کعتی
+کفنی
+کلبی
+کلتی
+کلٹی
+کلچی
+کلغی
+کلفی
+کلکی
+کلنی
+کمبی
+کمپی
+کمتی
+کمٹی
+کملی
+کمنی
+کنجی
+کنکی
+کنگی
+کیتی
+کیچی
+کیسی
+کیفی
+کیکی
+کیلی
+کہتی
+کہنی
+کھبی
+کھپی
+کھتی
+کھٹی
+کھجی
+کھسی
+کھلی
+کھنی
+گپتی
+گپکی
+گتھی
+گٹکی
+گٹھی
+گجنی
+گجئی
+گجھی
+گچھی
+گشتی
+گفتی
+گلتی
+گلٹی
+گلجی
+گلنی
+گمتی
+گمٹی
+گملی
+گمنی
+گنتی
+گنجی
+گنگی
+گننی
+گیتی
+گیسی
+گیلی
+گینی
+گہکی
+گہمی
+گہنی
+گھپی
+گھٹی
+گھسی
+گھگی
+گھلی
+گھنی
+لبنی
+لپٹی
+لپسی
+لپکی
+لٹتی
+لٹکی
+لٹنی
+لجھی
+لچتی
+لچکی
+لچنی
+لچھی
+لحتی
+لحئی
+لخمی
+لسٹی
+لسکی
+لسئی
+لشتی
+لطفی
+لعلی
+لغنی
+لفظی
+لقمی
+لکتی
+لکٹی
+لکشی
+لکنی
+لکھی
+لگتی
+لگنی
+لمبی
+لمکی
+لنبی
+لنکی
+لنگی
+لیپی
+لیتی
+لیٹی
+لیچی
+لیسی
+لیفی
+لیقی
+لیکی
+لیگی
+لیمی
+لینی
+لیئی
+لیہی
+لہٹی
+لہکی
+لہی
+مبنی
+متقی
+متکی
+متلی
+متنی
+متھی
+مٹتی
+مٹکی
+مٹنی
+مٹھی
+مثنی
+مجھی
+مچتی
+مچکی
+مچلی
+مچنی
+مچھی
+محبی
+محیی
+مخفی
+مستی
+مسکی
+مسلی
+مسنی
+مشتی
+مشفی
+مشقی
+مشکی
+مصفی
+مضی
+معنی
+مغلی
+مغنی
+مفتی
+مقئی
+مکتی
+مکنی
+مکئی
+مکھی
+مگسی
+ملتی
+ملٹی
+ملکی
+ملی
+ملنی
+ممٹی
+منتی
+منجی
+منشی
+منفی
+منقی
+منکی
+منگی
+مننی
+منی
+میٹی
+میجی
+میچی
+میسی
+میشی
+میکی
+میلی
+میمی
+مینی
+مہکی
+مھیی
+نبتی
+نبٹی
+نبھی
+نپتی
+نپٹی
+نپنی
+نبچی
+نتتی
+نتنی
+نتھی
+نٹتی
+نٹنی
+نٹھی
+نجتی
+نجشی
+نجفی
+نجمی
+نجنی
+نجھی
+نچتی
+نچکی
+نچلی
+نچنی
+نچھی
+نحلی
+نسبی
+نستی
+نسٹی
+نسلی
+نسنی
+نظمی
+نغمی
+نفسی
+نفلی
+نقشی
+نقلی
+نکتی
+نکٹی
+نکسی
+نکلی
+نکمی
+نکنی
+نکھی
+نگتی
+نگلی
+نگنی
+نگہی
+نگھی
+نلکی
+نمٹی
+نمنی
+ننگی
+ننھی
+نیتی
+نیثی
+نیچی
+نیشی
+نیکی
+نیگی
+نیلی
+نیمی
+نینی
+نہٹی
+نہلی
+نہنی
+ئنسی
+ئیسی
+ئیشی
+ئیگی
+ئیلی
+ئینی
+یتنی
+یٹمی
+یحیی
+یختی
+یخنی
+یشمی
+یعتی
+یعنی
+یکتی
+یکھی
+یگچی
+یلٹی
+یلچی
+یلسی
+یلمی
+یلہی
+یمنی
+ینٹی
+ہٹتی
+ہٹنی
+ہچکی
+ہستی
+ہسکی
+ہسلی
+ہسنی
+ہضمی
+ہکتی
+ہکلی
+ہکنی
+ہگتی
+ہگلی
+ہلتی
+ہلکی
+ہلگی
+ہلنی
+ہمتی
+ہمکی
+ہمگی
+ہمنی
+ہنسی
+ہنکی
+ہنگی
+ہیتی
+ہیٹی
+ہیلی
+ہیمی
+ھپتی
+ھپنی
+ھستی
+ھسنی
+ھکتی
+ھکنی
+ھلتی
+ھلکی
+ھلنی
+ھمکی
+ھنتی
+ھنسی
+ھنکی
+ھنگی
+ھننی
+ھیلی
+ھیمی
+ھینی
+بپتے
+بتتے
+بتنے
+بتئے
+بٹتے
+بٹنے
+بٹئے
+بجتے
+بجنے
+بجئے
+بجھے
+بچتے
+بچکے
+بچلے
+بچنے
+بچئے
+بچھے
+بختے
+بخشے
+بخئے
+بخیے
+بستے
+بسکے
+بسنے
+بسئے
+بعضے
+بغچے
+بقچے
+بقعے
+بکتے
+بکٹے
+بکسے
+بکلے
+بکنے
+بکئے
+بگلے
+بگھے
+بلتے
+بلٹے
+بلسے
+بلکے
+بللے
+بلنے
+بلئے
+بنتے
+بنٹے
+بنجے
+بننے
+بنئے
+بیتے
+بیٹے
+بیجے
+بیچے
+بیضے
+بیلے
+بیمے
+بینے
+بہتے
+بہکے
+بہلے
+بہنے
+بہئے
+بھٹے
+بھجے
+بھچے
+بھکے
+بھگے
+بھلے
+بھنے
+پتتے
+پتلے
+پتنے
+پتئے
+پتھے
+پٹتے
+پٹخے
+پٹکے
+پٹنے
+پٹئے
+پٹھے
+پجتے
+پجنے
+پجئے
+پچتے
+پچکے
+پچنے
+پچئے
+پچھے
+پستے
+پسنے
+پسئے
+پشتے
+پکتے
+پکنے
+پکئے
+پگلے
+پلتے
+پلٹے
+پلنے
+پلئے
+پپنے
+پنتے
+پنجے
+پیپے
+پیتے
+پیٹے
+پیسے
+پیشے
+پیلے
+پینے
+پیئے
+پہلے
+پہنے
+پہئے
+پھبے
+پھٹے
+پھسے
+پھکے
+پھلے
+پھنے
+تپتے
+تپکے
+تپنے
+تپئے
+تتلے
+تتمے
+تجتے
+تجنے
+تجئے
+تجھے
+تچتے
+تچنے
+تچئے
+تحفے
+تختے
+تسلے
+تسمے
+تشنے
+تکتے
+تکلے
+تکنے
+تکیے
+تکئے
+تگتے
+تگنے
+تلتے
+تللے
+تلنے
+تلئے
+تمغے
+تنتے
+تنکے
+تننے
+تنئے
+تیجے
+تیشے
+تیلے
+تینے
+تھپے
+تھتے
+تھجے
+تھکے
+تھلے
+تھمے
+تھنے
+تھئے
+ٹپتے
+ٹپکے
+ٹپنے
+ٹپئے
+ٹخنے
+ٹکتے
+ٹکلے
+ٹکنے
+ٹکئے
+ٹلتے
+ٹلٹے
+ٹلنے
+ٹلئے
+ٹنٹے
+ٹنگے
+ٹیپے
+ٹیکے
+ٹیلے
+ٹینے
+ٹہلے
+ٹہنے
+ٹھتے
+ٹھٹے
+ٹھسے
+ٹھکے
+ٹھگے
+ٹھلے
+ٹھنے
+ٹھئے
+ثیقے
+جپتے
+جپنے
+جپئے
+جتتے
+جتنے
+جتئے
+جتھے
+جٹتے
+جٹھے
+جٹنے
+جٹئے
+جچتے
+جچنے
+جچئے
+جسکے
+جفتے
+جکتے
+جگتے
+جگنے
+جگئے
+جلتے
+جلسے
+جلنے
+جلئے
+جمتے
+جمعے
+جملے
+جمنے
+جمئے
+جنتے
+جنسے
+جنکے
+جننے
+جنئے
+جنھے
+جیتے
+جیسے
+جینے
+جیئے
+جھتے
+جھکے
+جھلے
+جھنے
+جھئے
+چبتے
+چبکے
+چبلے
+چبنے
+چبئے
+چبھے
+چپتے
+چپٹے
+چپکے
+چپنے
+چپئے
+چتتے
+چتنے
+چتئے
+چٹپے
+چٹتے
+چٹخے
+چٹکے
+چٹلے
+چٹنے
+چٹئے
+چٹھے
+چسکے
+چشمے
+چکتے
+چکٹے
+چکلے
+چکمے
+چکنے
+چکئے
+چکھے
+چگتے
+چگنے
+چگئے
+چلتے
+چلنے
+چلئے
+چمپے
+چمٹے
+چمچے
+چمکے
+چنتے
+چنکے
+چنگے
+چننے
+چنئے
+چیپے
+چیتے
+چیخے
+چیلے
+چہکے
+چھپے
+چھتے
+چھٹے
+چھجے
+چھچے
+چھکے
+چھلے
+چھنے
+چھئے
+حجلے
+حلقے
+حلئے
+حملے
+حیلے
+ختنے
+خشکے
+خطبے
+خلئے
+خیلے
+خیمے
+سپنے
+ستتے
+ستلے
+ستئے
+سٹکے
+سجتے
+سجنے
+سجئے
+سختے
+سخنے
+سستے
+سسکے
+سفلے
+سکتے
+سکنے
+سکئے
+سگتے
+سگنے
+سگئے
+سگلے
+سلتے
+سلحے
+سلکے
+سلگے
+سلنے
+سلئے
+سمبے
+سمٹے
+سمنے
+سنتے
+سنجے
+سنکے
+سنگے
+سنلے
+سننے
+سیتے
+سیسے
+شیشے
+سیلے
+سینے
+سیئے
+سہتے
+سہلے
+سہمے
+سہنے
+سہئے
+شخصے
+شعبے
+شعلے
+شکتے
+شکنے
+شگتے
+شگنے
+شملے
+شیشے
+شیلے
+شیئے
+صفحے
+صیغے
+ضحے
+ضلعے
+طبقے
+طبلے
+طعنے
+بقعے
+ظیفے
+علے
+عملے
+غصے
+غلبے
+غنچے
+فتنے
+فضلے
+فیتے
+فیلے
+فینے
+قبضے
+قبلے
+قتلے
+قشقے
+قصبے
+قطعے
+قعئے
+قلعے
+قیقے
+قیمے
+کبکے
+کتبے
+کتلے
+کتنے
+کتھے
+کٹتے
+کٹکے
+کٹنے
+کٹئے
+کٹھے
+کجلے
+کچلے
+کستے
+کسلے
+کسنے
+کسئے
+کعبے
+کلتے
+کلچے
+کلمے
+کلنے
+کلئے
+کملے
+کمنے
+کنبے
+کنجے
+کنکے
+کیسے
+کیفے
+کیکے
+کیئے
+کیلے
+کہتے
+کہکے
+کہنے
+کہئے
+کھبے
+کھپے
+کھتے
+کھٹے
+کھسے
+کھلے
+کھنے
+کھئے
+گپکے
+گپھے
+گتکے
+گتھے
+گٹکے
+گٹھے
+گجھے
+گلتے
+گلنے
+گلئے
+گمتے
+گملے
+گمنے
+گمئے
+گنتے
+گنجے
+گننے
+گنئے
+گیگے
+گیلے
+گہکے
+گہنے
+گھپے
+گھتے
+گھٹے
+گچھے
+گھسے
+گھلے
+گھنے
+گھئے
+لپٹے
+لپکے
+لٹتے
+لٹکے
+لٹنے
+لٹئے
+لجھے
+لچتے
+لچکے
+لچنے
+لچئے
+لچھے
+لشتے
+لقمے
+لکتے
+لکنے
+لکئے
+لکھے
+لگتے
+لگنے
+لگئے
+لمبے
+لمحے
+لمکے
+لمیے
+لنگے
+لیپے
+لیٹے
+لیجے
+لیچے
+لیسے
+لیکے
+لیگے
+لیمے
+لینے
+لیئے
+لہٹے
+لہجے
+لہکے
+متتے
+متلے
+متنے
+متھے
+مٹتے
+مٹکے
+مٹنے
+مٹئے
+مثلے
+مجلے
+مجھے
+مچتے
+مچکے
+مچلے
+مچنے
+مچئے
+مچھے
+محلے
+مستے
+مسے
+مسکے
+مسلے
+مسنے
+مسئے
+مشتے
+مشکے
+معمے
+مکتے
+مکنے
+مکئے
+ملبے
+ملتے
+ملنے
+ملئے
+منتے
+منکے
+منگے
+مننے
+میٹے
+میجے
+میچے
+میکے
+میلے
+میئے
+مہکے
+نبٹے
+نبھے
+نپتے
+نپٹے
+نپنے
+نپئے
+نتتے
+نٹتے
+نٹنے
+نٹئے
+نجتے
+نجنے
+نجھے
+نچتے
+نچکے
+نچلے
+نچنے
+نچھے
+نحلے
+نخشے
+نستے
+نسخے
+نسلے
+نسنے
+نسئے
+نشچے
+نطفے
+نغمے
+نفعے
+نقشے
+نقطے
+نکتے
+نکٹے
+نکسے
+نکلے
+نکمے
+نکنے
+نکئے
+نکھے
+نگتے
+نگٹے
+نگلے
+نگنے
+نگئے
+نگھے
+نلکے
+نمٹے
+ننگے
+ننھے
+نیٹے
+نیچے
+نیفے
+نیلے
+نہتے
+نہلے
+ئینے
+یتنے
+یٹھے
+یجئے
+یکتے
+یکھے
+یگچے
+یلٹے
+ہپتے
+ہپنے
+ہپئے
+ہٹتے
+ہٹنے
+ہٹئے
+ہچکے
+ہفتے
+ہکتے
+ہکلے
+ہکنے
+ہکئے
+ہگتے
+ہگنے
+ہگئے
+ہلتے
+ہلکے
+ہلگے
+ہلنے
+ہلئے
+ہمتے
+ہمکے
+ہمنے
+ہنسے
+ہٹیے
+ہیضے
+ھپتے
+ھپنے
+ھپئے
+ھچکے
+ھکتے
+ھکنے
+ھکئے
+ھلتے
+ھلکے
+ھلنے
+ھلئے
+ھمکے
+ھنتے
+ھنسے
+ھنکے
+ھنگے
+ھننے
+ھنئے
+ھنیے
+ھیلے
+ھیمے
+ھینے
+بخیہ
+بستہ
+بسکہ
+بغچہ
+بقچہ
+بقعہ
+بقیہ
+بلکہ
+بلیہ
+بمعہ
+بغچہ
+بیحہ
+بیشہ
+بیضہ
+بیعہ
+بیگہ
+بیلہ
+بیمہ
+بینہ
+پٹنہ
+پختہ
+پستہ
+پسنہ
+پشتہ
+پنبہ
+پنجہ
+پیسہ
+پیشہ
+پہیہ
+تتمہ
+تتیہ
+تحفہ
+تحیہ
+تختہ
+تخمہ
+تسمہ
+تشتہ
+تشنہ
+تغمہ
+تفتہ
+تقیہ
+تکمہ
+تکیہ
+تلخہ
+تلہہ
+تمغہ
+تنبہ
+تنگہ
+تیجہ
+تیشہ
+تیغہ
+تہیہ
+ٹکیہ
+ٹیکہ
+ٹیلہ
+ثیبہ
+جبکہ
+جبہہ
+جستہ
+جفتہ
+جلسہ
+جمعہ
+جملہ
+جنبہ
+جیعہ
+جیہہ
+چستہ
+چشمہ
+چکمہ
+چلتہ
+چمبہ
+چمچہ
+چیچہ
+چیمہ
+حبشہ
+حجتہ
+حجفہ
+حجلہ
+حسنہ
+حشفہ
+حقنہ
+حلقہ
+حلیہ
+حمتہ
+حملہ
+حمنہ
+حیطہ
+حیلہ
+حیمہ
+ختنہ
+خستہ
+خشکہ
+خصیہ
+خطبہ
+خطحہ
+خفتہ
+خفیہ
+خلیفہ
+خلیہ
+خمسہ
+خیمہ
+سبحہ
+ستمہ
+سفلہ
+سقہ
+سکتہ
+سکنہ
+سلحہ
+سلمہ
+سنبہ
+سیسہ
+سیفہ
+سیلہ
+سینہ
+شبکہ
+شبیہ
+شحنہ
+شستہ
+شعبہ
+شعفہ
+شغفہ
+شفتہ
+شفعہ
+شمسہ
+شملہ
+شنبہ
+شیبہ
+شیتہ
+شیشہ
+شیعہ
+شیلہ
+صبیہ
+صفحہ
+صفیہ
+صلچہ
+صیحہ
+صیعہ
+صیغہ
+ضحیہ
+ضعطہ
+ضیکہ
+ضیمہ
+ضیلہ
+طبقہ
+طبلہ
+طعمہ
+طعنہ
+طلبہ
+طمتہ
+طمیہ
+طنجہ
+طیبہ
+طیسو
+طیکہ
+ظیفہ
+عتبہ
+عشبہ
+عصبہ
+عضلہ
+عطیہ
+علفہ
+علیہ
+عملہ
+غبطہ
+غشتہ
+غلبہ
+غلطہ
+غنچہ
+فتحہ
+فتنہ
+فضلہ
+فعیہ
+فغفو
+فقیہ
+فیعہ
+فیقہ
+فینہ
+قبضہ
+قتلہ
+قحبہ
+قشقہ
+قصبہ
+قضیہ
+قطعہ
+قلبہ
+قلعہ
+قلیہ
+قمشہ
+قیقہ
+قیمہ
+کپچہ
+کتبہ
+کشتہ
+کعبہ
+کفچہ
+کلبہ
+کلچہ
+کلمہ
+کلیہ
+کنبہ
+کنیہ
+کیسہ
+کینہ
+کہنہ
+گنجفہ
+گستہ
+گشتہ
+گفتہ
+گینہ
+گہنہ
+لبتہ
+لجثہ
+لحجہ
+لحظہ
+لصفہ
+لطمہ
+لطہ
+لفتہ
+لقصہ
+لقطہ
+لقمہ
+للہ
+للھ
+لمحہ
+لمعہ
+لمیہ
+لیچہ
+لیلہ
+لیمہ
+لہجہ
+متعہ
+مثلہ
+مجلہ
+محلہ
+مسکہ
+معمہ
+مقلہ
+ملبہ
+ملکہ
+میلہ
+میمہ
+نبیہ
+نجمہ
+نستہ
+نسخہ
+نسیہ
+نطفہ
+نغمہ
+نفقہ
+نقشہ
+نقطہ
+نقیہ
+نکتہ
+نگیہ
+نملہ
+نیفہ
+نیلہ
+ئستہ
+ئنچہ
+ئیسہ
+ئیکہ
+ئیلہ
+ئینہ
+یبیہ
+یجتہ
+یختہ
+یفتہ
+یقظہ
+یگچہ
+ینکہ
+ہستہ
+ہفتہ
+ہلیہ
+ہیضہ
+ہیمہ
+ہینہ
+ھنیہ
+ھیلہ
+بیٹھ
+پنتھ
+پنکھ
+پیتھ
+ٹھٹھ
+جیتھ
+جیٹھ
+جھٹھ
+چیتھ
+چھٹھ
+سکچھ
+سلجھ
+سمجھ
+سنکھ
+سنگھ
+سیٹھ
+سیکھ
+کسٹھ
+کمبھ
+لنگھ
+لیتھ
+لیٹھ
+لیکھ
+ملچھ
+منجھ
+میٹھ
+میکھ
+میگھ
+مینھ
+نسٹھ
+یسٹھ
+ینٹھ
+ہیتھ
+بقیہ
+حتی
+صلو
+ضحی
+عشی
+علی
+منی
+یحیی
+بطنا
+جیہا
+حلفا
+خصتا
+سہلا
+ضمنا
+طبعا
+عبید
+غصبا
+عقلا
+عملا
+فعلا
+قطعا
+قعتا
+لصتا
+لفظا
+مثلا
+نسلا
+نسیا
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/5grams.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/5grams.txt
new file mode 100644
index 0000000..f61dbce
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/5grams.txt
@@ -0,0 +1,5029 @@
+ببیسا
+بپتنا
+بتکتا
+بتیسا
+بتیلا
+بتھلا
+بجبجا
+بجلیا
+بجھتا
+بجھیا
+بچپنا
+بچکتا
+بچلتا
+بچھتا
+بچھیا
+بحثیا
+بختیا
+بخشتا
+بستگا
+بستیا
+بسیما
+بطگیا
+بغچیا
+بقچیا
+بکبکا
+بکستا
+بکسلا
+بکسیا
+بکیلا
+بگستا
+بگھیا
+بلبلا
+بلٹتا
+بلٹیا
+بلکتا
+بللا
+بلنگا
+بلیسا
+بلیغا
+بلیلا
+بنٹتا
+بنجتا
+بنگلا
+بیتتا
+بیتلا
+بیتیا
+بیٹھا
+بیجتا
+بیچتا
+بیسیا
+بیشما
+بیکسا
+بیکلا
+بیگما
+بیلتا
+بینتا
+بینکا
+بیننا
+بھبھا
+بہکتا
+بہلتا
+بہنیا
+بہئیا
+بہیما
+بھبکا
+بھبھا
+بھلتا
+بھپکا
+بھتنا
+بھٹکا
+بھٹیا
+بھجتا
+بھجیا
+بھچتا
+بھچکا
+بھچنا
+بھسکا
+بھکتا
+بھکیا
+بھگتا
+بھگیا
+بھلیا
+بھینا
+پپلیا
+پپیتا
+پپیہا
+پتلیا
+پتنگا
+پتنیا
+پتیلا
+پتھتا
+پتھنا
+پٹپٹا
+پٹختا
+پٹخیا
+پٹکتا
+پٹیلا
+پٹیما
+پٹھیا
+پچپچا
+پچکتا
+پچھتا
+پچلج
+پچیا
+پستیا
+پسلیا
+پسنگا
+پسیجا
+پسینا
+پشیما
+پکپکا
+پگلتا
+پگلیا
+پگھلا
+پلپلا
+پلٹتا
+پلٹیا
+پلیتا
+پنپتا
+پنجتا
+پنجسا
+پنجنا
+پنچسا
+پنکھا
+پنیلا
+پنیھا
+پنھیا
+پیپٹا
+پیپگا
+پیپلا
+پیٹتا
+پیٹیا
+پیٹھا
+پیچھا
+پیستا
+پیشتا
+پیشکا
+پیشیا
+پیلبا
+پیلپا
+پیلتا
+پیلیا
+پینتا
+پہنتا
+پہنچا
+پہننا
+پھبتا
+پھبکا
+پھبنا
+پھپسا
+پھپکا
+پھپیا
+پھپھا
+پھٹتا
+پھٹکا
+پھٹگا
+پھٹنا
+پھسکا
+پھسلا
+پھکتا
+پھلتا
+پھلکا
+پھلنا
+پھنتا
+پھنسا
+پھنکا
+پھننا
+پھنیا
+پھیکا
+پھیلا
+تپسیا
+تپکتا
+تتلیا
+تتئیا
+تثینا
+تجلیا
+تجملا
+تحفظا
+تحکما
+تختیا
+تسلیا
+تشنگا
+تعصبا
+تعلقا
+تعلا
+تعیشا
+تعینا
+تکتکا
+تکلفا
+تکلیا
+تلتلا
+تلخیا
+تلملا
+تلنگا
+تمتما
+تمسکا
+تمکنا
+تنبیا
+تنتنا
+تنکتا
+تنگیا
+تیجتا
+تیکھا
+تیلیا
+تینتا
+تھپتا
+تھپکا
+تھپنا
+تھتکا
+تھتھا
+تھجتا
+تھکتا
+تھلتا
+تھلکا
+تھلنا
+تھلیا
+تھمتا
+تھنچا
+تھیا
+تھیلا
+ٹپٹپا
+ٹپکتا
+ٹپیلا
+ٹخنیا
+ٹکٹکا
+ٹکسٹا
+ٹکسلا
+ٹکلیا
+ٹگھلا
+ٹلٹلا
+ٹمٹما
+ٹنٹنا
+ٹنگتا
+ٹیپتا
+ٹیکتا
+ٹیکسا
+ٹیکنا
+ٹیکتا
+ٹینٹا
+ٹہلتا
+ٹہلیا
+ٹہنیا
+ٹھپنا
+ٹھٹکا
+ٹھٹھا
+ٹھستا
+ٹھسکا
+ٹھسنا
+ٹھکتا
+ٹھگتا
+ٹھگیا
+ٹھلتا
+ٹھلیا
+ٹھمکا
+ٹھنتا
+ٹھنسا
+ٹھنکا
+ٹھننا
+ٹھیبا
+ٹھیکا
+ٹھیگا
+ٹھیلا
+جیتتا
+جستھا
+جسیلا
+جعلسا
+جعلیا
+جگتیا
+جگجگا
+جگمگا
+جلبلا
+جلیبا
+جمیکا
+جنٹیا
+جنجنا
+جنسیا
+جنگلا
+جیتتا
+جیٹھا
+جینیا
+جھپٹا
+جھپکا
+جھٹکا
+جھٹلا
+جھٹنا
+جھجکا
+جھجلا
+جھجنا
+جھکتا
+جھکیا
+جھگیا
+جھلتا
+جھلسا
+جھلکا
+جھلما
+جھلنا
+جھلیا
+جھمکا
+جھجنا
+جھنکا
+جھنگا
+جھیلا
+جھینا
+چبکتا
+چبینا
+چبھتا
+چپتیا
+چپٹتا
+چپچپا
+چپکتا
+چپکیا
+چپیٹا
+چتھلا
+چٹختا
+چٹکتا
+چٹکلا
+چٹکیا
+چٹنیا
+چٹیلا
+چٹھیا
+چسکتا
+چسکیا
+چسنیا
+چشتیا
+چغلیا
+چکٹتا
+چکلتا
+چکنیا
+چکھتا
+چلبلا
+چلچلا
+چلکنا
+چلیپا
+چمٹتا
+چمٹیا
+چمچما
+چمچیا
+چمکتا
+چمنیا
+چنبھا
+چنچنا
+چنکیا
+چنگلا
+چنگنا
+چنگیا
+چنگھا
+چیپتا
+چیتپا
+چیختا
+چیستا
+چیلکا
+چینٹا
+چینگا
+چہچہا
+چہکتا
+چہیتا
+چھپتا
+چھپکا
+چھپنا
+چھتیا
+چھٹتا
+چھٹکا
+چھٹنا
+چھٹیا
+چھچکا
+چھلتا
+چھلکا
+چھلیا
+چھنتا
+چھنگا
+چھننا
+چھیجا
+چھیکا
+چھیلا
+چھینا
+حتینا
+حسینا
+حکیما
+حنفیا
+حیتنا
+حیثیا
+خصتیا
+خطیبا
+خفتگا
+خلفشا
+خمچیا
+خمیسا
+خنخنا
+سبکسا
+سبکنا
+سبکیا
+سبلیا
+سبیتا
+ستبصا
+ستبعا
+ستثنا
+ستحسا
+ستحصا
+ستحقا
+ستحکا
+ستخفا
+ستخلا
+ستسقا
+ستشہا
+ستعجا
+ستعقا
+ستعلا
+ستعما
+ستغفا
+ستغنا
+ستفتا
+ستفسا
+ستفہا
+ستقبا
+ستقلا
+ستکبا
+ستکشا
+ستکما
+ستلیا
+ستنبا
+ستنجا
+ستیصا
+ستیعا
+ستیلا
+ستیہا
+ستھیا
+سٹکتا
+سٹنہا
+سٹھیا
+سجنیا
+سجیلا
+سختیا
+سسکتا
+سسکیا
+سکیلا
+سکھلا
+سکھیا
+سلٹنا
+سلجھا
+سلسلا
+سلگتا
+سلمہا
+سلنگا
+سلیکا
+سلیما
+سمٹتا
+سمجھا
+سمیٹا
+سنبھا
+سنجتا
+سنجھا
+سنچکا
+سنسنا
+سنکتا
+سنکیا
+سنگسا
+سنگلا
+سنگھا
+سنیگا
+سنیما
+سیپیا
+سیتلا
+سیٹھا
+سیستا
+سیکھا
+سیلتا
+سیمیا
+سینتا
+سینچا
+سینکا
+سینگا
+سینما
+سینیا
+سہلتا
+سہمتا
+شتیہا
+شخصیا
+شطحیا
+شکیبا
+شگنیا
+شلنگا
+شلیتا
+شمنیا
+شنگھا
+شیخیا
+شیشیا
+شہنشا
+ضعیفا
+ضمحلا
+طبیعا
+طلبگا
+طلسما
+طمینا
+طیلسا
+عسقلا
+عصبیا
+عملیا
+عنہما
+غسلخا
+غصیلا
+غضبنا
+غلبلا
+غلطیا
+غمگسا
+غنغنا
+فتحیا
+فتینا
+فسنجا
+فضیتا
+فعلیا
+فلکیا
+فلمسا
+فلیپا
+فیضیا
+فیلبا
+فیلپا
+فہمیا
+قلتیا
+قلفیا
+قلمکا
+قلیما
+کپکپا
+کٹکتا
+کٹنیا
+کٹیکا
+کٹیلا
+کٹھلا
+کٹھنا
+کچکچا
+کچلتا
+کچیلا
+کچھنا
+کسبیا
+کسلتا
+کسلیا
+کسنبا
+کسیلا
+کشتگا
+کشتیا
+ککھلا
+کلبلا
+کلپنا
+کلتکا
+کلٹیا
+کلچیا
+کلسنا
+کلغیا
+کلکتا
+کلکلا
+کلکنا
+کلیجا
+کلیسا
+کلھیا
+کمٹھا
+کملتا
+کمیسا
+کمیلا
+کمھلا
+کنٹھا
+کنجیا
+کنکتا
+کنکیا
+کنگلا
+کنگنا
+کنگھا
+کنلیا
+کنمنا
+کنہیا
+کیتیا
+کیتھا
+کیٹلا
+کیخلا
+کیسیا
+کیشیا
+کیفیا
+کیقبا
+کیکبا
+کیکتا
+کیلتا
+کیمیا
+کینیا
+کیہلا
+کہکشا
+کھپٹا
+کھپلا
+کھپنا
+کھتیا
+کھٹکا
+کھٹلا
+کھٹنا
+کھٹیا
+کھجلا
+کھستا
+کھسکا
+کھسلا
+کھسنا
+کھسیا
+کھکھا
+کھلتا
+کھلگا
+کھلنا
+کھلیا
+کھمبا
+کھما
+کھنچا
+کھنسا
+کھنگا
+کھتیا
+کھیسا
+کھیلا
+کھینا
+گپکتا
+گتھتا
+گتھیا
+گٹکتا
+گٹکیا
+گٹھتا
+گٹھیا
+گجگجا
+گچھیا
+گشتپا
+گلبہا
+گلٹیا
+گلستا
+گلگلا
+گنتیا
+گنٹھا
+گنجیا
+گنگنا
+گنہگا
+گیگلا
+گہکتا
+گھپتا
+گھپلا
+گھپنا
+گھٹتا
+گھٹکا
+گھٹنا
+گھٹیا
+گھچلا
+گھستا
+گھسیا
+گھگیا
+گھلتا
+گھلیا
+گھمسا
+گھنٹا
+گھنسا
+گھنیا
+گھیگا
+گھیلا
+لبلبا
+لبیلا
+لپٹتا
+لپکتا
+لپلپا
+لپیٹا
+لٹکتا
+لیٹنا
+لٹھیا
+لجلجا
+لجھتا
+لجھیا
+لچکتا
+لچلچا
+لچھتا
+لچھیا
+لحمقا
+لحمیا
+لخلخا
+لسبحا
+لسلسا
+لشعشا
+لشہبا
+لطلا
+لعلما
+لفظیا
+لفنگا
+لکشیا
+لکلیا
+لکھتا
+لکھیا
+لگنیا
+لگیلا
+للبقا
+لمپیا
+لمتعا
+لمتخا
+لمکتا
+لمیعا
+لنجھا
+لنگتا
+لنگیا
+لنگھا
+لیپتا
+لیٹتا
+لیچتا
+لیچیا
+لیستا
+لیسیا
+لیکھا
+لہکتا
+لہلہا
+لہنگا
+لہنیا
+لہیا
+مبتلا
+مبہیا
+متصفا
+متھتا
+مٹکتا
+مٹکیا
+مٹھیا
+مجسما
+مجلا
+مچکتا
+مچلتا
+محسنا
+محصنا
+محققا
+محکما
+محنتا
+مختیا
+مخلصا
+مخمسا
+مسبحا
+مستجا
+مستعا
+مشفقا
+مشکبا
+مشکلا
+مشکیا
+مصلحا
+معلقا
+معلما
+مغلظا
+مغیلا
+مفصلا
+مفلسا
+مقتضا
+مقطعا
+مکھنا
+مکھیا
+ملگجا
+ملنسا
+ملیسا
+ممکنا
+منجلا
+منجنا
+منجھا
+منچلا
+منشیا
+منصفا
+منگتا
+منگلا
+منگنا
+منگیا
+منمنا
+منیلا
+منہنا
+منہیا
+میٹتا
+میٹیا
+میٹھا
+میجتا
+میچتا
+میگھا
+میلیا
+میمنا
+میہما
+مہکتا
+مہملا
+مہنتا
+مہنگا
+مہیلا
+مہینا
+نبٹتا
+ننجتا
+نبھتا
+نپٹتا
+نپجتا
+نتیلا
+نتھلا
+نتھنا
+نتھیا
+نٹنیا
+نٹینا
+نٹھتا
+نجمنا
+نجھتا
+نچنیا
+نچھتا
+نشیلا
+نظمیا
+نفسیا
+نکسلا
+نکلتا
+نکمیا
+نکیلا
+نکھتا
+نکھیا
+نگستا
+نگلتا
+نگلیا
+نگیلا
+نگہبا
+نگھتا
+نمٹتا
+نمسکا
+نمکیا
+ننھیا
+نیٹنا
+نیشیا
+نیکیا
+نیکھا
+نیمیا
+ئیشیا
+ئیگیا
+یپلکا
+یتیلا
+یخنیا
+یستبا
+یکھتا
+یگچیا
+یگستا
+یمپلا
+ینٹھا
+ینکتا
+ینگتا
+ینگیا
+ہپہپا
+ہتھیا
+ہٹکنا
+ہٹیلا
+ہٹھیا
+ہچکتا
+ہچکچا
+ہچکیا
+ہسپتا
+ہستیا
+ہلبلا
+ہلپھا
+ہلگتا
+ہلینا
+ہلہلا
+ہمپشا
+ہمکتا
+ہمکیا
+ہنستا
+ہنسیا
+ہنگیا
+ہنہنا
+ہیلنا
+ہینسا
+ہینگا
+ھکنیا
+ھکیلا
+ھلکتا
+ھلکیا
+ھلملا
+ھمکتا
+ھمکیا
+ھنستا
+ھنسیا
+ھنکتا
+ھنکیا
+ھینگا
+بطیب
+تشبیب
+تصلیب
+تنصیب
+کینٹب
+لجیب
+لحسیب
+لحصیب
+لمجیب
+متعجب
+متعصب
+مجتنب
+محتسب
+مسبب
+مستجب
+مسیب
+منتخب
+منتسب
+جھینپ
+سٹیمپ
+سنکلپ
+گھینپ
+بشکست
+بعجلت
+ٹھینگے
+تبنیت
+تمکنت
+تہنیت
+جمعیت
+جنبیت
+جنسیت
+جھٹنت
+حقیقت
+حیثیت
+سلطنت
+سنگیت
+شخصیت
+شیطنت
+شیعیت
+طبیعت
+طیسیت
+عصبیت
+عظیمت
+عقلیت
+علمیت
+غنیمت
+فضیلت
+فضیحت
+فضیلت
+قطبیت
+قطعیت
+کمیت
+کیفیت
+کیمخت
+گھٹنت
+لپھیت
+لٹھیٹ
+لحکمت
+لخلقت
+لعصمت
+لکھپت
+لمقیت
+لممیت
+مسکنت
+مصلحت
+مصیبت
+معصیت
+معیشت
+معیئت
+ملتفت
+ملکیت
+مملکت
+منفعت
+منقبت
+میمنت
+نصیحت
+ئیلیت
+یکلخت
+یکمشت
+ہلسنت
+بیسنٹ
+بھینٹ
+پمفلٹ
+پنگھٹ
+پیٹنٹ
+پھینٹ
+تلچھٹ
+ٹسٹنٹ
+ٹیکسٹ
+جھپیٹ
+جھنجٹ
+چھینٹ
+سٹمنٹ
+سسپنٹ
+سسٹنٹ
+سلفیٹ
+سلیکٹ
+سیمنٹ
+شپمنٹ
+کیبنٹ
+کیمسٹ
+گھسیٹ
+گھینٹ
+لپٹنٹ
+لپمنٹ
+لٹھیٹ
+لجئیٹ
+لفٹنٹ
+میگنٹ
+نیٹنٹ
+ئنٹسٹ
+ہیلمٹ
+بھتیج
+چیلنج
+بھینچ
+پھینچ
+کھینچ
+تسبیح
+تصحیح
+تلمیح
+تنقیح
+مصطلح
+تنسیخ
+بخشند
+بسیند
+بینند
+پنجند
+پیجند
+پیچید
+تجلید
+تحمید
+تصعید
+تعقید
+تفسید
+تقلید
+تکسید
+تمجید
+تمحید
+تمہید
+تنفید
+تنقید
+تہبند
+جتمند
+جمشید
+چھلبد
+خشکید
+سمبند
+سمجھد
+سنجید
+علیحد
+فہمید
+کھلند
+لتمند
+لحمید
+لسعید
+لشہید
+لعقید
+لکھند
+لمجید
+لمسجد
+لمیعد
+لمقتد
+مجتہد
+مچھند
+مستبد
+مستعد
+مستند
+معتضد
+معتمد
+منجمد
+منجھد
+منعقد
+مہمند
+نشمند
+ہشمند
+بلینڈ
+بھٹنڈ
+پیگنڈ
+تلینڈ
+چچینڈ
+سٹینڈ
+سیکنڈ
+سگمنڈ
+شفیلڈ
+کلینڈ
+کنفیڈ
+کیتھڈ
+کیلنڈ
+کیلیڈ
+کینیڈ
+کھلنڈ
+گلینڈ
+گھمنڈ
+لمیٹڈ
+مشٹنڈ
+میتھڈ
+یمبلڈ
+ہسبنڈ
+تلمیذ
+فلہذ
+بجھبر
+بچھیر
+بکٹیر
+بکھیر
+بگستر
+بلیچر
+بیچلر
+بینجر
+بیشتر
+بینٹر
+بینکر
+بہتیر
+بھسٹر
+بھمبر
+بھیتر
+بھیکر
+پبلشر
+پتمبر
+پچھتر
+پسنجر
+پکھیر
+پلستر
+پلمبر
+پلیئر
+پنجیر
+پنشنر
+پنکچر
+پیسٹر
+پیشتر
+پیمبر
+پینتر
+پھپیر
+پھٹکر
+پھلسر
+تبختر
+تحقیر
+تخمیر
+تسخیر
+تسطیر
+تشہیر
+تصغیر
+تطہیر
+تظہیر
+تعبیر
+تعمیر
+تغیر
+تفسیر
+تقصیر
+تقطیر
+تکبیر
+تکثیر
+تکسیر
+تکفیر
+تمسخر
+تنکیر
+تینیر
+تھپیر
+تھمبر
+تھیٹر
+تھیچر
+ٹنکچر
+ٹیسٹر
+ٹیلگر
+ٹیمبر
+ٹینکر
+ٹھپکر
+ٹھیٹر
+ٹھٹھر
+ٹھیکر
+جمبیر
+جیکٹر
+جینیر
+جھجھر
+جھنجر
+جھنگر
+چمچیر
+چنگیر
+چنیسر
+چیٹھر
+چیکٹر
+چیمبر
+چھہتر
+سپنسر
+سپئیر
+سپیکر
+ستغفر
+ستگیر
+ستمبر
+ستمگر
+سٹمپر
+سٹینر
+سٹیکر
+سٹیمر
+سٹیئر
+سکیٹر
+سکیسر
+سکیلر
+سکینر
+سگنلر
+سلیپر
+سلیٹر
+سمسٹر
+سمگلر
+سنپٹر
+سنپیر
+سنتگر
+سنسکر
+سنگتر
+سنئیر
+سنیٹر
+سنیچر
+سکیٹر
+سینٹر
+سینسر
+سینئر
+شلیپر
+شمشیر
+شیلٹر
+علمبر
+غضنفر
+فیکٹر
+فیکچر
+قطمیر
+کبیسر
+کبیشر
+کٹیٹر
+کسٹمر
+کسمپر
+کسنجر
+کشمیر
+کفگیر
+کلکٹر
+کلنسر
+کلینر
+کمشنر
+کمنٹر
+کنٹھر
+کنستر
+کیتھر
+کیسٹر
+کیمبر
+کینبر
+کینسر
+کھنجر
+کھنکر
+کھنگر
+کھچر
+گلیسر
+گلیمر
+گنینر
+گھبیر
+گھگر
+گھمیر
+گھنگر
+گھنیر
+لبصیر
+لتھیر
+لخبیر
+لصغیر
+لکبیر
+لکھیر
+لمطہر
+لمگیر
+لمنظر
+لنٹیر
+لنصیر
+لیسٹر
+لیکٹر
+لیکچر
+لینبر
+لینٹر
+متبحر
+متحیر
+متشکر
+متغیر
+متفکر
+متکبر
+متنفر
+مجسٹر
+مختصر
+مخیر
+مستتر
+مسخر
+مستشر
+مستغر
+مستقر
+مستمر
+مشتہر
+مشینر
+معتبر
+مکسچر
+منتشر
+منتظر
+منجیر
+منچھر
+منحصر
+منسٹر
+منگسر
+منیجر
+میکنز
+منیجر
+نٹسیر
+نچسٹر
+نچھتر
+نخچیر
+نسسٹر
+نکسیر
+نکھتر
+نگسیر
+نگشتر
+نیشتر
+نیکلر
+ئیجیر
+یفلگر
+یکسپر
+یکلچر
+یمسٹر
+ینسٹر
+ینکفر
+ہمشیر
+ہمعصر
+ہیتھر
+ہیمبر
+ہینگر
+بتنگڑ
+بکھیڑ
+بلکھڑ
+بھیکڑ
+پلنگڑ
+پھسکڑ
+پھکڑ
+پھیپڑ
+تھپیڑ
+جھمکڑ
+جھنگڑ
+چمچیڑ
+چیتھڑ
+چیٹھڑ
+چیلھڑ
+چھچھڑ
+چھیچڑ
+سینکڑ
+سینگڑ
+علیگڑ
+کلنگڑ
+کلیگڑ
+کھچیڑ
+کھکیڑ
+کھنگڑ
+گنٹھڑ
+گھسیڑ
+لتھیڑ
+مسکیڑ
+ہتھکڑ
+پیپلز
+پیکلز
+تجہیز
+ٹیشنز
+ٹیکلز
+چنگیز
+سکیچز
+سگنلز
+سنگلز
+کسٹمز
+کشنیز
+متمیز
+مستلز
+مستیز
+مشکیز
+ممیز
+میکنز
+مہمیز
+نیپلز
+نیشنز
+ئیکلز
+یتھنز
+ینجلز
+بلقیس
+بیلنس
+بھینس
+پچیس
+پلیکس
+پینٹس
+تجسس
+تجنیس
+ٹمنٹس
+ٹیلکس
+چھبیس
+چھتیس
+خلیفہ
+سپکٹس
+سٹیٹس
+سمٹکش
+سنگلس
+سنیکس
+فٹنگس
+فلیٹس
+کلپٹس
+کیمپس
+گھنیس
+لخمیس
+لشمس
+لمپکس
+لیٹکس
+لیمپس
+متجسس
+متنفس
+ملتمس
+منعکس
+نلسٹس
+ئمیکس
+ئیسنس
+یجنٹس
+یلیکس
+ینجلس
+پیچکش
+پیشکش
+تفتیش
+چپقلش
+کشمکش
+گھنیش
+تخصیص
+تخلیص
+تشخیص
+تلخیص
+تمحیص
+تنقیص
+لتخلص
+متخلص
+تخلیط
+ٹپن
+لقلیط
+لمقسط
+منضبط
+تحفظ
+لحفیظ
+تشنیع
+تقطیع
+لسمیع
+لشفیع
+لمبلغ
+لمطیع
+لمقطع
+متمتع
+مجتمع
+ممتنع
+منقطع
+تبلیغ
+بللی
+تصحیف
+تصنیف
+تعطف
+تقشف
+تکثیف
+تکلیف
+تنصیف
+سنحیف
+للطیف
+متکلف
+مختلف
+مسقف
+مکلف
+منعطف
+منکشف
+تحقیق
+تخلیق
+تطبیق
+تعلیق
+لعتیق
+لمنطق
+متعلق
+مستحق
+منطبق
+ہنبق
+بیٹھک
+بھننک
+پیتھک
+پیسفک
+پھینک
+تشکیک
+تضحیک
+تکنیک
+تملیک
+ٹیکنک
+جھلنک
+جھینک
+چھینک
+کلینک
+کنجشک
+کھٹیک
+گنجلک
+مجسٹک
+منسلک
+منہمک
+ئنٹفک
+یپبلک
+بیٹنگ
+بیجنگ
+بھجنگ
+بھننگ
+پکٹنگ
+پمپنگ
+پئیگ
+پیکنگ
+پھننگ
+تھلنگ
+ٹیچنگ
+جمپنگ
+جیکنگ
+چیکنگ
+سپننگ
+سیکنگ
+فکسنگ
+فنشنگ
+کیپنگ
+کیٹنگ
+میپنگ
+میٹنگ
+میچنگ
+میکنگ
+میلنگ
+ئٹینگ
+ئٹینگ
+یشننگ
+یکٹنگ
+بسبیل
+بمشکل
+بیمثل
+پھٹکل
+پھلیل
+تجہیل
+تحصیل
+تحلیل
+تخلیل
+تخئیل
+تسلسل
+تسہیل
+تشکیل
+تعجیل
+تعطیل
+تعلیل
+تعمیل
+تفصل
+تفصیل
+تفضل
+تقلیل
+تکفیل
+تکمیل
+تمثیل
+تہلیل
+تھکیل
+ٹیمپل
+جھٹیل
+جھلمل
+جھمیل
+چھیچھڑ
+سپیشل
+سنججل
+سنبھل
+سنپتل
+سیمپل
+فیشنل
+فیشیل
+قیفیں
+کتھیل
+کیپٹل
+کیشنل
+کیمبل
+کینچل
+کینسل
+کینگل
+کھٹمل
+کھکھل
+لجلیل
+لجمیل
+لخلیل
+متحمل
+متکفل
+مچھیل
+محتمل
+مستقل
+مسجل
+مسلسل
+مشتعل
+مشتغل
+مشتمل
+مشخیل
+مضمحل
+معجل
+منتقل
+منفعل
+مینٹل
+مینگل
+نٹیبل
+نسٹبل
+نیشنل
+نینٹل
+ئیسکل
+ہینگل
+بلجیم
+بہنگم
+پچھم
+تجسیم
+تحکیم
+تسلیم
+تسنیم
+تصمیم
+تعظیم
+تعلم
+تعلیم
+تفہیم
+تقسیم
+تنجیم
+تنظیم
+تنعم
+تیمم
+ٹنگھم
+ٹھیکم
+جھیلم
+علیکم
+علیہم
+لبعلم
+لحکیم
+لحلیم
+لعظیم
+لعلیم
+لکلیم
+لمعظم
+لنعیم
+لیتیم
+تبسم
+متبسم
+متعلم
+متکلم
+محتشم
+مختتم
+معتصم
+منتظم
+منتقم
+منظم
+منقسم
+منگھم
+منمنا
+منہضم
+میکسم
+مہتمم
+نشینم
+بجکشن
+بلیٹن
+بینگن
+بھبکن
+بھپکن
+پھسلن
+بھنگن
+پبلکن
+پچھم
+پنجتن
+پیشین
+پھپکن
+پھٹکن
+پھسلن
+تھیلیا
+تبیین
+تحسین
+تخمین
+تسکین
+تضمین
+تکفین
+تلقین
+تلئیں
+تلیئن
+تمکین
+تیئین
+تھپکن
+ٹھٹکن
+ثقلین
+جنکشن
+جیکشن
+جھپٹن
+جھپکن
+جھٹکن
+چھلکن
+چھیجن
+چھیلن
+حسنین
+سبطین
+سٹفین
+سٹیشن
+سلجھن
+سلکشن
+سلکھن
+سنگین
+سیٹھن
+سیکشن
+سیمین
+سینچن
+سینکن
+شنگٹن
+شیخین
+علیین
+غمگین
+فنکشن
+قطبین
+کسیجن
+کلفٹن
+کلیمن
+کمیشن
+کنکشن
+کیپٹن
+کیپشن
+کیٹشن
+کیٹین
+کھٹکن
+کھنجن
+کھنچن
+گھسٹن
+لپیٹن
+لچھمن
+لحسین
+لحصین
+لستشن
+لمتین
+لمکین
+لنشین
+لنگٹن
+لیسین
+لیکسن
+لیکشن
+متعفن
+متعین
+متقین
+متمکن
+متنجن
+لمکین
+لنشین
+مسکین
+مطمئن
+ممتحن
+منقش
+میگلن
+مینشن
+نجبین
+نجکشن
+نشیمن
+نعلین
+نقشین
+نگبین
+نمکین
+نیپکن
+نیلشن
+ئمکین
+ئیشین
+یٹکشن
+یکسین
+یملین
+یسین
+ہمپٹن
+ہملٹن
+بپتیں
+بتتیں
+بتکیں
+بتیس
+بٹتیں
+بجبیں
+بجتیں
+بجھیں
+بچتیں
+بچکیں
+بچلیں
+بچھیں
+بحثیں
+بخشیں
+بستیں
+بطخیں
+بغلیں
+بکتیں
+بلتیں
+بلکیں
+بنتیں
+بنچیں
+بیتیں
+بیچیں
+بیلیں
+بینیں
+بہتیں
+بہکیں
+بہلیں
+بہنیں
+بھچیں
+بھکیں
+بھلیں
+بھنیں
+پتتیں
+پتھیں
+پٹتیں
+پٹخیں
+پٹکیں
+پچتیں
+پچکیں
+پچھیں
+پستیں
+پکتیں
+پگلیں
+پلتیں
+پلکیں
+پنپیں
+پیتیں
+پیشیں
+پیلیں
+پہنیں
+پھبیں
+پھکیں
+پھلیں
+تپتیں
+تپکیں
+تچتیں
+تگتیں
+تلتیں
+تلئیں
+تمہیں
+تنتیں
+تنکیں
+تیغیں
+تھپیں
+تھتیں
+تھجیں
+تھکیں
+تھلیں
+تھمیں
+ٹپتیں
+ٹپکیں
+ٹکتیں
+ٹکٹیں
+ٹلتیں
+ٹنگیں
+ٹیپیں
+ٹیکیں
+ٹیمیں
+ٹہلیں
+ٹھتیں
+ٹھسیں
+ٹھگیں
+ٹھلیں
+ٹھنیں
+جپتیں
+جتتیں
+جچتیں
+جگتیں
+جگہیں
+جلتیں
+جلیس
+جمپیں
+جنتیں
+جنسیں
+جنگیں
+جنہیں
+جنھیں
+جیپیں
+جیتیں
+جیلیں
+جیہیں
+جہتیں
+جھتیں
+جھکیں
+جھلیں
+چبتیں
+چبکیں
+چبلیں
+چبھیں
+چپتیں
+چپٹیں
+چپکیں
+چپلیں
+چتتیں
+چٹخیں
+چٹکیں
+چسکیں
+چکلیں
+چکھیں
+چگتیں
+چلتیں
+چمٹیں
+چمکیں
+چنتیں
+چیپیں
+چیخیں
+چیلیں
+چہکیں
+چھپیں
+چھتیں
+چھلیں
+چھنیں
+حبتیں
+حجتیں
+حشتیں
+حمتیں
+حیتیں
+خلتیں
+ستتیں
+سٹکیں
+سجتیں
+سسکیں
+سعتیں
+سکتیں
+سلتیں
+سلگیں
+سمتیں
+سنتیں
+سنگیں
+سیتیں
+سیجیں
+سیخیں
+سیکیں
+سیلیں
+سیمیں
+چیلنج
+سہتیں
+سہلیں
+سہمیں
+شفٹیں
+شکلیں
+شکنیں
+شلفیں
+شمعیں
+صحتیں
+صفتیں
+صیتیں
+شفٹیں
+علتیں
+غمگیں
+عنیں
+عیتیں
+غبتیں
+غمگیں
+فصلیں
+فعتیں
+فلمیں
+فیسیں
+قسطیں
+قسمیں
+قلتیں
+قلمیں
+کٹتیں
+کٹکیں
+کچلیں
+کستیں
+کسلیں
+کعتیں
+کلتیں
+کملیں
+کیبیں
+کیکیں
+کیلیں
+کہتیں
+کھپیں
+کھتیں
+کھٹیں
+کھلیں
+گپکیں
+گتھیں
+گٹکیں
+گٹھیں
+گلتیں
+گنتیں
+گیسیں
+گہکیں
+گھٹیں
+گھچیں
+گھسیں
+گھلیں
+لپٹیں
+لپکیں
+لٹتیں
+لٹکیں
+لجھیں
+لچتیں
+لچکیں
+لچھیں
+لحتیں
+لسٹیں
+لشتیں
+لغتیں
+لکتیں
+لکھیں
+لگتیں
+لگنیں
+لمکیں
+لنشیں
+لنگیں
+لیپیں
+لیتیں
+لیٹیں
+لیچیں
+لیفیں
+لیقیں
+لیکیں
+لیلیں
+لہکیں
+لہنیں
+مٹتیں
+مٹکیں
+مثلیں
+مچتیں
+مچکیں
+مچلیں
+مسکیں
+مسلیں
+مشقیں
+مشکیں
+مکتیں
+ملتیں
+منتیں
+منکیں
+منگیں
+میتیں
+میٹیں
+میجیں
+میچیں
+میخیں
+میمیں
+مہکیں
+نبٹیں
+نبضیں
+نبھیں
+نپتیں
+نپٹیں
+نتتیں
+نتیس
+نتھیں
+نٹتیں
+نٹھیں
+نجبیں
+نجتیں
+نجشیں
+نجھیں
+نچتیں
+نچھیں
+نستیں
+نسلیں
+نظمیں
+نعتیں
+نسٹھو
+لچسپیا
+مطمع
+ثیق
+مغلظ
+پیچک
+فظے
+محنت
+نعشیں
+نعلیں
+نفلیں
+نقلیں
+نکتیں
+نکلیں
+نکھیں
+نگبیں
+نگتیں
+نگلیں
+نگئیں
+نگھیں
+نمٹیں
+نیتیں
+ئینس
+یشنیں
+یعتیں
+یکھیں
+یلتیں
+ینکیں
+ینگیں
+ہٹتیں
+ہچکیں
+ہکتیں
+ہگتیں
+ہلتیں
+ہلگیں
+ہمتیں
+ہمکیں
+ہمگیں
+ہنسیں
+ھکتیں
+ھلتیں
+ھلکیں
+ھمکیں
+ھنتیں
+ھنسیں
+ھنکیں
+بتیسو
+بٹینو
+بجلیو
+بچھیو
+بحثیو
+بختیو
+بخششو
+بخیلو
+بستیو
+بسکٹو
+بسملو
+بطگیو
+بقچیو
+بکسنو
+بکسیو
+بکیلو
+بگیلو
+بگینو
+بگھیو
+بلبلو
+بلٹیو
+بلخیو
+بلنگو
+بلیمو
+بمبیو
+بنگلو
+بیبیو
+بیتیو
+بیٹیو
+بیٹھو
+بیعتو
+بیکسو
+بیگمو
+بیگنو
+بیلٹو
+بیلچو
+بیلنو
+بینجو
+بینکو
+بھبکو
+بھبو
+بھپکو
+بھتنو
+بھٹکو
+بھٹیو
+بھسکو
+بھشکو
+بھگتو
+بھلسو
+بھمبو
+بھنکو
+بھنگو
+بھیجو
+بھیسو
+بھیگو
+بھیلو
+پپیتو
+پپیہو
+پتلیو
+پتنگو
+پتنیو
+پتیلو
+پٹیلو
+پچپنو
+پچیسو
+پچھلو
+پستیو
+پسلیو
+پسیجو
+پسینو
+پگلیو
+پگھلو
+پلپلو
+پلٹنو
+پلٹیو
+پلنگو
+پنسلو
+پنکھو
+پیٹیو
+پیٹھو
+پھٹکو
+پیچھو
+پیکٹو
+پینٹو
+پیکٹو
+پینٹو
+پینگو
+پہنچو
+پھبکو
+پھنسو
+پھپکو
+پھپھو
+پھٹکو
+پھسکو
+پھسلو
+پھلکو
+پھلیو
+پھنسو
+پھنکو
+پھیکو
+پھیلو
+تبتیو
+تتلیو
+تجلیو
+تختیو
+تسلیو
+تشفیو
+تصفیو
+تعلقو
+تلتلو
+تلخیو
+تنتنو
+تیلتو
+تیلیو
+تینہو
+تہمتو
+تھپکو
+تھنچو
+تھنیو
+تھلو
+ٹکلیو
+ٹگھلو
+ٹلٹلو
+ٹمنٹو
+ٹیبلو
+ٹیسٹو
+ٹیکسو
+ٹیلبو
+ٹیلیو
+ٹینٹو
+ٹینکو
+ٹہنیو
+ٹھٹکو
+ٹھٹھو
+ٹھسکو
+ٹھگنو
+ٹھلیو
+ٹھمکو
+ٹھنسو
+ٹھنکو
+ٹھنیو
+ٹھیکو
+ٹھیلو
+جبینو
+جپسیو
+جثیمو
+جستجو
+جنبشو
+جنبیو
+جنتیو
+جنگلو
+جنئیو
+جیٹھو
+جنیو
+جھپٹو
+جھپکو
+جھٹکن
+جھجکو
+جھکیو
+جھگیو
+جھلسو
+جھلکو
+جھمکو
+جھنجو
+جھنکو
+جھیلو
+چپٹیو
+چٹھیو
+چٹکلو
+چٹکیو
+چٹنیو
+چٹیلو
+چسکیو
+چسنیو
+چشتیو
+چغلیو
+چلبلو
+چلمنو
+چمٹیو
+چمچیو
+چمنیو
+چنکٹو
+چنگیو
+چنگھو
+چنٹو
+چینٹو
+چینگو
+چینیو
+چہچہو
+چہیتو
+چھپنو
+چھٹکو
+چھٹیو
+چھچھل
+چھلکو
+چھنٹو
+چھنکو
+چھیکو
+چھیلو
+چھینو
+حبشنو
+حبشیو
+حبیبو
+حسنیو
+حسینو
+حشتیو
+حشمتو
+حکمتو
+حکیمو
+حلیفو
+حنفیو
+حیتیو
+خبطیو
+خبیثو
+خصتیو
+خصلتو
+خطیبو
+خلفیو
+خلقیو
+خلیجو
+خلیقو
+خمچیو
+خمیسو
+خنکیو
+سبکیو
+سبیلو
+ستخطو
+ستعفو
+ستلیو
+ستنبو
+ستنجو
+سٹیجو
+سٹیچو
+سٹیفو
+سٹینو
+سجنیو
+سختیو
+سسکیو
+سطبلو
+سفینو
+سقنقو
+سقیفو
+سسکچیو
+سیکچو
+سکیلو
+سکیمو
+سگنلو
+سلجھو
+سلسلو
+سلفیو
+سلیٹو
+سلیقو
+سمجھو
+سمیٹو
+سنجیو
+سنجھو
+سنکیو
+سنگتو
+سنگیو
+سنیو
+سیپیو
+سیٹھو
+سیشنو
+سیکھو
+سینتو
+سینٹو
+سینچو
+سینکو
+سینگو
+سینیو
+شبیہو
+شفقتو
+شکستو
+شکنجو
+شکیو
+شلغمو
+شمنیو
+شیخیو
+شیشیو
+شیمپو
+صحبتو
+صحیفو
+صطبلو
+صنعتو
+ضبطیو
+ضعیفو
+ضمیمو
+طبلقو
+طبیبو
+طلعتو
+طنطنو
+طینتو
+ظلمتو
+عجمیو
+عصبیو
+عصمتو
+عظمتو
+علتو
+عملیو
+عنکبو
+عیبیو
+عیلیو
+فیسٹو
+فیصلو
+فیلسو
+فہمیو
+قبطیو
+قبیلو
+قسمتو
+قفیتو
+قلفیو
+قلیتو
+قلیمو
+قمچیو
+قمقمو
+قمیصو
+قیمتو
+قہقہو
+کپکپو
+کتیسو
+کٹکٹو
+کٹنیو
+کسبیو
+کستیو
+کسٹھو
+کلغیو
+کلفتو
+کلیجو
+کلیلو
+کلیمو
+کلھیو
+کمبلو
+کمپیو
+کمسنو
+کمیتو
+کمیلو
+کمنو
+کنٹھو
+کنجیو
+کنکٹو
+کنکئو
+کنگفو
+کنگلو
+کنگنو
+کنگھو
+کیبنو
+کیتیو
+کیسٹو
+کیسیو
+کیمپو
+کینچو
+کھٹکو
+کھٹلو
+کھٹیو
+کھسکو
+کھسلو
+کھکھو
+کھمبو
+کھنچو
+کھنکو
+کھیپو
+کھیتو
+کھیلو
+کھیئو
+گتھنو
+گتھیو
+گٹکیو
+گشتیو
+گفتگو
+گلٹیو
+گلگلو
+گنتیو
+گنٹھو
+گنجیو
+گنگنو
+گھپلو
+گھٹکو
+گھٹنو
+گھسٹو
+گھگھو
+گھنٹو
+گھنگو
+گھیکو
+لبلبو
+لبیلو
+لپیٹو
+لٹکنو
+لجھنو
+لچھنو
+لشتیو
+لطیفو
+لعنتو
+لعینو
+لفینگو
+لکشیو
+لگنیو
+لمحمو
+لمختو
+لمخلو
+لمعبو
+لمعمو
+لمکتو
+لمنظو
+لنگیو
+لنگھو
+لیبلو
+لیتھو
+لیچیو
+لیسیو
+لیگیو
+لیمپو
+لہنگو
+مبلغو
+متقیو
+مٹکیو
+مٹھیو
+مثلثو
+مجسمو
+مجلسو
+مجمعو
+مچلکو
+محبتو
+محسنو
+محفلو
+محققو
+محکمو
+محملو
+محنتو
+مخلصو
+مخمصو
+مخملو
+مخنثو
+مسکنو
+مسلکو
+مسلمو
+مسئلو
+مشعلو
+مشغلو
+مشفقو
+مشقتو
+مشکبو
+مشکلو
+مشکیو
+مشکو
+مشینو
+مصطفو
+مصلحو
+مصنفو
+مطلعو
+معلمو
+مغلپو
+مغنیو
+مفلسو
+مکتبو
+مکینو
+مکھنو
+مکھیو
+ملکیو
+منجمو
+منجنو
+منچلو
+منشیو
+منصبو
+منصبو
+منصفو
+منطقو
+منگنو
+منگھو
+میٹھو
+میکلو
+میمنو
+مہینو
+نتیجو
+نتھنو
+نٹنیو
+نٹیٹو
+نٹھلو
+نجمنو
+نجیبو
+نجیلو
+نچلیو
+نسبتو
+نسٹھو
+نسسکو
+نشستو
+نشیبو
+نشینو
+نصیبو
+نظمیو
+نعمتو
+نقیبو
+نکمو
+نکمیو
+نکیلو
+نکھتو
+نکھٹو
+نکھیو
+نگلیو
+نگینو
+نگیلو
+نلسٹو
+نلکیو
+نمکخو
+نیپچو
+نیسکو
+نیکیو
+نیلگو
+نیمچو
+ئجسٹو
+ئیسکو
+ئیکلو
+ئیگیو
+ئینچو
+یتیمو
+یجنٹو
+یخنیو
+یسٹھو
+یکھیو
+یگچیو
+یلچیو
+یلیمو
+ھکینو
+ھمکیو
+بصیغئہ
+سینئہ
+شعبئہ
+صیغئہ
+عطیئہ
+غنچئہ
+فیقئہ
+قبلئہ
+قلعئہ
+نقطعئہ
+نیمئہ
+ہفتئہ
+ببیسی
+بپتنی
+بتکتی
+بتکنی
+بتیسی
+بجھتی
+بجھنی
+بچکتی
+بچکنی
+بچلتی
+بچلنی
+بچھتی
+بچھنی
+بخشتی
+بخششی
+بخشنی
+بخیلی
+بستگی
+بستنی
+بسکٹی
+بسنتی
+بکبکی
+بکینی
+بگینی
+بگیلی
+بلبلی
+بلٹتی
+بلٹنی
+بلغی
+بلکتی
+بلکنی
+بللی
+بلیسی
+بمبئی
+بنٹتی
+بنٹنی
+بنجتی
+بنجنی
+بنسنی
+بنفشی
+بنیٹی
+بنینی
+بتیتی
+بتینی
+بیٹھی
+بیجتی
+بیجنی
+بیچتی
+بیچنی
+بیسنی
+بیکسی
+بیگمی
+بیگنی
+بیلتی
+بیلتی
+بیلنی
+بینتی
+بینکی
+بیننی
+بیہقی
+بھجتی
+بھجنی
+بہشتی
+بہکتی
+بہکنی
+بہلتی
+بہلنی
+بہنگی
+بھبکی
+بھپکی
+بھتنی
+بھٹکی
+بھٹنی
+بھٹئ
+بھجتی
+بھجنی
+بھچتی
+بھچنی
+بھسکی
+بھشتی
+بھکتی
+بھکنی
+بھگتی
+بھلتی
+بھلسی
+بھلنی
+بھنتی
+بھنچی
+بھنکی
+بھنگی
+بھننی
+بھیجی
+بھیکی
+بھیگی
+بھیلی
+بھینی
+پتیلی
+پتھتی
+پتھنی
+پٹختی
+پٹچنی
+پٹکنی
+پٹکتی
+پٹیتی
+پچکتی
+پچکنی
+پچپسی
+پچھتی
+پچھلی
+پچھمی
+پچھنی
+پچتگی
+پستئ
+پسیجی
+پگلتی
+پگلنی
+پگھلی
+پلپلی
+پلتھی
+پلٹتی
+پلٹنی
+پنبئ
+پنپنی
+پنتھی
+پنچھی
+پنکھی
+پنگتی
+پنیلی
+پیپسی
+پیپلی
+پیتلی
+پیتھی
+پیٹتی
+پیٹنی
+پیٹھی
+پیستی
+پیسنی
+پیشگی
+پیکسی
+پیلتی
+پیلنی
+پینٹی
+پھسکی
+پہنتی
+پہنچی
+پہنی
+پہیلی
+پھبتی
+پھبکی
+پھبنی
+پھپی
+پھپکی
+پھپھی
+پھٹتی
+پھٹکی
+پھٹنی
+پھسکی
+پھسلی
+پھکتی
+پھکنی
+پھلتی
+پھلٹی
+پھلسی
+پھلکی
+پھلنی
+پھنتی
+پھنسی
+پھنکی
+پھنگی
+پھننی
+پھیکی
+پھیلی
+پھینی
+تبتی
+تیبچی
+تپکتی
+تپکنی
+تحفگی
+تشنجی
+تشنگی
+تعصبی
+تعصبی
+تعلقی
+تعلی
+تغلقی
+تکبکی
+تکتکی
+تکلفی
+تکینی
+تلتلی
+تللی
+تلملی
+تلیٹی
+تمیمی
+تنتنی
+تنفسی
+تنکتی
+تنکنی
+تیبچی
+تیپچی
+تیجتی
+تیجنی
+تیکھی
+تھپتی
+تھپکی
+تھپنی
+تھتھی
+تھجتی
+تھجنی
+تھکتی
+تھکلی
+تھکنی
+تھگلی
+تھلتی
+تھلنی
+تھمتی
+تھمنی
+تھنچی
+تھیلی
+ٹپکتی
+ٹکٹکی
+ٹکھلی
+ٹلٹلی
+ٹنگتی
+ٹنگنی
+ٹیپتی
+ٹیپنی
+ٹیکتی
+ٹیکسی
+ٹیکنی
+ٹینکی
+ٹہلتی
+ٹہلنی
+ٹھٹکی
+ٹھٹھی
+ٹھستی
+ٹھسکی
+ٹھسنی
+ٹھکتی
+ٹھکنی
+ٹھگتی
+ٹھگنی
+ٹھلتی
+ٹھلنی
+ٹھمکی
+ٹھنتی
+ٹھنکی
+ٹھنگی
+ٹھننی
+ٹھیکی
+ٹھیگی
+ٹھینی
+ثعلبی
+جستگی
+جلیبی
+جلیسی
+جلیلی
+جملگی
+جمنئ
+جمیلی
+جنگلی
+جیتتی
+جیتنی
+جیٹھی
+جہنمی
+جھپٹی
+جھپکی
+جھجکی
+جھکتی
+جھکنی
+جھلتی
+جھلسی
+جھلکی
+جھلنی
+جھمکی
+جھنجی
+جھیلی
+چبکتی
+چبکنی
+چبینی
+چبھتی
+چبھنی
+چپٹتی
+چپٹنی
+چپکتی
+چپکنی
+چپنٹی
+چپیٹی
+چتھلی
+چٹختی
+چٹخنی
+چٹکتی
+چٹکنی
+ہچکنی
+چسکتی
+چسکنی
+چکٹتی
+چکٹنی
+چکلتی
+چکلنی
+چکھتی
+چکھنی
+چلبلی
+چلچلی
+چلملچی
+چمپئ
+چمٹتی
+چمٹنی
+چمکتی
+چمکنی
+چنبلی
+چنچنی
+چپیتی
+چپینی
+چیختی
+چیخنی
+چپنٹی
+چینگی
+چہکتی
+چہکنی
+چہیتی
+چھپتی
+چھپٹی
+چھپنی
+چھٹتی
+چھٹکی
+چھچھو
+چھلتی
+چھلتی
+چھلکی
+چھلنی
+چھنتی
+چھنٹی
+چھنکی
+چھننی
+چھیپی
+چھیلی
+چھینی
+حبیبی
+حسنی
+حسینی
+حقیقی
+حکمتی
+حکیمی
+حلیلی
+حلیمی
+حنبلی
+خستگی
+خصلتی
+خفتگی
+خلتسی
+خلخلی
+خلیجی
+خمینی
+خنثی
+سپینی
+ستخطی
+ستھنی
+سٹکتی
+سٹکنی
+سجیلی
+سچیتی
+سسکتی
+سسکنی
+سلپـی
+سلجھی
+سلسلی
+سلفچی
+سلگتی
+سلگنی
+سلمی
+سلیٹی
+سلگنی
+سمبلی
+سمبھی
+سمپلی
+سمٹتی
+سمٹنی
+سمجھی
+سمیٹی
+سنسنی
+سنکتی
+سنکلی
+سنکنی
+سککتی
+سیفٹی
+سیکھی
+سیلتی
+سیلنی
+سیمگی
+سینتی
+سینٹی
+سینچی
+سینکی
+سینگی
+سہلتی
+سہلنی
+سہمتی
+سہمنی
+سہیلی
+شبنمی
+شستگی
+شفتگی
+شفتلی
+شکیبی
+شلجمی
+شلغمی
+شمنگی
+صحبتی
+صخحچی
+صلیبی
+صنعتی
+ضعیفی
+طبلچی
+طبیعی
+طفیلی
+طلسمی
+عظمی
+عظیمی
+عقبی
+عقیلی
+علیگی
+غصیلی
+غفلتی
+غلئ
+غنچگی
+غنغنی
+غیبتی
+فلسفی
+فلیٹی
+فیمچی
+فیملی
+فینسی
+قسمتی
+قلعئ
+قلیبی
+قلیتی
+قلیمی
+قیمتی
+قینـی
+کپکپی
+کتھئ
+کٹکٹی
+کٹکنی
+کچکچی
+کچلتی
+کچلنی
+کچھنی
+کسلتی
+کسلنی
+کشتنی
+کشمشی
+کلبلی
+کلتھی
+کلیتی
+کلیٹی
+کلیجی
+کلیمی
+کمپلی
+کمسنی
+کملتی
+کملنی
+کمیتی
+کمیٹی
+کمینی
+کنپٹی
+کنجنی
+کنچنی
+کنکتی
+کنکٹی
+کنکنی
+کنکلی
+کنگھی
+کیتلی
+کیتھی
+کیچلی
+کیکتی
+ککیلنی
+کھبی
+کھپتی
+کھپچی
+کھپنی
+کھتی
+کھتلی
+کھٹتی
+کھٹی
+کھٹکی
+کھٹل
+کھجی
+کھجلی
+کھسکی
+کھسلی
+کھلتی
+کھلنی
+کھمبی
+کھنچی
+کھنسی
+کھنکی
+کھنی
+کھیتی
+کھیلی
+کھینی
+کھیئی
+گپکتی
+گپکنی
+گتھتی
+گتھنی
+گٹکتی
+گٹکنی
+گٹھتی
+گٹھلی
+گٹھنی
+گجگجی
+گشتگی
+گفتنی
+گلتھی
+گلکلی
+گنٹھی
+گنگنی
+گینتی
+گہکتی
+گہکنی
+گھپتی
+گھپنی
+گھٹتی
+گھٹکی
+گھٹنی
+گھچلی
+گھستی
+گھسٹی
+گھسنی
+گھلتی
+گھلنی
+گھنٹی
+گھنگی
+گھنی
+لبلبی
+لبنی
+لنیلی
+لپٹتی
+لپٹنی
+لپکتی
+لپکنی
+لپیٹی
+لٹکتی
+لٹکنی
+لجمعی
+لجھتی
+لجھنی
+لچسپی
+نچکتی
+لچکنی
+لچھتی
+لچھمی
+لچھنی
+لیسنی
+لضحی
+لعنتی
+لفنگی
+لکشمی
+لکعبی
+لکھتی
+لکھنی
+لمحصی
+لمحیی
+لمعطی
+لمغنی
+لمکتی
+لکتی
+لمکنی
+لنسکی
+لنگتی
+کینڑ
+لنگھی
+لیپتی
+لیپنی
+لیٹتی
+لیٹنی
+لیجھی
+لیچتی
+لیچنی
+لیستی
+لیسنی
+لیلی
+لہکتی
+لہکنی
+مبنی
+مثیلی
+مجسٹی
+مجلسی
+مجلی
+مجملی
+مچکتی
+مچکنی
+مچلنی
+مچھلی
+محبتی
+محسنی
+محشی
+محلی
+محنتی
+مخلصی
+مخلی
+مخملی
+مسکتی
+مسکنی
+مسنتی
+مسلنی
+مسمسی
+مسمی
+مسیحی
+مشفقی
+مشقتی
+مثنی
+مشینی
+مصحفی
+مفطکی
+مصطگی
+مصلی
+مطلبی
+معطلی
+معلمی
+معلی
+معینی
+مغلئٖ
+مفلسی
+مقتضی
+مقضی
+مقفی
+مکتبی
+ملتجی
+ملگجی
+ملنکی
+ملہٹی
+منتہی
+منجلی
+منجھی
+منچلی
+منحنی
+منصبی
+منصفی
+منطقی
+منقی
+منکتی
+منکتی
+منگتی
+منگنی
+منمنی
+منہنی
+میتھی
+میٹتی
+میٹنی
+میٹھی
+میجتی
+میجنی
+میچتی
+میچنی
+میکسی
+میگنی
+میلسی
+میمنی
+مہکتی
+مہکنی
+مہنگی
+نبٹتی
+نبٹنی
+نبختی
+نبھتی
+نپٹتی
+نپٹنی
+پنجتی
+پنجنی
+نتھنی
+نٹیلی
+نٹھتی
+نٹھنی
+نجیلی
+نجھتی
+نجھنی
+نچھتی
+نچھنی
+نسبتی
+نسیسی
+نسینی
+نشیبی
+نشیلی
+نشینی
+نعیمی
+نکلتی
+نکلنی
+نکمی
+نکیلی
+نکھتی
+نکھنی
+نگلتی
+نگلنی
+نگیلی
+نگینی
+نگھتی
+نگھنی
+نمٹتی
+نمٹنی
+نطینی
+نیستی
+نیکسی
+نینسی
+ئستگی
+ئینٹی
+ٹینکی
+ئینگی
+یتیلی
+یتیمی
+یجنسی
+یحیی
+یخھنی
+یحیی
+یفتگی
+یقینی
+یکنسی
+یکھتی
+یکھنی
+یلمعی
+یمیمی
+یمینی
+ینٹھی
+ینکتی
+ینکنی
+ینگتی
+ینگنی
+ہتھنی
+نٹیلی
+ہچکتی
+ہچکنی
+ہستگی
+ہستنی
+ہلبلی
+ہلگتی
+ہلگنی
+ہمکنی
+ہنستی
+ہنسلی
+ہنسنی
+ہشیمی
+ھکیلی
+ھلکتی
+ھلکنی
+ھمکتی
+ھمکنی
+ھنستی
+ھسنی
+ھنکتی
+ھنکنی
+بپتنے
+بپتئے
+بتکتے
+بتکنے
+بتکئے
+بجھتے
+بجھنے
+بجھئے
+بچپنے
+بچکتے
+بچکنے
+بچکئے
+بچلتے
+بچلنے
+بچلئے
+بچھتے
+بچھنے
+بچھئے
+بخشتے
+بخشئے
+بکسلے
+بکسنے
+بگیلے
+بگینے
+بلبلے
+بلٹتے
+بلٹئے
+بلکتے
+بلکئے
+بللے
+بنٹتے
+بنٹئے
+بنجتے
+بنجئے
+بنگلے
+بیتتے
+بیتئے
+بیٹھے
+بیجتے
+بیچتے
+بیچئے
+بیلتے
+بیلچے
+بیلنے
+بیلئے
+بینتے
+بینئے
+بہکتے
+بہکئے
+بہلتے
+بہلئے
+بھپکے
+بھتنے
+بھٹکے
+بھجتے
+بھجئے
+بھچتے
+بھچئے
+بھسکے
+بھکتے
+بھکئے
+بھگتے
+بھلتے
+بھلسے
+بھلنے
+بھلئے
+بھنتے
+بھنچے
+بھنگے
+بھننے
+بھنئے
+بھیجے
+بھیگے
+بھیلے
+بھینے
+پپیتے
+پپیہے
+پتنگے
+پتیلے
+پتھتے
+پتھئے
+پٹختے
+پٹخئے
+پٹکتے
+پچکتے
+پچکئے
+پچھتے
+پچھلے
+پچھنے
+پچھئے
+پسیجے
+پسینے
+پگلتے
+پگلئے
+پگھلے
+پلپلے
+پلٹتے
+پلٹئے
+پنپتے
+پنپئے
+پنکھے
+پنیلے
+پیٹتے
+پیٹئے
+پیٹھے
+پیجئے
+پیچھے
+پیستے
+پیسئے
+پیلنے
+پیلئے
+پہنتے
+پہنچے
+پہننے
+پہنئے
+پھبتے
+پھبکے
+پھبنے
+پھبئے
+پھپکے
+پھٹتے
+پھٹکے
+پھٹنے
+پھٹئے
+پھسکے
+پھسلے
+پھکتے
+پھکئے
+پھلتے
+پھلسے
+پھلکے
+پھلنے
+پھلئے
+پھنسے
+پھنکے
+پھننے
+پھیکے
+پھیلے
+تپکتے
+تپکئے
+تصیفے
+تعلقے
+تکملے
+تلتلے
+تلملے
+تنتنے
+تنتئے
+تنکتے
+تنکئے
+تیجتے
+تیجئے
+تیکھے
+تھپتے
+تھپکے
+تھپنے
+تھپئے
+تھجتے
+تھجئے
+تھکتے
+تھکئے
+تھلتے
+تھلئے
+تھمتے
+تھمئے
+تھنچے
+تھیلے
+ٹپکتے
+ٹپکئے
+ٹگھلے
+ٹلٹلے
+ٹنگتے
+ٹنگئے
+ٹیپتے
+ٹیپئے
+ٹیکتے
+ٹیکئے
+ٹہلتے
+ٹہلئے
+ٹھٹکے
+ٹھٹھے
+ٹھستے
+ٹھسکے
+ٹھسئے
+ٹھگتے
+ٹھگئے
+ٹھلتے
+ٹھلئے
+ٹھمکے
+ٹھنتے
+ٹھننے
+ٹھنئے
+ٹھیکے
+ٹھیلے
+جنگلے
+جیتتے
+جیتئے
+جیٹھے
+جھپٹتے
+جھپکے
+جھٹکی
+جھجکے
+جھکتے
+جھکئے
+جھلتے
+جھلسے
+جھلکے
+جھلنے
+جھلئے
+جھمکے
+جھیلے
+چبکتے
+چبکئے
+چبینے
+چبھتے
+چبھئے
+چپٹتے
+چپٹئے
+چپچے
+چپکتے
+چپکئے
+چپیٹے
+چٹختے
+چٹخئے
+چٹکتے
+چٹکلے
+چٹکنے
+چٹکئے
+چسکتے
+چکٹتے
+چکٹئے
+چکلتے
+چکلئے
+چکھتے
+چکھئے
+چلبلے
+چمٹتے
+چمٹئے
+چمکتے
+چمکئے
+چنبھے
+چنچنے
+چیپتے
+چیپئے
+چیختے
+چیخئے
+چینٹے
+چینگے
+چہچہے
+چہکتے
+چہکئے
+چہیتے
+چھپتے
+چھپکے
+چھپنے
+چھپئے
+چھٹتے
+چھٹکے
+چھٹنے
+چھٹئے
+چھلتے
+چھلکے
+چھلنے
+چھلئے
+چھنتے
+چھنکے
+چھننے
+چھننے
+چھنئے
+چھیپے
+چھیلے
+چھینے
+ستعفے
+ستنجے
+سٹکتے
+سٹکئے
+سجیلے
+سسکتے
+سسکئے
+سفینے
+سلجھے
+سلسلے
+سلگتے
+سلگئے
+سلمے
+سلیقے
+سمٹتے
+سمٹئے
+سمجھے
+سمیٹے
+سنکتے
+سنکئے
+سیٹھے
+سیجئے
+سیچتے
+سیچئے
+سیکھے
+سیلتے
+سیلئے
+سینتے
+سینچے
+سینگے
+سہلتے
+سہلئے
+سہمتے
+سہمئے
+شکنجے
+صحیفے
+ضمیمے
+عطیئے
+عقبے
+عقیقے
+غصیلے
+غلبلے
+غلیلے
+فتیلے
+فلسفے
+فلیتے
+فیصلے
+قبیلے
+قضیئے
+قلئیے
+قمقمے
+قہقہے
+کپکپے
+کٹکتے
+کٹکٹے
+کٹکئے
+کٹیلے
+کچکچے
+کچلتے
+کچلئے
+کسلتے
+کسلئے
+کسیلے
+کلبلے
+کلیجے
+کملتے
+کملئے
+کمیلے
+کمینے
+کنٹھے
+کنکتے
+کنکٹے
+کنکنے
+کنکئے
+کنگلے
+کنگنے
+کنگھے
+کیجئے
+کیکتے
+کیکئے
+کیلتے
+کیلئے
+کھپتے
+کھپئے
+کھٹتے
+کھٹکے
+کھٹلے
+کھٹنے
+کھٹئے
+کھجلے
+کھسکے
+کھسلے
+کھلتے
+کھلئے
+کھمبے
+کھنچے
+کھنکے
+کھتے
+کھیلے
+کھنے
+کھیئے
+گپکتے
+گپکئے
+گتھتے
+گتھئے
+گٹھے
+گٹکتے
+گٹکئے
+گٹھتے
+گٹھئے
+گجگجے
+گلگلے
+گنٹھے
+گنگنے
+گہکتے
+گہکئے
+گھپتے
+گھپلے
+گھپنے
+گھپئے
+گھٹتے
+گھٹکے
+گھٹنے
+گھٹئے
+گھچلے
+گھستے
+گھٹے
+گھسئے
+گھلتے
+گھلئے
+گھنٹے
+گھنئے
+لبلبے
+لبیلے
+لپٹتے
+لپٹئے
+لپکتے
+لپکئے
+لپیٹتے
+لٹکتے
+لٹکئے
+لجھتے
+لجھئے
+لچکتے
+لچکئے
+لچھتے
+لچھئے
+لشتیے
+لطیفے
+لفنگے
+لکھتے
+لکھئے
+لمکتے
+لمکئے
+لنگتے
+لنگئے
+لنگھے
+لیپتے
+لیپئے
+لیٹتے
+لیٹئے
+لیجئے
+لیچتے
+لیچئے
+لیستے
+لیسئے
+لیکھے
+لیلے
+لینگے
+لہکتے
+لہکئے
+متھتے
+متھئے
+مٹکتے
+مٹکئے
+مثنے
+مجسمے
+مجلے
+مچکتے
+مچکئے
+مچلتے
+مچلئے
+محکمے
+مخلے
+مخمصے
+مسکتے
+مسکئے
+مسلتے
+مسلئے
+مسئلے
+مشغلے
+مشکلے
+مصلے
+مطلعے
+معلے
+ملگجے
+منجھے
+منچلے
+منکتے
+منکئے
+منگتے
+منگئے
+میٹتے
+میٹئے
+میٹھے
+میجتے
+میجئے
+میچتے
+میچئے
+مہکتے
+مہکئے
+مہنگے
+مہینے
+نبٹتے
+نبٹئے
+نبھتے
+نبھئے
+نپٹتے
+نپٹئے
+نپجتے
+نپجئے
+نتیجے
+نتھنے
+نتھئے
+نٹھئے
+نجھتے
+نجھئے
+نچنئے
+نچھتے
+نچھئے
+نشیلے
+نصیبے
+نکلتے
+نکلئے
+نکمے
+نکیلے
+نکھتے
+نکھئے
+نگلتے
+نگلئے
+نگیلے
+نگینے
+نگھتے
+نگھئے
+نمٹتے
+نمٹئے
+نمستے
+نیٹھے
+نیمچے
+ئینچے
+ئینگے
+یتیلے
+یکھتے
+یکھئے
+ینٹھے
+ینکتے
+ینکئے
+ینگتے
+ینگئے
+ہٹیلے
+ہچکتے
+ہچکئے
+ہلگتے
+ہلگئے
+ہمکتے
+ہمکئے
+ہنستے
+ہنسئے
+ھکیلتے
+ھکیلئے
+ھکیلے
+ھلکتے
+ھلکئے
+ھمکتے
+ھمکئے
+ھنستے
+ھنسئے
+ھنکتے
+ھنکئے
+بصیغہ
+بقیتہ
+بگینہ
+بلیلبہ
+بنفشہ
+بنگلہ
+بیلچہ
+تپنچہ
+تثنیہ
+تخلیہ
+تسمیہ
+تشبیہ
+تصفیہ
+تعلقہ
+تعمیہ
+تکمیلہ
+تمنچہ
+تنبیہ
+تہلکہ
+ٹھٹھہ
+ٹھیکہ
+ٹھیلہ
+ثعلبہ
+ثمینہ
+جلیلہ
+جمعتہ
+جمیلہ
+چشتیہ
+حبیبہ
+حسینہ
+حشتیہ
+حلفیہ
+حلیلہ
+حلیمہ
+حنیفہ
+خبیثہ
+خجستہ
+خفیفہ
+خلیلہ
+سفینہ
+سقیفہ
+شکستہ
+سکینہ
+سلسلہ
+سنبلہ
+سہیلہ
+شبیلہ
+شبینہ
+شعشعہ
+شفیعہ
+شفیقہ
+شقیقہ
+شکبیہ
+شکستہ
+شکنجہ
+شکیبہ
+شکیلہ
+شگفتہ
+شمیمہ
+شنیعہ
+شیفتہ
+شہنشہ
+صبعتہ
+صبغتہ
+صبیحہ
+صحیفہ
+ضحیفہ
+ضمیمہ
+طبیبہ
+طپنچہ
+طلیعہ
+طمنچہ
+طنطنہ
+عجیبہ
+عشقیہ
+عصبیہ
+عطیۂ
+عظیمہعفیفہ
+عقیقہ
+عقیلہ
+عقیمہ
+علقمہ
+علمیہ
+عیلیہ
+غلغلہ
+غلیطہ
+غلیظہ
+غلیلہ
+غنچۂ
+فتیلہ
+فصیحہ
+فلبتہ
+فلسفہ
+فلیتہ
+فیصلہ
+قبیحہ
+قبیلہ
+قتیکہ
+قسمیہ
+قمقمہ
+قہقہہ
+کبیسہ
+کٹکنہ
+کلبلہ
+کلکتہ
+کلمتہ
+کلنکہ
+کلیجہ
+کلیلہ
+کمینہ
+کنینہ
+کہھجلہ
+گنجفہ
+گھنٹہ
+لجمعہ
+لجملہ
+لجنتہ
+لخلخہ
+لشتیہ
+لشعبہ
+لطیفہ
+لعنتہ
+لقلقہ
+لکعبہ
+للغتہ
+للہ
+لمنتہ
+لیلتہ
+مبینہ
+متصلہ
+متفقہ
+متنبہ
+مثبتہ
+مجسمہ
+مجلہ
+مچلکہ
+محسنہ
+محصنہ
+محکمہ
+محلہ
+مخمصہ
+مسلمہ
+مسئلہ
+مسینہ
+مشتبہ
+مشعلہ
+مشغلہ
+مصنفہ
+مضحکہ
+مطلقہ
+مظلمہ
+مظنہ
+معلقہ
+معلمہ
+معینہ
+مغلیہ
+مغنیہ
+مقنہ
+مکتبہ
+منحقہ
+ملیحہ
+ممکنہ
+منصۂ
+منطقہ
+میختہ
+میمنہ
+مہملہ
+مہینہ
+نپیلہ
+نتیجہ
+نسیمہ
+نشستہ
+نصیبہ
+نطینہ
+نظمیہ
+نعتیہ
+نعیمہ
+نگینہ
+نیمچہ
+ئنچہ
+ہلیلہ
+ہمیشہ
+ہمہمہ
+پینٹہ
+ٹھیٹھ
+جھنجھ
+کھنکھ
+لینتھ
+ملیچھ
+ہیلتھ
+لبینتہ
+لعظمتہ
+مشخیل
+حسنی
+خنثی
+عقبی
+عیسی
+لبنی
+لصلو
+مثنی
+مجلی
+مجملا
+محشی
+جلگ
+معلی
+مقفی
+یحیی
+تعلقا
+قیمتا
+مجملا
+مطلقا
+بنجتی
+بنجنی
+بنسنی
+بنفشی
+بنیٹی
+بنینی
+بتیتی
+بتینی
+بیٹھی
+بیجتی
+بیجنی
+بیچتی
+بیچنی
+بیسنی
+بیکسی
+بیگمی
+بیگنی
+بیلتی
+بیلتی
+بیلنی
+بینتی
+بینکی
+بیننی
+بیہقی
+بھجتی
+بھجنی
+بہشتی
+بہکتی
+بہکنی
+بہلتی
+بہلنی
+بہنگی
+بھبکی
+بھپکی
+بھتنی
+بھٹکی
+بھٹنی
+بھٹئ
+بھجتی
+بھجنی
+بھچتی
+بھچنی
+بھسکی
+بھشتی
+بھکتی
+بھکنی
+بھگتی
+بھلتی
+بھلسی
+بھلنی
+بھنتی
+بھنچی
+بھنکی
+بھنگی
+بھننی
+بھیجی
+بھیکی
+بھیگی
+بھیلی
+بھینی
+پتیلی
+پتھتی
+پتھنی
+پٹختی
+پٹچنی
+پٹکنی
+پٹکتی
+پٹیتی
+پچکتی
+پچکنی
+پچپسی
+پچھتی
+پچھلی
+پچھمی
+پچھنی
+پچتگی
+پستئ
+پسیجی
+پگلتی
+پگلنی
+پگھلی
+پلپلی
+پلتھی
+پلٹتی
+پلٹنی
+پنبئ
+پنپنی
+پنتھی
+پنچھی
+پنکھی
+پنگتی
+پنیلی
+پیپسی
+پیپلی
+پیتلی
+پیتھی
+پیٹتی
+پیٹنی
+پیٹھی
+پیستی
+پیسنی
+پیشگی
+پیکسی
+پیلتی
+پیلنی
+پینٹی
+پھسکی
+پہنتی
+پہنچی
+پہنی
+پہیلی
+پھبتی
+پھبکی
+پھبنی
+پھپی
+پھپکی
+پھپھی
+پھٹتی
+پھٹکی
+پھٹنی
+پھسکی
+پھسلی
+پھکتی
+پھکنی
+پھلتی
+پھلٹی
+پھلسی
+پھلکی
+پھلنی
+پھنتی
+پھنسی
+پھنکی
+پھنگی
+پھننی
+پھیکی
+پھیلی
+پھینی
+تبتی
+تیبچی
+تپکتی
+تپکنی
+تحفگی
+تشنجی
+تشنگی
+تعصبی
+تعصبی
+تعلقی
+تعلی
+تغلقی
+تکبکی
+تکتکی
+تکلفی
+تکینی
+تلتلی
+تللی
+تلملی
+تلیٹی
+تمیمی
+تنتنی
+تنفسی
+تنکتی
+تنکنی
+تیبچی
+تیپچی
+تیجتی
+تیجنی
+تیکھی
+تھپتی
+تھپکی
+تھپنی
+تھتھی
+تھجتی
+تھجنی
+تھکتی
+تھکلی
+تھکنی
+تھگلی
+تھلتی
+تھلنی
+تھمتی
+تھمنی
+تھنچی
+تھیلی
+ٹپکتی
+ٹکٹکی
+ٹکھلی
+ٹلٹلی
+ٹنگتی
+ٹنگنی
+ٹیپتی
+ٹیپنی
+ٹیکتی
+ٹیکسی
+ٹیکنی
+ٹینکی
+ٹہلتی
+ٹہلنی
+ٹھٹکی
+ٹھٹھی
+ٹھستی
+ٹھسکی
+ٹھسنی
+ٹھکتی
+ٹھکنی
+ٹھگتی
+ٹھگنی
+ٹھلتی
+ٹھلنی
+ٹھمکی
+ٹھنتی
+ٹھنکی
+ٹھنگی
+ٹھننی
+ٹھیکی
+ٹھیگی
+ٹھینی
+ثعلبی
+جستگی
+جلیبی
+جلیسی
+جلیلی
+جملگی
+جمنئ
+جمیلی
+جنگلی
+جیتتی
+جیتنی
+جیٹھی
+جہنمی
+جھپٹی
+جھپکی
+جھجکی
+جھکتی
+جھکنی
+جھلتی
+جھلسی
+جھلکی
+جھلنی
+جھمکی
+جھنجی
+جھیلی
+چبکتی
+چبکنی
+چبینی
+چبھتی
+چبھنی
+چپٹتی
+چپٹنی
+چپکتی
+چپکنی
+چپنٹی
+چپیٹی
+چتھلی
+چٹختی
+چٹخنی
+چٹکتی
+چٹکنی
+ہچکنی
+چسکتی
+چسکنی
+چکٹتی
+چکٹنی
+چکلتی
+چکلنی
+چکھتی
+چکھنی
+چلبلی
+چلچلی
+چلملچی
+چمپئ
+چمٹتی
+چمٹنی
+چمکتی
+چمکنی
+چنبلی
+چنچنی
+چپیتی
+چپینی
+چیختی
+چیخنی
+چپنٹی
+چینگی
+چہکتی
+چہکنی
+چہیتی
+چھپتی
+چھپٹی
+چھپنی
+چھٹتی
+چھٹکی
+چھچھو
+چھلتی
+چھلتی
+چھلکی
+چھلنی
+چھنتی
+چھنٹی
+چھنکی
+چھننی
+چھیپی
+چھیلی
+چھینی
+حبیبی
+حسنی
+حسینی
+حقیقی
+حکمتی
+حکیمی
+حلیلی
+حلیمی
+حنبلی
+خستگی
+خصلتی
+خفتگی
+خلتسی
+خلخلی
+خلیجی
+خمینی
+خنثی
+سپینی
+ستخطی
+ستھنی
+سٹکتی
+سٹکنی
+سجیلی
+سچیتی
+سسکتی
+سسکنی
+سلپـی
+سلجھی
+سلسلی
+سلفچی
+سلگتی
+سلگنی
+سلمی
+سلیٹی
+سلگنی
+سمبلی
+سمبھی
+سمپلی
+سمٹتی
+سمٹنی
+سمجھی
+سمیٹی
+سنسنی
+سنکتی
+سنکلی
+سنکنی
+سککتی
+سیفٹی
+سیکھی
+سیلتی
+سیلنی
+سیمگی
+سینتی
+سینٹی
+سینچی
+سینکی
+سینگی
+سہلتی
+سہلنی
+سہمتی
+سہمنی
+سہیلی
+شبنمی
+شستگی
+شفتگی
+شفتلی
+شکیبی
+شلجمی
+شلغمی
+شمنگی
+صحبتی
+صخحچی
+صلیبی
+صنعتی
+ضعیفی
+طبلچی
+طبیعی
+طفیلی
+طلسمی
+عظمی
+عظیمی
+عقبی
+عقیلی
+علیگی
+غصیلی
+غفلتی
+غلئ
+غنچگی
+غنغنی
+غیبتی
+فلسفی
+فلیٹی
+فیمچی
+فیملی
+فینسی
+قسمتی
+قلعئ
+قلیبی
+قلیتی
+قلیمی
+قیمتی
+قینـی
+کپکپی
+کتھئ
+کٹکٹی
+کٹکنی
+کچکچی
+کچلتی
+کچلنی
+کچھنی
+کسلتی
+کسلنی
+کشتنی
+کشمشی
+کلبلی
+کلتھی
+کلیتی
+کلیٹی
+کلیجی
+کلیمی
+کمپلی
+کمسنی
+کملتی
+کملنی
+کمیتی
+کمیٹی
+کمینی
+کنپٹی
+کنجنی
+کنچنی
+کنکتی
+کنکٹی
+کنکنی
+کنکلی
+کنگھی
+کیتلی
+کیتھی
+کیچلی
+کیکتی
+ککیلنی
+کھبی
+کھپتی
+کھپچی
+کھپنی
+کھتی
+کھتلی
+کھٹتی
+کھٹی
+کھٹکی
+کھٹل
+کھجی
+کھجلی
+کھسکی
+کھسلی
+کھلتی
+کھلنی
+کھمبی
+کھنچی
+کھنسی
+کھنکی
+کھنی
+کھیتی
+کھیلی
+کھینی
+کھیئی
+گپکتی
+گپکنی
+گتھتی
+گتھنی
+گٹکتی
+گٹکنی
+گٹھتی
+گٹھلی
+گٹھنی
+گجگجی
+گشتگی
+گفتنی
+گلتھی
+گلکلی
+گنٹھی
+گنگنی
+گینتی
+گہکتی
+گہکنی
+گھپتی
+گھپنی
+گھٹتی
+گھٹکی
+گھٹنی
+گھچلی
+گھستی
+گھسٹی
+گھسنی
+گھلتی
+گھلنی
+گھنٹی
+گھنگی
+گھنی
+لبلبی
+لبنی
+لنیلی
+لپٹتی
+لپٹنی
+لپکتی
+لپکنی
+لپیٹی
+لٹکتی
+لٹکنی
+لجمعی
+لجھتی
+لجھنی
+لچسپی
+نچکتی
+لچکنی
+لچھتی
+لچھمی
+لچھنی
+لیسنی
+لضحی
+لعنتی
+لفنگی
+لکشمی
+لکعبی
+لکھتی
+لکھنی
+لمحصی
+لمحیی
+لمعطی
+لمغنی
+لمکتی
+لکتی
+لمکنی
+لنسکی
+لنگتی
+کینڑ
+لنگھی
+لیپتی
+لیپنی
+لیٹتی
+لیٹنی
+لیجھی
+لیچتی
+لیچنی
+لیستی
+لیسنی
+لیلی
+لہکتی
+لہکنی
+مبنی
+مثیلی
+مجسٹی
+مجلسی
+مجلی
+مجملی
+مچکتی
+مچکنی
+مچلنی
+مچھلی
+محبتی
+محسنی
+محشی
+محلی
+محنتی
+مخلصی
+مخلی
+مخملی
+مسکتی
+مسکنی
+مسنتی
+مسلنی
+مسمسی
+مسمی
+مسیحی
+مشفقی
+مشقتی
+مثنی
+مشینی
+مصحفی
+مفطکی
+مصطگی
+مصلی
+مطلبی
+معطلی
+معلمی
+معلی
+معینی
+مغلئٖ
+مفلسی
+مقتضی
+مقضی
+مقفی
+مکتبی
+ملتجی
+ملگجی
+ملنکی
+ملہٹی
+منتہی
+منجلی
+منجھی
+منچلی
+منحنی
+منصبی
+منصفی
+منطقی
+منقی
+منکتی
+منکتی
+منگتی
+منگنی
+منمنی
+منہنی
+میتھی
+میٹتی
+میٹنی
+میٹھی
+میجتی
+میجنی
+میچتی
+میچنی
+میکسی
+میگنی
+میلسی
+میمنی
+مہکتی
+مہکنی
+مہنگی
+نبٹتی
+نبٹنی
+نبختی
+نبھتی
+نپٹتی
+نپٹنی
+پنجتی
+پنجنی
+نتھنی
+نٹیلی
+نٹھتی
+نٹھنی
+نجیلی
+نجھتی
+نجھنی
+نچھتی
+نچھنی
+نسبتی
+نسیسی
+نسینی
+نشیبی
+نشیلی
+نشینی
+نعیمی
+نکلتی
+نکلنی
+نکمی
+نکیلی
+نکھتی
+نکھنی
+نگلتی
+نگلنی
+نگیلی
+نگینی
+نگھتی
+نگھنی
+نمٹتی
+نمٹنی
+نطینی
+نیستی
+نیکسی
+نینسی
+ئستگی
+ئینٹی
+ٹینکی
+ئینگی
+یتیلی
+یتیمی
+یجنسی
+یحیی
+یخھنی
+یحیی
+یفتگی
+یقینی
+یکنسی
+یکھتی
+یکھنی
+یلمعی
+یمیمی
+یمینی
+ینٹھی
+ینکتی
+ینکنی
+ینگتی
+ینگنی
+ہتھنی
+نٹیلی
+ہچکتی
+ہچکنی
+ہستگی
+ہستنی
+ہلبلی
+ہلگتی
+ہلگنی
+ہمکنی
+ہنستی
+ہنسلی
+ہنسنی
+ہشیمی
+ھکیلی
+ھلکتی
+ھلکنی
+ھمکتی
+ھمکنی
+ھنستی
+ھسنی
+ھنکتی
+ھنکنی
+بصیغہ
+بقیتہ
+بگینہ
+بلیلبہ
+بنفشہ
+بنگلہ
+بیلچہ
+تپنچہ
+تثنیہ
+تخلیہ
+تسمیہ
+تشبیہ
+تصفیہ
+تعلقہ
+تعمیہ
+تکمیلہ
+تمنچہ
+تنبیہ
+تہلکہ
+ٹھٹھہ
+ٹھیکہ
+ٹھیلہ
+ثعلبہ
+ثمینہ
+جلیلہ
+جمعتہ
+جمیلہ
+چشتیہ
+حبیبہ
+حسینہ
+حشتیہ
+حلفیہ
+حلیلہ
+حلیمہ
+حنیفہ
+خبیثہ
+خجستہ
+خفیفہ
+خلیلہ
+سفینہ
+سقیفہ
+شکستہ
+سکینہ
+سلسلہ
+سنبلہ
+سہیلہ
+شبیلہ
+شبینہ
+شعشعہ
+شفیعہ
+شفیقہ
+شقیقہ
+شکبیہ
+شکستہ
+شکنجہ
+شکیبہ
+شکیلہ
+شگفتہ
+شمیمہ
+شنیعہ
+شیفتہ
+شہنشہ
+صبعتہ
+صبغتہ
+صبیحہ
+صحیفہ
+ضحیفہ
+ضمیمہ
+طبیبہ
+طپنچہ
+طلیعہ
+طمنچہ
+طنطنہ
+عجیبہ
+عشقیہ
+عصبیہ
+عطیۂ
+عظیمہعفیفہ
+عقیقہ
+عقیلہ
+عقیمہ
+علقمہ
+علمیہ
+عیلیہ
+غلغلہ
+غلیطہ
+غلیظہ
+غلیلہ
+غنچۂ
+فتیلہ
+فصیحہ
+فلبتہ
+فلسفہ
+فلیتہ
+فیصلہ
+قبیحہ
+قبیلہ
+قتیکہ
+قسمیہ
+قمقمہ
+قہقہہ
+کبیسہ
+کٹکنہ
+کلبلہ
+کلکتہ
+کلمتہ
+کلنکہ
+کلیجہ
+کلیلہ
+کمینہ
+کنینہ
+کہھجلہ
+گنجفہ
+گھنٹہ
+لجمعہ
+لجملہ
+لجنتہ
+لخلخہ
+لشتیہ
+لشعبہ
+لطیفہ
+لعنتہ
+لقلقہ
+لکعبہ
+للغتہ
+للہ
+لمنتہ
+لیلتہ
+مبینہ
+متصلہ
+متفقہ
+متنبہ
+مثبتہ
+مجسمہ
+مجلہ
+مچلکہ
+محسنہ
+محصنہ
+محکمہ
+محلہ
+مخمصہ
+مسلمہ
+مسئلہ
+مسینہ
+مشتبہ
+مشعلہ
+مشغلہ
+مصنفہ
+مضحکہ
+مطلقہ
+مظلمہ
+مظنہ
+معلقہ
+معلمہ
+معینہ
+مغلیہ
+مغنیہ
+مقنہ
+مکتبہ
+منحقہ
+ملیحہ
+ممکنہ
+منصۂ
+منطقہ
+میختہ
+میمنہ
+مہملہ
+مہینہ
+نپیلہ
+نتیجہ
+نسیمہ
+نشستہ
+نصیبہ
+نطینہ
+نظمیہ
+نعتیہ
+نعیمہ
+نگینہ
+نیمچہ
+ئنچہ
+ہلیلہ
+ہمیشہ
+ہمہمہ
+پینٹہ
+ٹھیٹھ
+جھنجھ
+کھنکھ
+لینتھ
+ملیچھ
+ہیلتھ
+لبینتہ
+لعظمتہ
+مشخیل
+حسنی
+خنثی
+عقبی
+عیسی
+لبنی
+لصلو
+مثنی
+مجلی
+مجملا
+محشی
+جلگ
+معلی
+مقفی
+یحیی
+تعلقا
+قیمتا
+مجملا
+مطلقا
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/6grams.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/6grams.txt
new file mode 100644
index 0000000..d1e21f1
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/6grams.txt
@@ -0,0 +1,1542 @@
+بھینگا
+ٹھینگا
+پتیلیا
+بلبلیا
+پلپلیا
+تلتلیا
+ٹلٹلیا
+پھینکا
+پگھلتا
+پگھلنا
+ٹگھلتا
+ٹگھلنا
+بنگلیا
+بیٹھتا
+بیٹھنا
+ینٹھتا
+ینٹھنا
+بھیجتا
+بھیجنا
+پہنچتا
+پہنچنا
+بھیلتا
+بھیلنا
+بھیلیا
+پھیلتا
+پھیلنا
+ٹھیلتا
+ٹھیلنا
+ٹیکسٹا
+ٹیکسیا
+پسیجتا
+پسیجنا
+بھبکتا
+بھبکنا
+بھبکیا
+بھپکتا
+بھپکنا
+بھپکیا
+بھٹکتا
+بھنکتا
+بھنکنا
+بھیگتا
+بھیگنا
+پھٹکتا
+پھنکتا
+پھنکنا
+پھنکیا
+تپھکتا
+تپھکیا
+ٹھنکتا
+ٹھنکنا
+ٹھنکیا
+بھٹکنا
+پٹھکنا
+تھپکنا
+بھتیجا
+بھینچا
+پھینچا
+تھیلیا
+ٹھمکتا
+ٹھمکنا
+ٹھمکیا
+ھکیلتا
+پہیلیا
+بھگتنا
+پھسلنا
+پھسلتا
+پھنستا
+پھنسنا
+ٹھنستا
+ٹھنسنا
+چھبیلا
+چٹخنیا
+ھکیلنا
+پھکنیا
+سلجھتا
+سلجھنا
+کھیلتا
+کھیلنا
+کھینچتا
+جھینکا
+جھینگا
+چھینکا
+کھنچنا
+کھٹکتا
+کھٹکنا
+کھٹکیا
+کھنکتا
+کھنکنا
+بھگتتا
+چینٹیا
+جھیلتا
+جھیلنا
+چھیلتا
+چھیلنا
+چینگتا
+چینگنا
+سمجھتا
+سمجھنا
+جھلنگا
+چھلنگا
+جھپٹتا
+جھپٹنا
+جھینپا
+چھنٹتا
+چھنٹنا
+چھیننا
+جھلکتا
+جھلکنا
+جھلکیا
+چھلکتا
+چھلکنا
+چھلکیا
+جھپکتا
+جھپینا
+جھپکیا
+جھٹکتا
+جھٹکنا
+جھکیا
+چھٹکتا
+چھٹکنا
+چھٹکیا
+لپیٹتا
+لپیٹنا
+بھسکنا
+بھسکتا
+ٹھسکتا
+ٹھسکنا
+جھجکنا
+جھجکتا
+چھینتا
+سمیٹنا
+سمیٹتا
+گھنٹیا
+چپیٹتا
+چپیٹنا
+چھینیا
+طبیعیا
+کھسکتا
+کھسکنا
+کھیتیا
+گھٹنیا
+میٹھتا
+میٹھنا
+جھپیٹا
+لبلبیا
+لبیلیا
+ہتھنیا
+چمکیلا
+چھلنیا
+سنکھیا
+سیکھتا
+سیکھنا
+چٹکیلیا
+جلیبیا
+جھلستا
+جھلسنا
+چھینٹا
+سینچتا
+سینچنا
+گھسٹتا
+گھسیٹا
+جھنجلا
+جھلملا
+جھمیلا
+سینکتا
+سینکنا
+فلسفیا
+لہسنیا
+لنگھتا
+لنگھنا
+بہنگیا
+بھینسا
+پتنگیا
+پھلکیا
+تخلیقا
+نتھنیا
+نخلستا
+جھنجھنا
+چھیجتا
+چھنکتا
+چھنکنا
+چبھینا
+سٹکنیا
+کیتلیا
+کنپٹیا
+گھٹلیا
+لچکیلا
+تخمینا
+سینتتا
+سینتنا
+بپتسما
+منگنیا
+مہکیلا
+سنبھلا
+مطلقا
+تحقیقا
+جھنجھیا
+جھمکتا
+جھمکنا
+جھمکیا
+چھتیسا
+سنجھلا
+فضیحتا
+فضیحتا
+متعلقا
+مچھلیا
+ملیشیا
+بھتنیا
+پھبتیا
+کھینچا
+گھیتلا
+گھیتلا
+کنکھیا
+کٹکھنا
+کنگھیا
+چھچھلا
+منجھلا
+سینگنا
+سینگیا
+طلیستا
+کنگنیا
+کھٹہنا
+کھسلتا
+گنٹھیا
+کچھنیا
+کھسلنا
+کیچلیا
+گنجھیا
+گینگٹا
+چھچھنا
+سنسنیا
+گھنگھنا
+کھکھلا
+گنٹھتا
+گنٹھنا
+بھجنگا
+بھنگیا
+ٹھنگنا
+گملیلا
+پھبکتا
+پھبکنا
+پھنگیا
+گینگلا
+پھپکنا
+تحصیلا
+ٹھٹکتا
+ٹھٹکنا
+کھلبلا
+کھنستا
+کھنسنا
+کھیکٹا
+گھٹکتا
+گھٹکنا
+گھینٹا
+گھینپا
+پٹیلتا
+پٹیلنا
+پھینٹا
+پیپلیا
+تسلیا
+تسلیما
+تعصبا
+تعطیلا
+تعلیما
+تعمیلا
+تعیشا
+تکلیفا
+تمثیلا
+تھنچتا
+تھنچنا
+ٹیکسلا
+یمیلیا
+پھسکتا
+پھسکنا
+سبھیتا
+کمپنیا
+معلما
+پھپھیا
+تنصیبا
+نگلستا
+مصطلحا
+گیمبیا
+بکسیلا
+تعظیما
+ٹکسیلا
+کنکٹیا
+تفصیلا
+گھنشیا
+تکلفا
+گھینٹا
+چھیجنا
+لکیمیا
+جھٹپٹا
+بھینٹا
+سنگیتا
+میکنما
+سٹیبلا
+نگینیا
+فلمستا
+فلمسٹا
+بھلسنا
+بھلستا
+سیمینا
+پنکھیا
+پنچھیا
+پھنسیا
+پھسکیا
+قینچیا
+لچیسپیا
+صنعتکا
+تصنیفا
+بلتستا
+تلمیحا
+ملتجیا
+تشبیحا
+بہشتیا
+مصلحتا
+منتظما
+کمیٹیا
+کنٹھیا
+کھچیا
+میکسیا
+بگھلیا
+تصحیفا
+چلمـچیا
+چہیتیا
+سلفچیا
+چمنستا
+لنہیا
+تضحیکا
+بستگیا
+فیملیو
+میگھنا
+پچکلیا
+تنعما
+تنقیحا
+پشیتبا
+ضعیفو
+سمبلیا
+نمیبیا
+منتخبا
+حسینیا
+یجنسیا
+پچیسیا
+یچھنیا
+بتیسیا
+نشینیا
+سہیلیا
+مستجیب
+متعصب
+صنعتیت
+مستغیث
+لحقیقت
+بحیثیت
+لمحصنت
+لسلطنت
+ہلسنت
+بلیسیت
+مسیحیت
+حسینیت
+جھنجھٹ
+لیمینٹ
+یتھلیٹ
+یلپمنٹ
+سٹیٹمنٹ
+لیفٹسٹ
+بینیفٹ
+لیفٹنٹ
+ٹیفیکٹ
+جسٹمنٹ
+مستغیث
+تسبیح
+عقلمند
+نقشبند
+مستفید
+کسلمند
+فلمبند
+قلمبند
+صحتمند
+ٹھیکید
+کشتمند
+تحصیلد
+کمیشنڈ
+نگلینڈ
+پلیٹڈ
+سٹلینڈ
+کھٹمنڈ
+کنسیلڈ
+ہتھکنڈ
+جھینگر
+ٹیلیگر
+نسپکڑ
+پیغمبر
+پیتمبر
+پسینجر
+مینیجر
+لمختصر
+گمبیھر
+ٹھٹھیر
+گھمبیر
+کھینچر
+کیمسٹر
+گلیشیر
+مستعمر
+منگیتر
+سپیکٹر
+مستفسر
+نجینءر
+لمتکبر
+یلفیءر
+سٹیشنر
+گھنگھر
+کھنکھر
+نیپیءر
+نفینٹر
+منٹگر
+ستکھیر
+مستظہر
+لکسمبر
+لگسمبر
+پچھتّر
+لمشتہر
+جھنجھر
+مستنصر
+کمپلسر
+سپینسر
+ٹھیھیر
+مستحصر
+بینظیر
+کینٹیز
+کمیشنر
+لمینڑ
+کمپیءر
+بغلگیر
+بیکٹیر
+لنجھیڑ
+پھلجھڑ
+کھکھپڑ
+بھلکّڑ
+پیکیجز
+کمپنیز
+متمیّز
+منگنیز
+کمیٹیز
+یجنسیز
+فنکشنز
+یلیشنز
+کمیشنر
+جیلنجز
+میٹنگز
+پنیتیس
+کمپلکس
+تینتیس
+ٹیلیکس
+سینتیس
+کلینکس
+لتشخیص
+لمتخلص
+لتخصیص
+مستفیض
+لتصنیف
+منجنیق
+لتحقیق
+ٹیکنیک
+میکینک
+ینگلیک
+تعلّقہ
+میجسٹک
+تھلیٹک
+پینٹنگ
+منیجنگ
+سمگلنگ
+میفکنگ
+کیمپنگ
+ٹیسٹنگ
+بینکنگ
+بلیجنگ
+ٹیکنکل
+نسٹیبل
+یکٹیکل
+لتفصیل
+چھنٹیل
+سٹینسل
+لتحصیل
+سلسبیل
+لتعمیل
+مستعمل
+مستقبل
+مستطیل
+کیمیکل
+بتفصیل
+سمعیل
+مستعجل
+تھلتھل
+کیلسیم
+کیلشیم
+متعلّم
+لتعظیم
+مستقیم
+بکنگھم
+لمنتکم
+مستحکم
+لتعلیم
+مستعصم
+چلبلین
+چمپیءن
+لحسنین
+فلسطین
+سلیکشن
+سلیکشن
+کینٹین
+لیٹیشن
+فسنطین
+کعبتین
+کھنکھن
+لمہیمن
+گبھیلن
+کنسیشن
+مجیشین
+کیپسٹن
+کیسپین
+محققین
+مستحسن
+کنگسٹن
+تھمپٹن
+چھچھلن
+مسلمین
+لثقلین
+متخصصین
+مصنفین
+معلمین
+فٹسمین
+محسنین
+مبلغین
+منصفین
+مصلحین
+بینجمن
+یسیپشن
+بیجتیں
+پٹختیں
+بیچتیں
+تکتیں
+پلٹتیں
+پچکتیں
+جھیلیں
+چھیلیں
+غفلتیں
+بھسکیں
+ٹھسکیں
+بھنتیں
+پھٹتیں
+ٹگھلیں
+پگھلیں
+ٹھنتیں
+نمٹتیں
+پتنگیں
+پینگیں
+پینگیں
+نٹھتیں
+بھیلیں
+پھیلیں
+ٹھیلیں
+پگلتیں
+نکلتیں
+نگلتیں
+نکھتیں
+نگھتیں
+نگھتیں
+بہلتیں
+ٹہلتیں
+بھکتیں
+بھگتیں
+پھکتیں
+ٹھکتیں
+ٹھگتیں
+بھپکیں
+بھٹکیں
+بھٹکیں
+بھیگیں
+پھٹکیں
+پھنکیں
+تھپکیں
+چٹختیں
+بچکتیں
+نکیلیں
+نگیلیں
+بیلتیں
+چبھتیں
+چپکتیں
+چٹکتیں
+کھٹکیں
+کھنکیں
+کھلتیں
+گھلتیں
+سمٹتیں
+سمیٹیں
+نجھتیں
+پچھتیں
+پٹکتیں
+ٹپکتیں
+ٹنگتیں
+ٹیکتیں
+ینکتیں
+ینگتیں
+نچھتیں
+بچھتیں
+کھیتیں
+گھٹتیں
+ھینگیں
+بجھتیں
+بھبکیں
+ٹھنکیں
+بچھئیں
+چپٹتیں
+مٹکتیں
+منگتیں
+محبتیں
+محنتیں
+جھپکیں
+جھٹکیں
+جھیکیں
+جھیکیں
+جیتتیں
+لپٹتیں
+لیپتیں
+لیٹتیں
+کھپتیں
+لپٹیں
+بتکتیں
+چکٹتیں
+لپکتیں
+لٹکتیں
+لنگتیں
+لنگتیں
+ہنستیں
+ھکیلیں
+چلبلیں
+چھپتیں
+چھٹتیں
+چسکتیں
+لہکتیں
+جھپٹیں
+چھنٹیں
+جھلسیں
+لیستیں
+ہچکتیں
+پھسلیں
+پھسلیں
+لجھتیں
+لچھتیں
+پھلتیں
+کیلتیں
+ملتیں
+بچلتیں
+پسیجیں
+بلکتیں
+پہنتیں
+پہنچیں
+بہکتیں
+ٹھستیں
+پھنسیں
+چبکتیں
+چبکتیں
+جھجکیں
+قیمتیں
+کٹکتیں
+گٹکتیں
+گھستیں
+گھسٹیں
+لکھتیں
+مجلسیں
+مچلتیں
+مچکتیں
+مسلیں
+مشکلیں
+میٹتیں
+مہکتیں
+ہمکتیں
+ٹھمکیں
+چمکتیں
+چھلکیں
+سبیلیں
+سنکتیں
+سہلتیں
+کلیلیں
+مشیتیں
+بنفشیں
+چہکتیں
+چھنکیں
+میچتین
+نسبتیں
+گھپتیں
+کھٹتیں
+سینکیں
+سینگیں
+چینگیں
+لچکتیں
+لیکھیں
+فسنطیں
+سیلتیں
+کچلتیں
+کسلتیں
+کلفتیں
+کھسکیں
+کھنچیں
+کھیلیں
+گٹھتیں
+گنٹھیں
+مخملیں
+مکھئں
+جھلکیں
+میجتیں
+بخشتیں
+بھچتیں
+بھیجیں
+سلگتیں
+سہمتیں
+سہمگیں
+سینچیں
+سیکھیں
+فضلتیں
+مسلتیں
+میٹھیں
+پیستیں
+مسکتیں
+لیچتیں
+کملتیں
+گلگلیں
+کھسلیں
+سلجھیں
+سمجھیں
+گتھتیں
+کلبلیں
+نشستیں
+گھٹکیں
+ھمکتیں
+بھلتیں
+پتھتیں
+تپکتیں
+تنکتیں
+تھلتیں
+تھمتیں
+تہمتیں
+ٹھٹکیں
+ٹھٹکیں
+سسکتیں
+سسکتیں
+سینتیں
+گپکتیں
+گپکتیں
+کیکتیں
+لعنتیں
+مشینیں
+ٹھنسیں
+بلنگیں
+پلنگیں
+پھسکیں
+بھنگیں
+پھبکیں
+ٹھلتیں
+گہکتیں
+مثلثیں
+منکتیں
+منکتیں
+تھپتیں
+نخستیں
+صحبتیں
+بگیلیں
+بھجتیں
+تھجتیں
+چپیٹیں
+تیجتیں
+ہلگتیں
+بنجتیں
+بنٹتیں
+بتیتیں
+بیٹھیں
+بینتیں
+پنپتیں
+پیٹتیں
+ٹیپتیں
+نبٹتیں
+نپٹتیں
+چیپتیں
+ینٹھیں
+جھکتیں
+بخششیں
+قسمتیں
+عصمتیں
+صنعتیں
+صنعتیں
+خشمگیں
+خصلتیں
+خصلتیں
+شکستیں
+قمیصیں
+ئجسٹیں
+غیبتیں
+قلیتیں
+خلیجیں
+شفقتیں
+محفلیں
+صلیتیں
+صلیبیں
+حبشنیں
+لجھنیں
+ستینیں
+غلیلیں
+بیلٹیں
+جبینیں
+کیسٹیں
+قفیتیں
+کمیتیں
+منطقیں
+عظمتیں
+جنبشیں
+چپٹتیں
+نجمجنیں
+پلٹنیں
+سکیمیں
+قلیمیں
+مشعلیں
+ہمیتیں
+مشقتیں
+بلبلیں
+سنگتیں
+حشمتیں
+حکمتیں
+سلیٹیں
+بیگمیں
+بھنگنو
+بھنگیو
+بھیلیو
+تھیلیو
+بھینگو
+پھینکو
+ٹھینگو
+پھکینو
+پہیلیو
+بھبکیو
+بھپکیو
+پھنکیو
+ٹھنکیو
+تھپکیو
+بھتیجو
+بھینچو
+پھینچو
+جھینکو
+چھینکو
+جھپیٹو
+جھینپو
+چھینیو
+چھینٹو
+گھٹنیو
+طبلچیو
+ہتھنیو
+طفیلیو
+حقیقتو
+چھلنیو
+لچسپیو
+پھلکیو
+ٹھمکیو
+کیتلیو
+گٹھلیو
+مچھلیو
+ٹیکسیو
+ہتھنیو
+جنگلیو
+فیمچیو
+کیپسیو
+کنپٹیو
+لبلیو
+کھینچو
+کھٹملو
+سٹکنیو
+گھینپو
+تحصیلو
+سنبھلو
+فضیلتو
+فضیحتو
+مسکینو
+گھنگھو
+گھسیٹو
+کنکھیو
+کنگھیو
+کمپنیو
+کمینیو
+کنٹھیو
+کیچلیو
+گنٹھیو
+کنگیو
+منطقیو
+لعنبکو
+بلینکو
+تعطیلو
+تکنیکو
+تنظیمو
+شخصیتو
+متھیلو
+مجسمو
+معلمو
+مملکتو
+ٹیلیفو
+مصلحتو
+سسکچیو
+کیلیفو
+بطلیمو
+بھینسو
+بھمبھو
+بیٹھکو
+مستحقو
+مغنیو
+پتیلیو
+پیپلیو
+ٹمبکٹو
+منگنیو
+بگھیلو
+ٹکھیلو
+کیلیکو
+چمیسفو
+پھنگیو
+چینٹیو
+بمبینو
+بھینٹو
+پھبتیو
+جھلکیو
+جھلکیو
+چھلکیو
+لکھنؤ
+سلطنتو
+کیسینو
+جھنجھو
+سنگینو
+جھمیلو
+پنکھیو
+پنچھیو
+قینچیو
+طبیعتو
+تکلیفو
+پھنسیو
+تصنیفو
+فیسٹیو
+عصبتیو
+مصیبتو
+بہشتیو
+لمسلمو
+بھتنیو
+جھینگو
+کھیتیو
+کیبنٹو
+لچھیو
+فیمیلیا
+کلینکو
+کمیشنو
+کیمسٹو
+میٹنگو
+مطلبیو
+کمیسٹو
+کنکشنو
+نصیحتو
+ٹیکنکو
+تمثیلو
+پیشکشو
+کیفیتو
+کھچیو
+کمیٹیو
+میکسیو
+تفصیلو
+تشبیہو
+تیئسو
+تخمینو
+تخمینو
+نیستیو
+نشیشیو
+چھبیسو
+چھتیسو
+حسینیو
+سنگھیو
+سمبلیو
+سٹیشنو
+ضعیفیا
+سہیلیو
+معیشتو
+نسیسیو
+چیلنجو
+جھمکیو
+لبعلمو
+بستگیو
+جنکشنو
+تبلیغو
+بتیسیو
+سیکشنو
+نگینیو
+لبیلیو
+یجنسیو
+پچیسو
+نطینیو
+تفتیشو
+فنکشکنو
+پیشگیو
+پینسلو
+جمعیتو
+چھبیلو
+جہنمیو
+یچھنیو
+بھشتیو
+فلسفیو
+منتظمو
+پمفلٹو
+تسبیحو
+پیچکشو
+چٹخنیو
+بصیغۂ
+بصیغۂ
+سقیفۂ
+سفینۂ
+منطقۂ
+پگھلتی
+پگھلنی
+ٹگھلتی
+ٹگھلنی
+پسیجتی
+پسیجنی
+بھتیجی
+بھینچی
+پھینچی
+بھگتتی
+بھگتنی
+پہنچتی
+پہنچنی
+پھنستی
+پھنسنی
+ٹھنستی
+ٹھنسنی
+بھینگی
+پھینکی
+ٹھینگی
+بھیلتی
+بھیلنی
+پھیلتی
+پھیلنی
+ٹھیلتی
+ٹھیلنی
+بھپکنی
+بھٹکتی
+بھٹکنی
+پھٹکتی
+پھٹکنی
+ٹھٹکنی
+بھیگتی
+بھیگنی
+بھپکتی
+ٹھمکتی
+ٹھمکنی
+چھپکی
+ستثنی
+بھنکتی
+بھنکنی
+پھنکتی
+پھنکنی
+تھپکتی
+تھپکنی
+ٹھنکتی
+ٹھنکنی
+بیٹھتی
+بیٹھنی
+ینٹھتی
+کھنچتی
+کھنچنی
+تمکینی
+جھلستی
+جھلستی
+جھلسنی
+پھسلتی
+پھسلنی
+جھلکتی
+جھلکنی
+چھلکتی
+چھلکنی
+کھٹکتی
+کھنکتی
+کھنکنی
+نمکینی
+سلجھتی
+سلجھنی
+جھجکتی
+جھجکنی
+چینگتی
+چینگنی
+سمیٹتی
+سمیٹنی
+کھیلتی
+کھیلنی
+لپیٹتی
+لپیٹنی
+بھسکتی
+بھسکنی
+ٹھسکتی
+ٹھسکنی
+چھبیسی
+چھتیسی
+ھکیلتی
+ھکیلنی
+چھنگلی
+چھپیٹی
+چھینتی
+جھپٹتی
+جھپٹنی
+چھنٹتی
+چھنٹنی
+چھیننی
+میٹھتی
+میٹھنی
+جھپکتی
+جھپکنی
+جھٹکتی
+جھٹکنی
+چھٹکتی
+چھٹکنی
+ہتھیلی
+چپیٹتی
+چپیٹنی
+بھبکتی
+بھبکنی
+ٹھٹکتی
+چنبیلی
+جھیلتی
+جھیلنی
+چھیلتی
+چھیلنی
+جھینپی
+جھینکی
+چھٹنکی
+چھینکی
+ہمیشگی
+کھسکتی
+کھسکنی
+گھسٹتی
+گھسٹنی
+گھسیٹی
+چبھینی
+سینکتی
+سینکنی
+سٹیپنی
+سینتتی
+سینتنی
+سینچتی
+سینچنی
+پھینٹی
+لحسنین
+بھیجتی
+بھیجنی
+مقفی
+چھبیلی
+چھیبلی
+مجتبی
+سیکھتی
+سیکھنی
+مسکینی
+تحقیقی
+تخفیفی
+تخلیقی
+نخستگی
+نخستگی
+چھنکتی
+چھنکنی
+سنجھلی
+مینگنی
+نہفتگی
+خجستگی
+لچکیلی
+لمنتہی
+لنگھتی
+لنگھنی
+منجھلی
+معطلی
+کھٹکنی
+کھلبلی
+متمنی
+متنبی
+متبنی
+جھلملی
+جٹکیلی
+چھیجتی
+چھیجنی
+کھپچی
+کہینگی
+کھٹیکی
+کینچلی
+گٹھیلی
+گھنگچی
+معلمی
+مصطفی
+کھسلتی
+کھسلنی
+کھسکنی
+کھٹکٹی
+فضیحتی
+مشعلچی
+مستعفی
+مستقلی
+چمکیلی
+بینجنی
+سنبھلی
+شیفتگی
+گھینٹی
+پھبکتی
+پھبکنی
+پھپکتی
+پھپکنی
+سمجھتی
+سمجھنی
+مستسقی
+بھینٹی
+پبلسٹی
+تخمینی
+تعمیلی
+تفصیلی
+تفضیلی
+سنگینی
+گنٹھنی
+گنٹھتی
+لعظمی
+مسمی
+میجیسٹی
+بلجیمی
+بھلستی
+بھلسنی
+پھلستی
+پھلسنی
+پیگشتی
+شکستگی
+شگفتگی
+گھٹکتی
+گھٹکنی
+لحسنی
+پشیتنی
+پھنگنی
+ٹھنگنی
+یکجہتی
+ستعفی
+تکمیلی
+نگلیسی
+سیلسٹی
+تحلیلی
+ٹکھیلی
+سنکھنی
+مستغنی
+گھینپی
+متحلی
+تعلی
+پیتھنی
+لیکھتی
+پھلیلی
+تمثیلی
+منتقلی
+گلیکسی
+سینکنے
+نسپلٹی
+کھینچی
+لمجستی
+تفہیمی
+تنظیمی
+تبلیغی
+تشکیلی
+فکلٹی
+غمگینی
+پینجنی
+حیثیتی
+کیفیتی
+معیشتی
+تلمیحی
+تشخیصی
+تعظیمی
+بھیکنی
+تھنکنی
+تھنکتی
+بینگنی
+پینلٹی
+سلطنتی
+عقلیتی
+کمینگی
+تہنیتی
+نصیحتی
+لبعلمی
+تفتیشی
+مکینکی
+نگیٹھی
+سلیقگی
+بھیجتے
+بھیجنے
+بھیجئے
+بھتیجے
+بھینچے
+پگھلتے
+پگھلنے
+پگھلنے
+پگھلئے
+ٹگھلتے
+ٹگھلنے
+ٹگھلئے
+پہنچتے
+پہنچنے
+ٹھٹکتے
+ٹھٹکنے
+ھکیلتے
+ھکیلنے
+ھکیلنے
+ھکیلئے
+پسیجتے
+پسیجنے
+پہنچئے
+بھگتئے
+بھپکتے
+بھپکنے
+بھنکتے
+بھنکنے
+بھیگتے
+بھیگنے
+پھنکنے
+تھپکتے
+تھپکنے
+ٹھنکتے
+ٹھنکنے
+بھینگے
+پھینکے
+پسیجئے
+بھبکتے
+بھبکنے
+بھبکئے
+بھپکئے
+بھٹکتے
+بھٹکنے
+بھٹکئے
+بھنکئے
+پھٹکتے
+پھٹکنے
+پھٹکئے
+پھنکئے
+تھپکئے
+ٹھٹکئے
+ٹھینگے
+ٹھینگے
+بھگتنے
+بھگتتے
+بھگتتے
+بھیگئے
+ٹھنکئے
+پھیلتے
+پھیلنے
+بھیلتے
+بھیلنے
+ٹھیلتے
+ٹھیلنے
+ٹھیلئے
+ٹھمکنے
+ٹھمکئے
+ٹھمکتے
+پھسلتے
+پھسلنے
+پھسلئے
+بیٹھنے
+بیٹھتے
+بیٹھئے
+ینٹھئے
+بھیلئے
+پھنستے
+پھنسنے
+پھنسئے
+ٹھنسئے
+چینگتے
+چینگنے
+چینگئے
+جھلستے
+جھلسنے
+جھلسئے
+چھیلئے
+جھلکتے
+جھلکنے
+جھلکئے
+چھلکتے
+چھلکنے
+چھلکئے
+سلجھتے
+سلجھنے
+کھٹکتے
+کھٹکنے
+کھٹکئے
+کھنکتے
+کھنکنے
+کھنکئے
+پھیلئے
+بھسکتے
+بھسکنے
+بھسکئے
+ٹھسکتے
+ٹھسکنے
+ٹھسکئے
+جھپٹتے
+جھپٹنے
+جھپٹئے
+جھینپے
+جھپیٹے
+چھنٹتے
+چھنٹنے
+چھینتے
+چھیننے
+چھینئے
+چھینٹے
+چھنٹئے
+جھپکتے
+جھپکنے
+جھپکئے
+جھٹکتے
+جھٹکنے
+جھٹکئے
+چھٹکتے
+چھٹکنے
+چھٹکئے
+چھنکتے
+چھنکنے
+چھنکئے
+سلجھئے
+سمیٹتے
+سمیٹنے
+کھنچتے
+کھنچنے
+کھنچئے
+جھجکتے
+جھجکنے
+جھجکئے
+سمیٹئے
+سمجھتے
+کھسکتے
+کھسکنے
+کھسکئے
+لپیٹتے
+لپیٹنے
+لپیٹئے
+میٹھتے
+میٹھنے
+میٹھئے
+جھیلئے
+جھینکے
+جھینگے
+چھینکے
+جھیلتے
+جھیلنے
+چھیلتے
+چھیلنے
+چپیٹتے
+چپیٹنے
+سمجھنے
+گھسٹتے
+گھسٹنے
+گھسٹئے
+گھسیٹے
+چپیٹئے
+سیکھتے
+سیکھنے
+سیکھئے
+ینٹھتے
+ینٹھنے
+چٹکیلے
+سمجھئے
+سینکتے
+سینکنے
+سینکئے
+سینتئے
+سینچتے
+سینچنے
+بھلستے
+بھلسنے
+بھلسئے
+پھلستے
+پھلسنے
+پھلسئے
+سٹینلے
+مصطفے
+بھجنگے
+پھسکتے
+پھسکنے
+پھسکئے
+تھنچتے
+تھنچنے
+تھنچئے
+تھنچئے
+جھمیلے
+کھیلتے
+کھیلنے
+چمکیلے
+کھیلئے
+تخمینے
+بھنچتے
+چھٹپٹے
+گنجینے
+لچکیلے
+چھبیلے
+تخمینہ
+متعلقہ
+مفصلہ
+متعینہ
+گنجینہ
+معلمہ
+مقننہ
+معظمہ
+لعظمتہ
+لبینتہ
+بسلسلہ
+تعلقہ
+منسلکہ
+متخیلہ
+پشمینہ
+تشمینہ
+تہمینہ
+لسبیلہ
+مختلفہ
+طلیلیہ
+طلیلیہ
+حسینیہ
+لمحکمہ
+تعلیقہ
+شبیلیہ
+مسیلمہ
+منتخبہ
+منتظمہ
+حنفیہ
+پینسٹھ
+مجتبے
+طبیعتا
+طخمینا
+مصلحتا
+مجتمعا
+تعمیلا
+مستقلا
+تعظیما
+تفصیلا
+تکلفا
+تمثیلا
+تحقیقا
+نتیجتا
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/7grams.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/7grams.txt
new file mode 100644
index 0000000..5adff9f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/7grams.txt
@@ -0,0 +1,354 @@
+پھینکتا
+پھینکنا
+بھینچتا
+بھینچنا
+بھینچنا
+پھینچتا
+پھینچنا
+پھینٹتا
+پھینٹتا
+پھنیٹنا
+بھنبھنا
+پھٹپھٹا
+نمکینیا
+جھپیٹتا
+جھپیٹنا
+جھینپتا
+جھینپنا
+چھنگلیا
+چنبیلیا
+چھٹنکیا
+چھینکنا
+چھپکلیا
+کھینچتا
+کھینچنا
+جھینکتا
+جھینکنا
+چھینکتا
+گھسیٹتا
+گھسیٹنا
+سنبھلتا
+سنبھلنا
+جھپیٹیا
+کینچلیا
+چھمچھما
+کھلبلیا
+چھلچھلا
+جھمجھما
+کھٹکھٹا
+گھنگھنا
+مستثنیا
+جھمیلیا
+مینگنیا
+بھینٹتا
+بھینٹنا
+پھنپھنا
+چھچھلتا
+چھچھلیا
+چھچھلنا
+کھکھنا
+گھینپتا
+گھینپنا
+کھسکھسا
+ٹکھیلیا
+تعظیما
+بھلبھلا
+پھلپھلا
+تھلتھلا
+جھنجھنا
+چھنچھنا
+تعلیمیا
+کھپکھپا
+بھتیجیا
+ہتھیلیا
+فیکلٹیا
+تھکتھکا
+کمینگیا
+سنگینیا
+چھتیسیا
+نگیٹھیا
+لمحصنت
+لمحصنت
+تشبیہیت
+نیشنلسٹ
+سپلیمنٹ
+سپیشلسٹ
+سٹیٹمنٹ
+یسپشنسٹ
+مینجمنٹ
+کنسلٹنٹ
+یکسچینج
+سلیکٹیڑ
+بھنبھیر
+کمنٹیٹر
+مسکیٹئر
+یکٹیشنر
+جیسلمیر
+سپلیمنٹر
+سیلیبیز
+کیمیکلز
+نٹلیجنس
+میکینکس
+ٹیفکیٹس
+نستعلیق
+سینتھٹک
+مینیجنگ
+میکینکل
+ٹیکنیکل
+پلیٹینم
+تھیلیئم
+تھینیئم
+لمستقیم
+جنٹلمین
+کمپیٹیشن
+متعلقین
+متکلمین
+مستحقیین
+منتظمین
+لمسلمین
+لمطففین
+بیٹسمین
+ٹیفیکیشن
+سبکتگین
+لیٹیشین
+متخصصین
+لنبیین
+منجمین
+ٹیکسیشن
+پنیسلین
+بھسکتیں
+ٹھسکتیں
+ٹھمکتیں
+ٹھٹکتیں
+بھیلتیں
+پھیتلتیں
+ٹھیلتیں
+چینگتیں
+چپٹیتیں
+چھلتیں
+چھنٹتیں
+بیھٹتں
+ینٹھتیں
+بھینچیں
+پھینچیں
+پگھلتیں
+ٹگھلتیں
+بھبکتیں
+بھپکتیں
+بھٹکتیں
+بھنگتیں
+بھنگنیں
+بھیگتیں
+پھٹکتیں
+تھپکتیں
+ٹھنکتین
+جھلکتین
+چھلکتین
+جھینکین
+جھینکین
+جھلستین
+جھپکتین
+جھٹکتین
+چھٹکتین
+جھیلتین
+جھینپین
+جھپٹتین
+چھینتین
+گھسٹتین
+گھسیٹین
+حقیقتین
+لپٹیتین
+پھسلتین
+تحصیلین
+بھیجتین
+پھنستین
+پھنستین
+فضیلتین
+فضیلتین
+کھینچین
+مشیتین
+ھکیلتین
+لنگھتین
+بھگتتین
+پسیجتین
+پھینکین
+سلجھتین
+کھٹکتین
+کھسکتین
+کھیلتین
+چھچھیلین
+پہنچتیں
+چھیجتیں
+سمجھتیں
+سمیٹتیں
+سیکھتیں
+سیکھتیں
+کھینچتیں
+کھینچتیں
+فضیحتیں
+میٹھتیں
+گٹھیلیں
+گنٹھتیں
+تعلیلیں
+تمثیلیں
+سنبھلیں
+سینتتین
+کھسلتیں
+بھینٹیں
+پھبکتیں
+پھپکتیں
+پھسکتیں
+تھنچتیں
+مصلحتیں
+مملکتین
+تنظیمیں
+بھنکتیں
+بھنکتیں
+شخصیتیں
+شخصیتیں
+کھنکتیں
+گھٹکتیں
+جھپیٹیں
+سلطنتیں
+بیٹھکیں
+سنگینیں
+بھینسیں
+تکلیفیں
+طبیعتیں
+ئسکلیں
+مصیبتیں
+کیفیتیں
+کلینکیں
+تفصیلیں
+میٹنگیں
+حیثیتیں
+معیشتیں
+تشبیہیں
+تشبیہیں
+جمعیتیں
+پیشکشیں
+تعطیلیں
+تنبیہیں
+تحقیقیں
+پینسلیں
+تسبیحیں
+نمکینکو
+چھٹنکیو
+چھنگلیو
+چھپکلیو
+چھینکیو
+بھنبھو
+پھٹپٹھو
+مینگنیو
+کھلبلیو
+بھتیجیو
+کیمبلپو
+کیمبلپو
+لجسلیٹیو
+میکسیکو
+نسٹیٹیو
+کینچلیو
+نسٹیبلو
+ہتھیلیو
+منجنیقیو
+گیلیلیو
+ٹیفکیٹو
+کینٹیٹو
+کمینگیو
+لیفٹسٹو
+چنبیلیو
+پینتیسو
+تینتیسو
+سینتیسو
+چھبیلیو
+کمینی
+چھتیسیو
+پینسٹھو
+پیشینگو
+نگیٹھیو
+فٹسمینو
+گنجینہ
+بھینچتی
+بھینچنی
+پھینچتی
+پھینچنی
+پھینٹتی
+پھینٹنی
+جھینپتی
+جھینپنی
+جھینکتی
+جھینکنی
+چھینکتی
+چھینکنی
+پھینکتی
+پھینکنی
+جھپیٹتی
+سنبھلتی
+متبنی
+پھٹپھٹی
+سنبھلنی
+کھٹیکنی
+کھینچتی
+کھینچنی
+گھسیٹتی
+گھسیٹنی
+گتھنیلی
+گھینپتی
+گھینپنی
+بھینٹتی
+بھینٹنی
+مستثنی
+مستغنی
+ہیلسنکی
+فلسطینی
+ٹیکنیکی
+لمنتہی
+پھسپھسی
+بھینچتے
+بھینچنے
+بھینچئے
+پھینچتے
+پھینچنے
+پھینچئے
+پسیجتے
+پھینٹتے
+پھینٹنے
+پھینٹئے
+پھینکئے
+جھینپتے
+جھینپنے
+جھینپئے
+جھینکتے
+جھینکنے
+جھینکئے
+چھینکتے
+چھینکنے
+چھینکئے
+کھینچتے
+کھینچنے
+کھینچئے
+گھسیٹتے
+گھسیٹنے
+گھسیٹئے
+جھپیٹتے
+جھپیٹنے
+جھپیٹئے
+سنبھلتے
+سنبھلنے
+سنبھلئے
+پھٹپھٹے
+چھچھلئے
+گھینپئے
+گھینپتے
+گھینپنے
+چھچھلتے
+چھچھلنے
+بھینٹتے
+بھینٹنے
+بھینٹئے
+پھینکتے
+پھینکنے
+لبینتہ
+لممتحنہ
+متخیلہ
+تفضیلیہ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/8grams.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/8grams.txt
new file mode 100644
index 0000000..d067491
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/8grams.txt
@@ -0,0 +1,26 @@
+چھنچھنیا
+جھنجھٹیا
+جھنجھنیا
+گھنگھنیا
+سپلیمینٹر
+شیکسپئر
+لمطففین
+جھینکتیں
+چھینکتین
+بھینچتین
+پھینچتین
+جھینپتین
+کھینچتین
+گھسیٹتین
+پھینکتین
+گھینپتین
+چھچھلتین
+سنبھلتین
+پھینٹتین
+بھینٹتین
+جھپیٹتین
+فلسطینو
+بیٹسمینو
+نسپیلیٹی
+نیشنیلٹی
+قسطنطیہ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/LICENSE b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/LICENSE
new file mode 100644
index 0000000..85f2b63
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/LICENSE
@@ -0,0 +1,3 @@
+CC BY-NC-SA 3.0
+http://www.crulp.org/software/license/CreativeCommons.html
+https://creativecommons.org/licenses/by-nc-sa/3.0/
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/MANIFEST
new file mode 100644
index 0000000..c945d0e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/MANIFEST
@@ -0,0 +1,7 @@
+2grams.txt
+3grams.txt
+4grams.txt
+5grams.txt
+6grams.txt
+7grams.txt
+8grams.txt
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/README b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/README
new file mode 100644
index 0000000..33202c4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/README
@@ -0,0 +1,16 @@
+ORIGINAL README:
+
+Valid Ligatures of Urdu.
+
+In 1980 Mr. Ahmad Mirza Jamil has invented a ligature based Nastaleeq writing
+system. He has written about 18,000 valid ligatures of Urdu and developed a
+Noori Nastaliq font. Center for Research in Urdu Language Processing (CRULP) is
+releasing a soft copy of these ligatures in Unicode format. CRULP has
+extensively used these ligatures for testing the fonts developed at the center
+and realised that it will be a valuable resource for other font developers.
+These ligatures are grouped in 2 to 8 characters and are sorted in the end
+character order.
+
+These ligatures have been copied from a "Noori Nastaliq computerised Urdu
+calligraphy (list of ligatures)" calligraphically designed and compiled by
+Ahmad Mirza Jamil, Elite Publishers Limited, Karachi.
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/SOURCES b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/SOURCES
new file mode 100644
index 0000000..5e67ed4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/language-urdu/crulp/ligatures/SOURCES
@@ -0,0 +1,4 @@
+Adapted from:
+
+http://www.crulp.org/software/ling_resources/UrduLigatures.htm
+http://www.crulp.org/Downloads/ling_resources/ligatures/Valid_Urdu_Ligatures_v1.1.zip
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/MANIFEST
new file mode 100644
index 0000000..0ac75c3
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/MANIFEST
@@ -0,0 +1 @@
+diacritics
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/MANIFEST
new file mode 100644
index 0000000..c71d035
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/MANIFEST
@@ -0,0 +1,7 @@
+lam-alef.txt
+language-arabic.txt
+language-persian.txt
+language-urdu.txt
+ligature-components.txt
+ligature-diacritics.txt
+mark-skipping.txt
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/lam-alef.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/lam-alef.txt
new file mode 100644
index 0000000..26f6f7b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/lam-alef.txt
@@ -0,0 +1,28 @@
+لًا
+ـلًا
+لاً
+ـلاً
+لّا
+ـلّا
+لاّ
+ـلاّ
+لًّا
+ـلًّا
+لاًّ
+ـلاًّ
+لَّا
+ـلَّا
+لاَّ
+ـلاَّ
+لَا
+ـلَا
+لاَ
+ـلاَ
+لُا
+ـلُا
+لاُ
+ـلاُ
+لِا
+ـلِا
+لاِ
+ـلاِ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-arabic.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-arabic.txt
new file mode 100644
index 0000000..24eb0c9
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-arabic.txt
@@ -0,0 +1,695 @@
+ـيًـ
+ـاً
+يُـ
+ـرً
+ـقًـ
+ـدً
+رً
+رٍ
+ـبًـ
+ـرّ
+مًـ
+ـضًـ
+مُـ
+ـدّ
+ـوّ
+ـمًـ
+ـتًـ
+ـيّـ
+يًـ
+تُـ
+ءً
+دً
+نًـ
+ـمُـ
+ـمّـ
+ةً
+حًـ
+ـوً
+ـحًـ
+ـرِّ
+ـةً
+نٍ
+ـمّ
+فًـ
+ـكّـ
+ـعًـ
+ـصًـ
+اً
+سِـ
+ـيُـ
+قِـ
+ـفًـ
+ـذّ
+ـجّـ
+بًـ
+غًـ
+ـلّـ
+ـصّـ
+ـلّ
+ـدَّ
+ـسِّـ
+ـزً
+وّ
+ـثًـ
+بُـ
+ـغّـ
+خِـ
+ـدِّ
+فٍ
+ـسّـ
+ـنًـ
+عًـ
+ـفّـ
+ـيَّـ
+ـلٍ
+ـطًـ
+ـبّـ
+ـطّـ
+ـجِّـ
+عُـ
+ـيّ
+ـنّـ
+كًـ
+ـلِـ
+ـئًـ
+جًـ
+ـذَّ
+قًـ
+ـنُـ
+ـخّـ
+ـتُـ
+رَ
+كّـ
+طًـ
+نُـ
+رّ
+لٍ
+ـضّـ
+بّـ
+عِـ
+زً
+مِـ
+ـكَّـ
+ـدَ
+ـدٍ
+أُ
+ـمَّـ
+ـأً
+ـرَ
+ـزّ
+حِـ
+مَـ
+ـيِّـ
+ـوَّ
+ـمَـ
+صًـ
+ضًـ
+ـرِ
+
+وُ
+يّ
+ـمِّـ
+ـيًّـ
+ـرَّ
+ـوِّ
+ـكًـ
+رِ
+ـلَّـ
+ـجِـ
+يَـ
+ـجَّـ
+ـاّ
+ـذً
+ـقّـ
+ـغِّـ
+ـخًـ
+ـسَّـ
+ـلٍّ
+ـهًـ
+قّـ
+حَـ
+ـجًـ
+ـفَّـ
+شُـ
+جّـ
+ـهّـ
+سَـ
+ـعّـ
+ـدِ
+دٍ
+رِّ
+ـذٍ
+ـبُّـ
+ـتَـ
+دُ
+ـتُ
+لّ
+سِّـ
+لّـ
+دّ
+دِ
+يٍّ
+جَـ
+نّ
+هَّـ
+ـكِّـ
+ـقِّـ
+ـعُـ
+بَـ
+تَـ
+ـنِّـ
+ـلُّـ
+ـسُـ
+مّـ
+قَّـ
+لَـ
+يّـ
+فُـ
+قٍ
+ـتٍ
+سّـ
+وَ
+ـسِـ
+ـتَ
+شِـ
+فَـ
+صُـ
+ـضَّـ
+تَ
+ـقَّـ
+ـطَّـ
+ـفِـ
+سًـ
+فّـ
+وَّ
+كُـ
+ـصَّـ
+عَـ
+لِـ
+ـقِ
+ـقٍ
+ـتّـ
+ـمْـ
+نّـ
+ـقَ
+وٍ
+ـطٍ
+ـةٍ
+هّـ
+هُـ
+ـوٍ
+ـبِـ
+رُ
+حّـ
+تّـ
+وِّ
+زُ
+ـلًـ
+ـفُّـ
+تٍ
+سُـ
+ضٍ
+بِـ
+خَـ
+ىً
+ضّـ
+ـبِّـ
+خّـ
+لًـ
+كَّـ
+ـظًـ
+ظًـ
+ةٍ
+ـغًـ
+ـكِـ
+طُـ
+ـنٍ
+ـقُـ
+ـبُـ
+دَ
+ثًـ
+فِـ
+يٍ
+نْـ
+ضِـ
+جُـ
+هٍ
+ـشِـ
+ـنَّـ
+يًّـ
+فِّـ
+ـفّ
+ـظّـ
+ـسَـ
+ـظِّـ
+ـبَّـ
+رْ
+تَّـ
+بٍ
+ـبَـ
+ـزُّ
+ـدُ
+ـكُـ
+طّـ
+صِـ
+تِـ
+ـغَّـ
+ـعَـ
+ـهِّـ
+ـرُ
+ـثّـ
+سَّـ
+ذً
+ـمَ
+ـلِّـ
+ـزِّ
+يٌّ
+قِّـ
+ـشِّـ
+ـسًـ
+شٍ
+سٍ
+تًـ
+ـلَـ
+ـحُـ
+ـصّ
+ـحِـ
+ـجُـ
+يَّـ
+لَّـ
+قَـ
+ـبْـ
+اِ
+وُّ
+ـشّـ
+خًـ
+ـسَ
+حُـ
+يْ
+نِـ
+كُّـ
+ـطُّـ
+سْـ
+زِ
+يَّ
+هِـ
+نَـ
+مَّـ
+مٍ
+كِـ
+ـيُّـ
+ـمِـ
+ـدٍّ
+ـحّـ
+ـتَّـ
+رِّ
+ـطّ
+ـرُّ
+عٍ
+زّ
+خَّـ
+قُـ
+ـشَـ
+ـحَـ
+ـجِّـ
+مَ
+ـيَّ
+ـقّ
+ـغِ
+ـطِ
+ـشُـ
+صّـ
+شّـ
+جِّـ
+جِـ
+وِ
+ـهِ
+ـهِـ
+ــّـ
+ـرٍ
+ـاًّ
+طَّـ
+ثُـ
+تُ
+بَّـ
+هَـ
+لْـ
+صَـ
+دْ
+يِـ
+كِّـ
+ـعِـ
+ـذَ
+ـةَ
+دَّ
+يِّ
+هًـ
+كْـ
+ـوَ
+ـقَّ
+ـؤّ
+زَ
+حٍ
+يْـ
+كَـ
+فِ
+ـهٍ
+ـنّ
+ـكِ
+ـضَـ
+ـصِـ
+صِّـ
+شِّـ
+رَّ
+يِّـ
+ـاَ
+عُ
+شَـ
+ئًـ
+مٌـ
+لُـ
+ـوِ
+ـقِـ
+ـقَـ
+ـخَـ
+ـةِ
+دِّ
+جْـ
+ةِ
+نْ
+لِّـ
+ـيَـ
+ـنَـ
+ـلٌ
+ـفِ
+ـزَّ
+ـزِ
+ـاِ
+عّـ
+حَّـ
+ثَـ
+أَ
+ـمٍ
+ـكُّـ
+عْـ
+صَّـ
+يٌـ
+مْـ
+مّ
+فُّـ
+ـنْـ
+ـمَّ
+ـكَـ
+ـصِّـ
+ـصَـ
+ـاَّ
+حْـ
+ثّـ
+اُ
+نِ
+كَ
+ـمِ
+ـلٌّ
+ـلِ
+ـلَ
+ـفَـ
+ـفٍ
+ـظَّـ
+ـزَ
+ـةُ
+ـأُ
+عَّـ
+شَّـ
+ـنِـ
+ـلُ
+ـطِّـ
+ـطَـ
+ـضِّـ
+ـصُـ
+ـسُّـ
+ـحُ
+ـثّ
+ـأَ
+ضَـ
+تْ
+اَ
+مًّـ
+ـيِـ
+ـهُـ
+ـمًّـ
+ـكْـ
+ـعْـ
+ـرِّ
+ـتِـ
+ـتً
+ـاُ
+غَـ
+عِ
+طً
+شًـ
+زٍ
+تِ
+بْـ
+بِ
+لِ
+قْـ
+قٌـ
+فّ
+ـىً
+ـلُّ
+ـلُـ
+ـفُـ
+ــُـ
+ـعَّـ
+ـشَّـ
+ـشًـ
+ـذِ
+ـدٌ
+طِـ
+طَـ
+ضَّـ
+صْـ
+رُّ
+ذُ
+جَّـ
+بِّـ
+ئِـ
+ءُ
+هُّـ
+مِّـ
+مُ
+كِ
+قُ
+فْـ
+ـيٍّ
+ـىَّ
+ـوِّ
+ـكَ
+ـعَ
+ـطَ
+ـسْـ
+ـرٌ
+ـذِّ
+ـدُّ
+ـخَّـ
+ـحْ
+ـجَـ
+ـثَّـ
+ـثُـ
+ـتّ
+ـبِ
+ـاْ
+ـإِ
+عَ
+طِّـ
+صُّـ
+زْ
+خِّـ
+خَ
+ثِـ
+تْـ
+تّ
+بٌـ
+ءَ
+ءٍ
+وْ
+نُ
+مِ
+كُ
+فْ
+ـوُّ
+ـلٍـ
+ـقٍّ
+ـفِّـ
+ـفًّـ
+ـعُ
+ـعٍ
+ـطْـ
+ـطِـ
+ـطُـ
+ـصٍ
+ـرْ
+ـرٍّ
+ـذُّ
+ـدْ
+ـدِّ
+ـخِـ
+ـجَّـ
+ـثْ
+ـتَّ
+ـةٌ
+سِ
+خْـ
+ثَ
+تُّـ
+تَّ
+إِ
+أّ
+أً
+ءِ
+ءٌ
+يُّـ
+يُّ
+نٌـ
+لْ
+لُ
+لَ
+قِ
+ـيًّ
+ـيَ
+ـهَّـ
+ـهِّـ
+ـنُّـ
+ـمٍّ
+ـلْـ
+ـلْ
+ـلٍّ
+ـكِّـ
+ـعّ
+ـطَّ
+ـضُـ
+ـضٍ
+ـضٌـ
+ـصْـ
+
+ـصُّـ
+ـصًّـ
+ـسًّـ
+ـدَّ
+ـثِّـ
+ـثِـ
+ـتِّـ
+ـبّ
+ـبَ
+ـأٌ
+غُـ
+ظَـ
+طْـ
+ضْـ
+ضِ
+صّ
+صِ
+شْـ
+سٌـ
+ذْ
+ذَ
+خِ
+خُـ
+خٌـ
+حِّـ
+حٌـ
+بِّ
+بُّ
+بَ
+يٍّ
+ىّ
+نِّـ
+نَّـ
+نٍـ
+نٌ
+مْ
+مٌ
+لُّـ
+قُّـ
+قّ
+فَّـ
+فُ
+فٍـ
+ـيْـ
+ـيَّـ
+ـيً
+ـىّ
+ـوُ
+ـهّ
+ـهَـ
+ـنُ
+ـنَ
+ـمَّـ
+ـلَّ
+ـقٌ
+ـفِّ
+ـفٍّ
+ـفًّ
+ــِّـ
+ــِ
+ــَـ
+ـغِـ
+ـغُـ
+ـغَـ
+ـعٌـ
+ـظّ
+ـظِـ
+ـظَ
+ـطٍّ
+ـطِّـ
+ـطُ
+ـضً
+ـصِ
+ـصَ
+ـصٌ
+ـشّ
+ـسّ
+ـسَّـ
+ـزْ
+ـزُ
+ـرًّ
+ـدًّ
+ـخُـ
+ـخُ
+ـحَّـ
+ـجْـ
+ـثِ
+ـثُ
+ـتْـ
+ـتْ
+ـتِ
+ـبْ
+ـبِّ
+ـبُّـ
+ـبُ
+ـبَّـ
+ـأٰ
+ـأِ
+ـأٍ
+غْـ
+غِّـ
+عْ
+ظِـ
+ضُ
+شّ
+سٍـ
+زِّ
+دُّ
+حْ
+حِ
+جُ
+ثُ
+تٌـ
+تٌ
+ةُ
+ةَ
+ةٌ
+أْ
+أِ
+أٌ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-persian.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-persian.txt
new file mode 100644
index 0000000..00d9840
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-persian.txt
@@ -0,0 +1,48 @@
+ـاً
+اً
+ـهٔ
+هٔ
+وِ
+پُـ
+ـلِ
+سِـ
+اِ
+اُ
+ـهُ
+ـرّ
+گِـ
+کِـ
+کُـ
+ژِ
+ـیِ
+ـنِـ
+ـمُ
+ـصّـ
+ـسّـ
+رِ
+دّ
+دِ
+یِ
+هّ
+لِـ
+لِ
+ـیٰ
+ـیّ
+ـیَـ
+ـنِ
+ـمّـ
+ـعّـ
+ـشِ
+ـسِ
+ـزّ
+ـرِ
+ـذّ
+ـخّـ
+ـحِ
+ـثْ
+ـبّـ
+ـبّ
+ـأُ
+تّـ
+تِ
+بُـ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-urdu.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-urdu.txt
new file mode 100644
index 0000000..fddb6e5
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/language-urdu.txt
@@ -0,0 +1,188 @@
+ـیّـ
+ـمّـ
+ـلّـ
+ـرّ
+ـاً
+ـلِـ
+ـرِ
+بُـ
+ـوّ
+ؤ
+اً
+اِ
+ـنّـ
+ثّـ
+ـجّـ
+پُـ
+ـصّـ
+ـہٰـ
+ـعّـ
+ـخّـ
+یَـ
+کُـ
+جّـ
+ـنٰـ
+ـظّـ
+دّ
+ـھّـ
+اُ
+کِـ
+لِـ
+بِـ
+نِـ
+لُـ
+ـلٰـ
+ـدّ
+مّـ
+گُـ
+ـوِ
+ـسّـ
+سُـ
+رِ
+ـھُـ
+مِـ
+يُـ
+ـطّـ
+شِـ
+سَـ
+ـگَـ
+زُ
+ـگُـ
+ئِـ
+قّـ
+قِـ
+ـفّـ
+خّـ
+نّـ
+ـبّـ
+ہِ
+تّـ
+بَـ
+فِـ
+بّـ
+ـیٰ
+ـٹّـ
+وَ
+چّـ
+پِـ
+لّـ
+دُ
+ـلِ
+ـبٰـ
+ـچّـ
+سِـ
+کّـ
+ٹِـ
+وِ
+ـی٘ـ
+ـۂ
+ـوٰ
+وّ
+ـۓ
+ـکّـ
+نِ
+مُـ
+ـتّـ
+دِ
+یِـ
+ہِـ
+گَـ
+پَـ
+ٹّ
+یٔ
+یّـ
+ہُـ
+چُـ
+مِ
+ـوُ
+ـاَ
+اَ
+گِـ
+فِ
+ـےٍ
+ـڈّ
+ـؤ
+ـقّـ
+ـجِ
+اٰ
+ـڈِ
+ـپّـ
+ـٹِـ
+ـمِـ
+ـلٔـ
+ـخِ
+رُ
+تِ
+بِ
+ۓ
+کَـ
+ٹُـ
+ـی٘
+ـںَ
+ـو٘
+ـنُـ
+ـعّ
+ـشّـ
+ـرُ
+ـحّـ
+ـجِـ
+ـبَـ
+طّـ
+شِ
+شُـ
+رّ
+جِـ
+ئٰـ
+ہٰـ
+ۂ
+ڈِ
+ڈُ
+چِـ
+نِّـ
+نُـ
+نَـ
+مٰـ
+مّ
+مَـ
+لِّـ
+لِ
+فّـ
+ـیّ
+ـیِـ
+ـہ٘ـ
+ـہّ
+ـہِـ
+ـں٘
+ـگِـ
+ـکٰـ
+ـکِـ
+ـٹَـ
+ـيّـ
+ـوَ
+ـنِـ
+ـفِـ
+ـصِ
+ـسِـ
+ـزّ
+ـرً
+ـدَ
+ـحِـ
+ـحِ
+ـتّٰـ
+ـتِ
+ـبُـ
+ـأ
+عُـ
+ظِ
+صّـ
+صُـ
+زِ
+رَ
+دِّ
+خُـ
+حِ
+حَـ
+جّ
+جُـ
+جَـ
+تَـ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/ligature-components.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/ligature-components.txt
new file mode 100644
index 0000000..0d4d47f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/ligature-components.txt
@@ -0,0 +1,18 @@
+لّله
+لَّله
+لَّله
+للّه
+للَّه
+للَّه
+للهّ
+للهَّ
+للهَّ
+لّلَه
+لَلّه
+لّلهَ
+لَلهّ
+للّهَ
+للَهّ
+لّلّهَ
+لّلَّه
+لَّلّه
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/ligature-diacritics.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/ligature-diacritics.txt
new file mode 100644
index 0000000..80ba2f7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/ligature-diacritics.txt
@@ -0,0 +1 @@
+لَا لا لِله للَه لله
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/mark-skipping.txt b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/mark-skipping.txt
new file mode 100644
index 0000000..038c921
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/diacritics/mark-skipping.txt
@@ -0,0 +1,10 @@
+تختة
+تخنة
+تخئة
+تخثة
+تخٹة
+تختّة
+تخنّة
+تخئّة
+تخثّة
+تخٹّة
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-mandaic/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-mandaic/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-mandaic/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-mandaic/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-mandaic/misc/MANIFEST
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-mandaic/misc/MANIFEST
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST
new file mode 100644
index 0000000..3c76c94
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST
@@ -0,0 +1,4 @@
+misc.txt
+non-joining.txt
+poem.txt
+variation-selectors.txt
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt
new file mode 100644
index 0000000..57317de
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt
@@ -0,0 +1,6 @@
+ᠬᠦᠮᠦᠨ ᠮᠤᠩᠭᠣᠯ ᠪᠢᠴᠢᠭ᠌
+ᠪᠢᠴᠢᠭ᠌ ᠬᠦᠮᠦᠨ ᠮᠤᠩᠭᠣᠯ
+ᠮᠤᠩᠭᠣᠯ ᠪᠢᠴᠢᠭ᠌ ᠬᠦᠮᠦᠨ
+ᠡ᠆ᠡ
+ᠡ᠇ᠡ
+ᠡ᠊ᠡ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/non-joining.txt b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/non-joining.txt
new file mode 100644
index 0000000..93e9dd6
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/non-joining.txt
@@ -0,0 +1,8 @@
+ᠡᢀᠡ
+ᠡᢁᠡ
+ᠡᢂᠡ
+ᠡᢃᠡ
+ᠡᢄᠡ
+ᠡᢅᠡ
+ᠡᢆᠡ
+ᠡᢇᠡ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/poem.txt b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/poem.txt
new file mode 100644
index 0000000..14ce2d4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/poem.txt
@@ -0,0 +1,4 @@
+ᠥᠰᠬᠦ ᠡᠴᠡ ᠰᠤᠷᠤᠭᠰᠠᠨ ᠦᠨᠳᠦᠰᠦᠨ ᠬᠡᠯᠡ
+ᠮᠠᠷᠲᠠᠵᠤ ᠪᠣᠯᠣᠰᠢ ᠦᠭᠡᠢ ᠰᠣᠶᠣᠯ
+ᠦᠬᠦᠲᠡᠯ᠎ᠡ ᠣᠷᠣᠰᠢᠬᠤ ᠲᠦᠷᠦᠯᠬᠢ ᠨᠤᠲᠤᠭ
+ᠰᠠᠯᠵᠤ ᠪᠣᠯᠣᠰᠢ ᠦᠭᠡᠢ ᠣᠷᠣᠨ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/variation-selectors.txt b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/variation-selectors.txt
new file mode 100644
index 0000000..0ffb498
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/variation-selectors.txt
@@ -0,0 +1,8 @@
+ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ
+ᠭ ᠭ᠋ ᠭ᠌ ᠭ᠍‍ isol(,FVS1,FVS2,FVS3)
+ᠭ‍ ᠭ᠋‍ ᠭ᠌‍ ᠭ᠍‍ init(,FVS1,FVS2,FVS3)
+‍ᠭ‍ ‍ᠭ᠋‍ ‍ᠭ᠌‍ ‍ᠭ᠍‍ medi(,FVS1,FVS2,FVS3)
+‍ᠭ ‍ᠭ᠋ ‍ᠭ᠌ fina(,FVS1,FVS2)
+ᠠ‌ᠭᠠᠷ ZWNJ
+ᠰᠤᠷ‍ ‍ᠭᠠ‍ ‍ᠭᠤᠯᠢ ZWJ
+ᠪᠠᠢᠭ᠎ᠠ ᠶᠢᠨ MVS,NNBSP
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-nko/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-nko/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-nko/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-nko/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-nko/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-nko/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-nko/misc/misc.txt b/test/shaping/texts/in-tree/shaper-arabic/script-nko/misc/misc.txt
new file mode 100644
index 0000000..a86af91
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-nko/misc/misc.txt
@@ -0,0 +1,5 @@
+ߊߊ
+ߊ߳ߊ
+ߊ߳ߺߊ
+ߊߺߊ
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/misc/misc.txt b/test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/misc/misc.txt
new file mode 100644
index 0000000..d535b67
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-phags-pa/misc/misc.txt
@@ -0,0 +1,14 @@
+ꡳꡡ
+ꡡꡳꡡ
+ꡞꡞꡞ ꡞ
+ꡟꡟꡟ ꡟ
+ꡠꡠꡠ ꡠ
+ꡡꡡꡡ ꡡ
+‍ꡡ‍
+‍ꡡ
+ꡡ‍
+ꡞ‌ꡟ‌ꡠ‌ꡡ
+ꡉꡞ
+ꡉꡞ︀
+ꡪꡞ
+ꡪꡞ︀
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-syriac/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-syriac/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-syriac/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-syriac/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-arabic/script-syriac/misc/MANIFEST
new file mode 100644
index 0000000..ae45bdf
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-syriac/misc/MANIFEST
@@ -0,0 +1 @@
+alaph.txt
diff --git a/test/shaping/texts/in-tree/shaper-arabic/script-syriac/misc/alaph.txt b/test/shaping/texts/in-tree/shaper-arabic/script-syriac/misc/alaph.txt
new file mode 100644
index 0000000..27b035f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-arabic/script-syriac/misc/alaph.txt
@@ -0,0 +1,98 @@
+ ܐ
+ ܐܘ
+ ܐܪ
+ ܐܖ
+ ܐܕ
+ ܐܯ
+ ܐܒ
+ܘܐ
+ܘܐܘ
+ܘܐܪ
+ܘܐܖ
+ܘܐܕ
+ܘܐܯ
+ܘܐܒ
+ܪܐ
+ܪܐܘ
+ܪܐܪ
+ܪܐܖ
+ܪܐܕ
+ܪܐܯ
+ܪܐܒ
+ܖܐ
+ܖܐܘ
+ܖܐܪ
+ܖܐܖ
+ܖܐܕ
+ܖܐܯ
+ܖܐܒ
+ܕܐ
+ܕܐܘ
+ܕܐܪ
+ܕܐܖ
+ܕܐܕ
+ܕܐܯ
+ܕܐܒ
+ܯܐ
+ܯܐܘ
+ܯܐܪ
+ܯܐܖ
+ܯܐܕ
+ܯܐܯ
+ܯܐܒ
+ܒܐ
+ܒܐܘ
+ܒܐܪ
+ܒܐܖ
+ܒܐܕ
+ܒܐܯ
+ܒܐܒ
+ ܐܐ
+ ܐܐܘ
+ ܐܐܪ
+ ܐܐܖ
+ ܐܐܕ
+ ܐܐܯ
+ ܐܐܒ
+ܘܐܐ
+ܘܐܐܘ
+ܘܐܐܪ
+ܘܐܐܖ
+ܘܐܐܕ
+ܘܐܐܯ
+ܘܐܐܒ
+ܪܐܐ
+ܪܐܐܘ
+ܪܐܐܪ
+ܪܐܐܖ
+ܪܐܐܕ
+ܪܐܐܯ
+ܪܐܐܒ
+ܖܐܐ
+ܖܐܐܘ
+ܖܐܐܪ
+ܖܐܐܖ
+ܖܐܐܕ
+ܖܐܐܯ
+ܖܐܐܒ
+ܕܐܐ
+ܕܐܐܘ
+ܕܐܐܪ
+ܕܐܐܖ
+ܕܐܐܕ
+ܕܐܐܯ
+ܕܐܐܒ
+ܯܐܐ
+ܯܐܐܘ
+ܯܐܐܪ
+ܯܐܐܖ
+ܯܐܐܕ
+ܯܐܐܯ
+ܯܐܐܒ
+ܒܐܐ
+ܒܐܐܘ
+ܒܐܐܪ
+ܒܐܐܖ
+ܒܐܐܕ
+ܒܐܐܯ
+ܒܐܐܒ
diff --git a/test/shaping/texts/in-tree/shaper-default/MANIFEST b/test/shaping/texts/in-tree/shaper-default/MANIFEST
new file mode 100644
index 0000000..d08deb7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/MANIFEST
@@ -0,0 +1,5 @@
+script-ethiopic
+script-han
+script-hiragana
+script-linear-b
+script-tifinagh
diff --git a/test/shaping/texts/in-tree/shaper-default/script-ethiopic/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-ethiopic/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-ethiopic/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/misc.txt b/test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/misc.txt
new file mode 100644
index 0000000..60dd8cc
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/misc.txt
@@ -0,0 +1 @@
+ላ፟ህ
diff --git a/test/shaping/texts/in-tree/shaper-default/script-han/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-han/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-han/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-default/script-han/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-han/misc/MANIFEST
new file mode 100644
index 0000000..003c956
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-han/misc/MANIFEST
@@ -0,0 +1 @@
+cjk-compat.txt
diff --git a/test/shaping/texts/in-tree/shaper-default/script-han/misc/cjk-compat.txt b/test/shaping/texts/in-tree/shaper-default/script-han/misc/cjk-compat.txt
new file mode 100644
index 0000000..b3ab645
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-han/misc/cjk-compat.txt
@@ -0,0 +1,3 @@
+艹
+艹
+艹
diff --git a/test/shaping/texts/in-tree/shaper-default/script-hiragana/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-hiragana/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-hiragana/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/MANIFEST
new file mode 100644
index 0000000..4d2d52c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/MANIFEST
@@ -0,0 +1,2 @@
+kazuraki-liga-lines.txt
+kazuraki-liga.txt
diff --git a/test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/kazuraki-liga-lines.txt b/test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/kazuraki-liga-lines.txt
new file mode 100644
index 0000000..5bc2d00
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/kazuraki-liga-lines.txt
@@ -0,0 +1,8 @@
+ありあるあれいているべきいろうれし
+うれしくかしこかとがとうくもこと
+こともことをこのこれこれもされ
+しかししてするせんたしたのちる
+とけとしとしてとのともかくとを
+なくなどなどのなるひさひとふるほど
+ますむとめてもしろものをやるゆる
+られるとるものれる〳〵〴〵
diff --git a/test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/kazuraki-liga.txt b/test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/kazuraki-liga.txt
new file mode 100644
index 0000000..e043e17
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-hiragana/misc/kazuraki-liga.txt
@@ -0,0 +1,53 @@
+あり
+ある
+あれ
+いて
+いるべき
+いろ
+うれし
+うれしく
+かしこ
+かと
+がとう
+くも
+こと
+ことも
+ことを
+この
+これ
+これも
+され
+しかし
+して
+する
+せん
+たし
+たの
+ちる
+とけ
+とし
+として
+との
+ともかく
+とを
+なく
+など
+などの
+なる
+ひさ
+ひと
+ふる
+ほど
+ます
+むと
+めて
+もしろ
+ものを
+やる
+ゆる
+られ
+ると
+るもの
+れる
+〳〵
+〴〵
diff --git a/test/shaping/texts/in-tree/shaper-default/script-linear-b/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-linear-b/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-linear-b/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-default/script-linear-b/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-linear-b/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-linear-b/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-default/script-linear-b/misc/misc.txt b/test/shaping/texts/in-tree/shaper-default/script-linear-b/misc/misc.txt
new file mode 100644
index 0000000..b085605
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-linear-b/misc/misc.txt
@@ -0,0 +1 @@
+𐀁𐀂𐀃
diff --git a/test/shaping/texts/in-tree/shaper-default/script-tifinagh/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-tifinagh/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-tifinagh/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-default/script-tifinagh/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-default/script-tifinagh/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-tifinagh/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-default/script-tifinagh/misc/misc.txt b/test/shaping/texts/in-tree/shaper-default/script-tifinagh/misc/misc.txt
new file mode 100644
index 0000000..0c307eb
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-default/script-tifinagh/misc/misc.txt
@@ -0,0 +1,11 @@
+ⵎⵜ
+ⵎ⵿ⵜ
+ⵏⴾ
+ⵏ⵿ⴾ
+ⵏⵜ
+ⵏ⵿ⵜ
+ⵔⵜ
+ⵔ⵿ⵜ
+ⵙⵜ
+ⵙ⵿ⵜ
+
diff --git a/test/shaping/texts/in-tree/shaper-hangul/script-hangul/MANIFEST b/test/shaping/texts/in-tree/shaper-hangul/script-hangul/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-hangul/script-hangul/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/misc.txt b/test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/misc.txt
new file mode 100644
index 0000000..797b1c6
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/misc.txt
@@ -0,0 +1,4 @@
+휴가 가-- (오--)
+휴가 가-- (오--)
+ᄒᆞᆫ
+ᅟᅡᄫᅠ
diff --git a/test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/MANIFEST b/test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/misc/MANIFEST
new file mode 100644
index 0000000..06ca481
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/misc/MANIFEST
@@ -0,0 +1 @@
+diacritics.txt
diff --git a/test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/misc/diacritics.txt b/test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/misc/diacritics.txt
new file mode 100644
index 0000000..f3cf91f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-hebrew/script-hebrew/misc/diacritics.txt
@@ -0,0 +1,16 @@
+קול דודי הנה־זה בא מדלג על־ההרים מקפץ על־הגבעות
+הֲבֵל הֲבָלִים אָמַר קֹהֶלֶת
+לְהַגִּיד בַּבֹּקֶר חַסְדֶּךָ וֶאֱמוּנָתְךָ בַּלֵּילוֹת
+יְרוּשָׁלִַם
+יְרוּשָׁלִָם
+יְרוּשָׁלְַמָה
+יְרוּשָׁלְָמָה
+נְבֻֽכַדְנֶאצַּ֣ר
+מִתָּ֑͏ַ֜חַת
+אֲ‍ֽ֭דַבְּרָה
+וֽ͏ַיְהִי־֯כֵֽן
+לׅׄוּלֵׅ֗ׄאׅׄ
+אָנָּֽה אָנָּֽה
+תַעֲשֶׂ֦ה
+שֹֽׁטְרֵי֙
+אֲ‍ֽ֭
diff --git a/test/shaping/texts/in-tree/shaper-indic/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/MANIFEST
new file mode 100644
index 0000000..3f2011f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/MANIFEST
@@ -0,0 +1,2 @@
+indic
+south-east-asian
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/MANIFEST
new file mode 100644
index 0000000..5e62ebf
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/MANIFEST
@@ -0,0 +1,11 @@
+script-assamese
+script-bengali
+script-devanagari
+script-gujarati
+script-gurmukhi
+script-kannada
+script-malayalam
+script-oriya
+script-sinhala
+script-tamil
+script-telugu
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/misc/MANIFEST
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/misc/MANIFEST
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/MANIFEST
new file mode 100644
index 0000000..0658824
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/MANIFEST
@@ -0,0 +1,3 @@
+codepoint
+gpos
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
new file mode 100644
index 0000000..2bc4fff
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
@@ -0,0 +1,4 @@
+ৠ
+ৡ
+ৢ
+ৣ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..0f8fa91
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,40 @@
+ক
+খ
+গ
+ঘ
+ঙ
+চ
+ছ
+জ
+ঝ
+ঞ
+ট
+ঠ
+ড
+ঢ
+ণ
+ত
+থ
+দ
+ধ
+ন
+প
+ফ
+ব
+ভ
+ম
+য
+ৰ
+ৱ
+ল
+ড়
+ঢ়
+য়
+শ
+ষ
+স
+হ
+ৎ
+ং
+ঃ
+ঁ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..ddf03c0
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,10 @@
+া
+ি
+ী
+ু
+ূ
+ৃ
+ে
+ৈ
+ো
+ৌ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..870ce26
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+০
+১
+২
+৩
+৪
+৫
+৬
+৭
+৮
+৯
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..821c261
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,11 @@
+অ
+আ
+ই
+ঈ
+উ
+ঊ
+ঋ
+এ
+ঐ
+ও
+ঔ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..0afc191
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,6 @@
+্
+়
+ং
+ঃ
+ঁ
+৺
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..1490dfe
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/codepoint/MANIFEST
@@ -0,0 +1,7 @@
+IndicFontFeatureCodepoint-AdditionalVowels.txt
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-Reserved.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
new file mode 100644
index 0000000..ebbc87d
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
@@ -0,0 +1,59 @@
+কঁ
+খঁ
+গঁ
+ঘঁ
+চঁ
+ছঁ
+জঁ
+ঝঁ
+টঁ
+ঠঁ
+ডঁ
+ঢঁ
+তঁ
+থঁ
+দঁ
+ধঁ
+পঁ
+ফঁ
+বঁ
+ভঁ
+মঁ
+যঁ
+ৰঁ
+লঁ
+শঁ
+ষঁ
+সঁ
+হঁ
+ৰ্ক
+ৰ্খ
+ৰ্গ
+ৰ্ঘ
+ৰ্চ
+ৰ্ছ
+ৰ্জ
+ৰ্ঝ
+ৰ্ঞ
+ৰ্ট
+ৰ্ঠ
+ৰ্ড
+ৰ্ঢ
+ৰ্ণ
+ৰ্ত
+ৰ্থ
+ৰ্দ
+ৰ্ধ
+ৰ্ন
+ৰ্প
+ৰ্ফ
+ৰ্ব
+ৰ্ভ
+ৰ্ম
+ৰ্য
+ৰ্ৰ
+ৰ্ল
+ৰ্শ
+ৰ্ষ
+ৰ্স
+ৰ্হ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
new file mode 100644
index 0000000..accebeb
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
@@ -0,0 +1,131 @@
+কু
+কূ
+কৃ
+খু
+খূ
+খৃ
+গু
+গূ
+গৃ
+ঘু
+ঘূ
+ঘৃ
+ঙু
+ঙূ
+ঙৃ
+চু
+চূ
+চৃ
+ছু
+ছূ
+ছৃ
+জু
+জূ
+জৃ
+ঝু
+ঝূ
+ঝৃ
+ঞু
+ঞূ
+টু
+টূ
+টৃ
+ঠু
+ঠূ
+ঠৃ
+ডু
+ডূ
+ডৃ
+ঢু
+ঢূ
+ঢৃ
+ণু
+ণূ
+ণৃ
+তু
+তূ
+তৃ
+থু
+থূ
+থৃ
+দু
+দূ
+দৃ
+ধু
+ধূ
+ধৃ
+নু
+নূ
+নৃ
+পু
+পূ
+পৃ
+ফু
+ফূ
+ফৃ
+বু
+বূ
+বৃ
+ভু
+ভূ
+ভৃ
+মু
+মূ
+মৃ
+যু
+যূ
+যৃ
+ৰু
+ৰূ
+ৰৃ
+লু
+লূ
+লৃ
+শু
+শূ
+শৃ
+ষু
+ষূ
+ষৃ
+সু
+সূ
+সৃ
+হু
+হূ
+হৃ
+ক্
+খ্
+গ্
+ঘ্
+ঙ্
+চ্
+ছ্
+জ্
+ঝ্
+ঞ্
+ট্
+ঠ্
+ড্
+ঢ্
+ণ্
+ত্
+থ্
+দ্
+ধ্
+ন্
+প্
+ফ্
+ব্
+ভ্
+ম্
+য্
+ৰ্
+ল্
+শ্
+ষ্
+স্
+হ্
+জ়
+ড়
+ঢ়
+য়
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/MANIFEST
new file mode 100644
index 0000000..d7ae70e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gpos/MANIFEST
@@ -0,0 +1,2 @@
+IndicFontFeatureGPOS-AboveBase.txt
+IndicFontFeatureGPOS-BelowBase.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..87e5ea8
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,139 @@
+ক্ৰ
+খ্ৰ
+গ্ৰ
+ঘ্ৰ
+জ্ৰ
+ত্ৰ
+দ্ৰ
+ধ্ৰ
+প্ৰ
+ম্ৰ
+শ্ৰ
+স্ৰ
+হ্ৰ
+ক্ল
+গ্ল
+প্ল
+ম্ল
+ল্ল
+শ্ল
+স্ল
+হ্ল
+ক্ক
+ক্ব
+জ্ব
+ট্ব
+ত্ব
+দ্ব
+ধ্ব
+ন্ব
+ব্ব
+ম্ব
+ল্ব
+শ্ব
+ষ্ব
+স্ব
+হ্ব
+ণ্ণ
+ষ্ণ
+ষ্ণু
+হ্ণ
+হ্ণি
+জ্জ
+ট্ট
+ত্ত
+দ্দ
+ন্ন
+প্প
+ব্ব
+ম্ম
+ত্ন
+ম্ন
+স্ন
+হ্ন
+ক্ন
+গ্ন
+ত্ম
+গ্ম
+ঙ্ম
+ট্ম
+ণ্ম
+ত্ম
+দ্ম
+ধ্ম
+ন্ম
+ম্ম
+ল্ম
+শ্ম
+ষ্ম
+হ্ম
+ক্ষ
+ক্ত
+গ্ধ
+ঙ্ক
+ঙ্খ
+ঙ্গ
+ঙ্ঘ
+চ্চ
+চ্ছ
+চ্ঞ
+জ্ঝ
+জ্ঞ
+ঞ্চ
+ঞ্ছ
+ঞ্জ
+ণ্ট
+ক্ট
+ণ্ড
+ন্ড
+দ্গ
+দ্ঘ
+দ্ধ
+দ্ভ
+ন্ত
+ন্থ
+ন্দ
+ন্ধ
+প্ত
+ব্জ
+ব্দ
+ম্প
+ম্ফ
+ম্ব
+ম্ভ
+ল্ক
+ল্গ
+ল্প
+ল্ফ
+ল্ম
+শ্চ
+ষ্ক
+ষ্ট
+ষ্ঠ
+ষ্প
+ষ্ফ
+স্ক
+স্খ
+স্ত
+স্থ
+স্প
+স্ফ
+ক্ষ্ণ
+ক্ষ্ম
+জ্জ্ব
+ত্ত্ব
+ত্ম্য
+ন্ত্ৰ
+ন্ত্ব
+ন্দ্ৰ
+ন্ধ্য
+ন্ন্য
+ম্প্ৰ
+ম্ভ্ৰ
+ৰ্ধ্ব
+ৰ্শ্ব
+ষ্ট্ৰ
+ষ্প্ৰ
+স্ত্ৰ
+চ্ছ্ব
+প্স
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-assamese/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/MANIFEST
new file mode 100644
index 0000000..3c2a4fb
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/MANIFEST
@@ -0,0 +1,2 @@
+misc.txt
+reph.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt
new file mode 100644
index 0000000..aa43590
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt
@@ -0,0 +1,53 @@
+অ্য
+ক
+ক়
+কি
+ক্
+ক্ক
+ক্র
+ক্র্ক
+ক্‌ক
+ক্‍ক
+দ্য
+ন্ক
+ন্ধ
+ন্ব
+ন্য
+ন্র
+ন্‌ক
+ন্‌ধ
+ন্‌ব
+ন্‌র
+ন্‍ক
+ন্‍ধ
+ন্‍ব
+ন্‍র
+য্
+র্ক
+র্কি
+র্কৌ
+র্ন্‍
+র্ব্ব
+শ্য
+ষ্য
+স্য
+ি
+কো
+কৌ
+ক্র্ক
+ন্‌ক
+ন্‌ব
+ন্‍ক
+ন্‍ব
+ন্‍র
+র্কাং
+র্কাঃ
+র্কৌ
+র্ভ
+ৰ্ভ
+ৱ্ভ
+অৗ
+ন্ত্র
+ত্যু
+চ্য্র
+ক্‍ষ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/reph.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/reph.txt
new file mode 100644
index 0000000..9739eaa
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/misc/reph.txt
@@ -0,0 +1,14 @@
+র্ক
+র্কা
+র্কি
+র্কী
+র্কু
+র্কূ
+র্কে
+র্কৈ
+র্কো
+র্কৌ
+র্য
+র্‍য
+র‍্য
+র্র‍্য
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/MANIFEST
new file mode 100644
index 0000000..0658824
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/MANIFEST
@@ -0,0 +1,3 @@
+codepoint
+gpos
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
new file mode 100644
index 0000000..fd5e6e6
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
@@ -0,0 +1 @@
+codepoint, imagepath, rawcode, desc
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..7554b36
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,36 @@
+ক
+খ
+গ
+ঘ
+ঙ
+চ
+ছ
+জ
+ঝ
+ঞ
+ট
+ঠ
+ড
+ঢ
+ণ
+ত
+থ
+দ
+ধ
+ন
+প
+ফ
+ব
+ভ
+ম
+য
+র
+ল
+ড়
+ঢ়
+য়
+শ
+ষ
+স
+হ
+ৎ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..ddf03c0
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,10 @@
+া
+ি
+ী
+ু
+ূ
+ৃ
+ে
+ৈ
+ো
+ৌ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..870ce26
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+০
+১
+২
+৩
+৪
+৫
+৬
+৭
+৮
+৯
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..169ba5d
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,12 @@
+অ
+আ
+ই
+ঈ
+উ
+ঊ
+ঋ
+ঌ
+এ
+ঐ
+ও
+ঔ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..0afc191
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,6 @@
+্
+়
+ং
+ঃ
+ঁ
+৺
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..1490dfe
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/codepoint/MANIFEST
@@ -0,0 +1,7 @@
+IndicFontFeatureCodepoint-AdditionalVowels.txt
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-Reserved.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
new file mode 100644
index 0000000..7c652be
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
@@ -0,0 +1,58 @@
+কঁ
+খঁ
+গঁ
+ঘঁ
+চঁ
+ছঁ
+জঁ
+ঝঁ
+টঁ
+ঠঁ
+ডঁ
+ঢঁ
+তঁ
+থঁ
+দঁ
+ধঁ
+পঁ
+ফঁ
+বঁ
+ভঁ
+মঁ
+যঁ
+রঁ
+লঁ
+শঁ
+ষঁ
+সঁ
+হঁ
+র্ক
+র্খ
+র্গ
+র্ঘ
+র্চ
+র্ছ
+র্জ
+র্ঝ
+র্ট
+র্ঠ
+র্ড
+র্ঢ
+র্ণ
+র্ত
+র্থ
+র্দ
+র্ধ
+র্ন
+র্প
+র্ফ
+র্ব
+র্ভ
+র্ম
+র্য
+র্র
+র্ল
+র্শ
+র্ষ
+র্স
+র্হ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
new file mode 100644
index 0000000..2fd42e0
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
@@ -0,0 +1,119 @@
+কু
+কূ
+কৃ
+খু
+খূ
+খৃ
+গু
+গূ
+গৃ
+ঘু
+ঘূ
+ঘৃ
+চু
+চূ
+চৃ
+ছু
+ছূ
+ছৃ
+জু
+জূ
+জৃ
+ঝু
+ঝূ
+ঝৃ
+টু
+টূ
+টৃ
+ঠু
+ঠূ
+ঠৃ
+ডু
+ডূ
+ডৃ
+ঢু
+ঢূ
+ণু
+ণূ
+তু
+তূ
+তৃ
+থু
+থূ
+দু
+দূ
+দৃ
+ধু
+ধূ
+ধৃ
+নু
+নূ
+নৃ
+পু
+পূ
+পৃ
+ফু
+ফূ
+ফৃ
+বু
+বূ
+বৃ
+ভু
+ভূ
+ভৃ
+মু
+মূ
+মৃ
+যু
+যূ
+যৃ
+রু
+রূ
+রৃ
+লু
+লূ
+শু
+শূ
+শৃ
+ষু
+ষূ
+ষৃ
+সু
+সূ
+সৃ
+হু
+হূ
+হৃ
+ক্
+খ্
+গ্
+ঘ্
+ঙ্
+চ্
+ছ্
+জ্
+ঝ্
+ঞ্
+ট্
+ঠ্
+ড্
+ঢ্
+ণ্
+ত্
+থ্
+দ্
+ধ্
+ন্
+প্
+ফ্
+ব্
+ভ্
+ম্
+য্
+র্
+ল্
+শ্
+ষ্
+স্
+হ্
+জ়
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/MANIFEST
new file mode 100644
index 0000000..d7ae70e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gpos/MANIFEST
@@ -0,0 +1,2 @@
+IndicFontFeatureGPOS-AboveBase.txt
+IndicFontFeatureGPOS-BelowBase.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..b45b778
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,215 @@
+ক্র
+খ্র
+গ্র
+ঘ্র
+জ্র
+ত্র
+দ্র
+ধ্র
+প্র
+ম্র
+শ্র
+স্র
+হ্র
+ছ্র
+ট্র
+ঠ্র
+ড্র
+থ্র
+ফ্র
+ব্র
+ভ্র
+ক্য
+খ্য
+গ্য
+ঘ্য
+চ্য
+জ্য
+ট্য
+ঠ্য
+ড্য
+ড়্য
+ঢ্য
+ত্য
+থ্য
+দ্য
+ধ্য
+ন্য
+প্য
+ফ্য
+ব্য
+ভ্য
+ম্য
+য্য
+র‍্য
+ল্য
+শ্য
+ষ্য
+স্য
+হ্য
+ক্ল
+গ্ল
+প্ল
+ম্ল
+ল্ল
+শ্ল
+স্ল
+হ্ল
+ক্ক
+ক্ব
+জ্ব
+ট্ব
+ত্ব
+দ্ব
+ধ্ব
+ন্ব
+ব্ব
+ম্ব
+ল্ব
+শ্ব
+ষ্ব
+স্ব
+হ্ব
+ণ্ণ
+ষ্ণ
+ষ্ণু
+হ্ণ
+হ্ণি
+জ্জ
+ট্ট
+ত্ত
+দ্দ
+ন্ন
+প্প
+ত্ন
+ম্ন
+স্ন
+হ্ন
+ক্ন
+গ্ন
+গ্ম
+ঙ্ম
+ট্ম
+ণ্ম
+ত্ম
+দ্ম
+ধ্ম
+ন্ম
+ম্ম
+ল্ম
+শ্ম
+ষ্ম
+হ্ম
+ক্ষ
+ক্ত
+গ্ধ
+ঙ্ক
+ঙ্খ
+ঙ্গ
+ঙ্ঘ
+চ্চ
+চ্ছ
+চ্ঞ
+জ্ঝ
+জ্ঞ
+ঞ্চ
+ঞ্ছ
+ঞ্জ
+ণ্ট
+ক্ট
+ণ্ড
+ন্ড
+দ্গ
+দ্ঘ
+দ্ধ
+দ্ভ
+ন্ত
+ন্থ
+ন্দ
+ন্ধ
+প্ত
+ব্জ
+ব্দ
+ম্প
+ম্ফ
+ম্ভ
+ল্ক
+ল্গ
+ল্প
+ল্ফ
+শ্চ
+ষ্ক
+ষ্ট
+ষ্ঠ
+ষ্প
+ষ্ফ
+স্ক
+স্খ
+স্ত
+স্থ
+স্প
+স্ফ
+ম্থ
+ল্ত
+ল্ধ
+ক্ম
+ক্স
+গ্গ
+ঘ্ন
+চ্ন
+ছ্ব
+ঞ্ঝ
+ড্ড
+ড্ম
+ড়্গ
+ণ্ঠ
+ণ্ঢ
+ণ্ব
+ত্থ
+থ্ব
+ধ্ন
+ন্ট
+ন্ঠ
+ন্স
+প্ট
+প্ন
+ফ্ল
+ব্ধ
+ব্ল
+ভ্ল
+ম্ত
+ম্দ
+ল্ট
+ল্ড
+শ্ছ
+শ্ন
+শ্ত
+স্ট
+স্ম
+চ্ছ্র
+চ্ছ্ব
+দ্দ্ব
+দ্ধ্ব
+ন্ধ্র
+ব্দ্র
+ক্ষ্ণ
+ক্ষ্ম
+জ্জ্ব
+ত্ত্ব
+ত্ম্য
+ন্ত্র
+ন্ত্ব
+ন্দ্র
+ন্ধ্য
+ন্ন্য
+ম্প্র
+ম্ভ্র
+র্ধ্ব
+র্শ্ব
+ষ্ট্র
+ষ্প্র
+স্ত্র
+স্ট্র
+স্ক্র
+ক্ট্র
+প্স
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-bengali/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST
new file mode 100644
index 0000000..c384b38
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST
@@ -0,0 +1,6 @@
+dottedcircle.txt
+eyelash.txt
+joiners.txt
+misc.txt
+spec-deviations.txt
+tricky-reordering.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/dottedcircle.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/dottedcircle.txt
new file mode 100644
index 0000000..fd0ebdb
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/dottedcircle.txt
@@ -0,0 +1,8 @@
+र्◌
+र्◌्च
+र्◌्च्छे
+र्◌ि
+र्◌्
+र्◌़
+◌्च्छे
+र् 
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/eyelash.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/eyelash.txt
new file mode 100644
index 0000000..8e11955
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/eyelash.txt
@@ -0,0 +1,3 @@
+त्र्क
+त्र्‍क
+त्र्‌क
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/joiners.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/joiners.txt
new file mode 100644
index 0000000..75f85cc
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/joiners.txt
@@ -0,0 +1,19 @@
+र्ह
+र्‌ह
+र्‍ह
+ऱ्ह
+ऱ्‌ह
+ऱ्‍ह
+क्क
+क्‍
+क्‌क
+क्‍क
+क्कि
+क्‌कि
+क्‍कि
+क्ष
+क्‌ष
+क्‍ष
+द्सि
+द्‌सि
+द्‍सि
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt
new file mode 100644
index 0000000..4a8326c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt
@@ -0,0 +1,36 @@
+क
+क़
+कि
+क्
+क्क
+क्र
+क्र्क
+क्र्‍
+क्ष
+क्ष्
+क्‌ष
+क्‍
+क्‍ष
+छ्र्क
+ज्ञ्
+ट्रु
+र्क
+र्कि
+र्क्रि
+र्‍
+ि
+फ़्र
+फ्र
+द्दि
+क्ष
+क्‌ष
+क्‍ष
+र्अ्
+र्अ्‌
+र्अ्‍
+र्आ्र्
+क‌ि
+ऽं
+रुँः
+1ि
+१॑
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/spec-deviations.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/spec-deviations.txt
new file mode 100644
index 0000000..4814019
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/spec-deviations.txt
@@ -0,0 +1 @@
+सा़े
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt
new file mode 100644
index 0000000..1723ced
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt
@@ -0,0 +1,5 @@
+Usage:
+ ./hb-unicode-encode UNICODE_STRING...
+or:
+ ./hb-unicode-encode --stdin
+फि्
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/MANIFEST
new file mode 100644
index 0000000..0658824
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/MANIFEST
@@ -0,0 +1,3 @@
+codepoint
+gpos
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt
new file mode 100644
index 0000000..89cefb6
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt
@@ -0,0 +1,8 @@
+क़
+ख़
+ग़
+ज़
+ड़
+ढ़
+फ़
+य
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
new file mode 100644
index 0000000..9f7cda9
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
@@ -0,0 +1,4 @@
+ॠ
+ॡ
+ॢ
+ॣ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..3aa66ce
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,45 @@
+क
+ख
+ग
+घ
+ङ
+च
+छ
+ज
+झ
+ञ
+ट
+ठ
+ड
+ढ
+ण
+त
+थ
+द
+ध
+न
+ऩ
+प
+फ
+ब
+भ
+म
+य
+र
+ऱ
+ल
+ळ
+ऴ
+व
+श
+ष
+स
+ह
+क़
+ख़
+ग़
+ज़
+ड़
+ढ़
+फ़
+य़
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..04cf0a7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,14 @@
+ा
+ि
+ी
+ु
+ू
+ृ
+ॄ
+ॅ
+ॆ
+े
+ै
+ॉ
+ो
+ौ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt
new file mode 100644
index 0000000..7b0b32c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt
@@ -0,0 +1 @@
+॰
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..1427002
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+०
+१
+२
+३
+४
+५
+६
+७
+८
+९
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-GenericPunctuation.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-GenericPunctuation.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-GenericPunctuation.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..b336c35
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,16 @@
+अ
+आ
+इ
+ई
+उ
+ऊ
+ऋ
+ऌ
+ऍ
+ऎ
+ए
+ऐ
+ऑ
+ऒ
+ओ
+औ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..2ff3e87
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,10 @@
+ँ
+ं
+ः
+़
+ऽ
+्
+ॐ
+॒
+॓
+॔
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..21eb56c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/codepoint/MANIFEST
@@ -0,0 +1,9 @@
+IndicFontFeatureCodepoint-AdditionalConsonants.txt
+IndicFontFeatureCodepoint-AdditionalVowels.txt
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-GenericPunctuation.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
new file mode 100644
index 0000000..6d57308
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
@@ -0,0 +1,185 @@
+कॅ
+खॅ
+गॅ
+घॅ
+ङॅ
+चॅ
+छॅ
+जॅ
+झॅ
+ञॅ
+टॅ
+ठॅ
+डॅ
+ढॅ
+णॅ
+तॅ
+थॅ
+दॅ
+धॅ
+नॅ
+ऩॅ
+पॅ
+फॅ
+बॅ
+भॅ
+मॅ
+यॅ
+रॅ
+ऱॅ
+लॅ
+ळॅ
+ऴॅ
+वॅ
+शॅ
+षॅ
+सॅ
+हॅ
+कॆ
+खॆ
+गॆ
+घॆ
+ङॆ
+चॆ
+छॆ
+जॆ
+झॆ
+ञॆ
+टॆ
+ठॆ
+डॆ
+ढॆ
+णॆ
+तॆ
+थॆ
+दॆ
+धॆ
+नॆ
+ऩॆ
+पॆ
+फॆ
+बॆ
+भॆ
+मॆ
+यॆ
+रॆ
+ऱॆ
+लॆ
+ळॆ
+ऴॆ
+वॆ
+शॆ
+षॆ
+सॆ
+हॆ
+के
+खे
+गे
+घे
+ङे
+चे
+छे
+जे
+झे
+ञे
+टे
+ठे
+डे
+ढे
+णे
+ते
+थे
+दे
+धे
+ने
+ऩे
+पे
+फे
+बे
+भे
+मे
+ये
+रे
+ऱे
+ले
+ळे
+ऴे
+वे
+शे
+षे
+से
+हे
+कै
+खै
+गै
+घै
+ङै
+चै
+छै
+जै
+झै
+ञै
+टै
+ठै
+डै
+ढै
+णै
+तै
+थै
+दै
+धै
+नै
+ऩै
+पै
+फै
+बै
+भै
+मै
+यै
+रै
+ऱै
+लै
+ळै
+ऴै
+वै
+शै
+षै
+सै
+है
+कँ
+खँ
+गँ
+घँ
+ङँ
+चँ
+छँ
+जँ
+झँ
+ञँ
+टँ
+ठँ
+डँ
+ढँ
+णँ
+तँ
+थँ
+दँ
+धँ
+नँ
+ऩँ
+पँ
+फँ
+बँ
+भँ
+मँ
+यँ
+रँ
+ऱँ
+लँ
+ळँ
+ऴँ
+वँ
+शँ
+षँ
+सँ
+हँ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
new file mode 100644
index 0000000..bff1a7b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
@@ -0,0 +1,185 @@
+कु
+खु
+गु
+घु
+ङु
+चु
+छु
+जु
+झु
+ञु
+टु
+ठु
+डु
+ढु
+णु
+तु
+थु
+दु
+धु
+नु
+ऩु
+पु
+फु
+बु
+भु
+मु
+यु
+रु
+ऱु
+लु
+ळु
+ऴु
+वु
+शु
+षु
+सु
+हु
+कू
+खू
+गू
+घू
+ङू
+चू
+छू
+जू
+झू
+ञू
+टू
+ठू
+डू
+ढू
+णू
+तू
+थू
+दू
+धू
+नू
+ऩू
+पू
+फू
+बू
+भू
+मू
+यू
+रू
+ऱू
+लू
+ळू
+ऴू
+वू
+शू
+षू
+सू
+हू
+कृ
+खृ
+गृ
+घृ
+ङृ
+चृ
+छृ
+जृ
+झृ
+ञृ
+टृ
+ठृ
+डृ
+ढृ
+णृ
+तृ
+थृ
+दृ
+धृ
+नृ
+ऩृ
+पृ
+फृ
+बृ
+भृ
+मृ
+यृ
+रृ
+ऱृ
+लृ
+ळृ
+ऴृ
+वृ
+शृ
+षृ
+सृ
+हृ
+कॄ
+खॄ
+गॄ
+घॄ
+ङॄ
+चॄ
+छॄ
+जॄ
+झॄ
+ञॄ
+टॄ
+ठॄ
+डॄ
+ढॄ
+णॄ
+तॄ
+थॄ
+दॄ
+धॄ
+नॄ
+ऩॄ
+पॄ
+फॄ
+बॄ
+भॄ
+मॄ
+यॄ
+रॄ
+ऱॄ
+लॄ
+ळॄ
+ऴॄ
+वॄ
+शॄ
+षॄ
+सॄ
+हॄ
+क्
+ख्
+ग्
+घ्
+ङ्
+च्
+छ्
+ज्
+झ्
+ञ्
+ट्
+ठ्
+ड्
+ढ्
+ण्
+त्
+थ्
+द्
+ध्
+न्
+ऩ्
+प्
+फ्
+ब्
+भ्
+म्
+य्
+र्
+ऱ्
+ल्
+ळ्
+ऴ्
+व्
+श्
+ष्
+स्
+ह्
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/MANIFEST
new file mode 100644
index 0000000..d7ae70e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gpos/MANIFEST
@@ -0,0 +1,2 @@
+IndicFontFeatureGPOS-AboveBase.txt
+IndicFontFeatureGPOS-BelowBase.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..3b5e620
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,1367 @@
+क्क
+क्ख
+क्ग
+क्घ
+क्ङ
+क्च
+क्छ
+क्ज
+क्झ
+क्ञ
+क्ट
+क्ठ
+क्ड
+क्ढ
+क्ण
+क्त
+क्थ
+क्द
+क्ध
+क्न
+क्ऩ
+क्प
+क्फ
+क्ब
+क्भ
+क्म
+क्य
+क्र
+क्ऱ
+क्ल
+क्ळ
+क्ऴ
+क्व
+क्श
+क्ष
+क्स
+क्ह
+ख्क
+ख्ख
+ख्ग
+ख्घ
+ख्ङ
+ख्च
+ख्छ
+ख्ज
+ख्झ
+ख्ञ
+ख्ट
+ख्ठ
+ख्ड
+ख्ढ
+ख्ण
+ख्त
+ख्थ
+ख्द
+ख्ध
+ख्न
+ख्ऩ
+ख्प
+ख्फ
+ख्ब
+ख्भ
+ख्म
+ख्य
+ख्र
+ख्ऱ
+ख्ल
+ख्ळ
+ख्ऴ
+ख्व
+ख्श
+ख्ष
+ख्स
+ख्ह
+ग्क
+ग्ख
+ग्ग
+ग्घ
+ग्ङ
+ग्च
+ग्छ
+ग्ज
+ग्झ
+ग्ञ
+ग्ट
+ग्ठ
+ग्ड
+ग्ढ
+ग्ण
+ग्त
+ग्थ
+ग्द
+ग्ध
+ग्न
+ग्ऩ
+ग्प
+ग्फ
+ग्ब
+ग्भ
+ग्म
+ग्य
+ग्र
+ग्ऱ
+ग्ल
+ग्ळ
+ग्ऴ
+ग्व
+ग्श
+ग्ष
+ग्स
+ग्ह
+घ्क
+घ्ख
+घ्ग
+घ्घ
+घ्ङ
+घ्च
+घ्छ
+घ्ज
+घ्झ
+घ्ञ
+घ्ट
+घ्ठ
+घ्ड
+घ्ढ
+घ्ण
+घ्त
+घ्थ
+घ्द
+घ्ध
+घ्न
+घ्ऩ
+घ्प
+घ्फ
+घ्ब
+घ्भ
+घ्म
+घ्य
+घ्र
+घ्ऱ
+घ्ल
+घ्ळ
+घ्ऴ
+घ्व
+घ्श
+घ्ष
+घ्स
+घ्ह
+ङ्क
+ङ्ख
+ङ्ग
+ङ्घ
+ङ्ङ
+ङ्च
+ङ्छ
+ङ्ज
+ङ्झ
+ङ्ञ
+ङ्ट
+ङ्ठ
+ङ्ड
+ङ्ढ
+ङ्ण
+ङ्त
+ङ्थ
+ङ्द
+ङ्ध
+ङ्न
+ङ्ऩ
+ङ्प
+ङ्फ
+ङ्ब
+ङ्भ
+ङ्म
+ङ्य
+ङ्र
+ङ्ऱ
+ङ्ल
+ङ्ळ
+ङ्ऴ
+ङ्व
+ङ्श
+ङ्ष
+ङ्स
+ङ्ह
+च्क
+च्ख
+च्ग
+च्घ
+च्ङ
+च्च
+च्छ
+च्ज
+च्झ
+च्ञ
+च्ट
+च्ठ
+च्ड
+च्ढ
+च्ण
+च्त
+च्थ
+च्द
+च्ध
+च्न
+च्ऩ
+च्प
+च्फ
+च्ब
+च्भ
+च्म
+च्य
+च्र
+च्ऱ
+च्ल
+च्ळ
+च्ऴ
+च्व
+च्श
+च्ष
+च्स
+च्ह
+छ्क
+छ्ख
+छ्ग
+छ्घ
+छ्ङ
+छ्च
+छ्छ
+छ्ज
+छ्झ
+छ्ञ
+छ्ट
+छ्ठ
+छ्ड
+छ्ढ
+छ्ण
+छ्त
+छ्थ
+छ्द
+छ्ध
+छ्न
+छ्ऩ
+छ्प
+छ्फ
+छ्ब
+छ्भ
+छ्म
+छ्य
+छ्र
+छ्ऱ
+छ्ल
+छ्ळ
+छ्ऴ
+छ्व
+छ्श
+छ्ष
+छ्स
+छ्ह
+ज्क
+ज्ख
+ज्ग
+ज्घ
+ज्ङ
+ज्च
+ज्छ
+ज्ज
+ज्झ
+ज्ञ
+ज्ट
+ज्ठ
+ज्ड
+ज्ढ
+ज्ण
+ज्त
+ज्थ
+ज्द
+ज्ध
+ज्न
+ज्ऩ
+ज्प
+ज्फ
+ज्ब
+ज्भ
+ज्म
+ज्य
+ज्र
+ज्ऱ
+ज्ल
+ज्ळ
+ज्ऴ
+ज्व
+ज्श
+ज्ष
+ज्स
+ज्ह
+झ्क
+झ्ख
+झ्ग
+झ्घ
+झ्ङ
+झ्च
+झ्छ
+झ्ज
+झ्झ
+झ्ञ
+झ्ट
+झ्ठ
+झ्ड
+झ्ढ
+झ्ण
+झ्त
+झ्थ
+झ्द
+झ्ध
+झ्न
+झ्ऩ
+झ्प
+झ्फ
+झ्ब
+झ्भ
+झ्म
+झ्य
+झ्र
+झ्ऱ
+झ्ल
+झ्ळ
+झ्ऴ
+झ्व
+झ्श
+झ्ष
+झ्स
+झ्ह
+ञ्क
+ञ्ख
+ञ्ग
+ञ्घ
+ञ्ङ
+ञ्च
+ञ्छ
+ञ्ज
+ञ्झ
+ञ्ञ
+ञ्ट
+ञ्ठ
+ञ्ड
+ञ्ढ
+ञ्ण
+ञ्त
+ञ्थ
+ञ्द
+ञ्ध
+ञ्न
+ञ्ऩ
+ञ्प
+ञ्फ
+ञ्ब
+ञ्भ
+ञ्म
+ञ्य
+ञ्र
+ञ्ऱ
+ञ्ल
+ञ्ळ
+ञ्ऴ
+ञ्व
+ञ्श
+ञ्ष
+ञ्स
+ञ्ह
+ट्क
+ट्ख
+ट्ग
+ट्घ
+ट्ङ
+ट्च
+ट्छ
+ट्ज
+ट्झ
+ट्ञ
+ट्ट
+ट्ठ
+ट्ड
+ट्ढ
+ट्ण
+ट्त
+ट्थ
+ट्द
+ट्ध
+ट्न
+ट्ऩ
+ट्प
+ट्फ
+ट्ब
+ट्भ
+ट्म
+ट्य
+ट्र
+ट्ऱ
+ट्ल
+ट्ळ
+ट्ऴ
+ट्व
+ट्श
+ट्ष
+ट्स
+ट्ह
+ठ्क
+ठ्ख
+ठ्ग
+ठ्घ
+ठ्ङ
+ठ्च
+ठ्छ
+ठ्ज
+ठ्झ
+ठ्ञ
+ठ्ट
+ठ्ठ
+ठ्ड
+ठ्ढ
+ठ्ण
+ठ्त
+ठ्थ
+ठ्द
+ठ्ध
+ठ्न
+ठ्ऩ
+ठ्प
+ठ्फ
+ठ्ब
+ठ्भ
+ठ्म
+ठ्य
+ठ्र
+ठ्ऱ
+ठ्ल
+ठ्ळ
+ठ्ऴ
+ठ्व
+ठ्श
+ठ्ष
+ठ्स
+ठ्ह
+ड्क
+ड्ख
+ड्ग
+ड्घ
+ड्ङ
+ड्च
+ड्छ
+ड्ज
+ड्झ
+ड्ञ
+ड्ट
+ड्ठ
+ड्ड
+ड्ढ
+ड्ण
+ड्त
+ड्थ
+ड्द
+ड्ध
+ड्न
+ड्ऩ
+ड्प
+ड्फ
+ड्ब
+ड्भ
+ड्म
+ड्य
+ड्र
+ड्ऱ
+ड्ल
+ड्ळ
+ड्ऴ
+ड्व
+ड्श
+ड्ष
+ड्स
+ड्ह
+ढ्क
+ढ्ख
+ढ्ग
+ढ्घ
+ढ्ङ
+ढ्च
+ढ्छ
+ढ्ज
+ढ्झ
+ढ्ञ
+ढ्ट
+ढ्ठ
+ढ्ड
+ढ्ढ
+ढ्ण
+ढ्त
+ढ्थ
+ढ्द
+ढ्ध
+ढ्न
+ढ्ऩ
+ढ्प
+ढ्फ
+ढ्ब
+ढ्भ
+ढ्म
+ढ्य
+ढ्र
+ढ्ऱ
+ढ्ल
+ढ्ळ
+ढ्ऴ
+ढ्व
+ढ्श
+ढ्ष
+ढ्स
+ढ्ह
+ण्क
+ण्ख
+ण्ग
+ण्घ
+ण्ङ
+ण्च
+ण्छ
+ण्ज
+ण्झ
+ण्ञ
+ण्ट
+ण्ठ
+ण्ड
+ण्ढ
+ण्ण
+ण्त
+ण्थ
+ण्द
+ण्ध
+ण्न
+ण्ऩ
+ण्प
+ण्फ
+ण्ब
+ण्भ
+ण्म
+ण्य
+ण्र
+ण्ऱ
+ण्ल
+ण्ळ
+ण्ऴ
+ण्व
+ण्श
+ण्ष
+ण्स
+ण्ह
+त्क
+त्ख
+त्ग
+त्घ
+त्ङ
+त्च
+त्छ
+त्ज
+त्झ
+त्ञ
+त्ट
+त्ठ
+त्ड
+त्ढ
+त्ण
+त्त
+त्थ
+त्द
+त्ध
+त्न
+त्ऩ
+त्प
+त्फ
+त्ब
+त्भ
+त्म
+त्य
+त्र
+त्ऱ
+त्ल
+त्ळ
+त्ऴ
+त्व
+त्श
+त्ष
+त्स
+त्ह
+थ्क
+थ्ख
+थ्ग
+थ्घ
+थ्ङ
+थ्च
+थ्छ
+थ्ज
+थ्झ
+थ्ञ
+थ्ट
+थ्ठ
+थ्ड
+थ्ढ
+थ्ण
+थ्त
+थ्थ
+थ्द
+थ्ध
+थ्न
+थ्ऩ
+थ्प
+थ्फ
+थ्ब
+थ्भ
+थ्म
+थ्य
+थ्र
+थ्ऱ
+थ्ल
+थ्ळ
+थ्ऴ
+थ्व
+थ्श
+थ्ष
+थ्स
+थ्ह
+द्क
+द्ख
+द्ग
+द्घ
+द्ङ
+द्च
+द्छ
+द्ज
+द्झ
+द्ञ
+द्ट
+द्ठ
+द्ड
+द्ढ
+द्ण
+द्त
+द्थ
+द्द
+द्ध
+द्न
+द्ऩ
+द्प
+द्फ
+द्ब
+द्भ
+द्म
+द्य
+द्र
+द्ऱ
+द्ल
+द्ळ
+द्ऴ
+द्व
+द्श
+द्ष
+द्स
+द्ह
+ध्क
+ध्ख
+ध्ग
+ध्घ
+ध्ङ
+ध्च
+ध्छ
+ध्ज
+ध्झ
+ध्ञ
+ध्ट
+ध्ठ
+ध्ड
+ध्ढ
+ध्ण
+ध्त
+ध्थ
+ध्द
+ध्ध
+ध्न
+ध्ऩ
+ध्प
+ध्फ
+ध्ब
+ध्भ
+ध्म
+ध्य
+ध्र
+ध्ऱ
+ध्ल
+ध्ळ
+ध्ऴ
+ध्व
+ध्श
+ध्ष
+ध्स
+ध्ह
+न्क
+न्ख
+न्ग
+न्घ
+न्ङ
+न्च
+न्छ
+न्ज
+न्झ
+न्ञ
+न्ट
+न्ठ
+न्ड
+न्ढ
+न्ण
+न्त
+न्थ
+न्द
+न्ध
+न्न
+न्ऩ
+न्प
+न्फ
+न्ब
+न्भ
+न्म
+न्य
+न्र
+न्ऱ
+न्ल
+न्ळ
+न्ऴ
+न्व
+न्श
+न्ष
+न्स
+न्ह
+ऩ्क
+ऩ्ख
+ऩ्ग
+ऩ्घ
+ऩ्ङ
+ऩ्च
+ऩ्छ
+ऩ्ज
+ऩ्झ
+ऩ्ञ
+ऩ्ट
+ऩ्ठ
+ऩ्ड
+ऩ्ढ
+ऩ्ण
+ऩ्त
+ऩ्थ
+ऩ्द
+ऩ्ध
+ऩ्न
+ऩ्ऩ
+ऩ्प
+ऩ्फ
+ऩ्ब
+ऩ्भ
+ऩ्म
+ऩ्य
+ऩ्र
+ऩ्ऱ
+ऩ्ल
+ऩ्ळ
+ऩ्ऴ
+ऩ्व
+ऩ्श
+ऩ्ष
+ऩ्स
+ऩ्ह
+प्क
+प्ख
+प्ग
+प्घ
+प्ङ
+प्च
+प्छ
+प्ज
+प्झ
+प्ञ
+प्ट
+प्ठ
+प्ड
+प्ढ
+प्ण
+प्त
+प्थ
+प्द
+प्ध
+प्न
+प्ऩ
+प्प
+प्फ
+प्ब
+प्भ
+प्म
+प्य
+प्र
+प्ऱ
+प्ल
+प्ळ
+प्ऴ
+प्व
+प्श
+प्ष
+प्स
+प्ह
+फ्क
+फ्ख
+फ्ग
+फ्घ
+फ्ङ
+फ्च
+फ्छ
+फ्ज
+फ्झ
+फ्ञ
+फ्ट
+फ्ठ
+फ्ड
+फ्ढ
+फ्ण
+फ्त
+फ्थ
+फ्द
+फ्ध
+फ्न
+फ्ऩ
+फ्प
+फ्फ
+फ्ब
+फ्भ
+फ्म
+फ्य
+फ्र
+फ्ऱ
+फ्ल
+फ्ळ
+फ्ऴ
+फ्व
+फ्श
+फ्ष
+फ्स
+फ्ह
+ब्क
+ब्ख
+ब्ग
+ब्घ
+ब्ङ
+ब्च
+ब्छ
+ब्ज
+ब्झ
+ब्ञ
+ब्ट
+ब्ठ
+ब्ड
+ब्ढ
+ब्ण
+ब्त
+ब्थ
+ब्द
+ब्ध
+ब्न
+ब्ऩ
+ब्प
+ब्फ
+ब्ब
+ब्भ
+ब्म
+ब्य
+ब्र
+ब्ऱ
+ब्ल
+ब्ळ
+ब्ऴ
+ब्व
+ब्श
+ब्ष
+ब्स
+ब्ह
+भ्क
+भ्ख
+भ्ग
+भ्घ
+भ्ङ
+भ्च
+भ्छ
+भ्ज
+भ्झ
+भ्ञ
+भ्ट
+भ्ठ
+भ्ड
+भ्ढ
+भ्ण
+भ्त
+भ्थ
+भ्द
+भ्ध
+भ्न
+भ्ऩ
+भ्प
+भ्फ
+भ्ब
+भ्भ
+भ्म
+भ्य
+भ्र
+भ्ऱ
+भ्ल
+भ्ळ
+भ्ऴ
+भ्व
+भ्श
+भ्ष
+भ्स
+भ्ह
+म्क
+म्ख
+म्ग
+म्घ
+म्ङ
+म्च
+म्छ
+म्ज
+म्झ
+म्ञ
+म्ट
+म्ठ
+म्ड
+म्ढ
+म्ण
+म्त
+म्थ
+म्द
+म्ध
+म्न
+म्ऩ
+म्प
+म्फ
+म्ब
+म्भ
+म्म
+म्य
+म्र
+म्ऱ
+म्ल
+म्ळ
+म्ऴ
+म्व
+म्श
+म्ष
+म्स
+म्ह
+य्क
+य्ख
+य्ग
+य्घ
+य्ङ
+य्च
+य्छ
+य्ज
+य्झ
+य्ञ
+य्ट
+य्ठ
+य्ड
+य्ढ
+य्ण
+य्त
+य्थ
+य्द
+य्ध
+य्न
+य्ऩ
+य्प
+य्फ
+य्ब
+य्भ
+य्म
+य्य
+य्र
+य्ऱ
+य्ल
+य्ळ
+य्ऴ
+य्व
+य्श
+य्ष
+य्स
+य्ह
+र्क
+र्ख
+र्ग
+र्घ
+र्ङ
+र्च
+र्छ
+र्ज
+र्झ
+र्ञ
+र्ट
+र्ठ
+र्ड
+र्ढ
+र्ण
+र्त
+र्थ
+र्द
+र्ध
+र्न
+र्ऩ
+र्प
+र्फ
+र्ब
+र्भ
+र्म
+र्य
+र्र
+र्ऱ
+र्ल
+र्ळ
+र्ऴ
+र्व
+र्श
+र्ष
+र्स
+र्ह
+ऱ्क
+ऱ्ख
+ऱ्ग
+ऱ्घ
+ऱ्ङ
+ऱ्च
+ऱ्छ
+ऱ्ज
+ऱ्झ
+ऱ्ञ
+ऱ्ट
+ऱ्ठ
+ऱ्ड
+ऱ्ढ
+ऱ्ण
+ऱ्त
+ऱ्थ
+ऱ्द
+ऱ्ध
+ऱ्न
+ऱ्ऩ
+ऱ्प
+ऱ्फ
+ऱ्ब
+ऱ्भ
+ऱ्म
+ऱ्य
+ऱ्र
+ऱ्ऱ
+ऱ्ल
+ऱ्ळ
+ऱ्ऴ
+ऱ्व
+ऱ्श
+ऱ्ष
+ऱ्स
+ऱ्ह
+ल्क
+ल्ख
+ल्ग
+ल्घ
+ल्ङ
+ल्च
+ल्छ
+ल्ज
+ल्झ
+ल्ञ
+ल्ट
+ल्ठ
+ल्ड
+ल्ढ
+ल्ण
+ल्त
+ल्थ
+ल्द
+ल्ध
+ल्न
+ल्ऩ
+ल्प
+ल्फ
+ल्ब
+ल्भ
+ल्म
+ल्य
+ल्र
+ल्ऱ
+ल्ल
+ल्ळ
+ल्ऴ
+ल्व
+ल्श
+ल्ष
+ल्स
+ल्ह
+ळ्क
+ळ्ख
+ळ्ग
+ळ्घ
+ळ्ङ
+ळ्च
+ळ्छ
+ळ्ज
+ळ्झ
+ळ्ञ
+ळ्ट
+ळ्ठ
+ळ्ड
+ळ्ढ
+ळ्ण
+ळ्त
+ळ्थ
+ळ्द
+ळ्ध
+ळ्न
+ळ्ऩ
+ळ्प
+ळ्फ
+ळ्ब
+ळ्भ
+ळ्म
+ळ्य
+ळ्र
+ळ्ऱ
+ळ्ल
+ळ्ळ
+ळ्ऴ
+ळ्व
+ळ्श
+ळ्ष
+ळ्स
+ळ्ह
+ऴ्क
+ऴ्ख
+ऴ्ग
+ऴ्घ
+ऴ्ङ
+ऴ्च
+ऴ्छ
+ऴ्ज
+ऴ्झ
+ऴ्ञ
+ऴ्ट
+ऴ्ठ
+ऴ्ड
+ऴ्ढ
+ऴ्ण
+ऴ्त
+ऴ्थ
+ऴ्द
+ऴ्ध
+ऴ्न
+ऴ्ऩ
+ऴ्प
+ऴ्फ
+ऴ्ब
+ऴ्भ
+ऴ्म
+ऴ्य
+ऴ्र
+ऴ्ऱ
+ऴ्ल
+ऴ्ळ
+ऴ्ऴ
+ऴ्व
+ऴ्श
+ऴ्ष
+ऴ्स
+ऴ्ह
+व्क
+व्ख
+व्ग
+व्घ
+व्ङ
+व्च
+व्छ
+व्ज
+व्झ
+व्ञ
+व्ट
+व्ठ
+व्ड
+व्ढ
+व्ण
+व्त
+व्थ
+व्द
+व्ध
+व्न
+व्ऩ
+व्प
+व्फ
+व्ब
+व्भ
+व्म
+व्य
+व्र
+व्ऱ
+व्ल
+व्ळ
+व्ऴ
+व्व
+व्श
+व्ष
+व्स
+व्ह
+श्क
+श्ख
+श्ग
+श्घ
+श्ङ
+श्च
+श्छ
+श्ज
+श्झ
+श्ञ
+श्ट
+श्ठ
+श्ड
+श्ढ
+श्ण
+श्त
+श्थ
+श्द
+श्ध
+श्न
+श्ऩ
+श्प
+श्फ
+श्ब
+श्भ
+श्म
+श्य
+श्र
+श्ऱ
+श्ल
+श्ळ
+श्ऴ
+श्व
+श्श
+श्ष
+श्स
+श्ह
+ष्क
+ष्ख
+ष्ग
+ष्घ
+ष्ङ
+ष्च
+ष्छ
+ष्ज
+ष्झ
+ष्ञ
+ष्ट
+ष्ठ
+ष्ड
+ष्ढ
+ष्ण
+ष्त
+ष्थ
+ष्द
+ष्ध
+ष्न
+ष्ऩ
+ष्प
+ष्फ
+ष्ब
+ष्भ
+ष्म
+ष्य
+ष्र
+ष्ऱ
+ष्ल
+ष्ळ
+ष्ऴ
+ष्व
+ष्श
+ष्ष
+ष्स
+ष्ह
+स्क
+स्ख
+स्ग
+स्घ
+स्ङ
+स्च
+स्छ
+स्ज
+स्झ
+स्ञ
+स्ट
+स्ठ
+स्ड
+स्ढ
+स्ण
+स्त
+स्थ
+स्द
+स्ध
+स्न
+स्ऩ
+स्प
+स्फ
+स्ब
+स्भ
+स्म
+स्य
+स्र
+स्ऱ
+स्ल
+स्ळ
+स्ऴ
+स्व
+स्श
+स्ष
+स्स
+स्ह
+ह्क
+ह्ख
+ह्ग
+ह्घ
+ह्ङ
+ह्च
+ह्छ
+ह्ज
+ह्झ
+ह्ञ
+ह्ट
+ह्ठ
+ह्ड
+ह्ढ
+ह्ण
+ह्त
+ह्थ
+ह्द
+ह्ध
+ह्न
+ह्ऩ
+ह्प
+ह्फ
+ह्ब
+ह्भ
+ह्म
+ह्य
+ह्र
+ह्ऱ
+ह्ल
+ह्ळ
+ह्ऴ
+ह्व
+ह्श
+ह्ष
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-devanagari/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/misc/MANIFEST
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/misc/MANIFEST
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/MANIFEST
new file mode 100644
index 0000000..0658824
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/MANIFEST
@@ -0,0 +1,3 @@
+codepoint
+gpos
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
new file mode 100644
index 0000000..fd5e6e6
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
@@ -0,0 +1 @@
+codepoint, imagepath, rawcode, desc
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..e91003a
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,34 @@
+ક
+ખ
+ગ
+ઘ
+ઙ
+ચ
+છ
+જ
+ઝ
+ઞ
+ટ
+ઠ
+ડ
+ઢ
+ણ
+ત
+થ
+દ
+ધ
+ન
+પ
+ફ
+બ
+ભ
+મ
+ય
+ર
+લ
+ળ
+વ
+શ
+ષ
+સ
+હ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..3650298
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,12 @@
+ા
+િ
+ી
+ુ
+ૂ
+ૃ
+ૅ
+ે
+ૈ
+ૉ
+ો
+ૌ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..eabae39
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+૦
+૧
+૨
+૩
+૪
+૫
+૬
+૭
+૮
+૯
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..116eb60
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,13 @@
+અ
+આ
+ઇ
+ઈ
+ઉ
+ઊ
+ઋ
+ઍ
+એ
+ઐ
+ઑ
+ઓ
+ઔ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..218e507
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,7 @@
+ઁ
+ં
+ઃ
+઼
+ઽ
+્
+ૐ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..1490dfe
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/codepoint/MANIFEST
@@ -0,0 +1,7 @@
+IndicFontFeatureCodepoint-AdditionalVowels.txt
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-Reserved.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
new file mode 100644
index 0000000..f7ff3af
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
@@ -0,0 +1,170 @@
+કૅ
+ખૅ
+ગૅ
+ઘૅ
+ઙૅ
+ચૅ
+છૅ
+જૅ
+ઝૅ
+ઞૅ
+ટૅ
+ઠૅ
+ડૅ
+ઢૅ
+ણૅ
+તૅ
+થૅ
+દૅ
+ધૅ
+નૅ
+પૅ
+ફૅ
+બૅ
+ભૅ
+મૅ
+યૅ
+રૅ
+લૅ
+ળૅ
+વૅ
+શૅ
+ષૅ
+સૅ
+હૅ
+કે
+ખે
+ગે
+ઘે
+ઙે
+ચે
+છે
+જે
+ઝે
+ઞે
+ટે
+ઠે
+ડે
+ઢે
+ણે
+તે
+થે
+દે
+ધે
+ને
+પે
+ફે
+બે
+ભે
+મે
+યે
+રે
+લે
+ળે
+વે
+શે
+ષે
+સે
+હે
+કૈ
+ખૈ
+ગૈ
+ઘૈ
+ઙૈ
+ચૈ
+છૈ
+જૈ
+ઝૈ
+ઞૈ
+ટૈ
+ઠૈ
+ડૈ
+ઢૈ
+ણૈ
+તૈ
+થૈ
+દૈ
+ધૈ
+નૈ
+પૈ
+ફૈ
+બૈ
+ભૈ
+મૈ
+યૈ
+રૈ
+લૈ
+ળૈ
+વૈ
+શૈ
+ષૈ
+સૈ
+હૈ
+કઁ
+ખઁ
+ગઁ
+ઘઁ
+ઙઁ
+ચઁ
+છઁ
+જઁ
+ઝઁ
+ઞઁ
+ટઁ
+ઠઁ
+ડઁ
+ઢઁ
+ણઁ
+તઁ
+થઁ
+દઁ
+ધઁ
+નઁ
+પઁ
+ફઁ
+બઁ
+ભઁ
+મઁ
+યઁ
+રઁ
+લઁ
+ળઁ
+વઁ
+શઁ
+ષઁ
+સઁ
+હઁ
+કં
+ખં
+ગં
+ઘં
+ઙં
+ચં
+છં
+જં
+ઝં
+ઞં
+ટં
+ઠં
+ડં
+ઢં
+ણં
+તં
+થં
+દં
+ધં
+નં
+પં
+ફં
+બં
+ભં
+મં
+યં
+રં
+લં
+ળં
+વં
+શં
+ષં
+સં
+હં
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
new file mode 100644
index 0000000..fa658cf
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
@@ -0,0 +1,170 @@
+કુ
+ખુ
+ગુ
+ઘુ
+ઙુ
+ચુ
+છુ
+જુ
+ઝુ
+ઞુ
+ટુ
+ઠુ
+ડુ
+ઢુ
+ણુ
+તુ
+થુ
+દુ
+ધુ
+નુ
+પુ
+ફુ
+બુ
+ભુ
+મુ
+યુ
+રુ
+લુ
+ળુ
+વુ
+શુ
+ષુ
+સુ
+હુ
+કૂ
+ખૂ
+ગૂ
+ઘૂ
+ઙૂ
+ચૂ
+છૂ
+જૂ
+ઝૂ
+ઞૂ
+ટૂ
+ઠૂ
+ડૂ
+ઢૂ
+ણૂ
+તૂ
+થૂ
+દૂ
+ધૂ
+નૂ
+પૂ
+ફૂ
+બૂ
+ભૂ
+મૂ
+યૂ
+રૂ
+લૂ
+ળૂ
+વૂ
+શૂ
+ષૂ
+સૂ
+હૂ
+કૃ
+ખૃ
+ગૃ
+ઘૃ
+ઙૃ
+ચૃ
+છૃ
+જૃ
+ઝૃ
+ઞૃ
+ટૃ
+ઠૃ
+ડૃ
+ઢૃ
+ણૃ
+તૃ
+થૃ
+દૃ
+ધૃ
+નૃ
+પૃ
+ફૃ
+બૃ
+ભૃ
+મૃ
+યૃ
+રૃ
+લૃ
+ળૃ
+વૃ
+શૃ
+ષૃ
+સૃ
+હૃ
+કૄ
+ખૄ
+ગૄ
+ઘૄ
+ઙૄ
+ચૄ
+છૄ
+જૄ
+ઝૄ
+ઞૄ
+ટૄ
+ઠૄ
+ડૄ
+ઢૄ
+ણૄ
+તૄ
+થૄ
+દૄ
+ધૄ
+નૄ
+પૄ
+ફૄ
+બૄ
+ભૄ
+મૄ
+યૄ
+રૄ
+લૄ
+ળૄ
+વૄ
+શૄ
+ષૄ
+સૄ
+હૄ
+ક્
+ખ્
+ગ્
+ઘ્
+ઙ્
+ચ્
+છ્
+જ્
+ઝ્
+ઞ્
+ટ્
+ઠ્
+ડ્
+ઢ્
+ણ્
+ત્
+થ્
+દ્
+ધ્
+ન્
+પ્
+ફ્
+બ્
+ભ્
+મ્
+ય્
+ર્
+લ્
+ળ્
+વ્
+શ્
+ષ્
+સ્
+હ્
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/MANIFEST
new file mode 100644
index 0000000..d7ae70e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gpos/MANIFEST
@@ -0,0 +1,2 @@
+IndicFontFeatureGPOS-AboveBase.txt
+IndicFontFeatureGPOS-BelowBase.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..6211c9b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,1156 @@
+ક્ક
+ક્ખ
+ક્ગ
+ક્ઘ
+ક્ઙ
+ક્ચ
+ક્છ
+ક્જ
+ક્ઝ
+ક્ઞ
+ક્ટ
+ક્ઠ
+ક્ડ
+ક્ઢ
+ક્ણ
+ક્ત
+ક્થ
+ક્દ
+ક્ધ
+ક્ન
+ક્પ
+ક્ફ
+ક્બ
+ક્ભ
+ક્મ
+ક્ય
+ક્ર
+ક્લ
+ક્ળ
+ક્વ
+ક્શ
+ક્ષ
+ક્સ
+ક્હ
+ખ્ક
+ખ્ખ
+ખ્ગ
+ખ્ઘ
+ખ્ઙ
+ખ્ચ
+ખ્છ
+ખ્જ
+ખ્ઝ
+ખ્ઞ
+ખ્ટ
+ખ્ઠ
+ખ્ડ
+ખ્ઢ
+ખ્ણ
+ખ્ત
+ખ્થ
+ખ્દ
+ખ્ધ
+ખ્ન
+ખ્પ
+ખ્ફ
+ખ્બ
+ખ્ભ
+ખ્મ
+ખ્ય
+ખ્ર
+ખ્લ
+ખ્ળ
+ખ્વ
+ખ્શ
+ખ્ષ
+ખ્સ
+ખ્હ
+ગ્ક
+ગ્ખ
+ગ્ગ
+ગ્ઘ
+ગ્ઙ
+ગ્ચ
+ગ્છ
+ગ્જ
+ગ્ઝ
+ગ્ઞ
+ગ્ટ
+ગ્ઠ
+ગ્ડ
+ગ્ઢ
+ગ્ણ
+ગ્ત
+ગ્થ
+ગ્દ
+ગ્ધ
+ગ્ન
+ગ્પ
+ગ્ફ
+ગ્બ
+ગ્ભ
+ગ્મ
+ગ્ય
+ગ્ર
+ગ્લ
+ગ્ળ
+ગ્વ
+ગ્શ
+ગ્ષ
+ગ્સ
+ગ્હ
+ઘ્ક
+ઘ્ખ
+ઘ્ગ
+ઘ્ઘ
+ઘ્ઙ
+ઘ્ચ
+ઘ્છ
+ઘ્જ
+ઘ્ઝ
+ઘ્ઞ
+ઘ્ટ
+ઘ્ઠ
+ઘ્ડ
+ઘ્ઢ
+ઘ્ણ
+ઘ્ત
+ઘ્થ
+ઘ્દ
+ઘ્ધ
+ઘ્ન
+ઘ્પ
+ઘ્ફ
+ઘ્બ
+ઘ્ભ
+ઘ્મ
+ઘ્ય
+ઘ્ર
+ઘ્લ
+ઘ્ળ
+ઘ્વ
+ઘ્શ
+ઘ્ષ
+ઘ્સ
+ઘ્હ
+ઙ્ક
+ઙ્ખ
+ઙ્ગ
+ઙ્ઘ
+ઙ્ઙ
+ઙ્ચ
+ઙ્છ
+ઙ્જ
+ઙ્ઝ
+ઙ્ઞ
+ઙ્ટ
+ઙ્ઠ
+ઙ્ડ
+ઙ્ઢ
+ઙ્ણ
+ઙ્ત
+ઙ્થ
+ઙ્દ
+ઙ્ધ
+ઙ્ન
+ઙ્પ
+ઙ્ફ
+ઙ્બ
+ઙ્ભ
+ઙ્મ
+ઙ્ય
+ઙ્ર
+ઙ્લ
+ઙ્ળ
+ઙ્વ
+ઙ્શ
+ઙ્ષ
+ઙ્સ
+ઙ્હ
+ચ્ક
+ચ્ખ
+ચ્ગ
+ચ્ઘ
+ચ્ઙ
+ચ્ચ
+ચ્છ
+ચ્જ
+ચ્ઝ
+ચ્ઞ
+ચ્ટ
+ચ્ઠ
+ચ્ડ
+ચ્ઢ
+ચ્ણ
+ચ્ત
+ચ્થ
+ચ્દ
+ચ્ધ
+ચ્ન
+ચ્પ
+ચ્ફ
+ચ્બ
+ચ્ભ
+ચ્મ
+ચ્ય
+ચ્ર
+ચ્લ
+ચ્ળ
+ચ્વ
+ચ્શ
+ચ્ષ
+ચ્સ
+ચ્હ
+છ્ક
+છ્ખ
+છ્ગ
+છ્ઘ
+છ્ઙ
+છ્ચ
+છ્છ
+છ્જ
+છ્ઝ
+છ્ઞ
+છ્ટ
+છ્ઠ
+છ્ડ
+છ્ઢ
+છ્ણ
+છ્ત
+છ્થ
+છ્દ
+છ્ધ
+છ્ન
+છ્પ
+છ્ફ
+છ્બ
+છ્ભ
+છ્મ
+છ્ય
+છ્ર
+છ્લ
+છ્ળ
+છ્વ
+છ્શ
+છ્ષ
+છ્સ
+છ્હ
+જ્ક
+જ્ખ
+જ્ગ
+જ્ઘ
+જ્ઙ
+જ્ચ
+જ્છ
+જ્જ
+જ્ઝ
+જ્ઞ
+જ્ટ
+જ્ઠ
+જ્ડ
+જ્ઢ
+જ્ણ
+જ્ત
+જ્થ
+જ્દ
+જ્ધ
+જ્ન
+જ્પ
+જ્ફ
+જ્બ
+જ્ભ
+જ્મ
+જ્ય
+જ્ર
+જ્લ
+જ્ળ
+જ્વ
+જ્શ
+જ્ષ
+જ્સ
+જ્હ
+ઝ્ક
+ઝ્ખ
+ઝ્ગ
+ઝ્ઘ
+ઝ્ઙ
+ઝ્ચ
+ઝ્છ
+ઝ્જ
+ઝ્ઝ
+ઝ્ઞ
+ઝ્ટ
+ઝ્ઠ
+ઝ્ડ
+ઝ્ઢ
+ઝ્ણ
+ઝ્ત
+ઝ્થ
+ઝ્દ
+ઝ્ધ
+ઝ્ન
+ઝ્પ
+ઝ્ફ
+ઝ્બ
+ઝ્ભ
+ઝ્મ
+ઝ્ય
+ઝ્ર
+ઝ્લ
+ઝ્ળ
+ઝ્વ
+ઝ્શ
+ઝ્ષ
+ઝ્સ
+ઝ્હ
+ઞ્ક
+ઞ્ખ
+ઞ્ગ
+ઞ્ઘ
+ઞ્ઙ
+ઞ્ચ
+ઞ્છ
+ઞ્જ
+ઞ્ઝ
+ઞ્ઞ
+ઞ્ટ
+ઞ્ઠ
+ઞ્ડ
+ઞ્ઢ
+ઞ્ણ
+ઞ્ત
+ઞ્થ
+ઞ્દ
+ઞ્ધ
+ઞ્ન
+ઞ્પ
+ઞ્ફ
+ઞ્બ
+ઞ્ભ
+ઞ્મ
+ઞ્ય
+ઞ્ર
+ઞ્લ
+ઞ્ળ
+ઞ્વ
+ઞ્શ
+ઞ્ષ
+ઞ્સ
+ઞ્હ
+ટ્ક
+ટ્ખ
+ટ્ગ
+ટ્ઘ
+ટ્ઙ
+ટ્ચ
+ટ્છ
+ટ્જ
+ટ્ઝ
+ટ્ઞ
+ટ્ટ
+ટ્ઠ
+ટ્ડ
+ટ્ઢ
+ટ્ણ
+ટ્ત
+ટ્થ
+ટ્દ
+ટ્ધ
+ટ્ન
+ટ્પ
+ટ્ફ
+ટ્બ
+ટ્ભ
+ટ્મ
+ટ્ય
+ટ્ર
+ટ્લ
+ટ્ળ
+ટ્વ
+ટ્શ
+ટ્ષ
+ટ્સ
+ટ્હ
+ઠ્ક
+ઠ્ખ
+ઠ્ગ
+ઠ્ઘ
+ઠ્ઙ
+ઠ્ચ
+ઠ્છ
+ઠ્જ
+ઠ્ઝ
+ઠ્ઞ
+ઠ્ટ
+ઠ્ઠ
+ઠ્ડ
+ઠ્ઢ
+ઠ્ણ
+ઠ્ત
+ઠ્થ
+ઠ્દ
+ઠ્ધ
+ઠ્ન
+ઠ્પ
+ઠ્ફ
+ઠ્બ
+ઠ્ભ
+ઠ્મ
+ઠ્ય
+ઠ્ર
+ઠ્લ
+ઠ્ળ
+ઠ્વ
+ઠ્શ
+ઠ્ષ
+ઠ્સ
+ઠ્હ
+ડ્ક
+ડ્ખ
+ડ્ગ
+ડ્ઘ
+ડ્ઙ
+ડ્ચ
+ડ્છ
+ડ્જ
+ડ્ઝ
+ડ્ઞ
+ડ્ટ
+ડ્ઠ
+ડ્ડ
+ડ્ઢ
+ડ્ણ
+ડ્ત
+ડ્થ
+ડ્દ
+ડ્ધ
+ડ્ન
+ડ્પ
+ડ્ફ
+ડ્બ
+ડ્ભ
+ડ્મ
+ડ્ય
+ડ્ર
+ડ્લ
+ડ્ળ
+ડ્વ
+ડ્શ
+ડ્ષ
+ડ્સ
+ડ્હ
+ઢ્ક
+ઢ્ખ
+ઢ્ગ
+ઢ્ઘ
+ઢ્ઙ
+ઢ્ચ
+ઢ્છ
+ઢ્જ
+ઢ્ઝ
+ઢ્ઞ
+ઢ્ટ
+ઢ્ઠ
+ઢ્ડ
+ઢ્ઢ
+ઢ્ણ
+ઢ્ત
+ઢ્થ
+ઢ્દ
+ઢ્ધ
+ઢ્ન
+ઢ્પ
+ઢ્ફ
+ઢ્બ
+ઢ્ભ
+ઢ્મ
+ઢ્ય
+ઢ્ર
+ઢ્લ
+ઢ્ળ
+ઢ્વ
+ઢ્શ
+ઢ્ષ
+ઢ્સ
+ઢ્હ
+ણ્ક
+ણ્ખ
+ણ્ગ
+ણ્ઘ
+ણ્ઙ
+ણ્ચ
+ણ્છ
+ણ્જ
+ણ્ઝ
+ણ્ઞ
+ણ્ટ
+ણ્ઠ
+ણ્ડ
+ણ્ઢ
+ણ્ણ
+ણ્ત
+ણ્થ
+ણ્દ
+ણ્ધ
+ણ્ન
+ણ્પ
+ણ્ફ
+ણ્બ
+ણ્ભ
+ણ્મ
+ણ્ય
+ણ્ર
+ણ્લ
+ણ્ળ
+ણ્વ
+ણ્શ
+ણ્ષ
+ણ્સ
+ણ્હ
+ત્ક
+ત્ખ
+ત્ગ
+ત્ઘ
+ત્ઙ
+ત્ચ
+ત્છ
+ત્જ
+ત્ઝ
+ત્ઞ
+ત્ટ
+ત્ઠ
+ત્ડ
+ત્ઢ
+ત્ણ
+ત્ત
+ત્થ
+ત્દ
+ત્ધ
+ત્ન
+ત્પ
+ત્ફ
+ત્બ
+ત્ભ
+ત્મ
+ત્ય
+ત્ર
+ત્લ
+ત્ળ
+ત્વ
+ત્શ
+ત્ષ
+ત્સ
+ત્હ
+થ્ક
+થ્ખ
+થ્ગ
+થ્ઘ
+થ્ઙ
+થ્ચ
+થ્છ
+થ્જ
+થ્ઝ
+થ્ઞ
+થ્ટ
+થ્ઠ
+થ્ડ
+થ્ઢ
+થ્ણ
+થ્ત
+થ્થ
+થ્દ
+થ્ધ
+થ્ન
+થ્પ
+થ્ફ
+થ્બ
+થ્ભ
+થ્મ
+થ્ય
+થ્ર
+થ્લ
+થ્ળ
+થ્વ
+થ્શ
+થ્ષ
+થ્સ
+થ્હ
+દ્ક
+દ્ખ
+દ્ગ
+દ્ઘ
+દ્ઙ
+દ્ચ
+દ્છ
+દ્જ
+દ્ઝ
+દ્ઞ
+દ્ટ
+દ્ઠ
+દ્ડ
+દ્ઢ
+દ્ણ
+દ્ત
+દ્થ
+દ્દ
+દ્ધ
+દ્ન
+દ્પ
+દ્ફ
+દ્બ
+દ્ભ
+દ્મ
+દ્ય
+દ્ર
+દ્લ
+દ્ળ
+દ્વ
+દ્શ
+દ્ષ
+દ્સ
+દ્હ
+ધ્ક
+ધ્ખ
+ધ્ગ
+ધ્ઘ
+ધ્ઙ
+ધ્ચ
+ધ્છ
+ધ્જ
+ધ્ઝ
+ધ્ઞ
+ધ્ટ
+ધ્ઠ
+ધ્ડ
+ધ્ઢ
+ધ્ણ
+ધ્ત
+ધ્થ
+ધ્દ
+ધ્ધ
+ધ્ન
+ધ્પ
+ધ્ફ
+ધ્બ
+ધ્ભ
+ધ્મ
+ધ્ય
+ધ્ર
+ધ્લ
+ધ્ળ
+ધ્વ
+ધ્શ
+ધ્ષ
+ધ્સ
+ધ્હ
+ન્ક
+ન્ખ
+ન્ગ
+ન્ઘ
+ન્ઙ
+ન્ચ
+ન્છ
+ન્જ
+ન્ઝ
+ન્ઞ
+ન્ટ
+ન્ઠ
+ન્ડ
+ન્ઢ
+ન્ણ
+ન્ત
+ન્થ
+ન્દ
+ન્ધ
+ન્ન
+ન્પ
+ન્ફ
+ન્બ
+ન્ભ
+ન્મ
+ન્ય
+ન્ર
+ન્લ
+ન્ળ
+ન્વ
+ન્શ
+ન્ષ
+ન્સ
+ન્હ
+પ્ક
+પ્ખ
+પ્ગ
+પ્ઘ
+પ્ઙ
+પ્ચ
+પ્છ
+પ્જ
+પ્ઝ
+પ્ઞ
+પ્ટ
+પ્ઠ
+પ્ડ
+પ્ઢ
+પ્ણ
+પ્ત
+પ્થ
+પ્દ
+પ્ધ
+પ્ન
+પ્પ
+પ્ફ
+પ્બ
+પ્ભ
+પ્મ
+પ્ય
+પ્ર
+પ્લ
+પ્ળ
+પ્વ
+પ્શ
+પ્ષ
+પ્સ
+પ્હ
+ફ્ક
+ફ્ખ
+ફ્ગ
+ફ્ઘ
+ફ્ઙ
+ફ્ચ
+ફ્છ
+ફ્જ
+ફ્ઝ
+ફ્ઞ
+ફ્ટ
+ફ્ઠ
+ફ્ડ
+ફ્ઢ
+ફ્ણ
+ફ્ત
+ફ્થ
+ફ્દ
+ફ્ધ
+ફ્ન
+ફ્પ
+ફ્ફ
+ફ્બ
+ફ્ભ
+ફ્મ
+ફ્ય
+ફ્ર
+ફ્લ
+ફ્ળ
+ફ્વ
+ફ્શ
+ફ્ષ
+ફ્સ
+ફ્હ
+બ્ક
+બ્ખ
+બ્ગ
+બ્ઘ
+બ્ઙ
+બ્ચ
+બ્છ
+બ્જ
+બ્ઝ
+બ્ઞ
+બ્ટ
+બ્ઠ
+બ્ડ
+બ્ઢ
+બ્ણ
+બ્ત
+બ્થ
+બ્દ
+બ્ધ
+બ્ન
+બ્પ
+બ્ફ
+બ્બ
+બ્ભ
+બ્મ
+બ્ય
+બ્ર
+બ્લ
+બ્ળ
+બ્વ
+બ્શ
+બ્ષ
+બ્સ
+બ્હ
+ભ્ક
+ભ્ખ
+ભ્ગ
+ભ્ઘ
+ભ્ઙ
+ભ્ચ
+ભ્છ
+ભ્જ
+ભ્ઝ
+ભ્ઞ
+ભ્ટ
+ભ્ઠ
+ભ્ડ
+ભ્ઢ
+ભ્ણ
+ભ્ત
+ભ્થ
+ભ્દ
+ભ્ધ
+ભ્ન
+ભ્પ
+ભ્ફ
+ભ્બ
+ભ્ભ
+ભ્મ
+ભ્ય
+ભ્ર
+ભ્લ
+ભ્ળ
+ભ્વ
+ભ્શ
+ભ્ષ
+ભ્સ
+ભ્હ
+મ્ક
+મ્ખ
+મ્ગ
+મ્ઘ
+મ્ઙ
+મ્ચ
+મ્છ
+મ્જ
+મ્ઝ
+મ્ઞ
+મ્ટ
+મ્ઠ
+મ્ડ
+મ્ઢ
+મ્ણ
+મ્ત
+મ્થ
+મ્દ
+મ્ધ
+મ્ન
+મ્પ
+મ્ફ
+મ્બ
+મ્ભ
+મ્મ
+મ્ય
+મ્ર
+મ્લ
+મ્ળ
+મ્વ
+મ્શ
+મ્ષ
+મ્સ
+મ્હ
+ય્ક
+ય્ખ
+ય્ગ
+ય્ઘ
+ય્ઙ
+ય્ચ
+ય્છ
+ય્જ
+ય્ઝ
+ય્ઞ
+ય્ટ
+ય્ઠ
+ય્ડ
+ય્ઢ
+ય્ણ
+ય્ત
+ય્થ
+ય્દ
+ય્ધ
+ય્ન
+ય્પ
+ય્ફ
+ય્બ
+ય્ભ
+ય્મ
+ય્ય
+ય્ર
+ય્લ
+ય્ળ
+ય્વ
+ય્શ
+ય્ષ
+ય્સ
+ય્હ
+ર્ક
+ર્ખ
+ર્ગ
+ર્ઘ
+ર્ઙ
+ર્ચ
+ર્છ
+ર્જ
+ર્ઝ
+ર્ઞ
+ર્ટ
+ર્ઠ
+ર્ડ
+ર્ઢ
+ર્ણ
+ર્ત
+ર્થ
+ર્દ
+ર્ધ
+ર્ન
+ર્પ
+ર્ફ
+ર્બ
+ર્ભ
+ર્મ
+ર્ય
+ર્ર
+ર્લ
+ર્ળ
+ર્વ
+ર્શ
+ર્ષ
+ર્સ
+ર્હ
+લ્ક
+લ્ખ
+લ્ગ
+લ્ઘ
+લ્ઙ
+લ્ચ
+લ્છ
+લ્જ
+લ્ઝ
+લ્ઞ
+લ્ટ
+લ્ઠ
+લ્ડ
+લ્ઢ
+લ્ણ
+લ્ત
+લ્થ
+લ્દ
+લ્ધ
+લ્ન
+લ્પ
+લ્ફ
+લ્બ
+લ્ભ
+લ્મ
+લ્ય
+લ્ર
+લ્લ
+લ્ળ
+લ્વ
+લ્શ
+લ્ષ
+લ્સ
+લ્હ
+ળ્ક
+ળ્ખ
+ળ્ગ
+ળ્ઘ
+ળ્ઙ
+ળ્ચ
+ળ્છ
+ળ્જ
+ળ્ઝ
+ળ્ઞ
+ળ્ટ
+ળ્ઠ
+ળ્ડ
+ળ્ઢ
+ળ્ણ
+ળ્ત
+ળ્થ
+ળ્દ
+ળ્ધ
+ળ્ન
+ળ્પ
+ળ્ફ
+ળ્બ
+ળ્ભ
+ળ્મ
+ળ્ય
+ળ્ર
+ળ્લ
+ળ્ળ
+ળ્વ
+ળ્શ
+ળ્ષ
+ળ્સ
+ળ્હ
+વ્ક
+વ્ખ
+વ્ગ
+વ્ઘ
+વ્ઙ
+વ્ચ
+વ્છ
+વ્જ
+વ્ઝ
+વ્ઞ
+વ્ટ
+વ્ઠ
+વ્ડ
+વ્ઢ
+વ્ણ
+વ્ત
+વ્થ
+વ્દ
+વ્ધ
+વ્ન
+વ્પ
+વ્ફ
+વ્બ
+વ્ભ
+વ્મ
+વ્ય
+વ્ર
+વ્લ
+વ્ળ
+વ્વ
+વ્શ
+વ્ષ
+વ્સ
+વ્હ
+શ્ક
+શ્ખ
+શ્ગ
+શ્ઘ
+શ્ઙ
+શ્ચ
+શ્છ
+શ્જ
+શ્ઝ
+શ્ઞ
+શ્ટ
+શ્ઠ
+શ્ડ
+શ્ઢ
+શ્ણ
+શ્ત
+શ્થ
+શ્દ
+શ્ધ
+શ્ન
+શ્પ
+શ્ફ
+શ્બ
+શ્ભ
+શ્મ
+શ્ય
+શ્ર
+શ્લ
+શ્ળ
+શ્વ
+શ્શ
+શ્ષ
+શ્સ
+શ્હ
+ષ્ક
+ષ્ખ
+ષ્ગ
+ષ્ઘ
+ષ્ઙ
+ષ્ચ
+ષ્છ
+ષ્જ
+ષ્ઝ
+ષ્ઞ
+ષ્ટ
+ષ્ઠ
+ષ્ડ
+ષ્ઢ
+ષ્ણ
+ષ્ત
+ષ્થ
+ષ્દ
+ષ્ધ
+ષ્ન
+ષ્પ
+ષ્ફ
+ષ્બ
+ષ્ભ
+ષ્મ
+ષ્ય
+ષ્ર
+ષ્લ
+ષ્ળ
+ષ્વ
+ષ્શ
+ષ્ષ
+ષ્સ
+ષ્હ
+સ્ક
+સ્ખ
+સ્ગ
+સ્ઘ
+સ્ઙ
+સ્ચ
+સ્છ
+સ્જ
+સ્ઝ
+સ્ઞ
+સ્ટ
+સ્ઠ
+સ્ડ
+સ્ઢ
+સ્ણ
+સ્ત
+સ્થ
+સ્દ
+સ્ધ
+સ્ન
+સ્પ
+સ્ફ
+સ્બ
+સ્ભ
+સ્મ
+સ્ય
+સ્ર
+સ્લ
+સ્ળ
+સ્વ
+સ્શ
+સ્ષ
+સ્સ
+સ્હ
+હ્ક
+હ્ખ
+હ્ગ
+હ્ઘ
+હ્ઙ
+હ્ચ
+હ્છ
+હ્જ
+હ્ઝ
+હ્ઞ
+હ્ટ
+હ્ઠ
+હ્ડ
+હ્ઢ
+હ્ણ
+હ્ત
+હ્થ
+હ્દ
+હ્ધ
+હ્ન
+હ્પ
+હ્ફ
+હ્બ
+હ્ભ
+હ્મ
+હ્ય
+હ્ર
+હ્લ
+હ્ળ
+હ્વ
+હ્શ
+હ્ષ
+હ્સ
+હ્હ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gujarati/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/misc.txt
new file mode 100644
index 0000000..27a39f6
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/misc.txt
@@ -0,0 +1,2 @@
+ਕ੍ਹ
+ਤ੍ਯੋ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/MANIFEST
new file mode 100644
index 0000000..0658824
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/MANIFEST
@@ -0,0 +1,3 @@
+codepoint
+gpos
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..ee8b3be
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,38 @@
+ਕ
+ਖ
+ਗ
+ਘ
+ਙ
+ਚ
+ਛ
+ਜ
+ਝ
+ਞ
+ਟ
+ਠ
+ਡ
+ਢ
+ਣ
+ਤ
+ਥ
+ਦ
+ਧ
+ਨ
+ਪ
+ਫ
+ਬ
+ਭ
+ਮ
+ਯ
+ਰ
+ਲ
+ਲ਼
+ਵ
+ਸ਼
+ਸ
+ਹ
+ਖ਼
+ਗ਼
+ਜ਼
+ੜ
+ਫ਼
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..a934caa
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,9 @@
+ਾ
+ਿ
+ੀ
+ੁ
+ੂ
+ੇ
+ੈ
+ੋ
+ੌ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..d08b7a8
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+੦
+੧
+੨
+੩
+੪
+੫
+੬
+੭
+੮
+੯
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt
new file mode 100644
index 0000000..8565c88
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt
@@ -0,0 +1,6 @@
+ੰ
+ੱ
+ੲ
+ੳ
+ੴ
+ੵ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..05827ca
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,10 @@
+ਅ
+ਆ
+ਇ
+ਈ
+ਉ
+ਊ
+ਏ
+ਐ
+ਓ
+ਔ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..adb725e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,6 @@
+ਁ
+ਂ
+ਃ
+਼
+੍
+ੑ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..c213616
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/codepoint/MANIFEST
@@ -0,0 +1,7 @@
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-GurmukhiSpecific.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-Reserved.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
new file mode 100644
index 0000000..7fdf6e4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
@@ -0,0 +1,22 @@
+ਉਂ
+ਊਂ
+ਏਂ
+ਐਂ
+ਓਂ
+ਔਂ
+ਠਂ
+ਠੇ
+ਠੈ
+ਠੋ
+ਠੌ
+ਠੰ
+ਨਂ
+ਨੇ
+ਨੈ
+ਨੋ
+ਨੌ
+ਨੰ
+ਠੱ
+ਨੱ
+ਲੱ
+ਲ਼ੱ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
new file mode 100644
index 0000000..63d54a5
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
@@ -0,0 +1,2 @@
+ੳ
+ੲ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/MANIFEST
new file mode 100644
index 0000000..d7ae70e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gpos/MANIFEST
@@ -0,0 +1,2 @@
+IndicFontFeatureGPOS-AboveBase.txt
+IndicFontFeatureGPOS-BelowBase.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..eb2e8ee
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,152 @@
+ਕ੍ਯ
+ਖ੍ਯ
+ਗ੍ਯ
+ਘ੍ਯ
+ਙ੍ਯ
+ਚ੍ਯ
+ਛ੍ਯ
+ਜ੍ਯ
+ਝ੍ਯ
+ਞ੍ਯ
+ਟ੍ਯ
+ਠ੍ਯ
+ਡ੍ਯ
+ਢ੍ਯ
+ਣ੍ਯ
+ਤ੍ਯ
+ਥ੍ਯ
+ਦ੍ਯ
+ਧ੍ਯ
+ਨ੍ਯ
+ਪ੍ਯ
+ਫ੍ਯ
+ਬ੍ਯ
+ਭ੍ਯ
+ਮ੍ਯ
+ਯ੍ਯ
+ਰ੍ਯ
+ਲ੍ਯ
+ਲ਼੍ਯ
+ਵ੍ਯ
+ਸ਼੍ਯ
+ਸ੍ਯ
+ਹ੍ਯ
+ਖ਼੍ਯ
+ਗ਼੍ਯ
+ਜ਼੍ਯ
+ੜ੍ਯ
+ਫ਼੍ਯ
+ਕ੍ਰ
+ਖ੍ਰ
+ਗ੍ਰ
+ਘ੍ਰ
+ਙ੍ਰ
+ਚ੍ਰ
+ਛ੍ਰ
+ਜ੍ਰ
+ਝ੍ਰ
+ਞ੍ਰ
+ਟ੍ਰ
+ਠ੍ਰ
+ਡ੍ਰ
+ਢ੍ਰ
+ਣ੍ਰ
+ਤ੍ਰ
+ਥ੍ਰ
+ਦ੍ਰ
+ਧ੍ਰ
+ਨ੍ਰ
+ਪ੍ਰ
+ਫ੍ਰ
+ਬ੍ਰ
+ਭ੍ਰ
+ਮ੍ਰ
+ਯ੍ਰ
+ਰ੍ਰ
+ਲ੍ਰ
+ਲ਼੍ਰ
+ਵ੍ਰ
+ਸ਼੍ਰ
+ਸ੍ਰ
+ਹ੍ਰ
+ਖ਼੍ਰ
+ਗ਼੍ਰ
+ਜ਼੍ਰ
+ੜ੍ਰ
+ਫ਼੍ਰ
+ਕ੍ਵ
+ਖ੍ਵ
+ਗ੍ਵ
+ਘ੍ਵ
+ਙ੍ਵ
+ਚ੍ਵ
+ਛ੍ਵ
+ਜ੍ਵ
+ਝ੍ਵ
+ਞ੍ਵ
+ਟ੍ਵ
+ਠ੍ਵ
+ਡ੍ਵ
+ਢ੍ਵ
+ਣ੍ਵ
+ਤ੍ਵ
+ਥ੍ਵ
+ਦ੍ਵ
+ਧ੍ਵ
+ਨ੍ਵ
+ਪ੍ਵ
+ਫ੍ਵ
+ਬ੍ਵ
+ਭ੍ਵ
+ਮ੍ਵ
+ਯ੍ਵ
+ਰ੍ਵ
+ਲ੍ਵ
+ਲ਼੍ਵ
+ਵ੍ਵ
+ਸ਼੍ਵ
+ਸ੍ਵ
+ਹ੍ਵ
+ਖ਼੍ਵ
+ਗ਼੍ਵ
+ਜ਼੍ਵ
+ੜ੍ਵ
+ਫ਼੍ਵ
+ਕ੍ਹ
+ਖ੍ਹ
+ਗ੍ਹ
+ਘ੍ਹ
+ਙ੍ਹ
+ਚ੍ਹ
+ਛ੍ਹ
+ਜ੍ਹ
+ਝ੍ਹ
+ਞ੍ਹ
+ਟ੍ਹ
+ਠ੍ਹ
+ਡ੍ਹ
+ਢ੍ਹ
+ਣ੍ਹ
+ਤ੍ਹ
+ਥ੍ਹ
+ਦ੍ਹ
+ਧ੍ਹ
+ਨ੍ਹ
+ਪ੍ਹ
+ਫ੍ਹ
+ਬ੍ਹ
+ਭ੍ਹ
+ਮ੍ਹ
+ਯ੍ਹ
+ਰ੍ਹ
+ਲ੍ਹ
+ਲ਼੍ਹ
+ਵ੍ਹ
+ਸ਼੍ਹ
+ਸ੍ਹ
+ਹ੍ਹ
+ਖ਼੍ਹ
+ਗ਼੍ਹ
+ਜ਼੍ਹ
+ੜ੍ਹ
+ਫ਼੍ਹ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-gurmukhi/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/MANIFEST
new file mode 100644
index 0000000..f53f999
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/MANIFEST
@@ -0,0 +1,2 @@
+misc.txt
+right-matras.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/misc.txt
new file mode 100644
index 0000000..a8a6325
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/misc.txt
@@ -0,0 +1,20 @@
+ಕ್ರ
+ನ್ಡ
+ನ್ನ
+ಯೂ
+ರ್ಕ
+ರ್ಮ
+ರ್‍ಕ
+ವೋ
+ಷೆ
+ಷ್
+ೠ
+೦೧೨
+ಕೀ
+ಕೊ
+ಕೇ
+ಕೈ
+ಕೋ
+ಕ್ಷ
+ಕ್ಷಿ
+ಚ್ಚ್
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/right-matras.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/right-matras.txt
new file mode 100644
index 0000000..3130f35
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/misc/right-matras.txt
@@ -0,0 +1,7 @@
+ಸ್ಕು
+ಸ್ಕೂ
+ಸ್ಕೃ
+ಸ್ಕೄ
+ಸ್ಕಾ
+ಸ್ಕೕ
+ಸ್ಕೕ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/MANIFEST
new file mode 100644
index 0000000..0658824
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/MANIFEST
@@ -0,0 +1,3 @@
+codepoint
+gpos
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt
new file mode 100644
index 0000000..fff748a
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt
@@ -0,0 +1 @@
+ೞ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
new file mode 100644
index 0000000..f641547
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
@@ -0,0 +1,4 @@
+ೠ
+ೡ
+ೢ
+ೣ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..650cbf7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,40 @@
+ಕ
+ಖ
+ಗ
+ಘ
+ಙ
+ಚ
+ಛ
+ಜ
+ಝ
+ಞ
+ಟ
+ಠ
+ಡ
+ಢ
+ಣ
+ತ
+ಥ
+ದ
+ಧ
+ನ
+ಪ
+ಫ
+ಬ
+ಭ
+ಮ
+ಯ
+ರ
+ಱ
+ಲ
+ಳ
+ವ
+ಶ
+ಷ
+ಸ
+ಹ
+ಂ
+ಃ
+಼
+ಽ
+್
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..476f39f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,13 @@
+ಾ
+ಿ
+ೀ
+ು
+ೂ
+ೃ
+ೄ
+ೆ
+ೇ
+ೈ
+ೊ
+ೋ
+ೌ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..57ac088
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+೦
+೧
+೨
+೩
+೪
+೫
+೬
+೭
+೮
+೯
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..38f1719
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,14 @@
+ಅ
+ಆ
+ಇ
+ಈ
+ಉ
+ಊ
+ಋ
+ಌ
+ಎ
+ಏ
+ಐ
+ಒ
+ಓ
+ಔ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..6bbf23e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,9 @@
+ಂ
+ಃ
+಼
+ಽ
+್
+ೕ
+ೖ
+ೱ
+ೲ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..8fac7bc
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/codepoint/MANIFEST
@@ -0,0 +1,8 @@
+IndicFontFeatureCodepoint-AdditionalConsonants.txt
+IndicFontFeatureCodepoint-AdditionalVowels.txt
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-Reserved.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
new file mode 100644
index 0000000..4cc0f56
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
@@ -0,0 +1,188 @@
+ಕಾ
+ಖಾ
+ಗಾ
+ಠಾ
+ಡಾ
+ಛಾ
+ಕಿ
+ಖಿ
+ಗಿ
+ಘಿ
+ಙಿ
+ಚಿ
+ಛಿ
+ಜಿ
+ಝಿ
+ಞಿ
+ಟಿ
+ಠಿ
+ಡಿ
+ಢಿ
+ಣಿ
+ತಿ
+ಥಿ
+ದಿ
+ಧಿ
+ನಿ
+ಪಿ
+ಫಿ
+ಬಿ
+ಭಿ
+ಮಿ
+ಯಿ
+ರಿ
+ಱಿ
+ಲಿ
+ಳಿ
+ವಿ
+ಶಿ
+ಷಿ
+ಸಿ
+ಹಿ
+ಕು
+ಗು
+ಜು
+ಟು
+ತು
+ಖು
+ಕೂ
+ಖೂ
+ಗೂ
+ಟೂ
+ಚೂ
+ಛೂ
+ಕೄ
+ಗೄ
+ಜೄ
+ಟೄ
+ತೄ
+ಖೄ
+ಕೇ
+ಗೇ
+ಜೇ
+ಟೇ
+ತೇ
+ಖೇ
+ಕೈ
+ಗೈ
+ಜೈ
+ಟೈ
+ತೈ
+ಖೈ
+ಕೊ
+ಗೊ
+ಜೊ
+ಟೊ
+ತೊ
+ಖೊ
+ಕೋ
+ಗೋ
+ಜೋ
+ಟೋ
+ತೋ
+ಖೋ
+ಕೆ
+ಖೆ
+ಗೆ
+ಘೆ
+ಙೆ
+ಚೆ
+ಛೆ
+ಜೆ
+ಝೆ
+ಞೆ
+ಟೆ
+ಠೆ
+ಡೆ
+ಢೆ
+ಣೆ
+ತೆ
+ಥೆ
+ದೆ
+ಧೆ
+ನೆ
+ಪೆ
+ಫೆ
+ಬೆ
+ಭೆ
+ಮೆ
+ಯೆ
+ರೆ
+ಱೆ
+ಲೆ
+ಳೆ
+ವೆ
+ಶೆ
+ಷೆ
+ಸೆ
+ಹೆ
+ಕೌ
+ಖೌ
+ಗೌ
+ಘೌ
+ಙೌ
+ಚೌ
+ಛೌ
+ಜೌ
+ಝೌ
+ಞೌ
+ಟೌ
+ಠೌ
+ಡೌ
+ಢೌ
+ಣೌ
+ತೌ
+ಥೌ
+ದೌ
+ಧೌ
+ನೌ
+ಪೌ
+ಫೌ
+ಬೌ
+ಭೌ
+ಮೌ
+ಯೌ
+ರೌ
+ಱೌ
+ಲೌ
+ಳೌ
+ವೌ
+ಶೌ
+ಷೌ
+ಸೌ
+ಹೌ
+ಕ್
+ಖ್
+ಗ್
+ಘ್
+ಙ್
+ಚ್
+ಛ್
+ಜ್
+ಝ್
+ಞ್
+ಟ್
+ಠ್
+ಡ್
+ಢ್
+ಣ್
+ತ್
+ಥ್
+ದ್
+ಧ್
+ನ್
+ಪ್
+ಫ್
+ಬ್
+ಭ್
+ಮ್
+ಯ್
+ರ್
+ಱ್
+ಲ್
+ಳ್
+ವ್
+ಶ್
+ಷ್
+ಸ್
+ಹ್
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gpos/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gpos/MANIFEST
new file mode 100644
index 0000000..49d0284
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gpos/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGPOS-AboveBase.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..583072d
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,306 @@
+ಕ್ಕ
+ಕ್ಖ
+ಕ್ಗ
+ಕ್ಘ
+ಕ್ಙ
+ಕ್ಚ
+ಕ್ಛ
+ಕ್ಜ
+ಕ್ಝ
+ಕ್ಞ
+ಕ್ಟ
+ಕ್ಠ
+ಕ್ಡ
+ಕ್ಢ
+ಕ್ಣ
+ಕ್ತ
+ಕ್ಥ
+ಕ್ದ
+ಕ್ಧ
+ಕ್ನ
+ಕ್ಪ
+ಕ್ಫ
+ಕ್ಬ
+ಕ್ಭ
+ಕ್ಮ
+ಕ್ಯ
+ಕ್ರ
+ಕ್ಲ
+ಕ್ಳ
+ಕ್ವ
+ಕ್ಶ
+ಕ್ಷ
+ಕ್ಸ
+ಕ್ಹ
+ತ್ಕ
+ತ್ಖ
+ತ್ಗ
+ತ್ಘ
+ತ್ಙ
+ತ್ಚ
+ತ್ಛ
+ತ್ಜ
+ತ್ಝ
+ತ್ಞ
+ತ್ಟ
+ತ್ಠ
+ತ್ಡ
+ತ್ಢ
+ತ್ಣ
+ತ್ತ
+ತ್ಥ
+ತ್ದ
+ತ್ಧ
+ತ್ನ
+ತ್ಪ
+ತ್ಫ
+ತ್ಬ
+ತ್ಭ
+ತ್ಮ
+ತ್ಯ
+ತ್ರ
+ತ್ಲ
+ತ್ಳ
+ತ್ವ
+ತ್ಶ
+ತ್ಷ
+ತ್ಸ
+ತ್ಹ
+ನ್ಕ
+ನ್ಖ
+ನ್ಗ
+ನ್ಘ
+ನ್ಙ
+ನ್ಚ
+ನ್ಛ
+ನ್ಜ
+ನ್ಝ
+ನ್ಞ
+ನ್ಟ
+ನ್ಠ
+ನ್ಡ
+ನ್ಢ
+ನ್ಣ
+ನ್ತ
+ನ್ಥ
+ನ್ದ
+ನ್ಧ
+ನ್ನ
+ನ್ಪ
+ನ್ಫ
+ನ್ಬ
+ನ್ಭ
+ನ್ಮ
+ನ್ಯ
+ನ್ರ
+ನ್ಲ
+ನ್ಳ
+ನ್ವ
+ನ್ಶ
+ನ್ಷ
+ನ್ಸ
+ನ್ಹ
+ಮ್ಕ
+ಮ್ಖ
+ಮ್ಗ
+ಮ್ಘ
+ಮ್ಙ
+ಮ್ಚ
+ಮ್ಛ
+ಮ್ಜ
+ಮ್ಝ
+ಮ್ಞ
+ಮ್ಟ
+ಮ್ಠ
+ಮ್ಡ
+ಮ್ಢ
+ಮ್ಣ
+ಮ್ತ
+ಮ್ಥ
+ಮ್ದ
+ಮ್ಧ
+ಮ್ನ
+ಮ್ಪ
+ಮ್ಫ
+ಮ್ಬ
+ಮ್ಭ
+ಮ್ಮ
+ಮ್ಯ
+ಮ್ರ
+ಮ್ಲ
+ಮ್ಳ
+ಮ್ವ
+ಮ್ಶ
+ಮ್ಷ
+ಮ್ಸ
+ಮ್ಹ
+ಯ್ಕ
+ಯ್ಖ
+ಯ್ಗ
+ಯ್ಘ
+ಯ್ಙ
+ಯ್ಚ
+ಯ್ಛ
+ಯ್ಜ
+ಯ್ಝ
+ಯ್ಞ
+ಯ್ಟ
+ಯ್ಠ
+ಯ್ಡ
+ಯ್ಢ
+ಯ್ಣ
+ಯ್ತ
+ಯ್ಥ
+ಯ್ದ
+ಯ್ಧ
+ಯ್ನ
+ಯ್ಪ
+ಯ್ಫ
+ಯ್ಬ
+ಯ್ಭ
+ಯ್ಮ
+ಯ್ಯ
+ಯ್ರ
+ಯ್ಲ
+ಯ್ಳ
+ಯ್ವ
+ಯ್ಶ
+ಯ್ಷ
+ಯ್ಸ
+ಯ್ಹ
+ರ್ಕ
+ರ್ಖ
+ರ್ಗ
+ರ್ಘ
+ರ್ಙ
+ರ್ಚ
+ರ್ಛ
+ರ್ಜ
+ರ್ಝ
+ರ್ಞ
+ರ್ಟ
+ರ್ಠ
+ರ್ಡ
+ರ್ಢ
+ರ್ಣ
+ರ್ತ
+ರ್ಥ
+ರ್ದ
+ರ್ಧ
+ರ್ನ
+ರ್ಪ
+ರ್ಫ
+ರ್ಬ
+ರ್ಭ
+ರ್ಮ
+ರ್ಯ
+ರ್ರ
+ರ್ಲ
+ರ್ಳ
+ರ್ವ
+ರ್ಶ
+ರ್ಷ
+ರ್ಸ
+ರ್ಹ
+ರ್ಕ
+ರ್ಖ
+ರ್ಗ
+ರ್ಘ
+ರ್ಙ
+ರ್ಚ
+ರ್ಛ
+ರ್ಜ
+ರ್ಝ
+ರ್ಞ
+ರ್ಟ
+ರ್ಠ
+ರ್ಡ
+ರ್ಢ
+ರ್ಣ
+ರ್ತ
+ರ್ಥ
+ರ್ದ
+ರ್ಧ
+ರ್ನ
+ರ್ಪ
+ರ್ಫ
+ರ್ಬ
+ರ್ಭ
+ರ್ಮ
+ರ್ಯ
+ರ್ರ
+ರ್ಲ
+ರ್ಳ
+ರ್ವ
+ರ್ಶ
+ರ್ಷ
+ರ್ಸ
+ರ್ಹ
+ಲ್ಕ
+ಲ್ಖ
+ಲ್ಗ
+ಲ್ಘ
+ಲ್ಙ
+ಲ್ಚ
+ಲ್ಛ
+ಲ್ಜ
+ಲ್ಝ
+ಲ್ಞ
+ಲ್ಟ
+ಲ್ಠ
+ಲ್ಡ
+ಲ್ಢ
+ಲ್ಣ
+ಲ್ತ
+ಲ್ಥ
+ಲ್ದ
+ಲ್ಧ
+ಲ್ನ
+ಲ್ಪ
+ಲ್ಫ
+ಲ್ಬ
+ಲ್ಭ
+ಲ್ಮ
+ಲ್ಯ
+ಲ್ರ
+ಲ್ಲ
+ಲ್ಳ
+ಲ್ವ
+ಲ್ಶ
+ಲ್ಷ
+ಲ್ಸ
+ಲ್ಹ
+ವ್ಕ
+ವ್ಖ
+ವ್ಗ
+ವ್ಘ
+ವ್ಙ
+ವ್ಚ
+ವ್ಛ
+ವ್ಜ
+ವ್ಝ
+ವ್ಞ
+ವ್ಟ
+ವ್ಠ
+ವ್ಡ
+ವ್ಢ
+ವ್ಣ
+ವ್ತ
+ವ್ಥ
+ವ್ದ
+ವ್ಧ
+ವ್ನ
+ವ್ಪ
+ವ್ಫ
+ವ್ಬ
+ವ್ಭ
+ವ್ಮ
+ವ್ಯ
+ವ್ರ
+ವ್ಲ
+ವ್ಳ
+ವ್ವ
+ವ್ಶ
+ವ್ಷ
+ವ್ಸ
+ವ್ಹ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-kannada/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/MANIFEST
new file mode 100644
index 0000000..48800d4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/MANIFEST
@@ -0,0 +1,3 @@
+cibu.txt
+dot-reph.txt
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/cibu.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/cibu.txt
new file mode 100644
index 0000000..3d53867
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/cibu.txt
@@ -0,0 +1,188 @@
+2ാം
+2-ാം
+ല്ം
+എ്ന
+9-൹
+₹100
+൦
+൧
+൨
+൩
+൪
+൫
+൬
+൭
+൮
+൯
+൰
+൱
+൲
+൳
+൴
+൵
+അങ്ങ്
+അത്
+അർത്ഥം
+അന്ധൻ
+അന്യം
+അന്വയം
+അൽപ്പം
+അമ്മ
+അമ്ലം
+അല്പം
+അല
+അവൻ
+അവന്
+അവനു്
+അസോഽസൗ
+അഹല്യ
+അഺ്
+ആമ്പിൿ
+ആല
+ആാ
+ആാാാ
+ഇൻക
+ഇല്ല
+ഇല
+ഇള
+ഇഴ
+ഈറ
+ഈൗ
+ഉമ
+ഉള്ള
+ഊമ
+ഊൗ
+ഋതു
+ൠന്ന്
+ഌകാരം
+ൡതം
+എന്ന
+എന്റെ
+എലി
+എൻറോൾ
+ഏലം
+ഐക്യം
+ഒരു
+ഓരം
+ഓാാാ
+ഔഷധം
+ഔൗ
+കണ്ഢം
+കണ്ണ്
+കണ്വൻ
+കഥ
+കമ്പം
+കമ്രം
+കല്മഷം
+കല
+കാാ
+കീീ
+കുണ്ഠിതം
+കൂൂ
+കൄന്ന്
+കൢപ്തം
+കൣതം
+കൌതുകം
+ക്രൌഞ്ചം
+ഗങ്ഗ
+ഗരം
+ങഞ
+അച്ഛൻ
+ങ്യാവൂ
+ചരം
+ഛായ
+ജലം
+ജാള്യം
+ഝാൻസി
+ഞാൻ
+ടിപ്പു
+ഡപ്പി
+തത്ത
+തെരഞ്ഞെടുപ്പിന്‍െറ
+ദയ
+ദുഃഖം
+ദൃഢം
+ധനം
+നഖം
+നന്ദി
+നന്ന്
+നന്മ
+നാണ്യം
+തന്ത
+ന്രസ്ഥി
+പച്ച
+പട്ട
+പണ്ടു്
+പല
+പറ
+പാഠം
+പാണ്ഡു
+പാണ്ഡ്യൻ
+പാന്ഥൻ
+പാറ്റ
+പിന്നെ
+പുച്ഛം
+പുഞ്ച
+പൊൻനാണ്യം
+ഫലം
+ബലം
+ഭയം
+ഭാൎയ്യ
+ഭാര്യ
+മങ്ക
+മണം
+മണ്ട
+മ്അദനി
+മയം
+മേഘം
+മോഹന്‍ലാല്‍
+യതി
+രണ്ട്
+രമ്യം
+ലത
+അറബ്‌ബസ്സാർ
+ലോക്‌സഭ
+വഅള്
+വരം
+വാഞ്ഛ
+വില്വാദ്രി
+വെണ്മ
+ഷാരം
+ശ്രുതി
+ശരം
+ശാർങ്ഗപക്ഷി
+സമ്യക്
+സംയോഗം
+സംരംഭം
+സമ്രാട്ട്
+സസ്യം
+സാരം
+സ്രാവം
+സ്ലാവിക്
+സ്വരം
+സ്വാതന്ത്ര്യം
+സ്ട്രാപ്പ്
+സ്റ്റിംഗ്
+സ്റ്റ്രീം
+ഹാരം
+റിപ്പോര്‍ട്ട്
+  ന്‍റെ
+ന്റെ
+ൻ്റെ
+ച്ച്യൂ
+യ്ക്ക്യൂ
+ട്ട്യൂ
+യ‍്യ
+വ‍്വ
+ഹൈലൈറ്റ്സ്
+ ച്ല്‍സി
+മലയാളത്തില്‍
+ഡിപ്പാർട്ട്മെന്റിന്റെ
+യ്യ്ര
+ യ്യ്ര
+ ്യ്ര
+ ്യ്യ്ര
+വ്വ്ര
+ വ്വ്ര
+ ്വ്ര
+ ്വ്വ്ര
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/dot-reph.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/dot-reph.txt
new file mode 100644
index 0000000..fc74da9
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/dot-reph.txt
@@ -0,0 +1,15 @@
+ൎക
+ൎക്ക്ര
+ൎന്ന
+ൎഗ്ഗ്രോ
+ൎഗ്രോ
+ൎഗോ
+ൎഗ
+ഗ്ഗ്രോ
+ഗ്ഗ്ര
+ഗ്ഗോ
+ഗ്ഗ
+ഗ്രോ
+ൎകു
+ൎക്കു
+ൎച്ച്
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt
new file mode 100644
index 0000000..2e732ae
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt
@@ -0,0 +1,65 @@
+അൎത്ഥം
+അഥൎവ്വം
+ക്‍
+കായ്‌കറി
+കാര്‍ക്കോടകന്‍
+കുറ്റ്യാടി
+കെ
+കേ
+കൈ
+കൊ
+കോ
+കൌ
+ക്കെ
+ക്കൊ
+ക്ത്ര
+ക്യ
+ക്വ
+ഖ്യ
+ഖ്ര
+ഗ്ദ്ധ്രോ
+ട്ട
+ട്ടു്
+ണ്‍
+ണ്ട
+ത്ത
+ത്തെ
+ത്തൊ
+ദ്ദ
+ന്‍
+ന്ത
+ന്ത്യ
+ന്ത്ര്യ
+പ്ര
+പ്ലോ
+മുഖ്യമന്ത്രി
+മ്പ
+യാത്രാകൂലി
+യും
+യ്ക്കു
+യ്യ
+ര്
+ര്‍
+ര്ക
+ര്യ
+ര്‍വ്വ
+ല്‍
+ല്യ
+ല്ല
+ല്ലാം
+വ്വ
+ഷ്ട്രീ
+സോഫ്റ്റ്‌വെയര്‍
+സ്പ്രി
+സ്പ്രേ
+സ്പ്ലേ
+സ്വാതന്ത്ര്യം
+ഹാര്‍ഡ്‌വെയര്‍
+ള്‍
+ള്യം
+ള്ള
+ല്‍പ്പേ
+ശിം‌
+കോം‌
+യ‍്യ
+സ്റ്റ്
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/MANIFEST
new file mode 100644
index 0000000..b389359
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/MANIFEST
@@ -0,0 +1,2 @@
+codepoint
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
new file mode 100644
index 0000000..0d1a19b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
@@ -0,0 +1,2 @@
+ൠ
+ൡ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..4924e56
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,36 @@
+ക
+ഖ
+ഗ
+ഘ
+ങ
+ച
+ഛ
+ജ
+ഝ
+ഞ
+ട
+ഠ
+ഡ
+ഢ
+ണ
+ത
+ഥ
+ദ
+ധ
+ന
+പ
+ഫ
+ബ
+ഭ
+മ
+യ
+ര
+റ
+ല
+ള
+ഴ
+വ
+ശ
+ഷ
+സ
+ഹ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..dc49691
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,12 @@
+ാ
+ി
+ീ
+ു
+ൂ
+ൃ
+െ
+േ
+ൈ
+ൊ
+ോ
+ൌ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..c2a9f06
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+൦
+൧
+൨
+൩
+൪
+൫
+൬
+൭
+൮
+൯
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..d879c3b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,14 @@
+അ
+ആ
+ഇ
+ഈ
+ഉ
+ഊ
+ഋ
+ഌ
+എ
+ഏ
+ഐ
+ഒ
+ഓ
+ഔ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..2c976a4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,4 @@
+ം
+ഃ
+്
+ൗ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..1490dfe
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/codepoint/MANIFEST
@@ -0,0 +1,7 @@
+IndicFontFeatureCodepoint-AdditionalVowels.txt
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-Reserved.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..1053215
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,254 @@
+ക്ക
+ച്ച
+ട്ട
+ത്ത
+പ്പ
+ഗ്ഗ
+ജ്ജ
+ഡ്ഡ
+ദ്ദ
+ബ്ബ
+ങ്ങ
+ഞ്ഞ
+ണ്ണ
+ന്ന
+മ്മ
+യ്യ
+ല്ല
+വ്വ
+ശ്ശ
+സ്സ
+ള്ള
+റ്റ
+ക്ത
+ക്ഷ
+ഗ്ന
+ഗ്മ
+ങ്ക
+ച്ഛ
+ജ്ഞ
+ഞ്ച
+ണ്ട
+ണ്മ
+ത്ഥ
+ത്മ
+ത്ഭ
+ത്സ
+ദ്ധ
+ന്ത
+ന്ഥ
+ന്ദ
+ന്ധ
+ന്മ
+ന്റ
+മ്പ
+ബ്ദ
+ബ്ധ
+ശ്ച
+ഷ്ട
+സ്ഥ
+ഹ്ന
+ഹ്മ
+ക്യ
+ഖ്യ
+ഗ്യ
+ഘ്യ
+ങ്യ
+ച്യ
+ഛ്യ
+ജ്യ
+ഝ്യ
+ഞ്യ
+ട്യ
+ഠ്യ
+ഡ്യ
+ഢ്യ
+ണ്യ
+ത്യ
+ഥ്യ
+ദ്യ
+ധ്യ
+ന്യ
+പ്യ
+ഫ്യ
+ബ്യ
+ഭ്യ
+മ്യ
+ര്യ
+റ്യ
+ല്യ
+ള്യ
+ഴ്യ
+വ്യ
+ശ്യ
+ഷ്യ
+സ്യ
+ഹ്യ
+ക്ര
+ഖ്ര
+ഗ്ര
+ഘ്ര
+ച്ര
+ഛ്ര
+ജ്ര
+ട്ര
+ഠ്ര
+ഡ്ര
+ഢ്ര
+ത്ര
+ഥ്ര
+ദ്ര
+ധ്ര
+ന്ര
+പ്ര
+ഫ്ര
+ബ്ര
+ഭ്ര
+മ്ര
+ല്ര
+വ്ര
+ശ്ര
+ഷ്ര
+സ്ര
+ഹ്ര
+ക്ല
+ഖ്ല
+ഗ്ല
+ഘ്ല
+ങ്ല
+ച്ല
+ഛ്ല
+ജ്ല
+ഝ്ല
+ഞ്ല
+ട്ല
+ഠ്ല
+ഡ്ല
+ഢ്ല
+ണ്ല
+ത്ല
+ഥ്ല
+ദ്ല
+ധ്ല
+ന്ല
+പ്ല
+ഫ്ല
+ബ്ല
+ഭ്ല
+മ്ല
+യ്ല
+ര്ല
+റ്ല
+വ്ല
+ശ്ല
+ഷ്ല
+സ്ല
+ഹ്ല
+ക്ള
+ഖ്ള
+ഗ്ള
+ഘ്ള
+ങ്ള
+ച്ള
+ഛ്ള
+ജ്ള
+ഝ്ള
+ഞ്ള
+ട്ള
+ഠ്ള
+ഡ്ള
+ഢ്ള
+ണ്ള
+ത്ള
+ഥ്ള
+ദ്ള
+ധ്ള
+ന്ള
+പ്ള
+ഫ്ള
+ബ്ള
+ഭ്ള
+മ്ള
+യ്ള
+ര്ള
+റ്ള
+വ്ള
+ശ്ള
+ഷ്ള
+സ്ള
+ഹ്ള
+ക്വ
+ഖ്വ
+ഗ്വ
+ഘ്വ
+ങ്വ
+ച്വ
+ഛ്വ
+ജ്വ
+ഝ്വ
+ഞ്വ
+ട്വ
+ഠ്വ
+ഡ്വ
+ഢ്വ
+ണ്വ
+ത്വ
+ഥ്വ
+ദ്വ
+ധ്വ
+ന്വ
+പ്വ
+ഫ്വ
+ബ്വ
+ഭ്വ
+മ്വ
+ര്വ
+റ്വ
+ല്വ
+ള്വ
+ഴ്വ
+ശ്വ
+ഷ്വ
+സ്വ
+ഹ്വ
+ക്
+ഖ്
+ഗ്
+ഘ്
+ങ്
+ച്
+ഛ്
+ജ്
+ഝ്
+ഞ്
+ട്
+ഠ്
+ഡ്
+ഢ്
+ണ്
+ത്
+ഥ്
+ദ്
+ധ്
+ന്
+പ്
+ഫ്
+ബ്
+ഭ്
+മ്
+യ്
+ര്
+റ്
+ല്
+ള്
+ഴ്
+വ്
+ശ്
+ഷ്
+സ്
+ഹ്
+ഡ്രൈവ്
+അപ്ഡേറ്റ്
+അപ്ഗ്രേഡ്
+വ്യക്തം
+ഇന്‍സ്റ്റോള്‍
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/MANIFEST
new file mode 100644
index 0000000..66a2468
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/MANIFEST
@@ -0,0 +1,2 @@
+bindu.txt
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/bindu.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/bindu.txt
new file mode 100644
index 0000000..13de6ee
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/bindu.txt
@@ -0,0 +1,2 @@
+ମୁଁ
+ମୁଂ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/misc.txt
new file mode 100644
index 0000000..44a53df
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/misc.txt
@@ -0,0 +1,28 @@
+ஃ
+ஃக
+கூ
+கெ
+கொ
+கொ
+க்ஷ
+க்ஷொ
+க்ஷொ
+ஙூ
+சூ
+டி
+டீ
+டூ
+தூ
+மூ
+ரி
+ரீ
+ரூ
+ர்
+லி
+லீ
+କ୍ତ୍ର
+ତ୍ତ୍ବ
+ନ୍ତ୍ବ
+ନ୍ତ୍ର
+ନ୍ତ୍ର୍ଯ
+ସ୍ତ୍ର
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/MANIFEST
new file mode 100644
index 0000000..b389359
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/MANIFEST
@@ -0,0 +1,2 @@
+codepoint
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt
new file mode 100644
index 0000000..c311f42
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt
@@ -0,0 +1,3 @@
+ଡ଼
+ଢ଼
+ୟ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
new file mode 100644
index 0000000..c15795c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
@@ -0,0 +1,2 @@
+ୠ
+ୡ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..5692fa1
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,34 @@
+କ
+ଖ
+ଗ
+ଘ
+ଙ
+ଚ
+ଛ
+ଜ
+ଝ
+ଞ
+ଟ
+ଠ
+ଡ
+ଢ
+ଣ
+ତ
+ଥ
+ଦ
+ଧ
+ନ
+ପ
+ଫ
+ବ
+ଭ
+ମ
+ଯ
+ର
+ଲ
+ଳ
+ଵ
+ଶ
+ଷ
+ସ
+ହ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..d95d909
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,12 @@
+ା
+ି
+ୀ
+ୁ
+ୂ
+ୃ
+େ
+ୈ
+ୋ
+ୌ
+ୖ
+ୗ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..ce7af5e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+୦
+୧
+୨
+୩
+୪
+୫
+୬
+୭
+୮
+୯
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..9d21b9d
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,12 @@
+ଅ
+ଆ
+ଇ
+ଈ
+ଉ
+ଊ
+ଋ
+ଌ
+ଏ
+ଐ
+ଓ
+ଔ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt
new file mode 100644
index 0000000..6571b52
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt
@@ -0,0 +1,2 @@
+୰
+ୱ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..ce411d2
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,8 @@
+ଁ
+ଂ
+ଃ
+଼
+ଽ
+୍
+ୖ
+ୗ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..17fe498
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/codepoint/MANIFEST
@@ -0,0 +1,9 @@
+IndicFontFeatureCodepoint-AdditionalConsonants.txt
+IndicFontFeatureCodepoint-AdditionalVowels.txt
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-OriyaSpecific.txt
+IndicFontFeatureCodepoint-Reserved.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..fe11060
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,170 @@
+କ୍ଷ
+ଙ୍କ
+ଙ୍ଖ
+ଙ୍ଗ
+ଙ୍ଘ
+ଙ୍ଳ
+ଙ୍କ୍ତ
+ଚ୍ଚ
+ଚ୍ଛ
+ଜ୍ଜ
+ଜ୍ଝ
+ଜ୍ଞ
+ଞ୍ଚ
+ଞ୍ଛ
+ଞ୍ଜ
+ଟ୍ଟ
+ଣ୍ଟ
+ଣ୍ଠ
+ଣ୍ଡ
+ଣ୍ଢ
+ଣ୍ଣ
+ତ୍କ
+ତ୍ତ
+ତ୍ଥ
+ତ୍ନ
+ତ୍ସ
+ତ୍ପ
+ଦ୍ଦ
+ଦ୍ଧ
+ଦ୍ଭ
+ଦ୍ଯ
+ବ୍ଡ
+ବ୍ଦ
+ବ୍ଧ
+ନ୍ତ
+ନ୍ତ୍ର
+ନ୍ଥ
+ନ୍ଦ
+ନ୍ଧ
+ନ୍ନ
+ଯ୍ତ
+ମ୍ପ
+ମ୍ଫ
+ମ୍ବ
+ମ୍ମ
+ମ୍ଭ
+ଶ୍ଚ
+ଶ୍ପ
+ଶ୍ଫ
+ଶ୍କ
+ଶ୍ଟ
+ଷ୍ଟ
+ଷ୍ଟ୍ବ
+ଷ୍ଠ
+ଷ୍ଣ
+ସ୍କ
+ସ୍ଖ
+ସ୍ଘ
+ସ୍ପ
+ସ୍ଫ
+ସ୍ତ
+ସ୍ତ୍ର
+ସ୍ଥ
+ସ୍ବ
+ସ୍ମୃ
+ହ୍ନ
+ହ୍ଳ
+ହ୍ଵ
+ପ୍ଟ
+କ୍କ
+କ୍ଖ
+କ୍ଗ
+କ୍ଘ
+କ୍ଚ
+କ୍ଛ
+କ୍ଜ
+କ୍ଝ
+କ୍ଟ
+କ୍ଠ
+କ୍ଡ
+କ୍ଢ
+କ୍ଣ
+କ୍ତ
+କ୍ଥ
+କ୍ଦ
+କ୍ଧ
+କ୍ନ
+କ୍ପ
+କ୍ଫ
+କ୍ବ
+କ୍ଭ
+କ୍ମ
+କ୍ଯ
+କ୍ର
+କ୍ଳ
+କ୍ଲ
+କ୍ହ
+ର୍କ
+ର୍ଖ
+ର୍ଗ
+ର୍ଘ
+ର୍ଚ
+ର୍ଚ୍ଚ
+ର୍ଚ୍ଛ
+ର୍ଛ
+ର୍ଜ
+ର୍ଝ
+ର୍ଟ
+ର୍ଠ
+ର୍ଡ
+ର୍ଢ
+ର୍ଣ
+ର୍ତ
+ର୍ତ୍ତ
+ର୍ଥ
+ର୍ଦ
+ର୍ଦ୍ଦ
+ର୍ଦ୍ଧ
+ର୍ଧ
+ର୍ନ
+ର୍ପ
+ର୍ଫ
+ର୍ବ
+ର୍ଭ
+ର୍ମ
+ର୍ଯ
+ର୍ଯ୍ଯ
+ର୍ଶ
+ର୍ଷ
+ର୍ସ
+ର୍ହ
+ର୍ଡ଼
+ର୍ଢ଼
+ଖ୍ର
+ଗ୍ର
+ଘ୍ର
+ଚ୍ଚ୍ର
+ଚ୍ଛ୍ର
+ଚ୍ର
+ଛ୍ର
+ଜ୍ର
+ଝ୍ର
+ଟ୍ର
+ଠ୍ର
+ଡ୍ର
+ଢ୍ର
+ଣ୍ର
+ତ୍ର
+ତ୍ତ୍ର
+ତ୍ଥ୍ର
+ଥ୍ର
+ଦ୍ର
+ଦ୍ଦ୍ର
+ଦ୍ଧ୍ର
+ଧ୍ର
+ନ୍ର
+ପ୍ର
+ଫ୍ର
+ବ୍ର
+ଭ୍ର
+ମ୍ର
+ଯ୍ର
+ଶ୍ର
+ଷ୍ର
+ସ୍ର
+ହ୍ର
+ଡ଼୍ର
+ଢ଼୍ର
+ଦ୍ଗ
+ତ୍ମ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-oriya/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/MANIFEST
new file mode 100644
index 0000000..a00d7ae
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/MANIFEST
@@ -0,0 +1,4 @@
+extensive.txt
+misc.txt
+reph.txt
+split-matras.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/extensive.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/extensive.txt
new file mode 100644
index 0000000..231a1f7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/extensive.txt
@@ -0,0 +1,4390 @@
+අ
+ආ
+ඇ
+ඈ
+ඉ
+ඊ
+උ
+ඌ
+ඍ
+ඎ
+ඏ
+ඐ
+එ
+ඒ
+ඓ
+ඔ
+ඕ
+ඖ
+ක
+කා
+කැ
+කෑ
+කි
+කී
+කු
+කූ
+කෘ
+කෲ
+කෟ
+කෳ
+කෙ
+කේ
+කෛ
+කො
+කෝ
+කෞ
+ක්
+කං
+කඃ
+ක්‍ර
+ක්‍රා
+ක්‍රැ
+ක්‍රෑ
+ක්‍රි
+ක්‍රී
+ක්‍රු
+ක්‍රූ
+ක්‍රෘ
+ක්‍රෲ
+ක්‍රෟ
+ක්‍රෳ
+ක්‍රෙ
+ක්‍රේ
+ක්‍රෛ
+ක්‍රො
+ක්‍රෝ
+ක්‍රෞ
+ක්‍ර්
+ක්‍රං
+ක්‍රඃ
+ක්‍ය
+ක්‍යා
+ක්‍යැ
+ක්‍යෑ
+ක්‍යි
+ක්‍යී
+ක්‍යු
+ක්‍යූ
+ක්‍යෘ
+ක්‍යෲ
+ක්‍යෟ
+ක්‍යෳ
+ක්‍යෙ
+ක්‍යේ
+ක්‍යෛ
+ක්‍යො
+ක්‍යෝ
+ක්‍යෞ
+ක්‍ය්
+ක්‍යං
+ක්‍යඃ
+ර්‍ක
+ර්‍කා
+ර්‍කැ
+ර්‍කෑ
+ර්‍කි
+ර්‍කී
+ර්‍කු
+ර්‍කූ
+ර්‍කෘ
+ර්‍කෲ
+ර්‍කෟ
+ර්‍කෳ
+ර්‍කෙ
+ර්‍කේ
+ර්‍කෛ
+ර්‍කො
+ර්‍කෝ
+ර්‍කෞ
+ර්‍ක්
+ර්‍කං
+ර්‍කඃ
+ඛ
+ඛා
+ඛැ
+ඛෑ
+ඛි
+ඛී
+ඛු
+ඛූ
+ඛෘ
+ඛෲ
+ඛෟ
+ඛෳ
+ඛෙ
+ඛේ
+ඛෛ
+ඛො
+ඛෝ
+ඛෞ
+ඛ්
+ඛං
+ඛඃ
+ඛ්‍ර
+ඛ්‍රා
+ඛ්‍රැ
+ඛ්‍රෑ
+ඛ්‍රි
+ඛ්‍රී
+ඛ්‍රු
+ඛ්‍රූ
+ඛ්‍රෘ
+ඛ්‍රෲ
+ඛ්‍රෟ
+ඛ්‍රෳ
+ඛ්‍රෙ
+ඛ්‍රේ
+ඛ්‍රෛ
+ඛ්‍රො
+ඛ්‍රෝ
+ඛ්‍රෞ
+ඛ්‍ර්
+ඛ්‍රං
+ඛ්‍රඃ
+ඛ්‍ය
+ඛ්‍යා
+ඛ්‍යැ
+ඛ්‍යෑ
+ඛ්‍යි
+ඛ්‍යී
+ඛ්‍යු
+ඛ්‍යූ
+ඛ්‍යෘ
+ඛ්‍යෲ
+ඛ්‍යෟ
+ඛ්‍යෳ
+ඛ්‍යෙ
+ඛ්‍යේ
+ඛ්‍යෛ
+ඛ්‍යො
+ඛ්‍යෝ
+ඛ්‍යෞ
+ඛ්‍ය්
+ඛ්‍යං
+ඛ්‍යඃ
+ර්‍ඛ
+ර්‍ඛා
+ර්‍ඛැ
+ර්‍ඛෑ
+ර්‍ඛි
+ර්‍ඛී
+ර්‍ඛු
+ර්‍ඛූ
+ර්‍ඛෘ
+ර්‍ඛෲ
+ර්‍ඛෟ
+ර්‍ඛෳ
+ර්‍ඛෙ
+ර්‍ඛේ
+ර්‍ඛෛ
+ර්‍ඛො
+ර්‍ඛෝ
+ර්‍ඛෞ
+ර්‍ඛ්
+ර්‍ඛං
+ර්‍ඛඃ
+ග
+ගා
+ගැ
+ගෑ
+ගි
+ගී
+ගු
+ගූ
+ගෘ
+ගෲ
+ගෟ
+ගෳ
+ගෙ
+ගේ
+ගෛ
+ගො
+ගෝ
+ගෞ
+ග්
+ගං
+ගඃ
+ග්‍ර
+ග්‍රා
+ග්‍රැ
+ග්‍රෑ
+ග්‍රි
+ග්‍රී
+ග්‍රු
+ග්‍රූ
+ග්‍රෘ
+ග්‍රෲ
+ග්‍රෟ
+ග්‍රෳ
+ග්‍රෙ
+ග්‍රේ
+ග්‍රෛ
+ග්‍රො
+ග්‍රෝ
+ග්‍රෞ
+ග්‍ර්
+ග්‍රං
+ග්‍රඃ
+ග්‍ය
+ග්‍යා
+ග්‍යැ
+ග්‍යෑ
+ග්‍යි
+ග්‍යී
+ග්‍යු
+ග්‍යූ
+ග්‍යෘ
+ග්‍යෲ
+ග්‍යෟ
+ග්‍යෳ
+ග්‍යෙ
+ග්‍යේ
+ග්‍යෛ
+ග්‍යො
+ග්‍යෝ
+ග්‍යෞ
+ග්‍ය්
+ග්‍යං
+ග්‍යඃ
+ර්‍ග
+ර්‍ගා
+ර්‍ගැ
+ර්‍ගෑ
+ර්‍ගි
+ර්‍ගී
+ර්‍ගු
+ර්‍ගූ
+ර්‍ගෘ
+ර්‍ගෲ
+ර්‍ගෟ
+ර්‍ගෳ
+ර්‍ගෙ
+ර්‍ගේ
+ර්‍ගෛ
+ර්‍ගො
+ර්‍ගෝ
+ර්‍ගෞ
+ර්‍ග්
+ර්‍ගං
+ර්‍ගඃ
+ඝ
+ඝා
+ඝැ
+ඝෑ
+ඝි
+ඝී
+ඝු
+ඝූ
+ඝෘ
+ඝෲ
+ඝෟ
+ඝෳ
+ඝෙ
+ඝේ
+ඝෛ
+ඝො
+ඝෝ
+ඝෞ
+ඝ්
+ඝං
+ඝඃ
+ඝ්‍ර
+ඝ්‍රා
+ඝ්‍රැ
+ඝ්‍රෑ
+ඝ්‍රි
+ඝ්‍රී
+ඝ්‍රු
+ඝ්‍රූ
+ඝ්‍රෘ
+ඝ්‍රෲ
+ඝ්‍රෟ
+ඝ්‍රෳ
+ඝ්‍රෙ
+ඝ්‍රේ
+ඝ්‍රෛ
+ඝ්‍රො
+ඝ්‍රෝ
+ඝ්‍රෞ
+ඝ්‍ර්
+ඝ්‍රං
+ඝ්‍රඃ
+ඝ්‍ය
+ඝ්‍යා
+ඝ්‍යැ
+ඝ්‍යෑ
+ඝ්‍යි
+ඝ්‍යී
+ඝ්‍යු
+ඝ්‍යූ
+ඝ්‍යෘ
+ඝ්‍යෲ
+ඝ්‍යෟ
+ඝ්‍යෳ
+ඝ්‍යෙ
+ඝ්‍යේ
+ඝ්‍යෛ
+ඝ්‍යො
+ඝ්‍යෝ
+ඝ්‍යෞ
+ඝ්‍ය්
+ඝ්‍යං
+ඝ්‍යඃ
+ර්‍ඝ
+ර්‍ඝා
+ර්‍ඝැ
+ර්‍ඝෑ
+ර්‍ඝි
+ර්‍ඝී
+ර්‍ඝු
+ර්‍ඝූ
+ර්‍ඝෘ
+ර්‍ඝෲ
+ර්‍ඝෟ
+ර්‍ඝෳ
+ර්‍ඝෙ
+ර්‍ඝේ
+ර්‍ඝෛ
+ර්‍ඝො
+ර්‍ඝෝ
+ර්‍ඝෞ
+ර්‍ඝ්
+ර්‍ඝං
+ර්‍ඝඃ
+ඞ
+ඞා
+ඞැ
+ඞෑ
+ඞි
+ඞී
+ඞු
+ඞූ
+ඞෘ
+ඞෲ
+ඞෟ
+ඞෳ
+ඞෙ
+ඞේ
+ඞෛ
+ඞො
+ඞෝ
+ඞෞ
+ඞ්
+ඞං
+ඞඃ
+ඞ්‍ර
+ඞ්‍රා
+ඞ්‍රැ
+ඞ්‍රෑ
+ඞ්‍රි
+ඞ්‍රී
+ඞ්‍රු
+ඞ්‍රූ
+ඞ්‍රෘ
+ඞ්‍රෲ
+ඞ්‍රෟ
+ඞ්‍රෳ
+ඞ්‍රෙ
+ඞ්‍රේ
+ඞ්‍රෛ
+ඞ්‍රො
+ඞ්‍රෝ
+ඞ්‍රෞ
+ඞ්‍ර්
+ඞ්‍රං
+ඞ්‍රඃ
+ඞ්‍ය
+ඞ්‍යා
+ඞ්‍යැ
+ඞ්‍යෑ
+ඞ්‍යි
+ඞ්‍යී
+ඞ්‍යු
+ඞ්‍යූ
+ඞ්‍යෘ
+ඞ්‍යෲ
+ඞ්‍යෟ
+ඞ්‍යෳ
+ඞ්‍යෙ
+ඞ්‍යේ
+ඞ්‍යෛ
+ඞ්‍යො
+ඞ්‍යෝ
+ඞ්‍යෞ
+ඞ්‍ය්
+ඞ්‍යං
+ඞ්‍යඃ
+ර්‍ඞ
+ර්‍ඞා
+ර්‍ඞැ
+ර්‍ඞෑ
+ර්‍ඞි
+ර්‍ඞී
+ර්‍ඞු
+ර්‍ඞූ
+ර්‍ඞෘ
+ර්‍ඞෲ
+ර්‍ඞෟ
+ර්‍ඞෳ
+ර්‍ඞෙ
+ර්‍ඞේ
+ර්‍ඞෛ
+ර්‍ඞො
+ර්‍ඞෝ
+ර්‍ඞෞ
+ර්‍ඞ්
+ර්‍ඞං
+ර්‍ඞඃ
+ඟ
+ඟා
+ඟැ
+ඟෑ
+ඟි
+ඟී
+ඟු
+ඟූ
+ඟෘ
+ඟෲ
+ඟෟ
+ඟෳ
+ඟෙ
+ඟේ
+ඟෛ
+ඟො
+ඟෝ
+ඟෞ
+ඟ්
+ඟං
+ඟඃ
+ඟ්‍ර
+ඟ්‍රා
+ඟ්‍රැ
+ඟ්‍රෑ
+ඟ්‍රි
+ඟ්‍රී
+ඟ්‍රු
+ඟ්‍රූ
+ඟ්‍රෘ
+ඟ්‍රෲ
+ඟ්‍රෟ
+ඟ්‍රෳ
+ඟ්‍රෙ
+ඟ්‍රේ
+ඟ්‍රෛ
+ඟ්‍රො
+ඟ්‍රෝ
+ඟ්‍රෞ
+ඟ්‍ර්
+ඟ්‍රං
+ඟ්‍රඃ
+ඟ්‍ය
+ඟ්‍යා
+ඟ්‍යැ
+ඟ්‍යෑ
+ඟ්‍යි
+ඟ්‍යී
+ඟ්‍යු
+ඟ්‍යූ
+ඟ්‍යෘ
+ඟ්‍යෲ
+ඟ්‍යෟ
+ඟ්‍යෳ
+ඟ්‍යෙ
+ඟ්‍යේ
+ඟ්‍යෛ
+ඟ්‍යො
+ඟ්‍යෝ
+ඟ්‍යෞ
+ඟ්‍ය්
+ඟ්‍යං
+ඟ්‍යඃ
+ර්‍ඟ
+ර්‍ඟා
+ර්‍ඟැ
+ර්‍ඟෑ
+ර්‍ඟි
+ර්‍ඟී
+ර්‍ඟු
+ර්‍ඟූ
+ර්‍ඟෘ
+ර්‍ඟෲ
+ර්‍ඟෟ
+ර්‍ඟෳ
+ර්‍ඟෙ
+ර්‍ඟේ
+ර්‍ඟෛ
+ර්‍ඟො
+ර්‍ඟෝ
+ර්‍ඟෞ
+ර්‍ඟ්
+ර්‍ඟං
+ර්‍ඟඃ
+ච
+චා
+චැ
+චෑ
+චි
+චී
+චු
+චූ
+චෘ
+චෲ
+චෟ
+චෳ
+චෙ
+චේ
+චෛ
+චො
+චෝ
+චෞ
+ච්
+චං
+චඃ
+ච්‍ර
+ච්‍රා
+ච්‍රැ
+ච්‍රෑ
+ච්‍රි
+ච්‍රී
+ච්‍රු
+ච්‍රූ
+ච්‍රෘ
+ච්‍රෲ
+ච්‍රෟ
+ච්‍රෳ
+ච්‍රෙ
+ච්‍රේ
+ච්‍රෛ
+ච්‍රො
+ච්‍රෝ
+ච්‍රෞ
+ච්‍ර්
+ච්‍රං
+ච්‍රඃ
+ච්‍ය
+ච්‍යා
+ච්‍යැ
+ච්‍යෑ
+ච්‍යි
+ච්‍යී
+ච්‍යු
+ච්‍යූ
+ච්‍යෘ
+ච්‍යෲ
+ච්‍යෟ
+ච්‍යෳ
+ච්‍යෙ
+ච්‍යේ
+ච්‍යෛ
+ච්‍යො
+ච්‍යෝ
+ච්‍යෞ
+ච්‍ය්
+ච්‍යං
+ච්‍යඃ
+ර්‍ච
+ර්‍චා
+ර්‍චැ
+ර්‍චෑ
+ර්‍චි
+ර්‍චී
+ර්‍චු
+ර්‍චූ
+ර්‍චෘ
+ර්‍චෲ
+ර්‍චෟ
+ර්‍චෳ
+ර්‍චෙ
+ර්‍චේ
+ර්‍චෛ
+ර්‍චො
+ර්‍චෝ
+ර්‍චෞ
+ර්‍ච්
+ර්‍චං
+ර්‍චඃ
+ඡ
+ඡා
+ඡැ
+ඡෑ
+ඡි
+ඡී
+ඡු
+ඡූ
+ඡෘ
+ඡෲ
+ඡෟ
+ඡෳ
+ඡෙ
+ඡේ
+ඡෛ
+ඡො
+ඡෝ
+ඡෞ
+ඡ්
+ඡං
+ඡඃ
+ඡ්‍ර
+ඡ්‍රා
+ඡ්‍රැ
+ඡ්‍රෑ
+ඡ්‍රි
+ඡ්‍රී
+ඡ්‍රු
+ඡ්‍රූ
+ඡ්‍රෘ
+ඡ්‍රෲ
+ඡ්‍රෟ
+ඡ්‍රෳ
+ඡ්‍රෙ
+ඡ්‍රේ
+ඡ්‍රෛ
+ඡ්‍රො
+ඡ්‍රෝ
+ඡ්‍රෞ
+ඡ්‍ර්
+ඡ්‍රං
+ඡ්‍රඃ
+ඡ්‍ය
+ඡ්‍යා
+ඡ්‍යැ
+ඡ්‍යෑ
+ඡ්‍යි
+ඡ්‍යී
+ඡ්‍යු
+ඡ්‍යූ
+ඡ්‍යෘ
+ඡ්‍යෲ
+ඡ්‍යෟ
+ඡ්‍යෳ
+ඡ්‍යෙ
+ඡ්‍යේ
+ඡ්‍යෛ
+ඡ්‍යො
+ඡ්‍යෝ
+ඡ්‍යෞ
+ඡ්‍ය්
+ඡ්‍යං
+ඡ්‍යඃ
+ර්‍ඡ
+ර්‍ඡා
+ර්‍ඡැ
+ර්‍ඡෑ
+ර්‍ඡි
+ර්‍ඡී
+ර්‍ඡු
+ර්‍ඡූ
+ර්‍ඡෘ
+ර්‍ඡෲ
+ර්‍ඡෟ
+ර්‍ඡෳ
+ර්‍ඡෙ
+ර්‍ඡේ
+ර්‍ඡෛ
+ර්‍ඡො
+ර්‍ඡෝ
+ර්‍ඡෞ
+ර්‍ඡ්
+ර්‍ඡං
+ර්‍ඡඃ
+ජ
+ජා
+ජැ
+ජෑ
+ජි
+ජී
+ජු
+ජූ
+ජෘ
+ජෲ
+ජෟ
+ජෳ
+ජෙ
+ජේ
+ජෛ
+ජො
+ජෝ
+ජෞ
+ජ්
+ජං
+ජඃ
+ජ්‍ර
+ජ්‍රා
+ජ්‍රැ
+ජ්‍රෑ
+ජ්‍රි
+ජ්‍රී
+ජ්‍රු
+ජ්‍රූ
+ජ්‍රෘ
+ජ්‍රෲ
+ජ්‍රෟ
+ජ්‍රෳ
+ජ්‍රෙ
+ජ්‍රේ
+ජ්‍රෛ
+ජ්‍රො
+ජ්‍රෝ
+ජ්‍රෞ
+ජ්‍ර්
+ජ්‍රං
+ජ්‍රඃ
+ජ්‍ය
+ජ්‍යා
+ජ්‍යැ
+ජ්‍යෑ
+ජ්‍යි
+ජ්‍යී
+ජ්‍යු
+ජ්‍යූ
+ජ්‍යෘ
+ජ්‍යෲ
+ජ්‍යෟ
+ජ්‍යෳ
+ජ්‍යෙ
+ජ්‍යේ
+ජ්‍යෛ
+ජ්‍යො
+ජ්‍යෝ
+ජ්‍යෞ
+ජ්‍ය්
+ජ්‍යං
+ජ්‍යඃ
+ර්‍ජ
+ර්‍ජා
+ර්‍ජැ
+ර්‍ජෑ
+ර්‍ජි
+ර්‍ජී
+ර්‍ජු
+ර්‍ජූ
+ර්‍ජෘ
+ර්‍ජෲ
+ර්‍ජෟ
+ර්‍ජෳ
+ර්‍ජෙ
+ර්‍ජේ
+ර්‍ජෛ
+ර්‍ජො
+ර්‍ජෝ
+ර්‍ජෞ
+ර්‍ජ්
+ර්‍ජං
+ර්‍ජඃ
+ඣ
+ඣා
+ඣැ
+ඣෑ
+ඣි
+ඣී
+ඣු
+ඣූ
+ඣෘ
+ඣෲ
+ඣෟ
+ඣෳ
+ඣෙ
+ඣේ
+ඣෛ
+ඣො
+ඣෝ
+ඣෞ
+ඣ්
+ඣං
+ඣඃ
+ඣ්‍ර
+ඣ්‍රා
+ඣ්‍රැ
+ඣ්‍රෑ
+ඣ්‍රි
+ඣ්‍රී
+ඣ්‍රු
+ඣ්‍රූ
+ඣ්‍රෘ
+ඣ්‍රෲ
+ඣ්‍රෟ
+ඣ්‍රෳ
+ඣ්‍රෙ
+ඣ්‍රේ
+ඣ්‍රෛ
+ඣ්‍රො
+ඣ්‍රෝ
+ඣ්‍රෞ
+ඣ්‍ර්
+ඣ්‍රං
+ඣ්‍රඃ
+ඣ්‍ය
+ඣ්‍යා
+ඣ්‍යැ
+ඣ්‍යෑ
+ඣ්‍යි
+ඣ්‍යී
+ඣ්‍යු
+ඣ්‍යූ
+ඣ්‍යෘ
+ඣ්‍යෲ
+ඣ්‍යෟ
+ඣ්‍යෳ
+ඣ්‍යෙ
+ඣ්‍යේ
+ඣ්‍යෛ
+ඣ්‍යො
+ඣ්‍යෝ
+ඣ්‍යෞ
+ඣ්‍ය්
+ඣ්‍යං
+ඣ්‍යඃ
+ර්‍ඣ
+ර්‍ඣා
+ර්‍ඣැ
+ර්‍ඣෑ
+ර්‍ඣි
+ර්‍ඣී
+ර්‍ඣු
+ර්‍ඣූ
+ර්‍ඣෘ
+ර්‍ඣෲ
+ර්‍ඣෟ
+ර්‍ඣෳ
+ර්‍ඣෙ
+ර්‍ඣේ
+ර්‍ඣෛ
+ර්‍ඣො
+ර්‍ඣෝ
+ර්‍ඣෞ
+ර්‍ඣ්
+ර්‍ඣං
+ර්‍ඣඃ
+ඥ
+ඥා
+ඥැ
+ඥෑ
+ඥි
+ඥී
+ඥු
+ඥූ
+ඥෘ
+ඥෲ
+ඥෟ
+ඥෳ
+ඥෙ
+ඥේ
+ඥෛ
+ඥො
+ඥෝ
+ඥෞ
+ඥ්
+ඥං
+ඥඃ
+ඥ්‍ර
+ඥ්‍රා
+ඥ්‍රැ
+ඥ්‍රෑ
+ඥ්‍රි
+ඥ්‍රී
+ඥ්‍රු
+ඥ්‍රූ
+ඥ්‍රෘ
+ඥ්‍රෲ
+ඥ්‍රෟ
+ඥ්‍රෳ
+ඥ්‍රෙ
+ඥ්‍රේ
+ඥ්‍රෛ
+ඥ්‍රො
+ඥ්‍රෝ
+ඥ්‍රෞ
+ඥ්‍ර්
+ඥ්‍රං
+ඥ්‍රඃ
+ඥ්‍ය
+ඥ්‍යා
+ඥ්‍යැ
+ඥ්‍යෑ
+ඥ්‍යි
+ඥ්‍යී
+ඥ්‍යු
+ඥ්‍යූ
+ඥ්‍යෘ
+ඥ්‍යෲ
+ඥ්‍යෟ
+ඥ්‍යෳ
+ඥ්‍යෙ
+ඥ්‍යේ
+ඥ්‍යෛ
+ඥ්‍යො
+ඥ්‍යෝ
+ඥ්‍යෞ
+ඥ්‍ය්
+ඥ්‍යං
+ඥ්‍යඃ
+ර්‍ඥ
+ර්‍ඥා
+ර්‍ඥැ
+ර්‍ඥෑ
+ර්‍ඥි
+ර්‍ඥී
+ර්‍ඥු
+ර්‍ඥූ
+ර්‍ඥෘ
+ර්‍ඥෲ
+ර්‍ඥෟ
+ර්‍ඥෳ
+ර්‍ඥෙ
+ර්‍ඥේ
+ර්‍ඥෛ
+ර්‍ඥො
+ර්‍ඥෝ
+ර්‍ඥෞ
+ර්‍ඥ්
+ර්‍ඥං
+ර්‍ඥඃ
+ඤ
+ඤා
+ඤැ
+ඤෑ
+ඤි
+ඤී
+ඤු
+ඤූ
+ඤෘ
+ඤෲ
+ඤෟ
+ඤෳ
+ඤෙ
+ඤේ
+ඤෛ
+ඤො
+ඤෝ
+ඤෞ
+ඤ්
+ඤං
+ඤඃ
+ඤ්‍ර
+ඤ්‍රා
+ඤ්‍රැ
+ඤ්‍රෑ
+ඤ්‍රි
+ඤ්‍රී
+ඤ්‍රු
+ඤ්‍රූ
+ඤ්‍රෘ
+ඤ්‍රෲ
+ඤ්‍රෟ
+ඤ්‍රෳ
+ඤ්‍රෙ
+ඤ්‍රේ
+ඤ්‍රෛ
+ඤ්‍රො
+ඤ්‍රෝ
+ඤ්‍රෞ
+ඤ්‍ර්
+ඤ්‍රං
+ඤ්‍රඃ
+ඤ්‍ය
+ඤ්‍යා
+ඤ්‍යැ
+ඤ්‍යෑ
+ඤ්‍යි
+ඤ්‍යී
+ඤ්‍යු
+ඤ්‍යූ
+ඤ්‍යෘ
+ඤ්‍යෲ
+ඤ්‍යෟ
+ඤ්‍යෳ
+ඤ්‍යෙ
+ඤ්‍යේ
+ඤ්‍යෛ
+ඤ්‍යො
+ඤ්‍යෝ
+ඤ්‍යෞ
+ඤ්‍ය්
+ඤ්‍යං
+ඤ්‍යඃ
+ර්‍ඤ
+ර්‍ඤා
+ර්‍ඤැ
+ර්‍ඤෑ
+ර්‍ඤි
+ර්‍ඤී
+ර්‍ඤු
+ර්‍ඤූ
+ර්‍ඤෘ
+ර්‍ඤෲ
+ර්‍ඤෟ
+ර්‍ඤෳ
+ර්‍ඤෙ
+ර්‍ඤේ
+ර්‍ඤෛ
+ර්‍ඤො
+ර්‍ඤෝ
+ර්‍ඤෞ
+ර්‍ඤ්
+ර්‍ඤං
+ර්‍ඤඃ
+ඦ
+ඦා
+ඦැ
+ඦෑ
+ඦි
+ඦී
+ඦු
+ඦූ
+ඦෘ
+ඦෲ
+ඦෟ
+ඦෳ
+ඦෙ
+ඦේ
+ඦෛ
+ඦො
+ඦෝ
+ඦෞ
+ඦ්
+ඦං
+ඦඃ
+ඦ්‍ර
+ඦ්‍රා
+ඦ්‍රැ
+ඦ්‍රෑ
+ඦ්‍රි
+ඦ්‍රී
+ඦ්‍රු
+ඦ්‍රූ
+ඦ්‍රෘ
+ඦ්‍රෲ
+ඦ්‍රෟ
+ඦ්‍රෳ
+ඦ්‍රෙ
+ඦ්‍රේ
+ඦ්‍රෛ
+ඦ්‍රො
+ඦ්‍රෝ
+ඦ්‍රෞ
+ඦ්‍ර්
+ඦ්‍රං
+ඦ්‍රඃ
+ඦ්‍ය
+ඦ්‍යා
+ඦ්‍යැ
+ඦ්‍යෑ
+ඦ්‍යි
+ඦ්‍යී
+ඦ්‍යු
+ඦ්‍යූ
+ඦ්‍යෘ
+ඦ්‍යෲ
+ඦ්‍යෟ
+ඦ්‍යෳ
+ඦ්‍යෙ
+ඦ්‍යේ
+ඦ්‍යෛ
+ඦ්‍යො
+ඦ්‍යෝ
+ඦ්‍යෞ
+ඦ්‍ය්
+ඦ්‍යං
+ඦ්‍යඃ
+ර්‍ඦ
+ර්‍ඦා
+ර්‍ඦැ
+ර්‍ඦෑ
+ර්‍ඦි
+ර්‍ඦී
+ර්‍ඦු
+ර්‍ඦූ
+ර්‍ඦෘ
+ර්‍ඦෲ
+ර්‍ඦෟ
+ර්‍ඦෳ
+ර්‍ඦෙ
+ර්‍ඦේ
+ර්‍ඦෛ
+ර්‍ඦො
+ර්‍ඦෝ
+ර්‍ඦෞ
+ර්‍ඦ්
+ර්‍ඦං
+ර්‍ඦඃ
+ට
+ටා
+ටැ
+ටෑ
+ටි
+ටී
+ටු
+ටූ
+ටෘ
+ටෲ
+ටෟ
+ටෳ
+ටෙ
+ටේ
+ටෛ
+ටො
+ටෝ
+ටෞ
+ට්
+ටං
+ටඃ
+ට්‍ර
+ට්‍රා
+ට්‍රැ
+ට්‍රෑ
+ට්‍රි
+ට්‍රී
+ට්‍රු
+ට්‍රූ
+ට්‍රෘ
+ට්‍රෲ
+ට්‍රෟ
+ට්‍රෳ
+ට්‍රෙ
+ට්‍රේ
+ට්‍රෛ
+ට්‍රො
+ට්‍රෝ
+ට්‍රෞ
+ට්‍ර්
+ට්‍රං
+ට්‍රඃ
+ට්‍ය
+ට්‍යා
+ට්‍යැ
+ට්‍යෑ
+ට්‍යි
+ට්‍යී
+ට්‍යු
+ට්‍යූ
+ට්‍යෘ
+ට්‍යෲ
+ට්‍යෟ
+ට්‍යෳ
+ට්‍යෙ
+ට්‍යේ
+ට්‍යෛ
+ට්‍යො
+ට්‍යෝ
+ට්‍යෞ
+ට්‍ය්
+ට්‍යං
+ට්‍යඃ
+ර්‍ට
+ර්‍ටා
+ර්‍ටැ
+ර්‍ටෑ
+ර්‍ටි
+ර්‍ටී
+ර්‍ටු
+ර්‍ටූ
+ර්‍ටෘ
+ර්‍ටෲ
+ර්‍ටෟ
+ර්‍ටෳ
+ර්‍ටෙ
+ර්‍ටේ
+ර්‍ටෛ
+ර්‍ටො
+ර්‍ටෝ
+ර්‍ටෞ
+ර්‍ට්
+ර්‍ටං
+ර්‍ටඃ
+ඨ
+ඨා
+ඨැ
+ඨෑ
+ඨි
+ඨී
+ඨු
+ඨූ
+ඨෘ
+ඨෲ
+ඨෟ
+ඨෳ
+ඨෙ
+ඨේ
+ඨෛ
+ඨො
+ඨෝ
+ඨෞ
+ඨ්
+ඨං
+ඨඃ
+ඨ්‍ර
+ඨ්‍රා
+ඨ්‍රැ
+ඨ්‍රෑ
+ඨ්‍රි
+ඨ්‍රී
+ඨ්‍රු
+ඨ්‍රූ
+ඨ්‍රෘ
+ඨ්‍රෲ
+ඨ්‍රෟ
+ඨ්‍රෳ
+ඨ්‍රෙ
+ඨ්‍රේ
+ඨ්‍රෛ
+ඨ්‍රො
+ඨ්‍රෝ
+ඨ්‍රෞ
+ඨ්‍ර්
+ඨ්‍රං
+ඨ්‍රඃ
+ඨ්‍ය
+ඨ්‍යා
+ඨ්‍යැ
+ඨ්‍යෑ
+ඨ්‍යි
+ඨ්‍යී
+ඨ්‍යු
+ඨ්‍යූ
+ඨ්‍යෘ
+ඨ්‍යෲ
+ඨ්‍යෟ
+ඨ්‍යෳ
+ඨ්‍යෙ
+ඨ්‍යේ
+ඨ්‍යෛ
+ඨ්‍යො
+ඨ්‍යෝ
+ඨ්‍යෞ
+ඨ්‍ය්
+ඨ්‍යං
+ඨ්‍යඃ
+ර්‍ඨ
+ර්‍ඨා
+ර්‍ඨැ
+ර්‍ඨෑ
+ර්‍ඨි
+ර්‍ඨී
+ර්‍ඨු
+ර්‍ඨූ
+ර්‍ඨෘ
+ර්‍ඨෲ
+ර්‍ඨෟ
+ර්‍ඨෳ
+ර්‍ඨෙ
+ර්‍ඨේ
+ර්‍ඨෛ
+ර්‍ඨො
+ර්‍ඨෝ
+ර්‍ඨෞ
+ර්‍ඨ්
+ර්‍ඨං
+ර්‍ඨඃ
+ඩ
+ඩා
+ඩැ
+ඩෑ
+ඩි
+ඩී
+ඩු
+ඩූ
+ඩෘ
+ඩෲ
+ඩෟ
+ඩෳ
+ඩෙ
+ඩේ
+ඩෛ
+ඩො
+ඩෝ
+ඩෞ
+ඩ්
+ඩං
+ඩඃ
+ඩ්‍ර
+ඩ්‍රා
+ඩ්‍රැ
+ඩ්‍රෑ
+ඩ්‍රි
+ඩ්‍රී
+ඩ්‍රු
+ඩ්‍රූ
+ඩ්‍රෘ
+ඩ්‍රෲ
+ඩ්‍රෟ
+ඩ්‍රෳ
+ඩ්‍රෙ
+ඩ්‍රේ
+ඩ්‍රෛ
+ඩ්‍රො
+ඩ්‍රෝ
+ඩ්‍රෞ
+ඩ්‍ර්
+ඩ්‍රං
+ඩ්‍රඃ
+ඩ්‍ය
+ඩ්‍යා
+ඩ්‍යැ
+ඩ්‍යෑ
+ඩ්‍යි
+ඩ්‍යී
+ඩ්‍යු
+ඩ්‍යූ
+ඩ්‍යෘ
+ඩ්‍යෲ
+ඩ්‍යෟ
+ඩ්‍යෳ
+ඩ්‍යෙ
+ඩ්‍යේ
+ඩ්‍යෛ
+ඩ්‍යො
+ඩ්‍යෝ
+ඩ්‍යෞ
+ඩ්‍ය්
+ඩ්‍යං
+ඩ්‍යඃ
+ර්‍ඩ
+ර්‍ඩා
+ර්‍ඩැ
+ර්‍ඩෑ
+ර්‍ඩි
+ර්‍ඩී
+ර්‍ඩු
+ර්‍ඩූ
+ර්‍ඩෘ
+ර්‍ඩෲ
+ර්‍ඩෟ
+ර්‍ඩෳ
+ර්‍ඩෙ
+ර්‍ඩේ
+ර්‍ඩෛ
+ර්‍ඩො
+ර්‍ඩෝ
+ර්‍ඩෞ
+ර්‍ඩ්
+ර්‍ඩං
+ර්‍ඩඃ
+ඪ
+ඪා
+ඪැ
+ඪෑ
+ඪි
+ඪී
+ඪු
+ඪූ
+ඪෘ
+ඪෲ
+ඪෟ
+ඪෳ
+ඪෙ
+ඪේ
+ඪෛ
+ඪො
+ඪෝ
+ඪෞ
+ඪ්
+ඪං
+ඪඃ
+ඪ්‍ර
+ඪ්‍රා
+ඪ්‍රැ
+ඪ්‍රෑ
+ඪ්‍රි
+ඪ්‍රී
+ඪ්‍රු
+ඪ්‍රූ
+ඪ්‍රෘ
+ඪ්‍රෲ
+ඪ්‍රෟ
+ඪ්‍රෳ
+ඪ්‍රෙ
+ඪ්‍රේ
+ඪ්‍රෛ
+ඪ්‍රො
+ඪ්‍රෝ
+ඪ්‍රෞ
+ඪ්‍ර්
+ඪ්‍රං
+ඪ්‍රඃ
+ඪ්‍ය
+ඪ්‍යා
+ඪ්‍යැ
+ඪ්‍යෑ
+ඪ්‍යි
+ඪ්‍යී
+ඪ්‍යු
+ඪ්‍යූ
+ඪ්‍යෘ
+ඪ්‍යෲ
+ඪ්‍යෟ
+ඪ්‍යෳ
+ඪ්‍යෙ
+ඪ්‍යේ
+ඪ්‍යෛ
+ඪ්‍යො
+ඪ්‍යෝ
+ඪ්‍යෞ
+ඪ්‍ය්
+ඪ්‍යං
+ඪ්‍යඃ
+ර්‍ඪ
+ර්‍ඪා
+ර්‍ඪැ
+ර්‍ඪෑ
+ර්‍ඪි
+ර්‍ඪී
+ර්‍ඪු
+ර්‍ඪූ
+ර්‍ඪෘ
+ර්‍ඪෲ
+ර්‍ඪෟ
+ර්‍ඪෳ
+ර්‍ඪෙ
+ර්‍ඪේ
+ර්‍ඪෛ
+ර්‍ඪො
+ර්‍ඪෝ
+ර්‍ඪෞ
+ර්‍ඪ්
+ර්‍ඪං
+ර්‍ඪඃ
+ණ
+ණා
+ණැ
+ණෑ
+ණි
+ණී
+ණු
+ණූ
+ණෘ
+ණෲ
+ණෟ
+ණෳ
+ණෙ
+ණේ
+ණෛ
+ණො
+ණෝ
+ණෞ
+ණ්
+ණං
+ණඃ
+ණ්‍ර
+ණ්‍රා
+ණ්‍රැ
+ණ්‍රෑ
+ණ්‍රි
+ණ්‍රී
+ණ්‍රු
+ණ්‍රූ
+ණ්‍රෘ
+ණ්‍රෲ
+ණ්‍රෟ
+ණ්‍රෳ
+ණ්‍රෙ
+ණ්‍රේ
+ණ්‍රෛ
+ණ්‍රො
+ණ්‍රෝ
+ණ්‍රෞ
+ණ්‍ර්
+ණ්‍රං
+ණ්‍රඃ
+ණ්‍ය
+ණ්‍යා
+ණ්‍යැ
+ණ්‍යෑ
+ණ්‍යි
+ණ්‍යී
+ණ්‍යු
+ණ්‍යූ
+ණ්‍යෘ
+ණ්‍යෲ
+ණ්‍යෟ
+ණ්‍යෳ
+ණ්‍යෙ
+ණ්‍යේ
+ණ්‍යෛ
+ණ්‍යො
+ණ්‍යෝ
+ණ්‍යෞ
+ණ්‍ය්
+ණ්‍යං
+ණ්‍යඃ
+ර්‍ණ
+ර්‍ණා
+ර්‍ණැ
+ර්‍ණෑ
+ර්‍ණි
+ර්‍ණී
+ර්‍ණු
+ර්‍ණූ
+ර්‍ණෘ
+ර්‍ණෲ
+ර්‍ණෟ
+ර්‍ණෳ
+ර්‍ණෙ
+ර්‍ණේ
+ර්‍ණෛ
+ර්‍ණො
+ර්‍ණෝ
+ර්‍ණෞ
+ර්‍ණ්
+ර්‍ණං
+ර්‍ණඃ
+ඬ
+ඬා
+ඬැ
+ඬෑ
+ඬි
+ඬී
+ඬු
+ඬූ
+ඬෘ
+ඬෲ
+ඬෟ
+ඬෳ
+ඬෙ
+ඬේ
+ඬෛ
+ඬො
+ඬෝ
+ඬෞ
+ඬ්
+ඬං
+ඬඃ
+ඬ්‍ර
+ඬ්‍රා
+ඬ්‍රැ
+ඬ්‍රෑ
+ඬ්‍රි
+ඬ්‍රී
+ඬ්‍රු
+ඬ්‍රූ
+ඬ්‍රෘ
+ඬ්‍රෲ
+ඬ්‍රෟ
+ඬ්‍රෳ
+ඬ්‍රෙ
+ඬ්‍රේ
+ඬ්‍රෛ
+ඬ්‍රො
+ඬ්‍රෝ
+ඬ්‍රෞ
+ඬ්‍ර්
+ඬ්‍රං
+ඬ්‍රඃ
+ඬ්‍ය
+ඬ්‍යා
+ඬ්‍යැ
+ඬ්‍යෑ
+ඬ්‍යි
+ඬ්‍යී
+ඬ්‍යු
+ඬ්‍යූ
+ඬ්‍යෘ
+ඬ්‍යෲ
+ඬ්‍යෟ
+ඬ්‍යෳ
+ඬ්‍යෙ
+ඬ්‍යේ
+ඬ්‍යෛ
+ඬ්‍යො
+ඬ්‍යෝ
+ඬ්‍යෞ
+ඬ්‍ය්
+ඬ්‍යං
+ඬ්‍යඃ
+ර්‍ඬ
+ර්‍ඬා
+ර්‍ඬැ
+ර්‍ඬෑ
+ර්‍ඬි
+ර්‍ඬී
+ර්‍ඬු
+ර්‍ඬූ
+ර්‍ඬෘ
+ර්‍ඬෲ
+ර්‍ඬෟ
+ර්‍ඬෳ
+ර්‍ඬෙ
+ර්‍ඬේ
+ර්‍ඬෛ
+ර්‍ඬො
+ර්‍ඬෝ
+ර්‍ඬෞ
+ර්‍ඬ්
+ර්‍ඬං
+ර්‍ඬඃ
+ත
+තා
+තැ
+තෑ
+ති
+තී
+තු
+තූ
+තෘ
+තෲ
+තෟ
+තෳ
+තෙ
+තේ
+තෛ
+තො
+තෝ
+තෞ
+ත්
+තං
+තඃ
+ත්‍ර
+ත්‍රා
+ත්‍රැ
+ත්‍රෑ
+ත්‍රි
+ත්‍රී
+ත්‍රු
+ත්‍රූ
+ත්‍රෘ
+ත්‍රෲ
+ත්‍රෟ
+ත්‍රෳ
+ත්‍රෙ
+ත්‍රේ
+ත්‍රෛ
+ත්‍රො
+ත්‍රෝ
+ත්‍රෞ
+ත්‍ර්
+ත්‍රං
+ත්‍රඃ
+ත්‍ය
+ත්‍යා
+ත්‍යැ
+ත්‍යෑ
+ත්‍යි
+ත්‍යී
+ත්‍යු
+ත්‍යූ
+ත්‍යෘ
+ත්‍යෲ
+ත්‍යෟ
+ත්‍යෳ
+ත්‍යෙ
+ත්‍යේ
+ත්‍යෛ
+ත්‍යො
+ත්‍යෝ
+ත්‍යෞ
+ත්‍ය්
+ත්‍යං
+ත්‍යඃ
+ර්‍ත
+ර්‍තා
+ර්‍තැ
+ර්‍තෑ
+ර්‍ති
+ර්‍තී
+ර්‍තු
+ර්‍තූ
+ර්‍තෘ
+ර්‍තෲ
+ර්‍තෟ
+ර්‍තෳ
+ර්‍තෙ
+ර්‍තේ
+ර්‍තෛ
+ර්‍තො
+ර්‍තෝ
+ර්‍තෞ
+ර්‍ත්
+ර්‍තං
+ර්‍තඃ
+ථ
+ථා
+ථැ
+ථෑ
+ථි
+ථී
+ථු
+ථූ
+ථෘ
+ථෲ
+ථෟ
+ථෳ
+ථෙ
+ථේ
+ථෛ
+ථො
+ථෝ
+ථෞ
+ථ්
+ථං
+ථඃ
+ථ්‍ර
+ථ්‍රා
+ථ්‍රැ
+ථ්‍රෑ
+ථ්‍රි
+ථ්‍රී
+ථ්‍රු
+ථ්‍රූ
+ථ්‍රෘ
+ථ්‍රෲ
+ථ්‍රෟ
+ථ්‍රෳ
+ථ්‍රෙ
+ථ්‍රේ
+ථ්‍රෛ
+ථ්‍රො
+ථ්‍රෝ
+ථ්‍රෞ
+ථ්‍ර්
+ථ්‍රං
+ථ්‍රඃ
+ථ්‍ය
+ථ්‍යා
+ථ්‍යැ
+ථ්‍යෑ
+ථ්‍යි
+ථ්‍යී
+ථ්‍යු
+ථ්‍යූ
+ථ්‍යෘ
+ථ්‍යෲ
+ථ්‍යෟ
+ථ්‍යෳ
+ථ්‍යෙ
+ථ්‍යේ
+ථ්‍යෛ
+ථ්‍යො
+ථ්‍යෝ
+ථ්‍යෞ
+ථ්‍ය්
+ථ්‍යං
+ථ්‍යඃ
+ර්‍ථ
+ර්‍ථා
+ර්‍ථැ
+ර්‍ථෑ
+ර්‍ථි
+ර්‍ථී
+ර්‍ථු
+ර්‍ථූ
+ර්‍ථෘ
+ර්‍ථෲ
+ර්‍ථෟ
+ර්‍ථෳ
+ර්‍ථෙ
+ර්‍ථේ
+ර්‍ථෛ
+ර්‍ථො
+ර්‍ථෝ
+ර්‍ථෞ
+ර්‍ථ්
+ර්‍ථං
+ර්‍ථඃ
+ද
+දා
+දැ
+දෑ
+දි
+දී
+දු
+දූ
+දෘ
+දෲ
+දෟ
+දෳ
+දෙ
+දේ
+දෛ
+දො
+දෝ
+දෞ
+ද්
+දං
+දඃ
+ද්‍ර
+ද්‍රා
+ද්‍රැ
+ද්‍රෑ
+ද්‍රි
+ද්‍රී
+ද්‍රු
+ද්‍රූ
+ද්‍රෘ
+ද්‍රෲ
+ද්‍රෟ
+ද්‍රෳ
+ද්‍රෙ
+ද්‍රේ
+ද්‍රෛ
+ද්‍රො
+ද්‍රෝ
+ද්‍රෞ
+ද්‍ර්
+ද්‍රං
+ද්‍රඃ
+ද්‍ය
+ද්‍යා
+ද්‍යැ
+ද්‍යෑ
+ද්‍යි
+ද්‍යී
+ද්‍යු
+ද්‍යූ
+ද්‍යෘ
+ද්‍යෲ
+ද්‍යෟ
+ද්‍යෳ
+ද්‍යෙ
+ද්‍යේ
+ද්‍යෛ
+ද්‍යො
+ද්‍යෝ
+ද්‍යෞ
+ද්‍ය්
+ද්‍යං
+ද්‍යඃ
+ර්‍ද
+ර්‍දා
+ර්‍දැ
+ර්‍දෑ
+ර්‍දි
+ර්‍දී
+ර්‍දු
+ර්‍දූ
+ර්‍දෘ
+ර්‍දෲ
+ර්‍දෟ
+ර්‍දෳ
+ර්‍දෙ
+ර්‍දේ
+ර්‍දෛ
+ර්‍දො
+ර්‍දෝ
+ර්‍දෞ
+ර්‍ද්
+ර්‍දං
+ර්‍දඃ
+ධ
+ධා
+ධැ
+ධෑ
+ධි
+ධී
+ධු
+ධූ
+ධෘ
+ධෲ
+ධෟ
+ධෳ
+ධෙ
+ධේ
+ධෛ
+ධො
+ධෝ
+ධෞ
+ධ්
+ධං
+ධඃ
+ධ්‍ර
+ධ්‍රා
+ධ්‍රැ
+ධ්‍රෑ
+ධ්‍රි
+ධ්‍රී
+ධ්‍රු
+ධ්‍රූ
+ධ්‍රෘ
+ධ්‍රෲ
+ධ්‍රෟ
+ධ්‍රෳ
+ධ්‍රෙ
+ධ්‍රේ
+ධ්‍රෛ
+ධ්‍රො
+ධ්‍රෝ
+ධ්‍රෞ
+ධ්‍ර්
+ධ්‍රං
+ධ්‍රඃ
+ධ්‍ය
+ධ්‍යා
+ධ්‍යැ
+ධ්‍යෑ
+ධ්‍යි
+ධ්‍යී
+ධ්‍යු
+ධ්‍යූ
+ධ්‍යෘ
+ධ්‍යෲ
+ධ්‍යෟ
+ධ්‍යෳ
+ධ්‍යෙ
+ධ්‍යේ
+ධ්‍යෛ
+ධ්‍යො
+ධ්‍යෝ
+ධ්‍යෞ
+ධ්‍ය්
+ධ්‍යං
+ධ්‍යඃ
+ර්‍ධ
+ර්‍ධා
+ර්‍ධැ
+ර්‍ධෑ
+ර්‍ධි
+ර්‍ධී
+ර්‍ධු
+ර්‍ධූ
+ර්‍ධෘ
+ර්‍ධෲ
+ර්‍ධෟ
+ර්‍ධෳ
+ර්‍ධෙ
+ර්‍ධේ
+ර්‍ධෛ
+ර්‍ධො
+ර්‍ධෝ
+ර්‍ධෞ
+ර්‍ධ්
+ර්‍ධං
+ර්‍ධඃ
+න
+නා
+නැ
+නෑ
+නි
+නී
+නු
+නූ
+නෘ
+නෲ
+නෟ
+නෳ
+නෙ
+නේ
+නෛ
+නො
+නෝ
+නෞ
+න්
+නං
+නඃ
+න්‍ර
+න්‍රා
+න්‍රැ
+න්‍රෑ
+න්‍රි
+න්‍රී
+න්‍රු
+න්‍රූ
+න්‍රෘ
+න්‍රෲ
+න්‍රෟ
+න්‍රෳ
+න්‍රෙ
+න්‍රේ
+න්‍රෛ
+න්‍රො
+න්‍රෝ
+න්‍රෞ
+න්‍ර්
+න්‍රං
+න්‍රඃ
+න්‍ය
+න්‍යා
+න්‍යැ
+න්‍යෑ
+න්‍යි
+න්‍යී
+න්‍යු
+න්‍යූ
+න්‍යෘ
+න්‍යෲ
+න්‍යෟ
+න්‍යෳ
+න්‍යෙ
+න්‍යේ
+න්‍යෛ
+න්‍යො
+න්‍යෝ
+න්‍යෞ
+න්‍ය්
+න්‍යං
+න්‍යඃ
+ර්‍න
+ර්‍නා
+ර්‍නැ
+ර්‍නෑ
+ර්‍නි
+ර්‍නී
+ර්‍නු
+ර්‍නූ
+ර්‍නෘ
+ර්‍නෲ
+ර්‍නෟ
+ර්‍නෳ
+ර්‍නෙ
+ර්‍නේ
+ර්‍නෛ
+ර්‍නො
+ර්‍නෝ
+ර්‍නෞ
+ර්‍න්
+ර්‍නං
+ර්‍නඃ
+ඳ
+ඳා
+ඳැ
+ඳෑ
+ඳි
+ඳී
+ඳු
+ඳූ
+ඳෘ
+ඳෲ
+ඳෟ
+ඳෳ
+ඳෙ
+ඳේ
+ඳෛ
+ඳො
+ඳෝ
+ඳෞ
+ඳ්
+ඳං
+ඳඃ
+ඳ්‍ර
+ඳ්‍රා
+ඳ්‍රැ
+ඳ්‍රෑ
+ඳ්‍රි
+ඳ්‍රී
+ඳ්‍රු
+ඳ්‍රූ
+ඳ්‍රෘ
+ඳ්‍රෲ
+ඳ්‍රෟ
+ඳ්‍රෳ
+ඳ්‍රෙ
+ඳ්‍රේ
+ඳ්‍රෛ
+ඳ්‍රො
+ඳ්‍රෝ
+ඳ්‍රෞ
+ඳ්‍ර්
+ඳ්‍රං
+ඳ්‍රඃ
+ඳ්‍ය
+ඳ්‍යා
+ඳ්‍යැ
+ඳ්‍යෑ
+ඳ්‍යි
+ඳ්‍යී
+ඳ්‍යු
+ඳ්‍යූ
+ඳ්‍යෘ
+ඳ්‍යෲ
+ඳ්‍යෟ
+ඳ්‍යෳ
+ඳ්‍යෙ
+ඳ්‍යේ
+ඳ්‍යෛ
+ඳ්‍යො
+ඳ්‍යෝ
+ඳ්‍යෞ
+ඳ්‍ය්
+ඳ්‍යං
+ඳ්‍යඃ
+ර්‍ඳ
+ර්‍ඳා
+ර්‍ඳැ
+ර්‍ඳෑ
+ර්‍ඳි
+ර්‍ඳී
+ර්‍ඳු
+ර්‍ඳූ
+ර්‍ඳෘ
+ර්‍ඳෲ
+ර්‍ඳෟ
+ර්‍ඳෳ
+ර්‍ඳෙ
+ර්‍ඳේ
+ර්‍ඳෛ
+ර්‍ඳො
+ර්‍ඳෝ
+ර්‍ඳෞ
+ර්‍ඳ්
+ර්‍ඳං
+ර්‍ඳඃ
+ප
+පා
+පැ
+පෑ
+පි
+පී
+පු
+පූ
+පෘ
+පෲ
+පෟ
+පෳ
+පෙ
+පේ
+පෛ
+පො
+පෝ
+පෞ
+ප්
+පං
+පඃ
+ප්‍ර
+ප්‍රා
+ප්‍රැ
+ප්‍රෑ
+ප්‍රි
+ප්‍රී
+ප්‍රු
+ප්‍රූ
+ප්‍රෘ
+ප්‍රෲ
+ප්‍රෟ
+ප්‍රෳ
+ප්‍රෙ
+ප්‍රේ
+ප්‍රෛ
+ප්‍රො
+ප්‍රෝ
+ප්‍රෞ
+ප්‍ර්
+ප්‍රං
+ප්‍රඃ
+ප්‍ය
+ප්‍යා
+ප්‍යැ
+ප්‍යෑ
+ප්‍යි
+ප්‍යී
+ප්‍යු
+ප්‍යූ
+ප්‍යෘ
+ප්‍යෲ
+ප්‍යෟ
+ප්‍යෳ
+ප්‍යෙ
+ප්‍යේ
+ප්‍යෛ
+ප්‍යො
+ප්‍යෝ
+ප්‍යෞ
+ප්‍ය්
+ප්‍යං
+ප්‍යඃ
+ර්‍ප
+ර්‍පා
+ර්‍පැ
+ර්‍පෑ
+ර්‍පි
+ර්‍පී
+ර්‍පු
+ර්‍පූ
+ර්‍පෘ
+ර්‍පෲ
+ර්‍පෟ
+ර්‍පෳ
+ර්‍පෙ
+ර්‍පේ
+ර්‍පෛ
+ර්‍පො
+ර්‍පෝ
+ර්‍පෞ
+ර්‍ප්
+ර්‍පං
+ර්‍පඃ
+ඵ
+ඵා
+ඵැ
+ඵෑ
+ඵි
+ඵී
+ඵු
+ඵූ
+ඵෘ
+ඵෲ
+ඵෟ
+ඵෳ
+ඵෙ
+ඵේ
+ඵෛ
+ඵො
+ඵෝ
+ඵෞ
+ඵ්
+ඵං
+ඵඃ
+ඵ්‍ර
+ඵ්‍රා
+ඵ්‍රැ
+ඵ්‍රෑ
+ඵ්‍රි
+ඵ්‍රී
+ඵ්‍රු
+ඵ්‍රූ
+ඵ්‍රෘ
+ඵ්‍රෲ
+ඵ්‍රෟ
+ඵ්‍රෳ
+ඵ්‍රෙ
+ඵ්‍රේ
+ඵ්‍රෛ
+ඵ්‍රො
+ඵ්‍රෝ
+ඵ්‍රෞ
+ඵ්‍ර්
+ඵ්‍රං
+ඵ්‍රඃ
+ඵ්‍ය
+ඵ්‍යා
+ඵ්‍යැ
+ඵ්‍යෑ
+ඵ්‍යි
+ඵ්‍යී
+ඵ්‍යු
+ඵ්‍යූ
+ඵ්‍යෘ
+ඵ්‍යෲ
+ඵ්‍යෟ
+ඵ්‍යෳ
+ඵ්‍යෙ
+ඵ්‍යේ
+ඵ්‍යෛ
+ඵ්‍යො
+ඵ්‍යෝ
+ඵ්‍යෞ
+ඵ්‍ය්
+ඵ්‍යං
+ඵ්‍යඃ
+ර්‍ඵ
+ර්‍ඵා
+ර්‍ඵැ
+ර්‍ඵෑ
+ර්‍ඵි
+ර්‍ඵී
+ර්‍ඵු
+ර්‍ඵූ
+ර්‍ඵෘ
+ර්‍ඵෲ
+ර්‍ඵෟ
+ර්‍ඵෳ
+ර්‍ඵෙ
+ර්‍ඵේ
+ර්‍ඵෛ
+ර්‍ඵො
+ර්‍ඵෝ
+ර්‍ඵෞ
+ර්‍ඵ්
+ර්‍ඵං
+ර්‍ඵඃ
+බ
+බා
+බැ
+බෑ
+බි
+බී
+බු
+බූ
+බෘ
+බෲ
+බෟ
+බෳ
+බෙ
+බේ
+බෛ
+බො
+බෝ
+බෞ
+බ්
+බං
+බඃ
+බ්‍ර
+බ්‍රා
+බ්‍රැ
+බ්‍රෑ
+බ්‍රි
+බ්‍රී
+බ්‍රු
+බ්‍රූ
+බ්‍රෘ
+බ්‍රෲ
+බ්‍රෟ
+බ්‍රෳ
+බ්‍රෙ
+බ්‍රේ
+බ්‍රෛ
+බ්‍රො
+බ්‍රෝ
+බ්‍රෞ
+බ්‍ර්
+බ්‍රං
+බ්‍රඃ
+බ්‍ය
+බ්‍යා
+බ්‍යැ
+බ්‍යෑ
+බ්‍යි
+බ්‍යී
+බ්‍යු
+බ්‍යූ
+බ්‍යෘ
+බ්‍යෲ
+බ්‍යෟ
+බ්‍යෳ
+බ්‍යෙ
+බ්‍යේ
+බ්‍යෛ
+බ්‍යො
+බ්‍යෝ
+බ්‍යෞ
+බ්‍ය්
+බ්‍යං
+බ්‍යඃ
+ර්‍බ
+ර්‍බා
+ර්‍බැ
+ර්‍බෑ
+ර්‍බි
+ර්‍බී
+ර්‍බු
+ර්‍බූ
+ර්‍බෘ
+ර්‍බෲ
+ර්‍බෟ
+ර්‍බෳ
+ර්‍බෙ
+ර්‍බේ
+ර්‍බෛ
+ර්‍බො
+ර්‍බෝ
+ර්‍බෞ
+ර්‍බ්
+ර්‍බං
+ර්‍බඃ
+භ
+භා
+භැ
+භෑ
+භි
+භී
+භු
+භූ
+භෘ
+භෲ
+භෟ
+භෳ
+භෙ
+භේ
+භෛ
+භො
+භෝ
+භෞ
+භ්
+භං
+භඃ
+භ්‍ර
+භ්‍රා
+භ්‍රැ
+භ්‍රෑ
+භ්‍රි
+භ්‍රී
+භ්‍රු
+භ්‍රූ
+භ්‍රෘ
+භ්‍රෲ
+භ්‍රෟ
+භ්‍රෳ
+භ්‍රෙ
+භ්‍රේ
+භ්‍රෛ
+භ්‍රො
+භ්‍රෝ
+භ්‍රෞ
+භ්‍ර්
+භ්‍රං
+භ්‍රඃ
+භ්‍ය
+භ්‍යා
+භ්‍යැ
+භ්‍යෑ
+භ්‍යි
+භ්‍යී
+භ්‍යු
+භ්‍යූ
+භ්‍යෘ
+භ්‍යෲ
+භ්‍යෟ
+භ්‍යෳ
+භ්‍යෙ
+භ්‍යේ
+භ්‍යෛ
+භ්‍යො
+භ්‍යෝ
+භ්‍යෞ
+භ්‍ය්
+භ්‍යං
+භ්‍යඃ
+ර්‍භ
+ර්‍භා
+ර්‍භැ
+ර්‍භෑ
+ර්‍භි
+ර්‍භී
+ර්‍භු
+ර්‍භූ
+ර්‍භෘ
+ර්‍භෲ
+ර්‍භෟ
+ර්‍භෳ
+ර්‍භෙ
+ර්‍භේ
+ර්‍භෛ
+ර්‍භො
+ර්‍භෝ
+ර්‍භෞ
+ර්‍භ්
+ර්‍භං
+ර්‍භඃ
+ම
+මා
+මැ
+මෑ
+මි
+මී
+මු
+මූ
+මෘ
+මෲ
+මෟ
+මෳ
+මෙ
+මේ
+මෛ
+මො
+මෝ
+මෞ
+ම්
+මං
+මඃ
+ම්‍ර
+ම්‍රා
+ම්‍රැ
+ම්‍රෑ
+ම්‍රි
+ම්‍රී
+ම්‍රු
+ම්‍රූ
+ම්‍රෘ
+ම්‍රෲ
+ම්‍රෟ
+ම්‍රෳ
+ම්‍රෙ
+ම්‍රේ
+ම්‍රෛ
+ම්‍රො
+ම්‍රෝ
+ම්‍රෞ
+ම්‍ර්
+ම්‍රං
+ම්‍රඃ
+ම්‍ය
+ම්‍යා
+ම්‍යැ
+ම්‍යෑ
+ම්‍යි
+ම්‍යී
+ම්‍යු
+ම්‍යූ
+ම්‍යෘ
+ම්‍යෲ
+ම්‍යෟ
+ම්‍යෳ
+ම්‍යෙ
+ම්‍යේ
+ම්‍යෛ
+ම්‍යො
+ම්‍යෝ
+ම්‍යෞ
+ම්‍ය්
+ම්‍යං
+ම්‍යඃ
+ර්‍ම
+ර්‍මා
+ර්‍මැ
+ර්‍මෑ
+ර්‍මි
+ර්‍මී
+ර්‍මු
+ර්‍මූ
+ර්‍මෘ
+ර්‍මෲ
+ර්‍මෟ
+ර්‍මෳ
+ර්‍මෙ
+ර්‍මේ
+ර්‍මෛ
+ර්‍මො
+ර්‍මෝ
+ර්‍මෞ
+ර්‍ම්
+ර්‍මං
+ර්‍මඃ
+ඹ
+ඹා
+ඹැ
+ඹෑ
+ඹි
+ඹී
+ඹු
+ඹූ
+ඹෘ
+ඹෲ
+ඹෟ
+ඹෳ
+ඹෙ
+ඹේ
+ඹෛ
+ඹො
+ඹෝ
+ඹෞ
+ඹ්
+ඹං
+ඹඃ
+ඹ්‍ර
+ඹ්‍රා
+ඹ්‍රැ
+ඹ්‍රෑ
+ඹ්‍රි
+ඹ්‍රී
+ඹ්‍රු
+ඹ්‍රූ
+ඹ්‍රෘ
+ඹ්‍රෲ
+ඹ්‍රෟ
+ඹ්‍රෳ
+ඹ්‍රෙ
+ඹ්‍රේ
+ඹ්‍රෛ
+ඹ්‍රො
+ඹ්‍රෝ
+ඹ්‍රෞ
+ඹ්‍ර්
+ඹ්‍රං
+ඹ්‍රඃ
+ඹ්‍ය
+ඹ්‍යා
+ඹ්‍යැ
+ඹ්‍යෑ
+ඹ්‍යි
+ඹ්‍යී
+ඹ්‍යු
+ඹ්‍යූ
+ඹ්‍යෘ
+ඹ්‍යෲ
+ඹ්‍යෟ
+ඹ්‍යෳ
+ඹ්‍යෙ
+ඹ්‍යේ
+ඹ්‍යෛ
+ඹ්‍යො
+ඹ්‍යෝ
+ඹ්‍යෞ
+ඹ්‍ය්
+ඹ්‍යං
+ඹ්‍යඃ
+ර්‍ඹ
+ර්‍ඹා
+ර්‍ඹැ
+ර්‍ඹෑ
+ර්‍ඹි
+ර්‍ඹී
+ර්‍ඹු
+ර්‍ඹූ
+ර්‍ඹෘ
+ර්‍ඹෲ
+ර්‍ඹෟ
+ර්‍ඹෳ
+ර්‍ඹෙ
+ර්‍ඹේ
+ර්‍ඹෛ
+ර්‍ඹො
+ර්‍ඹෝ
+ර්‍ඹෞ
+ර්‍ඹ්
+ර්‍ඹං
+ර්‍ඹඃ
+ය
+යා
+යැ
+යෑ
+යි
+යී
+යු
+යූ
+යෘ
+යෲ
+යෟ
+යෳ
+යෙ
+යේ
+යෛ
+යො
+යෝ
+යෞ
+ය්
+යං
+යඃ
+ය්‍ර
+ය්‍රා
+ය්‍රැ
+ය්‍රෑ
+ය්‍රි
+ය්‍රී
+ය්‍රු
+ය්‍රූ
+ය්‍රෘ
+ය්‍රෲ
+ය්‍රෟ
+ය්‍රෳ
+ය්‍රෙ
+ය්‍රේ
+ය්‍රෛ
+ය්‍රො
+ය්‍රෝ
+ය්‍රෞ
+ය්‍ර්
+ය්‍රං
+ය්‍රඃ
+ය්‍ය
+ය්‍යා
+ය්‍යැ
+ය්‍යෑ
+ය්‍යි
+ය්‍යී
+ය්‍යු
+ය්‍යූ
+ය්‍යෘ
+ය්‍යෲ
+ය්‍යෟ
+ය්‍යෳ
+ය්‍යෙ
+ය්‍යේ
+ය්‍යෛ
+ය්‍යො
+ය්‍යෝ
+ය්‍යෞ
+ය්‍ය්
+ය්‍යං
+ය්‍යඃ
+ර්‍ය
+ර්‍යා
+ර්‍යැ
+ර්‍යෑ
+ර්‍යි
+ර්‍යී
+ර්‍යු
+ර්‍යූ
+ර්‍යෘ
+ර්‍යෲ
+ර්‍යෟ
+ර්‍යෳ
+ර්‍යෙ
+ර්‍යේ
+ර්‍යෛ
+ර්‍යො
+ර්‍යෝ
+ර්‍යෞ
+ර්‍ය්
+ර්‍යං
+ර්‍යඃ
+ර
+රා
+රැ
+රෑ
+රි
+රී
+රු
+රූ
+රෘ
+රෲ
+රෟ
+රෳ
+රෙ
+රේ
+රෛ
+රො
+රෝ
+රෞ
+ර්
+රං
+රඃ
+ර්‍ර
+ර්‍රා
+ර්‍රැ
+ර්‍රෑ
+ර්‍රි
+ර්‍රී
+ර්‍රු
+ර්‍රූ
+ර්‍රෘ
+ර්‍රෲ
+ර්‍රෟ
+ර්‍රෳ
+ර්‍රෙ
+ර්‍රේ
+ර්‍රෛ
+ර්‍රො
+ර්‍රෝ
+ර්‍රෞ
+ර්‍ර්
+ර්‍රං
+ර්‍රඃ
+ර්‍ය
+ර්‍යා
+ර්‍යැ
+ර්‍යෑ
+ර්‍යි
+ර්‍යී
+ර්‍යු
+ර්‍යූ
+ර්‍යෘ
+ර්‍යෲ
+ර්‍යෟ
+ර්‍යෳ
+ර්‍යෙ
+ර්‍යේ
+ර්‍යෛ
+ර්‍යො
+ර්‍යෝ
+ර්‍යෞ
+ර්‍ය්
+ර්‍යං
+ර්‍යඃ
+ර්‍ර
+ර්‍රා
+ර්‍රැ
+ර්‍රෑ
+ර්‍රි
+ර්‍රී
+ර්‍රු
+ර්‍රූ
+ර්‍රෘ
+ර්‍රෲ
+ර්‍රෟ
+ර්‍රෳ
+ර්‍රෙ
+ර්‍රේ
+ර්‍රෛ
+ර්‍රො
+ර්‍රෝ
+ර්‍රෞ
+ර්‍ර්
+ර්‍රං
+ර්‍රඃ
+ල
+ලා
+ලැ
+ලෑ
+ලි
+ලී
+ලු
+ලූ
+ලෘ
+ලෲ
+ලෟ
+ලෳ
+ලෙ
+ලේ
+ලෛ
+ලො
+ලෝ
+ලෞ
+ල්
+ලං
+ලඃ
+ල්‍ර
+ල්‍රා
+ල්‍රැ
+ල්‍රෑ
+ල්‍රි
+ල්‍රී
+ල්‍රු
+ල්‍රූ
+ල්‍රෘ
+ල්‍රෲ
+ල්‍රෟ
+ල්‍රෳ
+ල්‍රෙ
+ල්‍රේ
+ල්‍රෛ
+ල්‍රො
+ල්‍රෝ
+ල්‍රෞ
+ල්‍ර්
+ල්‍රං
+ල්‍රඃ
+ල්‍ය
+ල්‍යා
+ල්‍යැ
+ල්‍යෑ
+ල්‍යි
+ල්‍යී
+ල්‍යු
+ල්‍යූ
+ල්‍යෘ
+ල්‍යෲ
+ල්‍යෟ
+ල්‍යෳ
+ල්‍යෙ
+ල්‍යේ
+ල්‍යෛ
+ල්‍යො
+ල්‍යෝ
+ල්‍යෞ
+ල්‍ය්
+ල්‍යං
+ල්‍යඃ
+ර්‍ල
+ර්‍ලා
+ර්‍ලැ
+ර්‍ලෑ
+ර්‍ලි
+ර්‍ලී
+ර්‍ලු
+ර්‍ලූ
+ර්‍ලෘ
+ර්‍ලෲ
+ර්‍ලෟ
+ර්‍ලෳ
+ර්‍ලෙ
+ර්‍ලේ
+ර්‍ලෛ
+ර්‍ලො
+ර්‍ලෝ
+ර්‍ලෞ
+ර්‍ල්
+ර්‍ලං
+ර්‍ලඃ
+ව
+වා
+වැ
+වෑ
+වි
+වී
+වු
+වූ
+වෘ
+වෲ
+වෟ
+වෳ
+වෙ
+වේ
+වෛ
+වො
+වෝ
+වෞ
+ව්
+වං
+වඃ
+ව්‍ර
+ව්‍රා
+ව්‍රැ
+ව්‍රෑ
+ව්‍රි
+ව්‍රී
+ව්‍රු
+ව්‍රූ
+ව්‍රෘ
+ව්‍රෲ
+ව්‍රෟ
+ව්‍රෳ
+ව්‍රෙ
+ව්‍රේ
+ව්‍රෛ
+ව්‍රො
+ව්‍රෝ
+ව්‍රෞ
+ව්‍ර්
+ව්‍රං
+ව්‍රඃ
+ව්‍ය
+ව්‍යා
+ව්‍යැ
+ව්‍යෑ
+ව්‍යි
+ව්‍යී
+ව්‍යු
+ව්‍යූ
+ව්‍යෘ
+ව්‍යෲ
+ව්‍යෟ
+ව්‍යෳ
+ව්‍යෙ
+ව්‍යේ
+ව්‍යෛ
+ව්‍යො
+ව්‍යෝ
+ව්‍යෞ
+ව්‍ය්
+ව්‍යං
+ව්‍යඃ
+ර්‍ව
+ර්‍වා
+ර්‍වැ
+ර්‍වෑ
+ර්‍වි
+ර්‍වී
+ර්‍වු
+ර්‍වූ
+ර්‍වෘ
+ර්‍වෲ
+ර්‍වෟ
+ර්‍වෳ
+ර්‍වෙ
+ර්‍වේ
+ර්‍වෛ
+ර්‍වො
+ර්‍වෝ
+ර්‍වෞ
+ර්‍ව්
+ර්‍වං
+ර්‍වඃ
+ශ
+ශා
+ශැ
+ශෑ
+ශි
+ශී
+ශු
+ශූ
+ශෘ
+ශෲ
+ශෟ
+ශෳ
+ශෙ
+ශේ
+ශෛ
+ශො
+ශෝ
+ශෞ
+ශ්
+ශං
+ශඃ
+ශ්‍ර
+ශ්‍රා
+ශ්‍රැ
+ශ්‍රෑ
+ශ්‍රි
+ශ්‍රී
+ශ්‍රු
+ශ්‍රූ
+ශ්‍රෘ
+ශ්‍රෲ
+ශ්‍රෟ
+ශ්‍රෳ
+ශ්‍රෙ
+ශ්‍රේ
+ශ්‍රෛ
+ශ්‍රො
+ශ්‍රෝ
+ශ්‍රෞ
+ශ්‍ර්
+ශ්‍රං
+ශ්‍රඃ
+ශ්‍ය
+ශ්‍යා
+ශ්‍යැ
+ශ්‍යෑ
+ශ්‍යි
+ශ්‍යී
+ශ්‍යු
+ශ්‍යූ
+ශ්‍යෘ
+ශ්‍යෲ
+ශ්‍යෟ
+ශ්‍යෳ
+ශ්‍යෙ
+ශ්‍යේ
+ශ්‍යෛ
+ශ්‍යො
+ශ්‍යෝ
+ශ්‍යෞ
+ශ්‍ය්
+ශ්‍යං
+ශ්‍යඃ
+ර්‍ශ
+ර්‍ශා
+ර්‍ශැ
+ර්‍ශෑ
+ර්‍ශි
+ර්‍ශී
+ර්‍ශු
+ර්‍ශූ
+ර්‍ශෘ
+ර්‍ශෲ
+ර්‍ශෟ
+ර්‍ශෳ
+ර්‍ශෙ
+ර්‍ශේ
+ර්‍ශෛ
+ර්‍ශො
+ර්‍ශෝ
+ර්‍ශෞ
+ර්‍ශ්
+ර්‍ශං
+ර්‍ශඃ
+ෂ
+ෂා
+ෂැ
+ෂෑ
+ෂි
+ෂී
+ෂු
+ෂූ
+ෂෘ
+ෂෲ
+ෂෟ
+ෂෳ
+ෂෙ
+ෂේ
+ෂෛ
+ෂො
+ෂෝ
+ෂෞ
+ෂ්
+ෂං
+ෂඃ
+ෂ්‍ර
+ෂ්‍රා
+ෂ්‍රැ
+ෂ්‍රෑ
+ෂ්‍රි
+ෂ්‍රී
+ෂ්‍රු
+ෂ්‍රූ
+ෂ්‍රෘ
+ෂ්‍රෲ
+ෂ්‍රෟ
+ෂ්‍රෳ
+ෂ්‍රෙ
+ෂ්‍රේ
+ෂ්‍රෛ
+ෂ්‍රො
+ෂ්‍රෝ
+ෂ්‍රෞ
+ෂ්‍ර්
+ෂ්‍රං
+ෂ්‍රඃ
+ෂ්‍ය
+ෂ්‍යා
+ෂ්‍යැ
+ෂ්‍යෑ
+ෂ්‍යි
+ෂ්‍යී
+ෂ්‍යු
+ෂ්‍යූ
+ෂ්‍යෘ
+ෂ්‍යෲ
+ෂ්‍යෟ
+ෂ්‍යෳ
+ෂ්‍යෙ
+ෂ්‍යේ
+ෂ්‍යෛ
+ෂ්‍යො
+ෂ්‍යෝ
+ෂ්‍යෞ
+ෂ්‍ය්
+ෂ්‍යං
+ෂ්‍යඃ
+ර්‍ෂ
+ර්‍ෂා
+ර්‍ෂැ
+ර්‍ෂෑ
+ර්‍ෂි
+ර්‍ෂී
+ර්‍ෂු
+ර්‍ෂූ
+ර්‍ෂෘ
+ර්‍ෂෲ
+ර්‍ෂෟ
+ර්‍ෂෳ
+ර්‍ෂෙ
+ර්‍ෂේ
+ර්‍ෂෛ
+ර්‍ෂො
+ර්‍ෂෝ
+ර්‍ෂෞ
+ර්‍ෂ්
+ර්‍ෂං
+ර්‍ෂඃ
+ස
+සා
+සැ
+සෑ
+සි
+සී
+සු
+සූ
+සෘ
+සෲ
+සෟ
+සෳ
+සෙ
+සේ
+සෛ
+සො
+සෝ
+සෞ
+ස්
+සං
+සඃ
+ස්‍ර
+ස්‍රා
+ස්‍රැ
+ස්‍රෑ
+ස්‍රි
+ස්‍රී
+ස්‍රු
+ස්‍රූ
+ස්‍රෘ
+ස්‍රෲ
+ස්‍රෟ
+ස්‍රෳ
+ස්‍රෙ
+ස්‍රේ
+ස්‍රෛ
+ස්‍රො
+ස්‍රෝ
+ස්‍රෞ
+ස්‍ර්
+ස්‍රං
+ස්‍රඃ
+ස්‍ය
+ස්‍යා
+ස්‍යැ
+ස්‍යෑ
+ස්‍යි
+ස්‍යී
+ස්‍යු
+ස්‍යූ
+ස්‍යෘ
+ස්‍යෲ
+ස්‍යෟ
+ස්‍යෳ
+ස්‍යෙ
+ස්‍යේ
+ස්‍යෛ
+ස්‍යො
+ස්‍යෝ
+ස්‍යෞ
+ස්‍ය්
+ස්‍යං
+ස්‍යඃ
+ර්‍ස
+ර්‍සා
+ර්‍සැ
+ර්‍සෑ
+ර්‍සි
+ර්‍සී
+ර්‍සු
+ර්‍සූ
+ර්‍සෘ
+ර්‍සෲ
+ර්‍සෟ
+ර්‍සෳ
+ර්‍සෙ
+ර්‍සේ
+ර්‍සෛ
+ර්‍සො
+ර්‍සෝ
+ර්‍සෞ
+ර්‍ස්
+ර්‍සං
+ර්‍සඃ
+හ
+හා
+හැ
+හෑ
+හි
+හී
+හු
+හූ
+හෘ
+හෲ
+හෟ
+හෳ
+හෙ
+හේ
+හෛ
+හො
+හෝ
+හෞ
+හ්
+හං
+හඃ
+හ්‍ර
+හ්‍රා
+හ්‍රැ
+හ්‍රෑ
+හ්‍රි
+හ්‍රී
+හ්‍රු
+හ්‍රූ
+හ්‍රෘ
+හ්‍රෲ
+හ්‍රෟ
+හ්‍රෳ
+හ්‍රෙ
+හ්‍රේ
+හ්‍රෛ
+හ්‍රො
+හ්‍රෝ
+හ්‍රෞ
+හ්‍ර්
+හ්‍රං
+හ්‍රඃ
+හ්‍ය
+හ්‍යා
+හ්‍යැ
+හ්‍යෑ
+හ්‍යි
+හ්‍යී
+හ්‍යු
+හ්‍යූ
+හ්‍යෘ
+හ්‍යෲ
+හ්‍යෟ
+හ්‍යෳ
+හ්‍යෙ
+හ්‍යේ
+හ්‍යෛ
+හ්‍යො
+හ්‍යෝ
+හ්‍යෞ
+හ්‍ය්
+හ්‍යං
+හ්‍යඃ
+ර්‍හ
+ර්‍හා
+ර්‍හැ
+ර්‍හෑ
+ර්‍හි
+ර්‍හී
+ර්‍හු
+ර්‍හූ
+ර්‍හෘ
+ර්‍හෲ
+ර්‍හෟ
+ර්‍හෳ
+ර්‍හෙ
+ර්‍හේ
+ර්‍හෛ
+ර්‍හො
+ර්‍හෝ
+ර්‍හෞ
+ර්‍හ්
+ර්‍හං
+ර්‍හඃ
+ළ
+ළා
+ළැ
+ළෑ
+ළි
+ළී
+ළු
+ළූ
+ළෘ
+ළෲ
+ළෟ
+ළෳ
+ළෙ
+ළේ
+ළෛ
+ළො
+ළෝ
+ළෞ
+ළ්
+ළං
+ළඃ
+ළ්‍ර
+ළ්‍රා
+ළ්‍රැ
+ළ්‍රෑ
+ළ්‍රි
+ළ්‍රී
+ළ්‍රු
+ළ්‍රූ
+ළ්‍රෘ
+ළ්‍රෲ
+ළ්‍රෟ
+ළ්‍රෳ
+ළ්‍රෙ
+ළ්‍රේ
+ළ්‍රෛ
+ළ්‍රො
+ළ්‍රෝ
+ළ්‍රෞ
+ළ්‍ර්
+ළ්‍රං
+ළ්‍රඃ
+ළ්‍ය
+ළ්‍යා
+ළ්‍යැ
+ළ්‍යෑ
+ළ්‍යි
+ළ්‍යී
+ළ්‍යු
+ළ්‍යූ
+ළ්‍යෘ
+ළ්‍යෲ
+ළ්‍යෟ
+ළ්‍යෳ
+ළ්‍යෙ
+ළ්‍යේ
+ළ්‍යෛ
+ළ්‍යො
+ළ්‍යෝ
+ළ්‍යෞ
+ළ්‍ය්
+ළ්‍යං
+ළ්‍යඃ
+ර්‍ළ
+ර්‍ළා
+ර්‍ළැ
+ර්‍ළෑ
+ර්‍ළි
+ර්‍ළී
+ර්‍ළු
+ර්‍ළූ
+ර්‍ළෘ
+ර්‍ළෲ
+ර්‍ළෟ
+ර්‍ළෳ
+ර්‍ළෙ
+ර්‍ළේ
+ර්‍ළෛ
+ර්‍ළො
+ර්‍ළෝ
+ර්‍ළෞ
+ර්‍ළ්
+ර්‍ළං
+ර්‍ළඃ
+ෆ
+ෆා
+ෆැ
+ෆෑ
+ෆි
+ෆී
+ෆු
+ෆූ
+ෆෘ
+ෆෲ
+ෆෟ
+ෆෳ
+ෆෙ
+ෆේ
+ෆෛ
+ෆො
+ෆෝ
+ෆෞ
+ෆ්
+ෆං
+ෆඃ
+ෆ්‍ර
+ෆ්‍රා
+ෆ්‍රැ
+ෆ්‍රෑ
+ෆ්‍රි
+ෆ්‍රී
+ෆ්‍රු
+ෆ්‍රූ
+ෆ්‍රෘ
+ෆ්‍රෲ
+ෆ්‍රෟ
+ෆ්‍රෳ
+ෆ්‍රෙ
+ෆ්‍රේ
+ෆ්‍රෛ
+ෆ්‍රො
+ෆ්‍රෝ
+ෆ්‍රෞ
+ෆ්‍ර්
+ෆ්‍රං
+ෆ්‍රඃ
+ෆ්‍ය
+ෆ්‍යා
+ෆ්‍යැ
+ෆ්‍යෑ
+ෆ්‍යි
+ෆ්‍යී
+ෆ්‍යු
+ෆ්‍යූ
+ෆ්‍යෘ
+ෆ්‍යෲ
+ෆ්‍යෟ
+ෆ්‍යෳ
+ෆ්‍යෙ
+ෆ්‍යේ
+ෆ්‍යෛ
+ෆ්‍යො
+ෆ්‍යෝ
+ෆ්‍යෞ
+ෆ්‍ය්
+ෆ්‍යං
+ෆ්‍යඃ
+ර්‍ෆ
+ර්‍ෆා
+ර්‍ෆැ
+ර්‍ෆෑ
+ර්‍ෆි
+ර්‍ෆී
+ර්‍ෆු
+ර්‍ෆූ
+ර්‍ෆෘ
+ර්‍ෆෲ
+ර්‍ෆෟ
+ර්‍ෆෳ
+ර්‍ෆෙ
+ර්‍ෆේ
+ර්‍ෆෛ
+ර්‍ෆො
+ර්‍ෆෝ
+ර්‍ෆෞ
+ර්‍ෆ්
+ර්‍ෆං
+ර්‍ෆඃ
+ක්‍ෂ
+ක්‍ෂා
+ක්‍ෂැ
+ක්‍ෂෑ
+ක්‍ෂි
+ක්‍ෂී
+ක්‍ෂු
+ක්‍ෂූ
+ක්‍ෂෘ
+ක්‍ෂෲ
+ක්‍ෂෟ
+ක්‍ෂෳ
+ක්‍ෂෙ
+ක්‍ෂේ
+ක්‍ෂෛ
+ක්‍ෂො
+ක්‍ෂෝ
+ක්‍ෂෞ
+ක්‍ෂ්
+ක්‍ෂං
+ක්‍ෂඃ
+ක්‍ෂ්‍ර
+ක්‍ෂ්‍රා
+ක්‍ෂ්‍රැ
+ක්‍ෂ්‍රෑ
+ක්‍ෂ්‍රි
+ක්‍ෂ්‍රී
+ක්‍ෂ්‍රු
+ක්‍ෂ්‍රූ
+ක්‍ෂ්‍රෘ
+ක්‍ෂ්‍රෲ
+ක්‍ෂ්‍රෟ
+ක්‍ෂ්‍රෳ
+ක්‍ෂ්‍රෙ
+ක්‍ෂ්‍රේ
+ක්‍ෂ්‍රෛ
+ක්‍ෂ්‍රො
+ක්‍ෂ්‍රෝ
+ක්‍ෂ්‍රෞ
+ක්‍ෂ්‍ර්
+ක්‍ෂ්‍රං
+ක්‍ෂ්‍රඃ
+ක්‍ෂ්‍ය
+ක්‍ෂ්‍යා
+ක්‍ෂ්‍යැ
+ක්‍ෂ්‍යෑ
+ක්‍ෂ්‍යි
+ක්‍ෂ්‍යී
+ක්‍ෂ්‍යු
+ක්‍ෂ්‍යූ
+ක්‍ෂ්‍යෘ
+ක්‍ෂ්‍යෲ
+ක්‍ෂ්‍යෟ
+ක්‍ෂ්‍යෳ
+ක්‍ෂ්‍යෙ
+ක්‍ෂ්‍යේ
+ක්‍ෂ්‍යෛ
+ක්‍ෂ්‍යො
+ක්‍ෂ්‍යෝ
+ක්‍ෂ්‍යෞ
+ක්‍ෂ්‍ය්
+ක්‍ෂ්‍යං
+ක්‍ෂ්‍යඃ
+ර්‍ක්‍ෂ
+ර්‍ක්‍ෂා
+ර්‍ක්‍ෂැ
+ර්‍ක්‍ෂෑ
+ර්‍ක්‍ෂි
+ර්‍ක්‍ෂී
+ර්‍ක්‍ෂු
+ර්‍ක්‍ෂූ
+ර්‍ක්‍ෂෘ
+ර්‍ක්‍ෂෲ
+ර්‍ක්‍ෂෟ
+ර්‍ක්‍ෂෳ
+ර්‍ක්‍ෂෙ
+ර්‍ක්‍ෂේ
+ර්‍ක්‍ෂෛ
+ර්‍ක්‍ෂො
+ර්‍ක්‍ෂෝ
+ර්‍ක්‍ෂෞ
+ර්‍ක්‍ෂ්
+ර්‍ක්‍ෂං
+ර්‍ක්‍ෂඃ
+ක්‍ව
+ක්‍වා
+ක්‍වැ
+ක්‍වෑ
+ක්‍වි
+ක්‍වී
+ක්‍වු
+ක්‍වූ
+ක්‍වෘ
+ක්‍වෲ
+ක්‍වෟ
+ක්‍වෳ
+ක්‍වෙ
+ක්‍වේ
+ක්‍වෛ
+ක්‍වො
+ක්‍වෝ
+ක්‍වෞ
+ක්‍ව්
+ක්‍වං
+ක්‍වඃ
+ක්‍ව්‍ර
+ක්‍ව්‍රා
+ක්‍ව්‍රැ
+ක්‍ව්‍රෑ
+ක්‍ව්‍රි
+ක්‍ව්‍රී
+ක්‍ව්‍රු
+ක්‍ව්‍රූ
+ක්‍ව්‍රෘ
+ක්‍ව්‍රෲ
+ක්‍ව්‍රෟ
+ක්‍ව්‍රෳ
+ක්‍ව්‍රෙ
+ක්‍ව්‍රේ
+ක්‍ව්‍රෛ
+ක්‍ව්‍රො
+ක්‍ව්‍රෝ
+ක්‍ව්‍රෞ
+ක්‍ව්‍ර්
+ක්‍ව්‍රං
+ක්‍ව්‍රඃ
+ක්‍ව්‍ය
+ක්‍ව්‍යා
+ක්‍ව්‍යැ
+ක්‍ව්‍යෑ
+ක්‍ව්‍යි
+ක්‍ව්‍යී
+ක්‍ව්‍යු
+ක්‍ව්‍යූ
+ක්‍ව්‍යෘ
+ක්‍ව්‍යෲ
+ක්‍ව්‍යෟ
+ක්‍ව්‍යෳ
+ක්‍ව්‍යෙ
+ක්‍ව්‍යේ
+ක්‍ව්‍යෛ
+ක්‍ව්‍යො
+ක්‍ව්‍යෝ
+ක්‍ව්‍යෞ
+ක්‍ව්‍ය්
+ක්‍ව්‍යං
+ක්‍ව්‍යඃ
+ර්‍ක්‍ව
+ර්‍ක්‍වා
+ර්‍ක්‍වැ
+ර්‍ක්‍වෑ
+ර්‍ක්‍වි
+ර්‍ක්‍වී
+ර්‍ක්‍වු
+ර්‍ක්‍වූ
+ර්‍ක්‍වෘ
+ර්‍ක්‍වෲ
+ර්‍ක්‍වෟ
+ර්‍ක්‍වෳ
+ර්‍ක්‍වෙ
+ර්‍ක්‍වේ
+ර්‍ක්‍වෛ
+ර්‍ක්‍වො
+ර්‍ක්‍වෝ
+ර්‍ක්‍වෞ
+ර්‍ක්‍ව්
+ර්‍ක්‍වං
+ර්‍ක්‍වඃ
+ත්‍ථ
+ත්‍ථා
+ත්‍ථැ
+ත්‍ථෑ
+ත්‍ථි
+ත්‍ථී
+ත්‍ථු
+ත්‍ථූ
+ත්‍ථෘ
+ත්‍ථෲ
+ත්‍ථෟ
+ත්‍ථෳ
+ත්‍ථෙ
+ත්‍ථේ
+ත්‍ථෛ
+ත්‍ථො
+ත්‍ථෝ
+ත්‍ථෞ
+ත්‍ථ්
+ත්‍ථං
+ත්‍ථඃ
+ත්‍ථ්‍ර
+ත්‍ථ්‍රා
+ත්‍ථ්‍රැ
+ත්‍ථ්‍රෑ
+ත්‍ථ්‍රි
+ත්‍ථ්‍රී
+ත්‍ථ්‍රු
+ත්‍ථ්‍රූ
+ත්‍ථ්‍රෘ
+ත්‍ථ්‍රෲ
+ත්‍ථ්‍රෟ
+ත්‍ථ්‍රෳ
+ත්‍ථ්‍රෙ
+ත්‍ථ්‍රේ
+ත්‍ථ්‍රෛ
+ත්‍ථ්‍රො
+ත්‍ථ්‍රෝ
+ත්‍ථ්‍රෞ
+ත්‍ථ්‍ර්
+ත්‍ථ්‍රං
+ත්‍ථ්‍රඃ
+ත්‍ථ්‍ය
+ත්‍ථ්‍යා
+ත්‍ථ්‍යැ
+ත්‍ථ්‍යෑ
+ත්‍ථ්‍යි
+ත්‍ථ්‍යී
+ත්‍ථ්‍යු
+ත්‍ථ්‍යූ
+ත්‍ථ්‍යෘ
+ත්‍ථ්‍යෲ
+ත්‍ථ්‍යෟ
+ත්‍ථ්‍යෳ
+ත්‍ථ්‍යෙ
+ත්‍ථ්‍යේ
+ත්‍ථ්‍යෛ
+ත්‍ථ්‍යො
+ත්‍ථ්‍යෝ
+ත්‍ථ්‍යෞ
+ත්‍ථ්‍ය්
+ත්‍ථ්‍යං
+ත්‍ථ්‍යඃ
+ර්‍ත්‍ථ
+ර්‍ත්‍ථා
+ර්‍ත්‍ථැ
+ර්‍ත්‍ථෑ
+ර්‍ත්‍ථි
+ර්‍ත්‍ථී
+ර්‍ත්‍ථු
+ර්‍ත්‍ථූ
+ර්‍ත්‍ථෘ
+ර්‍ත්‍ථෲ
+ර්‍ත්‍ථෟ
+ර්‍ත්‍ථෳ
+ර්‍ත්‍ථෙ
+ර්‍ත්‍ථේ
+ර්‍ත්‍ථෛ
+ර්‍ත්‍ථො
+ර්‍ත්‍ථෝ
+ර්‍ත්‍ථෞ
+ර්‍ත්‍ථ්
+ර්‍ත්‍ථං
+ර්‍ත්‍ථඃ
+ත්‍ව
+ත්‍වා
+ත්‍වැ
+ත්‍වෑ
+ත්‍වි
+ත්‍වී
+ත්‍වු
+ත්‍වූ
+ත්‍වෘ
+ත්‍වෲ
+ත්‍වෟ
+ත්‍වෳ
+ත්‍වෙ
+ත්‍වේ
+ත්‍වෛ
+ත්‍වො
+ත්‍වෝ
+ත්‍වෞ
+ත්‍ව්
+ත්‍වං
+ත්‍වඃ
+ත්‍ව්‍ර
+ත්‍ව්‍රා
+ත්‍ව්‍රැ
+ත්‍ව්‍රෑ
+ත්‍ව්‍රි
+ත්‍ව්‍රී
+ත්‍ව්‍රු
+ත්‍ව්‍රූ
+ත්‍ව්‍රෘ
+ත්‍ව්‍රෲ
+ත්‍ව්‍රෟ
+ත්‍ව්‍රෳ
+ත්‍ව්‍රෙ
+ත්‍ව්‍රේ
+ත්‍ව්‍රෛ
+ත්‍ව්‍රො
+ත්‍ව්‍රෝ
+ත්‍ව්‍රෞ
+ත්‍ව්‍ර්
+ත්‍ව්‍රං
+ත්‍ව්‍රඃ
+ත්‍ව්‍ය
+ත්‍ව්‍යා
+ත්‍ව්‍යැ
+ත්‍ව්‍යෑ
+ත්‍ව්‍යි
+ත්‍ව්‍යී
+ත්‍ව්‍යු
+ත්‍ව්‍යූ
+ත්‍ව්‍යෘ
+ත්‍ව්‍යෲ
+ත්‍ව්‍යෟ
+ත්‍ව්‍යෳ
+ත්‍ව්‍යෙ
+ත්‍ව්‍යේ
+ත්‍ව්‍යෛ
+ත්‍ව්‍යො
+ත්‍ව්‍යෝ
+ත්‍ව්‍යෞ
+ත්‍ව්‍ය්
+ත්‍ව්‍යං
+ත්‍ව්‍යඃ
+ර්‍ත්‍ව
+ර්‍ත්‍වා
+ර්‍ත්‍වැ
+ර්‍ත්‍වෑ
+ර්‍ත්‍වි
+ර්‍ත්‍වී
+ර්‍ත්‍වු
+ර්‍ත්‍වූ
+ර්‍ත්‍වෘ
+ර්‍ත්‍වෲ
+ර්‍ත්‍වෟ
+ර්‍ත්‍වෳ
+ර්‍ත්‍වෙ
+ර්‍ත්‍වේ
+ර්‍ත්‍වෛ
+ර්‍ත්‍වො
+ර්‍ත්‍වෝ
+ර්‍ත්‍වෞ
+ර්‍ත්‍ව්
+ර්‍ත්‍වං
+ර්‍ත්‍වඃ
+න්‍ථ
+න්‍ථා
+න්‍ථැ
+න්‍ථෑ
+න්‍ථි
+න්‍ථී
+න්‍ථු
+න්‍ථූ
+න්‍ථෘ
+න්‍ථෲ
+න්‍ථෟ
+න්‍ථෳ
+න්‍ථෙ
+න්‍ථේ
+න්‍ථෛ
+න්‍ථො
+න්‍ථෝ
+න්‍ථෞ
+න්‍ථ්
+න්‍ථං
+න්‍ථඃ
+න්‍ථ්‍ර
+න්‍ථ්‍රා
+න්‍ථ්‍රැ
+න්‍ථ්‍රෑ
+න්‍ථ්‍රි
+න්‍ථ්‍රී
+න්‍ථ්‍රු
+න්‍ථ්‍රූ
+න්‍ථ්‍රෘ
+න්‍ථ්‍රෲ
+න්‍ථ්‍රෟ
+න්‍ථ්‍රෳ
+න්‍ථ්‍රෙ
+න්‍ථ්‍රේ
+න්‍ථ්‍රෛ
+න්‍ථ්‍රො
+න්‍ථ්‍රෝ
+න්‍ථ්‍රෞ
+න්‍ථ්‍ර්
+න්‍ථ්‍රං
+න්‍ථ්‍රඃ
+න්‍ථ්‍ය
+න්‍ථ්‍යා
+න්‍ථ්‍යැ
+න්‍ථ්‍යෑ
+න්‍ථ්‍යි
+න්‍ථ්‍යී
+න්‍ථ්‍යු
+න්‍ථ්‍යූ
+න්‍ථ්‍යෘ
+න්‍ථ්‍යෲ
+න්‍ථ්‍යෟ
+න්‍ථ්‍යෳ
+න්‍ථ්‍යෙ
+න්‍ථ්‍යේ
+න්‍ථ්‍යෛ
+න්‍ථ්‍යො
+න්‍ථ්‍යෝ
+න්‍ථ්‍යෞ
+න්‍ථ්‍ය්
+න්‍ථ්‍යං
+න්‍ථ්‍යඃ
+ර්‍න්‍ථ
+ර්‍න්‍ථා
+ර්‍න්‍ථැ
+ර්‍න්‍ථෑ
+ර්‍න්‍ථි
+ර්‍න්‍ථී
+ර්‍න්‍ථු
+ර්‍න්‍ථූ
+ර්‍න්‍ථෘ
+ර්‍න්‍ථෲ
+ර්‍න්‍ථෟ
+ර්‍න්‍ථෳ
+ර්‍න්‍ථෙ
+ර්‍න්‍ථේ
+ර්‍න්‍ථෛ
+ර්‍න්‍ථො
+ර්‍න්‍ථෝ
+ර්‍න්‍ථෞ
+ර්‍න්‍ථ්
+ර්‍න්‍ථං
+ර්‍න්‍ථඃ
+න්‍ද
+න්‍දා
+න්‍දැ
+න්‍දෑ
+න්‍දි
+න්‍දී
+න්‍දු
+න්‍දූ
+න්‍දෘ
+න්‍දෲ
+න්‍දෟ
+න්‍දෳ
+න්‍දෙ
+න්‍දේ
+න්‍දෛ
+න්‍දො
+න්‍දෝ
+න්‍දෞ
+න්‍ද්
+න්‍දං
+න්‍දඃ
+න්‍ද්‍ර
+න්‍ද්‍රා
+න්‍ද්‍රැ
+න්‍ද්‍රෑ
+න්‍ද්‍රි
+න්‍ද්‍රී
+න්‍ද්‍රු
+න්‍ද්‍රූ
+න්‍ද්‍රෘ
+න්‍ද්‍රෲ
+න්‍ද්‍රෟ
+න්‍ද්‍රෳ
+න්‍ද්‍රෙ
+න්‍ද්‍රේ
+න්‍ද්‍රෛ
+න්‍ද්‍රො
+න්‍ද්‍රෝ
+න්‍ද්‍රෞ
+න්‍ද්‍ර්
+න්‍ද්‍රං
+න්‍ද්‍රඃ
+න්‍ද්‍ය
+න්‍ද්‍යා
+න්‍ද්‍යැ
+න්‍ද්‍යෑ
+න්‍ද්‍යි
+න්‍ද්‍යී
+න්‍ද්‍යු
+න්‍ද්‍යූ
+න්‍ද්‍යෘ
+න්‍ද්‍යෲ
+න්‍ද්‍යෟ
+න්‍ද්‍යෳ
+න්‍ද්‍යෙ
+න්‍ද්‍යේ
+න්‍ද්‍යෛ
+න්‍ද්‍යො
+න්‍ද්‍යෝ
+න්‍ද්‍යෞ
+න්‍ද්‍ය්
+න්‍ද්‍යං
+න්‍ද්‍යඃ
+ර්‍න්‍ද
+ර්‍න්‍දා
+ර්‍න්‍දැ
+ර්‍න්‍දෑ
+ර්‍න්‍දි
+ර්‍න්‍දී
+ර්‍න්‍දු
+ර්‍න්‍දූ
+ර්‍න්‍දෘ
+ර්‍න්‍දෲ
+ර්‍න්‍දෟ
+ර්‍න්‍දෳ
+ර්‍න්‍දෙ
+ර්‍න්‍දේ
+ර්‍න්‍දෛ
+ර්‍න්‍දො
+ර්‍න්‍දෝ
+ර්‍න්‍දෞ
+ර්‍න්‍ද්
+ර්‍න්‍දං
+ර්‍න්‍දඃ
+න්‍ධ
+න්‍ධා
+න්‍ධැ
+න්‍ධෑ
+න්‍ධි
+න්‍ධී
+න්‍ධු
+න්‍ධූ
+න්‍ධෘ
+න්‍ධෲ
+න්‍ධෟ
+න්‍ධෳ
+න්‍ධෙ
+න්‍ධේ
+න්‍ධෛ
+න්‍ධො
+න්‍ධෝ
+න්‍ධෞ
+න්‍ධ්
+න්‍ධං
+න්‍ධඃ
+න්‍ධ්‍ර
+න්‍ධ්‍රා
+න්‍ධ්‍රැ
+න්‍ධ්‍රෑ
+න්‍ධ්‍රි
+න්‍ධ්‍රී
+න්‍ධ්‍රු
+න්‍ධ්‍රූ
+න්‍ධ්‍රෘ
+න්‍ධ්‍රෲ
+න්‍ධ්‍රෟ
+න්‍ධ්‍රෳ
+න්‍ධ්‍රෙ
+න්‍ධ්‍රේ
+න්‍ධ්‍රෛ
+න්‍ධ්‍රො
+න්‍ධ්‍රෝ
+න්‍ධ්‍රෞ
+න්‍ධ්‍ර්
+න්‍ධ්‍රං
+න්‍ධ්‍රඃ
+න්‍ධ්‍ය
+න්‍ධ්‍යා
+න්‍ධ්‍යැ
+න්‍ධ්‍යෑ
+න්‍ධ්‍යි
+න්‍ධ්‍යී
+න්‍ධ්‍යු
+න්‍ධ්‍යූ
+න්‍ධ්‍යෘ
+න්‍ධ්‍යෲ
+න්‍ධ්‍යෟ
+න්‍ධ්‍යෳ
+න්‍ධ්‍යෙ
+න්‍ධ්‍යේ
+න්‍ධ්‍යෛ
+න්‍ධ්‍යො
+න්‍ධ්‍යෝ
+න්‍ධ්‍යෞ
+න්‍ධ්‍ය්
+න්‍ධ්‍යං
+න්‍ධ්‍යඃ
+ර්‍න්‍ධ
+ර්‍න්‍ධා
+ර්‍න්‍ධැ
+ර්‍න්‍ධෑ
+ර්‍න්‍ධි
+ර්‍න්‍ධී
+ර්‍න්‍ධු
+ර්‍න්‍ධූ
+ර්‍න්‍ධෘ
+ර්‍න්‍ධෲ
+ර්‍න්‍ධෟ
+ර්‍න්‍ධෳ
+ර්‍න්‍ධෙ
+ර්‍න්‍ධේ
+ර්‍න්‍ධෛ
+ර්‍න්‍ධො
+ර්‍න්‍ධෝ
+ර්‍න්‍ධෞ
+ර්‍න්‍ධ්
+ර්‍න්‍ධං
+ර්‍න්‍ධඃ
+න්‍ව
+න්‍වා
+න්‍වැ
+න්‍වෑ
+න්‍වි
+න්‍වී
+න්‍වු
+න්‍වූ
+න්‍වෘ
+න්‍වෲ
+න්‍වෟ
+න්‍වෳ
+න්‍වෙ
+න්‍වේ
+න්‍වෛ
+න්‍වො
+න්‍වෝ
+න්‍වෞ
+න්‍ව්
+න්‍වං
+න්‍වඃ
+න්‍ව්‍ර
+න්‍ව්‍රා
+න්‍ව්‍රැ
+න්‍ව්‍රෑ
+න්‍ව්‍රි
+න්‍ව්‍රී
+න්‍ව්‍රු
+න්‍ව්‍රූ
+න්‍ව්‍රෘ
+න්‍ව්‍රෲ
+න්‍ව්‍රෟ
+න්‍ව්‍රෳ
+න්‍ව්‍රෙ
+න්‍ව්‍රේ
+න්‍ව්‍රෛ
+න්‍ව්‍රො
+න්‍ව්‍රෝ
+න්‍ව්‍රෞ
+න්‍ව්‍ර්
+න්‍ව්‍රං
+න්‍ව්‍රඃ
+න්‍ව්‍ය
+න්‍ව්‍යා
+න්‍ව්‍යැ
+න්‍ව්‍යෑ
+න්‍ව්‍යි
+න්‍ව්‍යී
+න්‍ව්‍යු
+න්‍ව්‍යූ
+න්‍ව්‍යෘ
+න්‍ව්‍යෲ
+න්‍ව්‍යෟ
+න්‍ව්‍යෳ
+න්‍ව්‍යෙ
+න්‍ව්‍යේ
+න්‍ව්‍යෛ
+න්‍ව්‍යො
+න්‍ව්‍යෝ
+න්‍ව්‍යෞ
+න්‍ව්‍ය්
+න්‍ව්‍යං
+න්‍ව්‍යඃ
+ර්‍න්‍ව
+ර්‍න්‍වා
+ර්‍න්‍වැ
+ර්‍න්‍වෑ
+ර්‍න්‍වි
+ර්‍න්‍වී
+ර්‍න්‍වු
+ර්‍න්‍වූ
+ර්‍න්‍වෘ
+ර්‍න්‍වෲ
+ර්‍න්‍වෟ
+ර්‍න්‍වෳ
+ර්‍න්‍වෙ
+ර්‍න්‍වේ
+ර්‍න්‍වෛ
+ර්‍න්‍වො
+ර්‍න්‍වෝ
+ර්‍න්‍වෞ
+ර්‍න්‍ව්
+ර්‍න්‍වං
+ර්‍න්‍වඃ
+ද්‍ව
+ද්‍වා
+ද්‍වැ
+ද්‍වෑ
+ද්‍වි
+ද්‍වී
+ද්‍වු
+ද්‍වූ
+ද්‍වෘ
+ද්‍වෲ
+ද්‍වෟ
+ද්‍වෳ
+ද්‍වෙ
+ද්‍වේ
+ද්‍වෛ
+ද්‍වො
+ද්‍වෝ
+ද්‍වෞ
+ද්‍ව්
+ද්‍වං
+ද්‍වඃ
+ද්‍ව්‍ර
+ද්‍ව්‍රා
+ද්‍ව්‍රැ
+ද්‍ව්‍රෑ
+ද්‍ව්‍රි
+ද්‍ව්‍රී
+ද්‍ව්‍රු
+ද්‍ව්‍රූ
+ද්‍ව්‍රෘ
+ද්‍ව්‍රෲ
+ද්‍ව්‍රෟ
+ද්‍ව්‍රෳ
+ද්‍ව්‍රෙ
+ද්‍ව්‍රේ
+ද්‍ව්‍රෛ
+ද්‍ව්‍රො
+ද්‍ව්‍රෝ
+ද්‍ව්‍රෞ
+ද්‍ව්‍ර්
+ද්‍ව්‍රං
+ද්‍ව්‍රඃ
+ද්‍ව්‍ය
+ද්‍ව්‍යා
+ද්‍ව්‍යැ
+ද්‍ව්‍යෑ
+ද්‍ව්‍යි
+ද්‍ව්‍යී
+ද්‍ව්‍යු
+ද්‍ව්‍යූ
+ද්‍ව්‍යෘ
+ද්‍ව්‍යෲ
+ද්‍ව්‍යෟ
+ද්‍ව්‍යෳ
+ද්‍ව්‍යෙ
+ද්‍ව්‍යේ
+ද්‍ව්‍යෛ
+ද්‍ව්‍යො
+ද්‍ව්‍යෝ
+ද්‍ව්‍යෞ
+ද්‍ව්‍ය්
+ද්‍ව්‍යං
+ද්‍ව්‍යඃ
+ර්‍ද්‍ව
+ර්‍ද්‍වා
+ර්‍ද්‍වැ
+ර්‍ද්‍වෑ
+ර්‍ද්‍වි
+ර්‍ද්‍වී
+ර්‍ද්‍වු
+ර්‍ද්‍වූ
+ර්‍ද්‍වෘ
+ර්‍ද්‍වෲ
+ර්‍ද්‍වෟ
+ර්‍ද්‍වෳ
+ර්‍ද්‍වෙ
+ර්‍ද්‍වේ
+ර්‍ද්‍වෛ
+ර්‍ද්‍වො
+ර්‍ද්‍වෝ
+ර්‍ද්‍වෞ
+ර්‍ද්‍ව්
+ර්‍ද්‍වං
+ර්‍ද්‍වඃ
+ද්‍ධ
+ද්‍ධා
+ද්‍ධැ
+ද්‍ධෑ
+ද්‍ධි
+ද්‍ධී
+ද්‍ධු
+ද්‍ධූ
+ද්‍ධෘ
+ද්‍ධෲ
+ද්‍ධෟ
+ද්‍ධෳ
+ද්‍ධෙ
+ද්‍ධේ
+ද්‍ධෛ
+ද්‍ධො
+ද්‍ධෝ
+ද්‍ධෞ
+ද්‍ධ්
+ද්‍ධං
+ද්‍ධඃ
+ද්‍ධ්‍ර
+ද්‍ධ්‍රා
+ද්‍ධ්‍රැ
+ද්‍ධ්‍රෑ
+ද්‍ධ්‍රි
+ද්‍ධ්‍රී
+ද්‍ධ්‍රු
+ද්‍ධ්‍රූ
+ද්‍ධ්‍රෘ
+ද්‍ධ්‍රෲ
+ද්‍ධ්‍රෟ
+ද්‍ධ්‍රෳ
+ද්‍ධ්‍රෙ
+ද්‍ධ්‍රේ
+ද්‍ධ්‍රෛ
+ද්‍ධ්‍රො
+ද්‍ධ්‍රෝ
+ද්‍ධ්‍රෞ
+ද්‍ධ්‍ර්
+ද්‍ධ්‍රං
+ද්‍ධ්‍රඃ
+ද්‍ධ්‍ය
+ද්‍ධ්‍යා
+ද්‍ධ්‍යැ
+ද්‍ධ්‍යෑ
+ද්‍ධ්‍යි
+ද්‍ධ්‍යී
+ද්‍ධ්‍යු
+ද්‍ධ්‍යූ
+ද්‍ධ්‍යෘ
+ද්‍ධ්‍යෲ
+ද්‍ධ්‍යෟ
+ද්‍ධ්‍යෳ
+ද්‍ධ්‍යෙ
+ද්‍ධ්‍යේ
+ද්‍ධ්‍යෛ
+ද්‍ධ්‍යො
+ද්‍ධ්‍යෝ
+ද්‍ධ්‍යෞ
+ද්‍ධ්‍ය්
+ද්‍ධ්‍යං
+ද්‍ධ්‍යඃ
+ර්‍ද්‍ධ
+ර්‍ද්‍ධා
+ර්‍ද්‍ධැ
+ර්‍ද්‍ධෑ
+ර්‍ද්‍ධි
+ර්‍ද්‍ධී
+ර්‍ද්‍ධු
+ර්‍ද්‍ධූ
+ර්‍ද්‍ධෘ
+ර්‍ද්‍ධෲ
+ර්‍ද්‍ධෟ
+ර්‍ද්‍ධෳ
+ර්‍ද්‍ධෙ
+ර්‍ද්‍ධේ
+ර්‍ද්‍ධෛ
+ර්‍ද්‍ධො
+ර්‍ද්‍ධෝ
+ර්‍ද්‍ධෞ
+ර්‍ද්‍ධ්
+ර්‍ද්‍ධං
+ර්‍ද්‍ධඃ
+ට්‍ඨ
+ට්‍ඨා
+ට්‍ඨැ
+ට්‍ඨෑ
+ට්‍ඨි
+ට්‍ඨී
+ට්‍ඨු
+ට්‍ඨූ
+ට්‍ඨෘ
+ට්‍ඨෲ
+ට්‍ඨෟ
+ට්‍ඨෳ
+ට්‍ඨෙ
+ට්‍ඨේ
+ට්‍ඨෛ
+ට්‍ඨො
+ට්‍ඨෝ
+ට්‍ඨෞ
+ට්‍ඨ්
+ට්‍ඨං
+ට්‍ඨඃ
+ට්‍ඨ්‍ර
+ට්‍ඨ්‍රා
+ට්‍ඨ්‍රැ
+ට්‍ඨ්‍රෑ
+ට්‍ඨ්‍රි
+ට්‍ඨ්‍රී
+ට්‍ඨ්‍රු
+ට්‍ඨ්‍රූ
+ට්‍ඨ්‍රෘ
+ට්‍ඨ්‍රෲ
+ට්‍ඨ්‍රෟ
+ට්‍ඨ්‍රෳ
+ට්‍ඨ්‍රෙ
+ට්‍ඨ්‍රේ
+ට්‍ඨ්‍රෛ
+ට්‍ඨ්‍රො
+ට්‍ඨ්‍රෝ
+ට්‍ඨ්‍රෞ
+ට්‍ඨ්‍ර්
+ට්‍ඨ්‍රං
+ට්‍ඨ්‍රඃ
+ට්‍ඨ්‍ය
+ට්‍ඨ්‍යා
+ට්‍ඨ්‍යැ
+ට්‍ඨ්‍යෑ
+ට්‍ඨ්‍යි
+ට්‍ඨ්‍යී
+ට්‍ඨ්‍යු
+ට්‍ඨ්‍යූ
+ට්‍ඨ්‍යෘ
+ට්‍ඨ්‍යෲ
+ට්‍ඨ්‍යෟ
+ට්‍ඨ්‍යෳ
+ට්‍ඨ්‍යෙ
+ට්‍ඨ්‍යේ
+ට්‍ඨ්‍යෛ
+ට්‍ඨ්‍යො
+ට්‍ඨ්‍යෝ
+ට්‍ඨ්‍යෞ
+ට්‍ඨ්‍ය්
+ට්‍ඨ්‍යං
+ට්‍ඨ්‍යඃ
+ර්‍ට්‍ඨ
+ර්‍ට්‍ඨා
+ර්‍ට්‍ඨැ
+ර්‍ට්‍ඨෑ
+ර්‍ට්‍ඨි
+ර්‍ට්‍ඨී
+ර්‍ට්‍ඨු
+ර්‍ට්‍ඨූ
+ර්‍ට්‍ඨෘ
+ර්‍ට්‍ඨෲ
+ර්‍ට්‍ඨෟ
+ර්‍ට්‍ඨෳ
+ර්‍ට්‍ඨෙ
+ර්‍ට්‍ඨේ
+ර්‍ට්‍ඨෛ
+ර්‍ට්‍ඨො
+ර්‍ට්‍ඨෝ
+ර්‍ට්‍ඨෞ
+ර්‍ට්‍ඨ්
+ර්‍ට්‍ඨං
+ර්‍ට්‍ඨඃ
+්‍ර
+්‍ය
+ර්‍
+෴
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt
new file mode 100644
index 0000000..c43cb95
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt
@@ -0,0 +1,41 @@
+ක
+කං
+කඃ
+කා
+කැ
+කෑ
+කි
+කී
+කු
+කූ
+කෘ
+කෲ
+කෟ
+කෳ
+කෙ
+කො
+කෞ
+කේ
+කේ
+කෛ
+කො
+කෝ
+කෝ
+කෞ
+ක්
+ක්‍ය
+ක්‍ර
+ක‍්‍රම
+ර්‍ම
+ශී‍්‍ර
+ස්ට්‍රේ
+ග්‍යෙ
+ර්‍ය්‍ය
+එ‍ඬේ
+න්ගේ
+න්‍ගේ
+න‍්ගේ
+ර්‍
+ක්‍රා
+කේ
+ගර්‍
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/reph.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/reph.txt
new file mode 100644
index 0000000..f5f2f53
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/reph.txt
@@ -0,0 +1,3 @@
+ර්ධ
+ර්‍ධ
+ර්‌ධ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/split-matras.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/split-matras.txt
new file mode 100644
index 0000000..2a73a40
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/misc/split-matras.txt
@@ -0,0 +1,4 @@
+කේ
+කො
+කෝ
+කෞ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/MANIFEST
new file mode 100644
index 0000000..0658824
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/MANIFEST
@@ -0,0 +1,3 @@
+codepoint
+gpos
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..0e8810a
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,41 @@
+ක
+ඛ
+ග
+ඝ
+ඞ
+ඟ
+ච
+ඡ
+ජ
+ඣ
+ඤ
+ඥ
+ඦ
+ට
+ඨ
+ඩ
+ඪ
+ණ
+ඬ
+ත
+ථ
+ද
+ධ
+න
+ඳ
+ප
+ඵ
+බ
+භ
+ම
+ඹ
+ය
+ර
+ල
+ව
+ශ
+ෂ
+ස
+හ
+ළ
+ෆ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..27911e4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,17 @@
+ා
+ැ
+ෑ
+ි
+ී
+ු
+ූ
+ෘ
+ෙ
+ේ
+ෛ
+ො
+ෝ
+ෞ
+ෟ
+ෲ
+ෳ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..939be04
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,18 @@
+අ
+ආ
+ඇ
+ඈ
+ඉ
+ඊ
+උ
+ඌ
+ඍ
+ඎ
+ඏ
+ඐ
+එ
+ඒ
+ඓ
+ඔ
+ඕ
+ඖ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Punctuation.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Punctuation.txt
new file mode 100644
index 0000000..d6c6809
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-Punctuation.txt
@@ -0,0 +1 @@
+෴
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..a65a9ba
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,3 @@
+ං
+ඃ
+්
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..48e393c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/codepoint/MANIFEST
@@ -0,0 +1,5 @@
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-Punctuation.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt
new file mode 100644
index 0000000..7cd1eac
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt
@@ -0,0 +1,162 @@
+කේ
+කෛ
+කී
+කෑ
+කූ
+කෲ
+ගේ
+ගෛ
+ගී
+ගෑ
+ගූ
+ගෲ
+තේ
+තෛ
+තී
+තෑ
+තූ
+තෲ
+ටේ
+ටෛ
+ටී
+ටෑ
+ටූ
+ටෲ
+ඩේ
+ඩෛ
+ඩී
+ඩෑ
+ඩූ
+ඩෲ
+චේ
+චෛ
+චී
+චෑ
+චූ
+චෲ
+ඡේ
+ඡෛ
+ඡී
+ඡෑ
+ඡූ
+ඡෲ
+ණේ
+ණෛ
+ණී
+ණෑ
+ණූ
+ණෲ
+පේ
+පෛ
+පී
+පෑ
+පූ
+පෲ
+දේ
+දෛ
+දී
+දෑ
+දූ
+දෲ
+ඳේ
+ඳෛ
+ඳී
+ඳෑ
+ඳූ
+ඳෲ
+ධේ
+ධෛ
+ධී
+ධෑ
+ධූ
+ධෲ
+බේ
+බෛ
+බී
+බෑ
+බූ
+බෲ
+මේ
+මෛ
+මී
+මෑ
+මූ
+මෲ
+වේ
+වෛ
+වී
+වෑ
+වූ
+වෲ
+හේ
+හෛ
+හී
+හෑ
+හූ
+හෲ
+රේ
+රෛ
+රී
+රෑ
+රූ
+රෲ
+ෆේ
+ෆෛ
+ෆී
+ෆෑ
+ෆූ
+ෆෲ
+ළේ
+ළෛ
+ළී
+ළෑ
+ළූ
+ළෲ
+ලේ
+ලෛ
+ලී
+ලෑ
+ලූ
+ලෲ
+යේ
+යෛ
+යී
+යෑ
+යූ
+යෲ
+සේ
+සෛ
+සී
+සෑ
+සූ
+සෲ
+ශේ
+ශෛ
+ශී
+ශෑ
+ශූ
+ශෲ
+ෂේ
+ෂෛ
+ෂී
+ෂෑ
+ෂූ
+ෂෲ
+ඹේ
+ඹෛ
+ඹී
+ඹෑ
+ඹූ
+ඹෲ
+ඵේ
+ඵෛ
+ඵී
+ඵෑ
+ඵූ
+ඵෲ
+ථේ
+ථෛ
+ථී
+ථෑ
+ථූ
+ථෲ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gpos/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gpos/MANIFEST
new file mode 100644
index 0000000..f4d0fc3
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gpos/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGPOS.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt
new file mode 100644
index 0000000..a100c69
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt
@@ -0,0 +1 @@
+්‍
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt
new file mode 100644
index 0000000..bf89a71
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt
@@ -0,0 +1,41 @@
+ක්‍ර
+ඛ්‍ර
+ග්‍ර
+ඝ්‍ර
+ඞ්‍ර
+ඟ්‍ර
+ච්‍ර
+ඡ්‍ර
+ජ්‍ර
+ඣ්‍ර
+ඤ්‍ර
+ඥ්‍ර
+ඦ්‍ර
+ට්‍ර
+ඨ්‍ර
+ඩ්‍ර
+ඪ්‍ර
+ණ්‍ර
+ඬ්‍ර
+ත්‍ර
+ථ්‍ර
+ද්‍ර
+ධ්‍ර
+න්‍ර
+ඳ්‍ර
+ප්‍ර
+ඵ්‍ර
+බ්‍ර
+භ්‍ර
+ම්‍ර
+ඹ්‍ර
+ය්‍ර
+ර්‍ර
+ල්‍ර
+ව්‍ර
+ශ්‍ර
+ෂ්‍ර
+ස්‍ර
+හ්‍ර
+ළ්‍ර
+ෆ්‍ර
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt
new file mode 100644
index 0000000..6f0293d
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt
@@ -0,0 +1,42 @@
+කර්‍ක
+ඛර්‍ක
+ගර්‍ක
+ඝර්‍ක
+ඞර්‍ක
+ඟර්‍ක
+චර්‍ක
+ඡර්‍ක
+ජර්‍ක
+ඣර්‍ක
+ඤර්‍ක
+ඥර්‍ක
+ඦර්‍ක
+ටර්‍ක
+ඨර්‍ක
+ඩර්‍ක
+ඪර්‍ක
+ණර්‍ක
+ඬර්‍ක
+තර්‍ක
+ථර්‍ක
+දර්‍ක
+ධර්‍ක
+නර්‍ක
+ඳර්‍ක
+පර්‍ක
+ඵර්‍ක
+බර්‍ක
+භර්‍ක
+මර්‍ක
+ඹර්‍ක
+යර්‍ක
+රර්‍ක
+ලර්‍ක
+වර්‍ක
+ශර්‍ක
+ෂර්‍ක
+සර්‍ක
+හර්‍ක
+ළර්‍ක
+ෆර්‍ක
+කර්‍ය්‍ය
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt
new file mode 100644
index 0000000..109c873
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt
@@ -0,0 +1,2 @@
+ක්‍ෂ
+න්‍ද
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt
new file mode 100644
index 0000000..105b295
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt
@@ -0,0 +1 @@
+‍්
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt
new file mode 100644
index 0000000..299ca9d
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt
@@ -0,0 +1,41 @@
+ක්‍ය
+ඛ්‍ය
+ග්‍ය
+ඝ්‍ය
+ඞ්‍ය
+ඟ්‍ය
+ච්‍ය
+ඡ්‍ය
+ජ්‍ය
+ඣ්‍ය
+ඤ්‍ය
+ඥ්‍ය
+ඦ්‍ය
+ට්‍ය
+ඨ්‍ය
+ඩ්‍ය
+ඪ්‍ය
+ණ්‍ය
+ඬ්‍ය
+ත්‍ය
+ථ්‍ය
+ද්‍ය
+ධ්‍ය
+න්‍ය
+ඳ්‍ය
+ප්‍ය
+ඵ්‍ය
+බ්‍ය
+භ්‍ය
+ම්‍ය
+ඹ්‍ය
+ය්‍ය
+ර්‍ය
+ල්‍ය
+ව්‍ය
+ශ්‍ය
+ෂ්‍ය
+ස්‍ය
+හ්‍ය
+ළ්‍ය
+ෆ්‍ය
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..fd5e6e6
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1 @@
+codepoint, imagepath, rawcode, desc
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..6aa964b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-sinhala/utrrs/gsub/MANIFEST
@@ -0,0 +1,7 @@
+IndicFontFeatureGSUB-Conjunct.txt
+IndicFontFeatureGSUB-Rakaaraansaya.txt
+IndicFontFeatureGSUB-Repaya.txt
+IndicFontFeatureGSUB-Special-Cases.txt
+IndicFontFeatureGSUB-TouchingLetters.txt
+IndicFontFeatureGSUB-Yansaya.txt
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/misc/misc.txt
new file mode 100644
index 0000000..c72be69
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/misc/misc.txt
@@ -0,0 +1,43 @@
+தமிழ்நாடு
+ஓர்
+இந்திய
+மாநிலமாகும்.
+தமிழ்நாடு,
+தமிழகம்
+என்றும்
+பரவலாக
+அழைக்கப்படுகிறது.
+ஆங்கிலத்தில்
+மெட்ராஸ்
+ஸ்டேட்
+என்றும்
+தமிழில்
+சென்னை
+ராஜ்ஜியம்
+என்றும்
+அழைக்கப்பெற்றது.
+இதனை
+தமிழ்நாடு
+என்று
+மாற்றக்கோரி
+போராட்டங்கள்
+நடைபெற்றன.
+சங்கரலிங்கனார்
+என்பவர்
+நாட்கள்
+உண்ணாவிரதம்
+இருந்து
+உயிர்துறந்தார்.
+பின்னர்
+மதராசு
+ஸ்டேட்
+என்று
+இருந்த
+பெயர்
+ஆம்
+ஆண்டு
+தமிழ்நாடு
+என்று
+மாற்றப்பட்டது.
+ஸ்ரீ
+க்ஷ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/MANIFEST
new file mode 100644
index 0000000..0658824
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/MANIFEST
@@ -0,0 +1,3 @@
+codepoint
+gpos
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..7a26510
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,23 @@
+க
+ங
+ச
+ஜ
+ஞ
+ட
+ண
+த
+ந
+ன
+ப
+ம
+ய
+ர
+ற
+ல
+ள
+ழ
+வ
+ஶ
+ஷ
+ஸ
+ஹ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt
new file mode 100644
index 0000000..f70ba6a
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt
@@ -0,0 +1 @@
+௹
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..f22470c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,11 @@
+ா
+ி
+ீ
+ு
+ூ
+ெ
+ே
+ை
+ொ
+ோ
+ௌ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..47b1d62
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+௦
+௧
+௨
+௩
+௪
+௫
+௬
+௭
+௮
+௯
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..3940ad3
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,12 @@
+அ
+ஆ
+இ
+ஈ
+உ
+ஊ
+எ
+ஏ
+ஐ
+ஒ
+ஓ
+ஔ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt
new file mode 100644
index 0000000..33f6850
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt
@@ -0,0 +1,3 @@
+௰
+௱
+௲
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt
new file mode 100644
index 0000000..a7d89e8
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt
@@ -0,0 +1,6 @@
+௳
+௴
+௵
+௶
+௷
+௸
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt
new file mode 100644
index 0000000..2d4bdc1
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt
@@ -0,0 +1 @@
+௺
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..49c469c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,4 @@
+ஂ
+ஃ
+்
+ௗ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..3e28731
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/codepoint/MANIFEST
@@ -0,0 +1,10 @@
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-CurrencySymbols.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-Numerics.txt
+IndicFontFeatureCodepoint-Reserved.txt
+IndicFontFeatureCodepoint-Symbols.txt
+IndicFontFeatureCodepoint-TamilSymbol.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
new file mode 100644
index 0000000..40b2b21
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
@@ -0,0 +1,64 @@
+கி
+ஙி
+சி
+ஜி
+ஞி
+டி
+ணி
+தி
+நி
+னி
+பி
+மி
+யி
+ரி
+றி
+லி
+ளி
+ழி
+வி
+ஷி
+ஸி
+ஹி
+கீ
+ஙீ
+சீ
+ஜீ
+ஞீ
+டீ
+ணீ
+தீ
+நீ
+னீ
+பீ
+மீ
+யீ
+ரீ
+றீ
+லீ
+ளீ
+ழீ
+வீ
+ஷீ
+ஸீ
+க்
+ங்
+ச்
+ஜ்
+ஞ்
+ட்
+ண்
+த்
+ந்
+ன்
+ப்
+ம்
+ய்
+ர்
+ற்
+ல்
+ழ்
+வ்
+ஷ்
+ஸ்
+ஹ்
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
new file mode 100644
index 0000000..847495a
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt
@@ -0,0 +1,44 @@
+கு
+ஙு
+சு
+ஜு
+ஞு
+டு
+ணு
+து
+நு
+னு
+பு
+மு
+யு
+ரு
+று
+லு
+ளு
+ழு
+வு
+ஷு
+ஸு
+ஹு
+கூ
+ஙூ
+சூ
+ஜூ
+ஞூ
+டூ
+ணூ
+தூ
+நூ
+னூ
+பூ
+மூ
+யூ
+ரூ
+றூ
+லூ
+ளூ
+ழூ
+வூ
+ஷூ
+ஸூ
+ஹூ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/MANIFEST
new file mode 100644
index 0000000..d7ae70e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gpos/MANIFEST
@@ -0,0 +1,2 @@
+IndicFontFeatureGPOS-AboveBase.txt
+IndicFontFeatureGPOS-BelowBase.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..2ca1df3
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,4 @@
+க்ஷ
+க்ஷி
+க்ஷீ
+ஷ்ரீ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-tamil/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/MANIFEST
new file mode 100644
index 0000000..ecb8d96
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/MANIFEST
@@ -0,0 +1,2 @@
+misc
+utrrs
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/misc/misc.txt
new file mode 100644
index 0000000..ff522d2
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/misc/misc.txt
@@ -0,0 +1,12 @@
+కై
+క్
+క్కై
+క్ర
+క్రి
+క్రై
+క్ర్
+క్ర్క
+క్ష
+క్ష్
+క్ష్ణ
+ఽం
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/LICENSE b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/LICENSE
new file mode 100644
index 0000000..2cf8228
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Red Hat Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/MANIFEST
new file mode 100644
index 0000000..0658824
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/MANIFEST
@@ -0,0 +1,3 @@
+codepoint
+gpos
+gsub
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/README b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/README
new file mode 100644
index 0000000..8bad337
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/README
@@ -0,0 +1,13 @@
+Introduction:
+A system to compare a reference image of a text character, word or phrase with another image of the character, word or phrase that was rendered by a text rendering engine. Differences between the reference image and the rendered image may be recorded for subsequent analysis. Performance of a text rendering engine producing text according to typographical rules applicable to a natural language can be evaluated by one with no knowledge or ability to read the natural language
+
+
+COPYRIGHT: Red Hat Inc. 2010
+
+license: this project is under MIT license
+
+
+AUTHORS:
+Lawrence Lim
+Satyabrata Maitra
+Amanpreet Singh Brar
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/SOURCES b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/SOURCES
new file mode 100644
index 0000000..0ed1a89
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/SOURCES
@@ -0,0 +1,2 @@
+https://fedorahosted.org/utrrs/
+Fetched in late 2011
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
new file mode 100644
index 0000000..a92b179
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt
@@ -0,0 +1,2 @@
+ౠ
+ౡ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
new file mode 100644
index 0000000..9b8ff69
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt
@@ -0,0 +1,38 @@
+క
+ఖ
+గ
+ఘ
+ఙ
+చ
+ఛ
+జ
+ఝ
+ఞ
+ట
+ఠ
+డ
+ఢ
+ణ
+త
+థ
+ద
+ధ
+న
+ప
+ఫ
+బ
+భ
+మ
+య
+ర
+ఱ
+ల
+ళ
+వ
+శ
+ష
+స
+హ
+ఁ
+ం
+ః
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
new file mode 100644
index 0000000..b48ed5d
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt
@@ -0,0 +1,13 @@
+ా
+ి
+ీ
+ు
+ూ
+ృ
+ౄ
+ె
+ే
+ై
+ొ
+ో
+ౌ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
new file mode 100644
index 0000000..8751b40
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt
@@ -0,0 +1,10 @@
+౦
+౧
+౨
+౩
+౪
+౫
+౬
+౭
+౮
+౯
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
new file mode 100644
index 0000000..53c6daf
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt
@@ -0,0 +1,14 @@
+అ
+ఆ
+ఇ
+ఈ
+ఉ
+ఊ
+ఋ
+ఌ
+ఎ
+ఏ
+ఐ
+ఒ
+ఓ
+ఔ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
new file mode 100644
index 0000000..66a7ca4
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt
@@ -0,0 +1,2 @@
+।
+॥
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
new file mode 100644
index 0000000..ebefb52
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt
@@ -0,0 +1,6 @@
+ఁ
+ం
+ః
+్
+ౕ
+ౖ
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/MANIFEST
new file mode 100644
index 0000000..1490dfe
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/codepoint/MANIFEST
@@ -0,0 +1,7 @@
+IndicFontFeatureCodepoint-AdditionalVowels.txt
+IndicFontFeatureCodepoint-Consonants.txt
+IndicFontFeatureCodepoint-DependentVowels.txt
+IndicFontFeatureCodepoint-Digits.txt
+IndicFontFeatureCodepoint-IndependentVowels.txt
+IndicFontFeatureCodepoint-Reserved.txt
+IndicFontFeatureCodepoint-VariousSigns.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
new file mode 100644
index 0000000..939e44a
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt
@@ -0,0 +1,385 @@
+కా
+ఖా
+గా
+ఘా
+ఙా
+చా
+ఛా
+జా
+ఝా
+ఞా
+టా
+ఠా
+డా
+ఢా
+ణా
+తా
+థా
+దా
+ధా
+నా
+పా
+ఫా
+బా
+భా
+మా
+యా
+రా
+ఱా
+లా
+ళా
+వా
+శా
+షా
+సా
+హా
+కి
+ఖి
+గి
+ఘి
+ఙి
+చి
+ఛి
+జి
+ఝి
+ఞి
+టి
+ఠి
+డి
+ఢి
+ణి
+తి
+థి
+ది
+ధి
+ని
+పి
+ఫి
+బి
+భి
+మి
+యి
+రి
+ఱి
+లి
+ళి
+వి
+శి
+షి
+సి
+హి
+కీ
+ఖీ
+గీ
+ఘీ
+ఙీ
+చీ
+ఛీ
+జీ
+ఝీ
+ఞీ
+టీ
+ఠీ
+డీ
+ఢీ
+ణీ
+తీ
+థీ
+దీ
+ధీ
+నీ
+పీ
+ఫీ
+బీ
+భీ
+మీ
+యీ
+రీ
+ఱీ
+లీ
+ళీ
+వీ
+శీ
+షీ
+సీ
+హీ
+కె
+ఖె
+గె
+ఘె
+ఙె
+చె
+ఛె
+జె
+ఝె
+ఞె
+టె
+ఠె
+డె
+ఢె
+ణె
+తె
+థె
+దె
+ధె
+నె
+పె
+ఫె
+బె
+భె
+మె
+యె
+రె
+ఱె
+లె
+ళె
+వె
+శె
+షె
+సె
+హె
+కే
+ఖే
+గే
+ఘే
+ఙే
+చే
+ఛే
+జే
+ఝే
+ఞే
+టే
+ఠే
+డే
+ఢే
+ణే
+తే
+థే
+దే
+ధే
+నే
+పే
+ఫే
+బే
+భే
+మే
+యే
+రే
+ఱే
+లే
+ళే
+వే
+శే
+షే
+సే
+హే
+కై
+ఖై
+గై
+ఘై
+ఙై
+చై
+ఛై
+జై
+ఝై
+ఞై
+టై
+ఠై
+డై
+ఢై
+ణై
+తై
+థై
+దై
+ధై
+నై
+పై
+ఫై
+బై
+భై
+మై
+యై
+రై
+ఱై
+లై
+ళై
+వై
+శై
+షై
+సై
+హై
+కొ
+ఖొ
+గొ
+ఘొ
+ఙొ
+చొ
+ఛొ
+జొ
+ఝొ
+ఞొ
+టొ
+ఠొ
+డొ
+ఢొ
+ణొ
+తొ
+థొ
+దొ
+ధొ
+నొ
+పొ
+ఫొ
+బొ
+భొ
+మొ
+యొ
+రొ
+ఱొ
+లొ
+ళొ
+వొ
+శొ
+షొ
+సొ
+హొ
+కో
+ఖో
+గో
+ఘో
+ఙో
+చో
+ఛో
+జో
+ఝో
+ఞో
+టో
+ఠో
+డో
+ఢో
+ణో
+తో
+థో
+దో
+ధో
+నో
+పో
+ఫో
+బో
+భో
+మో
+యో
+రో
+ఱో
+లో
+ళో
+వో
+శో
+షో
+సో
+హో
+కౌ
+ఖౌ
+గౌ
+ఘౌ
+ఙౌ
+చౌ
+ఛౌ
+జౌ
+ఝౌ
+ఞౌ
+టౌ
+ఠౌ
+డౌ
+ఢౌ
+ణౌ
+తౌ
+థౌ
+దౌ
+ధౌ
+నౌ
+పౌ
+ఫౌ
+బౌ
+భౌ
+మౌ
+యౌ
+రౌ
+ఱౌ
+లౌ
+ళౌ
+వౌ
+శౌ
+షౌ
+సౌ
+హౌ
+కఁ
+ఖఁ
+గఁ
+ఘఁ
+ఙఁ
+చఁ
+ఛఁ
+జఁ
+ఝఁ
+ఞఁ
+టఁ
+ఠఁ
+డఁ
+ఢఁ
+ణఁ
+తఁ
+థఁ
+దఁ
+ధఁ
+నఁ
+పఁ
+ఫఁ
+బఁ
+భఁ
+మఁ
+యఁ
+రఁ
+ఱఁ
+లఁ
+ళఁ
+వఁ
+శఁ
+షఁ
+సఁ
+హఁ
+క్
+ఖ్
+గ్
+ఘ్
+ఙ్
+చ్
+ఛ్
+జ్
+ఝ్
+ఞ్
+ట్
+ఠ్
+డ్
+ఢ్
+ణ్
+త్
+థ్
+ద్
+ధ్
+న్
+ప్
+ఫ్
+బ్
+భ్
+మ్
+య్
+ర్
+ఱ్
+ల్
+ళ్
+వ్
+శ్
+ష్
+స్
+హ్
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gpos/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gpos/MANIFEST
new file mode 100644
index 0000000..49d0284
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gpos/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGPOS-AboveBase.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt
new file mode 100644
index 0000000..50b630b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt
@@ -0,0 +1,287 @@
+క్క
+క్ఖ
+క్గ
+క్ఘ
+క్ఙ
+క్చ
+క్ఛ
+క్జ
+క్ఝ
+క్ఞ
+క్ట
+క్ఠ
+క్డ
+క్ఢ
+క్ణ
+క్త
+క్థ
+క్ద
+క్ధ
+క్న
+క్ప
+క్ఫ
+క్బ
+క్భ
+క్మ
+క్య
+క్ర
+క్ఱ
+క్ల
+క్ళ
+క్వ
+క్శ
+క్ష
+క్స
+క్హ
+త్క
+త్ఖ
+త్గ
+త్ఘ
+త్ఙ
+త్చ
+త్ఛ
+త్జ
+త్ఝ
+త్ఞ
+త్ట
+త్ఠ
+త్డ
+త్ఢ
+త్ణ
+త్త
+త్థ
+త్ద
+త్ధ
+త్న
+త్ప
+త్ఫ
+త్బ
+త్భ
+త్మ
+త్య
+త్ర
+త్ఱ
+త్ల
+త్ళ
+త్వ
+త్శ
+త్ష
+త్స
+త్హ
+న్క
+న్ఖ
+న్గ
+న్ఘ
+న్ఙ
+న్చ
+న్ఛ
+న్జ
+న్ఝ
+న్ఞ
+న్ట
+న్ఠ
+న్డ
+న్ఢ
+న్ణ
+న్త
+న్థ
+న్ద
+న్ధ
+న్న
+న్ప
+న్ఫ
+న్బ
+న్భ
+న్మ
+న్య
+న్ర
+న్ఱ
+న్ల
+న్ళ
+న్వ
+న్శ
+న్ష
+న్స
+న్హ
+మ్క
+మ్ఖ
+మ్గ
+మ్ఘ
+మ్ఙ
+మ్చ
+మ్ఛ
+మ్జ
+మ్ఝ
+మ్ఞ
+మ్ట
+మ్ఠ
+మ్డ
+మ్ఢ
+మ్ణ
+మ్త
+మ్థ
+మ్ద
+మ్ధ
+మ్న
+మ్ప
+మ్ఫ
+మ్బ
+మ్భ
+మ్మ
+మ్య
+మ్ర
+మ్ఱ
+మ్ల
+మ్ళ
+మ్వ
+మ్శ
+మ్ష
+మ్స
+మ్హ
+య్క
+య్ఖ
+య్గ
+య్ఘ
+య్ఙ
+య్చ
+య్ఛ
+య్జ
+య్ఝ
+య్ఞ
+య్ట
+య్ఠ
+య్డ
+య్ఢ
+య్ణ
+య్త
+య్థ
+య్ద
+య్ధ
+య్న
+య్ప
+య్ఫ
+య్బ
+య్భ
+య్మ
+య్య
+య్ర
+య్ఱ
+య్ల
+య్ళ
+య్వ
+య్శ
+య్ష
+య్స
+య్హ
+ర్క
+ర్ఖ
+ర్గ
+ర్ఘ
+ర్ఙ
+ర్చ
+ర్ఛ
+ర్జ
+ర్ఝ
+ర్ఞ
+ర్ట
+ర్ఠ
+ర్డ
+ర్ఢ
+ర్ణ
+ర్త
+ర్థ
+ర్ద
+ర్ధ
+ర్న
+ర్ప
+ర్ఫ
+ర్బ
+ర్భ
+ర్మ
+ర్య
+ర్ర
+ర్ఱ
+ర్ల
+ర్ళ
+ర్వ
+ర్శ
+ర్ష
+ర్స
+ర్హ
+ల్క
+ల్ఖ
+ల్గ
+ల్ఘ
+ల్ఙ
+ల్చ
+ల్ఛ
+ల్జ
+ల్ఝ
+ల్ఞ
+ల్ట
+ల్ఠ
+ల్డ
+ల్ఢ
+ల్ణ
+ల్త
+ల్థ
+ల్ద
+ల్ధ
+ల్న
+ల్ప
+ల్ఫ
+ల్బ
+ల్భ
+ల్మ
+ల్య
+ల్ర
+ల్ఱ
+ల్ల
+ల్ళ
+ల్వ
+ల్శ
+ల్ష
+ల్స
+ల్హ
+వ్క
+వ్ఖ
+వ్గ
+వ్ఘ
+వ్ఙ
+వ్చ
+వ్ఛ
+వ్జ
+వ్ఝ
+వ్ఞ
+వ్ట
+వ్ఠ
+వ్డ
+వ్ఢ
+వ్ణ
+వ్త
+వ్థ
+వ్ద
+వ్ధ
+వ్న
+వ్ప
+వ్ఫ
+వ్బ
+వ్భ
+వ్మ
+వ్య
+వ్ర
+వ్ఱ
+వ్ల
+వ్ళ
+వ్వ
+వ్శ
+వ్ష
+వ్స
+వ్హ
+స్త్ర
+స్త్రి
+స్త్రీ
+ష్ట్ర
+షటరీ
+క్ష్మ
+క్ష్మి
diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gsub/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gsub/MANIFEST
new file mode 100644
index 0000000..4b47068
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-telugu/utrrs/gsub/MANIFEST
@@ -0,0 +1 @@
+IndicFontFeatureGSUB.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST
new file mode 100644
index 0000000..9627b9e
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST
@@ -0,0 +1 @@
+script-khmer
diff --git a/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/MANIFEST
new file mode 100644
index 0000000..fde3fa1
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/MANIFEST
@@ -0,0 +1,3 @@
+misc.txt
+other-marks-invalid.txt
+other-marks.txt
diff --git a/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt
new file mode 100644
index 0000000..945dd1d
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt
@@ -0,0 +1,23 @@
+ខ្មែ
+ជា
+ថ្ងៃ
+មា
+ម្ពុ
+រ
+រី
+រ៍
+សៅ
+រ្ឥ
+ងឹ្ឈ
+ង្ឈឹ
+ង្គ្រ
+ង្រ្គ
+ម៉្លេះ
+ម‌៉្លេះ
+ប៊័
+នែ៎
+កេ្រ
+កៀ្រ
+កោ្រ
+កៅ្រ
+ព៑ា
diff --git a/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/other-marks-invalid.txt b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/other-marks-invalid.txt
new file mode 100644
index 0000000..213cfc2
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/other-marks-invalid.txt
@@ -0,0 +1,4 @@
+ព់្ឈា
+ព្ឈា៉
+ព្ឈា៌
+ព្ឈ៌ា
diff --git a/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/other-marks.txt b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/other-marks.txt
new file mode 100644
index 0000000..1fd350c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-indic/south-east-asian/script-khmer/misc/other-marks.txt
@@ -0,0 +1,7 @@
+ព្ឈា
+ព្ឈា់
+ព្ឈ់ា
+ព្ឈ៉ា
+ព៉្ឈា
+ព៌្ឈា
+ក៝ៈនូយ្សក៝ៈនហ៝ម់
diff --git a/test/shaping/texts/in-tree/shaper-myanmar/MANIFEST b/test/shaping/texts/in-tree/shaper-myanmar/MANIFEST
new file mode 100644
index 0000000..895bcea
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-myanmar/MANIFEST
@@ -0,0 +1 @@
+script-myanmar
diff --git a/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/MANIFEST b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST
new file mode 100644
index 0000000..b5a09c0
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST
@@ -0,0 +1,3 @@
+misc.txt
+otspec.txt
+utn11.txt
diff --git a/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt
new file mode 100644
index 0000000..9dc6332
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt
@@ -0,0 +1,7 @@
+သီဟိုဠ်မှ ဉာဏ်ကြီးရှင်သည် အာယုဝဍ္ဎနဆေးညွှန်းစာကို ဇလွန်ဈေးဘေးဗာဒံပင်ထက် အဓိဋ္ဌာန်လျက် ဂဃနဏဖတ်ခဲ့သည်။
+။း
+င်္၎
+နၣ်
+နၢၣ်
+ဂ်ျ
+ဂျ်
diff --git a/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/otspec.txt b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/otspec.txt
new file mode 100644
index 0000000..66779cb
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/otspec.txt
@@ -0,0 +1,2 @@
+င်္က္ကျြွှေို့်ာှီ့ၤဲံ့းႍ
+
diff --git a/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/utn11.txt b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/utn11.txt
new file mode 100644
index 0000000..d5cea7c
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/utn11.txt
@@ -0,0 +1,34 @@
+စာ
+ခါ
+သိက္ခာ
+သဒ္ဓါ
+ညို
+ထုံး
+နေ
+ပေါ
+ဖျား
+ကြေး
+မွေး
+မှု
+ပတ္တာ
+ထင်
+ကြဉ်
+ကော်
+စင်္ကြံ
+သင်္ဘော
+ပသျှူး
+မြွှာ
+သျှောင်
+ကောင်လေးတွေကျောင်းကိုသွားကြတယ်။
+အိပ်ခန်းတံခါးကို
+အိပ်ခန်းတံ⁠ခါးကို
+အင်္ဝေ
+အငွေ
+ယောက်ျား
+ကျွန်ုပ်
+ဝါကျ
+ဂိမှာန်
+ဥယ‌ျာန
+က္လ
+ကျ္လပ်
+နိယ္အ်
diff --git a/test/shaping/texts/in-tree/shaper-sea/MANIFEST b/test/shaping/texts/in-tree/shaper-sea/MANIFEST
new file mode 100644
index 0000000..ba95488
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/MANIFEST
@@ -0,0 +1,3 @@
+script-cham
+script-new-tai-lue
+script-tai-tham
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-cham/MANIFEST b/test/shaping/texts/in-tree/shaper-sea/script-cham/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-cham/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-cham/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-sea/script-cham/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-cham/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-cham/misc/misc.txt b/test/shaping/texts/in-tree/shaper-sea/script-cham/misc/misc.txt
new file mode 100644
index 0000000..32b793a
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-cham/misc/misc.txt
@@ -0,0 +1,3 @@
+ꩀꨴ
+ꨗꨪꨇꨮꩃꨯꨗꨱꨧꨩꩂꨯꨨꨱꩃꨨꨮ
+ꨆꨴꨯ
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/MANIFEST b/test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/misc.txt b/test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/misc.txt
new file mode 100644
index 0000000..11224a1
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/misc.txt
@@ -0,0 +1 @@
+ᦀᦷᧃᧈ
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/MANIFEST b/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/MANIFEST
new file mode 100644
index 0000000..cfc4f65
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/MANIFEST
@@ -0,0 +1,2 @@
+misc.txt
+torture.txt
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/misc.txt b/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/misc.txt
new file mode 100644
index 0000000..62e9317
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/misc.txt
@@ -0,0 +1,2 @@
+ᨠ᩠ᨠᩮᩕ
+ᩋᩫᨶ᩠ᨲᩕᩣ᩠ᨿ
diff --git a/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/torture.txt b/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/torture.txt
new file mode 100644
index 0000000..faee302
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/torture.txt
@@ -0,0 +1,23 @@
+ᨣᩕ᩵ᩣᩴᨣᩕ᩠ᩅᩁ
+ᨣᩕ᩵ᩮ᩠ᨦᨣᩕᩢ᩠ᨯ
+ᩅᩥᨣᩅᩰᩬᩡ
+ᩋᩫᨶ᩠ᨲᩕᩣ᩠ᨿ
+ᨶᩫᨶ᩠ᨲᩕᩧ
+ᩈ᩠ᨾ᩵ᩣᩴᩈ᩠ᨾᩮᩬᩥ
+ᩀᩢ᩠᩵ᨦᨶ᩶ᩣᩴ
+ᩉᩫ᩠ᨯᩉ᩠ᨿᩬᩴ᩶
+ᩅᩥᨱ᩠ᨬᩣ᩠ᨱ
+ᨠᩕᩫ᩠ᨮᩉᩫ᩠ᩅᨷᩫ᩠ᩅ
+ᨷᩴ᩠᩵ᨯᩲ᩶
+ᨷᩴ᩠᩶ᨯᩲ᩵
+ᨺᩮᩥᩢ᩠ᨠ
+ᨡᩧ᩠᩶ᨦ᩻
+ᨸᩢ᩠᩶ᨶ
+ᨵᩥᩢ᩠᩶ᨶ
+ᨷᩣ᩠ᨦ
+ᨷᩤ᩠ᨦ
+ᨻᩮᩬᩧ᩵ᩋᩉᩲ᩶
+ᨾᩨᨤᩕᩢ᩠᩵ᨦ
+ᨴᩣᩴᩋᩁᩲ
+ᩈᩢᨬ᩠ᨬᩣ
+◌ᩲ
diff --git a/test/shaping/texts/in-tree/shaper-thai/MANIFEST b/test/shaping/texts/in-tree/shaper-thai/MANIFEST
new file mode 100644
index 0000000..32b5476
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/MANIFEST
@@ -0,0 +1,2 @@
+script-lao
+script-thai
diff --git a/test/shaping/texts/in-tree/shaper-thai/script-lao/MANIFEST b/test/shaping/texts/in-tree/shaper-thai/script-lao/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/script-lao/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-thai/script-lao/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-thai/script-lao/misc/MANIFEST
new file mode 100644
index 0000000..ffd16f1
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/script-lao/misc/MANIFEST
@@ -0,0 +1 @@
+sara-am.txt
diff --git a/test/shaping/texts/in-tree/shaper-thai/script-lao/misc/sara-am.txt b/test/shaping/texts/in-tree/shaper-thai/script-lao/misc/sara-am.txt
new file mode 100644
index 0000000..234d8c0
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/script-lao/misc/sara-am.txt
@@ -0,0 +1,20 @@
+ດຳ
+ດ໋ຳ
+ດໍ໋າ
+ດ໋ໍາ
+ມັຳ
+ມິຳ
+ມີຳ
+ມຶຳ
+ມືຳ
+ມຸຳ
+ມູຳ
+ມ຺ຳ
+ມ໇ຳ
+ມ່ຳ
+ມ້ຳ
+ມ໊ຳ
+ມ໋ຳ
+ມ໌ຳ
+ມໍຳ
+ມ໎ຳ
diff --git a/test/shaping/texts/in-tree/shaper-thai/script-thai/MANIFEST b/test/shaping/texts/in-tree/shaper-thai/script-thai/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/script-thai/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/MANIFEST
new file mode 100644
index 0000000..6b5ca6f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/MANIFEST
@@ -0,0 +1,4 @@
+misc.txt
+phinthu.txt
+pua-shaping.txt
+sara-am.txt
diff --git a/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/misc.txt b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/misc.txt
new file mode 100644
index 0000000..b4f164b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/misc.txt
@@ -0,0 +1,11 @@
+ป่ำ
+ป่ำซ้ำพ่อปู่พี่ปี่ฎุฐุญุ
+ก่ํา
+กํ่า
+กุเ
+กะ
+ก่ื
+กื
+กำ
+ก่ำ
+ก่
diff --git a/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/phinthu.txt b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/phinthu.txt
new file mode 100644
index 0000000..e304777
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/phinthu.txt
@@ -0,0 +1,16 @@
+ป
+ปฺ
+ปุ
+ปู
+ปุู
+ปูุ
+ปฺุ
+ปฺุ
+ปฺู
+ปฺู
+ปฺุู
+ปฺุู
+ปฺุู
+ปฺูุ
+ปฺูุ
+ปฺูุ
diff --git a/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/pua-shaping.txt b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/pua-shaping.txt
new file mode 100644
index 0000000..c17834b
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/pua-shaping.txt
@@ -0,0 +1,11 @@
+นี
+น่
+นี่
+น่ี
+ป็
+ญ
+ญุ
+ฝิ
+ฝิ่
+ฝ่
+ฎู
diff --git a/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/sara-am.txt b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/sara-am.txt
new file mode 100644
index 0000000..9f044ce
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-thai/script-thai/misc/sara-am.txt
@@ -0,0 +1,20 @@
+ดำ
+ด๋ำ
+ดํ๋า
+ด๋ํา
+มัำ
+มิำ
+มีำ
+มึำ
+มืำ
+มุำ
+มูำ
+มฺำ
+ม็ำ
+ม่ำ
+ม้ำ
+ม๊ำ
+ม๋ำ
+ม์ำ
+มํำ
+ม๎ำ
diff --git a/test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/MANIFEST b/test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/MANIFEST
new file mode 100644
index 0000000..b8752e7
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/MANIFEST
@@ -0,0 +1 @@
+misc
diff --git a/test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/MANIFEST
new file mode 100644
index 0000000..29cfb2f
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/MANIFEST
@@ -0,0 +1 @@
+misc.txt
diff --git a/test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/misc.txt b/test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/misc.txt
new file mode 100644
index 0000000..a5d4082
--- /dev/null
+++ b/test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/misc.txt
@@ -0,0 +1,2 @@
+སྟྲཱ
+ཀ࿆ྃ