diff --git a/anglosaxon-futhork.mim b/anglosaxon-futhork.mim
new file mode 100644
index 0000000..6e82186
--- /dev/null
+++ b/anglosaxon-futhork.mim
@@ -0,0 +1,71 @@
+(input-method t anglosaxon-futhork)
+
+(description
+ "medieval Anglo-Saxon runes")
+
+(map
+ (trans
+
+ ;;
+ (";" "᛫") ;; Runic single dot
+ (":" "᛬") ;; Runic double dot
+ ("+" "᛭") ;; Runic cross
+ ;;
+ ;;
+ ;; Wikipedia
+
+ ;; http://en.wikipedia.org/wiki/Anglo-Saxon_Futhorc
+ ;;
+ ("f" "ᚠ") ;; feoh
+ ("u" "ᚢ") ;; ur
+ ("þ" "ᚦ") ;; þorn
+ ("&th" "ᚦ") ;; þorn
+ ("o" "ᚩ") ;; os
+ ("r" "ᚱ") ;; rad
+ ("c" "ᚳ") ;; cen
+ ("ȝ" "ᚷ") ;; gyfu
+ ("&gy" "ᚷ") ;; gyfu ;; (This one actually is not in rfc1345)
+ ("w" "ᚹ") ;; wynn
+
+ ("h" "ᚻ") ;; hægl
+ ("n" "ᚾ") ;; nyd
+ ("i" "ᛁ") ;; is
+ ("j" "ᛄ") ;; ger
+ ("eo" "ᛇ") ;; eolh
+ ("p" "ᛈ") ;; peorð
+ ("x" "ᛉ") ;; eolh
+ ("s" "ᛋ") ;; sigel
+
+ ("t" "ᛏ") ;; tir
+ ("b" "ᛒ") ;; beorc
+ ("e" "ᛖ") ;; eh
+ ("m" "ᛗ") ;; mann
+ ("l" "ᛚ") ;; lagu
+ ("ŋ" "ᛝ") ;; ing
+ ("&ng" "ᛝ") ;; ing
+ ("œ" "ᛟ") ;; eðel
+ ("&oe" "ᛟ") ;; eðel
+ ("d" "ᛞ") ;; dæg
+
+ ("a" "ᚪ") ;; ac
+ ("æ" "ᚫ") ;; æsc
+ ("&ae" "ᚫ") ;; æsc
+ ("y" "ᚣ") ;; yr
+ ("ia" "ᛡ") ;; ior (both io and ia)
+ ("ea" "ᛠ") ;; ear
+
+ ;; TODO: Shorter forms for ia, ea and eo?
+
+ ;; Rarer: Only present in some inscriptions/manuscripts.
+ ("kw" "ᛢ") ;; cweorð
+ ("k" "ᛣ") ;; calc
+ ("kk" "ᛤ") ;; cealc (doubled calc)
+ ("st" "ᛥ") ;; stan
+ ("g" "ᚸ") ;; gar
+ ;;
+ )
+)
+
+(state
+ (init
+ (trans)))
diff --git a/danish-futhark.mim b/danish-futhark.mim
new file mode 100644
index 0000000..736f64b
--- /dev/null
+++ b/danish-futhark.mim
@@ -0,0 +1,63 @@
+
+(input-method t danish-futhark)
+
+(description
+ "Input method for runic writing.")
+
+(map
+ (trans
+
+ ;;
+ (";" "᛫") ;; Runic single dot
+ (":" "᛬") ;; Runic double dot
+ ("+" "᛭") ;; Runic cross
+ ;;
+
+ ;;
+ ("f" "ᚠ")
+ ("u" "ᚢ")
+ ("þ" "ᚦ")
+ ("&th" "ᚦ") ;; adapted from rfc1345.mim ("&th" ?\þ)
+ ;;("ą" "ᚬ") ;; earlier vowel
+ ;;("o" "ᚬ") ;; later vowel (Unicode)
+ ("r" "ᚱ")
+ ("k" "ᚴ")
+
+ ("h" "ᚼ")
+ ("n" "ᚾ")
+ ("i" "ᛁ")
+ ("a" "ᛅ")
+ ("s" "ᛋ")
+
+ ("t" "ᛏ")
+ ("b" "ᛒ")
+ ("m" "ᛘ")
+ ("l" "ᛚ")
+ ("R" "ᛦ") ;; Later transcribed as "y"
+ ;;
+ ;;
+ ;; _Danmarks runeindskrifter_ (Jacobsen & Moltke, 1941)
+
+ ;; Periode 2.2
+ ;;
+ ;;
+ ("ą" "ᚭ") ;; earlier vowel
+ ("&a;" "ᚭ") ;; adapted from rfc1345.mim ("&a;" ?\ą)
+ ("o" "ᚭ") ;; later vowel (Unicode)
+ ;; Dotted runes
+ ("y" "ᚤ")
+ ("g" "ᚵ")
+ ("e" "ᛂ")
+ ;;
+ )
+)
+
+(state
+ (init
+ (trans)))
diff --git a/elder-futhark.mim b/elder-futhark.mim
new file mode 100644
index 0000000..304a2c7
--- /dev/null
+++ b/elder-futhark.mim
@@ -0,0 +1,64 @@
+(input-method t elder-futhark)
+
+(description
+ "Input method for runic writing.")
+
+(map
+ (trans
+ ;; Basic runic punctuation
+ ;;
+ (";" "᛫") ;; Runic single dot
+ (":" "᛬") ;; Runic double dot
+ ("+" "᛭") ;; Runic cross
+ ;;
+
+ ;; The example tables from the Unicode standard
+
+ ;;
+ ("f" "ᚠ")
+ ("u" "ᚢ")
+ ("þ" "ᚦ")
+ ("&th" "ᚦ") ;; adapted from rfc1345.mim ("&th" ?\þ)
+ ("a" "ᚨ")
+ ("r" "ᚱ")
+ ("k" "ᚲ")
+ ("g" "ᚷ")
+ ("w" "ᚹ")
+
+ ("h" "ᚺ")
+ ("n" "ᚾ")
+ ("i" "ᛁ")
+ ("j" "ᛃ")
+ ("ï" "ᛇ") ;; also "ei"
+ ("&i:" "ᛇ") ;; adapted from rfc1345.mim ("&i:" ?\ï)
+ ("p" "ᛈ")
+ ("z" "ᛉ") ;; also "R"
+ ("s" "ᛊ")
+
+ ("t" "ᛏ")
+ ("b" "ᛒ")
+ ("e" "ᛖ")
+ ("m" "ᛗ")
+ ("l" "ᛚ")
+ ("ŋ" "ᛜ")
+ ("&ng" "ᛜ") ;; adapted from rfc1345.mim ("&ng" ?\ŋ)
+ ("d" "ᛞ")
+ ("o" "ᛟ")
+ ;;
+
+;; Special keys: þ ð ï ŋ ȝ œ æ ø ą
+;; adapted from rfc1345.mim ("&th" ?\þ)
+;; adapted from rfc1345.mim ("&d-" ?\ð)
+;; adapted from rfc1345.mim ("&i:" ?\ï)
+;; adapted from rfc1345.mim ("&ng" ?\ŋ)
+;; ("g" "ȝ")
+;; adapted from rfc1345.mim ("&oe" ?\œ)
+;; adapted from rfc1345.mim ("&ae" ?\æ)
+;; adapted from rfc1345.mim ("&o/" ?\ø)
+;; adapted from rfc1345.mim ("&a;" ?\ą)
+ )
+)
+
+(state
+ (init
+ (trans)))
diff --git a/icons/anglosaxon-futhork.png b/icons/anglosaxon-futhork.png
new file mode 100644
index 0000000..e67c6c6
Binary files /dev/null and b/icons/anglosaxon-futhork.png differ
diff --git a/icons/danish-futhark.png b/icons/danish-futhark.png
new file mode 100644
index 0000000..ff0ab27
Binary files /dev/null and b/icons/danish-futhark.png differ
diff --git a/icons/elder-futhark.png b/icons/elder-futhark.png
new file mode 100644
index 0000000..c2e30ce
Binary files /dev/null and b/icons/elder-futhark.png differ
diff --git a/icons/medieval-scandinavian-runes.png b/icons/medieval-scandinavian-runes.png
new file mode 100644
index 0000000..28cc60c
Binary files /dev/null and b/icons/medieval-scandinavian-runes.png differ
diff --git a/icons/younger-futhark.png b/icons/younger-futhark.png
new file mode 100644
index 0000000..fff9d40
Binary files /dev/null and b/icons/younger-futhark.png differ
diff --git a/medieval-scandinavian-runes.mim b/medieval-scandinavian-runes.mim
new file mode 100644
index 0000000..1f8d9d7
--- /dev/null
+++ b/medieval-scandinavian-runes.mim
@@ -0,0 +1,82 @@
+(input-method t medieval-scandinavian-runes)
+
+(description
+ "medieval scandinavian runes")
+
+(map
+ (trans
+ ;;
+ (";" "᛫") ;; Runic single dot
+ (":" "᛬") ;; Runic double dot
+ ("+" "᛭") ;; Runic cross
+ ;;
+
+ ;;
+;;
+ ("a" "ᛆ")
+ ("b" "ᛒ")
+ ;; c, s & z often interchanged
+ ("c" "ᛍ")
+ ("d" "ᛑ")
+ ("e" "ᛂ")
+ ("f" "ᚠ")
+ ;; According to DR, the two g runes can be reversed.
+ ("g" "ᚵ")
+ ("G" "ᚶ") ;; DR "special G-sound"
+ ("h" "ᚼ")
+ ("i" "ᛁ")
+ ("k" "ᚴ")
+ ("l" "ᛚ")
+ ("L" "ᛛ") ;; DR "special L-sound"
+ ("m" "ᛘ")
+ ("n" "ᚿ")
+ ("N" "ᛀ") ;; DR "special N-sound"
+ ;; According to DR, "o" can also be written as ᚭ or the ø runes.
+ ("o" "ᚮ")
+ ("p" "ᛔ")
+ ("q" "ᛩ") ;; allrunes + Unicode
+ ("r" "ᚱ")
+ ;; c, s & z often interchanged
+ ("s" "ᛋ")
+ ("S" "ᛌ") ;; DR, elsewhere
+ ("t" "ᛐ")
+ ("T" "ᛏ") ;; DR
+ ("þ" "ᚦ")
+ ("&th" "ᚦ")
+ ("ð" "ᚧ")
+ ("&d-" "ᚧ") ;; adapted from rfc1345.mim("&d-" ?\ð)
+ ("u" "ᚢ")
+ ("v" "ᚡ")
+ ("w" "ᚥ") ;; allrunes + Unicode, ᚤ in DR
+ ("x" "ᛪ") ;; allrunes + DR
+ ("y" "ᛦ") ;; allrunes + DR
+;;
+ ("Y" "ᚤ") ;; DR and allrunes
+ ;; c, s & z often interchanged
+ ("z" "ᛎ") ;; allrunes + Unicode
+ ("æ" "ᛅ") ;; allrunes + Unicode + DR
+ ("&ae" "ᛅ") ;; adapted from rfc1345 ("&ae" ?\æ)
+ ;; According to DR, "ø" can also be written as ᚬ.
+ ("ø" "ᚯ") ;; allrunes + Unicode œ + DR main variant
+ ("&o/" "ᚯ") ;; adapted from rfc1345.mim ("&o/" ?\ø)
+
+ ;; "Golden number runes" used on calendars
+ ("17" "ᛮ")
+ ("18" "ᛯ")
+ ("19" "ᛰ")
+ ;;
+ )
+)
+
+(state
+ (init
+ (trans)))
diff --git a/younger-futhark.mim b/younger-futhark.mim
new file mode 100644
index 0000000..2ca8ea4
--- /dev/null
+++ b/younger-futhark.mim
@@ -0,0 +1,75 @@
+(input-method t younger-futhark)
+
+(description
+ "younger-futhark runes ; capital case for short twig")
+
+(map
+ (trans
+ ;; Basic runic punctuation
+ ;;
+ (";" "᛫") ;; Runic single dot
+ (":" "᛬") ;; Runic double dot
+ ("+" "᛭") ;; Runic cross
+ ;;
+
+ ;; The example tables from the Unicode standard
+
+ ;;
+ ("f" "ᚠ")
+ ("u" "ᚢ")
+ ;;("þ" "ᚦ")
+ ("&th" "ᚦ") ;; adapted from rfc1345.mim ("&th" ?\þ)
+ ;;("ą" "ᚬ") ;; earlier vowel
+ ("&a;" "ᚬ") ;; adapted from rfc1345.mim ("&a;" ?\ą)
+ ("o" "ᚬ") ;; later vowel (Unicode)
+ ("r" "ᚱ")
+ ("k" "ᚴ")
+
+ ("h" "ᚼ")
+ ("n" "ᚾ")
+ ("i" "ᛁ")
+ ("a" "ᛅ")
+ ("s" "ᛋ")
+
+ ("t" "ᛏ")
+ ("b" "ᛒ")
+ ("m" "ᛘ")
+ ("l" "ᛚ")
+ ("y" "ᛦ") ;; ("R" "ᛦ") ;; Later transcribed as "y"
+ ;;
+
+ ;;
+ ;;("ą" "ᚭ") ;; earlier vowel
+ ("&A;" "ᚭ") ;; earlier vowel
+ ("O" "ᚭ") ;; later vowel (Unicode)
+
+ ("H" "ᚽ")
+ ("N" "ᚿ")
+ ("A" "ᛆ")
+ ("S" "ᛌ")
+
+ ("T" "ᛐ")
+ ("B" "ᛓ")
+ ("M" "ᛙ")
+ ("Y" "ᛧ") ;; ("R" "ᛧ") ;; Should this always be "y"?
+ ;;
+
+;; Special keys: þ ð ï ŋ ȝ œ æ ø ą
+;; adapted from rfc1345.mim ("&th" ?\þ)
+;; adapted from rfc1345.mim ("&d-" ?\ð)
+;; adapted from rfc1345.mim ("&i:" ?\ï)
+;; adapted from rfc1345.mim ("&ng" ?\ŋ)
+;; ("g" "ȝ")
+;; adapted from rfc1345.mim ("&oe" ?\œ)
+;; adapted from rfc1345.mim ("&ae" ?\æ)
+;; adapted from rfc1345.mim ("&o/" ?\ø)
+;; adapted from rfc1345.mim ("&a;" ?\ą)
+ )
+)
+
+(state
+ (init
+ (trans)))
+
+