Fuentes "xterm" más grandes en pantallas HIDPI

15

Después de varios años de utilizar felizmente diferentes emuladores de terminal como Konsole , Gnome-TERMINAL y, últimamente, XFCE Terminal en sus entornos de escritorio apropiados, decidí usar xterm antiguo con sus fuentes de mapa de bits . Funciona bien, es compatible con Unicode, y la familia de fuentes fijas predeterminada contiene caracteres de casi todos los idiomas, lo cual es genial.

Pero me encontré con un problema importante. Las fuentes son realmente pequeñas. Incluso el llamado Tamaño enorme (que es una fuente de mapa de bits de 10x20) es muy pequeño para mí e inutilizable.

Mi configuración predeterminada para el entorno XFCE está establecida en 120 ppp, pero xpdyinfoinforma 97x97 DPI

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

Así que traté de cambiar el DPI con xrandr, pero no ayudó.

$ xrandr --dpi 120

El resultado parece ser aplicado

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

pero no cambia la resolución de xtermnada. Incluso intenté usar el escalado, pero afectó a toda la X, en lugar de a una sola aplicación:

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

Hay soluciones para Qt y GTK , pero ¿qué pasa con Xlibaplicaciones basadas gusta Xterm, Xcalc, Xman, Xfige, etc? ¿Deberíamos verlos desaparecer, a medida que sube la pantalla DPI? Por favor, ayuda si conoces alguna solución.


Esto es lo que hice, que funcionó de alguna manera, pero no pude usar la "familia de fuentes fijas" original, por lo que ahora puede funcionar solo para algunos idiomas.


PS1: he instalado fuentes de 100 DPI para X, pero no pude usarlas

$ sudo apt-get install xfonts-100dpi

PS2: Fontforgeque también usa Xlib, usa un buen tema y tamaños de fuente normales. No sé cómo hace eso.

PS3: estoy probando otf2bdfy bdftopcfutilidades para crear PCFfuentes de mapa de bits experimentales para HIDPI a partir de TTF/OTFfuentes vectoriales .

PS4: después de instalar las fuentes 100DPI, esto fue bueno, aunque carece de una gran compatibilidad con el idioma de la fixedfuente predeterminada .

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

He utilizado fontsel. Es realmente útil

PS5: Esto también es útil.

PS6: podría crear una fuente de mapa de bits de 120 DPI de Courier New con 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 está codificado en la fuente BDF. Tal vez cambiarlo ayudará.

PS8: vncdesk es una buena herramienta para escalar una sola ventana .

Ho1
fuente
Xft.dpi: 120en ~/.Xresourcesno funciona?
ILMostro_7
xrdb -query | grep dpiya informa:Xft.dpi: 120
Ho1
¿Creó un ~/.Xresourcesarchivo o ~/.Xdefaultsw / e es apropiado en su sistema? El enlace que señaló que dijo que era útil no es un conjunto de opciones que lo abarque todo y que esté disponible para xterm. Por ejemplo, Xft.lcdfilter: lcddefault Xft.antialias: true Xft.hinting: true Xft.hintstyle: hintslighty muchos más.
ILMostro_7
1
@ MartinSchröder Sí, de hecho, he probado mis propias fuentes de 120 ppp generadas a partir de la fuente Truetype Courier New . Pero eso carece de todos los idiomas que admite "Familia de fuentes de mapa de bits fijo", por lo que estoy buscando una mejor manera de hacerlo. Actualmente en mi sistema, / etc / X11 / app-defaults / XTerm, como predeterminado VT100.font6 (Huge) está configurado en fuente 10x20 de la familia de fuentes Fixed, que es bastante pequeño en mi pantalla. Sería feliz si tuviéramos en.wikipedia.org/wiki/Fixed_%28typeface%29 para 20x40, pero no lo hacemos.
Ho1
1
¿ Necesita usar fuentes de mapa de bits? xtermtambién admite fuentes truetype. xterm -fa 'DejaVu Sans Mono' -fs 40(aunque no cambia entre fuentes cuando los glifos no están disponibles como lo hacen otros emuladores de terminal)
Stéphane Chazelas

Respuestas:

10

Usted ha insinuado la respuesta usted mismo haciendo referencia a https://en.wikipedia.org/wiki/Fixed_(typeface)

Esta es la fuente de mapa de bits fija estándar que Markus Kuhn ha ampliado para tener un conjunto de caracteres bastante completo. La pregunta es cómo escalar un mapa de bits .

Lo que ha logrado hasta ahora es escalar una fuente vectorial y convertirla en un mapa de bits (ttf → bdf → pcf) . Esa es una buena estrategia pero, como mencionas, carece de soporte de idiomas. Eso parece extraño, ya que Courier New es una de las fuentes completas más Unicode, ¡ pero estoy divagando! Tal vez intente usar Mono, que es un clon.

Yo sin embargo, no entiendo por qué está haciendo esto como xterm hace de soporte TrueType .

Modificar ~/.Xresourcescomo este:

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

Pero volvamos a la tarea: desea una fuente de mapa de bits más grande .

El mapa de bits disponible más grande disponible es:

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

Markus ha sido tan amable que suministra los archivos BDF de origen. Si su distribución no tiene las actualizaciones más recientes (desde abril de 2009), puede obtener el paquete directamente de él.

El paquete de fuentes "-misc-fixed- *":

http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz

En lugar de convertir de un lado a otro entre pcf y bdf , podría / debería atenerse al formato de origen. Puede usar un editor de fuentes BDF para cambiar el tamaño de la fuente. No esperes ningún antialiasing o tal truco, pero al menos puedes obtener un tamaño legible.

O puede usar bdfresize de Hiroto Kagotani (también se encuentra en algunos sistemas de paquetes).

ACTUALIZAR:

No conozco una forma de escalar solo una ventana (nunca tuve la necesidad). Podrías seguir esta pregunta de Superusuario. Cuando tuve la necesidad, escalé todo el entorno.

Puede degradar una pantalla de 3200x1800 a 1920x1080 usando:

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

Aquí se pueden encontrar otros trucos para escalar la pantalla en diferentes administradores de ventanas . Sugieren usar VNC:

Un enfoque es ejecutar la aplicación a pantalla completa y sin decoración en su propio escritorio VNC. Luego escala el espectador. Con Vncdesk ( vncdesk-git de AUR) puede configurar un escritorio por aplicación, luego iniciar el servidor y el cliente con un comando simple como vncdesk 2.

x11vnc tiene una opción experimental -appshare, que abre un visor por ventana de aplicación. Quizás algo podría ser hackeado con eso.

Claus Andersen
fuente
Gran respuesta, gracias. Felizmente aceptaré la respuesta. ¿Por qué no truetype? 1) Quiero usarlo en una vieja computadora lenta. 2) La familia Fixed tiene un excelente soporte de idiomas, como se describe en cl.cam.ac.uk/~mgk25/ucs-fonts.html Y una última cosa: ¿Hay alguna manera de escalar una sola ventana en X? Creo que esto mejorará la respuesta.
Ho1
1
W / R para el póster original necesita un amplio soporte de diferentes idiomas, Vera es limitada pero su spin-off DejaVu admite muchos conjuntos de caracteres diferentes. Desde este punto de vista, las fuentes monoespaciadas más o menos disponibles de MS son muy buenas, tanto Courier10 como Calibri. ¡Me he enamorado, más o menos, de Calibri!
gboffi
0

En este momento puede aumentar el tamaño de la fuente manteniendo presionado el control y el botón derecho del mouse (es decir ctrl+right mouse button) y seleccionar el tamaño de la fuente. Para que sea predeterminado, debe tener una Xresourcesconfiguración. Lo estoy intentando y actualizaré la respuesta una vez que la obtenga.

Actualizar:

Puede crear un .Xresourcesarchivo dentro de su directorio de inicio y agregar la siguiente línea xterm*font: *-fixed-*-*-*-18-*. Luego combine sus cambios con la utilidad de recursos del servidor X usando xrdb(es decir xrdb -merge ~/.Xresources) o puede reiniciar Xtambién. El nuevo xtermsdebería tener el tamaño de fuente modificado.

Thushi
fuente
Gracias por su respuesta, estoy usando la fuente de mapa de bits más grande disponible para la familia de fuentes fijas: 10x20 que se usa para un tamaño de fuente enorme , pero también es muy pequeña en las pantallas HIDIP. Tenga en cuenta que estoy hablando de fuentes de mapa de bits y no de fuentes truetype.
Ho1
0

No estoy seguro, pero tal vez puedas fusionar la fuente y el tamaño así:

xterm -fn helvetica -fs 20x10

pequeña prueba de fuentes

saludos, maniat1k

maniat1k
fuente
Gracias por su respuesta. Esto proporciona fuentes más grandes xterm -fs 20x10, pero no es la "familia de fuentes fijas": en.wikipedia.org/wiki/Fixed_%28typeface%29 , por lo que no contiene caracteres internacionales que la familia de fuentes fijas tiene.
Ho1