CCMP/LIGA Character Composition Question for Fictional Font

Hi All!

Sorry I didn't read the rule that says real names only...I'm John Lapage :)

Just so you know where I am coming from, I am a scientist and programmer, so I have some technical expertise, but only amateur ability in design, and I am learning font technology from scratch.

I am trying to sort out a font for a fictional language, specificially Xi'an from Star Citizen. Ideally I want to be able to type the english transliteration (like pinyin) of the language, and have it automatically parsed into the script. This poses an interesting technical challenge. The features are:
1) A syllabic language much like Korean, where there are blocks that could represent a single vowel/dipthong, a pair of letters, or a letter-vowel-consonant block
2) Each block may have further pitch or punctuation markings subsumed within it
3) The language should be able to be written vertically. This means you can't just have the letters offset so that the positioning puts them where they are meant to be, since they will end up on different lines. That solution does work okay for horizontal script though, but really it would be better to have the block syllables properly composed.

This means there are hundreds of thousands of possible combinations. Obviously I am not thinking about doing all those manually, but I have a technical question regarding how to best compose them. I am using OpenType as the environment currently.

So far I have abjectly failed to get anything working that uses dynamic character composition...i.e. having the font automatically recognise that I am typing a syllable and then putting the right sub-character in the right position of that syllable. I am not even 100% sure such a thing is possible, but I read references and examples that *do* seem to use that. I had believed that 'ccmp' would be the way to go, but it doesn't seem to have any functionality that I can see...perhaps this is an issue of the text editors I am using (Mac TextEdit) or perhaps it's a problem with the font editor I am using (FontForge). Is this even the purpose of this tool? If so, I may be able to repurpose the Korean Jamo engine since the fictional language is borrowing that feature in its construction.

I have had some success with 'liga'. My concern is that the number of characters spirals out of control. There are already about 26,000 possible combinations of finished and half-finished syllables before you consider punctuation and other markings. Adding those in spirals the problem into the hundreds of thousands, and I am concerned about poor support for non-standard Unicode blocks (I recall having issues with it that were resolved by moving my characters into officially supported code positions). Am I just imagining that problem? Is there a text editor that does not have such issues? If I follow this approach, is there a more elegant solution to adding the punctuation/pronunication marks?

Thanks for any help, sorry for any newbie questions!

The script is described in detail on pages 16-19 of this document: https://robertsspaceindustries.com/media/mlg9nc82e1knpr/source/Xian-Language-Overview-31-10-2947-Updated-Title-Page.pdf


Sign In or Register to comment.