-
Notifications
You must be signed in to change notification settings - Fork 12
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
Ligation without ZWJ and VS16 #11
Comments
Interesting! How do you imagine it working? Options in the YAML? |
|
Hmm... There's gotta be a way to support more advanced features without re-implementing |
Since this would need only a very limited subset of Adobe’s
OTF substitution is not based on code-points but glyph names. I haven’t checked yet whether fonts generated by
|
The place to fix this seems to be
Google Noto uses a more verbose naming convention, including a prefixed
These code points can then be converted to de-facto standard Adobe glyph names and a Emojidex, however, uses descriptive file names which can be used as glyph names, but require some kind of lookup or heuristics to correctly match these with Unicode code points. They could be hard-coded, e.g. based upon short names and character names or annotation, but a user-defined map as suggested above with
Pseudo-ligatures with variation selectors VS-15/TVS U+FE0E and VS-16/EVS U+FE0F could be added automatically based upon current conventions documented in UTR#51 and custom extensions. I don’t know anything about Python, so treat the above as pseudo-code. |
With standardized emoji sequences, the author is responsible for the correct order of emoji characters, possibly mandatory variation selectors and zero-width joiners. For most cases and emoji input GUIs, this just works, though. If these sequences are not handled on the system level, Opentype fonts probably employ the
rlig
‘required ligatures’ feature which is enabled (or enforced) by default.It may be useful sometimes, for a reader or designer to control (additional) ligation. This would be handled by the
liga
orclig
‘contextual ligatures’ OTF features which can be enabled on demand.Possible use cases: ligature aliases, e.g. Woman+Man+Child = Man+Woman+Child = Child+Man+Woman = Woman+Child+Man …, and non-standard ligatures, e.g. Police Car 🚓 + Woman 👩 = Police Woman = Police Officer 👮 + Female Sign ♀️.
#5 should be fixed first, of course.
The text was updated successfully, but these errors were encountered: