Archive for October, 2013

cross is ruzti (revisited)

Thursday, October 31st, 2013
ruzti = cross (noun) (some things Google found for "ruzti": an unusual term; a rare last name; user names; a League of Legends gaming character; a rare first name; RuzTi Naylz is a rap musical artist; similar Rusti is an unusual first name)

Word derivation for "cross"
Basque = gurutze, Finnish = risti
Miresua = ruzti

My previous Miresua conlang word for cross was ruiste.

This is a revision. I'm posting it because I'm running short on time. The noun cross doesn't appear in Alice's Adventures in Wonderland, but the adjective cross appears and the verbs cross and cross-examine.

Detail #63: ‘to have’ in Ćwarmin

Wednesday, October 30th, 2013
As described in the previous post, Ćwarmin has a special accusative for reflexively possessed objects. This combines with some normally intransitive verbs - to be, to stand guard, to become, to go - to create predicative possession.

The simplest construction is along these lines:
SUBJECT.nominative is[inflected for tense, aspect, person] OBJECT.refl.poss.acc
 ~subject has object
The owner can sometimes also be in the dative, in which case the verb omits agreement.

More complicated things appear with various voices. The language has two passives - one that promotes the direct object to subject, and one that promotes the indirect object. Sometimes, the indirect object passive (henceforth passive II) is used for predicative possession as well:
SUBJECT.nom is.passII.[tense,aspect,person] OBJ.refl.poss.acc
The third person passive II is used when having in general is discussed, or when no object is supplied:
be.passiveII.participle = those who have
be.passiveII money.refl.poss.acc is nice = to have money is nice 

Further, usually, to stand guard, takes a locative complement. The ablative can be used to mark guarding against something. It being used to denote possession often relates to certain objects that often are guarded  in the Ćwarmin culture - homes, flocks, individual animals, slaves, daughters, but also honor, titles and duties and by extension any noun of which one is especially proud. To stand mainly is used when the object is land, resources, ships, a shed or otherwise work-related building, rights and equals or above in status (brothers, friends, owners, masters, etc). To go is used in a possessive sense whenever the object actively obtained, to become when it is bestowed upon the subject.

Detail #62: That case system

Tuesday, October 29th, 2013
The case system I made up as an example case system to describe some possible adverbial quirks was, imho, surprisingly good, so I figure I might take and develop it a bit further. I have generally avoided large case systems in my conlanging, settling for at most eight or so standard cases (although the Bryatesle case system arguably consists of more, but that is due to how they stack). To make it easier to speak of this language, I've given it a tentative name, Ćwarmin.

Here's the basic set of cases, given in set theoretical notation:
{nominative, accusative, reflexively possessed accusative, nominative complement, accusative complement, genitive, dative, {{towards, from, at}×{on, in, by}}/{towards,by}, general ablative, instrumental, comitative-with, comitative-to, negative}

Nominative is same-oldy, as is accusative. Reflexively possessed accusative is a special version of the accusative (but also takes on dative functions). The nominative and accusative complements are used both for copula-like and causative-like constructions. The nominative complement is a reduced copula-like particle. The genitive does its usual things but also partitive-like stuff, the dative does its usual things (but also some more classical object-like things). The locative cases, of course, by and large, do their usual things (and some other stuff, which I may design and describe later).

The Locatives
towards-ontowards-in
from-onfrom-infrom-by
at-onat-inat-by

Towards-by is not distinguished from at-by.

General ablative
This case expresses a few different notions, some not necessarily locative in nature - avoided things, objects of reference (three miles from X), objects of comparison, a variety of uses with nominalized verbs, the onset of durations.

The Comitatives
The two comitatives and the instrumental form a sort of forked towards/at-like structure. The towards-comitative sometimes does duty as a towards-instrumental, but giving it the designation of towards-comitative is more justified as it covers that kind of 'abstract, ideal case-space' for this language more perfectly. The lack of a from-instrumental/from-comitative is in part a result of the way comitatives and instrumentals are conceived of in Ćwarmin. To the extent such cases would be called for, they are somewhat haphazardly distributed over the different from-cases, including the general ablative.

An example of the comitative-to would be most notions of joining, marrying or setting out to visit, whereas comitative-with express the usual comitative notions as well as staying at someone or a group, being married to someone or being a member of some group.

The Negative
A case by such a name may sound a bit unjustified, but as it covers several somewhat negation-related functions, the name is better than abessive or negative concord or any such. It covers the following roles:

  • absent existential arguments (subjects of negative existential statements, objects of negative existential statements)
  • that which is lacked (without X).
  • frequent with nominalized verbs (not having Xed, without Xing, not intending to X)
  • frequent with negative objects when an indirect object is present (X didn't give Y Z.neg)
  • frequent with negative, definite singular objects (didn't verb X)
  • in the plural, negative indefinite for intransitive subjects or objects ('no X'). Negative, indefinite transitive subjects and other noun phrases are formed using a negative determiner instead.
  • sometimes for 'instead of'. In these cases, it is generally preceded by a conjunction. 


More on these and how they interact with some verb system later.

tear (teardrop) is makyl

Sunday, October 27th, 2013
makyl = tear (noun) (some things Google found for "makyl": an unusual to rare term; Makyl Engineering Consulting & Services of Lima, Peru; user names; name of several gaming characters; Makyl Enterprises LLC of Arizona; a very rare last name; a very rare first name)

Word derivation for "tear (teardrop)" :
Basque = malko, Finnish = kyynel
Miresua = makyl

Chapter II in Alice's Adventures in Wonderland is titled The Pool of Tears. Alice cried, when she was nine feet high, until there was a large pool all round her.

In Miresua, the nominative plural, tears, will be makylat.

Arbitrary Sort Orders in Python (including digraphs!)

Friday, October 25th, 2013

Unicode: everyone wants it, until they get it.
Barry Warsaw

I know I'm due to do another post about LaTeX, but that'll have to wait for next week.

I've recently discovered two nice tools for my iPad which let me do some programming, and sophisticated editing and text processing, Editorial and Pythonista. So, I've been working on some code related to conlanging.

I know some people hate them, but I'm a big fan of word generators for three reasons. First, they help me avoid overusing certain sounds, something I'm normally prone to. Second, it helps you verify that the rules you've given for your syllable shapes actually describe what you want. Finally, while I might have phonaesthetic concerns about some vocabulary, I don't want to agonize over the word for "toe" or "napkin" most of the time, so I like having a random pool of words to grab from. I still might change the word, or decide a random selection is not right for the word, so it's not like I'm giving up aesthetic control of my language.

In any case, while it is a bit odd to write new software on a tablet, last night in about an hour I created a good tool for generating random new word shapes based on rules. But one serious problem came up — the sorted list was sorted terribly! For a person using a computer intended for English speakers, "á" is sorted after "z", which is not what I want at all. So I spent some time trying to come up with a way to sort arbitrarily.

In addition to the sort order of "á", I wanted to be able to correctly sort digraphs. In some languages, "ng" comes after the entirety of "n" in dictionaries and phone books.

It turns out there is a terrifying Perl library to accomplish this, Sort::ArbBiLex. As far as I can see, no such library exists for Python, so I had to write my own.

The code could probably be more efficient, but it works for my purposes, and turned out to be fairly simple. I rely on two bits of trickery. First, Python lets you sort ordered collections like lists and tuples. This makes it easy to follow the "decorate-sort-undecorate" pattern for sorting complex items. Second, I use a bit of a regular expression hack. If you split using a regular expression in a group, you get a strided array as a result, with the split pattern interwoven with the regular expression match.

>>> import re
>>> m = re.compile(r'(ch|t|p|k|a|i|o)')
>>> m.split("tapachi")
['', 't', '', 'a', '', 'p', '', 'a', '', 'ch', '', 'i', '']
>>> m.split("tapachi")[1::2]
['t', 'a', 'p', 'a', 'ch', 'i']
>>>

Basically, I split on every single character in the language, which gives me a lot of empty strings, but they're easily filtered out. Notice how it recognizes "ch" as a separate letter of the language.

So, the central algorithm of this little bit of code is: convert the unicode string to a sequence of "letters" (however defined in your language), convert those letters into a numerical code, sort the list of numerical codes, turn the collections of numerical codes back into words, spit back the complete result.

import re

class ArbSorter:
def __init__(self, order):
elts = re.split('s*', order, flags=re.UNICODE)
# Create a regex to split on each character or multicharacter
# sort key. (As in "ch" after all "c"s, for example.)
# Gosh, this is not especially efficient, but it works.
split_order = sorted(elts, key=len, reverse=True)
self.splitter = re.compile(u"(%s)" % "|".join(split_order), re.UNICODE)
# Next, collect weights for the ordering.
self.ords = {}
self.vals = []
for i in range(len(elts)):
self.ords[elts[i]] = i
self.vals.append(elts[i])

# Turns a word into a list of ints representing the new
# lexicographic ordering. Python, helpfully, allows one to
# sort ordered collections of all types, including lists.
def word_as_values(self, word):
w = self.splitter.split(word)[1::2]
return [self.ords[char] for char in w]

def values_as_word(self, values):
return "".join([self.vals[v] for v in values])

def __call__(self, l):
l2 = [self.word_as_values(item) for item in l]
l2.sort()
return [self.values_as_word(item) for item in l2]

if __name__ == '__main__':
mysorter = ArbSorter(u"a á c ch e h i k l m n ng o p r s t u")
m = u"chica ciha no áru ngo na nga sangal ahi ná mochi moco"
s = mysorter(m.split())
print " ".join(s).encode('utf-8')

(A more attractive presentation.)

Just run the code and it prints out "ahi áru ciha chica moco mochi na ná no nga ngo sangal", exactly what you want. Much better than the "ahi chica ciha mochi moco na nga ngo no ná sangal áru" you'll get on a computer localized for an English speaker.

It is vital that you tell Python you're working with unicode text here, so make sure to include this in a comment near the top of your code: -*- coding: utf-8 -*-.

Arbitrary Sort Orders in Python (including digraphs!)

Friday, October 25th, 2013

Unicode: everyone wants it, until they get it.
Barry Warsaw

I know I'm due to do another post about LaTeX, but that'll have to wait for next week.

I've recently discovered two nice tools for my iPad which let me do some programming, and sophisticated editing and text processing, Editorial and Pythonista. So, I've been working on some code related to conlanging.

I know some people hate them, but I'm a big fan of word generators for three reasons. First, they help me avoid overusing certain sounds, something I'm normally prone to. Second, it helps you verify that the rules you've given for your syllable shapes actually describe what you want. Finally, while I might have phonaesthetic concerns about some vocabulary, I don't want to agonize over the word for "toe" or "napkin" most of the time, so I like having a random pool of words to grab from. I still might change the word, or decide a random selection is not right for the word, so it's not like I'm giving up aesthetic control of my language.

In any case, while it is a bit odd to write new software on a tablet, last night in about an hour I created a good tool for generating random new word shapes based on rules. But one serious problem came up — the sorted list was sorted terribly! For a person using a computer intended for English speakers, "á" is sorted after "z", which is not what I want at all. So I spent some time trying to come up with a way to sort arbitrarily.

In addition to the sort order of "á", I wanted to be able to correctly sort digraphs. In some languages, "ng" comes after the entirety of "n" in dictionaries and phone books.

It turns out there is a terrifying Perl library to accomplish this, Sort::ArbBiLex. As far as I can see, no such library exists for Python, so I had to write my own.

The code could probably be more efficient, but it works for my purposes, and turned out to be fairly simple. I rely on two bits of trickery. First, Python lets you sort ordered collections like lists and tuples. This makes it easy to follow the "decorate-sort-undecorate" pattern for sorting complex items. Second, I use a bit of a regular expression hack. If you split using a regular expression in a group, you get a strided array as a result, with the split pattern interwoven with the regular expression match.

>>> import re
>>> m = re.compile(r'(ch|t|p|k|a|i|o)')
>>> m.split("tapachi")
['', 't', '', 'a', '', 'p', '', 'a', '', 'ch', '', 'i', '']
>>> m.split("tapachi")[1::2]
['t', 'a', 'p', 'a', 'ch', 'i']
>>>

Basically, I split on every single character in the language, which gives me a lot of empty strings, but they're easily filtered out. Notice how it recognizes "ch" as a separate letter of the language.

So, the central algorithm of this little bit of code is: convert the unicode string to a sequence of "letters" (however defined in your language), convert those letters into a numerical code, sort the list of numerical codes, turn the collections of numerical codes back into words, spit back the complete result.

import re

class ArbSorter:
def __init__(self, order):
elts = re.split('\s*', order, flags=re.UNICODE)
# Create a regex to split on each character or multicharacter
# sort key. (As in "ch" after all "c"s, for example.)
# Gosh, this is not especially efficient, but it works.
split_order = sorted(elts, key=len, reverse=True)
self.splitter = re.compile(u"(%s)" % "|".join(split_order), re.UNICODE)
# Next, collect weights for the ordering.
self.ords = {}
self.vals = []
for i in range(len(elts)):
self.ords[elts[i]] = i
self.vals.append(elts[i])

# Turns a word into a list of ints representing the new
# lexicographic ordering. Python, helpfully, allows one to
# sort ordered collections of all types, including lists.
def word_as_values(self, word):
w = self.splitter.split(word)[1::2]
return [self.ords[char] for char in w]

def values_as_word(self, values):
return "".join([self.vals[v] for v in values])

def __call__(self, l):
l2 = [self.word_as_values(item) for item in l]
l2.sort()
return [self.values_as_word(item) for item in l2]

if __name__ == '__main__':
mysorter = ArbSorter(u"a á c ch e h i k l m n ng o p r s t u")
m = u"chica ciha no áru ngo na nga sangal ahi ná mochi moco"
s = mysorter(m.split())
print " ".join(s).encode('utf-8')

(A more attractive presentation.)

Just run the code and it prints out "ahi áru ciha chica moco mochi na ná no nga ngo sangal", exactly what you want. Much better than the "ahi chica ciha mochi moco na nga ngo no ná sangal áru" you'll get on a computer localized for an English speaker.

It is vital that you tell Python you're working with unicode text here, so make sure to include this in a comment near the top of your code: -*- coding: utf-8 -*-.

middle is ereki

Wednesday, October 23rd, 2013
ereki = middle (noun) (some things Google found for "ereki": an uncommon term; Heart Ereki is a single by female Japanese idol group AKB48; Ereki no Wakadaishō (translation: The young electric guitar wizard) is a 1965 Japanese movie with the USA title of Campus A-Go-Go; Ereki Magnetic Changeable Lampshades of the UK; user names; a rare last name that can be Hungarian; ereki means electric guitar in Japanese; similar Ereke is the name of a place in Indonesia)

Word derivation for "middle" :
Basque = erdi (also can mean half)
Finnish = keski- and keskikohta
Miresua = ereki

The words center and middle are close in meaning in English, and even closer in Finnish. I think of center of a circle, and middle of a line.

In Alice's Adventures in Wonderland, Alice thought, "When I used to read fairy-tales, I fancied that kind of thing never happened, and now here I am in the middle of one!"

Another guess-me text in Nuirn

Wednesday, October 23rd, 2013
A Drottan, mey gièris þú møghen na friþ-es.
ə dɾot.n̩ mɛɪ jɛɾɪʃ θuː məɪ.n̩ nə fɾiː.ðəs


Adoy haonais, lát-am sá do h'éilis;
ə.dɔɪ høː.nɪʃ lɔːt.əm sɔ do.ˈhɛɪlɪʃ

adoy heort, ngaid;
ə.dɔɪ hi.ɐ˞t ŋɑdʲ

adoy tuìfl, tróisie;
ə.dɔɪ twɪ.vəl tɾuː.ə.si

adoy saorugs, hofaint;
ə.dɔɪ søːɾəks hoːvənt

adoy mórcaid, hliùs;
ə.dɔɪ muɾ.kət ɬɪʊs

adoy daups, frøydh.
ə.dɔɪ daʊps frəɪ


A Mestre na Deifi, sylis þú neve'm søcec:
ɑ mɛs.trə nə dɛ.vɪ sɪlɪʃ θuː nɛ.vɛm søkɛk

ath trøstes, ots ath trøste;
ə tɾøs.təs ɔts ə tɾøs.tə

ath forstás, ots ath forstá;
ə fɹˌ.stɔːs ɔts ə fɹˌ.stɔː

at elsces, ots at elsce.
ət ɛl.ʃəs ɔts ət ɛl.ʃə

Þuí ag gáfa gattumuidhe;
θwi ə gɔːvə gɑt.ʌm.wi

ag forgáfa førgifes uí,
ə fɹˌgɔːvə fɨɾ.jɪvəs wi

ag døth føddes uí a'r at líf go h'aionan.
ə døh føð.əs wi ɛɾ ət liv gə həɪ.jo:.nən

Another guess-me text in Nuirn

Wednesday, October 23rd, 2013
A Drottan, mey gièris þú møghen na friþ-es.
ə dɾot.n̩ mɛɪ jɛɾɪʃ θuː məɪ.n̩ nə fɾiː.ðəs


Adoy haonais, lát-am sá do h'éilis;
ə.dɔɪ høː.nɪʃ lɔːt.əm sɔ do.ˈhɛɪlɪʃ

adoy heort, ngaid;
ə.dɔɪ hi.ɐ˞t ŋɑdʲ

adoy tuìfl, tróisie;
ə.dɔɪ twɪ.vəl tɾuː.ə.si

adoy saorugs, hofaint;
ə.dɔɪ søːɾəks hoːvənt

adoy mórcaid, hliùs;
ə.dɔɪ muɾ.kət ɬɪʊs

adoy daups, frøydh.
ə.dɔɪ daʊps frəɪ


A Mestre na Deifi, sylis þú neve'm søcec:
ɑ mɛs.trə nə dɛ.vɪ sɪlɪʃ θuː nɛ.vɛm søkɛk

ath trøstes, ots ath trøste;
ə tɾøs.təs ɔts ə tɾøs.tə

ath forstás, ots ath forstá;
ə fɹˌ.stɔːs ɔts ə fɹˌ.stɔː

at elsces, ots at elsce.
ət ɛl.ʃəs ɔts ət ɛl.ʃə

Þuí ag gáfa gattumuidhe;
θwi ə gɔːvə gɑt.ʌm.wi

ag forgáfa førgifes uí,
ə fɹˌgɔːvə fɨɾ.jɪvəs wi

ag døth føddes uí a'r at líf go h'aionan.
ə døh føð.əs wi ɛɾ ət liv gə həɪ.jo:.nən

New Cover Art for The Valley of Thorns! What Do You Think?

Monday, October 21st, 2013
Ki'shto'ba reacts to learning the truth
about its misdeeds.
(Click for larger view)
       I'm presenting the new cover art that I concocted for The Valley of Thorns.  I honestly like it better than the other drawing, which I'm inserting at the bottom so you can compare.  The new drawing shows a scene from late in the book, but I can't tell you more about what's happening than I put in the caption.  It's enough to say that Ki'shto'ba isn't really murdering Di'fa'kro'mi and Za'dut no matter how it looks, but it is quite dramatic!  They are in the desert here, not in the Valley of Thorns.  The main thing I don't like about it is the depiction of the extinct volcano -- it lacks depth.  I may tinker with that a little.
       I can give you this much of a quotation, without revealing too much of the plot:
“You used the Great Spear on Pai’it’zei,” I said, dreading what was coming.  “You killed no one else with A’zhu’lo’s blade.”
“But … I killed … more than the General,” said Ki’shto’ba.
“You killed other Warriors in the battle,” said Za’dut, quailing.
“That is not it!” Ki’shto’ba jumped at us so suddenly that we both cried out, and it caught our necks in the grip of its forelegs, its mandibles thrust into the sand between us. “Tell me the truth! What did I do? What words did you say to me there at Min’seip’u, Di’fa’kro’mi, standing close like this?”

Back cover, color adjusted 
to match the new front cover.
(Click for larger view)
 
       The cover picture at the bottom shows an episode from the actual Battle of the Valley of Thorns, so it's more pertinent to the title.  My objection to it is that I'm not very good drawing hand-to-hand (or claw-to-claw) combat -- it's too static.  And the Shshi on the right are depicted with much more detail and drama than the opponents on the left, who are drawn more minimally.  Kind of inconsistent.  So the jury in my mind is still out.

       I'd really appreciate some feedback!  Which cover should I use?  Be sure to click on the images and look at the larger versions.