Recursive: A altura do par de parênteses / colchetes / colchetes parece um pouco fora de certos tamanhos de fonte

Criado em 16 jan. 2020  ·  21Comentários  ·  Fonte: arrowtype/recursive

Olá,

A altura do par de parênteses / colchetes / colchetes parece ligeiramente diferente em certos tamanhos de fonte.

| | |
| --- | --- |
| OS | Windows 10 |
| Versão do código VS | 1.41.1 |
| Versão da fonte | 1.030 |
| Estilo da fonte | Recursive Mono Csl b030st |
| Ligaduras de fonte | Ativado (apenas dlig) |

Amostras anexadas da versão Casual. (Podia ver a observação na versão Linear também).

Referências em que as alturas parecem iguais:
image

image

Observações em que o par parece ligeiramente estranho:
image

image

Obrigado! :)

bug details to fix fixed in sources priority 1 – urgent & semi-important

Todos 21 comentários

Posso confirmar, é o mesmo para mim no VSCode estável mais recente no Windows 10 2004 (19546). Também parece dependente do peso da fonte - ou seja, em um determinado tamanho, alguns pesos parecem adequados (em relação aos colchetes / colchetes / parênteses), outros - não.

Obrigado, @ krish-r & @kamenminkov! Bons olhos nisto.

Você pode tentar as fontes estáticas na v1.034 e me informar se você ainda tem o mesmo problema?

https://github.com/arrowtype/recursive/tree/e882954365d4fafdf2fb43abeff99a28d615f32e/fonts_1.034

Eles devem ser ativados com nomes de fontes como:

RecursiveMonoLnr-Regular e RecursiveMonoCsl-Regular

(Sem número de versão no nome, desta vez).

Olá @arrowtype , consegui ativar Recursive após especificar editor.fontFamily como 'Recursive Mono Casual' / 'Recursive Mono Linear'

Windows 10, informações de versão recursiva:
image

Infelizmente, ainda estou vendo diferença nas alturas.

image

image

image

image

Ok, obrigado por experimentar isso! Vou dar uma olhada mais de perto e fazer uma experiência no Windows.

Meu palpite é que os colchetes direitos estão usando componentes de colchetes esquerdos, e o Windows está alterando os pixels de forma um pouco diferente porque são componentes ou porque talvez eles estejam apenas alinhados um pouco abaixo e a diferença esteja sendo ampliada.

Vou atualizar isso quando souber mais, espero que na próxima semana ou assim.

Obrigado @thundernixon .

E, desculpe, esta pergunta completamente não relacionada, houve alguma mudança na aparência do "título" em "i" minúsculo? Porque eu pude ver que é um pouco diferente entre minhas capturas de tela originais e atuais - Tamanho 17, por ex ..

PS. Fico feliz em (re) mover este comentário se você sentir que isso está sequestrando o problema.

Adicionamos uma etapa de auto-hinting ao processo de construção estática, que deve ajudar principalmente na renderização no Windows, mas pode ter algumas desvantagens. Também é por isso que eu pensei que os colchetes poderiam ser diferentes, no entanto. Também darei uma olhada no ponto i e nos diacríticos em geral. Obrigado!

Só queria dizer que ainda estou vendo isso na v1.052 no Windows, usando o VS Code.

Ok, finalmente tentando resolver isso. Estou tentando adicionar uma etapa à compilação que decompõe a pontuação de abertura / fechamento como essas, e isso pode ajudar.

Apenas como uma observação extra, percebi que os parênteses são ligeiramente mais curtos nos estilos Sans mais ousados:


questões secundárias(Clique para expandir)

image

... e o () e [] são mais curtos nos estilos Mono mais ousados:

image

Então, vou verificar e ter certeza de que são da mesma altura.

Ajustes:

  • [x] Tornando ( ) [ ] a mesma altura de { }
  • [x] Certificando-se de que as zonas azuis cobrem estes
  • [x] Certificando-se de que as .case versões também estão alinhadas e com alturas correspondentes

Eu reconstruí as fontes com as correções, e as novas estão aqui:

https://github.com/arrowtype/recursive/tree/4b59fd2f5ce78c342418c894d3a7e620819cac23/fonts_1.067

Alguém que teve esse problema estaria disposto a experimentar essas novas fontes em seu sistema? @ krish-r, @kamenminkov , @ @jkyeung ou @jwortmann? Espero que funcione, mas não estou totalmente certo. 🤞

Os parênteses / colchetes / colchetes parecem perfeitos para mim agora 👍, mas ainda há um desalinhamento entre os símbolos "menor que" e "maior que" <> em todos os tamanhos de fonte.

font

Testado com variantes RecursiveMonoLnrSt-Regular.ttf + itálico e negrito no Windows 10 v2004, Sublime Text 3.2.2.

Olá,

Editor e sistema operacional: VS Code v1.51.1, Windows 10 v20H2

_Fonte estática_
Como @jwortmann mencionou, eu pude ver o desalinhamento apenas com o suporte angular, o resto deles parece perfeito.

RecursiveMonoLnrSt-Regular.ttf - o colchete angular está desalinhado para a maioria dos tamanhos de fonte
image
image

RecursiveMonoCslSt-Regular.ttf - o colchete angular está desalinhado para os tamanhos 16 e 17 (corresponde a outros tamanhos, por exemplo, 14)
image
image


_Fonte variável_
E quando experimentei a fonte variável, tudo (incluindo colchetes) se alinhava perfeitamente para mim.

Recursive_VF_1.067.ttf
image
image
image
image (Linear)
image

Ei @jwortmann & @ krish-r, muito obrigado por esses testes e respostas rápidas!

Estou parcialmente anotando isso, então me lembro quando volto para consertar isso em breve, mas ...

Meu palpite é que as diferenças de altura vêm dos colchetes angulares sendo verticalmente assimétricos. Eles imitam pinceladas, que tendem a ser assimétricas. Mas, isso significa que, mesmo quando eles estão visualmente alinhados verticalmente, a renderização do Windows provavelmente vê a diferença nas alturas das coordenadas e os ajusta aos pixels verticais de maneira diferente. Isso acontece quando hinting está presente, o que significa que as fontes estáticas (que possuem autohinting) mostram isso, enquanto a fonte variável (que não tem hinting) não produz a diferença. Portanto, devo editá-los para ter formas mais simétricas, um pouco semelhantes a como tratei as setas.

image

Espero ser capaz de chegar a isso no início da próxima semana. Vou atualizar isso o mais rápido possível!

Ei @jwortmann & @ krish-r, se você tiver a chance, um de vocês poderia confirmar se as fontes mais recentes (na versão 1.068) corrigem o problema para você? Em caso afirmativo, podemos encerrar o problema. Obrigada!

Olá @arrowtype ,

Obrigado, Tentei v1.068, os colchetes angulares agora estão alinhados corretamente. Infelizmente, eu pude ver alguns pequenos desalinhamentos no restante dos colchetes em certos tamanhos de fonte.

Editor e sistema operacional: VS Code v1.52.0, Windows 10 v20H2

Recursive_Code:
_Rec Mono Linear: _
image

image

image

image

_Rec Mono Casual: _
image

image

image

image

@ krish-r muito obrigado por ajudar no teste com isso! Hmm, duas coisas:

  1. facepalm Eu fiz as correções anteriores em um branch e não as mesclei no branch principal antes de trabalhar em novos problemas. Especificamente, eu havia decomposto a pontuação de fechamento e (eu acho) ajustado as alturas verticais ligeiramente. Então, vou trazer essas correções e fazer outro novo lançamento o mais rápido possível.
  2. Parece que você usou as fontes "Code", que têm uma nova ligadura para <> - portanto, agora estão mostrando apenas um único glifo, o que pode prejudicar o resultado. Para obter um resultado preciso, teremos que testar essa combinação com um espaço entre eles.

Eu estava muito confiante aqui, pensando que tinha acertado em cheio com o novo lançamento. 😅 Desculpe! Vou testar isso especificamente em uma VM do Windows antes de fazer uma nova versão e pedir confirmação.

Sempre feliz em testar! E sim, você estava certo, esqueci de desligar as ligaduras.
Tentei novamente com "editor.fontLigatures": false .

_Rec Mono Linear: _
image

image

image

image

_Rec Mono Casual: _
image

image

image

image

Bom! Sim, enquanto eu estava testando, lembrei que o VS Code facilita a desativação de ligaduras de código. Mas obrigado também por apontar isso aqui!

Em meus testes, a pontuação não era _completamente simétrica, _ mas parece evitar o problema do pixel-off.

image

Se você tiver tempo, @ krish-r, pode experimentar a versão mais recente, https://github.com/arrowtype/recursive/releases/tag/1.069? Ele adiciona a etapa de decomposição que parecia ajudar nos testes anteriores.

Tentei v1.069. E os colchetes parecem alinhados para mim também! 👌

Obrigado @arrowtype!

_Rec Mono Linear_
image
image
image
image

_Rec Mono Casual_
image
image
image
image

Incrível, muito obrigado por sua ajuda no teste!

Feliz por termos resolvido isso.

Posso confirmar que com a versão 1.069 todos os tipos de colchetes e os símbolos < e > estão alinhados corretamente para mim também. Muito obrigado pela atualização!

Obrigado por confirmar, @jwortmann!

Esta página foi útil?
0 / 5 - 0 avaliações