Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
A draft for a block writing system, designed for Lojban.

(Note: This is a draft, and subject to change.)

Many writing systems have been proposed for Lojban. Hangul is the writing system used in Korean, and potentially a great option to use for Lojban. It's a featural writing system, meaning that most of its symbols are chosen for a reason, and not just arbitrarily. The most attractive feature of Hangul is the syllable-blocks that well compress the language.

However, while Hangul is an interesting and logical system, the evolution of the language has made it difficult to use in its natural state for anything other than Korean. For that reason, instead of mapping a Korean writing system to the specifications of a language not at all like Korean, this proposal aims to define a writing system that, while similar in some aspects to Hangul, is better suited to Lojban. The name of the proposed writing system is Valbli. (valsi + bliku, lit. word blocks)


Valbli is a featural alphabet. Each symbol, or letter, represents a unit in Lojbanic phonology. In total, there are six vowel and twenty-one consonant sounds in Lojban, for a total of twenty-seven letters. However, Roman-mode Lojban treats the unvoiced glottal spirant (IPA: h, LJB: ') and glottal stop (IPA: ʔ, LJB: .) as only half-consonants, while treating the voiced labio-velar approximant (IPA: w, u-) and palatal approximant (IPA: j, LJB: i-) as the starting vowel of diphthongs. If we maintain this mapping, this leaves us with only a need for 6 vowels and 19 consonants.

Below is a chart for the various letters of Valbli.


R and L

(Note: The alphabet is not final. Graphemes are subject to change, if a symbol proves cumbersome, or if a better alternative is proposed.)

Most letters in Valbli follow different patterns. This is what makes Valbli a featural writing system. I split up the manner of articulation for different phonemes in Lojban into their own templates. Stops (., b, d, g, k, p, t) have a horizontal line as a base. Sibilants (c, j, s, z) have a left-facing cup base. Fricatives (', f, v, x) have a vertical line as a base. And Nasals (m, n) have a right-facing 90-degree angle for a base.

The idea behind the bases allows for quickly identifying a symbol, and because Lojban does not allow gismu with similar sounding words, a reader is not likely to mix up words. Modifications to the base are also determined by the type of sound it is classified under IPA. However, because "l" and "r" do not fall into either of the above categories, neither follows a format, but are distinct enough to not be mistaken for one another. Similarly, the vowels in Valbli were arbitrarily chosen for their distinctivness.


In Hangul, letters come together, and form syllable blocks. In Lojban, these syllable blocks can be nested to form word-blocks. Monosyllabic cmavo have rather straight-forward stacking arrangements when compared to longer words. The tables below would represent a couple block formats, one might use:

	╔════════════╦════════════╗  ╔════════╦════════╦════════╗
	║            ║            ║  ║        ║        ║        ║
	║     1      ║     2      ║  ║    1   ║    2   ║    3   ║
	║            ║            ║  ║        ║        ║        ║
	╚════════════╩════════════╝  ╚════════╩════════╩════════╝

These two formats could represent either CV, .VV, CCV or CVV cmavo blocks, although it's questionable whether the latter format is useful as is, in terms of allowing differentiation between word-blocks. Imagine two of either of these blocks, one after the other. (A solution may be minting graphemes for dyphtongs, and using a vertical format as shown below.)

It should be noted that Lojban does not treat the unvoiced glottal spirant (') as a vowel nor consonant, and instead acts more as a seperator for vowels that aren't allowed together otherwise. In Valbli, the unvoiced glottal spirant is a simple vertical line, and may be inserted BETWEEN the given positions. Thus, the . and ' are not represented in these formats, even though any block beginning with a vowel will have a  above it.

Gismu on the other hand, the core to Lojban vocabulary, are all composed of 5 letters, which in Valbli would be interpretted as 2 syallable blocks stacked on top of each other. By definition, Lojban gismu are arranged into one of two patterns: CCVCV & CVCCV. For the former, the syllable-grouping of CCV,CV looks pretty straight-forward, however in the latter's case, one might break a word into either CV,CCV or CVC,CV syllables. Which to use should be up to individual's idiolect, however if one were to set a standard, they might choose to preferentially group CCV syllables that are valid word-initial syllables according to the CLL.

In the case of rafsi, abbreviated gismu affixes, they should maintain their syllable groupings while being stacked into lujvo word-blocks. How more than two rafsi blocks may be stacked is undefined, and may require experimenting. If not infinite nesting, perhaps a way to indicate linkage between chains of lujvo-blocks? A similar approach may be used to address cmene (names) and fu'ivla (loan-words).

On the other hand, it should be fairly easy to unambiguously stack cmavo chains into single "word-blocks" due to the lack of consonant clusters.

Below are alternative syllable blocks, the first for CV cmavo, while the latter two being for blocks with three graphemes, depending on the inital consonant. If the starting consonant of a syllable is a Stop or a Nazal consonant, the letter stretches horizontally to fill the row, and pushes the rest of the syllable below it.

	╔═════════════════════════╗  ╔═════════════════════════╗  ╔════════════╦════════════╗
	║            1            ║  ║            1            ║  ║     1      ║     2      ║
	╠═════════════════════════╣  ╠════════════╦════════════╣  ╠════════════╩════════════╣
	║            2            ║  ║     2      ║      3     ║  ║            3            ║
	╚═════════════════════════╝  ╚════════════╩════════════╝  ╚═════════════════════════╝

And if the starting or ending consonant is a Fricative or Sibilant cosonant, the letter stretches vertically, forcing the rest of the syllable to be stacked next to it.

	╔════════════╦════════════╗  ╔════════════╦════════════╗
	║            ║     2      ║  ║     1      ║            ║
	║     1      ╠════════════╣  ╠════════════╣     3      ║
	║            ║     3      ║  ║     2      ║            ║
	╚════════════╩════════════╝  ╚════════════╩════════════╝

It might be desirable to treat consonant pairs within syllable-blocks in some special sort of way, such as linking them together in a ligature-like way, especially for consonant-pairs that are valid word-initially, so that lujvo and zi'evla (words that are morphologically fu'ivla, including non-loan-words) can be visually distinguished. Might be useful for parsing text visiually, but might just make it harder to learn.

The glyph below represents the gismu, "sutra" (fast), with every letter color-coded and the reading order labled. The word-block is composed of two syllables stacked on top of each other, with the top one being read first. Each syllable is read with the top-left most letter first, in the order shown in the tables above. In the case of "sutra", the first syllable is "sut". The first letter, "s" is a Sibilant, and thus it stretches vertically, pushing the rest of the syllable to its side. As a result, "u" and "t" are read from top to bottom. In the case of "ra", bi-phoneme syllable blocks don't have a stretching function, and thus both letters fill the syllable block horizontally.


As mentioned before, the syllabification of CCVCV gismu will always break into CCV,CV, however CVCCV gismu can be broken into CCV,CV or CVC,CV blocks. In writing you might want to alternate between the two styles, though font files will need to use one or the other. In this case, I rendered the block as "sut,ra" because that made sense to me.

Valbli's writing direction could be either top-to-bottom or left-to-right. Either mode has its benefits, and in either instance, however you may have to delimeter glyphs with a space because of instances where syllables may run together.

Can you read what the sentence below says?

![Guess]( sutra bajra.png.png)

Additionally, the glottal stop (.) and glottal spirant (') do not completely act as letters in Valbli, much like they are not treated as phenomes of their own in Lojban phonlogy. For this reason, neither of these letters truly fit into the tables above. A . will never be inserted mid-word, and thus the only place it can be placed is above and/or below a word block, and a ' will only appear between vowels. In that case, a ' can be placed between any vowel without changing the format of the syllable. If the two vowels in question are stacked vertically, then a horizontal line will be placed between them.


This comment has been minimized.

Copy link

@nerrons nerrons commented Feb 17, 2018

Just discovered this. This is so cool!


This comment has been minimized.

Copy link

@samtcifihi samtcifihi commented Mar 21, 2019

How is the comma written?


This comment has been minimized.

Copy link
Owner Author

@TUSF TUSF commented Mar 28, 2021

@samtcifihi I had never established how to write out the comma, tho given the comma is a syllable separator, and these are word blocks made up of syllable blocks, it should be possible to visually determine how syllables group up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment