Tagāti Book G

A Font for the Tahano Hikamu Writing System Enabled with SIL Graphite

Last modified: Carsten Becker, 24 August 2012
christianus_blah_._all_this_obfuscation_tsk_tsk_pistorius_removethis_@_and_this_too_gmail_this_as_well_._removethis_com
CC-BY-NC-SA 3.0 License


1. Purpose

This is a True Type font for my fictional writing system thno hikmu Tahano Hikamu, which was inspired by writing systems of the south-eastern part of the Asian continent, especially Brahmic scripts. I made the font in order to be able to typeset things in my script on the computer as well so that it would not be necessary to use pen, paper, and a scanner every time I want to produce something digital in it.

Tagāti Book G has been released under a Creative Commons license that grants you a lot of freedom because according to my own experience, people involved in the fictional language community on the internet are always very curious about how to make fonts for their own fictional languages and their respective writing systems. Since font-making is a very complex task, I hope to provide a useful insight into how I made this font by fully disclosing its sources. My own design and coding are certainly far from perfect, so if there is anything to improve or optimize, you're invited to help correcting those issues. The sources can be found on Github, http://www.github.com/carbeck/tagatibookg.

Tahano Hikamu is a very complex script even for a Brahmic-inspired abugida in that there is a lot of diacritic stacking and character reordering involved, occasionally also against the primary left-to-right writing direction. The decision to program those complex features into the TTF files with Graphite was made because earlier attempts with just OpenType – which is far more widespread – were unsatisfying, since it would be too restricted in its support of features, especially for a fictional script that is not just a mere rip-off of an existing one.

Note that in order to see all characters in this file correctly, you need to use a browser that supports @font-face and the Tagāti Book G TTF files need to be located in the same directory as this file; alternatively, you need to have the TTF files provided by this font package installed wherever your operating system normally keeps fonts. Furthermore, you need a browser that supports SIL Graphite (to date only Mozilla Firefox from version 11 on), which may need to be activated first – SIL International provides a description for how to do that in Mozilla Firefox.

2. Character Set

Tagāti Book G (ab)uses much of the “Latin-1” area in Unicode to make input with a regular Western keyboard as easy as possible. How the script works is described in detail in the tahanohikamu.html file. The following charts give the characters in both hikamu ‘round’ (Regular) and hinyan ‘angular’ (Italic) style – if you have the fonts installed or can dynamically load them from your browser.

2.1. Consonants

Character Code Name Normal Key
* * u+002a Dummy Consonant * *
C C u+0043 Ayeri Supplemental Letter Cha C C
G G u+0047 Ayeri Supplemental Letter Gha G G
N N u+004e Ayeri Letter Nga N N
S S u+0053 Ayeri Supplemental Letter Sha S S
T T u+0054 Ayeri Supplemental Letter Tsa T T
X X u+0058 Ayeri Supplemental Letter Kha X X
Z Z u+005a Ayeri Supplemental Letter Zha Z Z
b b u+0062 Ayeri Letter Ba b b
d d u+0064 Ayeri Letter Da d d
f f u+0066 Ayeri Supplemental Letter Fa f f
g g u+0067 Ayeri Letter Ga g g
h h u+0068 Ayeri Letter Ha h h
k k u+006b Ayeri Letter Ka k k
l l u+006c Ayeri Letter La l l
m m u+006d Ayeri Letter Ma m m
n n u+006e Ayeri Letter Na n n
p p u+0070 Ayeri Letter Pa p p
q q u+0071 Ayeri Supplemental Letter Kwa q q
r r u+0072 Ayeri Letter Ra r r
s s u+0073 Ayeri Letter Sa s s
t t u+0074 Ayeri Letter Ta t t
v v u+0076 Ayeri Letter Va v v
w w u+0077 Ayeri Supplemental Letter Wa w w
x x u+0078 Ayeri Supplemental Letter Ksa x x
y y u+0079 Ayeri Letter Ya y y
z z u+007a Ayeri Supplemental Letter Za z z
Ñ Ñ u+00d1 Ayeri Letter Short Na Ñ  
ñ ñ u+00f1 Ayeri Letter Ligated Na ñ  
ʔ ʔ u+0294 Ayeri Letter Glottal Stop and Vowel Carrier ʔ  

2.2. Top Vowels

Character Code Name Normal Key
a a u+0061 Ayeri Top Vowel A a a
e e u+0065 Ayeri Top Vowel E e e
i i u+0069 Ayeri Top Vowel I i i
o o u+006f Ayeri Top Vowel O o o
u u u+0075 Ayeri Top Vowel U u u
ə ə u+0259 Ayeri Vowel Top Schwa ə  
u+a737 Ayeri Top Vowel Au au

2.3. Bottom Vowels

Character Code Name Normal Key
̀ ̀ u+0300 Ayeri Bottom Vowel A ̀ _a
́ ́ u+0301 Ayeri Bottom Vowel E ́ _e
̂ ̂ u+0302 Ayeri Bottom Vowel I ̂ _i
̃ ̃ u+0303 Ayeri Bottom Vowel O ̃ _o
̄ ̄ u+0304 Ayeri Bottom Vowel U ̄ _u
̅ ̅ u+0305 Ayeri Bottom Vowel Schwa ̅  
̆ ̆ u+0306 Ayeri Bottom Vowel Au ̆ _au

2.4. Initial Vowels

Character Code Name Normal Key
A A u+0041 Ayeri Initial Vowel A A A
E E u+0045 Ayeri Initial Vowel E E E
I I u+0049 Ayeri Initial Vowel I I I
O O u+004f Ayeri Initial Vowel O O O
U U u+0055 Ayeri Initial Vowel U U U
Ə Ə u+018f Ayeri Vowel Initial Schwa Ə  
u+a736 Ayeri Initial Vowel Au AU

2.5. Bottom Diacritics

Character Code Name Normal Key
F F u+0046 Ayeri Silent Vowel Mark Bottom F F
H H u+0048 Ayeri Aspiration Mark Bottom H H
J J u+004a Ayeri Palatalization Mark Bottom J J
M M u+004d Ayeri Nasalization Mark Bottom M M
Y Y u+0059 Ayeri Syllalbe-Final Ya Bottom Y Y
¯ ¯ u+00af Ayeri Long Vowel Mark Bottom ¯ VOWELVOWEL
ˀ ˀ u+02c0 Ayeri Glottal Stop Mark Bottom ˀ  
̓ ̓ u+0313 Ayeri Gemination Sign Bottom ̓ CONSFCONS

2.6. Top Diacritics

Character Code Name Normal Key
Q Q u+0051 Ayeri Glottal Stop Mark Top Q Q
¨ ¨ u+00a8 Ayeri Systematic Vowel Modification Mark ¨ _:
̐ ̐ u+0310 Ayeri Nasalization Mark Top ̐ _M
̑ ̑ u+0311 Ayeri Silent Vowel Mark Top ̑ _F
̔ ̔ u+0314 Ayeri Gemination Sign Top ̔  

2.7. Pre-Diacritics

Character Code Name Normal Key
R R u+0052 Ayeri Retroflex Mark R R
j j u+006a Ayeri Rising Diphthong Mark j j
ʰ ʰ u+02b0 Ayeri Aspiration Mark Pre ʰ  
ʲ ʲ u+02b2 Ayeri Palatalization and Syllable-Final YA Mark Pre ʲ  
ː ː u+02d0 Ayeri Long Vowel Mark Pre ː  

2.8. Numbers

Character Code Name Normal Key
0 0 u+0030 Zero 0 0
1 1 u+0031 One 1 1
2 2 u+0032 Two 2 2
3 3 u+0033 Three 3 3
4 4 u+0034 Four 4 4
5 5 u+0035 Five 5 5
6 6 u+0036 Six 6 6
7 7 u+0037 Seven 7 7
8 8 u+0038 Eight 8 8
9 9 u+0039 Nine 9 9
¹ ¹ u+00b9 Ten ¹ ¹
² ² u+00b2 Eleven ² ²

2.9. Punctuation

Character Code Name Normal Key
    u+0020 Space   SPACE
! ! u+0021 Exclamation mark ! !
" " u+0022 Quotation mark " "
' ' u+0027 Ayeri Divider Mark (Dash, Apostrophe) ' '
( ( u+0028 Left Parenthesis ( (
) ) u+0029 Right Parenthesis ) )
, , u+002c Ayeri Wide Syntactic Space (Comma) , ,
- - u+002d Simple Dash - -
. . u+002e Full Stop . .
/ / u+002f Ayeri Divider Mark / /
: : u+003a Simple Dash : :
; ; u+003b Simple Dash ; ;
? ? u+003f Question Mark ? ?
[ [ u+005b Ayeri Left Name Mark [ [
] ] u+005d Ayeri Right Name Mark Bottom ] ]
_ _ u+005f Low Line _ _
u+00b6 Ayeri Line-End Mark  
· · u+00b7 Ayeri Decimal Point ·  
̒ ̒ u+0312 Ayeri Silent Vowel Mark Post ̒  
̕ ̕ u+0315 Ayeri Right Name Mark Top ̕  
u+200b Zero Width Space  
u+200c Zero Width Non-Joiner  
u+2010 Ayeri Simple Dash -
u+2011 Ayeri Simple Dash (non-breaking)  
u+2012 Ayeri Simple Dash  
u+2013 EN Dash  
u+2014 EM Dash  
u+2019 Ayeri Divider Mark (Dash, Apostrophe)  
u+201c Ayeri Left Quotation Mark  
u+201d Ayeri Right Quotation Mark  
u+203c Ayeri Emphatic exclamation mark  

The reason that some characters appear so often here is compatibility e.g. with word processors like LibreOffice. Plus, Tahano Hikamu uses e.g. simply a dash or a colon where the Latin alphabet would use a couple of different punctuation marks. Redundancy in those cases is for convenience.

2.10. Abbreviations

Character Code Name Normal Key
& & u+0026 Ayeri abbreviation nay & &
+ + u+002b Ayeri Abbreviation Naynay + +

3. Key Macros Used by the Font

A number of characters can be entered by means of a chain of keys, that is, Tagāti Book G has an input method engine already built in for convenience – or out of megalomania. It is important to note that Graphite is not supported by the majority of applications, except for the handful listed on the SIL Website. Most notably, those are derivatives of OpenOffice.org and Mozilla Firefox.

Key combination Output Description
au *ꜷ  
_a The underscore _ followed by a vowel character generates a bottom vowel. Unfortunately, this does not yet work for the schwa vowel.
_e
_i
_o
_u
_au
AU Capital A followed by capital U generates the initial vowel ‹au›.
aa Double vowels generate the vowel itself plus a length mark. Unfortunately, this does not yet work for the schwa vowel.
ee *e¯
ii *i¯
oo *o¯
uu *u¯
aauu *ꜷ¯
AAUU Ꜷ¯ Capital AA followed by capital UU generates the initial long vowel ‹au› consequently.
pFp pFp CONS 1FCONS 1 generates the CONS 1 with a gemination mark.
tFt tFt
etc.  
nn nn The ‹na-na› ligature forms automatically.
_F *_F A top-attaching gemination mark in turn can be made by hand, should it be needed.
_M *_M The same goes for a top-attaching nasalization mark.
_: *_: The ‘systematic vowel alteration’ (or simply put, umlaut) diacritic can be entered manually as well.
Fy *Fy This is the long way to get the ‘syllalbe-final ya bottom’ diacritic.

4. Input Order

For most purposes, diacritics order themselves automatically, so it should be possible to enter most of them in their logical order – rather than their graphical order, so even preposed diacritics or diacritics shifted in front of a consonant are to be entered after the syllalbe onset consonant. Here are some examples:

tete ‹te›

te_ate_a ‹tea›

tee_atee_a ‹tēa›

tYee_atYee_a ‹tyēa›

tHYee_atHYee_a ‹thyēa›

tRHYee_atRHYee_a ‹ṭhyēa›

tRHYeejtRHYeej ‹ṭhyēy›

[tRHYeej][tRHYeej] ‹Ṭhyēy›

There are, however, still problems with the glottal stop diacritic:

kiki ‹ki›

kiQkiQ ‹kiʔ›

kiQMkiQM ‹kĩʔ›

kQiiMkQiiM ‹kĩĩʔ›

It is possible to include up to ten diacritics per syllable this way. Placing preposed diacritics manually may require you to use the Zero Width Non-Joiner (ZWNJ) to voluntarily cut the string analyzing Graphite does. A ZWNJ is automatically inserted in front of every syllable block already in order to provide flexibility while preventing Graphite from overapplying reordering rules so that diacritics end up in neighboring syllables.

5. Software used