Label color with/without zoom

Issue #272 resolved
Anastasia Baryshnikova created an issue

When I'm zoomed out completely and the whizzing labels are on, all labels are blue, while the ones corresponding to the cell I'm point at are red and bold. When I'm zoomed in to a level that disables the whizzing labels, the labels are now black and the ones corresponding to the cell I'm pointing at are just red (not bold). We should make them all consistent. I like blue + bold red, but don't have any strong feelings either way.

Comments (18)

  1. Christopher Keil repo owner

    @hepcat72 And just as a side note, would you mind creating a test version with a slightly darker blue (really just a bit)? I think it might improve contrast + readability a bit. Maybe later we can also add a coloring option in the label menu as preference.

  2. Robert Leach

    So the blue and black in the different modes was intentional. It was to provide and additional visual cue that something different has happened with the labels. The color was selected to match the color of the blue indicator bar which shows the region which the labels represent.

    I agree though that the red/bold hovered label should be consistent between the the whizzing label mode and the fitted label mode. Currently, they are.

    There's 1 problem with the bolding however: when labels are horizontal (i.e. row labels), bolding is controlled by the availability of a static hard-coded bold version of the font. When the labels are anything other than horizontal (i.e. column labels), the bolding is applied by an algorithm dynamically. Thus what is happening is, with specific fonts, the hovered column label will appear bold and the row label will not be bold (because the font doesn't have a stored bold version). I think that with this ticket, if we can't force a bold label for the rows, we should just not bold at all.

    Chris, did you create an issue for the darker blue label color?

  3. Robert Leach

    And if we want the whizzing labels to be the same color as the fitted labels, we should have some way to visually associate the different label mode with the indicator bar. Incidentally, "indicator bar" is what I call that thin thing that looks like a scrollbar.

  4. Robert Leach

    So since I see that the bold consistency issue is still a concern, I thought about the issue this morning. As I mentioned before, the reason the row label's hover position is not bolded and the column is (in your case), is because there exists no bold version of the font you have selected (or is the default?). The column labels can be bolded because the bold effect is applied programmatically when a font is anything other than horizontal.

    The ways we can address this are:

    1. Slightly/imperceptibly tweak the angle of the row labels so that bolding is applied to all labels consistently (I vote no because that's hacky)
    2. Never bold anything (I vote no because my implementation of the resolution to issue323 needs a way to indicate precise hover position other than color).
    3. Remove fonts from the label settings which have no bold version.

    I would vote for option 3. Another reason I would not opt for option 2 is because I have matched the bold-tactic in highlighting the currently hovered tree branch/leaf. I draw the tree line in a matching bold red.

    You can test to see if my diagnosis of this problem is accurate by changing your label font to another type which has a bold version. I have set my default to courier and as you can see here, both row and column hovered labels are bold red:

    bold_row_hover_font.png

  5. Robert Leach

    You'll also note that I decided to try a scheme that addresses another concern in this ticket, and that's the blue color font. I changed it to black and decided to try to associate the indicator bar with the relevant labels by making the labels that go off the edge about 50% transparent.

  6. Robert Leach

    Another possible reason for the lack of bold could have to do with font size. If you test these theories out, let me know what you get @abarysh

  7. Anastasia Baryshnikova reporter

    So, the bold issue seems to be related to font-size, rather than the actual font: I am also using Courier and I can only see the "boldness" on the row labels at size 17 but not size 12 (the column labels at the same size, look bold in both cases).

    Courier 12: bold_12.png

    Courier 17: bold_17.png

    For the blue color font -- I still see it blue whenever the whizzing labels are on (basically the same as when I first created this issue). Was it supposed to be black?

  8. Robert Leach

    OK, hmmm. Alright, I have a better picture of this now. Here's my refined diagnosis of this issue. Knowing what I know about fonts, they are provided in specific set sizes in the font library, usually like 8, 9, 10, 12, 14, 18, ... Any other sizes are generated programmatically and thus any in-between sizes, like 13, since they are generated programmatically, they are bolded programmatically as well. So if a font size is supported by the font, it defaults to looking for that font's bold version. If it doesn't have it, it just gives up and the font is rendered plain. I was just researching this issue further and I found out there's a way to "derive a font" from a given font and apply a bold style. I might be able to programmatically enforce a bold style on all fonts using that method. The documentation is sparse, so I'm somewhat reading between the lines. I could be wrong.

    Regarding the label color, issue 323 is not yet closed, so you will still see blue in your version.

  9. Robert Leach

    I did some testing and have not yet found a solution. It seems that I cannot determine in the code whether a font is being properly rendered as bold or not. Nor can I seem to force the font to be rendered as bold. The code says that the font is bold even though when you look at it, it clearly is not.

    So I have posted a stackexchange question because my googling of the problem has not been fruitful.

    http://stackoverflow.com/questions/33832286/how-to-either-not-provide-a-font-that-wont-render-bold-or-force-it-to-be-bold

  10. Robert Leach

    Looks like Lance figured out a work-around. If we turn on anti-aliasing, all fonts can be rendered as bold.

  11. Robert Leach

    You can't tell that much at this font size, but it at least looks consistent between the row and column labels. The fonts also look nicer over all.

    bold-issue-fixed-with-antialiasing.png

  12. Log in to comment