Skip to content
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

U+0192 is a lowercase letter and should visibly different from f in italic #494

Closed
moyogo opened this issue Jun 4, 2021 · 6 comments · Fixed by #511
Closed

U+0192 is a lowercase letter and should visibly different from f in italic #494

moyogo opened this issue Jun 4, 2021 · 6 comments · Fixed by #511

Comments

@moyogo
Copy link

moyogo commented Jun 4, 2021

Cascadia family version

2105.24

Cascadia family variant(s)

Cascadia Code (the version with ligatures), Cascadia Mono (the version without ligatures)

Font file format(s)

Windows Terminal included version (TTF (variable)), .ttf (variable), .ttf (static), .otf (static), .woff2 (variable), .woff2 (static)

Platform

Windows, Linux, macOS

Other Software

No response

What happened?

U+0192 ƒ in CascadiaCode-ExtraLight, -Regular or -Bold, is currently designed as a figure-height f with a hooked descender, it is shorter than f. In italic styles, It is not constructed as other letters.

Besides being encoded for the florin currency symbol or the function symbol, it is also encoded as the lowercase letter used along the uppercase U+0191 Ƒ in a few languages like Ewe, Avatime, Waci and Lelemi spoken in Benin, Ghana or Togo. These languages use it as an ascender-height f with a hooked descender.

Roman styles

See the current roman U+0192 ƒ next to U+0066 f, where their height do not match:
image

U+0192 ƒ should instead match the height of U+0066 f in the roman styles.

Italic styles

See the current roman U+0192 ƒ next to the proposed U+0066 f:
image

The current italic U+0192 ƒ is appropriate for those languages but has hooks that are more curved than those of j or ſ. Additionaly the redesign of italic U+0066 f shown in #468 (comment) would make U+0192 ƒ and U+0066 f hard to dinguish as the only difference would how curved the hooks are or the slant of the stem slant.
This could be avoided with a straight descender or a flared descender instead of the hooked descender for U+0066 f.
The design of the italic U+0192 ƒ could stay the same but would be more appropriate with a stem on the same slant as other glyphs and the descender and ascender hooks as j and ſ.

U+0192 ƒ should be constructed like other letters, and U+0192 ƒ and U+0066 f should be identifiable and different.

Extra bonus

It would be nice if U+0191 Ƒ, U+0189 Ɖ, U+0256 ɖ were in the fonts as most characters needed for those languages (including ƐɛƆɔƔɣŊŋƲʋ) are already present.

@aaronbell
Copy link
Collaborator

Interesting. I had not known that u+0192 is also used for other purposes beyond the florin symbol. I'll look into making it more clear.

@aaronbell
Copy link
Collaborator

aaronbell commented Jun 5, 2021

How do you feel about something like this:
Screen Shot 2021-06-04 at 10 44 32 PM

It would be clearly differentiated, but might be considered a more unusual form?

@moyogo
Copy link
Author

moyogo commented Jun 8, 2021

I'm not sure this works.
I haven't found many samples of Ewe with italic but those I found use a slanted f for f and a hooked italic f for ƒ.

Besides doing that or having a slanted f with hook-less descender for f one other option is to have the hooked italic f for f and the differentiated ƒ with exagerated features for differenation, as you do, for most languages and have a slanted f for f and the hooked italic f for ƒ in Ewe, Avatime, Lelemi and Waci through a default feature or in a stylistic set.

I've opened MicrosoftDocs/typography-issues#781 to request OpenType Language System Tags for Avatime, Lelemi and Waci as only Ewe has a tag at the moment.

@aaronbell
Copy link
Collaborator

Well, the current hooked f shape is a valid form, and fits better with the design concept than a slanted f. As such, I don't intend to change it.

So I see three options:

  1. Create a more 'character-ful' version of u0192 such as I have done above, even though it may be less expected than a more standard hooked 'f' form (but maybe not unwelcome? I don't have enough info on user preference).
  2. Use the locl tag to swap the default f for the more script f in order to create a differentiation for those specific languages. However, in cases where the locl tag is not being used (which is usually a lot of places), there is the risk of the f and u0192 looking quite similar.
  3. Make the more funky design the default f and leave the more standard form as the u0192 design. I'm sure no one will hate that :P

Anyway, I'm leaning a bit toward option 1, even though it offers a more unusual form for u0192 but will consider.

@moyogo
Copy link
Author

moyogo commented Jun 9, 2021

I think 1 can work at least to make them differentiable.
For proper support of the preferred shapes, having alternative glyphs for both f and ƒ would be nice, even as an optional or locale specific feature.

I'm not sure 2 or 3 would work for those languages since for some reason that's also the shape of U+0192 in script. 😞

See for example Gɔmedzegbale, 1966:
Screenshot 2021-06-09 at 15 32 55
Or this old one, The new script and its relation with the languages of the Gold Coast, 1930:
Screenshot 2021-06-09 at 15 34 20

This seems quite confusing, and it is, but wait till you consider a and ɑ in italic.

@aaronbell
Copy link
Collaborator

Thank you for the samples! They actually really help clarify what I should do on this :).

OK, so I'm thinking that I'll use the old cursive-like f form for 0192 by default. That will give users a form that they're used to that is differentiated from the standard f. And in the case where someone enables both ss01 and has locl set to Ewe (and the others), I'll prevent the cursive f form from showing by swapping for a straight descender one.

Screen_Shot_2021-06-09_at_8_01_04_AM

DHowett pushed a commit that referenced this issue Jun 18, 2021
Major update! 

This update includes the brand new Arabic and Hebrew language coverage,
along with a variety of bug fixes to the upright and italic fonts. There
has also been a major overhaul of the Cascadia Code Italic lowercase to
make the forms align better with our vision for the font. Enjoy :). 

Supersedes #491

Cascadia Code
* [x] Closes #84 - Arabic language support added!
* [x] Closes #465 - Hebrew language support added!
* [x] Closes #499 - Adjusted base mark positions / set others to be
  ignored in propagateAnchors

Cascadia Code Italic
* [x] Closes #470 - Adjusted slant on cursive forms to feel a bit better
* [x] Closes #468 - Moved cursive forms to `ss01` / `salt` feature 
* [x] Closes #507 - Changed bar / broken bar to be upright for better
  clarity. All ligature forms adjusted.

Both
* [x] Closes #494 - Adjusted `ƒ` in both upright and italic

- Arabic (and Urdu) support added (design by Mohamad Dakak). See [the
  Arabic features PDF] for the exciting new Arabic ligature
  functionality used in Cascadia Code that gives the font greatly
  improved readability and feel more more akin to a text typeface. Don't
  want all that? Don't worry, Cascadia Mono will house a normal version
  of Arabic. 

- Hebrew support added (design by Liron Lavi Turkenich)
- Fixing a bug in the ccmp feature file and added ccmp to the feature
  set in the build script.
- Deleting the (unused) liga feature file
- Vika has reviewed and improved some forms in Cascadia Code upright. 
- /f, /l, /s, /r (and related forms) have been updated to follow more
  'generic' forms. Previous versions have been moved to ss01 / salt OT
  features.

- Changed design of `ƒ` in upright to align better with the standard
  `f`. In the italic, the `ƒ` has been changed to follow the cursive
  version. When `ss01` is applied, the design of the `f` and `ƒ` are
  swapped, and if the `locl` EWE language setting is applied, the 'f'
  swaps for a straight descender version (with cursive `ƒ`).
  Complicated, but achieves supporting everything.

- Entry and exit strokes across the italic lowercase have been rounded
  to better achieve the fun / playful design language that we intended
  for the italic. Other skeletons have been modified as necessary.
  Cyrillic has also been updated for better consistency with the new
  design. 

- Greek lowercase has been updated per feedback from Gerry Leonidas to
  be more cohesive (No longer a mix between a Monday and Friday font.
  All Friday, all the time)

## Validation Steps Performed
All updated reviewed, hinted, and reviewed again :)

[the Arabic features PDF]: https://github.com/microsoft/cascadia-code/blob/main/doc/Arabic_KeyFeatures.pdf
aaronbell added a commit to aaronbell/cascadia-code that referenced this issue Jun 21, 2021
commit e9aa335
Author: Sayed Arif Uddin Pallab <47639147+sayedarifuddin@users.noreply.github.com>
Date:   Sat Jun 19 00:42:28 2021 +0600

    Replaced Hypen (-) with Dash (–) to maintain symmetric view (microsoft#385)

    Co-authored-by: Aaron <aaronbell@users.noreply.github.com>

commit fb0bce6
Author: Aaron <aaronbell@users.noreply.github.com>
Date:   Fri Jun 18 10:37:03 2021 -0700

    Add Hebrew and Arabic; rework Italic (microsoft#511)

    Major update!

    This update includes the brand new Arabic and Hebrew language coverage,
    along with a variety of bug fixes to the upright and italic fonts. There
    has also been a major overhaul of the Cascadia Code Italic lowercase to
    make the forms align better with our vision for the font. Enjoy :).

    Supersedes microsoft#491

    Cascadia Code
    * [x] Closes microsoft#84 - Arabic language support added!
    * [x] Closes microsoft#465 - Hebrew language support added!
    * [x] Closes microsoft#499 - Adjusted base mark positions / set others to be
      ignored in propagateAnchors

    Cascadia Code Italic
    * [x] Closes microsoft#470 - Adjusted slant on cursive forms to feel a bit better
    * [x] Closes microsoft#468 - Moved cursive forms to `ss01` / `salt` feature
    * [x] Closes microsoft#507 - Changed bar / broken bar to be upright for better
      clarity. All ligature forms adjusted.

    Both
    * [x] Closes microsoft#494 - Adjusted `ƒ` in both upright and italic

    - Arabic (and Urdu) support added (design by Mohamad Dakak). See [the
      Arabic features PDF] for the exciting new Arabic ligature
      functionality used in Cascadia Code that gives the font greatly
      improved readability and feel more more akin to a text typeface. Don't
      want all that? Don't worry, Cascadia Mono will house a normal version
      of Arabic.

    - Hebrew support added (design by Liron Lavi Turkenich)
    - Fixing a bug in the ccmp feature file and added ccmp to the feature
      set in the build script.
    - Deleting the (unused) liga feature file
    - Vika has reviewed and improved some forms in Cascadia Code upright.
    - /f, /l, /s, /r (and related forms) have been updated to follow more
      'generic' forms. Previous versions have been moved to ss01 / salt OT
      features.

    - Changed design of `ƒ` in upright to align better with the standard
      `f`. In the italic, the `ƒ` has been changed to follow the cursive
      version. When `ss01` is applied, the design of the `f` and `ƒ` are
      swapped, and if the `locl` EWE language setting is applied, the 'f'
      swaps for a straight descender version (with cursive `ƒ`).
      Complicated, but achieves supporting everything.

    - Entry and exit strokes across the italic lowercase have been rounded
      to better achieve the fun / playful design language that we intended
      for the italic. Other skeletons have been modified as necessary.
      Cyrillic has also been updated for better consistency with the new
      design.

    - Greek lowercase has been updated per feedback from Gerry Leonidas to
      be more cohesive (No longer a mix between a Monday and Friday font.
      All Friday, all the time)

    ## Validation Steps Performed
    All updated reviewed, hinted, and reviewed again :)

    [the Arabic features PDF]: https://github.com/microsoft/cascadia-code/blob/main/doc/Arabic_KeyFeatures.pdf
aaronbell added a commit to aaronbell/cascadia-code that referenced this issue Jun 23, 2021
commit e9aa335
Author: Sayed Arif Uddin Pallab <47639147+sayedarifuddin@users.noreply.github.com>
Date:   Sat Jun 19 00:42:28 2021 +0600

    Replaced Hypen (-) with Dash (–) to maintain symmetric view (microsoft#385)

    Co-authored-by: Aaron <aaronbell@users.noreply.github.com>

commit fb0bce6
Author: Aaron <aaronbell@users.noreply.github.com>
Date:   Fri Jun 18 10:37:03 2021 -0700

    Add Hebrew and Arabic; rework Italic (microsoft#511)

    Major update!

    This update includes the brand new Arabic and Hebrew language coverage,
    along with a variety of bug fixes to the upright and italic fonts. There
    has also been a major overhaul of the Cascadia Code Italic lowercase to
    make the forms align better with our vision for the font. Enjoy :).

    Supersedes microsoft#491

    Cascadia Code
    * [x] Closes microsoft#84 - Arabic language support added!
    * [x] Closes microsoft#465 - Hebrew language support added!
    * [x] Closes microsoft#499 - Adjusted base mark positions / set others to be
      ignored in propagateAnchors

    Cascadia Code Italic
    * [x] Closes microsoft#470 - Adjusted slant on cursive forms to feel a bit better
    * [x] Closes microsoft#468 - Moved cursive forms to `ss01` / `salt` feature
    * [x] Closes microsoft#507 - Changed bar / broken bar to be upright for better
      clarity. All ligature forms adjusted.

    Both
    * [x] Closes microsoft#494 - Adjusted `ƒ` in both upright and italic

    - Arabic (and Urdu) support added (design by Mohamad Dakak). See [the
      Arabic features PDF] for the exciting new Arabic ligature
      functionality used in Cascadia Code that gives the font greatly
      improved readability and feel more more akin to a text typeface. Don't
      want all that? Don't worry, Cascadia Mono will house a normal version
      of Arabic.

    - Hebrew support added (design by Liron Lavi Turkenich)
    - Fixing a bug in the ccmp feature file and added ccmp to the feature
      set in the build script.
    - Deleting the (unused) liga feature file
    - Vika has reviewed and improved some forms in Cascadia Code upright.
    - /f, /l, /s, /r (and related forms) have been updated to follow more
      'generic' forms. Previous versions have been moved to ss01 / salt OT
      features.

    - Changed design of `ƒ` in upright to align better with the standard
      `f`. In the italic, the `ƒ` has been changed to follow the cursive
      version. When `ss01` is applied, the design of the `f` and `ƒ` are
      swapped, and if the `locl` EWE language setting is applied, the 'f'
      swaps for a straight descender version (with cursive `ƒ`).
      Complicated, but achieves supporting everything.

    - Entry and exit strokes across the italic lowercase have been rounded
      to better achieve the fun / playful design language that we intended
      for the italic. Other skeletons have been modified as necessary.
      Cyrillic has also been updated for better consistency with the new
      design.

    - Greek lowercase has been updated per feedback from Gerry Leonidas to
      be more cohesive (No longer a mix between a Monday and Friday font.
      All Friday, all the time)

    ## Validation Steps Performed
    All updated reviewed, hinted, and reviewed again :)

    [the Arabic features PDF]: https://github.com/microsoft/cascadia-code/blob/main/doc/Arabic_KeyFeatures.pdf
aaronbell added a commit to aaronbell/cascadia-code that referenced this issue Jun 23, 2021
Major update!

This update includes the brand new Arabic and Hebrew language coverage,
along with a variety of bug fixes to the upright and italic fonts. There
has also been a major overhaul of the Cascadia Code Italic lowercase to
make the forms align better with our vision for the font. Enjoy :).

Supersedes microsoft#491

Cascadia Code
* [x] Closes microsoft#84 - Arabic language support added!
* [x] Closes microsoft#465 - Hebrew language support added!
* [x] Closes microsoft#499 - Adjusted base mark positions / set others to be
  ignored in propagateAnchors

Cascadia Code Italic
* [x] Closes microsoft#470 - Adjusted slant on cursive forms to feel a bit better
* [x] Closes microsoft#468 - Moved cursive forms to `ss01` / `salt` feature
* [x] Closes microsoft#507 - Changed bar / broken bar to be upright for better
  clarity. All ligature forms adjusted.

Both
* [x] Closes microsoft#494 - Adjusted `ƒ` in both upright and italic

- Arabic (and Urdu) support added (design by Mohamad Dakak). See [the
  Arabic features PDF] for the exciting new Arabic ligature
  functionality used in Cascadia Code that gives the font greatly
  improved readability and feel more more akin to a text typeface. Don't
  want all that? Don't worry, Cascadia Mono will house a normal version
  of Arabic.

- Hebrew support added (design by Liron Lavi Turkenich)
- Fixing a bug in the ccmp feature file and added ccmp to the feature
  set in the build script.
- Deleting the (unused) liga feature file
- Vika has reviewed and improved some forms in Cascadia Code upright.
- /f, /l, /s, /r (and related forms) have been updated to follow more
  'generic' forms. Previous versions have been moved to ss01 / salt OT
  features.

- Changed design of `ƒ` in upright to align better with the standard
  `f`. In the italic, the `ƒ` has been changed to follow the cursive
  version. When `ss01` is applied, the design of the `f` and `ƒ` are
  swapped, and if the `locl` EWE language setting is applied, the 'f'
  swaps for a straight descender version (with cursive `ƒ`).
  Complicated, but achieves supporting everything.

- Entry and exit strokes across the italic lowercase have been rounded
  to better achieve the fun / playful design language that we intended
  for the italic. Other skeletons have been modified as necessary.
  Cyrillic has also been updated for better consistency with the new
  design.

- Greek lowercase has been updated per feedback from Gerry Leonidas to
  be more cohesive (No longer a mix between a Monday and Friday font.
  All Friday, all the time)

All updated reviewed, hinted, and reviewed again :)

[the Arabic features PDF]: https://github.com/microsoft/cascadia-code/blob/main/doc/Arabic_KeyFeatures.pdf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants