HIDPI ekranlarda daha büyük “xterm” yazı tipleri


16

Mutlu gibi farklı terminal emülatörlerine kullanarak birkaç yıl sonra Konsole'da , Gnome-TERMİNALDE ve son zamanlarda XFCE Terminali onların uygun masaüstü ortamlarında, eski güzel kullanmaya karar xterm onun ile Bitmap yazı tipleri . Sadece iyi çalışıyor, Unicode'u destekliyor ve varsayılan sabit yazı tipi ailesi neredeyse tüm dillerden karakterler içeriyor, bu harika.

Ama önemli bir sorunla karşılaştım. Yazı tipleri gerçekten küçük. Hatta sözde Büyük boy (10x20 bitmap yazı olan) çok benim için küçük ve kullanışsız olduğunu.

XFCE ortamı için varsayılan ayarım 120 dpi olarak ayarlanmış, ancak xpdyinfo97x97 DPI bildiriyor

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

Bu yüzden DPI ile değiştirmeye çalıştım xrandr, ama yardımcı olmadı.

$ xrandr --dpi 120

Sonuç uygulanmış gibi görünüyor

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

ancak çözünürlüğünü hiç değiştirmez xterm. Ölçeklemeyi bile kullanmaya çalıştım, ancak tek bir uygulama yerine tüm X'i etkiledi:

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

Orada Qt ve Gtk için geçici çözümler , ama ne hakkında Xlibtabanlı uygulamalar gibi Xterm, Xcalc, Xman, Xfige, vs? Ekran DPI arttıkça solmalarını izlemeli miyiz? Herhangi bir geçici çözüm biliyorsanız lütfen Yardım.


Yaptığım şey bu, bir şekilde çalıştı, ancak orijinal "sabit yazı tipi ailesini" kullanamadım, bu yüzden şimdi sadece bazı dillerde çalışabilir.


PS1: X için 100 DPI yazı tipi yükledim, ancak bunları kullanamadım

$ sudo apt-get install xfonts-100dpi

PS2: FontforgeAyrıca Xlib, güzel bir tema ve normal yazı tipi boyutları kullanır. Bunu nasıl yaptığını bilmiyorum.

PS3: Ben test otf2bdfve vektör yazı tiplerinden HIDPI için bdftopcfdeneysel PCFbitmap yazı tipleri oluşturmak için yarar TTF/OTF.

PS4: 100DPI yazı tiplerini yükledikten sonra, varsayılan fixedyazı tipinin büyük dil desteğinden yoksun olmasına rağmen bu iyiydi .

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

Ben kullandım fontsel. Gerçekten yardımcı olur.

PS5: Bu da yararlı.

PS6: 20pt ile Courier New'den 120DPI bitmap yazı tipi oluşturabilirim

$ 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, BDF yazı tipinde sabit kodlanmıştır. Belki de değiştirmek yardımcı olacaktır.

PS8: vncdesk , tek bir pencereyi ölçeklendirmek için kullanmak için iyi bir araçtır .


Xft.dpi: 120içinde ~/.Xresourcesçalışmıyor?
ILMostro_7

xrdb -query | grep dpizaten raporlar:Xft.dpi: 120
Ho1

Bir ~/.Xresourcesdosya oluşturdunuz ~/.Xdefaultsveya sisteminizde w / e uygun mu? Yararlı olduğunu söylediğiniz bağlantı, xterm için kullanılabilecek her şeyi kapsayan bir dizi seçenek değildir. Örneğin Xft.lcdfilter: lcddefault Xft.antialias: true Xft.hinting: true Xft.hintstyle: hintslight, ve daha fazlası.
ILMostro_7

1
@ MartinSchröder Evet, aslında Truetype font Courier New'den oluşturulan kendi 120dpi yazı tiplerimi test ettim . Ama bu "Sabit bitmap yazı tipi ailesi" nin desteklediği tüm dillerden yoksun, bu yüzden bunu yapmanın daha iyi bir yolunu arıyorum. Şu anda sistemimde / etc / X11 / app-defaultults / XTerm, varsayılan olarak VT100.font6 (Huge), ekranımda oldukça küçük olan Sabit yazı tipi ailesinden 10x20 yazı tipine ayarlanmış . 20x40 için en.wikipedia.org/wiki/Fixed_%28typeface%29 olsaydı çok sevinirim ama olmaz.
Ho1

1
Bitmap yazı tiplerini kullanmanız mı gerekiyor ? xtermtruetype yazı tiplerini de destekler. xterm -fa 'DejaVu Sans Mono' -fs 40(glifler diğer terminal emülatörlerinin yaptığı gibi kullanılamadığında yazı tipleri arasında geçiş
yapmasa da

Yanıtlar:


10

Https://en.wikipedia.org/wiki/Fixed_(typeface) 'e başvurarak yanıtı kendiniz ima ettiniz

Bu, Markus Kuhn tarafından oldukça eksiksiz bir karakter setine sahip olacak şekilde genişletilen standart sabit bitmap yazı tipidir . O zaman soru, bir bitmap'in nasıl ölçekleneceği .

Şimdiye kadar elde ettiğiniz şey bir vektör yazı tipini ölçeklendirmek ve bir bitmap'e dönüştürmektir (ttf → bdf → pcf) . Bu iyi bir stratejidir, ancak belirttiğiniz gibi bazı dil desteğinden yoksundur. Courier New, daha unicode tam yazı tiplerinden biri olduğu için garip görünüyor, ama ben kazıyorum! Belki bir klon olan Mono'yu kullanmayı deneyin .

Ben ancak xterm olarak bunu yapıyorsun, neden anlamıyorum does destek truetype .

Bunun ~/.Xresourcesgibi değiştirin :

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

Ancak göreve geri dön: Daha büyük bir bitmap yazı tipi istiyorsunuz .

Mevcut en büyük bitmap:

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

Markus o kadar güzel ki, kaynak BDF dosyalarını sağlıyor. Dağıtımınız en son güncellemelere sahip değilse (Nisan 2009'dan itibaren) paketi doğrudan ondan alabilirsiniz.

"-Misc-fixed- *" yazı tipi paketi:

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

Pcf ve bdf arasında geçiş yapmak yerine , kaynak biçime sadık kalmalısınız. Yazı tipini yeniden boyutlandırmak için bir BDF yazı tipi düzenleyicisi kullanabilirsiniz. Kenar yumuşatma veya böyle bir hile yapmayı beklemeyin - en azından okunabilir bir boyut elde edebilirsiniz.

Yoksa kullanabilirsiniz bdfresize (aynı zamanda bazı paket sistemlerde bulunan) Hiroto Kagotani tarafından.

GÜNCELLEME:

Sadece bir pencere ölçeklemek için bir yol bilmiyorum (hiç ihtiyaç yoktu). Bu Süper kullanıcı sorusunu takip edebilirsiniz . İhtiyacım olduğunda tüm ortamı ölçeklendirdim.

3200x1800 ekranını aşağıdakileri kullanarak 1920x1080 değerine düşürebilirsiniz:

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

Farklı pencere yöneticilerinde ekran ölçeklendirme için diğer püf noktaları burada bulunabilir . VNC kullanmanızı önerirler:

Bir yaklaşım, uygulamayı kendi VNC masaüstünde tam ekran ve dekorasyon olmadan çalıştırmaktır. Ardından görüntüleyiciyi ölçeklendirin. Vncdesk ( AUR'dan vncdesk-git ) ile uygulama başına bir masaüstü ayarlayabilir, ardından sunucu ve istemciyi basit bir komutla başlatabilirsiniz vncdesk 2.

x11vnc , -appshareuygulama penceresi başına bir görüntüleyici açan deneysel bir seçeneğe sahiptir . Belki de bununla ilgili bir şey saldırıya uğrayabilir.


Harika cevap, teşekkürler. Cevabı memnuniyetle kabul edeceğim. Neden truetype olmasın? 1) Eski yavaş bir bilgisayarda kullanmak istiyorum. 2) Sabit ailenin cl.cam.ac.uk/~mgk25/ucs-fonts.html'de açıklandığı gibi harika bir dil desteği var Ve son bir şey: X'te tek bir pencereyi ölçeklendirmenin bir yolu var mı? Bunun cevabı geliştireceğini düşünüyorum.
Ho1

1
Orijinal dilde W / R, farklı dillerin geniş desteğine ihtiyaç duyar, Vera sınırlıdır, ancak spinof DejaVu birçok farklı karakter setini destekler. Bu açıdan bakıldığında, MS'den az ya da çok serbestçe bulunan tek aralıklı yazı tipleri hem Courier10 hem de Calibri gibi çok iyi. Calibri'ye aşık oldum!
gboffi

0

Şu anda kontrol ve sağ fare düğmesini basılı tutarak (yani ctrl+right mouse button) yazı tipi boyutunu artırabilir ve yazı tipi boyutunu seçebilirsiniz. Varsayılan yapmak için bir Xresourcesyapılandırmanız olması gerekir . Ben deniyorum ve bir kez ben cevap güncelleyeceğim.

Güncelleme:

.XresourcesAna dizininizde dosya oluşturabilir ve aşağıdaki satırı ekleyebilirsiniz xterm*font: *-fixed-*-*-*-18-*. Daha sonra xrdb(ie xrdb -merge ~/.Xresources) öğesini kullanarak değişikliklerinizi X sunucusu kaynak yardımcı programıyla birleştirin veya yeniden başlatabilirsiniz X. Yeni xtermsdeğiştirildi yazı tipi boyutunu olmalıdır.


Cevabınız için teşekkürler, sabit yazı tipi ailesi için mevcut en büyük bitmap yazı tipini kullanıyorum: Büyük yazı tipi boyutu için kullanılan 10x20 , ancak HIDIP ekranlarında da çok küçük. Truetype yazı tiplerinden değil, bitmap yazı tiplerinden bahsettiğimi unutmayın.
Ho1

0

Emin değilim ama belki yazı tipi ve böyle boyutu birleştirebilirsiniz:

xterm -fn helvetica -fs 20x10

küçük yazı tipi testi

Saygılarımla, maniat1k


Cevabınız için teşekkür ederim. Bu daha büyük yazı tipleri sağlar: xterm -fs 20x10ancak "sabit yazı tipi ailesi" değildir: en.wikipedia.org/wiki/Fixed_%28typeface%29 , Yani sabit yazı tipi ailesinin sahip olduğu uluslararası karakterleri içermez.
Ho1
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.