diff --git a/images/devanagari/devanagari-abvm-after.svg b/images/devanagari/devanagari-abvm-after.svg
new file mode 100644
index 0000000..4409aa7
--- /dev/null
+++ b/images/devanagari/devanagari-abvm-after.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-abvm-before.svg b/images/devanagari/devanagari-abvm-before.svg
new file mode 100644
index 0000000..6500509
--- /dev/null
+++ b/images/devanagari/devanagari-abvm-before.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-abvm.svg b/images/devanagari/devanagari-abvm.svg
new file mode 100644
index 0000000..5632626
--- /dev/null
+++ b/images/devanagari/devanagari-abvm.svg
@@ -0,0 +1,57 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-abvs-after.svg b/images/devanagari/devanagari-abvs-after.svg
new file mode 100644
index 0000000..fa386d1
--- /dev/null
+++ b/images/devanagari/devanagari-abvs-after.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-abvs-before.svg b/images/devanagari/devanagari-abvs-before.svg
new file mode 100644
index 0000000..84625b0
--- /dev/null
+++ b/images/devanagari/devanagari-abvs-before.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-abvs.svg b/images/devanagari/devanagari-abvs.svg
new file mode 100644
index 0000000..6ccce9d
--- /dev/null
+++ b/images/devanagari/devanagari-abvs.svg
@@ -0,0 +1,65 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-akhn-jnya-after.svg b/images/devanagari/devanagari-akhn-jnya-after.svg
new file mode 100644
index 0000000..bdbaa0e
--- /dev/null
+++ b/images/devanagari/devanagari-akhn-jnya-after.svg
@@ -0,0 +1,18 @@
+
+
diff --git a/images/devanagari/devanagari-akhn-jnya-before.svg b/images/devanagari/devanagari-akhn-jnya-before.svg
new file mode 100644
index 0000000..d77f90e
--- /dev/null
+++ b/images/devanagari/devanagari-akhn-jnya-before.svg
@@ -0,0 +1,30 @@
+
+
diff --git a/images/devanagari/devanagari-akhn-jnya.svg b/images/devanagari/devanagari-akhn-jnya.svg
new file mode 100644
index 0000000..80e383b
--- /dev/null
+++ b/images/devanagari/devanagari-akhn-jnya.svg
@@ -0,0 +1,61 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-akhn-kssa-after.svg b/images/devanagari/devanagari-akhn-kssa-after.svg
new file mode 100644
index 0000000..8df7db6
--- /dev/null
+++ b/images/devanagari/devanagari-akhn-kssa-after.svg
@@ -0,0 +1,18 @@
+
+
diff --git a/images/devanagari/devanagari-akhn-kssa-before.svg b/images/devanagari/devanagari-akhn-kssa-before.svg
new file mode 100644
index 0000000..0bb154f
--- /dev/null
+++ b/images/devanagari/devanagari-akhn-kssa-before.svg
@@ -0,0 +1,30 @@
+
+
diff --git a/images/devanagari/devanagari-akhn-kssa.svg b/images/devanagari/devanagari-akhn-kssa.svg
new file mode 100644
index 0000000..565b0c9
--- /dev/null
+++ b/images/devanagari/devanagari-akhn-kssa.svg
@@ -0,0 +1,61 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-blwf-after.svg b/images/devanagari/devanagari-blwf-after.svg
new file mode 100644
index 0000000..82a05cd
--- /dev/null
+++ b/images/devanagari/devanagari-blwf-after.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-blwf-before.svg b/images/devanagari/devanagari-blwf-before.svg
new file mode 100644
index 0000000..c81baed
--- /dev/null
+++ b/images/devanagari/devanagari-blwf-before.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-blwf.svg b/images/devanagari/devanagari-blwf.svg
new file mode 100644
index 0000000..afd741a
--- /dev/null
+++ b/images/devanagari/devanagari-blwf.svg
@@ -0,0 +1,61 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-blwm-after.svg b/images/devanagari/devanagari-blwm-after.svg
new file mode 100644
index 0000000..6a90a8a
--- /dev/null
+++ b/images/devanagari/devanagari-blwm-after.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-blwm-before.svg b/images/devanagari/devanagari-blwm-before.svg
new file mode 100644
index 0000000..2b366cb
--- /dev/null
+++ b/images/devanagari/devanagari-blwm-before.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-blwm.svg b/images/devanagari/devanagari-blwm.svg
new file mode 100644
index 0000000..ea8e831
--- /dev/null
+++ b/images/devanagari/devanagari-blwm.svg
@@ -0,0 +1,57 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-blws-after.svg b/images/devanagari/devanagari-blws-after.svg
new file mode 100644
index 0000000..e41c322
--- /dev/null
+++ b/images/devanagari/devanagari-blws-after.svg
@@ -0,0 +1,18 @@
+
+
diff --git a/images/devanagari/devanagari-blws-before.svg b/images/devanagari/devanagari-blws-before.svg
new file mode 100644
index 0000000..52e2dab
--- /dev/null
+++ b/images/devanagari/devanagari-blws-before.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-blws.svg b/images/devanagari/devanagari-blws.svg
new file mode 100644
index 0000000..03074b5
--- /dev/null
+++ b/images/devanagari/devanagari-blws.svg
@@ -0,0 +1,53 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-cjct-after.svg b/images/devanagari/devanagari-cjct-after.svg
new file mode 100644
index 0000000..1808128
--- /dev/null
+++ b/images/devanagari/devanagari-cjct-after.svg
@@ -0,0 +1,18 @@
+
+
diff --git a/images/devanagari/devanagari-cjct-before.svg b/images/devanagari/devanagari-cjct-before.svg
new file mode 100644
index 0000000..000530e
--- /dev/null
+++ b/images/devanagari/devanagari-cjct-before.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/images/devanagari/devanagari-cjct.svg b/images/devanagari/devanagari-cjct.svg
new file mode 100644
index 0000000..e9a55ae
--- /dev/null
+++ b/images/devanagari/devanagari-cjct.svg
@@ -0,0 +1,58 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-eyelash-ra-after.svg b/images/devanagari/devanagari-eyelash-ra-after.svg
new file mode 100644
index 0000000..b0bea34
--- /dev/null
+++ b/images/devanagari/devanagari-eyelash-ra-after.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-eyelash-ra-before.svg b/images/devanagari/devanagari-eyelash-ra-before.svg
new file mode 100644
index 0000000..18b89ab
--- /dev/null
+++ b/images/devanagari/devanagari-eyelash-ra-before.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-eyelash-ra.svg b/images/devanagari/devanagari-eyelash-ra.svg
new file mode 100644
index 0000000..966761c
--- /dev/null
+++ b/images/devanagari/devanagari-eyelash-ra.svg
@@ -0,0 +1,61 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-half-after.svg b/images/devanagari/devanagari-half-after.svg
new file mode 100644
index 0000000..14069e6
--- /dev/null
+++ b/images/devanagari/devanagari-half-after.svg
@@ -0,0 +1,18 @@
+
+
diff --git a/images/devanagari/devanagari-half-before.svg b/images/devanagari/devanagari-half-before.svg
new file mode 100644
index 0000000..eb3b2a8
--- /dev/null
+++ b/images/devanagari/devanagari-half-before.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-half.svg b/images/devanagari/devanagari-half.svg
new file mode 100644
index 0000000..63ab0e0
--- /dev/null
+++ b/images/devanagari/devanagari-half.svg
@@ -0,0 +1,57 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-haln-after.svg b/images/devanagari/devanagari-haln-after.svg
new file mode 100644
index 0000000..e9fa4ce
--- /dev/null
+++ b/images/devanagari/devanagari-haln-after.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-haln-before.svg b/images/devanagari/devanagari-haln-before.svg
new file mode 100644
index 0000000..e9fa4ce
--- /dev/null
+++ b/images/devanagari/devanagari-haln-before.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-haln.svg b/images/devanagari/devanagari-haln.svg
new file mode 100644
index 0000000..8502763
--- /dev/null
+++ b/images/devanagari/devanagari-haln.svg
@@ -0,0 +1,65 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-matra-position-after.svg b/images/devanagari/devanagari-matra-position-after.svg
new file mode 100644
index 0000000..b51658b
--- /dev/null
+++ b/images/devanagari/devanagari-matra-position-after.svg
@@ -0,0 +1,38 @@
+
+
diff --git a/images/devanagari/devanagari-matra-position-before.svg b/images/devanagari/devanagari-matra-position-before.svg
new file mode 100644
index 0000000..4da2719
--- /dev/null
+++ b/images/devanagari/devanagari-matra-position-before.svg
@@ -0,0 +1,42 @@
+
+
diff --git a/images/devanagari/devanagari-matra-position.svg b/images/devanagari/devanagari-matra-position.svg
new file mode 100644
index 0000000..f2becee
--- /dev/null
+++ b/images/devanagari/devanagari-matra-position.svg
@@ -0,0 +1,93 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-nukt-after.svg b/images/devanagari/devanagari-nukt-after.svg
new file mode 100644
index 0000000..a939918
--- /dev/null
+++ b/images/devanagari/devanagari-nukt-after.svg
@@ -0,0 +1,18 @@
+
+
diff --git a/images/devanagari/devanagari-nukt-before.svg b/images/devanagari/devanagari-nukt-before.svg
new file mode 100644
index 0000000..a958556
--- /dev/null
+++ b/images/devanagari/devanagari-nukt-before.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-nukt.svg b/images/devanagari/devanagari-nukt.svg
new file mode 100644
index 0000000..7fa733d
--- /dev/null
+++ b/images/devanagari/devanagari-nukt.svg
@@ -0,0 +1,57 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-pres-after.svg b/images/devanagari/devanagari-pres-after.svg
new file mode 100644
index 0000000..791225f
--- /dev/null
+++ b/images/devanagari/devanagari-pres-after.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-pres-before.svg b/images/devanagari/devanagari-pres-before.svg
new file mode 100644
index 0000000..754703c
--- /dev/null
+++ b/images/devanagari/devanagari-pres-before.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-pres.svg b/images/devanagari/devanagari-pres.svg
new file mode 100644
index 0000000..62bb9d2
--- /dev/null
+++ b/images/devanagari/devanagari-pres.svg
@@ -0,0 +1,57 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-psts-after.svg b/images/devanagari/devanagari-psts-after.svg
new file mode 100644
index 0000000..9746f93
--- /dev/null
+++ b/images/devanagari/devanagari-psts-after.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-psts-before.svg b/images/devanagari/devanagari-psts-before.svg
new file mode 100644
index 0000000..4f48919
--- /dev/null
+++ b/images/devanagari/devanagari-psts-before.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-psts.svg b/images/devanagari/devanagari-psts.svg
new file mode 100644
index 0000000..7446b91
--- /dev/null
+++ b/images/devanagari/devanagari-psts.svg
@@ -0,0 +1,57 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-reph-position-after.svg b/images/devanagari/devanagari-reph-position-after.svg
new file mode 100644
index 0000000..3ac5fb3
--- /dev/null
+++ b/images/devanagari/devanagari-reph-position-after.svg
@@ -0,0 +1,30 @@
+
+
diff --git a/images/devanagari/devanagari-reph-position-before.svg b/images/devanagari/devanagari-reph-position-before.svg
new file mode 100644
index 0000000..fe20cc9
--- /dev/null
+++ b/images/devanagari/devanagari-reph-position-before.svg
@@ -0,0 +1,34 @@
+
+
diff --git a/images/devanagari/devanagari-reph-position.svg b/images/devanagari/devanagari-reph-position.svg
new file mode 100644
index 0000000..8488bfe
--- /dev/null
+++ b/images/devanagari/devanagari-reph-position.svg
@@ -0,0 +1,77 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-rkrf-after.svg b/images/devanagari/devanagari-rkrf-after.svg
new file mode 100644
index 0000000..cd7692d
--- /dev/null
+++ b/images/devanagari/devanagari-rkrf-after.svg
@@ -0,0 +1,18 @@
+
+
diff --git a/images/devanagari/devanagari-rkrf-before.svg b/images/devanagari/devanagari-rkrf-before.svg
new file mode 100644
index 0000000..8e5726d
--- /dev/null
+++ b/images/devanagari/devanagari-rkrf-before.svg
@@ -0,0 +1,30 @@
+
+
diff --git a/images/devanagari/devanagari-rkrf.svg b/images/devanagari/devanagari-rkrf.svg
new file mode 100644
index 0000000..dff22c1
--- /dev/null
+++ b/images/devanagari/devanagari-rkrf.svg
@@ -0,0 +1,61 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-rphf-after.svg b/images/devanagari/devanagari-rphf-after.svg
new file mode 100644
index 0000000..e0aaaad
--- /dev/null
+++ b/images/devanagari/devanagari-rphf-after.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/images/devanagari/devanagari-rphf-before.svg b/images/devanagari/devanagari-rphf-before.svg
new file mode 100644
index 0000000..e0199fd
--- /dev/null
+++ b/images/devanagari/devanagari-rphf-before.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-rphf.svg b/images/devanagari/devanagari-rphf.svg
new file mode 100644
index 0000000..cf976fc
--- /dev/null
+++ b/images/devanagari/devanagari-rphf.svg
@@ -0,0 +1,61 @@
+
+
+
+
diff --git a/images/devanagari/devanagari-svg-image-generation-log.md b/images/devanagari/devanagari-svg-image-generation-log.md
new file mode 100644
index 0000000..c85b53d
--- /dev/null
+++ b/images/devanagari/devanagari-svg-image-generation-log.md
@@ -0,0 +1,203 @@
+# Commands used to generate the images in [opentype-shaping-devanagari.md](../../opentype-shaping-devanagari.md)
+
+## Arrow general
+
+hb-view --font-size=110 --output-file=right-arrow.svg --background=FFFFFF00 --margin=0,0,0,0 /usr/share/fonts/opentype/gentiumplus/GentiumPlus-R.ttf --unicodes=2192
+
+
+> Note: always use `--features=-init` in examples where the `init`
+> feature itself is not being explained.
+
+
+## 3.1 `locl`
+
+> Note: Noto Devanagari has a 'MAR' locl feature.
+
+
+
+## 3.2 `nukt`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-nukt-before.svg --features=-init,-nukt --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=092b,25cc,093c
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-nukt-after.svg --features=-init,+nukt --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=092b,093c
+
+svg_stack --direction=h devanagari-nukt-before.svg right-arrow.svg devanagari-nukt-after.svg > devanagari-nukt.svg
+
+
+
+## 3.3 `akhn`
+
+### KSsa
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-akhn-kssa-before.svg --features=-init,-akhn --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0915,25cc,094d,0937
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-akhn-kssa-after.svg --features=-init,+akhn --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0915,094d,0937
+
+svg_stack --direction=h devanagari-akhn-kssa-before.svg right-arrow.svg devanagari-akhn-kssa-after.svg > devanagari-akhn-kssa.svg
+
+### JNya
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-akhn-jnya-before.svg --features=-init,-akhn --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=091c,25cc,094d,091e
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-akhn-jnya-after.svg --features=-init,+akhn --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=091c,094d,091e
+
+svg_stack --direction=h devanagari-akhn-jnya-before.svg right-arrow.svg devanagari-akhn-jnya-after.svg > devanagari-akhn-jnya.svg
+
+
+## 3.4 `rphf`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-rphf-before.svg --features=-init,-rphf --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0930,25cc,094d
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-rphf-after.svg --features=-init,+rphf --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0930,094d,25cc
+
+svg_stack --direction=h devanagari-rphf-before.svg right-arrow.svg devanagari-rphf-after.svg > devanagari-rphf.svg
+
+
+## 3.5 `rkrf`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-rkrf-before.svg --features=-init,-rkrf,-blwf --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=091d,25cc,094d,0930
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-rkrf-after.svg --features=-init,+rkrf --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=091d,094d,0930
+
+svg_stack --direction=h devanagari-rkrf-before.svg right-arrow.svg devanagari-rkrf-after.svg > devanagari-rkrf.svg
+
+
+## 3.7 `blwf`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-blwf-before.svg --features=-init,-blwf --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=25cc,094d,0930
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-blwf-after.svg --features=-init,+blwf --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=25cc,094d,0930
+
+svg_stack --direction=h devanagari-blwf-before.svg right-arrow.svg devanagari-blwf-after.svg > devanagari-blwf.svg
+
+
+## 3.9 `half`
+
+### Half form
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-half-before.svg --features=-init,-half --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0932,094d,0930,25cc,094d
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-half-after.svg --features=-init,+half --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0932,094d,0930,094d
+
+svg_stack --direction=h devanagari-half-before.svg right-arrow.svg devanagari-half-after.svg > devanagari-half.svg
+
+### Eyelash Ra
+
+> Note that Noto Devanagari eyelash-Ra substitution does not appear to
+> work when using `U+25cc` dotted circle as the "base consonant"
+> substitute. Hence, a real consonant glyph is used instead. But it is
+> important that "Ra" _not_ be used as the "base consonant", as this
+> triggers "Rakaar".
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-eyelash-ra-before.svg --features=-init,-half --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0931,094d,0932
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-eyelash-ra-after.svg --features=-init --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0931,094d,0932
+
+svg_stack --direction=h devanagari-eyelash-ra-before.svg right-arrow.svg devanagari-eyelash-ra-after.svg > devanagari-eyelash-ra.svg
+
+
+## 3.11 `vatu`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-vatu-before.svg --features=-init,-vatu --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0936,25cc,094d,0930
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-vatu-after.svg --features=-init,+vatu --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0936,094d,0930
+
+svg_stack --direction=h devanagari-vatu-before.svg right-arrow.svg devanagari-vatu-after.svg > devanagari-vatu.svg
+
+
+## 3.12 `cjct`
+
+> Note: Noto Serif Devanagari implements this as `pres` for unknown
+> reasons.
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-cjct-before.svg --features=-init,-pres --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0922,25cc,094d,0922
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-cjct-after.svg --features=-init,+pres --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0922,094d,0922
+
+svg_stack --direction=h devanagari-cjct-before.svg right-arrow.svg devanagari-cjct-after.svg > devanagari-cjct.svg
+
+
+## 4.2 Pre-base matras
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-matra-position-before.svg --features=-init --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=093f,091e,094d,200c,091e,094d,0939,094d,0930
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-matra-position-after.svg --features=-init --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=091e,094d,200c,091e,094d,0939,094d,0930,093f
+
+svg_stack --direction=h devanagari-matra-position-before.svg right-arrow.svg devanagari-matra-position-after.svg > devanagari-matra-position.svg
+
+
+## 4.3 Reph position
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-reph-position-before.svg --features=-init --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0930,094d,25cc,092f,094d,0932,094d,092e,094d,0930
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-reph-position-after.svg --features=-init --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0930,094d,092f,094d,0932,094d,092e,094d,0930
+
+svg_stack --direction=h devanagari-reph-position-before.svg right-arrow.svg devanagari-reph-position-after.svg > devanagari-reph-position.svg
+
+
+## 5 `init`
+
+> Note: Noto Devanagari and Murty don't implement `init`.
+
+
+## 5 `pres`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-pres-before.svg --features=-init,-pres --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0916,093f
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-pres-after.svg --features=-init,+pres --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0916,093f
+
+svg_stack --direction=h devanagari-pres-before.svg right-arrow.svg devanagari-pres-after.svg > devanagari-pres.svg
+
+
+## 5 `abvs`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-abvs-before.svg --features=-init,-abvs --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0930,094d,25cc,0949
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-abvs-after.svg --features=-init,+abvs --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0930,094d,25cc,0949
+
+svg_stack --direction=h devanagari-abvs-before.svg right-arrow.svg devanagari-abvs-after.svg > devanagari-abvs.svg
+
+
+## 5 `blws`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-blws-before.svg --features=-init,-blws --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0939,0944
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-blws-after.svg --features=-init,+blws --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0939,0944
+
+svg_stack --direction=h devanagari-blws-before.svg right-arrow.svg devanagari-blws-after.svg > devanagari-blws.svg
+
+
+## 5 `psts`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-psts-before.svg --features=-init,-psts --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=092b,093c,0940
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-psts-after.svg --features=-init,+psts --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=092b,093c,0940
+
+svg_stack --direction=h devanagari-psts-before.svg right-arrow.svg devanagari-psts-after.svg > devanagari-psts.svg
+
+
+## 5 `haln`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-haln-before.svg --features=-init,-haln --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=25cc,095c,094d
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-haln-after.svg --features=-init,+haln --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=25cc,095c,094d
+
+svg_stack --direction=h devanagari-haln-before.svg right-arrow.svg devanagari-haln-after.svg > devanagari-haln.svg
+
+
+## 6 `abvm`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-abvm-before.svg --features=-init,-abvm --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=092b,0948
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-abvm-after.svg --features=-init,+abvm --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=092b,0948
+
+svg_stack --direction=h devanagari-abvm-before.svg right-arrow.svg devanagari-abvm-after.svg > devanagari-abvm.svg
+
+
+## 6 `blwm`
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-blwm-before.svg --features=-init,-blwm --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0915,0943
+
+hb-view --font-size=110 --margin=2,16,2,16 --output-file=devanagari-blwm-after.svg --features=-init,+blwm --background=FFFFFF00 /usr/share/fonts/truetype/noto/NotoSerifDevanagari-Regular.ttf --unicodes=0915,0943
+
+svg_stack --direction=h devanagari-blwm-before.svg right-arrow.svg devanagari-blwm-after.svg > devanagari-blwm.svg
diff --git a/images/devanagari/devanagari-vatu-after.svg b/images/devanagari/devanagari-vatu-after.svg
new file mode 100644
index 0000000..54c91c0
--- /dev/null
+++ b/images/devanagari/devanagari-vatu-after.svg
@@ -0,0 +1,18 @@
+
+
diff --git a/images/devanagari/devanagari-vatu-before.svg b/images/devanagari/devanagari-vatu-before.svg
new file mode 100644
index 0000000..386a4ef
--- /dev/null
+++ b/images/devanagari/devanagari-vatu-before.svg
@@ -0,0 +1,26 @@
+
+
diff --git a/images/devanagari/devanagari-vatu.svg b/images/devanagari/devanagari-vatu.svg
new file mode 100644
index 0000000..4e570a0
--- /dev/null
+++ b/images/devanagari/devanagari-vatu.svg
@@ -0,0 +1,57 @@
+
+
+
+
diff --git a/images/devanagari/right-arrow.svg b/images/devanagari/right-arrow.svg
new file mode 100644
index 0000000..9ebd213
--- /dev/null
+++ b/images/devanagari/right-arrow.svg
@@ -0,0 +1,18 @@
+
+
diff --git a/opentype-shaping-devanagari.md b/opentype-shaping-devanagari.md
index a341155..4df4862 100644
--- a/opentype-shaping-devanagari.md
+++ b/opentype-shaping-devanagari.md
@@ -1163,7 +1163,7 @@ precomposed nukta-variant of the consonant glyph.
:::{figure-md}
-
+
Nukta composition
:::
@@ -1192,14 +1192,14 @@ feature must be applied before all other many-to-one substitutions.
:::{figure-md}
-
+
KSsa ligation
:::
:::{figure-md}
-
+
JNya ligation
:::
@@ -1222,7 +1222,7 @@ The `rphf` feature replaces initial "Ra,Halant" sequences with the
:::{figure-md}
-
+
Reph composition
:::
@@ -1242,7 +1242,7 @@ The `rkrf` feature replaces "_Consonant_,Halant,Ra" sequences with
:::{figure-md}
-
+
Rakaar composition
:::
@@ -1280,7 +1280,7 @@ Indic scripts that use a different `BLWF_MODE_` shaping
characteristic.
:::{figure-md}
-
+
Below-base form
:::
@@ -1329,7 +1329,7 @@ the shaping engine must test:
flagged for potential `half` substitutions.
:::{figure-md}
-
+
Half-form formation
:::
@@ -1342,7 +1342,7 @@ shaping engine does not need to implement any special handling to
support it.
:::{figure-md}
-
+
Eyelash Ra formation
:::
@@ -1363,7 +1363,7 @@ forms.
the `blwf` feature.
:::{figure-md}
-
+
Vattu ligation
:::
@@ -1411,7 +1411,7 @@ substitutions apply to half-form consonants; therefore, this feature
must be applied after the `half` feature.
:::{figure-md}
-
+
Conjunct ligation
:::
@@ -1480,7 +1480,7 @@ consonant or syllable base, all conjuncts or ligatures that contain
the base consonant or syllable base, and all half forms.
:::{figure-md}
-
+
Pre-base matra positioning
:::
@@ -1572,7 +1572,7 @@ left of "Halant", to allow for potential matching with `abvs` or
:::{figure-md}
-
+
Reph positioning
:::
@@ -1621,7 +1621,7 @@ consonants, and stylistic variants of left-side dependent vowels
(matras).
:::{figure-md}
-
+
Pre-base substitution
:::
@@ -1632,7 +1632,7 @@ presentation forms. This usually includes contextual variants of
above-base marks or contextually appropriate mark-and-base ligatures.
:::{figure-md}
-
+
Above-base substitution
:::
@@ -1644,7 +1644,7 @@ are adjacent to the below-base-consonant form "Rakaar" with context
ligatures.
:::{figure-md}
-
+
Below-base substitution
:::
@@ -1656,7 +1656,7 @@ dependent vowels (matras) with stylistic variants or replacing
post-base-consonant/matra pairs with contextual ligatures.
:::{figure-md}
-
+
Post-base substitution
:::
@@ -1668,7 +1668,7 @@ consonant where placing the "Halant" mark on its own is
typographically problematic.
:::{figure-md}
-
+
Halant substitution
:::
@@ -1706,7 +1706,7 @@ characters. In Devanagari, this includes "Reph" in addition to
above-base dependent vowels (matras), diacritical marks, and Vedic signs.
:::{figure-md}
-
+
Above-base mark positioning
:::
@@ -1717,7 +1717,7 @@ characters. In Devanagari, this includes below-base dependent vowels
(matras) and diacritical marks as well as the below-base consonant form "Rakaar".
:::{figure-md}
-
+
Below-base mark positioning
:::