googlefonts / roboto-flex

SIL Open Font License 1.1
464 stars 32 forks source link

Cyrillic Ї: dots/diaeresis are stretched in height (in bold weights) #348

Open VladWinner opened 2 years ago

VladWinner commented 2 years ago

Roboto Flex image

Roboto image

Cyr Її її 
Lat Ïï ïï

Roboto Flex 3.100, Normal Black (in the screenshot)

EbenSorkin commented 2 years ago

This was done to avoid having the idieresis clash when doubled in Ukrainian. But there might be a way to make the dieresis which is a less egg shaped and a bit boxier which stands out from the dot on the I less.

Sent from my iPhone

On May 7, 2022, at 5:56 AM, Vlad @.***> wrote:

 Roboto Flex

Roboto

Cyr Її її Lat Ïï ïï Roboto Flex 3.100, Normal Black (in the screenshot)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

davelab6 commented 2 years ago

Perhaps the wider forms as seen in the Latin should be used for both Latin and Cyrillic when the glyph is used by itself, and a narrower "egg shaped" alternate form when used in pairs that would cause collision?

Screen Shot 2022-05-16 at 11 03 41 AM Screen Shot 2022-05-16 at 11 07 30 AM Screen Shot 2022-05-16 at 11 07 49 AM
EbenSorkin commented 2 years ago

This set of much boxier round shapes for the dieresis at the top looks much better to me and is exactly the sort of thing I was suggesting.

It gives more even color and retains the clarity Roboto needs.

-e.

On Mon, May 16, 2022 at 1:09 PM Dave Crossland @.***> wrote:

Perhaps the wider forms as seen in the Latin should be used for both Latin and Cyrillic when the glyph is used by itself, and a narrower "egg shaped" alternate form when used in pairs that would cause collision?

[image: Screen Shot 2022-05-16 at 11 03 41 AM] https://user-images.githubusercontent.com/261579/168646409-51356bdc-cf41-4690-84b6-241a8d182480.png

[image: Screen Shot 2022-05-16 at 11 07 30 AM] https://user-images.githubusercontent.com/261579/168646414-3e4de84e-208f-498d-8a76-782637fd2964.png

[image: Screen Shot 2022-05-16 at 11 07 49 AM] https://user-images.githubusercontent.com/261579/168646419-8f9ec242-26da-41b6-95af-e117bbcb7d3d.png

— Reply to this email directly, view it on GitHub https://github.com/googlefonts/roboto-flex/issues/348#issuecomment-1127922073, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQUQXILMTA4YKDWKQNNMQ3VKJ6L3ANCNFSM5VKF74YA . You are receiving this because you commented.Message ID: @.***>

kenmcd commented 2 years ago

Some fonts have ligatures to deal with this issue. The example below is from Suisse from Swiss Typefaces. I have seen these ligatures in other fonts. Would this be something to consider adding to Roboto Flex?

Suisse-Ligatures

EbenSorkin commented 2 years ago

This is a cool idea of course not least because it nearly preserves the spacing of the dots in a normal dieresis.

But I think it is fatally flawed for a few reasons

I do think that the compressed dieresis looks odd and suboptimal outside of a doubling of the idieresis ( e.g. ïï) so what about an OT calt solution that swaps the compressed dieresis version in but only when it is doubled?

It might be that some caps plus ï combinations such as Fï or Tï or Vï Wï Yï could benefit from a swap too.

-e.

On Mon, May 16, 2022 at 4:37 PM kenmcd @.***> wrote:

Some fonts have a ligature to deal with this issue. The example below is from Suisse from Swiss Typefaces. I have seen this ligature in other fonts. Would this be something to consider adding to Roboto Flex?

[image: Suisse-Ligatures] https://user-images.githubusercontent.com/844920/168678152-03027d35-532d-4099-823f-550b2ad4ae88.png

— Reply to this email directly, view it on GitHub https://github.com/googlefonts/roboto-flex/issues/348#issuecomment-1128112213, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQUQXNBNL5VZXIRU2WUBNDVKKWZHANCNFSM5VKF74YA . You are receiving this because you commented.Message ID: @.***>

vikagrabowska commented 2 years ago

I often propose ligatures in Ukrainian for the same reason: in order to avoid collisions (in pairs like ії, її) but with no need to squeeze the dieresis in ї to the same extent as in ligatures. In fact the only collisions in Ukrainian appear in these combinations: ії, її, ’ї, ЇЇ, Її, (yet they are pretty common in text). But I agree with Eben, that ligatures wouldn't be a solution suitable for RobotoFlex and that OT calt seems to be a better fit.

Independently from a chosen way of technical implementation, if RobotoFlex will adapt the idea of treating double dieresis and single dieresis separately, the designs of of both would need to be more consistent in size / height / color.

I also agree that Latin would benefit from narrower dieresis in ï in combinations which produce collisions.

moyogo commented 1 year ago

For what it’s worth /idiaeresis/idiaeresis (ïï) also occurs in Latin script, in at least Dinka (acïï, cïï, dïït, ɣonhïïm, këdïït, kenhïïm, këpïïr, nhïïm, pïïr, wïïkku, yïïn, and others), Waorani (aquïïñö, cæquïï, ïïmaï, incaquïï, pïïnäni, wïï, and others) and Edolo (Ëbïïe, ïïa, nafadefalïïe and probably others). Waorani and Edolo also have words with /i/idiaeresis (iï) and /idiaeresis/i (ïi).

moyogo commented 1 year ago

I had also noted Latin ïï being used in Beli and Tiriyó on https://github.com/adobe-fonts/source-serif/issues/48#issuecomment-458147385.

If possible, the same should be done for the Latin ïï which may occur in some orthographies like Beli (https://beli.webonary.org/browse/beli-english/?letter=b&key=qaa-Latn-SD-x-jur with bïï “dog”) or Tiriyó (in http://etnolinguistica.wdfiles.com/local--files/tese%3Ameira-1999/meira_1999_tiriyo.pdf with mïïna “grumble”, pïï “mountain”, wïïse “lipstick tree”).

EbenSorkin commented 1 year ago

I had better make sure there is a Calt feature in Merriweather for this. On Sat, Oct 15, 2022 at 10:34 AM Denis Moyogo Jacquerye < @.***> wrote:

I had also noted Latin ïï being used in Beli and Tiriyó on adobe-fonts/source-serif#48 (comment) https://github.com/adobe-fonts/source-serif/issues/48#issuecomment-458147385 .

If possible, the same should be done for the Latin ïï which may occur in some orthographies like Beli ( https://beli.webonary.org/browse/beli-english/?letter=b&key=qaa-Latn-SD-x-jur with bïï “dog”) or Tiriyó (in http://etnolinguistica.wdfiles.com/local--files/tese%3Ameira-1999/meira_1999_tiriyo.pdf with mïïna “grumble”, pïï “mountain”, wïïse “lipstick tree”).

— Reply to this email directly, view it on GitHub https://github.com/googlefonts/roboto-flex/issues/348#issuecomment-1279757797, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQUQXLJH7MRFF5D3VIFAVDWDK6IJANCNFSM5VKF74YA . You are receiving this because you commented.Message ID: @.***>

kenmcd commented 1 year ago

Source Serif 4 uses ccmp - which has the advantage of even working in Word (where calt is not On by default).

EbenSorkin commented 1 year ago

Vika Grabowska pointed out that the її (or in Glyphs yi-cy yi-cy) is a combination that comes up in Ukrainian Cyrillic texts frequently being used in a female pronoun - 'she' if I recall correctly!

So she argued that it should just be the narrower form of dieresis in Cyrillic as the default not as a localization.

It might be that other Cyrillic scrip using languages also use yi-cy or u+0457 too - but if they do I don't know about them. It would be worth consulting Hyperglot.

But as of now, I have followed Vika's advice. It certainly makes the OpenType code a little less complex. Does anyone have any counter arguments?

For Latin, I am happy using CALT in part because I already understand the code and because I don't think of Word as being a reasonable benchmark now. They could turn on Calt by default as it was supposed to be but they haven't.

I think as a type designer if MS/Word choose to be an OpenType support outlier I don't think it quite behooves me cater to that choice. Also how much Word editing is really happening in a browser now anyway? And do browser rules rule over questions of Open Type support in that context or do they suppress CALT there too? Maybe I am being excessive here but without a lot of heat, instead a shrug really, I can't quite see worrying about this - unless MS asked me to make the font in question.

Still, in order to do the CCMP I think you would make a prefix in Glyphs like in Source Serif 4 called 'lookup_0' because why not copy it?

The text in the prefix would be

lookup lookup_0 {

sub idieresis by idieresis.narrow;

} lookup_0;

Then I think CCMP code would be

lookup ccmp0 {

sub [idieresis]' lookup lookup_0 [idieresis] ;

sub [idieresis.narrow] [idieresis ]' lookup lookup_0 ;

} ccmp0;

Look right to you all?

I'll test this and see what it does when I have a CALT running too and without.

The CALT code is just

sub idieresis' idieresis by idieresis.narrow;

sub idieresis.narrow idieresis' by idieresis.narrow;

The CALT code ( and CCMP I guess) could be expanded to cover things like ïī or ïȉ or ïĵ etc.

Any visual clash at all could be catered to or it maybe should be limited to things that we know actually occur?

On Sat, Oct 15, 2022 at 7:05 PM kenmcd @.***> wrote:

Source Serif 4 uses ccmp - which has the advantage of even working in Word (where calt is not On by default).

— Reply to this email directly, view it on GitHub https://github.com/googlefonts/roboto-flex/issues/348#issuecomment-1279848087, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQUQXPMBNAIAQ6ZN4E2K63WDM2CBANCNFSM5VKF74YA . You are receiving this because you commented.Message ID: @.***>