Tag Archives: experiment

Digital Typography for Fictional Writing Systems – A Rant

This article still gets accessed a lot even after over 5 10 years since publishing it. Technology, however, continuously advances, so please be aware that the information below may be outdated.

  • Dieser Beitrag ist jetzt auch auf Deutsch zu lesen, nämlich hier.
  • By now, I’ve made a font that uses Graphite.
  • Keep in mind that I’m not even a semi-professional font designer. All you read here is my subjective experience in learning by doing. I haven’t yet explored font-making beyond what I needed for my own stuff.

One of my ongoing language-construction related pet projects is to bring my constructed language’s writing system to the computer. I have been trying to come up with workable solutions to do this for a number of years, but always hit brick walls sooner or later. Continue reading Digital Typography for Fictional Writing Systems – A Rant

Wuggy and Ayeri

  • I permanently deactivated my Twitter account in January 2023. Links to the account below aren’t functional anymore.

So I’ve decided to give a go to this new-fangled web service called “Twitter,” about which the kids have been so frantic for the past couple of years.[1. You can follow me, if you wish, at @chrpistorius] To be honest, Twitter has completely passed me by so far, as I didn’t really see the sense in it when you can share links and leave short notices about ideas that have just popped into your head on Facebook just as easily.

However, this article is not supposed to be about my experiences with Twitter, but rather about something that I’ve found on Twitter thanks to @janMato: A little Python program called Wuggy, developed by folks at the Center for Reading Research of the Department of Experimental Psychology at Gent University, Belgium. This program allows users to create pseudo-words tailored to the specific sound and syllable structure of languages, e.g. to be used for cognitive research, like English ‘wug’, which is to be pluralized in the classic test. JanMato suggested it would be useful for conlanging, too.

In my last post, I had already mentioned that I sometimes use a list of generated words to choose from when I can’t think of a suitable word for some meaning off the top of my head. The list I use currently was generated with a program called kwet, based on the data gained from a rather tedious, search-and-replace heavy analysis of my language’s dictionary that I conducted last year. I’ve been meaning to program a PHP script that can do this analysis automatically (and never did), but I thought that if this program can actually analyze a dictionary you give it in order to generate similar non-words, I might give it a go anyway.

So, how do we get our own words into the program? Wuggy is built in Python, as I said, so its code should be rather straightforward (unlike PERL code, which is simply not to be read). What you need is a bunch of files:

  • ./plugins/subsyllabic_yourlang.py
  • ./plugins/orth/yl.py
  • ./data/yourlang_dictionary.txt

Fortunately, you can just copy an existing subsyllabic_*.py and orth file and just change the name of the language in the files to something more appropriate. And you must register the module for your language in ./plugins/__init__.py by simple analogy with the other entries. The dictionary files Wuggy uses are just flat TXT files where columns are divided with a tab:

word ↦ word’s syllabification ↦ some numeric value I don’t know how to obtain but just write 1

I got this file by simply dumping the ‘pronunciation’ field of my MySQL database into a CSV file which I edited to use orthography instead of phonemic transcription (not very difficult in Ayeri) etc. to fit Wuggy’s format. In order to get Wuggy to do something, you will also need to provide some input to generate words from – I just use my dictionary file with the last field (the one with ‘1’ at the end of each line) removed.

If all prerequisites are installed and you execute Wuggy.py, there’ll be a dialog window with some options. If the creation of Yourlang’s module has worked out, you should see “Subsyllabic Yourlang” as an option in the “Language Modules” drop-down menu and if you choose Yourlang, a progress bar thing should pop up shortly, which tells you about loading and generating some values. I ran my whole dictionary shortened to unique entries (~1800) through the program this afternoon, creating 3 alternatives per word. Here’s some of the output (left original, right generated):

a-ra kri-bay
ba-br= de-bi
ban-te-b= nil-pu-r=
da-lang kra-nu=
en-van tay-tran

This doesn’t look bad so far, but annoyingly, it would recreate the same words dozens of times for the same or similar original syllables even with the dissimilarity from the original word set to 1 out of 3. Also, this occurred frequently:

bu-rang lu-u=
e-rar me-ik
i-lon le-in
kay-ra lē-o
ma-kim ka-os

The problem here is that Ayeri allows words to begin with vowels, but the likeliness of two vowels after another mid-word is rather small. Also, words can’t end e.g. in [p t k], and long vowels are the result of an allophonic process triggered by morphotactics rather than lexicalized. I don’t know, though, how to tweak my module files to avoid this, unfortunately.

Pangram

Since I read about the Javanese script a couple of years ago, I’ve been kind of fascinated by the idea of its collation, formerly quoted on Omniglot, and – with better quotability – at the moment to be found in a paper by Michael Everson:

The traditional order of the Javanese script is: ha na ca ra ka da ta sa wa la pa dha ja ya nya ma ga ba tha nga and this order has some currency. (The order is hana caraka, data sawala, padha jayanya, maga bathanga, a sentence which means ‘There were (two) emissaries, they began to fight, their valour was equal, they both fell dead’.) (Everson 5)

I wondered whether something like this would also work for Ayeri, since it draws some inspiration from the phonologies of south-east Asian languages. Now fellow ZBB member Z500 posted a “Translation Challenge” today with a request to translate “The quick brown fox jumped [sic!] over the lazy dog,” the famous test sentence for fonts in Microsoft Windows, into one’s own language. I found the original example very unchallenging, so I finally wanted to tackle the attempt to make a pangram in Ayeri.

Since I’ve reworked this website last month, it is possible to simply enter a regular expression into the text field of the “Advanced Search” page, like this:

^([^aeiou(ay)(ey)(oy)(uy)āēīō]?a?)+$

Querying for this term returns a lengthy list of words that consist of the pattern C(a)C(a)… as in the Javanese example above. I chose to do it this way because using every vowel only once would’ve been extra hard, while there are numerous words that fit the Ca-pattern perfectly. So I played with this list a little, and came up with this:

Ang kamayan para dagās vala, bahu ca!
[gloss]Ang kamayan para dagās vala, bahu ca!
AT be_as_as-3PM.T quick turtle-P lovely, shout-IMP 3PM.LOC[/gloss]
‘They are as quick as a lovely turtle; shout at them!’
or ‘If they are as quick as a lovely turtle, shout at them!’

However, this isn’t a perfect pangram: /u/ and /aː/ occur although I wanted all vowels to be just /a/, and also /j/ occurs twice, since c /t͡ʃ/ corresponds to ty in the ‘native’ script (see “Alphabet” page). The latter issue is debatable, however, since ya is a diacritic there (ya eyra), not the letter ya itself. Due to the sentence beginning with the particle ang this almost-pangram even includes the otherwise silent vowel carrier character, ranyan.

With currently 370 unique results for the word pattern quoted above, it will certainly be possible to make up more pangrams with some patience. Maybe I’ll give this another try sometime else and that time really manage to come up with a pangram the way I intended to make one.

  • Everson, Michael. “Proposal for Encoding the Javanese Script in the UCS.” Evertype. 2011. Michael Everson, 28 Jan. 2008. Web. 29 Mar. 2011.
  • “Javanese.” Ancient Scripts. Lawrence Lo, 2010. Web. 29 Mar. 2011.
  • “Javanese Alphabet.” Omniglot. Writing Systems and Languages of the World. Simon Ager, 2011. Web. 7 Apr. 2010. (Access with ‹waybackmachine.org› on 29 Mar. 2011)
  • Added interlinear formatting and rendition in native script.
  • Another attempt at making a pangram in Ayeri.

Tahano (Nu)Veno(n) font

Tahano (Nu)veno(n)Just in case this was missed by anyone … If you’ve been following my work you may remember I used to have this Vine Script thing, which was an ornamental alphabet that took inspiration for its characters from climbing plants. Rebecca Bettencourt, fellow Conlang-L reader, made a font of it last year. We agreed that it would be freeware and that I could offer it for download. I’ve not done so up to now.

I earlier deleted information on the script here as I didn’t see it directly related to Ayeri anymore, but I still used to receive requests about it occasionally. Since the alphabet itself is kind of pretty – although I’ve only ever seen it as a minor experiment and never used it actively to write longer passages in Ayeri with because it is simply too unwieldy for that purpose – I didn’t want it to get lost completely. Essentially, you may want to think of it as the equivalent of an EP in music.

The font is self-transcribing, basically. There’s also a page on the script as it was digitalized on Omniglot, you may want to check that for documentation, as well as the Readme file included in the ZIP archive.

Download (MD5: e9228a56fefadccce3c1abda8bc4456e; 59,355 bytes)

  • The description of Tahano Veno from the old Benung page can be downloaded as a PDF as well. It doesn’t significantly differ from the description at Omniglot, though.