Как я могу использовать оба стиля Victor Mono с косым и итальянским c в VS Code? - PullRequest
0 голосов
/ 18 марта 2020

Семейство шрифтов Victor Mono содержит четкие грани шрифтов с косым и курсивом. Я хотел бы использовать курсив для области comment.block.documentation и Oblique для других областей комментариев. Тем не менее, очевидные настройки. json раздел:

    "editor.tokenColorCustomizations": {
        "textMateRules": [
        {
          "name": "Documentation",
          "scope": "comment.block.documentation",
          "settings": { "fontStyle": "italic" }
        },
        {
          "name": "Comment",
          "scope": "comment",
          "settings": { "fontStyle": "oblique" }
        },
      ]
    }

не работает, потому что механизм рендеринга, по-видимому, интерпретирует «наклонный» и «курсив» как «какой бы ни был наклонный или курсив», предоставленный в последнем Загружаемый файл шрифта, который обеспечивает либо.

1 Ответ

0 голосов
/ 18 марта 2020

Я адаптировал ранее опубликованный подход для поддержки нескольких шрифтов в VS Code, а затем преобразовал формулировку задачи в эту форму. В решении используются два «семейства шрифтов»: одно называется «Victor Mono Medium» и является «настоящим» семейством шрифтов, обеспечивая нормальные и италийские стили c и недоступный наклонный стиль; и один с именем «Victor Mono Medium Oblique», обеспечивающий только нормальные и наклонные стили и используемый только для наклонного стиля.

В качестве упрощения я решил пожертвовать возможностью использовать подчеркнутый стиль шрифта. Это приемлемо для моего варианта использования и значительно упрощает решение. Подход заключается в следующем:

  1. Используя стандартный механизм tokenColorCustomizations, используйте fontStyle: "italic", где требуется курсив, и fontStyle: "underline", где требуется наклонный.
  2. Использование «Включить пользовательский * Расширение 1027 * и JS ", предоставьте пользовательский файл CSS.
  3. В пользовательском файле CSS создайте @font-face, который имеет наклонные, но не итальянские стили c.
  4. В пользовательском файле CSS измените стиль на fontStyle: "underline", чтобы использовать наклонную грань шрифта, наклонно и без подчеркивания.

После установки "Включить пользовательские CSS и JS "и следуя его инструкциям, чтобы разрешить использование пользовательского файла CSS, и скопировав файл шрифта VictorMono-MediumOblique.otf в выбранное место, вот соответствующее содержимое моих настроек. json:

...
    "editor.fontLigatures": true,
    "editor.fontFamily": "'Victor Mono Medium'",
    "vscode_custom_css.imports": ["file:///MYPATH/.vscode/style.css"],
    "vscode_custom_css.policy": true,
    "editor.tokenColorCustomizations": {
        "textMateRules": [
        {
          "name": "Documentation",
          "scope": "comment.block.documentation",
          "settings": { "fontStyle": "italic" }
        },
        {
          "name": "Comment",
          "scope": "comment",
          "settings": { "fontStyle": "underline" }
        },
      ]
    },
...

и мой стиль. css:

/* Replace underline with oblique */
@font-face {
    font-family: 'Victor Mono Medium Oblique';
    src: url('file:///MYPATH/VictorMono-MediumOblique.otf');
}
.mtku {  
    font-family: 'Victor Mono Medium Oblique';
    font-style: oblique;
    text-decoration: none;
}
...