https://github.com/situx/paleocodage
A paleographic description system for the creation of cuneiform characters
https://github.com/situx/paleocodage
Last synced: 5 months ago
JSON representation
A paleographic description system for the creation of cuneiform characters
- Host: GitHub
- URL: https://github.com/situx/paleocodage
- Owner: situx
- License: gpl-3.0
- Created: 2019-04-26T12:20:36.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-10-10T22:57:26.000Z (over 2 years ago)
- Last Synced: 2024-11-03T19:39:00.058Z (6 months ago)
- Language: JavaScript
- Homepage: https://situx.github.io/PaleoCodage
- Size: 800 KB
- Stars: 9
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PaleoCodage
A paleographic description system for the creation of cuneiform characters.### Why a digital machine-readable paleographic description?
Shapes of cuneiform characters could previously to PaleoCodage not be digitally described in terms of
* Position
* Wedge size
* Relations to each other
in order for a computer to reconstruct a cuneiform character.For a scholar, this provides a method to describe a cuneiform shape in a digital way and to share this machine-readable representation for example in linked open data dictionaries. The computer can figure out sign variants and partial signs based on the encoding alone, leading to a better understanding for scholars.
## Implementation
This repository hosts the JavaScript implementation of PaleoCodage,
a system to describe the shape of cuneiform characters.
The system is described in detail in the following short paper publication:
Paleo Codage - A machine-readable way to describe cuneiform characters paleographicallyAt the Github Pages version, a user is able to define the shape of a cuneiform character using the PaleoCodage operators:
### Wedge Types:
-
a Vertical Stroke (a)Big (A)
Small (sa) -
b Horizontal Stroke (b)
Big (B)Small (sb) -
c Diagonal Stroke1 (c)
Big (C)Small (sc) -
d Diagonal Stroke2 (d)
Big (D)Small (sd) -
e Diagonal Stroke3 (e)
Big (E)Small (se) -
f Diagonal Stroke4 (f)
Big (F)Small (sf) -
w Winkelhaken (w)Big (W) -
- right of the current stroke passing through other strokes -
_ right of the current stroke NOT passing through other strokes -
: under the current stroke passing through other strokes -
; under the current stroke NOT passing through other strokes -
/ half the distance of : under the current stroke passing through other strokes -
. diagonal right under the current stroke -
, diagonal left above the current stroke -
s smaller version of the stroke (e.g. sb, sc) -
! mirrored version of the stroke (e.g. !a, !A, !sa) -
Whitespace Enough distance to start a new character
### Results
PaleoCodage encodings can produce a variety of results as can be shown below.
#### Image Representations
The results of the description can be saved as a PNG image or as SVG and can therefore be used to share cuneiform character representations without much effort.
#### OpenType Font
In addition, an export as an OpenType font is possible. This is useful for various reasons
* The font can be used in any program to represent cuneiform characters
* The font can encode cuneiform characters which have not yet been added to Unicode
* The font can encode ligatures which can be used to describe cuneiform sign variants
##### Ligature Example
In the Unicode Definition of cuneiform characters, signs included in Borgers sign list have been collected and encoded. However, this definition is a semantic one, as the meaning of one sign e.g. E has been taken to describe the respective character.
In fact the sign E might be represented in a multitude of sign variants throughout time or even within the same period of time.
Using PaleoCodage, a unique description for each cuneiform sign can be created and subsequently assigned an ID.
For example we could define:
* E
* E_v1
* E_v2
each representing E, but with a different PaleoCodage description i.e. shape.
Next, the defined IDs can be added to the OpenType font as ligatures.
A ligature, when type, would let the font replace e.g. E_v1 with the respective sign variant encoded in the private unicode section of the font or in any other non-alphabetic part of the font.
An example of such ligature substitutions is given by https://symbolset.com which replaces text with emoji.
The concept is the same, only here we would replace modified transliterations with cuneiform characters.
http://pomax.github.io/CFF-glyphlet-fonts/ provides some more insights into ligatures.