helpFree UCS Outline Fonts - Support: sr #108057, U+0060 Back-tick (`) is extremely...

 
 

sr #108057: U+0060 Back-tick (`) is extremely small for fontsize < 14

Submitted by:  LRN <lrn>
Submitted on:  Sat 12 May 2012 09:55:17 AM UTC  
 
Category: NonePriority: 5 - Normal
Severity: 3 - NormalStatus: Done
Privacy: PublicAssigned to: Steve White <Stevan_White>
Open/Closed: OpenOperating System: Microsoft Windows

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Fri 12 Oct 2012 10:02:17 PM UTC, comment #15:

cont'd off-line

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Fri 12 Oct 2012 07:19:37 PM UTC, comment #14:

I have
fontforge 20110222
libfontforge 20110222-ML
This is what Debian Stable gives me. That is my server though. It has no desktop environment, and can only build fonts for me. My laptop, however, can run Debian Unstable, with Gnome, and there i can actually run Fontforge GUI and open the fonts.
Tried it once. Didn't actually get how to use the thing (it's more difficult to use than Inkscape, which is the limit of my abilities at the moment). Tried messing around with the back-tick, saved, compiled the font, installed it on my desktop, but got no visible difference (huh, big surprise...).

If it's a hinting issue, then i wouldn't even know how to fix it (especially if you don't).

As for the work involved in creating different variants of the font for testing - i am not saying that changes to back-tick should be duplicated to all other grave accents (as you would do in normal circumstances). Just fix the back-tick, independent of anything else (hell, fix it even if that messes up everything else!). These changes will most definitely not be appropriate for pushing into svn HEAD, but, as i have said, they (or, rather, the way they will be rendered on W32) might help you better understand the problem. If you'd find that all possible re-shaping-related fixes that work for back-tick will certainly mess up other glyphs, and thus are inappropriate - well, we will just take that as a fact and move on.

That, apart from working on that hinting thing, is the best thing i can suggest.

That said, i might give Fontforge another try. Do you think it's worth the trouble?

LRN <lrn>
Fri 12 Oct 2012 06:30:28 PM UTC, comment #13:

Hi LRN

On Fri, Oct 12, 2012 at 6:09 PM, LRN <INVALID.NOREPLY@gnu.org> wrote:

> Follow-up Comment #12, sr #108057 (project freefont):
>
> Well, for my particular display (and maybe not just display, OS could be
> affecting this somehow as well) when font is set to 14px, resulting absolute
> font size is close to what i get from 11pt.
>
> So there isn't any misunderstanding. Basically, your comparison screenshot
> compares apples (text size at 8-14px) with oranges (text size at 8-15pt).

ent me apples and oranges. I thought you were inviting me to compare them.

I acknowledge that the images
freemono_freeserif_r2350_nightly_px-fonttest.png
freemono_freeserif_r2350_nightly.png
look the same, and that the backtick becomes indistinct as such below 11 pt.

Furthermore, I've tried it now in Windows 7, under Explorer, and see something like your images.

It's weird. The characters are bigger than in Linux, but the grave is like a single pxel...

This is a hinting issue. Windows uses hints, while Linux uses more advanced technology. And...Now that I look, Fontforge doesn't hint that accent at all.

So it's a combination of Fontforge deciding not to hint the glyph, and Windows giving up.

Not sure what to do about that. I'll think about it.

> To
> illustrate this - here's a screenshot of my original fonttest (with font size
> in px). If you compare it with
> https://savannah.gnu.org/support/download.php?file_id=25840 , you'll see that
> backtick goes horizontal for size < 14px (on my display). Which is exactly the
> same as it was before.
>

Nonetheless, the new grave accent is subtantially longer and denser in the more recent FreeMono, and it does in fact make a difference at certain point sizes.

> Slight differences in spacing could be attributed to changed browser version
> (it's Nighly, i update often).
>
> I think it's safe to assume that font rendering on W32 is really weird, and
> that it somehow makes back-tick come out bad.
> Luckily, i now have a W32 laptop that i can freely reboot. Which means that i
> am able to rapidly test lots of fonts (my opinion is that Windows is incapable
> of updating existing font without rebooting, and my desktop reboots roughly
> once a month). So if you would kindly make a number of freemono fonts with
> different back-ticks (narrow, normal, bold, very bold, super-bold, slightly
> tilted, tilted, sharply tilted, almost vertical; also, i've seen the source
> file and back-tick seems to be symmetric - try making it asymmetric in one
> dimension (like single quote, for example - narrower on one end, wider on
> another)),


I spent about 4 hours making the changes I submitted.
I think I did a good job, and I thank you for raising the question.
But I think you underestimate how much you're asking here.

I am very particular about how the font should work, as I explained. Specifically, that the "grave" glyph should be the same as the grave accents on several dozen other letters, and that a change in one style is reflected in all 4 styles, and that it should match the acute accent etc etc etc. This gets quite tricky in places.

You must have a copy of fontforge. It's not that hard to use. I'm willing to help you with any questions you might have.

> i'd see how they render, and maybe we'll finally find some
> correlation between back-tick shape and its rendering.
>

This is no surprise to me. I struggle with this every time I test in Windows.
I have to do terrible things (after deleting, and rebooting, I go in with DOS and remove the invisible leftover fonts, because, I tell you, sometimes it decides to use the invisible leftovers rather than the newly-installed ones.)

Of course, Linux is almost as bad. Difference is, I think I understand how Linux works, while I suspect nobody understand how Windows works.

> Yet another possibility is that i'm a moron and was either building the fonts
> in a wrong way (`svn update && make ttf') or packing the wrong files (`cd sfd;
> tar -c *.ttf | xz -z > ../freefont-rREVISIONNUMBER.tar.xz') for sending them
> to my W32 PC.
>

A) Nobody here thinks you're a moron (even if my frustration may leak through sometimes, I am well aware of my own limitations, and that people are different, and that it's a good thing.)
I regard (non-abusive) bug reporters as gold. (Abusive ones are silver.)

I sometimes look at things differently one day than the next. (As you witnessed.)

B) The "make" steps are right. What version of FontForge are you using? I could also build you snapshots. But I doubt this is the problem.

C) I think the "px" measures are nearly useless. On modern systems, there are multiple layers of meaning to this measure. I'm not sure what you will see. (With "pt" at least there are only a couple of layers, but I kind of understand them.)

Cheers, again!

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Fri 12 Oct 2012 04:09:39 PM UTC, comment #12:

Well, for my particular display (and maybe not just display, OS could be affecting this somehow as well) when font is set to 14px, resulting absolute font size is close to what i get from 11pt.

So there isn't any misunderstanding. Basically, your comparison screenshot compares apples (text size at 8-14px) with oranges (text size at 8-15pt). To illustrate this - here's a screenshot of my original fonttest (with font size in px). If you compare it with https://savannah.gnu.org/support/download.php?file_id=25840 , you'll see that backtick goes horizontal for size < 14px (on my display). Which is exactly the same as it was before.

Slight differences in spacing could be attributed to changed browser version (it's Nighly, i update often).

I think it's safe to assume that font rendering on W32 is really weird, and that it somehow makes back-tick come out bad.
Luckily, i now have a W32 laptop that i can freely reboot. Which means that i am able to rapidly test lots of fonts (my opinion is that Windows is incapable of updating existing font without rebooting, and my desktop reboots roughly once a month). So if you would kindly make a number of freemono fonts with different back-ticks (narrow, normal, bold, very bold, super-bold, slightly tilted, tilted, sharply tilted, almost vertical; also, i've seen the source file and back-tick seems to be symmetric - try making it asymmetric in one dimension (like single quote, for example - narrower on one end, wider on another)), i'd see how they render, and maybe we'll finally find some correlation between back-tick shape and its rendering.

Yet another possibility is that i'm a moron and was either building the fonts in a wrong way (`svn update && make ttf') or packing the wrong files (`cd sfd; tar -c *.ttf | xz -z > ../freefont-rREVISIONNUMBER.tar.xz') for sending them to my W32 PC.

(file #26749)

LRN <lrn>
Fri 12 Oct 2012 03:31:06 PM UTC, comment #11:

Hi LRN!

First, px is not "smaller than pt". Px means "pixels" a measure relative to the resolution of the device. The absolute size of a pixel depends on the resolution of the device. In contrast, a pt is 1/72 inch, which is an absolute measure.

This is part of the misunderstanding here, I think.

As to the visibility of the changes:

It depends on how you look at it. If you zoom in on the pictures you sent me, a difference is quite visible.

Find attached my comparison of your two pictures as a screenshot:
comparison-before-after.png
I zoomed in on both of them the same amount, so the corresponding lines were of similar length (strangely, they look different--I guess you made them sligthly differently).

To see the difference, you have to make the image about 10.5 inches wide on your screen (because my screen is 10.5 inches wide).

In your first image, the grave accent ceases to be distinct as a left-slanting stroke at about 14px. In your second image, made with the submitted changes, it ceases to be distinct below 11 px.

Thanks again!

(file #26748)

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Fri 12 Oct 2012 12:11:18 AM UTC, comment #10:

No visible improvements here, on W32. Attached a screenshot of your version of fonttest using freefonts r2350.
Note that px size units produce smaller font size than pt, so your 10pt is like mine 13px (that is, fontsize < 14px is the same as fontsize < 11pt).

(file #26743)

LRN <lrn>
Sun 07 Oct 2012 04:02:33 PM UTC, comment #9:

Well, LRN, I changed it in the direction you seem to be asking for. It doesn't really make the accents more distinct at 7pt on my screen, but it is visible at 8pt.

I think the overall effect is good: now the weight of the accents seems better balanced between the dots on the i and j, and the punctuation marks. (Before they were thinner than either).

It's not clear what's to be done with macron and breve. Since they're both long and thin anyway, maybe it's better to leave them.

Thanks for your patience!

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Sun 07 Oct 2012 12:16:18 PM UTC, comment #8:

Then again,

The dot on i and j is about 50% wider than the stem width.

Maybe this design decision of making the accent marks so thin was not a good one.

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Sun 07 Oct 2012 11:36:09 AM UTC, comment #7:

Hi, LRN,

I ran across this again, and reviewed it.

First, I re-worked the HTML file to be correct and easier to work with (attached).

Looking at it in Firefox, I have to say, at the smallest sizes, the grave accent is scarcely discernable as such.

But then I noticed, you specify "8px" a pixel-size. Pixel sizes are device-dependent. If I need explicit sizes, I always use points "8pt". At this size, on my browser, the grave accent is quite discernable as such (still light, but).

Now, font sizes in web browsers are notoriously different from font sizes in other apps (due to an incomprehensible choice made by MS in the late 1990's). So I tried the same kind of thing in Gedit.

At 8 points, I find the grave accent is just barely discernable as such. It is still quite distinct from the straight quote.

I looked for other serifed monospace fonts. My system has an Adobe courier (packaged as a pfb file with Tex-Live). Now, the style of accents in Courier is rather different from FreeMono (which, again, derives from the old URW++ fonts). They are heavier, almost as heavy as the punctuation, whereas in FreeMono, accents have width equal to the stem width of the letters. (Also this Courier has no Russian, but that's not the point.)

Because it is heavier and placed higher, the grave accent in Courier will remain distinct (to my eyes) to even smaller point sizes, even to 7pt -- but at 6pt it too becomes indistinct.

Images of some of the smaller tests are attached.

That all said, again, it was style choice of the original designers, a substantial change in the shape of this glyph would be a very big change. To be consistent, it would involve changing this accent in many dozens of letters, as well as several of the other accents (caron and hacek are similar), and then to do the similar thing for 4 font faces.

At this point, I'm still not willing to do that to achieve readability at 7pt.

(file #26717, file #26718, file #26719, file #26720)

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Mon 21 May 2012 08:58:43 AM UTC, comment #6:

Hi LRN,

No, I think you heard that somewhere else.
I said the question isn't as simple as a single pt size, and I did not rule out the possibility of an alteration to the font.

As I mentioned, the "pt" size depends on your rendering settings and application.

Regarding browsers: the "pt" measure means something different in web browsers than in the OS. (This is a historical mess that started with IE many years ago, and as always been a source of confusion. I don't know why it's this way, maybe the writers of IE decided they weren't happy with the sizes of letters, so they just redefined "pt"--that would be in character for them).

It isn't surprising that I personally use the FreeFont suite for all my web browsing. On my laptop here, running at 1280x800 with DPI set to (125, 119), I set the Firefox font size to 14 pt for Western. What I type here is being rendered before me with FreeMono. At this size and resolution, the tick marks (aka accents) are distinct.

Now, FreeMono isn't for everybody or every application. Generally, owing to its very thin stroke width, at any given resolution, FreeMono is going to become indistinct at a larger size than a font with a heavier stroke.

On this same laptop, I don't use it for terminals, because at the point sizes required for two 80-col xterms side-by-side, it's very light and the letters are too indistinct for my taste and purposes. On my desktop computer, which has much more real estate, I do use it for terminals though.

I already explained some of the issues and possibilities regarding altering the shapes. It isn't impossible of course, if it's strongly called for. As I mentioned, you might be surprised how wide-ranging such a change would be, and how many further decisions it would entail. Accent marks appear in hundreds of other letters, and as this face is meant to be used in terminals, the constraints on the size of the marks are very tight.

Again, I'm quite willing to continue looking at it.

You might experiment with your DPI and anti-aliasing settings. These have a big effect on legibility at small sizes.

Cheers!

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Sat 12 May 2012 02:46:26 PM UTC, comment #5:

So, the answer basically is "tweak Firefox settings and/or use style hacking addons to make sure that on any web-site you visit, that uses any kind of HTML code or CSS, any text that uses FreeMono is made at least 15pt"?

LRN <lrn>
Sat 12 May 2012 02:42:29 PM UTC, comment #4:

FreeMono for code:
I use FreeMono for code on screens with enough real estate to display at 12 pt (this is a different size from 12pt in your browser, for historical reasons!) This also depends on the DPI you're running at of course.

The accents are fine (look at them at large resolutions). They have the same width as the stem width and are plenty long enough. Compared to punctuation marks, they are very thin, but this is a feature of Courier-like faces.

Of course I could do a lot of things (e.g. break the identifictation of "backtick" with "grave accent"), but I have to balance the different applications of the font, and -- the smallest letters there are at the limit of recognizability on the screen, and well, before that point, the smallest marks become unrecognizable. To me (although I see what you're talking about) the extreme application doesn't quite merit the decisions and measures required to somehow improve it.

Font names:
in these reports, I stick to "sans" "serif" when there is no fear of confusion, or FreeMono etc. otherwise There are Persons of Influence who insist on "GNU FreeFont" for the name of the family in all publications. This makes some sense -- otherwise the name is nearly generic.

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Sat 12 May 2012 12:17:30 PM UTC, comment #3:

Sorry, just realized that fonttest_01.html is a bit broken. Here's a fixed version.

(file #25846)

LRN <lrn>
Sat 12 May 2012 12:08:04 PM UTC, comment #2:

OK, i've attached my own rendering of your backtick.html, as well as the HTML file i've been using for fonttesting.

As for using different characters - it's not exactly my choice. Whenever i view some shell or Perl script in my browser (that is, at least once a day) there are back-ticks, back-ticks everywhere! And the don't look very backtick'y, so i spend a few seconds trying to understand why (and how) someone placed a period so high. And then i remember that this is how back-tick looks in FreeMono.

By the way, should i use FreeMono and FreeSans as font names, or maybe "GNU FreeMono" and "GNU FreeSans"? There have been name variations, so maybe i'm using some old version of the fonts due to my use of old names?

(file #25844, file #25845)

LRN <lrn>
Sat 12 May 2012 11:29:37 AM UTC, comment #1:

Hi again LRN,

First, the primary function of U+0060 is as a grave accent (this is what it is called in Unicode). That association affects its shape.

It would be nice to have the original document you used to generate the image. I made my own HTML and viewed it in the latest FireFox on Ubuntu Linux 12.04. See attached.

One issue is apparent: the grave accent in sans was indeed badly spaced, so that it almost touched the preceding character. This is now fixed.

As a grave accent, the shape of the glyph is constrained by the need for accented letters to fit in the bounds. This is a messy business in some cases (e.g. Vietnamese). It's a balance. For the purpose of screen display in very small font sizes...I would say it's very debatable that the grave accent should look like the one, say, from TeX fonts. It's more important that it is distinguishable from the acute, which it is.

If you need a glyph of similar dimensions to the straight single quote, I would suggest U+2032 (prime, or minute) U+2035 (reversed prime). I don't think there is a "backtick" in Unicode, per se.

Thanks!

(file #25841, file #25842)

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Sat 12 May 2012 09:55:17 AM UTC, original submission:

NT 6.1.7601 x86_64

U+0060 back-tick (`) is practically reduced to a pair of horizontal pixels when fontsize < 14 (as opposed to single quote U+0027 ('), which retains its shape regardless of font size). This affects both FreeMono and FreeSans.

See the attached screenshot.

I can't tell whether this issue is recent, or it was present all along, and i haven't noticed it until now. Sadly, back-tick was not part of the HTML file i've been used to test freefonts in Firefox.

Some of the issues from #36235 are still present:
U+0432 still has height problems
U=0054 doesn't have serifs in FreeSans on fontsizes < 15

LRN <lrn>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #26717:  fonttest_01.html added by Stevan_White (5kB - text/html - debugged html file; images of test in Gedit)
file #26718:  fonttest-gedit-9pt.png added by Stevan_White (30kB - image/png - debugged html file; images of test in Gedit)
file #26719:  fonttest-gedit-8pt.png added by Stevan_White (29kB - image/png - debugged html file; images of test in Gedit)
file #26720:  fonttest-gedit-courier_10-8pt.png added by Stevan_White (24kB - image/png - debugged html file; images of test in Gedit)
file #25846:  fonttest_01.html added by lrn (5kB - text/html - Fonttest 01 (fixed closing tags))
file #25845:  fonttest_01.html added by lrn (5kB - text/html)
file #25843:  backtick-sans.png added by Stevan_White (87kB - image/png - in sans face, spacing of grave accent made like that of acute)
file #25841:  backtick.html added by Stevan_White (2kB - text/html)
file #25842:  backtick.png added by Stevan_White (87kB - image/png)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by Stevan_White (Updated the item)
  • -unavailable- added by lrn (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 17 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 12 Oct 2012 04:09:39 PM UTClrnAttached File-=>Added freemono_freeserif_r2350_nightly_px-fonttest.png, #26749
    Fri 12 Oct 2012 03:31:06 PM UTCStevan_WhiteAttached File-=>Added comparison-before-after.png, #26748
    Fri 12 Oct 2012 12:11:18 AM UTClrnAttached File-=>Added freemono_freeserif_r2350_nightly.png, #26743
    Sun 07 Oct 2012 04:02:33 PM UTCStevan_WhiteStatusReady For Test=>Done
    Sun 07 Oct 2012 11:36:09 AM UTCStevan_WhiteAttached File-=>Added fonttest_01.html, #26717
      Attached File-=>Added fonttest-gedit-9pt.png, #26718
      Attached File-=>Added fonttest-gedit-8pt.png, #26719
      Attached File-=>Added fonttest-gedit-courier_10-8pt.png, #26720
    Sat 12 May 2012 12:17:30 PM UTClrnAttached File-=>Added fonttest_01.html, #25846
    Sat 12 May 2012 12:08:03 PM UTClrnAttached File-=>Added r2279_freemono_freesans_firefox_backtick.png, #25844
      Attached File-=>Added fonttest_01.html, #25845
    Sat 12 May 2012 11:34:01 AM UTCStevan_WhiteAttached File-=>Added backtick-sans.png, #25843
    Sat 12 May 2012 11:29:37 AM UTCStevan_WhiteAttached File-=>Added backtick.html, #25841
      Attached File-=>Added backtick.png, #25842
      StatusNone=>Ready For Test
      Assigned toNone=>Stevan_White
    Sat 12 May 2012 09:55:17 AM UTClrnAttached File-=>Added r2279_freemono_freesans_firefox.png, #25840

    Back to the top


    Powered by Savane 3.1-cleanup