This repository has been archived on 2020-12-27. You can view files and clone it, but cannot push or open issues or pull requests.
conlang-layer/README.org

4.1 KiB

Conlanging layer

https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg

/phundrak/conlang-layer/media/commit/b00e7f839ab0aed872718c239874cf48e66a5644/img/conlang_flag.png

Description

This layer adds features for conlanging.

Features

  • Generate graphviz trees based on Elisp trees
  • Replace some text by its runic equivalent (supports the Mattér and Eittlandic languages)
  • Adds phonetics to Proto-Ñyqy text
  • Provides custom shortcuts

Graphviz trees

The conlanging layer provides one public function called conlanging/tree-to-dot. It accepts as its sole argument a list of strings or lists, such as the following:

  (setq-local vowels
    '("[vowel]"
      ("[back]"
       ("[tense]"
        ("[high]" ("ü"))
        ("{high}" ("ö")))
       ("{tense}"
        ("[high]" ("u"))
        ("{high}" ("o"))))
      ("{back}"
       ("[tense]"
        ("[high]" ("y"))
        ("{high}" ("ë")))
       ("{tense}"
        ("[high]" ("i"))
        ("{high}" ("e"))))))

When passed in the above mentioned function, and the result itself is passed through graphviz, we get the following result:

/phundrak/conlang-layer/media/commit/b00e7f839ab0aed872718c239874cf48e66a5644/img/vowels-example.png

This example tree is only a binary tree, but a single node can have up to ten children. See some examples in the Ñyqy source file.

It is planned to merge this project into this layer in order to facilitate the creation of trees based on distinctive features.

Install

To install this layer, either clone this project in your ~/.emacs.d/private/ folder, or symlink it from there to your actual clone location. Then, add conlanging in your dotspacemacs file in the dotspacemacs-configuration-layers list:

  (setq-default dotspacemacs-configuration-layers '(conlanging))

You can then reload your configuration file with SPC f e R, or restart Emacs with SPC q r or SPC q R.

Key bindings

Key Binding Description
SPC m l e l (org-mode only) Translate Eittlandic transliteration into LaTeX runes
SPC m l e r (org-mode only) Translate Eittlandic transliteration into runes
SPC m l m L (org-mode only) Translate Mattér transliteration into LaTeX runes
SPC m l m l (org-mode only) Translate Mattér transliteration into native latin
SPC m l m r (org-mode only) Translate Mattér transliteration into runes
SPC o l e o Open Eittlandic file
SPC o l h o Open Hjelp file
SPC o l m o Open Mattér file
SPC o l n o Open Proto-Ñyqy file
SPC o l o Open the working conlanging directory
SPC o l O Open the root conlanging directory
SPC o l t o Open Proto-Tãso file