tlhIngan-Hol Archive: Wed Jun 24 11:28:39 2009

Back to archive top level

To this year's listing

[Date Prev][Date Next][Thread Prev][Thread Next]

Re: Klingon orthography

David Trimboli ( [KLI Member] [Hol po'wI']

ghunchu'wI' 'utlh wrote:
> On Wed, Jun 24, 2009 at 12:05 PM, Michael Everson <>wrote:
>>> Current case issues are a feature, not a bug.
>> They are a problem for data integrity. There is no question of this.
> You keep saying this, and you keep repeating this, but such repetition is
> not convincing. The only explanation you give is that the distinction
> between {q} and {Q} can be lost if you apply a case transformation. You
> dismiss other lossy transformations because they're harder to do
> "accidentally".  You don't seem to acknowledge that case transformations can
> be similarly lossy in other languages, but the example you presented was a
> typical one where capitalization *does* matter: God vs. god.
> Anecdotally, I've never encountered a case-transforming accident, but I have
> seen several instances of text being mangled beyond repair by someone trying
> to do a global search and replace of a misspelled word. I strongly question
> the contention that the q/Q pair presents a special "data integrity"
> problem. If your standard of "problem" involves Google's search treatment, I
> think the existence of the apostrophe as a consonant is a worse offender.

I encountered some transformation problems when I was working the bugs 
out of my MUSH regional speech commands, which let you type ta' Hol and 
you speak a regional accent.

Qotmagh and taQ'ev were easy: the first just changes /b/ to /m/ and /D/ 
to /N/; the second changes /b/ to /mb/ and /D/ to /ND/.

Morska was the hardest. I had to do it in three regular expression 
passes. For those of you familiar with MUSHcode, here it is:

[setq(0, regeditall(%0, H(?=a|e|I|o|u), h, tlh(?=a|e|I|o|u), 
ghl))][setq(1, regeditall(%q0, tlh, ts, H, ))][regeditall(%q1, 
Q(?=a|e|I|o|u), H)]

%0 is the input ta' Hol. The first pass changes any /H/ followed by a 
vowel into /h/ and any /tlh/ followed by a vowel into /ghl/. Then you 
take whatever you have now and put it through the second pass: change 
any remaining /tlh/ and turn it into /ts/, and delete any remaining /H/. 
Finally, run that result through the final pass: turn any /Q/ followed 
by a vowel into an /H/.

I don't remember what bugs I saw in setting this up, but this is exactly 
the sort of situation where case matters a great deal.

(By the way, there is one situation this algorithm doesn't handle 
properly: the suffix /-oy/. This is because it is the only suffix in all 
of known Klingon that isn't CV[C].)

If you want to play with these commands on the MUSH, instead of typing
	say Doch vIjatlhbogh
	"Doch vIjatlhbogh
	Morska Doch vIjatlhbogh
	Qotmagh Doch vIjatlhbogh
	taq'ev Doch vIjatlhbogh


tlhIngan Hol MUSH

Back to archive top level