From: Martin H. <mar...@si...> - 2015-06-08 09:12:28
|
Dear John, > my name is Jon Brown and I am using graphite to program a font to behave > correctly and I want to code the following effects, can you provide me with > suggestions: > > (These two involve "smart" diacritics behavior) > 1. If there is no base character, then diacritics mark will not display. I > want diacritics mark to lock if first condition is not met. In other words, > if the user presses a diacritics key and if the previous character is not a > base character then the diacritics will not appear on the screen. > > 2. If there is already a base character followed by a diacritics then I > want, > then next diacritics to not display. I don't want diacritics overlapping. > > If the above cannot be achieved with font, can it be accomplished with > programming a keyboard such as Tavultesoft keyman? Both of these can be achieved in a font, but are almost certainly not what you want to do in a font. A font should do its best to show you what is in the underlying data stream as beautifully as it can, but including all the faults so that a user can fix them. The input method (keyboard), on the other hand, can and perhaps should be designed to encourage people to enter good data. This would include things like stopping them typing a diacritic if there is no base or limiting which diacritics they can type after each other, etc. Tavultesoft's Keyman is an excellent tool to allow you to write keyboards that have rules in them to control such things. You can make the keyboard beep if the user presses a 'wrong' key. You can reorder sequences already entered. Etc. As to diacritics not overlapping. That is a question the font and graphite can help with. I'm not sure which script you are interested in. But with Graphite you can have diacritics stack outwards from a base, or assemble themselves into any visual representation you want. But I would not advise implementing fonts that make things disappear (even though you can), because then it makes it nearly impossible for a user to fix their typing mistakes. And the typing mistakes, however you may make them look, are going to cause problems when it comes to searching. The strings will not be the same and so the search engine will seem to miss things. HTH, Yours, Martin Hosken |