Skip to content
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

Installing Git for Windows changes console font #518

Closed
kkm000 opened this issue Nov 4, 2015 · 9 comments
Closed

Installing Git for Windows changes console font #518

kkm000 opened this issue Nov 4, 2015 · 9 comments

Comments

@kkm000
Copy link

kkm000 commented Nov 4, 2015

GfW installer always changes my preferred console font. The checkbox Use a TrueType font in console windows selects whether the user preference is erased and overwritten with a TrueType font or a raster font.

There is no currently a workaround to leave the user's console font preference unchanged.

Ref. https://groups.google.com/forum/#!topic/git-for-windows/mPszHGy47Ow

Konstantin Khomoutov suggested the option should change font when checked. Yes it definitely should not be a "pick your poison" option. But I am vouching for eliminating the option altogether. I understand the good intentions behind it: TrueType fonts looked better to someone, and, since the users are not often aware they can change the font, that someone decided to be helpful and share their preference with everyone. This is one of the good intentions that pave the road to hell, because now it is imposing someone's individual preference on everyone!

The option is neither documented nor self-describing. If left in installer, it should read e. g. "Change console font to TrueType font name here", i. e. be explicit enough. I have always set my font to Consolas, and I checked the damn box when I first installed GfW, because I did not understand the implications -- and because I do prefer TT fonts. And my setup got immediately and blatantly screwed by GfW!

Last, even better yet, please please consider removing this evil option altogether. Users can easily set their console font preference, and there is an app for that. Git should have nothing to do with console font. This looks like an extremely, utterly horrible design decision that needs to be reversed ASAP. Thank you.

@dscho
Copy link
Member

dscho commented Nov 7, 2015

TrueType fonts looked better to someone

This is not at all the reason for the option. The real reason is that the TrueType font can show Unicode characters while the raster font shows completely bogus characters (at least in some Windows versions, I did not test on Windows 10 and invite you to do so).

Further, it is incorrect to say that the option changes the font always. As is obvious from the code, the console font is only set when the checkbox is checked. Of course, if you then uninstall, the previous setting is not restored.

But maybe I do not have any clear idea what you are talking about, what with a lot of unnecessary ranting and no precise description what is going wrong when and where, including an analysis of the faulty code.

@kkm000
Copy link
Author

kkm000 commented Nov 8, 2015

Sorry, I should not really have vented. The damage seemed too extensive though.

So, first installed was v2.5.1, and I checked the TT option, without really understanding what it is doing. then both font and size were changed. When I upgraded to 2.6.2 (ran install w/o uninstalling the original version), I unchecked the TT option. The installed pupped up a dialog box stating that the TT fonts feature previously installed being removed. I agreed. All console fonts changed to the default tiny raster fonts after install. That's the end of symptom description.

The reason for switching to unicode is indeed valid. However, I think the solution is a bit heavy-handed. I can see a few options that would be less impacting (here by TT we should understand large codepoint set font--not all TT fonts are sufficiently larger than codepage-specific raster fonts):

  1. Detect if TT fonts are already used, and in this case disable the option altogether.
  2. Move the option to a separate Wizard page, and explain very thoroughly what exactly will be done, and offer to either change to TT fonts or leave it alone,
  3. Simply describe why changing to a TT font is beneficial, and explain how to configure that.

Indeed, 1 and 2 are not mutually exclusive, and 3 can be also displayed if 1 detects a narrow-coded font is installed.

What are your thoughts? As implemented, the option is certainly an LSP violation.

In addition, resetting to the default raster font upon uninstallation of the option that I observed is not the right thing to do, in my opinion.

@dscho
Copy link
Member

dscho commented Nov 9, 2015

@kkm000 thanks for your persistence.

So, first installed was v2.5.1, and I checked the TT option, without really understanding what it is doing.

Right, and this overwrote the setting you had before.

When I upgraded to 2.6.2 (ran install w/o uninstalling the original version), I unchecked the TT option.

And during the upgrade, 2.5.1 was uninstalled, and the uninstaller reset the setting to the factory default. In other words, your previous setting was not recovered.

Now you have two options:

  1. follow this documentation to make an installer, then patch /usr/src/build-extra/installer/install.iss to teach the installer to do what you want it to do, make another installer, test that installer, rinse & repeat until it really does what you want it to do, and then open a Pull Request to get that patch integrated, or
  2. just live with the current situation.

@dscho
Copy link
Member

dscho commented Feb 16, 2016

Option 2 it is.

@dscho dscho closed this as completed Feb 16, 2016
@nilslindemann
Copy link

@dscho First: Thank you for providing a Git for Windows!

I agree with @kkm000. I was also irritated by this setting and therefore googled it before continuing the install. I found this thread and i leave this comment to indicate that @kkm000 is not alone with his opinion. I also agree with him that something like:

"change the console font to a true type font (unchecking=no changes to your current font settings will be made)"

sounds like a better description.

The current text is slightly misleading as it may also have the meaning: "Git will always install another font, but if you check this, it will install a specific font".

@nilslindemann
Copy link

Addon: you may also simply change the setting to "do not install a console font" and check it by default.

@dscho
Copy link
Member

dscho commented Aug 3, 2017

@heronils I have literally no time to work on this. Feel free to contribute a fix, if you want it in v2.14.0 before Saturday.

@louis925
Copy link

If I checked "Use a TrueType font in console windows" during installation, how do I undo the change? I can't find any option on the Git for Windows app for this.

@dscho
Copy link
Member

dscho commented Feb 17, 2020

If I checked "Use a TrueType font in console windows" during installation, how do I undo the change?

Try uninstalling: this code should let you undo the changes.

dscho pushed a commit to dscho/git that referenced this issue Jul 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants