You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We'd like to be able to control the rendering of the OSK more finely to give better outcomes with complex shaping, especially things like dotted circles with unattached diacritics, multiple diacritics, strings of characters and more.
The U+25CC dotted circle issue arises because KeymanWeb tries too hard to display diacritics well. It seems that the width calculation for a text run is inconsistent across systems.
Example strings to test:
Khmer: ត (U+17D2 U+178F). This works on Windows, Chrome, but displays wrongly in Safari (iOS). It may be that calculating text width in a canvas works differently than display the character standalone, or that Safari won't combine Khmer with U+25CC.
Arabic: ٴ (U+0674). This adds an unwanted dotted circle on all platforms, per the community post above.
Reference code in visualKeyboard.ts:226:
// Check the key's display width - does the key visualize well?varwidth: number=OSKKey.getTextWidth(osk,keyText,styleSpec);if(width==0&&keyText!=''&&keyText!='\xa0'){// Add the Unicode 'empty circle' as a base support for needy diacritics.keyText='\u25cc'+keyText;
I'd like to see other examples of the dotted circle in use.
Given that this detail of adding U+25CC is specific to KeymanWeb, and does not happen on Windows, macOS or Linux, we should consider whether it is appropriate.
We may need to roll this change back, or nuance it further. My preference: roll the change back in 13.0.
We'd like to be able to control the rendering of the OSK more finely to give better outcomes with complex shaping, especially things like dotted circles with unattached diacritics, multiple diacritics, strings of characters and more.
See: https://docs.google.com/document/d/1I1P1wXA8oLR608AtKxt9pBRn-vTJaGDCBKsJVjrtIVE/edit#
original discussion below:
The U+25CC dotted circle issue arises because KeymanWeb tries too hard to display diacritics well. It seems that the width calculation for a text run is inconsistent across systems.
Example strings to test:
ត
(U+17D2 U+178F). This works on Windows, Chrome, but displays wrongly in Safari (iOS). It may be that calculating text width in a canvas works differently than display the character standalone, or that Safari won't combine Khmer with U+25CC.ٴ
(U+0674). This adds an unwanted dotted circle on all platforms, per the community post above.Reference code in visualKeyboard.ts:226:
I'd like to see other examples of the dotted circle in use.
Given that this detail of adding U+25CC is specific to KeymanWeb, and does not happen on Windows, macOS or Linux, we should consider whether it is appropriate.
We may need to roll this change back, or nuance it further. My preference: roll the change back in 13.0.
Originally posted by @mcdurdin in #2990 (comment)
The text was updated successfully, but these errors were encountered: