Fontes “xterm” maiores em visores HIDPI

14

Após vários anos de uso de diferentes emuladores de terminal, como o Konsole , Gnome-TERMINAL , e ultimamente Terminal XFCE em em seus ambientes de área de trabalho apropriados, decidi usar o bom e velho xterm com suas fontes de bitmap . Funciona muito bem, suporta Unicode, e a família de fontes fixas padrão contém caracteres de quase todas as línguas, o que é ótimo.

Mas me deparei com um problema importante. As fontes são muito pequenas. Mesmo o chamado tamanho Enorme (que é fonte de bitmap 10x20) é muito pequeno para mim e inutilizável.

Minha configuração padrão para o ambiente XFCE é definida como 120 dpi, mas xpdyinfo reporta 97x97 DPI

$ xdpyinfo |grep resolution
  resolution:    97x97 dots per inch

Então, tentei alterar o DPI com xrandr , mas não ajudou.

$ xrandr --dpi 120

O resultado parece ser aplicado

$ xdpyinfo | grep resolution
  resolution:    120x120 dots per inch

mas isso não altera a resolução de xterm . Eu até tentei usar o dimensionamento, mas isso afetou todo o X, em vez de um único aplicativo:

$ xrandr --output LVDS1 --scale 0.5x0.5

Existem soluções alternativas para o Qt e o Gtk , mas e sobre os aplicativos baseados em Xlib como Xterm , Xcalc , Xman , Xfige , etc? Devemos assisti-los desaparecer, à medida que o display DPI aumenta? Por favor, ajude se você souber alguma solução alternativa.

Isto é o que eu fiz, que funcionou de alguma forma, mas eu não poderia usar a "família de fontes fixa" original, então agora pode funcionar apenas para alguns idiomas.

PS1: Eu instalei fontes de 100 DPI para o X, mas não consegui usá-las

$ sudo apt-get install xfonts-100dpi

PS2: Fontforge , que também usa Xlib , usa um tema legal e tamanhos de fonte normais. Eu não sei como isso acontece.

PS3: Estou testando otf2bdf e bdftopcf utiliites para criar fontes% bit_de% de bitmap experimentais para HIDPI a partir do vetor PCF fonts.

PS4: Depois de instalar as fontes 100DPI, isso foi bom, embora não tenha suporte de idioma excelente da fonte TTF/OTF padrão.

$ xterm -font -Adobe-Courier-Bold-r-Normal-*-34-*-100-100-*-*-*-*

Eu usei fixed . É realmente útil.

PS5: Este também é útil.

PS6: Eu poderia criar fontes de bitmap 120DPI de Courier New com 20pt

$ otf2bdf -p 20 -r 120 cour.ttf > cour.bdf
$ bdftopcf cour.bdf | gzip - > cour.pcf.gz
$ sudo cp cour.pcf.gz /usr/share/fonts/X11/misc/
$ fc-cache
$ xterm -font -*-*-*-*-*-*-*-*-120-120-*-*-*-*

PS7: 75 DPI é codificado na fonte BDF. Talvez a mudança ajude.

PS8: O vncdesk é uma boa ferramenta para usar dimensione uma única janela .

    
por Ho1 31.07.2015 / 01:18

3 respostas

8

Você mesmo sugeriu a resposta referenciando o link

Esta é a fonte fixa bitmap que foi expandida por Markus Kuhn para ter um conjunto de caracteres bastante completo. A questão é como dimensionar um bitmap .

O que você conseguiu até agora é dimensionar uma fonte de vetor e convertê-la em um bitmap (ttf → bdf → pcf) . Essa é uma boa estratégia, mas como você mencionou, falta algum suporte ao idioma. Isso parece estranho, pois Courier New é uma das mais fontes completas unicode mas eu discordo! Talvez tente usar o Mono que é um clone.

No entanto, não entendo por que você está fazendo isso como xterm faz suporte truetype .

Modifique ~/.Xresources como este:

XTerm*renderFont: true
XTerm*faceName: VeraMono
XTerm*faceSize: 10

Mas voltando à tarefa: você deseja uma fonte bitmap maior.

O maior bitmap disponível disponível é:

10x20   -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1

Markus tem sido tão legal que ele fornece os arquivos BDF de origem. Se a sua distribuição não tiver as atualizações mais recentes (de abril de 2009), você pode pegar o pacote diretamente dele.

O pacote de fontes "-misc-fixed- *":

link

Em vez de fazer a conversão entre pcf e bdf , você poderia / deveria se ater ao formato de origem. Você pode usar um editor de fontes BDF para redimensionar a fonte. Não espere qualquer antialiasing ou tal artifício - mas pelo menos você pode obter um tamanho legível.

Ou você pode usar bdfresize por Hiroto Kagotani (também encontrado em alguns sistemas de pacotes) .

ATUALIZAÇÃO:

Eu não sei de uma maneira de escalar apenas uma janela (nunca tive a necessidade). Você pode acompanhar esta pergunta de superusuário. Quando tive a necessidade, dimensionei todo o ambiente.

Você pode fazer downgrade de um monitor de 3200 x 1800 para 1920 x 1080 usando:

xrandr --dpi 141
xrandr --output eDP1 --scale 0.6x0.6

Outros truques para dimensionamento de tela em diferentes gerenciadores de janelas podem ser encontrados aqui . Eles sugerem usar VNC:

One approach is to run the application full screen and without decoration in its own VNC desktop. Then scale the viewer. With Vncdesk (vncdesk-git from the AUR) you can set up a desktop per application, then start server and client with a simple command such as vncdesk 2.

x11vnc has an experimental option -appshare, which opens one viewer per application window. Perhaps something could be hacked up with that.

    
por 07.08.2015 / 16:05
0

Agora você pode aumentar o tamanho da fonte mantendo pressionado o controle e o botão direito do mouse (por exemplo,ctrl+right mouse button) e selecione o tamanho da fonte. Para torná-lo padrão, você precisa ter uma configuração Xresources . Estou tentando e atualizarei a resposta assim que a obtiver.

Atualização:

Você pode criar o arquivo .Xresources dentro do seu diretório pessoal e adicionar a linha abaixo xterm*font: *-fixed-*-*-*-18-* . Em seguida, mescle suas alterações com o utilitário de recursos do servidor X usando xrdb (ou seja, xrdb -merge ~/.Xresources ) ou você pode reiniciar o X também. O novo xterms deve ter o tamanho da fonte alterado.

    
por 06.08.2015 / 13:36
0

Não tenho certeza, mas talvez você possa mesclar a fonte e o tamanho da seguinte forma:

xterm -fn helvetica -fs 20x10

respeita maniat1k

    
por 07.08.2015 / 12:38