diff options
Diffstat (limited to 'third_party/hyphen/lig.awk')
-rw-r--r-- | third_party/hyphen/lig.awk | 42 |
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 |