I seldom have ideas about writing in this group, and I generally am not a very graphically oriented person. But I figured a language could have a few different types of letters:
positionwise absolute letters
The form of an positionwise absolute letter is predictable from its position in a word. Available positions might be script-specific: some language might distinguish initial from other, some may have initial, medial and final, some may have sentence-initial vs. others, etc. Some may have word-initial, second, and other, etc.
left- and right-outline adhering letters
Left-adhering letters shape their right side so at to adhere to the outline of the letter to their right. Thus, the curve or line simply doubles the neighbouring letter's left or right side. Say the J in "John" had a slight bulge to leave some space for the "o". (Of course, this idea can be turned 90 degrees for scripts that are vertical instead of horizontal.)
Edge cases might entirely be missing for these letters, or they behave in special ways at word boundaries - or there may be some placeholder letters for that situation.
dual-outline adhering letters
These only have some small medial detail and otherwise match the shapes of the left and right of the surrounding letters.
Letters that cross into other letters could of course be feasible, and their shape could be controlled by the properties of the other letter.