Sublime Text already supports Retina displays on OS X, however it seems that the story is currently a bit different on Windows.
Update - Monday, November 14, 2016: To make this a whole lot easier, I’ve forked buymeasoda/soda-theme into moodmosaic/soda-theme. If you clone moodmosaic/soda-theme, it will show nicely on Retina displays on Windows.
You experience fuzzy fonts when using Sublime Text with Retina displays on Windows, even after updating to a newer version of Sublime Text.
*@2x.*
If done manually, this can take some time. - Here is a way to automate this with F#:
Save the following F# program to a file:
module Sublime.Text.Windows
open System
open System.IO
type Theme = { Path : string; DpiAgnostics : string list }
let patch theme =
Directory.GetFiles(theme.Path, "*@2x.*", SearchOption.AllDirectories)
|> Seq.filter
(fun candidate ->
theme.DpiAgnostics
|> Seq.exists
(fun agnostic ->
Path.GetFileNameWithoutExtension(candidate) = agnostic)
|> not)
|> Seq.iter
(fun hiDpi ->
let lowDpi = hiDpi.Replace("@2x", String.Empty)
File.Delete lowDpi
File.Copy(hiDpi, lowDpi))
()
#I @"X:\Tools"
, followed by #load "Program.fs"
.You should see something like:
namespace FSI_0002.Sublime.Text.Windows
type Theme =
{Path: string;
DpiAgnostics: string list;}
val patch : theme:Theme -> unit
Once you open Sublime.Text.Windows
, execute the patch
function by supplying a value for theme
.
let sodaTheme = {
Path = @"replace_this_with_the_soda_theme_path";
DpiAgnostics = [
"tab-active@2x"
; "tab-hover@2x"
; "tab-inactive@2x"
; "tabset-background@2x" ]
} // In one line for SublimeREPL.
patch sodaTheme
Default Theme is .zipped in \Packages\Theme - Default.sublime-package
and has to be unzipped first, patched, and then zipped back again.
let defaultTheme = {
Path = @"replace_this_with_the_unzipped_theme_path";
DpiAgnostics = []
} // In one line for SublimeREPL.
patch defaultTheme
Enjoy Sublime Text with Retina displays on Windows!