Skip to content

[U+0028, U+0029] Made parentheses ( and ) rounder #433

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

Merged
merged 2 commits into from
Jun 11, 2018

Conversation

jdw1996
Copy link
Contributor

@jdw1996 jdw1996 commented May 28, 2018

I made the parentheses rounder in all weights and styles to improve legibility and distinguish them from other types of brackets.


@chrissimpkins edits below:

TODO

  • review shapes in multiple source types
  • when we have settled on vertical orientation, review brackets/braces and consider alignment of all with same center positions

@jdw1996
Copy link
Contributor Author

jdw1996 commented May 28, 2018

This PR addresses issue #424.

@chrissimpkins
Copy link
Member

ty! Will try to build these PR's tonight so that we can begin to look at the new designs

@chrissimpkins
Copy link
Member

These changes are built as v4.000; [e2d8e94]-dev.

Available in this archive for testing:

ttf.tar.gz

@chrissimpkins
Copy link
Member

Windows users can use this development build installer:

https://github.com/source-foundry/Hack-Test-Win-Installer/releases/tag/v1.2.103

@chrissimpkins
Copy link
Member

Seems to render a bit asymmetric at top of right parenthesis for me. Can't quite place issue but seeing it on rendering in code. Will take a look at the glyphs. Are these mirrored off of one design or did you work on changes individually? I really like the wider curvature. Looking at spacing vs adjacent glyphs as well.

@jdw1996
Copy link
Contributor Author

jdw1996 commented May 31, 2018

Glad to hear you like the basic shape!

I didn't know how to automatically mirror the one glyph into the other, but I did mirror them manually. In particular, for the bold and regular versions at least, the four "corners" of each glyph match up with the end "corners" of the corresponding square brackets. I figured it would make sense to align those for the sake of uniformity.

So, my guess is that it's a rendering issue, but if there's not a clear fix there, I can take another look at the glyphs.

Also, for what it's worth, I've been using a custom-built version with my altered parentheses since I created them, and haven't noticed any rendering issues on Xubuntu 17.10.

@chrissimpkins
Copy link
Member

let me have a look at the curves and see if there is anything that shows up.

@chrissimpkins
Copy link
Member

chrissimpkins commented May 31, 2018

I think that what I am seeing as "abnormal" is just a bit too rapid of a taper in width (and maybe a bit too much taper altogether with the current shape) at each end of the strokes.

qello-image

In the regular set, the width in green is 184 units. The width in red drops by 40 units and the taper appears to begin at ~the orange lines. Thoughts about decreasing that taper by 15 or 20 units and see where we wind up with that? If you make these changes and push the designs for one of the glyphs in each of the sets, I can rotate it for the other one if you don't have the ability to do this in your editor.

Also, sidebearings are off by a few units between the two glyphs. Let's make sure that the internal (RSB on left parens + LSB on right parens) spacing adjacent to other glyphs are the same dimensions.

@chrissimpkins
Copy link
Member

chrissimpkins commented May 31, 2018

Alternatively, you could try making the ends of each stroke perpendicular to the curves. That may take care of it as well (?)

@jdw1996
Copy link
Contributor Author

jdw1996 commented May 31, 2018

OK, I see what you're saying now. I will work on a fix and let you know once I've got it. I do like the vertical ends, but I'll see how they look if they're a bit wider.

@chrissimpkins
Copy link
Member

Overall looks very good! Look forward to seeing what you come up with.

@jdw1996
Copy link
Contributor Author

jdw1996 commented Jun 1, 2018

I increased the widths of the ends of the regular and bold left parentheses, to see if that was sufficient. It's a very subtle change, but I think it may be enough. Let me know if you think it needs a bit more tweaking.

screenshot_2018-05-31_21-26-13

As for the italics, I'm not sure whether or not anything needs to be changed in them. They are thinner than the corresponding upright glyphs, and have less of a taper, it seems to me. Let me know what you think though, I trust your eye for detail over mine in this case.

@chrissimpkins
Copy link
Member

Looks good! Mind pushing those changes so that I can build a set that we can install and view in code? Will make them available to anyone else out there who might be interested in having a look as well.

@jdw1996
Copy link
Contributor Author

jdw1996 commented Jun 1, 2018

Thanks! I just pushed the changes. I didn't modify the right parentheses, though—I can't seem to figure out how to mirror a glyph in FontForge, so I would appreciate if you could take care of that, to ensure the right parentheses are properly symmetrical.

@chrissimpkins
Copy link
Member

Will do! Going to try to get this done over the weekend.

@chrissimpkins
Copy link
Member

Sorry for the delay. Was tied up with the release of another project. Will get to this in the next few days. Look forward to having a look at these!

@chrissimpkins
Copy link
Member

chrissimpkins commented Jun 5, 2018

I made the contralateral glyphs in the regular and bold sets. I think that the changes that you made in the tapers were perfect. These shapes look better.

Some (very) minor curve cleanup and lots of attention to the vertical and horizontal spacing and here is where we are:

s6xu3-image

I modified the spacing in your designs with the following:

  • raise entire right + left parens glyphs to center them on the mid point of the zero glyph (top of each glyph is now at 1700 U). This seems to be better balanced when there are numerals or upper case alphabetics inside the parentheses IMO (e.g. line 350 in source image above)
  • made LSB of right parens = RSB of left parens so that spacing vs. the adjacent glyph that is contained within the parentheses is equivalent on both ends. I used 286U for regular sets and 256 U for bold sets (italic set spacing is shown in line 349 above, no examples of bold or bold italic with my syntax highlighter in this editor)

I really like the new glyph shapes. I need to work in these designs a bit to make sure that the spacing adjustments feel right. Will review in a variety of source types to check with a variety of idioms that use the parentheses glyphs.

Let me know what you think. Be interested in thoughts from others out there who might wander across this thread. Great work here Joseph. This is an improvement!

Build Version 4.000;[394b8b0]-dev attached if you'd like to install:

hack-394b8b04e-dev.tar.gz

@jdw1996
Copy link
Contributor Author

jdw1996 commented Jun 5, 2018

They look good to me. Thanks so much for working on the spacing! I'm glad that they will be more consistent now.

One thing I noticed at first glance is that the parentheses now sit higher on the line than the square brackets or curly braces. When they're not next to each other, it's not a problem, though they are in things like Markdown links:

[This is a link.](https://example.com)

And functions called on arrays in Python, for instance:

my_array_fn([1,2,3])

I do like the idea of having the parentheses centred around numerals, though. Perhaps the solution would be to raise the square brackets and curly braces correspondingly?

@chrissimpkins
Copy link
Member

I think that you are right :) As I made these changes, I realized that I just added more work onto the TODO list...

Let's confirm that we like these as is and, if so, we can adjust the brackets/braces with same vertical orientation. You are more than welcome to do this work if you'd like. These will be simple spacing changes and we can add them as part of v4.000 as well.

I would like to look at your < / > PR and then I need to move on to the planned work on the bold / bold italic zero fills. I am still struggling with what to do with that and have been dragging my feet on the work. My goal is to roll v4.000 out in late June.

@chrissimpkins
Copy link
Member

Added TODO list to your OP

@jdw1996
Copy link
Contributor Author

jdw1996 commented Jun 5, 2018

Sounds good! I'm in a pretty busy period right now, so I unfortunately don't think I'll be able to help with adjusting the spacing of the other brackets, but I am happy to help test any changes, since I'll be using the font as I work anyway.

@chrissimpkins
Copy link
Member

Sounds good!

@chrissimpkins
Copy link
Member

I started work on the brace / bracket spacing.

@chrissimpkins
Copy link
Member

👍 👍 👍 Love it!

0ru1c-image

hack-989cd5e32-dev.tar.gz

@jdw1996
Copy link
Contributor Author

jdw1996 commented Jun 6, 2018

OK, I'm using a version with these modifications now. They look good so far!

@chrissimpkins
Copy link
Member

Agree! Using these builds in multiple languages over the next few days. Have explored so far in C/C++, Go and I really like the changes. The parentheses look great. I really like your new design.

@burodepeper
Copy link
Member

I'm just weighing in, quite late I'm aware of it ;) Can someone post a before/after comparison?

@chrissimpkins
Copy link
Member

@chrissimpkins
Copy link
Member

chrissimpkins commented Jun 7, 2018

@jdw1996 I reviewed these changes across all of the languages that we include in the code-corpora repository. LGTM. If you want to see all of the glyphs in action close to each other, have a look in JavaScript. It seems to be one of the languages where all of the glyphs that we've modified during the discussion in this PR are close to each other for comparison.

I am going to fix the U+002D '-' vertical alignment issue that we discussed in #434 and then I am prepared to merge these changes and the ones in #434 to the dev branch for release in v4.000.

@burodepeper let us know if you have any feedback when you've had a chance to view the changes.

@burodepeper
Copy link
Member

I've installed the latest build, and in my opinion, they are not an improvement. I like the new shape when they're on their own, or when they're really big. In context however, they are punctuation and as such in my opinion they should separate tokens, which requires them to breathe a little. What @chrissimpkins did earlier, move them a bit off-center to create that extra space, I'm missing that.

I do like the idea of having the parentheses centred around numerals, though. Perhaps the solution would be to raise the square brackets and curly braces correspondingly?

Haha, if you're going that route, you'll end up with an entirely new typeface ;) I know from experience...

@jdw1996
Copy link
Contributor Author

jdw1996 commented Jun 8, 2018

To my eye, they separate tokens just by virtue of their height and how distinct the shapes are from any letter, but I realize that's not the case for everyone.

Have you tried out the version @chrissimpkins posted above, with the raised parens/brackets/braces? I've been using it the last couple days and none of the glyphs look strange or out of place to me.

@chrissimpkins
Copy link
Member

@burodepeper

Here is where we are at the moment with the shape diff:

3h1rm-image

The glyph is actually slightly shifted further away from the contents of the parentheses. I think that the top / bottom ends of the strokes encroaching on the contents may be responsible for that sense though I didn't get the same feel from the changes and the internal spacing decision was intentional + desired in the original designs.

What language are you viewing them in? Mind copy/pasting a block of code into the thread so that I can see what you are seeing?

Here are views with the metrics:

7kt9c-image
hg500-image

@chrissimpkins
Copy link
Member

@jdw1996 I reviewed these shapes in 15 languages across macOS and Microsoft Windows platforms. I don't have any further recommendations. IMO they look fantastic. Merging to dev branch with plans to release these shapes in v4.000.

@burodepeper if you have further thoughts or want to revise the design, please open a new issue report or pull request. Happy to do further work here if you have any other ideas.

@chrissimpkins chrissimpkins merged commit ef63a40 into source-foundry:dev Jun 11, 2018
@vl4dimir
Copy link
Contributor

@burodepeper @chrissimpkins @jdw1996 Check out source-foundry/alt-hack#41 when you get a chance, I did an alternate take on these glyphs.

@burodepeper
Copy link
Member

@vl4dimir They are not my personal preference, but I'm okay with them ;)

@chrissimpkins
Copy link
Member

@vl4dimir Let's open a new issue report for this Vladimir. Or feel free to open a PR and we can discuss there. Answered you on the alt-hack thread where you submitted the PR. Thanks again for this iteration on the design. Hopefully we are getting close!

@vl4dimir
Copy link
Contributor

vl4dimir commented Sep 4, 2018

@chrissimpkins Done. #452

@chrissimpkins
Copy link
Member

@jdw1996 thoughts about changes here? shall I build a set for all of us to view?

@jdw1996
Copy link
Contributor Author

jdw1996 commented Sep 6, 2018

They look good to me. If you want to build a set so we can all try it out, that would be great.

@jdw1996 jdw1996 deleted the rounder-parens branch September 6, 2018 01:04
@chrissimpkins
Copy link
Member

Waiting for the conversion from UFO v2 to v3 files requested in the PR thread. Will build when updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants