-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bad practices encouraged in Diacritics_and_Accents.md #8
Comments
Thank you, @moyogo ! I fully support this! And this is also candidate for a bug report at fontforge/fontforge. |
#georgd Thanks. I just opened fontforge/fontforge#449 |
So say, even if you acute and your combining acute are the same by design, you should use both in a differentiated fashion? |
@adrientetar /acute U+00B4 is a spacing character, /acutecomb U+0301 is a non-spacing character. /acute U+00B4 can be used to represent Latin-1 stuff like `quote-like´. |
This report pretty much covers things I emphasized in the French FontForge book sprint.
Diacritics_and_Accents uses the 'acute' and 'grave', according to AGL and AGLFN these are U+00B4 = 'acute' and U+0060 = 'grave'.
U+00B4 and U+0060 are in the Unicode category "Symbols, modifier", they are spacing characters, meaning that they have their own advance width. They are in Unicode for compatibility with legacy encodings. They are notably used in some programming languages. They should not be used to build accented glyphs (=bad practice, pre-Unicode design) and must not have anchors (=big mistake, breaks Unicode support).
The proper diacritics are U+0300 = 'gravecomb' and U+0301 = 'acutecomb'. U+0300 and U+0301 are in the Unicode category "Mark, non-spacing", they are non-spacing characters, meaning they have no advance width and use the width of the previous base character/glyph.
The bad practice in Diacritics_and_Accents is to talk about U+00B4 and U+0060 as if they were always the right glyphs. The big mistake is to add anchors those spacing characters.
For fool and future proof design, the proper non-spacing combining diacritics should be used. They are in the Combining Diacriticals Marks block, U+0300 'gravecomb', U+0301 'acutecomb', etc.
Instead U+0301 should be the one with the anchor, it has no advance width, where 'a + acutecomb' (U+0061 + U+0301) is rendered correctly as an aacute.
To build aacute automatically, with the anchors, the PrefSpacingAccents must be off (it's on by default as in https://github.com/fontforge/designwithfontforge.com/blob/gh-pages/en-US/images/preferences_accents.png).
The text was updated successfully, but these errors were encountered: