summaryrefslogtreecommitdiffstats
path: root/third_party/hyphen/lig.awk
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/hyphen/lig.awk')
-rw-r--r--third_party/hyphen/lig.awk42
1 files changed, 42 insertions, 0 deletions
diff --git a/third_party/hyphen/lig.awk b/third_party/hyphen/lig.awk
new file mode 100644
index 0000000..6737170
--- /dev/null
+++ b/third_party/hyphen/lig.awk
@@ -0,0 +1,42 @@
+{print $0}
+b=$0
+/f[1-9]?f[1-9]?i/ {gsub("f[1-9]?f[1-9]?i", "ffi",b) }
+/f[1-9]?f[1-9]?l/ {gsub("f[1-9]?f[1-9]?l", "ffl",b) }
+
+/f[1-9]?f/ {gsub("f[1-9]?f", "ff",b); r=1}
+/f[1-9]?i/ {gsub("f[1-9]?i", "fi",b); r=1}
+/f[1-9]?l/ {gsub("f[1-9]?l", "fl",b); r=1}
+
+b!=$0 {
+ # check alternative hyph
+ if (num ~ /\//) {
+ next;
+ }
+ print b
+}
+
+c=b
+
+/^[1-9]?f/ { sub("^[1-9]?f", "ff", c); }
+/^[1-9]?i/ { sub("^[1-9]?i", "fi", c); }
+/^[1-9]?l/ { sub("^[1-9]?l", "fl", c); }
+
+c!=b { print c }
+
+/f[1-9]?$/ {
+ print gensub("f[1-9]?$", "ff", "g", b);
+ if (c!=b) print gensub("f[1-9]?$", "ff", "g", c);
+
+ print gensub("f[1-9]?$", "fi", "g", b);
+ if (c!=b) print gensub("f[1-9]?$", "fi", "g", c);
+
+ print gensub("f[1-9]?$", "fl", "g", b);
+ if (c!=b) print gensub("f[1-9]?$", "fl", "g", c);
+}
+
+
+#s/ffi/ffi/g
+#s/ffl/ffl/g
+#s/ff/ff/g
+#s/fi/fi/g
+#s/fl/fl/g