adrian17 / Gallifreyan

http://adrian17.github.io/Gallifreyan/
MIT License
134 stars 49 forks source link

Vowels are being rendered as separate letter sections rather than being appended to preceding consonants #7

Open yangningBU opened 7 years ago

yangningBU commented 7 years ago

This is what the current software renders for the word "tira":

current_incorrect_rendering_of_tira

But "i" and "a" should belong to the preceding consonants "t" and "r" respectively. Should render something more like this:

proposed_rendering_of_tira
Wolf-SO commented 6 years ago

Still reproducible. BTW would it be helpful to place a pull request, I mean, is this project actively maintained?

adrian17 commented 6 years ago

Sorry for very slow response. I am currently not actively working on the project, but I can take pull requests and fix things if browsers break them.

From memory, this was an intentional decision. The rationale was that it was a bit hard to visually distinguish combinations like "ta" and "te" (see http://timeturners.wdfiles.com/local--files/circular-gallifreyan/vowels.jpg), and even if I changed the default behavior, it was still possible to edit it manually.

The code that's responsible for it is this chunk of code: https://github.com/adrian17/Gallifreyan/blob/gh-pages/gallifreyan.js#L501-L506

if (previous && subtype != 4 && previous.type === 3) {  //let's not attach to this as floating letters look ugly
    type = 5, d = mcR;
    angle += delta / 2;
    newCircle = new Circle(owner, type, subtype, owner.r, r, angle);
    angle += delta / 2;
}
else 

I think the fix should be as simple as removing this part - but I might also need to play with some distance factors to keep it readable and prevent overlaps. I will try to work on it this weekend.