Runes

Runes

runeset chart

1. Overview

Runes are the name given to the main glyph in a gesture sigil. They are represented as 7x7 1-bit tiles, and typically conform to the aesthetic rules of Square Kufic calligraphy which impose a balance of black and white tiles.

When rendering a Gesture Sigil, the Rune gets doubled in size to take up a 14x14 pixel space inside of a 16x16 pixel area. The remaining pixels serve as padding.

2. Tangled Files

Runes are stored in a text file format readable by the loadtiles function.

<<runes.txt>>=
<<runes>>

A corresponding janet file called "runes.janet" will be used to help look up runes in a tile map (8x8 tilemap, or 64 runes max).

<<runes.janet>>=
(def runes @{

<<entries>>
})

(defn runes-bp []
  (def loadtiles-file (dofile "loadtiles/loadtiles.janet"))
  (def gen-tilemap ((loadtiles-file 'gen-tilemap) :value))
  (def tmap
    (gen-tilemap "runes/runes.txt" 7 7 8 8))

  (def canvas @[0 0 (* 48 8) (* 48 8)])
  (def bp (btprnt/new (canvas 2) (canvas 3)))

  (def zoom 2)

  (def geneva9 (btprnt/macfont-load "fonts/geneva_9"))


  (each k (keys runes)
    (def glyph (runes k))
    (def grid (btprnt/grid
                bp canvas 8 8 (glyph 0) (glyph 1)))
    (def text (string k))

    (btprnt/macfont-textbox
      bp geneva9 
      grid
      (math/floor
        (- (/ (grid 2) 2)
           (/ (btprnt/macfont-linewidth geneva9 text) 2)))
      (- (grid 3) 13) text 1)

    (def center (btprnt/centerbox 
                  bp
                  grid
                  (+ (* 7 zoom) 2)
                  (+ (* 7 zoom) 2)))

    (btprnt/outline bp center 1)
    (btprnt/tile
      bp tmap
      center
      1 1
      (glyph 0) (glyph 1)
      7 7
      zoom 1)
    )


  (btprnt/del tmap)
  bp)

3. Empty Space

empty space.

<<runes>>=
-------
-------
-------
-------
-------
-------
-------
<<entries>>=
:empty @[0 0]

4. Chinese Number Inspired Runes

These are runes based on the chinese numbers 1-8.

4.1. One ("yi1")

<<runes>>=
-------
#######
#-----#
#-###-#
#-----#
#######
-------
<<entries>>=
:yi @[1 0]

4.2. Two ("er4")

<<runes>>=
###-###
#-----#
#-###-#
-------
-#####-
-------
###-###
<<entries>>=
:er @[2 0]

4.3. Three ("san1")

<<runes>>=
-------
-#####-
-------
#-###-#
-------
-#####-
-------
<<entries>>=
:san @[3 0]

4.4. Four ("si4")

<<runes>>=
###-###
#-#-#-#
###-###
#-----#
#-###-#
#-----#
#######
<<entries>>=
:si @[4 0]

4.5. Five ("wu3")

Five was a difficult one to port over, so I didn't bother.

<<runes>>=
-------
-#####-
---#---
##-#-##
---#---
-#####-
-------
<<entries>>=
:wu @[5 0]

4.6. Six ("liu4")

The character is in here if you look hard enough.

<<runes>>=
-#-#-#-
##-#-##
-------
-#####-
-------
-#-#-#-
---#---
<<entries>>=
:liu @[6 0]

4.7. Seven ("qi1")

<<runes>>=
-#####-
-#---#-
---#---
#-###-#
#--#--#
##-##-#
-------
<<entries>>=
:qi @[7 0]

4.8. Eight ("ba1")

<<runes>>=
#######
#-----#
#-###-#
#-#-#-#
#-#-#-#
#-----#
#######
<<entries>>=
:ba @[0 1]

5. Some Early Prototypes

These are some early sigils I worked out.

5.1. Diamond

My first instinct was to draw a diamond. I always like starting at the center, and then going out. This also reminds me of one of those oriental rug patterns.

<<runes>>=
##---##
#--#--#
--###--
-##-##-
--###--
#--#--#
##---##
<<entries>>=
:diamond @[1 1]

5.2. Asymmetrical

I tried going against my instinct of starting in the center, and instead tried to do something that was lopsided and asymetrical. Kufic rules enforce a certain kind of balance and order.

<<runes>>=
##-####
#-----#
#-#-#--
--#-#-#
#---#--
#-####-
-------
<<entries>>=
:asym @[2 1]

5.3. T Tile

Playing with asymmetry more, I wanted to explore using tesselations and motifs within the limited space.

This was built up using a "T" radical.

These kinds of runes to me are less rune, more texture.

<<runes>>=
###---#
-#--#-#
---##--
-#--#-#
###---#
----#--
-#-###-
<<entries>>=
:ttile @[3 1]

5.4. Box in a Box

The Box. Inside a Box. Runes like these are always the clearest.

<<runes>>=
#######
#-----#
#-###-#
#-#-#-#
#-###-#
#-----#
#######
<<entries>>=
:boxinbox @[4 1]

6. Sanskrit Inspired

These are sets adapted from the Candy Crystal Codex, which were loosely inspired by Sanskrit symbols.

The Codex symbols are 8x8. They will need to scrunch into 7x7.

These may adhere to Kufic rules, but maybe not.

The Codex was originally going to be written in generative Kufic, but I didn't have the code ready for that. The Sanskrit glyphs were a backup. Funnily enough, these Sanskrit symbols I made are perhaps more apt for this system than some of the initial Kufic symbols I wrote.

These runes will be introduced the proper Candy Crystal Codex way, using procedurally generated names and descriptions.

6.1. ryshar

kigoh zusod cimee.

<<runes>>=
-------
-#####-
-#--#--
-#--#--
-#--#--
-#--#--
-------
<<entries>>=
:ryshar @[5 1]

6.2. haerabeek

shocasheh zhemaej chomuz.

<<runes>>=
-------
#######
---#---
-#####-
---#-#-
---#---
-------
<<entries>>=
:haerabeek @[6 1]

6.3. che

beenodeet cham laim.

<<runes>>=
-------
#######
-#---#-
-#--##-
-#---#-
-##-##-
-------
<<entries>>=
:che @[7 1]

6.4. kat

pamaim rasab baifaevai shaer kae sutygi.

<<runes>>=
-------
#######
-----#-
---###-
-#-#-#-
-###-#-
-------
<<entries>>=
:kat @[0 2]

6.5. lubigis

chaezeepab sheenaic shebyfer tog ship.

<<runes>>=
-------
#######
---#---
-#####-
-#---#-
-#####-
-------
<<entries>>=
:lubigis @[1 2]

6.6. kyvi

kohyjyg ripalais higanait maveekej baifavai gegohep nujypysh.

<<runes>>=
-------
#######
----#--
-#-###-
-###-#-
-#-----
-------
<<entries>>=
:nahaisheed @[2 2]

6.7. med

gaeg gaifeevyj siledog.

<<runes>>=
-------
-###-##
-#-#-#-
-###-#-
--#--#-
--####-
-------
<<entries>>=
:med @[3 2]

6.8. nip

hukeeb semol zhuchyn.

<<runes>>=
-------
#######
----#--
-####--
-#--#--
-#-----
-------
<<entries>>=
:nip @[4 2]

6.9. shaichorip

wil caecozheh paben dagos wai zefa gaekocash.

<<runes>>=
-------
##-####
-#---#-
-----#-
-#-###-
####---
-------
<<entries>>=
:shaichorip @[5 2]

6.10. hetachae

lamev cucaif docyzhev wukydi pozedaech sudeech bizaim.

<<runes>>=
-------
#######
--#--#-
--#--#-
-##--#-
-----#-
-------
<<entries>>=
:hetachae @[6 2]

6.11. jofaep

vaig weeriduk johobaep.

<<runes>>=
-------
#######
---#---
--####-
-----#-
-----#-
-------
<<entries>>=
:jofaep @[7 2]

6.12. fyshee

to ca fakatae gaik.

<<runes>>=
-------
#######
--#--#-
--####-
--#--#-
-----#-
-------
<<entries>>=
:fyshee @[0 3]

6.13. jupyshaet

beez daedai sher sa.

<<runes>>=
-------
#######
-#-#-#-
-###-#-
-----#-
-#####-
-------
<<entries>>=
:jupyshaet @[1 3]

6.14. bechak

wosegeep tyk tiwae fad ca dosuf fakaej seefaeban haisymaeh.

<<runes>>=
-------
###-###
-#---#-
-#####-
-#-#-#-
-#-###-
-------
<<entries>>=
:bechak @[2 3]

6.15. baechived

fas chuwyhais haijyg zhezitaet shop jaigitizh faelae zhaishaig shacoc.

<<runes>>=
-------
#######
-#-#-#-
-#-#-#-
-#---#-
-##----
-------
<<entries>>=
:baechived @[3 3]

6.16. wypen

ca chyfug rifosh dan hapy zhomer.

<<runes>>=
-------
#######
-----#-
-#####-
---#-#-
--####-
-------
<<entries>>=
:wypen @[4 3]

6.17. kaekaek

zhyjaif wiceev mozy hi bae.

<<runes>>=
-------
#######
-#-#-#-
-#-###-
-#---#-
-#####-
-------
<<entries>>=
:kaekaek @[5 3]

6.18. suchai

taepyt seefikaem zopeev ludu ceeh.

<<runes>>=
-------
#######
---#---
-###---
-#-###-
-###---
-------
<<entries>>=
:suchai @[6 3]

6.19. paipuchev

saiche ty pukyr shelee mydevoch.

<<runes>>=
--------
#######
---#---
---###-
---#---
--####-
-------
<<entries>>=
:paipuchev @[7 3]

6.20. zaimep

lee jainaiz railyzhaem zhicoh.

<<runes>>=
-------
#######
-----#-
-#####-
-#-----
-#####-
---#-#-
<<entries>>=
:zaimep @[0 4]

6.21. shaishik

jeesheezhai wesyb cydam feetun bairet.

<<runes>>=
-------
#######
--#--#-
-#####-
-----#-
-#####-
-----#-
<<entries>>=
:shaishik @[1 4]

6.22. wozhish

laigivy jechaif jir kokanep heechaih zhabi maeshigysh lael jih.

<<runes>>=
-------
#-#-###
--#--#-
--##-#-
-----#-
-#####-
-------
<<entries>>=
:wozhish @[2 4]

6.23. ser

lonemae nywaih bykul shebaebaez.

<<runes>>=
-------
##-#-##
---#-#-
-###-#-
-#-###-
-#-----
-------
<<entries>>=
:ser @[3 4]

6.24. ciweet

taguchaij geesheemi wap.

<<runes>>=
-------
-##-###
-##-#--
----#--
-#####-
-#---#-
-------
<<entries>>=
:ciweet @[4 4]

6.25. gaecaijag

zhaenigiv vichaiheb ka chicozec dic zige.

<<runes>>=
-------
#######
-#---#-
-#####-
---#---
--##---
-------
<<entries>>=
:gaecaijag @[5 4]

6.26. neteevib

nec bod zhig jo let bochepaek hudich.

<<runes>>=
-------
#######
-#-#-#-
-#-#-#-
---#-##
---#---
-------
<<entries>>=
:neteevib @[6 4]

6.27. paizheez

zhoned fumo dosh zhaimaed.

<<runes>>=
-------
###-###
-#---#-
-#####-
---#---
---#---
-------
<<entries>>=
:raetaeteb @[7 4]