Skip to content

stscoundrel/riimut-go

Folders and files

NameName
Last commit message
Last commit date
Jan 1, 2024
Nov 21, 2022
May 26, 2022
May 26, 2022
May 26, 2022
Nov 21, 2022
Nov 21, 2022
Jun 26, 2022
Nov 27, 2021
Jun 26, 2022
Nov 28, 2021
Jul 27, 2022

Repository files navigation

Riimut

Transform latin letters to runes & vice versa. Go version.

Includes transformers for four main runic alphabets:

  • Elder Futhark
  • Younger Futhark
  • Medieval Futhork
  • Futhorc (Anglo-Frisian runes)

Install

go get -d github.com/stscoundrel/riimut-go

Usage

Text to runes:

package main

// Ships four runic dialects under riimut module.
import (
    "fmt"

    "github.com/stscoundrel/riimut-go/elderfuthark"
    "github.com/stscoundrel/riimut-go/futhorc"
    "github.com/stscoundrel/riimut-go/medievalfuthork"
    "github.com/stscoundrel/riimut-go/youngerfuthark"
)

func main() {
    // From Old Groms runestone.
    const content := "auk tani karþi kristna"
    youngerFuthark := youngerfuthark.LettersToRunes(content)
    fmt.Println(youngerFuthark) // ᛅᚢᚴ:ᛏᛅᚾᛁ:ᚴᛅᚱᚦᛁ:ᚴᚱᛁᛋᛏᚾᛅ

    // From 4th century axe in Jutland
    const content := "wagagastiz alu wihgu sikijaz aiþalataz"
    elderFuthark := elderfuthark.LettersToRunes(content)
    fmt.Println(elderFuthark) // ᚹᚨᚷᚨᚷᚨᛋᛏᛁᛉ:ᚨᛚᚢ:ᚹᛁᚻᚷᚢ:ᛋᛁᚲᛁᛃᚨᛉ:ᚨᛁᚦᚨᛚᚨᛏᚨᛉ

    // From Lord's Prayer, in Old Norse.
    const content := "Faðer uor som ast i himlüm, halgað warðe þit nama"
    medievalFuthork := medievalfuthork.LettersToRunes(content)
    fmt.Println(medievalFuthork) // ᚠᛆᚦᚽᚱ:ᚢᚮᚱ:ᛋᚮᛘ:ᛆᛋᛏ:ᛁ:ᚼᛁᛘᛚᚢᛘ,:ᚼᛆᛚᚵᛆᚦ:ᚠᛆᚱᚦᚽ:ᚦᛁᛏ:ᚿᛆᛘᛆ

    // From 8th century Franks Casket, in late West Saxon.
    const content := "fisc.flodu.ahofonferg | enberig |"
    futhorc := futhorc.LettersToRunes(content)
    fmt.Println(futhorc) // ᚠᛁᛋᚳ.ᚠᛚᚩᛞᚢ.ᚪᚻᚩᚠᚩᚾᚠᛖᚱᚷ:|:ᛖᚾᛒᛖᚱᛁᚷ:|
}

Runes to text:

package main

// All four dialects contain RunesToLetters method.
import (
    "fmt",

    "github.com/stscoundrel/riimut-go/youngerfuthark"
)

func main() {
    const runicText := "ᛅᚢᚴ:ᛏᛅᚾᛁ:ᚴᛅᚱᚦᛁ:ᚴᚱᛁᛋᛏᚾᛅ"
    latinText := youngerfuthark.RunesToLetters(runicText)

    fmt.Println(latinText) // "auk tani karþi kristna"
}

Younger Futhark comes with long branch (Danish) and short twig (Norwegian & Swedish) variants.

package main

import (
    "fmt",

    "github.com/stscoundrel/riimut-go/youngerfuthark"
)

const letters = "aábcdðeéfghiíjklmnoópqrstþuúvwxyýzåäæöøǫþ"

// Comes with named functions per style.
longBranch := youngerfuthark.LettersToLongBranchRunes(letters)
shortTwig := youngerfuthark.LettersToShortTwigRunes(letters)

fmt.Println(longBranch) // ᛅᛅᛒᛋᛏᚦᛁᛁᚠᚴᚼᛁᛁᛁᚴᛚᛘᚾᚢᚢᛒᚴᚱᛋᛏᚦᚢᚢᚢᚢᛋᚢᚢᛋᚢᛅᛅᚢᚢᚢᚦ
fmt.Println(shortTwig) // ᛆᛆᛒᛌᛐᚦᛁᛁᚠᚴᚽᛁᛁᛁᚴᛚᛘᚿᚢᚢᛒᚴᚱᛌᛐᚦᚢᚢᚢᚢᛌᚢᚢᛌᚢᛆᛆᚢᚢᚢᚦ

What's in the name?

"Riimut" is the Finnish word for "runes".