From d2dfc374213c523d4af147d93a19fe8c1c5b1a5d Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Mon, 30 Nov 2020 12:09:39 +0000 Subject: [PATCH] Merge pull request #3387 from overleaf/cmg-jpa-source-code-pro Update editor font options and load Source Code Pro GitOrigin-RevId: 1b3ddcfcc682b484ded93598eb05621f792b2db2 --- .../web/app/views/project/editor/left-menu.pug | 5 ++--- .../source-code-pro-v13-latin-regular.woff | Bin 0 -> 18008 bytes .../source-code-pro-v13-latin-regular.woff2 | Bin 0 -> 14172 bytes services/web/frontend/fonts/source-code-pro.css | 8 ++++++++ .../js/ide/editor/directives/aceEditor.js | 3 +-- services/web/frontend/stylesheets/style.less | 1 + 6 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 services/web/frontend/fonts/source-code-pro-v13-latin-regular.woff create mode 100644 services/web/frontend/fonts/source-code-pro-v13-latin-regular.woff2 create mode 100644 services/web/frontend/fonts/source-code-pro.css diff --git a/services/web/app/views/project/editor/left-menu.pug b/services/web/app/views/project/editor/left-menu.pug index 5777b9368c..a3715ba7bd 100644 --- a/services/web/app/views/project/editor/left-menu.pug +++ b/services/web/app/views/project/editor/left-menu.pug @@ -179,9 +179,8 @@ aside#left-menu.full-size( name="fontFamily" ng-model="settings.fontFamily" ) - each fontFamily in ['monaco', 'lucida'] - option(value=fontFamily) #{capitalize(fontFamily)} - + option(value='monaco') Monaco / Menlo / Consolas + option(value='lucida') Lucida / Source Code Pro .form-controls label(for="lineHeight") #{translate("line_height")} select( diff --git a/services/web/frontend/fonts/source-code-pro-v13-latin-regular.woff b/services/web/frontend/fonts/source-code-pro-v13-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..9f393eb94235d12778b734eff2c68c8d11ac3068 GIT binary patch literal 18008 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 literal 0 HcmV?d00001 diff --git a/services/web/frontend/fonts/source-code-pro.css b/services/web/frontend/fonts/source-code-pro.css new file mode 100644 index 0000000000..be0d2ff03b --- /dev/null +++ b/services/web/frontend/fonts/source-code-pro.css @@ -0,0 +1,8 @@ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 400; + src: local('Source Code Pro Regular'), local('SourceCodePro-Regular'), + url('source-code-pro-v13-latin-regular.woff2') format('woff2'), + url('source-code-pro-v13-latin-regular.woff') format('woff'); +} diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor.js b/services/web/frontend/js/ide/editor/directives/aceEditor.js index 4ee7abd283..0244d48fb7 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor.js @@ -469,7 +469,6 @@ App.directive('aceEditor', function( 'Menlo', 'Ubuntu Mono', 'Consolas', - 'source-code-pro', 'monospace' ] @@ -483,7 +482,7 @@ App.directive('aceEditor', function( case 'lucida': return editor.setOption( 'fontFamily', - '"Lucida Console", monospace' + '"Lucida Console", "Source Code Pro", monospace' ) default: return editor.setOption('fontFamily', null) diff --git a/services/web/frontend/stylesheets/style.less b/services/web/frontend/stylesheets/style.less index 3a4fe32fb3..b0b846d63c 100644 --- a/services/web/frontend/stylesheets/style.less +++ b/services/web/frontend/stylesheets/style.less @@ -1,5 +1,6 @@ @import (less) '../fonts/lato.css'; @import (less) '../fonts/merriweather.css'; +@import (less) '../fonts/source-code-pro.css'; @is-overleaf-light : false; @show-rich-text : true;