From 7087eee05292d6939c6eaa676a09af11dcf2fcb1 Mon Sep 17 00:00:00 2001
From: Pathum Egodawatta <pathum@mooniak.com>
Date: Thu, 26 Dec 2024 16:10:48 +0530
Subject: [PATCH] Adjusting iivowelcombinations

---
 .../fontinfo.plist                            |   2 +-
 .../glyphs/iivowelsignsinh.alt3.glyph         |  90 +++---
 .../glyphs/ivowelsignsinh.alt3.glyph          | 290 ++++++++++++++++++
 .../glyphs/nasinh.glyph                       |   2 +-
 .../glyphs/tasinh.glyph                       |   2 +-
 .../NotoSansSinhala.glyphspackage/order.plist |   1 +
 6 files changed, 342 insertions(+), 45 deletions(-)
 create mode 100644 sources/NotoSansSinhala.glyphspackage/glyphs/ivowelsignsinh.alt3.glyph

diff --git a/sources/NotoSansSinhala.glyphspackage/fontinfo.plist b/sources/NotoSansSinhala.glyphspackage/fontinfo.plist
index 8d6288e8..ab0afb7c 100644
--- a/sources/NotoSansSinhala.glyphspackage/fontinfo.plist
+++ b/sources/NotoSansSinhala.glyphspackage/fontinfo.plist
@@ -855,7 +855,7 @@ code = "sub rasinh rephsinh' lookup SplitReph;\012";
 name = pres;
 },
 {
-code = "\012lookup RakarVowels {\012    lookupflag MarkAttachmentType @markAttachmentSet1;\012    sub rakarsinh uvowelsignsinh' by aevowelsignlowsinh;\012    sub rakarsinh uuvowelsignsinh' by aaevowelsignlowsinh;\012} RakarVowels;\012\012lookup RakarLigatures {\012    lookupflag MarkAttachmentType @markAttachmentSet1;\012    sub dasinh rakarsinh by darasinh;\012    sub ndasinh rakarsinh by ndarasinh;\012    sub nadasinh rakarsinh by nadarasinh;\012} RakarLigatures;\012\012lookupflag 0;\012sub yapostsinh' lookup YaPostToReph rephsinh' lookup RephToYaPost;\012#sub yasinh rephsinh' lookup YaPostRephLigature yapostsinh';\012\012sub aavowelsignsinh viramasinh by oovowelsignaltsinh;\012\012lookup RakarLong {\012    lookupflag MarkAttachmentType @markAttachmentSet1;\012    sub gasinh rakarsinh' by rakarsinh.long;\012    sub fasinh rakarsinh' by rakarsinh.long;\012    sub bhasinh rakarsinh' by rakarsinh.long;\012    sub hasinh rakarsinh' by rakarsinh.long;\012    sub tasinh rakarsinh' by rakarsinh.long;\012    sub shasinh rakarsinh' by rakarsinh.long;\012    sub kasinh rakarsinh' by rakarsinh.long;\012} RakarLong;\012\012sub @viramaAltSet viramasinh' by viramasinh.alt;\012\012sub @abvsMarkAttatchmentSet2 ivowelsignsinh' by ivowelsignsinh.alt; \012sub @abvsMarkAttatchmentSet2 iivowelsignsinh' by iivowelsignsinh.alt; \012\012sub @abvsMarkAttatchmentSet3 ivowelsignsinh' by ivowelsignsinh.alt2;\012sub @abvsMarkAttatchmentSet3 iivowelsignsinh' by iivowelsignsinh.alt2;\012\012sub @iVowelAlt3 iivowelsignsinh' by iivowelsignsinh.alt3;\012\012lookup VowelLigatures {\012    lookupflag MarkAttachmentType @markAttachmentSet4;\012#    sub kasinh rephsinh viramasinh uni200D ssasinh by kassarephsinh;\012#    sub kasinh rephsinh viramasinh uni200D vasinh by kavarephsinh;\012#    sub kasinh uni200D viramasinh by kahalantsinh;\012#    sub kasinh iivowelsignsinh by kiivowelsinh;\012#    sub kasinh ivowelsignsinh by kivowelsinh;\012#    sub kasinh viramasinh by kahalantsinh;\012    sub khasinh uni200D viramasinh by khahalantsinh;\012    sub khasinh iivowelsignsinh by khiivowelsinh;\012    sub khasinh ivowelsignsinh by khivowelsinh;\012    sub khasinh viramasinh by khahalantsinh;\012#    sub gasinh iivowelsignsinh by giivowelsinh;\012#    sub gasinh ivowelsignsinh by givowelsinh;\012#    sub ghasinh ivowelsignsinh by ghivowelsinh;\012    sub ngasinh uni200D viramasinh by ngahalantsinh;\012    sub ngasinh iivowelsignsinh by ngiivowelsinh;\012    sub ngasinh ivowelsignsinh by ngivowelsinh;\012    sub ngasinh viramasinh by ngahalantsinh;\012#    sub nngasinh iivowelsignsinh by nngiivowelsinh;\012#    sub nngasinh ivowelsignsinh by nngivowelsinh;\012    sub casinh uni200D viramasinh by cahalantsinh;\012    sub casinh iivowelsignsinh by ciivowelsinh;\012    sub casinh ivowelsignsinh by civowelsinh;\012    sub casinh viramasinh by cahalantsinh;\012    sub chasinh uni200D viramasinh by chahalantsinh;\012    sub chasinh iivowelsignsinh by chiivowelsinh;\012    sub chasinh ivowelsignsinh by chivowelsinh;\012    sub chasinh viramasinh by chahalantsinh;\012    sub jasinh uni200D viramasinh by jahalantsinh;\012    sub jasinh iivowelsignsinh by jiivowelsinh;\012    sub jasinh ivowelsignsinh by jivowelsinh;\012    sub jasinh viramasinh by jahalantsinh;\012    sub jhasinh uni200D viramasinh by jhahalantsinh;\012    sub jhasinh iivowelsignsinh by jhiivowelsinh;\012    sub jhasinh ivowelsignsinh by jhivowelsinh;\012    sub jhasinh viramasinh by jhahalantsinh;\012    sub nyasinh iivowelsignsinh by nyiivowelsinh;\012    sub nyasinh ivowelsignsinh by nyivowelsinh;\012    sub jnyasinh iivowelsignsinh by jnyiivowelsinh;\012    sub jnyasinh ivowelsignsinh by jnyivowelsinh;\012    sub nyjasinh uni200D viramasinh by nyjahalantsinh;\012    sub nyjasinh iivowelsignsinh by nyjiivowelsinh;\012    sub nyjasinh ivowelsignsinh by nyjivowelsinh;\012    sub nyjasinh viramasinh by nyjahalantsinh;\012    sub ttasinh uni200D viramasinh by ttahalantsinh;\012    sub ttasinh iivowelsignsinh by ttiivowelsinh;\012    sub ttasinh ivowelsignsinh by ttivowelsinh;\012    sub ttasinh viramasinh by ttahalantsinh;\012#    sub tthasinh uni200D viramasinh by tthahalantsinh;\012    sub tthasinh iivowelsignsinh by tthiivowelsinh;\012    sub tthasinh ivowelsignsinh by tthivowelsinh;\012#    sub tthasinh viramasinh by tthahalantsinh;\012    sub ddasinh uni200D viramasinh by ddahalantsinh;\012    sub ddasinh iivowelsignsinh by ddiivowelsinh;\012    sub ddasinh ivowelsignsinh by ddivowelsinh;\012    sub ddasinh viramasinh by ddahalantsinh;\012#    sub ddhasinh uni200D viramasinh by ddhahalantsinh;\012    sub ddhasinh iivowelsignsinh by ddhiivowelsinh;\012    sub ddhasinh ivowelsignsinh by ddhivowelsinh;\012#    sub ddhasinh viramasinh by ddhahalantsinh;\012    sub nnasinh iivowelsignsinh by nniivowelsinh;\012    sub nnasinh ivowelsignsinh by nnivowelsinh;\012    sub nnddasinh uni200D viramasinh by nnddahalantsinh;\012    sub nnddasinh iivowelsignsinh by nnddiivowelsinh;\012    sub nnddasinh ivowelsignsinh by nnddivowelsinh;\012    sub nnddasinh viramasinh by nnddahalantsinh;\012#    sub tasinh rephsinh viramasinh uni200D thasinh by tatharephsinh;\012#    sub tasinh rephsinh viramasinh uni200D vasinh by tavarephsinh;\012#    sub tasinh iivowelsignsinh by tiivowelsinh;\012#    sub tasinh ivowelsignsinh by tivowelsinh;\012#    sub thasinh uni200D viramasinh by thahalantsinh;\012    sub thasinh iivowelsignsinh by thiivowelsinh;\012    sub thasinh ivowelsignsinh by thivowelsinh;\012#    sub thasinh viramasinh by thahalantsinh;\012#    sub dasinh rephsinh viramasinh uni200D dhasinh by dadharephsinh;\012#    sub dasinh rephsinh viramasinh uni200D vasinh by davarephsinh;\012#    sub dasinh iivowelsignsinh by diivowelsinh;\012#    sub dasinh ivowelsignsinh by divowelsinh;\012    sub dhasinh uni200D viramasinh by dhahalantsinh;\012    sub dhasinh iivowelsignsinh by dhiivowelsinh;\012    sub dhasinh ivowelsignsinh by dhivowelsinh;\012    sub dhasinh viramasinh by dhahalantsinh;\012#    sub nasinh rephsinh viramasinh uni200D dasinh by nadarephsinh;\012#    sub nasinh rephsinh viramasinh uni200D dhasinh by nadharephsinh;\012#    sub nasinh rephsinh viramasinh uni200D thasinh by natharephsinh;\012#    sub nasinh rephsinh viramasinh uni200D vasinh by navarephsinh;\012#    sub nasinh iivowelsignsinh by niivowelsinh;\012#    sub nasinh ivowelsignsinh by nivowelsinh;\012    sub ndasinh iivowelsignsinh by ndiivowelsinh;\012    sub ndasinh ivowelsignsinh by ndivowelsinh;\012#    sub pasinh iivowelsignsinh by piivowelsinh;\012#    sub pasinh ivowelsignsinh by pivowelsinh;\012#    sub phasinh uni200D viramasinh by phahalantsinh;\012    sub phasinh iivowelsignsinh by phiivowelsinh;\012    sub phasinh ivowelsignsinh by phivowelsinh;\012#    sub phasinh viramasinh by phahalantsinh;\012    sub basinh uni200D viramasinh by bahalantsinh;\012    sub basinh iivowelsignsinh by biivowelsinh;\012    sub basinh ivowelsignsinh by bivowelsinh;\012    sub basinh viramasinh by bahalantsinh;\012#    sub bhasinh iivowelsignsinh by bhiivowelsinh;\012#    sub bhasinh ivowelsignsinh by bhivowelsinh;\012    sub masinh uni200D viramasinh by mahalantsinh;\012    sub masinh iivowelsignsinh by miivowelsinh;\012    sub masinh ivowelsignsinh by mivowelsinh;\012    sub masinh viramasinh by mahalantsinh;\012    sub mbasinh uni200D viramasinh by mbahalantsinh;\012    sub mbasinh iivowelsignsinh by mbiivowelsinh;\012    sub mbasinh ivowelsignsinh by mbivowelsinh;\012    sub mbasinh viramasinh by mbahalantsinh;\012    sub yasinh iivowelsignsinh by yiivowelsinh;\012    sub yasinh ivowelsignsinh by yivowelsinh;\012#    sub rasinh uni200D viramasinh by rahalantsinh;\012    sub rasinh iivowelsignsinh by riivowelsinh;\012    sub rasinh ivowelsignsinh by rivowelsinh;\012#    sub rasinh viramasinh by rahalantsinh;\012#    sub lasinh iivowelsignsinh by liivowelsinh;\012#    sub lasinh ivowelsignsinh by livowelsinh;\012    sub vasinh uni200D viramasinh by vahalantsinh;\012    sub vasinh iivowelsignsinh by viivowelsinh;\012    sub vasinh ivowelsignsinh by vivowelsinh;\012    sub vasinh viramasinh by vahalantsinh;\012#    sub shasinh iivowelsignsinh by shiivowelsinh;\012#    sub shasinh ivowelsignsinh by shivowelsinh;\012#    sub ssasinh iivowelsignsinh by ssiivowelsinh;\012#    sub ssasinh ivowelsignsinh by ssivowelsinh;\012#    sub sasinh iivowelsignsinh by siivowelsinh;\012#    sub sasinh ivowelsignsinh by sivowelsinh;\012#    sub hasinh iivowelsignsinh by hiivowelsinh;\012#    sub hasinh ivowelsignsinh by hivowelsinh;\012    sub llasinh iivowelsignsinh by lliivowelsinh;\012    sub llasinh ivowelsignsinh by llivowelsinh;\012#    sub fasinh iivowelsignsinh by fiivowelsinh;\012#    sub fasinh ivowelsignsinh by fivowelsinh;\012    sub kavasinh uni200D viramasinh by kavahalantsinh;\012    sub kavasinh iivowelsignsinh by kaviivowelsinh;\012    sub kavasinh ivowelsignsinh by kavivowelsinh;\012#    sub kavasinh rephsinh by kavarephsinh;\012    sub kavasinh viramasinh by kavahalantsinh;\012    sub kassasinh iivowelsignsinh by kassiivowelsinh;\012#    sub kassasinh ivowelsignsinh by kassivowelsinh;\012#    sub kassasinh rephsinh by kassarephsinh;\012    sub gadhasinh uni200D viramasinh by gadhahalantsinh;\012    sub gadhasinh iivowelsignsinh by gadhiivowelsinh;\012    sub gadhasinh ivowelsignsinh by gadhivowelsinh;\012#    sub gadhasinh rephsinh by gadharephsinh;\012    sub gadhasinh viramasinh by gadhahalantsinh;\012    sub nyacasinh uni200D viramasinh by nyacahalantsinh;\012    sub nyacasinh iivowelsignsinh by nyaciivowelsinh;\012    sub nyacasinh ivowelsignsinh by nyacivowelsinh;\012#    sub nyacasinh rephsinh by nyacarephsinh;\012    sub nyacasinh viramasinh by nyacahalantsinh;\012#    sub ttatthasinh uni200D viramasinh by ttatthahalantsinh;\012    sub ttatthasinh iivowelsignsinh by ttatthiivowelsinh;\012    sub ttatthasinh ivowelsignsinh by ttatthivowelsinh;\012#    sub ttatthasinh rephsinh by ttattharephsinh;\012#    sub ttatthasinh viramasinh by ttatthahalantsinh;\012#    sub tathasinh uni200D viramasinh by tathahalantsinh;\012    sub tathasinh iivowelsignsinh by tathiivowelsinh;\012    sub tathasinh ivowelsignsinh by tathivowelsinh;\012#    sub tathasinh rephsinh by tatharephsinh;\012#    sub tathasinh viramasinh by tathahalantsinh;\012    sub tavasinh uni200D viramasinh by tavahalantsinh;\012    sub tavasinh iivowelsignsinh by taviivowelsinh;\012    sub tavasinh ivowelsignsinh by tavivowelsinh;\012#    sub tavasinh rephsinh by tavarephsinh;\012    sub tavasinh viramasinh by tavahalantsinh;\012    sub dadhasinh uni200D viramasinh by dadhahalantsinh;\012    sub dadhasinh iivowelsignsinh by dadhiivowelsinh;\012    sub dadhasinh ivowelsignsinh by dadhivowelsinh;\012#    sub dadhasinh rephsinh by dadharephsinh;\012    sub dadhasinh viramasinh by dadhahalantsinh;\012    sub davasinh uni200D viramasinh by davahalantsinh;\012    sub davasinh iivowelsignsinh by daviivowelsinh;\012    sub davasinh ivowelsignsinh by davivowelsinh;\012#    sub davasinh rephsinh by davarephsinh;\012    sub davasinh viramasinh by davahalantsinh;\012    sub nathasinh uni200D viramasinh by nathahalantsinh;\012    sub nathasinh iivowelsignsinh by nathiivowelsinh;\012    sub nathasinh ivowelsignsinh by nathivowelsinh;\012#    sub nathasinh rephsinh by natharephsinh;\012    sub nathasinh viramasinh by nathahalantsinh;\012    sub nadasinh ivowelsignsinh by nadivowelsinh;\012#    sub nadasinh rephsinh by nadarephsinh;\012    sub nadhasinh iivowelsignsinh by nadhiivowelsinh;\012    sub nadhasinh ivowelsignsinh by nadhivowelsinh;\012#    sub nadhasinh rephsinh by nadharephsinh;\012    sub nadhasinh viramasinh by nadhahalantsinh;\012    sub navasinh uni200D viramasinh by navahalantsinh;\012    sub navasinh iivowelsignsinh by naviivowelsinh;\012    sub navasinh ivowelsignsinh by navivowelsinh;\012#    sub navasinh rephsinh by navarephsinh;\012    sub navasinh viramasinh by navahalantsinh;\012#    sub yapostsinh uni200D viramasinh by yaposthalantsinh;\012#    sub yapostsinh iivowelsignsinh by yapostiivowelsinh;\012#    sub yapostsinh ivowelsignsinh by yapostivowelsinh;\012#    sub yapostsinh rephsinh by yapostrephsinh;\012#    sub yapostsinh viramasinh by yaposthalantsinh;\012#    sub darasinh ivowelsignsinh by darivowelsinh;\012#    sub ndarasinh ivowelsignsinh by ndarivowelsinh;\012    sub nadarasinh iivowelsignsinh by nadariivowelsinh;\012    sub nadarasinh ivowelsignsinh by nadarivowelsinh;\012 } VowelLigatures;\012";
+code = "\012lookup RakarVowels {\012    lookupflag MarkAttachmentType @markAttachmentSet1;\012    sub rakarsinh uvowelsignsinh' by aevowelsignlowsinh;\012    sub rakarsinh uuvowelsignsinh' by aaevowelsignlowsinh;\012} RakarVowels;\012\012lookup RakarLigatures {\012    lookupflag MarkAttachmentType @markAttachmentSet1;\012    sub dasinh rakarsinh by darasinh;\012    sub ndasinh rakarsinh by ndarasinh;\012    sub nadasinh rakarsinh by nadarasinh;\012} RakarLigatures;\012\012lookupflag 0;\012sub yapostsinh' lookup YaPostToReph rephsinh' lookup RephToYaPost;\012#sub yasinh rephsinh' lookup YaPostRephLigature yapostsinh';\012\012sub aavowelsignsinh viramasinh by oovowelsignaltsinh;\012\012lookup RakarLong {\012    lookupflag MarkAttachmentType @markAttachmentSet1;\012    sub gasinh rakarsinh' by rakarsinh.long;\012    sub fasinh rakarsinh' by rakarsinh.long;\012    sub bhasinh rakarsinh' by rakarsinh.long;\012    sub hasinh rakarsinh' by rakarsinh.long;\012    sub tasinh rakarsinh' by rakarsinh.long;\012    sub shasinh rakarsinh' by rakarsinh.long;\012    sub kasinh rakarsinh' by rakarsinh.long;\012} RakarLong;\012\012sub @viramaAltSet viramasinh' by viramasinh.alt;\012\012sub @abvsMarkAttatchmentSet2 ivowelsignsinh' by ivowelsignsinh.alt; \012sub @abvsMarkAttatchmentSet2 iivowelsignsinh' by iivowelsignsinh.alt; \012\012sub @abvsMarkAttatchmentSet3 ivowelsignsinh' by ivowelsignsinh.alt2;\012sub @abvsMarkAttatchmentSet3 iivowelsignsinh' by iivowelsignsinh.alt2;\012\012sub @iVowelAlt3 ivowelsignsinh' by ivowelsignsinh.alt3;\012sub @iVowelAlt3 iivowelsignsinh' by iivowelsignsinh.alt3;\012\012lookup VowelLigatures {\012    lookupflag MarkAttachmentType @markAttachmentSet4;\012#    sub kasinh rephsinh viramasinh uni200D ssasinh by kassarephsinh;\012#    sub kasinh rephsinh viramasinh uni200D vasinh by kavarephsinh;\012#    sub kasinh uni200D viramasinh by kahalantsinh;\012#    sub kasinh iivowelsignsinh by kiivowelsinh;\012#    sub kasinh ivowelsignsinh by kivowelsinh;\012#    sub kasinh viramasinh by kahalantsinh;\012    sub khasinh uni200D viramasinh by khahalantsinh;\012    sub khasinh iivowelsignsinh by khiivowelsinh;\012    sub khasinh ivowelsignsinh by khivowelsinh;\012    sub khasinh viramasinh by khahalantsinh;\012#    sub gasinh iivowelsignsinh by giivowelsinh;\012#    sub gasinh ivowelsignsinh by givowelsinh;\012#    sub ghasinh ivowelsignsinh by ghivowelsinh;\012    sub ngasinh uni200D viramasinh by ngahalantsinh;\012    sub ngasinh iivowelsignsinh by ngiivowelsinh;\012    sub ngasinh ivowelsignsinh by ngivowelsinh;\012    sub ngasinh viramasinh by ngahalantsinh;\012#    sub nngasinh iivowelsignsinh by nngiivowelsinh;\012#    sub nngasinh ivowelsignsinh by nngivowelsinh;\012    sub casinh uni200D viramasinh by cahalantsinh;\012    sub casinh iivowelsignsinh by ciivowelsinh;\012    sub casinh ivowelsignsinh by civowelsinh;\012    sub casinh viramasinh by cahalantsinh;\012    sub chasinh uni200D viramasinh by chahalantsinh;\012    sub chasinh iivowelsignsinh by chiivowelsinh;\012    sub chasinh ivowelsignsinh by chivowelsinh;\012    sub chasinh viramasinh by chahalantsinh;\012    sub jasinh uni200D viramasinh by jahalantsinh;\012    sub jasinh iivowelsignsinh by jiivowelsinh;\012    sub jasinh ivowelsignsinh by jivowelsinh;\012    sub jasinh viramasinh by jahalantsinh;\012    sub jhasinh uni200D viramasinh by jhahalantsinh;\012    sub jhasinh iivowelsignsinh by jhiivowelsinh;\012    sub jhasinh ivowelsignsinh by jhivowelsinh;\012    sub jhasinh viramasinh by jhahalantsinh;\012    sub nyasinh iivowelsignsinh by nyiivowelsinh;\012    sub nyasinh ivowelsignsinh by nyivowelsinh;\012    sub jnyasinh iivowelsignsinh by jnyiivowelsinh;\012    sub jnyasinh ivowelsignsinh by jnyivowelsinh;\012    sub nyjasinh uni200D viramasinh by nyjahalantsinh;\012    sub nyjasinh iivowelsignsinh by nyjiivowelsinh;\012    sub nyjasinh ivowelsignsinh by nyjivowelsinh;\012    sub nyjasinh viramasinh by nyjahalantsinh;\012    sub ttasinh uni200D viramasinh by ttahalantsinh;\012    sub ttasinh iivowelsignsinh by ttiivowelsinh;\012    sub ttasinh ivowelsignsinh by ttivowelsinh;\012    sub ttasinh viramasinh by ttahalantsinh;\012#    sub tthasinh uni200D viramasinh by tthahalantsinh;\012    sub tthasinh iivowelsignsinh by tthiivowelsinh;\012    sub tthasinh ivowelsignsinh by tthivowelsinh;\012#    sub tthasinh viramasinh by tthahalantsinh;\012    sub ddasinh uni200D viramasinh by ddahalantsinh;\012    sub ddasinh iivowelsignsinh by ddiivowelsinh;\012    sub ddasinh ivowelsignsinh by ddivowelsinh;\012    sub ddasinh viramasinh by ddahalantsinh;\012#    sub ddhasinh uni200D viramasinh by ddhahalantsinh;\012    sub ddhasinh iivowelsignsinh by ddhiivowelsinh;\012    sub ddhasinh ivowelsignsinh by ddhivowelsinh;\012#    sub ddhasinh viramasinh by ddhahalantsinh;\012    sub nnasinh iivowelsignsinh by nniivowelsinh;\012    sub nnasinh ivowelsignsinh by nnivowelsinh;\012    sub nnddasinh uni200D viramasinh by nnddahalantsinh;\012    sub nnddasinh iivowelsignsinh by nnddiivowelsinh;\012    sub nnddasinh ivowelsignsinh by nnddivowelsinh;\012    sub nnddasinh viramasinh by nnddahalantsinh;\012#    sub tasinh rephsinh viramasinh uni200D thasinh by tatharephsinh;\012#    sub tasinh rephsinh viramasinh uni200D vasinh by tavarephsinh;\012#    sub tasinh iivowelsignsinh by tiivowelsinh;\012#    sub tasinh ivowelsignsinh by tivowelsinh;\012#    sub thasinh uni200D viramasinh by thahalantsinh;\012    sub thasinh iivowelsignsinh by thiivowelsinh;\012    sub thasinh ivowelsignsinh by thivowelsinh;\012#    sub thasinh viramasinh by thahalantsinh;\012#    sub dasinh rephsinh viramasinh uni200D dhasinh by dadharephsinh;\012#    sub dasinh rephsinh viramasinh uni200D vasinh by davarephsinh;\012#    sub dasinh iivowelsignsinh by diivowelsinh;\012#    sub dasinh ivowelsignsinh by divowelsinh;\012    sub dhasinh uni200D viramasinh by dhahalantsinh;\012    sub dhasinh iivowelsignsinh by dhiivowelsinh;\012    sub dhasinh ivowelsignsinh by dhivowelsinh;\012    sub dhasinh viramasinh by dhahalantsinh;\012#    sub nasinh rephsinh viramasinh uni200D dasinh by nadarephsinh;\012#    sub nasinh rephsinh viramasinh uni200D dhasinh by nadharephsinh;\012#    sub nasinh rephsinh viramasinh uni200D thasinh by natharephsinh;\012#    sub nasinh rephsinh viramasinh uni200D vasinh by navarephsinh;\012#    sub nasinh iivowelsignsinh by niivowelsinh;\012#    sub nasinh ivowelsignsinh by nivowelsinh;\012    sub ndasinh iivowelsignsinh by ndiivowelsinh;\012    sub ndasinh ivowelsignsinh by ndivowelsinh;\012#    sub pasinh iivowelsignsinh by piivowelsinh;\012#    sub pasinh ivowelsignsinh by pivowelsinh;\012#    sub phasinh uni200D viramasinh by phahalantsinh;\012    sub phasinh iivowelsignsinh by phiivowelsinh;\012    sub phasinh ivowelsignsinh by phivowelsinh;\012#    sub phasinh viramasinh by phahalantsinh;\012    sub basinh uni200D viramasinh by bahalantsinh;\012    sub basinh iivowelsignsinh by biivowelsinh;\012    sub basinh ivowelsignsinh by bivowelsinh;\012    sub basinh viramasinh by bahalantsinh;\012#    sub bhasinh iivowelsignsinh by bhiivowelsinh;\012#    sub bhasinh ivowelsignsinh by bhivowelsinh;\012    sub masinh uni200D viramasinh by mahalantsinh;\012    sub masinh iivowelsignsinh by miivowelsinh;\012    sub masinh ivowelsignsinh by mivowelsinh;\012    sub masinh viramasinh by mahalantsinh;\012    sub mbasinh uni200D viramasinh by mbahalantsinh;\012    sub mbasinh iivowelsignsinh by mbiivowelsinh;\012    sub mbasinh ivowelsignsinh by mbivowelsinh;\012    sub mbasinh viramasinh by mbahalantsinh;\012    sub yasinh iivowelsignsinh by yiivowelsinh;\012    sub yasinh ivowelsignsinh by yivowelsinh;\012#    sub rasinh uni200D viramasinh by rahalantsinh;\012    sub rasinh iivowelsignsinh by riivowelsinh;\012    sub rasinh ivowelsignsinh by rivowelsinh;\012#    sub rasinh viramasinh by rahalantsinh;\012#    sub lasinh iivowelsignsinh by liivowelsinh;\012#    sub lasinh ivowelsignsinh by livowelsinh;\012    sub vasinh uni200D viramasinh by vahalantsinh;\012    sub vasinh iivowelsignsinh by viivowelsinh;\012    sub vasinh ivowelsignsinh by vivowelsinh;\012    sub vasinh viramasinh by vahalantsinh;\012#    sub shasinh iivowelsignsinh by shiivowelsinh;\012#    sub shasinh ivowelsignsinh by shivowelsinh;\012#    sub ssasinh iivowelsignsinh by ssiivowelsinh;\012#    sub ssasinh ivowelsignsinh by ssivowelsinh;\012#    sub sasinh iivowelsignsinh by siivowelsinh;\012#    sub sasinh ivowelsignsinh by sivowelsinh;\012#    sub hasinh iivowelsignsinh by hiivowelsinh;\012#    sub hasinh ivowelsignsinh by hivowelsinh;\012    sub llasinh iivowelsignsinh by lliivowelsinh;\012    sub llasinh ivowelsignsinh by llivowelsinh;\012#    sub fasinh iivowelsignsinh by fiivowelsinh;\012#    sub fasinh ivowelsignsinh by fivowelsinh;\012    sub kavasinh uni200D viramasinh by kavahalantsinh;\012    sub kavasinh iivowelsignsinh by kaviivowelsinh;\012    sub kavasinh ivowelsignsinh by kavivowelsinh;\012#    sub kavasinh rephsinh by kavarephsinh;\012    sub kavasinh viramasinh by kavahalantsinh;\012    sub kassasinh iivowelsignsinh by kassiivowelsinh;\012#    sub kassasinh ivowelsignsinh by kassivowelsinh;\012#    sub kassasinh rephsinh by kassarephsinh;\012    sub gadhasinh uni200D viramasinh by gadhahalantsinh;\012    sub gadhasinh iivowelsignsinh by gadhiivowelsinh;\012    sub gadhasinh ivowelsignsinh by gadhivowelsinh;\012#    sub gadhasinh rephsinh by gadharephsinh;\012    sub gadhasinh viramasinh by gadhahalantsinh;\012    sub nyacasinh uni200D viramasinh by nyacahalantsinh;\012    sub nyacasinh iivowelsignsinh by nyaciivowelsinh;\012    sub nyacasinh ivowelsignsinh by nyacivowelsinh;\012#    sub nyacasinh rephsinh by nyacarephsinh;\012    sub nyacasinh viramasinh by nyacahalantsinh;\012#    sub ttatthasinh uni200D viramasinh by ttatthahalantsinh;\012    sub ttatthasinh iivowelsignsinh by ttatthiivowelsinh;\012    sub ttatthasinh ivowelsignsinh by ttatthivowelsinh;\012#    sub ttatthasinh rephsinh by ttattharephsinh;\012#    sub ttatthasinh viramasinh by ttatthahalantsinh;\012#    sub tathasinh uni200D viramasinh by tathahalantsinh;\012    sub tathasinh iivowelsignsinh by tathiivowelsinh;\012    sub tathasinh ivowelsignsinh by tathivowelsinh;\012#    sub tathasinh rephsinh by tatharephsinh;\012#    sub tathasinh viramasinh by tathahalantsinh;\012    sub tavasinh uni200D viramasinh by tavahalantsinh;\012    sub tavasinh iivowelsignsinh by taviivowelsinh;\012    sub tavasinh ivowelsignsinh by tavivowelsinh;\012#    sub tavasinh rephsinh by tavarephsinh;\012    sub tavasinh viramasinh by tavahalantsinh;\012    sub dadhasinh uni200D viramasinh by dadhahalantsinh;\012    sub dadhasinh iivowelsignsinh by dadhiivowelsinh;\012    sub dadhasinh ivowelsignsinh by dadhivowelsinh;\012#    sub dadhasinh rephsinh by dadharephsinh;\012    sub dadhasinh viramasinh by dadhahalantsinh;\012    sub davasinh uni200D viramasinh by davahalantsinh;\012    sub davasinh iivowelsignsinh by daviivowelsinh;\012    sub davasinh ivowelsignsinh by davivowelsinh;\012#    sub davasinh rephsinh by davarephsinh;\012    sub davasinh viramasinh by davahalantsinh;\012    sub nathasinh uni200D viramasinh by nathahalantsinh;\012    sub nathasinh iivowelsignsinh by nathiivowelsinh;\012    sub nathasinh ivowelsignsinh by nathivowelsinh;\012#    sub nathasinh rephsinh by natharephsinh;\012    sub nathasinh viramasinh by nathahalantsinh;\012    sub nadasinh ivowelsignsinh by nadivowelsinh;\012#    sub nadasinh rephsinh by nadarephsinh;\012    sub nadhasinh iivowelsignsinh by nadhiivowelsinh;\012    sub nadhasinh ivowelsignsinh by nadhivowelsinh;\012#    sub nadhasinh rephsinh by nadharephsinh;\012    sub nadhasinh viramasinh by nadhahalantsinh;\012    sub navasinh uni200D viramasinh by navahalantsinh;\012    sub navasinh iivowelsignsinh by naviivowelsinh;\012    sub navasinh ivowelsignsinh by navivowelsinh;\012#    sub navasinh rephsinh by navarephsinh;\012    sub navasinh viramasinh by navahalantsinh;\012#    sub yapostsinh uni200D viramasinh by yaposthalantsinh;\012#    sub yapostsinh iivowelsignsinh by yapostiivowelsinh;\012#    sub yapostsinh ivowelsignsinh by yapostivowelsinh;\012#    sub yapostsinh rephsinh by yapostrephsinh;\012#    sub yapostsinh viramasinh by yaposthalantsinh;\012#    sub darasinh ivowelsignsinh by darivowelsinh;\012#    sub ndarasinh ivowelsignsinh by ndarivowelsinh;\012    sub nadarasinh iivowelsignsinh by nadariivowelsinh;\012    sub nadarasinh ivowelsignsinh by nadarivowelsinh;\012 } VowelLigatures;\012";
 name = abvs;
 },
 {
diff --git a/sources/NotoSansSinhala.glyphspackage/glyphs/iivowelsignsinh.alt3.glyph b/sources/NotoSansSinhala.glyphspackage/glyphs/iivowelsignsinh.alt3.glyph
index 39fbe6f5..46886c6b 100644
--- a/sources/NotoSansSinhala.glyphspackage/glyphs/iivowelsignsinh.alt3.glyph
+++ b/sources/NotoSansSinhala.glyphspackage/glyphs/iivowelsignsinh.alt3.glyph
@@ -216,56 +216,62 @@ nodes = (
 width = 0;
 },
 {
+anchors = (
+{
+name = _top;
+position = "{-583, 565}";
+}
+);
 layerId = "C62AB4C0-B70D-46F6-9B13-45217A94AFC9";
 paths = (
 {
 closed = 1;
 nodes = (
-"400 894 OFFCURVE",
-"328 791 OFFCURVE",
-"328 702 CURVE SMOOTH",
-"328 643 OFFCURVE",
-"344 606 OFFCURVE",
-"371 565 CURVE",
-"487 615 LINE",
-"476 630 OFFCURVE",
-"468 650 OFFCURVE",
-"468 667 CURVE SMOOTH",
-"468 703 OFFCURVE",
-"493 746 OFFCURVE",
-"656 746 CURVE SMOOTH",
-"692 746 OFFCURVE",
-"752 742 OFFCURVE",
-"786 736 CURVE",
-"848 732 OFFCURVE",
-"870 710 OFFCURVE",
-"870 682 CURVE SMOOTH",
-"870 660 OFFCURVE",
-"853 651 OFFCURVE",
-"836 651 CURVE SMOOTH",
-"805 651 OFFCURVE",
-"794 667 OFFCURVE",
-"794 689 CURVE SMOOTH",
-"794 729 OFFCURVE",
-"821 750 OFFCURVE",
-"883 794 CURVE",
-"754 811 LINE",
-"705 775 OFFCURVE",
-"673 740 OFFCURVE",
-"673 680 CURVE SMOOTH",
-"673 596 OFFCURVE",
-"762 561 OFFCURVE",
-"844 561 CURVE SMOOTH",
-"940 561 OFFCURVE",
-"996 605 OFFCURVE",
-"996 692 CURVE SMOOTH",
-"996 776 OFFCURVE",
-"946 894 OFFCURVE",
-"659 894 CURVE SMOOTH"
+"-680 894 OFFCURVE",
+"-752 791 OFFCURVE",
+"-752 702 CURVE SMOOTH",
+"-752 643 OFFCURVE",
+"-736 606 OFFCURVE",
+"-709 565 CURVE",
+"-593 615 LINE",
+"-604 630 OFFCURVE",
+"-612 650 OFFCURVE",
+"-612 667 CURVE SMOOTH",
+"-612 703 OFFCURVE",
+"-587 746 OFFCURVE",
+"-424 746 CURVE SMOOTH",
+"-388 746 OFFCURVE",
+"-328 742 OFFCURVE",
+"-294 736 CURVE",
+"-232 732 OFFCURVE",
+"-210 710 OFFCURVE",
+"-210 682 CURVE SMOOTH",
+"-210 660 OFFCURVE",
+"-227 651 OFFCURVE",
+"-244 651 CURVE SMOOTH",
+"-275 651 OFFCURVE",
+"-286 667 OFFCURVE",
+"-286 689 CURVE SMOOTH",
+"-286 729 OFFCURVE",
+"-259 750 OFFCURVE",
+"-197 794 CURVE",
+"-326 811 LINE",
+"-375 775 OFFCURVE",
+"-407 740 OFFCURVE",
+"-407 680 CURVE SMOOTH",
+"-407 596 OFFCURVE",
+"-318 561 OFFCURVE",
+"-236 561 CURVE SMOOTH",
+"-140 561 OFFCURVE",
+"-84 605 OFFCURVE",
+"-84 692 CURVE SMOOTH",
+"-84 776 OFFCURVE",
+"-134 894 OFFCURVE",
+"-421 894 CURVE SMOOTH"
 );
 }
 );
-width = 1093;
+width = 0;
 },
 {
 components = (
diff --git a/sources/NotoSansSinhala.glyphspackage/glyphs/ivowelsignsinh.alt3.glyph b/sources/NotoSansSinhala.glyphspackage/glyphs/ivowelsignsinh.alt3.glyph
new file mode 100644
index 00000000..711dabb9
--- /dev/null
+++ b/sources/NotoSansSinhala.glyphspackage/glyphs/ivowelsignsinh.alt3.glyph
@@ -0,0 +1,290 @@
+{
+color = 9;
+glyphname = ivowelsignsinh.alt3;
+layers = (
+{
+layerId = "CF8E177F-0CDC-40C1-8828-F158AA64F32E";
+paths = (
+{
+closed = 1;
+nodes = (
+"107 860 OFFCURVE",
+"45 803 OFFCURVE",
+"45 717 CURVE SMOOTH",
+"45 639 OFFCURVE",
+"93 592 OFFCURVE",
+"153 561 CURVE",
+"165 584 LINE",
+"111 612 OFFCURVE",
+"72 652 OFFCURVE",
+"72 716 CURVE SMOOTH",
+"72 792 OFFCURVE",
+"125 834 OFFCURVE",
+"213 834 CURVE SMOOTH",
+"312 834 OFFCURVE",
+"352 779 OFFCURVE",
+"352 703 CURVE SMOOTH",
+"352 668 OFFCURVE",
+"344 632 OFFCURVE",
+"333 601 CURVE",
+"358 592 LINE",
+"369 620 OFFCURVE",
+"379 665 OFFCURVE",
+"379 703 CURVE SMOOTH",
+"379 788 OFFCURVE",
+"332 860 OFFCURVE",
+"213 860 CURVE SMOOTH"
+);
+}
+);
+width = 399;
+},
+{
+layerId = "7977A986-4EFB-4152-84F8-5A02CD382AAF";
+paths = (
+{
+closed = 1;
+nodes = (
+"-381 860 OFFCURVE",
+"-448 802 OFFCURVE",
+"-448 718 CURVE SMOOTH",
+"-448 636 OFFCURVE",
+"-381 585 OFFCURVE",
+"-228 581 CURVE",
+"-228 605 LINE",
+"-363 606 OFFCURVE",
+"-421 650 OFFCURVE",
+"-421 718 CURVE SMOOTH",
+"-421 791 OFFCURVE",
+"-362 834 OFFCURVE",
+"-238 834 CURVE SMOOTH",
+"-107 834 OFFCURVE",
+"-45 784 OFFCURVE",
+"-45 696 CURVE SMOOTH",
+"-45 644 OFFCURVE",
+"-74 605 OFFCURVE",
+"-101 584 CURVE",
+"-77 573 LINE",
+"-50 591 OFFCURVE",
+"-18 640 OFFCURVE",
+"-18 696 CURVE SMOOTH",
+"-18 790 OFFCURVE",
+"-80 860 OFFCURVE",
+"-238 860 CURVE SMOOTH"
+);
+}
+);
+width = 0;
+},
+{
+layerId = "56AEB5FB-BA14-4784-B08F-18006463EEDB";
+paths = (
+{
+closed = 1;
+nodes = (
+"98 876 OFFCURVE",
+"48 793 OFFCURVE",
+"48 718 CURVE SMOOTH",
+"48 628 OFFCURVE",
+"107 573 OFFCURVE",
+"161 544 CURVE",
+"194 600 LINE",
+"147 629 OFFCURVE",
+"115 660 OFFCURVE",
+"115 715 CURVE SMOOTH",
+"115 763 OFFCURVE",
+"147 810 OFFCURVE",
+"237 810 CURVE SMOOTH",
+"328 810 OFFCURVE",
+"355 758 OFFCURVE",
+"355 696 CURVE SMOOTH",
+"355 670 OFFCURVE",
+"348 634 OFFCURVE",
+"341 617 CURVE",
+"405 598 LINE",
+"414 627 OFFCURVE",
+"422 667 OFFCURVE",
+"422 702 CURVE SMOOTH",
+"422 791 OFFCURVE",
+"376 876 OFFCURVE",
+"238 876 CURVE SMOOTH"
+);
+}
+);
+width = 434;
+},
+{
+anchors = (
+{
+name = _top;
+position = "{-475, 593}";
+}
+);
+layerId = UUID0;
+paths = (
+{
+closed = 1;
+nodes = (
+"-507 904 OFFCURVE",
+"-623 822 OFFCURVE",
+"-623 704 CURVE SMOOTH",
+"-623 634 OFFCURVE",
+"-581 566 OFFCURVE",
+"-539 540 CURVE",
+"-475 593 LINE",
+"-544 619 OFFCURVE",
+"-551 666 OFFCURVE",
+"-551 708 CURVE SMOOTH",
+"-551 779 OFFCURVE",
+"-477 834 OFFCURVE",
+"-366 834 CURVE SMOOTH",
+"-189 834 OFFCURVE",
+"-142 753 OFFCURVE",
+"-142 692 CURVE SMOOTH",
+"-142 636 OFFCURVE",
+"-179 640 OFFCURVE",
+"-209 624 CURVE",
+"-163 582 LINE",
+"-98 611 OFFCURVE",
+"-70 635 OFFCURVE",
+"-70 695 CURVE SMOOTH",
+"-70 788 OFFCURVE",
+"-138 904 OFFCURVE",
+"-365 904 CURVE SMOOTH"
+);
+}
+);
+width = 0;
+},
+{
+anchors = (
+{
+name = _top;
+position = "{-313, 599}";
+}
+);
+layerId = "C62AB4C0-B70D-46F6-9B13-45217A94AFC9";
+paths = (
+{
+closed = 1;
+nodes = (
+"-498 894 OFFCURVE",
+"-579 782 OFFCURVE",
+"-579 684 CURVE SMOOTH",
+"-579 584 OFFCURVE",
+"-508 499 OFFCURVE",
+"-371 499 CURVE",
+"-313 599 LINE",
+"-428 599 OFFCURVE",
+"-439 647 OFFCURVE",
+"-439 676 CURVE SMOOTH",
+"-439 710 OFFCURVE",
+"-408 746 OFFCURVE",
+"-288 746 CURVE SMOOTH",
+"-173 746 OFFCURVE",
+"-140 719 OFFCURVE",
+"-140 671 CURVE SMOOTH",
+"-140 654 OFFCURVE",
+"-140 619 OFFCURVE",
+"-180 597 CURVE",
+"-111 536 LINE",
+"-55 536 OFFCURVE",
+"0 590 OFFCURVE",
+"0 683 CURVE SMOOTH",
+"0 777 OFFCURVE",
+"-51 894 OFFCURVE",
+"-288 894 CURVE SMOOTH"
+);
+}
+);
+width = 0;
+},
+{
+layerId = "DC607D84-584B-45E6-A9EB-D1AF471CA2AE";
+paths = (
+{
+closed = 1;
+nodes = (
+"66 894 OFFCURVE",
+"13 791 OFFCURVE",
+"13 705 CURVE SMOOTH",
+"13 617 OFFCURVE",
+"57 558 OFFCURVE",
+"133 509 CURVE",
+"206 613 LINE",
+"168 637 OFFCURVE",
+"148 658 OFFCURVE",
+"148 691 CURVE SMOOTH",
+"148 723 OFFCURVE",
+"174 755 OFFCURVE",
+"256 755 CURVE SMOOTH",
+"349 755 OFFCURVE",
+"365 722 OFFCURVE",
+"365 677 CURVE SMOOTH",
+"365 663 OFFCURVE",
+"361 642 OFFCURVE",
+"357 631 CURVE",
+"483 599 LINE",
+"490 623 OFFCURVE",
+"500 665 OFFCURVE",
+"500 706 CURVE SMOOTH",
+"500 789 OFFCURVE",
+"458 894 OFFCURVE",
+"257 894 CURVE SMOOTH"
+);
+}
+);
+width = 502;
+},
+{
+anchors = (
+{
+name = _top;
+position = "{-375, 593}";
+}
+);
+associatedMasterId = UUID0;
+layerId = "8F25276D-4F91-4426-B24C-788678F0898B";
+name = "26 Dec 24 at 16:08";
+paths = (
+{
+closed = 1;
+nodes = (
+"-497 886 OFFCURVE",
+"-599 795 OFFCURVE",
+"-599 688 CURVE SMOOTH",
+"-599 617 OFFCURVE",
+"-548 547 OFFCURVE",
+"-439 540 CURVE",
+"-375 593 LINE",
+"-511 600 OFFCURVE",
+"-527 650 OFFCURVE",
+"-527 692 CURVE SMOOTH",
+"-527 752 OFFCURVE",
+"-467 816 OFFCURVE",
+"-326 816 CURVE SMOOTH",
+"-149 816 OFFCURVE",
+"-102 753 OFFCURVE",
+"-102 692 CURVE SMOOTH",
+"-102 636 OFFCURVE",
+"-149 590 OFFCURVE",
+"-179 574 CURVE",
+"-133 532 LINE",
+"-68 561 OFFCURVE",
+"-30 635 OFFCURVE",
+"-30 695 CURVE SMOOTH",
+"-30 788 OFFCURVE",
+"-98 886 OFFCURVE",
+"-325 886 CURVE SMOOTH"
+);
+}
+);
+width = 0;
+}
+);
+leftKerningGroup = dasinh;
+rightKerningGroup = dasinh;
+script = sinhala;
+category = Mark;
+subCategory = Nonspacing;
+}
diff --git a/sources/NotoSansSinhala.glyphspackage/glyphs/nasinh.glyph b/sources/NotoSansSinhala.glyphspackage/glyphs/nasinh.glyph
index 915acee9..e3cded31 100644
--- a/sources/NotoSansSinhala.glyphspackage/glyphs/nasinh.glyph
+++ b/sources/NotoSansSinhala.glyphspackage/glyphs/nasinh.glyph
@@ -366,7 +366,7 @@ position = "{545, 730}";
 },
 {
 name = top;
-position = "{451, 533}";
+position = "{458, 533}";
 },
 {
 name = uvowel;
diff --git a/sources/NotoSansSinhala.glyphspackage/glyphs/tasinh.glyph b/sources/NotoSansSinhala.glyphspackage/glyphs/tasinh.glyph
index 714f46b4..0f47f73d 100644
--- a/sources/NotoSansSinhala.glyphspackage/glyphs/tasinh.glyph
+++ b/sources/NotoSansSinhala.glyphspackage/glyphs/tasinh.glyph
@@ -380,7 +380,7 @@ position = "{545, 730}";
 },
 {
 name = top;
-position = "{401, 533}";
+position = "{421, 536}";
 },
 {
 name = virama;
diff --git a/sources/NotoSansSinhala.glyphspackage/order.plist b/sources/NotoSansSinhala.glyphspackage/order.plist
index 660edd87..3f1294ce 100644
--- a/sources/NotoSansSinhala.glyphspackage/order.plist
+++ b/sources/NotoSansSinhala.glyphspackage/order.plist
@@ -135,6 +135,7 @@ ivowelsignsinh.alt,
 iivowelsignsinh.alt,
 ivowelsignsinh.alt2,
 iivowelsignsinh.alt2,
+ivowelsignsinh.alt3,
 iivowelsignsinh.alt3,
 uvowelsignsinh.alt,
 uuvowelsignsinh.alt,