LumingYin / macOSLucidaGrande

A small utility to set Lucida Grande as your Mac's system UI font.
MIT License
232 stars 19 forks source link

Doesn't seem to work on High Sierra #20

Open biziclop opened 5 years ago

biziclop commented 5 years ago

Hi, first thanks for keeping this project alive!

I just dared to install High Sierra on my El Capitan, but to make sure, I made a cleanly installed system on an external drive too (mostly because the ElCap system was already LucidaGranded).

Both are fully updated to High Sierra 10.13.6 (17G4015) + Security Update 2018-003. It's a MacMini 2012, both drives are HFS+, a fusion drive and an external ssd, if this counts.

Anyway, I couldn't manage to switch the system font to LucidaGrande, no amounts of starting the utility and restarting helped.

An unrelated cosmetic issue is that the font names in the buttons are not LCD-anti-aliased (Mojave?) or shifted by a half sub-pixel horizontally:
screen shot 2018-12-27 at 10 52 44

If I can assist you anyhow, feel free to tell me.
Thank you again!

biziclop commented 5 years ago

OK, I solved it manually by the command below.
First, go to the main page (https://github.com/LumingYin/macOSLucidaGrande), click the "Clone or Download" button, choose "Download ZIP". Assuming that your download folder is the default (~/Downloads), you have to extract the downloaded zip, and execute this command:

/usr/bin/bspatch /System/Library/Fonts/LucidaGrande.ttc ~/Downloads/LucidaGrande_modsysfonths.ttc ~/Downloads/macOSLucidaGrande-master/macOSLucidaGrande/applyDiff_modern.patch

and move/copy the brand new LucidaGrande_modsysfonths.ttc from your Downloads folder to /Library/Fonts (NOT /System/Library/Fonts!)

BTW, this seems to be the cause of the error. Everywhere else >= is used, except here:

    // Fetches the URL of Lucida Grande font that poses San Francisco
    NSString *nameOfPatchFile;
    if (versionNumber > 13) {
        nameOfPatchFile = @"applyDiff_modern";
    } else {
        nameOfPatchFile = [NSString stringWithFormat:@"applyDiff_10_%d", versionNumber];
    }

But even if I duplicate applyDiff_modern.patch as applyDiff_10_13.patch, the app doesn't seem to work.

bloog commented 5 years ago

Many thanks for the workaround biziclop.