rosettatype / handjet

Handjet: an element-based variable font
http://rosettatype.com/Handjet
SIL Open Font License 1.1
87 stars 2 forks source link

Recalibrating SHAP and renaming #3

Closed davelab6 closed 4 years ago

davelab6 commented 4 years ago

@MrBrezina I'd like to request a recalibration of the axis, so that SHAP's default value is 400 (plain squares with no gaps.) Is this a trivial change to the .designSpace file?

@rosawagner if David agrees, and it is trivial, perhaps you could just make this happen? :)

MrBrezina commented 4 years ago

Why why why? :) I like the circles as default.

davelab6 commented 4 years ago

Because this is more legible at small sizes, and it is common to render the family name in the default style.

davelab6 commented 4 years ago

I am also not sure what the current range means, I initially wondered if 0..100.00 with -2 precision would be better, but then I realized the current values do have a logic.

However, after careful review of the entire axis, there are a few more useful shapes than what you named so far, so I wonder if using int numbers for each would be better, and putting the rotations at quarter and half values. Also the more "minor" shapes towards then end have half values. This leads me to propose 0..20.00 :)

Current value Label (bold is new) Meaning Proposed value
100 Blank No ink 0
150 Triangle Top left corner triangle 1
300 Square Square (default) 2
349 Lozenge Square rotated 45deg 2.25
400 Square 2 Square, identical rendering to earlier one 2.5
425 Block 1:2 rectangle 2.75
450 Rectangle 3:5 rectangle 3
500 Bar (Vertical) 1:7 rectangle at 0deg 4
550 Bar (Diagonal Up) 1:7 rectangle at 45deg 4.25
600 Bar (Horizontal) 1:7 rectangle at 90deg 4.5
650 Bar (Diagonal Down) 1:7 rectangle at 135deg 4.75
700 Bar (Vertical) 2 1:7 rectangle at 0deg, identical rendering to earlier one 5
775 Block 2 1:2 rectangle, identical rendering to earlier one 6
800 Square 3 Square, identical rendering to earlier one 7
820 Rounded Square Square with rounded corners, works best for weight 250..375 8
875 Squircle Square with very rounded corners, 1970s vibe 9
900 Circle Circle 10
933 Egg Oval 3:4 11
950 Oval 3:5 oval 12
1,000 (None) Rounded bar, looks weird 13
1,050 (None) Rounded bar at 45deg 13.25
1,100 (None) Rounded bar at 90deg 13.5
1,150 (None) Rounded bar at 135deg 13.75
1,200 (None) Rounded bar at 180deg 14
1,250 Oval 2 3:5 oval, identical rendering 14.5
1,300 Circle 2 Circle, identical rendering 15
1,350 Clover Clover 16
1,400 Flower Flower 17
1,500 Star Star at 0deg) 18
1,550 Star (Diagonal) Star at 45deg) 18.25
1,600 Star 2 Star at 180deg, identical rendering to earlier one 18.5
1,650 Star (Big) Star with larger body 18.75
1,700 Spindle Twisting shape 19
1,737 Pin Map pin 19.5
1,800 Heart Heart shape 20
davelab6 commented 4 years ago

The axis name Shape (SHAP) is broad, and I propose a more narrowly specific name would be better, Dot Shape (DSHP).

davelab6 commented 4 years ago

Or maybe, Dot Shape (DOTS)?

MrBrezina commented 4 years ago

Or rather ESHP (Element shape)?

On 13 Aug 2020, at 16:44, Dave Crossland notifications@github.com wrote:

The axis name Shape (SHAP) is broad, and I propose a more narrowly specific name would be better, Dot Shape (DSHP).

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

davelab6 commented 4 years ago

ESHP sounds good to me. What about the above int values table?

davelab6 commented 4 years ago

I'd also be grateful if you would use the same axis name, tag and range on https://v-fonts.com/fonts/gridlite

MrBrezina commented 4 years ago

Yeah, that would make sense.

On 14 Aug 2020, at 21:45, Dave Crossland notifications@github.com wrote:

I'd also be grateful if you would use the same axis name, tag and range on https://v-fonts.com/fonts/gridlite

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

MrBrezina commented 4 years ago

Re instances.

I am not sure if we need to have the “Square 2” etc. instances at all. I tend to think about instances as convenient static samplings of the variable space. They do not need to correspond to masters if these exist only to make nice variable transitions.

If the rotating ovals look bad (rounding errors affect them a lot), we can just drop them.

You have removed the rotating lozenge and multiple tilts of the star. Just saying to keep it explicit.

I would rename “Star (Big)” to “Big Star” and keep the parentheses for describing rotation only.

So the result could be something like this:

Current value Label (bold is new) Meaning Proposed value
100 Blank No ink 0
150 Triangle Top left corner triangle 1
300 Square Square (default) 2
349 Lozenge Square rotated 45deg 2.25
425 Block 1:2 rectangle 2.75
450 Rectangle 3:5 rectangle 3
500 Bar (Vertical) 1:7 rectangle at 0deg 4
550 Bar (Diagonal Up) 1:7 rectangle at 45deg 4.25
600 Bar (Horizontal) 1:7 rectangle at 90deg 4.5
650 Bar (Diagonal Down) 1:7 rectangle at 135deg 4.75
820 Rounded Square Square with rounded corners, works best for weight 250..375 8
875 Squircle Square with very rounded corners, 1970s vibe 9
900 Circle Circle 10
933 Egg Oval 3:4 11
950 Oval 3:5 oval 12
1,350 Clover Clover 16
1,400 Flower Flower 17
1,500 Star Star at 0deg) 18
1,550 Star (Diagonal) Star at 45deg) 18.25
1,650 Big Star Star with larger body 18.75
1,700 Spindle Twisting shape 19
1,737 Pin Map pin 19.5
1,800 Heart Heart shape 20

For convienience, this is my original naming:

100 -> Empty
200 -> Triangle
300 -> Square
333 -> Tilted square 30
366 -> Tilted square 60
400 -> Tilted square 90
500 -> Rectangle
533 -> Tilted rectangle 30
566 -> Tilted rectangle 60
600 -> Tilted rectangle 90
633 -> Tilted rectangle 120
666 -> Tilted rectangle 150
700 -> Tilted rectangle 180
800 -> Square transition
900 -> Circle
1000 -> Oval
1033 -> Tilted oval 30
1066 -> Tilted oval 60
1100 -> Tilted oval 90
1133 -> Tilted oval 120
1166 -> Tilted oval 150
1200 -> Tilted oval 180
1300 -> Circle transition
1400 -> Flower
1500 -> Star
1533 -> Tilted star 30
1566 -> Tilted star 60
1600 -> Tilted star 90
1700 -> Spindle
1800 -> Heart
kontur commented 4 years ago

Done with #5

davelab6 commented 4 years ago

I am not sure if we need to have the “Square 2” etc. instances at all. I tend to think about instances as convenient static samplings of the variable space. They do not need to correspond to masters if these exist only to make nice variable transitions.

That's fine with me, the full table with all the labels may be useful for animators, but keeping the number of named styles down is fine with me.

By releasing fonts with limited fvars and full STATs, we incentivize app developers to support STAT data if not proper axis variation based type specification.

If the rotating ovals look bad (rounding errors affect them a lot), we can just drop them.

Sounds fine.

You have removed the rotating lozenge and multiple tilts of the star. Just saying to keep it explicit.

Rotating lozenges are at what values? As lozenge itself is "Square rotated 45deg" then I didn't see a lot of value in 15 or 30 degrees,.

For star, I have 0 and 45 degrees; what other angles do you think is relevant?

I would rename “Star (Big)” to “Big Star” and keep the parentheses for describing rotation only.

That's fine

As @kontur went ahead, I'll take a look but I expect the above set of names to be fine.

However, do note that only the Weight axis should have fvar named instances, everything else should be in STAT only. This is because many legacy apps use the "WWS" style model (or worse) and can't deal with fvar named instances outside that model (at least not in a way that is compatible with static font files of the family.)

kontur commented 4 years ago

Thanks for the feedback. If desired I'm open to changes here, though, after all it's just semantics.

However, do note that only the Weight axis should have fvar named instances, everything else should be in STAT only.

Yes, implemented like that now.

MrBrezina commented 4 years ago

Rotating lozenges are at what values? As lozenge itself is "Square rotated 45deg" then I didn't see a lot of value in 15 or 30 degrees,. For star, I have 0 and 45 degrees; what other angles do you think is relevant?

30 or 60, but I guess it not necessary. It is a variable font after all. :)

kontur commented 4 years ago

I had followed the renaming but missed that the new mapping for this axis, too, remaps the values. Will fix that still.

For what it's worth, the semantics of those angles do not make it anywhere into the actual font. Just saying :)

kontur commented 4 years ago

This might or might not actually require review of the design, because the number of named / design stops has changed or is relocated. I'll clarify with David and then update.

davelab6 commented 4 years ago

Sounds good, thank you

MrBrezina commented 4 years ago

Here is the updated list of instances and masters (sources and scripts updated, compiling the fonts is left to @kontur).

Objectives:

  1. comparable transformations should occupy the same space on the axis (e.g. transition from square -> rectangle should take as much space as rectangle -> square, 90 degrees rotation of the bar should take as much as 90 degrees rotation of the star)
  2. rotation by 90 degress should correspond to 0.5 increment, by 180 degress should correspond to 1.0 increment
  3. most of the interesting shapes should be positioned on whole numbers (this is not always possible)
  4. masters do not need to be positioned on whole numbers
  5. not all whole numbers correspond to masters
  6. diagonal positions are masters for better control, the funny numbers like 2.11 corresponding to 20-degree rotation are used to avoid rounding errors (also, I could not rotate by 22.5 degress in Glyphs 🤦 ), but hey it is fun and should work just as well!
  7. narrow forms (rectangles, ovals) have proportion 1:8 (I hope it is ok, @davelab6, it corresponds better to the general proportions)
  8. rectangles and oval have the same proportions (hence some proposed oval shapes changed a little)
  9. the rotation of ovals has been removed

Table of masters and instances

Note that the values in the Glyphs source use ESHP values that are multiplied by 100 (i.e. 211 instead of 2.11) since Glyphs does not seem to allow decimal values atm.

Intended ESHP value Master glyph name (in case it is a master) Instance label (for instances only) Description
0.00 pixel.ESHP-0 Blank No ink
1.00 pixel.ESHP-100 Triangle Top left corner triangle
2.00 pixel.ESHP-200 Square Square
2.11 pixel.ESHP-211 Square rotated 20 deg
2.25 pixel.ESHP-225 Lozenge Square rotated 45 deg
2.36 pixel.ESHP-236 Square rotated 65 deg
2.50 pixel.ESHP-250 Square rotated 90 deg
3.19 Block 1:2 rectangle
3.36 Rectangle 3:5 rectangle
4.00 pixel.ESHP-400 Bar (Vertical) 1:8 rectangle at 0 deg
4.11 pixel.ESHP-411 1:8 rectangle at 20 deg
4.25 pixel.ESHP-425 Bar (Diagonal Up) 1:8 rectangle at 45 deg
4.36 pixel.ESHP-436 1:8 rectangle at 65 deg
4.50 pixel.ESHP-450 Bar (Horizontal) 1:8 rectangle at 90 deg
4.61 pixel.ESHP-461 1:8 rectangle at 110 deg
4.75 pixel.ESHP-475 Bar (Diagonal Down) 1:8 rectangle at 135 deg
4.86 pixel.ESHP-486 1:8 rectangle at 155 deg
5.00 pixel.ESHP-500 1:8 rectangle at 180 deg
6.50 pixel.ESHP-650 Square (transitional master)
6.80 Rounded Square Square with rounded corners (works best for weight range 250–375)
7.63 Squircle Square with very rounded corners, 1970s vibe
8.00 pixel.ESHP-800 Circle Circle
8.69 Egg 1:2 oval
8.86 Oval 3:5 oval
9.50 pixel.ESHP-950 Thin oval 1:8 oval
11.00 pixel.ESHP-1100 Circle (transitional master)
12.00 Clover Clover
13.00 pixel.ESHP-1300 Flower Flower
14.00 pixel.ESHP-1400 Star Star at 0 deg
14.11 pixel.ESHP-1411 Star at 20 deg
14.25 pixel.ESHP-1425 Star (Diagonal) Star at 45 deg
14.36 pixel.ESHP-1436 Star at 65 deg
14.50 pixel.ESHP-1450 Star at 90 deg
14.75 Big Star Star with larger body
15.00 pixel.ESHP-1500 Spindle Spindle (aka lantern)
15.37 Pin Map pin
16.00 pixel.ESHP-1600 Heart Heart shape
MrBrezina commented 4 years ago

@kontur once you get this to compile let me know and I will check if all the values work as expected.

MrBrezina commented 4 years ago

@kontur @davelab6 I am happy with this. The only, minor, change I would make is to change the Rounded square position from 6.80 to 6.90 to make the roundedness more visible. Other than that, all fine by me.

davelab6 commented 4 years ago

Thanks! I'm happy with this