summaryrefslogtreecommitdiffstats
path: root/ukarpanghooth.html
blob: 0d7d2e7073d896ed722893576c3f93199555de49 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>ukarpanghooth — aaoth.xyz</title>
	<link href="style.css" rel="stylesheet">
</head>
<body>
	<nav>
		<ul>
			<li><a href="/">home</a></li>
		</ul>
	</nav>
<article>
<h1>ukarpanghooth</h1>
<h2 id="overview">overview</h2>
<div class="win">
<p>the first writing system i'm going to talk about is ukarpanghooth
(meaning 'angular cut', <span class="nobreak">IPA: /ɤ.kaɾ.pan.ɡʱə.uːtʰ/</span>). it was actually
my first attempt to create a writing system. it's main purpose was just
to be unreadable by others (steganography? security by obscurity?).</p>
</div>
<h2 id="description">description</h2>
<div class="win">
<p>this is a simple alphabetic script based on latin alphabet. some
letter shapes are also influenced by runic scripts. the first version
(proto-ukarpangooth) was actually very similar to the latin alphabet,
so later it was modified, as an attempt to make it more unique and more
obscure. words are separated by a special symbol, so that sentences are
written together as one piece.</p>

<figure>
<img src="ukarpanghooth-1.png" alt="chart with three columns">
<figcaption>
correspondence between latin, proto-ukarpanghooth (abbreviated on the picture)
and ukarpanghooth. some intermediate letter forms are also shown.
numeral for digit zero is shown with an asterisk because it is not known
if the corresponding glyph was used as a zero in numbers.
<br>
<a href="ukarpanghooth-1.svg">open svg version</a>
</figcaption>
</figure>

<p>there is one interesting aspect about it is the order and direction in
which it is written. initially it was done the usual way (well... for
some), right-to-left, top-to-bottom. then i came up with something
creative, writing it in groups of four letters in a square (top-right,
bottom-right, bottom-left, top-left). if the number of letters in a
sentence isn't divisible by four, letters are stretched to fit into
square shape. there also instances of it written snake-shaped, turning
by 90 degrees after each word.</p>

<figure>
<img src="ukarpanghooth-2.png" alt="two pieces of example text written differently">
<figcaption>
"example text in ukarpanghooth" written conventional way (on the left),
and maze-shaped (on the right). the latter writing direction was historically the first.
<br>
<a href="ukarpanghooth-1.svg">open svg version</a>
</figcaption>
</figure>

<p>the name of the script suggests that one can cut it on something
(wood, stone, etc.), as only straight line segments are used.</p>
</div>
<h2 id="usage">usage</h2>
<div class="win">
<p>as mentioned before, script's main purpose was to hide some information
(i once used it to cheat on a test in a physics class :D). mainly i
wrote english text. some time later i used it to write my unfinished
conlang named aihnth (<span class="nobreak">IPA: /a.ji.ən.tʰə/</span>).</p>

<p>the script has some ornamental potential, as its glyphs are pretty
simple and use only straight lines.</p>

<figure>
<img src="ukarpanghooth-cross.jpg"
alt="a photo of st peter's cross cut out from plastic
with some inscriptions on it, on the right side of the picture there is drawing which shows only inscriptions">
<figcaption>
st peter's cross with "hd un'nuhrthh fah'deelhrhu khotghu koth'h" written on it.
</figcaption>
</figure>

</div>
<h2 id="font">font</h2>
<div class="win">
<p>actually, at first, i didn't think that it would be possible
to replicate this script's peculiar writing order in a computer
font. however, after reading some specs, decompiling some fonts and
experiments i've found a way to do it.</p>

<p>open-type features allow two things: substitution (GSUB) and position
(GSUB) of glyphs. basically, we need to have three versions of each
letter: full size, half size and quarter size. then we substitute runs
of four letters with four quarter sized ones, three letters with two
quarters and one half, and, finally, two letters with two halves. the
only thing left is to use contextual postitioning to move each component
where it needs to be.</p>

<pre>
<code>
@full = [a b c]; # full-size letters
@half = [a.half b.half c.half]; # half-size letters
@qrtr = [a.qrtr b.qrtr c.qrtr]; # quarter-size letters

# helper lookups
lookup full2qrtr {
	sub @full by @qrtr;
} full2qrtr;
lookup full2half {
	sub @full by @half;
};

# main substitution lookup
lookup charBlock {
	sub @full' lookup full2qrtr @full' lookup full2qrtr @full' lookup full2qrtr @full' lookup full2qrtr;
	sub @full' lookup full2qrtr @full' lookup full2qrtr @full lookup full2half;
	sub @full' lookup full2half @full' lookup full2half;
} charBlock;
</code>
</pre>
<p>sources and compiled font for this script are available at <a href="https://git.aaoth.xyz/lipi/tree/ukarpanghooth">my git directory</a>.</p>
</div>
<h2 id="playground">playground</h2>
<div class="win">
<p>here you can try this writing system, it currently lacks a lot of glyphs, but the main letters are implemented.</p>
<textarea id="ukarpanghooth">write something here</textarea>
</div>
</article>
</body>
</html>