Disable ligatures in SSH connection dialogue (#20549)

Closes #20381

Release Notes:

- Fixed password dialog for remote server showing ligatures
This commit is contained in:
Conrad Irwin 2024-11-12 11:33:22 -07:00 committed by GitHub
parent d1e2c6e657
commit 47ca3401ce
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 2 deletions

View file

@ -7,6 +7,11 @@ use schemars::schema::{InstanceType, SchemaObject};
pub struct FontFeatures(pub Arc<Vec<(String, u32)>>);
impl FontFeatures {
/// Disables `calt`.
pub fn disable_ligatures() -> Self {
Self(Arc::new(vec![("calt".into(), 0)]))
}
/// Get the tag name list of the font OpenType features
/// only enabled or disabled features are returned
pub fn tag_value_list(&self) -> &[(String, u32)] {

View file

@ -7,8 +7,8 @@ use editor::Editor;
use futures::channel::oneshot;
use gpui::{
percentage, Animation, AnimationExt, AnyWindowHandle, AsyncAppContext, DismissEvent,
EventEmitter, FocusableView, ParentElement as _, PromptLevel, Render, SemanticVersion,
SharedString, Task, TextStyleRefinement, Transformation, View, WeakView,
EventEmitter, FocusableView, FontFeatures, ParentElement as _, PromptLevel, Render,
SemanticVersion, SharedString, Task, TextStyleRefinement, Transformation, View, WeakView,
};
use gpui::{AppContext, Model};
@ -178,6 +178,7 @@ impl SshPrompt {
let mut text_style = cx.text_style();
let refinement = TextStyleRefinement {
font_family: Some(theme.buffer_font.family.clone()),
font_features: Some(FontFeatures::disable_ligatures()),
font_size: Some(theme.buffer_font_size.into()),
color: Some(cx.theme().colors().editor_foreground),
background_color: Some(gpui::transparent_black()),