googlefonts / roboto-flex

SIL Open Font License 1.1
463 stars 32 forks source link

Ukrainian Hryvnia, suggestion for skeleton change #350

Open vikagrabowska opened 2 years ago

vikagrabowska commented 2 years ago

The current drawing of Ukrainian Hryvnia with a gap would be justified if other currencies would have similar solution. (I made this image with changed Yen and Euro only to illustrate this issue).

image

But since that's not a case of Euro or Yen in Roboto Flex, Hryvnia shouldn't have a gap as well.

image

The base for Hryvnia is italic г skeleton crossed by the horizontal bars, and the presence of г is pretty essential. There are two variants of skeletons which are both acceptable.

1) With double bar, which is the most conventional solution, however it might be challenging in dark weights and small opsz.

image image image

2) With a sigle bar, which is slightly less conventional, yet still acceptable and helps to avoid the issues with darkening.

image
dberlow commented 2 years ago

Oka thanks! I'm working on it.

Hryvnia, however, when it has a meeting of 2 horizontals and a diagonal dangerously close to horizontal, is different from the near-perpendicular intersections of Yen, Euro, and most others. $'s bar and diagaonal are dangerous, but spreading the problem vertically and modern dropping of the second bar helps, and the later will help Hryvnia.

ilyaruderman commented 2 years ago

Hi Viktoriya, There are $ with two bars, there are $ with one or even with tiny top-bottom ones. Does those decisions change the other currencies — sometimes yes, sometimes no The gap between bars in Grivna maybe considered as a design decision too, the same way as your proposal of the a single bar (never saw typeface with such decision, but I like it as much as the gap). Can this gap be called a mistake? Can $ with top-bottom bars be called a mistake? I would call it a design and variety of choices. Speaking of Grivna, some designers believe that even in a closed-aperture sans-serifs S-part still has to remain super open, with open terminals. Others are questioning this approach and use S-shape as a base. I would say that it can be both open and closed shape — depending on designer's choice. Would really appreciate good references of one-signle bar Grivna design, thanks

vikagrabowska commented 2 years ago

Hi David, Hi Ilya,

I agree that everything is a design decision, but even while currencies are not used together in a same manner as letterforms they (imo) still need to share formal and construction choices. I noticed, that way trickier and more dense skeletons than Hryvnia use solutions with continuous strokes in RobotoFlex as long as weight and width allow that.

image

and for the tightest / darkest appearances there are simplified variants. Maybe the solution for Hryvnia can be also using two constructions?

image

The most standard version approved by National Bank of Ukraine is the version 1 from my previous post: "The first and main element is based on a handwritten version of the image of the Ukrainian lowercase letter "г" (Cyrillic), as the first letter in the name "hryvnia". The second element is two horizontal parallel lines (=)"

image

Everything else is an interpretation of this standard model. As we all noticed the standard model brings challenges in certain design cases, so no surprise, that interpretations exist. Having discussions with Ukrainian designers about Hryvnia I know that mostly they are not fans of the version with a gap as a default solution. I also think from the writing / calligraphic point of view this version is pretty artificial, as it requires breaking -г on two segments and makes the letterforms identity weaker. In dollar or cent models which you are describing the letters -c and -S keep their strong presence. In my view Hryvnia's version with a gap is easier to justify in Heavy weights, as the division is not as influential for -г presence.

Here is set of good examples of Hryvnia referencing italic г. Off course it's easier to apply in typefaces which are closer to calligraphic models, but I would say it's the same issue as with Bulgarian г, things are just getting slightly more intense because of the crossing bars. https://www.myfonts.com/foundry/AndrijType/

Regarding the level of openness of the terminals, this is a design choice which depends on the typeface, and also an authors decision. What is more important — to make a reference to italic г instead of Latin S. Indeed, Cyrillic italic г sometimes needs to be more open than Latin s. Also placing the bars takes space.

Here are some links with examples of a single bar. https://www.myfonts.com/fonts/andrijtype/osnova/ https://www.myfonts.com/foundry/Dmitry_Rastvortsev/

As you will see the single bar solution can be found more often in display typefaces, however in my view there is nothing wrong with using it in text fonts, I used it for LL Grey Cyrillic (image from my first comment). This version keeps strong presence of г and writing logic. In some currencies substituting two bars with a single one impossible for identity reasons, because it will mean a different currency sign, but there is no risk of confusing Hryvnia with something else.

I hope this helps, let me know if you have further questions.

dberlow commented 2 years ago

27 new designs of hryvnia delivered to SO. Not compatibility-tested. Need to; replace all sources other than these, with default hryvnia design, build and approve new design in whole designspace, before modifying other sources for GRAD and parametric axes.

vikagrabowska commented 2 years ago

Hi David, I pulled the most current .ttf but it seems to contain the previous version of Hryvnia with a gap. Would it be possible for you to share some images of new Hryvnia or point me to the files location? Thanks!

dberlow commented 2 years ago

Hey Viktoriya, I was waiting to use the build to look, grow a consensus, and then mark where we have questions about transitioning between forms, but I’m happy to make some pictures and we can start that ahead of the build. Here is the new default contour:

Default

Note: In masters where there is only 1 bar, the 2 bars overlap 100% to become 1. Proposed: Where this will change between the 1 and 2 bar solutions, there will be no interpolation between them. In one design space location, (e.g. opsz14.999999), there will be the 1 bar solution and in the next, (e.g. opsz15.000000), there will be a 2 bar solution.

Here are all 27 sources of the user axes arranged by size, at size with zeroes. opsz144

GRF h 144

opsz14

GRF h 14

opsz8

GRF h 8

The other axes, 40 or so other source will be completed after this work is approved and the 1-2 bar change locations determined.

vikagrabowska commented 2 years ago

Hi David, thanks for the images! Hryvnia is shaping pretty nicely. I have a few brief comments, and can have a look once again later when you need me.

In opsz 144 | wdth 100, 151 | wght 100 the curve which I marked is a little too convex.

image

In wdth 25 the narrow construction allows for a long diagonal, which works nicely and helps to avoid this issue.

image

Making the curve less convex helps lightening the joins between the curve and horizontals. This will not matter so much in light weight, but can be helpful already in wght 400 in opsz 144. It is also okay to shift away from S shape, since Cyrillic -г has slightly different gesture and curvature. One of the possibilities is to move extremum points as I tried to show on my sketch. And then (if needed) in order to harmonise the overall shape, to make the curves of the terminals slightly less convex.

IMG-9108

opsz 144 | wght 1000 works pretty well. There is some darkness on the intersection of diagonal and the bars, but this is impossible to avoid.

image

Sometimes I separate the paths (on the selection on my sketch) in order to achieve even thinner diagonal or let the white bite deeper into the darkest spots. However this solution might not be a good fit for such a broad design space as RobotoFlex.

image
ilyaruderman commented 2 years ago

Hi Viktoriya, Apologies for interrupting, but I have to disagree with this direction. I strongly recommend not to go further neither with this full S-shape direction nor with one crossbar-for-smaller-sizes one. Such a complex designspace as RobotoFlex with so much flexibility has to use a more scalable design. Heavy styles, Compressed ones etc — we need to keep them in mind before rethinking this. My advice would be to step back to our original design and trust our expertise on this With all respects to a shorl tradition of a Hryvna design and to my old friends Andriy and Dmytro with their experiments, which I admire Cheers

On Thu, May 12, 2022 at 7:39 PM Viktoriya Grabowska < @.***> wrote:

Hi David, thanks for the images! Hryvnia is shaping pretty nicely. I have a few brief comments, and can have a look once again later when you need me.

In opsz 144 | wdth 100, 151 | wght 100 the curve which I marked is a little too convex.

[image: image] https://user-images.githubusercontent.com/78556166/168134774-205f885d-7fa1-45ef-9a02-585fa8f07c7c.png

In wdth 25 the narrow construction allows for a long diagonal, which works nicely and helps to avoid this issue. [image: image] https://user-images.githubusercontent.com/78556166/168134882-0fe1bef0-a8c0-4575-af01-e0e949a00124.png

Making the curve less convex helps lightening the joins between the curve and horizontals. This will not matter so much in light weight, but can be helpful already in wght 400 in opsz 144. It is also okay to shift away from S shape, since Cyrillic -г has slightly different gesture and curvature. One of the possibilities is to move extremum points as I tried to show on my sketch. And then (if needed) in order to harmonise the overall shape, to make the curves of the terminals slightly less convex.

[image: IMG-9108] https://user-images.githubusercontent.com/78556166/168131019-c1d45335-b896-4c60-bada-44f4edcc16b3.jpg

opsz 144 | wght 1000 works pretty well. There is some darkness on the intersection of diagonal and the bars, but this is impossible to avoid. [image: image] https://user-images.githubusercontent.com/78556166/168132867-801aef25-fbe1-4d76-b320-2d3f24fdb57d.png

Sometimes I separate the paths (on the selection on my sketch) in order to achieve even thinner diagonal or let the white bite deeper into the darkest spots. However this solution might not be a good fit for such a broad design space as RobotoFlex. [image: image] https://user-images.githubusercontent.com/78556166/168132743-c34b7f73-c13f-48db-b33b-d42d8bbf4b5e.png

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

davelab6 commented 2 years ago

My advice would be to step back to our original design and trust our expertise on this

I'm sorry to say that I think the original design's form, while worth retaining as an alt since it is complete and is an excellent design, is too unconventional for the purpose of this project.

To confirm, my personal long term ambition is for Roboto Flex to replace Roboto everywhere, and so @dberlow has worked to retain the design of Roboto and only adjust minor details (like /percent zeros made more like /zero). Where it adds new characters that Roboto didn't have, it will replace Noto Sans LGC in Google products and platforms, so then the Noto Sans form becomes a "regression test" basis for the new Roboto Flex form.

https://fonts.google.com/noto/specimen/Noto+Sans?query=noto+sans&preview.text=%E2%82%B4&preview.text_type=custom

This uses the "central bank" form, even in the heaviest weight.

Screen Shot 2022-05-12 at 4 53 54 PM Screen Shot 2022-05-12 at 4 53 39 PM
davelab6 commented 2 years ago

I also wonder that David's design could be more symmetric in the apertures; the original form seems inverted with the lower aperture being slightly wider than the upper, but this is reversed and more different in David's design

Screen Shot 2022-05-12 at 4 59 10 PM

Visible here:

Screen Shot 2022-05-12 at 4 58 33 PM
sannorozco commented 2 years ago

Alright, added hryvnia.rvrn to the whole designspace for all masters to be compatible, updated the VF, and added to the designspace with the following rules:

<rule>
  <conditionset>
    <condition name="wght" minimum="600" maximum="1000"/>
    <condition name="opsz" minimum="14" maximum="36"/>
  </conditionset>
  <sub name="hryvnia" with="hryvnia.rvrn"/>
</rule>
<rule>
  <conditionset>
    <condition name="opsz" minimum="8" maximum="12"/>
  </conditionset>
  <sub name="hryvnia" with="hryvnia.rvrn"/>
</rule>

Then whatever opsz, wght, or wdth we all decide, I can only update the designspace with the numbers you tell me and it will be done.

Let me know which numbers and locations we prefer.