Divergent hangeul composition setups

The Hangeul Composition Engine is intended to allow one to establish groups of jamo and how they interact with one another, with the purpose of enabling Glyphs to automatically position the different variants based on established “model glyphs”.

However, there are essentially two “types” of syllables in a Hangeul font—those with predominently vertical vowels (ㅣㅏㅓㅔㅐㅖㅒ etc) and those with predominently horizontal vowels (ㅡㅜㅗㅛㅠ). The problem is that the rules one might want to implement for one set can, and likely will, differ from the rules one might want to implement for the other. As a result, setting up the rules for both will require a significantly larger set of component variants than is otherwise desireable.

To take a small example:

If you have a syllable with ㄴ or ㄷ in the initial position, one might choose to group them together for horizontal vowel glyphs since the bottom side of the jamo are similar. However, in the case of vertical vowels—particularly ㅕㅓ—the position for the side strokes on the left will need to differ depending on if the initial is ㄴ or ㄷ. Implementing the rule to support vertical vowels will inherently then require the creation of at least 3 extra duplicative variants for the horizontals combinations that are otherwise unnecessary. This is just a small example, but you can imagine expanding the same issue across an entire project can be a headache.

To avoid this problem, I currently build Hangeul in two separate source files, then merge them together at the end. Of course, this means that I also have to be careful to keep my smart components in sync, etc. etc.

It would be helpful to be able to implement both HCE variants in the same file rather than have to work around this limitation.

You need to show me what you are doing. Can we do a screen-share?

Sure. When are you available?

Is it possible to demonstrate the above information clearly in a video? Thank you very much!!